module example(CLK, LD); input CLK; output [15:0] LD; wire clock; reg [15:0] leds; BUFG CLK_BUF (.I(CLK), .O(clock)); OBUF LD_BUF[15:0] (.I(leds), .O(LD)); parameter COUNTBITS = 26; reg [COUNTBITS-1:0] counter; always @(posedge CLK) begin counter <= counter + 1; if (counter[COUNTBITS-1]) leds <= 16'h8000 >> counter[COUNTBITS-2:COUNTBITS-5]; else leds <= 16'h0001 << counter[COUNTBITS-2:COUNTBITS-5]; end endmodule