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.

Comentarios

...