硬件描述语言与eda技术实验指导书(15年)

上传人:子 文档编号:42362291 上传时间:2018-06-01 格式:DOC 页数:48 大小:7.75MB
返回 下载 相关 举报
硬件描述语言与eda技术实验指导书(15年)_第1页
第1页 / 共48页
硬件描述语言与eda技术实验指导书(15年)_第2页
第2页 / 共48页
硬件描述语言与eda技术实验指导书(15年)_第3页
第3页 / 共48页
硬件描述语言与eda技术实验指导书(15年)_第4页
第4页 / 共48页
硬件描述语言与eda技术实验指导书(15年)_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《硬件描述语言与eda技术实验指导书(15年)》由会员分享,可在线阅读,更多相关《硬件描述语言与eda技术实验指导书(15年)(48页珍藏版)》请在金锄头文库上搜索。

1、微电子学课程设计指导书63硬件描述语言与 EDA 技术实践(编写人 陈先朝)第一部分:第一部分:组合逻辑电路设计、仿真和下载验证实践项目性质:实践项目性质:综合训练所涉及课程:所涉及课程:电路分析、数字电子技术基础、硬件描述语言与 EDA 技术一、一、实践目的:实践目的:1.学习和初步掌握 QuartusII 软件的基本操作;2.通过 38 译码器的设计,掌握组合逻辑电路的设计方法,掌握其静态测试的方法;3.初步了解可编程器件设计的全过程,掌握原理图的设计方法。二、二、实践步骤:实践步骤:说明:说明:本实践步骤较概要地介绍 altera 公司 QuartusII9.1 版本软件的基本操作步骤,

2、由于版本的不同,所介绍的界面可能会与其他版本的界面有所不同,请注意甄别。下载所选的芯片是附录的 EL-EDA_VI 型实验箱芯片,不同的实验箱,芯片是不一样的,当然分配管脚的信息也不一样,设计时要先确认用哪一种实验箱,本实践室共有 4 种实验箱(详见附录)。读者在通过本实践后,将对 QuartusII 软件及 CPLD/FPGA 的设计与应用有一个比较完整的概念和思路。但因篇幅有限,仅仅介绍了 QuartusII 软件的最基本、最常用的一些基本功能,更详细的使用,请参阅该软件的专门书籍。相信读者在熟练使用本软件以后,你定会发现该软件还有好多非常方便、快捷、灵活的设计技巧与开发功能。1、打开打开

3、 QuartusII 软件。软件。微电子学课程设计指导书642、选择路径。、选择路径。选择 File/New Project Wizard,指定工作目录,指定工程和顶层设计实体名称。每设计一个项目,都应指定一个相应的目录,便于管理,因为在后面的编译、仿真与验证过程中,会产生许多相关文件。单击“Next”。注意:注意:工作目录名、工程名、文件名不能有中文,也不能与库中已有的基本器件工作目录名、工程名、文件名不能有中文,也不能与库中已有的基本器件名相同,否则编译会出错。名相同,否则编译会出错。3、添加设计文件。添加设计文件。如果有已经建立好的 Verilog 或者原理图等文件可以在 File na

4、me 中选择路径然后添加,或者选择 Add All 添加所有可以添加的设计文件(.VHDL,.Verilog,原理图等) 。如果没有直接点击“Next”,等建立好工程后再添加也可。这里我们暂不添加。微电子学课程设计指导书654、选择选择 FPGA 器件。器件。在 Family 中选择 Cyclone,Available device 选择 EP1C12Q240(EL-EDA_VI 型教学实践系统所用的芯片)。点击“Next”。5、选择外部综合器、仿真器和时序分析器。选择外部综合器、仿真器和时序分析器。Quartus II 支持外部工具,可通过选中来指定工具的路径。这里我们不做选择,默认使用 Q

5、uartus II 自带的工具。微电子学课程设计指导书666、结束设置。结束设置。单击“Next”,弹出 “工程设置统计”窗口,上面列出了工程的相关设置情况。最后单击“Finish”,结束工程设置。7、建立原理图文件。、建立原理图文件。如果在建立工程时没有添加设计文件,这时可以新建文件再添加。也可通过选择ProjectAddRemove Files In Project 来添加外部文件。此处,选择 FileNewDesign 微电子学课程设计指导书67FilesBlock DiagramSchmatic File,即是用原理图方式进行设计。8、添加文件到工程中。、添加文件到工程中。点击“OK”

6、并选择 FileSave As,选择和工程相同的文件名。点击“保存”,文件就被添加进当前的工程当中。原理图的文件名后缀件“.bdf”。9、原理图建立完毕。这时,可以开始在原理图上进行设计了。、原理图建立完毕。这时,可以开始在原理图上进行设计了。微电子学课程设计指导书68提示:提示:用户可以在打开 Quartus II 后直接建立原理图或者 Verilog 文件,选择 Save As,系统会提示是否要保存为工程文件,选择建立工程文件,也可进入工程文件建立流程。10、添加器件。、添加器件。双击画图区、或点击画图工具中的“Symbol Tool”、或选择菜单中的“Edit/Insert Symbol

