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

下载本文档

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

文档简介

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

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

3、M的查查找表逻逻辑形成成结构,就就是用SSRAMM(静态态随机存存储器)来构成成逻辑函函数发生生器。图图1、22分别是是4输入入LUTT的实际际逻辑电电路和LLUT的的实现方方式。FFLEXX10KKE系列列器件的的结构和和工作原原理在AAlteera的的FPGGA器件件中具有有典型性性,下面面以此类类器件为为例,介介绍PFFGA的的结构。其其内部结结构如图图3所示示:图3 FLLEX110KEE内部结结构 FLEEX100KE内内部结构构包含嵌嵌入式阵阵列块(EABB,Emmbedddedd Arrrayy Bllockk)、逻逻辑阵列列块(LLAB,LLogiic AArraay BBlo

4、cck)、快快速通道道(Faast Traack)互连和和输入/输出单单元(II/O Eleemennt,IIOE)四部分分。(11) 嵌嵌入式阵阵列用来来实现各各种存储储器及复复杂的逻逻辑功能能,如数数字信号号处理、微微控制器器等。嵌嵌入式阵阵列由一一系列嵌嵌入式阵阵列块(EABB)构成成。EAAB是在在输入输输出口上上具有寄寄存器的的能变形形的RAAM块。(2) 逻辑阵列用来实现普通逻辑功能,如计数器、加法器、状态机等。逻辑阵列由一系列逻辑阵列块(LAB)构成。每个LAB包含八个LE和一些局部互连。LAB 构成了FLEX10KE的“粗粒度”结构,有利于EDA软件进行布局布线,优化器件的利用

5、,提高性能。LE是FLEX10KE结构中的最小单元,每个LE 含有一个4输入查找表(LUT)、一个带有同步使能的可编程触发器(Programmable Register)、一个进位链(Carry Chain)和一个级连链(Cascade)。每个LE都能驱动LAB局部互连(LAB Local Interconnect)和快速通道互连(Fast Track Interconnect)。LE的内部结构如图4所示。图4 逻逻辑单元元(LEE)内部部结构(3) 器器件内部部信号的的互连和和器件引引出端之之间的信信号互连连由快速速通道(FasstTrrackk)连线线提供,FFasttTraack遍遍布于

6、整整个FLLEX110KEE器件,是是一系列列水平和和垂直走走向的连连续式布布线通道道。FaastTTracck互连连是一系系列贯通通器件行行、列的的快速连连接通道道。(44) II/O引引出端由由一些II/O单单元(IIOE)驱动。IIOE位位于快速速通道的的行和列列的末端端,每个个IOEE有一个个双向II/O缓缓冲器和和一个既既可做输输入寄存存器也可可做输出出寄存器器的触发发器。33 竞争争冒险 在组组合电路路中,当当逻辑门门有两个个互补输输入信号号同时向向相反状状态变化化时,输输出端可可能产生生过渡干干扰脉冲冲的现象象,称为为竞争冒冒险。33.1 FPGGA中产产生竞争争冒险的的原因 信

7、号号在FPPGA器器件内部部通过连连线和逻逻辑单元元时,都都有一定定的延时时。延时时的大小小与连线线的长短短和逻辑辑单元的的数目有有关,同同时还受受器件的的制造工工艺、工工作电压压、温度度等条件件的影响响。信号号的高低低电平转转换也需需要一定定的过渡渡时间。由由于存在在这两方方面因素素,多路路信号的的电平值值发生变变化时,在在信号变变化的瞬瞬间,组组合逻辑辑的输出出有先后后顺序,并并不是同同时变化化,往往往会出现现一些不不正确的的尖峰信信号,这这些尖峰峰信号称称为“毛刺”。如果果一个组组合逻辑辑电路中中有“毛刺”出现,就就说明该该电路存存在“冒险”。(与与分立元元件不同同,由于于PLDD内部不

8、不存在寄寄生电容容电感,这这些毛刺刺将被完完整的保保留并向向下一级级传递,因因此毛刺刺现象在在PLDD、FPPGA 设计中中尤为突突出)33.2 FPGGA中竞竞争冒险险的危害害 图图5给出出了一个个逻辑冒冒险的例例子,从从图6的的仿真波波形可以以看出,“A、B、C、D”四个输入信号经过布线延时以后,高低电平变换不是同时发生的,这导致输出信号“OUT”出现了毛刺。而当数据完全稳定的时候,毛刺信号也就自然消失了。可以概括的讲,只要输入信号不同时变化,(经过内部走线)组合逻辑必将产生毛刺。将它们的输出直接连接到时钟输入端、清零或置位端口的设计方法是错误的,这可能会导致严重的后果。而现在FPGA设计

