/* lauta2 - Test for Mefisto Board through User Extension Port and Interface. */ module lauta2(CLK,PB_IN,SW_IN,BCOL_IN,BCOL_OUT,BROW,LED_OUT); input CLK; input [3:0] PB_IN; input [7:0] SW_IN; input [7:0] BCOL_IN; output [7:0] BCOL_OUT; output [7:0] BROW; output [7:0] LED_OUT; reg [7:0] USR1IN = 8'b0; // The multiplexed row, 8-bit shift register: reg [7:0] sel_row = 8'b00000001; assign BCOL_OUT = ~BCOL_IN; assign BROW = sel_row; assign LED_OUT = ~USR1IN; parameter msb = 15; reg [msb:0] delay_counter = 0; always @(posedge CLK) begin delay_counter <= delay_counter+1; // Wraps around, eventually. USR1IN <= {BCOL_IN[0],BCOL_IN[1],BCOL_IN[2],BCOL_IN[3],BCOL_IN[4],BCOL_IN[5],BCOL_IN[6],BCOL_IN[7]}; if(~delay_counter) sel_row <= {sel_row[6],sel_row[5],sel_row[4],sel_row[3],sel_row[2],sel_row[1],sel_row[0],sel_row[7]}; end endmodule