module(
out_q, //计数器输出
clk, //时钟
load, //并行数据载入使能
enable, //计数使能
data, //置数
reset //复位信号
);
//输出端口
output[7:0] out_q;
//输入端口
input[7:0] data;
input clk, reset, enable, load;
//内部变量声明
reg[7:0] out_q;
//代码开始
always @ (posedge clk) begin
if(reset) begin //同步复位信号
out_q <= 8'b0;
end else if(load) begin //采样到置位信号
out_q <= data;
end else if(enable) begin //计数+1
out_q <= out_q + 1;
end
end
endmodule