《QUARTUSII基本使用方法.doc》由会员分享,可在线阅读,更多相关《QUARTUSII基本使用方法.doc(22页珍藏版)》请在三一办公上搜索。
1、Quartus II 6.0的使用以10进制计数器为例 物理硬件基于康芯GW48PK实验箱 目 录1 基于Quartus II的系统设计流程 . 22 计数器的 VHDL 设计 . 32.1 编辑设计文件 . 32.2 创建工程 . 52.3 编译前设置 .92.4 编译 .112.5 仿真 . 13 2.6 引脚锁定 . 172.7 编程下载 . 18附:本讲义所用VHDL程序源代码.21QuartusII 基本使用方法Altera 的 QuartusII 提供了完整的多平台设计环境,能满足各种特定设计的需要,是单芯片可编程系统(SOPC)设计的综合性环境和 SOPC 开发的基本设计工具,并
2、为 Atera DSP开发包进行系统模型设计提供了集成综合环境。QuartusII 设计环境完全支持 VHDL、Verilog的设计流程,其内部嵌有 VHDL、Verilog 逻辑综合器。QuartusII 也具备仿真功能,此外,与 MATLAB 和 DSP Builder 结合,可以进行基于 FPGA 的 DSP 系统开发,是 DSP 硬件系统实现的关键 EDA 工具。本章将以数个简单的例子详细介绍 QuartusII 的使用方法,包括设计输入、综合与适配、仿真测试、优化设计和编程下载等方法。1、基于Quartus II的系统设计流程Quartus II 的一般设计流程如图1所示,Quart
3、usII 支持多种设计输入方法,如:原理图式图形设计输入、文本编辑、第三方工具等。图 1 QuartusII 的设计流程2 计数器的 VHDL 设计通过一个 4 位二进制计数器的设计实例,对 QuartusII 的重要功能和使用方法作一些说明,并详细介绍 QuartusII 的基本设计流程。2.1 编辑设计文件首先建立工作库目录,以便设计工程项目的存储。任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹。此文件夹将被 EDA 软件默认为工作库(Work Library)。一般,不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件都必须
4、放在同一文件夹中。在建立了文件夹后就可以通过 QuartusII 的文本编辑器编辑设计文件,步骤如下:(1)新建一个文件夹。这里假设本项设计的文件夹取名为 CNT,在 F 盘中,路径为F:CNT。注意:文件夹名不能用中文,也最好不要用数字。(2)输入源程序。打开 QuartusII,选择菜单“File”“New”,在 New 窗口中的“DeviceDesign Files”中选择编辑文件的语言类型,这里选择“VHDL File”(如图2-1所示)。然后在 VHDL 文本编辑窗口中输入,如图 2-2所示,4 位二进制计数器的VHDL 程序。图 2-1选择编辑文件的语言类型图2-2编辑输入设计文件
5、(3)文件存盘。选择菜单“File”“Save As”,找到要保存的文件夹F:CNT,文件名应与实体名一致,即counter.vhd。当出现图 2-3 中所示的“Do you want to create a new project with this file?”对话框时,若单击“是”,则直接进入创建工程流程;若单击“否”,则可以以后再为该设计创建工程。如果保存文件时将“Create newproject based on this file”前的“”,则不会出现该对话框。图2-3保存设计文件2.2 创建工程在此要利用 New Project Wizard 工具选项创建此设计工程,即令 cn
6、t10.vhd 为工程,并设定此工程的一些相关的信息,如工程名、目标器件、综合器、仿真器等。详细步骤如下:(1)打开建立新工程管理窗。选择菜单“File”“New Project Wizard”,即弹出工程设置对话框(如图 2-4 所示)。单击此对话框最上一栏右侧的“”按钮,找到文件夹 D:CNT,选中文件 cnt10.vhd(一般应设顶层设计文件为工程),在单击“打开”按钮,即可出现图2-4所示的设置情况。其中第一行的 D:CNT 表示工程所在的工作库文件夹;第二行的 cnt10 表示此项工程的工程名,此工程名可以取任何名字,一般直接用顶层文件的实体名作为工程名;第三行是顶层文件的实体名,这
7、里即为 cnt10。图2-4 利用New Project Wizard创建工程cnt4(2)将设计文件加入工程。单击图 2-4 中的 Next 按钮,在弹出的对话框中单击 File 栏的按钮,将与工程相关的所有 VHDL 文件加入此工程,即得到如图 2-5 所示的情况。将工程文件加入的方法有 2 种:第1种方法是单击按钮,从文件夹CNT中选出相关的 VHDL 文件,如我们刚刚存放的cnt10.vhd;第2种方法是单击 Add All 按钮,将设定的工程目录中的所有 VHDL 文件加入到工程文件栏中。图 2-5将相关文件加入工程(3)选择目标芯片。单击图 2-5 中的 Next 按钮,选择目标芯
8、片。首先在 Family 栏选择Cyclone,在 Available devices 栏选择 EP1C12Q240C8(器件较多时,也可以通过右侧的封装、引脚数、速度等条件来过滤选择)。图2-6选择目标芯片(4)选择综合器和仿真器类型。单击图 2-6 中的 Next 按钮,这时弹出的窗口是选择仿真器和综合器类型,如果默认都不选择,表示用 QuartusII 中自带的仿真器和综合器。在此处我们什么也不选。图2-7选择仿真器和综合器(5)结束设置。单击图2-7中的Next 按钮,即弹出“Summary”窗口,上面列出了此项工程相关设置情况。单击 Finish 按钮,即可设定好此工程。建立工程后,
9、可以使用 Settings 对话框(Assignments 菜单)的 Add/Remove 页在工程中添加和删除、设计其他文件。如果现有的Max+PLUS II的工程,还可以使用Convert Max+PLUS II Project 命令(File 菜单)将 Max+PLUS II 的分配与配置文件(acf)转换为QuartusII 工程。图2-8设置完成时的信息页面窗口2.3 编译前设置在对工程进行编译处理前,必须做好必要的设置,步骤如下:(1)目标芯片选择。选择Assignments菜单中的 Device 项(也可以选择Assignments菜单中的Settings 项,在弹出的对话框中选
10、择 Category 项下的 Device),然后选择目标芯片(方法同创建工程中的第3步),如图2-9所示。之后点击Device & Pin Options按钮,如图2-10所示,会弹出Device & Pin Options窗口,如图2-11所示。图2-9选择器件 图2-10Setting窗口(2)选择目标器件闲置引脚的状态。在 Device & Pin Options 窗口中,如图2-11所示,选择 Unused Pin项,设置目标器件闲置引脚的状态为输入状态(呈高阻态)。图2-11设置闲置引脚状态2.4QuartusII编译器是由一系列处理模块构成的,这些模块负责对设计项目的检错、逻辑综
11、合、结构综合、输出结果的编辑配置,以及时序分析。在这一过程中将设计项目适配进FPGA/CPLD 目标器件中,同时产生多种用途的输出文件,如功能和时序仿真文件、器件编程的目标文件等。编译器首先从工程设计文件间的层次结构描述中提取信息,包括每个低层次文件中的错误信息,供设计者排除,然后将这些层次构建产生一个结构化的以网表文件表达的电路原理图文件,并把各层次中所有的文件结合成一个数据包,以便更有效地处理。在编译前,设计者可以通过各种不同的设置,指导编译器使用各种不同的综合和适配技术,以便提高设计项目的工作速度,优化器件的资源利用率。而且在编译过程中和编译完成后,可以从编译报告窗中获得所有相关的详细编
12、译结果,以利于设计者及时调整设计方案。 下面首先选择 Processing 菜单的 Start Compilation 项或Quartus II工具栏中的Start Compilation快捷键,如图2-12所示,启动全程编译。注意这里所谓的编译(Compilation),包括以上提到的 QuartusII 对设计输入的多项处理操作,其中包括排错、数据网表文件提取、逻辑综合、适配、装配文件(仿真文件与编程配置文件)生成,以及基于目标器件的工程时序分析等。图2-12启动全程编译如果工程中的文件有错误,在下方的Processing栏中会显示出来(如图2-13)。对于Processing 栏中显示的
13、语句格式错误,可双击此条文,即弹出对应的 VHDL 文件,在深色标记条处即为文件中的错误。修改后再次编译直至排除所有错误,直到出现图2-14所示界面,点击确定按钮即可。图2-13全程编译后出现报错信息图2-14全程编译成功了解编译结果包括以下一些内容:(1)阅读编译报告。编译成功后可以见到如图 2-14 的界面。此界面左上角是工程管理窗;在此栏下是编译处理流程,包括数据网表建立、逻辑综合、适配、配置文件装配和时序分析;最下栏是编译处理信息;右栏是编译报告,可以通过 Processing 菜单下的 Compilation Report 查看。(2)了解工程的时序报告。点击图 2-14 中间一栏的
14、 Timing Analyses 项左侧的“+”号,可以看到相关信息。(3)了解硬件资源应用情况。点击图 2-14 中间一栏的 Flow Summary 项,可以查看硬件耗用统计报告;点击图 2-14 中间一栏的 Fitter 项左侧的“+”号,选择 Floorplan View,可以查看此工程在 PLD 器件中逻辑单元的分布情况和使用情况。(4)查看 RTL 电路。选择菜单 Tools 下Netlist Viewers的 RTL Viewer,即可看到综合后的 RTL 电路图,如图 2-15 所示。图2-15RTL 电路图2.5 仿真仿真就是对设计项目进行全面彻底的测试,以确保设计项目的功能
15、和时序特性,以及最后的硬件器件的功能与原设计相吻合。仿真可分为功能方针和时序仿真。功能仿真只测试设计项目的逻辑行为,而时序仿真则既测试逻辑行为,也测试实际器件在最差条件下设计项目真实运行情况。仿真操作前必须利用 QuartusII 波形编辑器建立一个矢量波形文件(VWF)作为仿真激励。VWF 文件将仿真输入矢量和仿真输出描述成为一波形的图形来实现仿真,但也可以将仿真激励矢量用文本表达,即文本方式的矢量文件(.vec)。QuartusII允许对整个设计项目进行仿真测试,也可以对该设计中的任何子模块进行仿真测试。对工程的编译通过后,必须对其功能和时序性质进行仿真,以了解设计结果是否满足原设计要求。
16、以 VWF 文件方式的仿真流程的详细步骤如下:(1)打开波形编辑器。选择菜单 File 中的 New 项,在 New 窗中选Other Files中的Vector Waveform File(如图2-13),点击OK,即出现空白的波形编辑器(图 2-16)。图2-16新建矢量波形文件 (2)设置仿真时间区域。为了使仿真时间轴设置在一个合理的时间区域上,在 Edit 菜单中选择 End Time 项,在弹出的窗口中的 Time 栏中输入50,单位选择“us”,即整个仿真域的时间设定为 50s,单击“OK”,结束设置。(3)保存波形文件。选择 File 中的 Save As,将名为 cnt10.v
17、wf(默认名)的波形文件存入文件夹 F:CNT 中。(4)输入信号节点。将计数器的端口信号选入波形编辑器中,方法是首先选 Edit 菜单中的 Insert Node Or Bus选项,然后单击 Node Finder按钮,在图2-17的Filter框中选 Pins:all,然后单击 List,则在下方的 Nodes Found 窗口出现 Cnt10 工程的所有引脚名(如果此对话框中的 List 不显示,需要重新编译一次,然后再重复以上操作过程)。选择要插入的节点,可以按“”、“”逐个添加或删除节点,也可以按“”、“0); ELSIF CLKEVENT AND CLK=1 THEN IF EN=1 THEN IF CQI0);END IF; END IF; END IF; IF CQI=9 THEN COUT=1; ELSE COUT=0;END IF; CQ=CQI; END PROCESS; END behav;