0

尝试为zed板构建RoCC加速器默认累加器示例,但出现“非法指令”错误

我在 configs.scala 文件中尝试了以下配置:-

class WithAccumRocc extends Config(
(pname,site,here) => pname match {
case RoccNMemChannels => 1
case RoccMaxTaggedMemXacts => 0
case BuildRoCC => {
Some((p: Parameters) =>
Module(new AccumulatorExample()(p.alterPartial({ case CoreName => "AccumRocc" }))))
}

}
)
class WithRoCCConfig extends Config(new WithAccumRocc ++ new DefaultFPGAConfig)

比特流已成功生成,但是当我运行 riscv-isa-sim 中给出的示例生成的 dummy_rocc_test 二进制文件时,我在 zed 板上出现以下错误。

root@zynq:~# ./fesvr-zynq pk /sdcard/Custom\ elfs/dummy_rocc 
z 0000000000000000 ra 0000000000010044 sp 000000000feffb10 gp 0000000000017880
tp 0000000000000000 t0 0000000000017178 t1 0000000000017178 t2 0000000000000000
s0 000000000feffb40 s1 0000000000000000 a0 0000000000000001 a1 000000000feffb48
a2 0000000000000000 a3 0000000000000000 a4 0000000000000000 a5 000000000000007b
a6 0000000000000000 a7 0000000000000001 s2 0000000000000000 s3 0000000000000000
s4 0000000000000000 s5 0000000000000000 s6 0000000000000000 s7 0000000000000000
s8 0000000000000000 s9 0000000000000000 sA 0000000000000000 sB 0000000000000000
t3 0000000000000000 t4 0000000000000000 t5 0000000000000000 t6 0000000000000000
pc 0000000000010168 va 0000000000010168 insn 0027e00b sr 8000000000003008
An illegal instruction was executed!

在这里的任何帮助将不胜感激。

PS :- dummy_rocc_test 示例与尖峰配合良好,并已使用 riscv64-unknown-elf-gcc 编译

4

1 回答 1

0

大家好,这个问题已经解决,一旦做出改变,火箭需要使用新的 pga 配置来构建,并且也必须相应地更新生动的项目以生成新的比特流。

于 2015-10-28T05:21:15.537 回答