0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何处理跨时钟域信号?

8ECz_icstudy 来源:未知 作者:胡薇 2018-09-25 09:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近是IC相关专业学生找工作的高峰期,大家可以在文章末尾或者知识星球留言讨论笔试或者面试题哦。跨时钟域的处理在面试中常常被问到,今天IC君就来聊一聊这个话题。

1

跨时钟域是如何产生的呢?现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通常一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时钟频率下。这3个不同时钟频率下工作的信号往往需要相互沟通和传递信号。

不同时钟域下的信号传递就涉及到跨时钟域信号处理,因为相互之间的频率、相位不一样,如果不做处理或者处理不当,如下图所示的时钟域CLK_A的数据信号A可能无法满足时钟域CLK_B的setup/hold时间,可能导致:

1.数据丢失,无法采到预期中的信号;

2.亚稳态的产生。

从而导致某个电路模块或者整颗IC无法工作。

2

那么,常见的跨时钟域信号处理方法都有哪些呢?有如下的三种:

两级DFF同步器

握手协议

异步FIFO

最简单的单比特信号处理通常采用两级DFF串联进行同步,如下图所示:

从时钟域A(CLKA)传过来的信号a_in, 直接用时钟域B CLKB采用很容易产生亚稳态,用两级DFF 敲过后再使用就可以把亚稳态概率降到一个合理的值。

很多人可能会问,为什么是两级DFF呢?一级或者三级DFF行不行呢?这里有一个平均失效间隔时间MTBF(Mean Time Between Failure)的考虑。MTBF时间越长,出现亚稳态的概率就越小,但是也不能完全避免亚稳态。注意采样时钟频率越高,MTBF可能会迅速减小。

有文献给出的数据:对于一个采样频率为200Mhz的系统,如果不做同步MTBF是2.5us,一级DFF同步的MTBF大概是23年,两级DFF同步的大约MTBF大概是640年,MTBF越长出错的概率越小。所以一级看上去不太稳,二级差不多够用了,至于三级可能会影响到系统的性能,而且增加面积,所以看上去没什么必要。

两级DFF同步器听起来够简单的吧?这个方法虽然很简单,但是很多人用起来还是常常会犯错。

3

错误1 :时钟域A的组合逻辑信号直接敲两级DFF同步到时钟域B

如下图(1)所示虽然时钟域A的逻辑信号c0 传输到时钟域B的时候,也用了两级DFF 同步器,但我们知道组合逻辑电路各个输入信号的不一致性以及组合逻辑内部路径的延时时间不一样,运算后的信号存在毛刺如图(2),而我们又无法预先知道CLKB 的上升沿何时会到来,CLKB 采样到的信号就无法预知,这显然不是我们想要的结果。

因此,要想CLKB 能采到稳定的信号,时钟域A的信号必须是经过CLKA 敲过,在一个时钟周期内是稳定的信号,如图(3)所示:

4

错误2 :Clock-gating enable 信号没有经过异步处理

在下图中a_in 信号经过CLKA的DFF敲过,再送到两级DFF 同步器处理,完全没毛病。但是F2的使能信号EN是从时钟域A来的,当EN信号变化的时候,由于时钟域不一样,无法保证使能之后的CLKB信号采样数据时满足setup/hold time 要求,这时F2输出信号也就变得无法预测了。

两级同步器处理单比特信号虽然比较简单,但还是要注意它的使用方法,不要犯上面的错误哦。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IC
    IC
    +关注

    关注

    36

    文章

    6267

    浏览量

    184294
  • 时钟域
    +关注

    关注

    0

    文章

    53

    浏览量

    9993

原文标题:IC面试中常被问到——跨时钟域信号如何处理?

