aboutsummaryrefslogtreecommitdiff
path: root/src/ram.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/ram.v')
-rw-r--r--src/ram.v31
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