clairexen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fb6441731a 
								
							 
						 
						
							
							
								
								Merge pull request  #2093  from boqwxp/qbfsat-bugfixes  
							
							... 
							
							
							
							qbfsat: Multiple bugfixes 
							
						 
						
							2020-06-25 18:14:17 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								8f12c5b063 
								
							 
						 
						
							
							
								
								simplemap: Fix $dffsre mapping.  
							
							
							
						 
						
							2020-06-23 23:16:43 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								88e7f90663 
								
							 
						 
						
							
							
								
								Update dff2dffe, dff2dffs, zinit to new FF types.  
							
							
							
						 
						
							2020-06-23 18:24:53 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								832acc8648 
								
							 
						 
						
							
							
								
								Add new FF types to simplemap.  
							
							
							
						 
						
							2020-06-23 15:40:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								119f79d8b9 
								
							 
						 
						
							
							
								
								Add support for new FF types in some opt passes.  
							
							
							
						 
						
							2020-06-23 15:40:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Marcelina Kościelnicka 
								
							 
						 
						
							
							
							
							
								
							
							
								b0bee396a8 
								
							 
						 
						
							
							
								
								Add new builtin FF types  
							
							... 
							
							
							
							The new types include:
- FFs with async reset and enable (`$adffe`, `$_DFFE_[NP][NP][01][NP]_`)
- FFs with sync reset (`$sdff`, `$_SDFF_[NP][NP][01]_`)
- FFs with sync reset and enable, reset priority (`$sdffs`, `$_SDFFE_[NP][NP][01][NP]_`)
- FFs with sync reset and enable, enable priority (`$sdffce`, `$_SDFFCE_[NP][NP][01][NP]_`)
- FFs with async reset, set, and enable (`$dffsre`, `$_DFFSRE_[NP][NP][NP][NP]_`)
- latches with reset or set (`$adlatch`, `$_DLATCH_[NP][NP][01]_`)
The new FF types are not actually used anywhere yet (this is left
for future commits). 
							
						 
						
							2020-06-23 15:40:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a564cc806f 
								
							 
						 
						
							
							
								
								log, qbfsat: Include child process time in PerformanceTimer::query() and report the time for each call to the QBF-SAT solver.  
							
							
							
						 
						
							2020-06-21 02:16:52 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								62a9e62a1b 
								
							 
						 
						
							
							
								
								qbfsat: Simplify solution recovery parsing and tweak the solution regexes.  
							
							
							
						 
						
							2020-06-21 02:16:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e1fedf054e 
								
							 
						 
						
							
							
								
								qbfsat: Avoid instantiating AttrObjects directly.  
							
							... 
							
							
							
							Co-Authored-By: Claire Wolf <claire@symbioticeda.com> 
							
						 
						
							2020-06-21 02:16:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								08cede4669 
								
							 
						 
						
							
							
								
								qbfsat: Simplify solution format and replace SigBit::str() with log_signal().  
							
							... 
							
							
							
							Co-Authored-By: Claire Wolf <claire@symbioticeda.com> 
							
						 
						
							2020-06-21 02:16:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4ab41c6435 
								
							 
						 
						
							
							
								
								qbfsat: Fixes three bugs.  
							
							... 
							
							
							
							1. Infinite loop in the optimization procedure when the first solution found while maximizing is at zero.
2. A signed-ness issue when maximizing.
3. Erroneously entering bisection mode with no wire to optimize. 
							
						 
						
							2020-06-21 02:16:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a3d1f8637a 
								
							 
						 
						
							
							
								
								qbfsat: Use bit precise mapping for hole value wires and a more robust hole spec for writing to and specializing from a solution file.  
							
							
							
						 
						
							2020-06-21 02:16:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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