EDA(第2章)-15.9._第1页
EDA(第2章)-15.9._第2页
EDA(第2章)-15.9._第3页
EDA(第2章)-15.9._第4页
EDA(第2章)-15.9._第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、 EDAEDA技术与应用技术与应用第第2 2章章 可编程逻辑器件概述可编程逻辑器件概述 可编程逻辑器件分类及其发展可编程逻辑器件分类及其发展 SPLD SPLD的基本结构与逻辑表示的基本结构与逻辑表示 四种简单四种简单PLDPLD简介简介 CPLD CPLD结构原理结构原理 FPGA FPGA结构原理结构原理 可编程逻辑器件(PLD) 简单PLD 复杂PLD PROM PAL PLA GAL CPLD FPGA PLDPLD的分类的分类-按集成度分类按集成度分类 简单简单PLDPLD又称低密度又称低密度PLD(LDPLD)PLD(LDPLD),复杂,复杂PLDPLD又称高密度又称高密度PLD(

2、HDPLD)PLD(HDPLD)2.1 2.1 可编程逻辑器件分类及其发展可编程逻辑器件分类及其发展 1熔丝熔丝(Fuse)型器件。型器件。 2反熔丝反熔丝(Anti-fuse)型器件型器件 。 3UEPROM型。型。4EEPROM型型 。 5SRAM型型 。 6Flash型型 。 PLDPLD的分类的分类-按编程工艺分类按编程工艺分类 此外,按器件结构可将其分成此外,按器件结构可将其分成乘积项结构乘积项结构和和查找表结构查找表结构两大类;两大类;按器件编程后按器件编程后掉电能否保持编程信息掉电能否保持编程信息又可将其分成又可将其分成CPLDCPLD和和FPGAFPGA两大类两大类PLDPLD

3、的发展历程的发展历程 熔丝编程的熔丝编程的PROM和和PLA器件器件 AMD公公司推出司推出PAL器件器件 Lattice公公司推出电擦司推出电擦除除GAL器件器件 Xilinx-FPGAAlteraEPLD高密度高密度可编程可编程器件器件 Lattice-ISPAlteraCPLD复杂可编程复杂可编程器件器件 内嵌复杂内嵌复杂功能模块功能模块的的SoPC 2020世纪世纪7070年代年代 2020世纪世纪7070年代末年代末 2020世纪世纪8080年代初年代初 2020世纪世纪8080年代中年代中 2020世纪世纪8080年代末年代末 2020世纪世纪9090年代年代 早期早期的可编程逻辑

4、器件是可编程只读存储器的可编程逻辑器件是可编程只读存储器( (PROM)PROM),它们由它们由全译码的全译码的与阵列和可编程的或阵列与阵列和可编程的或阵列组成,由于阵列规模大速度低,主要用作存储器。组成,由于阵列规模大速度低,主要用作存储器。 2020世纪世纪7070年代中期年代中期,出现了一类结构上稍显复杂的可编程芯片,称为可,出现了一类结构上稍显复杂的可编程芯片,称为可编程逻辑阵列编程逻辑阵列PLAPLA(Programmable Logic Array)(Programmable Logic Array)。它由。它由可编程的与阵列和可可编程的与阵列和可编程的或阵列编程的或阵列组成,虽然

5、阵列规模增大,提高了芯片的利用率,但由于编程组成,虽然阵列规模增大,提高了芯片的利用率,但由于编程复杂复杂, ,支持支持PLAPLA的开发软件有一定难度,因而也没有得到广泛应用。的开发软件有一定难度,因而也没有得到广泛应用。 2020世纪世纪7070年代末年代末,美国一公司率先提出,美国一公司率先提出可编程阵列逻辑可编程阵列逻辑PALPAL(Programmable (Programmable Array Logic)Array Logic)。PALPAL由由可编程的与阵列和固定的或阵列可编程的与阵列和固定的或阵列构成,采用构成,采用熔丝编程熔丝编程方方式、双极型工艺制造。式、双极型工艺制造。

