Fix JALR instruction

This commit is contained in:
Donald Sebastian Leung 2020-07-31 16:15:17 +08:00
parent d525a89ccb
commit ecfe8b11c4
1 changed files with 1 additions and 0 deletions

View File

@ -8,6 +8,7 @@ class rvfi_insn_jalr(rvfi_insn_I):
def elaborate(self, platform): def elaborate(self, platform):
m = super(rvfi_insn_jalr, self).elaborate(platform) m = super(rvfi_insn_jalr, self).elaborate(platform)
# JALR instruction
next_pc = Signal(32) next_pc = Signal(32)
m.d.comb += next_pc.eq((self.rvfi_rs1_rdata + self.insn_imm) & ~1) m.d.comb += next_pc.eq((self.rvfi_rs1_rdata + self.insn_imm) & ~1)
m.d.comb += self.spec_valid.eq(self.rvfi_valid & (~self.insn_padding) & (self.insn_funct3 == 0b000) & (self.insn_opcode == 0b1100111)) m.d.comb += self.spec_valid.eq(self.rvfi_valid & (~self.insn_padding) & (self.insn_funct3 == 0b000) & (self.insn_opcode == 0b1100111))