Quartus I6.0使用简介 下面我们简单说明可编程数字系统设计的基本流程、概念和方法,掌握 QuartusⅡ软 件的基本功能和操作,了解原理图输入方式的设计全过程。一、设计项目输入设计输入是 设计者对系统要实现的逻辑功能进行描述的过程。设计输入有多种表达方式,本次我们主要 学习图形输入法。1.建立工程项目打开 QuartusⅡ6.0软件启动图标,见附图1,在Fle 菜单中选择 New Project Wizard项,将出现工程项目建立向导对话框,见附图2(a)、(b) ALERA QUARTUS II 图1QutⅡ60软件界面
Quartus II 6.0 使用简介 下面我们简单说明可编程数字系统设计的基本流程、概念和方法,掌握 Quartus II 软 件的基本功能和操作,了解原理图输入方式的设计全过程。 一、设计项目输入 设计输入是 设计者对系统要实现的逻辑功能进行描述的过程。设计输入有多种表达方式,本次我们主要 学习图形输入法。 1.建立工程项目 打开 Quartus II 6.0 软件启动图标,见附图 1,在 File 菜单中选择 New Project Wizard 项,将出现工程项目建立向导对话框,见附图 2(a)、(b)、 (c)
Create L Up date 三 Apennine名了1当 OUA 附图2(a)QntsⅡ60工程项目建立向导对话框(-) 厂中物吧 附图2(b)QatsⅡ60工程項目建立向导对话框(二) 在如附图2(c)所示对话框中,第一行是需要你指定项目保存的路径,不支持含中文 字符的路径,第二行是需要你为这个项目取一个工程名称,第三行是需要你为这个项目的
顶层实体取一个实体名称,这三个设定好后,点击“ Next”按钮出现下一个界面,如附图 3所示。 atis Ji回harr:,,4;1 rt“ a type“drey at does net exist Quartus II E:/tone/tue 项保存的路径」 what in th name of this preject? If you wish yow can ane the nwe f 项的名称 that is the name of the level nt1 n your project? Entity 一顶层实体的名称 附图2(c)QuntⅡI程项目建立向导对话框(三) ew Projeet visard: Add Files Pare 2 or ol Eu y yeas fr thai:“f 下Athn 如附图4所示 Sdest the ladp eisa yau rl l tap ler canadian. Larix Cockrell Spate ceMe sected.bk deed it 择对话框
进入到器件选择对话框,在“ Family”下拉菜单中选择“ Cycl onel”,在“ Available Devices”列表栏中选择“EPc35F672c6”(这一步是根据你所用到的具体芯片系列及型号 来选择),点击“Net”按钮 进入到第三方EDA工具选择对话框,如附图5所示,在这个界面我们可以选择第三 方的综合工具、仿真工具和时延分析工具。由于在本例中我们的综合、仿真和时延分析都 采用 Quartus60内置的工具,所以在这个页面不作任何选择,继续点击“Net”按钮 入如附图6所示对话框。 如Q一 ted wth the aieee 厂和就燃 附图5第三方EDA工具选择对话框 when you clek Finish, te tract will bo created wih the tallow merge m EP2-35f672L6 附图6 Summary对话框 进入到“ Summary”对话框,在这个窗口列出了前面所作设置的全部信息。点击 “ Finish”钮完成工程项目建立过程,回到主窗口。2.建立原理图输入文件在 QuartusⅡ6.0 中我们可以利用 Block editor以原理图的形式进行设计输入和编辑。 ock Editor可以读取并 编辑后缀名为“bd”的原理图设计文件以及在MAX+PLUSⅡ中立的后缀名为“gdfr”的 原理图输入文件。(1)在Fle菜单中选择New项,将出现新建文件对话框。选择“ Device Design File/ Block agram/ Schematic File”项,如附图7所示
进入到“Summary”对话框,在 这 个 窗 口 列 出 了前面所作设置的全部信息。点击 “Finish”钮完成工程项目建立过程,回到主窗口。 2.建立原理图输入文件 在 Quartus II 6.0 中我们可以利用 Block Editor 以原理图的形式进行设计输入和编辑。ock Editor 可以读取并 编辑后缀名为“.bdf”的原理图设计文件以及在 MAX+PLUS II 中立的后缀名为“.gdf”的 原理图输入文件。 (1)在 File 菜单中选择 New 项,将出现新建文件对话框。选择“Device Design File/Block agram/Schematic File”项,如附图 7 所示
Device Desion Files Other Files I AHDL Fil um/Schematic Fil Cancel 附图7原理图输入文件选项对话框 点击“OK”按钮,在主界面中将打开“ Block editor”窗口。“ Block editor”包括主绘图区 和主绘图工具条两部分。主绘图区是用户绘制原理图的区域,绘图工具条包含了绘图所需要 的一些工具。简要说明如附图8、附图9所示 元件库 附图8原理图工作输入对话框
点击“OK”按钮,在主界面中将打开“Block Editor”窗口。“Block Editor”包括主绘图区 和主绘图工具条两部分。主绘图区是用户绘制原理图的区域,绘图工具条包含了绘图所需要 的一些工具。简要说明如附图 8、附图 9 所示
心选择工具:用于选择图中的器件、线条等绘图元素: D插入器件:从元件库内选择要添加的元件 口插入模块:插入已设计完成的底层模块: 正交线工具:用于绘制水平和垂直方向的连线 正交总线工具:用于绘制水平和垂直方向的总线: 打开关闭橡皮筋连接功能:按下,橡皮筋连接功能打开,此时移动元件,连接在 元件上的连线也跟着移动,不改变同其他元件的连接关系: 打开/关闭局部正交连线选择功能:按下时打开局部正交连线选择功能,此时可以 通过用鼠标选择两条正交连线的局部: 放大和缩小工具:按下时,点击鼠标左键放大、点击右键缩小显示绘图工作区 全屏显示:将当前主窗口全屏显示: 垂直翻转:将选中的元件或模块进行垂直翻转 水平翻转:将选中的元件或模块进行水平翻转 旋转90°:将选中的元件或模块逆时针方向旋转90 元件的添加:在主绘图区双击鼠标左键,弹出相应的 Symbol对话框,在name 栏输入需添加的元件,如7400或Nand2(二输入与非门)、Not(非门)、VCC 5Ⅴ电源、高电平),GND(接地、低电平)、 Input(输入引脚)、 Output(输 出引脚)等,回车或点击“0K”按钮,此时在鼠标光标处将出现该元件图标,并 随鼠标的移动而移动,在合适的位置点击鼠标左键,放置一个元件。也可以利用 插入器件工具来添加元器件,方法类似。(2)命名输入/输出引脚:双击输入/ 输出引脚的“ PIN NAIⅦE”,输入自己定义的名字即可。(3)器件的连接和修改 连接元器件的两个端口时,先将鼠标移到其中一个端口上,这时鼠标指示符自动 变为“+”形状,然后一直按住鼠标的左键并将鼠标拖到第二个端口,放开左键, 则一条连接线被画好了。如果需要删除一根连接线,可单击这根连接线使其成高 亮线,然后按键盘上的“ Delete”键即可。(4)保存文件:从“File”菜单下 选择“Save”,出现文件保存对话框。单击“OK”按钮,使用默认的文件名存盘。 默认的文件名为项目顶层模块名加上“.bdf”后缀。二、设计项目处理在完成 输入后,设计项目必须经过一系列的编译处理才能转化为可以下载到器件内的编 程文件。(1)点击主工具栏上的按钮,开始“ Analysis and Synthesis”编译 过程。注意应该将要编译的文件设置成顶层文件才能对它进行编译,设置方法为 点击左边 ProjectNavigator/ Files,打开 files/ Device Design Files,选中 要编译的bdf文件,点击鼠标右键,在弹出的菜单中选择 Set as Top- level Entity。(2)在项目处理过程中,所有信息、错误和警告将会在自动打开的信 息处理窗口中显示出来。如果有错误或警告发生,双击该错误或警告信息,就会 找到该错误或警告在设计文件中的位置。其中错误必须要修改,否则无法执行后 续的项目处理,对于警告则要分情况处理。(3)分配引脚: Analysis and Synthesis全部通过后,为了把我们的设计下载到实际电路中进行验证,还必须 把设计项目的输入在输出端口和器件相应的引脚绑定在一起。有两种方法可以实 现这个过程:一种是给引脚分配信号,另一种则是给信号分配管脚。在此只介绍
元件的添加:在主绘图区双击鼠标左键,弹出相应的 Symbol 对话框,在 name 栏输入需添加的元件,如 7400 或 Nand2(二输入与非门)、Not(非门)、VCC (5V 电源、高电平),GND(接地、低电平)、Input(输入引脚)、Output(输 出引脚)等,回车或点击“OK”按钮,此时在鼠标光标处将出现该元件图标,并 随鼠标的移动而移动,在合适的位置点击鼠标左键,放置一个元件。也可以利用 插入器件工具来添加元器件,方法类似。 (2)命名输入/输出引脚:双击输入/ 输出引脚的“PIN_NAME”,输入自己定义的名字即可。 (3)器件的连接和修改: 连接元器件的两个端口时,先将鼠标移到其中一个端口上,这时鼠标指示符自动 变为“+”形状,然后一直按住鼠标的左键并将鼠标拖到第二个端口,放开左键, 则一条连接线被画好了。如果需要删除一根连接线,可单击这根连接线使其成高 亮线,然后按键盘上的“Delete”键即可。 (4)保存文件:从“File”菜单下 选择“Save”,出现文件保存对话框。单击“OK”按钮,使用默认的文件名存盘。 默认的文件名为项目顶层模块名加上“.bdf”后缀。 二、设计项目处理 在完成 输入后,设计项目必须经过一系列的编译处理才能转化为可以下载到器件内的编 程文件。 (1)点击主工具栏上的按钮,开始“Analysis and Synthesis”编译 过程。注意应该将要编译的文件设置成顶层文件才能对它进行编译,设置方法为: 点击左边 ProjectNavigator/Files,打开 files/Device Design Files,选中 要编译的 bdf 文件,点击鼠标右键,在弹出的菜单中选择 Set as Top-level Entity。 (2)在项目处理过程中,所有信息、错误和警告将会在自动打开的信 息处理窗口中显示出来。如果有错误或警告发生,双击该错误或警告信息,就会 找到该错误或警告在设计文件中的位置。其中错误必须要修改,否则无法执行后 续的项目处理,对于警告则要分情况处理。 (3)分配引脚:Analysis and Synthesis 全部通过后,为了把我们的设计下载到实际电路中进行验证,还必须 把设计项目的输入在输出端口和器件相应的引脚绑定在一起。有两种方法可以实 现这个过程:一种是给引脚分配信号,另一种则是给信号分配管脚。在此只介绍
给信号分配管脚的方法:①选择菜单 Assignments?Pins,在“ Assignments Editor”窗口选择菜单view? ShowA1 Known Pin Names,此时编辑器将显示所 有的输入/输出信号,其中“To”列是信号列,“ Location”列是引脚列,“ General Function”列显示该引脚的通用功能。对于一个输入/输出信号,双击对应的 Location”列,在弹出的下拉列表框内选择需要绑定的管脚号。完成所有引脚的绑定,保 存修改,此时原理图设计文件将给输入/输出端口添加引脚编号。②布局布线、生成编程文 件和时序分析: Analysis and Synthesis和管脚分配完成后,可以点击进行全编译,见附 5/争,《杰 用围10全偏译对话积 图10、附图11。 图11管脚轿定对话框 三、设计项目校验在完成设计输入和编译后,我们可以通过软件来检验设计的逻辑功能和 计算设计的内部定时是否符合设计要求。常见的设计项目校验包括功能仿真、定时分析和时 序仿真。1.建立输入激励波形文件(.vmf)在做仿真之前,必须要先建立波形激励文件 具体步骤如下:(1)在“File”菜单中选择“New”,打开新建文件对话框,在“ Other files” 中选择“ Vector Waveform file”项后选择“0K”。(2)在编辑器窗口的节点名称栏(Name) 空白处单击鼠标右键,在该菜单中选择“ Insert Node or bus…”项,弹出“ Insert Node or bus”对话框,点击“ Node finder”按钮,打开“ Node finder”对话框,单击“List 按钮可以在“ Nodes found”栏中看到在设计中的所有输入/输出信号,当选中信号时,蓝色 高亮,表示被选中。单击“≥”按钮可将选中的信号移动到“ Selected nodes”区,表示可 对这些信号进行观测。点击“0K”按钮,回到“ Insert Node or bus”对话框,再点击该对 话框的“K”按钮。(3)从菜单“File”中选择“Save”,将此波形文件保存为默认名, 扩展名“.ⅶmnf”表示仿真波形激励文件。2.为输入信号建立输入激励波形在波形文件中 添加好输入/输出信号后,就可开始为输入信号建立输入激励波形。(1)在“ Tools”菜单 中选择“ Options”项,打开参数设置对话框,选择“ Waveform editor”项设置波形仿真器
给信号分配管脚的方法: ① 选择菜单 Assignments?Pins,在“Assignments Editor”窗口选择菜单 View?ShowAll Known Pin Names,此时编辑器将显示所 有的输入/输出信号,其中“To”列是信号列,“Location”列是引脚列,“General Function”列显示该引脚的通用功能。对于一个输入/输出信号,双击对应的 “Location”列,在弹出的下拉列表框内选择需要绑定的管脚号。完成所有引脚的绑定,保 存修改,此时原理图设计文件将给输入/输出端口添加引脚编号。② 布局布线、生成编程文 件和时序分析:Analysis and Synthesis 和管脚分配完成后,可以点击进行全编译,见附 图 10、附图 11。 三、设计项目校验 在完成设计输入和编译后,我们可以通过软件来检验设计的逻辑功能和 计算设计的内部定时是否符合设计要求。常见的设计项目校验包括功能仿真、定时分析和时 序仿真。 1.建立输入激励波形文件(.vmf) 在做仿真之前,必须要先建立波形激励文件, 具体步骤如下: (1)在“File”菜单中选择“New”,打开新建文件对话框,在“Other Files” 中选择“Vector Waveform File”项后选择“OK”。 (2)在编辑器窗口的节点名称栏(Name) 空白处单击鼠标右键,在 该 菜 单 中 选 择“ Insert Node or Bus…”项,弹出“Insert Node or Bus”对话框,点击“Node Finder”按钮,打开“Node Finder”对话框,单击“List” 按钮可以在“Nodes Found”栏中看到在设计中的所有输入/输出信号,当选中信号时,蓝色 高亮,表示被选中。单击“≥”按钮可将选中的信号移动到“Selected Nodes”区,表示可 对这些信号进行观测。点击“OK”按钮,回到“Insert Node or Bus”对话框,再点击该对 话框的“OK”按钮。 (3)从菜单“File”中选择“Save”,将此波形文件保存为默认名, 扩展名“.vmf”表示仿真波形激励文件。 2.为输入信号建立输入激励波形 在波形文件中 添加好输入/输出信号后,就可开始为输入信号建立输入激励波形。 (1)在“Tools”菜单 中选择“Options”项,打开参数设置对话框,选择“Waveform Editor”项设置波形仿真器
参数。在这个对话框里我们设置“ Snap to grid”为不选中,其他为缺省值即可。(2)从 菜单“Edit”下选择“巸 nd time”项,弹出终止时间设定对话框,根据设计需要设置仿真终 止时间。(3)利用波形编辑器工具栏提供的工具为输入信号赋值,工具栏中主要按钮的功 能介绍如下:放大和缩小工具:利用鼠标左键放大/右键缩小显示仿真波形区域;全屏 显示:全屏显示当前波形编辑器窗口;赋值“0”:对某段已选中的波形,赋值“0 赋 值“1”:对某段已选中的波形,赋值“1”;时钟赋值:为周期性时钟信号赋值。(4) 用鼠标左键单击“Name”区的信号,该信号全部变为黑色,表示该信号被选中。用鼠标左键 单击按钮即可将该信号设为“1”。设置时钟信号的方法为:选中信号,单击工具条中的按 钮打开 Clock对话框,输入所需的时钟周期,单击“OK”按钮关闭此对话框即可生成所需时 钟。(5)选择“File”中的“Save”存盘。到此完成激励波形输入。 3.功能仿真 可编程系统的仿真一般分为功能仿真和时序仿真。其中功能仿真,主要是检査逻辑功 能是否正确。功能仿真方法如下: (1)在“ Tools”菜单下选择“ Simulator tool”项,打开“ Simulator tool”对话框。 Simulator mode”下拉列表框中选择“ Functional”项,在“ Simulation input”栏中指定 波形激励文件。单击“ Generator Functional simulator netlist”按钮,生成功能仿真网表 (2)仿真网表生成成功后,点击“ Start”按钮,开始功能仿真。仿真计算完成后,点 击“ Report”按钮,打开仿真结果波形 (3)观察输出波形,检查是否满足设计要求。 4.时序仿真 时序仿真则是在功能仿真的基础上利用在布局布线中获得的精确时延参数进行的精确 仿真,一般时序仿真的结果和实际结果非常接近,但由于要计算大量的时延信息,仿真 速 度比较慢。时序仿真的详细步骤如下 (1)在“ Simulator tool”对话框的“ Simulator mode”下拉列表框中选择“ Timing” 项,在“ Simulation input”栏中指定波形激励文件。 (2)点击“ Start”按钮,开始时序仿真。仿真计算完成后,点击“ Report”按钮,打 开和功能仿真类似的仿真结果波形。 四、器件编程 器件编程是使用项目处理过程中生成的编程文件对器件进行编程的,在这个过程中可 以对器件编程、校验、试验,检查是否空白以及进行功能测试
参数。在这个对话框里我们设置“Snap to grid”为不选中,其他为缺省值即可。 (2)从 菜单“Edit”下选择“End Time”项,弹出终止时间设定对话框,根据设计需要设置仿真终 止时间。 (3)利用波形编辑器工具栏提供的工具为输入信号赋值,工具栏中主要按钮的功 能介绍如下: 放大和缩小工具:利用鼠标左键放大/右键缩小显示仿真波形区域; 全屏 显示:全屏显示当前波形编辑器窗口; 赋值“0”:对某段已选中的波形,赋值“0”; 赋 值“1”:对某段已选中的波形,赋值“1”; 时钟赋值:为周期性时钟信号赋值。 (4) 用鼠标左键单击“Name”区的信号,该信号全部变为黑色,表示该信号被选中。用鼠标左键 单击按钮即可将该信号设为“1”。设置时钟信号的方法为:选中信号,单击工具条中的按 钮打开 Clock 对话框,输入所需的时钟周期,单击“OK”按钮关闭此对话框即可生成所需时 钟。 (5)选择“File”中的“Save”存盘。到此完成激励波形输入。 3. 功能仿真 可编程系统的仿真一般分为功能仿真和时序仿真。其中功能仿真,主要是检查逻辑功 能是否正确。功能仿真方法如下: (1)在“Tools”菜单下选择“Simulator Tool”项,打开“Simulator Tool”对话框。 “Simulator Mode”下拉列表框中选择“Functional”项,在“Simulation input”栏中指定 波形激励文件。单击“Generator Functional Simulator Netlist”按钮,生成功能仿真网表 文 件。 (2)仿真网表生成成功后,点击“Start”按钮,开始功能仿真。仿真计算完成后,点 击“Report”按钮,打开仿真结果波形。 (3)观察输出波形,检查是否满足设计要求。 4.时序仿真 时序仿真则是在功能仿真的基础上利用在布局布线中获得的精确时延参数进行的精确 仿真,一般时序仿真的结果和实际结果非常接近,但由于要计算大量的时延信息,仿真 速 度比较慢。时序仿真的详细步骤如下: (1)在“Simulator Tool”对话框的“Simulator Mode”下拉列表框中选择“Timing” 项,在“Simulation input”栏中指定波形激励文件。 (2)点击“Start”按钮,开始时序仿真。仿真计算完成后,点击“Report”按钮,打 开和功能仿真类似的仿真结果波形。 四、器件编程 器件编程是使用项目处理过程中生成的编程文件对器件进行编程的,在这个过程中可 以对器件编程、校验、试验,检查是否空白以及进行功能测试
1. QuartusⅡ器件编程 (1)用下载电缆将计算机并口和实验设备连接起来,接通电源。 (2)选择 Tools@ Programmer菜单,打开 Programmer窗口。 在开始编程之前,必须正确设置编程硬件。点击“ Hardware Setup”按钮,打开硬件设置 (3)点击“ Add hardware”打开硬件添加窗口,在“ Hardware type”下拉框中选择 “USB- Blaster [USB-0]”,在“Port”下拉框中选择“LPI”,点击“OK”按钮确认, 关 闭“ Hardware Setup”窗口,完成硬件设置,如附图12、附图13所示 10c和b| 选定下线口方 用图12选择“ USB-Blas[$B可”下载口对话框 妙口m时hm Leaa 硬件设置口 下载编程文件 打勾 (4)将模式Mode选为JTAG方式下载。(5)将 Program/ Configure选中。(6)点击“ Start” 按钮,开始编程,如附图14所示
1.Quartus II 器件编程 (1)用下载电缆将计算机并口和实验设备连接起来,接通电源。 (2)选择 ToolsiProgrammer 菜单,打开 Programmer 窗口。 在开始编程之前,必须正确设置编程硬件。点击“Hardware Setup”按钮,打开硬件设置 。 (3)点击“Add Hardware”打开硬件添加窗口,在“Hardware type”下拉框中选择 “USB-Blaster [USB-0]”,在“Port”下拉框中选择“LPT1”,点击“OK”按钮确认, 关 闭“Hardware Setup”窗口,完成硬件设置,如附图 12、附图 13 所示。 (4)将模式 Mode 选为 JTAG 方式下载。(5)将 Program/Configure 选中。(6)点击“Start” 按钮,开始编程,如附图 14 所示