Building pulp-toolchain for rv32ic and rv32emc
I am trying to use pulp-riscv-gnu-toolchain for Ibex (formerly Zero-riscy). The provided multi-lib covers rv32-ec and rv32-imc but rv32-ic and rc32-emc configurations are missing. I tried to build the toolchain specifically for these two configurations but so far with no success:

For rv32-ic I used:
./configure --prefix=... --with-arch=rv32ic --with-abi=ilp32 --with-cmodel=medlow
It compiled successfully, however the generated "libgcc.a" contained "mul" operations that resulted in "invalid instruction error" during RTL simulation.

For rv32-emc I used:
./configure --prefix=... --with-arch=rv32emc --with-abi=ilp32 --with-cmodel=medlow
The compilation failed:
--with-arch=rv32emc is not supported.  The argument must begin with rv32i, rv32g, rv64i, or rv64g.

Is there a way to compile for rv32-ic and rv32-emc?

Thanks and regards,
In theory these are possible, but we did not see a utility for them, I am not surprised these are not included. If you want the smallest possible one EC (ex micro-riscy) is an option, and if you want a 'regular' one (zero-riscy) you have IMC. The other two permutations are AFAIK not supported.

But we are happy to receive contributions
Visit and follow us on twitter @pulp_platform
Thank you very much for the prompt response.

Forum Jump:

Users browsing this thread: 2 Guest(s)