picorv32/scripts/icestorm
Austin Seipp 4900ebb693 scripts/icestorm: force -march=rv32i
The IceStorm example core doesn't include compressed instructions or the
MULT extension; it is an rv32i core, not rv32i[m|c]. If the given
riscv32 toolchain is not explicitly told to generate rv32i code for the
firmware, it may generate invalid instructions which cause a trap during
simulation or on the hardware itself (although CATCH_ILLINSN is set to
zero in this case, too).

Luckily, any rv32i* toolchain (rv32imc for example) can fit the bill
here -- there's no use of libgcc or anything (which might introduce
illegal instructions generated previously) so just forcing the compiler
to generate the right code works nicely.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
..
.gitignore Improved IceStorm example script 2015-07-04 16:34:18 +02:00
Makefile scripts/icestorm: force -march=rv32i 2019-01-11 16:09:07 -06:00
example.pcf Minor scripts/icestorm changes 2015-10-08 11:58:59 +02:00
example.v Minor scripts/icestorm changes 2015-10-08 11:58:59 +02:00
example_tb.v Minor fixes in scripts/icestorm/ 2016-07-14 09:07:52 +02:00
firmware.S RISC-V ISA 2.1 now calls "sbreak" officially "ebreak" 2016-06-06 10:46:52 +02:00
firmware.c RISC-V ISA 2.1 now calls "sbreak" officially "ebreak" 2016-06-06 10:46:52 +02:00
firmware.lds Improved icestorm example 2015-07-19 16:09:19 +02:00