FPGA竞争冒险详解_第1页
FPGA竞争冒险详解_第2页
FPGA竞争冒险详解_第3页
FPGA竞争冒险详解_第4页
FPGA竞争冒险详解_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、1 引言 现场可编程门阵列(FPGA)在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。 FPGA可以替代其他PLD或者各种中小规模数字逻辑芯片在数字系统中广泛应用,也是实现具有不同逻辑功能ASIC的有效办法。FPGA是进行原型设计最理想的载体,原型机的最初框架和实现通过PFGA来验证,可以降低成本、缩短开发周期。利用FPGA的可重配置功能,可以在使用过程中,在不改变所设计的设备的硬件电路情况下,改变设备的功能。但和所有的数字电路一样,FPGA电路中也存在毛刺问题。它的出现会影响电路工作的可靠性、稳定性,严重时会导致整个数字系统的误动作和逻辑紊乱。在此详

2、细论述了解决此问题的多种方法。2 FPGA的功能和结构特点2.1 FPGA的功能 FPGA的功能由逻辑结构的配置数据决定,在工作时,这些配置数据存放在片内的SRAM或者熔丝图上。使用SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据,这些配置数据可以存放在片外的EPROM或其他存储体上,人们可以控制加载过程,在现场修改器件的逻辑功能。图1 实际逻辑电路图2 LLUT的的实现方方式2.2 FPGGA的结结构特点点 FFPGAA使用了了可编程程的查找找表(LLookk Upp Taablee ,LLUT)结构,LUTT是可编编程的最最小逻辑辑构成单单元。大大部分FFPGAA采用基基于SRR

3、AM的的查找表表逻辑形形成结构构,就是是用SRRAM(静态随随机存储储器)来来构成逻逻辑函数数发生器器。图11、2分分别是44输入LLUT的的实际逻逻辑电路路和LUUT的实实现方式式。FLLEX110KEE系列器器件的结结构和工工作原理理在Allterra的FFPGAA器件中中具有典典型性,下面以以此类器器件为例例,介绍绍PFGGA的结结构。其其内部结结构如图图3所示示:图3 FFLEXX10KKE内部部结构 FLLEX110KEE内部结结构包含含嵌入式式阵列块块(EAAB,EEmbeeddeed AArraay BBlocck)、逻辑阵阵列块(LABB,Loogicc Arrrayy Bll

4、ockk)、快快速通道道(Faast Traack)互连和和输入/输出单单元(II/O Eleemennt,IIOE)四部分分。(11) 嵌嵌入式阵阵列用来来实现各各种存储储器及复复杂的逻逻辑功能能,如数数字信号号处理、微控制制器等。嵌入式式阵列由由一系列列嵌入式式阵列块块(EAAB)构构成。EEAB是是在输入入输出口口上具有有寄存器器的能变变形的RRAM块块。(22) 逻逻辑阵列列用来实实现普通通逻辑功功能,如如计数器器、加法法器、状状态机等等。逻辑辑阵列由由一系列列逻辑阵阵列块(LABB)构成成。每个个LABB包含八八个LEE和一些些局部互互连。LLAB 构成了了FLEEX100KE的的“

5、粗粒度度”结构,有利于于EDAA软件进进行布局局布线,优化器器件的利利用,提提高性能能。LEE是FLLEX110KEE结构中中的最小小单元,每个LLE 含含有一个个4输入入查找表表(LUUT)、一个带带有同步步使能的的可编程程触发器器(Prrogrrammmablle RRegiisteer)、一个进进位链(Carrry Chaain)和一个个级连链链(Caascaade)。每个个LE都都能驱动动LABB局部互互连(LLAB Loccal Inttercconnnectt)和快快速通道道互连(Fasst TTracck IInteercoonneect)。LEE的内部部结构如如图4所所示。图4

