Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								5600eb2e5b 
								
							 
						 
						
							
							
								
								Update passes/opt to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								4f3fdc8457 
								
							 
						 
						
							
							
								
								io: refactor string and file work into new unit  
							
							
							
						 
						
							2025-03-19 13:43:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								c2691207df 
								
							 
						 
						
							
							
								
								wreduce: fix warning for deprecated IdString::in(pool<IdString>)  
							
							
							
						 
						
							2025-01-30 12:01:30 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
							
							
								
							
							
								be351886a5 
								
							 
						 
						
							
							
								
								wreduce: Adjust naming and comments  
							
							
							
						 
						
							2025-01-03 12:54:34 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
							
							
								
							
							
								08778917db 
								
							 
						 
						
							
							
								
								wreduce: Optimize signedness when possible  
							
							
							
						 
						
							2024-12-16 12:57:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								785bd44da7 
								
							 
						 
						
							
							
								
								rtlil: represent Const strings as std::string  
							
							
							
						 
						
							2024-10-14 06:28:12 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
							
							
								
							
							
								ff3c7873f5 
								
							 
						 
						
							
							
								
								wreduce: Group reconnections  
							
							... 
							
							
							
							Group the reconnections, so that instead of producing
  connect $auto$wreduce.cc:455:run$24 [0] 1'0
  connect $auto$wreduce.cc:455:run$23 [31] 1'0
  connect $auto$wreduce.cc:455:run$23 [30] 1'0
  ... (40 more lines)
we produce
  connect $auto$wreduce.cc:461:run$23 [31:11] 21'000000000000000000000
  connect $auto$wreduce.cc:461:run$24 [31:10] 22'0000000000000000000000
. 
							
						 
						
							2023-08-04 14:43:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								428ad5b9fd 
								
							 
						 
						
							
							
								
								wreduce: Keep more x-bits with -keepdc  
							
							
							
						 
						
							2022-08-16 13:37:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								47efc04a7d 
								
							 
						 
						
							
							
								
								wreduce: Introduce -mux_undef option (aligned with opt_expr).  
							
							
							
						 
						
							2022-06-08 21:28:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								fd79217763 
								
							 
						 
						
							
							
								
								Add v2 memory cells.  
							
							
							
						 
						
							2021-08-11 13:34:10 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								19720b970d 
								
							 
						 
						
							
							
								
								memory: Introduce $meminit_v2 cell, with EN input.  
							
							
							
						 
						
							2021-07-28 23:18:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Claire Xenia Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								72787f52fc 
								
							 
						 
						
							
							
								
								Fixing old e-mail addresses and deadnames  
							
							... 
							
							
							
							s/((Claire|Xen|Xenia|Clifford)\s+)+(Wolf|Xen)\s+<(claire|clifford)@(symbioticeda.com|clifford.at|yosyshq.com)>/Claire Xenia Wolf <claire@yosyshq.com>/gi;
