aboutsummaryrefslogtreecommitdiff
path: root/rv64cpu/tb/unit/tb_id_ex_reg.cc
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-03-17 16:51:29 +0000
committerRichard Qin <richard.qin.x@gmail.com>2026-03-17 16:51:29 +0000
commitabddef6c366a4a8e8f878158cf1bac14f9ad59b2 (patch)
tree61c0bef5b807090d4fc619ae1f744b034ff4b866 /rv64cpu/tb/unit/tb_id_ex_reg.cc
parentcd638dacbe7d0f890206209317cc119246cf700b (diff)
downloadrcc-project-abddef6c366a4a8e8f878158cf1bac14f9ad59b2.tar.gz
rcc-project-abddef6c366a4a8e8f878158cf1bac14f9ad59b2.tar.xz
docs: Finalized Richard CPU RTL architectural and naming convention audit report.
No source code changes were made; this branch serves as the finalized state for the provided audit. Co-authored-by: Richard-Qin-001 <69390919+Richard-Qin-001@users.noreply.github.com>
Diffstat (limited to 'rv64cpu/tb/unit/tb_id_ex_reg.cc')
-rw-r--r--rv64cpu/tb/unit/tb_id_ex_reg.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/rv64cpu/tb/unit/tb_id_ex_reg.cc b/rv64cpu/tb/unit/tb_id_ex_reg.cc
index ad58a87..d9cc329 100644
--- a/rv64cpu/tb/unit/tb_id_ex_reg.cc
+++ b/rv64cpu/tb/unit/tb_id_ex_reg.cc
@@ -64,6 +64,8 @@ int main(int argc, char** argv) {
dut->id_pc = 0x80001000;
dut->id_rs1_rdata = 0x11111111;
dut->id_rs2_rdata = 0x22222222;
+ dut->id_rs1_addr = 31;
+ dut->id_rs2_addr = 15;
dut->id_imm = 0x1A2B3C;
dut->id_alu_op = ALU_XOR;
dut->id_reg_write_en = 1;
@@ -92,6 +94,8 @@ int main(int argc, char** argv) {
dut->id_pc = 0x80002000;
dut->id_rs1_rdata = 0xAAAAAAAA;
dut->id_rs2_rdata = 0xBBBBBBBB;
+ dut->id_rs1_addr = 10;
+ dut->id_rs2_addr = 11;
dut->id_imm = 42;
dut->id_alu_op = ALU_ADD;
dut->id_reg_write_en = 1;
@@ -104,6 +108,8 @@ int main(int argc, char** argv) {
check(dut->ex_pc == 0x80002000, "Propagate_PC");
check(dut->ex_rs1_rdata == 0xAAAAAAAA, "Propagate_RS1");
check(dut->ex_rs2_rdata == 0xBBBBBBBB, "Propagate_RS2");
+ check(dut->ex_rs1_addr == 10, "Propagate_RS1_Addr");
+ check(dut->ex_rs2_addr == 11, "Propagate_RS2_Addr");
check(dut->ex_imm == 42, "Propagate_IMM");
check(dut->ex_alu_op == ALU_ADD, "Propagate_ALU_OP");
check(dut->ex_reg_write_en == 1, "Propagate_RegWriteEn");
@@ -142,7 +148,7 @@ int main(int argc, char** argv) {
tick(dut);
- check(dut->ex_pc == 0x0, "Flush_Clears_PC");
+ check(dut->ex_pc == 0x80003000, "Flush_Maintains_PC");
check(dut->ex_reg_write_en == 0, "Flush_Clears_RegWrite");
check(dut->ex_is_store == 0, "Flush_Clears_StoreEn");
check(dut->ex_is_branch == 0, "Flush_Clears_BranchEn");
@@ -159,7 +165,7 @@ int main(int argc, char** argv) {
dut->id_pc = 0x80006000;
tick(dut);
- check(dut->ex_pc == 0x0, "Flush_Overrides_Stall_PC");
+ check(dut->ex_pc == 0x80005000, "Flush_Overrides_Stall_PC");
check(dut->ex_reg_write_en == 0, "Flush_Overrides_Stall_RegWrite");
std::cout << "----------------------------------" << std::endl;