7、”后会出现添加器件符号图“Symbol”的对话框,从 Quartus 安装目录下的“Libraries/Primitives”库中选取所要添加的器件、输入端口、输出端口、电源、接地等等,输入端口和输出端口修改成相应的名称。然后连线成如下图所示的 3-8 译码器电路图。微电子学课程设计指导书6911、编译。、编译。选择 ProcessingStart Compilation,进行编译。成功编译后出现如下对话框;如不成功,按信息提示进行修改,直至成功编译。12、功能仿真验证、功能仿真验证通过编译后,可以利用 Quartus II 的强大功能,对所设计的工程进行功能仿真验证或时序仿真验证,以软件验证

8、设计的正确性。选择 FileNewVerification/Debugging FilesVector Waveform FileOK(如下图所示),创建波形文件。选择 FileSave As,另存为.vwf 后缀的波形文件。微电子学课程设计指导书70在新的波形文件中选入需要验证的引脚,通过在左边窗栏里点击鼠标右键,选InsertInsert Node or Bus,在打开的对话框中点击 Node Finder,出现另外一个对话框,再点击 List,选择所要观察的信号引脚(选中引脚名,再点“”键),如下图所示。微电子学课程设计指导书71点击 OK 后,显示了如下图所示的所要观察的信号引脚的波形

9、文件。选择 Assignments SettingsSimulator Settings,如下图所示。在 Simulation modek设置 Function 类型仿真,再点击 OK。微电子学课程设计指导书72仿真步长和周期在菜单中的 Edit/Grid Size 和 End Time 中设置。为了观察输出信号值的正确与否,必须设置引脚的输入信号值。例如:设置输入 A 端口的信号值时,先选中 A 端口,再点击左工具栏中带有“C”的按钮,出现如下图所示“Count Value”对话框进行设置。对于本例,所有输入端口设置好的信号值如下图所示。设置完毕之后,点击 ProcessingGenerat

10、e Functional Simulator NetList,生产网表文件之后,点击 ProcessingStart Simulator,进行功能仿真,然后验证逻辑功能是否正确。如果与所设计的功能不一致,修改设计,再仿真(注意:注意:每次修改都要重新编译),直至符合设计要求。微电子学课程设计指导书73下图是本例的最终仿真结果。13、添加管脚信息、添加管脚信息在此设计中,只有 6 个输入端和 8 个输出端。对对 EL-EDA_VI 型实验箱,要求型实验箱,要求将将未分配的管脚置为三态输入,未分配的管脚置为三态输入,否则否则可能导致主芯片或外围芯片损坏。可能导致主芯片或外围芯片损坏。具体设置是:A

11、ssignmentsDeviceDeviceDevice output 7:0 seg_led,sel;output 3:0 vga;input clk,clk100;reg scan;reg 7:0 seg_led,sel;reg 3:0 CntH,CntL,number;wire 3:0vga;assign vga=4b0010; / EL-EDA_VI 型实验箱功能选择,使用右端 8 个数码管always(posedge clk )beginif(CntH=2)else if(CntL=9) /当个位为 9 时,下一个脉冲个位置零,十位加 1beginCntH=CntH+1b1;CntL

12、=4b0000;endelse /下一个脉冲个位加 1begin CntH=CntH; CntL=CntL+1b1;endendalways (posedge clk100) /设置数码管动态扫描信号 scanbeginif (clk100=1)scan= scan;endalways (scan) /进行数码管位选,低电平有效微电子学课程设计指导书80begincase (scan)1b0: begin number=CntL;sel=8b11111110; end /选择个位数码管1b1: begin number=CntH;sel=8b11111101; end /选择十位数码管defa

13、ult:sel=8b11111111; /其它数码管无效endcasealways (number)/BCD 码译成七段数管码(其阴极)显示,最低位为 a,最高位为小数点begincase (number ) 4b0000: seg_led = 8b00111111; /数管码显示 04b0001: seg_led = 8b00000110; /数管码显示 14b0010: seg_led = 8b01011011; /数管码显示 24b0011: seg_led = 8b01001111; /数管码显示 34b0100: seg_led = 8b01100110; /数管码显示 44b010

14、1: seg_led = 8b01101101; /数管码显示 54b0110: seg_led = 8b01111101; /数管码显示 64b0111: seg_led = 8b00000111; /数管码显示 74b1000: seg_led = 8b01111111; /数管码显示 84b1001: seg_led = 8b01101111; /数管码显示 9default: seg_led = 8b00000000; /其他情况数管码不显示endcase endendmodule2.仿真结果仿真结果除了验证输入和输出引脚信号外,要验证中间信号或变量的情况时,打开波形文件EditIns

15、ertInsert Node or BusNode FinderFilter 中选择“Design Entry(All names)” ,再点击“List” ,选择所要观察的信号。本例的仿真结果如下图所示:微电子学课程设计指导书81从上图可以看出,随着计数时钟“clk1”的变化,个位 CntL 从 09 变化,十位 CntH从 02 变化,但当十位 CntH 为 2 时,个位 CntL 变到 3 时,个位和十位一起回到 0,从而实现 24 进制计数器的功能。随着扫描时钟“clk100”的变化,扫描信号“scan”01 变化。当“scan”为“0”时,输出“11111110”(低电平有效)使个位数码管亮,显示“CntL”数字;当“scan”为“1”时,输出“11111101”使十位数码管亮,显示“CntH”数字,从而实现数码管的动态扫描。3.分配引脚分配引脚记住,对于 EL-EDA_VI 型实验箱,要求将未分配的管脚置为三态输入:AssignmentsDeviceDeviceDevice & Pin OptionsUnused PinsReserve all unused pins:AS input tri-stated。分配管脚的结果如下图所示。微电子学课程设计指

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号