QuartusⅡ是Altera公司的可编程逻辑器件开发软件,可以提供易用的设计输入、快速的编译和器件编程。QuartusⅡ开发软件支持百万门级的设计,并且为其他EDA工具提供了方便的接口。
1.Quartus II的功能
(1)QuartusⅡ支持的器件
QuartusⅡ支持的器件包括FLEX6000 、APEXⅡ、Stratix、StratixⅡ、Cyclone、CycloneⅡ等器件。
(2)QuartusⅡ逻辑设计的兼容性
设计输入支持:原理图输入、模块输入、VHDL文本输入。
2.Quartus II的特点
QuartusⅡ软件提供了图形化的用户接口,系统含有一个集成设计环境,包括从设计输入开始到器件编程的每一步。
设计时可以在层次化的项目管理中组合各种不同类型的设计文件,可以为每一个功能模块选择最佳的设计输入方式。比如,设计时可以首先使用Block Editor 来产生框图,而产生的框图可以在设计的顶层来描述系统结构,然后使用其他的原理图、框图、AHDL设计文件(.tdf)、 EDIF设计文件(.edf)、 VHDL设计文件(.vhd) 、VerilogHDL设计文件(.v)来产生底层的设计文件。使设计者在设计逻辑结构时不需要担心目标器件的实现问题。
3.Quartus II的用户界面
启动QuartusⅡ软件,如图3-4-15 QuartusⅡ基本界面所示,由标题栏、菜单栏、工具栏、资源管理窗、状态窗、信息窗、工作区等组成。
图3-4-15 QuartusⅡ基本界面
(1)菜单栏
Project、Assignments、Processing、Tools集中了QuartusⅡ软件较为核心的全部操作命令。如图3-4-16所示。
图3-4-16 菜单栏
① Project(菜单)主要是对工程的操作。
Add/Remove Files in Project:添加或新建文件。
Revisions:创建或删除工程。
Archive Project: 为工程归档或备份。
Set as Top_level Enditor:打开的文件设定为顶层文件。
Hierarchy:打开工程工作区显示的源文件的上一层文件或下一层的源文件以及顶层文件。
② Assignments(菜单)管脚分配及参数设置。
Device:设置目标器件型号。
Assing Pins:打开分配管脚对话框,给设计的信号分配管脚。
Timing Settings:打开时序约束对话框。
Wizard:启动时序约束设置、编译参数设置、仿真参数设置、Software build参数设置。
Assignments Editor:分配编辑器,用于分配管脚、设定管脚电平标准、设定时序约束等。
③ Processing(菜单)包含了对当前工程执行各种设计流程,如开始综合、开始布局布线、开始时序分析等。
④ Tools(菜单)调用Quartus II软件中集成的一些工具。
4.Quartus II设计实例
以下采用原理图输入形式介绍Quartus II设计流程。试设计一个对输入脉冲信号fclk进行10和100分频的电路。要求分频器输出信号分别为fclk/10 ,fclk/100。
(1)创建工程
① 为工程设计建立文件夹。放置与此工程相关的所有设计文件。
②启动QuartusⅡ软件。
·选择File→New Project Wizard建立工程。如图3-4-17所示。
·在New Project Wizard introduction中点击next。图3-4-18所示。
图3-4-17 File菜单对话框 图3-4-18 新建项目对话框
·指定工作目录:d:/sopc。此目录为工程所有文件存放的地方。如图3-4-19所示。
·指定工程实体名称:exp1,建议与工程名称一致。尔后点击next。图3-4-19所示。
·加入工程文件,键入顶层文件名exp1;如没有可使用的文件,点击next。如图3-4-20所示。
·选择FPGA器件:Cyclone系列,器件型号EP1C6Q240C8。如图3-4-21所示。
图3-4-19 建立工程 图3-4-20加入工程文件
图3-4-21选则器件类型 图3-4-22 EDA工具设定窗口
·设定EDA工具,可选择QuartusⅡ自带的的工具,也可选择第三方的工具,本例采用系统缺省方式即可。图3-4-22所示。
图3-4-23 工程报告窗口 图3-4-24 QuartusⅡ界面层次结构
·工程报告窗口中显示了设计项目的一些相关信息。点击Finish结束工程的创建,显示工程的层次结构界面。如图3-4-24所示。
(2)利用块和符号编辑器绘制原理图
①点击File→New,选择Block Diagram/Schematic File 原理图输入形式。如图3-4-25、图3-4-26所示。
图3-4-25 File菜单 图3-4-26 输入选择窗口
②放置元件。在原理图的空白图纸上双击,弹出Sysmbol窗口。也可在原理图的空白图纸上点击右键,选择Insert→Sysmbol, 弹出Sysmbol窗口。
·在Name栏输入元件名7490。即可放置7490器件。如图3-4-27所示。
图3-4-27 在Sysmbol框中输入器件
·在Name栏分别输入元件名input、output和GND。
·导线连接:当需要连接两个端口时,只需将鼠标移动到其中一个端口上,当鼠标变为十字形状时,一直按下鼠标并拖动到另一端口,松开左键即可。十分频电路连接结束后,显示如图3-4-28所示。
图3-4-28 导线连接
③端口的命名:编辑输入输出端口input、output。在input或output图形标志上双击,出现Pin Properities窗口,在pin names处,键入更改的名称。如图3-4-29所示。
图3-4-29 编辑Input及Output插针名称
④保存原理图,完成原理图输入过程。
⑤如果需要创建子模块,执行下列流程:
·选择File→Create∠Updata ,选择Create Symbol Files for Current File ,弹出“Created Block Symbol File exp1”窗口,点击确定。如图3-4-30所示。
所创建的子模块系统自动的存放在当前的工程文件夹下,如图3-4-31所示。
图3-4-30 创建子模块对话框 图3-4-31 字模块保存路径
注意:
在创建顶层图形文件后,其名称一定不要与某个子模块同名;
如果顶层图形文件与某个子模块同名,则要将子模块符号放到图中后,再双击该符号,欲打开其所对应的源程序时,会弹出一错误信息,表明该符号所对应的原理图文件未找到,这实际上是因为顶层图形文件与子模块同名所引起的。解决办法:
在顶层图形文件中删除该子模块符号;
在资源管理器中删除子模块文件;
回到QuartusⅡ中,重新创建子模块;
将新创建的模块符号放入顶层图形文件中,再将顶层图形文件另起名保存。
⑥描绘顶层图形文件,若将该图形文件设置为顶层实体:执行“Project→ Set as Top-Level Entity”命令,或在Project Navigator中右击该文件名,选择“Set as Top-Level Entity”;调用子模块exp1,连接两个子模块电路,完成对输入时钟的100分频。电路如图3-4-33所示。
图3-4-33 分频电路图
(3)编译原理图
①选择Processing→Start Compilation。如图3-4-34所示。
图3-4-34 编译菜单窗口 图3-4-35 编译进程窗口
②点击编译进程窗口左下角处Start开始编译。如图3-4-35所示。
图3-4-35 编译报告 图3-4-36 编译通过
③编译结束后显示报告和编译通过对话窗。如图3-4-35、3-4-36所示。
编译完成,并不表示电路在逻辑上正确,要继续进行仿真以验证其电路逻辑上的正确性。
(4)仿真
①建立波形文件,即激励文件。点击File→New,选择Other Files, 选择Vector Waveform File, 点击OK。图3-4-37所示。
图3-4-37 建立访真文件窗 图3-4-38添加仿真的信号
·在Vector Waveform File窗口中,双击出现Insert Node or Bus框。如图3-4-38所示。
·选择Node Finder按钮,出现图3-4-39 波形编译器信号添加窗口。
·在Node Finder Filter选项框中,选择Pins:all 。尔后单击List。
·在Nodes Found窗口中列出设计项目所有的输入输出管脚。将待仿真的信号导入到Selected nodes。如图3-4-39所示。
图3-4-38节点导入界面
图3-4-39 波形编译器信号添加窗口
所有信号导入后点击“OK”,在图3-4-40弹出的确认窗口再点击“OK”,就完成信号的添加。
图3-4-40 图3-4-41完成仿真信号添加
·选择输入变量并为其赋值。
图3-4-42 启动仿真 图3-4-43 Simulation仿真工具窗口
·保存该文件。
②启动仿真工具。选择菜单Processing→Simulator Tool。如图3-4-42所示。
·在图3-4-43 Simulation仿真窗口,Simulation mode项中选择 Functional,Simulation input选中待仿真的激励文件,点击 Generate Functional Simulation Netlist钮,当网络表创建成功,点击确定。
·单击start启动仿真。仿真成功,点击确定。点击report钮,查看仿真波形结果。如图3-4-43所示,以验证分频电路的正确性。
仿真结果如图3-4-44所示。
图3-4-44 分频器仿真结果
初学Quartus II时,不要直接执行“Processing→ Start Simulation”命令,或直接单击工具条上的仿真快捷按钮(因为这样是对已打开且上次刚刚仿真过的文件进行仿真) !
应执行“Tools→Simulation Tool”命令,打开仿真器工具窗口,在其中设置仿真类型为Timing或Functional,并确认“Simulation input”栏中显示的是当前需要仿真的波形文件,再单击“Start”,开始仿真。
(5)器件管脚定义
①在Assignments 器件设计选择窗口中选择Device。 如图3-4-45所示。
图3-4-45 器件设计选择窗口 图3-4-46 器件设置窗口
②选择器件。选中Cyclone 系列,器件类型选EP1C6Q240C8。如图3-4-46所示。
③定义管脚。选择Assignments →Pin。
④根据实验装置的附录表锁定输入、输出管脚。出现如图3-4-47所示。
图3-4-47引脚编辑定义窗口
⑤信号管脚定义之后,要对文件重新编辑,即Processing→Compiler Tools,回到图3-4-35所示的界面。编辑后可进行编程下载。
(6)下载设置
①选中TooLs→Programmer。出现图3-4-48所示界面。
②在芯片下载设置窗口中,勾选Programmer/Configure并启动下载,可在FPGA器件引脚观察分频输出结果。如图3-4-48所示。
图3-4-48芯片下载设置窗口