Inicio rápido

En menos de 10 minutos vas a tener un LED parpadeando en tu FPGAedu Board v1 usando solo herramientas open-source.

1. Instalar el toolchain

En Linux (Debian/Ubuntu):

sudo apt install yosys nextpnr-ice40 fpga-icestorm

En macOS con Homebrew:

brew install yosys nextpnr icestorm

2. Tu primer Verilog

Crea blink.v:

module blink (
    input  wire clk,      // 12 MHz on-board
    output wire led
);
    reg [23:0] counter = 0;
    always @(posedge clk) counter <= counter + 1;
    assign led = counter[22];   // ~1.4 Hz
endmodule

3. Constraints

Crea board.pcf:

set_io clk 21
set_io led 95

4. Compilar y cargar

yosys    -p "synth_ice40 -json blink.json" blink.v
nextpnr-ice40 --hx1k --package tq144 --json blink.json --pcf board.pcf --asc blink.asc
icepack  blink.asc blink.bin
iceprog  blink.bin

¡Listo! El LED D1 debería parpadear aproximadamente cada segundo.

Solución de problemas

  • iceprog: cannot find iCE FTDI USB device: revisa que la tarjeta esté conectada y que tu usuario tenga permisos sobre el dispositivo USB (en Linux, agrega tu usuario al grupo plugdev).
  • El LED no parpadea: verifica que el pin del LED en board.pcf coincida con tu revisión de hardware.

Comentarios

...