6、PALPAL在器件的工作速度、输出结构种类上较早期的可编在器件的工作速度、输出结构种类上较早期的可编程逻辑器件有了很大进步,但由于其输出方式固定不能重新组态,所以编程灵程逻辑器件有了很大进步,但由于其输出方式固定不能重新组态,所以编程灵活性较差,又由于采用的是活性较差,又由于采用的是PROMPROM工艺,只能工艺,只能一次性编程一次性编程,使用者仍要承担一定,使用者仍要承担一定风险。风险。 2020世纪世纪8080年代中期年代中期,LatticeLattice公司发明了通用公司发明了通用阵列逻辑阵列逻辑GALGAL(Generic (Generic Array Logic)Array Logi

7、c)。首次在。首次在PLDPLD上采用上采用EEPROMEEPROM工艺工艺,解决了熔丝型一次编程,解决了熔丝型一次编程问题,实现了问题,实现了重复编程重复编程,通常可擦写百次以上。,通常可擦写百次以上。GALGAL在在“与与- -或或”阵列结阵列结构上沿用了构上沿用了PALPAL的与阵列可编程、或阵列固定的结构,的与阵列可编程、或阵列固定的结构,但对但对PALPAL的输出的输出I/OI/O结构进行了较大的改进结构进行了较大的改进,增加了输出逻辑宏单元,增加了输出逻辑宏单元OLMCOLMC。GALGAL和和PALPAL的主要的主要区别在于区别在于GALGAL的输出电路可以编程组态的输出电路可以

8、编程组态。 由于由于GALGAL芯片具有很强的灵活性,设计风险小,可以取代大部分芯片具有很强的灵活性,设计风险小,可以取代大部分SSICSSIC、MSICMSIC和和PALPAL器件,所以在器件,所以在2020世纪世纪8080年代得到广泛应用。年代得到广泛应用。 这些早期可编程逻辑器件的一个共同特点是都属于低密度这些早期可编程逻辑器件的一个共同特点是都属于低密度PLDPLD,结构简单,设计灵活,但规模小,难以实现复杂的逻辑功能。结构简单,设计灵活,但规模小,难以实现复杂的逻辑功能。 20 20世纪世纪8080年代中后期年代中后期,随着集成电路工艺水平的不断提高,随着集成电路工艺水平的不断提高,

9、PLDPLD突破了突破了传统单一结构,向着高密度、高速度、低功耗以及结构体系更灵活、适用传统单一结构,向着高密度、高速度、低功耗以及结构体系更灵活、适用范围更宽的方向发展,相继出现了各种不同结构的范围更宽的方向发展,相继出现了各种不同结构的高密度高密度PLD:PLD:AlteraAltera公司公司推出了一种新型的可擦除、可编程逻辑器件推出了一种新型的可擦除、可编程逻辑器件EPLDEPLD (Erasable Programmable (Erasable Programmable Logic Device)Logic Device),它采用,它采用CMOSCMOS和和UVEPROMUVEPRO

10、M工艺制作,集成度比工艺制作,集成度比PALPAL和和GALGAL高得高得多,设计也更加灵活,但内部互联能力比较弱。多,设计也更加灵活,但内部互联能力比较弱。 19851985年年XilinxXilinx公司首家推出了公司首家推出了现场可编程门阵列器件现场可编程门阵列器件FPGAFPGA(Field (Field Programmable Gate Array)Programmable Gate Array),它是一种新型的,它是一种新型的高密度高密度PLDPLD,采用,采用CMOSSRAMCMOSSRAM工艺工艺制作,其制作,其结构和阵列型结构和阵列型PLDPLD不同不同,内部由许多独立的可

11、编程逻辑模块组,内部由许多独立的可编程逻辑模块组成,逻辑模块之间可以灵活地相互连接,成,逻辑模块之间可以灵活地相互连接,具有密度高、编程速度快、设计灵具有密度高、编程速度快、设计灵活和可再配置设计等许多优点。活和可再配置设计等许多优点。 2020世纪世纪8080年代末年代末,LatticeLattice公司提出公司提出在系统可编程在系统可编程ISPISP (In System (In System Programmable)Programmable)技术后,相继出现了一系列具备在系统可编程能力的技术后,相继出现了一系列具备在系统可编程能力的复杂可复杂可编程逻辑器件编程逻辑器件CPLD CPLD

12、 (Complex Programmable Logic Device)(Complex Programmable Logic Device),CPLDCPLD是在是在EPLDEPLD的基础上发展起来的,它采用的基础上发展起来的,它采用EECMOSEECMOS工艺工艺制作,增加了内部联线,改进了内制作,增加了内部联线,改进了内部结构体系,从而比部结构体系,从而比EPLDEPLD性能更好,设计更加灵活。性能更好,设计更加灵活。 不同厂家对可编程逻辑器件的叫法也不尽相同。不同厂家对可编程逻辑器件的叫法也不尽相同。XilinxXilinx公司公司把把基于查找基于查找表结构,表结构,SRAMSRAM工

13、艺,要外挂配置用的工艺,要外挂配置用的EEPROMEEPROM的可编程逻辑器件称为的可编程逻辑器件称为FPGAFPGA;把;把基于乘积项结构、基于乘积项结构、FlashFlash工艺工艺( (类似类似EEPROMEEPROM工艺工艺) )的可编程逻辑器件称为的可编程逻辑器件称为CPLDCPLD而而AlteraAltera公司公司把自己的可编程逻辑器件产品把自己的可编程逻辑器件产品MAXMAX系列系列( (乘积项技术,乘积项技术,EEPROMEEPROM工工艺艺) )、FLEXFLEX系列系列( (查找表技术,查找表技术,SRAMSRAM工艺工艺) )都叫做都叫做CPLDCPLD。可编程可编程P

