diff options
| author | Fabian Montero <fabian@posixlycorrect.com> | 2023-10-04 18:42:01 -0600 |
|---|---|---|
| committer | Fabian Montero <fabian@posixlycorrect.com> | 2023-10-04 18:42:01 -0600 |
| commit | 706643974ef34d27b233ea24876c56f2d5ffb2f4 (patch) | |
| tree | b23f3ca116bd9c74b1c8fdf645817b245490f43b /rtl | |
| parent | d6fd0c6a8bea89da8728aee51f1b0fadc8c0331e (diff) | |
fix alignment
Diffstat (limited to '')
| -rw-r--r-- | rtl/cache/sram.sv | 21 |
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; |
