数字电路综合设计电子实验中心课程要求本课程分四次实验进行,每次4学时。实验一人一组,四次实验安排如下:第一次:EDA相关理论知识讲解;介绍QUARTUSII软件的使用方法,完成流水灯的设计,仿真和下载实现;第二次:介绍课程设计课题要求及相关的理论知识,自行进行相关模块的设计及仿真;第三次:继续完成整个课程设计课题的设计与实现;第四次:课程设计课题的检查及提问答辩。课程完成后提交课程设计总报告。最后成绩评定:考勤+平时实验情况+课程设计报告+最后检查及答辩。1.1电子设计自动化技术及其发展EDA:ElectronicDesignAutomationEDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计。1、EDA介绍利用EDA技术进行电子系统的设计,具有以下几个特点:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。1.2EDA技术的主要内容1.大规模可编程逻辑器件FPGA:FieldProgrammableGateArrayCPLD:ComplexProgrammableLogicDeviceSOC:SystemOnChip2.硬件描述语言(HDL)HDLVHDLVerilogHDLABELAHDLSystemVerilogSystemC英文全名是VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage3.软件开发工具Altera公司:MAX+PLUSII和QuartusIIXilinx公司:Foundation和ISELattice公司:ispEXPERT4.实验开发系统实验开发系统提供芯片下载电路及EDA实验/开发的外围资源,以供硬件验证用。一般包括:①实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等;②FPGA/CPLD输出信息显示模块,包括数码显示、发光管显示、声响指示等;③FPGA/CPLD目标芯片和编程下载电路。课程设计实验板硬件测试测试电路仿真器功能仿真行为仿真时序仿真VHDL仿真器门级时序仿真功能仿真编程、下载编程器/下载电缆VHDL/Verilog网表熔丝图、SRAM文件、自动优化、布局、布线/适配FPGA/CPLD布线/适配器(EDIF,XNF,VHDL¡)网表文件VHDL源程序逻辑综合、优化VHDL综合器生成VHDL源程序图形编辑器文本编辑器1.3面向FPGA/CPLD的开发流程1、设计输入图形输入原理图输入状态图输入波形图输入硬件描述语言文本输入2.逻辑综合所谓逻辑综合,就是将电路的高级语言描述(如HDL、原理图或状态图形的描述)转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件。3.目标器件的布线/适配所谓逻辑适配,就是将由综合器产生的网表文件针对某一具体的目标器进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布线与操作等,配置于指定的目标器件中,产生最终的下载文件。4.目标器件的编程/下载如果编译、综合、布线/适配和行为仿真、功能仿真、时序仿真等过程都没有发现问题,即满足原设计的要求,则可以将由布线/适配器产生的配置/下载文件通过编程器或下载电缆载入目标芯片FPGA或CPLD中。5.设计过程中的有关仿真行为仿真:将VHDL设计源程序直接送到VHDL仿真器中所进行的仿真。该仿真只是根据VHDL的语义进行的,与具体电路没有关系。功能仿真:将综合后的VHDL网表文件再送到VHDL仿真器中所进行的仿真。时序仿真:将布线器/适配器所产生的VHDL网表文件送到VHDL仿真器中所进行的仿真。6.硬件测试所谓硬件测试,就是FPGA或CPLD直接用于应用系统的设计中,将下载文件下载到FPGA后,对系统的设计进行的功能检测的过程。硬件测试的目的,是为了在真实的环境中检验VHDL设计的运行情况。2、QuartusII的使用方法(以8位流水灯的设计,仿真与实现为例)18流水灯实验原理流水灯是一种效果灯光,它通过按固定的规律将LED点亮或熄灭上图给出了一种简单的流水灯状态变化示意图,用逻辑电路控制8个LED灯,始终保持7亮1暗,在脉冲信号CP的推动下循环流动;将灯亮用1表示,灯灭用0表示;………………………………使用八进制计数器产生74LS138地址端所需的8个地址信号,将计数输出Q0、Q1、Q2分别接入74LS138的A0、A1、A2,为计数器提供低频连续脉冲CP,即可在74LS138的8个输出端获得流水灯的连续状态输出8进制计数器3-8线译码器CPQ0Q1Q2A0A1A2八进制计数器可以通过将3个JK或D触发器先组成T’触发器,然后再级联为异步计数器一、准备1、使用QuartusII软件之前,请确保软件已正常破解若启动QuartusII时看到如下注册许可界面,则说明软件尚未注册许可,需要进行认证后才能正常使用:开始菜单\运行中输入命令:cmd,打开dos命令窗;在命令窗中输入:ipconfig/all,即列出本机物理地址physiccaladdress;用记事本打开本机D:\Altera目录下的License.Dat文件,将其中的HostID替换为本机的物理地址即完成破解。(替换时需注意不能插入空格并去掉符号“-”)保存文件并关闭,重启Quartus,注册许可界面已消失。20若注册请求界面还未消失请按左图选择在下图中重设文件指向路径2、QuartusII13.1主界面操作环境221、ProjectNavigator(工程管理器)3、Messagewindow(信息窗口)2、Statuswindow(状态窗口)4、工作区域3、常用工具栏23下载按钮编译按钮4、开发流程24打开QuartusII13.1软件创建保存工程文件的文件夹创建新的工程创建新的设计文件(原理图,VHDL代码,波形图等)编译定义引脚pin仿真重新编译后下载测试并记录结果工程创建时的准备工作QuartusII通过“工程(Project)”来管理设计文件,必须为此工程创建一个放置与此工程相关的所有设计文件的文件夹;此文件夹名不宜用中文,也最好不要用数字,应放到磁盘上容易找到的地方,不要放在软件的安装目录中;建立完工程文件夹后再进行后续操作……25二、在QuartusII13.1环境下建立工程1、工程创建向导26工程文件名,建立在用户自己的目录下,不要使用软件的安装目录或系统目录选择文件的存放路径顶层实体名,一般和工程名相同文件菜单基于已有项目创建工程(一般不使用)设置完毕后单击“Next”2、为创建的工程添加设计文件27添加用户的设计文件-选中待添加的文件后点击“Add”,若暂无文件,直接点击“Next”设置完毕后单击“Next”3、器件选择28选择FPGA器件型号选择FPGA器件所属系列实验开发板所使用的器件为ALtera公司CycloneIVE系列(Family)的EP4CE15E22C8(Avaliabledevices)设置完毕后单击“Next”4、EDA工具设置29选择第三方EDA仿真工具(ModelSim-Altera)设置完毕后单击“Next”5、完成!30工程创建完毕,在工程管理器界面出现所选用的器件系列、器件名及工程文件名;单击“Finish”,完成工程创建综上所述,创建工程时的几个步骤如下:(1)指定工程所在的工作库文件夹、工程名及设计实体名;(2)将设计文件加入工程中,若无设计文件直接跳过;(3)选择目标芯片(开发板上的芯片类型);(4)选择仿真工具类型;(5)完成创建。工程建立后,若需要新增设计文件,可以通过菜单项Project/Add_Remove……在工程中添加新建立的设计文件,也可以删除不需要的设计文件。编译时将按此选项卡中列出的文件处理。3132三、在QuartusII工程下建立设计文件1、在File菜单下点击“New”,即弹出新建文件窗口QuartusII支持原理图输入、VHDL语言输入等多种设计输入方式原理图文件VHDL文件波形图文件2、原理图设计文件创建方法33原理图编辑区绘图辅助工具(1)上图中,选择BlockDiagram/SchematicFile,点击ok后即得如下界面:(2)打开元件库,调用内置元件及端口在绘图区双击鼠标左键,即弹出添加元件的窗口34在此输入已知的元件名,可以快速地调出元件或信号端口并预览这里可查看库中所有的元件或端口绘图辅助工具栏介绍351、画线及选择工具2、文本工具3、符号工具,点击后可调出前面添加元件的窗口4、窗口缩放工具5、窗口全屏显示,按“ESC”退出注意:使用窗口缩放工具按钮后,请切换回画线及选择工具按钮,才能对绘图进行编辑。其余工具按钮不常用,这里不介绍选中后,右键放大,左键缩小分别输入“input”和“74138”时的预览窗口36输入74138,库里已有的元件会预览在这里输入INPUT,库里已有的端口符号会预览在这里单击OK,即可将预览的端口符号/元件放置在绘图区37从符号库中调出JKFF、74138、VCC、GND、INPUT、OUTPUT等符号/端口,排放整齐;完成画线连接操作鼠标放到端点处,会自动变为小十字形,按下左键拖动到目标处,释放后即完成本次画线操作若要画折线,在转折处单击一次左键,继续拖动即可;为INPUT、OUTPUT端口命名:双击该输出端口,在弹出的窗口中输入名称即可。调用元件库中基本数字电路分立元件完成的8位流水灯电路原理图:调用LPM宏功能模块方法介绍(以计数器为例)在原理图编辑模式下,双击鼠标左键,在弹出的库文件中打开megafunctions文件夹,选择需要的LPM宏模块,设置参数后即可放置在原理图中。3、VHDL程序设计文件创建方法VHDL文件保存文件名与实体名一致设置置顶,并编译当前的VHDL文件在图示位置菜单中选择“SetasTop-LevelEntity”启动全程编译若出现报错,根据提示,排查错误创建用户自己的元件符号在图示位置菜单中选择“CreatSymbolFileforCurrentFile”将自己的设计描述生成元件符号,供原理图方式调用(自己设计的元件在元件库的project文件夹内)522020/4/21调用元件库中LPM计数器,用VHDL实现3-8译码器完成的8位流水灯:54四、全程编译选择菜单Processing-StartCompilation,或者单击按钮,即启动了完全编译完成输入设计后,进行全程编译,步骤如下:关于全程编译55启动全程编译:选择Processing/StartCompilation,自动完成分析、排错、综合、适配、汇编及时序分析的全过程。编译过程中,错误信息通过下方的信息栏指示(红色字体)。双击错误信息,可以定位到错误所在处,改正后再次进行编译直至排除所有错误;编译成功后,会弹出编译报告,显示相关编译信息。工程编译完成后,设计结果是否满足设计要求,可以通过时序仿真来分析;时序仿真主要包含如下的设置步骤:打开波形编辑器;设置仿真时间区域;波形文件存盘;将端口节点信号选入波形编辑器中;编辑输入波形(输入激励信号);总线数据格式设置启动仿真器观察仿真结果(波形编辑文件及产生的波形报告文件分开显示)若无法观察完整波形,可以使用热键Ctrl+W,即可看到完整的仿真波形。也可使用鼠标左右键,方法如下:56选中后,右键放大,左键缩小顺序并不是唯一的五、时序仿真1、建立波形矢量文件2、添加引脚节点57添加引脚节点(续)58在Filter下选择“Pins:unassigned”,再单击“List”,列出引脚端口”在Nod