s/((Nina|Nak|N\.)\s+)+Engelhardt\s+<nak@(symbioticeda.com|yosyshq.com)>/N. Engelhardt <nak@yosyshq.com>/gi;
s/((David)\s+)+Shah\s+<(dave|david)@(symbioticeda.com|yosyshq.com|ds0.me)>/David Shah <dave@ds0.me>/gi;
s/((Miodrag)\s+)+Milanovic\s+<(miodrag|micko)@(symbioticeda.com|yosyshq.com)>/Miodrag Milanovic <micko@yosyshq.com>/gi;
s,https?://www.clifford.at/yosys/,http://yosyshq.net/yosys/,g ; 
							
						 
						
							2021-06-08 00:39:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								4d9105ccb0 
								
							 
						 
						
							
							
								
								wreduce: Refactor to use FfInitVals.  
							
							
							
						 
						
							2020-07-24 11:22:31 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								119f79d8b9 
								
							 
						 
						
							
							
								
								Add support for new FF types in some opt passes.  
							
							
							
						 
						
							2020-06-23 15:40:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								7191dd16f9 
								
							 
						 
						
							
							
								
								Use C++11 final/override keywords.  
							
							
							
						 
						
							2020-06-18 23:34:52 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Xiretza 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								edd8ff2c07 
								
							 
						 
						
							
							
								
								Add flooring division operator  
							
							... 
							
							
							
							The $div and $mod cells use truncating division semantics (rounding
towards 0), as defined by e.g. Verilog. Another rounding mode, flooring
(rounding towards negative infinity), can be used in e.g. VHDL. The
new $divfloor cell provides this flooring division.
This commit also fixes the handling of $div in opt_expr, which was
previously optimized as if it was $divfloor. 
							
						 
						
							2020-05-28 22:59:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Xiretza 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								17163cf43a 
								
							 
						 
						
							
							
								
								Add flooring modulo operator  
							
							... 
							
							
							
							The $div and $mod cells use truncating division semantics (rounding
towards 0), as defined by e.g. Verilog. Another rounding mode, flooring
(rounding towards negative infinity), can be used in e.g. VHDL. The
new $modfloor cell provides this flooring modulo (also known as "remainder"
in several languages, but this name is ambiguous).
This commit also fixes the handling of $mod in opt_expr, which was
previously optimized as if it was $modfloor. 
							
						 
						
							2020-05-28 22:59:03 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								956ecd48f7 
								
							 
						 
						
							
							
								
								kernel: big fat patch to use more ID::*, otherwise ID(*)  
							
							
							
						 
						
							2020-04-02 09:51:32 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								432a09af80 
								
							 
						 
						
							
							
								
								kernel: SigSpec use more const& + overloads to prevent implicit SigSpec  
							
							
							
						 
						
							2020-03-13 08:17:39 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									David Shah 
								
							 
						 
						
							
							
							
							
								
							
							
								f5804a84fd 
								
							 
						 
						
							
							
								
								wreduce: Don't trim zeros or sext when not matching ARST_VALUE  
							
							... 
							
							
							
							Signed-off-by: David Shah <dave@ds0.me> 
							
						 
						
							2019-11-14 18:43:15 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								29e14e674e 
								
							 
						 
						
							
							
								
								Remove using namespace RTLIL;  
							
							
							
						 
						
							2019-08-16 19:36:45 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								eae5a6b12c 
								
							 
						 
						
							
							
								
								Use ID::keep more liberally too  
							
							
							
						 
						
							2019-08-15 14:51:12 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								52355f5185 
								
							 
						 
						
							
							
								
								Use more ID::{A,B,Y,blackbox,whitebox}  
							
							
							
						 
						
							2019-08-15 14:50:10 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								6995914f3f 
								
							 
						 
						
							
							
								
								Use ID() macro in all of passes/opt/  
							
							... 
							
							
							
							This was obtained by running the following SED command in passes/opt/
