🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/Linux环境下div指令、divu指令测试异常现象
Linux环境下div指令、divu指令测试异常现象
全国大学生集成电路创新创业大赛 作者 zjq88584656 发布于 2023-05-31 22:28(1227 天前) 4068 浏览

队伍CICC2259 队员:刘宇轩 周嘉琪 冷思远

由于团队修改了muldiv指令,需要测试div指令、divu指令是否功能正常:
rv32um-p-div:
图片alt
意外的,程序会产生自检报错(实际上这个报错在原工程中也会出现),通过info我们可以看到错误在e203_exu_alu_muldiv模块中产生,产生错误的指令为i_div,操作数rs1的值为ffff_ffec,操作数rs2的值为0000_0006,黄金参考结果golden_res的值为5555_5552,而我们的计算结果为ffff_fffd。我们使用电脑自带的计算器进行计算,其中rs1的十进制表示为-20,rs2的十进制表示为6,结果应当为-20/6=-3,转换为十六进制为ffff_fffd,这与我们的结果是一致的,而代码中的自检产生了错误,可以暂时注释掉代码中的自检部分:
在工程目录下的rtl文件夹中core/e203_exu_alu_muldiv.v文件:
图片alt
我们将其中第639行开始至731行全部注释,返回工程目录下的hbird-sdk目录下的vsim文件夹,执行make clean以及make install目录,再次运行make run_test SIM=vcs指令:
图片alt
指令测试无误,继续测试divu指令:
rv32um-p-divu:
图片alt

全部回复 0
暂无回复,抢个沙发~
💡 请 登录 后参与讨论(微信扫码即登录/注册)