Tutorial: Hello LED (FPGAedu Board v1)
Tu primer "Hola mundo" en FPGA: encender un LED desde Verilog.
Objetivo
Aprender el flujo completo de síntesis y carga en la FPGAedu Board v1 (Lattice iCE40) controlando un LED on-board.
Requisitos
- FPGAedu Board v1 conectada por USB
- Toolchain abierto: Yosys + nextpnr-ice40 + IceStorm
- Editor de texto
Código Verilog
// hello_led.v
module hello_led (
input wire clk, // reloj 12 MHz on-board
output wire led
);
reg [23:0] cnt = 0;
always @(posedge clk) cnt <= cnt + 1;
assign led = cnt[23]; // ~0.7 Hz, parpadeo visible
endmodule
Archivo de restricciones (PCF)
set_io clk 35
set_io led 39
Compilar y cargar
yosys -p "synth_ice40 -top hello_led -json hello_led.json" hello_led.v
nextpnr-ice40 --hx1k --package tq144 --pcf hello_led.pcf \
--json hello_led.json --asc hello_led.asc
icepack hello_led.asc hello_led.bin
iceprog hello_led.bin
Verificación
El LED LED0 debe parpadear aproximadamente cada 1.5 segundos.
Siguiente paso
Continúa con Tutorial: Hello UART para enviar tu primer mensaje desde la FPGA al PC.