14、LDPLD编程工艺编程工艺器件结构器件结构集成规模集成规模PROM熔丝编程熔丝编程乘积项阵列结构乘积项阵列结构LDPLDPLA熔丝编程熔丝编程乘积项阵列结构乘积项阵列结构LDPLDPAL熔丝编程熔丝编程乘积项阵列结构乘积项阵列结构LDPLDGALEEPROM编程编程乘积项阵列结构乘积项阵列结构LDPLDCPLDEEPROM编程编程乘积项阵列结构乘积项阵列结构HDPLDFPGASRAM编程编程查找表结构查找表结构HDPLD2.2 2.2 SPLDSPLD的基本结构与逻辑表示的基本结构与逻辑表示 阵列型阵列型CPLDCPLD是在是在PALPAL和和GALGAL基础上发展起来的,下面首先介绍简单基础

15、上发展起来的,下面首先介绍简单PLDPLD的基本结构的基本结构SPLDSPLD(Simple Programmable Logic DeviceSimple Programmable Logic Device)包括包括PROMPROM、PLAPLA、PALPAL和和GALGAL等。等。输出电路与阵列输入电路或阵列。输入输入输出输出输入项输入项乘积项乘积项或项或项 SPLD SPLD的基本结构如上图所示,由输入电路,与的基本结构如上图所示,由输入电路,与/ /或阵列及输出或阵列及输出/ /反馈电路几部分组成,反馈电路几部分组成, 各主要部分功能介绍如下:各主要部分功能介绍如下: 1 1 简单简单

16、PLDPLD的基本结构的基本结构输入电路输入电路:由输入缓冲器组成,它使输入信号具有足够的驱动能力,并:由输入缓冲器组成,它使输入信号具有足够的驱动能力,并产生互补输入信号(原变量产生互补输入信号(原变量/ /反变量)。反变量)。 与与/ /或阵列或阵列:是:是PLD PLD 的主体。与阵列由与门阵列组成,主要功能是进行输的主体。与阵列由与门阵列组成,主要功能是进行输入变量的与运算,产生乘积项;或阵列由或门阵列组成,主要功能是将与入变量的与运算,产生乘积项;或阵列由或门阵列组成,主要功能是将与阵列产生的乘积项有选择地进行或运算,形成与或项,有效地实现阵列产生的乘积项有选择地进行或运算,形成与或

17、项,有效地实现“积之积之和和”形式的组合逻辑函数。形式的组合逻辑函数。 输出输出/ /反馈电路反馈电路:输出电路可以提供不同的输出方式,如直接输出:输出电路可以提供不同的输出方式,如直接输出( (组合组合方式方式) )或通过寄存器输出或通过寄存器输出( (时序方式时序方式) )。主要由输出缓冲器(三态门)组成,。主要由输出缓冲器(三态门)组成,可以产生输出信号,并根据功能要求,通过三态门控制数据直接输出或反可以产生输出信号,并根据功能要求,通过三态门控制数据直接输出或反馈到输入端,提供反馈信息。馈到输入端,提供反馈信息。 众所周知,任何一个众所周知,任何一个组合逻辑组合逻辑函数均可转化为函数均

18、可转化为与或表达式与或表达式,即可用,即可用“与与或或”两级两级组合电路组合电路来实现,而任何一个来实现,而任何一个时序电路时序电路又都是由组合电又都是由组合电路加上存储反馈电路构成,因此,路加上存储反馈电路构成,因此,PLDPLD的这种结构方式对实现数字系统设的这种结构方式对实现数字系统设计具有普遍的意义。计具有普遍的意义。 PLD的互补缓冲器的互补缓冲器 PLD的互补输入的互补输入 PLD中与阵列表示中与阵列表示 PLD中或阵列表示中或阵列表示 阵列线连接表示阵列线连接表示 2 2 简单简单PLDPLD的逻辑表示的逻辑表示常用常用逻辑逻辑门符门符号与号与国标国标符号符号表示表示 因为因为P

19、LDPLD内部电路的连接规模很大,用传统的逻辑电路表示方法很难描述内部电路的连接规模很大,用传统的逻辑电路表示方法很难描述PLDPLD的内部结构,所以对的内部结构,所以对PLDPLD内各部分进行描述时采用了一些特殊的简化方法。内各部分进行描述时采用了一些特殊的简化方法。 若交叉处有若交叉处有“”,表示实体连接,是一个不可编程的固定连接;,表示实体连接,是一个不可编程的固定连接;若交叉处无标记,则表示行线与列线不连接若交叉处无标记,则表示行线与列线不连接( (或编程后被擦除或编程后被擦除) );若交叉处有若交叉处有“”,则表示编程连接,是一个可编程的单元,习惯上表示编程连,则表示编程连接,是一个

20、可编程的单元,习惯上表示编程连通。通。 (1 1)PLDPLD内部的连接点:内部的连接点:PLDPLD阵列中行线与列线相交点的连接可用下面阵列中行线与列线相交点的连接可用下面3 3种方式表示:种方式表示: 实际上,实际上,可编程的含义就是指在可编程的阵列区中留有一可编程的含义就是指在可编程的阵列区中留有一定的定的“连线区连线区”,可通过编程来确定其连线方式,可通过编程来确定其连线方式。采用。采用熔丝工熔丝工艺艺的的PLDPLD器件中,器件中,用户编程前用户编程前,所有可编程点处的熔丝都处于接,所有可编程点处的熔丝都处于接通状态,因此可编程点上处处都有通状态,因此可编程点上处处都有“”;用户编程

21、后用户编程后,可编,可编程点上的熔丝有的被保留(接通),有的被擦除(熔断),行程点上的熔丝有的被保留(接通),有的被擦除(熔断),行线与列线不再连接线与列线不再连接。 采用采用无实体熔丝无实体熔丝的的PLDPLD器件中,器件中, 编程后编程后有有“”的行线与的行线与列线交叉点等价于列线交叉点等价于CMOSCMOS管的导通,无管的导通,无“”的行线与列线交叉的行线与列线交叉点等价于点等价于CMOSCMOS管的截至。管的截至。 (2 2)输入、输出缓冲器:)输入、输出缓冲器: (3 3)与阵列、或阵列:)与阵列、或阵列:图图 (a)图图 (b) PLDPLD的输入、输出缓冲器是单输入、双输出的缓冲

22、单元,采用了互补输出结构,的输入、输出缓冲器是单输入、双输出的缓冲单元,采用了互补输出结构,一端是高有效输出,另一端是低有效输出,其表示法如下图所示。一端是高有效输出,另一端是低有效输出,其表示法如下图所示。 PLDPLD中的与门可用下图中的与门可用下图( (a)a)表示。图中与门的输入线通常画成行表示。图中与门的输入线通常画成行( (横横) )线,与门的所有线,与门的所有输入变量都称为输入项,用与行线垂直的列线表示与门的输入。与门输出称为乘积项输入变量都称为输入项,用与行线垂直的列线表示与门的输入。与门输出称为乘积项p p图图( (a)a)中与门输出中与门输出P PA AB BD D。类似地

23、,。类似地,PLDPLD中的或门可用下图中的或门可用下图( (b)b)表示。表示。 四种四种SPLDSPLD的结构组成基本一致,差别主要在于其与的结构组成基本一致,差别主要在于其与/ /或阵列的编程情况不同或阵列的编程情况不同, ,使得使得PROMPROM、PLAPLA、PALPAL和和GALGAL四种四种SPLDSPLD的功能、作用不尽相同,下表列出了四种的功能、作用不尽相同,下表列出了四种SPLDSPLD电路的结构持点。电路的结构持点。 2.3 2.3 四种简单四种简单PLDPLD简介简介 类型类型与阵列与阵列或阵列或阵列输出方式输出方式PROM(Programable ROM)固定固定可

24、编程可编程固定固定PLA(Programable Logic Array)可编程可编程可编程可编程固定固定PAL(Programable Array Logic)可编程可编程固定固定固定固定GAL (Generic Array Logic)可编程可编程固定固定可编程组态可编程组态与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0FPROM阵列图阵列图 与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F01110100AAFAAAAF PROM完成全加器功能完成全加器功能 与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0FPLA阵列图阵列图 PAL结结构构 P

25、ALPAL和和GALGAL的主要差别在于输出结构不同。的主要差别在于输出结构不同。PALPAL有几种固定的输出结构,选定芯有几种固定的输出结构,选定芯片型号后,其输出结构也就选定了。片型号后,其输出结构也就选定了。 例如,产品例如,产品PAL16L8PAL16L8属于组合型属于组合型PALPAL器件,其芯片中每一个输出端的结构如下器件,其芯片中每一个输出端的结构如下图所示。图所示。 图中或门的输出最多可以包含图中或门的输出最多可以包含7 7个乘积项,最上面的与门所对应的乘积项用来个乘积项,最上面的与门所对应的乘积项用来控制三态门的输出。控制三态门的输出。 当与门输出为当与门输出为“0”“0”时

