实例案例— 计数器

实例二 计数器(基于Robei的实验案例)

2.2.1. 本章导读

计数器在数字逻辑设计中的应用十分广泛,可以对时钟信号进行计数,分频和产生序列信号,也可以用在计时器和串并转换等电路。这次我们就来学习一下如何用Robei和Verilog语言来设计一个4比特计数器。
设计要求
计数器对每个时钟脉冲进行计数,并将数值输出出来。现在我们来设计一个4比特的计数器,其范围在0~F之间,也就是计数到最大值16。设计波形要求如图2-2-1所示:
实例案例— 计数器_第1张图片

2.2.2. 设计流程

1. 模型设计
(1)新建一个模型。点击工具栏上的在这里插入图片描述图标,或者点击菜单“File”然后在下拉菜单中选择“New”,会有一个对话框弹出来(如图2-2-2所示)。在弹出的对话框中设置你所设计的模型。
实例案例— 计数器_第2张图片
参数填写完成后点击“OK”按钮,Robei就会生成一个新的模块,名字就是counter,如图2-2-3所示:
实例案例— 计数器_第3张图片
(2)修改模型。在自动生成的界面图上进行名称地修改,输入引脚为clock,enable和reset,输出引脚修改成count。其中count引脚的“Datasize”为4比特,读者可以输入4,也可以输入3:0。为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。修改完成后如图2-2-4所示。如果选中模块,按“F1”键,就会自动生成一个Datasheet,如图2-2-5所示:
实例案例— 计数器_第4张图片
(3)输入算法。点击模型下方的Code(如图2-2-6所示)进入代码设计区。
在代码设计区内输入以下Verilog代码:
always @ (posedge clock)
begin
if (reset == 1)
begin
count<= 0;
end
else if (enable == 1)
begin
count <= count + 1;
end
end
实例案例— 计数器_第5张图片
(4)保存。点击工具栏在这里插入图片描述 图标,或者点击菜单“File”中的下拉菜单“Saveas”,将模型另存到一个文件夹中。
(5)运行。在工具栏点击在这里插入图片描述或者点击菜单“Build”的下拉菜单“Run”,执行代码检查。如果有错误,会在输出窗口中显示。如果没有错误提示,恭喜,模型counter设计完成。
2. 测试文件设计
(1)新建一个文件。点击工具栏上的在这里插入图片描述图标,在弹出的对话框中参照图2-2-7进行设计。
实例案例— 计数器_第6张图片
(2)修改各个引脚的颜色。选中每个引脚,在属性栏中对照图2-2-8进行修改引脚属性,并修改其颜色,方便区分不同的引脚信号。
实例案例— 计数器_第7张图片
(3)另存为测试文件。点击工具栏在这里插入图片描述图标,将测试文件保存到counter模型所在的文件夹下。
(4)加入模型。在Toolbox工具箱的Current栏里,会出现一个counter模型,单击该模型并在counter_test上添加,如图2-2-9所示。
实例案例— 计数器_第8张图片
(5)连接引脚。点击工具栏中的在这里插入图片描述图标,或者选择菜单“Tool”中的“Connect”,如图2-2-10所示,连接引脚。这个时候,注意查看连接线的颜色。如果鼠标要变回选择模式,点击在这里插入图片描述图标。
实例案例— 计数器_第9张图片
(6)输入激励。点击测试模块下方的“Code”,输入激励算法,如图2-2-11所示。激励代码在结束的时候要用$finish 结束。
initial begin
clock = 1;
reset = 0;
enable = 0;
#5 reset = 1;
#10 reset = 0;
#10 enable = 1;
#150 enable = 0;
#5 $finish;
end
always begin
#5 clock=~clock;
end
实例案例— 计数器_第10张图片
(7)执行仿真并查看波形。点击工具栏在这里插入图片描述,查看输出信息,检查没有错误之后点击在这里插入图片描述进行仿真,再点击在这里插入图片描述或者菜单“View”中的“Waveview”,波形查看器就会打开。点击右侧Workspace中的信号,进行添加并查看,如图2-2-12所示。点击波形查看器工具栏上的在这里插入图片描述图标进行自动缩放。分析仿真结果并对照真值表,查看设计波形与设计要求是否一致。
实例案例— 计数器_第11张图片2.2.3. 问题与思考
(1)如何利用Robei设计一个逆向计数器?计数开始时为F,每个时钟信号到来计数器减一。测试你的逆向计数器。
(2)如何利用计数器实现占空比为50% 的2分频,4分频和16分频?提示:占空比:高电平持续时间在一个总周期所占的比率。

你可能感兴趣的:(FPGA,高校,Robei案例,计数器,Robei)