十进制计数器设计.docx

上传人:牧羊曲112 文档编号:5076184 上传时间:2023-06-02 格式:DOCX 页数:8 大小:195.39KB
返回 下载 相关 举报
十进制计数器设计.docx_第1页
第1页 / 共8页
十进制计数器设计.docx_第2页
第2页 / 共8页
十进制计数器设计.docx_第3页
第3页 / 共8页
十进制计数器设计.docx_第4页
第4页 / 共8页
十进制计数器设计.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《十进制计数器设计.docx》由会员分享,可在线阅读,更多相关《十进制计数器设计.docx(8页珍藏版)》请在三一办公上搜索。

1、十进制计数器设计一、实验目的:熟悉Quartus II的Verilog文本设计流程全过程,学习十进制计数器的设 计、仿真,掌握计数器的工作原理。二、实验原理:计数器属于时序电路的范畴,其应用十分普遍。该程序设计是要实现带有 异步复位、同步计数使能和可预置型的十进制计数器。该计数器具有5个输入端口(CLK、 RST、EN、LOAD、DATA)。CLK输入时钟信号;RST起异步复位作用,RST=0,复位; EN是时钟使能,EN=1,允许加载或计数;LOAD是数据加载控制,LOAD=0,向内部寄存 器加载数据;DATA是4位并行加载的数据。有两个输出端口(DOUT和COUT)。DOUT 的位宽为4,

2、输出计数值,从0到9; COUT是输出进位标志,位宽为1,每当DOUT为9 时输出一个高电平脉冲RST在任意时刻有效时,如CLK非上升沿时,计数也能即刻清0; 当EN=1,且在时钟CLK的上升沿时刻LOAD=0,4位输入数据DATA被加载,但如果此 时时钟没有上升沿,尽管出现了加载信号LOAD=0,依然未出现加载情况;当 EN=1,RST=1,LOAD=1时,计数正常进行,在计数数据等于9时进行输出高电平。三、实验任务:在Quartus II上将设计好的程序进行编辑、编译、综合、适配、仿真,从 时序仿真图中学习计数器工作原理,了解计数器的运行情况及时钟输入至计数器数据输出的 延时情况。四、实验

3、步骤:(一)、建立工作库文件和编辑设计文件任何一项设计都是一项Project(工程),而把一个工程下的所有文件放在一个文件夹内 是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被 EDA软件默认为Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件 夹。(1)新建文件夹:在盘建立并保存工程,将文件夹取名Jishuqi。(2)输入源程序:打开 Quartus II,选择菜单 File3New3Design FilesVerilogHDL File3OK(如图1所示)。图1在空白处工作框处输入任务要求中的代码,代码如下:module CNT10

4、 (CLK,RST,EN,LOAD,COUT,DOUT,DATA);input CLK, EN, RST,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)beginif(!RST) Q1 = 0;else if(EN)beginif(!LOAD) Q1 = DATA;else if(Q19) Q1 = Q1+1;else Q1 T-,、 E?(6)结束设置:进入“工程设置统计”窗口,列出了与此工程相关的设

5、置情况,设置完成,点击Finish,如图7所示。INe Prsjsrt Wizard: Summary jpgp 55|wrwnj.ajct+. F “歌 信 prqi uJ be 前uh the-始盼磐PrniKi difclaj:E/hg1Aapcl nTiBCHTIDW 心 i 如 t MiyCHTIDIWMol 阳 added1NM?君 dfc*s w flddwi0DeviceCjiz-tafw III如云e:EFW矛略心3EDAli/dDbekfiSwjtfiwrNwis:Tim*q 标 B;口 mmE ronJirg:gWT -Ktw:1.&Ji-ncfem如miP旺IRPaca

