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

下载本文档

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

文档简介

1、第第 三三 章章CPLD/FPGACPLD/FPGA简介简介CPLD/FPGA CPLD/FPGA 的主要特点的主要特点n CPLD/FPGACPLD/FPGA是一种半定制的是一种半定制的ASICASIC,属,属LSILSI或或VLSIVLSI逻辑器件逻辑器件; ; 其主要特性是:其主要特性是:1 1、采用、采用LSI/VLSILSI/VLSI技术制造,高集成度(最高已达千万门级);技术制造,高集成度(最高已达千万门级);2 2、支持各种组合逻辑和时序逻辑电路设计,、支持各种组合逻辑和时序逻辑电路设计,甚至实现甚至实现“片上系统片上系统” (SOCSOC);); 3 3、可编程改变芯片的逻辑功

2、能,芯片可重复使用,具有、可编程改变芯片的逻辑功能,芯片可重复使用,具有ISPISP或或ICRICR特特性。(性。(ISPISP:In System Programming,In System Programming,在系统编程在系统编程) ) (ICRICR:In Circuit Reconfigable,In Circuit Reconfigable,在电路重构)在电路重构)3 3、有很高的逻辑布线能力,可以预测信号延迟,便于使用计算机进、有很高的逻辑布线能力,可以预测信号延迟,便于使用计算机进行逻辑功能仿真与时序仿真。行逻辑功能仿真与时序仿真。4 4、有良好的设计加密功能,便于保护知识产

3、权(、有良好的设计加密功能,便于保护知识产权(IPIP)。)。5 5、有强大的、有强大的EDAEDA开发工具开发工具( (软件软件) )支持,与支持,与ASICASIC设计相比,易学易用。设计相比,易学易用。6 6、研制、开发时间较短,费用相对少。、研制、开发时间较短,费用相对少。7 7、必须借助、必须借助CPLDCPLD开发系统,才能设计、开发开发系统,才能设计、开发CPLDCPLD/FPGA/FPGA系统。系统。CPLD/FPGA CPLD/FPGA 与与 SPLDSPLDn一般认为,复杂可编程逻辑器件一般认为,复杂可编程逻辑器件CPLD/FPGACPLD/FPGA的单片集成度大于的单片集

4、成度大于10001000门门, ,而简单可编程逻辑而简单可编程逻辑器件器件SPLDSPLD(Simple Programable Logic Simple Programable Logic DeviceDevice)的单片集成度小于的单片集成度小于10001000门。门。n目前目前FPGAFPGA的单片集成度已超过的单片集成度已超过1 1千万门,达千万门,达到到IntelIntel公司最新奔腾公司最新奔腾 CPU CPU的集成度。可以的集成度。可以在这种高集成度的在这种高集成度的FPGAFPGA芯片上设计芯片上设计CPU/DSP,CPU/DSP,实实现现SOPCSOPC。nGAL/PALGA

5、L/PAL芯片属于芯片属于SPLDSPLD,但目前它们已较少,但目前它们已较少使用。使用。ALTERAALTERA公司的新一代千万门级的公司的新一代千万门级的可编程逻辑器件可编程逻辑器件StratixStratix 该系列芯片采用该系列芯片采用1.5v1.5v内核,内核,0.130.13微米全铜工艺。微米全铜工艺。 开发系统是开发系统是QuartusII 2.0QuartusII 2.0版本。版本。 该系列中型号为该系列中型号为EP1S120EP1S120的的芯片,内含芯片,内含114,140 114,140 个个LELE(约(约1.1M1.1M个门电路),个门电路),芯片中包含的元件数量芯片

6、中包含的元件数量已超过已超过10M10M个。个。ALTERAALTERA的新一代低成本高密度的新一代低成本高密度FPGAFPGA:CycloneCyclone(飓风)(飓风)该该FPGAFPGA芯片集成度达芯片集成度达330330万门,万门,可用于可用于SOPCSOPC设计设计一块一块SOPCSOPC板板一块一块SOPCSOPC板的应用:用作电视解码器板的应用:用作电视解码器n经过了最近经过了最近2020年的发展,许多年的发展,许多ICIC设计公司都设计公司都开发出了开发出了CPLD/FPGACPLD/FPGA。nAltera Altera 公司的公司的 CPLD CPLD 系列和系列和Xil

