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:
2 files changed
+23
-5
No files matched your search
@@ -0,0 +1,18 @@
|
|||||||
|
01084023
|
||||||
|
25090007
|
||||||
|
ad090000
|
||||||
|
8d0a0000
|
||||||
|
012a5821
|
||||||
|
012b6022
|
||||||
|
212d0003
|
||||||
|
018d7020
|
||||||
|
012d8024
|
||||||
|
012d8825
|
||||||
|
012d9026
|
||||||
|
012d9827
|
||||||
|
018ea02a
|
||||||
|
018ea82b
|
||||||
|
25080001
|
||||||
|
010db02b
|
||||||
|
12d4fffd
|
||||||
|
12d6ffff
|
||||||
+5
-5
@@ -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
|
||||||
|
|||||||
Reference in new issue
Block a user