yayacemu/rom_loader.sv

19 lines
589 B
Systemverilog
Raw Normal View History

2024-01-31 01:54:35 +00:00
module rom_loader (
2024-02-01 02:57:11 +00:00
output bit [7:0] memory [0:4095]
2024-01-31 01:54:35 +00:00
);
import "DPI-C" function int load_rom();
import "DPI-C" function bit [7:0] get_next_instr();
import "DPI-C" function void close_rom();
initial begin
2024-02-01 02:57:11 +00:00
int rom_size = load_rom();
2024-01-31 01:54:35 +00:00
$display("HW : ROM size is %0d bytes (%0d bits) (%0d instructions)", rom_size, rom_size * 8, rom_size / 2);
2024-02-01 02:57:11 +00:00
for (int i = 0; i < rom_size; i++) begin
2024-01-31 17:04:55 +00:00
memory['h200 + i] = get_next_instr();
2024-01-31 01:54:35 +00:00
end
close_rom();
$display("HW : ROM loaded successfully");
end
endmodule