and then using "meld foo.cc foo.cc.orig" to manually fix all resulting
compiler errors.
sed -i.orig -r 's/"\\\\([a-zA-Z0-9_]+)"/ID(\1)/g; s/"(\$[a-zA-Z0-9_]+)"/ID(\1)/g;' *.cc
Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-08-11 11:39:46 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								bfc7164af7 
								
							 
						 
						
							
							
								
								Move LSB-trimming functionality from wreduce to opt_expr  
							
							
							
						 
						
							2019-08-06 15:25:50 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								09beeee38a 
								
							 
						 
						
							
							
								
								Try and fix again  
							
							
							
						 
						
							2019-07-19 14:40:57 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								cb0fd05215 
								
							 
						 
						
							
							
								
								Do not access beyond bounds  
							
							
							
						 
						
							2019-07-19 13:58:50 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								3a87dc3524 
								
							 
						 
						
							
							
								
								Wrap A and B in sigmap  
							
							
							
						 
						
							2019-07-19 13:23:07 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								31b0002e8c 
								
							 
						 
						
							
							
								
								Remove "top" from message  
							
							
							
						 
						
							2019-07-19 13:20:45 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								bcd8027182 
								
							 
						 
						
							
							
								
								Also optimise MSB of $sub  
							
							
							
						 
						
							2019-07-19 13:11:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								fc0e36d1c0 
								
							 
						 
						
							
							
								
								wreduce for $sub  
							
							
							
						 
						
							2019-07-19 12:50:21 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								713337255e 
								
							 
						 
						
							
							
								
								Revert "Add "synth -keepdc" option"  
							
							
							
						 
						
							2019-07-09 10:14:23 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								37b58f4324 
								
							 
						 
						
							
							
								
								Clarify 'wreduce -keepdc' doc  
							
							
							
						 
						
							2019-07-08 19:15:07 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								c4b8575f43 
								
							 
						 
						
							
							
								
								Add "wreduce -keepdc",  fixes   #1016  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-05-20 15:36:13 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								373b236108 
								
							 
						 
						
							
							
								
								Merge pull request  #969  from YosysHQ/clifford/pmgenstuff  
							
							... 
							
							
							
							Improve pmgen, Add "peepopt" pass with shift-mul pattern 
							
						 
						
							2019-05-03 20:39:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								32ff37bb5a 
								
							 
						 
						
							
							
								
								Fix segfault in wreduce  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-04-30 22:20:45 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								b515fd2d25 
								
							 
						 
						
							
							
								
								Add peepopt_muldiv,  fixes   #930  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-04-30 11:25:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								c84cdc711c 
								
							 
						 
						
							
							
								
								Remove some left-over log_dump()  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-04-23 17:55:41 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								7cfd83c341 
								
							 
						 
						
							
							
								
								Trim init attributes when resizing FFs in "wreduce",  fixes   #887  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-03-22 11:42:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								e847690bda 
								
							 
						 
						
							
							
								
								Fix multiple issues in wreduce FF handling,  fixes   #835  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-02-28 17:24:46 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								cd722f26a5 
								
							 
						 
						
							
							
								
								Cleanups in ARST handling in wreduce  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-02-24 20:34:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Keith Rothman 
								
							 
						 
						
							
							
							
							
								
							
							
								25680f6a07 
								
							 
						 
						
							
							
								
								Fix WREDUCE on FF not fixing ARST_VALUE parameter.  
							
							... 
							
							
							
							Adds test case that fails without code change.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> 
							
						 
						
							2019-02-22 10:30:42 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								246391200e 
								
							 
						 
						
							
							
								
								Add FF support to wreduce  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-02-20 16:36:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0a840dd883 
								
							 
						 
						
							
							
								
								Fix handling of (* keep *) wires in wreduce  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-12-31 16:37:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Henner Zeller 
								
							 
						 
						
							
							
							
							
								
							
							
								3aa4484a3c 
								
							 
						 
						
							
							
								
								Consistent use of 'override' for virtual methods in derived classes.  
							
							... 
							
							
							
							o Not all derived methods were marked 'override', but it is a great
  feature of C++11 that we should make use of.
o While at it: touched header files got a -*- c++ -*- for emacs to
  provide support for that language.
o use YS_OVERRIDE for all override keywords (though we should probably
  use the plain keyword going forward now that C++11 is established) 
							
						 
						
							2018-07-20 23:51:06 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								d77a914683 
								
							 
						 
						
							
							
								
								Added "wreduce -memx"  
							
							
							
						 
						
							2016-08-20 12:52:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								f6629b9c29 
								
							 
						 
						
							
							
								
								Optimize memory address port width in wreduce and memory_collect, not verilog front-end  
							
							
							
						 
						
							2016-08-19 18:38:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0bc95f1e04 
								
							 
						 
						
							
							
								
								Added "yosys -D" feature  
							
							
							
						 
						
							2016-04-21 23:28:37 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								ccdbf41be6 
								
							 
						 
						
							
							
								
								Improvements in wreduce  
							
							
							
						 
						
							2015-10-31 13:39:30 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								207736b4ee 
								
							 
						 
						
							
							
								
								Import more std:: stuff into Yosys namespace  
							
							
							
						 
						
							2015-10-25 19:30:49 +01:00