-
Notifications
You must be signed in to change notification settings - Fork 139
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
hps: test without master SPI #430
Conversation
Signed-off-by: Alessandro Comodi <[email protected]>
Signed-off-by: Alessandro Comodi <[email protected]>
Signed-off-by: Alessandro Comodi <[email protected]>
Signed-off-by: Alessandro Comodi <[email protected]>
Adds the useful --placer-heap-timingweight parameter as found by Antmicro. Signed-off-by: Alan Green <[email protected]>
Adds two new models. Signed-off-by: Alan Green <[email protected]>
Adds test data for a failing op - in layer 0 of the latest presence model. Signed-off-by: Alan Green <[email protected]>
Changes bias data width from signed(16) to signed(18). The most recent presence and second models have larger values for biases than previous models. Signed-off-by: Alan Green <[email protected]>
edad98c
to
eca8ab0
Compare
Thanks for testing this @acomodi. Now that a few other things have settled (like the new models, and the fix for the multiplier primitive) I have gone back and more carefully re-tested the Litespi size reductions. I am still seeing strange failures with certain combinations of gateware. The failure modes seem to change even based on small, unrelated changes in the design, which I find suspicious. It reminds me a lot of gatecat/prjoxide#10 where small perturbations would trigger some incorrectly-implemented element in prjoxide (or nextpnr). As a starting point, I am using CFU-Playground For my test procedure, I am flashing the bitstream+software onto HPS proto2 board, and then using the UART to check all of:
If I pass If I also cherry-pick litex-hub/litespi#67 and pass Purely by coincidence, I was experimenting with an unrelated change the same time, to remove the "controller" CSRs which we do not use:
If I combine that change with For completeness I also tried the above change with Those minor, unused controller CSRs almost certainly cannot influence the behaviour of Litespi so I am wondering if it could be another bug in synthesis. |
I made tarballs of the synthesis intermediate files for the above good and bad designs: gateware-build-no-litespi-master.zip -- GOOD gateware-build-no-litespi-master-no-litespi-csrs.zip -- BAD gateware-build-no-litespi-master-no-litespi-csrs-no-controller-csrs.zip -- GOOD |
The bad design mentioned above ( |
I filed a fresh nextpnr issue for the above "bad" design, we can follow it up there: I think we can probably close this PR now since all the remaining issues are sorted out now. |
@danc86 All right, thanks, we can discuss new insights and findings in the new nextpnr issue. Closing this PR |
This PR is built on collection of other PRs:
CFU:
LiteSPI (bumped):
With this PR and nextpnr from YosysHQ/nextpnr#897 yielded a bitstream that passed golden tests and nextpnr closed timing at
84.84 MHz
(pass @ 55 MHz)