whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								c8c3c7af87 
								
							 
						 
						
							
							
								
								Use [[maybe_unused]] instead of YS_ATTRIBUTE(unused).  
							
							... 
							
							
							
							[[maybe_unused]] is available since C++17, so this commit adds
a polyfill YS_MAYBE_UNUSED. Once we require C++17 we can drop it. 
							
						 
						
							2020-06-19 15:48:58 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								118e4caa37 
								
							 
						 
						
							
							
								
								Remove YS_ATTRIBUTE(unused) where present just for log_assert()/log_debug().  
							
							
							
						 
						
							2020-06-19 15:48:58 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ede4b10da8 
								
							 
						 
						
							
							
								
								Merge pull request  #2173  from whitequark/use-cxx11-final-override  
							
							... 
							
							
							
							Use C++11 final/override/[[noreturn]] 
							
						 
						
							2020-06-19 06:15:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								7191dd16f9 
								
							 
						 
						
							
							
								
								Use C++11 final/override keywords.  
							
							
							
						 
						
							2020-06-18 23:34:52 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								76dfa81790 
								
							 
						 
						
							
							
								
								cutpoint: Improve efficiency by iterating over module ports instead of module wires.  
							
							
							
						 
						
							2020-06-18 17:42:36 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									N. Engelhardt 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dfde1cf1c5 
								
							 
						 
						
							
							
								
								Merge pull request  #2153  from boqwxp/splitnets-cleanup  
							
							... 
							
							
							
							splitnets: Cleanup and efficiency improvements 
							
						 
						
							2020-06-18 19:16:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5439faebf9 
								
							 
						 
						
							
							
								
								Merge pull request  #2142  from whitequark/splitnets-hdlname  
							
							... 
							
							
							
							splitnets: propagate (*hdlname*) and disambiguate via start_offset 
							
						 
						
							2020-06-18 16:57:24 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Anonymous Maarten 
								
							 
						 
						
							
							
							
							
								
							
							
								60fb9cabcf 
								
							 
						 
						
							
							
								
								msvc does not support designated initializers in structs  
							
							
							
						 
						
							2020-06-17 16:20:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f5d7cd60f5 
								
							 
						 
						
							
							
								
								splitnets: Clean up pseudo-private member usage  
							
							
							
						 
						
							2020-06-13 05:47:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b70de98bd1 
								
							 
						 
						
							
							
								
								splitnets: Slightly improve efficiency by avoiding some unnecessary lookups  
							
							
							
						 
						
							2020-06-13 05:26:30 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								2139a5c21a 
								
							 
						 
						
							
							
								
								splitnets: propagate (*hdlname*) and disambiguate via start_offset.  
							
							... 
							
							
							
							This allows reliably coalescing the split wires later. 
							
						 
						
							2020-06-10 19:59:08 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Claire Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0bd70e8222 
								
							 
						 
						
							
							
								
								Drive-by modernization in sat.cc  
							
							... 
							
							
							
							Signed-off-by: Claire Wolf <claire@symbioticeda.com> 
							
						 
						
							2020-06-09 22:48:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Claire Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								3c7122c378 
								
							 
						 
						
							
							
								
								Do not optimize away FFs in "prep" and Verific fron-end  
							
							... 
							
							
							
							Signed-off-by: Claire Wolf <claire@symbioticeda.com> 
							
						 
						
							2020-06-09 15:54:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								98e1080345 
								
							 
						 
						
							
							
								
								flatten: accept processes.  
							
							
							
						 
						
							2020-06-09 09:56:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								fbb346ea91 
								
							 
						 
						
							
							
								
								flatten: preserve original object names via hdlname attribute.  
							
							
							
						 
						
							2020-06-08 20:19:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								8d821dbbdb 
								
							 
						 
						
							
							
								
								flatten: only prepend $flatten once per wire.  
							
							
							
						 
						
							2020-06-08 20:19:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								a1814b732f 
								
							 
						 
						
							
							
								
								flatten: make hygienic.  
							
							... 
							
							
							
							Before this commit, `flatten` matched the template objects with
