当前位置:文档之家› robei计数器设计

robei计数器设计

计数器
1.实验目的
计数器在数字逻辑设计中的应用十分广泛,可以对时钟信号进行计数,分频和产生序列信号,也可以用在计时器和串并转换等电路。

这次实验我们就来学习一下如何用Robei和Verilog语言来设计一个4比特计数器。

2.实验要求
计数器对每个时钟脉冲进行计数,并将数值输出出来。

这个实验我们来设计一个4比特的计数器,其范围在0~F之间,也就是计数到最大值16。

设计波形要求如图2-2-1所示:
图2-2-1 计数器输出波形要求
3.实验内容
3.1 模型设计
1)新建一个模型。

点击工具栏上的图标,或者点击菜单“File”然后在下拉菜单中选择“New”,会有一个对话框弹出来(如图2-2-2所示)。

在弹出的对话框中设置你所设计的模型。

图2-2-2 新建一个项目
参数填写完成后点击“OK”按钮,Robei(服务号)就会生成一个新的模块,名字就是counter,如图2-2-3所示:
图2-2-3 计数器界面图
2)修改模型。

(公众号:Robei)在自动生成的界面图上进行名称地修改,输入引脚为clock,enable和reset,输出引脚修改成count。

其中count引脚的“Datasize”为4比特,用户可以输入4,也可以输入3:0。

为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。

修改完成后如图2-2-4所示。

如果选中模块,按“F1”键,就会自动生成一个Datasheet,如图2-2-5所示:
图2-2-4 修改引脚属性
图2-2-5 “Datasheet”截图
3)输入算法。

点击模型下方的Code(如图2-2-6所示)进入代码设计区。

图2-2-6 点击Code输入算法
在代码设计区内输入以下Verilog代码:
always @ (posedge clock) //学习always语句的写法,并设置敏感信号。

时钟上升沿触发
begin
//学习Verilog if else语句的写法
if (reset == 1) begin
count<= 0;
end
//if enable is 1, counter starts to count
else if (enable == 1) begin
count <= count + 1;
end
end
4)保存。

点击工具栏图标,或者点击菜单“File”中的下拉菜单“Saveas”,将模型另存到一个文件夹中。

5)运行。

在工具栏点击或者点击菜单“Build”的下拉菜单“Run”,执
行代码检查。

如果有错误,会在输出窗口中显示。

如果没有错误提示,恭喜,模型counter设计完成。

3.2 测试文件设计
1)新建一个文件。

点击工具栏上的图标,在弹出的对话框中参照图2-2-7进行设计。

图2-2-7 新建测试文件
2)修改各个引脚的颜色。

选中每个引脚,在属性栏中对照图2-2-8进行修改引脚属性,并修改其颜色,方便区分不同的引脚信号。

图2-2-8 引脚属性表
3)另存为测试文件。

点击工具栏图标,将测试文件保存到counter模型所在的文件夹下。

4)加入模型。

在Toolbox工具箱的Current栏里,会出现一个counter模型,单击该模型并在counter_test上添加。

图2-2-9 添加模型
5)连接引脚。

点击工具栏中的图标,或者选择菜单“Tool”中的“Connect”,如图2-2-10所示,连接引脚。

这个时候,注意查看连接线的颜色。

如果鼠标要变回选择模式,点击图标。

图2-2-10 连接引脚
6)输入激励。

点击测试模块下方的“Code”,输入激励算法。

激励代码在结束的时候要用$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;//每隔5个时钟,clock取反一次,占空比50%
end
图2-2-11 激励代码
7)执行仿真并查看波形。

点击工具栏,查看输出信息。

检查没有错误之后点击,或者点击菜单“View”中的“Waveview”。

波形查看器就会打开。

点击右侧Workspace中的信号,进行添加并查看。

点击波形查看器工具栏上的
图标进行自动缩放。

分析仿真结果并对照真值表,查看设计波形与实验要求是否一致。

图2-2-12 查看波形
4.问题与思考
1.如何利用Robei设计一个逆向计数器?计数开始时为F,每个时钟信号到来计数器减一。

测试你的逆向计数器。

2.如何利用计数器实现占空比为50% 的2分频,4分频和16分频?提示:占空比:高电平持续时间在一个总周期所占的比率。

相关主题