6、 逻辑单单元(LLE)内内部结构构(3) 器件内内部信号号的互连连和器件件引出端端之间的的信号互互连由快快速通道道(FaastTTracck)连连线提供供,FaastTTracck遍布布于整个个FLEEX100KE器器件,是是一系列列水平和和垂直走走向的连连续式布布线通道道。FaastTTracck互连连是一系系列贯通通器件行行、列的的快速连连接通道道。(44) II/O引引出端由由一些II/O单单元(IIOE)驱动。IOEE位于快快速通道道的行和和列的末末端,每每个IOOE有一一个双向向I/OO缓冲器器和一个个既可做做输入寄寄存器也也可做输输出寄存存器的触触发器。3 竞竞争冒险险 在在组合电

7、电路中,当逻辑辑门有两两个互补补输入信信号同时时向相反反状态变变化时,输出端端可能产产生过渡渡干扰脉脉冲的现现象,称称为竞争争冒险。3.11 FPPGA中中产生竞竞争冒险险的原因因 信信号在FFPGAA器件内内部通过过连线和和逻辑单单元时,都有一一定的延延时。延延时的大大小与连连线的长长短和逻逻辑单元元的数目目有关,同时还还受器件件的制造造工艺、工作电电压、温温度等条条件的影影响。信信号的高高低电平平转换也也需要一一定的过过渡时间间。由于于存在这这两方面面因素,多路信信号的电电平值发发生变化化时,在在信号变变化的瞬瞬间,组组合逻辑辑的输出出有先后后顺序,并不是是同时变变化,往往往会出出现一些些

8、不正确确的尖峰峰信号,这些尖尖峰信号号称为“毛刺”。如果果一个组组合逻辑辑电路中中有“毛刺”出现,就说明明该电路路存在“冒险”。(与与分立元元件不同同,由于于PLDD内部不不存在寄寄生电容容电感,这些毛毛刺将被被完整的的保留并并向下一一级传递递,因此此毛刺现现象在PPLD、FPGGA 设设计中尤尤为突出出)3.2 FFPGAA中竞争争冒险的的危害 图55给出了了一个逻逻辑冒险险的例子子,从图图6的仿仿真波形形可以看看出,“A、BB、C、D”四个输输入信号号经过布布线延时时以后,高低电电平变换换不是同同时发生生的,这这导致输输出信号号“OUTT”出现了了毛刺。而当数数据完全全稳定的的时候,毛刺信

9、信号也就就自然消消失了。可以概概括的讲讲,只要要输入信信号不同同时变化化,(经经过内部部走线)组合逻逻辑必将将产生毛毛刺。将将它们的的输出直直接连接接到时钟钟输入端端、清零零或置位位端口的的设计方方法是错错误的,这可能能会导致致严重的的后果。而现在在FPGGA设计计中的信信号往往往是由时时钟控制制的,多多数据输输入的复复杂运算算系统,甚至每每个数据据都由相相当多的的位数组组成。这这时,每每一级的的毛刺都都会对结结果有严严重的影影响,如如果是多多级的设设计,那那么毛刺刺累加后后甚至会会影响整整个设计计的可靠靠性和精精确性。时钟端端口、清清零和置置位端口口对毛刺刺信号十十分敏感感,任何何一点毛毛刺

10、都可可能会使使系统出出错,因因此判断断逻辑电电路中是是否存在在冒险以以及如何何避免冒冒险是设设计人员员必须要要考虑的的问题。图5 一一个逻辑辑冒险的的例子图6 仿仿真波形形 任何何组合电电路、反反馈电路路和计数数器都可可能是潜潜在的毛毛刺信号号发生器器。毛刺刺并不是是对所有有输入都都有危害害,如触触发器的的输入入端,只只要毛刺刺不出现现在时钟钟的上升升沿并满满足数据据的建立立保持时时间,就就不会对对系统造造成危害害。而当当毛刺信信号成为为系统的的启动信信号、控控制信号号、握手手信号,触发器器的清零零信号(CLEEAR)、预置置信号(PREESETT)、时时钟输入入信号(CLKK)或锁锁存器的的

