第2章 可编程逻辑器件_第1页
第2章 可编程逻辑器件_第2页
第2章 可编程逻辑器件_第3页
第2章 可编程逻辑器件_第4页
第2章 可编程逻辑器件_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2章章 可编程逻辑器件可编程逻辑器件2.1 2.1 概论概论2.2 2.2 简单简单PLDPLD原理原理2.3 CPLD 2.3 CPLD 的结构与工作原理的结构与工作原理2.4 FPGA 2.4 FPGA 的结构与工作原理的结构与工作原理2.5 2.5 硬件测试技术硬件测试技术2.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述2.7 2.7 编程与配置编程与配置2 数字电路系统分为组合电路和时序电路,均可由基数字电路系统分为组合电路和时序电路,均可由基本门构成。本门构成。 组合电路在逻辑上输出总是当前输入的函数;组合电路在逻辑上输出总是当前输入的函数; 时序电路的输出是

2、当前系统状态与当前输入的函数,时序电路的输出是当前系统状态与当前输入的函数,它含有存储元件。它含有存储元件。 任何组合逻辑函数都可化为任何组合逻辑函数都可化为“与与-或或”表达式,表达式,从而从而都可用都可用“与与”门和门和“或或”门来实现门来实现。 时序电路都可由组合电路加上存储元件(锁存器、时序电路都可由组合电路加上存储元件(锁存器、触发器、触发器、RAM)构成。)构成。由此,提出了由此,提出了乘积项逻辑可编程乘积项逻辑可编程结构。结构。2.1 2.1 概论概论PLD(Programmable Logic Device)3 特点:结构简单。特点:结构简单。 后来,又根据后来,又根据ROM工

3、作原理、地址信号和输出工作原理、地址信号和输出数据的关系,以及数据的关系,以及ASIC的门阵列法得到启发,构造的门阵列法得到启发,构造出另一种可编程逻辑结构,即出另一种可编程逻辑结构,即查找表逻辑查找表逻辑。其逻辑函。其逻辑函数采用数采用RAM“数据数据”查找的方式,并使用多个查找表查找的方式,并使用多个查找表构成一个查找表阵列,称为可编程门阵列构成一个查找表阵列,称为可编程门阵列PGA(Programmable Gate Array)。)。 基本基本PLD器件的原理结构图器件的原理结构图输入输入缓冲缓冲电路电路与与阵阵列列或或阵阵列列输出输出缓冲缓冲电路电路输输入入 输输出出4一、一、PLD

4、的发展历程的发展历程 20世纪世纪70年代年代,最早的可编程逻辑器件,最早的可编程逻辑器件PROM和和PLA; 20世纪世纪70年代末年代末,AMD公司推出公司推出PAL; 20世纪世纪80年代初年代初,Lattice公司发明电可擦写的公司发明电可擦写的GAL器件;器件; 20世纪世纪80年代中期年代中期,Xilinx公司提出现场可编程概念,同公司提出现场可编程概念,同时生产出世界上第一片时生产出世界上第一片FPGA器件;器件;Altera公司推出公司推出EPLD器件,较器件,较GAL有更高的集成度,可用紫外线或电擦除;有更高的集成度,可用紫外线或电擦除; 20世纪世纪80年代末年代末,Lat

5、tice公司又提出公司又提出在系统可编程技术在系统可编程技术,并推出一系列具有在系统可编程能力的并推出一系列具有在系统可编程能力的CPLD器件,将可器件,将可编程器件的性能和应用技术推向了一个全新的高度;编程器件的性能和应用技术推向了一个全新的高度; 进入进入20世纪世纪90年代后年代后,可编程集成电路技术进入飞速发展,可编程集成电路技术进入飞速发展时期。器件的时期。器件的可用逻辑门数超过百万门可用逻辑门数超过百万门,并出现了,并出现了内嵌复内嵌复杂功能模块杂功能模块(如加法器、乘法器、(如加法器、乘法器、RAM、CPU核、核、DSP核、核、DLL等)的等)的SOPC(System On a

6、Programmable Circuit)。)。5二、二、PLDPLD的种类及分类方法的种类及分类方法 低密度低密度PLD、高密度高密度PLD(超过(超过500门)门) PLD低密度器件(低密度器件(LDPLD)PLA、PROM、PAL、GAL高密度器件(高密度器件(HDPLD)EPLD、CPLD、FPGA1 1、根据器件密度:根据器件密度:6 FPGAFPGA(Field Programmable Gates ArrayField Programmable Gates Array) 分段式布线,延迟不可预测分段式布线,延迟不可预测 CPLDCPLD(Complex Programmable

7、Logic DeviceComplex Programmable Logic Device) 连续式布线,延迟可预测连续式布线,延迟可预测 3 3、互连结构、互连结构2 2、编程结构、编程结构 n乘积项结构乘积项结构 (PROM(PROM、PLAPLA、PALPAL、GALGAL、EPLDEPLD、CPLDCPLD) )n查找表结构查找表结构 ( (FPGAFPGA) ) 7熔丝(熔丝(FuseFuse)型)型反熔丝(反熔丝(Anti-fuseAnti-fuse)型)型:如:如ActelActel公司的公司的FPGAFPGA器件器件EPROMEPROM(Erasable PROMErasabl

8、e PROM)紫外线擦除,电可编程。)紫外线擦除,电可编程。EEPROMEEPROM(Electrically EPROMElectrically EPROM)可直接用电擦写)可直接用电擦写 FlashFlash型型(闪存):信息在一瞬间即可被存储。(闪存):信息在一瞬间即可被存储。SRAMSRAM型型:编程速度、编程要求较低,被大部分:编程速度、编程要求较低,被大部分FPGA FPGA 采用,如采用,如XilinxXilinx和和AlteraAltera公司的公司的FPGAFPGA。4 4、编程工艺、编程工艺 8 前五类编程元件为前五类编程元件为非易失性元件非易失性元件,编程后能使,编程后能

