Commit 601b919
committed
flow: move repair_tie_fanout into synth_odb.tcl before remove_buffers
PR #4187 moved remove_buffers, replace_arith_modules and
repair_timing_helper out of floorplan.tcl into synth_odb.tcl, but left
repair_tie_fanout behind in floorplan.tcl. That flipped the relative
order: in master repair_tie_fanout had run *before* remove_buffers (a
load-bearing invariant the dropped ordering comment was guarding); in
the new flow it ran against the already-unbuffered netlist.
The behavior difference is small but real. On asap7/ibex it produced
14 TIELOx1 instances instead of 15, propagated through global
placement, and the design entered CTS in a state that converged to
~5x worse setup TNS:
cts setup TNS master -961 ps PR (pre-fix) -5584 ps
Move repair_tie_fanout into synth_odb.tcl ahead of replace_arith_modules
and the remove_buffers / repair_timing_helper branch so the original
ordering is preserved. Re-running asap7/ibex with this fix gets the
TIELO count back to 15. TIE_SEPARATION and SKIP_REPAIR_TIE_FANOUT now
live in the synth stage in variables.yaml/json so they survive the
synth-stage erase_non_stage_variables call.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>1 parent 975e5cf commit 601b919
4 files changed
Lines changed: 27 additions & 22 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | 78 | | |
95 | 79 | | |
96 | 80 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
54 | 75 | | |
55 | 76 | | |
56 | 77 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
365 | 365 | | |
366 | 366 | | |
367 | 367 | | |
368 | | - | |
| 368 | + | |
369 | 369 | | |
370 | 370 | | |
371 | 371 | | |
| |||
810 | 810 | | |
811 | 811 | | |
812 | 812 | | |
813 | | - | |
| 813 | + | |
814 | 814 | | |
815 | | - | |
| 815 | + | |
816 | 816 | | |
817 | 817 | | |
818 | 818 | | |
| |||
0 commit comments