11、输入信信号就会会产生逻逻辑错误误。任何何一点毛毛刺都可可能使系系统出错错。3 毛刺的的消除33.1 利用冗冗余项消消除毛刺刺 函函数式和和真值表表所描述述的是静静态逻辑辑,而竞竞争则是是从一种种稳态到到另一种种稳态的的过程。因此竞竞争是动动态过程程,它发发生在输输入变量量变化时时。此时时,修改改卡诺图图,增加加多余项项,在卡卡诺图的的两圆相相切处增增加一个个圆,可可以消除除逻辑冒冒险。但但该法对对于计数数器型产产生的毛毛刺是无无法消除除的。3.22 采用用格雷码码 我我们可以以通过改改变设计计,破坏坏毛刺产产生的条条件,来来减少毛毛刺的发发生。例例如,在在数字电电路设计计中,常常常采用用格雷码

12、码计数器器取代普普通的二二进制计计数器,这是因因为格雷雷码计数数器的输输出每次次只有一一位跳变变,消除除了竞争争冒险的的发生条条件,避避免了毛毛刺的产产生。33.3 采样法法 由由于冒险险出现在在变量发发生变化化的时刻刻,如果果待信号号稳定之之后加入入取样脉脉冲,那那么就只只有在取取样脉冲冲作用期期间输出出的信号号才能有有效。这这样可以以避免产产生的毛毛刺影响响输出波波形。 一般般说来,冒险出出现在信信号发生生电平转转换的时时刻,也也就是说说在输出出信号的的建立时时间内会会发生冒冒险,而而在输出出信号的的保持时时间内是是不会有有毛刺信信号出现现的。如如果在输输出信号号的保持持时间内内对其进进行

13、“采样”,就可可以消除除毛刺信信号的影影响。 有两两种基本本的采样样方法:一种方方法是在在输出信信号的保保持时间间内,用用一定宽宽度的高高电平脉脉冲与输输出信号号做逻辑辑“与”运算,由此获获取输出出信号的的电平值值。图77说明了了这种方方法,采采样脉冲冲信号从从输入引引脚“SAMMPLEE”引入。从图88的仿真真波形上上可以看看出,毛毛刺信号号出现在在“TESST”引脚上上,而“OUTT”引脚上上的毛刺刺已被消消除了。图7 采样样法一图8 采样样法一仿仿真波形形 上述述方法的的一个缺缺点是必必须人为为的保证证sammplee信号必必须在合合适的时时间中产产生,另另一种更更常见的的方法是是利用D

14、D触发器器的D输输入端对对毛刺信信号不敏敏感的特特点,在在输出信信号的保保持时间间内,用用触发器器读取组组合逻辑辑的输出出信号,这种方方法类似似于将异异步电路路转化为为同步电电路。图图9给出出了这种种方法的的示范电电路,图图 100是仿真真波形。在仿真真时,我我们也可可能会发发现在FFPGAA器件对对外输出出引脚上上有输出出毛刺,但由于于毛刺很很短,加加上PCCB本身身的寄生生参数,大多数数情况下下,毛刺刺通过PPCB走走线,基基本可以以自然被被虑除,不用再再外加阻阻容滤波波。图9 采样法法二图10 采样法法二仿真真波形3.4 吸收法法 增加加输出滤滤波,在在输出端端接上小小电容可以滤滤除毛刺

15、刺,图111所示示。但输输出波形形的前后后沿将变变坏,在在对波形形要求较较严格时时,应再再加整形形电路,该方法法不宜在在中间级级使用。图11 吸收收法消除除毛刺图图3.5 延迟办办法 因为毛毛刺最终终是由于于延迟造造成的,所以可可以找出出产生延延迟的支支路。对对于相对对延迟小小的支路路,加上上毛刺宽宽度的延延迟可以以消除毛毛刺。当当需要对对某一信信号作一一段延时时时,初初学者往往往在此此信号后后串接一一些非门门或其它它门电路路,此方方法在分分离电路路中是可可行的。但在FFPGAA中,开开发软件件在综合合设计时时会将这这些门当当作冗余余逻辑去去掉,达达不到延延时的效效果。用用Altteraa公司

