680 likes | 948 Views
QuartusⅡ 软件入门 ( 全加器 ). 电子技术实验 (II). 问题的提出. 设计一个 数字钟 ,使之完成以下功能: 实现时、分、秒的计时;时可采取 12 小时计时也可采取 24 小时计时;具有异步清零和启动 / 停止功能;并可调整时间。 用数码管显示时分秒;具有整点报时功能; 可继续设计日、星期、月、年等其他万年历功能。 可设计秒表功能,闹钟功能。. 解决方案 1 —— 传统的数字系统设计方法. 搭积木的方式! 基于 电路板 的设计方法 —— 采用固定功能的器件(通用型器件),通过设计 电路板 来实现系统功能. 1. 根据设计要求划分功能模块;
E N D
QuartusⅡ软件入门(全加器) 电子技术实验(II)
问题的提出 • 设计一个数字钟,使之完成以下功能: • 实现时、分、秒的计时;时可采取12小时计时也可采取24小时计时;具有异步清零和启动/停止功能;并可调整时间。 • 用数码管显示时分秒;具有整点报时功能; • 可继续设计日、星期、月、年等其他万年历功能。 • 可设计秒表功能,闹钟功能。
解决方案1——传统的数字系统设计方法 搭积木的方式! 基于电路板的设计方法——采用固定功能的器件(通用型器件),通过设计电路板来实现系统功能 1. 根据设计要求划分功能模块; 2. 确定输入和输出的关系,画出真值表,写出逻辑表达式; 4. 利用公式或卡诺图进行人工化简; 5. 根据化简后的逻辑表达式画出电路原理图; 6. 在面包板上进行实验,验证电路的正确性; 7. 若无错误,再在透明薄膜上用贴图符号贴PCB图; 8. 检查后送制板厂制板; 9. 对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。
特点 传统的数字系统设计方法 • 采用自下而上(Bottom Up)的设计方法 • 采用通用型逻辑器件 • 搭积木式的方式 • 在系统硬件设计的后期进行仿真和调试 • 主要设计文件是电路原理图
传统的数字系统设计方法的缺点 • 效率低下——所有这一切,几乎都是手工完成! • 设计周期很长; • 容易出错; • 芯片种类多,数量大,受市场的限制; • 设计灵活性差; • 产品体积大。
解决方案2——现代的数字系统设计方法 基于芯片的设计方法——采用PLD(可编程逻辑器件),利用EDA开发工具,通过芯片设计来实现系统功能。 • 首先在计算机上安装EDA软件,它们能帮助设计者自动完成几乎所有的设计过程;再选择合适的PLD芯片,可以在一片芯片中实现整个数字系统。 • 编程 • EDA软件 • + • 数字系统 • 空白PLD
现代的数字系统设计方法(续1) 1.根据设计要求划分功能模块 2. PLD开发(利用EDA工具) (1)设计输入:采用原理图或硬件描述语言(HDL),描述出输入和输出的逻辑关系,将整个原理图或程序输入到计算机中; (2)设计的编译:EDA工具可自动进行逻辑综合,将功能描述转换为门级描述,或转换成具体PLD的网表文件,将网表文件自动适配到具体芯片中进行布局布线; (3)功能仿真和时序仿真; (4)编程下载到实际芯片中,在实验台上进行验证; (5)在每一阶段若有问题,可在计算机上直接修改设计,重复以上过程。
现代的数字系统设计方法(续2) 3. 设计包含PLD芯片的电路板 (1)在计算机上利用EDA软件画电路原理图; (2) 进行电气规则检查无误后,自动生成网表文件; (3) 利用EDA软件画PCB图,自动布线; (4) 自动进行设计规则检查,无误后输出文件,制板。 • 优点: • 效率高——所有这一切,几乎都是借助计算机利用EDA软件自动完成! • 容易检查错误,便于修改; • 设计周期短、成功率很高 ; • 产品体积小。
基于芯片——采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能。基于芯片——采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能。 现代的数字系统设计方法 • 自行定义器件内部的逻辑和引脚 • 写出真值表或状态表→ EDA开发工具自动进行逻辑综合→ 模拟仿真→编程下载到PLD中 • 通常采用自上而下(Top Down)的设计方法 • 采用可编程逻辑器件 • 在系统硬件设计的早期进行仿真 • 主要设计文件是用硬件描述语言编写的源程序 • 降低了硬件电路设计难度 • 特点
PLD • 编程目标文件 • 计算机并口 PCB Board • 器件编程接口 什么是EDA技术? • EDA(Electronic Design Automation,电子设计自动化) • 是在计算机的辅助下完成电子产品设计的一种先进的硬件设计技术! • 是立足于计算机工作平台开发出来的一整套先进的设计电子系统的软件工具。
EDA技术的范畴 • PCB 设计 • 模拟电路 • 数字电路 • 电路设计 • 混合电路 • 设计输入 • 本课程内容! • 逻辑综合 • PLD 设计 • 仿真 • 编程下载 • IC 版图设计
学习EDA到底有什么用呢? 真有趣,可以按自己的想法设计一个芯片! 我也要参加全国大学生电子设计竞赛! 呀,毕业设计正好能用得上哎! 原来在一个芯片里就可以设计一个完整的计算机系统呀! 找工作时也算得上一技之长哦!
EDA及其发展 • 电子设计自动化(Electronic Design Automation,EDA)技术是以计算机科学和微电子技术发展为先导,汇集了计算机图形学、拓扑逻辑学、微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术,它是在先进的计算机工作平台上开发出的一整套电子系统设计的软件工具。从20世纪60年代中期开始,人们不断开发出各种计算机辅助设计工具来帮助设计人员进行集成电路和电子系统的设计,集成电路技术的不断发展对EDA技术提出新的要求,并促进了EDA技术的发展。 • ● 第一阶段:计算机辅助设计(CAD阶段) • ● 第二阶段:电子设计自动化(EDA)阶段 • ● 第三阶段:电子设计自动化(EDA)的发展阶段
EDA工具 • 电路仿真工具: 主要用于模拟电路和数字电路的仿真,常见的有SPICE/PSPICE 、EWB、MULTISIM等; • 电路板级设计工具: 常见的有PROTEL、POWER PCB等; • 可编程器件开发工具: 常见的有MAXPLUS II、QUARTUS II、MATLAB/DSP BUILDER等。
EDA设计方法 EDA即电子设计自动化技术,是利用计算机工作平台,从事电子系统和电路设计的一项技术。 EDA技术为电子系统设计带来了很大的变化: (1)设计效率提高,设计周期缩短; (2)设计质量提高; (3)设计成本降低; (4)能更充分地发挥设计人员的创造性; (5)设计成果的重用性大大提高,省去了不必要的重复劳动。
本课程要学习的PLD设计EDA工具软件 Quartus Ⅱ • 美国Altera公司自行设计的第四代PLD开发软件 • 可以完成PLD的设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程的全过程 • 同时还支持SOPC(可编程片上系统)设计开发
QuartusⅡ简介 QuartusⅡ提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口。QuartusⅡ支持的器件有:Stratix Ⅱ、Stratix GX、Stratix、Mercury、MAX3000A、MAX 7000B、MAX 7000S、MAX 7000AE、MAX Ⅱ、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone Ⅱ、APEX Ⅱ、APEX20KC、APEX20KE和ACEX1K系列。QuartusⅡ软件包的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。
设计流程 设计准备 设计输入 功能仿真 时序仿真 设计处理 器件测试 器件编程
QuartusⅡ设计流程介绍 Quartus II软件的设计过程主要包括: • 建立项目 • 输入设计电路(可采用不同方式) • 设计编译 • 设计仿真 • 设计下载
QuartusⅡ设计流程 启动QuartusⅡ 5.0 双击桌面上的QuartusⅡ5.0图标或单击开始按扭,在程序菜单中选择QuartusⅡ5.0 ,可以启动QuartusⅡ5.0。其初始界面如图所示。
QuartusⅡ设计流程 1.建立项目 利用Quartus II提供的新建工程指南可以帮助我们很容易的建立一个工程: ①在主菜单上选择File\New Project Wizard 将弹出如下图所示对话框。
QuartusⅡ设计流程 ②在上图中的第一个空白处需添入新建工程工作目录的路径,为便于管理,Quartus II软件要求每一个工程项目及其相关文件都统一存储在单独的文件夹中。第二个空白处需添入新建的工程名称。第三个空白处需添入的是工程的顶层设计实体名称,要求顶层设计实体名称和新建的工程名称保持一致。 ③如上图所示添好后,按Next按钮,将会弹出加入文件对话框,如下图所示。 新建工程工作目录的路径 新建的工程名称 工程的顶层设计实体名称
QuartusⅡ设计流程 可以在File空白处选择添入其他已存在的设计文件加入到这个工程中,也可以使用User Library Pathnames按钮把用户自定义的库函数加入到工程中使用。完成后按Next按钮进入下一步。 ④下面弹出的是选择可编程逻辑器件对话框,如下图所示。选Yes,手动选择需要的器件,选No,则由编译器自动选择。
QuartusⅡ设计流程 ⑤在下一步弹出的对话框中通过选择器件的封装形式,引脚数目,以及速度级别来约束可选器件的范围。如图所示。 EP1K30TC144-3 器件设置对话框
QuartusⅡ设计流程 ⑥最后是由新建工程指南建立的工程文件摘要,显示了上面的全部设置选项。至此,新工程建立完毕,在QuartusII设计软件界面的顶部标题栏将显示工程名称和存储路径。如下图所示。
QuartusⅡ设计流程 2.输入设计电路 单击标题栏中的File→New对话框,如图所示。 单击New对话框的Device Design Files选项卡, Block diagram/schematic file,选好后单击【OK】按钮,打开原理图编辑器窗口。
QuartusⅡ设计流程—— 设计输入 将所设计的电路的逻辑功能按照开发系统要求的形式表达出来的过程称为设计输入。 设计输入有如下三种方式: (1)原理图输入方式 适用于对系统及各部分电路很熟悉的场合。 (2)硬件描述语言输入方式 硬件描述语言是用文本方式描述设计,硬件描述语言有ABEL、AHDL、VHDL、Verilog等,其中VHDL和Verilog已成为IEEE标准。 (3)波形输入方式
QuartusⅡ设计流程 在编辑窗中的任何一个位置上单击鼠标右键,在弹出的快捷菜单中选择其中的输入元件项Insert--Symbol,于是将弹出如下图所示的输入元件的对话框
QuartusⅡ设计流程 设计半加器 选择菜单File-Save As命令,将已设计好的原理图文件取名并存盘在已为此项目建立的文件夹内。
QuartusⅡ设计流程 • 将设计项目设置成可调用的元件
QuartusⅡ设计流程 设计全加器顶层文件
QuartusⅡ设计流程 3.设计编译 ①编译设置:利用Quartus II提供的编译设置指南可以帮助我们很容易的进行一个项目的编译设置。在主菜单中选择Assignments/Compiler Settings Wizard选项,将弹出一个对话框,要求输入指定的编译实体模块和设定名字。 ②编译设置好后,在主菜单中选择Processing/Start Compilation 对所设置的项目进行编译。 ③阅读编译报告:编译后自动生成的编译报告如图所示,它包含了怎样将一个设计放到一个器件中的所有信息。有器件使用统计,编译设置情况,底层显示,器件资源利用率,状态机的实现,方程式,延时分析结果,CPU使用资源。
QuartusⅡ设计流程 编译报告:
QuartusⅡ设计流程 4.设计仿真 QuartusII支持多种仿真输入方法,它支持波形方式输入,如:向量波形文件(.vwf)、向量文件(.vec)、列表文件(.tbl),也支持Testbench如:Tcl/TK脚本文件,同时也支持第三方的仿真工具的Verilog/VHDL Testbench。 ①QuartusII仿真设置:利用Quartus II提供的仿真设置指南可以帮助我们快速进行一个项目的仿真设置。在主菜单中选择Assignments/Simulator Settings Wizard选项,在弹出的对话框中,输入指定的仿真实体模块和设定名字。
QuartusⅡ设计流程 ②建立仿真波形文件:在主菜单中选择File/New选项,在弹出的New对话框中选择Other Files选项中的Vector Waveform File。 ③设置仿真参数:设置仿真时间区域。对于时序仿真来说,将仿真时间轴设置在一个合理的时间区域上十分重要。通常设置的时间范围在数十微秒间:
QuartusⅡ设计流程 ④将工程端口信号节点选入波形编辑器中。
QuartusⅡ设计流程 ⑤编辑输入波形(输入激励信号)。
QuartusⅡ设计流程 ⑥存盘,并启动仿真
QuartusⅡ设计流程 ⑦观察仿真波形
QuartusⅡ设计流程 5、设计下载: ①打开编程窗和配置文件。首先将实验系统和并口通信线连接好,打开电源。在菜单Tool中选择Programmer,于是弹出如图所示的编程窗。在Mode栏中有4种编程模式可以选择:JTAG, Passive Serial, Active Serial和In-Socket。为了直接对FPGA进行配置,在编程窗的编程模式Mode中选JTAG(默认),并选中打勾下载文件右侧的第一小方框。注意要仔细核对下载文件路径与文件名。如果此文件没有出现或有错,单击左侧“Add File”按钮,手动选择配置文件f_adder.sof。
QuartusⅡ设计流程 设置引脚:为了能对此全加器进行硬件测试,应将其输入输出信号锁定在芯片确定的引脚上,编译后下载。 选择Tools菜单中的Assignments项,即进入如图所示的Assignment Editor编辑器窗。在Category栏中选择Pin,或直接单击右上侧的Pin按钮。
QuartusⅡ设计流程 双击"To"栏的<<new>>,在出现的如图所示的下拉栏中分别选择本工程要锁定的端口信号名;然后双击对应的Location栏的<<new>>,在出现的下拉栏中选择对应端口信号名的器件引脚号,如对应ain,选择8脚。
QuartusⅡ设计流程 5、设计下载: ②设置编程器。若是初次安装的QuartusⅡ,在编程前必须进行编程器选择操作。这里准备选择ByteBlaster MV[LPT1]。单击Hardware Setup按钮可设置下载接口方式,在弹出的Hardware Setup对话框中,选择Hardware settings页,再双击此页中的选项BytcBlaster之后,单击Close按钮,关闭对话框即可。这时应该在编程窗右上显示出编程方式:ytcBlaster [LPT 1]。如果打开下所示的窗口内“Currently selected”右侧显示No Hardware,则必须加入下载方式。即点击Add Hardware钮,在弹出的窗中点击OK,再在窗口中双击BytcBlaster,使“Currently selected”右侧显示BytcBlaster [LPT1]。
QuartusⅡ设计流程 5、设计下载: ③下载:单击下载标符Start按钮,即进入对目标器件FPGA的配置下载操作。当Progress显示出100%,以及在底部的处理栏中出现“Configuration Succeeded”时,表示编程成功。注意,如果必要,可再次单击Start按钮,直至编程成功。 ④硬件测试:软件下载成功后,测试已完成电路是否符合设计要求。
模60的计数器设计与实现 建立图形文件:打开Quartus Ⅱ 5.0编辑器,选择File/New命令,在Device Design File选项卡下选择Block Digram /Schematic File,单击OK按钮。 QuartusⅡ设计应用举例 模为60的计数器原理图
最常用的工具菜单: Project(工程): Assignment(资源分配): Processing(操作): Tools(工具): QuartusⅡ设计说明