逻辑设计中多时钟设计【2】

本文深入探讨逻辑设计中的跨时钟域问题,分析了同频率零相位差、恒定相位差及非同频率可变相位差时钟的特性。在某些条件下,如相位差足够大,可以不使用同步器,但需要满足静态时序分析(STA)要求。而对于非整数倍频率的时钟,特别是亚稳态可能产生的情况,通常需要使用同步器或采取其他设计方法来确保数据正确传输。

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

简介

在上个系列中,主要分析了单bit时钟信号是如何在多个时钟域中进行同步的。概括起来只有两点:一是通过同步器,二是将控制信号与数据信号合并成一组(数据+控制)总线,经过FIFO或RAM实现跨时钟域设计。那么在这节中,重点来分析跨时钟域这个概念。通过这节的分析,可以知道那些类型的时钟,在实际的处理过程中是需要同步器的,而哪些不需要经过同步器。一般来说,都可以使用同步器来进行处理,在使用同步器之前,一定要清楚两个时钟间的频率以及相位的关系。但是下面的介绍中,可以不使用同步器的,一方面可以节省逻辑资源,另一方面可以使设计变得简单。


跨时钟域

在讨论时钟域见传输数据的方法之前,先来分析跨时钟域问题的各种类型。如果多个时钟都起源于同一时钟(注:在《硬件架构的艺术》这本书上并没有明确地说是起源于同一外部晶振时钟还是内部RC时钟,或者是PLL或者DCM的时钟,根据作者经验来分析,一般MCU会有内部RC晶振,此处的“同一时钟”并不包含这种精度比较差的RC晶振,因为如果后续需要倍频处理数据的话,因为RC较差的精度,容易造成倍频前的时钟与倍频后的时钟信号在并不是RC此刻震荡的真实频率运算后的结果,造成数据传输的误差。但是这个需要继续实验数据证明,如果有读者发现这个情况并不存在,可以留言回复。总之,推荐比较准确,精度比较高的时钟信号),并且它们的相位和频率关系是一致的,那么这些时钟可以看成是跨同步时钟域的时钟,按照相位和频率的关系,可以将这些时钟分成以下类型:

  • 同频率零相位差时钟
  • 同频率恒定相位差时钟
  • 非同频率可变相位差时钟
在下一节的讨论中,假定两个时钟之间的相位和时钟抖动相同,并假定它们之间的路径已经按同样的时钟延迟和偏移参数进行了平衡。除此之外,还假设这两个时钟起始处的相位差为零,而且触发器的“时钟到Q端”的延时也为零。


概括地来说,我们在讨论信号从一个时钟域到另外一个时钟域是否属于跨同步时钟域,我们仅仅考虑两个时钟信号本身的特性,而暂时不考虑两个时钟在传输过程中因为触发器等发生的时钟延迟造成的影响。


1 同频率零相位差时钟

在此种情况下,两个完全相同的时钟clk1和clk2具有同样的频率与相位差,clk1和clk2我们可以看成为完全相同的。并由同一个时钟源产生。那么,在clk1和clk2之间的传输,并不是跨时钟域的。实际上,这种情形在设计中很少使用。可以不去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值