16、的的 MaaxpllusIII开发发FPGGA时,可以通通过插入入一些LLCELLL原语语或调用用延时线线模块来来产生一一定的延延时,但但这样形形成的延延时在FFPGAA芯片中中并不稳稳定,会会随温度度等外部部环境的的改变而而改变,因此并并不提倡倡这样。在此,可以用用高频时时钟来驱驱动一移移位寄存存器,待待延时信信号作数数据输入入,按所所需延时时正确设设置移位位寄存器器的级数数,移位位寄存器器的输出出即为延延时后的的信号。在此以以实现双双口RAAM的读读写时序序中IDDT71132的的读时序序为例,时序图图如图112所示示。无论论用CEE还是OOE来控控制读取取,都需需要CEE或OEE保持一一

17、段低电电平。令令OE保保持低电电平,CCE平时时为高电电平,读读双口RRAM时时触发CCE变为为低电平平,延迟迟一小段段时间再再恢复高高电平。本设计计产生这这段延时时的方法法是用高高频计数数器产生生,具体体方法为为:在FFPGAA中设计计一个计计数器,取系统统可用的的高频时时钟(周周期小于于所需延延时)驱驱动它计计数,计计到设定定好的终终值时产产生触发发脉冲。不同的的计数终终值可以以产生不不同的延延时。此此方法所所产生的的延时为为高频时时钟周期期的整数数倍,若若高频时时钟周期期与所需需延时相相比很小小,则延延时较精精确,否否则只能能做一粗粗略的延延时。图12 双口口RAMM IDDT71132

18、读读操作时时序图4 FPPGA设设计中避避免毛刺刺的其他他注意事事项4.1 电电路选用用 要要用寄存存器和触触发器设设计电路路,尽量量不要用用锁存器器,因它它对输入入信号的的毛刺太太敏感。如果坚坚持用锁锁存器设设计必须须保证输输入信号号绝对没没有毛刺刺,且满满足保持持时间。4.22 译码码器 设计设设计译码码逻辑电电路时必必须十分分小心,因为译译码器和和比较器器本身会会产生尖尖峰,容容易产生生毛刺,把译码码器或比比较器的的输出直直接连到到时钟输输入端或或异步清清除端,会造成成严重的的后果。4.33 避免免隐含RRS触发发器 应该尽尽量避免免隐含RRS触发发器的出出现。一一般要控控制输出出被直接

19、接反馈到到输入端端,采用用反馈环环路会出出现隐含含RS触触发器,其对输输入尖峰峰和假信信号很敏敏感,输输入端有有任何变变化都有有可能使使输出值值立刻改改变,此此时易造造成毛刺刺的产生生,导致致时序的的严重混混乱。一一旦具有有隐含的的RS触触发器,加锁存存器消除除毛刺是是不能解解决问题题的。此此时只有有通过全全面修改改电路来来从根本本上解决决。4.4 避避免使用用多时钟钟设计 每一一个模块块中只用用一个时时钟,避避免使用用多时钟钟设计,同时避避免使用用主时钟钟分频后后的二次次时钟作作为时序序器件的的时钟输输入,因因为二次次时钟相相对于一一次时钟钟可能存存在过大大的时钟钟歪斜。对所有有模块的的输入

20、时时钟、输输入信号号、输出出信号都都用触触发器或或寄存器器进行同同步处理理,即输输出信号号直接来来自触发发器或寄寄存器的的输出端端。这样样可以消消除尖峰峰和毛刺刺信号。不论是是控制信信号还是是地址总总线信号号、数据据总线信信号,都都要采用用另外的的寄存器器,以使使内部歪歪斜的数数据变成成同步数数据。这这些表面面上看似似乎无用用的操作作可以大大大提高高电路系系统的性性能。44.5 避免使使用延迟迟线 应该尽尽量避免免使用延延迟线,因它对对工艺过过程的变变化极为为敏感,会大大大降低电电路的稳稳定性和和可靠性性,并将将为测试试带来麻麻烦。44.6 充分利利用资源源 大大部分FFPGAA器件都都为时钟钟、复位位、预置置等信号号提供特特殊的全全局布线线资源,要充分分利用这这些资源源。这样样可以减减少电路路中的毛毛刺并且且大大提提高设计计电路的的性能.4.77 不要要期望仿仿真器替替你找到到毛刺错错误 注意仿仿真结果果和实际际综合的的电路的的不一致致性。无无论是时时序电路路还

温馨提示

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

评论

0/150

提交评论