7、inx Xilinx 公司的公司的 FPGA FPGA 系列,全球知名度高、应用面广,开发系系列,全球知名度高、应用面广,开发系统成熟,占据了世界统成熟,占据了世界PLDPLD市场的较大分额。市场的较大分额。n全球全球CPLD/FPGACPLD/FPGA产品产品60%60%以上是由以上是由AlteraAltera和和XilinxXilinx提供的。可以讲提供的。可以讲AlteraAltera和和XilinxXilinx共同决共同决定了定了CPLDCPLD技术的发展方向。技术的发展方向。CPLD/FPGACPLD/FPGA的叫法的叫法n 不同的厂家,对自己生产的可编程逻辑器件叫法不尽相同。不同的

8、厂家,对自己生产的可编程逻辑器件叫法不尽相同。n PLD(Programmable Logic Device)PLD(Programmable Logic Device)是可编程逻辑器件的总是可编程逻辑器件的总称。称。 PALPAL、GALGAL等是早期等是早期的的SPLDSPLD芯片。芯片。 n FPGA FPGA (Field Programmable Gate Arry(Field Programmable Gate Arry,现场可编程门阵,现场可编程门阵列列) )是是XilinxXilinx公司发明的。公司发明的。XilinxXilinx公司把基于查找表技术公司把基于查找表技术、SR

9、AMSRAM存储工艺的可编程逻辑器件叫存储工艺的可编程逻辑器件叫FPGAFPGA;把基于乘积项;把基于乘积项技术、技术、 E E2 2PROMPROM(或(或Flash MEMFlash MEM)存储工艺的可编程逻辑器)存储工艺的可编程逻辑器件叫件叫CPLDCPLD; n AlteraAltera公司把自己生产的可编程逻辑器件都叫作公司把自己生产的可编程逻辑器件都叫作CPLD,CPLD,即即复杂复杂PLD(Complex PLD),PLD(Complex PLD),但分为但分为 MAXMAX系列系列CPLDCPLD(乘积项技(乘积项技术、术、E E2 2PROMPROM存储工艺)和存储工艺)和

10、FLEX/ACEX/APEXFLEX/ACEX/APEX系列系列CPLDCPLD(查找(查找表技术、表技术、SRAMSRAM存储工艺)。存储工艺)。n 由于由于FLEXFLEX等系列是基于查找表技术、采用等系列是基于查找表技术、采用SRAMSRAM存储工艺的存储工艺的器件,其使用方法和器件,其使用方法和XilinxXilinx的的FPGAFPGA一样,所以人们也把一样,所以人们也把FLEX/ACEX/APEXFLEX/ACEX/APEX系列的系列的CPLDCPLD产品叫做产品叫做FPGAFPGA。如何使用如何使用CPLD/FPGACPLD/FPGA ?n 开发、使用开发、使用CPLDCPLD需

11、要掌握三部分的知识:需要掌握三部分的知识: 1 1、熟悉、了解、熟悉、了解CPLD/FPGACPLD/FPGA芯片;芯片; 2 2、掌握、掌握CPLD/FPGACPLD/FPGA开发系统(软件);开发系统(软件); 3 3、能对、能对CPLD/FPGACPLD/FPGA芯片进行编程配置(加载设计代码)。芯片进行编程配置(加载设计代码)。n 由于由于CPLD/FPGACPLD/FPGA开发系统已发展得相当完善,用户甚至可以不用详开发系统已发展得相当完善,用户甚至可以不用详细了解细了解CPLD/FPGACPLD/FPGA的内部结构,就可以用自己熟悉的方法(如原理的内部结构,就可以用自己熟悉的方法(

12、如原理图输入法图输入法/HDL/HDL语言输入法语言输入法/ /波形输入法波形输入法) )来完成要求的来完成要求的CPLD /FPGACPLD /FPGA设设计。计。n 但是若要很好的掌握但是若要很好的掌握CPLD/FPGACPLD/FPGA设计与应用技术,懂得必要的设计与应用技术,懂得必要的CPLD/FPGACPLD/FPGA结构组成、特性参数与基本工作原理还是必要的。另外结构组成、特性参数与基本工作原理还是必要的。另外,能熟练操作、使用一种,能熟练操作、使用一种CPLD /FPGACPLD /FPGA开发系统、至少掌握一种开发系统、至少掌握一种HDLHDL语言也是必要的,这将有助于提高设计

