summaryrefslogtreecommitdiff
path: root/my_mem.v
diff options
context:
space:
mode:
authoruvok2025-12-29 16:44:30 +0100
committeruvok2025-12-29 16:44:30 +0100
commit89db73e2642cfc1509db277174939a0533b511f4 (patch)
tree4fdca78108a3eed5d0e30ae84f2a56503e27891f /my_mem.v
parentceb4aa8e0662206789016306a5a8745cbafcbd4f (diff)
Add memory
Diffstat (limited to 'my_mem.v')
-rw-r--r--my_mem.v31
1 files changed, 31 insertions, 0 deletions
diff --git a/my_mem.v b/my_mem.v
new file mode 100644
index 0000000..e4ed4f6
--- /dev/null
+++ b/my_mem.v
@@ -0,0 +1,31 @@
+`timescale 1us/1us
+
+module my_mem #(
+ parameter DATA_WIDTH = 8,
+ parameter DATA_DEPTH = 1024
+) (
+ input clk_i,
+
+ input write_en_i,
+ input read_en_i,
+
+ input [$clog2(DATA_DEPTH)-1:0] r_read_addr,
+ input [$clog2(DATA_DEPTH)-1:0] r_write_addr,
+
+ input [(DATA_WIDTH-1) : 0] data_i,
+ output reg [(DATA_WIDTH-1) : 0] data_o
+);
+
+reg [(DATA_WIDTH-1) : 0] r_datastore [(DATA_DEPTH-1) : 0];
+
+always @(posedge clk_i) begin
+ if (write_en_i) begin
+ r_datastore[r_write_addr] <= data_i;
+ end
+
+ if (read_en_i) begin
+ data_o <= r_datastore[r_read_addr];
+ end
+end
+
+endmodule