Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								956ecd48f7 
								
							 
						 
						
							
							
								
								kernel: big fat patch to use more ID::*, otherwise ID(*)  
							
							
							
						 
						
							2020-04-02 09:51:32 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								fdafb74eb7 
								
							 
						 
						
							
							
								
								kernel: use more ID::*  
							
							
							
						 
						
							2020-04-02 07:14:08 -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 
								
							 
						 
						
							
							
							
							
								
							
							
								ca99b1ee8d 
								
							 
						 
						
							
							
								
								proc_dlatch: Add error handling for incorrect always_(ff|latch|comb) usage  
							
							... 
							
							
							
							Signed-off-by: David Shah <dave@ds0.me> 
							
						 
						
							2019-11-21 20:46:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								4a942ba7b9 
								
							 
						 
						
							
							
								
								proc_clean: fix order of switch insertion.  
							
							... 
							
							
							
							Fixes  #1268 . 
						
							2019-08-19 16:44:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f54bf1631f 
								
							 
						 
						
							
							
								
								Merge pull request  #1258  from YosysHQ/eddie/cleanup  
							
							... 
							
							
							
							Cleanup a few barnacles across codebase 
							
						 
						
							2019-08-10 09:52:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								0b09a347dc 
								
							 
						 
						
							
							
								
								proc_prune: fix handling of exactly identical assigns.  
							
							... 
							
							
							
							Before this commit, in a process like:
   process $proc$bug.v:8$3
     assign $foo \bar
     switch \sel
       case 1'1
         assign $foo 1'1
         assign $foo 1'1
       case
         assign $foo 1'0
     end
   end
both of the "assign $foo 1'1" would incorrectly be removed.
Fixes  #1243 . 
							
						 
						
							2019-08-08 05:32:35 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								3486235338 
								
							 
						 
						
							
							
								
								Make liberal use of IdString.in()  
							
							
							
						 
						
							2019-08-06 16:18:18 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jean-François Nguyen 
								
							 
						 
						
							
							
							
							
								
							
							
								320bf2fde5 
								
							 
						 
						
							
							
								
								proc_prune: Promote partially redundant assignments.  
							
							
							
						 
						
							2019-08-01 13:09:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e95ce1f7af 
								
							 
						 
						
							
							
								
								Merge pull request  #1168  from whitequark/bugpoint-processes  
							
							... 
							
							
							
							Add support for processes in bugpoint 
							
						 
						
							2019-07-09 16:59:43 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a0787c12f0 
								
							 
						 
						
							
							
								
								Merge pull request  #1169  from whitequark/more-proc-cleanups  
							
							... 
							
							
							
							A new proc_prune pass 
							
						 
						
							2019-07-09 16:59:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								44bcb7a187 
								
							 
						 
						
							
							
								
								proc_prune: promote assigns to module connections when legal.  
							
							... 
							
							
							
							This can pave the way for further transformations by exposing
identities that were previously hidden in a process to any pass that
uses SigMap. Indeed, this commit removes some ad-hoc logic from
proc_init that appears to have been tailored to the output of
genrtlil in favor of using `SigMap.apply()`. (This removal is not
optional, as the ad-hoc logic cannot cope with the result of running
proc_prune; a similar issue was fixed in proc_arst.) 
							
						 
						
							2019-07-09 09:30:58 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								5fe0ffe30f 
								
							 
						 
						
							
							
								
								proc_prune: new pass.  
							
							... 
							
							
							
							The proc_prune pass is similar in nature to proc_rmdead pass: while
