第2章CPLD与FPGA工作原理简介_第1页
第2章CPLD与FPGA工作原理简介_第2页
第2章CPLD与FPGA工作原理简介_第3页
第2章CPLD与FPGA工作原理简介_第4页
第2章CPLD与FPGA工作原理简介_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PLD: Programmable Logic Device可编程逻辑器件 是一种数字集成电路的半成品,在其芯片上按一定排列方式集成了大量的门和触发器等基本逻辑元件,使用者可利用某种开发工具对其进行加工,即按设计要求将片内元件连接起来(编程)PLD的思想来自PROM首先我们对数字电路进行剖析 1、数字电路分类 组合电路:与时间无关,输出是输入的函数 时序电路:与时间有关,输出与输入、输出的前一状态有关。 3、时序电路剖析2、组合电路剖析: 由基本门构成: 与、或、非、异或门等 可由单一基本门构成 可化为“与-或”表达式由组合电路和触发器构成=可编程电路结构一、电路符号 :原理图输入用常用符号描

2、述 PLD互补输入互补等效PLD四输入与门四输入与门PLD四输入或门四输入或门不连接 固定连接 编程连接Programmable ROM 可编程只读存储器2.2 PROM工作原理1、地址译码器: 完成PROM存储阵列的行的选择,由与门组成。 其字线的逻辑函数是: Wo=An-1Ai Ao W1=An-1Ai Ao Wn=An-1Ai 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其中:对熔丝工艺,熔丝断相当于Mp-1,m-1=

3、0;熔丝通相当于Mp-1,m-1=1是一个可编程或阵列 P=2nMp-1,m-1是存储单元阵列第m-1列p-1行单元的值。3、PROM的PLD框图4、 PROM的阵列图早期有人用ROM做数字电路。以4x2PROM为例,说明可将PROM当PLD使用。例2-1:构造半加器: 0+0=00+1=11+0=11+1=10S=Ao Al =AoAl+AoA1C=AoA1阵列点文件对PLD器件称为熔丝图文件(Fuse Map)对于PROM,则为存储单元的编程数据文件 PROM只能用于组合电路,输入变量的增加会引起存储容量的增加,且按2的幂次方增加。原因:全译码 2.3 PLA 与阵列和或阵列都可编程。 例

4、2-2:6x3PLA与8x3PROM的比较 两者在大部分实际应用中,可实现相同的逻辑功能。优点:乘积项数量减少,门利用率高 缺点:算法复杂、器件的运行速度下降 。与阵列不采用全译码的方式,标准的与或表达式已不适用,需要把逻辑函数化成最简的与或表达式,然后用可编程的与阵列构成与项,用可编程的或阵列构成与项的或运算。在有多个输出时,要尽量利用公共的与项,以提高阵列的利用率。应用:全定制ASIC设计 ,手工化简2.4 PAL与阵列可编程、或阵列固定对于多个乘积项,PAL通过输出反馈和互连的方式解决,即允许输出端的信号再馈入下一个与阵列。 时序电路的实现: 时序电路由组合电路及存储单元构成(锁存器、触

5、发器、RAM),组合电路部分的可编程问题已解决,只要加上锁存器、触发器即可。例2-3:PALl6V8的部分结构图:输出反馈、D触发器缺点: 1、为适应不同应用需要,PAL的输出IO结构很多,应用设计者在设计不同功能的电路时,要采用不同输出IO结构的PAL器件。带来使用、生产的不便。 2、PAL一般采用熔丝工艺生产一次可编程,修改不方便。被GAL取代 2.5 GAL1985年,Lattice1、特点:1)采用EEPROM工艺,具有电可擦除重复编程的特点。 2)在“与或”阵列结构上沿用了PAL的与阵列可编程、或阵列固定的结构。 3)输出结构较大改进,增加了输出逻辑宏单元OLMC(Output Lo

6、gic Macro Cell)。2、OLMC单元的组态: 1)OLMC的结构: OLMC中有4个多路选择器,通过不同的选择方式可以产生多种输出结构。这些输出结构分别属于三种模式,一旦确定了某种模式,所有的OLMC都将工作在同一种模式下。2)组态简介组合输出可配置成组合输出双向口寄存器输出寄存器输出双向口专用输入等。优点: 设计极为灵活。具有结构重构和输出端的任何功能均可移到另一输出引脚上的功能,可简化电路板的布局布线,使系统的可靠性进一步地提高。3)寄存器模式:有寄存器,三态门A、寄存器输出结构:B、寄存器模式组合输出双向口结构4)复合模式:无寄存器,三态门可用A、复合组合输出结构 B、组合输

