可编程逻辑器件CPLD硬件知识大全.doc_第1页
可编程逻辑器件CPLD硬件知识大全.doc_第2页
可编程逻辑器件CPLD硬件知识大全.doc_第3页
可编程逻辑器件CPLD硬件知识大全.doc_第4页
可编程逻辑器件CPLD硬件知识大全.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

PLD/CPLD/FPGA硬件结构一、脉冲与数字电路课程的回顾 布尔函数数字系统数学基础(卡诺图) 数字电路设计的基本方法n 组合电路设计问题逻辑关系真值表化简逻辑图n 时序电路设计列出原始状态转移图和表状态优化状态分配触发器选型求解方程式逻辑图 二、脉冲与数字电路课程的回顾 使用中、小规模器件设计电路(74、54系列)n 编码器(74LS148)n 译码器(74LS154)n 比较器(74LS85)n 计数器(74LS193)n 移位寄存器(74LS194)n 三、脉冲与数字电路课程的回顾 设计方法的局限n 卡诺图只适用于输入比较少的函数的化简。n 采用“搭积木”的方法的方法进行设计。必须熟悉各种中小规模芯片的使用方法,从中挑选最合适的器件,缺乏灵活性。n 设计系统所需要的芯片种类多,且数量很大。四、数字电路的基本组成 任何组合电路都可表示为其所有输入信号的最小项的和或者最大项的积的形式。 时序电路包含可记忆器件(触发器),其反馈信号和输入信号通过逻辑关系再决定输出信号。五、脉冲与数字电路课程的回顾 采用中小规模器件的局限n 电路板面积很大,芯片数量很多,功耗很大,可靠性低提高芯片的集成度n 设计比较困难能方便地发现设计错误n 电路修改很麻烦提供方便的修改手段 PLD器件的出现改变了这一切六、PLD出现的背景 电路集成度不断提高n SSIMSILSIVLSI 计算机技术的发展使EDA技术得到广泛应用 设计方法的发展n 自下而上自上而下 用户需要设计自己需要的专用电路n 专用集成电路(ASICApplication Specific Integrated Circuits)开发周期长,投入大,风险大n 可编程器件PLD:开发周期短,投入小,风险小七PLD器件的优点 集成度高,可以替代多至几千块通用IC芯片n 极大减小电路的面积,降低功耗,提高可靠性 具有完善先进的开发工具n 提供语言、图形等设计方法,十分灵活n 通过仿真工具来验证设计的正确性 可以反复地擦除、编程,方便设计的修改和升级 灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间 保密性好八、PLD的发展趋势 向高集成度、高速度方向进一步发展n 最高集成度已达到400万门 向低电压和低功耗方向发展,5V3.3V2.5V1.8V更低 内嵌多种功能模块n RAM,ROM,FIFO,DSP,CPU 向数、模混合可编程方向发展九、PLD发展历程 PROM:最早的可编程逻辑器件是1970年出现的PROM,它是由全译码的与阵列和可编程的或阵列组成,其阵列规模大、速度低,主要用途是作为存储器。 PLA :20世纪70年代中期出现了可编程逻辑阵列(PLA,Programmable Logic Array )器件,它由可编程的与阵列和可编程的或阵列组成。由于其编程复杂,开发有一定的难度,没有得到广泛的应用。十、PLD发展历程 PAL:20世纪70年代末,推出了可编程阵列逻辑(PAL,Programmable Array Logic)器件,它由可编程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极性工艺制造,器件的工作速度很高。由于它的输出结构种类很多,设计很灵活,因而成为第一个得到普遍应用的可编程逻辑器件。 GAL:20世纪80年代初,Lattice公司发明了通用阵列逻辑(GAL,Generic Array Logic)器件,采用输出逻辑宏单元(OLMC)的形式和EECMOS工艺结构,具有可擦除、可重复编程、数据可长期保存和可重新组合结构等优点。十一、PLD发展历程FPGA:20世纪80年代中期,Xilinx公司提出了现场可编程概念,同时生产出了世界上第一片现场可编程门阵列(FPGA,Field Programmable Gate Array)器件。它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作,内部由许多独立的可编程逻辑年模块组成,逻辑块之间可以灵活地相互连接,具有密度高、编程速度快、设计灵活和可再配置设计能力等许多优点。十二、PLD发展历程 EPLD:同时期,Altera公司推出了EPLD(Erasable Programmable Logic Device)器件,它采用CMOS和UVEPROM工艺制作,比GAL器件有更高的集成度,可以用紫外线或电擦除,但内部互连能力比较弱。 ISP:20世纪80年代末,Lattice公司提出了在系统可编程(ISP,In System Programmable)技术。十三、PLD发展历程 CPLD:CPLD(Complex PLD)即复杂可编程逻辑器件,是在EPLD的基础上发展起来的,采用EECMOS工艺,增加了内部互连线,改进了内部结构体系,比EPLD性能好,设计更加灵活。 SOPC:20世纪90年代后,器件的可用逻辑门超过了百万门,并出现了内嵌复杂功能模块(如加法器、乘法器、RAM、CPU核、DSP核等)的SOPC(System On a Chip)。十四、目前流行可编程器件的特点 大规模 低功耗 模拟可编程 含多种专用端口和附加功能模块的FPGA十五、PLD器件的分类方法 按集成度分类 按编程工艺分类 按结构分类 按存储器分类十六、PLD器件的分类按集成度 低密度(小于1000门)n PROM,EPROM,EEPROM,PAL,PLA,GALn 只能完成较小规模的逻辑电路 高密度,已经有超过400万门的器件n EPLD ,CPLD,FPGAn 可用于设计大规模的数字系统集成度高,甚至可以做到SOC(System On a Chip)十七、PLD器件的分类按编程工艺 熔丝或反熔丝编程器件Actel的FPGA器件n 体积小,集成度高,速度高,易加密,抗干扰,耐高温n 只能一次编程,在设计初期阶段不灵活 SRAM大多数公司的FPGA器件n 可反复编程,实现系统功能的动态重构n 每次上电需重新下载,实际应用时需外挂EEPROM用于保存程序 EEPROM大多数CPLD器件n 可反复编程n 不用每次上电重新下载,但相对速度慢,功耗较大十八、PLD器件的分类按结构特点 基于与或阵列结构的器件阵列型n PROM,EEPROM,PAL,GAL,CPLDn CPLD的代表芯片如:Altera的MAX系列 基于门阵列结构的器件单元型n FPGAn 通过在一个主晶片(在这个晶片上,以阵列的形式预先排列门)上进行布线,用门阵列生成特定的LSI。十九、PLD器件的分类按存储器 第一代:一次性编程,如PLA、PAL. 第二代:紫外线擦除(如EPROM).如EPLD. 第三代:电擦除(如E2PROM),如GAL. 第四代:在系统编程(In System Program,ISP)器件,编程工作直接在目标系统或电路板上进行而不用编程器,如CPLD、FPGA.二十、PLD的电路表示法 缓冲器表示法n PLD的输入缓冲器和反馈缓冲器都采用互补输出的结构。对于这种互补输出缓冲器,其表示如图所示。 二十一、与门表示法 PLD电路的输入中采用两个基本的门电路与门和或门,一个门可以多个输入,仅有一个输出。一个3输入端与门的传统表示法和PLD表示法如图所示。 D=ABC A、B、C称为输入项,D称为乘积项(Product Term)。 或门可用类似的表示法。 阵列各交叉点上的连接方式n 实点连接表示硬线连接,就是固定连接,不可编程。n “X” 连接表示可编程连接。“X” 表示目前是互连的,可以经过编程改动。n 叉点处无“X”和实点连接,表示无任何连接。二十二、与门的省缺表示法(default) 一个给定输入缓冲器的原码和反码输出都连至一个乘积项上,将使该乘积项总为“0”。这种状态称为与门的省缺(default)状态。在以后要叙述的编程过程中形成的“熔丝图”(Fuse Map)中,省缺部分就隐含着这种状态。为了方便起见,对于这种全部输入项都接通的省缺状态,人们常简单地对应的与门中划一个“X”,以代表各输入项都是连通的 .二十三、电路符号表示PLD基本结构PLD 的 基 本 结 构 图输入电路与阵列输出电路或阵列输入项乘积项或项输入输出输入电路PLD 的 基 本 结 构 图输入电路与阵列输出电路或阵列输入项乘积项或项输入输出二十四、PROM缺点 与门阵列可以做得很大,但阵列愈大,开关延迟时间愈长,速度就比较慢。 再有,大多数逻辑函数不需要使用输入的全部可能组合,因为其中许多组合是无效的或不可能出现的,这就使得PROM的与阵列不能得到充分利用。 芯片面积大,利用率低,工作速度慢。 二十五、PLA主要结构由”与或”阵列组成. ProductTerm(布尔代数的一个术语,指与运算的输出项)的PLA结构图. 未编程时,所有熔丝都导通;编程时,无用的烧断.一次性编程,错误将导致芯片报废. PLA的造价低,熔断时熔丝外溅对周围连线会造成影响,需留较大的间隔,导致集成度下降.二十五PAL可编程阵列逻辑器件 由可编程的与阵列、固定的或阵列和输出电路组成. 通过对与逻辑阵列编程可得到各种组合逻辑电路;通过选择不同的PAL输出结构可构成不同的时序电路. 和PLA一样都是一次性编程,但PAL具有多种输出结构.设计上具有一定的灵活性.二十六、GAL通用阵列逻辑器件首次在PLD上采用了E2PROM工艺. 具有电可擦除、重复编程的特点,彻底解决了熔丝型可编程器件一次性编程问题. 与阵列可编程、或阵列固定. 增加了输出逻辑宏单元OLMC. 采用硬件描述语言ABEL对结构控制字进行编程,电脑将程序综合成熔丝图文件下载到芯片中.二十七、Lattice公司的GAL16V8 8个输入缓冲器:2-9脚,固定输入. 8个输出缓冲器:12-19脚,在三态门控制端的控制下,可以配置成输入、输出模式.所以最多可以有16个输入端. 系统时钟输入端:1脚. 输出三态门控制端:11脚. 电源(+5V):20脚. 接地:10脚.二十八、输出逻辑宏单元(OLMC) 具有输出逻辑宏单元OLMC(Output Logic Macro Cell)是GAL器件的一大特征。 或门:每个输入对应一个乘积项,输出为各乘积项的和. 异或门:控制输出信号的极性(1同相0反相) D触发器:做状态寄存器用,适合设计时序电路 4个多路选择器: PTMUX或门控制选择 TSMUX输出使能选择 OMUX输出选择 FMUX反馈信号选择二十九、数据选择器(MUX) 乘积项数据选择器(PTMUX): 2选1,用以选择与阵列输出的第一个乘积项或者低电平. 三态数据选择器(TSMUX): 4选1,用以选择输出三态缓冲器的的控制信号n 芯片统一的OE(选通)信号n 与阵列输出的第一乘积项n 固定低电平n 固定高电平 反馈数据选择器(FMUX): 4选1,用以决定送到与阵列的反馈信号的来源.n 触发器的反向输出/Qn 本单元输出n 相邻单元输出n 固定低电平 输出数据选择器(OMUX): 2选1,从触发器输出Q或者不经过触发器、直接从异或门输出这两个信号中选择一个作为本单元的输出.三十、GAL的优点 通用性(高灵活性) 100%可编程 100%可测试 进一步减少备件GAL的不足 和PAL一样都属于低密度器件,他们共同的缺点是规模小,每片相当于几十个等效门电路,只能代替24片MSI电路,远达不到LSI和VLSI专用集成电路的要求. 因为阵列规模小,人们不对阵列读取,也可以通过测试等方法讲阵列的信息分析出来,事实上现在市场上有许多GAL解密软件流通,而使GAL加密的优点不能充分的发挥. 三十一、采用浮栅技术生产的可编程存储器,构成存储单元是MOS管(隧道MOS管). “隧道效应” 当漏极接地,控制栅加上足够高的电压时,交叠处产生一个很强的电场,在强电场的作用下,电子通过绝缘层到达浮栅,使浮栅带负电荷. MOS管利用电擦除,擦除速度很快. 电擦除的过程就是改写过程,以字为单位进行的 具有ROM的非易失性和类似RAM的功能可以随时改写(1万次以上). 芯片内部有升压电路,只需单电源供电.三十二、存储逻辑数据的可编程元件的类型 熔丝(Fuse)开关元件.只能写一次(淘汰) 浮栅编程元件n EPROM:紫外线擦除、电擦除.n E2PROM:电擦除、电编程,逐字擦除.n FLASH ROM:电擦除、电编程,逐段擦除,有快速擦除和读取的功能.(CPLD) 静态随即存储器元件(SRAM):易失性元件,一旦掉电后,则存储的数据就丢失.(FPGA)三十三、CPLD的结构 CPLD 最基本的单元是宏单元。一个宏单元包含一个寄存器( 使用多达16 个乘积项作为其输入) 及其它有用特性。 因为每个宏单元用了16 个乘积项, 因此设计人员可部署大量的组合逻辑而不用增加额外的路径。 基于乘积项的CPLD内部结构 分为三块结构:宏单元(Marocell),可编程连线(PIA)和I/O控制块。 宏单元是PLD的基本结构,由它来实现基本的逻辑功能。 兰色部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。 可编程连线负责信号传递,连接所有的宏单元。 I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。 图中左上的INPUT/GCLK1,INPUT/GCLRn, INPUT/OE1, INPUT/OE2 是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。宏单元结构 左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。 图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。乘积项结构PLD的逻辑实现原理 假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我们以!D表示D的“非”)乘积项结构PLD的逻辑实现原理 PLD将以下面的方式来实现组合逻辑f: A,B,C,D由PLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),得到:f= f1 + f2 = (A*C*!D) + (B*C*!D) 乘积项结构PLD的逻辑实现原理 电路中D触发器直接利用宏单元中的可编程D触发器来实现。 时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。 可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了图3所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)乘积项结构PLD的逻辑实现原理 上图的电路是一个很简单的例子,只需要一个宏单元就可以完成。 但对于一个复杂的电路,一个宏单元是不能实现的,就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。这样PLD就可以实现更复杂逻辑。 这种基于乘积项的PLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。可编程的I/O单元 能兼容TTL和CMOS多种接口和电压标准 可配置为输入、输出、双向、集电极开路和三态等形式 能提供适当的驱动电流 降低功耗,防止过冲和减少电源噪声 支持多种接口电压(降低功耗)n 1.20.5um,5Vn 0.35um,3.3Vn 0.25um,internal 2.5V,I/O3.3Vn 0.18um,internal 1.8V,I/O2.5V and 3.3V可编程连线阵列 在各个逻辑宏单元之间以及逻辑宏单元与I/O单元之间提供信号连接的网络 CPLD中一般采用固定长度的线段来进行连接,因此信号传输的延时是固定的,使得时间性能容易预测。FPGA特点 ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一. 内部有丰富的触发器和I/O引脚. 采用高速CHMOS工艺,功耗低,可以与COMS、TTL电平兼容.FPGA结构原理图 内部结构称为LCA(Logic Cell Array)由三个部分组成: 可编程逻辑块(CLB) 可编程输入输出模块(IOB) 可编程内部连线(PIC)查找表 采用查找表(Look Up Table,LUT)结构的PLD芯片我们称为FPGA. 简称LUT,本质上就是一个RAM.FPGA中常用4输入的LUT.FPGA结构与工作原理查找表型FPGA结构查找表型FPGA的可编程逻辑块是查找表,由查找表构成函数发生器,通过查找表实现逻辑函数,查找表的物理结构是静态存储器(SRAM)。M个输入项的逻辑函数可以由一个2的M次方位容量SRAM实现,函数值存放在SRAM中,SRAM的地址线起输入线的作用,地址即输入变量值,SRAM的输出为逻辑函数值,由连线开关实现与其他功能块的连接。 实际FPGA器件的查找表输入项不超过5个,对多于5个输入项的逻辑函数则由多个查找表逻辑块组合或级联实现。查找表的基本原理N个输入的逻辑函数需要2的N次方的容量的SRAM来实现,一般多个输入的查找表采用多个逻辑块级连的方式查找表的基本原理 主要包括LAB、I/O块、RAM块和可编程行/列连线.(Altera公司的FLEX/ACEX系列) 一个LAB包括8个逻辑单元(LE)n 每个LE包括一个LUT、一个触发器和相关逻辑.n LE是芯片实现逻辑的最基本的结构.查找表结构的FPGA逻辑实现原理 我们还是以这个电路为例。A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连接到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,实现了组合逻辑。 该电路中D触发器直接利用LUT后面D触发器来实现。 时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。 触发器的输出与I/O脚相连,把结果输出到芯片管脚。 这样PLD就完成了图3所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)查找表结构的FPGA逻辑实现原理 对于一个LUT无法完成的电路,通过进位逻辑将多个单元相连,可以实现复杂的逻辑。 由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。 也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。FPGA中的嵌入式阵列(EAB) 可灵活配置的RAM块 用途n 实现比较复杂的函数的查找表,如正弦、余弦等。n 可实现多种存储器功能,如RAM,ROM,双口RAM,FIFO,Stack等n 灵活配置方法:2568,也可配成5124内部晶体震荡器 高速反向放大器用于和外部晶体相接,形成内部晶体振荡器。 提供将振荡波形二分频成对称方波的功能FPGA与CPLD的区别 FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。FPGA与CPLD的区别 FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。FPGA与CPLD的区别 FPGA为细粒度结构,CPLD为粗粒度结构。 FPGA内部有丰富连线资源,CLB分块较小,芯片的利用率较高。CPLD的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此CPLD利用率较FPGA器件低。FPGA与CPLD的区别 FPGA为非连续式布线,CPLD为连续式布线。FPGA器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,要求开发软件允许工程师对关键的路线给予限制。 CPLD每次布线路径一样,CPLD

温馨提示

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

评论

0/150

提交评论