Verilog HDL作业1_2
目录
作业要求
信号定义:
信号名称 | 方向 | 位宽 | 说明 |
---|---|---|---|
CLK | 输入 | 1 | 输入时钟信号 |
RST | 输入 | 1 | 输入复位清零信号,异步高电平有效 |
CNT | 输出 | 4 | 输出计数值信号 |
计数器特征:
该计数器在电路上电后会循环的从0值递增计数到最大值M,计数最大值M是一个循环变化的过程,计数器复位之后,第一次计数最大值M是6,然后是7、8、9,然后计数最大值M又变成6,如此往复循环,计数过程如下所示:
0 1 2 … 6 | 0 1 2 … 7 | 0 1 2 … 8 | 0 1 2 … 9 | 0 1 2 … 6 | …… |
---|
Quartus RTL电路图
仿真波形
代码块
module verilog_HDL_1_2(clk, rst,cnt);
reg[3:0] length=6;
input clk,rst;
output reg[3:0]cnt;
always @(posedge clk)
begin
if(rst)
cnt<=0; //复位清零
else
begin
if (cnt[3:0]<length)
cnt[3:0]=cnt[3:0]+1; //为<6时
else
begin
cnt[3:0]=0; //回0
length=length+1;
end
if(length>9)
length=6;
end
end
endmodule