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

SRL tests fail if top outputs are connected to GND with new Yosys #1580

Open
acomodi opened this issue Jul 8, 2020 · 4 comments
Open

SRL tests fail if top outputs are connected to GND with new Yosys #1580

acomodi opened this issue Jul 8, 2020 · 4 comments

Comments

@acomodi
Copy link
Contributor

acomodi commented Jul 8, 2020

Top level outputs connected with GND net produce the following error:

Initial Net Connection Criticality Histogram:
[        0:      0.1) 249 ( 20.0%) |***********************************************
[      0.1:      0.2)   5 (  0.4%) |*
[      0.2:      0.3)  61 (  4.9%) |************
[      0.3:      0.4) 108 (  8.7%) |********************
[      0.4:      0.5)  46 (  3.7%) |*********
[      0.5:      0.6)  64 (  5.1%) |************
[      0.6:      0.7) 126 ( 10.1%) |************************
[      0.7:      0.8) 218 ( 17.5%) |*****************************************
[      0.8:      0.9) 249 ( 20.0%) |***********************************************
[      0.9:        1) 119 (  9.6%) |**********************
## Initializing router criticalities took 0.05 seconds (max_rss 671.3 MiB, delta_rss +0.0 MiB)
---- ------ ------- ---- ------- ------- ------- ----------------- --------------- -------- ---------- ---------- ---------- ---------- --------
Iter   Time    pres  BBs    Heap  Re-Rtd  Re-Rtd Overused RR Nodes      Wirelength      CPD       sTNS       sWNS       hTNS       hWNS Est Succ
      (sec)     fac Updt    push    Nets   Conns                                       (ns)       (ns)       (ns)       (ns)       (ns)     Iter
---- ------ ------- ---- ------- ------- ------- ----------------- --------------- -------- ---------- ---------- ---------- ---------- --------
Warning 22: No routing path for connection to sink_rr 475192, retrying with full device bounding box
Warning 23: No routing path for connection to sink_rr 393515, retrying with full device bounding box
Cannot route from SYN-GND[0].GND[0] (RR node: 103530 type: SOURCE location: (30,27) class: 0 capacity: 1) to SYN-OUTPAD[0].outpad[0] (RR node: 393515 type: SINK location: (62,24) class: 0 capacity: 1) -- no possible path
Failed to route connection from '$false' to 'out:led[15]' for net 'led[4]' (#0)
Routing failed.
# Routing took 0.57 seconds (max_rss 671.3 MiB, delta_rss +0.0 MiB)
Circuit is unroutable with a channel width factor of 500.
VPR failed to implement circuit
The entire flow of VPR took 3.00 seconds (max_rss 671.3 MiB)
@litghost
Copy link
Contributor

litghost commented Jul 8, 2020

What's happening here is that yosys is optimizing away the SRL. Probably need a (* KEEP *) or equiv? Assuming that yosys accepts that.

@litghost
Copy link
Contributor

litghost commented Jul 8, 2020

Other possible problem is that the test logic has a bug, and as a result yosys is optimizing the entire design away. It happens :/

@litghost
Copy link
Contributor

litghost commented Jul 8, 2020

I see the issue, and have a straight forward change that fixes it.

@litghost
Copy link
Contributor

litghost commented Jul 8, 2020

The issue was that yosys was optimizing something away, but in this case it was a LUT2 that was being used to avoid directly connected unused LED's to VCC/GND. I've updated the relevant tests with a comment explaining what is going on. Something we should consider in the future is moving those tests outside the ROI, which would remove the need for having weird logic around GND/VCC directly to pads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants