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 仿真工具进行功能仿真或时序仿真。功能仿 真可以在设计流程中的任何阶段进行。时序仿真 则必须在编译之后才能进行。
- 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