Fixed instruction width issue in ROM. Stripped all comments to form minimal HEX file to rule out possible parser issues.

This commit is contained in:
riley committed 2026-10-16 11:29:04 +11:00
1 parent 8ed06d38e1
commit 4c7e2ff085
2 files changed
+23 -5

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
01084023
25090007
ad090000
8d0a0000
012a5821
012b6022
212d0003
018d7020
012d8024
012d8825
012d9026
012d9827
018ea02a
018ea82b
25080001
010db02b
12d4fffd
12d6ffff
+5 -5
View File
@@ -3,19 +3,19 @@
module rom #(parameter m=7,p=4) ( module rom #(parameter m=7,p=4) (
input logic [m-1:0] Ad, input logic [m-1:0] Ad,
output logic [p-1:0] Dout output logic [2**p-1:0] Dout
); );
logic [p-1:0] mem[2**m-1:0]; logic [2**p-1:0] mem[2**m];
assign Dout = mem[Ad]; assign Dout = mem[Ad>>2]; // Because word-size versus byte size hack
//Load the program in memory //Load the program in memory
// The machine code stored in text file program.dat written in Hex format // The machine code stored in text file program.dat written in Hex format
initial begin initial begin
`ifdef QUARTUS_SYNTH `ifdef QUARTUS_SYNTH
$readmemh("../../asm/bin/ELEC4720-2026s2-Ass-02-Demo.txt",mem); //$readmemb for binary $readmemh("../../asm/bin/ELEC4720-2026s2-Ass-02-Demo.hex", mem, 0, 2**m-1); //$readmemb for binary
`else `else
$readmemh("./asm/bin/ELEC4720-2026s2-Ass-02-Demo.txt",mem); //$readmemb for binary $readmemh("./asm/bin/ELEC4720-2026s2-Ass-02-Demo.hex", mem, 0, 2**m-1); //$readmemb for binary
`endif `endif
end end
endmodule // end rom module endmodule // end rom module