原创
【博客大赛】SOC设计感悟二三事--时钟篇2--为什么要处理跨时钟域
2016-1-20 21:43
1346
14
14
分类:
工程师职场
文集:
SOC
1、时钟域介绍
芯片设计中最重要的就是时钟处理,如何处理好时钟的关系成为一款芯片成功的关键。通常来讲将时钟分为同步时钟和异步时钟两大类。
同步时钟:时钟之间有固定的相位关系。

异步时钟:同频不同相,两个时钟的频率是相同的,但是它们之间的相位是不同的;不同频率,两个时钟源不同。


2、为什么要处理跨时钟域
A时钟域的数据传输到B时钟域,被B时钟域的触发器采样到,表面看起来好像没什么问题,整个传输的过程看起来很Happy的样子。可是如果我们时钟无限放大,传输的信号无限放大,自然而然你就会有疑问,会不会传输信号的跳变沿碰到了采样时钟的跳变沿?如果碰到了会出现什么问题,是采样到了0,还是采样到了1?很好,这个问题其实就引出了触发器的setup(建立)时间和hold(保持)时间。

A时钟域的信号传输到B时钟域,无法保证B时钟域触发器的setup time和hold time,这个时候就会出现metastability,也就是所谓的亚稳态,这个亚稳态是芯片设计中最忌讳的东西,它会传播到下一级,甚至引起电路的震荡,危害非常之大。最要命的是亚稳态问题进行仿真的过程中是无法发现的,很多时候是上了FPGA或者芯片回来以后才发现,但是这个时候多半已经晚了。

如上图所示,S是异步输入源,在clk上升沿采样的时候,s也发生了跳变,这个时候问题就出现了,q的输出是0还是1,q可能采样到中间值,所以可能随机成0或者1,功能正确不能保证,电路也会偶尔正确,偶尔错误。

上公式给出了亚稳态出现的频率,可以看出它和采样频率,异步数据源的跳变频率,触发器的setup/hold time的window有关。

上图示意了当亚稳态发生时真实的电路工作情况和平时的仿真情况,从上图看出,平时仿真和真正硬件工作时的数据可能差一个周期。但是,这些情况是不可预期的,不可预期的东西在芯片上会带来很大的麻烦,譬如芯片正常工作的时候突然挂掉了,你甚至都不知道该怎么debug。
一种模拟亚稳态仿真的方法就是故意随机的插入1T的延时,如下图所示,数据经过同步后再经过随机的mux进行选择,这样可以使仿真更接近实际的工作情况。
相关推荐阅读
-
sunyzz
2017-08-19 10:38
-
【博客大赛】AVALON总线介绍
-
1、AVALON总线简介Avalon总线是一种协议较为简单的片内总线,是ALTERA公司定义的片上互联总线,该总线可以将诸如NIOS II的CPU与其他外设连接起来,进而进行数据交换。AVALON总线...
-
sunyzz
2017-08-17 21:36
-
【博客大赛】不要轻易做职场滥好人
-
小A毕业于国内普通高校,但是他聪明,勤奋,能干,动手能力强,可是即便有这些优点也不能让小A轻轻松松找到一份好工作。这不,去年9月份小A好不容易找到一份工作,然后立马就入职了C公司,生怕C公司过两天不要...
-
sunyzz
2017-08-16 21:15
-
【博客大赛】IC设计低功耗技术四
-
五:工艺层面的降低功耗前面几节都是在讨论设计人员如何在前期阶段,中期阶段降低功耗,涉及到软件层面的,硬件层面的,这些技巧基本都是前辈总结出来的,或者根据理论推论出来的。但是到了后期,想降低功耗基本就要...
-
sunyzz
2017-08-14 22:35
-
【博客大赛】IC设计之低功耗技术三
-
四:RTL(寄存器传输)级的低功耗设计4.1 状态机的设计状态机编码中一般有两种方式,普通的二进制编码,特殊的格雷码,格雷码的特点是两个数据之间的跳变时只会有一个bit在toggle,显然比起多bit...
-
sunyzz
2017-08-12 16:51
-
【博客大赛】IC设计之低功耗技术二
-
三、架构层面的降低功耗系统的实现有很多的方式,每种方式对功耗的影响都不相同,本节主要介绍架构对功耗的影响。3.1 高级门口电路 在同步电路系统中,时钟占据了大部分的动态功耗,因而在一些情况下,如果有些...
-
sunyzz
2017-08-12 10:37
-
【博客大赛】IC 设计之低功耗技术一
-
一、前言随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。节能是全球化的热潮,如计算机里的许多芯片过去用5V供电,现在用3.3V,1.8V,甚至更低的电压。目前的低功耗设计主要从芯片...
文章评论(0条评论)
登录后参与讨论