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
Litex: drop the --symbiflow flag when generating the minilitex design #1753
Comments
This is not a solution. The issue is that VPR sweeps the netlist and invalidates an SDC that was originally valid. This is a bug in VPR frankly. |
There are two potential locations that have bugs,
|
Update with some more data: Error generated in VPR:
PLL definition:
Generated SDC:
The PLL instantiates clocks also for the DDR and Ethernet modules, which are absent in the The problem is that yosys correctly trims away the BUFGs from
Top module ports:
After all these observations I believe that yosys correctly trims useless clock nets, and the plugin is not aware of this, but sees the outputs from the PLL and creates the clocks even though they do not actually exist. @tmichalak @mithro FYI To reproduce this, the |
So ad.1. The net is present in the eblif. It is just a dangling net not connected to anything.
Adding a check during sdc generation if the clock wire is actually driving anything will fix the problem. |
Could there be a clean step which sweeps the dangling net before the SDC output? |
I added a check whether the clock divider output wire drives a cell. If it does we don't add a clock on that wire. See chipsalliance/yosys-f4pga-plugins#57 |
@tmichalak - Can you see if using the http://www.clifford.at/yosys/cmd_opt_clean.html pass will remove the wire? |
From the docs - http://www.clifford.at/yosys/cmd_opt_clean.html
|
@mithro I tried the |
We currently use the --symbiflow flag to generate the minilitex design.
This was related to the fact that the PLL generate extra clocks and BUFG which are not used, ending up in clocks generated in the SDC, but they are absent in the cleaned circuit in VPR, therefore the SDC commands for the inexistent generate an error.
Possible solutions:
The text was updated successfully, but these errors were encountered: