Rev.B Silicon examples with PNut?
Rayman
Posts: 14,646
I got my Rev.B board here, but I'm off to a slow start...
Is there a new version of PNut that we need to use with Rev.B?
Is there a revised set of examples, like what used to come with each FPGA release, out there somewhere?
Was there a list of things you need to change in code to update from Rev.A to Rev.B?
My Rev.A codes don't work and can't figure out why...
Is there a new version of PNut that we need to use with Rev.B?
Is there a revised set of examples, like what used to come with each FPGA release, out there somewhere?
Was there a list of things you need to change in code to update from Rev.A to Rev.B?
My Rev.A codes don't work and can't figure out why...
Comments
Are the clock settings still the same?
For VGA? My driver takes the clock settings as parameters, or rather it takes the ratio of the system clock and pixel clock as a parameter and it leaves the system clock unchanged.
But in general I don't think anything changed in the clock mode bits in RevB, so that part of your existing code should be OK.
EDIT: I'd like to know if a different crystal frequency affects the PLL's bad spot. With the Eval board it has bad jitter around 20 to 21 MHz (XDIVP = 1).
That's likely the VCO running very much current starved, and I'd expect Xtal to not effect that much.
A higher PFD would help, by providing more frequent updates, but the close-in noise would be what it is...
I've noticed SiLabs ClockBuilder always trends to highest VCO / Highest PFD MHz in their calculations, as that will give the least jitter.
For someone wanting lowish SysCLKS, they could always use a direct feed from a higher MHz Osc or Xtal.
I tested 38.4MHz Clipped Sine feed into EvalA, and that seemed to work fine, but was showing signs of gain fall-off.
Not sure what the highest MHz Cystal P2 can support is, (will be at lowest CL setting) & Parallax should test and specify that.
With other vendors 25~32~36MHz are common max for Crystal Osc working , but those also depend on ESR of the Xtal.
The External Clock in limit to P2 will likely be > 100MHz, and oscillators to 48/50/52MHz are common and low cost, with up to 100~125MHz available, but with generally not highest precision.
EDIT: And it seems like the larger XDIV is, the worse it gets. eg: With XDIV = 10 there's no bad spots.
EDIT2: Oh, that's right, the revA silicon had unstable XDIV's of 5, 7, 17, 20, and lots above that. Those affected the whole spectrum though ...
EDIT3: XDIV = 5 is one of the most stable of all on the revB. It's fine right down at XMUL = 1.
EDIT4: XDIV = 7 is good, 17 pretty good - showing weakness around 21 MHz. Inline with earlier observations of it's worse as XDIV gets bigger. 16 is same for example.
EDIT5: I think I'll revise the minimum generalised stable down to 40 MHz (XDIVP = 1). The earlier 80 MHz recommend looks a tad conservative.
Only this section is changed:
XDIV = 5 tested from -4 °C to 90 °C and looked very stable throughout while cycling through smallest XMUL values. XDIV = 6 mostly works below 20 °C, may have glitches. Anything higher is instant lock-up.
Raise XDIVP to two and the lock-ups vanish entirely. EDIT: I guess this is partly due to the PLL being incredibly unstable at such low target. The jitter is enormous with XDIV of 60 and XMUL of 20, say.
Can you relate those back to the DOCs use of %DDDDDD %MMMMMMMMMM %PPPP ?
%M is XMUL
%P is XDIVP
The naming is from Cluso's handy config constants from a year ago - https://forums.parallax.com/discussion/comment/1452025/#Comment_1452025
So that means you are asking a 20MHz Xtal to give a 4MHz (!) VCO ? That's way outside the 100MHz min spec Chip gives ?