3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-03-24 05:19:15 +00:00
Commit graph

16863 commits

Author SHA1 Message Date
sabina-sokol
f46fa03ed0
Merge 841a29496d into 8d1d5a25e5 2026-03-19 10:12:03 +01:00
Lofty
8d1d5a25e5
Merge pull request #5760 from YosysHQ/lofty/abc-refactor-2
abc: remove -S [sc-269]
2026-03-19 07:26:54 +00:00
Lofty
05de1c4ae2
Merge pull request #5759 from YosysHQ/lofty/abc9-refactor-4
abc9: remove abc9.if.C [sc-269]
2026-03-19 07:26:37 +00:00
Emil J
9746bd3897
Merge pull request #5724 from abhinavputhran/fix/setundef-respect-selection
setundef: respect selection for cells, processes, and connections
2026-03-18 22:53:06 +00:00
Miodrag Milanović
a141bd941c
Merge pull request #5761 from YosysHQ/fix_ci
Check results properly
2026-03-18 20:08:04 +00:00
Miodrag Milanović
4a6bd6a2fe
Merge pull request #5762 from YosysHQ/revert-5758-lofty/abc-refactor-1
Revert "abc: remove -fast [sc-269]"
2026-03-18 17:57:53 +00:00
Lofty
f9d930ba5a
Revert "abc: remove -fast [sc-269]" 2026-03-18 17:55:17 +00:00
Lofty
c4cc53a72e synth: fix after abc -fast removal 2026-03-18 17:59:58 +01:00
Miodrag Milanovic
bccfdef05d Check results properly 2026-03-18 17:48:28 +01:00
Lofty
e05ed6b850
Merge pull request #5758 from YosysHQ/lofty/abc-refactor-1
abc: remove -fast [sc-269]
2026-03-18 15:09:36 +00:00
Lofty
18a7c54ebd
Merge pull request #5756 from YosysHQ/lofty/abc9-refactor-2
abc9: cleanup commented code [sc-269]
2026-03-18 14:46:06 +00:00
Lofty
0b3f103745 abc: remove -S 2026-03-18 14:40:23 +00:00
Lofty
93c762c7c1 abc9: remove abc9.if.C 2026-03-18 14:27:27 +00:00
Lofty
926814f1e4 abc9: cleanup commented code 2026-03-18 14:16:31 +00:00
Lofty
0ea739b7d9 abc: remove -fast 2026-03-18 14:15:42 +00:00
Lofty
150860c1c3
Merge pull request #5755 from YosysHQ/lofty/abc9-refactor-1
abc9_exe: fix typo
2026-03-18 12:25:44 +00:00
Lofty
e78690fc47 abc9_exe: fix typo 2026-03-18 11:44:13 +00:00
Emil J
c8f715fed8
Merge pull request #5664 from rocallahan/parallel-opt-clean
Parallelize `opt_clean` pass
2026-03-16 09:52:34 +00:00
Miodrag Milanović
06264cdb2e
Merge pull request #5746 from IAmMarcelJung/fabulous/add_frame_config_mux_bels
fabulous: add frame_config_mux BEls
2026-03-16 08:21:01 +00:00
KrystalDelusion
1111a401f7
Merge pull request #5750 from calewis/return_things
Fix missing return in NDEBUG case
2026-03-13 22:07:28 +00:00
Drew Lewis
4251cd69ed Fix missing return in NDEBUG case
Signed-off-by: Drew Lewis <cannada@google.com>
2026-03-13 19:51:49 +00:00
Marcel Jung
49ecb1ac11 fabulous: add frame_config_mux BEls 2026-03-12 16:05:21 +01:00
Lofty
4716f4410f
Merge pull request #5741 from YosysHQ/lofty/quicklogic-mul-bugfix
synth_quicklogic: fix small multiplier inference
2026-03-11 11:47:46 +00:00
Lofty
53939bd3ba synth_quicklogic: fix small multiplier inference 2026-03-11 11:14:09 +00:00
Catherine
18d94fe9a4
Merge pull request #5740 from kivikakk/push-utvloulmsuqy
cxxrtl: Suppress another un/signed comparison warning!
2026-03-11 10:27:27 +00:00
Asherah Connor
5c74446e57 cxxrtl: Suppress another un/signed comparison warning! 2026-03-11 20:50:09 +11:00
Catherine
4d725ee84d
Merge pull request #5739 from kivikakk/push-nsqznnrrssrn
cxxrtl: Suppress un/signed comparison warning; this is positive
2026-03-11 09:00:22 +00:00
Asherah Connor
c5c104f560 cxxrtl: Suppress un/signed comparison warning; this is positive 2026-03-11 18:35:48 +11:00
Sabina Sokol
841a29496d opt_expr: Respect keep attribute for double-inverter folding
The double-inverter optimization in opt_expr folds consecutive NOT gates
without checking if the cell has the keep attribute. This causes ring
oscillator PUFs and other intentional feedback loops to be broken even
when explicitly marked for preservation.

