QuartusII设计八进制计数器的两种方法_第1页
QuartusII设计八进制计数器的两种方法_第2页
QuartusII设计八进制计数器的两种方法_第3页
QuartusII设计八进制计数器的两种方法_第4页
QuartusII设计八进制计数器的两种方法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、实验内容及代码一、实验目的:1、掌握ISE软件的基本使用方法。2、掌握利用ISE进行硬件描述语言VHDL编程的方法。3、掌握基于ISE的软件仿真方法。4、了解利用ISE和实验系统进行硬件仿真的方法。二、实验内容:1、软件的启动:单击开始”进入程序"选中Altera程序组下的“QuartusII8.0WEBEdition子程序组,点击“QuartusII8.0WEBEdition程序项。或者在桌面上双击 “QuartusII8.0WebEdition程序图标。2、新建项目:QuartusII建议相关的设计、仿真、目标文件等信息都以项目的形式管理。项目文件建议保存在一个用户指定的文件夹中。因此我们首先要利用 Windows操作系统建立一个文件夹。然后,通过界面左边任务列表中的“OpenNewProjectWizard选项,或者主菜单File下有“NewProjectWizard?菜单进入新项目向导界面。向导介绍界面提示用户,本向导要输入的内容有项目的名称和目录;顶层设计文件的名称;项目和库文件;目标器件族和目标器件; EDA工具设置。点击“Next按钮进入下一个对话框界面。在此界面中需要填写项目名 Nameofproject,工作目录WorkingDirectoryforthisproject,顶层文件名要和设计文件中的实体名一致。点击“Nex胺钮,进入向导的下一个对话框。在这里可以把已有的文件纳入新的项目中。如果有已经存在的文件,那么可以通过这一步,将其归入本项目。然后点击 “Nex限钮,进入硬件选择对话框。点击 “Nex股钮,进入Summary对话框,如下图所示。对话框中的内容是之前各步输入信息 的归纳,如果核对无误,点击“Finish^钮。系统自动生成对应的项目。3、建立新的VHDL源文件:完成项目新建后,点击主菜单”File中的“New菜单项,弹出文件类型选择对话框。选择VHDLFile项,系统进入VHDL程序编辑界面。在这个编辑界面中,按照VHDL语法输入程序。完成后,点击保存”按钮,将写好的程序保存到工作目录下,记得程序中的实体名要和顶层设计文件名一致。4、VHDL程序设计:要求设计一个用状态机实现的八进制计数器。 根据功能要求,设计电路的输入、输出,根据逻辑关系确定输入、输出之间的逻辑关系,设计算法描述这种逻辑关系,用VHDL语言描述算法,得到如下的VHDL程序。PACKAGEMTYPEISTYPESTATE_TIS(S0,S1,S2,S3,S4,S5,S6,S7);ENDPACKAGEMTYPE;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEWORK.MTYPE.ALL;ENTITYCOUNTER8ISPORT(CLK,INC:INSTD_LOGIC;RST:INBOOLEAN;CARRY1:OUTSTD_LOGIC);ENDENTITYCOUNTER8;ARCHITECTUREARTOFCOUNTER8ISSIGNALCURRENT_STATE,NEXT_STATE:STATE_T;BEGINSYNC:PROCESS(CLK,RST)ISBEGINIF(RST)THENCURRENT_STATE<=S0;ELSIF(CLK'EVENTANDCLK='1')THENCURRENT_STATE<=NEXT_STATE;ENDIF;ENDPROCESSSYNC;FSM:PROCESS(CURRENT_STATE)ISBEGINNEXT_STATE<=S0;IF(INC='1')THENCASECURRENT_STATEISWHENS0=>NEXT_STATE<=S1;WHENS1=>NEXT_STATE<=S2;WHENS2=>NEXT_STATE<=S3;WHENS3=>NEXT_STATE<=S4;WHENS4=>NEXT_STATE<=S5;WHENS5=>NEXT_STATE<=S6;WHENS6=>NEXT_STATE<=S7;WHENS7=>NEXT_STATE<=S0;ENDCASE;ENDIF;IFCURRENT_STATE=S7THENCARRY1<='1';ELSECARRY1<='0';ENDIF;ENDPROCESSFSM;ENDARCHITECTUREART;5、检查、编译、综合VHDL源文件:在软件的主工具栏上有一个棕色的Compiler图标。点击后,软件自动进行编译。如果程序中有错误或者警告,在界面下方的信息框中会有显示: 如果没有错误,点击对话框中的“确定”按钮。6、软件仿真;点击“File”菜单下的“New”子菜单,在弹出的对话框中选择“VectorWaveformFile”。在此界面中间的空白处,单击鼠标右键,在弹出的右键菜单中选择“InsertNodeorBus弹出如下对话框,在对话框中点击“NodeFinder”按钮。在上面所示的对话框中的“Filter”边上的下拉列表中选择Pinsall,点击旁边的“List”按钮。在“NodesFound列表框中出现程序中已有的端口列表。选择在仿真中要用到的端口,导入“SelectedNodes”列表中。点击“OK”按钮,弹出对话框,再点击“OK”按钮,进入激励输入界面。用上图左边的工具栏中的信号设置激励。 根据程序的功能设计不同的激励,并保存。点击工具中蓝色的仿真开始按钮: 等待片刻,出现仿真结果,可对照真值表检查结果是否正确。7、编写一种用其他方法实现 8进制计数器功能的程序。代码如下:PACKAGEMTYPEISTYPESTATE_TIS(S0,S1,S2,S3,S4,S5,S6,S7);ENDPACKAGEMTYPE;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_SIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEWORK.MTYPE.ALL;ENTITYCOUNT8ISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;ENA:INSTDLOGIC;CQ:OUTSTD_LOGIC_VECTOR(2DOWNTO0);CARRY1:OUTSTD_LOGIC);ENDENTITYCOUNT8;ARCHITECTUREARTOFCOUNT8ISSIGNALCQI:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(CLK,CLR,ENA)BEGINIFCLR='1'THENCQI<="000";ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI="111"THENCQI<="000";CARRY1<='1';ELSECQI<=CQI+'1';CARRY1<='0';ENDIF;ENDIF;ENDIF;ENDPROCESS;CQ<=CQI;ENDART;检查、编译、综合VHDL源文件,检查没有错误后进行软件仿真创建“VectorWaveformFile”。根据程序的功能设计不同的激励,并保存。点击工具中蓝色的仿真开始按钮:等待片刻,出现仿真结果并检查结果是否正确

仿真结果如图:NmeVtlu#NmeVtlu#i16.25CAurnAOCLKA1CLRA0CQA[1:-CQ(2]A0-CQ(1]A0Lcq[o]A1ENAA1n),om190.0m1110.0ns130.0ns1 1150.0ns11TO.Oni1L90,Qns1210.0ns230.0ds1 1250.01L_nLTL^^_r_anL_n_n_r_n_TL[0]X[i]*[21X[刃,[4]天[5]][R]([Ht[0]X⑴旧五⑷;([5]|[6]Xmt[0](1111il\ ] 1 . 1_L'' 1~lBJ_ _ J_L_JI_II_1 _-二、设计思路(1)CLK为时钟信号,由时钟信号的下降沿触发计数;(2)CLR为清零控制端,当CQ0,CQ1,CQ2为高电平时清零;⑶CARRY1为置数控制端,当其为高电平时将置数输入端数据加载到输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论