1
可编程逻辑器件,PLD--Programmable Logic
Devices:用户构造逻辑功能。
传统数字系统
由固定功能标
准集成电路 74/54系
列,4000,4500系
列构成。设计无灵
活性,芯片种类多,
数目大。
现代数字系统
仅由三种标准
积木块:微处理器,
存贮器和 PLD构成。
即 CPU+RAM+PLD模
式。 PLD的设计是其
核心。
第二章 大规模可编程逻辑器件
2
80年代初,Lattice公司推出 GAL_Generic
Array Logic (第二代);
§ 2.1 可编程逻辑器件概述
一,PLD的发展进程
70年代初,PROM,
PLA_Programmable Logic Array
(第一代);
70年代末,AMD 公司推出 PAL_Programmable
Array Logic
3
90年代初,Lattice公司提出 ISP_In System
Programming 概念,推出 ispLSI。
80年代中,Xilinx公司推出 FPGA_Field
Programmable Gates Array;
Altera公司推出 EPLD_Erasable
Programmable Logic Device;
近年 PLD的发展,
密度:单片已达 1000万系统门
速度:达 420MHz以上
线宽:已达 90 nm,属甚深亚微米技术
( VDSM—Very Deep Sub Micrometer)
4
高集成度;
高速度;
高可靠;
在系统编程( ISP_In System Programming )
PLD已占整个 IC产值的 40%以上。 PLD的产量,
集成度每年增加 35%,成本降低 40%。
二,PLD产品的特点,
5
6
Altera 产品系列主要性能
?? ?- μ¥ ?a ó? ?§ ?ù ?è μè ?? R A M
£¨ FF £? I / O £¨ ns £? £¨?? £?
A P E X I I E P 2A 90 4000k 89280 1140 1,523,712
A P E X 20 K E P 20 K 15 00 E 1500k 51840 808 4 44 2,36 8
F L E X 10 K E P F 10 K 10 250k 4992 406 4 24,576
F L E X 80 00 E P F 80 50 50k 4032 360 3
F L E X 60 00 E P F 60 24 A 24K 1960 218 5
M A X 90 00 E P M 95 60 12k 560 212 12
M A X 70 00 E P M 72 56 5k 256 160 10
M A X 50 00 E P M 51 92 3,75 k 192 64 1
C l a s s i c E P 18 10 0,9k 48 48 20
?μ áD ′ú ±í 2ú ?· ?é ó? ?? êy
7
Altera公司千万门级的 FPGA (SOC),Stratix
8
Xilinx 产品 系列主要性能
C L B / 速度等级 驱动能力 最大用 R A M
宏单元 ( ns ) ( mA ) 户 I / O (位)
X C 20 00 X C 20 18 L 1, 0 K ~ 1, 5 K 100 172 10 4 74
X C 30 00 X C 30 90 5, 0 K ~ 6, 0 K 320 928 6 4 144
X C 31 00 X C 31 95 / A 6, 5 K ~ 7, 5 K 484 1320 0.9 8 176
X C 40 00 X C 40 63 E X 6 2 K ~ 1 3 0 K 2304 5376 2 12 384 73728
X C 52 00 X C 52 15 1 4 K ~ 1 8 K 484 1936 4 8 244
X C 62 00 X C 62 64 6 4 K ~ 1 0 0 K 16384 16384 8 512 262K
X C 81 00 X C 81 09 8, 1 K ~ 9, 4 K 2688 1344 1 24 208
X C 72 00 X C 72 72 A 2,0K 72 126 15 8 72
X C 73 00 X C 73 14 4 3,8K 144 234 7 24 156
X C 95 00 X C 95 28 8 6,4K 288 288 10 24 180
系列 代表产品 可用门 FF
9
10
11
Xilinx公司千万门级的 FPGA (SOC),Virtex-II Pro
12
Lattice 产品 系列主要性能
?ù ?è μè ?? ×? ′ó
£¨ ns £? I / O
i s pL S I 10 00 / E i s p1 04 8 8k 192 288 5 108
i s pL S I 20 00 / E / V i s p2 19 2 8k 192 192 6 110
i s pL S I 30 00 i s p3 44 8 20k 320 672 12 224
i s pL S I 50 00 V i s p5 51 2V 24k 512 384 10 384
i s pL S I 60 00 i s p6 19 2 25k 192 416 15 159
i s pL S I 80 00 i s p8 84 0 45k 840 1152 8.5 312
FF?μ áD ′ú ±í 2ú ?· ?é ó? ?? oê μ¥ ?a
13
PLD工业市场份额
Total 1998 PLD Market=$2.1 B Total 1999 PLD Market=$2.6 B
Source,Dataquest,March 2000
14
1,从互连延时入手解决系统速度问题
门延时:几百 ns → 不足 2 ns
互连延时:相对门延时越来越大
线宽 互连延时占系统延时比例
0,6u m 30%
0,5u m 50%
0,35 um 70%
三、近年 PLD的发展热点
15
1) ISP( In_System Programmability/
Programming),
是指对器件、电路板、整个电子系统进
行逻辑重构和修改功能的能力。这种重构可
以在制造之前、制造过程中、甚至在交付用
户使用之后进行。
传统 PLD:先编程后装配;
ISP PLD:可先编程后装配,也可先装配后
编程。
2,在系统可编程技术( ISP)
16
设计
设计修改方便,产品面市
速度快,减少原材料成本,
提高器件及板级的可测试性。
制造
减少制造成本,免去单独编程工序,
免去重做印刷电路板的工作,大量
减少库存,减少预处理成本,提高
系统质量及可靠性。
现场
服务 /
支持
提供现场系统重构或现场系统用户
化的可能,提供遥控现场升级及维
护的可能
2) ISP技术的优越性
17
非 ISP工艺流程
从仓库提取器件
进半成品库
对器件编程
贴标签
提取特定器件
焊接电路板
电路板测试
编程及电路板测试
焊接电路板
从仓库提取器件
3) ISP技术简化生产流程比较,
ISP技术对缩短生产周期,加快产品上市极为重要。
ISP工艺流程
18
现配置时间为几十 -几百 ms
实时重配问题
配置时间的极大缩短,
硬件 → 软硬件 → 资源
4) ISP的进一步发展,
19
PLD的生产厂家众多,产品名称各异,分
类方法多样。
常见的 PLD产品,PROM,EPROM,EEPROM,
PLA,FPLA,PAL,GAL,CPLD,EPLD,
EEPLD,HDPLD,FPGA,pLSI,ispLSI,
ispGAL,ispGDS等。
四,PLD的种类及分类方法
20
低密度 PLD,
高密度 PLD( HDPLD):超过 500门
PLD
低密度的 PLD,如 PLA,
PROM,PAL,GAL
高密度的 PLD
( HDPLD)
1,根据器件密度分为,
21
FPGA( Field Programmable Gates Array)
CPLD( Complex Programmable Logic Device)
FPGA:内部互连结构由多种长度不同的连线资
源组成,每次布线的延迟可不同,属统
计型结构。逻辑单元主体为由静态存储
器( SRAM)构成的函数发生器,即查找
表。通过查找表可实现逻辑函数功能。
采用 SRAM工艺。
2、根据器件互连结构、逻辑单元结构分为,
22
含查找表的逻辑单元:( FPGA)
23
CPLD:内部互连结构由固定长度的连线资
源组成,布线的延迟确定,属确定型结构。逻
辑单元主要由, 与或阵列, 构成。该结构来自

典型的 PAL,GAL器件的结构。采用 EEPROM工艺。
任意一个组合逻辑都可以用, 与 —或, 表

式来描述,所以该, 与 —或阵列, 结构能实现

量的组合逻辑功能。
24
简单的, 与或, 阵列:( PAL,GAL,CPLD)
25
CPLD的逻辑单元,
26
CPLD和 FPGA的主要区别,
1)结构上的不同
2)集成度的不同
CPLD,500 - 50000门;
FPGA,1K – 100 M 门
3)应用范围的不同
CPLD逻辑能力强而寄存器少( 1K左右),
适用于控制密集型系统; FPGA逻辑能力较弱但
寄存器多( 100多 K),适于数据密集型系统。
4)使用方法的不同
27
一次性编程,PROM,PAL
重复可编程:紫外线擦除:数十次;
E2CMOS工艺:上千次;
SRAM结构:上万次
3、从可编程特性分为
4、从编程元件分为
熔丝型开关;
可编程低阻电路元件;
EPROM;
EEPROM;
SRAM;
28
§ 2.2 Altera 可编程逻辑器件
PLD( FPGA,CLPD)种类繁多,特点各异。
共同之处包括三大部分,
a,一个二维的逻辑块阵列,构成了 PLD器
件的逻辑核心。
b,输入 /输出块。
c,连接逻辑块的互连资源,用于逻辑块
之间、逻辑块与输入 /输出块之间的连
接。
29
PLD结构图 输入 /输出块
互连资源
逻辑块 (逻辑阵列)
30
CPLD与 FPGA的主要区别在于逻辑块(逻辑
单元)的构成不同,
CPLD的
基本逻
辑单元
如,
EPM7128
31
FPGA的
基本逻
辑单元
如,
EPF10K10
含 576个
逻辑单元
32
一,Altera器件 概述
Altera公司 PLD分为两大系列,
MAX
MAX9000
MAX7000
MAX5000
Classic
FLEX
APEX II
APEX20K
FLEX10K
FLEX8000
FLEX6000
Altera PLD系列
33
MAX系列,
多阵列矩阵( Multiple Array Matrix)
内部结构,
可编程的, 与, 阵列和固定
, 或, 阵列实现逻辑功能 ;
采用 EPROM工艺 (Classic,
MAX5000),或 EEPROM工艺
( MAX7000,MAX9000);
属 CPLD。
MAX
MAX9000
MAX7000
MAX5000
Classic
34
FLEX系列,
灵活逻辑单元阵列
( Flexible Logic Element Matrix)
内部结构,
使用查找表( Look Up Table
__LUT) 结构来实现逻辑功
能;采用 SRAM工艺;属
FPGA。
FLEX10K首次 采用嵌入式阵列
( EAB_Embedded Array Block )
APEX20K融合查找表、乘积项,
嵌入式阵列和存贮器于一体。
FLEX
APEX II
APEX20K
FLEX10K
FLEX8000
FLEX6000
35
Altera 器件结构
?÷? t ?μ áD ?? ?- μ¥ ?a ?á 1 á? ?? ?á 1 1¤ò?
A P E X 20 K 2é ?ò ±í á? D? S R A M
F L E X 10 K 2é ?ò ±í á? D? S R A M
F L E X 80 00 2é ?ò ±í á? D? S R A M
F L E X 60 00 2é ?ò ±í á? D? S R A M
M A X 90 00 3? ?y ?? á? D? E E P R O M
M A X 70 00 3? ?y ?? á? D? E E P R O M
M A X 50 00 3? ?y ?? á? D? E P R O M
C l a s s i c 3? ?y ?? á? D? E P R O M
36
Altera 器件的用户 I/0引脚和可用门
?÷? t ?μ áD ó? ?§ I / O òy ?? ?é ó? ??
A P E X 20 K 99 ~ 78 0 10 00 00 ~ 10 00 00 0
F L E X 10 K 13 5~ 57 0 10 00 0~ 25 00 00
F L E X 80 00 78 ~ 20 8 25 00 ~ 50 00 0
F L E X 60 00 81 ~ 21 8 16 00 0~ 24 00 0
M A X 90 00 15 9~ 21 6 60 00 ~ 12 00 0
M A X 70 00 36 ~ 21 2 60 0~ 50 00
M A X 50 00 28 ~ 10 0 60 0~ 37 5
C l a s s i c 22 ~ 68 30 0~ 90 0
37
Altera 器件系列引脚数的发展趋势
38
Altera 器件系列系统可用门数的发展趋势
39
二,Altera FLEX 10K 系列器件
1、性能特点
1)工业界第一种嵌入式可编程逻辑器件系列,
嵌入式阵列( EAB_Embedded Array
Block,2048位 /每个 EAB)
逻辑阵列( LAB_Logic Array Block)
2)高密度
最大 250000门 /片,40960位内部 RAM
( 20个 EAB),可实现单片集成
40
3)系统级特点,
? 多电压 I/O接口,
? 低功耗( SRAM工艺)
? JTAG(Joint Test Action Group)
? BST(Boundary Scan Test)
? ICR(In Circuit Reconfiguration),
在电路可重构。
? 时钟锁定 (Clock Lock)电路,
减小时钟延迟和偏移
? 时钟自举 (Clock Boost)电路,
时钟倍频低变形,时钟树形分配网络
41
4)灵活的内部连接
快速通道( Fast Track),
连续式布线结构
特点:延迟可预测
专用进位链,
高速加法器,
计数器,
比较器
专用级联链,
实现高速、多输入逻辑函数 。
42
5)增强功能的 I/O引脚
I/O脚三态输出使能控制
I/O脚漏极开路选择
( Open-Drain Option)
输出电压摆率控制,
高速、或低噪声
6)多种封装形式,多种器件类型
84 - 672引脚,相同封装引脚兼容
43
FLEX10K系列中集成度最小的是 EPF10K10LC84,






44
实际器件外观,
45
EPF10K10LC84内部结构图,
46
FLEX10K系列中 集成度 最大的是 EPF10K250ABC600,
47
EPF10K250ABC600内部结构图,
48
2、功能描述
嵌入式阵列块 (EAB)、逻辑阵列块 (LAB),
Fast Track,I/O单元
49
3、嵌入式阵列块,EAB(Embedded Array Block)
1) EAB结构,
RAM,
2048 bit;
数据线,
8bit(max);
地址线,
11bit(max)
EAB 模块图
50
EAB 可用于实现,
FIFO,ROM,RAM,
乘法器,
数字滤波器,
微处理器
利用输入输出可编程寄存器 EAB可实现,
同步设计,
异步设计
51
2)用 EAB实现 RAM功能
EAB存贮结构
2048x1 1024x2 512x4 256x8
EAB中 RAM的大小可灵活配置,
52
EAB 与分布式 RAM的比较,
分布式 RAM,
4 输入查找表构成 (16 x 1)RAM。
由分布式 RAM组成大 RAM时,存
取时间变长,并占用大量器件资源。
使用 EAB占用器件资源少,速度快。
53
( 1)将 EAB级联成“更宽”的 RAM。
扩展 EAB
两个
512× 4级
联成
512× 8
MAX+PLU
S Ⅱ 软件自
动级联
(无需附
加逻辑)
54
( 2)将 EAB扩展成“更深”的 RAM
复用 EAB
两个 2048x1 EAB
自动复用成一个
4096x1 EAB块,
复用器选择线作
为附加地址线
引入一小的附加
延迟
55
( 3)实现同步 RAM、异步 RAM
( 4)仿真 ROM
ROM的内容可由 Alterar的存贮器初始化
文件(,mif)确定,比真正 ROM更灵活。
3、用 EAB 实现 FIFO功能
FIFO( First In First Out-先进先出)缓冲
器:用于高速的、突发性的数据缓存。
4,EAB构成查找表 LUT( Look up Table)
EAB在只读模式下编程可构成查找表。用
LUT查找结果比用算法计算快得多,可实现高
速的乘法器、数字滤波器等。
56
5,EAB与逻辑单元
EAB用作 LUT,能实现较复杂的逻辑功能,
占用器件面积更小,速度更快。
逻辑单元实现相对简单的功能。如要实现
较复杂功能,则所需逻辑单元较多,占用器件
面积较大,速度变慢。
6、动态重配置
在器件其它部分工作时,可随时重写 EAB
的内容。
57
(二)逻辑阵列块
( LAB _Logic Array Block )
LAB由 8个 LE,
LAB控制信号
及 LAB局部互
连线组成。
4种全局信号:
Clock,Preset、
Clear,OE
高速、低偏移
全同步化设计
58
(三)逻辑单元( LE )
LE(Logic Element) 是 FLEX10K 结构 中的最小单元。
四个部分,
1、查找表
( LUT)
2、可编程
寄存器
寄存器
打包
59
3、进位链
专用高速数据通道。 LE之间约 0.2ns 高速 向前进位。
用于:高速计数器、任意位数加法器、比较器等
n+1个 LE实现
n位全加器
LUT分成两部分,
一部分产生
两输入信号及进
位信号的“和”;
一部分产生
进位输出信号。
进位链操作
60
4、级联链
专用高速数据通道。用相邻的多个 LUT 分别
计算函数的各个部分,实现高扇入的逻辑函数。
n个 LE实
现 4n个变
量的函数
级联链操作
低有效 高有效
61
(四) 快速通道互连( Fast Track)
FLEX 10K 器件的互连资源
Fast Track组成,
行连线带,
列连线带
特点,
快速、布
线延迟可预测,
但灵活性稍差。
62
其它 FPGA连线,
由不同长度的布线及开关矩阵组成分段式互
连结构。
优点:布线灵活
弱点:布线延迟的不可预测性
Xilinx XC4000系列的布线资源
63
(五) I/O单元
( IOE—Input Output Element)
FLEX10K器件 I/O( IOE)
IOE包
含一个
双向 I/O
缓冲器
和一个
寄存器。
64
2.3 Xilinx Virtex 系列器件
2.3.1 性能特点
1,高速、高密度 FPGA
50K ~ 1M系统门;系统性能可达 200MHz;
2,多标准 Select I/O接口
16 个高性能接口标准。
3,内置时钟管理电路
四个专用的延迟锁相环( DLL)用于高级
时钟控制,四个初级低偏移全局时钟分配网络,
24个二级全局网络。
65
4,多层次存贮器系统
分布式的查找表( LUT)可配置为 RAM;
集中式的块 RAM,每一块 RAM为 4096位。
5,能平衡速度、密度的灵活结构
高速算术用的专用进位逻辑,专用乘法器
支持,宽输入函数的级联链,有带时钟使能、
双同步或异步复位置位的丰富的寄存器、锁存
器、内部三态总线等。
7,基于 SRAM的在系统可配置
无限次可再编程特性,四种编程模式。
66
2.3.2 结构描述
内部由 3类可编程单元组成,
周边是可编程输入 /输出模块( IOB);
核心阵列是可配置逻辑块
( CLB_Configurable Logic Block) ;
各模块间的可编程互连资源。
67
Virtex FPGA结构图
CLB
IOB
CLB
CLB
CLB
IOB
IOB IOB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
IOB
CLB
CLB
CLB
IOB
B
R
A
M
DLL
DLL IOB IOB
B
R
A
M CLB
CLB
CLB
CLB
B
R
A
M CLB
CLB
CLB
CLB
I
O
B
CL
I
O
B
CL
I
O
B
I
O
B
I
O
B
I
O
B
B
R
A
M
DLL
CLB
IOB
CLB
CLB
CLB
IOB
DLL IOB IOB
B
R
A
M CLB
CLB
CLB
CLB
B
R
A
M CLB
CLB
CLB
CLB
I
O
B
CL
I
O
B
CL
I
O
B
I
O
B
I
O
B
I
O
B
68
1,可配置逻辑块( CLB_Configurable Logic Block)
CLB是构成可编程逻辑阵列的功能单元,一个 CLB分为
两个 slice,每个 slice由两个逻辑单元( LC)组成。
CLB框图
69
2,Slice 及逻辑单元( LC_Logic Cell)
Slice 原理图
70
RAM16X1S
O
D
WE
WCLK
A0
A1
A2
A3
LUT
RAM32X1S
O
D
WE
WCLK
A0
A1
A2
A3
A4
RAM16X1D
SPO
D
WE
WCLK
A0
A1
A2
A3
DPRA0 DPO
DPRA1
DPRA2
DPRA3
Slice
LUT
LUT
71
3,块 RAM( Block SelectRAM)
块 RAM位于器件的左右两边。每个块 RAM的
大小为 4096位。可构成每个端口有独立控制信号
的全同步双端口 4096 位 RAM。 两端口的数据宽度
能被独立地配置。
A D D R D A T A # / W i d t h D e p t h
( 1 1, 0 ) ( 0, 0 ) 1 4096
( 1 0, 0 ) ( 1, 0 ) 2 2048
( 9, 0 ) ( 3, 0 ) 4 1024
( 8, 0 ) ( 7, 0 ) 8 512
( 7, 0 ) ( 1 5, 0 ) 16 256
可配置数据宽度
RAMB4_S#_S#
WEB
ENB
RSTB
CLKB
ADDRB[#:0]
DIB[#:0]
WEA
ENA
RSTA
CLKA
ADDRA[#:0]
DIA[#:0]
DOA[#:0]
DOB[#:0]
72
4,输入 /输出块
( IOB_ Input/Output Block )
IOB Bank 划分
Virtex IOB 划分
为 8 个 Bank,
每个 Bank 的
Vcco可接不同的
电源电压,以
适应不同的 I/O
接口标准。
73
输入 /输出原理图
74
5,可编程的布线( 4 类)
1)局部布线 2)通用布线
局部 /通用布线示意图
General Routing Matrix
75
76
3) I/O布线
Virtex 器件边
缘有附加的布
线资源,即
VersaRing,
丰富了 CLB
阵列与 IOB
的接口连接。
77
4)全局布线
全局布线分为,
四个初级全局布线网络;
24 个二级全局布线网络。
4个专用输入引脚(全局时钟),
全局缓冲器驱动;
最小偏移;
高扇出
78
例:全局时钟分配
提供高速、低偏移的时钟分配,
全局时钟分配图
79
6,延迟锁相环( DLL_Delay Lock Loop)
DLL概念:插入不同的延迟,使输入和输出时
钟的上升沿同步。保证时钟沿在器
件内的所有地方同步。
Delay Delay Delay Delay CLKIN
Phase Delay
Control
CLKOUT
CLKFB
Clock
Distribution
Network
80
DLL的功能,
Clock Phase Synthesis
For Use Internally Or Externally
Clock Mirror
Zero-Delay Board Clock Buffer
Virtex
Speedup Tc2o
Zero-Delay Internal Clock Buffer
Virtex
Clock Multiplication & Division
For Use Internally Or
Externally
81
2.4 在系统可编程 (ISP)逻辑器件
GAL 器件与 Lattice公司,
ISP 与 Lattice公司,
ispLSI/pLSI器件
GAL 的
基本逻
辑结构
82
ispLSI/pLSI器件结构框图,
83
通用逻辑块( GLB)
84
有关 ISP的概念,
ISP_In System Programmable Lattice 公司
现场可编程( FPGA) Xilinx 公司
ICR_In Circuit Reconfigure Altera 公司
85
2.5 FPGA和 CPLD的选用
1、器件的资源
三家主流公司产品,
Altera,Xilinx:数千门 ~ 数百万门
Lattice:数万门以下
资源占用以仿真系统给出的报告为准,
并应留有适当的余量( 20%)。
86
2、芯片速度
芯片速度越高,其对微小毛刺信号的反
映越灵敏,系统工作的稳定性越差。
芯片的速度等级与其价格的关系。
3、器件功耗
CPLD,5 V,3.3 V
FPGA,5 V,3.3 V,2.5 V,
1.8 V,1.5 V
87
4,FPGA/CPLD的选择
CPLD选用,
( 1)逻辑密集型;
( 2)中小规模( 1000 ~ 50000);
( 3)免费软件支持;
( 4)编程数据不丢失,电路简单;
( 5) ISP特性,编程加密;
( 6)布线延迟固定,时序特性稳定;
88
FPGA选用,
( 1)数据密集型;
( 2) 大规模设计( 5000 ~ 数百万门);
( 3) SOC设计;
( 4) ASIC的设计仿真;
( 5)布线灵活,但时序特性不稳定;
( 6)需用专用的 ROM 进行数据配置。
5,FPGA/CPLD封装
常见封装,PLCC,PQFQ,TQFP,RQFP,
VQFP,MQFP,PGA,BGA等。
引脚数,28 ~ 1517
89
第二章思考题
1,Altera器件有哪些类型?各自特点是什么?
2,FLEX 10K系列器件的主要组成部分是什么?
3,FLEX 10K系列器件中的 EAB的特点及其作用
是什么?
4,ISP有什么意义?
5,CPLD和 FPGA有什么差异?在实际应用中各
有什么特点?