summaryrefslogtreecommitdiff
path: root/rtl/cache/sram.sv
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/cache/sram.sv')
-rw-r--r--rtl/cache/sram.sv8
1 files changed, 7 insertions, 1 deletions
diff --git a/rtl/cache/sram.sv b/rtl/cache/sram.sv
index 986c09b..74f9e65 100644
--- a/rtl/cache/sram.sv
+++ b/rtl/cache/sram.sv
@@ -26,7 +26,12 @@ module cache_sram
line data_file[DEPTH] /*verilator public*/;
addr_tag tag_file[DEPTH] /*verilator public*/;
line_state state_file[DEPTH] /*verilator public*/;
-
+
+ /* 3 funciones principales:
+ * 1. Si se necesita escribir un dato: escribe en los tag y data files en la posición del index de escritura
+ * 2. Si se necesita escribir un estado: escribe en el state file en la posición del index de escritura
+ * 3. Cada ciclo retorna siempre lo que esté en todos los files en la posición de index de lectura
+ */
always_ff @(posedge clk) begin
if (write_data) begin
tag_file[index_wr] <= tag_wr;
@@ -41,6 +46,7 @@ module cache_sram
state_rd <= state_file[index_rd];
end
+ // Se inicializan todas las líneas del state file como INVALID
//FIXME: rst_n para state_file?
initial
for (int i = 0; i < DEPTH; ++i)