3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-15 11:45:41 +00:00
yosys/tests
Akash Levy 00e48706df opt: recognize three QoR logic-depth patterns
Extend two existing opt passes and add one new pass to collapse
serial/dynamic-index structures that were leaving high logic depth:

- opt_first_fit_alloc: recognize the "coalesce-matrix" first-fit
  allocator variant (same_cat[i][k] coalescing gated on the leader's
  enable, driven from a raw input enable). Rewrite both the lane_slot
  allocation and the xbar field gather from one shared log-depth scan.

- opt_prienc: detect round-robin / rotated-priority scans (req scanned
  from idx_last downward with wraparound) and rewrite the depth-N
  idx--/req[idx] mux chain to rotate -> log-depth priority-encode ->
  unrotate.

- opt_priokey (new): recognize priority-by-key one-hot accumulators and
  replace each dynamic taken[key] read ($shiftx/$bmux) with the
  equivalent pairwise-key-compare reduction, dropping the wide dynamic
  indexing. Supports -strict for full-key-range formal validation.

Each includes self-contained tests (equiv_opt / sat -prove-asserts,
mux-bound and negative cases) in tests/opt/.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 12:56:38 -07:00
..
aiger Do not use Makefile.conf 2026-05-19 14:29:06 +02:00
alumacc Use generic testing on few more places 2026-04-16 11:00:44 +02:00
arch Merge remote-tracking branch 'upstream' into merge3 2026-06-25 04:51:46 -07:00
arith_tree End of file fix 2026-06-23 07:23:41 +02:00
asicworld Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
bind Use generic testing on few more places 2026-04-16 11:00:44 +02:00
blif Merge remote-tracking branch 'upstream/main' into silimate 2026-06-09 16:22:51 +03:00
bram End of file fix 2026-06-23 07:23:41 +02:00
bugpoint Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
check_mem tests/check_mem: Drop unused init check 2026-05-30 11:06:11 +12:00
cxxrtl Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
errors End of file fix 2026-06-23 07:23:41 +02:00
fmt Cleanup 2026-04-16 11:00:44 +02:00
fsm Did share, opt_share and fsm 2026-04-16 11:00:44 +02:00
functional Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
hana Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
liberty Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
lut Add a general tests/.gitignore and remove redundant entries in subdirectory .gitignore files. 2025-07-22 10:38:38 +00:00
memfile Update CI scripts for CMake 2026-06-03 08:58:11 +00:00
memlib Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
memories Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
opt opt: recognize three QoR logic-depth patterns 2026-07-06 12:56:38 -07:00
opt_share Did share, opt_share and fsm 2026-04-16 11:00:44 +02:00
peepopt Merge remote-tracking branch 'upstream/main' into silimate 2026-06-09 16:22:51 +03:00
proc Fixup issue test. 2026-06-15 16:23:44 +02:00
pyosys End of file fix 2026-06-23 07:23:41 +02:00
realmath Cleanup 2026-04-16 11:00:44 +02:00
rpc Make out of tree build testing possible 2026-05-19 14:26:07 +02:00
rtlil End of file fix 2026-06-23 07:23:41 +02:00
sat Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
sdc Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
select Converted some more 2026-04-16 11:00:44 +02:00
share Did share, opt_share and fsm 2026-04-16 11:00:44 +02:00
silimate Merge remote-tracking branch 'silimate/main' into update_from_upstream 2026-06-19 00:07:08 +03:00
sim Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
simple End of file fix 2026-06-23 07:23:41 +02:00
simple_abc9 Convert autotest script wrapper 2026-04-16 11:00:44 +02:00
smv End of file fix 2026-06-23 07:23:41 +02:00
sva End of file fix 2026-06-23 07:23:41 +02:00
svinterfaces Cleanup 2026-04-16 11:00:44 +02:00
svtypes Merge remote-tracking branch 'upstream' into merge3 2026-06-25 04:51:46 -07:00
techmap Merge remote-tracking branch 'upstream' into merge3 2026-06-25 04:51:46 -07:00
tools End of file fix 2026-06-23 07:23:41 +02:00
unit Remove old Makefile and fix documentation 2026-06-15 15:25:58 +02:00
various test/ci fixes 2026-07-02 18:56:25 +03:00
verific Merge remote-tracking branch 'upstream' into merge3 2026-06-25 04:51:46 -07:00
verilog Merge remote-tracking branch 'upstream' into merge3 2026-06-25 04:51:46 -07:00
vloghtb End of file fix 2026-06-23 07:23:41 +02:00
write_verilog tests: Add mixed_upto write_verilog test 2026-06-19 11:20:01 +12:00
xprop Update CI scripts for CMake 2026-06-03 08:58:11 +00:00
.gitignore Save results, and create summary and report 2026-04-16 11:00:44 +02:00
common.mk Add VERBOSE (and V) option to Makefiles 2026-06-15 14:48:11 +02:00
gen_tests_makefile.py Add VERBOSE (and V) option to Makefiles 2026-06-15 14:48:11 +02:00
Makefile Merge remote-tracking branch 'upstream' into merge3 2026-06-25 04:51:46 -07:00
pass-fuzzing.md Remove trailing whitespaces 2026-06-23 07:24:59 +02:00