NanoMac simulation fails with Verilator 5.038 but works on 5.036 (on Ubuntu 22.04 and macOS 14.6.1).
Expected behavior (with 5.036): working simulation
% cd NanoMac/sim
% make run
./nanomac
Loading rom
progress: 0%
0.000ms frame 0 is 2x1
frame line length unexpectedly changed from 530 to 704
Speed factor = 787
2.000ms Out of reset
2.776ms SDC: CMD 0, ARG 00000000
[...]
Observed behavior (with 5.038): simulation aborted due to an assertion failure
% make run
./nanomac
Loading rom
progress: 0%
[0] %Error: fx68kAlu.sv:313: Assertion failed in TOP.nanomac_tb.macplus.fx68k.excUnit.alu: unique case, but none matched for '32'h00000000'
%Error: fx68x_verilator/fx68kAlu.sv:313: Verilog $stop
Aborting...
make: *** [run] Abort trap: 6
This rather seems to be an issue with the included fx68k core rather than NanoMac itself, but it seems the original fx68k repository doesn't include a test bench...
NanoMac simulation fails with Verilator 5.038 but works on 5.036 (on Ubuntu 22.04 and macOS 14.6.1).
Expected behavior (with 5.036): working simulation
% cd NanoMac/sim
% make run
./nanomac
Loading rom
progress: 0%
0.000ms frame 0 is 2x1
frame line length unexpectedly changed from 530 to 704
Speed factor = 787
2.000ms Out of reset
2.776ms SDC: CMD 0, ARG 00000000
[...]
Observed behavior (with 5.038): simulation aborted due to an assertion failure
% make run
./nanomac
Loading rom
progress: 0%
[0] %Error: fx68kAlu.sv:313: Assertion failed in TOP.nanomac_tb.macplus.fx68k.excUnit.alu: unique case, but none matched for '32'h00000000'
%Error: fx68x_verilator/fx68kAlu.sv:313: Verilog $stop
Aborting...
make: *** [run] Abort trap: 6
This rather seems to be an issue with the included fx68k core rather than NanoMac itself, but it seems the original fx68k repository doesn't include a test bench...