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的位宽
2、为4,输出计数值,从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,选择菜单Design FilesVerilogHDL (如图1所示)。图1在空白处工作框处输入任务要求中的代码,代码如下:module CNT10 (CLK,RST,EN,LOAD,COUT,D
4、OUT,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)begin if(!RST) Q1 = 0; else if(EN)begin if(!LOAD) Q1 = DATA; else if(Q19) Q1 = Q1+1; else Q1 End Time在Time栏中输入50,单位选择“us”,点击确定并保存波形文件,如图10所示。图10(3)点击Ed
5、itInsertInsert Node or BusNode FinderList OK,如图11所示。图11(4)编辑输入波形:首先进行时钟窗口设置:点击左边的 输入CLK的周期为2.56us,50%的占空比,如图12所示,设置EN、RST与LOAD,将它们设置为高电平。图12接着进行总线数据格式设置和参数设置:点击输入数据信号DATA的左边的+号,能展开此总线中的所有信号;如果双击此+号左边的信号标记,将弹出对该信号数据格式设置的Node Properties对话框,在该对话框的Radix下拉列表中有四种选择,这里选择十进制表达方式。其次输入波形数据:由于DATA是4位待加载的输入数据,需
6、要设置输入数据。用鼠标在所示信号名DATA的某一数据区拖拉出来一块蓝色区域,然后单击左侧工具栏的按钮,在弹出窗口输入数据如1,继而在不同区域设置不同数据。这里为方便观察,输入的数据依次是1,5,7,9,4,如图13所示。图13(5)仿真仿真器参数仿真:选择AssignmentSettings命令,在Settings窗口下选择Category Simulator Settings。在右侧的Simulation mode下拉列表中选择Timing,即选择时序仿真,并选择仿真激励文件名CNT10.vwf。选择Simulation Period栏,确认选中了“Run simulation until
7、all vector stimuli are used”,如图14所示。图14启动仿真器:ProcessingStart Simulation,直至出现Simulation was successful,仿真结束,然后会自动弹出“Simulation Report”,点击输出信号“DOUT”旁边的“+”,展开总线中的所有信号,可以便于我们观察和分析波形,如图15所示。图15(四)应用RTL电路图观察器ToolsNetlist ViewersRTL Viewer,结果如图16所示。图16五、实验心得通过几周的学习,我了解了FPGA编程语言的使用方法,通过设计实验项目,我掌握了Quartus II软件的用法以及十进制计数器的工作原理。在这个过程中,让我明白了动手能力的重要性,同时也使我认识到自己所学的知识还很欠缺,要加强这方面的学习。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2