diff --git a/inputs/mthi/mthi-2.data.txt b/inputs/mthi/mthi-2.data.txt new file mode 100644 index 0000000..c4352e6 --- /dev/null +++ b/inputs/mthi/mthi-2.data.txt @@ -0,0 +1,4 @@ +00000000 +00000000 +00000000 +10000000 \ No newline at end of file diff --git a/inputs/mthi/mthi-2.instr.txt b/inputs/mthi/mthi-2.instr.txt new file mode 100644 index 0000000..c54de4f --- /dev/null +++ b/inputs/mthi/mthi-2.instr.txt @@ -0,0 +1,5 @@ +3404100A +8C840002 +00800011 +00001010 +00000008 \ No newline at end of file diff --git a/inputs/mthi/mthi-2.ref.txt b/inputs/mthi/mthi-2.ref.txt new file mode 100644 index 0000000..528d5c0 --- /dev/null +++ b/inputs/mthi/mthi-2.ref.txt @@ -0,0 +1 @@ +268435456 \ No newline at end of file diff --git a/inputs/mtlo/mtlo-2.data.txt b/inputs/mtlo/mtlo-2.data.txt new file mode 100644 index 0000000..3564c8b --- /dev/null +++ b/inputs/mtlo/mtlo-2.data.txt @@ -0,0 +1,4 @@ +00000000 +00000000 +00000000 +10101100 \ No newline at end of file diff --git a/inputs/mtlo/mtlo-2.instr.txt b/inputs/mtlo/mtlo-2.instr.txt new file mode 100644 index 0000000..9344b35 --- /dev/null +++ b/inputs/mtlo/mtlo-2.instr.txt @@ -0,0 +1,5 @@ +3404100A +8C840002 +00800013 +00001012 +00000008 \ No newline at end of file diff --git a/inputs/mtlo/mtlo-2.ref.txt b/inputs/mtlo/mtlo-2.ref.txt new file mode 100644 index 0000000..f61be37 --- /dev/null +++ b/inputs/mtlo/mtlo-2.ref.txt @@ -0,0 +1 @@ +269488384 \ No newline at end of file diff --git a/inputs/mult/mult-1.instr.txt b/inputs/mult/mult-1.instr.txt index a22f6bf..86f65a6 100644 --- a/inputs/mult/mult-1.instr.txt +++ b/inputs/mult/mult-1.instr.txt @@ -2,5 +2,4 @@ 34050003 00850018 00001012 -00000000 00000008 \ No newline at end of file diff --git a/inputs/mult/mult-2.data.txt b/inputs/mult/mult-2.data.txt new file mode 100644 index 0000000..4eb253e --- /dev/null +++ b/inputs/mult/mult-2.data.txt @@ -0,0 +1,4 @@ +00000000 +FFFFFFFF +00000000 +00010000 \ No newline at end of file diff --git a/inputs/mult/mult-2.instr.txt b/inputs/mult/mult-2.instr.txt new file mode 100644 index 0000000..ec6bcd2 --- /dev/null +++ b/inputs/mult/mult-2.instr.txt @@ -0,0 +1,9 @@ +3404100A +8C840002 +34051002 +8CA50002 +00850018 +00002812 +00002010 +00000008 +00851021 \ No newline at end of file diff --git a/inputs/mult/mult-2.ref.txt b/inputs/mult/mult-2.ref.txt new file mode 100644 index 0000000..f20e1da --- /dev/null +++ b/inputs/mult/mult-2.ref.txt @@ -0,0 +1 @@ +4294901759 \ No newline at end of file diff --git a/inputs/mult/mult-3.instr.txt b/inputs/mult/mult-3.instr.txt new file mode 100644 index 0000000..8683dcf --- /dev/null +++ b/inputs/mult/mult-3.instr.txt @@ -0,0 +1,7 @@ +3404A000 +00840018 +00001012 +00002812 +00002010 +00000008 +00851021 \ No newline at end of file diff --git a/inputs/mult/mult-3.ref.txt b/inputs/mult/mult-3.ref.txt new file mode 100644 index 0000000..7cb8857 --- /dev/null +++ b/inputs/mult/mult-3.ref.txt @@ -0,0 +1 @@ +1677721600 \ No newline at end of file diff --git a/inputs/mult/mult-4.instr.txt b/inputs/mult/mult-4.instr.txt new file mode 100644 index 0000000..7014e62 --- /dev/null +++ b/inputs/mult/mult-4.instr.txt @@ -0,0 +1,7 @@ +3C04FFFF +3484A000 +00840018 +00002812 +00002010 +00000008 +00851021 \ No newline at end of file diff --git a/inputs/mult/mult-4.ref.txt b/inputs/mult/mult-4.ref.txt new file mode 100644 index 0000000..da7ee25 --- /dev/null +++ b/inputs/mult/mult-4.ref.txt @@ -0,0 +1 @@ +603979776 \ No newline at end of file diff --git a/inputs/mult/mult-5.instr.txt b/inputs/mult/mult-5.instr.txt new file mode 100644 index 0000000..4327d38 --- /dev/null +++ b/inputs/mult/mult-5.instr.txt @@ -0,0 +1,5 @@ +3C05A000 +34040001 +00850018 +00001010 +00000008 \ No newline at end of file diff --git a/inputs/mult/mult-5.ref.txt b/inputs/mult/mult-5.ref.txt new file mode 100644 index 0000000..b7bf491 --- /dev/null +++ b/inputs/mult/mult-5.ref.txt @@ -0,0 +1 @@ +4294967295 \ No newline at end of file diff --git a/inputs/multu/multu-2.instr.txt b/inputs/multu/multu-2.instr.txt new file mode 100644 index 0000000..263650b --- /dev/null +++ b/inputs/multu/multu-2.instr.txt @@ -0,0 +1,7 @@ +3C04FFFF +3484A000 +00840019 +00002812 +00001010 +00000008 +00451021 \ No newline at end of file diff --git a/inputs/multu/multu-2.ref.txt b/inputs/multu/multu-2.ref.txt new file mode 100644 index 0000000..e6d9424 --- /dev/null +++ b/inputs/multu/multu-2.ref.txt @@ -0,0 +1 @@ +603930624 \ No newline at end of file diff --git a/inputs/or/or-3.data.txt b/inputs/or/or-3.data.txt index 50de8d2..f6d056e 100644 --- a/inputs/or/or-3.data.txt +++ b/inputs/or/or-3.data.txt @@ -1,4 +1,4 @@ 00000000 12345678 -00000000 +0000F0A0 00000000 \ No newline at end of file diff --git a/inputs/or/or-3.instr.txt b/inputs/or/or-3.instr.txt index 5bd5037..d3ae17e 100644 --- a/inputs/or/or-3.instr.txt +++ b/inputs/or/or-3.instr.txt @@ -1,5 +1,6 @@ 34041002 8C820002 -3404F0A0 +34051006 +8CA40002 00000008 00441025 \ No newline at end of file diff --git a/rtl/mips_cpu_alu.v b/rtl/mips_cpu_alu.v index 132b5e6..d8db0f0 100644 --- a/rtl/mips_cpu_alu.v +++ b/rtl/mips_cpu_alu.v @@ -112,8 +112,8 @@ end MUL: begin SMulRes = $signed(A) * $signed(B); - temp_Hi = SMulRes[63:32]; - temp_Lo = SMulRes[31:0]; + temp_Hi = SMulRes[63:32]; + temp_Lo = SMulRes[31:0]; end DIV: begin @@ -241,8 +241,8 @@ end MULU: begin UMulRes = A * B; - temp_Hi = UMulRes[63:32]; - temp_Lo = UMulRes[31:0]; + temp_Hi = UMulRes[63:32]; + temp_Lo = UMulRes[31:0]; end DIVU: begin