7 Commits

Author SHA1 Message Date
dbc23d80e4 lab-08: fix register file - disable writing when WRITE=0 2024-10-24 23:11:59 -07:00
c3da7787d3 lab-08: fix HiZ on register file when READ=0 2024-10-24 12:35:34 -07:00
eca53c1104 lab-08: gate level model for 32x32-bit register file
Gate level implementation for the following components:
- DECODER_5x32
- MUX32_32x1
- REGISTER_FILE_32x32

Additional tests added in register file testbench.
2024-10-19 18:39:35 -07:00
3091103f81 lab-07: gate level model for 32-bit register
Gate level implementation for the following components:
- SR_LATCH
- D_LATCH
- D_FF
- REG1
- REG32
2024-10-19 18:39:30 -07:00
cce0c524d9 lab-06: gate level model for Arithmetic & Logic Unit
Gate level implementation for the following components:
- ALU
- MUX32_16x1
2024-10-19 18:39:23 -07:00
1ab4ea027d lab-05: gate level model for 32-bit barrel shifter
Gate level implementation for the following components:
- SHIFT32_L
- SHIFT32_R
- BARREL_SHIFTER32
- SHIFT32
2024-10-19 18:39:16 -07:00
5a4b5a312a lab-04: gate level model for 32-bit signed multiplier
Gate level implementation for the following components:
- MULT32_U
- MULT32
- MUX32_2x1
2024-10-19 18:39:02 -07:00
2 changed files with 6 additions and 2 deletions

View File

@@ -114,6 +114,7 @@ no_of_pass = no_of_pass + 1;
result[ridx] = DATA_R1; ridx=ridx+1;
// TODO: Read and write from the same address at the same time?
// TODO: Write when WRITE=0 should be tested
#5 READ=1'b0; WRITE=1'b0; // No op

View File

@@ -42,8 +42,11 @@ output [`DATA_INDEX_LIMIT:0] DATA_R1;
output [`DATA_INDEX_LIMIT:0] DATA_R2;
wire [31:0] Q [31:0];
wire [31:0] r_write;
DECODER_5x32 d_write(r_write, ADDR_W);
wire [31:0] r_write_sel, r_write;
DECODER_5x32 d_write(r_write_sel, ADDR_W);
// only write when WRITE=1
and write_active [31:0] (r_write, r_write_sel, WRITE);
REG32 r[31:0] (Q, DATA_W, r_write, CLK, RST);