From d3dcd92a4486470c74a22c61bb5584b001031972 Mon Sep 17 00:00:00 2001 From: jl7719 Date: Sun, 20 Dec 2020 09:07:35 +0000 Subject: [PATCH] Fix sllv, srlv, srav to shift by A[4:0] --- inputs/slti/slti-2.instr.txt | 2 +- inputs/sltiu/sltiu-2.instr.txt | 2 +- inputs/sltiu/sltiu-2.ref.txt | 2 +- rtl/mips_cpu_alu.v | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/inputs/slti/slti-2.instr.txt b/inputs/slti/slti-2.instr.txt index 491f64b..480fe7d 100644 --- a/inputs/slti/slti-2.instr.txt +++ b/inputs/slti/slti-2.instr.txt @@ -1,4 +1,4 @@ 3C04FFFF -3404FFFE +3484FFFE 00000008 2882FFFF diff --git a/inputs/sltiu/sltiu-2.instr.txt b/inputs/sltiu/sltiu-2.instr.txt index 2aff1a1..6b81730 100644 --- a/inputs/sltiu/sltiu-2.instr.txt +++ b/inputs/sltiu/sltiu-2.instr.txt @@ -1,5 +1,5 @@ 3C04FFFF -3404FFFE +3484FFFE 00000008 2c82FFFF diff --git a/inputs/sltiu/sltiu-2.ref.txt b/inputs/sltiu/sltiu-2.ref.txt index 56a6051..c227083 100644 --- a/inputs/sltiu/sltiu-2.ref.txt +++ b/inputs/sltiu/sltiu-2.ref.txt @@ -1 +1 @@ -1 \ No newline at end of file +0 \ No newline at end of file diff --git a/rtl/mips_cpu_alu.v b/rtl/mips_cpu_alu.v index d8db0f0..a4cf532 100644 --- a/rtl/mips_cpu_alu.v +++ b/rtl/mips_cpu_alu.v @@ -138,7 +138,7 @@ end end SLLV: begin - ALURes = B << A; + ALURes = B << A[4:0]; end SRL: begin @@ -146,7 +146,7 @@ end end SRLV: begin - ALURes = B >> A; + ALURes = B >> A[4:0]; end SRA: begin @@ -154,7 +154,7 @@ end end SRAV: begin - ALURes = $signed(B) >>> A; + ALURes = $signed(B) >>> A[4:0]; end EQ: begin