26、,三态门禁止,输出呈高阻状态,时,三态门禁止,输出呈高阻状态,I/OI/O引脚作为输入使用;引脚作为输入使用; 当与门输出为当与门输出为“l”l”时,三态门被选通,时,三态门被选通,I/OI/O引脚作为输出使用。引脚作为输出使用。 图中只画出了其中一个输出,图中只画出了其中一个输出,PAL16L8PAL16L8有有8 8个这样的输出端。个这样的输出端。 由于由于8 8个输出相对独立,互不牵扯,输出的时间也可能不一致,因此称为个输出相对独立,互不牵扯,输出的时间也可能不一致,因此称为“异步异步 I/OI/O输出结构输出结构”。 又如,产品又如,产品PAL16R8PAL16R8属于寄存器型属于寄存

27、器型PALPAL器件器件( (R R代表代表Register)Register), 其芯片中每个输出结构如下图所示其芯片中每个输出结构如下图所示. . PALPAL器件除了上述两种输出结构外,还有专用组合输出、异或输出和器件除了上述两种输出结构外,还有专用组合输出、异或输出和算术选通反馈输出结构,共有算术选通反馈输出结构,共有2020多种不同的型号,给使用生产带来不便。多种不同的型号,给使用生产带来不便。 当系统时钟当系统时钟( (CK)CK)的上升沿来到后,或门的输出被存入的上升沿来到后,或门的输出被存入D D触发器,然后触发器,然后通过选通三态缓冲器再将它送至输出端。同时,通过选通三态缓冲

28、器再将它送至输出端。同时,D D触发器的输出触发器的输出QQ 还可还可以反馈至与门阵列,完成记忆功能,从而实现时序逻辑功能。因此,以反馈至与门阵列,完成记忆功能,从而实现时序逻辑功能。因此,称为称为“寄存器输出结构寄存器输出结构”。输出逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V8结结构构示示意意图图 GALGAL和和PALPAL最大的差别在于最大的差别在于GALGAL有一种灵活的、可编程的有一种灵活的、可编程的输出结构,它只有几种基本型号,却可以代替数十种输出结构,它只有几种基本型号,却可以代替数十种PALPAL器器件,因而称为通用可编程逻辑器件。件,因

29、而称为通用可编程逻辑器件。 GALGAL的可编程输出结构称为的可编程输出结构称为输出逻辑宏单元输出逻辑宏单元 OLMCOLMC( (O Output utput L Logic ogic M Macro acro C Cell)ell)GAL 的的 OLMCS1S200时,低电平有效寄存器输出;时,低电平有效寄存器输出;S1S201时,高电平有效寄存器输出;时,高电平有效寄存器输出;S1S210时,低电平有效组合时,低电平有效组合IO输出;输出;S1S211时,高电平有效组合时,高电平有效组合IO输出。输出。 OLMCOLMC中包含或门阵列、中包含或门阵列、D D触发器、触发器、以及两个数据选

30、择器以及两个数据选择器( (MUX)MUX)。 其中其中4 4选选1 1MUXMUX用来选择输出方式用来选择输出方式和输出极性;和输出极性;2 2选选1 1MUXMUX用来选择反馈用来选择反馈信号信号( (寄存器寄存器/ /组合反馈组合反馈) )。 可编程特征码可编程特征码S1S1、S2S2则控制着则控制着数据选择器的工作状态。数据选择器的工作状态。 PALPAL和和GALGAL器件与器件与SSISSI、MSIMSI标准产品相比,有许多突出的优点:标准产品相比,有许多突出的优点: 提高了功能密度,节省了空间,通常一片提高了功能密度,节省了空间,通常一片PALPAL或或GALGAL可以代替可以代

31、替4 4一一1212片片SSISSI或或2424片片MSIMSI; 使用方便,设计灵活,具有上电复位功能和加密功能,可以防止使用方便,设计灵活,具有上电复位功能和加密功能,可以防止非法复制等。因而,这两种产品在早期得到了广泛应用。非法复制等。因而,这两种产品在早期得到了广泛应用。 但但PALPAL器件器件有许多缺陷,主要是有许多缺陷,主要是PALPAL采用的是采用的是PROMPROM编程工艺,只能编程工艺,只能一次性编程,而且由于输出方式是固定的,不能重新组态,因而编程一次性编程,而且由于输出方式是固定的,不能重新组态,因而编程灵活性较差。灵活性较差。 GALGAL器件器件的每个宏单元的每个宏

