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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
							
							
								
							
							
								ea4374a223 
								
							 
						 
						
							
							
								
								abc9_ops: update messaging (credit to @Xiretza for spotting)  
							
							
							
						 
						
							2020-05-30 08:57:48 -07: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								00c5ceb1f2 
								
							 
						 
						
							
							
								
								abc9_ops: -prep_xaiger exclude (* abc9_keep *) wires from toposort  
							
							
							
						 
						
							2020-05-25 16:40:53 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								7bad23f19c 
								
							 
						 
						
							
							
								
								abc9_ops: -reintegrate to preserve flop names  
							
							
							
						 
						
							2020-05-25 08:43:33 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								4f0f321169 
								
							 
						 
						
							
							
								
								abc9_ops: update comment  
							
							
							
						 
						
							2020-05-21 21:39:13 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
							
							
								
							
							
								67fc0c3698 
								
							 
						 
						
							
							
								
								abc9: use (* abc9_keep *) instead of (* abc9_scc *); apply to $_DFF_?_  
							
							... 
							
							
							
							instead of moving them to $__ prefix 
							
						 
						
							2020-05-14 16:44:35 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e173291649 
								
							 
						 
						
							
							
								
								techmap: Replace naughty const_cast<>()s.  
							
							... 
							
							
							
							Co-Authored-By: Eddie Hung <eddie@fpgeh.com> 
							
						 
						
							2020-05-14 20:06:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								97fd304cbe 
								
							 
						 
						
							
							
								
								techmap: Replace pseudo-private member usage with the range accessor function and some naughty const_cast<>()s.  
							
							
							
						 
						
							2020-05-14 20:06:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								36bb201dd9 
								
							 
						 
						
							
							
								
								techmap: sort celltypeMap as it determines techmap order  
							
							
							
						 
						
							2020-05-14 20:06:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ce62d0751a 
								
							 
						 
						
							
							
								
								Replace std::sets using custom comparators with pool.  
							
							... 
							
							
							
							Co-Authored-By: Eddie Hung <eddie@fpgeh.com> 
							
						 
						
							2020-05-14 20:06:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eddie Hung 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dabeb1e8a1 
								
							 
						 
						
							
							
								
								techmap: prefix special wires with backslash for use as IdString  
							
							
							
						 
						
							2020-05-14 20:06:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bd54d67ad4 
								
							 
						 
						
							
							
								
								Further clean up passes/techmap/techmap.cc.  
							
							... 
							
							
							
							Co-Authored-By: Eddie Hung <eddie@fpgeh.com> 
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								982562ff13 
								
							 
						 
						
							
							
								
								Use emplace() for more efficient insertion into various dicts.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c658d9d59d 
								
							 
						 
						
							
							
								
								Build constant bits directly rather than constructing an object and copying its bits.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f235f212ea 
								
							 
						 
						
							
							
								
								Replace std::set with pool for cell_to_inbit and outbit_to_cell.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6294621825 
								
							 
						 
						
							
							
								
								Use emplace() rather than insert().  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dfcb936cd5 
								
							 
						 
						
							
							
								
								Clean up pseudo-private member usage and ensure range iteration uses references where possible to avoid unnecessary copies.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a4755c50c3 
								
							 
						 
						
							
							
								
								Clean up extraneous buffer.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7857782575 
								
							 
						 
						
							
							
								
								Replace std::map with dict for unique_bit_id.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6d64d768b0 
								
							 
						 
						
							
							
								
								Replace std::map with dict for port_new2old_map, port_connmap, and cellbits_to_tplbits.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5cb4ae4666 
								
							 
						 
						
							
							
								
								Replace std::map with dict for connbits_map, cell_to_inbit, and outbit_to_cell.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c43017fc08 
								
							 
						 
						
							
							
								
								Replace std::map with dict for TechmapWires type.  
							
							
							
						 
						
							2020-05-14 20:06:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alberto Gonzalez 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								644e55b3d3 
								
							 
						 
						
							
							
								
								Replace std::map with dict for celltypeMap.  
							
							
							
						 
						
							2020-05-14 20:06:53 +00:00