[libre-riscv-dev] HDL selection
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Sat Nov 17 03:27:37 GMT 2018
another potential option is ariane:
https://github.com/pulp-platform/ariane
which has superb documentation:
https://pulp-platform.github.io/ariane/docs/id_stage/
however it can only do single-core due to missing atomic according to this:
https://abopen.com/news/pulp-releases-64-bit-linux-compatible-ariane-risc-v-core-ip/
it's in verilog, so it'll be reasonable to understand.
about rocket-chip: i know i said it would be great to start from
somewhere that's working... i am literally unable to read lines of
chisel3 code. i can just about make out how AMOALU.scala works, for
example.
it is a frickin enormous amount of work to do a new core, however if
the code's not actually readable, or if we spend more time trying to
understand it than modify it, we might as *well* start from scratch,
and, at least that way, we will understand what we are doing.
that being the case, i could easily convince myself to go with migen,
for the reasons you say: it's possible to use the full OO power of
python, where myhdl simply can't (i did try, on the pinmux project:
total fail). as i've been using python since 2000 it is a no-brainer
decision.
l.
More information about the libre-riscv-dev
mailing list