9、中的信号往往是由时钟控制的,多数据输入的复杂运算系统,甚至每个数据都由相当多的位数组成。这时,每一级的毛刺都会对结果有严重的影响,如果是多级的设计,那么毛刺累加后甚至会影响整个设计的可靠性和精确性。时钟端口、清零和置位端口对毛刺信号十分敏感,任何一点毛刺都可能会使系统出错,因此判断逻辑电路中是否存在冒险以及如何避免冒险是设计人员必须要考虑的问题。图5 一个个逻辑冒冒险的例例子图6 仿真真波形 任何组组合电路路、反馈馈电路和和计数器器都可能能是潜在在的毛刺刺信号发发生器。毛毛刺并不不是对所所有输入入都有危危害,如如触发器器的输输入端,只只要毛刺刺不出现现在时钟钟的上升升沿并满满足数据据的建立立保

10、持时时间,就就不会对对系统造造成危害害。而当当毛刺信信号成为为系统的的启动信信号、控控制信号号、握手手信号,触触发器的的清零信信号(CCLEAAR)、预预置信号号(PRRESEET)、时时钟输入入信号(CLKK)或锁锁存器的的输入信信号就会会产生逻逻辑错误误。任何何一点毛毛刺都可可能使系系统出错错。3 毛刺的的消除33.1 利用冗冗余项消消除毛刺刺 函函数式和和真值表表所描述述的是静静态逻辑辑,而竞竞争则是是从一种种稳态到到另一种种稳态的的过程。因因此竞争争是动态态过程,它它发生在在输入变变量变化化时。此此时,修修改卡诺诺图,增增加多余余项,在在卡诺图图的两圆圆相切处处增加一一个圆,可可以消除

11、除逻辑冒冒险。但但该法对对于计数数器型产产生的毛毛刺是无无法消除除的。3.22 采用用格雷码码 我我们可以以通过改改变设计计,破坏坏毛刺产产生的条条件,来来减少毛毛刺的发发生。例例如,在在数字电电路设计计中,常常常采用用格雷码码计数器器取代普普通的二二进制计计数器,这这是因为为格雷码码计数器器的输出出每次只只有一位位跳变,消消除了竞竞争冒险险的发生生条件,避避免了毛毛刺的产产生。33.3 采样法法 由由于冒险险出现在在变量发发生变化化的时刻刻,如果果待信号号稳定之之后加入入取样脉脉冲,那那么就只只有在取取样脉冲冲作用期期间输出出的信号号才能有有效。这这样可以以避免产产生的毛毛刺影响响输出波波形

12、。 一般般说来,冒冒险出现现在信号号发生电电平转换换的时刻刻,也就就是说在在输出信信号的建建立时间间内会发发生冒险险,而在在输出信信号的保保持时间间内是不不会有毛毛刺信号号出现的的。如果果在输出出信号的的保持时时间内对对其进行行“采样”,就可可以消除除毛刺信信号的影影响。 有两两种基本本的采样样方法:一种方方法是在在输出信信号的保保持时间间内,用用一定宽宽度的高高电平脉脉冲与输输出信号号做逻辑辑“与”运算,由由此获取取输出信信号的电电平值。图图7说明明了这种种方法,采采样脉冲冲信号从从输入引引脚“SAMMPLEE”引入。从从图8的的仿真波波形上可可以看出出,毛刺刺信号出出现在“TESST”引脚

13、上上,而“OUTT”引脚上上的毛刺刺已被消消除了。图7 采样法法一图8 采样法法一仿真真波形 上述方方法的一一个缺点点是必须须人为的的保证ssampple信信号必须须在合适适的时间间中产生生,另一一种更常常见的方方法是利利用D触触发器的的D输入入端对毛毛刺信号号不敏感感的特点点,在输输出信号号的保持持时间内内,用触触发器读读取组合合逻辑的的输出信信号,这这种方法法类似于于将异步步电路转转化为同同步电路路。图99给出了了这种方方法的示示范电路路,图 10是是仿真波波形。在在仿真时时,我们们也可能能会发现现在FPPGA器器件对外外输出引引脚上有有输出毛毛刺,但但由于毛毛刺很短短,加上上PCBB本身

