码迷,mamicode.com
首页 > 其他好文 > 详细

FPGA 异步时钟处理方

时间:2014-07-23 17:18:32      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   数据   2014   

1 如果FPGA设计中包含不同频率的时钟,就会涉及异步时钟的问题。我们需要一些方法来使得时钟同步,从而保证FPGA设计的可靠性。


2 在建立和保持时间所构成的有效时间窗口内,数据输入到触发器进行转换。如果数据的到达时间不满足建立或者保持时间就会产生时序冲突。此时触发器的输出就有可能停留在非逻辑0 或1 的范围内(这个状态叫做准稳态),从而造成逻辑错误。


3 如果异步时钟的相位不能够完全对齐就有可能引起2中所述的故障,而且这种故障是不可再现的,也无法通过仿真发现。


4 解决方法,即时钟同步问题:

    a, 相位控制,通过PLL(锁相环)DLL(延时锁相环)使得两个异步时钟的边沿对齐。


    b,   双跳技术(双触发器技术),在可能引起准稳态的触发器后增加一级触发器,从而消除准稳态的影响。如图所示:

bubuko.com,布布扣

   c, FIFO结构,解决异步时钟的问题的最有效方法是采用先进先出的队列结构,它通常由双口RAM来实现。

bubuko.com,布布扣

格雷码通常用在FIFO结构中进行异步时钟间的多位计数传递,对于格雷码每次只改变一位,可以消除多位计数器在异步时钟传递过程中未同时被改变的问题。


大多数现代的FPGA都集成了FIFO核,从而方便设计者使用。


5 同步寄存器应该分割成独立的外部模块,如下图所示:

bubuko.com,布布扣


FPGA 异步时钟处理方,布布扣,bubuko.com

FPGA 异步时钟处理方

标签:style   blog   http   使用   数据   2014   

原文地址:http://blog.csdn.net/zhuzhiqi11/article/details/38062059

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!