32、单元OLMCOLMC均可根据需要任意组态,所以它的通用性好,均可根据需要任意组态,所以它的通用性好,比比PALPAL使用更加灵活,而且使用更加灵活,而且GALGAL器件采用了器件采用了E2COMSE2COMS工艺结构,可以重复编程,工艺结构,可以重复编程,通常可以擦写百次以上,甚至上千次,因而通常可以擦写百次以上,甚至上千次,因而GALGAL比比PALPAL应用更为广泛。应用更为广泛。 PALPAL、 GALGAL器件共同的缺陷是编程时需要专门的编程器下载数据。器件共同的缺陷是编程时需要专门的编程器下载数据。 在此基础上发展起来的阵列型高密度复杂可编程器件在此基础上发展起来的阵列型高密度复杂可

33、编程器件CPLDCPLD弥补了上述缺陷。弥补了上述缺陷。可编程可编程PLDPLD编程工艺编程工艺器件结构器件结构集成规模集成规模PROM熔丝编程熔丝编程乘积项阵列结构乘积项阵列结构LDPLDPLA熔丝编程熔丝编程乘积项阵列结构乘积项阵列结构LDPLDPAL熔丝编程熔丝编程乘积项阵列结构乘积项阵列结构LDPLDGALEEPROM编程编程乘积项阵列结构乘积项阵列结构LDPLDCPLDEEPROM编程编程乘积项阵列结构乘积项阵列结构HDPLDFPGASRAM编程编程查找表结构查找表结构HDPLD2.4 2.4 CPLDCPLD基本结构基本结构 CPLD (Complex Programmable L

34、ogic Device) 意为复杂可编程意为复杂可编程逻辑器件,是从逻辑器件,是从PAL、GAL基础上发展起来的阵列型高密度基础上发展起来的阵列型高密度PLD器件,它们器件,它们大多采用了大多采用了CMOS EPROM、E2PROM和快闪存储器等编程技术,因而具有和快闪存储器等编程技术,因而具有高密度、高速度和低功耗等持点。高密度、高速度和低功耗等持点。 目前主要的半导体器件公司,如目前主要的半导体器件公司,如XilinxXilinx、AlteraAltera、LatticeLattice和和AMDAMD公司等公司等, ,在各自生产的高密度在各自生产的高密度PLDPLD产品中,都有自己的持点,

35、但总体结构大致相同。产品中,都有自己的持点,但总体结构大致相同。 大多数的大多数的CPLDCPLD器件都包含了三种基本结构:器件都包含了三种基本结构: 可编程的逻辑宏单元可编程的逻辑宏单元;可编程的可编程的I/OI/O单元单元和和可编程的内部连线区可编程的内部连线区。 逻辑宏单元逻辑宏单元内部主要包括内部主要包括与与/ /或阵列或阵列、可编程触发器可编程触发器和和多路选择器多路选择器等等电路,能独立地配置为时序或组合工作方式。电路,能独立地配置为时序或组合工作方式。CPLDCPLD的许多优点都反映在其的许多优点都反映在其内部可编程的逻辑宏单元的特殊结构上:内部可编程的逻辑宏单元的特殊结构上:1

36、 1可编程逻辑宏单元可编程逻辑宏单元 一般一般GALGAL器件只能实现同步时序电路,在器件只能实现同步时序电路,在CPLDCPLD器件中各触发器的时钟可以异器件中各触发器的时钟可以异步工作,有些器件中触发器的时钟还可以通过数据选择器或时钟网络进行选择步工作,有些器件中触发器的时钟还可以通过数据选择器或时钟网络进行选择, ,因而使用更加灵活。因而使用更加灵活。 多触发器结构和多触发器结构和“隐埋隐埋”触发器结构触发器结构 乘积项共享结构乘积项共享结构 异步时钟和时钟选择异步时钟和时钟选择 GALGAL器件每个输出宏单元中只有一个触发器,而器件每个输出宏单元中只有一个触发器,而CPLDCPLD的宏

37、单元内通常含的宏单元内通常含两个或两个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的两个或两个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的输出不与输出端相连,但可以通过相应的缓冲电路反馈到与阵列,从而与其它输出不与输出端相连,但可以通过相应的缓冲电路反馈到与阵列,从而与其它触发器一起构成较复杂的时序电路。这些不与输出端相连的触发器就称为触发器一起构成较复杂的时序电路。这些不与输出端相连的触发器就称为“隐隐埋埋”触发器。这种结构对于引脚数有限的触发器。这种结构对于引脚数有限的CPLDCPLD器件来说,可以增加触发器数目器件来说,可以增加触发器数目即增加其内部资源。即增加

