diff options
| author | Alejandro Soto <alejandro@34project.org> | 2024-01-21 06:23:46 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2024-02-20 11:11:17 -0600 |
| commit | f3b18ead59ae02f95dabbf0a1dea40873a816975 (patch) | |
| tree | 8979e50f2a37f66a4cd27e937b480efe60d72cf7 /rtl/core/regs/file.sv | |
| parent | a8bc5a353ea997f73209b39377ee15a73e471237 (diff) | |
rtl: refactor filenames and directory hierarchy
Diffstat (limited to 'rtl/core/regs/file.sv')
| -rw-r--r-- | rtl/core/regs/file.sv | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/rtl/core/regs/file.sv b/rtl/core/regs/file.sv deleted file mode 100644 index 2ba95e8..0000000 --- a/rtl/core/regs/file.sv +++ /dev/null @@ -1,51 +0,0 @@ -`include "core/uarch.sv" - -module core_reg_file -( - input logic clk, - rst_n, - - input psr_mode rd_mode, - input reg_num rd_r, - input reg_index wr_index, - input logic wr_enable, - wr_enable_file, - input word wr_value, - wr_current, - pc_word, - - output word rd_value -); - - // Ver comentario en uarch.sv - word file[`NUM_GPREGS] /*verilator public*/; - word rd_actual; - logic rd_pc, hold_rd_pc, forward; - reg_index rd_index; - - core_reg_map map_rd - ( - .r(rd_r), - .mode(rd_mode), - .is_pc(rd_pc), - .index(rd_index) - ); - - assign rd_value = hold_rd_pc ? pc_word : forward ? wr_current : rd_actual; - - always_ff @(posedge clk or negedge rst_n) - if(!rst_n) begin - forward <= 0; - rd_actual <= 0; - hold_rd_pc <= 0; - end else begin - forward <= wr_enable && rd_index == wr_index; - hold_rd_pc <= rd_pc; - - if(wr_enable_file) - file[wr_index] <= wr_value; - - rd_actual <= file[rd_index]; - end - -endmodule |
