serv icon indicating copy to clipboard operation
serv copied to clipboard

Add iCESugar-nano board

Open paller opened this issue 11 months ago • 1 comments

Follow the 6 steps to add support for a new target.

Step 1: Locate input and output pins.

Step 2: Add pin constraint file. This covers clock input, LED and UART output.

Step 3: Create a clock generator. The chip has no internal clock generator so the external 12 MHz clock is used.

Step 4: Add top level servant_ice40_cm36 which connects the one-wire output of servant to both the LED and UART pin.

Step 5: Add fileset including the new top level and pin constraints.

Step 6: Add target icesugar-nano.

I would expect this to be it, but the LED is not blinking.

If I add a reset function, something like 5 seconds in reset, 5 seconds run time. No blinking LED. Setting a ~1 second reset each 10 seconds, still no light.

Debugging with a single LED as output I must say, it's pretty hard. If I drive the LED from the top-level scope or mix my debug signal with the servant's 'q' output, the LED is blinking according to the debug signal just fine, but only driving the LED from the servant output makes no light.

paller avatar Feb 28 '25 18:02 paller

I didn't see any obvious issues in the code. Tried building it here and didn't see any issues in the logs either. I don't have the board so can't test it it, but attaching my build tree if you want to try the FPGA configuration produced by my build or compare anything. icesugar-nano-icestorm.tar.gz

olofk avatar Mar 01 '25 10:03 olofk