首页 > 解决方案 > 创建自定义 RISC-V 指令时无法识别的操作码

问题描述

我已经下载了rocket-chiprepo 和相应的rocket-toolsrepo。当我最初构建一切时,一切都很好。

我为 AES 算法创建了自己的紧密耦合加速器,并希望使用custom-0andcustom-1指令对其进行测试。我已按照riscv-isa-simrepo ( https://github.com/riscv/riscv-isa-sim ) 中的说明模拟新指令并成功重建rocket-tools

我想做一个非常简单的组装测试rocket-tools/riscv-tests/isa/rv64ui/来测试我的新指令,但是当我makeisa文件夹中运行时,我得到了Error: unrecognized opcode所有指令:

rv32ui/../rv64ui/aes.S: Assembler messages:
rv32ui/../rv64ui/aes.S:20: Error: unrecognized opcode `wkeyl x14,x1,x2'
rv32ui/../rv64ui/aes.S:21: Error: unrecognized opcode `wkeyh x14,x1,x2'
rv32ui/../rv64ui/aes.S:22: Error: unrecognized opcode `wstatel x14,x1,x2'
rv32ui/../rv64ui/aes.S:23: Error: unrecognized opcode `wstateh x14,x1,x2'
Makefile:74: recipe for target 'rv32ui-p-aes' failed
make: *** [rv32ui-p-aes] Error 1
make: *** Waiting for unfinished jobs....

在 RISC-V 中实现自定义指令的正确方法是什么?我尝试按照本教程进行操作,但在运行尖峰时出现分段错误:https ://nitish2112.github.io/post/adding-instruction-riscv/

标签: riscvrocket-chipriscv32

解决方案


推荐阅读