8-ми разрядный инкрементирующий счётчик с загрузкой

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