Initial work on reading instructions from bootROM

This commit is contained in:
2021-02-15 22:55:09 +00:00
parent e56afb8c9e
commit 3191a19f7e
9 changed files with 166 additions and 11 deletions

24
rtl/shared/rom.sv Normal file
View File

@@ -0,0 +1,24 @@
module rom #(
parameter string FILE_NAME = "",
parameter integer unsigned ADDR_W = 8,
parameter integer unsigned DATA_W = 8
) (
input logic clk_i,
input logic [ADDR_W-1:0] address_i,
output logic [DATA_W-1:0] rdata_o
);
localparam ROM_SIZE = 2**ADDR_W;
logic [DATA_W-1:0] rom [ROM_SIZE-1:0];
always_ff @(posedge clk_i)
rdata_o <= rom[address_i];
initial begin
static integer fd = $fopen(FILE_NAME, "rb");
void'($fread(rom, fd));
end
endmodule : rom