mortbopet / Ripes

A graphical processor simulator and assembly editor for the RISC-V ISA

Home Page:https://ripes.me/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

M-extension issue (multiplication exceeds 64-bits)

AhmedAmrAbdellatif1 opened this issue · comments

Hello everyone,
I was trying to use ripes to verify my multiplier design unit, by trying to perform a calculation that exceed 64-bit to verify the implementation of mulh instruction.
So, i used the following assembly:

li x8, 11
slli x8, x8, 35
ori x8, x8, 254

li x9, 23
slli x9, x9, 35
ori x8, x8, 424

mul x10, x8, x9
mulh x11, x8, x9
mulhu x12, x8, x9
mulhsu x13, x8, x9

I'm trying to perform a multiplication between (377957122558) and (790273982464) the result should be (2.986896804445448e+23)
which in hexadecimal --> 0000000000003F40 00016E9000000000 ''calculated using MATLAB''

so the result of using mul should be 00016E9000000000
and the result of using mulh should be 0000000000003F40

So, we can conclude that ripes calculate it wrong
image