back.pysim: undriven comb signals should return to reset value.
This commit is contained in:
		
							parent
							
								
									b58715c5dc
								
							
						
					
					
						commit
						b34c1a9ad0
					
				|  | @ -326,8 +326,13 @@ class Simulator: | |||
|                     self._sync_signals.update(signals) | ||||
|                     self._domain_signals[domain].update(signals) | ||||
| 
 | ||||
|             statements = [] | ||||
|             for signal in fragment.iter_comb(): | ||||
|                 statements.append(signal.eq(signal.reset)) | ||||
|             statements += fragment.statements | ||||
| 
 | ||||
|             compiler = _StatementCompiler() | ||||
|             funclet  = compiler(fragment.statements) | ||||
|             funclet  = compiler(statements) | ||||
|             for signal in compiler.sensitivity: | ||||
|                 self._add_funclet(signal, funclet) | ||||
|             for domain, cd in fragment.domains.items(): | ||||
|  |  | |||
|  | @ -39,6 +39,7 @@ class Fragment: | |||
|                 yield domain, signal | ||||
| 
 | ||||
|     def iter_comb(self): | ||||
|         if None in self.drivers: | ||||
|             yield from self.drivers[None] | ||||
| 
 | ||||
|     def iter_sync(self): | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 whitequark
						whitequark