PULP Community
Building pulp-toolchain for rv32ic and rv32emc - Printable Version

+- PULP Community (https://pulp-platform.org/community)
+-- Forum: PULP's Community forum (https://pulp-platform.org/community/forumdisplay.php?fid=1)
+--- Forum: PULP General questions (https://pulp-platform.org/community/forumdisplay.php?fid=2)
+--- Thread: Building pulp-toolchain for rv32ic and rv32emc (/showthread.php?tid=130)



Building pulp-toolchain for rv32ic and rv32emc - mehrdad - 10-24-2019

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


RE: Building pulp-toolchain for rv32ic and rv32emc - kgf - 10-24-2019

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


RE: Building pulp-toolchain for rv32ic and rv32emc - mehrdad - 10-25-2019

Thank you very much for the prompt response.