IC设计之CDC(跨时钟域)问题

1.1什么是 CDC(跨时钟域)

跨时钟域就是模块和模块之间的进行数据交换,但是不是用的同一个时钟,这两个时钟的关系不明确。
在这里插入图片描述
从图中可以看出,如果clk1和clk2 的关系不明确,那么这个传输时间域就是一个跨时钟域传输,在一个SOC中可能会有这样的跨时钟域传输,但是会产生许多的问题。

1.2 SOC中跨时钟域的举例

下图是一个SOC的设计
在这里插入图片描述
每个模块都有自己的时钟,如果在一个SOC设计中有不明确的时钟关系,那么在进行数据交换的时候就会产生跨时钟域的问题,例如SD卡有自己的时钟,这时就会用到一个FIFO,来处理跨时钟域的问题。所以,如果不是工作在同一时钟下就会有跨时钟域的设计。在跨时钟域的分析中,不能用静态时序分析,因为静态时序分析是只针对同步电路进行分析,对于跨时钟域信号不适用,跨时钟域的分析可以依靠Spyglass进行分析。在进行综合之前可以先检查是否可以存在跨时钟域的分析。

1.3 CDC中的时钟域问题

典型的时钟域存在的问题:

  1. 亚稳态问题
  2. 时钟域数据的保持问题,从快到慢和从慢到快的时钟域。
  3. 数据的重覆盖(多比特数据的传输)
  4. 大量数据传输(握手)
  5. 异步复位

1.3.1 亚稳态

在这里插入图片描述
若只有一个时钟域,组合逻辑之间是可以通过寄存器进行同步的,对于同步电路来说,采样时刻不能出现建立时间和保持时间的违例。正如上图所示,在组合逻辑电路中,可以通过寄存器来去除竞争冒险的影响,但是也会引入亚稳态(在采样时刻,出现建立保持时间的违例
在异步电路中由于采样时钟和发送时钟的关系不明确,采样时钟很可能在数据出去未知状态时进行采样,这样就会导致亚稳态。
注意:静态时序分析:分析不了异步电路的
跨时钟域设计的产生的亚稳态问题:
在这里插入图片描述
亚稳态问题的解决办法:
采用多级同步电路(用接收寄存器打两拍后就能得到):这是单比特的问题的传输。
在这里插入图片描述

1.2 多bit数据的传输造成数据重复盖问题:

在这里插入图片描述
可从图中看出,多比特数据的传输经过两级同步后,虽然说去除了亚稳态的问题,但是由于每比特信息的延迟时间不同,导致接收方的数据信息发生变化,例如:想要传送11 的数据,经过发送的时钟域的时钟采样输出后X1Y1,由于经过线延迟,形成Y2X2,但是两条路径的延迟不一一定是一样的,所以到达CLK_B对数据进行采样的时候就会产生误码,解决办法格雷码,每次都只变化一个bit,这样可以等效为单比特传输,就可以用两级寄存器打两拍的办法解决。(重点:利用格雷码转换器,实现多比特传输转单比特传输的机制)
在这里插入图片描述
在格雷码转换器后,注意使用一个寄存器来打一拍。然后再通过两级同步电路。

1.3 数据保持的问题(信号从快时钟域到慢时钟域)

在这里插入图片描述
可以从图中看出,从快时钟域到慢时钟域的同步过程中,由于信号A经过clk_A打一拍的时间短于clk_B
寄存器的时钟,那么数据A的变化将快于时钟clk_B,这就会导致在CLK_B两次采样期间,A经过了数据的变换过程,clk_B
无法采集到数据。这就是数据保持的问题。
解决办法:数据的扩展(也就是延长数据A的保持时间)
在这里插入图片描述
用上述电路就可以实现时钟的扩展。如果A的频率是B的时钟是4倍,则就需要扩展4个时钟也就是4个寄存器。维持两拍的高电平用或门,如果维持n拍的低电平用与门。

1.4 多数据传输在这里插入图片描述

第一个用交互信号
第二种用异步fifio大量的数据交换。

1.5 复位信号

在这里插入图片描述
由于异步复位信号是随时都可以进行复位的和释放的,在复位过程,是不受时钟信号的影响,这对电路是不会产生亚稳态的情况,但是如果复位释放操操作没有满足建立时间和保持时间,则会产生亚稳态。为了避免释放的时候造成亚稳态问题,提出了“异步复位,同步释放”的解决办法。所谓异步复位,就是复位信号可以直接不受时钟信号影响,在任意时刻只要是低电平就能复位(假如约定低电平复位),也就是说,复位信号不需要和时钟同步。而同步释放就很有意思了,它的意思是让复位信号取消的时候,必须跟时钟信号同步,也就是说正好跟时钟同沿。这就奇怪了!因为之前我们刚讲,要避免复位释放沿跟时钟沿同步。
http://xilinx.eetrend.com/blog/2020/100047719.html
下图是异步复位同步释放的电路图。
在这里插入图片描述

  • 11
    点赞
  • 150
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值