我正在尝试设计简单的加速器以熟悉RoCC及其在 spike 中的界面,并通过RoCC命令(例如custom0,custom1,...)访问它
事实上,我通过使用riscv工具的master分支来遵循Berkeley的cs250 lab4中描述的一些指南。(实际上,指南与此不同,但我可以理解基本的想法,所以我会经历它。)
但是,它似乎效果不好。
首先,我只是在存储库中构建了riscv工具,然后我尝试编译驻留在riscv-isa-sim / dumy_rocc中的dummy_rocc_test.c
但在使用命令时会产生以下输出:
riscv64-unknown-elf-gcc -o d ./dummy_rocc_test.c
./dummy_rocc_test.c: Assembler messages:
./dummy_rocc_test.c:13: Error: unrecognized opcode `custom0 x0,a5,2,0'
./dummy_rocc_test.c:15: Error: unrecognized opcode `custom0 a5,x0,2,1'
./dummy_rocc_test.c:18: Error: unrecognized opcode `custom0 x0,a5,2,3'
./dummy_rocc_test.c:20: Error: unrecognized opcode `custom0 a5,x0,2,1'
./dummy_rocc_test.c:23: Error: unrecognized opcode `custom0 x0,a5,2,2'
./dummy_rocc_test.c:24: Error: unrecognized opcode `custom0 x0,a5,2,3'
./dummy_rocc_test.c:25: Error: unrecognized opcode `custom0 a5,x0,2,1'
在编译之前我是否遗漏了什么?或者我是否必须修改一些构建选项,即使我想使用虚拟扩展名?
答案 0 :(得分:0)
默认情况下,custom0
/ custom1
的识别已关闭。
尝试将-march
选项与custom
后缀:
riscv64-unknown-elf-gcc -march=rv64imafdxcustom -o d ./dummy_rocc_test.c
注意:旧工具链使用大写ISA扩展符号,即:
-march=RV64IMAFDXcustom