back.pysim: fix an issue with too few funclet slots.

This commit is contained in:
whitequark 2018-12-21 10:25:28 +00:00
parent c49211c76a
commit a40e2cac4b

View file

@ -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)