summaryrefslogtreecommitdiff
path: root/rtl/cache
diff options
context:
space:
mode:
authorFabian Montero <fabian@posixlycorrect.com>2023-10-04 18:42:01 -0600
committerFabian Montero <fabian@posixlycorrect.com>2023-10-04 18:42:01 -0600
commit706643974ef34d27b233ea24876c56f2d5ffb2f4 (patch)
treeb23f3ca116bd9c74b1c8fdf645817b245490f43b /rtl/cache
parentd6fd0c6a8bea89da8728aee51f1b0fadc8c0331e (diff)
fix alignment
Diffstat (limited to '')
-rw-r--r--rtl/cache/sram.sv21
1 files changed, 13 insertions, 8 deletions
diff --git a/rtl/cache/sram.sv b/rtl/cache/sram.sv
index 29aa422..d63cdad 100644
--- a/rtl/cache/sram.sv
+++ b/rtl/cache/sram.sv
@@ -18,10 +18,12 @@ module cache_sram
output line_state state_rd
);
- // Existe un mito que habla de true dual-ports con byte-enables, dudo mucho que sea real:
+ // Existe un mito que habla de true dual-ports con byte-enables,
+ // probablemente no sea real:
// https://www.intel.com/content/www/us/en/docs/programmable/683082/21-3/ram-with-byte-enable-signals.html
- // Es una cache one way: cada índice mapea a cada línea de cache (directamente mapeada)
+ // Es una cache one way: cada índice mapea a cada línea de cache
+ // (directamente mapeada)
// Define la cantidad de líneas de cache
// Cantidad de bits en addr_index = 12, entonces se le hace left shift 12
@@ -33,16 +35,19 @@ module cache_sram
// Estas tres secciones constituyen al caché.
// data_file: Donde se guarda la información cacheada.
// tag_file: Se guardan los tags de las líneas de caché.
- // state_file: Se guarda el estado de cada línea de caché. (Acá están todos los estados de MESI)
+ // state_file: Se guarda el estado de cada línea de caché. (Acá están todos
+ // los estados de MESI)
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
- */
+ // 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;