FPGA设计中的时序分析及异步设计注意事项_第1页
FPGA设计中的时序分析及异步设计注意事项_第2页
FPGA设计中的时序分析及异步设计注意事项_第3页
FPGA设计中的时序分析及异步设计注意事项_第4页
FPGA设计中的时序分析及异步设计注意事项_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、 Dragon WH team1FPGAFPGA设计中的时序分设计中的时序分析及异步设计注意事项析及异步设计注意事项 Dragon WH team2什么是建立和保持时间什么是建立和保持时间建立时间和保持时间:建立时间和保持时间:建立时间(建立时间(setup time):):是指在触发器的时钟信号上升沿到来以前是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;钟上升沿被打入触发器;保持时间(保持时间(hold time):):是指在触发器的时钟信号上升沿到来以后是指在触发

2、器的时钟信号上升沿到来以后,数据稳定不变的时间,数据稳定不变的时间, 如果保持时间不够,数据同样不能被打入如果保持时间不够,数据同样不能被打入触发器。触发器。 Dragon WH team3时序分析基础时序分析基础电路设计的难点在时电路设计的难点在时序设计,而时序设计序设计,而时序设计的实质就是满足每一的实质就是满足每一个触发器的建立个触发器的建立/ /保保持时间的要求。持时间的要求。 组合逻辑DQDQREG1REG2其它控制信号CLKCLKCREG1REG2(D)CLK(REG2)REG2(Q)T1T_cycleT1nTTsThTn+1nn+1 Dragon WH team4时序分析基础续时

3、序分析基础续如上图所示,以如上图所示,以REG2REG2为例,假定触发器的建立时间要求为:为例,假定触发器的建立时间要求为:T_setupT_setup,保保持时间要求为:持时间要求为:T_holdT_hold,路径延时为:路径延时为:T1T1,路径延时为:路径延时为:T2T2,路径路径延时为:延时为:T3T3,时钟周期为:时钟周期为:T_cycleT_cycle,Ts Ts (T_cycle T_cycle T T)T1T1,Th Th T1T1T T,令令 T T T3T3T2T2,则则条件条件1.1.如果如果T_setup Ts T_setup Ts ,即即 T_setup T_setu

4、p (T_cycle T_cycle T T)T1T1,这说这说明信号比时钟有效沿超过明信号比时钟有效沿超过T_setup T_setup 时间到达时间到达REG2REG2的的D D端,满足建立时间要端,满足建立时间要求。反之则不满足;求。反之则不满足;条件条件2.2.如果如果T_hold Th T_hold Th ,即即T_hold T1T_hold 0 T 0 时,时,T_holdT_hold受影响;当受影响;当T 0 T “110100110100”,由于电路延时的原因,中间会出现,由于电路延时的原因,中间会出现“110101110101”状态,导致计数器误状态,导致计数器误清清0 0。

5、采用同步清采用同步清0 0的办法,不仅可以有效地消除毛刺,而且能避免计数器的办法,不仅可以有效地消除毛刺,而且能避免计数器误清误清0 0。电路如下图所示。电路如下图所示。 Dragon WH team10异步设计中常见问题及其解决方法异步设计中常见问题及其解决方法续续QDclk图4.7+1=526位二进制计数器Q5:0000000规则的计数器规则的计数器 Dragon WH team11异步设计中常见问题及其解决方法异步设计中常见问题及其解决方法续续4 4、对计数器的译码、对计数器的译码4位计数器译码outclkoutclk图4.18对计数器译码,可能由于竞争冒险产生毛刺。如果后级采用了对计数

6、器译码,可能由于竞争冒险产生毛刺。如果后级采用了同步电路,我们完全可以对此不予理会。如果对毛刺要求较高,推同步电路,我们完全可以对此不予理会。如果对毛刺要求较高,推荐采用荐采用GrayGray编码编码( (PLD)PLD)或或One-hotOne-hot编码编码( (FPGA)FPGA)的计数器,一般不要的计数器,一般不要采用二进制码采用二进制码. .具体描述中,我们可以用状态机来描述,而利用逻辑具体描述中,我们可以用状态机来描述,而利用逻辑综合工具来编码,有经验的选手可以自己强制定义状态机的编码。综合工具来编码,有经验的选手可以自己强制定义状态机的编码。 Dragon WH team12异步