9、使逻辑配置数据保持在器件上。逻辑配置数据保持在器件上。 SRAM类为类为易失性元件易失性元件,即每次掉电后逻辑配,即每次掉电后逻辑配置数据会丢失,置数据会丢失,需专用配置元件需专用配置元件。 熔丝型开关和反熔丝开关元件只能写一次;采熔丝型开关和反熔丝开关元件只能写一次;采用用浮栅浮栅编程的编程的EPROM、EEPROM、Flash元件元件和和SRAM编程元件则可以进行多次编程。编程元件则可以进行多次编程。 反熔丝开关元件一般用在要求较高的军品系列反熔丝开关元件一般用在要求较高的军品系列(如通信卫星、航空电子仪器等)器件上,而(如通信卫星、航空电子仪器等)器件上,而浮栅编程元件一般用在民品系列器

10、件上。浮栅编程元件一般用在民品系列器件上。 9三、可编程逻辑器件的发展趋势三、可编程逻辑器件的发展趋势 向高密度和大规模方向发展向高密度和大规模方向发展 向系统内可重构方向发展向系统内可重构方向发展 向低电压和低功耗方向发展向低电压和低功耗方向发展 向高速可预测延时器件方向发展向高速可预测延时器件方向发展 IP核得到进一步发展核得到进一步发展 向混合可编程技术方向发展向混合可编程技术方向发展 102.2 2.2 简单简单PLDPLD的原理的原理 输入缓冲电路:输入缓冲电路:主要用来对输入信号进行预处理,产生输主要用来对输入信号进行预处理,产生输入变量的原变量和反变量;入变量的原变量和反变量;

11、与阵列:与阵列:产生输入变量的与项(乘积项);产生输入变量的与项(乘积项); 或阵列:或阵列:将与阵列输出的乘积项有选择地进行和运算,形将与阵列输出的乘积项有选择地进行和运算,形成与或式,从而实现不同的逻辑函数;成与或式,从而实现不同的逻辑函数; 输出缓冲电路:输出缓冲电路:主要用来对输出信号进行处理,用户可以主要用来对输出信号进行处理,用户可以根据需要选择各种灵活的输出方式(组合方式、时序方根据需要选择各种灵活的输出方式(组合方式、时序方式)。式)。11缓冲电路表示方法缓冲电路表示方法q为了为了使输入信号具有足够的驱动能力使输入信号具有足够的驱动能力并产生原并产生原变量和反变量两个互补的信号

12、变量和反变量两个互补的信号,PLD的输入缓的输入缓冲器和反馈缓冲器都采用互补的输出结构。冲器和反馈缓冲器都采用互补的输出结构。 12与门表示法与门表示法13或门表示法或门表示法14PLDPLD连接的表示法连接的表示法q硬线连接是不可编程的,而硬线连接是不可编程的,而接通和开断连接是靠编程接通和开断连接是靠编程实现的实现的。q在熔丝式工艺的在熔丝式工艺的PLD中(如中(如PAL),),接通接通对应于对应于熔丝熔丝未熔断未熔断,开断开断对应于对应于熔丝被熔断熔丝被熔断;q在在E2CMOS工艺的工艺的PLD中(如中(如GAL),),接通接通对应于对应于一个基本单元的导通状态,称此单元为一个基本单元的

