diff options
author | Flavian Kaufmann <flavian@flaviankaufmann.ch> | 2024-05-15 08:27:12 +0200 |
---|---|---|
committer | Flavian Kaufmann <flavian@flaviankaufmann.ch> | 2024-05-15 08:27:12 +0200 |
commit | 9e76b9001c37ab2da2e99c922406b991bd0e53af (patch) | |
tree | 686aa90639b28c92013e6158e01d5010973b0f03 /src/rom.v | |
parent | d107f7e40f02a7374b8685ba310500a6c38d43b1 (diff) | |
download | riscv_cpu-9e76b9001c37ab2da2e99c922406b991bd0e53af.tar.gz riscv_cpu-9e76b9001c37ab2da2e99c922406b991bd0e53af.zip |
running c program
Diffstat (limited to 'src/rom.v')
-rw-r--r-- | src/rom.v | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -3,18 +3,22 @@ module rom #( parameter SIZE = 1024 )( input clk, - input [log2(SIZE)-1:0] addr, - output [N-1:0] data_read + input [log2(SIZE/4)-1:0] addr, + output reg [N-1:0] data_read ); `include "include/log2.vh" -reg [7:0] memory [0:SIZE-1]; + +//(* RAM_STYLE="BLOCK" *) +reg [N-1:0] mem [SIZE-1:0]; initial begin - $readmemh("build/rom.hex", memory, 0, SIZE-1); + $readmemh("build/rom.hex", mem, 0, SIZE/4-1); end -assign data_read = {memory[addr + 3], memory[addr + 2], memory[addr + 1], memory[addr + 0] }; +always @(negedge clk) begin + data_read <= mem[addr >> 2]; +end endmodule |