38、其内部资源。 在在PALPAL和和GALGAL的与或阵列中,每个或门的输入乘积项最多为的与或阵列中,每个或门的输入乘积项最多为7 7个或个或8 8个,在个,在CPLDCPLD的宏单元中,如果输出表达式的与项较多,对应的或门输入端不够用时,可以借的宏单元中,如果输出表达式的与项较多,对应的或门输入端不够用时,可以借助可编程开关将同一单元助可编程开关将同一单元( (或其它单元或其它单元) )中的其它或门与之联合起来使用,或者在中的其它或门与之联合起来使用,或者在每个宏单元中提供末使用的乘积项供其它宏单元使用和共享。乘积项共享结构提每个宏单元中提供末使用的乘积项供其它宏单元使用和共享。乘积项共享结构

39、提高了资源利用率高了资源利用率( (多达多达3232个乘积项个乘积项) ),以实现快速复杂的逻辑函数。,以实现快速复杂的逻辑函数。MAX7000系列单个宏单元结构系列单个宏单元结构来自其它来自其它宏单元宏单元的乘积项的乘积项来自本宏单元来自本宏单元的乘积项的乘积项时钟选择时钟选择可编程的可编程的内部连线内部连线阵列阵列 例如:例如:Lattice ispLSI10l6Lattice ispLSI10l6的的IOCIOC结构图,结构图,由三态输出缓冲器、输入缓冲器、输入寄存器由三态输出缓冲器、输入缓冲器、输入寄存器/ /锁存器和几个锁存器和几个可编程的数据选择器组成。可编程的数据选择器组成。 根

40、据数据选择器编程状态的不同组合,可得到各种可能根据数据选择器编程状态的不同组合,可得到各种可能的的IOCIOC组态形式。组态形式。 2 2可编程可编程I/OI/O单元单元 输入输入/ /输出单元,简称输出单元,简称I/OI/O单元单元( (或或IOC)IOC),它是内部信号到,它是内部信号到I/OI/O引脚的引脚的接口部分。由于阵列型高密度接口部分。由于阵列型高密度PLDPLD通常只有少数几个专用输入端,大部分通常只有少数几个专用输入端,大部分端口均为用户自定义端口均为用户自定义I/OI/O端端, ,而且系统的输入信号常常需要锁存,因此而且系统的输入信号常常需要锁存,因此I/OI/O常作为一个

41、独立单元来处理。常作为一个独立单元来处理。Lattice公司公司 ispLSI10l6的的IOC结构结构D触发器有两种工作触发器有两种工作方式:当方式:当R/L为高电为高电平时,它被设置成边平时,它被设置成边沿触发器;而当沿触发器;而当R/L为低电平时,它被设为低电平时,它被设置成锁存器。置成锁存器。MUX1用于控制用于控制三态输出缓冲器三态输出缓冲器的工作状态的工作状态MUX4用于用于异步异步/同步同步输入方式输入方式的选择的选择MUX2用于用于输出通道选择输出通道选择MUX3用于用于输出极性选择输出极性选择MUX5用于用于时钟源选择时钟源选择MUX6用于用于时钟极性选择时钟极性选择各种可能

42、的各种可能的IOC组态组态 可编程连线阵列可编程连线阵列(Programmable Interconnect Array )的作用是在各逻辑宏的作用是在各逻辑宏单元之间以及逻辑宏单元和单元之间以及逻辑宏单元和I/OI/O单元之间提供互连网络,通过可编程连线阵列单元之间提供互连网络,通过可编程连线阵列可以接收来自专用输入端的信号。可以接收来自专用输入端的信号。 3 3可编程连线阵列可编程连线阵列Logic Array Block可编程连线阵列可编程连线阵列2.5 2.5 FPGAFPGA基本结构基本结构 FPGA (Field Programmable Gate Array) FPGA (Fie

43、ld Programmable Gate Array) 意为现场可编程门阵列意为现场可编程门阵列,是,是2020世纪世纪8080年代中期出现的高密度可编程逻辑器件。与前面所介绍的阵列型可年代中期出现的高密度可编程逻辑器件。与前面所介绍的阵列型可编程逻辑器件有所不同,它由许多编程逻辑器件有所不同,它由许多独立的可编程逻辑模块独立的可编程逻辑模块组成,用户可以通组成,用户可以通过编程将这些模块连接起来实现不同的设计。过编程将这些模块连接起来实现不同的设计。 CycloneCyclone系列系列器件的基器件的基本可编程资源是本可编程资源是逻辑阵列逻辑阵列块块LABLAB(Logic Array Bl

44、ock)(Logic Array Block)而每个而每个LABLAB由由1010个个逻辑单元逻辑单元LELE(Logic Element)(Logic Element)构成。构成。LELE是是CycloneCyclone系列系列FPGAFPGA器件器件中的最小可编程单位,而中的最小可编程单位,而每个每个LELE中又包含有一个中又包含有一个4 4输输入的查找表入的查找表LUTLUT、一个、一个可编可编程的寄存器程的寄存器以及以及进位进位/ /级连级连链链逻辑等单元电路。逻辑等单元电路。 0000010100000101161RAM输入A输入B输入C输入D查找表输出多路选择器查找表单元内部结构查

