-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intermittent failure to start up #90
Comments
@marmeladapk isn't it related to the issues we observed on some Fastinos? W thought that it was PLL issue.. |
What we observed was connected to lack of proper initialization of some structures inside the FPGA. AFAIK since fixes in ARTIQ we haven't observed these issues. |
IIRC I've seen some Fastinos with very early "engineering sample" silicon from mid 2012 that may have behaved differently. |
That's why I asked about datecode |
The datecodes are |
Now 3V3 starts first, VCC/VCCPLL and VPP_2V5 wake up later. |
The plan is to add:
|
Summary
We've observed that Fastino occasionally fails to initialise properly on power-up.
Our suspicion is that the bitstream is not being read correctly because the power-up sequencing for operating the FPGA in SPI master mode is not adhered to. This requirement is that$V_{CC}$ and $V_{CC\_SPI}$ are energised at least 0.25 ms before $V_{PP\_2V5}$ .1
Measurements
We first suspected a failure of the PLLs to lock, so we measured the clock output from two Kasli-SoC masters. This was perfectly fine (N-side as at the Fastino end of the ribbon cable, while under failure, is the blue trace in image below):2
What we also tested was adding three registers to the FPGA design. These were all set up to toggle every cycle and their outputs are shown as traces D0, D1, and D2. They were:
Under a PLL misconfiguration/misuse (or a PLL-specific failure-to-initialise that Greg has said is a known issue with early-revision iCE40HXs), I'd expect D0 to be toggling while D1 and D2 remain steady. Because D0 also remains steady, this looks a lot more like a complete failure to initialise the FPGA. Since we know the SPI master power supply sequencing isn't being adhered to, it seems likely that this is a failure to read the bitstream.
Footnotes
Lattice DS02029-4.0, table 4.3 ↩
The top four logic traces aren't great representations of the true waveform. The logic probe was attached to vacant EEM connectors on Kasli-SoC mainly to verify that there was clock output on all expected connectors under failure. The probe didn't use a local ground and likely there was some mistriggering from the LVDS signal levels. ↩
The text was updated successfully, but these errors were encountered: