Skip to content
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

Yosys netlist is severly affected by non-synthesizable construct! #64

Open
tarik-ibrahimovic opened this issue Mar 2, 2025 · 3 comments
Assignees
Labels
benchmarking Real-life testcase for assessment of efficiency, performance, and beyond bug Something isn't working

Comments

@tarik-ibrahimovic
Copy link
Collaborator

Removing the $display line from this excerpt completely changes the synth netlist. The changes are so significant that the pnr fails to route 2 cores for the latter case, in 1.corescore test (decreasing the number of cores from 56 to 54).

serving_ram.v file version 1.0.2 from serv repository

   initial
     if(|memfile) begin
	$display("Preloading %m from %s", memfile);
	$readmemh(memfile, mem);
     end
@tarik-ibrahimovic
Copy link
Collaborator Author

This is a known issue in Yosys, as documented in issue #4925. Chaotic behavior has been observed, and using different seed values may sometimes yield better results. The variation amounts to approximately ±2 cores—about 5% of the total. When combined with the netlist translation performed by p_r, this issue may further exacerbate the overall unreliability of the results.

@chili-chips-ba chili-chips-ba changed the title Yosys completely changes the netlist when there are non-synthesizable constructructs Yosys netlist is severly affected by non-synthesizable construct! Mar 2, 2025
@chili-chips-ba chili-chips-ba added bug Something isn't working benchmarking Real-life testcase for assessment of efficiency, performance, and beyond labels Mar 2, 2025
@pu-cc
Copy link
Collaborator

pu-cc commented Mar 5, 2025

May I ask in advance why you are removing the display? P&R should actually ignore any initial blocks in the netlists.

@tarik-ibrahimovic
Copy link
Collaborator Author

Removing the display isn't necessary anymore, since this issue has been resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmarking Real-life testcase for assessment of efficiency, performance, and beyond bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants