mirror of https://github.com/YosysHQ/yosys.git
A real-world ABC9 flow hit residual combinational loops after SCC breaking, tripping the prep_xaiger loop assertion. Keep the existing topological assertions in place (prep_xaiger and reintegrate still assert no_loops). To handle residual non-box loops, add a targeted fallback in prep_xaiger: when loops remain after normal SCC breaking, insert additional $__ABC9_SCC_BREAKER cuts on non-box loop cells, rebuild toposort, and then re-check the existing assertion. Also keep pre-ABC9 SCC tagging on all cell types (scc -all_cell_types) and add a regression test (tests/techmap/abc9-nonbox-loop-with-box.ys). |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| add_sub.ys | ||
| adffs.ys | ||
| bug1597.ys | ||
| bug1598.ys | ||
| bug1626.ys | ||
| bug1644.il.gz | ||
| bug1644.ys | ||
| bug2061.ys | ||
| counter.ys | ||
| dffs.ys | ||
| dpram.v | ||
| dpram.ys | ||
| fsm.ys | ||
| ice40_dsp.ys | ||
| ice40_dsp_const.ys | ||
| ice40_opt.ys | ||
| ice40_wrapcarry.ys | ||
| latches.ys | ||
| logic.ys | ||
| macc.v | ||
| macc.ys | ||
| memories.ys | ||
| mul.ys | ||
| mux.ys | ||
| rom.v | ||
| rom.ys | ||
| run-test.sh | ||
| shifter.ys | ||
| spram.v | ||
| spram.ys | ||
| tribuf.ys | ||