FPGA-CPLD结构原理.ppt
《FPGA-CPLD结构原理.ppt》由会员分享,可在线阅读,更多相关《FPGA-CPLD结构原理.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、CPLD/FPGA实用教程实用教程第第 2 2 章章 PLD/CPLD/FPGA/硬件结构硬件结构 1可编程逻辑器件(可编程逻辑器件(PLD):):Programmable Logic Device PLD是大规模集成电路技术发展的产物,是半定制的集成是大规模集成电路技术发展的产物,是半定制的集成电路,拥有自主设计的广泛空间。电路,拥有自主设计的广泛空间。PLD的应用和发展简化了电路设计、降低了成本,提高了的应用和发展简化了电路设计、降低了成本,提高了系统的可靠性和保密性,推动了系统的可靠性和保密性,推动了EDA工具的发展,而且改工具的发展,而且改变了数字系统的设计方法。变了数字系统的设计方法
2、。EDA技术应用的一个重要基础技术应用的一个重要基础PLD的内在究竟是什么?的内在究竟是什么?硬件结构和实现原理如何?硬件结构和实现原理如何?22.1 概概 述述 基本门基本门 组合电路组合电路 时序电路时序电路 任何的组合逻辑函数都可以化为任何的组合逻辑函数都可以化为“与与-或或”表达式表达式任何的组合电路可以用任何的组合电路可以用“与门与门-或门或门”二级电路实现二级电路实现任何的时序电路都可由组合电路加上存储元件(锁存器、触任何的时序电路都可由组合电路加上存储元件(锁存器、触发器)构成发器)构成32.1 概概 述述 基本基本PLD器件的原理结构图器件的原理结构图 任何的组合逻辑函数都可以
3、化为任何的组合逻辑函数都可以化为“与与-或或”表达式表达式任何的组合电路可以用任何的组合电路可以用“与门与门-或门或门”二级电路实现二级电路实现任何的时序电路都可由组合电路加上存储元件(锁存器、触发任何的时序电路都可由组合电路加上存储元件(锁存器、触发器)构成器)构成42.1 概概 述述 2.1.1 可编程逻辑器件的发展历程可编程逻辑器件的发展历程 PROM(Programmable Read Only Memory)PLA(Programmable Logic Array)PAL(Programmable Array Logic)GAL(Generic Array Logic)EPLDCPL
4、DFPGA52.1 概概 述述 2.1.2 可编程逻辑器件的分类可编程逻辑器件的分类 PLD按集成度分类按集成度分类 低集成度(低密度)芯片:可用逻辑门数大约在低集成度(低密度)芯片:可用逻辑门数大约在1000以下,以下,称简单称简单PLD,如,如PLA、PAL、GAL高集成度(高密度)芯片:高集成度(高密度)芯片:CPLD、FPGA芯片,称复杂芯片,称复杂PLD按集成度分类按集成度分类6乘积项结构器件(乘积项结构器件(CPLD)查找表结构器件(查找表结构器件(FPGA)熔丝型器件:一次性器件熔丝型器件:一次性器件反熔丝型器件:一次性器件反熔丝型器件:一次性器件EPROM型器件:紫外线擦除电可
5、编程型器件:紫外线擦除电可编程EEPROM型器件:电可擦写编程型器件:电可擦写编程SRAM型器件:查找表结构的器件型器件:查找表结构的器件Flash型器件:多次可编程,掉电后不需重配置型器件:多次可编程,掉电后不需重配置按结构分类按结构分类按编程工艺分类按编程工艺分类第一代第一代第四代第四代72.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.1 电路符号表示电路符号表示 常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照 原理图一般用图中的常用符号来描述表示原理图一般用图中的常用符号来描述表示比较复杂的逻辑结构,用一套简化的符号来表示(比较复杂的逻辑结构,用一套简
6、化的符号来表示(1991标准标准符号)符号)82.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.1 电路符号表示电路符号表示 PLD的互补缓冲器的互补缓冲器 PLD的互补输入的互补输入 PLD中与阵列表示中与阵列表示 92.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.1 电路符号表示电路符号表示 PLD中或阵列的表示中或阵列的表示 阵列线连接表示阵列线连接表示 102.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.2 PROM PROM基本结构基本结构 ROM主要由地址译码、主要由地址译码、ROM单元阵列和输单元阵列和输出缓冲器构成出缓冲器构成地址译码器完
7、成地址译码器完成PROM存储阵列行的选择存储阵列行的选择存储阵列的输出由乘积项的线性组合完成存储阵列的输出由乘积项的线性组合完成112.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.2 PROM PROM的逻辑阵列结构的逻辑阵列结构 122.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.2 PROM PROM表达的表达的PLD阵列图阵列图 132.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.2 PROM 用用PROM完成半加器逻辑阵列完成半加器逻辑阵列 由于输入变量的增由于输入变量的增加会引起存储容量加会引起存储容量的增加,因此多变的增加,因此多变量的组合
8、电路函数量的组合电路函数就不适合用单个就不适合用单个PROM来描述了。来描述了。142.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.3 PLA PLA逻辑阵列示意图逻辑阵列示意图 PROM的与阵列是全译码器,产生了的与阵列是全译码器,产生了全部最小项,而在实际应用时,绝大全部最小项,而在实际应用时,绝大多数组合逻辑函数并不需要所有的最多数组合逻辑函数并不需要所有的最小项。小项。PLA是与阵列和或阵列都可编程。是与阵列和或阵列都可编程。PLA实现组合函数,需要把逻辑函数实现组合函数,需要把逻辑函数化成最简的与或表达式化成最简的与或表达式有多个输出时,要尽量利用公共的与有多个输出时,
9、要尽量利用公共的与项,以提高阵列的利用率。项,以提高阵列的利用率。152.2 简单可编程逻辑器件原理简单可编程逻辑器件原理 2.2.3 PLA PLA与与 PROM的比较的比较 16PLA不需要包含输入变量每个可能的最小项,仅仅需包含的不需要包含输入变量每个可能的最小项,仅仅需包含的是在逻辑功能中实际要求的那些最小项。从而缓解规模的增是在逻辑功能中实际要求的那些最小项。从而缓解规模的增加。加。虽然虽然PLA利用率较高,但其软件算法比较复杂,多输入变量利用率较高,但其软件算法比较复杂,多输入变量和多输出的逻辑函数,处理上更困难。和多输出的逻辑函数,处理上更困难。172.2 简单可编程逻辑器件原理
10、简单可编程逻辑器件原理 2.2.4 PAL(与阵列可编程,或阵列固定)(与阵列可编程,或阵列固定)PAL的常用表示的常用表示 PAL结构结构0A1A1F0F0A1A1F0Fu与阵列可编程,或阵与阵列可编程,或阵列固定的列固定的PAL避免了避免了PLA的问题,运行速度的问题,运行速度有所提高。有所提高。u从从PAL的结构可知,的结构可知,各个逻辑函数输出化简,各个逻辑函数输出化简,不必考虑公共的乘积项。不必考虑公共的乘积项。u送到或门的乘积项数送到或门的乘积项数目是固定的,从而简化目是固定的,从而简化设计算法,使单个输出设计算法,使单个输出的乘积项为有限。的乘积项为有限。18PAL16V8的部分
11、结构图的部分结构图 可编程结构能解决组合逻辑的可编程问题。时序电路是可编程结构能解决组合逻辑的可编程问题。时序电路是由组合电路及存储单元(锁存器、触发器、由组合电路及存储单元(锁存器、触发器、RAM)构成。)构成。PAL加上输出寄存器,可实现时序电路的可编程加上输出寄存器,可实现时序电路的可编程192.2.5 GAL 1985年,年,Lattice在在PAL的基础上设计出的基础上设计出GAL器件(通用阵列器件(通用阵列逻辑器件)。首次在逻辑器件)。首次在PLD上采用上采用EEPROM工艺。工艺。GAL沿用与阵列可编程、或阵列固定的结构。沿用与阵列可编程、或阵列固定的结构。对对I/O结构进行了较
12、大的改进,输出部分增加了输出逻辑宏单结构进行了较大的改进,输出部分增加了输出逻辑宏单元(元(OLMC)。)。OLMC单元设有多种组态,可配置称成专用组合输出、专用单元设有多种组态,可配置称成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等。输入、组合输出双向口、寄存器输出、寄存器输出双向口等。20 PAL结构结构2.2.5 GAL uOLMC输出逻辑宏单元输出逻辑宏单元uGAL有有4个多路选择器,个多路选择器,通过不同的选择方式可通过不同的选择方式可以产生多种输出结构,以产生多种输出结构,分别属于三种模式。分别属于三种模式。u一旦确定了某种模式,一旦确定了某种模式,所有的
13、所有的OLMC都将工作都将工作在同一种模式下。在同一种模式下。21(1)寄存器模式:)寄存器模式:1.寄存器输出结构(异或门输出寄存器输出结构(异或门输出经经D触发器至三态门,触发器触发器至三态门,触发器的时钟端的时钟端CLK连公共连公共CLK引引脚,三态门的使能端脚,三态门的使能端OE连公连公共共OE引脚)引脚)2.寄存器模式组合输出双向口结寄存器模式组合输出双向口结构(输出三态门受控,输出反构(输出三态门受控,输出反馈至本单元,组合输出无触发馈至本单元,组合输出无触发器)器)寄存器输出结构寄存器输出结构寄存器模式组合输出双向口结构寄存器模式组合输出双向口结构22(2)复合模式:)复合模式:
14、组合输出双向口结构组合输出双向口结构组合输出结构组合输出结构组合输出双向结构组合输出双向结构 复合型组合输出结构复合型组合输出结构 23(3)简单模式:)简单模式:反馈输入结构反馈输入结构输出反馈结构输出反馈结构输出结构输出结构反馈输入结构反馈输入结构 输出反馈结构输出反馈结构 简单模式输出结构简单模式输出结构 242.3 CPLD的结构与工作原理的结构与工作原理 简单简单PLD器件在实用中已经被淘汰,主要因为:器件在实用中已经被淘汰,主要因为:(1)阵列规模较小,资源不够用于数字系统。)阵列规模较小,资源不够用于数字系统。(2)片内寄存器资源不足,且寄存器的结构限制较多,难以)片内寄存器资源
15、不足,且寄存器的结构限制较多,难以构成丰富的时序电路。构成丰富的时序电路。I/O不够灵活,限制了片内资源的利用不够灵活,限制了片内资源的利用率。率。(3)编程不便,需用专用的编程工具。)编程不便,需用专用的编程工具。取代的是取代的是CPLD/FPGA,(例:,(例:Altera的的MAX3000A CPLD)25MAX3000A有有32512个宏单元。个宏单元。单个宏单元的结构包括:可编程的与阵列和固定的或阵列,可配单个宏单元的结构包括:可编程的与阵列和固定的或阵列,可配置寄存器。含共享扩展乘积项和高速并联扩展乘积项置寄存器。含共享扩展乘积项和高速并联扩展乘积项261逻辑阵列块逻辑阵列块(LA
16、B)MAX3000A结构中包括五个主要部分:逻辑阵列块、宏单元、扩结构中包括五个主要部分:逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和展乘积项、可编程连线阵列和I/O控制块控制块1个个LAB由由16个宏单元的个宏单元的阵列组成。阵列组成。多个多个LAB组成阵列组成阵列多个多个LAB通过可编程连通过可编程连线阵线阵PIA和全局总线链接和全局总线链接在一起。在一起。272宏单元宏单元 MAX3000A系列中的宏单元系列中的宏单元 逻辑阵列逻辑阵列逻辑阵列逻辑阵列 乘积项选择矩阵乘积项选择矩阵乘积项选择矩阵乘积项选择矩阵 可编程寄存器可编程寄存器可编程寄存器可编程寄存器 三种时钟输入模式三种时钟
17、输入模式 全局时钟信号全局时钟信号 全局时钟信号由高电平有效的时钟信号使能全局时钟信号由高电平有效的时钟信号使能 用乘积项实现一个阵列时钟用乘积项实现一个阵列时钟 逻辑阵列实现组合逻辑,逻辑阵列实现组合逻辑,可实现逻辑函数及宏单可实现逻辑函数及宏单元寄存器的辅助输入元寄存器的辅助输入可以被单独地配置为时可以被单独地配置为时序逻辑和组合逻辑工作序逻辑和组合逻辑工作方式。方式。28共享扩展乘积项结构共享扩展乘积项结构 2.扩展乘积项扩展乘积项 复杂的逻辑函数需要附加乘积项,可利用其他宏单元以提供复杂的逻辑函数需要附加乘积项,可利用其他宏单元以提供逻辑资源,即扩展项。逻辑资源,即扩展项。共享扩展项共
18、享扩展项由每个宏单元提供一由每个宏单元提供一个单独的乘积项,通个单独的乘积项,通过一个非门取反后反过一个非门取反后反馈到逻辑阵列中,可馈到逻辑阵列中,可被被LAB内任何一个或内任何一个或全部宏单元使用和共全部宏单元使用和共享。享。292.扩展乘积项扩展乘积项 并联扩展项馈送方式并联扩展项馈送方式 并联扩展项并联扩展项宏单元中一些没有被使用的乘宏单元中一些没有被使用的乘积项,被分配到邻近的宏单元。积项,被分配到邻近的宏单元。允许最多允许最多20个乘积项直接送到个乘积项直接送到宏单元的或逻辑。(宏单元的或逻辑。(5+15)304可编程连线阵列可编程连线阵列(PIA)PIA信号布线到信号布线到LAB
19、的方式的方式 不同的不同的LAB通过在可编程连线阵列通过在可编程连线阵列PIA上布线,以相互连接上布线,以相互连接构成所需逻辑。构成所需逻辑。MAX3000A的专用输入、的专用输入、I/O引脚和宏单元输出都连接到引脚和宏单元输出都连接到PIA,PIA可以把信号送到整个器件的各个地方。可以把信号送到整个器件的各个地方。315I/O控制块控制块 器件的器件的I/O控制块控制块 I/O控制块允许每个控制块允许每个IO引脚单引脚单独被配置为输入、输出和双向独被配置为输入、输出和双向工作模式。工作模式。所有所有IO引脚都有一个三态缓冲引脚都有一个三态缓冲器,控制信号来自多路选择器,器,控制信号来自多路选
20、择器,可以选择用信号、可以选择用信号、GND和和VCC控制。控制。322.4 FPGA的结构与工作原理的结构与工作原理 2.4.1 查找表逻辑结构查找表逻辑结构 FPGA查找表单元查找表单元 可编程的查找表结构(可编程的查找表结构(LOOK UP TABLE LUT)大部分大部分FPGA采用基于采用基于SRAM的查找的查找表结构,用表结构,用SRAM来构成逻辑函数来构成逻辑函数发生器。发生器。一个一个N输入的输入的LUT可以实现可以实现N个输入个输入变量的任何逻辑。变量的任何逻辑。一个一个N输入的输入的LUT,需要,需要SRAM存储存储N个输入构成的真值表,需要个输入构成的真值表,需要2的的N
21、次幂个位的次幂个位的SRAM单元。单元。33FPGA查找表单元内部结构查找表单元内部结构 4输入输入161 SRAM存储真值表存储真值表342.4.2 CycloneIII系列器件的结构与原理系列器件的结构与原理 Cyclone LE结构图结构图 Cyclone III具有低功具有低功耗、高性价比耗、高性价比Cyclone主要由:主要由:逻辑阵列块逻辑阵列块LAB嵌入式存储器块嵌入式存储器块嵌入式硬件乘法器嵌入式硬件乘法器IO单元单元PLL等模块构成等模块构成各个模块之间存在丰富的互连线和各个模块之间存在丰富的互连线和时钟网络时钟网络35LAB由多个逻辑宏单元由多个逻辑宏单元LE构成,构成,L
22、E是是FPGA器件的最基本的器件的最基本的可编程单元可编程单元LE主要由一个主要由一个4输入的查找表输入的查找表LUT、进位链逻辑、寄存器链逻、进位链逻辑、寄存器链逻辑和一个可编程的寄存器构成。辑和一个可编程的寄存器构成。4输入的输入的LUT可完成所有的可完成所有的4输入输入1输出的组合逻辑功能。输出的组合逻辑功能。每个每个LE中的可编程寄存器可以被配置称各种触发器形式,而中的可编程寄存器可以被配置称各种触发器形式,而且寄存器具有数据、时钟、时钟使能、清零输入信号。寄存器且寄存器具有数据、时钟、时钟使能、清零输入信号。寄存器可旁路。可旁路。LE有三个输出驱动内部互连,一个驱动局部互连,另两个驱
23、有三个输出驱动内部互连,一个驱动局部互连,另两个驱动行或列的互连,动行或列的互连,LUT和寄存器的输出可单独控制。和寄存器的输出可单独控制。36Cyclone LE普通模式普通模式 Cyclone的工作模式的工作模式LE可工作在两种操作模式下。可工作在两种操作模式下。普通模式,普通模式,LE适合通用逻辑应用和组合逻辑的实现适合通用逻辑应用和组合逻辑的实现37Cyclone LE动态算术模式动态算术模式 算术模式,可以更好的实现加法器、计数器、累加器和比较算术模式,可以更好的实现加法器、计数器、累加器和比较器。器。38Cyclone LAB结构结构 逻辑阵列块逻辑阵列块LAB是由一系列相邻的是由
24、一系列相邻的LE构成。构成。Cyclone III LAB包含包含16个个LE,LAB间存在行互连、列互连、直连通间存在行互连、列互连、直连通路互连、路互连、LAB局部互连、局部互连、LE进位链和进位链和寄存器链。寄存器链。局部互连可以在同一个局部互连可以在同一个LAB的的LE间传输信号;间传输信号;进位链用来连接进位链用来连接LE的进位输出和的进位输出和下一个下一个LE的进位输入;的进位输入;寄存器链用来连接下一个寄存器链用来连接下一个LE的寄的寄存器输出和下一个存器输出和下一个LE的寄存器数的寄存器数据输入。据输入。39LAB阵列阵列 40LAB控制信号生成控制信号生成 控制信号生成控制信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA CPLD 结构 原理
限制150内