文档详情

实验十进制计数器的设计.doc

发布:2017-03-26约3.47千字共6页下载文档
文本预览下载声明
实验一 十进制计数器的设计 姓名:庞啟明 学号:1112120110 专业:自动化 实验目的 熟悉QuartusⅡ的Verilog HDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。 实验原理 该程序设计是带有异步复位、同步计数使能、可预置型功能全面的十进制计数器。 第一个条件句if(!RST)构成的RST接于寄存器下方的异步清0端CLR。 第二个条件句if(EN)构成EN接于寄存器左侧的使能端ENA。 第三个条件句if(LODA)构成LODA接于上面的多路选择器,使之控制选择来自DATA的数据,还是来自另一多路选择器的数据。 不完整的条件语句与语句Q1=Q1+1构成了加1加法器和4位寄存器。 语句(Q19)构成了小于比较器,比较器的输出信号控制左侧多路选择器。 第二个过程语句构成了纯组合电路模块,即一个等式比较器,作进位输出。 实验设备与软件平台 实验设备:计算机、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 (Q19) Q1 = Q1+1; else Q1 = 4b0000; end end always @(Q1) if (Q1==4h9) COUT = 1b1; else COUT = 1b0; 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按钮,出现projec
显示全部
相似文档