第2章CPLD与FPGA工作原理简介ppt课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可编程与阵列
乘积项选择矩阵
16个 2/16个
固定或阵列
宏单元 AB
芯片
扩展乘积项
可编程存放器
二、宏单元: 1、可编程的“与〞阵列 PIA:可编程连线阵
programmable Interconnect Array
共享扩展乘积项:添加输入数,
用于复杂电路设计。
每个宏单元提供一个单独的乘积项,经过一个非门 取反后反响到逻辑阵列中,可被LAB内任何一个或 全部宏单元运用和共享。采用共享扩展项后要添加 一个短的延时.
缺陷: 1、为顺应不同运用需求,PAL的输出I/O 构造很多,运用设计者在设计不同功能的 电路时,要采用不同输出I/O构造的PAL 器件。带来运用、消费的不便。 2、PAL普通采用熔丝工艺消费.一次可编 程,修正不方便。
被GAL取代
2.5 GAL
1985年,Lattice 1、特点:
1〕采用EEPROM工艺,具有电可擦除反 复编程的特点。 2〕在“与-或〞阵列构造上沿用了PAL 的与阵列可编程、或阵列固定的构造。
允许最多20个乘积项直接送到宏单元的“或〞逻辑, 其中5个乘积项是由宏单元本身提供的,15个并联 扩展项是从同一个LAB中临近宏单元借用的。
4、可配置存放器:可单独编程为带有可编程时钟 控制的D、T、JK或SR触发器,也可将存放器旁 路,实现组合逻辑方式。
每个存放器支持异步清零和异步置位功能.乘 积项选择矩阵分配乘积项来控制这些操作。此外, 每一个存放器的复位端可以由低电平有效的全局复 位公用引脚GCLRn信号来驱动。
2、乘积项选择矩阵
输出: 固定或阵列:组合电路 存放器:输入 清0、置1、CLK CLK-EN
3、并行扩展乘积项
并联扩展项是宏单元中一些 没有被运用的乘积项,可分 配到临近的宏单元去实现快 速、复杂的逻辑函数。
当需求并联扩展时,“或〞 逻辑的输出经过一个选择分 配器,送往下一个宏单元的 并联扩展“或〞逻辑输入端。
4〕复合方式:无存放器,三态门可用 A、复合组合输出构造
B、组合输出双向口构造
3)简单方式:特点:三态门固定 A、反响输入构造:
“与一或〞阵列没输出功能,但可作为相邻单元信 号反响输入,该单元反响输入端信号来自另一个相 邻单元。
B、输出反响构造 C、简单方式输出构造
编辑ABEL文本文件*.ABL,生成JED网表文件
每个LE有两个输出可以分别驱动部分互连和快 速通道Fast Track互连,
1〕、查找表LUT原理
Look Up Table,是FPGA的最小逻辑构成单元.
大部分FPGA采用基于SRAM的查找表构造逻辑函 数。
一个N输入LUT可实现N输入变量的任何逻辑功能, 如 “与〞、 “异或〞等。
例2-4
S=A+BC D C BA S 0 0 00 0 0 0 01 0 0 10 0 0 0 11 0 1 00 0 0 1 01 0 1 10 0 1 11 1 0 00 0 1 0 01 1 0 10 0 1 0 11 1 1 00 0 1 1 01 1 1 10 1 1 11
3〕输出构造较大改良,添加了输出逻辑 宏单元OLMC(Output Logic Macro Cell)。
2、OLMC单元的组态: 1〕OLMC的构造:
OLMC中有4个多路选择器,经过不同的 选择方式可以产生多种输出构造。
这些输出构造分别属于三种方式,一旦确 定了某种方式,一切的OLMC都将任务在同 一种方式下。 2〕组态简介
延续布线 ( Altera 基于查找表〔LUT〕的 FPGA )
延续布线 = 每次设计反复的可预测性和高性能
LAB LE
四、I/O单元与公用输入端口IOC:
首先我们对数字电路进展分析 1、数字电路分类
组合电路:与时间无关,输出是输入的函数
时序电路: 与时间有关,输出与输入、输出的 前一形状有关。
2、组合电路分析: 由根本门构成: 与、或、非、异或门等 可由单一根本门构成 可化为“与-或〞表达式
3、时序电路分析 由组合电路和触发器构成
=>可编程电路构造
三、逻辑阵列块[LAB] 16个宏单元的阵列组成一个LAB
四、芯片
LAB PIA(Programmable
Interconnect Array)
可编程连线阵:LAB与
全局总线衔接 I/O控制块:控制I/O引 脚,有输入、输出和双向 方式.
2.7 FPGA构造与任务原理
FPGA即现场可编程门阵列(Field Programmable Gate Array) 一、FPGA构造框图: FLEX10K
三、快速通道(Fast Track):
在FLEX10K构造中,Fast Track遍及于整个器件, 可预测其延时性能。有些FPGA采用分段式连线 构造,会使延时难以预测,从而降低了设计性能。
Fast Track衔接是由遍及整个器件的“行互连〞和 “列互线〞组成的。每行的LAB有一个公用的 “行互连〞,“行互连〞可以驱动IO引脚或馈送 到器件中的其他LAB。“列互线〞衔接各行。也 能驱动I/O引脚。
与阵列可编程、或阵列固定
对于多个乘积项,PAL经过输出反响和互连的方式处理, 即允许输出端的信号再馈入下一个与阵列。
时序电路的实现:
时序电路由组合电路及存储单元构成(锁存 器、触发器、RAM),组合电路部分的可编 程问题已处理,只需加上锁存器、触发器 即可。
例2-3:PALl6V8的部分构造图:输出反 响、D触发器
第2章 CPLD与FPGA
任务原理简介
PLD: Programmable Logic Device
可编程逻辑器件
是一种数字集成电路的半废品,在其芯 片上按一定陈列方式集成了大量的门和触发 器等根本逻辑元件,运用者可利用某种开发 工具对其进展加工,即按设计要求将片内元 件衔接起来〔编程〕
引论
PLD的思想来自PROM
对于PROM,那么为存储单元的编 程数据文件
PROM只能用于组合电路,输入变量的添加会引起 存储容量的添加,且按2的幂次方添加。缘由:全 译码
2.3 PLA 与阵列和或阵列都可编程。 例2-2:6x3PLA与8x3PROM的比较
两者在大部分实践运用中,可实现一样的逻辑功能。
优点:乘积项数量减少,门利用率高
缺陷:算法复杂、器件的运转速度下降 。 与阵列不采用全译码的方式,规范的与或表 达式已不适用,需求把逻辑函数化成最简的 与或表达式,然后用可编程的与阵列构成与 项,用可编程的或阵列构成与项的或运算。 在有多个输出时,要尽量利用公共的与项, 以提高阵列的利用率。
运用:全定制ASIC设计 ,手工化简
2.4 PAL
2.1 电路符号与简化符号
一、电路符号 :原理图输入用常用符号描画
非门 与门
或门
异或门
常用 符号
国标 1 符号
0
&
0
0
0 >=1
0 0
0 =1
0 0
二、构造引见用的简化符号
A
A
Y
Y
A ABCD
ABC D
PLD互补输入 PLD四输入与门 PLD四输入或门
A
A
A B
A
C D
A
Y
B C
D
Y
互补等效
四输入与门 四输入或门
3、PROM的PLD框图
4、 PROM的阵列图
早期有人用ROM做数字电路。以4x2PROM为例, 阐明可将PROM当PLD运用。
例2-1:构造半加器: 0+0=0 0+1=1 1+0=1 1+1=10
S=Ao⊕Al =AoAl+AoA1
C=Ao·A1
阵列点文件
对PLD器件称为熔丝图文件〔Fuse Map).
每个可编程存放器可以按三种时钟输入方式任务:
● 全局时钟信号:该方 式能实现最快的时钟到输 出(clock to Output)性能, 这时全局时钟输入直接连 向每一个存放器的CLK端。
● 全局时钟信号带时钟 信号使能。由于仍运用 全局时钟,输出较快. ● 用乘积项实现一个阵列时钟:宏单元或I/O 信号进展钟控,速度稍慢。
可配置成 组合输出 组合输出双向口
存放器输出 存放器输出双向口
公用输入等。
优点: 设计极为灵敏。 具有构造重构和输出端的任何功能均 可移到另一输出引脚上的功能,可简 化电路板的规划布线,使系统的可靠 性进一步地提高。
3〕存放器方式:有存放器,三态门
A、存放器输出构造:
B、存放器方式组合输出双向口构造
简单PLD早期器件,规模小,只能实现通用数字逻 辑电路(如74系列)的一些功能,由 “与一或〞门阵 列和输入输出单元组成。
2.6 CPLD构造与任务原理
CPLD即Complex Programmable Logic Device复杂可 编程逻辑器件。 典型产品Altera的MAX7000S。构造和任务原理 一、构造:
N不能够很大,否那么LUT的利用率很低,输入多 于N个的逻辑函数、必需用几个查找表分开实现。
2〕可编程触发器:
可设置成D、T、JK或SR触发器。该存放器的时钟、 清零和置位信号可由全局信号通用I/O引脚或任 何内部逻辑驱动。对于组合逻辑的实现,可将该 触发器旁路。
3〕进位链(Carry-In)
用来支持高速计数器和加法器,提供LE之间快速的 向前进位功能。来自低位的进位信号经进位链向 前送到高位,同时馈入LUT和进位链的下一 段.这一特点使得FLEXIOK构造可以实现高速计 数器、加法器和宽位的比较器。
进位链连通LAB中的一切LE
可实现快速加法器, 比较器和计数器
进位输入 (来自上一个逻辑单元)
A1 B1
查找表 LUT
DFF
S1
进位链 LE1
A2 B2
查找表 LUT
DFF
S2
进位链 LE2
进位输出 (到 LAB中的下一个逻辑单元)
4〕级联链 (Cascade-In):
可实现多输入(Wide-Input)逻辑函数。
IO...C
IOC
IO...C
IOC
IO...C
IOC IOC
...
IOC
二、逻辑阵列块LAB(Logic Array Block)
每个LAB包含八个逻辑单元LE、相联的进位 链和级联链,LAB控制信号与LAB部分互连。
1、逻辑单元LE Logic Element或LC:Logic Cell
是FLEX10K构造中的最小单元,实现逻辑功能。 每个LE包含一个4输入的LUT、一个带有同步使 能的可编程触发器,一个进位链和一个级联链。
由嵌入式阵列块EAB、逻辑阵列块LAB、Fast Track和I/O控制单元IOC四部分组成
FLEX 10K系列FPGA构造图
IOC
...
IOC
IOC
...
IOC
IOC
...
IOC
IOC
...
IOC
嵌入式 阵列块
IOC
...
IO... C
IOC
IOC
EAB
IOC
...
IO... C
IOC
IOC
EAB
0.6 ns
LE2 IN [4..7]
“或〞级联链
LE1 LUT
LE2 LUT
16位地址译码速度可达 2.4 + 0.6x3=4.2 ns
IN [(4n-1)..4(n-1)]
LUT
LEn
LEn
IN [(4n-1)..4(n-1)]
LUT
5〕输出驱动:
LE有两个输出驱动内部互连,一个驱动部分互 连.另一个驱动行或列的快速通道Fast Track的互 连输出,这两个输出可以单独控制.可以实如今 一个LE中,LUT驱动一个输出,而存放器驱动另 一个输出.因此在—个LUT中的触发器和LUT可 以用来完成不相关的功能.可以提高LE的资源 利用率。
相邻的LUT用来并行地完成部分逻辑功能,级联链 把中间结果串接起来。级联链可以运用逻辑“与 〞或者逻辑“或〞来衔接相邻LE的输出(图337).每个附加的LE提供有效输入4个,其延迟会 添加少许。
两种不同的级联方式
“与〞级联链
2.4 ns
IN [3..0]
LUT
IN [4..7]
LUT
LE
1
IN [3..0]
不衔接 固定衔接 编程衔接
2.2 PROM任务原理
Programmable ROM 可编程只读存储器
1、地址译码器: 完成PROM存储阵列的行的选择,由与门组成。 其字线的逻辑函数是:
Wo=An-1...Ai Ao
W1=An-1...Ai Ao …… Wn=An-1...Ai Ao
2、存储矩阵 逻辑函数表示: Fo=Mp-1,oWp-1+…+Ml,oW1+MooWo
F1=Mp-1,1Wp-1+…+M1,1W1+Mo,1Wo
…… Fm-1=Mp-1,m-1Wp-1+…+M1,m-1W1+Mo,m-1Wo 其中: P=2n
Mp-1,m-1是存储单元阵列第m-1列p-1行单元 的值。
对熔丝工艺,熔丝断相当于Mp-1,m-1=0;熔丝通 相当于Mp-1,m-1=1
是一个可编程或阵列