7、出双向口结构3)简单模式:特点:三态门固定 A、反馈输入结构:“与一或”阵列没输出功能,但可作为相邻单元信号反馈输入,该单元反馈输入端信号来自另一个相邻单元。B、输出反馈结构 C、简单模式输出结构 编辑ABEL文本文件*.ABL,生成JED网表文件简单PLD早期器件,规模小,只能实现通用数字逻辑电路(如74系列)的一些功能,由 “与一或”门阵列和输入输出单元组成。2.6 CPLD结构与工作原理 CPLD即Complex Programmable Logic Device复杂可编程逻辑器件。 典型产品Altera的MAX7000S。结构和工作原理一、结构:可编程与阵列乘积项选择矩阵固定或阵列扩展

8、乘积项可编程寄存器16个宏单元LAB2/16个芯片二、宏单元:1、可编程的“与”阵列PIA:可编程连线阵 programmable Interconnect Array 共享扩展乘积项:增加输入数, 用于复杂电路设计。每个宏单元提供一个单独的乘积项,通过一个非门取反后反馈到逻辑阵列中,可被LAB内任何一个或全部宏单元使用和共享。采用共享扩展项后要增加一个短的延时2、乘积项选择矩阵 输出:寄存器:输入 清0、置1、CLK CLK-EN固定或阵列:组合电路3、并行扩展乘积项并联扩展项是宏单元中一些没有被使用的乘积项,可分配到邻近的宏单元去实现快速、复杂的逻辑函数。允许最多20个乘积项直接送到宏单元

9、的“或”逻辑,其中5个乘积项是由宏单元本身提供的,15个并联扩展项是从同一个LAB中邻近宏单元借用的。当需要并联扩展时,“或”逻辑的输出通过一个选择分配器,送往下一个宏单元的并联扩展“或”逻辑输入端。4、可配置寄存器:可单独编程为带有可编程时钟控制的D、T、JK或SR触发器,也可将寄存器旁路,实现组合逻辑方式。 每个寄存器支持异步清零和异步置位功能乘积项选择矩阵分配乘积项来控制这些操作。此外,每一个寄存器的复位端可以由低电平有效的全局复位专用引脚GCLRn信号来驱动。 每个可编程寄存器可以按三种时钟输入模式工作: 全局时钟信号:该模式能实现最快的时钟到输出(clock to Output)性能

10、,这时全局时钟输入直接连向每一个寄存器的CLK端。 全局时钟信号带时钟信号使能。由于仍使用全局时钟,输出较快 用乘积项实现一个阵列时钟:宏单元或IO信号进行钟控,速度稍慢。三、逻辑阵列块LAB 16个宏单元的阵列组成一个LAB四、芯片LABPIA(Programmable Interconnect Array) 可编程连线阵:LAB与 全局总线连接 IO控制块:控制IO引脚,有输入、输出和双向方式 FPGA即现场可编程门阵列(Field Programmable Gate Array) 一、FPGA结构框图: FLEX10K由嵌入式阵列块EAB、逻辑阵列块LAB、Fast Track和I/O控

11、制单元IOC四部分组成 .IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCEABEAB嵌入式嵌入式阵列块阵列块二、逻辑阵列块LAB(Logic Array Block) 每个LAB包含八个逻辑单元LE、相联的进位链和级联链,LAB控制信号与LAB局部互连。1、逻辑单元LE Logic Element或LC:Logic Cell是FLEX10K结构中的最小单元,实现逻辑功能。每个LE包含一个4输入的LUT、一个带有同步使能的可编程触发器,一个进位链和一个级联链。每个LE有两个输出

