Невозможно получить ускоритель RoCC, созданный с помощью примера Accumulator по умолчанию для платы zed

Пытался собрать пример аккумулятора по умолчанию для ускорителя RoCC для платы zed, но получаю ошибку "недопустимая инструкция"

Я попробовал следующую конфигурацию в файле 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)

Битовый поток был успешно сгенерирован, но когда я запустил двоичный файл dummy_rocc_test, сгенерированный из примера, приведенного в riscv-isa-sim, я получил следующую ошибку на плате 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!

Любая помощь здесь будет принята с благодарностью.

P.S. : - Пример dummy_rocc_test отлично работает с spike и был скомпилирован с помощью riscv64-unknown-elf-gcc


person Prashant Ravi    schedule 28.10.2015    source источник


Ответы (1)


Привет, ребята, эта проблема была решена, после внесения изменений ракету необходимо построить с новой конфигурацией pga, и проект vivid также должен быть обновлен соответствующим образом, чтобы сгенерировать новый битовый поток.

person Prashant Ravi    schedule 28.10.2015