Transcript
Page 1: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

浅谈基于 FPGA 的电路设计报告人:吴爱平

2005/11/13

Page 2: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

参考资料参考资料 VHDL 电路设计技术 国防工业出版社 CPLD 系统设计技术入门与应用 电子工业出版社 基于 FPGA 的嵌入式系统设计 西电出版 Altera FPGA/CPLD 设计 ( 基础篇 ) EDA 先锋工作室 网站: WWW.PLD.COM.CN

WWW.EDACN.NET

WWW.ALTERA.COM

Page 3: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

浅谈基于浅谈基于 FPGAFPGA 的电路设计的电路设计

FPGA 概述设计过程

注意事项

Page 4: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

温馨提示温馨提示

如果你打算 5 年成为高手,你可能 2-3 年就可以达到;

如果你打算 1 年成为高手,你可能 5 年达不到。

--- 梁肇新

Page 5: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

汇报结束,敬请批评指正!

Page 6: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

FPGAFPGA 概述概述

可编程器件发展历程及现状内部结构及实现原理

开发平台

硬件开发语言

Page 7: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

可编程逻辑器件的发展历程

70 年代 80 年代 90 年代

PR

OM

和 PLA

器件

改进的 P

LA

器件

GA

L

器件

FP

GA

器件

EP

LD

器件

CP

LD

器件

内嵌复杂功能模块的 SoPC

2000 年

Page 8: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

PLDPLD 发展历程及现状发展历程及现状

FPGA( Field Programmable Gates Array)

CPLD ( Complex Programmable Logic

Device)

Page 9: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

三大公司三大公司

全球最主要的可编程逻辑器件厂商Altera

Xilinx

Lattice

Page 10: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

2005 年第 1 季度( 1 ~ 3 月)结算 公司名称

销售额 每股净盈亏 (美元)

(美元) 与上年同期相比

GAAP (含相当)

Pro Forma

Xilinx, Inc. 3 亿 9100

万 -3 % 0.19 —

Altera Corp. 2 亿 6480

万 + 9 % 0.17 —

Lattice Semiconductor Corp.

5130 万 -13 % -0.10 -0.06

Actel Corp. 4400 万 + 4 % 0.06 0.08

QuickLogic Corp. 1250 万 + 21 % 0.03 0.03

主要 PLD/FPGA 厂商 2005 年一季度销售额和盈利状况表

Page 11: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

ALTERAALTERA 公司器件简介公司器件简介早期器件: FLEX10 K LC84 TC144 BC356

FLEX10KA TC100 BC356

ACEX1K 1K10 1K30 1K50

MAX7000 EPM7128

主流器件: MAX II EPM240 570 1270

Cyclone EP1C3 4 6 12 20

Stratix EP1S10 20 25 30

下一代器件: CycloneII EP2C5 8 20 35 50 70

Stratix II EP2S15 30 60 90 130

Page 12: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

XiLinxXiLinx 公司器件简介公司器件简介早期器件: XC3000 XC4000 XC9500

XC9536, XC9572, XC95144

主流器件: XC9500XL XC9536XL,72XL

Spartan 3/3L XC3S50,200,400

Virtex II XC2V40,80,250

下一代器件: Spartan 3E XC3S100E,250E

Virtex-4 LX 4VLX15,25,40,60

SX 4VSX25,35,55

FX 4VFX12

Page 13: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

LatticeLattice 公司器件简介公司器件简介

早期器件: isp1000/2000/5000/8000

ispLSI1016,1024,1032,1048

主流器件: ispMACH4000 V/B/Z

ispMACH4032V,64V,128V,256V

ispMACH4032B,64B,128B,256B

ispMACH4032Z,64Z,128Z,256Z

Lattice EC/ECP

EC1,EC3,EC6/ECP6,EC15/ECP15

Page 14: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

代理商代理商ALTERA 公司 骏龙 (Cytech) 艾睿 (Arrow)

时代益华 (Achieva) 富昌 (Future) 文晔(Wintech)

XiLinx 公司 盈丰 ( Insight )和安富利( AVNET )Lattice 公司 金龙电子 威建实业 彦阳科技

Page 15: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

输入

缓冲

电路

阵列

输出

缓冲电路

出… …

基本 PLD 器件的原理结构图

Page 16: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

内部结构及实现原理内部结构及实现原理

兰 色:逻辑阵列块 红色:连线资源 黄色:输入输出块

Page 17: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

内部结构及实现原理内部结构及实现原理

(基于乘积项 Product-Term)

(基于查找表 Look-Up-Table)

Page 18: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

基于乘积项基于乘积项

                                                                                      

          

Page 19: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

基于查找表基于查找表 

                                                                                                                                                         

                      

Page 20: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

传统传统 CPLD/FPGACPLD/FPGA 的区别的区别 结构不同 工艺不同 集成度 掉电情况 配置电路 Tpd 时间 POR 时间

Page 21: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

主要开发平台主要开发平台 Altera 公司 MAX PLUS II

QUARTUS II

开发工具 Xilinx 公司 Foundation

ISE

Lattice 公司 ispLEVER

ispDesignEXPERNT

Page 22: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

第三方工具第三方工具 ModleSim

Active HDL

Synplify/ Synplify Pro

Debussy

IP Core

SOPC Builder

DSP Builder

Page 23: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

硬件开发语言硬件开发语言

ABEL

AHDL

Verilog

VHDL

systemC 和 Handle-C

Page 24: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

ABELABEL 这是一种早期的硬件描述语言。支持逻辑电路的多种表达形式,其中包括逻辑方程,真值表和状态图。 ABEL 语言从早期可编程逻辑器件( PLD )的设计中发展而来ABEL-HDL 被广泛用于各种可编程逻辑器件的逻辑功能设计。 如GAL 、 LatticeispEXPERT,Xilinx的 FOUNDATION 和 WEBPACK等 EDA软件中。从长远来看, ABEL-HDL 只会在较小的范围内继续存在。

Page 25: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

AHDLAHDL

ALTERA 公司发明的 HDL, 特点是非常易学易用,学过高级语言的人可以在很短的时间(如几周)内掌握 AHDL。

缺点 :移植性不好,通常只用于ALTERA自己的开发系统。

Page 26: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

VerilogVerilog Verilog HDL 就是在应用最广泛的 C 语言的基础上发 展起来 的 一 种 件 描 述 语 言 。 1990 年CADENCE 公司公开发表了 Verilog HDL,并成立LVI组织以促进 Verilog HDL 成为 IEEE标准,即IEEE Standard 1364-1995。

特点: 1、语法自由 2、国内资料相对较少 3、 IC 设计中, 90% 的公司使用 4、可以利用 EDA 工具进行逻辑综合和优化

Page 27: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

VHDLVHDL 全 称 : Very-High-Speed Integrated Circuit HardwareDescription Language

诞生于 1982年。 1987年底, VHDL被 IEEE 和美国国防部确认为标准硬件描述语言 。 有 IEEE-1076 和 IEEE标准的 1076-1993版本。 特点:

1、发展较早,语法严格 2、可以利用 EDA 工具进行逻辑综合和优化 3、 VHDL 丰富的仿真语句和库函数

Page 28: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

开发设计开发设计软件设计

下载板(线)的制作硬件设计 用户板的制作

Page 29: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

软件设计流程软件设计流程

设计输入 逻辑综合 布局布线 下载调试

约束文件

功能仿真

时序仿真

Page 30: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

STEP1 :建立 工作库文件夹

STEP2 :输入设计项目VHDL 文本代码

STEP3 :存盘,注意 文本取名

STEP4 :将设计项目设置成 Project

STEP5 :选择目标器件

STEP11: 硬件测试

STEP9 :引脚锁定并编译

STEP8 :仿真测 试和波形分析

STEP7 :建立仿真波形文件

STEP6:启动编译

STEP10 :编程 下载 / 配置

VHDLVHDL 文本输入设计流程文本输入设计流程

Page 31: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

Step1 建立工作库文件夹 为设计全加器新建一个文

件夹作工作库

文件夹名取为My_prjct

注意,不可用中文!

Page 32: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

Step2 编辑输入并保存 VHDL 源文件

新建一个设计文件

使用文本输入方法设计,必须选择

打开文本编辑器

Page 33: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

Step3 在文本编辑窗中输入 VHDL 文件及存盘

建立文本编辑器对话框文本编辑窗

用键盘输入设计文件:多路选择器

存盘文件名必须取为: mux21a.vhd

注意,要存在自己建立的

文件夹中

Page 34: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

文件存盘后,关键词将改变颜色!否则文

件名一定有错!

Page 35: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

Step4 将当前设计设定为工程

首先点击这里然后选择此项,将当前的原理图设计文件设置成

工程

最后注意此路径指向的改变

Page 36: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

注意,此路径指向当前的工程!

Page 37: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

首先选择这里

器件系列选择窗,选择 ACEX1K

系列

根据实验板上的目标器件型号选

择,如选 EP1K30

注意,首先消去这里的勾,以便使所有速度级别的器件都能显示

出来

Step5 选目标器件

Page 38: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

选择编译器

编译窗

Step6 编译及纠错

Page 39: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

选择 VHDL 文本编译版本号和排错

选择此项

选择 VHDL1993 项

Page 40: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

选择此项

消去这里的勾

Page 41: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

编译出错!

Page 42: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

确定设计文件中的错误

打开错误提示窗

Page 43: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

错误所在

错误所在

Page 44: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

改正错误

Page 45: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

完成编译!

Page 46: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

首先选择此项,为仿真测试新

建一个文件

Step7 建立波形文件

选择波形编辑器文件

Page 47: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

从 SNF 文件中输入设计文件

的信号节点

点击“ LIST”

Page 48: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

SNF 文件中的信号节点

用此键选择左窗中需要的信号

进入 右窗最后点击“ OK”

Page 49: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

消去这里的勾,以便方便设置

输入电平

在 Options菜单中消去网格对齐 Snap to Grid 的选择 (消去对勾 )

Page 50: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

选择 END TIME调整仿真时间

区域。选择 65微秒比较合适

Page 51: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

用此键改变仿真区域坐标到合适

位置。

点击‘ 1’ ,使拖黑的电平为高电平

先点击‘ b’ ,将其点为黑色

然后先点击此处将弹出时钟周期

设置窗

设置输入信号‘ b’的周期为 800ns

Page 52: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

设置输入信号‘ a’的周期为 2us

Page 53: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

仿真波形文件存盘!

Page 54: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

选择仿真器

运行仿真器

Step8 时序仿真

Page 55: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

mux21a仿真波形

Page 56: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

选择引脚锁定选项

引脚窗

Step9 引脚锁定及再编译

Page 57: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

此处输入信号名

此处输入引脚名

按键“ADD”即可

注意引脚属性错误引脚名将无正确属性!

Page 58: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

再编译一次,将引脚信息

进去

Page 59: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

选择编程器,准备将设计好的半加器

文件下载到目器件中去

编程窗

Step10 编程下载 / 配置

Page 60: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

在编程窗打开的情况下选择下载方式设置

选择此项下载方式

Page 61: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

下载(配置)成功!

Page 62: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

下载配置模式下载配置模式

Page 63: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13
Page 64: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

下载板电路图下载板电路图

Page 65: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

下载板电路图下载板电路图

Page 66: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

用户板的制作用户板的制作

选择配置模式FPGA芯片库的制作FPGA外围电路的制作

Page 67: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13
Page 68: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13
Page 69: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13
Page 70: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

设计中注意事项设计中注意事项

软件设计

硬件设计

Page 71: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

软件设计注意点软件设计注意点合理规划设计实体 进程中 敏感信号的选取避免使用 latch

双向电路的输出控制 多看 RTL 门级电路 多用逻辑锁定 多用同步电路,少用异步电路 多用全局时钟,少用门控时钟

Page 72: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

B

C D

A

Page 73: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13
Page 74: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13
Page 75: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13
Page 76: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

硬件设计注意点硬件设计注意点 下载配置方式的选取供电电压 VCCINT VCCIO

电源的滤波 Pin to pin 兼容原则空闲 I/O 的处理 时钟的走线 输出调试信号 器件选取

Page 77: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

命名方法命名方法系列符号 器件类型 封装类型 工作温度 引脚数 速度等级EPF 10K10 TQFP C( 0, 70 ) 84 -1

EPM 7128 PQFP I ( -45, 85 ) 144 -2

EPC 1, 2 CQFP M( -55, 125 ) 208 -3

EP1C 3, 4 BGA 240 -4

EP1S 10, 20 PLCC 356

EP2C 5, 8 PDIP

EP2S 15, 30

详情参阅: www.altera.com

Page 78: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

选型指南选型指南

逻辑单元I/O个数驱动能力工作环境

Page 79: 浅谈基于 FPGA 的电路设计 报告人:吴爱平 2005/11/13

特殊要求特殊要求

PLL

DSP 模块RAM 大小内置 FLASH 大小自适应逻辑模块