1第一部分:实验要求通过本次实验,引导学生以EDA设计的手段来设计数字逻辑电路;认识可编程逻辑器件(PLD);掌握QuartusII集成开发环境软件。2一、实验目的1.学习EDA集成工具软件QuartusII的使用;2.学会基于PLD的EDA设计流程;3.学会使用原理图设计小型数字电路;4.掌握对设计进行综合、仿真和设计下载的方法。二、实验目仪器及器件1、实验设备:数字电路实验箱1台2、实验器件:可编程逻辑器件(背板)3三、实验原理可编程逻辑器件(ProgrammableLogicDevices,PLD),发展于20世纪70年代,属半定制集成电路;使用PLD器件,借助EDA设计方法,可以方便、快速地构建数字系统;任何组合逻辑电路都可以用“与门-或门”二级电路实现;任何时序逻辑电路都可以由组合逻辑电路加上存储元件(触发器、锁存器构成);人们由此提出乘积项可编程电路结构,原理结构如下:4低密度PLD可编程原理【早期器件】低密度(简单)PLD,通常内部等效门数少于500个,只能实现通用数字逻辑(如74系列)的一些功能5使用FPGA(大容量可编程逻辑器件)从事数字系统设计的三阶段:1、常规逻辑功能描述的实现;指常规数字逻辑器件,如3-8线译码器74LS138,二进制计数器74LS161,移位寄存器74LS194等;2、时序产生及控制、小型数字系统的实现;如用状态机完成AD信号的采集,产生PWM时序控制步进电机简易数字频率计、交通灯、数字种系统的实现等;3、算法功能/综合系统的实现FFT算法实现、频谱分析等。6四、实验任务参照下图,在QuartusII原理图输入环境下,画出3-8线译码器构成的流水灯电路;7五、实验步骤1.建立一个项目;2.选定目标器件(EPM240T100C5),配置管脚,对设计进行综合;3.绘制设计电路原理图;4.编辑测试激励波形文件,执行时序仿真,记录仿真结果;5.对设计进行引脚锁定,下载设计文件到芯片中;6.断电后连接验证电路,然后上电观察硬件运行结果,如不正确,需要重新修改设计;7.记录实验结果及实验过程中出现的问题及解决办法。(注:)5-7步的操作参考实验八的ppt,如本次实验未完成,第八次实验继续进行,请自行保留设计工程文件夹。8六、实验报告要求1.记录设计原理图。2.记录综合结果(逻辑单元Le的消耗情况等)。3.记录仿真结果(画出仿真波形)。4.分析结果(实验现象结论)。5.简答思考题。思考题:1、什么是可编程逻辑器件,简述其优点;2、简述QuartusII从事本实验项目设计的流程。9第二部分:QuartusII软件使用请同学们参照后面的步骤,提前做好预习,熟悉QuartusII软件的操作环境;QuartusII软件可到实验中心网站上下载,要注意它的破解步骤10一、准备1、使用QuartusII软件之前,请确保软件已正常破解若启动QuartusII时看到如下界面,则说明软件尚未正常破解,需要破解后才能正常使用:将本机D:\Altera目录下的License.Dat文件中的MAC号即完成破解;右图所示为查看本机MAC地址(实际地址)的方法。112、QuartusII6.0主界面操作环境1、ProjectNavigator(工程管理器)2、Messagewindow(信息窗口)2、Statuswindow(状态窗口)123、常用工具栏Toresetviews:1.ToolsCustomizeToolbarsResetAll2.RestartQuartusIIWindow&newfilebuttonsCompilerreportFloorplanExecutioncontrolsDynamicmenus若QuartusII界面上一些默认的按钮被关闭,影响使用,可按右边的操作步骤来复原13工程创建时的准备工作QuartusII通过“工程(Project)”来管理设计文件,必须为此工程创建一个放置与此工程相关的所有设计文件的文件夹;此文件夹名不宜用中文,也最好不要用数字,应放到磁盘上容易找到的地方,不要放在软件的安装目录中;建立完工程文件夹后再进行后续操作……二、在QuartusII6.0环境下建立工程141、项目创建向导工程文件名,任取,建立在用户自己的目录下,不要使用软件的安装目录或系统目录选择工作路径顶层实体名,一般和工程名相同文件菜单基于已有项目创建工程(一般不使用)15添加用户的设计文件•Graphic(.BDF,.GDF)•AHDL•VHDL•Verilog•EDIFNotes:•Filesinprojectdirectorydonotneedtobeadded•Addtoplevelfileiffilename&entitynamearenotthesame-选中待添加的文件后点击“Add”,若暂无文件,直接点击“Next”Adduserlibrarypathnames•Userlibraries•MegaCore®/AMPPSMlibraries•Pre-compiledVHDLpackages2、为创建的工程添加设计文件16选择CPLD/FPGA器件型号选择CPLD/FPGA器件所属系列3、器件选择本EDA实验背板所使用的器件为ALtera公司MAXII系列(Family)的EPM240T100C5(Avaliabledevices)17选择第三方EDA工具(如ModelSim、Synplify等)这里不需要4、EDA工具设置185、完成!(1)工程创建完毕,界面上在工程管理器处出现所选用的器件系列、器件名及工程文件名“epm240”;(2)可以看出:软件界面没有明显变化,需要用户再建立设计文件。19关于创建工程的补充说明(1)指定工程所在的工作库文件夹、工程名及设计实体名;(2)将设计文件加入工程中;(3)选择仿真器和综合器类型(默认“None”为选择QuartusII自带的);(4)选择目标芯片(开发板上的芯片类型);(5)工具设置(若都不选择,则使用QuartusII自带的所有设计工具);(6)结束设置。工程建立后,若需要新增设计文件,可以通过Project/Add_Remove……在工程中添加新建立的设计文件,也可以删除不需要的设计文件。编译时将按此选项卡中列出的文件处理。20三、在QuartusII6.0工程下建立设计文件1、在File菜单下点击“New”,即弹出用户设计建立向导QuartusII支持原理图输入(BlockDiagram/SchematicFile)、VHDL语言输入等多种设计输入方式,后面以原理图输入为例介绍212、建立原理图设计文件原理图绘制区绘制工具工程文件名223、调用参数化元件在绘图区双击鼠标左键,即弹出添加符号元件的窗口在此输入已知的元件名,可以快速地调出元件在此可选择查看库中所有的元件23分别调用了输入端口“input”和逻辑器件“74138”调用库元件预览244、绘图控制操作1、选择及画线工具2、文本工具3、符号工具,可跳出前面添加元件的窗口4、窗口缩放工具,左键放大,右键缩小5、窗口全屏显示,按“ESC”退出说明:使用图示2-4的工具按钮后,请切换回1按钮(选择及画线工具),才能对绘图进行编辑。其余工具按钮不常用,这里不介绍255、设计74138,并进行功能验证测试从符号库中调出74138及需要的输入、输出端口,排放整齐完成画线连接操作(鼠标放到端点处,会自动捕捉,按下左键拖动到目标处,释放后即完成一次画线操作)26为端口命名鼠标左键双击端口名,如图示74138电路Y7N端所示,直接输入用户自定义的名字即可。74138逻辑测试电路原理图设计完毕!27四、全程编译在下拉菜单“Processing”中选择“StartCompilation”,启动全程编译编译完成后的信息报告窗口28关于全程编译QuartusII的编译器由一系列处理模块构成;这些模块负责对设计项目的检错、逻辑综合、结构综合、输出结果的编辑配置,以及时序分析;在这一过程中,将设计项目适配到FPGA/CPLD目标器件中,同时产生多用途的输出文件,如功能和时序信息文件,器件编程的目标文件;编译器首先检查出工程设计文件中可能的错误信息,以供设计者排除,然后产生一个结构化的网表文件表达的电路原理图文件;启动全程编译:选择Processing/StartCompilation,自动完成分析、排错、综合、适配、汇编及时序分析的全过程。编译过程中,错误信息通过下方的信息栏指示(红色字体)。双击此信息,可以定位到错误所在处,改正后在此进行编译直至排除所有错误;编译成功后,会弹出编译报告,显示相关编译信息。29工程编译完成后,设计结果是否满足设计要求,可以通过时序仿真来分析;时序仿真主要包含如下的设置步骤:打开波形编辑器;设置仿真时间区域;波形文件存盘;将端口节点信号选入波形编辑器中;编辑输入波形(输入激励信号);总线数据格式设置启动仿真器观察仿真结果(波形编辑文件及产生的波形报告文件分开显示)若无法观察完整波形,可以使用热键Ctrl+W,即可看到完整的仿真波形。也可使用鼠标左右键,方法如下:选中后,右键放大,左键缩小顺序并不是唯一的五、时序仿真301、建立波形矢量文件(左图);2、添加引脚节点31添加引脚节点(续)在Filter下选择“Pins:unassigned”,再单击“List”,列出引脚端口”在NodesFound下方的列表下选择所列出的端口,将其拖放到波形文件的引脚编辑区323、设置仿真时间长度默认为1us,这里将其设置为100us334、设置仿真时间周期默认为10ns,由于竞争冒险的存在,在仿真时信号波形和大量毛刺混叠在一起,影响仿真结果因此,这里设置为500ns345、编辑输入端口信号信号赋值窗口缩放(左键放大,右键缩小)已编辑好的波形356、启动时序仿真分析波形可见,与74LS138功能真值表一致,结果正确