Files
stack/charram.sv
2026-03-07 23:45:11 -05:00

33 lines
697 B
Systemverilog

module charram
#(parameter COLS=80,
parameter ROWS=60)
(input i_clk,
input i_rst,
input [12:0] i_gen_addr,
input [12:0] i_cpu_addr,
input [15:0] i_cpu_data,
input i_cpu_we,
output [15:0] o_gen_data,
output [15:0] o_cpu_data);
localparam CELLS=COLS*ROWS;
reg [15:0] cram [0:CELLS-1];
integer i;
initial begin
$readmemh("/Users/car/Projects/hope/cram.hex", cram);
end
assign o_gen_data = cram[i_gen_addr];
assign o_cpu_data = cram[i_cpu_addr];
always @(posedge i_clk, posedge i_rst) begin
if (i_rst) begin
end else if (i_cpu_we) begin
cram[i_cpu_addr] <= i_cpu_data;
end
end
endmodule