This patch adds a has_keep_attr() check before folding double inverters,
consistent with how opt_clean handles the keep attribute.

Fixes: Ring oscillator cells marked with (* keep *) being optimized away

Signed-off-by: Sabina Sokol <Sabina.Sokol@gtri.gatech.edu>
2026-03-10 13:39:06 -04:00
Miodrag Milanović
de99d67bbd
Merge pull request #5733 from YosysHQ/update_abc
Update ABC as per 2026-03-09
2026-03-09 12:42:13 +00:00
Miodrag Milanovic
fea0d18c0a Update ABC as per 2026-03-09 2026-03-09 13:04:45 +01:00
abhinavputhran
314d01b35f changed rtlil to verilog. setundef_selection_ff stays rtlil because we use specific cell names if write in verilog yosys assign name that can change 2026-03-08 20:14:03 -04:00
abhinavputhran
47c2257f82 setundef: more tests! and wire selection in -init mode 2026-03-08 19:41:31 -04:00
abhinavputhran
c23ba3f917 I think CI runs within the tests directory based on error so I changed the file path 2026-03-08 18:15:35 -04:00
abhinavputhran
5048dac854 setundef: add tests for selection in -zero, -undriven, and -init modes. also made setundef.cc clearer 2026-03-06 18:12:03 -05:00
abhinavputhran
9e666c727f setundef: respect selection in -undriven mode 2026-03-06 10:37:59 -05:00
Emil J
2f1cdc2df9
Merge pull request #5728 from povik/tcl-set-result
Replace deprecated Tcl API to fix use-after-free
2026-03-06 13:36:48 +00:00
Martin Povišer
167c6c4585 Replace deprecated Tcl API to fix use-after-free
Under Tcl 9.0 the Tcl_SetResult utility is a macro:

	#define Tcl_SetResult(interp, result, freeProc) \
		do { \
		    const char *__result = result; \
		    Tcl_FreeProc *__freeProc = freeProc; \
		    Tcl_SetObjResult(interp, Tcl_NewStringObj(__result, -1)); \
		    if (__result != NULL && __freeProc != NULL && __freeProc != TCL_VOLATILE) { \
			if (__freeProc == TCL_DYNAMIC) { \
			    Tcl_Free((char *)__result); \
			} else { \
			    (*__freeProc)((char *)__result); \
			} \
		    } \
		} while(0)

Temporaries constructed as part of the 'result' expression will be
dropped before the 'result' pointer is used. What was safe when
Tcl_SetResult was a function isn't safe with the macro definition.
Transition away from deprecated SetResult to calling
SetObjResult/MewStringObj directly.
2026-03-06 11:52:17 +01:00
Lofty
050483a6b2
Merge pull request #5698 from YosysHQ/lofty/analogdevices
synth_analogdevices: synthesis for Analog Devices EFLX FPGAs [sc-273]
2026-03-06 08:57:59 +00:00
Miodrag Milanovic
602f3fd1a5 Add missing EOL 2026-03-06 09:10:55 +01:00
Miodrag Milanovic
52533b0d1c Update opt_lut_ins and stat for analogdevices and remove ecp5 2026-03-06 09:10:36 +01:00
Robert O'Callahan
9c51ba1b09 Reduce opt_clean parallelism 2026-03-06 02:20:16 +00:00
Robert O'Callahan
8d8c05b338 Fix OptCleanPass usage of CleanRunContext to avoid constructing extra KeepCache and ParallelDispatchThreadPool 2026-03-06 02:20:16 +00:00
Robert O'Callahan
32f5044eaf Clarify "Not passing module as function argument" comment
This correct in terms of intent, it's just not fully enforced due to const laundering.
2026-03-06 02:20:16 +00:00
Emil J. Tywoniak
70cc2d67fd opt_clean: refactor 2026-03-06 02:20:14 +00:00
Robert O'Callahan
1260fda83a Add 'init' attributes to RTLIL fuzzing 2026-03-06 02:20:08 +00:00
Robert O'Callahan
cdfc586f18 Add unit tests for ConcurrentWorkQueue 2026-03-06 02:20:08 +00:00
Robert O'Callahan
1e96328ede Add some tests for ShardedHashSet 2026-03-06 02:20:08 +00:00
Robert O'Callahan
3910d569da Add unit tests for ConcurrentQueue and ThreadPool 2026-03-06 02:20:08 +00:00
Robert O'Callahan
ac55935a68 Add unit-tests for ParallelDispatchThread and friends 2026-03-06 02:20:08 +00:00