13、的效率和可行性。语言也是必要的,这将有助于提高设计的效率和可行性。 n 目前主要的目前主要的CPLD/FPGACPLD/FPGA生产商都提供适合自己产品开发、应用的生产商都提供适合自己产品开发、应用的EDAEDA开发软件。也有许多第三方开发软件。也有许多第三方EDAEDA软件公司提供软件公司提供CPLD/FPGACPLD/FPGA开发系统,开发系统,且性能优良。如且性能优良。如CANDENCECANDENCE公司的公司的SPWSPW系统、系统、 AltecAltec公司的公司的Active Active CADCAD系统。系统。CPLD/FPGACPLD/FPGA设计流程设计流程用户输入用户输

14、入开发系统利开发系统利用计算机进用计算机进行处理行处理用户测试用户测试主要的CPLD/FPGACPLD/FPGA生产厂商n目前世界上有多家公司生产目前世界上有多家公司生产CPLD/FPGACPLD/FPGA,主要,主要的的CPLD/FPGACPLD/FPGA生产厂商有:生产厂商有: 1 1、Altera Altera 公司公司,主要的,主要的CPLDCPLD生产厂商生产厂商2 2、Xilinx Xilinx 公司公司,主要的,主要的FPGAFPGA生产厂商生产厂商3 3、LatticeLattice公司,著名的公司,著名的CPLDCPLD生产厂商生产厂商4 4、ACTELACTEL公司,公司,

15、 著名的著名的CPLDCPLD生产厂商生产厂商5 5、CypressCypress公司,著名的公司,著名的CPLDCPLD生产厂商生产厂商6 6、AtemalAtemal公司,公司,著名的著名的I IC/MCUC/MCU公司公司, ,也设计生产也设计生产PLDPLD产品产品. .7 7、LuccentLuccent公司,公司,著名的通讯企业,也设计生产著名的通讯企业,也设计生产PLDPLD产品产品. .国外主要的国外主要的CPLD/FPGACPLD/FPGA开发系统有:开发系统有:n Altera: MAX+PlusIIAltera: MAX+PlusII、QuartusIIQuartusII

16、 n Xilinx: FoundationXilinx: Foundation、ISEISE、AllianceAlliancen Lattice: SynarioLattice: Synario、ispDesignEXPERTispDesignEXPERT、VantisVantisn Altec: Altec: Active CADActive CADn CPRESS WRAPCPRESS WRAPn OrCAD: OrCAD/2000OrCAD: OrCAD/2000CPLD/FPGACPLD/FPGA的结构分类的结构分类n 对于对于CPLDCPLD产品,产品,按结构一般可分为按结构一般可分

17、为:基于乘积项(:基于乘积项(Product-TermProduct-Term)技术、)技术、EEPROMEEPROM(或(或Flash MemoryFlash Memory)存储工艺的存储工艺的CPLDCPLD,和基于查找表(,和基于查找表(Look-Up tableLook-Up table)技术、技术、SRAMSRAM存储工艺的存储工艺的FPGAFPGA。n 基于基于EEPROMEEPROM存储工艺的存储工艺的CPLDCPLD集成度相对小一点,多集成度相对小一点,多用于用于2 2万门规模以下的设计,万门规模以下的设计,适合实现适合实现较复杂的较复杂的组合组合逻辑逻辑,如编、译码设计。,如

18、编、译码设计。n 基于基于SRAMSRAM工艺的工艺的FPGAFPGA,集成度较高,内部触发器多,集成度较高,内部触发器多,多用于,多用于1 1万门以上的大规模系统设计,适合做复杂万门以上的大规模系统设计,适合做复杂的时序逻辑设计,如数字信号处理和各种算法。的时序逻辑设计,如数字信号处理和各种算法。n 已有基于已有基于FPGAFPGA的的SOPCSOPC器件问世,并得到广泛关注。器件问世,并得到广泛关注。n 采用这种结构的采用这种结构的PLDPLD芯片有:芯片有: Altera Altera的的MAX7000,MAX9000,MAX3000MAX7000,MAX9000,MAX3000系列系列

19、 (E E2 2PROMPROM工艺)工艺),Xilinx,Xilinx的的XC9500XC9500系列(系列(FlashFlash工艺)和工艺)和Lattice,CypressLattice,Cypress的大部分产品的大部分产品 (E E2 2PROM/ FlashPROM/ Flash工艺)工艺)n 这种这种CPLDCPLD的基本结构如下所示的基本结构如下所示: : (以(以MAX7000MAX7000结构组成为例,其他型号结构组成为例,其他型号CPLDCPLD的的结构与此非常相似)。结构与此非常相似)。基于乘积项(基于乘积项(Product-Term)Product-Term)的的CP

