Closed
Description
I'm trying to create a timing diagram of a CPU whilst its executing a program, however it fails with the following error:
java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
at com.cburch.logisim.gui.log.Signal.extend(Signal.java:95)
at com.cburch.logisim.gui.log.Model.extendWithNewValues(Model.java:570)
at com.cburch.logisim.gui.log.Model.updateSignalsClockMode(Model.java:671)
at com.cburch.logisim.gui.log.Model.propagationCompleted(Model.java:598)
at com.cburch.logisim.gui.log.LogFrame$MyListener.propagationCompleted(LogFrame.java:86)
at com.cburch.logisim.circuit.Simulator.firePropagationCompleted(Simulator.java:482)
at com.cburch.logisim.circuit.Simulator$SimThread.loop(Simulator.java:373)
at com.cburch.logisim.circuit.Simulator$SimThread.run(Simulator.java:383)
And it also produces a pop-up window that tells me to save my work and reload Logisim. I'm not able to restart the simulation using CTRL+E
I am using v3.8.0 installed using the .deb package.
To reproduce:
- Download
BABY.circ
andTuringLongDivision.logisimRAMImage
from https://gitlab.com/charles.fox/comparch/-/tree/main/chapter07 - Open
BABY.circ
and load theTuringLongDivision.logisimRAMImage
into the RAM block - Change the frequency:
Simulate
->Auto-Tick Frequency
->16.0 Hz
- Open the timing diagram utility:
Simulate
->Timing diagram
- Enable
Store unlimited history
- Set timescale to 5.0us
- Do not add/remove any signals
- Enable
- Click into the
Timing diagram
tab in the utility - Start the simulation:
Simulate
->Auto-Tick Enabled
- Wait for it to crash, happens when the chronogram hits 2ms
I suspect that turning on Store unlimited history
might be the cause of the issue, as the simulation runs as intended with it disabled, but I was hoping to export the waveforms generated during the entire duration of the program execution.