the newly created objects solely by their name. Because of this,
it could be confused by code such as:
    module bar();
      $dff a();
    endmodule
    module foo();
      bar b();
      $dff \b.a ();
    endmodule
After this commit, `flatten` avoids every possible case of name
collision.
Fixes  #2106 . 
							
						 
						
							2020-06-08 19:30:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								369dcb4e82 
								
							 
						 
						
							
							
								
								Merge pull request  #2085  from rswarbrick/select  
							
							... 
							
							
							
							Silence warning in select.cc and pass some more args by ref 
							
						 
						
							2020-06-08 15:55:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0f209378a8 
								
							 
						 
						
							
							
								
								Merge pull request  #2089  from rswarbrick/modports  
							
							... 
							
							
							
							Simplify a modport check in hierarchy.cc 
							
						 
						
							2020-06-08 15:48:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fbd0d8d5f0 
								
							 
						 
						
							
							
								
								Merge pull request  #2105  from whitequark/split-flatten-off-techmap  
							
							... 
							
							
							
							Split `flatten` from `techmap` and simplify it 
							
						 
						
							2020-06-08 15:27:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								28b9f49c94 
								
							 
						 
						
							
							
								
								fsm_extract: avoid calling log_signal to determine wire name  
							
							... 
							
							
							
							log_signal can result in a string with spaces (when bit selection is
involved), which breaks the rule of IdString not containing whitespace.
Instead, remove the sigspec from the name entirely — given that the
resulting wire will have no users, it will be removed later anyway,
so its name doesn't really matter.
Fixes  #2118  
							
						 
						
							2020-06-08 03:49:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								69850204c4 
								
							 
						 
						
							
							
								
								Merge pull request  #2077  from YosysHQ/eddie/abc9_dff_improve  
							
							... 
							
							
							
							abc9: -dff improvements 
							
						 
						
							2020-06-04 08:15:25 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								5a5a9b4ffe 
								
							 
						 
						
							
							
								
								flatten: clean up log messages.  
							
							
							
						 
						
							2020-06-04 12:22:59 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								d731fe054b 
								
							 
						 
						
							
							
								
								flatten: topologically sort modules.  
							
							
							
						 
						
							2020-06-04 12:22:59 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								45cd323055 
								
							 
						 
						
							
							
								
								Merge pull request  #2082  from YosysHQ/eddie/abc9_scc_fixes  
							
							... 
							
							
							
							abc9: fixes around handling combinatorial loops 
							
						 
						
							2020-06-03 17:35:46 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								6268bdfe6f 
								
							 
						 
						
							
							
								
								flatten: simplify.  
							
							... 
							
							
							
							`flatten` cannot derive modules in most cases because that would just
yield processes, and it does not support `-autoproc`; in practice
`flatten` has to be preceded by a call to `hierarchy`, which makes
deriving unnecessary. 
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								d3e2100306 
								
							 
						 
						
							
							
								
								flatten: simplify. NFC.  
							
							... 
							
							
							
							Remove redundant sigmaps. 
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								66255dab4e 
								
							 
						 
						
							
							
								
								flatten: simplify.  
							
							... 
							
							
							
							Flattening does not benefit from topologically sorting cells within
a module when processing them. 
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								5d2b6d1394 
								
							 
						 
						
							
							
								
								flatten: simplify. NFC.  
							
							... 
							
							
							
							Flatten is non-recursive and doesn't need to keep track of handled
cells. 
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								3c3fa774e5 
								
							 
						 
						
							
							
								
								flatten: simplify. NFC.  
							
							... 
							
							
							
							Flattening always does "non-recursive" mapping. 
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								e561a3a76f 
								
							 
						 
						
							
							
								
								flatten: simplify. NFC.  
							
							... 
							
							
							
							The `celltypeMap` always maps `x` to `{x}`. 
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								6783876807 
								
							 
						 
						
							
							
								
								flatten: simplify. NFC.  
							
							... 
							
							
							
							The `design` and `map` designs are always the same when flattening. 
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								9338ff66b9 
								
							 
						 
						
							
							
								
								RTLIL: factor out RTLIL::Module::addMemory. NFC.  
							
							
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								ebbbe2156e 
								
							 
						 
						
							
							
								
								flatten: rename techmap-related stuff. NFC.  
							
							
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								76c4ee4ea5 
								
							 
						 
						
							
							
								
								techmap, flatten: remove dead options.  
							
							... 
							
							
							
							After splitting the passes, some options can never be activated,