20、LDCPLD结构结构CPLDCPLD内部结构(内部结构(AlteraAltera的的MAX7000SMAX7000S系列)系列)逻辑阵列块中包含多个宏单元逻辑阵列块中包含多个宏单元逻辑阵列块逻辑阵列块(LAB)可编程可编程I/OI/O控制块控制块可编程可编程连线资源连线资源逻辑宏单元的基本结构逻辑宏单元的基本结构n逻辑宏单元逻辑宏单元是是 PLD PLD 的基本结构,由它来实的基本结构,由它来实现基本的逻辑功能。一般现基本的逻辑功能。一般8 8个个逻辑宏单元逻辑宏单元构构成一个成一个逻辑阵列块逻辑阵列块LABLAB。n上图中的兰色部分就是上图中的兰色部分就是LABLAB。n可编程连线可编程连线

21、PIAPIA负责信号传递,连接所有的负责信号传递,连接所有的逻辑宏单元。逻辑宏单元。 nI/O I/O 控制块控制块(IOB)(IOB)负责输入输出引脚的电气负责输入输出引脚的电气特性控制,比如可以设定集电极开路输出,特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。摆率控制,三态输出等。 n逻辑宏单元的具体结构见下图:逻辑宏单元的具体结构见下图:宏单元的内部结构宏单元的内部结构乘积项逻辑阵列乘积项选择矩阵可编程触发器n上图的左侧是乘积项阵列,实际就是一个与阵上图的左侧是乘积项阵列,实际就是一个与阵列,每个交叉点都是一个可编程点。通过列,每个交叉点都是一个可编程点。通过“与与阵列阵列

22、”产生乘积项(最小项)。后面的或门把产生乘积项(最小项)。后面的或门把按要求产生的乘积项按要求产生的乘积项“加加”起来,得到需要的起来,得到需要的输出组合逻辑函数。输出组合逻辑函数。n图右侧是一个可编程图右侧是一个可编程D D触发器,它的时钟,清触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局零输入都可以编程选择,可以使用专用的全局清零和全局时钟。清零和全局时钟。n图中的异或门用来控制组合逻辑函数的极性。图中的异或门用来控制组合逻辑函数的极性。n由图可见,由图可见,CPLDCPLD的宏单元(也可称为逻辑单元的宏单元(也可称为逻辑单元LELE)与)与GALGAL的的OLMCOLMC结

23、构非常类似。结构非常类似。开发系统对开发系统对MAX7064SLABMAX7064SLAB的描述的描述可编程的可编程的I/OI/O控制块控制块n 使引脚能兼容使引脚能兼容TTLTTL和和CMOSCMOS多种接口和电压标准;多种接口和电压标准;n 可将引脚配置为输入、输出、双向、集电极开路和可将引脚配置为输入、输出、双向、集电极开路和三态等形式;三态等形式;n 能提供适当的驱动电流;能提供适当的驱动电流;n 降低引脚接口功耗,防止脉冲过冲和减少电源噪声降低引脚接口功耗,防止脉冲过冲和减少电源噪声n 支持多种接口电压(降低芯片功耗)支持多种接口电压(降低芯片功耗)1.21.20.5um,5V0.5

24、um,5V0.35um,3.3V0.35um,3.3V0.25um,internal 2.5V,I/O3.3V0.25um,internal 2.5V,I/O3.3V0.18um,internal 1.8V,I/O2.5V and 3.3V0.18um,internal 1.8V,I/O2.5V and 3.3V可编程连线阵列可编程连线阵列PIAPIAn在各个逻辑宏单元之间以及逻辑宏单元与在各个逻辑宏单元之间以及逻辑宏单元与I/OI/O单元之间提供可编程的信号连接网络;单元之间提供可编程的信号连接网络;nCPLDCPLD中一般采用固定长度的线段来进行连接中一般采用固定长度的线段来进行连接,因此

