whitequark 
							
						 
						
							
							
							
							
								
							
							
								031a9e2616 
								
							 
						 
						
							
							
								
								hdl.rec: use a helpful error on unknown field reference.  
							
							
							
						 
						
							2019-01-01 03:35:34 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								d78e6c155b 
								
							 
						 
						
							
							
								
								hdl.mem: add DummyPort, for testing and verification.  
							
							
							
						 
						
							2019-01-01 03:08:10 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								ae3c5834ed 
								
							 
						 
						
							
							
								
								back.rtlil: match shape of Array elements to ArrayProxy shape.  
							
							... 
							
							
							
							Fixes  #15 . 
						
							2018-12-31 03:43:34 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								cdc40eaa9b 
								
							 
						 
						
							
							
								
								back.rtlil: fix typo.  
							
							
							
						 
						
							2018-12-31 03:37:38 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								39eb2e8fa7 
								
							 
						 
						
							
							
								
								lib.cdc: fix tests to actually run.  
							
							
							
						 
						
							2018-12-29 15:02:44 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								849c649259 
								
							 
						 
						
							
							
								
								back.pysim: warn if simulation is not run.  
							
							... 
							
							
							
							This would have prevented 3ea35b85 
							
						 
						
							2018-12-29 15:02:04 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								92a96e1644 
								
							 
						 
						
							
							
								
								hdl.rec: add basic record support.  
							
							
							
						 
						
							2018-12-28 13:22:10 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								d66bbb0df8 
								
							 
						 
						
							
							
								
								tracer: factor out get_src_loc().  
							
							
							
						 
						
							2018-12-28 01:31:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								3ea35b8566 
								
							 
						 
						
							
							
								
								lib.coding: fix tests to actually run, and fix code to fix tests.  
							
							
							
						 
						
							2018-12-27 21:45:55 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								470d66934f 
								
							 
						 
						
							
							
								
								hdl.dsl: add support for fsm.ongoing().  
							
							
							
						 
						
							2018-12-27 16:19:01 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								de50ccec90 
								
							 
						 
						
							
							
								
								hdl.mem: add missing __all__.  
							
							
							
						 
						
							2018-12-27 16:19:01 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								Jean-François Nguyen 
							
						 
						
							
							
							
							
								
							
							
								73ed870309 
								
							 
						 
						
							
							
								
								compat.genlib.coding: fix import.  
							
							
							
						 
						
							2018-12-26 14:30:01 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								528747703d 
								
							 
						 
						
							
							
								
								lib.coding: port from Migen.  
							
							
							
						 
						
							2018-12-26 13:19:34 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								fe8cb55204 
								
							 
						 
						
							
							
								
								lib.cdc: add tests for MultiReg.  
							
							
							
						 
						
							2018-12-26 12:58:30 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								35a44f017f 
								
							 
						 
						
							
							
								
								hdl.dsl: forbid m.next= inside of FSM but outside of FSM state, too.  
							
							
							
						 
						
							2018-12-26 12:42:43 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								934546e633 
								
							 
						 
						
							
							
								
								hdl.dsl: provide generated values for FSMs.  
							
							
							
						 
						
							2018-12-26 12:39:05 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								040811c2e5 
								
							 
						 
						
							
							
								
								hdl.ir: add an API for retrieving generated values, like FSM signal.  
							
							... 
							
							
							
							This is useful for tests. 
							
						 
						
							2018-12-26 12:35:35 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								597d778cf6 
								
							 
						 
						
							
							
								
								examples: add an FSM usage example (UART receiver).  
							
							
							
						 
						
							2018-12-26 10:10:27 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								72039b6072 
								
							 
						 
						
							
							
								
								hdl.dsl: add signal decoder to FSM state signal.  
							
							
							
						 
						
							2018-12-26 09:45:12 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								54e3195dcb 
								
							 
						 
						
							
							
								
								hdl.dsl: implement FSM.  
							
							
							
						 
						
							2018-12-26 08:55:04 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								b4fbef65ca 
								
							 
						 
						
							
							
								
								back.rtlil: clarify $verilog_initial_trigger behavior. NFC.  
							
							
							
						 
						
							2018-12-26 06:45:57 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								010ddb96b5 
								
							 
						 
						
							
							
								
								back.rtlil: unbreak  d47c1f8a.  
							
							
							
						 
						
							2018-12-24 19:11:07 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								f05bd2a137 
								
							 
						 
						
							
							
								
								hdl.mem: allow omitting memory simulation logic.  
							
							... 
							
							
							
							Trying to transform very large arrays is slow. 
							
						 
						
							2018-12-24 11:53:59 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								d47c1f8a8a 
								
							 
						 
						
							
							
								
								back.rtlil: use one $meminit cell, not one per word.  
							
							... 
							
							
							
							This is *far* more efficient. 
							
						 
						
							2018-12-24 11:53:58 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								98f554aa08 
								
							 
						 
						
							
							
								
								hdl.xfrm, back.rtlil: implement and use LHSGroupFilter.  
							
							... 
							
							
							
							This is a refactoring to simplify reusing the filtering code in
