CFU-Playground icon indicating copy to clipboard operation
CFU-Playground copied to clipboard

Conda Symbiflow builds for Arty failing timing without warning?

Open alanvgreen opened this issue 2 years ago • 1 comments

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

alanvgreen avatar May 02 '22 03:05 alanvgreen

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)

alanvgreen avatar May 02 '22 03:05 alanvgreen