6、ah Mb上(二) 、编译配置好后就可以进行编译了,点击Processing Start Compilation命令,启动全程编译编译成功后的界面如图8所示。图8(三) 、时序仿真(1)打开波形编辑器:File3New3Verification/Debugging FilesVector WaveformOK,即出现空白的波形编辑器,如图9所示。(2)设置仿真时间区域:Edit-End Time在Time栏中输入50,单位选择“us”点击确定并保存波形文件,如图10所示。End TimeTirre.(5DV|Delajlt citerfikin cplnns:EhLe七riwJus: |Lds

7、tckick psAtEmEnd Ire otension pri jigral河 ralNrgDjrmlion Rod 中QK | CjidtI图10(3)点击 Edit3lnsert3lnsert Node or Bus3Node Finder3List3 3OK,如图 11 所示。图11iNode FinderName| 1UnaMigi&d 1 - ni tIJrOrj C/勇UrfiMgi&j 1UnaMiyt&d 1顼FUrmdrej 1Llried 1UraKeid 1IJnaMgieid C*DUUT0UnaMiyt&d C - rl TUr 函gj CEfDOUTPLlrM

8、虾wdCL_L |JUnatMgi&d C顼1Urmiorej 1顼L、:1It-RSI1jL1111NodflsFixrd:如沏mais | TFIMIUICLKiJnafMijBiJ If-rr.T-ini tUnssbrfti CIJnawijed IrUnafMij&d li-_-i:r.T:i:iJrasskhal Ir_l:r.T-Llrg li-_rr.Tli-l:r.TH:rIJnaMijied iJnaFij&d L-rr.T -ir- rr:Lliwgl CdCNT10iOLI7|2IJnaMijed _.i.r.i jl.j |:r.THC.Dli-_rr.T if;-U

9、na3ijed Ir二- elated Hochs:Named |r,7- Fi: -1t|CustorrizE.Im- 可二P Include显企遍英Diccl(4)编辑输入波形:首先进行时钟窗口设置:点击左边的输入CLK的周期为2.56us, 50%的占空比,如图12所示,设置EN、RST与LOAD,将它们设置为高电平。图12接着进行总线数据格式设置和参数设置:点击输入数据信号DATA的左边的+号,能展开此 总线中的所有信号;如果双击此+号左边的信号标记,将弹出对该信号数据格式设置的Node Properties对话框,在该对话框的Radix下拉列表中有四种选择,这里选择十进制表达方式。

10、其次输入波形数据:由于DATA是4位待加载的输入数据,需要设置输入数据。用鼠标在 所示信号名DATA的某一数据区拖拉出来一块蓝色区域,然后单击左侧工具栏的?按钮, 在弹出窗口输入数据如1,继而在不同区域设置不同数据。这里为方便观察,输入的数据依 次是1,5,7,9,4,如图13所示。图13(5)仿真仿真器参数仿真:选择 AssignmentSettings命令,在Settings窗口下选择 Category Simulator Settingso在右侧的Simulation mode下拉列表中选择Timing,即选择时序仿真,并 选择仿真激励文件名CNT10.vwf。选择Simulation

11、Period栏,确认选中7“Run simulation until all vector stimuli are used”,如图 14 所示。图14启动仿真器:Processing3Start Simulation,直至出现 Simulation was successful,仿真结束, 然后会自动弹出“Simulation Report”,点击输出信号“DOUT”旁边的+”,展开总线中的所有 信号,可以便于我们观察和分析波形,如图15所示。图15(四)应用RTL电路图观察器Tools3Netlist ViewersRTL Viewer 结果如图 16 所示。日mMia山 Lal / frd j!图16甲 E Liii 耳 agCMTUC IW-0Frrnimjfh+-OFira,J亩Q号Cb中心叶可件由痴PeTrt |(MT1IDrm.i硕JEQq窿mmISB.T-Wi五、实验心得通过几周的学习,我了解了 FPGA编程语言的使用方法,通过设计实验项目,我掌握了 Quartus II软件的用法以及十进制计数器的工作原理。在这个过程中,让我明白了动手能力 的重要性,同时也使我认识到自己所学的知识还很欠缺,要加强这方面的学习。

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号