8-ми разрядный реверсивный счётчик

//-----------------------------------------------------
// Имя модуля : up_down_counter
// Имя файла : up_down_counter.v
// Функц. назначение : Реверсивный счётчик
// Программист : www.portal-ed.ru
//-----------------------------------------------------
module up_down_counter (
out , // Выход счётчика
up_down , // Установка направления счёта
clk , // Тактовый вход
reset // Вход сброса
);
//----------Выходные порты--------------
output [7:0] out;
//------------Входной порт--------------
input [7:0] data;
input up_down, clk, reset;
//------------Внутренние переменные--------
reg [7:0] out;
//-------------Начало кода---------------
always @(posedge clk)
if (reset) begin // active high reset
          out <= 8'b0 ;
          end else if (up_down) begin
              out <= out + 1;
              end else begin
                       out <= out - 1;
                        end
endmodule // Конец модуля up_down_counter