blob: b7e4c80e1e58f3cd6b77279bbe42c068d4db2907 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
module ram #(
parameter N = 32,
parameter SIZE = 1024
)(
input clk,
input rst,
input we,
input [log2(SIZE)-1:0] addr,
input [N-1:0] data_write,
output reg [N-1:0] data_read
);
`include "include/log2.vh"
reg [8:0] ram_block [SIZE-1:0];
integer i;
always @(posedge clk or posedge rst) begin
if (rst) begin
for (i = 0; i < SIZE; i = i + 1)
ram_block[i] <= 0;
end else begin
if (we) begin
ram_block[addr] = data_write;
end
data_read = ram_block[addr];
end
end
endmodule
|