12、可以分别驱动局部互连和快速通道Fast Track互连, 1)、查找表LUT原理Look Up Table,是FPGA的最小逻辑构成单元大部分FPGA采用基于SRAM的查找表构造逻辑函数。一个N输入LUT可实现N输入变量的任何逻辑功能,如 “与”、 “异或”等。S=A+BCDCB AS0000000010010000110100001010110011110000100110100101111000110111101111例24N不可能很大,否则LUT的利用率很低,输入多于N个的逻辑函数、必须用几个查找表分开实现。2)可编程触发器:可设置成D、T、JK或SR触发器。该寄存器的时钟、清零和置位信

13、号可由全局信号通用IO引脚或任何内部逻辑驱动。对于组合逻辑的实现,可将该触发器旁路。3)进位链(Carry-In) 用来支持高速计数器和加法器,提供LE之间快速的向前进位功能。来自低位的进位信号经进位链向前送到高位,同时馈入LUT和进位链的下一段这一特点使得FLEXIOK结构能够实现高速计数器、加法器和宽位的比较器。 进位链连通进位链连通LAB中的所有中的所有LE可实现快速加法器可实现快速加法器, 比较器和计数器比较器和计数器DFF进位输入进位输入(来自上一个逻辑单元来自上一个逻辑单元)S1LE1查找表查找表LUT进位链进位链DFFS2LE2A1B1A2B2进位输出进位输出(到到 LAB中的下

14、一个逻辑单元中的下一个逻辑单元)进位链进位链查找表查找表LUT4)级联链 (Cascade-In):可实现多输入(Wide-Input)逻辑函数。相邻的LUT用来并行地完成部分逻辑功能,级联链把中间结果串接起来。级联链可以使用逻辑“与”或者逻辑“或”来连接相邻LE的输出(图3-37)每个附加的LE提供有效输入4个,其延迟会增加少许。 两种不同的级联方式两种不同的级联方式“与与”级联链级联链“或或”级联链级联链LUTLUTIN 3.0IN 4.7LUTIN (4n-1).4(n-1)LUTLUTIN 3.0IN 4.7LUTIN (4n-1).4(n-1)LE1LE2LEnLE1LE2LEn0.

15、6 ns2.4 ns16位地址译码速度可达位地址译码速度可达 2.4 + 0.6x3=4.2 ns5)输出驱动:LE有两个输出驱动内部互连,一个驱动局部互连另一个驱动行或列的快速通道Fast Track的互连输出,这两个输出可以单独控制可以实现在一个LE中,LUT驱动一个输出,而寄存器驱动另一个输出因而在个LUT中的触发器和LUT能够用来完成不相关的功能能够提高LE的资源利用率。 三、快速通道(Fast Track):在FLEX10K结构中,Fast Track遍布于整个器件,可预测其延时性能。有些FPGA采用分段式连线结构,会使延时难以预测,从而降低了设计性能。 Fast Track连接是由

16、遍布整个器件的“行互连”和“列互线”组成的。每行的LAB有一个专用的“行互连”,“行互连”可以驱动IO引脚或馈送到器件中的其他LAB。“列互线”连接各行。也能驱动IO引脚。连续布线连续布线 = 每次设计重复的可预测性和高性能每次设计重复的可预测性和高性能连续布线 ( Altera 基于查找表(LUT)的 FPGA )LABLE四、IO单元与专用输入端口IOC:FLEX10K的引脚由IOE驱动。IOE位于快速通道的行和列的末端,包含一个双向IO缓冲器和一个寄存器,这个寄存器可以用作需要快速建立时间的外部数据的输入寄存器,也可以作为要求快速“时钟到输出”性能的数据输出寄存器。IOE可以配置成输入、

17、输出或双向口。五、嵌入式阵列块EAB:Embedded Array Block是在输入、输出口上带有寄存器的RAM块是由一系列的嵌入式RAM单元构成。当要实现有关存储器功能时,每个EAB提供2048个位。EAB可以非常方便地实现一些规模不太大的RAM、ROM、FIFO或双口RAM等功能块的构造。当EAB用来实现计数器、地址译码器、状态机、乘法器、微控制器以及DSP等复杂逻辑时,每个EAB可以贡献100到600个等效门。EAB可以单独使用,也可以组合起来使用 256x8512x41024x22048x1256x8256x8512x4512x4256x16512x8图图3-40 用用EAB构成不同结构的构成不同结构的RAM和和ROM 输出时钟DRAM/ROM256x851

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论