proc_rmdead removes branches that never become active because another
branch preempts it, proc_prune removes assignments that never become
active because another assignment preempts them.
Genrtlil contains logic similar to the proc_prune pass, but their
purpose is different: genrtlil has to prune assignments to adapt
the semantics of blocking assignments in HDLs (latest assignment
wins) to semantics of assignments in RTLIL processes (assignment in
the most specific case wins). On the other hand proc_prune is
a general purpose RTLIL simplification that benefits all frontends,
even those not using the Yosys AST library.
The proc_prune pass is added to the proc script after proc_rmdead,
since it gives better results with fewer branches. 
							
						 
						
							2019-07-09 09:30:58 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								f7a14a5678 
								
							 
						 
						
							
							
								
								proc_clean: add -quiet option.  
							
							... 
							
							
							
							This is useful for other passes that call it often, like bugpoint. 
							
						 
						
							2019-07-09 09:27:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								48655dfb8b 
								
							 
						 
						
							
							
								
								proc_mux: consider \src attribute on CaseRule.  
							
							
							
						 
						
							2019-07-08 13:18:18 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								88be1cbfa5 
								
							 
						 
						
							
							
								
								Improve proc full_case detection and handling,  fixes   #931  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2019-04-18 15:13:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								4da4a6da2f 
								
							 
						 
						
							
							
								
								Revert  #895  
							
							
							
						 
						
							2019-04-16 11:07:51 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b3378745fd 
								
							 
						 
						
							
							
								
								Revert "Recognise default entry in case even if all cases covered (fix for  #931 )"  
							
							
							
						 
						
							2019-04-15 17:52:45 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								adc6efb584 
								
							 
						 
						
							
							
								
								Recognise default entry in case even if all cases covered ( #931 )  
							
							
							
						 
						
							2019-04-11 12:34:51 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sylvain Munaut 
								
							 
						 
						
							
							
							
							
								
							
							
								39380c45ba 
								
							 
						 
						
							
							
								
								proc_mux: Fix crash when trying to optimize non-existant mux to shiftx  
							
							... 
							
							
							
							last_mux_cell can be NULL ...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com> 
							
						 
						
							2019-04-03 14:50:12 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								b7a3d35c6b 
								
							 
						 
						
							
							
								
								Create one $shiftx per bit in width  
							
							
							
						 
						
							2019-03-25 11:16:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								2507d01b03 
								
							 
						 
						
							
							
								
								Add a pmux-to-shiftx optimisation to proc_mux  
							
							
							
						 
						
							2019-03-23 16:45:36 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								58d059ccb7 
								
							 
						 
						
							
							
								
								proc_clean: fix critical typo.  
							
							
							
						 
						
							2019-01-23 22:08:38 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								95b6c35882 
								
							 
						 
						
							
							
								
								proc_clean: fix fully def check to consider compare/signal length.  
							
							... 
							
							
							
							Fixes  #790 . 
						
							2019-01-18 23:22:19 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								18291c20d2 
								
							 
						 
						
							
							
								
								proc_clean: remove any empty cases if all cases use all-def compare.  
							
							
							
						 
						
							2018-12-23 09:04:30 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								b784440857 
								
							 
						 
						
							
							
								
								proc_clean: remove any empty cases at the end of the switch.  
							
							... 
							
							
							
							Previously, only completely empty switches were removed. 
							
						 
						
							2018-12-22 09:04:46 +00: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 
								
							 
						 
						
							
							
							
							
								
							
							
								ca2adc30c9 
								
							 
						 
						
							
							
								
								Add warnings for driver-driver conflicts between FFs (and other cells) and constants  
							
							
							
						 
						
							2017-12-12 17:13:27 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								f9d023c53f 
								
							 
						 
						
							
							
								
								Add src attribute to extra cells generated by proc_dlatch  
							
							
							
						 
						
							2017-09-09 10:18:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								53655d173b 
								
							 
						 
						
							
							
								
								Added $global_clock verilog syntax support for creating $ff cells  
							
							
							
						 
						
							2016-10-14 12:33:56 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								2032e6d8e4 
								
							 
						 
						
							
							
								
								Added "proc_mux -ifx"  
							
							
							
						 
						
							2016-06-06 17:15:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								d2695e2bfa 
								
							 
						 
						
							
							
								
								Fix all undef-muxes in dlatch input cone  
							
							
							
						 
						
							2016-06-02 14:37:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								adfc80727c 
								
							 
						 
						
							
							
								
								Avoid creating undef-muxes when inferring latches in proc_dlatch  
							
							
							
						 
						
							2016-06-01 13:25:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								93e107e455 
								
							 
						 
						
							
							
								
								Fixed proc_mux performance bug  
							
							
							
						 
						
							2016-04-25 10:43:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								b1d6f05fa2 
								
							 
						 
						
							
							
								
								Fixed performance bug in proc_dlatch  
							
							
							
						 
						
							2016-04-24 19:29:56 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								965b0d59b5 
								
							 
						 
						
							
							
								
								More flexible handling of initialization values  
							
							
							
						 
						
							2016-04-22 12:13:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0bc95f1e04 
								
							 
						 
						
							
							
								
								Added "yosys -D" feature  
							
							
							
						 
						
							2016-04-21 23:28:37 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								e5dd5c0bcc 
								
							 
						 
						
							
							
								
								Preserve empty $pmux default cases  
							
							
							
						 
						
							2016-03-31 09:57:23 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								1ea6db3db8 
								
							 
						 
						
							
							
								
								Improved proc_mux performance for huge always blocks  
							
							
							
						 
						
							2015-12-02 22:02:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0350074819 
								
							 
						 
						
							
							
								
								Re-created command-reference-manual.tex, copied some doc fixes to online help  
							
							
							
						 
						
							2015-08-14 11:27:19 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								6c84341f22 
								
							 
						 
						
							
							
								
								Fixed trailing whitespaces  
							
							
							
						 
						
							2015-07-02 11:14:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								d176e613c2 
								
							 
						 
						
							
							
								
								Minor fixes in handling of "init" attribute  
							
							
							
						 
						
							2015-04-09 15:12:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								81fa4e81a6 
								
							 
						 
						
							
							
								
								Fixed compilation problems with gcc 4.6.3; use enum instead of const ints.  
							
							... 
							
							
							
							(original patch by Andrew Becker <andrew.becker@epfl.ch>) 
							
						 
						
							2015-02-24 11:01:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								554a8df5e2 
								
							 
						 
						
							
							
								
								Added "proc_dlatch"  
							
							
							
						 
						
							2015-02-12 16:56:01 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								e62d838bd4 
								
							 
						 
						
							
							
								
								Removed SigSpec::extend_xx() api  
							
							
							
						 
						
							2015-01-01 11:41:52 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								edb3c9d0c4 
								
							 
						 
						
							
							
								
								Renamed extend() to extend_xx(), changed most users to extend_u0()  
							
							
							
						 
						
							2014-12-24 09:51:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								fe829bdbdc 
								
							 
						 
						
							
							
								
								Added log_warning() API  
							
							
							
						 
						
							2014-11-09 10:44:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								4569a747f8 
								
							 
						 
						
							
							
								
								Renamed SIZE() to GetSize() because of name collision on Win32  
							
							
							
						 
						
							2014-10-10 17:07:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								f9a307a50b 
								
							 
						 
						
							
							
								
								namespace Yosys  
							
							
							
						 
						
							2014-09-27 16:17:53 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								9d353fc543 
								
							 
						 
						
							
							
								
								Fixed handling of constant-true branches in proc_clean  
							
							
							
						 
						
							2014-08-12 17:35:22 +02:00