7、设计中常见问题及其解决方法异步设计中常见问题及其解决方法续续QDclk1QDclk2组合逻辑5 5、多时钟的同步化、多时钟的同步化两个没有相位关系的时钟这样使用,后级时钟可能不能准确采样。两个没有相位关系的时钟这样使用,后级时钟可能不能准确采样。QD图 4.10QD组 合 逻 辑QDclk1clk2改进后:用一个触发器做同步化处理,保证后级时钟准确采样。改进后:用一个触发器做同步化处理,保证后级时钟准确采样。 Dragon WH team13异步设计中常见问题及其解决方法异步设计中常见问题及其解决方法续续QDDLELEQ6 6、锁存器、锁存器锁存器是较危险的电路,没有确定的初始状态,输出随输入

8、变化锁存器是较危险的电路,没有确定的初始状态,输出随输入变化,这意味着毛刺可以通过锁存器。若该电路与其它,这意味着毛刺可以通过锁存器。若该电路与其它D D触发器电路相触发器电路相连,则会影响这些触发器的建立保持时间。除非有专用电路特别连,则会影响这些触发器的建立保持时间。除非有专用电路特别需要(其实总线锁存之类的功能用需要(其实总线锁存之类的功能用373373之类的小规模之类的小规模ICIC更好),在更好),在设计内部,不要使用锁存器。设计内部,不要使用锁存器。QDENADLECLKQ Dragon WH team14不建议使用电路不建议使用电路1 、不建议使用组合逻辑时钟或门控时钟不建议使用

9、组合逻辑时钟或门控时钟组合逻辑和门控时钟很容易产生毛刺,用组合逻辑的输出作为时钟很容易使系统产生误动作。2 2、 不建议使用行波时钟不建议使用行波时钟Q0QDQDQDclkQ1Q2行波记数器虽然原理简单,设计方便,但级连时钟(行波时钟)最容易造行波记数器虽然原理简单,设计方便,但级连时钟(行波时钟)最容易造成时钟偏差(成时钟偏差(T T),级数多了,很可能会影响其控制的触发器的建立),级数多了,很可能会影响其控制的触发器的建立/ /保保持时间,使设计难度加大。转换的方法是采用同步记数器,同步计数器用持时间,使设计难度加大。转换的方法是采用同步记数器,同步计数器用原理图描述可能较难,但用原理图描

10、述可能较难,但用HDLHDL语言很简单就可以描述一个语言很简单就可以描述一个4 4位计数器。位计数器。 Dragon WH team15不建议使用电路续不建议使用电路续3 3 、尽量避免采用多个时钟,多使用触发器的使能端来解决。、尽量避免采用多个时钟,多使用触发器的使能端来解决。在可编程逻辑器件设计时,由于时钟建立应尽量避免采用多时钟网络,或者采用适当的措施减少时钟的个数,使用频率低的时钟尽量简化消除。4 4、 触发器的置触发器的置/ /复位端尽量避免出现毛刺,及自我复位电路等,最复位端尽量避免出现毛刺,及自我复位电路等,最好只用一个全局复位信号。好只用一个全局复位信号。 5 5、 电路中尽量

11、避免电路中尽量避免“死循环死循环”电路,如电路,如RSRS触发器等。触发器等。6 6 、禁止时钟在不同可编程器件中级连,尽量降低时钟到各个器件、禁止时钟在不同可编程器件中级连,尽量降低时钟到各个器件时钟偏差值。时钟偏差值。 Dragon WH team16复位和置位信号处理复位和置位信号处理在设计时应尽量保证有一全局复位信号,或保证触发器、计在设计时应尽量保证有一全局复位信号,或保证触发器、计数器在使用前已经正确清零和状态机处于确知的状态。数器在使用前已经正确清零和状态机处于确知的状态。 寄存器的清除和置位信号,对竞争条件和冒险也非常敏感。寄存器的清除和置位信号,对竞争条件和冒险也非常敏感。在

12、设计时,应尽量直接从器件的专用引脚驱动。另外,要考虑到在设计时,应尽量直接从器件的专用引脚驱动。另外,要考虑到有些器件上电时,触发器处于一种不确定的状态,系统设计时应有些器件上电时,触发器处于一种不确定的状态,系统设计时应加入全局复位加入全局复位/ /ResetReset。这样主复位引脚就可以给设计中的每一个这样主复位引脚就可以给设计中的每一个触发器馈送清除或置位信号,保证系统处于一个确定的初始状态触发器馈送清除或置位信号,保证系统处于一个确定的初始状态。需要注意的一点是:不要对寄存器的置位和清除端同时施加不。需要注意的一点是:不要对寄存器的置位和清除端同时施加不同信号产生的控制,因为如果出现

