1、Altera Quartus II 入门教程(基于Altera DE2板和原理图设计)

Altera Quartus II 入门教程(基于Altera DE2板和原理图设计)

目 录

一、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 消费情况。总的来说,目前及今

后相当长的一段时间内,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 采用了逻辑单元阵列L CA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块I OB(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

的区别。例如 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 工具软件进行翻译转换从而实现这些底层设置。

二、DE2板及Altera公司产品简介

DE2教育套件由Altera 大学计划为其成员所提供,含有完整的Quartus II 设计软件及Nios II 开发包。该套件为可编程逻辑设计提供了全面的解决方案。

Altera大学计划的开发和教育套件

名称推荐使用特点价格

学术用途 $269 DE2 本科生课程及研究生科研项目强大的Cyclone II FPGA以及更多的I/O支持

商业用途 $495 DE1 开设课程及学生项目用于教学和实验的低成本开发板联系Terasic

DE2 板资源

Feature Description

FPGA? Altera Cyclone II EP2C35F672C6 with EPCS16 16-Mbit serial

configuration device

I/O Devices?Built-in USB-Blaster cable for FPGA configuration

?10/100 Ethernet

?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

?Line in/out, microphone in (24-bit Audio CODEC)

?Expansion headers (76 signal pins)

?Infrared port

Memory?8-MBytes SDRAM, 512K SRAM, 4-MBytes flash

?SD memory card slot

Displays?16 x 2 LCD display

?Eight 7-segment displays

Switches and LEDs ?18 toggle switches

?18 red LEDs

?9 green LEDs

?Four debounced push-button switches

Clocks?50-MHz crystal for FPGA clock input

?27-MHz crystal for video applications

?External SMA clock input

目前可以在 DE2 板上做的实验包括:

●基本的数字电路、VHDL 以及 Verilog HDL 实验●简单接口实验

●高级综合性实验

● NIOS II CPU 系统实验

使用本开发板涉及的知识有:

●数字电子技术(原理图方式)

●VHDL 或者 Verilog HDL 语言

●Quartus II 的使用

●NIOS II 的使用

●SOPC Builder

Altera 公司可编程逻辑器件产品线高端 FPGA

·第四代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

中端FPGA

·带有收发器的高性价比40-nm FPGA

·实现了总功耗最低的收发器应用

· 16个工作在3.75Gbps的收发器,提供丰富的DSP和RAM,性能优于同类其他器件

·带收发器的低成本,零风险FPGA

·为PCIe, GbE和

SRIO达到优化

·用于桥接和端点应用的简捷的解决方案

低成本 FPGA

·第三代Cyclone?

低成本FPGA系列

·空前的功耗,功能和成本的结合体

·支持Nios II 嵌入式处理器,丰富的知识产权

·有史以来成本最低的第二代FPGA系列

·嵌入式18×18 DSP乘法器、片内存储器和中等速率I/O

·支持Nios II 嵌入式处理器,丰富的知识产权

·成本最低的第一代FPGA系列,成本表现最为突出

·片内存储器、低密度应用,低速率到中等速率I/O

·支持Nios II 嵌入式处理器,丰富的知识产权

低成本 CPLD

·瞬时接通、非易失、单芯片CPLD解决方案

·成本最低、功耗最小(仅为最大功耗的1/10)、密度最高的CPLD

·板上用户闪存。1.8V、2.5V和3.3V供电电压

·瞬时接通、非易失、低成本、低密度CPLD解决方案

·确定性时序

·支持 5V I/O。2.5V、3.3V和5.0V供电电压

结构化 ASIC

·第五代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%

Cyclone II 系列各型 FPGA 资源

三、Quartus II 使用基础

本章将简述使用 Quartus II(Altera 公司可编程逻辑器件的集成开发环境)的典型流程,用它来设计电路并最终在 DE2 板上的 FPGA 器件中实现。Quartus II 系统支持各种流行的电路描述方式,本教程使用的是电路原理图的方式,另有两个教程介绍了采用 VHDL 和 Verilog

硬件描述语言的设计方式(分别为tut_quartus_intro_vhdl.pdf、tut_quartus_intro_verilog.pdf)。所使用的 Quartus II 软件版本为 7.2,其它版本的界面会有少量差别,如果没有 FPGA 硬件电路板,你仍然可以学习到除了将所设计的电路在 FPGA 器件上实现之外的其它知识。

Quartus II 软件和 DE2 板的功能都很强大,作为一个入门教程,我们将首先采用最简单的例子来学习这些工具的基本使用方法,目的是使学习者不受电路本身的影响而专注于 Quartus II 软件,后续我们会结合稍复杂的电路进行深入学习。由于复杂的功能很容易引起实验失败,过多的失败会使得初学者丧失兴趣,因此在学习时需要循序渐进,不要好高骛远。

在开始实验前,你应当确认事先已作好了如下准备:

●安装好 Quartus II 7.2

●安装好 MegaCore IP 7.2

●安装好 USB-Blaster 下载线的驱动程序

●设置好 License

安装软件时建议使用默认路径,在设计过程中建议不使用含空格或中文的路径及文件名。典型的设计流程

使用 FPGA 器件和 CAD 软件设计实现一个数字逻辑电路的典型流程(各厂商均如此)为:

主要包含的步骤:

●设计输入 —— 可通过电路原理图,或硬件描述语言(如VHDL、Verilog)的方式将所需的电路输入到 CAD 软件中;

●综合 —— 将所输入的设计转换成为由若干逻辑单元(LE,Logic Element)互连构成的电路,这些 LE 位于FPGA 器件中,它们是具有通用性的基本电路模块;

●功能仿真 —— 测试综合后的电路在逻辑功能上的正确性,功能仿真不考虑任何时序问题;

●布局布线(Fitting) —— 确定所设计的电路使用到的 LE 的布局方式及相关连线;

●时序(Timing)分析、时序仿真 —— 分析布局布线后的电路沿不同路径的传输时延,以提供电路的预期性能指标;检验和估计往电路输入节点施加各种测试信号时的实际输出结果;

●编程和配置 —— 设置 FPGA 内部的开关(用于配置 LE 的电路功能和创建所需的连线),将所设计的电路实现到一个物理 FPGA 器件中。这一步一般由厂商所提供的软硬件工具来完成。在将设计实现到一个物理 FPGA 器件方面而言,编程和配置这两个术语经常通用。

接下来我们针对 Quartus II 软件和 Altera Cyclone II FPGA器件(DE2 板上的核心器件型号为 EP2C35F672C6,属 Cyclone II 系列),介绍其基本使用方法,主要的步骤为:

1. 创建工程

2. 绘制原理图(和/或编写HDL代码)

3. 编译(包含综合、布局布线等)

4. 分配引脚

5. 仿真和时序分析

6. 配置 FPGA

本设计通过按键 KEY0 控制发光二极管 LEDG0 的亮

灭,它们之间是反相的关系。并由开关 SW0 来允许和禁

止这个控制功能。(KEY0、LEDG0 和 SW0 在电路板上的

具体连接请查阅 DE2 板的原理图“DE2_schematics.pdf”)

1. 创建工程

我们使用 Quartus II 所设计的每个数字逻辑电路,称为一个工程/项目(project),软件只能同时操作一个工程。软件将这个工程的所有相关文件保存在同一个文件夹下,因此为了便于管理,在开始一个新的设计之前首先应创建一个用于保存这些文件的文件夹。

然后启动 Quartus II 软件,按如下操作创建一个新工程:

出现一个对话框提示用户此向导后续要做的工作:

点击N ext

输入此工程所在的工作目录(应为每个工程创建一个单独的目录)、工程名称(通常和顶层设计实体名称相同)、顶层设计实体名称(每个工程只有一个)。

注意工作目录不要建在默认位置,最好建立在自带的U盘上,因系统重新启动后将会把硬盘所有分区全部复原,你所做工作将全部丢失!

点击 Next

你可以事先将已有的设计文件添加到工程中:

我们这里不需要添加设计文件,直接点击 Next。

出现下面对话框,选择要将设计实现到哪个型号的 FPGA 器件中:

选择 DE2 板上的 FPGA 器件型号 EP2C35F672C6,然后点击 Next。

用户可以指定将要使用的第三方设计工具:

我们将要做的设计不使用任何第三方设计工具,故直接点击 Next。最后出现的对话框总结了你之前所做过的设置:

点击 Finish,一个新工程的创建完成。

2. 绘制原理图

我们所要设计的电路是一个最简单的组合逻辑电路,它能实现通过按键 KEY0 控制发光二极管 LEDG0 的亮灭,并由开关 SW0 来允许和禁止这个控制功能。具体电路原理图如下。

按键 KEY0、发光二极管 LEDG0 和开关 SW0 都是已固定连接到 FPGA 芯片的外围器件(具体连接电路请查阅 DE2 板的原理图“DE2_schematics.pdf”),它们的工作方式为:

●按键 KEY0 :连 FPGA 的引脚 PIN_G26,平时松开时输出高电平,按下后为低电平;

●发光二极管 LEDG0 :连 FPGA 的引脚 PIN_AE22,输入高电平时亮,低电平时灭;

●开关 SW0 :连 FPGA 的引脚 PIN_N25,处于上位时输出高电平,下位时为低电平。

结合下面的电路原理图可以看出,当 SW0 处于上位(1)时,按下和松开 KEY0 可分别

控制 LEDG0 亮和灭;当 SW0 处于下位(0)时,LEDG0 始终亮不受 KEY0 的控制。

(即将本原理图文件名取为:创建工程时所设定过的顶层设计实体名称)。

选择菜单项 File→New,出现如下界面,新建一个指定类型的设计文件:

选择 Block Diagram/Schematic File,然后点击 OK。

这时,系统自动为这个新建的原理图文件命名为 Block1.bdf :

我们将原理图文件名改为与顶层设计实体名称相同,通过选择菜单项 File→Save As,不用做任何改动直接保存即可:

当前原理图文件名变为与顶层设计实体名称相同:

接着我们需要在绘图页上放置各个元件并进行连线。Quartus II 提供了许多库,里面的电路元件可被导入到原理图中,大部分74系列逻辑器件都可在库中找到。

我们首先放置一个2输入与非门,在绘图页的空白位置双击鼠标(或在工具栏上点击图标),按下图所示在库中找到2输入与非门 nand2 :

点击 OK

鼠标移动到合适的位置,单击后便放置好一个2输入与非门:

※如果要修改所放置的元件的摆放方式,可在绘图页上单击选中该元件,然后在工具栏上点击可分别完成元件的水平翻转、垂直翻转和90度旋转。

类似的,我们放置一个输入引脚,按下图所示在库中找到输入引脚 input,并将其放置好:

输入引脚放置到绘图页上后,双击引脚,把引脚名由 pin_name 修改为 sw_input :

以同样的方式放置剩余的一个输入引脚和一个输出引脚,并修改引脚名。全部元件放置好并命名后的效果如下图所示:

下面开始进行连线。首先选中“部分连线选择”状态,根据你的喜好设置“连线保持”功能:

之后只要鼠标移动到绘图页中的元件引脚或连线的端点拐点处,光标就会提示有连线端点,此时可以单击鼠标并保持,拖曳到连线的另一端点处,松开鼠标后便完成一条连线。

绘制完成后的原理图如上图所示。

※高电平和低电平的原理图符号位于库中的 primitives→other 下面,名字分别为 vcc 和 gnd;

你可命名连线(右键单击连线后选择 Properties 弹出菜单项),同名连线是连接在一起的;

原理图元件及连线的选中、删除、复制等操作和 Windows 系统的常用方式相同。对于一个复杂的电路,你可以使用工具栏上的图标在原理图中添加文字说明及其它标记。

3. 编译

编译器控制所设计电路的分析、综合、布局布线等工作,这些工作可以分开进行。对于

初学者,我们简单地一步完成。

选择菜单项 Processing→Start Compilation,或者通过点击图标,进行编译。编译进度

会显示在左下方的状态窗口中,最后会弹出一个消息框显示编译结果。确定后会显示类似下

图的结果,软件会在主窗口给出编译报告,在下方的消息窗口给出编译过程中产生的各条信

息及最终结果。

本设计电路最后编译成功,有0个错误,5个警告。经检查,编译器所给出的5个警告均不影响所设计的电路功能,可以继续进行后续设计。

相关主题
相关文档
最新文档