IC设计多时钟域处理

本文探讨了IC设计中多时钟域带来的挑战,包括违背建立时间和保持时间导致的亚稳态问题。解决方案包括分块化设计、跨时钟域传输时的数据和控制信号同步策略,如使用同步器和异步FIFO,以降低亚稳态风险并确保设计稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.​​​​​​​多时钟域设计面临的困难

  • 违背建立时间与保持时间
  • 引起的亚稳态问题

1、违背建立时间和保持时间

建立时间:在时钟上升沿来临之前数据需要保持一段时间不变,具体的时间长度与寄存器工艺有关

保持时间:在时钟上升沿采样后,数据数据也需要保持一段时间稳定不变

对于单时钟域来说,满足上述条件很容易。但多时钟情况下,一个时钟域的输出在另一个时钟域时钟上升沿发生改变很常见。

此时会引起第二个时钟域的输出处于亚稳态。如图1所示: 

图1 建立与保持时间的违背

 

 xclk_output1(数据时钟域xclk)在变化期间被yclk采样,产生亚稳态。而xclk_output2在yclk上升沿期间稳定,则不会产生亚稳态。

 

2. 多时钟域设计的处理

  • 分块化设计
  • 跨时钟域传输
  • 控制信号的传输(同步化)

  • 数据信号的传输(使用握手信号、使用异步FIFO)


1、分块设计

单个模块应在同一时钟下工作,这样有利于静态时序分析。

在涉及两个模块的跨时钟域信号传输时,应使用同步器,是外部信号与该模块时钟同步。

同步器的规模应尽量的小。

2、跨时钟域

2.1、控制信号的传输

为了减少亚稳态的影响,在控制信号的跨时钟域传输是,用的最多的方式是应用多级同步器,如图2所示:

图2、双级同步电路

如果第一级产生亚稳态输出,那么这个亚稳态会在同步器的第二个触发器取样前进入稳态,这种方式降低出现亚稳态的可能性,如图3所示。这种方法的缺点是,增加了电路的整体延时。

图3、双级同步器电路时序

在时钟频率非常高的设计中,也常常使用三级同步电路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值