45、找表单元内部结构查找表LUT输入1输入2输入3输入4输出CycloneCyclone系列器件的系列器件的LELE结构结构2.6 2.6 CPLDCPLD与与FPGAFPGA的比较的比较1 1 结构比较结构比较 CPLDCPLD的逻辑单元由与的逻辑单元由与/ /或阵列和可配置的输出宏单元组成,其输入变量数通常有或阵列和可配置的输出宏单元组成,其输入变量数通常有2020多个,采用多个,采用类似类似GALGAL的结构。由于单元功能强大,一般逻辑在单元内均可实现,且互连关系简单。缺点是同样的结构。由于单元功能强大,一般逻辑在单元内均可实现,且互连关系简单。缺点是同样集成规模的芯片中触发器数量不多,可用

46、于开发的片内集成规模的芯片中触发器数量不多,可用于开发的片内ROM/RAMROM/RAM资源较少。因此资源较少。因此CPLDCPLD较适合组合、较适合组合、逻辑型系统,该类系统逻辑相对复杂,输入变量多,对触发器的需求量相对较少。逻辑型系统,该类系统逻辑相对复杂,输入变量多,对触发器的需求量相对较少。 而而小单元的小单元的FPGAFPGA采用基于采用基于SRAMSRAM形式的查找表结构。这种工艺结构占用芯片面积小,速度高形式的查找表结构。这种工艺结构占用芯片面积小,速度高(1-(1-2ns),2ns),但逻辑功能较弱但逻辑功能较弱, ,因此因此FPGAFPGA较适合数据、时序型系统,该类系统所需

47、的触发器数多,逻辑相较适合数据、时序型系统,该类系统所需的触发器数多,逻辑相对简单。对简单。2 2 互连比较互连比较 CPLDCPLD因为单元大、功能强,使用的是集总总线,所以其特点是任意一对输入端与输出端之间因为单元大、功能强,使用的是集总总线,所以其特点是任意一对输入端与输出端之间的延时相等,且是可预测的。的延时相等,且是可预测的。 FPGAFPGA因为单元小、互连关系复杂,所以使用的互连方式较多,有分段总线、长线、直接互连因为单元小、互连关系复杂,所以使用的互连方式较多,有分段总线、长线、直接互连等等。对等等。对FPGAFPGA而言,实现同一个功能可能有不同的连线方案,也就是说其延时是不

48、确定的。而言,实现同一个功能可能有不同的连线方案,也就是说其延时是不确定的。 CPLDCPLD与与FPGAFPGA都是由都是由逻辑单元、逻辑单元、I/OI/O单元和互连单元单元和互连单元三部分组成的。三部分组成的。I/OI/O单元单元功能基本一致,功能基本一致,逻辑单元逻辑单元和和互连单元互连单元的结构及编程工艺则有所不同,由此带来这两种器件性能及应用上的一些的结构及编程工艺则有所不同,由此带来这两种器件性能及应用上的一些差别。可差别。可从从逻辑结构逻辑结构及及互连关系互连关系两方面将两方面将CPLDCPLD与与FPGAFPGA作个比较作个比较:FPGAFPGA与与CPLDCPLD结构特点结构

49、特点连续式互连连续式互连结构结构分段式互连分段式互连结构结构 采用连续式快速通道互连采用连续式快速通道互连Fast Track结构的结构的CPLD器件器件采用分段式查找表采用分段式查找表LUT互连结构的互连结构的FPGA器件器件 FPGA vs CPLDn集成度集成度 FPGAFPGA可以达到比可以达到比 CPLDCPLD更高的集成度更高的集成度 , ,同时也具有同时也具有更复杂的布线结构和逻辑实现。更复杂的布线结构和逻辑实现。n应用场合应用场合 FPGAFPGA更适合于更适合于触发器丰富触发器丰富的时序系统结构的时序系统结构 , ,而而 CPLDCPLD更适合于触发器有限而更适合于触发器有限而乘积项丰富乘积项丰富的组合系统结构的组合系统结构 FPGA vs CPLDn功率消耗功率消耗 CPLDCPLD的缺点比较突出。一般情况下的缺点比较突出。一般情况下 , ,CPLDCPLD功耗要功耗要比比 FPGAFPGA大大 , ,且集成度越高越明显。且集成度越高越明显。n 编程速度编程速度 CPLDCPLD优于优于 FPGAFPGA。 FPGAFPGA是是门级编程门级编程 , ,且且 CLBC

温馨提示

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

评论

0/150

提交评论