14、的的寄生参参数,大大多数情情况下,毛刺通通过PCCB走线线,基本本可以自自然被虑虑除,不不用再外外加阻容容滤波。图9 采采样法二二图10 采采样法二二仿真波波形3.4 吸吸收法 增加输输出滤波波,在输输出端接接上小电电容可可以滤除除毛刺,图图11所所示。但但输出波波形的前前后沿将将变坏,在在对波形形要求较较严格时时,应再再加整形形电路,该该方法不不宜在中中间级使使用。图11 吸收法法消除毛毛刺图3.5 延延迟办法法 因因为毛刺刺最终是是由于延延迟造成成的,所所以可以以找出产产生延迟迟的支路路。对于于相对延延迟小的的支路,加加上毛刺刺宽度的的延迟可可以消除除毛刺。当当需要对对某一信信号作一一段延

15、时时时,初初学者往往往在此此信号后后串接一一些非门门或其它它门电路路,此方方法在分分离电路路中是可可行的。但但在FPPGA中中,开发发软件在在综合设设计时会会将这些些门当作作冗余逻逻辑去掉掉,达不不到延时时的效果果。用AAlteera公公司的 MaxxpluusIII开发FFPGAA时,可可以通过过插入一一些LCCELLL原语或或调用延延时线模模块来产产生一定定的延时时,但这这样形成成的延时时在FPPGA芯芯片中并并不稳定定,会随随温度等等外部环环境的改改变而改改变,因因此并不不提倡这这样。在在此,可可以用高高频时钟钟来驱动动一移位位寄存器器,待延延时信号号作数据据输入,按按所需延延时正确确设

16、置移移位寄存存器的级级数,移移位寄存存器的输输出即为为延时后后的信号号。在此此以实现现双口RRAM的的读写时时序中IIDT771322的读时时序为例例,时序序图如图图12所所示。无无论用CCE还是是OE来来控制读读取,都都需要CCE或OOE保持持一段低低电平。令令OE保保持低电电平,CCE平时时为高电电平,读读双口RRAM时时触发CCE变为为低电平平,延迟迟一小段段时间再再恢复高高电平。本本设计产产生这段段延时的的方法是是用高频频计数器器产生,具具体方法法为:在在FPGGA中设设计一个个计数器器,取系系统可用用的高频频时钟(周期小小于所需需延时)驱动它它计数,计计到设定定好的终终值时产产生触发

17、发脉冲。不不同的计计数终值值可以产产生不同同的延时时。此方方法所产产生的延延时为高高频时钟钟周期的的整数倍倍,若高高频时钟钟周期与与所需延延时相比比很小,则则延时较较精确,否否则只能能做一粗粗略的延延时。图12 双口RRAM IDTT71332读操操作时序序图4 FPGGA设计计中避免免毛刺的的其他注注意事项项4.11 电路路选用 要用用寄存器器和触发发器设计计电路,尽尽量不要要用锁存存器,因因它对输输入信号号的毛刺刺太敏感感。如果果坚持用用锁存器器设计必必须保证证输入信信号绝对对没有毛毛刺,且且满足保保持时间间。4.2 译译码器 设计计设计译译码逻辑辑电路时时必须十十分小心心,因为为译码器器

18、和比较较器本身身会产生生尖峰,容容易产生生毛刺,把把译码器器或比较较器的输输出直接接连到时时钟输入入端或异异步清除除端,会会造成严严重的后后果。44.3 避免隐隐含RSS触发器器 应应该尽量量避免隐隐含RSS触发器器的出现现。一般般要控制制输出被被直接反反馈到输输入端,采采用反馈馈环路会会出现隐隐含RSS触发器器,其对对输入尖尖峰和假假信号很很敏感,输输入端有有任何变变化都有有可能使使输出值值立刻改改变,此此时易造造成毛刺刺的产生生,导致致时序的的严重混混乱。一一旦具有有隐含的的RS触触发器,加加锁存器器消除毛毛刺是不不能解决决问题的的。此时时只有通通过全面面修改电电路来从从根本上上解决。4.

19、4 避免使用多时钟设计 每一个模块中只用一个时钟,避免使用多时钟设计,同时避免使用主时钟分频后的二次时钟作为时序器件的时钟输入,因为二次时钟相对于一次时钟可能存在过大的时钟歪斜。对所有模块的输入时钟、输入信号、输出信号都用触发器或寄存器进行同步处理,即输出信号直接来自触发器或寄存器的输出端。这样可以消除尖峰和毛刺信号。不论是控制信号还是地址总线信号、数据总线信号,都要采用另外的寄存器,以使内部歪斜的数据变成同步数据。这些表面上看似乎无用的操作可以大大提高电路系统的性能。4.5 避免使用延迟线 应该尽量避免使用延迟线,因它对工艺过程的变化极为敏感,会大大降低电路的稳定性和可靠性,并将为测试带来麻烦。4.6 充分利用资源 大部分FPG

温馨提示

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

评论

0/150

提交评论