新闻中心

EEPW首页>嵌入式系统>设计应用> 影响FPGA设计中时钟因素的探讨

影响FPGA设计中时钟因素的探讨

——
作者: 时间:2008-07-21 来源:电子开发网 收藏

  总结:提高工作频率的本质就是要减少寄存器到寄存器的时延,最有效的方法就是 避免出现大的组合逻辑,也就是要尽量去满足四输入的条件,减少LUT级联的数量。我们 可以通过加约束、流水、切割状态的方法提高工作频率。

本文引用地址://m.amcfsurvey.com/article/85938.htm

  在中进行设计时也要注意一下几点:

   1. 一个模块尽量只用一个,这里的一个模块是指一个module或者是一个entity。在多域的设计中涉及到跨时钟域的设计中最好有专门一个模块做时钟域的隔 离。这样做可以让综合器综合出更优的结果。

   2. 除非是低功耗设计,不然不要用门控时钟--这会增加设计的不稳定性,在要用到门控时钟的地方,也要将门控信号用时钟的下降沿 打一拍再输出与时钟相与。

   3. 禁止用计数器分频后的信号做其它模块的时钟,而要用改成时钟使能的方式,否则这种时钟满天飞的方式对设计的可靠性极为不利,也大大增加了静态时序分析的复杂性。

1.4 不同时钟域之间的同步

  当一个设计中的两个模块分别用的是两个工作时钟,那么在它们的接口处就工作在异步模式,这时为了保证数据能正确的处理那么就要对两个模块进行同步。

  这里的不同的时钟域通常是以下的两种情况:

  1、 两个时钟的频率不同;

  2、 虽然两个时钟的频率相同,但是它们是两个独立的时钟,其相位没有任何关系。
分别如下两个图所示:

图10 两个时钟的频率完全不同

图11两个时钟的频率相同,但相位不相关

  两个时钟域之间传输的数据根据不同的位宽通常采用不同的同步的方法。

  1、单bit之间的同步且发送的每个pulse至少有1个周期宽度的情况

  这类同步主要是用于一些控制信号自己的同步。通常的采用方法就是输出数据在接收的模块中利用两个触发器采用系统时钟打两拍,如下图12所示。对于这种同步需要说明以下几点。

图12 一位同步器设计

  (1)图12中的同步电路其实叫"一位同步器",它只能用来对一位异步信号进行同步,而且这个信号的宽度必须大于本级时钟的脉冲宽度,否则有可能根本采不到这个异步信号。

  (2)为什么图一中的同步电路只能用来对一位异步信号进行同步呢? (a)当有两个或更多的异步信号(控制或地址)同时进入本时域来控制本时域的电路时,如果这些信号分别都用图12中的同步电路来同步就会出现问题,由于连线延迟或其他延迟使两个或更多的异步信号(控制或地址)之间产生了skew,那么这个skew经过图12的同步器同步进入本时域后,会产生很大的skew 或产生竞争,导致本时域电路出错。

  出现的问题如下图13所示:

图13 同步多个控制信号时出错

  (b)如果是异步数据总线要进入本时域,同样不能用图12的电路,因为数据的变化是很随机的,其0的宽度或1的宽度和本时域时钟脉冲无关,所以图12的电路可能会采不到正确数据。

  (3)注意,第二个触发器并不是避免“亚稳态的发生”,确切的说,该电路能够防止亚稳态的传播。也就是说,一旦第一个触发器发生了亚稳态(可能性存在),由于有了第二个触发器,亚稳态不会传播到第二个触发器以后的电路中去。

  (4)第一级触发器发生了亚稳态,需要一个恢复时间来稳定下来,或者叫退出亚稳态。当恢复时间加上第二级触发器的建立时间(更精确的,还要减去clock skew)小于等于时钟周期的时候(这个条件还是很容易满足的,一般要求两级触发器尽量接近,中间没有任何组合逻辑,时钟的skew较小),第二级触发器就可以稳定的采样,得到稳定的确定的数据了,防止了亚稳态的传播。

  (5)FF2是采样了FF1的输出,当然是FF1输出什么,FF2就输出什么。仅仅延迟了1个周期。注意,亚稳态之所以叫做亚稳态,是指一旦FF1进入,其输出电平不定,可能正确也可能错误。所以必须说明的是,虽然这种方法可以防止亚稳态的传播,但是并不能保证两级触发器之后的数据是正确的,因此,这种电路都有一定数量的错误电平数据,所以,仅适用于少量对于错误不敏感的地方。对于敏感的电路,可以采用双口RAM或FIFO。

2 输入pulse有可能小于一个时钟周期宽度情况下的同步电路

  对2的情况通常采用如下图14的反馈电路。该电路的分析如下:假设输入的数据是高电平,那么由于第一个触发器FF1是高电平清零,所有输出也是高电平,采用正确。如果输入是第电平那么被FF1被强制清零,这个时候输出位零。这样就保证了输出的正确性。

图14输入pulse有可能小于一个时钟周期宽度情况下的同步电路

  对于要控制多个信号的情况可以参考详细的分析:www.fpga.com.cn中的设计异步多时钟系统的综合以及描述技巧.pdf。


上一页 1 2 3 4 下一页

关键词:FPGA时钟

评论


相关推荐

技术专区

关闭