PULP Community

Full Version: Building pulp-toolchain for rv32ic and rv32emc
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,
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,
Mehrdad
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
Thank you very much for the prompt response.