Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0e371109b0 
								
							 
						 
						
							
							
								
								Merge pull request  #818  from YosysHQ/clifford/dffsrfix  
							
							... 
							
							
							
							Fix opt_rmdff handling of $_DFFSR_???_ and $_DLATCHSR_???_, fixes  #816  
							
						 
						
							2019-02-21 18:58:44 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								2da4c9c8f0 
								
							 
						 
						
							
							
								
								Fix opt_rmdff handling of $_DFFSR_???_ and $_DLATCHSR_???_,  fixes   #816  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-02-21 13:49:45 +01: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 
								
							 
						 
						
							
							
							
							
								
							
							
								8a63fc51d3 
								
							 
						 
						
							
							
								
								Bugfix in $memrd sharing  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-01-07 10:04:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d98fe8ce1f 
								
							 
						 
						
							
							
								
								Merge pull request  #775  from whitequark/opt_flowmap  
							
							... 
							
							
							
							flowmap: new techmap pass 
							
						 
						
							2019-01-03 17:03:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								07af772a72 
								
							 
						 
						
							
							
								
								flowmap: new techmap pass.  
							
							
							
						 
						
							2019-01-03 14:28:19 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0fc6e2bfcf 
								
							 
						 
						
							
							
								
								Merge pull request  #770  from whitequark/opt_expr_cmp  
							
							... 
							
							
							
							opt_expr: refactor and improve simplification of comparisons 
							
						 
						
							2019-01-02 17:34:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								bf8db55ef3 
								
							 
						 
						
							
							
								
								opt_expr: improve simplification of comparisons with large constants.  
							
							... 
							
							
							
							The idea behind this simplification is that a N-bit signal X being
compared with an M-bit constant where M>N and the constant has Nth
or higher bit set, it either always succeeds or always fails.
However, the existing implementation only worked with one-hot signals
for some reason. It also printed incorrect messages.
This commit adjusts the simplification to have as much power as
possible, and fixes other bugs. 
							
						 
						
							2019-01-02 15:45:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2e606b1802 
								
							 
						 
						
							
							
								
								Merge pull request  #773  from whitequark/opt_lut_elim_fixes  
							
							... 
							
							
							
							opt_lut: elimination fixes 
							
						 
						
							2019-01-02 15:45:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								efa278e232 
								
							 
						 
						
							
							
								
								Fix typographical and grammatical errors and inconsistencies.  
							
							... 
							
							
							
							The initial list of hits was generated with the codespell command
below, and each hit was evaluated and fixed manually while taking
context into consideration.
    DIRS="kernel/ frontends/ backends/ passes/ techlibs/"
    DIRS="${DIRS} libs/ezsat/ libs/subcircuit"
    codespell $DIRS -S *.o -L upto,iff,thru,synopsys,uint
More hits were found by looking through comments and strings manually. 
							
						 
						
							2019-01-02 13:12:17 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								c55dfb8369 
								
							 
						 
						
							
							
								
								opt_lut: reflect changes in sigmap.  
							
							... 
							
							
							
							Otherwise, some LUTs will be missed during elimination. 
							
						 
						
							2019-01-02 10:21:58 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								06143ab33f 
								
							 
						 
						
							
							
								
								opt_lut: use a worklist, and revisit cells affected by elimination.  
							
							
							
						 
						
							2019-01-02 09:36:32 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								f7363ac508 
								
							 
						 
						
							
							
								
								opt_lut: count eliminated cells, and set opt.did_something for them.  
							
							
							
						 
						
							2019-01-02 09:14:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								4fd458290c 
								
							 
						 
						
							
							
								
								opt_expr: refactor simplification of unsigned X<onehot and X>=onehot. NFCI.  
							
							
							
						 
						
							2019-01-02 05:11:29 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								9e9846a6ea 
								
							 
						 
						
							
							
								
								opt_expr: refactor simplification of signed X>=0 and X<0. NFCI.  
							
							
							
						 
						
							2019-01-02 03:01:25 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								8e53d2e0bf 
								
							 
						 
						
							
							
								
								opt_expr: simplify any unsigned comparisons with all-0 and all-1.  
							
							... 
							
							
							
							Before this commit, only unsigned comparisons with all-0 would be
simplified. This commit also makes the code handling such comparisons
to be more rigorous and not abort on unexpected input. 
							
						 
						
							2019-01-02 02:45:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								42c356c49c 
								
							 
						 
						
							
							
								
								opt_lut: eliminate LUTs evaluating to constants or inputs.  
							
							
							
						 
						
							2018-12-31 23:55:40 +00: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								556341a77f 
								
							 
						 
						
							
							
								
								Merge pull request  #720  from whitequark/master  
							
							... 
							
							
							
							lut2mux: handle 1-bit INIT constant in $lut cells 
							
						 
						
							2018-12-16 15:27:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								7ec740b7ad 
								
							 
						 
						
							
							
								
								opt_lut: leave intact LUTs with cascade feeding module outputs.  
							
							
							
						 
						
							2018-12-07 17:13:52 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								9eb03d458d 
								
							 
						 
						
							
							
								
								opt_lut: show original truth table for both cells.  
							
							
							
						 
						
							2018-12-07 17:04:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								a8ab722824 
								
							 
						 
						
							
							
								
								opt_lut: add -limit option, for debugging misoptimizations.  
							
							
							
						 
						
							2018-12-07 16:36:26 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								643f858acf 
								
							 
						 
						
							
							
								
								Bugfix in opt_expr handling of a<0 and a>=0  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-12-06 07:29:21 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								88217d0157 
								
							 
						 
						
							
							
								
								opt_lut: simplify type conversion. NFC.  
							
							
							
						 
						
							2018-12-05 19:12:02 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								2d98db73e3 
								
							 
						 
						
							
							
								
								Rename opt_lut.cpp to opt_lut.cc  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-12-05 18:03:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								45cb6200af 
								
							 
						 
						
							
							
								
								opt_lut: add -dlogic, to avoid disturbing logic such as carry chains.  
							
							
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								e603484070 
								
							 
						 
						
							
							
								
								opt_lut: always prefer to eliminate 1-LUTs.  
							
							... 
							
							
							
							These are always either buffers or inverters, and keeping the larger
LUT preserves more source-level information about the design. 
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								59eea0183f 
								
							 
						 
						
							
							
								
								opt_lut: collect and display statistics.  
							
							
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								e54c7e951c 
								
							 
						 
						
							
							
								
								opt_lut: refactor to use a worker. NFC.  
							
							
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								9e072ec21f 
								
							 
						 
						
							
							
								
								opt_lut: new pass, to combine LUTs for tighter packing.  
							
							
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kaj Tuomi 
								
							 
						 
						
							
							
							
							
								
							
							
								e558b3284b 
								
							 
						 
						
							
							
								
								Fix input vector for reduce cells. Infinite loop fixed.  
							
							
							
						 
						
							2017-10-17 09:58:01 +03: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