simulation, and separate that concern from backends in general. 
							
						 
						
							2018-12-24 02:17:28 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								1c7c75a254 
								
							 
						 
						
							
							
								
								hdl.xfrm: implement SwitchCleaner, for pruning empty switches.  
							
							
							
						 
						
							2018-12-24 02:02:59 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								fc0fb9d89f 
								
							 
						 
						
							
							
								
								back.rtlil: always output negative values as two's complement.  
							
							... 
							
							
							
							- is valid in RTLIL but means something entirely different. 
							
						 
						
							2018-12-24 01:38:32 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								5702767263 
								
							 
						 
						
							
							
								
								back.rtlil: emit dummy logic to work around Verilog deficiencies.  
							
							
							
						 
						
							2018-12-23 10:14:42 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								9faa1d3742 
								
							 
						 
						
							
							
								
								back.rtlil: do not translate empty fragments.  
							
							... 
							
							
							
							The resulting Verilog confuses some frontends. 
							
						 
						
							2018-12-23 09:20:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								45a474788c 
								
							 
						 
						
							
							
								
								back.rtlil: only translate switch tests once.  
							
							... 
							
							
							
							This seems to affect synthesis with Yosys but only marginally.
It is mostly a speed and readability improvement. 
							
						 
						
							2018-12-23 07:17:52 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								4e49772f67 
								
							 
						 
						
							
							
								
								cli: generate: guess file type from extension.  
							
							
							
						 
						
							2018-12-23 07:13:17 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								2b6ddbb713 
								
							 
						 
						
							
							
								
								back.rtlil: fix swapped operands in mux codegen.  
							
							
							
						 
						
							2018-12-23 06:47:38 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								cf79738744 
								
							 
						 
						
							
							
								
								cli: new module, for basic design generaton/simulation.  
							
							
							
						 
						
							2018-12-23 00:06:58 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								621dddebfd 
								
							 
						 
						
							
							
								
								hdl.xfrm: avoid cycles in union-find graph in LHSGroupAnalyzer.  
							
							
							
						 
						
							2018-12-22 22:19:14 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								3448953f61 
								
							 
						 
						
							
							
								
								compat.genlib.fsm: fix naming for non-Signal LHS.  
							
							
							
						 
						
							2018-12-22 22:00:58 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								68dae9f50e 
								
							 
						 
						
							
							
								
								hdl.ir: flatten hierarchy based on memory accesses, too.  
							
							
							
						 
						
							2018-12-22 21:43:46 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								fd89d2fc9d 
								
							 
						 
						
							
							
								
								hdl.ir: factor out _merge_subfragment. NFC.  
							
							
							
						 
						
							2018-12-22 19:04:49 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								59c7540aeb 
								
							 
						 
						
							
							
								
								back.rtlil: split processes as finely as possible.  
							
							... 
							
							
							
							This makes simulation work correctly (by introducing delta cycles,
and therefore, making the overall Verilog simulation deterministic)
at the price of pessimizing mux trees generated by Yosys and Synplify
frontends, sometimes severely. 
							
						 
						
							2018-12-22 10:03:16 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								d29929912f 
								
							 
						 
						
							
							
								
								back.rtlil: remove useless condition. NFC.  
							
							
							
						 
						
							2018-12-22 07:24:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								ae0cb48fbb 
								
							 
						 
						
							
							
								
								hdl.xfrm: implement LHSGroupAnalyzer.  
							
							
							
						 
						
							2018-12-22 06:58:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								98a9744be4 
								
							 
						 
						
							
							
								
								hdl.xfrm: Abstract*Transformer→*Visitor  
							
							
							
						 
						
							2018-12-22 06:03:39 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								37b81309d3 
								
							 
						 
						
							
							
								
								back.rtlil: always initialize the entire memory.  
							
							... 
							
							
							
							This avoids reading 'x from the memory in simulation. In general,
FPGA memories can only be initialized in block granularity, and
zero-initializing is cheap, so this is not a significant issue with
resource consumption. 
							
						 
						
							2018-12-22 05:27:42 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								99b778158d 
								
							 
						 
						
							
							
								
								compat: use nicer names for next_value/next_value_ce signals.  
							
							
							
						 
						
							2018-12-22 02:05:49 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								8730895d8c 
								
							 
						 
						
							
							
								
								hdl.mem: allow changing init value after creating memory.  
							
							
							
						 
						
							2018-12-22 01:09:03 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								6ee80408bb 
								
							 
						 
						
							
							
								
								back.verilog: do not rename internal signals.  
							
							... 
							
							
							
							_0_ is not really any better than \$13, and the latter at least has
continuity between nMigen, RTLIL and Verilog. 
							
						 
						
							2018-12-22 00:53:40 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								5361b4c22b 
								
							 
						 
						
							
							
								
								compat: fix confusing naming for memory port address signal.  
							
							
							
						 
						
							2018-12-22 00:53:05 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								f6772759c8 
								
							 
						 
						
							
							
								
								hdl.ir: fix port propagation between siblings, in the other direction.  
							
							
							
						 
						
							2018-12-22 00:31:31 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								0df543b204 
								
							 
						 
						
							
							
								
								compat: do not finalize native submodules twice.  
							
							
							
						 
						
							2018-12-22 00:02:31 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								a4183eba69 
								
							 
						 
						
							
							
								
								hdl.mem: use more informative signal naming for ports.  
							
							
							
						 
						
							2018-12-21 23:55:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
							
								whitequark 
							
						 
						
							
							
							
							
								
							
							
								913339c04a 
								
							 
						 
						
							
							
								
								hdl.ir: fix port propagation between siblings.  
							
							
							
						 
						
							2018-12-21 23:53:18 +00:00