You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RISC-V浮点舍入结果Spike与RTL仿真不匹配的正确性咨询

RISC-V fsqrt.d指令RMM模式结果校验结论

合规性判定

RISC-V浮点指令遵循IEEE 754标准要求,RMM(Round to Nearest, ties to Max Magnitude)舍入规则为:优先选择距离精确结果最近的可表示浮点数;若精确值恰好落在两个相邻可表示浮点数的中点,选择绝对值更大的那一个。
针对本次测试用例的量化校验结果如下:

  • 精确平方根结果:50374.1444790876820703394273903...
  • RTL输出值与精确值的误差:2.07×10^-12
  • Spike输出值与精确值的误差:2.93×10^-12

本次测试的精确结果未落在两个可表示值的中点,距离RTL输出更近,因此RTL的结果符合RISC-V规范要求,Spike的输出为错误结果。

Spike偏差原因

Spike v1.1.0及更早版本的双精度平方根实现存在已知bug,在RMM舍入模式下边界场景的舍入逻辑错误,导致输出结果不符合规范。dromajo的浮点运算逻辑早期参考了Spike实现,因此连带继承了该问题。

排查验证建议

  • 升级Spike到官方主线最新版本复测,该bug在2023年之后的主线版本中已被修复
  • 可使用Berkeley SoftFloat库作为第三方参考验证,该库严格遵循IEEE 754与RISC-V浮点规范,同场景下输出结果与RTL一致

内容的提问来源于stack exchange,提问作者sammy17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:24:05