Implements stage 5

This commit is contained in:
2025-11-05 20:01:41 +01:00
parent 5df85799ef
commit 1462563e39
6 changed files with 107 additions and 29 deletions

View File

@@ -25,25 +25,21 @@ class RegFile(sim: Boolean = false) extends Module {
}
when(io.we && io.rd_addr =/= 0.U) {
regs(io.rd_addr) := io.rd_data
regs(io.rd_addr) := io.rd_data
}
io.rs1_data := regs(io.rs1_addr)
io.rs2_data := regs(io.rs2_addr)
// Simulation stuff
val valid = WireInit(false.B);
when(io.we && io.rd_addr === 31.U)
{
io.x31 := io.rd_data
if (sim) {
valid := true.B
}
}.otherwise
{
io.x31 := regs(31)
}
if (sim) {
io.valid_x31.get := Delay.Delay(valid, 1, false.B)
io.valid_x31.get := false.B
}
io.x31 := "hDEADC0DE".U
when(io.we && io.rd_addr === 31.U) {
io.x31 := io.rd_data
if (sim) {
io.valid_x31.get := true.B
}
}
}