基于某FPGA十进制同步计数器.doc

上传人:夺命阿水 文档编号:7019 上传时间:2022-06-21 格式:DOC 页数:8 大小:510.50KB
返回 下载 相关 举报
基于某FPGA十进制同步计数器.doc_第1页
第1页 / 共8页
基于某FPGA十进制同步计数器.doc_第2页
第2页 / 共8页
基于某FPGA十进制同步计数器.doc_第3页
第3页 / 共8页
基于某FPGA十进制同步计数器.doc_第4页
第4页 / 共8页
基于某FPGA十进制同步计数器.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《基于某FPGA十进制同步计数器.doc》由会员分享,可在线阅读,更多相关《基于某FPGA十进制同步计数器.doc(8页珍藏版)》请在课桌文档上搜索。

1、word十进制同步计数器一、 实验目的1.学习十进制同步计数器的Verilog硬件设计2.学会并掌握Quartus II软件的使用3.学会并掌握modelsim仿真软件的使用二、 实验原理进制计数器具有电路结构简单、运算方便等特点,但是日常生活中我们所接触的大局部都是十进制数,特别是当二进制数的位数较多时,阅读非常困难,还有必要讨论十进制计数器。在十进制计数体制中,每位数都可能是0,1,2,9十个数码中的任意一个,且“逢十进一。 根据计数器的构成原理,必须由四个触发器的状态来表示一位十进制数的四位二进制编码。第2个计数脉冲来到后,其状态为0010。以下类推,可以得到如表1所示的状态表。但需注意

2、:在第9个脉冲来到后,亦即计数器处于1001态时,低电平封住了F2的置1端,Q1的高电平又使K41,故第十个计数脉冲来到后,F2、F3状态不变,F1、F4同时置0,计数器跳过多余的6个状态,完成一次十进制计数循环。计数NQ4 Q3 Q2 Q1十进制00 0 0 0 010 0 0 1120 0 1 0230 0 1 1340 1 0 0450 1 0 1560 1 1 0670 1 1 1781 0 0 0891 0 0 19101 0 1 0*111 0 1 1*121 1 0 0*131 1 0 1*表1 同步十进制加法计数器状态表为了满足十进制加法计数器的原理,本实验用Verilog程序

3、在FPGA/CPLD中来实现。首先设计一个程序,程序为脉冲输入,设输出的四位码为q3:0,十进制计数值为count,脉冲上升沿时q值+1,直到q=9时count=1,q置零重新开始计数直至下一个q=9,count=2,依次循环。三、 实验任务1. 根据实验目的编写verilog程序2. 将设计好的Verilog译码器程序在Quartus II上进展编译3. 对程序进展适配、仿真,给出其所有信号的时序仿真波形图注意仿真波形输入激励信号的设置。本实验要求自己设置clr值,理解清零的意义四、实验步骤:1.建立工作库文件和编辑设计文文件任何一项设计都是一项Project工程,而把一个工程下的所有文件放

4、在一个文件夹是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认为Work Library工作库,所以第一步先根据自己的习惯,建立个新的文件夹。1新建文件夹:在E盘建立并保存工程,文件夹取名myproject,工程取名为t10_12输入源程序:打开Quartus II,选择菜单File-New-Design Files-VerilogHDL File-OK(如如下图所示)代码如下:module t10_1(clr, clk, q, cout);inputclr, clk;output3:0q;outputcout;reg3:0q;regcout;alwa

5、ys (posedge clk)beginif (clr)q = 0;else beginif (q = 9)q = 0;elseq = q + 1;if (q = 0)cout = 1;elsecout = 0;endendendmodule3保存文件:完成一步就保存一步是一个好习惯,这样即使出现意外情况,也不至于以前的努力付诸东流。选择File-Save as,选择保存路径,即刚刚新建的文件夹myproject,文件名应与实体名保持一致,即t10_1,点击保存后会跳出“Do you want to create a new project with this file?选择“是,如此进入如

6、下界面点击Next,进入“工程设置对话框,如下列图第一行表示工程所在的文件夹,第二行为工程名,可以与顶层文件的实体名保持一致,也可以另取别的名字,第三行为当前工程顶层文件的实体名。点击next,进入ADD FILE对话框,如下列图,单击Add All 按钮,将工程相关的所有VHDL文件加进工程,也可以单击“Add.选择性参加,按此步骤建立工程,工程已经自动将所有文件加进去了,可以直接点击next,当先直接建立工程时,需要自己添加。4选择目标芯片:我们选用的是CycloneIII系列的EP3C55F484C8,在Family栏选择芯片系列CycloneIII,在窗口右边的三个下拉列表框选择过滤条

7、件,分别选择Package为FBGA、Pin count为484和Speed grade为8,点击Next,如下列图5工具设置:进入EDA工具设置窗口,有三个选项,分别是选择输入的HDL类型和综合工具、选择仿真工具、选择时序分析工具,这是除Quartus II自含的所有设计工具以外的外加的工具,如果不作选择的,表示仅选择Quartus II自含的所有设计工具,本次不需要其他的设计工具,可以直接点击Next6完毕设置:进入“工程设置统计窗口,列出了与此工程相关的设置情况,设置完成,点击Finish。2.编译配置好后就可以进展编译了,点击ProcessingStart pilation命令,启动全

8、程编译编译成功后的界面如下列图3.时序仿真1打开波形编辑器:File-New-Verification/Debugging Files-Vector Waveform-OK,即出现空白的波形编辑器,如下列图2设置仿真时间区域:Edit-End Time在Time栏中输入50,单位选择“us,点击确定并保存波形文件3将工程t10_1的端口信号名选入波形编辑器中:View-Utility windows-Node Finder,在Filter框中选Pins:all通常是默认选项,然后点击List,如此显示出了所有引脚,如下列图将重要的端口名拖进波形编辑器后关闭窗口4编辑输入波形:首先进展总线数据格

9、式设置和参数设置:点击信号左边的+号,能展开此总线中的所有信号;如果双击此+号左边的信号标记,将弹出对该信号数据格式设置的Node Properties对话框,在该对话框的Radix下拉列表中有四种选择,这里可选择二进制Binary表达方式。其次输入波形数据:用鼠标在图所示信号名的某一数据区拖拉出来一块蓝色区域,然后单击左侧工具栏的问号?按钮,在弹出窗口输入数据,继而在不同区域设置不同数据。本设计不需要输入数据,脉冲与输入。5仿真仿真器参数仿真:选择AssignmentSettings命令,在Settings窗口下选择Category Simulator Settings。在右侧的Simula

10、tion mode下拉列表中选择Timing,即选择时序仿真,并选择仿真激励文件名t10_1.vwf。选择Simulation Period栏,确认选中了“Run simulation until all vector stimuli are used。6启动仿真器:Processing-Start Simulation ,直至出现Simulation was successful,仿真完毕,然后会自动弹出“Simulation Report如下列图4.应用RTL电路图观察器Tools-Netlist Viewers-RTL Viewer,结果如下列图四、 实验总结FPGA的学习是一个循序渐进的过程。一开始接触到Qurtus ii的时候觉得很困难,尤其是仿真,初次仿真的时候对参数的设置没有清晰的认识。通过对实验的一步步探究,开始逐渐了解软件的使用方法和技巧,并熟悉了仿真的方法和参数设置。经过几周的学习,我觉得学习应该脚踏实地,FPGA的学习也一样。首先要做的是学习软件的使用,然后把课本上的知识应用在软件上,自己动手做一下程序,最好提前安装一下QuartusII,并练习程序编写,这样会对后续的深入学习有很大帮助。8 / 8

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号