CFU-Playground
CFU-Playground copied to clipboard
Conda Symbiflow builds for Arty failing timing without warning?
I am seeing inconsistent behavior from my CFU. See test runs below where each of the failing cases produces different results.
Built for Arty with Symbiflow via conda.
Code is at https://github.com/alanvgreen/CFU-Playground/tree/fccm
Project Menu
============
1: test cfu
h: say Hello
x: eXit to previous menu
project> 1
Running test cfu
CFU Test... 00000000
ffffcc00 ok
fbffd691 FAIL (0xffffd491) -67119471 != -11119
fbffb77f FAIL (0xffffb57f) -67127425 != -19073
fbff84eb FAIL (0xffff82eb) -67140373 != -32021
---
Project Menu
============
1: test cfu
h: say Hello
x: eXit to previous menu
project> 1
Running test cfu
CFU Test... 00000000
ffffcc00 ok
dbffd791 FAIL (0xffffd491) -603990127 != -11119
dbffb87f FAIL (0xffffb57f) -603998081 != -19073
dbff85eb FAIL (0xffff82eb) -604011029 != -32021
---
Project Menu
============
1: test cfu
h: say Hello
x: eXit to previous menu
project> 1
Running test cfu
CFU Test... 00000000
ffffcc00 ok
fbfdd691 FAIL (0xffffd491) -67250543 != -11119
fbfdb77f FAIL (0xffffb57f) -67258497 != -19073
fbfd84eb FAIL (0xffff82eb) -67271445 != -32021
I ran symbiflow_route -e digilent_arty.eblif -d xc7a50t_test -s digilent_arty.sdc
and pasted in the last few lines below.
I'm not sure how to read this. Is the design meeting timing?
Final hold Worst Negative Slack (hWNS): 0 ns
Final hold Total Negative Slack (hTNS): 0 ns
Final hold slack histogram:
[ 1.2e-10: 2.3e-09) 6033 ( 53.1%) |**********************************************
[ 2.3e-09: 4.5e-09) 4827 ( 42.5%) |*************************************
[ 4.5e-09: 6.7e-09) 495 ( 4.4%) |****
[ 6.7e-09: 8.9e-09) 0 ( 0.0%) |
[ 8.9e-09: 1.1e-08) 0 ( 0.0%) |
[ 1.1e-08: 1.3e-08) 1 ( 0.0%) |
[ 1.3e-08: 1.5e-08) 2 ( 0.0%) |
[ 1.5e-08: 1.8e-08) 0 ( 0.0%) |
[ 1.8e-08: 2e-08) 0 ( 0.0%) |
[ 2e-08: 2.2e-08) 2 ( 0.0%) |
Final intra-domain worst hold slacks per constraint:
sys_clk to sys_clk worst hold slack: 0.144882 ns
soc_crg_clkout_buf4 to soc_crg_clkout_buf4 worst hold slack: 0.388886 ns
soc_crg_clkin to soc_crg_clkin worst hold slack: 0.12081 ns
Final inter-domain worst hold slacks per constraint:
sys_clk to soc_crg_clkin worst hold slack: 11.4504 ns
soc_crg_clkin to sys_clk worst hold slack: 22.0735 ns
soc_crg_clkin to soc_crg_clkout_buf4 worst hold slack: 14.0677 ns
Final critical path delay (least slack): 25.1806 ns
Final setup Worst Negative Slack (sWNS): -11.8473 ns
Final setup Total Negative Slack (sTNS): -1426.99 ns
Final setup slack histogram:
[ -1.2e-08: -9.4e-09) 25 ( 0.2%) |
[ -9.4e-09: -7e-09) 58 ( 0.5%) |*
[ -7e-09: -4.5e-09) 6 ( 0.1%) |
[ -4.5e-09: -2.1e-09) 119 ( 1.0%) |**
[ -2.1e-09: 3.9e-10) 889 ( 7.8%) |***********
[ 3.9e-10: 2.8e-09) 1115 ( 9.8%) |**************
[ 2.8e-09: 5.3e-09) 1979 ( 17.4%) |*************************
[ 5.3e-09: 7.7e-09) 1410 ( 12.4%) |******************
[ 7.7e-09: 1e-08) 2163 ( 19.0%) |****************************
[ 1e-08: 1.3e-08) 3596 ( 31.7%) |**********************************************
Final intra-domain critical path delays (CPDs):
soc_crg_clkin to soc_crg_clkin CPD: 2.29384 ns (435.951 MHz)
sys_clk to sys_clk CPD: 25.1806 ns (39.7132 MHz)
soc_crg_clkout_buf4 to soc_crg_clkout_buf4 CPD: 3.63283 ns (275.267 MHz)
Final inter-domain critical path delays (CPDs):
soc_crg_clkin to sys_clk CPD: 9.13222 ns (109.502 MHz)
soc_crg_clkin to soc_crg_clkout_buf4 CPD: 9.45968 ns (105.712 MHz)
sys_clk to soc_crg_clkin CPD: 2.56339 ns (390.108 MHz)
Final intra-domain worst setup slacks per constraint:
soc_crg_clkin to soc_crg_clkin worst setup slack: 7.70616 ns
sys_clk to sys_clk worst setup slack: -11.8473 ns
soc_crg_clkout_buf4 to soc_crg_clkout_buf4 worst setup slack: 1.36717 ns
Final inter-domain worst setup slacks per constraint:
soc_crg_clkin to sys_clk worst setup slack: -9.13222 ns
soc_crg_clkin to soc_crg_clkout_buf4 worst setup slack: -9.45968 ns
sys_clk to soc_crg_clkin worst setup slack: -2.56339 ns
Final geomean non-virtual intra-domain period: 5.94234 ns (168.284 MHz)
Final fanout-weighted geomean non-virtual intra-domain period: 0.069893 ns (14307.6 MHz)
Incr Slack updates 1 in 0.00216152 sec
Full Max Req/Worst Slack updates 1 in 0.000372129 sec
Incr Max Req/Worst Slack updates 0 in 0 sec
Incr Criticality updates 0 in 0 sec
Full Criticality updates 1 in 0.00725681 sec
Flow timing analysis took 2.2109 seconds (1.94805 STA, 0.262848 slack) (19 full updates: 0 setup, 0 hold, 19 combined).
VPR succeeded
The entire flow of VPR took 157.69 seconds (max_rss 3496.2 MiB)