and most conditions involving them become dead. Remove them, and also
all of the newly dead code. 
							
						 
						
							2020-06-04 00:02:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								6ac54a74fe 
								
							 
						 
						
							
							
								
								flatten: split from techmap.  
							
							... 
							
							
							
							Although the two passes started out very similar, they diverged over
time and now have little in common. Moreover, `techmap` is extremely
complex while `flatten` does not have to be, and this complexity
interferes with improving `flatten`. 
							
						 
						
							2020-06-03 15:34:03 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								fb5b070e7e 
								
							 
						 
						
							
							
								
								techmap: remove dead variable. NFC.  
							
							
							
						 
						
							2020-06-03 01:44:06 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								0a74368bfc 
								
							 
						 
						
							
							
								
								techmap: use C++11 default member initializers. NFC.  
							
							
							
						 
						
							2020-06-02 23:43:20 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								f3e86bb32a 
								
							 
						 
						
							
							
								
								techmap: simplify.  
							
							... 
							
							
							
							`rewrite_filename` is already called in `Frontend::extra_args`. 
							
						 
						
							2020-06-02 23:43:20 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								68d747f767 
								
							 
						 
						
							
							
								
								techmap: use +/techmap.v instead of an ad-hoc code generator.  
							
							
							
						 
						
							2020-06-02 23:43:20 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ff785cdb46 
								
							 
						 
						
							
							
								
								Merge pull request  #1862  from boqwxp/cleanup_techmap  
							
							... 
							
							
							
							Clean up `passes/techmap/techmap.cc` 
							
						 
						
							2020-05-31 20:40:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								08d9703ecb 
								
							 
						 
						
							
							
								
								abc9_ops: fix comment  
							
							
							
						 
						
							2020-05-30 09:01:03 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fe273faad1 
								
							 
						 
						
							
							
								
								Merge pull request  #2081  from YosysHQ/eddie/blackbox_ast  
							
							... 
							
							
							
							blackbox: use Module::makeblackbox() method 
							
						 
						
							2020-05-30 08:59:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								ea4374a223 
								
							 
						 
						
							
							
								
								abc9_ops: update messaging (credit to @Xiretza for spotting)  
							
							
							
						 
						
							2020-05-30 08:57:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ea46ed81f9 
								
							 
						 
						
							
							
								
								Merge pull request  #2018  from boqwxp/qbfsat-timeout  
							
							... 
							
							
							
							smtbmc and qbfsat: Add timeout option to set solver timeouts for Z3, Yices, and CVC4. 
							
						 
						
							2020-05-30 15:04:51 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								b17e8495b8 
								
							 
						 
						
							
							
								
								abc9_ops: optimise to not derive unless attribute exists  
							
							
							
						 
						
							2020-05-29 17:33:10 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								d3b53bc495 
								
							 
						 
						
							
							
								
								abc9_ops: -reintegrate use SigMap to remove (* init *) from $_DFF_[NP]_  
							
							
							
						 
						
							2020-05-29 17:17:40 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								94c1035389 
								
							 
						 
						
							
							
								
								Merge pull request  #1885  from Xiretza/mod-rem-cells  
							
							... 
							
							
							
							Fix modulo/remainder semantics 
							
						 
						
							2020-05-29 16:37:23 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5874a14d65 
								
							 
						 
						
							
							
								
								Merge pull request  #2017  from boqwxp/qbfsat-cvc4  
							
							... 
							
							
							
							qbfsat: Add support for CVC4. 
							
						 
						
							2020-05-29 16:23:10 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1c8d5a08a0 
								
							 
						 
						
							
							
								
								Merge pull request  #2016  from boqwxp/qbfsat-yices  
							
							... 
							
							
							
							qbfsat: Add `-solver` option and allow choice of Z3 or Yices, making Yices the default. 
							
						 
						
							2020-05-29 16:21:45 +02:00