Altera Quartus II 入门教程
(基于Altera DE2 板和原理图设计)
广东工业大学自动化学院电子信息科学与技术系
徐迎晖
2009 秋
1
目 录
一、FPGA 简介 ............................................................................................ 1
二、DE2 板及 Altera 公司产品简介........................................................... 4
三、Quartus II 使用基础.............................................................................. 8
典型的设计流程 ....................................................... 8
1. 创建工程 .......................................................... 9
2. 绘制原理图 ....................................................... 13
3. 编译 ............................................................ 18
4. 分配引脚 ......................................................... 19
5. 仿真和时序分析 ................................................... 21
6. 配置 FPGA ........................................................ 30
巩固练习 ............................................................ 32
四、进一步的学习 ..................................................................................... 33
功能要求 ............................................................ 33
设计思路 ............................................................ 33
方案设计 ............................................................ 34
详细设计 ............................................................ 36
设计的实现 .......................................................... 37
评价与改进 .......................................................... 41
课程的任务
利用数字电路课程中所学的知识,采用原理图的方式设计具有某种功能要求的数字电
路。将所设计的电路在 Altera 公司的一款可编程数字逻辑器件(一种 FPGA 器件,Altera 公
司 DE2 板上的核心器件)上实现,并配合 DE2 板上的与 FPGA 相连的外围器件,实现给定功
能要求的硬件电路。其中从设计输入到最终的硬件实现的整个过程,都在 Altera 公司的集成
开发软件 Quartus II 下完成。
一、FPGA 简介
FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵列,是一种大规
模数字器件,它可由用户编程实现特定的数字电路功能(而不必通过厂家进行掩膜编程)。
FPGA 是在 PAL、GAL、EPLD 等可编程逻辑器件(PLD,这个缩写有时指全部的可编程逻
辑器件,有时也特指那些规模小且可以单片使用的器件)的基础上进一步发展的产物,20世
纪80年代中期,为了弥补当时小规模 PLD 器件的不足,Altera 和 Xilinx 公司分别推出了类似
于 PAL 结构的扩展性 CPLD(Complex Programmable Logic Device)和类似于标准门阵列的
FPGA,它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点,可实现较大
规模的电路,编程也很灵活。与专用集成电路 ASIC(Application Specific IC)相比,它们可
以被视为一种半定制电路,解决了定制电路的设计制造投入及研发周期等方面的不足。
对于 CPLD 和 FPGA,不同厂商的叫法不尽相同,有的厂商从使用方式上来划分,有的
则从器件结构上来划分,并无严格的标准。一般而言,CPLD 的规模较小一些,在使用上一
旦编程设定好了其电路功能,即可单片使用。FPGA 的规模更大一些,当前主流的 FPGA 在
使用时不能单独工作,需要配合一片设置其电路功能的配置芯片(也有的厂商将一些规模较
大的,可以单片工作的可编程逻辑器件称为 FPGA)。对用户来说,从使用的角度看,由于
设计工具设计方法差别不大,很多时候也可以不用严格区分。通常 CPLD 和 FPGA 都可以多
次反复编程,但许多 CPLD 有编程次数限制甚至只能编程一次。下面简单介绍一下 FPGA。
自1985年 Xilinx 公司推出有史以来第一颗现场可编程逻辑器件至今,已经历了二十几年
的发展历史。在发展过程中,以 CPLD/FPGA 为代表的数字系统现场集成取得了惊人的发
展,FPGA 从最初的1200个可利用逻辑单元,发展到现在的近百万个可利用逻辑单元和上千
个用户I/O口,有的内部还集成了诸如嵌入式处理器、高速通信收发器、可配置模拟电路等。
FPGA 如同一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由地
设计一个数字系统。通过软件仿真,可以事先验证设计的正确性。即使在 PCB 完成以后,还
可以利用 FPGA 的在电路修改能力,修改调整设计而不必改动硬件电路。使用 FPGA 来开发
数字电路,可以大大缩短设计时间,减少 PCB 面积,提高系统的可靠性。FPGA 的这些优点
使得它在90年代以后得到飞速的发展,同时也大大推动了 EDA 软件和硬件描述语言(HDL)
的进步。
目前 FPGA 的品种很多,主要生产厂商有 Xilinx 、Altera、Actel 和 Lattice。上图是著名
市场调研公司 iSuppli 2007 年公布的各可编程逻辑器件厂商的营收及市场总额,其中 FPGA 占
据了可编程逻辑器件市场的大部分份额。下图则是著名市场分析机构 In-Stat 2006 年公布的,
美国半导体行业协会(SIA)所划分的世界主要地区的 FPGA 消费情况。总的来说,目前及今
1
后相当长的一段时间内,FPGA 市场将保持稳定增长,并且高于半导体行业的平均水平。
FPGA 的基本特点主要有:
● 采用 FPGA 设计 ASIC 电路,用户不需要
投片生产,就能得到合用的芯片;
● FPGA 可做其它全定制或半定制 ASIC 电
路的中试样片;
● FPGA 内部有丰富的触发器和 I/O 引脚;
● FPGA 是 ASIC 电路中设计周期最短、开
发费用最低、风险最小的器件之一;
● FPGA 采用高速 CHMOS 工艺,功耗低,
可以与 CMOS、TTL 电平兼容。
FPGA 可认为是一种特殊的 ASIC 芯片,除具有 ASIC 的特点之外,还具有以下优点:
● 随着超大规模集成电路(VLSI)工艺的不断提高,单一芯片内部可容纳数千万个晶体
管,FPGA 芯片规模越来越大,所能实现的功能也越来越强,可以实现大系统的集成;
● FPGA 芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,
设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设
计。所以,FPGA 的资金投入小,节省了许多潜在的花费;
● 用户可以反复地编程、擦除、使用或者在外围电路不动的情况下实现不同的功能。所
以,用 FPGA 试制样片,能以最快的速度占领市场。FPGA 软件包中有各种输入工具和
仿真工具及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成
电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有少量改动时,更能显
示出 FPGA 的优势。电路设计人员使用 FPGA 进行电路设计时,不需要具备专门的集成
电路深层次的知识,FPGA 软件易学易用,可使设计人员更能集中精力进行电路设计。
因此可以说,FPGA 是小批量(一般在10,000件以下)系统提高系统集成度、可靠性、快
速开发产品的最佳选择之一。对于大批量应用,专用集成电路则仍具有成本上的优势。
FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻
辑模块 CLB(Configurable Logic Block)、输出输入模块 IOB(Input Output Block)和内部连线
(Interconnect)三个部分。它们是一些具有通用性的电路模块,用户可以通过不同的配置、组
合和连接方式构成自己所需的硬件电路。当前流行的 FPGA 结构是由存放在片内 RAM 中的配
置数据来设置其电路工作状态的,FPGA 芯片工作前需要对片内的 RAM 进行编程配置。通常
会有多种可选的编程配置方式(典型的如通过 JTAG(一种用于在电路调试和存取内部存储器
的标准)、专用配置芯片、MCU 等),用户可以根据情况采用不同的编程配置方式。典型的
工作情况是在加电时,FPGA 芯片自动将外部 E2ROM(配置芯片)中的配置数据读入片内
RAM 中,之后 FPGA 芯片便处于所设计的电路工作状态。掉电后,FPGA 芯片恢复成白片,
内部逻辑关系消失。
Actel 公司的 ProASIC 等系列 FPGA 则采取的是基于 Flash 的方式,直接对 FPGA 内的控制
电路功能的 Flash 开关编程而无需配置芯片配合,其静态功耗低,使用方便,并且抗干扰性和
保密性很好。
2004 年以后,一些厂家推出了一些新的 CPLD 和 FPGA,这些产品模糊了 CPLD 和 FPGA
2
的区别。例如 Altera 公司的 MAX II 系列 CPLD 器件本质上就是一种在内部集成了配置芯片的
FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以象
传统的 CPLD 一样使用,加上规模和传统 CPLD 类似,所以 Altera 把它归作 CPLD。Lattice 公
司的 XP 等系列 FPGA,也使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和
CPLD 类似,但是因为容量大,性能和基本结构与传统 FPGA 相同,所以 Lattice 仍把它归为
FPGA。
不管是何种 FPGA,同一片 FPGA,如果使用不同的编程配置数据,就可以产生不同的电
路功能。因此,FPGA 能够反复使用,其使用非常灵活。
目前,FPGA 的主要发展动向是:随着大规模 FPGA 器件的发展,系统设计进入“片上可
编程系统”(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都
在积极扩充其 IP(知识产权)库,以优化的资源更好的满足用户的需求,扩大市场;特别是
引人注目的所谓 FPGA 动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。
FPGA 的主要应用领域也由通信市场主导,逐渐发展为涵盖军事与航空航天、工业控
制、汽车电子、消费电子、医疗电子、广播和高性能计算等市场,其所占比重不断增加。
※ 最后强调提醒一下大家,FPGA 是一种大规模的可编程数字逻辑器件,它本身只能用来设
计实现数字电路(也有少数 FPGA 具有少量的模拟电路资源),如果你的电路还有模拟电路
功能,需要另外设计这部分模拟电路并通过数字接口电路将其和 FPGA 器件连接起来。此
外,分立元件诸如电阻、电容、电感、二极管、三极管、显示器件等在进行 FPGA 设计时也
不能使用,如有需要也需外接;
经常提到的 FPGA 编程和软件编程有很大区别,前者是指对 FPGA 内部的那些通用电路
模块,通过设置那些控制电路功能的内部开关的状态来实现用户所需的硬件电路....。用户可以
通过高级方式(原理图、硬件描述语言等)描述电路,然后由 EDA 工具软件进行翻译转换从
而实现这些底层设置。
3
二、DE2 板及 Altera 公司产品简介
DE2 教育套件由 Altera 大学计划为其成员所提供,含有完整的 Quartus II 设计软件及
Nios II 开发包。该套件为可编程逻辑设计提供了全面的解决方案。
Altera 大学计划的开发和教育套件
名称
推荐使用
特点
DE2
本科生课程及研究生科研项目
强大的 Cyclone II FPGA 以及更多的 I/O 支持
价格
学术用途 $269
商业用途 $495
DE1
开设课程及学生项目
用于教学和实验的低成本开发板
联系Terasic
DE2 板资源
Feature
FPGA
I/O Devices
Memory
Displays
Switches and
LEDs
Clocks
Description
• Altera Cyclone II EP2C35F672C6 with EPCS16 16-Mbit serial
configuration device
10/100 Ethernet
Line in/out, microphone in (24-bit Audio CODEC)
Infrared port
8-MBytes SDRAM, 512K SRAM, 4-MBytes flash
• Built-in USB-Blaster cable for FPGA configuration
•
• RS232
• Video out (VGA 10-bit DAC)
• Video in (NTSC/PAL/multi-format)
• USB 2.0 (type A and type B)
• PS/2 mouse or keyboard port
•
• Expansion headers (76 signal pins)
•
•
• SD memory card slot
•
• Eight 7-segment displays
•
•
•
• Four debounced push-button switches
•
50-MHz crystal for FPGA clock input
•
27-MHz crystal for video applications
• External SMA clock input
18 toggle switches
18 red LEDs
9 green LEDs
16 x 2 LCD display
4
目前可以在 DE2 板上做的实验包括:
● 基本的数字电路、VHDL 以及 Verilog HDL 实验
● 简单接口实验
● 高级综合性实验
● NIOS II CPU 系统实验
使用本开发板涉及的知识有:
● 数字电子技术(原理图方式)
● VHDL 或者 Verilog HDL 语言
● Quartus II 的使用
● NIOS II 的使用
● SOPC Builder
5
Altera 公司可编程逻辑器件产品线
高端 FPGA
中端 FPGA
低成本 FPGA
低成本 CPLD
结构化 ASIC
· 第四代 Stratix® FPGA 系列
· 性能最好、密度最高、功耗最低
· 同类最佳的 8.5-Gbps 收发器以及高性能存储器接口实现了前所未有的系统带宽,并
具有优异的信号完整性。
· 第三代 Stratix FPGA,业界功耗最低的高性能 FPGA,建议从 2007 年开始进行设计
· 3 种型号:逻辑丰富型(L)、存储器和 DSP 增强型(E)、收发器型(GX)
· 面向高端系统处理设计,由业界一流的 FPGA 设计工具提供支持。无风险 HardCopy
结构化 ASIC 移植途径
· 第二代 Stratix 系列 FPGA ,建议在目前的产品项目中使用
· 目前的产品型号提供含有同类最佳的 6.375 Gbps GX 收发器
· 高级 FPGA 体系结构、带有 8 输入分段式 LUT 的高性能 ALM、丰富的片内存储器、
嵌入式 DSP 模块和高速外部接口支持 HardCopy® 结构化 ASIC 无风险移植途径
· 第一代 Stratix 系列。Stratix II 和 Stratix III 系列以更低的成本实现更好的性能
· 中等性能、嵌入式 DSP 模块、片内存储器、灵活的 I/O
· 丰富的知识产权,包括“世界上最通用的处理器”Nios II
· 带有收发器的高性价比 40-nm FPGA
· 实现了总功耗最低的收发器应用
· 16 个工作在 3.75Gbps 的收发器,提供丰富的 DSP 和 RAM,性能优于同类其他器件
· 带收发器的低成本,零风险 FPGA
· 为 PCIe, GbE 和 SRIO 达到优化
· 用于桥接和端点应用的简捷的解决方案
· 第三代 Cyclone® 低成本 FPGA 系列
· 空前的功耗,功能和成本的结合体
· 支持 Nios II 嵌入式处理器,丰富的知识产权
· 有史以来成本最低的第二代 FPGA 系列
· 嵌入式 18×18 DSP 乘法器、片内存储器和中等速率 I/O
· 支持 Nios II 嵌入式处理器,丰富的知识产权
· 成本最低的第一代 FPGA 系列,成本表现最为突出
· 片内存储器、低密度应用,低速率到中等速率 I/O
· 支持 Nios II 嵌入式处理器,丰富的知识产权
· 瞬时接通、非易失、单芯片 CPLD 解决方案
· 成本最低、功耗最小(仅为最大功耗的 1/10)、密度最高的 CPLD
· 板上用户闪存。1.8V、2.5V 和 3.3V 供电电压
· 瞬时接通、非易失、低成本、低密度 CPLD 解决方案
· 确定性时序
· 支持 5V I/O。2.5V、3.3V 和 5.0V 供电电压
· 第五代 HardCopy® ASIC 系列
· 同时具有 FPGA 和 ASIC 的优势,实现了产品及时面市和及时获利
· HardCopy IV GX 器件具有 6.5-Gbps 收发器和高性能存储器接口,出众的系统带宽
实现了优异的信号完整性。
· 同时具有 FPGA 和 ASIC 的优势,实现了产品及时面市和及时获利
· 面向大批量产品的低风险、低总成本 ASIC
· 在真正的软硬件协同设计中采用 Stratix III FPGA 进行无缝原型开发,迅速实现系统
· 面向大批量生产的低成本结构化 ASIC
· 将 Stratix II 原型移植为功能等价、引脚兼容的器件
· 与 Stratix II FPGA 原型相比,提高了核心性能,功耗降低了 50%至 70%
· 从 Stratix FPGA 原型到结构化 ASIC 的无缝移植
· 面向大批量生产的低成本结构化 ASIC
· 由主流 EDA 供应商提供支持,功耗比 Stratix FPGA 低 40%,而性能高出 50%
6