Ejemplos de código

Encender una sola LED

Encender la LED en fila 3, columna 5:

module led_one (
    output wire [7:0] row_n,
    output wire [7:0] col
);
    assign row_n = 8'b1111_1011;  // fila 3 activa (bajo)
    assign col   = 8'b0001_0000;  // columna 5
endmodule

Multiplexación de un patrón

module mux_matrix (
    input  wire        clk,
    output reg  [7:0]  row_n,
    output reg  [7:0]  col
);
    reg [2:0] sel = 0;
    reg [15:0] tick = 0;

    // patrón: cada fila enciende todas sus columnas
    always @(posedge clk) begin
        tick <= tick + 1;
        if (tick == 0) begin
            sel   <= sel + 1;
            row_n <= ~(8'b1 << sel);
            col   <= 8'hFF;
        end
    end
endmodule

Refresco resultante: 12 MHz / 65 536 / 8 ≈ 22 Hz por fila → demasiado lento, ¡vas a ver parpadeo! Reduce el divisor para superar 60 Hz.

Comentarios

...