back.pysim: fix an issue with too few funclet slots.
This commit is contained in:
parent
c49211c76a
commit
a40e2cac4b
|
@ -437,6 +437,8 @@ class Simulator:
|
||||||
self._domain_signals[domain] = bitarray()
|
self._domain_signals[domain] = bitarray()
|
||||||
self._domain_signals[domain].append(False)
|
self._domain_signals[domain].append(False)
|
||||||
|
|
||||||
|
self._funclets.append(set())
|
||||||
|
|
||||||
self._domain_triggers.append(None)
|
self._domain_triggers.append(None)
|
||||||
if self._vcd_writer:
|
if self._vcd_writer:
|
||||||
self._vcd_signals.append(set())
|
self._vcd_signals.append(set())
|
||||||
|
@ -520,10 +522,7 @@ class Simulator:
|
||||||
funclet = compiler(statements)
|
funclet = compiler(statements)
|
||||||
|
|
||||||
def add_funclet(signal, funclet):
|
def add_funclet(signal, funclet):
|
||||||
signal_slot = self._signal_slots[signal]
|
self._funclets[self._signal_slots[signal]].add(funclet)
|
||||||
while len(self._funclets) <= signal_slot:
|
|
||||||
self._funclets.append(set())
|
|
||||||
self._funclets[signal_slot].add(funclet)
|
|
||||||
|
|
||||||
for signal in compiler.sensitivity:
|
for signal in compiler.sensitivity:
|
||||||
add_funclet(signal, funclet)
|
add_funclet(signal, funclet)
|
||||||
|
|
Loading…
Reference in a new issue