//----------------------------------------------------- // Имя модуля : lfsr // Имя файла : lfsr.v // Функц. назначение : Линейный регистр сдвига с обратной связью // Программист : www.portal-ed.ru //----------------------------------------------------- module lfsr ( out , // Выход счётчика enable , // Разрешение счёта clk , // Тактовый вход reset // Вход сброса ); //----------Выходные порты-------------- output [7:0] out; //------------Входные порты-------------- input [7:0] data; input enable, clk, reset; //------------Внутренние переменные-------- reg [7:0] out; wire linear_feedback; //-------------Начало кода------- assign linear_feedback = !(out[7] ^ out[3]); always @(posedge clk) if (reset) begin // active high reset out <= 8'b0 ; end else if (enable) begin out <= {out[6],out[5], out[4],out[3], out[2],out[1], out[0], linear_feedback}; end endmodule // Конец модуля counter