当前位置: 首页 > news >正文

同步时钟与异步时钟

建立时间与保持时间

  • 建立时间:在时钟脉冲到来前,输入数据需要保持稳定的时间
  • 建立时间:在时钟脉冲到达后,输入数据仍需保持稳定的时间

在单时钟域,这很容易满足。但在多时钟域,很容易出现一个时钟域的输出在另一个时钟域的时钟上升沿来临时发生改变的现象,这将会引起第二个时钟域中的触发器的输出处于亚稳态,由此导致一系列错误的结果。

时钟

同步时钟

如果多个时钟都起源于同一时钟,并且它们的相位和频率关系是已知的(频率相同或频率比为整数倍、且相位相同或相位差固定),那么它们可以看成是同步时钟。

或者理解为,时钟同源且频率比为整数倍的两个时钟为同步时钟。其实,时钟同源,就保证了时钟相位差的固定性。

  •  同源同频同相位:来源于同一时钟源,频率和相位都是相同的。只需要满足正常的建立和保持时间就可以。

  • 同源同频不同相位:相位差为一恒定值,会有更小的建立/保持时间的裕量,对组合逻辑的约束更紧。例如两个时钟路径不同,导致时钟之间存在一定的时钟偏移;可以在版图级对时钟偏移进行填补。

  •  同源不同频,但存在整数分频比:此类情况下,一个时钟往往是另一个时钟的分频,即便存在相位差也是固定的。通常都是可以满足建立保持时间的。最差建立时间检查在时钟边沿相位差为T时进行,最差保持时间检查在时钟边沿相位差为零时进行。

异步时钟

工作在异步时钟下的两个模块进行数据交互时,由于时钟相位关系不可控制,很容易导致建立时间和保持时间 violation。以下 3 种情况下的时钟可以认为是异步的。

  • 不同源:由两个不同的时钟源产生的两个时钟是异步的,这是最常见的异步时钟。
  • 同源但频率比不是整数倍:此时两个时钟间相位差也可能会有多个,例如同源的 7MHz 时钟和 3MHz 时钟,他们之间也会出现多个相位差,时序也难以控制。一般情况下也需要当异步时钟处理。
  • 同源虽频率比为整数倍但不满足时序要求:当信号从快时钟域传递到慢时钟域时,只要慢时钟域能安全采集到从快时钟域传来的信号,就不存在异步问题。但如果信号在快时钟域翻转速率过快,慢时钟域可能不会安全的采集到从快时钟域传来的信号,这也可以认为是异步问题。一般来说,慢时钟域时序约束较为宽松,快时钟域较为严格。

时钟属性

  • skew:时钟前往不同寄存器的时钟端口会有不同的线网延迟,不同寄存器之间的时钟信号相位差称为skew。与时钟频率无关,只与线长,电容等相关。

  • jitter:相对于理想时钟,实际时钟会在理想时钟左右存在一定的偏移,不随周期积累。与时钟频率无关。这两者被称为时钟不确定性(uncertainty)。

  • transition:与器件特性和电容负载有关,并不是理想的直上直下,而是有一定的坡度。

    • 时钟转换时间越短,而且上升和下降越对称,时钟质量越好。
  • latency:包括时钟源延迟(source latency)和时钟网络延迟(network latency)。

    • 时钟源延时是时钟源到时钟定义点的延时。
    • 时钟网络延时是时钟定义点到寄存器时钟端口的延时。
  • 这篇博客中也有时钟属性相关的介绍,在DC中,skew、jitter值与建立时间检查之间的关系。

同步电路/同步/同步FIFO

  • 非同源的两个时钟域,一定是异步的。
  • 同源的两个时钟域,可以是同步的,也可以异步,根据具体需求来。
  • 同步指的是指信号在两个时钟域之间传递时,需要检查时序。两个时钟的同步,广义上来讲,就是需要保证相位的固定,不论是几分频关系,也不论是同相位反相位还是90度相位差。时钟的同步,不仅仅需要从设计上由同源做基本保证;同时还需要时钟约束同步,在综合以及PR时保证时序关系。
  • 同源的两个时钟域,如果没有同步需求,可以设置false path,减少时钟树负担和不必要的时序检查
  • 异步FIFO的概念是相对同步FIFO而言的,与异步时钟和同步时钟的概念有点区别。同步FIFO,读写时钟是同一个时钟;异步FIFO,读写时钟不是同一个时钟,不论读写时钟是否同源是否相位固定,只要不是接同一个时钟,都要按照异步FIFO处理。

相关文章:

  • Python 实现的运筹优化系统数学建模详解(动态规划模型)
  • qemu(3) -- qemu-user使用
  • 【Machine Learning Q and AI 读书笔记】- 01 嵌入、潜空间和表征
  • 4.环境变量
  • 对Electron打包的exe文件进行反解析
  • 中级社会工作者工作内容有哪些
  • 【go】go语言slice/map的产生背景,及原理理解
  • 【解决方案】Linux解决CUDA安装过程中GCC版本不兼容
  • LLaMA-Factory部署以及大模型的训练(细节+新手向)
  • C语言高频面试题——局部变量和全局变量可以重名吗?
  • 02《小地图实时》Unity
  • 区块链随学随记
  • 第二章 信息技术发展(2.2 新一代信息技术及应用)
  • PostgreSQL无法查看表中数据问题排查
  • linux 文本三剑客(grep sed awk)
  • 【计算机视觉】三种图像质量评价指标详解:PSNR、SSIM与SAM
  • 升级xcode15 报错Error (Xcode): Cycle inside Runner
  • 赋能航天教育:高校卫星仿真教学实验平台解决方案
  • 说说stack reconciler 和fiber reconciler
  • 安卓基础(强制转换)
  • 孙简任吉林省副省长
  • 通化市委书记孙简升任吉林省副省长
  • 牛市早报|中美日内瓦经贸会谈联合声明公布
  • AI观察|从万元到百万元,DeepSeek一体机江湖混战
  • 新华时评:中美经贸会谈为全球经济纾压增信
  • 有关部门负责人就《新时代的中国国家安全》白皮书答记者问