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.