实验一 十进制计数器的设计与仿真 电子科技大学

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一十进制计数器的设计与仿真

一、实验目的

熟悉QuartusⅡ的Verilog HDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。

二、实验原理

该程序设计是带有异步复位、同步计数使能、可预置型功能全面的十进制计数器。

(1)第一个条件句if(!RST)构成的RST接于寄存器下方的异步清0端CLR。

(2)第二个条件句if(EN)构成EN接于寄存器左侧的使能端ENA。

(3)第三个条件句if(LODA)构成LODA接于上面的多路选择器,使之控制选择来自DATA的数据,还是来自另一多路选择器的数据。

(4)不完整的条件语句与语句Q1<=Q1+1构成了加1加法器和4位寄存器。

(5)语句(Q1<9)构成了小于比较器,比较器的输出信号控制左侧多路选择器。

(6)第二个过程语句构成了纯组合电路模块,即一个等式比较器,作进位输出。

三、实验设备与软件平台

实验设备:计算机、FPGA硬件平台是Cyclone系列FPGA

软件平台:Quartus II 9.1 (32-Bit)、5E+系统

四、实验内容

编写Verilog程序描述一个电路,实现以下功能:设计带有异步复位、同步计数使能和可预置型的十进制计数器。

具有5个输入端口(CLK、RST、EN、LOAD、DATA)。CLK输入时钟信号;RST 起异步复位作用,RST=0,复位;EN是时钟使能,EN=1,允许加载或计数;LOAD 是数据加载控制,LOAD=0,向内部寄存器加载数据;DATA是4位并行加载的数据。有两个输出端口(DOUT和COUT)。DOUT的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9时输出一个高电平脉冲。

五、实验步骤

设计程序:

module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA);

input CLK;

input EN;

input RST;

input LOAD;

input [3:0] DATA;

output [3:0] DOUT;

output COUT;

reg [3:0] Q1 ;

reg COUT ;

assign DOUT = Q1;

always @(posedge CLK or negedge RST) begin if (!RST) Q1 <= 0;

else if (EN) begin

if (!LOAD) Q1 <= DATA;

else if (Q1<9) Q1 <= Q1+1;

else Q1 <= 4'b0000;

end

end

always @(Q1)

if (Q1==4'h9) COUT = 1'b1;

else COUT = 1'b0;

Endmodule

设计流程:

1.编辑和输入设计文件

(1)、新建一个文件夹

如D:\CNT10 ,本工程所有文件将存放在此目录中。

1)输入VHDL源程序

打开QuartusII,选择菜单File->New。选择Verilog HDL File,输入源程序。

2)文件存盘

选择File->Save As命令,找到已设立的文件夹D:\CNT10,存盘文件名应与实体名一致,存盘为CNT10.v。当出现语句“do you want to create…..”的对话框,选择“是”自动创建工程。这里先选择“否”,即暂时不创建工程流程。下一步手动创建工程。

(2)、创建工程

1)选择菜单File->New project Wizard命令,即弹出工程设置对话框。单击此对话框右侧的“…”进行设置,第一行的D:\CNT10表示工程所在的工作库文件夹,第二行的CNT10表示此项工程的工程名,第三行是当前工程顶层文件的实体名。

2)将设计文件CNT10.v添加入工程中。点“…”按钮,在弹出的对话框中选择CNT10.v文件。单击“Add”按钮。

3)选择目标芯片

器件选择Cyclone系列中的EP1C6Q240C8。也可以从主菜单Assignments的下拉菜单中点击 Device目标芯片设置窗口。

4)工具设置,此处不进行设置,点击Next

5)结束设置

列出了此工程相关设置情况,点击Finish按钮,出现project nevigator 窗口,显示本工程项目的层次结构和各层次的实体名。

2.全程综合与编译

选择Processing->start compilation,等待一段时间,跳出对话框提示编译成功或有错误,并在信息栏显示错误信息。

3.仿真测试

1)打开波形编辑器

选择File->new,选择vector waveform file。

2)设定仿真时间区域

在Edit->end time,在弹出的窗口time栏处输入50,单位选“us”。

3)波形文件存盘,默认文件名为CNT10.vwf

4)将此工程CNT10的端口信号名选入波形编辑器中

View->utility windows项的Node Finder选项。点击“list”。

5)将端口信号名拖入波形编辑器中,拖完信号后可以关掉浮动窗口

6)按键盘上“CTRL+W”,显示全部仿真时间区域。

7)编辑输入波形(输入激励信号)

8) 仿真器参数设置

9)启动仿真器。提示是否保存,选择“是”,仿真成功后选“确定”。

10) 观察仿真结果

按键盘上“CTRL+W”,在全部仿真时间区域内观察波形,并分析波形图显示的逻辑功能是否正确

点击“start”将配置文件下载,然后进行硬件测试。

功能仿真截图:

仿真波形图

相关文档
最新文档