我想知道,哪个版本的riscv ISA是能够实现的已发布的火箭核心。
由于它支持双精度浮点,我可以安全地假设它是RV64G版本。
答案 0 :(得分:3)
是的,Rocket核心实现了RV64G。*
如果您想亲自手动验证,可以查看ctrl code的解码表。
但是,您可以通过将case BuildFPU =>...
设置为None
(或在构建时调用SmallConfig
来关闭火箭芯片生成器的parameter settings中的FPU来自命令行的火箭)。
有趣的是,在检查解码表时,您还可以看到用于实现“RoCC”接口的其他自定义扩展指令,该接口与任何连接的加速器/协处理器核心(“ROcket协处理器协调”)进行通信。默认情况下,它们已关闭,因为buildROCC
设置为None
。
*编辑:正如您所指出的,Rocket(目前)避免实施fdiv和fsqrt指令。这些将陷阱并将在软件中执行(假设您在实现这些指令的内核之上运行Rocket)。实际上,当前的riscv-gcc端口默认不会发出这些指令,而是在fdiv和fsqrt上发出soft-float版本。
参考文献