资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 CPLD与FPGA 工作原理简介 PLD: Programmable Logic Device 可编程逻辑器件 是一种数字集成电路的半成品,在其芯 片上按一定排列方式集成了大量的门和触发 器等基本逻辑元件,使用者可利用某种开发 工具对其进行加工,即按设计要求将片内元 件连接起来(编程)引论 PLD的思想来自PROM首先我们对数字电路进行剖析 1、数字电路分类 组合电路:与时间无关,输出是输入的函数 时序电路:与时间有关,输出与输入、输出的 前一状态有关。 3、时序电路剖析2、组合电路剖析: 由基本门构成: 与、或、非、异或门等 可由单一基本门构成 可化为“与-或”表达式由组合电路和触发器构成=可编程电路结构2.1 电路符号与简化符号 一、电路符号 :原理图输入用常用符号描述 二、结构介绍用的简化符号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=0;熔丝通 相当于Mp-1,m-1=1是一个可编程或阵列 P=2n Mp-1,m-1是存储单元阵列第m-1列p-1行单元 的值。3、PROM的PLD框图4、 PROM的阵列图早期有人用ROM做数字电路。以4x2PROM为例, 说明可将PROM当PLD使用。例2-1:构造半加器: 0+0=0 0+1=1 1+0=1 1+1=10S=AoAl =AoAl+AoA1C=AoA1阵列点文件对PLD器件称为熔丝图文件(Fuse Map)对于PROM,则为存储单元的编程 数据文件 PROM只能用于组合电路,输入变量的增加会引起 存储容量的增加,且按2的幂次方增加。原因:全 译码 2.3 PLA 与阵列和或阵列都可编程。 例2-2:6x3PLA与8x3PROM的比较 两者在大部分实际应用中,可实现相同的逻辑功能 。优点:乘积项数量减少,门利用率高 缺点:算法复杂、器件的运行速度下降 。与阵列不采用全译码的方式,标准的与或表 达式已不适用,需要把逻辑函数化成最简的 与或表达式,然后用可编程的与阵列构成与 项,用可编程的或阵列构成与项的或运算。 在有多个输出时,要尽量利用公共的与项, 以提高阵列的利用率。 应用:全定制ASIC设计 ,手工化简2.4 PAL与阵列可编程、或阵列固定对于多个乘积项,PAL通过输出反馈和互连的方式解决, 即允许输出端的信号再馈入下一个与阵列。 时序电路的实现: 时序电路由组合电路及存储单元构成(锁存 器、触发器、RAM),组合电路部分的可编 程问题已解决,只要加上锁存器、触发器 即可。例2-3:PALl6V8的部分结构图:输出反 馈、D触发器缺点: 1、为适应不同应用需要,PAL的输出I O结构很多,应用设计者在设计不同功能 的电路时,要采用不同输出IO结构的 PAL器件。带来使用、生产的不便。 2、PAL一般采用熔丝工艺生产一次可编 程,修改不方便。被GAL取代 2.5 GAL 1985年,Lattice 1、特点: 1)采用EEPROM工艺,具有电可擦除重 复编程的特点。 2)在“与或”阵列结构上沿用了PAL的 与阵列可编程、或阵列固定的结构。 3)输出结构较大改进,增加了输出逻辑 宏单元OLMC(Output Logic Macro Cell)。2、OLMC单元的组态: 1)OLMC的结构: OLMC中有4个多路选择器,通过不同的 选择方式可以产生多种输出结构。这些输出结构分别属于三种模式,一旦确 定了某种模式,所有的OLMC都将工作在同 一种模式下。 2)组态简介组合输出可配置成 组合输出双向口 寄存器输出 寄存器输出双向口专用输入等。优点: 设计极为灵活。 具有结构重构和输出端的任何功能均 可移到另一输出引脚上的功能,可简 化电路板的布局布线,使系统的可靠 性进一步地提高。3)寄存器模式:有寄存器,三态门A、寄存器输出结构:B、寄存器模式组合输出双向口结构4)复合模式:无寄存器,三态门可用A、复合组合输出结构 B、组合输出双向口结构3)简单模式:特点:三态门固定 A、反馈输入结构:“与一或”阵列没输出功能,但可作为相邻单元信号 反馈输入,该单元反馈输入端信号来自另一个相邻 单元。B、输出反馈结构 C、简单模式输出结构 编辑ABEL文本文件*.ABL,生成JED网表文件简单PLD早期器件,规模小,只能实现通用数字逻 辑电路(如74系列)的一些功能,由 “与一或”门阵列 和输入输出单元组成。2.6 CPLD结构与工作原理 CPLD即Complex Programmable Logic Device复杂可 编程逻辑器件。 典型产品Altera的MAX7000S。结构和工作原理 一、结构:可编程与阵列 乘积项选择矩阵 固定或阵列 扩展乘积项 可编程寄存器16个 宏单元LAB2/16个 芯片二、宏单元: 1、可编程的“与”阵列 PIA:可编程连线阵programmable Interconnect Array 共享扩展乘积项:增加输入数,用于复杂电路设计。每个宏单元提供一个单独的乘积项,通过一个非门 取反后反馈到逻辑阵列中,可被LAB内任何一个或 全部宏单元使用和共享。采用共享扩展项后要增加 一个短的延时2、乘积项选择矩阵 输出:寄存器:输入清0、置1、CLKCLK-EN固定或阵列:组合电路3、并行扩展乘积项并联扩展项是宏单元中一些 没有被使用的乘积项,可分 配到邻近的宏单元去实现快 速、复杂的逻辑函数。允许最多20个乘积项直接送到宏单元的“或”逻辑, 其中5个乘积项是由宏单元本身提供的,15个并联 扩展项是从同一个LAB中邻近宏单元借用的。当需要并联扩展时,“或”逻 辑的输出通过一个选择分配 器,送往下一个宏单元的并 联扩展“或”逻辑输入端。4、可配置寄存器:可单独编程为带有可编程时钟 控制的D、T、JK或SR触发器,也可将寄存器旁路 ,实现组合逻辑方式。每个寄存器支持异步清零和异步置位功能乘 积项选择矩阵分配乘积项来控制这些操作。此外, 每一个寄存器的复位端可以由低电平有效的全局复 位专用引脚GCLRn信号来驱动。 每个可编程寄存器可以按三种时钟输入模式工作: 全局时钟信号:该模 式能实现最快的时钟到输 出(clock to Output)性能, 这时全局时钟输入直接连 向每一个寄存器的CLK端 。 全局时钟信号带时钟 信号使能。由于仍使用 全局时钟,输出较快 用乘积项实现一个阵列时钟:宏单元或IO 信号进行钟控,速度稍慢。三、逻辑阵列块LAB 16个宏单元的阵列组成一个LAB 四、芯片LAB PIA(Programmable Interconnect Array) 可编程连线阵:LAB与全局总线连接 IO控制块:控制IO引 脚,有输入、输出和双向 方式 2.7 FPGA结构与工作原理 FPGA即现场可编程门阵列(Field Programmable Gate Array) 一、FPGA结构框图: FLEX10K由嵌入式阵列块EAB、逻辑阵列块LAB、Fast Track和I/O控制单元IOC四部分组成 .IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCFLEX 10K系列FPGA结构图.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有两个输出可以分别驱动局部互连和快 速通道Fast Track互连, 1)、查找表LUT原理 Look Up Table,是FPGA的最小逻辑构成单元 大部分FPGA采用基于SRAM的查找表构造逻辑函 数。 一个N输入LUT可实现N输入变量的任何逻辑功能 ,如 “与”、 “异或”等。S=A+BC DCB AS 00000 0001 00100 0011 01000 0101 0110 0111 10000 1001 10100 1011 11000 1101 1110 1111例24N不可能很大,否则LUT的利用率很低,输入多于 N个的逻辑函数、必须用几个查找表分开实现。2)可编程触发器: 可设置成D、T、JK或SR触发器。该寄存器的时钟 、清零和置位信号可由全局信号通用IO引脚或 任何内部逻辑驱动。对于组合逻辑的实现,可将该 触发器旁路。 3)进位链(Carry-In) 用来支持高速计数器和加法器,提供LE之间快速的 向前进位功能。来自低位的进位信号经进位链向前 送到高位,同时馈入LUT和进位链的下一段这一 特点使得FLEXIOK结构能够实现高速计数器、加法 器和宽位的比较器。进位链连通LAB中的所有LE可实现快速加法器, 比较器和计数器DFF进位输入 (来自上一个逻辑单元)S1LE1查找表 LUT进位链DFFS2LE2A1 B1A2 B2进位输出 (到 LAB中的下一个逻辑单元)进位链查找表 LUT4)级联链 (Cascade-In): 可实现多输入(Wide-Input)逻辑函数。 相邻的LUT用来并行地完成部分逻辑功能,级联链 把中间结果串接起来。级联链可以使用逻辑“与”或 者逻辑“或”来连接相邻LE的输出(图3-37)每个附 加的LE提供有效输入4个,其延迟会增加少许。两种不同的级联方式“与”级联链“或”级联链LUTLUTIN 30IN 47LUTIN (4n-1)4(n-1)LUTLUTIN 30IN 47LUTIN (4n-1)4(n-1)LE 1LE2LEnLE1LE2LEn0.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连接是由遍布整个器件的“行互连”和 “列互线”组成的。每行的LAB有一个专用的“行 互连”,“行互连”可以驱动IO引脚或馈送到器 件中的其他LAB。“列互线”连接各行。也能驱动
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号