第2章可编程逻辑器件设计方法.ppt
《第2章可编程逻辑器件设计方法.ppt》由会员分享,可在线阅读,更多相关《第2章可编程逻辑器件设计方法.ppt(103页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、可编程逻辑器件设计方法 湖南大学电气与信息工程学院湖南大学电气与信息工程学院 叶佳卓叶佳卓2014.42014.4可编程逻辑器件设计方法-本章概述 可编程逻辑器件可编程逻辑器件(ProgrammableLogicDeviceProgrammableLogicDevice,PLDPLD)产生于上世纪产生于上世纪7070年代,是在专用集成电路年代,是在专用集成电路(ApplicationSpecificIntegratedCircuit,ASICApplicationSpecificIntegratedCircuit,ASIC)基础上发基础上发展起来的一种新型逻辑器件,是当今数字系统设计的主展起来
2、的一种新型逻辑器件,是当今数字系统设计的主要硬件平台,其主要特点就是由用户通过硬件描述语言要硬件平台,其主要特点就是由用户通过硬件描述语言和相关电子设计自动化软件对其进行配置和编程。和相关电子设计自动化软件对其进行配置和编程。可编程逻辑器件设计方法-PLD芯片制造工艺 1 1、熔丝连接技术、熔丝连接技术 最早的允许对器件进行编程的技术是熔丝连接技最早的允许对器件进行编程的技术是熔丝连接技术。在这种技术的器件中,所有逻辑的连接都是靠熔丝连术。在这种技术的器件中,所有逻辑的连接都是靠熔丝连接的。熔丝器件是一次可编程的,一旦编程,永久不能改接的。熔丝器件是一次可编程的,一旦编程,永久不能改变。变。a
3、b逻辑1&ab逻辑1&图2.1熔丝未编程的结构图2.2熔丝编程的结构 可编程逻辑器件设计方法-PLD芯片制造工艺2 2、反熔丝连接技术、反熔丝连接技术反熔丝技术和熔丝技术相反,在未编程时,熔丝没有连反熔丝技术和熔丝技术相反,在未编程时,熔丝没有连接。如果编程后,熔丝将和逻辑单元连接。反熔丝开始是接。如果编程后,熔丝将和逻辑单元连接。反熔丝开始是连接两个金属连接的微型非晶硅柱。连接两个金属连接的微型非晶硅柱。未编程时,成高阻状态。编程结束后,形成连接。反未编程时,成高阻状态。编程结束后,形成连接。反熔丝器件是一次可编程的,一旦编程,永久不能改变。熔丝器件是一次可编程的,一旦编程,永久不能改变。a
4、b逻辑1&ab逻辑1&图2.3熔丝未编程的结构图2.4熔丝编程的结构可编程逻辑器件设计方法-PLD芯片制造工艺3 3、SRAMSRAM技术技术基于静态存储器基于静态存储器SRAMSRAM的可编程器件,值被保存在的可编程器件,值被保存在SRAMSRAM中时,只要系统正常供电信息就不会丢失,否中时,只要系统正常供电信息就不会丢失,否则信息将丢失。则信息将丢失。SRAMSRAM存储数据需要消耗大量的硅面存储数据需要消耗大量的硅面积,且断电后数据丢失。但是这种器件可以反复的编积,且断电后数据丢失。但是这种器件可以反复的编程和修改。程和修改。可编程逻辑器件设计方法-PLD芯片制造工艺4 4、掩膜技术、掩
5、膜技术ROMROM是非易失性的,系统断电后,信息被保留在存是非易失性的,系统断电后,信息被保留在存储单元中。掩膜器件可以读出,但是不能写入信息。储单元中。掩膜器件可以读出,但是不能写入信息。ROMROM单元保存了行和列数据,形成一个阵列,每一列有单元保存了行和列数据,形成一个阵列,每一列有负载电阻使其保持逻辑负载电阻使其保持逻辑1 1,每个行列的交叉有一个关联,每个行列的交叉有一个关联晶体管和一个掩膜连接。晶体管和一个掩膜连接。这种技术代价比较高,基本上很少使用。这种技术代价比较高,基本上很少使用。可编程逻辑器件设计方法-PLD芯片制造工艺 5 5、PROMPROM技术技术PROMPROM是非
6、易失性的,系统断电后,信息被保留在是非易失性的,系统断电后,信息被保留在存储单元中。存储单元中。PROMPROM器件可以编程一次,以后只能读数器件可以编程一次,以后只能读数据而不能写入新的数据。据而不能写入新的数据。PROMPROM单元保存了行和列数单元保存了行和列数据,形成一个阵列,每一列有负载电阻使其保持逻辑据,形成一个阵列,每一列有负载电阻使其保持逻辑1 1,每个行列的交叉有一个关联晶体管和一个掩膜连,每个行列的交叉有一个关联晶体管和一个掩膜连接。接。如果可以多次编程就成为如果可以多次编程就成为EPROMEPROM,EEPROMEEPROM技术。技术。可编程逻辑器件设计方法-PLD芯片制
7、造工艺6 6、FLASHFLASH技术技术FLASHFLASH技术的芯片的檫除的速度比技术的芯片的檫除的速度比PROMPROM技术要快技术要快的多。的多。FLASHFLASH技术可采用多种结构,与技术可采用多种结构,与EPROMEPROM单元类单元类似的具有一个浮置栅晶体管单元和似的具有一个浮置栅晶体管单元和EEPROMEEPROM器件的薄氧器件的薄氧化层特性。化层特性。可编程逻辑器件结构-CPLD芯片内部结构 CPLDCPLD由完全可编程的与由完全可编程的与/或阵列以及宏单元库构成。或阵列以及宏单元库构成。与与/或阵列是可重新编程的,可以实现多种逻辑功能。宏或阵列是可重新编程的,可以实现多种
8、逻辑功能。宏单元则是可实现组合或时序逻辑的功能模块,同时还提供单元则是可实现组合或时序逻辑的功能模块,同时还提供了真值或补码输出和以不同的路径反馈等额外的灵活性。了真值或补码输出和以不同的路径反馈等额外的灵活性。下面给出了下面给出了CPLDCPLD的内部结构图。的内部结构图。可编程逻辑器件结构-CPLD芯片内部结构可编程逻辑器件结构-CPLD芯片内部结构(功能块)FB内部的逻辑使用积之和SOP描述。36个输入提供了72个真和互补信号到可编程的“与”阵列来生成90个乘积项。最多可用的90个乘积项可以通过乘积项分配器分配到一个每个宏单元。可编程逻辑器件结构-CPLD芯片内部结构(宏单元)图2.7宏
9、单元的内部结构触发器资源触发器资源组合逻辑资源组合逻辑资源可编程逻辑器件结构-CPLD芯片内部结构(宏单元)从数字电路的知识知道从数字电路的知识知道,任何一个数字系统是由组合任何一个数字系统是由组合逻辑电路和时序电路构成的逻辑电路和时序电路构成的.所以宏单元应该是所以宏单元应该是CPLDCPLD芯片最重要的功能单元芯片最重要的功能单元.因为因为数字系统的逻辑功能是在宏单元内实现的数字系统的逻辑功能是在宏单元内实现的.可编程逻辑器件结构-CPLD芯片内部结构(快速连接矩阵)快速连接开关矩阵的内部结构快速连接矩阵快速连接矩阵可编程逻辑器件结构-CPLD芯片内部结构IO块内部逻辑可编程逻辑器件设计方
10、法-FPGA芯片的内部结构芯片的内部结构 现场可编程门阵列现场可编程门阵列(FieldProgrammableGateArray,(FieldProgrammableGateArray,FPGA)FPGA)是在是在PALPAL、GALGAL、EPLDEPLD、CPLDCPLD等可编程器件的等可编程器件的基础上进一步发展起来的,它是作为基础上进一步发展起来的,它是作为ASICASIC领域中的一种领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。服了原有可编程器件门电路有限的缺点。由于由于FPGAFPGA
11、需要被反复烧写,它实现组合逻辑的基需要被反复烧写,它实现组合逻辑的基本结构不可能像本结构不可能像ASICASIC那样通过固定的与非门来完成,而那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流满足这一要求,目前主流FPGAFPGA都采用了基于都采用了基于SRAMSRAM工艺工艺的查找表结构,也有一些军品和宇航级的查找表结构,也有一些军品和宇航级FPGAFPGA采用采用FlashFlash或者熔丝与反熔丝工艺的查找表结构。或者熔丝与反熔丝工艺的查找表结构。可编程逻辑器件设计方法-FPGA芯片的内部结
12、构芯片的内部结构(查找表查找表)由布尔代数理论可知,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果,所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(4输入查找表输入查找表)实际逻辑电实际逻辑电路路LUT实现实现方式方式a,b,c,d输输入入逻辑输逻辑输出出RAM地址地址RAM中存中存储储内容内容00000000000001000010.1111111111可编程逻辑器
13、件设计方法-FPGA芯片的内部结构芯片的内部结构(4输入查找表输入查找表)查找表(查找表(Look-Up-TableLook-Up-Table)简称为)简称为LUTLUT,LUTLUT本质上本质上就是一个就是一个RAMRAM。目前。目前FPGAFPGA中多使用中多使用4 4输入的输入的LUTLUT,所以,所以每一个每一个LUTLUT可以看成一个有可以看成一个有4 4位地址线的位地址线的RAMRAM。当用户通过原理图或当用户通过原理图或HDLHDL语言描述了一个逻辑电路语言描述了一个逻辑电路以后,以后,PLD/FPGAPLD/FPGA开发软件会自动计算逻辑电路的所有开发软件会自动计算逻辑电路的所
14、有可能结果,并把真值表(即结果)事先写入可能结果,并把真值表(即结果)事先写入RAMRAM,这,这样,每输入一个信号进行逻辑运算就等于输入一个地址样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。进行查表,找出地址对应的内容,然后输出即可。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(4输入查找表输入查找表)LUTLUT具有和逻辑电路相同的功能。实际上,具有和逻辑电路相同的功能。实际上,LUTLUT具有具有更快的执行速度和更大的规模。更快的执行速度和更大的规模。LUTLUT具有下面的特点:具有下面的特点:1 1)LUTLUT实现组合逻辑
15、的功能由输入决定,而不是由实现组合逻辑的功能由输入决定,而不是由 复杂度决定;复杂度决定;2 2)LUTLUT实现组合逻辑有固定的传输延迟;实现组合逻辑有固定的传输延迟;多年以来,四输入多年以来,四输入 LUTLUT一直是业界标准。但是,在一直是业界标准。但是,在65nm65nm工艺条件下,相较于其它电路(特别是互连电工艺条件下,相较于其它电路(特别是互连电路),路),LUTLUT的常规结构大大缩小。的常规结构大大缩小。一个具有四倍比特位的六输入一个具有四倍比特位的六输入LUT(6-LUT)LUT(6-LUT)仅仅将仅仅将 CLBCLB面积提高了面积提高了15%-15%-但是平均而言,每个但是
16、平均而言,每个 LUTLUT上可集上可集成的逻辑数量却增加了成的逻辑数量却增加了40%40%。更高的逻辑密度通常可以降。更高的逻辑密度通常可以降低级联低级联 LUTLUT的数目,并且改进关键路径延迟性能。的数目,并且改进关键路径延迟性能。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(6输入查找表输入查找表)可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(6输入查找表输入查找表)新一代的新一代的FPGAFPGA提供了真正的提供了真正的 6-LUT6-LUT,可以将,可以将它用作逻辑或者分布式存储器,这时它用作逻辑或者分布式存储器,这时 LUTLUT是一个是一个646
17、4位的分布式位的分布式 RAMRAM(甚至双端口或者四端口)或者一(甚至双端口或者四端口)或者一个个3232位可编程移位寄存器。位可编程移位寄存器。每个每个 LUTLUT具有两个输出,从而实现了五个变量具有两个输出,从而实现了五个变量的两个逻辑函数,存储的两个逻辑函数,存储32x2RAM32x2RAM比特,或者作为比特,或者作为16x2-bit16x2-bit的移位寄存器进行工作。的移位寄存器进行工作。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(6输入查找表输入查找表)4/6输入输入LUT实现实现8:1多路复用器的原理多路复用器的原理可编程逻辑器件设计方法-FPGA芯片的内部
18、结构芯片的内部结构(6输入查找表输入查找表)XilinxSpartan-6FPGA芯片的内部版图结构,随着FPGA集成度的不断增加,其功能不断的增强,新一代的FPGA芯片内部结构包含:nGTP收发器nCLB单元nPCI-E块nIO组n存储器控制块n块存储器nDSP模块n时钟管理模块等资源。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(CLB)可配置的逻辑块(ConfigurableLogicBlock,CLB)是主要的逻辑资源,用于实现顺序和组合逻辑电路。每个CLB连接到一个开关矩阵用于访问通用的布线资源。一个CLB包含一对切片Slice。这两个切片没有直接的相互连接,每个切片
19、通过列组织在一起。对于每个CLB,CLB底下的切片标号为SLICE(0),CLB上面的切片标号为SLICE(1)。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(CLB)X X后面的数字标识切片对内每个后面的数字标识切片对内每个切片的位置,以及切片列的位置。切片的位置,以及切片列的位置。X X编号计算切片位置从底部以顺序编号计算切片位置从底部以顺序0 0,1 1开始计算(第开始计算(第1 1列列CLBCLB););2 2,3(3(第第2 2列列CLB)CLB)。Y Y编号后的数字标识编号后的数字标识切片的行位置。图中的切片的行位置。图中的4 4个个CLBCLB位于位于硅片的左下角
20、的位置。硅片的左下角的位置。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(SLICE)LUT进位链进位链触发器触发器复用器复用器触发器触发器可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(时钟资源时钟资源)Spartan-6Spartan-6的的FPGAFPGA时钟资源包含下面四种类型的连接:时钟资源包含下面四种类型的连接:全局时钟输入引脚全局时钟输入引脚(GCLK)(GCLK);全局时钟复用开关(全局时钟复用开关(BUFG,BUFGMUXBUFG,BUFGMUX)I/OI/O时钟缓冲区(时钟缓冲区(BUFIO2,BUFIO2_2CLK,BUFPLLBUFIO2,
21、BUFIO2_2CLK,BUFPLL)水平的时钟布线缓冲区(水平的时钟布线缓冲区(BUFHBUFH)Spartan-6Spartan-6的的FPGAFPGA包含两种类型的时钟网络:包含两种类型的时钟网络:提供了提供了1616个高速,低抖动的全局时钟资源来优化性能。这些个高速,低抖动的全局时钟资源来优化性能。这些资源通过资源通过EDAEDA软件工具自动的使用。软件工具自动的使用。提供了提供了4040个超高速、低抖动的个超高速、低抖动的I/OI/O区域时钟资源。用于服务本区域时钟资源。用于服务本地的地的I/OI/O串行串行/解串行电路。解串行电路。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片
22、的内部结构(时钟资源时钟资源)DCM的符号可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(BRAM)大多数大多数FPGAFPGA都具有内嵌都具有内嵌的块的块RAMRAM,这大大拓展了,这大大拓展了FPGAFPGA的应用范围和灵活性。的应用范围和灵活性。块块RAMRAM可被配置为可被配置为:1)1)单端口单端口RAMRAM;2 2)双端口)双端口RAMRAM;3 3)内容地址存储器)内容地址存储器(CAMCAM););4 4)FIFOFIFO等常用存储结构。等常用存储结构。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(BRAM)单片块单片块RAMRAM的容量为的容量
23、为18k18k比特,即位宽为比特,即位宽为1818比特、深比特、深度为度为10241024,可以根据需要改变位宽和深度,但要满足:,可以根据需要改变位宽和深度,但要满足:1)1)修改后的容量(位宽修改后的容量(位宽 深度)不能大于深度)不能大于18k18k比特;比特;2)2)位宽最大不能超过位宽最大不能超过3636比特比特;当然,可以将多片块当然,可以将多片块RAMRAM级联起来形成更大的级联起来形成更大的RAMRAM,此时只受限于芯片内块此时只受限于芯片内块RAMRAM的数量,而不再受上面两条的数量,而不再受上面两条原则约束。原则约束。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部
24、结构(布线资源布线资源)互联是互联是FPGAFPGA内用于在功能元件,比如内用于在功能元件,比如IOBIOB,CLBCLB,DSPDSP和和BRAMBRAM,的输入和输出信号通路的可编程网络。互,的输入和输出信号通路的可编程网络。互联也称为布线,被分段用于最优的连接。联也称为布线,被分段用于最优的连接。Spartan-6FPGACLBSpartan-6FPGACLB在在FPGAFPGA内以规则的阵列排列。内以规则的阵列排列。如下图,每个到开关矩阵的连接用来访问通用的布线资如下图,每个到开关矩阵的连接用来访问通用的布线资源。源。可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(布线资
25、源布线资源)图2.20FPGA内的布线资源可编程逻辑器件设计方法-FPGA芯片的内部结构芯片的内部结构(存储器控制器存储器控制器)Spartan-6FPGASpartan-6FPGA内内集成了硬的存储器控制集成了硬的存储器控制器,器,FPGAFPGA内集成的硬存内集成的硬存储器控制器减少了设计储器控制器减少了设计的时间,并且支持的时间,并且支持DDR,DDR,DDR2,DDR3&LPDDRDDR2,DDR3&LPDDR。特点具体体现高性能最大800Mbps低成本节约软件逻辑,较小的晶圆低功耗专用的逻辑容易设计时间收敛不再是一个问题可配置的多端口用户接口核生成器/MIG向导&EDK支持可编程逻辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 逻辑 器件 设计 方法
限制150内