25、信号传输的延时是固定的,使得信号,因此信号传输的延时是固定的,使得信号传输时时间延时能够预测。传输时时间延时能够预测。FPGAFPGA的结构与工作原理的结构与工作原理nFPGAFPGA都采用查找表都采用查找表(Look-Up-Table,LUT)(Look-Up-Table,LUT)来实现逻辑函数。来实现逻辑函数。如如AlteraAltera的的FLEX/ACEXFLEX/ACEX/APEX/APEX系列器件和系列器件和 Xilinx Xilinx的多数器件。的多数器件。n FPGA FPGA的编程配置元的编程配置元件都是件都是SRAMSRAM。n 由于由于SRAMSRAM较易制造较易制造,且

26、其可重复编程使,且其可重复编程使用的次数几乎无限,用的次数几乎无限,所以目前高集成度的所以目前高集成度的可编程逻辑器件几乎可编程逻辑器件几乎都是都是FPGAFPGA。FPGAFPGA基本结构组成图基本结构组成图n FPGAFPGA的内部结构的内部结构称为称为LCALCA(Logic Logic Cell ArrayCell Array),由),由三个基本部分组成三个基本部分组成1 1、可编程逻辑块、可编程逻辑块 (CLBCLB)2 2、可编程输入输、可编程输入输 出块(出块(IOBIOB)3 3、可编程连线资、可编程连线资 源(源(PIRPIR)nCLBCLB中包含中包含1 1个或个或2 2个

27、逻辑单元(个逻辑单元(LELE)CLBCLB包含包含1 1个或个或2 2个逻辑单元个逻辑单元IOB可编程连线可编程连线资源(资源(PIRPIR)FPGAFPGA的基本组成的基本组成n 可编程逻辑块可编程逻辑块CLBCLB组成了组成了FPGAFPGA的核心门阵列的核心门阵列,能完成用户指定,能完成用户指定的逻辑功能;每个的逻辑功能;每个CLBCLB中包含中包含1 1个或个或2 2个逻辑单元(个逻辑单元(LELE)。)。LELE主主要由一个组合逻辑函数发生器、几个触发器、若干个多路选要由一个组合逻辑函数发生器、几个触发器、若干个多路选选择器及控制电路组成。选择器及控制电路组成。n 可编程的输入可编

28、程的输入/ /输出块输出块IOBIOB位于芯片内部四周位于芯片内部四周,在内部逻辑阵,在内部逻辑阵列与外部芯片封装引脚之间提供一个可编程接口,它主要由列与外部芯片封装引脚之间提供一个可编程接口,它主要由逻辑门、触发器和控制单元组成。逻辑门、触发器和控制单元组成。n 可编程连线资源可编程连线资源PIRPIR位于芯片内部的逻辑块之间位于芯片内部的逻辑块之间,经编程后形,经编程后形成连线网络,用于芯片内部逻辑间的相互连接,并在它们之成连线网络,用于芯片内部逻辑间的相互连接,并在它们之间传递逻辑信息。间传递逻辑信息。基本结构图基本结构图LELE内部结构内部结构什么是查找表什么是查找表(Look-Up-

29、Table,LUT)(Look-Up-Table,LUT)?查找表(查找表(LUTLUT)就是一个有)就是一个有N N根(一般是根(一般是4 4根)地址线的根)地址线的16x116x1的的RAMRAM存储器。存储器。当用户通过原理图或当用户通过原理图或 HDL HDL 语言描述了一个语言描述了一个4 4输入的逻辑电输入的逻辑电路后,路后,CPLD/FPGA CPLD/FPGA 开发软件就会按设计要求自动计算逻辑开发软件就会按设计要求自动计算逻辑电路的所有可能的结果,并把该结果事先写入这个电路的所有可能的结果,并把该结果事先写入这个RAMRAM存存储器。这样,当输入变量作为储器。这样,当输入变量

30、作为RAMRAM的地址信号输入时,预的地址信号输入时,预期的结果(输出逻辑函数)就作为期的结果(输出逻辑函数)就作为RAMRAM的存储数据输出了。的存储数据输出了。利用这种查表的方法实现逻辑函数输出是一种简单、高效利用这种查表的方法实现逻辑函数输出是一种简单、高效的方法。这就是存储器可用作逻辑函数发生器的原理。的方法。这就是存储器可用作逻辑函数发生器的原理。 N N个输入的逻辑函数,需要个输入的逻辑函数,需要2 2的的N N次方的容量的次方的容量的SRAMSRAM来实现来实现查找表(查找表(LUT)LUT)的工作原理与组成的工作原理与组成查找表(查找表(LUT)LUT)的工作原理与组成的工作原

31、理与组成查找表结构的查找表结构的FPGAFPGA逻辑实现原理逻辑实现原理 以这个电路为例:以这个电路为例: A,B,C,DA,B,C,D由由FPGAFPGA芯片的管脚输入后进入可编程连线,然后作为芯片的管脚输入后进入可编程连线,然后作为地址线连到到地址线连到到LUTLUT,LUTLUT中由于已经事先写入了所有可能的逻辑中由于已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。实现了。 该电路中该电路中D D触发器是直接利用触发器是直接利用LUTLUT后面后面D D触发器来实现。时钟信触发器来实现。时钟信

32、号号CLKCLK由由I/OI/O脚输入后进入芯片内部的时钟专用通道,直接连接脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与到触发器的时钟端。触发器的输出与I/OI/O脚相连,把结果输出到脚相连,把结果输出到芯片管脚。这样芯片管脚。这样PLDPLD就完成了上图所示电路的功能。就完成了上图所示电路的功能。这个电路是一个简单范例,只需要一个这个电路是一个简单范例,只需要一个LUTLUT加上一个触发器就加上一个触发器就可以完成。对于一个可以完成。对于一个LUTLUT无法完成的的电路,就需要通过进位逻无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样辑将多个单元相连,

33、这样FPGAFPGA就可以实现复杂的逻辑。就可以实现复杂的逻辑。查找表的工作原理查找表的工作原理N N个输入的逻辑函数需要个输入的逻辑函数需要2 2的的N N次方的容量的次方的容量的SRAMSRAM来实现。来实现。一个一个LUTLUT无法完成的无法完成的N4N4的多输入电路,就需要通过的多输入电路,就需要通过进位逻辑进位逻辑和和级连的方法级连的方法将多个将多个LUTLUT单元相连,这样单元相连,这样FPGAFPGA就可以实现复杂的就可以实现复杂的逻辑。逻辑。查找表与门查找表与门查找表与门d3. . 0d7. . 4d11. . 0XC4000XC4000系列系列FPGAFPGA的的CLBCLB

34、基本结构基本结构 CLBCLB主要由组合逻辑函数发生器、触发器、数据主要由组合逻辑函数发生器、触发器、数据选择器等电路组成。选择器等电路组成。n 在在CLBCLB中有三个组合逻辑函数发生器,它们分别是中有三个组合逻辑函数发生器,它们分别是G G、F F和和H H,对应的,对应的输出是输出是GG、FF和和HH。G G有四个输入变量有四个输入变量G1G1、G2G2、G3G3和和G4G4,F F也有也有四个输入变量四个输入变量F1F1、F2F2、F3F3和和F4F4n G G和和F F这两个逻辑函数发生器是完全独立的,均可实现这两个逻辑函数发生器是完全独立的,均可实现4 4输入变量的输入变量的任意组

35、合逻辑函数。任意组合逻辑函数。n 组合逻辑函数发生器组合逻辑函数发生器H H有三个输入信号,分别来自前两个函数发生有三个输入信号,分别来自前两个函数发生器的输出器的输出GG、FF和信号变换电路的输出和信号变换电路的输出H1H1。n 组合逻辑函数发生器组合逻辑函数发生器H H能实现能实现3 3输入变量的各种组合函数。利用三个输入变量的各种组合函数。利用三个组合逻辑函数发生器,可以实现多达组合逻辑函数发生器,可以实现多达9 9个变量的组合逻辑函数。个变量的组合逻辑函数。n XC4000XC4000的的CLBCLB中有两个边沿触发的中有两个边沿触发的D D触发器,它们共有一个公共的时触发器,它们共有

36、一个公共的时钟,共有一个时钟使能输入端,允许选择时钟信号高或低电平有效钟,共有一个时钟使能输入端,允许选择时钟信号高或低电平有效。 n 可以看出,只要对可以看出,只要对CLBCLB内部的数据选择器进行编程,逻辑函数发生内部的数据选择器进行编程,逻辑函数发生器器G G、F F和和H H的输出就可以触发器连接,实现所需要的时序逻辑输出的输出就可以触发器连接,实现所需要的时序逻辑输出。 n 在在CLBCLB中的不同规格的数据选择器,分别用来选择触发器激励输入中的不同规格的数据选择器,分别用来选择触发器激励输入信号、时钟有效边沿、时钟使能信号以及输出信号等。信号、时钟有效边沿、时钟使能信号以及输出信号

37、等。XC4000XC4000系列的系列的I/OB I/OB 基本结构基本结构 n XC4000XC4000系列的系列的I/OBI/OB主要由输入触发器、输入缓冲器和主要由输入触发器、输入缓冲器和输出触发锁存器、输出缓冲器组成,它保证了器件输出触发锁存器、输出缓冲器组成,它保证了器件引脚和内部逻辑阵列之间的连接。引脚和内部逻辑阵列之间的连接。n 其中输入通道分为寄存器输入和直接输人两种方式。其中输入通道分为寄存器输入和直接输人两种方式。输入信号允许有选择地编程延时。输入寄存器的时钟输入信号允许有选择地编程延时。输入寄存器的时钟极性、置位、复位端及输人上拉或下拉电阻均可由程极性、置位、复位端及输人

38、上拉或下拉电阻均可由程序控制。序控制。n 在输出通道中,每个输出端都有一个三态输出缓冲器在输出通道中,每个输出端都有一个三态输出缓冲器。通过程序控制可选择寄存器输出或直接输出方式。通过程序控制可选择寄存器输出或直接输出方式。n 因此,每个因此,每个I/OBI/OB控制一个引脚,通过程序设置它们可控制一个引脚,通过程序设置它们可被配置为输入、输出或双向被配置为输入、输出或双向I/OI/O功能。功能。XC4000XC4000系列的可编程连线资源系列的可编程连线资源PIRPIR(单长线、双长线和长线单长线、双长线和长线) n 可编程互连资源可编程互连资源PIRPIR通常将通常将FPGAFPGA内部的

39、内部的CLBCLB和和CLBCLB之间、之间、CLBCLB和和I/OBI/OB之之间连接起来,组成各种具有复杂功能的系统。间连接起来,组成各种具有复杂功能的系统。n PIRPIR主要由许多金属线段构成,这些金属线段带有可编程开关,通过主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。自动布线实现各种电路的连接。n XC4000XC4000系列采用分段互连资源结构,如果以线段的相对长度来划分系列采用分段互连资源结构,如果以线段的相对长度来划分,可分为单长线、双长线和长线三种。,可分为单长线、双长线和长线三种。n 单长线是指可编程开关矩阵和单长线是指可编程开关矩阵

40、和CLBCLB之间的连线,是贯穿于之间的连线,是贯穿于CLBCLB之间的之间的八条垂直和水平金属线段,可编程开关矩阵位于这些金属线段的交八条垂直和水平金属线段,可编程开关矩阵位于这些金属线段的交叉点。通过编制程序,可控制开关矩阵将某个叉点。通过编制程序,可控制开关矩阵将某个CLBCLB与其它与其它CLBCLB或或I/OBI/OB连在一起。连在一起。 n 双长线包括夹在双长线包括夹在CLBCLB之间的四条垂直和水平金属线段。双长线双倍于之间的四条垂直和水平金属线段。双长线双倍于单长线,其长度通过两个单长线,其长度通过两个CLBCLB。穿过两个。穿过两个CLBCLB之后,这些金属线段才之后,这些金

41、属线段才与可编程的开关矩阵相连。因此,利用双长线可以实现使两个相隔与可编程的开关矩阵相连。因此,利用双长线可以实现使两个相隔(非相邻)的(非相邻)的CLBCLB连接。连接。 n 长线是通过特殊缓冲器驱动、贯穿全局的金属连线,用来连接时钟长线是通过特殊缓冲器驱动、贯穿全局的金属连线,用来连接时钟和其它高扇出信号。由长线网构成的金属网络,布满了阵列的全部和其它高扇出信号。由长线网构成的金属网络,布满了阵列的全部长和宽。长和宽。CLBCLB的输入可以由邻近的任一长线驱动,输出可以通过三态的输入可以由邻近的任一长线驱动,输出可以通过三态缓冲器驱动长线。长线通常用于高扇出、关键信号的传播。缓冲器驱动长线

42、。长线通常用于高扇出、关键信号的传播。 AlteraAltera的的FLEX/ACEXFLEX/ACEX等芯片的结构等芯片的结构Altera FLEX/ACEX Altera FLEX/ACEX 芯片的内部结构芯片的内部结构ALTERA 10K10ALTERA 10K10器件的内部结构图器件的内部结构图内含内含72728 8576576个个LELEFPGAFPGA中的嵌入式阵列(中的嵌入式阵列(EABEAB)n可灵活配置的可灵活配置的RAMRAM块,典型大小是块,典型大小是4KB4KB。n用途用途实现比较复杂的函数的查找表,如正弦、实现比较复杂的函数的查找表,如正弦、余弦表等。余弦表等。可实现

43、多种存储器功能,如可实现多种存储器功能,如RAMRAM,ROMROM,双,双口口RAMRAM,FIFOFIFO,StackStack等等灵活配置方法:可配置成灵活配置方法:可配置成2562561616、5125128 8、102410244 4、204820482 2、 409640961 1。内部晶振电路内部晶振电路n 高速反向放大器用高速反向放大器用于和外部晶体相接于和外部晶体相接,形成内部晶体振,形成内部晶体振荡器。荡器。n 提供将振荡波形二提供将振荡波形二分频成对称方波的分频成对称方波的功能。功能。CPLDCPLD与与FPGAFPGA的类似之处的类似之处nCPLDCPLD与与FPGAF

44、PGA在很大程度上具有类似之处,概括起在很大程度上具有类似之处,概括起来,可以认为它们都是由以下三部分共同组成:来,可以认为它们都是由以下三部分共同组成:(1 1)输入)输入/ /输出单元。输出单元。(2 2)二维逻辑块阵列,是)二维逻辑块阵列,是PLDPLD器件的逻辑组成的核心器件的逻辑组成的核心(3 3)用于连接逻辑块的互连资源,其中可以是各种)用于连接逻辑块的互连资源,其中可以是各种长度的连线线段,也可以是一些可编程的连接开关长度的连线线段,也可以是一些可编程的连接开关,通常用来连接逻辑块之间、逻辑块与输入,通常用来连接逻辑块之间、逻辑块与输入/ /输出输出块之间的连线。块之间的连线。n

45、对用户而言,对用户而言,CPLDCPLD与与FPGAFPGA的内部结构虽有不同,的内部结构虽有不同,但使用方法基本一样。所以在多数情况下无需加但使用方法基本一样。所以在多数情况下无需加以区分。以区分。CPLDCPLD与与FPGAFPGA的区别的区别FPGAFPGA与与CPLDCPLD的区别的区别n FPGAFPGA采用采用SRAMSRAM进行功能配置,可重复编程,但系统掉电后,进行功能配置,可重复编程,但系统掉电后,SRAMSRAM中的数据丢失。因此需在中的数据丢失。因此需在FPGAFPGA外加外加EPROMEPROM,将配置数据写,将配置数据写入其中,系统每次上电自动将数据引入入其中,系统每

46、次上电自动将数据引入SRAMSRAM中。中。n CPLDCPLD器件一般采用器件一般采用EEPROMEEPROM存储技术,可重复编程,并且系统存储技术,可重复编程,并且系统掉电后,掉电后,EEPROMEEPROM中的数据不会丢失,适于数据的保密。中的数据不会丢失,适于数据的保密。n FPGAFPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个要求实现较复杂的组合电路则需要几个CLBCLB结合起来实现。结合起来实现。n FPGAFPGA的逻辑功能由于是利用的逻辑功能由于是利用LUTLUT来实现,且来实现,且SR

47、AMSRAM编程结构相当编程结构相当较简单,故易于大规模集成。目前较简单,故易于大规模集成。目前2 2万门以上规模集成的万门以上规模集成的PLDPLD,都是,都是FPGAFPGA。n CPLDCPLD的与或阵列结构,使其适宜实现较大规模的组合逻辑功的与或阵列结构,使其适宜实现较大规模的组合逻辑功能,但触发器资源相对较少,实现较大规模的时序逻辑功能能,但触发器资源相对较少,实现较大规模的时序逻辑功能有一定的难度。有一定的难度。n CPLDCPLD的的“与或阵列与或阵列”结构和非易失性编程特性也不适宜超大结构和非易失性编程特性也不适宜超大规模集成。一般其集成度不超过规模集成。一般其集成度不超过2 2万门。万门。FPGAFPGA与与CPLDCPLD的区别的区别n FPGAFPGA内部有丰富连线资源,内部有丰富连线资源,CLBCLB分块较小,芯片的利用率较分块较小,芯片的利用率较高。高。n CPLDCPLD的宏单元的

温馨提示

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

评论

0/150

提交评论