FPGA_CPLD设计开发流程快速入门指南 ALTERA篇QuartusII 史上最全
fpga入门教程_altera_quartus_ii__和_xilinx___ise_cpld入门教
设计复杂数字系统的工具 和手段
两种硬件描述语言 : ➢Verilog ➢VHDL
有哪几种硬件描述语言? 各有什么特点?
Verilog HDL - 较多的第三方工具的支持 - 语法构造比VHDL简单 - 学习起来比VHDL容易 - 仿真工具比较好使 - 测试鼓励模块容易编写
Verilog HDL 的开展历史
用于数字信号传输中所必需的滤波、变换、加密、 解密、编码、解码、纠检错、压缩、解压缩等操作。
处理工作从本质上说都是数学运算。 完全可以用计算机或微处理器来完成处理工作。
计算〔Computing〕的根本概念
“Computing 这门学问研究怎样系统地有步骤地描述 和转换信息,实质上它是一门覆盖了多个知识和技术 范畴的学问,其中包括了计算的理论、分析、设计、效 率和应用。它提出的最根本的问题是什么样的工作能 自动完成,什么样的不能。〞〔摘自Denning et al., “Computing as a Discipline,〞 Communication of ACM, January,1989〕。
怎样设计如此复杂的系统?
传统的设计方法: - 查用器件手册; - 选用适宜的微处理器和电路芯片; - 设计面包板和线路板; - 调试; - 定型;
- 设计复杂的系统〔几十万门以上〕极其困难。
怎样设计如此复杂的系统?
现代的设计方法: - 选用适宜的 EDA仿真工具; - 选用适宜电路图输入和HDL编辑工具; - 逐个编写可综合HDL模块; - 逐个编写HDL测试模块; - 逐个做Verilog HDL 电路逻辑访真; - 编写Verilog HDL总测试模块; - 做系统电路逻辑总仿真;
FPGA的用途
可以毫不夸大的讲,FPGA能完成任何数字器件的功能, 上至高性能CPU,下至简单的74电路,都可以用FPGA来实 现。 FPGA如同一张白纸或是一堆积木,工程师可以通过 传统的原理图输入法,或是硬件描述语言自由的设计一个 数字系统。通过软件仿真,我们可以事先验证设计的正确 性。在PCB完成以后,还可以利用FPGA/CPLD的在线修 改能力,随时修改设计而不必改动硬件电路。 使用FPGA 来开发数字电路,可以大大缩短设计时间,减少PCB面积 ,提高系统的可靠性。 FPGA还可以做数字IC设计的前端 验证,用这种方式可以很大程度上降低IC设计的本钱。 FPGA的这些优点使得FPGA技术在90年代以后得到飞速的 开展,同时也大大推动了EDA软件和硬件描述语言〔HDL 〕的进步。
QuartusII使用入门及FPGA设计流程
第3章Quartus II使用入门及FPGA设计流程Quartus II可编程逻辑开发软件是Altera公司为其FPGA/CPLD芯片设计推出的专用开发工具,是Altera公司最新一代功能更强的EDA开发软件,可完成从设计输入,综合适配,仿真到下载的整个设计过程。
Quartus II提供了一个完整的多平台开发环境,它包含FPGA和CPLD整个设计阶段的解决方案。
Quartus II集成环境包括以下内容:系统级设计,嵌入式软件开发,可编程逻辑器件设计、综合、布局和布线,验证和仿真。
Quartus II也可以直接调用Synplify Pro、ModelSim等第三方EDA 工具来完成设计任务的综合与仿真。
Quartus II与MATLAB和DSP Builder结合可以进行基于FPGA的DSP系统开发,方便快捷。
Quartus II还内嵌SOPC Builder,可实现SOPC系统的开发。
Quartus II 9.0主界面如图3.1示。
图 3.1 Quartus II 9.0界面3.1 Quartus II 基本设计流程Quartus II 设计的主要流程包括创建工程、设计输入、分析综合、编译、仿真验证、编程下载等,其一般流程如图 3.2所示。
下面以硬件描述语言输入法设计计数器为例,说明Quartus II 的设计流程。
3.1.1 创建工程使用Quartus II 设计电路被称作工程。
Quartus II 每次只进行一个工程,并将该工程的全部信息保存在同一个文件夹中。
开始一项新的电路设计,首先要创建一个文件夹,用以保存该工程的所有文件。
之后便可通过Quartus II 的文本编辑器编辑Verilog 源文件并存盘。
3.1.2 设计输入Quartus II 中包含原理图输入和硬件描述语言输入两种方法。
(1)原理图输入原理图输入的优点是,设计者不必具有诸如编译技术、硬件描述语言等新知识就能迅速入门,完成较大规模的电路系统的设计,且具有直观,易于理解的特点,适合于初学者使用。
第2、3章 Altera Quartus II软件开发(FPGA-SOPC)
FPGA-CPLD原理及应用
第2&3章 Altera Quartus II软件开发
设计流程范例(5)
Requirement Book Functional Design RTL Level Design
ASIC设计流程
Requirement Book Functional Design RTL Level Design Logic Design Circuit Design Physical Design
所需功能的自然语言描述 所需功能的“逻辑语言” 描述 用寄存器、存储器、运算单元和状态机等 实现逻辑功能 细化RTL设计中的模块到触发器和逻辑门 用三极管、电容、电阻等实现电路
FPGA-CPLD原理及应用
第2&3章 Altera Quartus II软件开发
开始一个新项目
Project: 项目,工程,设计
Quartus2只对项目进行编译,模拟,编程…..
而不对单独的文件,除非把该文件设置为项目
FPGA-CPLD原理及应用
第2&3章 Altera Quartus II软件开发
FPGA-CPLD原理及应用
第2&3章 Altera Quartus II软件开发
2.4.3 使用RTL和状态机查看器分析综合结果
2.状态机查看器
FPGA-CPLD原理及应用
第2&3章 Altera Quartus II软件开发
2.4.3 使用RTL和状态机查看器分析综合结果
3.采用技术映射查看器分析综合结果 提供的是设计的底级或基元级专用技术原理表征,它展示 的是综合后的电路结构。
2-QuartusII软件使用指南和CPLD开发流程
1、在电脑供学生使用的盘符下建立项目文件夹。
顶层文件夹名称同组号,每次实验在该文件夹下建立子文件夹,如第一次实验的文件夹为E:/A1/Lab01。
2、双击桌面“Quartus II 7.2”图标或从开始菜单->所有程序->Altera下启动软件。
3、新建项目:File->New Project Winzad。
a)在对话框的“page 1 of 5”设定工作路径、项目名称和顶层设计文件;b)在对话框的“page 3 of 5”设定目标CPLD芯片型号:EPM240T100C5;c)其他步骤一律按“Next”直至完成;4、新建设计文件:File->New->Design Files->Bloc k…(原理图)或VerilogHDL先以原理图方式举例设计一个4选1数据选择器,逻辑表达式为:F=S1·S0·D3+ S1·/S0·D2+ /S1·S0·D1+ /S1·/S0·D0 a)鼠标左键双击原理图空白处,调出“Symbol”符号库对话框,在“Name”中键入input、output、not、and3、or4分别调出输入端口、输出端口、3输入与门、四输入或门;b)双击input/output,将其命名为S0、S1、D[3..0]和F。
按逻辑表达式连接各元件符号,靠近元件端口鼠标箭头变为十字光标时按下左键进行连线;c)也可以直接在连线上键入网络名,其含义与直接连线是一样的。
当端口或网络名是以“[..]”形式出现的则表示该信号是一个组信号,“[]”则表示组信号中的单个成员,通常用于地址线、数据线或有一定变化规律的信号线。
下图展示了端口两种命名方式,信号线的两种连接方式;d)原理图绘制完成后,默认方式保存。
5、设计编译:Processing->Start Compilation或上方工具栏图标。
QUARTUS II 使用入门
2、 QUARTUS II系统安装
2.1 QUARTUS II安装
对于安装Quartus II 7.2版本的系统必须满足以下最低要求: 硬件:运行速度为866MHz或更快Pentium III 以上计算机,
系统内存容量大于256M。
操作系统:Microsoft Windows 2000或Microsoft Windows XP。
编译的启动方法:
选择Processing菜单的Start Compilation项即可启动全程编译
编译过程中,status窗口会显示出当前的编译的进度。
下方的process栏中会显示出编译信息,如果有出错信 息就会在其中显示。双击出错的条文,即会弹出对应的
VHDL文件。
如果编译成功,就会出现一个编译成功的信息窗口 。
3.5 应用RTL电路观察器
Quartus II支持网表文件对应的RTL电路的生成。方法如下: 选择菜单Tool中的Netlist viewers项,在出现的次级菜单中选 择RTLviewer,即可观察到设计文件对应的RTL电路结构
3.6 引脚分配
所谓引脚分配就是将设计项目的输入输出端口分配到目 标芯片的对应管脚。引脚的分配可以由分配编辑器实现,也
(3)将设计项目的端口信号选入波形编辑器。 选择菜单Edit中的Insert Node or Bus项,弹出Insert Node or Bus对话框 .
单击Node Finder按钮出现Node Finder对话框
在Node Finder对话框的Filter框中选择“Pins: all”,然后单 击List按钮,此时在下方的Nodes Found窗口出现设计项目 中的所有端口的名称。
Quartus II的许可文件的设定步骤如下: 选择菜单Tools/LicenseSetup,弹出图7.2 所示 “LicenseSetup”对话框。 单用户许可方式(single-user licenses):在“License file”对话框,点击“…”按钮选择License.dat 文件即可。 最后单击OK,完成设定。文件所许可的AMPP and MegaCore functions会出现在“Licensed AMPP/MegaCore functions”窗口中。
QuartusII软件使用及设计流程
时序优化
时序分析
在Quartus II中进行时序分析,确保设计满足时序要求,找出关键 路径并优化。
延迟调整
通过调整逻辑单元的时序参数,减小关键路径的延迟,提高时钟频 率。
布局优化
合理安排逻辑单元的位置,减小信号传输延迟,提高时序性能。
面积优化
优化算法
采用高效的算法和优化策略,减小设计规模, 降低面积成本。
低功耗硬件选择
选择低功耗硬件器件和IP核,从硬件层面降低功 耗。
06
Quartus II实际应用案 例
数字钟设计案例
总结词
数字钟设实现数字钟的原理图 设计和编程。
详细描述
首先,在Quartus II软件中创建一个新的工程,选择合适的FPGA芯片型号。然后,使 用原理图输入方式设计数字钟电路,包括分频器、计数器、译码器等模块。接着,进行 仿真测试以确保设计正确。最后,将设计文件下载到FPGA芯片中,完成数字钟的硬件
保存配置
完成配置后,保存配置文件以便以后使用。
许可证激活与验证
获取许可证文件
从Altera官网或授权合作伙伴处获取Quartus II软件 的许可证文件。
激活许可证
运行许可证激活程序,输入许可证文件中的激活码进 行激活。
验证许可证
启动Quartus II软件,验证许可证是否有效,确保软 件正常使用。
完成串口通信的硬件实现。
THANKS FOR WATCHING
感谢您的观看
Quartus II软件中提供了大量的IP核,用户可以直接调用这些IP核进行设计, 避免了重复造轮子,提高了设计效率。
IP核定制
对于一些特殊需求,用户可以通过定制IP核的方式实现。Quartus II软件提供了 IP核定制工具,用户可以根据需求对IP核进行修改和定制,以满足特定设计要求。
Altera FPGA开发说明(QuartusII 7.2 & ModelSim 6.5)
Altera FPGA开发说明(QuartusII 7.2 & ModelSim 6.5)By ccx于2010-11-22一、说明1、本例程中的代码是用Verilog编写的,但本文并不探讨Verilog本身。
推荐王金明的一本书作为入门书籍,既讲到了Verilog,也讲到了QuartusII 的使用,还探讨了Modelsim的使用(很难得地讲到了Test Bench的编写)。
2、QuartusII 7.2软件的文本编辑器不支持中文输入,Modelsim 6.5的编辑窗口也不尽如人意。
使用Notepad++(目前只支持Windows平台,方便易用)也可使用Gvim(陆博推荐,因为linux系统中也有对应的编辑工具)3、本例中的程序功能说明一个4位二进制计数器,显示到FPGA开发板(DE2-70)的4个LED上。
4、本例的验证平台为Altera公司的DE2-70开发板二、使用QuartusII 7.2和ModelSim 6.5进行Altera FPGA开发2.1、FPGA开发流程图2.2、建立QuartusII项目这里不讨论原理图输入法,也不讨论多个模块如何组织在1个顶层模块之下。
在建立项目之前,我已经编写好counter.v文件,并把它放在E:\counter目录下。
打开QuartusII软件,File→New Project Wizard…,可开始建立项目的流程。
2.2.1、向导介绍建立项目时要做的工作2.2.1、填写目录、项目名、top-level entity名注意:top-level entity需要正确填写,因为本例中只有一个模块counter,而且其为top-level entity,所以填写如下。
2.2.2、为项目添加文件2.2.3、选定器件Cyclone II系列,器件编号为EP2C70F896C6(可以网上搜索该器件号的意思)。
2.2.4、EDA工具设置默认即可,但可以留意Simulation一项,因为之后用ModelSim 6.5做时序仿真与它有关。
Altera CPLDFPGA轻松入门与开发实例第4章 (4)
2 时序分析
(5)数据要求信号---保持时间:使新信号 到达目的寄存器D输入的最早的时间
2 时序分析
(6)Slack:用于衡量设计满足或者不满足 时序约束的程度,为了使电路能够正常工 作,Slack的计算结必须是正的。
建立Slack = 建立需要的时间 — 数据到达时间 保持Slack = 数据到达时间 — 保持需要的时间
2 时序分析
(1)启动沿(Launch)和锁存沿(Latch)
2 时序分析
(2)数据到达时间:时钟启动沿使数据从 源寄存器到达目的寄存器D输入引脚的时 间
2 时序分析
(3)时钟到达时间:时钟到达寄存器时钟 引脚的时间
2 时序分析
(4)数据要求信号---建立时间:使信号由 源寄存器发送必须到达目的寄存器D输入 的时间,以便正确采样。
2 PLD设计流程
PLD的开发流程一般包括设计定义、 设计输入、功能仿真、综合优化、综合后 仿真、实现、布线后仿真、板级仿真以及 芯片编程与调试等主要步骤 。
2 布局布线
4.4 仿真及时序分析 4.4.1 仿真 4.4.2 时序分析
Page 17
机பைடு நூலகம்工业出版社
2015-1-6
1 仿真
新的Quartus II软件不再提供自带的仿真器( Simulator),因此要使用EDA 仿真工具对设计进 行功能与时序仿真。 使用 NativeLink 功能,可以让Quartus II 软件编译设计,生成相应的输出文件,然后使用 EDA 仿真工具自动进行仿真。当然也可以在编译 之前或编译之后,在Quartus II 软件中手动运行 EDA 仿真工具进行功能仿真或时序仿真。功能仿 真可以在设计流程中的任何阶段进行。时序仿真 则必须在编译之后才能进行。
QuartusII软件使用及设计流程
(3)编辑输入信号并保存文件。在图1-22中单击 “Name”下方的“A”,即选中该行的波形。在本 例中将输入信号“A”设置为时钟信号,单击工具 栏中的 按钮,弹出“Clock”对话框,此时可以 修改信号的周期、相位和占空比。设置完后单击 “OK”按钮,输入信号“A”设置完毕。同理设置 其他输入信号“B”,最后单击保存文件按钮 , 根据提示完成保存工作,如图1-23所示。同时, 为了方便读者熟悉其他波形编辑工具的使用,在 图1-24中标注了其他波形编辑工具的功能。
Quartus II软件及其使用
Quartus II使用及设计流程
QuartusⅡ是Altera公司推出的新一代开发软件,适合于 大规模逻辑电路设计。 QuartusⅡ支持多种编辑输入法,包括图形编辑输入法, VHDL、Verilog HDL和AHDL的文本编辑输入法,符号 编辑输入法,以及内存编辑输入法。 QuartusⅡ与MATLAB和DSP Builder结合可以进行基于 FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA 工具,与SOPC Builder结合,可实现SOPC系统开发。
(4)第三方工 具选择。 如图1-7所示, 用户可以选择所 用到的第三方工 具,比如 ModleSim、 Synplify等。在 本例中并没有调 用第三方工具所示。建立的工程的名称、选择的器件和 选择的第三方工具等信息,如果无误的话就可 以单击“Finish”按钮,弹出如图1-9所示的窗口, 在资源管理窗口可以看到新建的工程名称 half_add。
(2)选择元件。在原理图编辑窗中的任何一个位置上双
击鼠标的左键将跳出一个元件选择窗。
参数可设置的强函数元件库
MAX+plus库
基本逻辑元件库
基本逻辑元件库中的元件
FPGA入门及Quartus II使用教程(内部资料)
FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。
可以这样讲,ASIC(Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。
并且可以通过软件仿真,我们可以事先验证设计的正确性。
第一章FPGA的基本开发流程下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。
下图是一个典型的基于Quartus II的FPGA开发整体流程框图。
1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管理。
2、建立顶层图。
可以这样理解,顶层图是一个容器,将整个工程的各个模块包容在里边,编译的时候就将这些模块整合在一起。
也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。
3、采用ALTERA公司提供的LPM功能模块。
Quartus软件环境包含了大量的常用功能模块,比如计数器、累加器、比较器等等。
4、自己建立模块。
由于有些设计中现有的模块功能不能满足具体设计的要求,那就只能自己设计。
使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。
这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。
5、将顶层图的各个功能模块连线起来。
Quartus_II的FPGA设计手册
随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足PLD/FPGA领域。目 前世界上有十几家生产CPLD/FPGA的公司,最大的三家是: Altera,Xilinx,Lattice, 其中Altera和Xilinx占有了60%以上的市场份额。 Altera 公 司 是 全 球 最 大 的 可 编 程 逻 辑 器 件 供 应 商 之 一 。 主 要 产 品 有 : MAX3000/7000,MAXⅡ,FLEX6000,FLEX8000,APEX20K,ACEX1K,Cyclone,Stratix, CycloneⅡ,StratixⅡ等。Altera公司针对FPGA/CPLD器件推出了相应的设计软件, 目前主要是第三代的 MAX+plusⅡ和第四代的QuartusⅡ。作为 Altera 公司的最新 一代集成设计环境,QuartusⅡ支持Altera 公司目前流行的所有主流 FPGA/CPLD 的 设计开发,并引入了一系列的新特性,如支持RLT View,综合效率更高,可以进行 功耗估算等等。本使用手册主要是针对使用Quartus Ⅱ 5.0软件进行FPGA设计开发 的常见的功能进行介绍。 主要分以下几个步骤:
图 39:第一次启动后的界面 图 37:(方法 1)启动 QuartusII 5.0 图 38:(方法 2)启动 QuartusII 5.0
Quartus II 的 FPGA 设计手册--------王兴权(030320122)2007 年 4 月 桂林电子科技大学计算机与控制学院(自动化专业)-------- 用喜悦振奋精神,用成绩增添信心!
图 19 16、在 Select Features 对话框上,选中 Stand-Alone programmer 和 StandAlone SignalTapII 选项,点击 Next 按钮,进入下一步;
1、Altera Quartus II 教程(基于Altera DE2板和原理图设计)
目前,FPGA 的主要发展动向是:随着大规模 FPGA 器件的发展,系统设计进入“片上可 编程系统”(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都 在积极扩充其 IP(知识产权)库,以优化的资源更好的满足用户的需求,扩大市场;特别是 引人注目的所谓 FPGA 动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。
Altera Quartus II 入门教程
(基于Altera DE2 板和原理图设计)
广东工业大学自动化学院电子信息科学与技术系
1
徐迎晖
2009 秋
目录
一、FPGA 简介 ............................................................................................ 1 二、DE2 板及 Altera 公司产品简介........................................................... 4 三、Quartus II 使用基础 .............................................................................. 8
四、设计实例 ..................................................................................... 33
功能要求............................................................ 33 设计思路............................................................ 34 方案设计............................................................ 34 详细设计............................................................ 36 设计的实现 .......................................................... 37 评价与改进 .......................................................... 41
FPGA入门及QuartusII使用教程(内部资料)
FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。
可以这样讲,ASIC(内部的所有资源,是Application Specific Integrated Circuit )用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。
并且可以通过软件仿真,我们可以事先验证设计的正确性。
第一章 FPGA的基本开发流程下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。
下图是一个典型的基于Quartus II的FPGA开发整体流程框图。
1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管理。
2、建立顶层图。
可以这样理解,顶层图是一个容器,将整个工程的各个模块包容在里边,编译的时候就将这些模块整合在一起。
也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。
3、采用ALTERA公司提供的LPM功能模块。
Quartus软件环境包含了大量的常用功能模块,比如计数器、累加器、比较器等等。
4、自己建立模块。
由于有些设计中现有的模块功能不能满足具体设计的要求,那就只能自己设计。
使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。
这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。
5、将顶层图的各个功能模块连线起来。
基于QuartusII的CPLD开发实训手册
基于Quartus II 的CPLD开发实训手册(适用于电信系11级数电课程设计)编者:李楠2012-9Quartus II软件利用简介Quartus II是Altera公司提供的FPGA\CPLD开发集成环境,Altera是世界上最大可编程逻辑器件供给商之一。
Quartus II界面友好、利用便捷,被誉为业界最易用易学的EDA软件。
其主要功能为数字电子系统的设计输入、编辑、仿真、下载等。
该软件支持原理图输入设计和VHDL语言(和其它硬件描述语言)输入设计和原理图与HDL混合输入设计。
硬件描述语言(HDL-Hardware Description Language)是一种用于设计硬件电子系统的运算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相较,它更适合大规模系统的设计。
VHDL(Very High Speed IC Hardware Description Language)以下将详细介绍原理图输入设计方式,但读者应该更多地关注设计流程,因为除最初的图形编辑输入外,其它处置流程都与文本(如VHDL文件)输入设计完全一致。
实验一原理图方式设计二进制全加器一、设计目的一、通过设计一个二进制全加器,掌握组合逻辑电路设计的方式。
二、初步了解QuartusII采用原理图方式进行设计的流程。
3、初步掌握FPGA开发的流程和大体的设计方式、大体的仿真分析方式。
二、设计原理三、设计内容四、设计步骤1位全加器设计向导1 为本项设计成立文件夹任何一项设计都是一项工程(Project),都必需第一为此工程成立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默以为工作库(Work Library)。
一般不同的设计项目最好放在不同的文件夹中,注意,一个设计项目能够包括多个设计文件,如频率计。
打开Quartus Ⅱ,选菜单File→New,在弹出的New对话框当选择Device Design Files页的原理图文件编辑输入项Block Diagram/Schematic File,单击OK按钮后打开原理图编辑窗口如图所示。
明德扬点拨FPGA高手进阶第二章QuartusII技巧2.1FPGA开发流程
明德扬点拨FPGA高手进阶第二章QuartusII技巧2.1FPGA开发流程第二章Quartus II技巧2.1 FPGA开发流程FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。
典型FPGA的开发流程一般如图4.1.1所示,包括功能定义/器件选型、设计输入、功能仿真、综合优化、综合后仿真、实现、布线后仿真、板级仿真以及芯片编程与调试等主要步骤。
1.功能定义/器件选型在FPGA设计项目开始之前,必须有系统功能的定义和模块的划分,另外就是要根据任务要求,如系统的功能和复杂度,对工作速度和器件本身的资源、成本、以及连线的可布性等方面进行权衡,选择合适的设计方案和合适的器件类型。
一般采用自顶向下的设计方法,把系统分成若干个基本模块,各模块功能相互独立并能协调工作。
好的系统结构,可以使系统高效稳定、减少资源、节省研发时间,是FPGA的最重要技巧。
但这要求设计师具有丰富的FPGA研发经验,能够从众多方案评估优劣,然后挑选适合的方案。
明德扬给出的FPGA学习步骤,先经过大量的基础案例训练,再逐步学习模块划分技术。
器件选型同样需要设计师具有丰富的FPGA研发经验,在项目启动时,就能够评估到整个项目所需要的资源、速度、功耗等。
但业界更通常的做法,先在开发板的基础上,完成所有功能的设计,得到该项目所需要的资源、速度、功耗等信息,从而再做器件造型,最后完成硬件的设计。
2.设计输入设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。
常用的方法有硬件描述语言(HDL)和原理图输入方法等。
原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需的器件从元件库中调出来,画出原理图。
这种方法虽然直观并易于仿真,但效率很低,且不易维护,不利于模块构造和重用。
更主要的缺点是可移植性差,当芯片升级后,所有的原理图都需要作一定的改动。
明德扬不推荐这个方法,玩一玩可以,但做项目就太不方便了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对于本工程实例,设置好器件型号后,就可以直接选择【Finish】即可进入“第五节 逻 辑设计”即可,但如果您想了解其它页表项,可继续往下阅读。
(5)选择【Next >】后即可进入 EDA 工具设置页表项。QuartusII 支持很多第三方工具, 比如综合工具、仿真工具等等,第三工具通常在某一方面更为专业,特别 是仿真工具, QuartusII 已经不再提供仿真功能,只能用第三方仿真工具,如 Modelsim 来进行仿真。
在总结中显示了当前工程编译后所占用的资源情况,本工程占用 51 个宏单元,占用总 设计资源的 21%,使用了 2 个引脚(即 clk 与 clk_out),占用总引脚的 3%
九、逻辑下载
逻辑全编译后即可生成下载文件,对于 CPLD 开发平台,通常是.pof 文件,对于 FPGA 开发平台,还可以是.sof、.jic 等文件
完成后此时应如下图所示:
6
All rights reserved, NO Spreading without Authorization
professional products right for you ( / )
六、逻辑综合
逻辑设计完毕后,可以初步对逻辑进行综合,以进行分析
(1)选择菜单【Processing】→【Start】→【Start Analysis & Synthesis】后,即可开始 进行逻辑设计的综合过程,完成后应如下图所示:
(2)菜单选择【Tools】→【Netlist Viewers】→【RTL Viewer】后即可出现 RTL(寄存器 传输级)图,通常,对于简单的逻辑错误,使用 RTL 可以看出来。本文要实现的是 26 位分 频器,下图表示,每到来一个时钟,即使用 Add0 加法器将当前 tmp 寄存器中的值累加 1, 再通过一个 clk_out~reg0 将最高位输出,这正好应证了我们的设计思路。
professional products right for you ( / )
QuartusII 开发流程快速入门指南
一、概述
本文以鼎瑞普科技自带的工程实例为蓝本,从头至尾演示工程建立的所有细节及注意事 项,以便新手用户快速掌握 QuartusII 的入门操作知识
2
All rights reserved, NO Spreading without Authorization
professional products right for you ( / )
(4)选择【Next >】后,即可进入如下图所示的器件选择页表项。您的开发平台是什 么芯片型号,就在此页表选择相对应的器件型号,如果选择的器件型号与您实际使用的芯片 型号不一致,在逻辑下载步骤时将会出错。
由于 ALTERA 的器件非常多,因此 QuartusII 提供一些过滤选项,以协助我们快速找到对 应的器件。本文的开发平台芯片型号为“EPM240T100I5N”,该芯片为 MAXII 系列(Family), 封装(Package)为“TQFP”,引脚数量(Pin count)为“100”,速度等级(Speed grade)为 “5”,如下图所示:(对于 EPM3032/3064 或 FPGA 也是同样的方法,如果您按照此对话框设 置后,没有找到您需要的器件型号,说明您可能没有安装该芯片对应的器件库)
(3)选择【Next >】后,即可进入如下图所示的添加文件页表。如果您将鼎瑞普科技 自带工程实例中的源码文件 demo.v 拷贝到该工程目录下(即目录 D:/demo),您就可以使用 该页表项添加该文件即可,这种方式适用于源码文件已经准备完好的情况。本文为了更详细 展示设计流程,重新建立源码文件,因此,不对此页表项做任何处理。
(2)将开发平台按规格书所述供好电源,再正确插上 USB‐Blaster JTAG 口,即可开始进 行文件烧录过程,烧录顺利后应如下图所示:
9
All rights reserved, NO Spreading without Authorization
四、工程建立
下面我们来详细描述一个实际工程是如何建立的: (1)打开 QuartusII 后,初始界面应如下图所示:
1
All rights reserved, NO Spreading without Authorization
professional products right for you ( / )
五、逻辑设计
工程建立完成后,就可以开始着手进行逻辑的设计了 (1)选择菜单【File】→【New…】即可弹出如下图所示的新建(New)对话框,Quartus II 支持很多的逻辑设计输入方式,这里我们选择“Verilog HDL File”,表示我们将使用 Verilog HDL 语言作为本工程的逻辑设计输入方式。
professional products right for you ( / )
(2)选择菜单【File】→【Save】后,将文件保存在工程目录,并将其命名为“demo.v” 即可,如下图所示:
注意:文件名不一定必须是“demo.v”,QuartusII 只要求模块名与工程名相同,不要求 与文 件名相同
(1)选择菜单【Assignments】→【Pin Planner】后,即可打开 Pin Planner 对话框。我 们根据 EPM240T100 开发板规格书中的引脚说明,将其引脚如下图所示分配即可:
八、逻辑编译
引脚分配完成后,就可以对工程进行全编译,这包括逻辑综合、适配、时序分析等步骤, 本文暂不关注这些细节
二、声明
本文以 ALTERA QuartusII 11.0 版本进行演示,虽然是针对 CPLD EPM240T100 开发平台所 做的入门指导书,但这些流程对于 FPGA 设计是完全通用的。另外,本文在行文时描述的 QuartusII 步骤操作,均使用菜单方式,事实上,大多数操作可以直接使用工具栏上的快捷按 钮,读者可自行熟悉,执行的结果与菜单操作都是一致的
三、基本思路
工程实例建立的基本步骤如下: (1)工程建立:建立与您的开发平台相对应的工程,比如您的开发平台是 EPM3064, 则后续的工程开发也应该基于该芯片进行 (2)逻辑设计:这里包括很多设计手段,如 AHDL、VHDL、Verilog HDL、原理图等 等 , 由于本文讲的是 QuartusII 设计流程,不会过多关注此步骤 (3)逻辑综合:逻辑综合用于宏观 上您设计的逻辑判断是否有错,同 时分析出逻辑设 计中的 IO 引脚,以便后续进行 IO 引脚的分配 (4)引脚分配:将逻辑设计中的 IO 分配到实际器件中的 IO 引脚 (5)逻辑编译:全编译工程逻辑,并生成可用于下载的烧录文件 (6)逻辑下载:将逻辑下载到实际的开发平台中进行验证或使用
7
All rights reserved, NO Spreading without Authorization
professional products right for you ( / )
七、引脚分配
逻辑综合如果顺利的话逻辑设计完毕后,可以初步对逻辑进行综合,以判断是否有诸如 语法错误出现,并可初步对 IO 引脚进行分析
(1)选择菜单【Tools】→【Programmer】后,在弹出的对话框中勾选“Program/Configure”, 表示我们将要进行烧录操作,此时应如下图所示:
如果您没有插上下载器或下载器有异常,上图中 USB‐Blaster[USB‐0]处 将会显示“No Hardware”,这时您应该看看驱动是否安装,或下载器是否正常
(6)选择【Next >】后,即可进行进入如下图所示的总结(Summary)页表,这里简要 显示 了您之前所做的所有设置,如果没有 问题的话,选择【Finish】即可
4
All rights reserved, NO Spreading without Authorization
professional products right for you ( / )
(1)选择菜单【Processing】→【Start Compilation】后,即可开始全编译过程,如果顺 利的话,将如下图所示:
8
All rights reserved, NO Spreading without Authorization
professional products right for you ( / )
由于我们的实例比较简单,且仅注重开发流程,因此我们对此步骤不做 调整
3
All rights reserved, NO Spreading without Authorization
professional products right for you ( / )
(2)选择菜单【File】→【New Project Wizard…】后,即可弹出如下图所示的新工程向 导对话框:
设置工程目录位于 D:/demo,并将工程名命名为“demo”,同时软件会自动将顶层设计 模块名填充为“demo”,因为 QuartusII 的工程名必须与顶层设计文件的模块名一致,否则 编译将出错
(2)选择【OK】后,QuartusII 将默认新建一个名为“Verilog1.v”的文件,我们将工程 示例代码拷贝进去,此时应如下图所示:
注意:这个源代码的模块名 demo 是与左边 Project Navigator 中工程名是一致的,而且 是必须的
5
All rights reserved, NO Spreading without Authorization