13、导通状态,称此单元为被编程被编程单元,单元,开断开断对应于该单元的截止状态,称此单元为对应于该单元的截止状态,称此单元为被擦除被擦除单单元。元。 152.2.1 2.2.1 可编程只读存储器可编程只读存储器PROMPROM PROM是由是由固定的固定的“与与”阵列和可编程的阵列和可编程的“或或”阵列组成的阵列组成的。与阵列构成地址译码器,。与阵列构成地址译码器,“.”是固定的联结点;或阵列是存储矩阵,是固定的联结点;或阵列是存储矩阵,“”表示用户可编程。表示用户可编程。16PROM结构结构 连接点编连接点编程时,需画程时,需画一个叉。一个叉。17PROM结构简化图结构简化图18 与阵列输出与阵

14、列输出为为n个输入变量可能产生的全部个输入变量可能产生的全部最小项,即最小项,即2n个最小项个最小项。或阵列是可编程或阵列是可编程的,的,每个或门有每个或门有2n个输入可供选用个输入可供选用,由用户编程来,由用户编程来选定。所以,在选定。所以,在PROM的输出端,的输出端,输出表达输出表达式是最小项之和的标准与或式式是最小项之和的标准与或式。 PROM应用应用例例1:用用PROM设计一个设计一个发生器,输入为发生器,输入为4位二进制代位二进制代码,输出为码,输出为8421码。该电路串行产生常数码。该电路串行产生常数,若取小数点,若取小数点后后15位,则位,则=3.141592653589793

15、。 AABBCCDDWXYZ与与阵阵列列或或阵阵列列20例例2:用用PROM设计一个设计一个全加器全加器。 AABB1iC1iCSiCi与与阵阵列列或或阵阵列列Ai Bi Ci-1 Si Ci 0 00 00 10 11 01 01 11 11 00 01 00 11 00 10 11 101010101 对于大多数逻辑函数而言,并不需要使用全部最小项,对于大多数逻辑函数而言,并不需要使用全部最小项,造成浪费。造成浪费。 212.2.2 PLA2.2.2 PLA结构结构 PLA (Programmable Logic Array)是处理逻辑)是处理逻辑函数的一种更有效的方法,其结构与函数的一种

16、更有效的方法,其结构与ROM类似,但类似,但它的它的与阵列是可编程与阵列是可编程的,的, 且不是全译码方式而是且不是全译码方式而是部部分译码方式分译码方式,只产生函数所需要的乘积项只产生函数所需要的乘积项。 或阵列也是可编程或阵列也是可编程的,它选择所需要的乘积项来的,它选择所需要的乘积项来完成或功能。在完成或功能。在PLA的输出端产生的逻辑函数是的输出端产生的逻辑函数是简简化的与或表达式化的与或表达式。2223PLA应用应用 首先根据逻辑要求列出真值表,得出最简表达式;首先根据逻辑要求列出真值表,得出最简表达式;然后把真值表的输入作为然后把真值表的输入作为PLA的输入,画出相应的阵的输入,画

17、出相应的阵列图。列图。例例1:用用PLA设计一个设计一个代码转换电代码转换电路,将一位十进制数的路,将一位十进制数的8421码转换码转换成余三码成余三码。 BDBCAWDCBDBCBXDCCDYDZ 24AABBCCDDWXYZ与与阵阵列列或或阵阵列列BDBCAWDCBDBCBXDCCDYDZ 25PROMPROM和和PLAPLA的缺陷的缺陷PROM和和PLA都存在着致命的缺陷:都存在着致命的缺陷: PROM器件在输入数目增加时,与阵列的输出信器件在输入数目增加时,与阵列的输出信号线数目以号线数目以2的级数增加;的级数增加; PLA器件制造工艺复杂,器件工作速度慢,且缺器件制造工艺复杂,器件工

18、作速度慢,且缺乏相应的乏相应的EDA软件支撑。软件支撑。 因此除因此除PROM还被用来存储数据以外,还被用来存储数据以外,PLA已已处于被淘汰的边缘。处于被淘汰的边缘。 26 PAL(Programmable Array Logic)是在是在ROM和和PLA基础上发展起来的,它采用基础上发展起来的,它采用可编程的与可编程的与阵列和固定的或阵列阵列和固定的或阵列组成。组成。2.2.3 PAL2.2.3 PAL结构结构27每个交叉点都每个交叉点都可编程。可编程。L1 L1为两个为两个乘积项之和。乘积项之和。与阵列可编程,或阵列不可编程。与阵列可编程,或阵列不可编程。28例:用例:用PAL实现组合逻

