[libre-riscv-dev] Fwd: spike simple-v implementation, refinement needed
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Sun Sep 30 09:33:15 BST 2018
ok got predication working: it's getting to be really hair-raising
code, as it's a state machine, not a straightforward "if then else"
around a loop: the loop can be terminated based on predication
conditions and other things.
really it's time to start writing unit tests as it's getting
complicated. also i've noticed that some opcodes must not be
parallelised: lui, csr* and there are almost certainly going to be
others. some others (ebreak etc.) do not use registers so are
inherently non-parallelised, however it's clearly unsafe to
parallelise lui,
csrrw etc. really should not be parallelised, although a case could be
made for incrementing the CSR so that multiple CSRs could be
saved/stored from registers... have to think about that one.
l.
More information about the libre-riscv-dev
mailing list