Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								ab97eddee9 
								
							 
						 
						
							
							
								
								Add iteration limit to "opt_muxtree"  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-11-20 17:56:47 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								587056447e 
								
							 
						 
						
							
							
								
								Add optimization of tristate buffer with constant control input  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-05-12 15:18:27 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								fba499b866 
								
							 
						 
						
							
							
								
								Fix opt_rmdff handling of $dlatchsr  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-02-26 11:46:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								eb67a7532b 
								
							 
						 
						
							
							
								
								Add $allconst and $allseq cell types  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-02-23 13:14:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								ca2adc30c9 
								
							 
						 
						
							
							
								
								Add warnings for driver-driver conflicts between FFs (and other cells) and constants  
							
							
							
						 
						
							2017-12-12 17:13:27 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								c238f45ecf 
								
							 
						 
						
							
							
								
								Fix memory corruption bug in opt_rmdff  
							
							
							
						 
						
							2017-10-26 18:02:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								1e502ef5a0 
								
							 
						 
						
							
							
								
								Fix typo in opt_clean log message  
							
							
							
						 
						
							2017-10-26 18:01:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								716dbc9274 
								
							 
						 
						
							
							
								
								Revert  90be0d8 as it causes endless loops for some designs  
							
							
							
						 
						
							2017-10-14 11:57:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kaj Tuomi 
								
							 
						 
						
							
							
							
							
								
							
							
								90be0d800b 
								
							 
						 
						
							
							
								
								Fix input vector for reduce cells.  
							
							
							
						 
						
							2017-10-12 13:05:10 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								66e8986ae7 
								
							 
						 
						
							
							
								
								Minor changes to opt_demorgan requested during code review  
							
							
							
						 
						
							2017-09-14 10:35:25 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								6da5d36968 
								
							 
						 
						
							
							
								
								Initial version of opt_demorgan is functioning for AND/OR gates. Not the prettiest results for bus inputs, but this can be improved  
							
							
							
						 
						
							2017-09-12 18:47:46 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								68c42f3a19 
								
							 
						 
						
							
							
								
								Don't track , ... contradictions through x/z-bits  
							
							
							
						 
						
							2017-08-25 16:18:17 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								db6d78a186 
								
							 
						 
						
							
							
								
								Add removing of redundant pairs of bits in ==, ===, !=, and !== to opt_expr  
							
							
							
						 
						
							2017-08-25 16:02:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								88983f5012 
								
							 
						 
						
							
							
								
								Mostly coding style related fixes in rmports pass  
							
							
							
						 
						
							2017-08-15 11:32:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								15e41d6363 
								
							 
						 
						
							
							
								
								rmports: Now remove ports from cell instances if we optimized them out of that cell  
							
							
							
						 
						
							2017-08-14 11:44:05 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								0ee27d0226 
								
							 
						 
						
							
							
								
								ProcessModule is no longer virtual (why was it in the first place?)  
							
							
							
						 
						
							2017-08-14 11:18:09 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								bd2ac68769 
								
							 
						 
						
							
							
								
								rmports now works on all modules in the design, not just the top.  
							
							
							
						 
						
							2017-08-14 11:16:44 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								d5e5bbad86 
								
							 
						 
						
							
							
								
								Updated Makefile to reflect opt_rmports being renamed to rmports  
							
							
							
						 
						
							2017-08-14 11:04:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								1a6a23f91a 
								
							 
						 
						
							
							
								
								Renamed opt_rmports pass to rmports  
							
							
							
						 
						
							2017-08-14 11:00:45 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								1bb150c231 
								
							 
						 
						
							
							
								
								Improved handling of constant connections in opt_rmports  
							
							
							
						 
						
							2017-08-14 10:28:19 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								2877d5e504 
								
							 
						 
						
							
							
								
								Fixed handling of cell ports that aren't wires  
							
							
							
						 
						
							2017-08-14 10:28:16 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								3dd7f42e2b 
								
							 
						 
						
							
							
								
								opt_rmports: Fixed incorrect handling of multi-bit nets  
							
							
							
						 
						
							2017-08-14 10:28:11 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								66aac06eee 
								
							 
						 
						
							
							
								
								Removed commented out debug code  
							
							
							
						 
						
							2017-08-14 10:28:04 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								cca3cb5fbb 
								
							 
						 
						
							
							
								
								Added opt_rmports pass (remove unconnected ports from top-level modules)  
							
							
							
						 
						
							2017-08-14 10:27:59 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								007f29b9c2 
								
							 
						 
						
							
							
								
								Add support for set-reset cell variants to opt_rmdff  
							
							
							
						 
						
							2017-08-09 13:29:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								c4a7958f70 
								
							 
						 
						
							
							
								
								Add handling of constant reset signals to opt_rmdff  
							
							
							
						 
						
							2017-08-06 13:27:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								e7d1277a2c 
								
							 
						 
						
							
							
								
								Add consolidation of init attributes to opt_clean, some opt_clean log fixes  
							
							
							
						 
						
							2017-07-29 00:10:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								649bb9374f 
								
							 
						 
						
							
							
								
								Add "opt_expr -fine" feature to remove neutral bits from reduce and logic operators  
							
							
							
						 
						
							2017-07-26 18:28:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Salvador E. Tropea 
								
							 
						 
						
							
							
							
							
								
							
							
								ca23554528 
								
							 
						 
						
							
							
								
								Excluded $_TBUF_ from opt_merge pass  
							
							
							
						 
						
							2017-07-03 13:21:20 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0a02cdb93b 
								
							 
						 
						
							
							
								
								Fix and_or_buffer optimization in opt_expr for signed operators  
							
							
							
						 
						
							2017-07-01 16:05:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								18c030a8c9 
								
							 
						 
						
							
							
								
								Add $tribuf to opt_merge blacklist  
							
							
							
						 
						
							2017-06-30 17:44:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Doolittle 
								
							 
						 
						
							
							
							
							
								
							
							
								2021ddecb3 
								
							 
						 
						
							
							
								
								Squelch trailing whitespace  
							
							
							
						 
						
							2017-04-12 15:11:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								180d704568 
								
							 
						 
						
							
							
								
								Disable opt_merge for $anyseq and $anyconst  
							
							
							
						 
						
							2017-02-28 22:17:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								5f1d0b1024 
								
							 
						 
						
							
							
								
								Add $live and $fair cell types, add support for s_eventually keyword  
							
							
							
						 
						
							2017-02-25 10:36:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								95dae6d416 
								
							 
						 
						
							
							
								
								Fixed some "used uninitialized" warnings in opt_expr  
							
							
							
						 
						
							2017-02-11 10:50:48 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								a5bfeb9e07 
								
							 
						 
						
							
							
								
								Add optimization of (a && 1'b1) and (a || 1'b0)  
							
							
							
						 
						
							2017-02-11 10:05:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								94b272077d 
								
							 
						 
						
							
							
								
								Fix issue  #306 , "Bug in opt -full"  
							
							... 
							
							
							
							Add check for whether the high bit in the constant expression is greater