13、两个信号同时有效的意外情况同信号产生的控制,因为如果出现两个信号同时有效的意外情况,会使寄存器进入不定状态。,会使寄存器进入不定状态。 Dragon WH team17时序设计的可靠性保障措施时序设计的可靠性保障措施 (1 1)时钟偏差要加以控制)时钟偏差要加以控制在同步电路里,时钟信号要连接到所有的寄存器,触发器以及在同步电路里,时钟信号要连接到所有的寄存器,触发器以及锁存器等器件上。这些巨大的负载就象一个大电容加在时钟线上,锁存器等器件上。这些巨大的负载就象一个大电容加在时钟线上,再加上时钟线本身的分布电容和电阻,这样时钟线就象分布的再加上时钟线本身的分布电容和电阻,这样时钟线就象分布的R

14、CRC线。由于线。由于RCRC线的延时是线长的函数,这样就使得连到同一根时钟线的延时是线长的函数,这样就使得连到同一根时钟线上的时钟由于距离时钟源的远近不一而产生不同的延时。因而造线上的时钟由于距离时钟源的远近不一而产生不同的延时。因而造成了同一时钟到达各个器件的时间不一致,使得各个以时钟为基准成了同一时钟到达各个器件的时间不一致,使得各个以时钟为基准器件的动作也不一致,而造成时序上的混乱。这就是同步电路时钟器件的动作也不一致,而造成时序上的混乱。这就是同步电路时钟偏差。(偏差。(skewskew) Dragon WH team18时序设计的可靠性保障措施时序设计的可靠性保障措施 要让同步电路

15、可靠地运行,就要对时钟偏差进行控制,以使要让同步电路可靠地运行,就要对时钟偏差进行控制,以使时钟偏差减小到可用的范围。影响时钟偏差的主要有以下几个因时钟偏差减小到可用的范围。影响时钟偏差的主要有以下几个因素:素:1 1、用于连接时钟树的连线、用于连接时钟树的连线2 2、时钟树的拓扑结构、时钟树的拓扑结构3 3、时钟的驱动、时钟的驱动4 4、时钟线的负载、时钟线的负载5 5、时钟的上升及下降时间、时钟的上升及下降时间 Dragon WH team19时序设计的可靠性保障措施时序设计的可靠性保障措施在通常的在通常的FPGAFPGA设计中对时钟偏差的控制主要有以下几种方法:设计中对时钟偏差的控制主要

16、有以下几种方法:1 1、控制时钟信号尽量走可编程器件的的全局时钟网络。在可编程器件中、控制时钟信号尽量走可编程器件的的全局时钟网络。在可编程器件中一般都有专门的时钟驱动器及全局时钟网络,不同种类、型号的可编程器一般都有专门的时钟驱动器及全局时钟网络,不同种类、型号的可编程器件,它们中的全局时钟网络数量不同,因此要根据不同的设计需要选择含件,它们中的全局时钟网络数量不同,因此要根据不同的设计需要选择含有合适数量全局时钟网络的可编程器件。一般来说,走全局时钟网络的时有合适数量全局时钟网络的可编程器件。一般来说,走全局时钟网络的时钟信号到各使用端的延时小,时钟偏差很小,基本可以忽略不计。钟信号到各使

17、用端的延时小,时钟偏差很小,基本可以忽略不计。2 2、若设计中时钟信号数量很多,无法让所有的信号都走全局时钟网络,、若设计中时钟信号数量很多,无法让所有的信号都走全局时钟网络,那么可以通过在设计中加约束的方法,控制不能走全局时钟网络的时钟信那么可以通过在设计中加约束的方法,控制不能走全局时钟网络的时钟信号的时钟偏差。号的时钟偏差。 Dragon WH team20时序设计的可靠性保障措施时序设计的可靠性保障措施(3 3)异步接口时序裕度要足够大)异步接口时序裕度要足够大局部同步电路之间接口都可以看成是异步接口,比较典型的是设计中的局部同步电路之间接口都可以看成是异步接口,比较典型的是设计中的高低频电路接口、高低频电路接口、I/OI/O接口,那么接口电路中后一级触发器的建立接口,那

温馨提示

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

评论

0/150

提交评论