19、辑函数。实现组合逻辑函数。2930存储器型存储器型PALPAL 时序时序PLD中的宏单元:中的宏单元: 在组合在组合PLD的的“与与-或或”阵列和输出缓冲电路之间插阵列和输出缓冲电路之间插入入触发器,构成一种时序逻辑的基本宏单元。触发器,构成一种时序逻辑的基本宏单元。 各三态缓冲门控制端都连接在同一输出使能线上,受各三态缓冲门控制端都连接在同一输出使能线上,受OE控制。控制。各触发器时钟也连接到同一各触发器时钟也连接到同一CLK上,使所有触发器同时刷新。上,使所有触发器同时刷新。 改进后形成改进后形成输出逻辑宏单元(输出逻辑宏单元(OLMC),即时序,即时序PLD的输出。的输出。3132组合组

20、合PLD特点特点 PLA缺少高质量的支撑软件和编程工具,且价格缺少高质量的支撑软件和编程工具,且价格昂贵,因而使用不广泛。昂贵,因而使用不广泛。 与中小规模集成器件比,与中小规模集成器件比,PAL通用性好,速度和通用性好,速度和集成度均有所提高,灵活度得到改善。但它采用集成度均有所提高,灵活度得到改善。但它采用的是双极性熔丝技术,编程后无法更改,且的是双极性熔丝技术,编程后无法更改,且PAL实现的时序电路有限。实现的时序电路有限。 因此引入了时序可编程逻辑器件因此引入了时序可编程逻辑器件GAL。33 GAL结构与结构与PAL相同,相同, 由可编程的与阵列去驱动由可编程的与阵列去驱动一个固定的或

21、阵列,其差别在于输出结构不同。寄一个固定的或阵列,其差别在于输出结构不同。寄存器型存器型PAL的输出是一个有记忆功能的的输出是一个有记忆功能的D触发器,而触发器,而GAL器件的每一个输出端都有一个可组态的输出逻器件的每一个输出端都有一个可组态的输出逻辑宏单元辑宏单元OLMC ( Output Logic Macro Cells)。 GAL采用高速的电可擦除的采用高速的电可擦除的E2CMOS工艺,具有工艺,具有速度快、功耗低、集成度高等特点。速度快、功耗低、集成度高等特点。2.2.4 2.2.4 通用阵列逻辑通用阵列逻辑GALGAL结构结构34GAL和和PAL在结构上的区别见下图:在结构上的区别

22、见下图:PAL结构结构GAL结构结构 适当地为适当地为OLMC进行进行编程,编程,GAL就可以在功就可以在功能上代替前能上代替前面讨论过的面讨论过的PAL各种输各种输出类型以及出类型以及其派生类型其派生类型(一)(一)GAL器件结构和特点器件结构和特点 GAL器件型号定义和器件型号定义和PAL一样根据输入输出的数量来确定,一样根据输入输出的数量来确定,GAL16V8中的中的16表示阵列的输入端数量,表示阵列的输入端数量,8表示输出端数量,表示输出端数量,V则表示输出形式可以改变的普通型。则表示输出形式可以改变的普通型。1. GAL16V8的基本结构(下图)的基本结构(下图)8个输入缓冲器个输入

23、缓冲器8个输出反馈缓冲器个输出反馈缓冲器一个共用时钟一个共用时钟CLK8个输出缓冲器个输出缓冲器8个个OLMC2. GAL输出逻辑宏单元输出逻辑宏单元OLMC的组成的组成 输出逻辑宏单元输出逻辑宏单元OLMC 由或门、异或门、由或门、异或门、D触发器、多路选触发器、多路选择器择器MUX、时钟控制、使能控制和编程元件等组成,如下图:、时钟控制、使能控制和编程元件等组成,如下图:组合输出组合输出时序输出时序输出373. 输出逻辑宏单元输出逻辑宏单元OLMC组态组态 输出逻辑宏单元由对输出逻辑宏单元由对AC1(n) 和和AC0进行编程决进行编程决定定PTMUX、TSMUX、OMUX和和FMUX的输出

24、,共的输出,共有有5种基本组态:种基本组态: 专用输入组态、专用输出组态、复合输入专用输入组态、专用输出组态、复合输入/输出组输出组态、寄存器组态和寄存器组合态、寄存器组态和寄存器组合I/O组态组态。8个宏单元可个宏单元可以处于相同的组态,或者有选择地处于不同组态。以处于相同的组态,或者有选择地处于不同组态。4、GAL的工作模式的工作模式 GAL16V8有三种工作模式,即有三种工作模式,即简单型、复杂型简单型、复杂型和寄存器型和寄存器型。386、GAL编程与开发编程与开发 除除isp系列系列GAL可在系统编程,其他需专用编程器。可在系统编程,其他需专用编程器。 GAL的编程有相应的软件,可以用

25、逻辑图的形式给出,也可的编程有相应的软件,可以用逻辑图的形式给出,也可以用特定格式的表达式描述。无论用什么方式描述逻辑功能,以用特定格式的表达式描述。无论用什么方式描述逻辑功能,最终都要编译成对应交叉点通断的编程文件,最后用编程器写最终都要编译成对应交叉点通断的编程文件,最后用编程器写入就可以了。入就可以了。 GAL设有加密位,加密后不能读出内部的编程状态。设有加密位,加密后不能读出内部的编程状态。原始原始设计要求设计要求HDL描述描述电路功能电路功能输入输入状态表状态表状态图状态图逻辑方程逻辑方程验证、验证、仿真排错、仿真排错、优化编译优化编译熔丝图熔丝图文件文件编程器编程器GAL器件器件7

26、、GAL是继是继PAL之后具有较高性能的之后具有较高性能的PLD,和,和PAL相比,具有以相比,具有以下特点:下特点:(1) 有较高的通用性和灵活性有较高的通用性和灵活性:它的每个逻辑宏单元可以根据:它的每个逻辑宏单元可以根据需要任意组态既可实现组合电路,又可实现时序电路。需要任意组态既可实现组合电路,又可实现时序电路。(2) 100可编程可编程:GAL采用浮栅编程技术,使与阵列以及逻采用浮栅编程技术,使与阵列以及逻辑宏单元可以反复编程,当编程或逻辑设计有错时,可以擦辑宏单元可以反复编程,当编程或逻辑设计有错时,可以擦除重新编程、反复修改,直到得到正确的结果,因而每个芯除重新编程、反复修改,直

27、到得到正确的结果,因而每个芯片可片可100编程。编程。(3) 100%可测试可测试:GAL的宏单元接成时序状态,可以通过测的宏单元接成时序状态,可以通过测试软件对它门的状态进行预置,从而可以随意将电路置于某试软件对它门的状态进行预置,从而可以随意将电路置于某一状态,以缩短测试过程,保证电路在编程以后,对编程结一状态,以缩短测试过程,保证电路在编程以后,对编程结果果100可测。可测。(4) 高性能的高性能的E2COMS工艺工艺:使:使GAL的高速度、低功耗,编的高速度、低功耗,编程数据可保存程数据可保存20年以上。正是由于这些良好的特性,使年以上。正是由于这些良好的特性,使GAL器件成为数字系统

28、设计的初期理想器件。器件成为数字系统设计的初期理想器件。40GAL器件仍然存在着以下问题:器件仍然存在着以下问题:时钟必须共用;时钟必须共用;或的乘积项最多只有或的乘积项最多只有8个;个; GAL器件的规模小,达不到在单片内集成一个数器件的规模小,达不到在单片内集成一个数字系统的要求;字系统的要求; 尽管尽管GAL器件有加密的功能,但随着解密技术的器件有加密的功能,但随着解密技术的发展,对于这种阵列规模小的可编程逻辑器件解密发展,对于这种阵列规模小的可编程逻辑器件解密已不是难题。已不是难题。 以上三种以上三种PLA、PAL、GAL属于早期的属于早期的小规模的小规模的PLD器件,内部结构简单,工

29、作速器件,内部结构简单,工作速度快,适于完成较简单的逻辑功能。度快,适于完成较简单的逻辑功能。41PALPAL和和GALGAL的区别的区别 PAL和和GAL的的基本门阵列部分的结构是相同的基本门阵列部分的结构是相同的,即即“与阵列与阵列”是可编程的,是可编程的,“或阵列或阵列”是固定连是固定连接的。接的。 它们之间的它们之间的差异差异除了表现在除了表现在输出结构输出结构上,还在于上,还在于PAL器件只能编程一次器件只能编程一次,而,而GAL器件则可以反复器件则可以反复编程编程,这一点使得,这一点使得GAL器件更受用户的欢迎。器件更受用户的欢迎。 从从GAL器件开始出现宏单元的概念。在器件开始出

30、现宏单元的概念。在GAL器件器件中称为中称为OLMC(Output Logic Macro Cell) 42CPLD:Complex Programmable Logic Device在单片芯片内可以集成成千上万个等效门。在单片芯片内可以集成成千上万个等效门。 早期早期CPLD大多采用大多采用EPROM编程技术,过程和简编程技术,过程和简单单PLD一样,每次编程都需要专用或通用设备。后来一样,每次编程都需要专用或通用设备。后来采用采用E2ROM和和Flash技术,使技术,使CPLD具有了具有了“在系统可在系统可编程编程(isp)”特性。这类器件不需要专门编程器,特性。这类器件不需要专门编程器,

31、编程电编程电路和升压电路集成在路和升压电路集成在ISP器件内部器件内部。2.3 CPLD CPLD 的结构与工作原理的结构与工作原理43CPLD的结构的结构 逻辑块相当于逻辑块相当于GAL器件。逻辑块间可用可编程内部连线实器件。逻辑块间可用可编程内部连线实现相互连接。为增强对现相互连接。为增强对I/O的控制能力,提高引脚的适应性,的控制能力,提高引脚的适应性,CPLD还增加了还增加了I/O控制块,每个控制块,每个I/O块中有若干个块中有若干个I/O单元。单元。44 在系统编程芯片在系统编程芯片EPM7128S是是Altera公司生产的高密度、高公司生产的高密度、高性能性能CMOS可编程逻辑器件

32、之一,下图是可编程逻辑器件之一,下图是PLCC封装封装84端子的端子的引脚图:引脚图:它有它有4个直接个直接输入(输入(INPUT)TMS、TDI、TDO和和TCK是在系统编是在系统编程引脚程引脚64个个I/O引脚引脚在系统编程芯片在系统编程芯片EPM7128SEPM7128S的基本结构的基本结构45下图是下图是EPM7128S器件结构图:由器件结构图:由8个相似的逻辑阵列块个相似的逻辑阵列块(Logic Array Block,LAB)、一个可编程内连矩阵()、一个可编程内连矩阵(PIA)和多个输入和多个输入/输出控制块输出控制块(I/O Block)组成。组成。461 1、逻辑阵列块(、逻

33、辑阵列块(LABLAB) 每个每个LAB由由16个宏单元个宏单元构成,多个宏单元之间通构成,多个宏单元之间通过可编程连线阵列(过可编程连线阵列(Programmable Interconnect Arry,PIA)和全局总线连接。)和全局总线连接。 全局总线从所有的专用输入、全局总线从所有的专用输入、I/O引脚和宏单元馈引脚和宏单元馈入信号。对于每个入信号。对于每个LAB有下列输入信号:有下列输入信号: 来自作为来自作为通用逻辑输入通用逻辑输入的的PIA的的36个信号;个信号; 全局控制信号全局控制信号,用于寄存器辅助功能;,用于寄存器辅助功能; 从从I/O引脚引脚到寄存器的直接输入通道。到寄

34、存器的直接输入通道。47宏单元宏单元 由由逻辑阵列(与、或阵列)、乘积项选择矩阵和逻辑阵列(与、或阵列)、乘积项选择矩阵和可编程寄存器可编程寄存器组成,可被单独配置成组合逻辑和组成,可被单独配置成组合逻辑和时序逻辑。时序逻辑。 逻辑阵列实现组合逻辑逻辑阵列实现组合逻辑,可为每个宏单元提供,可为每个宏单元提供5个乘个乘积项。积项。 乘积项选择矩阵分配乘积项乘积项选择矩阵分配乘积项。、作为、作为“或门或门”或或“异或门异或门”输入实现输入实现组合逻辑组合逻辑;、作为寄存器的辅助输入:清零、置位、时钟和时钟、作为寄存器的辅助输入:清零、置位、时钟和时钟使能控制。使能控制。48并行扩展项并行扩展项来自

35、其它宏单元来自其它宏单元共享逻辑扩展项共享逻辑扩展项可配置成可配置成D、T、JK、RS有有3种工作种工作模式模式49 时钟工作模式:时钟工作模式: 全局时钟信号。全局时钟信号。能实现最快的时钟到输出性能,能实现最快的时钟到输出性能,全局时钟直接连向寄存器的全局时钟直接连向寄存器的CLK端。端。 全局时钟信号由高电平有效的时钟信号使能。全局时钟信号由高电平有效的时钟信号使能。能能提供给每个触发器的时钟使能信号,由于仍使用提供给每个触发器的时钟使能信号,由于仍使用全局时钟,输出速度较快。全局时钟,输出速度较快。 用用乘积项实现一个阵列时钟乘积项实现一个阵列时钟。触发器由来自宏单。触发器由来自宏单元

36、或元或I/O引脚的信号进行钟控,其速度稍慢。引脚的信号进行钟控,其速度稍慢。50扩展乘积项扩展乘积项 每个宏单元提供每个宏单元提供5个乘积项个乘积项,但复杂的逻辑函数需要,但复杂的逻辑函数需要附加乘积项。可由其它宏单元或附加乘积项。可由其它宏单元或扩展项扩展项提供。扩展项有两提供。扩展项有两种:种:共享扩展项共享扩展项。由每个宏单元提供一个单独的乘积项,通过。由每个宏单元提供一个单独的乘积项,通过一个非门反馈到逻辑阵列中,可被一个非门反馈到逻辑阵列中,可被LAB内任何一个或全部内任何一个或全部宏单元使用或共享。每个宏单元使用或共享。每个LAB有有16个共享扩展项。个共享扩展项。并联扩展项并联扩

37、展项。并联扩展项是宏单元中一些没使用的乘积项,。并联扩展项是宏单元中一些没使用的乘积项,可分配到邻近的宏单元去实现快速、复杂的逻辑函数。使可分配到邻近的宏单元去实现快速、复杂的逻辑函数。使用并联扩展项,允许最多用并联扩展项,允许最多20个乘积项,个乘积项,5个由宏单元本身个由宏单元本身提供,另外提供,另外15个并联扩展项从同一个并联扩展项从同一LAB中邻近宏单元借用。中邻近宏单元借用。5152532 2、可编程连线阵列(、可编程连线阵列(PIAPIA) 可编程通道,把器件中任何信号连接到其目的地。可编程通道,把器件中任何信号连接到其目的地。所有所有MAX7000S器件的专用输入、器件的专用输入

38、、I/O引脚和宏单引脚和宏单元输出都连接到元输出都连接到PIA,由,由PIA把这些信号送到整个把这些信号送到整个器件的各个地方。器件的各个地方。由于由于PIA有固定的延时,使得有固定的延时,使得器件延时性能容易预测。器件延时性能容易预测。543 3、I/OI/O控制块控制块 I/O控制块允许每控制块允许每个个I/O引脚单独配置为引脚单独配置为输入、输出和双向输入、输出和双向工工作方式。作方式。 所有所有I/O引脚都有引脚都有一个由选择器控制的一个由选择器控制的三态缓冲器。当三态缓冲器。当控制控制端接地端接地时,输出为高时,输出为高阻态,此时阻态,此时I/O作为专作为专用输入引脚用输入引脚。当。

39、当控制控制端接端接VCC时,作为时,作为普普通输出引脚通输出引脚。55 前面讨论的可编程逻辑器件基本组成部分是与阵列、或前面讨论的可编程逻辑器件基本组成部分是与阵列、或阵列和输出电路。再加上触发器则可实现时序电路。阵列和输出电路。再加上触发器则可实现时序电路。 本节介绍的本节介绍的FPGA(Field Programmable Gate Array)不像不像PLD那样受结构的限制,它可以靠门与门的连接来实那样受结构的限制,它可以靠门与门的连接来实现任何复杂的逻辑电路,更适合实现多级逻辑功能。现任何复杂的逻辑电路,更适合实现多级逻辑功能。 陆续推出了新型的现场可编程门阵列陆续推出了新型的现场可编

40、程门阵列FPGA。功能更加。功能更加丰富,丰富,具有基本逻辑门电路、传输外部信号的输入具有基本逻辑门电路、传输外部信号的输入/输出电路输出电路和可编程内连资源和可编程内连资源之外,还具有很高的密度等等。之外,还具有很高的密度等等。2.4 2.4 FPGAFPGA的结构与工作原理的结构与工作原理56CycloneCyclone系列器件的结构与原理系列器件的结构与原理 Altera公司的一款低成本、高性价比的公司的一款低成本、高性价比的FPGA,具有典型性。由具有典型性。由逻辑阵列块(逻辑阵列块(LAB)、嵌入式存储)、嵌入式存储器块、器块、I/O单元和单元和PLL等模块构成,各模块间有丰等模块构

41、成,各模块间有丰富的互联线和时钟网络。富的互联线和时钟网络。 可编程资源主要来自可编程资源主要来自LAB,每个,每个LAB都由多个都由多个LE(Logic Element)构成。)构成。LE是是FPGA的最基本的最基本可编程单元。可编程单元。57现场可编程门阵列现场可编程门阵列FPGAFPGA结构结构快速通道互连快速通道互连I/O单元单元58 FPGA的编程单元是的编程单元是基于静态存储器(基于静态存储器(SRAM)的查找)的查找表结构表结构,从理论上讲,具有无限次重复编程的能力。,从理论上讲,具有无限次重复编程的能力。(Look Up Table,LUT)1 1、查找表逻辑结构、查找表逻辑结

42、构59AABCDBCDABCDABCDF602 2、嵌入式阵列块、嵌入式阵列块 EABEAB EAB是在是在输入输出口上带有寄存器的灵活输入输出口上带有寄存器的灵活RAM块块,用于实现一般阵列宏功能。因其大而灵活,也用于实现一般阵列宏功能。因其大而灵活,也适适用于实现乘法器、适量定标器和错误校正电路等用于实现乘法器、适量定标器和错误校正电路等功能功能。这些功能。这些功能结合在一起就可实现数字滤波器结合在一起就可实现数字滤波器和微控制器和微控制器。 可被参数化功能模块(可被参数化功能模块(LPM)自动利用)自动利用。 EAB用作用作RAM时,可构成多个尺寸。根据需要,时,可构成多个尺寸。根据需要

43、,软件可以使软件可以使器件中的所有器件中的所有EAB级联成一个单一的级联成一个单一的RAM。能在级联多达。能在级联多达2048字时而不影响时序。字时而不影响时序。613 3、逻辑阵列块、逻辑阵列块 LABLAB LAB由一系列相由一系列相邻的邻的LE构成。构成。Cyclone LAB包含包含10个个LE、LE进位链和级联进位链和级联链、链、LAB控制信号、控制信号、LAB局部互联、局部互联、LUT链和寄存器链链和寄存器链。62LELE结构结构组合逻辑组合逻辑时序逻辑时序逻辑63特点特点 LE有有3个输出来驱动内部互连。个输出来驱动内部互连。一个驱动局部互连,一个驱动局部互连,另两个驱动行或列的

44、互连资源。另两个驱动行或列的互连资源。 LUT和寄存器的输出可以单独控制。和寄存器的输出可以单独控制。可实现一个可实现一个LE中中LUT驱动一个输出,而寄存器驱动另一个输出。驱动一个输出,而寄存器驱动另一个输出。因此一个因此一个LE中的中的LUT和寄存器可以实现不相关的功和寄存器可以实现不相关的功能,提高了能,提高了LE的资源利用率。的资源利用率。 LE可以通过可以通过LUT链和寄存器链互连。链和寄存器链互连。在同一个在同一个LAB中的中的LE,通过,通过LUT链互连实现宽输入(输入多于链互连实现宽输入(输入多于4个)的逻辑功能;通过寄存器链互连构成移位寄存个)的逻辑功能;通过寄存器链互连构成

45、移位寄存器,而器,而LUT还可以实现其它组合逻辑功能。还可以实现其它组合逻辑功能。Cyclone的的LE可以工作在可以工作在普通模式和动态算术模式普通模式和动态算术模式下。下。64普通模式普通模式 适合适合通用逻辑应用和组合逻辑通用逻辑应用和组合逻辑的实现。每一个的实现。每一个LE可可以通过以通过LUT链连接到下一个链连接到下一个LE。此模式下。此模式下LE的输入的输入信号可作为信号可作为Reg的异步装载信号。的异步装载信号。65动态算术模式动态算术模式 可更好的实现可更好的实现加法器、计数器、累加器、宽输加法器、计数器、累加器、宽输入奇偶校验器和比较器入奇偶校验器和比较器。 此模式的此模式的

46、LE内包含内包含4个二输入个二输入LUT,可被配置,可被配置成动态的加法成动态的加法/减法器结构。减法器结构。66 2个二输入个二输入LUT用于计算和信号,另外两个用来生用于计算和信号,另外两个用来生成进位输出信号。成进位输出信号。674 4、互连信号、互连信号 作用:作用:(在同一个在同一个LAB中中) 局部互连局部互连可以驱动可以驱动LE、连接行与列互连、在、连接行与列互连、在LE之间传输信号;之间传输信号; LUT链链用来链接用来链接LE的的LUT输出和下一个输出和下一个LE的的LUT的输入;的输入; 寄存器链寄存器链用来用来LE的寄存器输出和下一个的寄存器输出和下一个LE的寄的寄存器输

47、入;存器输入; PLL用来调整时钟信号的波形、频率和相位。用来调整时钟信号的波形、频率和相位。68LAB控制控制LE信号生成信号生成 包括包括2个时钟、个时钟、 2个时钟使能、个时钟使能、 2个异步清零、同步清零、同个异步清零、同步清零、同步加载、异步加载步加载、异步加载/预置和加预置和加/减控制等信号。减控制等信号。6970LUT链和寄存器链的使用链和寄存器链的使用715 5、I/OI/O块块 支持多种支持多种I/O接口,符合多种接口,符合多种I/O标准。可以标准。可以支持差分的支持差分的I/O标准,标准,如如LVDS(低压差分串行)和(低压差分串行)和RSDS(去抖动差(去抖动差分信号);也分信号);也支持普通支持普通I/O标准标准,如,如LVTTL、LVCMOS和和PCI等,通过这些常用的端口与板上的其它芯片沟通。等,通过这些常用的端口与板上的其它芯片沟通。 这些内置的这些内置的LVDS缓冲器保持了信号的完整性,并具有缓冲器保持了信号的完整性,并具有更低的电磁干扰和更好的电磁兼容性(更低的电磁干扰和更好的电磁兼容性(EMI)、及更低)、及更低的电源功耗。的电源功耗。726 6、芯片供电、芯片供电 Cyclone支持支持内核电压(内核电压(INTVCC)和)和I/O电压分开电压分开供电供电的方式,的方式, I/O电压取决于使用时需

温馨提示

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

评论

0/150

提交评论