than the width of the variable, and optimizes that to a constant 1 or
0 
							
						 
						
							2017-02-10 10:38:02 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								e6cc67b46f 
								
							 
						 
						
							
							
								
								Fix handling of init attributes with strange width  
							
							
							
						 
						
							2017-02-09 16:06:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								3928482a3c 
								
							 
						 
						
							
							
								
								Add $cover cell type and SVA cover() support  
							
							
							
						 
						
							2017-02-04 14:14:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								ffbe8d41f3 
								
							 
						 
						
							
							
								
								Fix indenting and log messages in code merged from opt_compare_pr  
							
							
							
						 
						
							2017-01-31 16:20:56 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								19a980277f 
								
							 
						 
						
							
							
								
								Merge branch 'opt_compare_pr' of  https://github.com/C-Elegans/yosys  into C-Elegans-opt_compare_pr  
							
							
							
						 
						
							2017-01-31 15:54:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								7481ba4750 
								
							 
						 
						
							
							
								
								Improve opt_rmdff support for $dlatch cells  
							
							
							
						 
						
							2017-01-31 10:15:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								a94c3694d7 
								
							 
						 
						
							
							
								
								Refactor and generalize the comparision optimization  
							
							... 
							
							
							
							Generalizes the optimization to:
a < C,
a >= C,
C > a,
C <= a 
							
						 
						
							2017-01-30 17:52:16 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								2fa0fd4a37 
								
							 
						 
						
							
							
								
								Do not use b.as_int() in calculation of bit set  
							
							
							
						 
						
							2017-01-21 12:58:26 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								84f9cd0025 
								
							 
						 
						
							
							
								
								Optimize compares to powers of 2  
							
							... 
							
							
							
							Remove opt_compare and put comparison pass in opt_expr
assuming a [7:0] is unsigned
a >= (1<<x) becomes |a[7:x]
a <  (1<<x) becomes !a[7:x]
Additionally:
a >= 0 becomes constant true,
a < 0 becomes constant false
delete opt_compare.cc
revert opt.cc to commit b7cfb7dbd 
							
						 
						
							2017-01-16 13:45:50 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								943389cdd5 
								
							 
						 
						
							
							
								
								Fix issue  #269 , optimize signed compare with 0  
							
							... 
							
							
							
							add opt_compare pass and add it to opt
for a < 0:
    if a is signed, replace with a[max_bit-1]
for a >= 0:
    if a is signed, replace with ~a[max_bit-1] 
							
						 
						
							2017-01-15 13:38:29 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								2ef454c3f5 
								
							 
						 
						
							
							
								
								Added opt_rmdff support for $ff cells  
							
							
							
						 
						
							2016-10-14 13:02:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								ed519f578e 
								
							 
						 
						
							
							
								
								Added "opt_rmdff -keepdc"  
							
							
							
						 
						
							2016-09-30 17:02:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								4ea7054b56 
								
							 
						 
						
							
							
								
								Improved init spec handling in opt_rmdff, modernized the code a bit  
							
							
							
						 
						
							2016-08-30 01:34:04 +02:00