diff options
Diffstat (limited to 'src/ram.v')
-rw-r--r-- | src/ram.v | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/ram.v b/src/ram.v new file mode 100644 index 0000000..b7e4c80 --- /dev/null +++ b/src/ram.v @@ -0,0 +1,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 |