1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
module LFSR(CLK, en, COUNT); input CLK; input en; output [7:1] COUNT; reg [7:1] COUNT; initial COUNT = 7'd1; always @ (posedge CLK) if(en == 1'b1) COUNT <= {COUNT[6:1], COUNT[7] ^ COUNT[1]}; else COUNT <= COUNT; endmodule