-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
When synthesizing the RV32E example with the unit/led program on my TinyFPGA BX, the LED stays off.
On the other hand, Cuttlesim and Verilator both behave as I expect them to following the definition of the test.
I tried the following things independently from each other:
- replacing
if (led_wr_valid)
led <= led_wr_data;with
if (!led_wr_valid)
led <= !led_wr_data;in top_uart.v results in the LED turning (and staying) on (FPGA only, simulation not impacted although making the same change to top.v indeed inverts Verilator's behavior);
- replacing both
may_runandonbyOb~1in the extcall toext_ledinRVCore.vresults in the LED turning (and staying) on, as should be expected (FPGA and simulation); - replacing the contents of
led.cwith a simpler infinite loop containing only a call toputled(1)does not fix anything - the LED is still off, and simulation spams the output with the "☀" symbol.
Do you observe the same thing on your side? I don't have access to an ULX3S-85k as of now, does this test behave any differently on there? Are other tests featuring extcalls impacted?
I'm quite surprised by Verilator and synthesis disagreeing.
Metadata
Metadata
Assignees
Labels
No labels