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 grupoplugdev).- El LED no parpadea: verifica que el pin del LED en
board.pcfcoincida con tu revisión de hardware.