文章出处:【微信号:icstudy,微信公众号:跟IC君一起学习集成电路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    黑芝麻智能武当C1200家族作为计算芯片的核心突破

    本文围绕汽车电子电气架构(EEA)向中央计算演进的技术需求,分析分布式、集中架构的碎片化、间壁垒等痛点,重点阐述武当 C1200 家族作为计算芯片的核心突破:7nm 异构融合架
    的头像 发表于 11-20 16:38 1018次阅读

    Stduio使用wifi模块出错如何处理

    外设为潘多拉IOT开发板,使用Stduio配置了wifi框架,但是代码里在配置wifi模式时,没有找到wlan0这个设备,wifi整个功能也用不了,请问应该如何处理。使用正点原子资料包里的rtthread测试demo,wifi工作正常,wifi模块硬件没有问题。
    发表于 10-10 08:18

    手机板 layout 走线分割问题

    的layout,比如手机、笔记本。信号分割处理已经不在是不能分割了。 在这类产品中成本是很重要的,所以层数都是能少就少。 这种情况下,如何分辨那些
    发表于 09-16 14:56

    阻运放:微弱电流信号的转换

    在光通信领域,常常需要处理微弱的电流信号,而阻运放正是实现电流到电压精准转换的关键电路。它能将 pA 到 mA 级的微弱电流信号线性转换为易于处理
    的头像 发表于 08-20 13:39 480次阅读

    如何在嵌入式RF测试中实施多信号分析

    射频(RF)测试是嵌入式系统开发与验证中的关键环节,尤其是在电信、航空航天、汽车以及物联网等行业。随着嵌入式系统的日益复杂,传统RF测试方法往往难以捕捉多个(时间、频率、数字信号之间的复杂相互作用。多
    的头像 发表于 08-15 16:32 2631次阅读
    如何在嵌入式RF测试中实施多<b class='flag-5'>域</b><b class='flag-5'>信号</b>分析

    静力水准仪在测量过程中遇到误差如何处理?

    静力水准仪在测量过程中遇到误差如何处理?静力水准仪在工程沉降监测中出现数据偏差时,需采取系统性处理措施。根据实际工况,误差主要源于环境干扰、设备状态、安装缺陷及操作不当四类因素,需针对性解决。静力
    的头像 发表于 08-14 13:01 585次阅读
    静力水准仪在测量过程中遇到误差如<b class='flag-5'>何处理</b>?

    黑芝麻智能时间同步技术:消除多计算单元的时钟信任鸿沟

    上海2025年7月21日 /美通社/ -- 本文围绕时间同步技术展开,作为智能汽车 "感知-决策-执行 -交互" 全链路的时间基准,文章介绍了 PTP、gPTP、CAN 等主流同步技术及特点
    的头像 发表于 07-22 09:17 416次阅读
    黑芝麻智能<b class='flag-5'>跨</b><b class='flag-5'>域</b>时间同步技术:消除多<b class='flag-5'>域</b>计算单元的<b class='flag-5'>时钟</b>信任鸿沟

    异步时钟处理方法大全

    该方法只用于慢到快时钟的1bit信号传递。在Xilinx器件中,可以使用(* ASYNC_REG = "TRUE" *)标记,将两个寄存器尽量靠近综合,降低 亚稳态因导线延迟太大而传播到第二个寄存器的可能性。
    的头像 发表于 05-14 15:33 1289次阅读
    <b class='flag-5'>跨</b>异步<b class='flag-5'>时钟</b><b class='flag-5'>域</b><b class='flag-5'>处理</b>方法大全

    DLPC3433的PCLK和PDATA【0~23】该如何处理呢?

    我们项目里面只用到了mipi接口,请问下如何处理不用的并口输入呢? 规格书中在第7页有描述PDM_CVS_TE,VSYNC_WE,HSYNC_CS,DATAEN_CMD需要下拉,但没有明确说PCLK和PDATA【0~23】该如何处理, 请问下PCLK和PDATA【0~
    发表于 02-27 08:43

    THS8200出来的视频图像是YPbPr格式,但是显示颜色不对,如何处理

    出来的视频图像是YPbPr格式,但是显示颜色不对,亮度信号里有彩色信号,请问该如何处理。盼复!
    发表于 02-13 06:29

    差分输入的AD转换芯片如何处理单端输入的信号

    对一个仪表放大器输出的信号进行AD转换,怎么使用差分输入呢,IN-端是接地么?还是怎么处理? 即是:差分输入的AD转换芯片如何处理单端输入的信号
    发表于 02-07 06:40

    ADS1192IRSMR何处理采集ECG信号伴随的工频干扰、运动基线漂移、电极接触噪声、肌电干扰等及其他干扰的?

    请问这颗ECG 模拟前端,他如何处理采集ECG信号伴随的工频干扰、运动基线漂移、电极接触噪声、肌电干扰等及其他干扰的,是需要外面搭电路还是他内部可以处理,如果是搭电路能否给应用线路图?内部
    发表于 02-05 08:23

    探索对抗训练的概率分布偏差:DPA双概率对齐的通用自适的目标检测方法

    检测) 目标检测作为计算机视觉领域的核心任务,在闭集场景中已经取得了显著的进展。然而,现有的方法通常假设类别集合是固定的,并依赖于大量的标注数据,这导致它们在处理数据时,特别是在源
    的头像 发表于 01-15 13:45 1179次阅读
    探索对抗训练的概率分布偏差:DPA双概率对齐的通用<b class='flag-5'>域</b>自适的目标检测方法

    TSP研究:车内网联服务向融合、全场景融合、舱驾融合方向拓展

    的数据采集与供应,进而为车主提供更加多样化服务。其服务内容涵盖导航服务、社交服务、娱乐服务、远程保养服务、安全服务等。 来源:公开资料 随着融合、舱驾融合等趋势的演进,TSP供应商也在悄然进步,从纯车内网联服务应用向
    的头像 发表于 01-06 09:40 2098次阅读
    TSP研究:车内网联服务向<b class='flag-5'>跨</b><b class='flag-5'>域</b>融合、全场景融合、舱驾融合方向拓展

    混合示波器的原理和应用

    混合示波器是一种集示波器和频谱仪于一体的革新性测试仪器,其原理和应用可以详细阐述如下:一、原理 组成:混合示波器主要由模拟部分和数字部分组成,同时还包含专门用于射频(RF)信号处理
    发表于 12-27 15:54