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

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

3天内不再提示

如何解决单bit和多bit跨时钟处理问题?

FPGA自习室 来源:FPGA自习室 作者:FPGA自习室 2021-03-22 10:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、简要概述:

在芯片设计过程中,一个系统通常是同步电路和异步电路并存,这里经常会遇到CDC也就是跨时钟域处理的问题,常见的处理方法,可能大家也已经比较熟悉了,主要有单bit跨时钟处理、多bit跨时钟处理两大类,本文以一个总线全握手跨时钟域处理为例解析,单bit和多bit跨时钟处理。这里需要注意是多bit含义比较广泛和总线不是一个概念,如果多个bit之间互相没有任何关系,其实,也就是位宽大于1的单bit跨时钟处理问题,如果多个bit之间有关系,作为一个整体,那么我们就叫做总线。因此,大家常说的“多bit跨时钟处理”也就是总线跨时钟处理。

二、总线全握手应用场景:

适用慢速总线信号跨时钟域。慢到快,快到慢均可,只要保证源信号更新时间大于同步时间即可。同步周期为6或者8个慢时钟周期。

三、总线全握手原理框图:

总线全握手跨时钟域原理图如下所示,使用了两个单bit同步器模块,因为是请求和响应都是电平信号,所以这里采用单bit同步器(寄存器打2拍或者3拍)。这里反馈过来的dst_ack_sync信号,经过一定处理可以得到src_req和sync_ok信号,图中我未画出。可以确定的是当请求和响应均为低电平时,表明一次同步完成。

两级触发器同步原理:假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间 + 第二级触发器的建立时间 < = 时钟周期。

注意:在芯片设计中,单bit同步器通常不是私自直接打两拍处理的,而是使用专用的同步器单元,这样做的好处是方便后端(PR)可以把两级触发器视为一个整体,把两级触发器放的很近(线延时比较小)。这是因为能更好的满足第二级触发器建立时间,有效的减少亚稳态传播。

四、总线全握手仿真测试 :

场景1:源时钟100Mhz,目的时钟25Mhz,2级同步器。

从上图可以看出,同步完成需要6个目的时钟周期,也就是说完成一次全握手需要6个目的时钟周期的时间,这就要求源时钟数据信号的更新时间,必须大于同步时间。如果变化太快中间的数据会漏采。

场景2:源时钟25Mhz,目的时钟100Mhz,2级同步器

从上图可以看出,同步完成需要6个源时钟周期,也就是说完成一次全握手需要6个源时钟周期的时间,这就要求源时钟数据信号的更新时间,必须大于同步时间。如果变化太快中间的数据会漏采。

场景3:源时钟25Mhz,目的时钟100Mhz,3级同步器

从上图可以看出,同步完成需要8个源时钟周期,也就是说使用3级同步器完成一次全握手需要6+2个源时钟周期的时间。

结论:在使用总线全握手同步器时,不管源时钟与目的时钟多大,同步的时间均是慢时钟的6个时钟周期,如果使用3级同步器则是8个慢速时钟周期。这就要求源时钟信号不能变化太快。

原文标题:CDC(一) 总线全握手跨时钟域处理

文章出处:【微信公众号:FPGA自习室】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    173

    文章

    6093

    浏览量

    179135
  • 时钟
    +关注

    关注

    11

    文章

    2005

    浏览量

    135396

原文标题:CDC(一) 总线全握手跨时钟域处理

文章出处:【微信号:FPGA_Study,微信公众号:FPGA自习室】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Renesas RX610 Group 32 - Bit MCU深度解析

    Renesas RX610 Group 32 - Bit MCU深度解析 在嵌入式系统设计领域,一款性能卓越的微控制器(MCU)往往是项目成功的关键。Renesas的RX610 Group
    的头像 发表于 05-18 15:45 140次阅读

    FSSD07:一款高效的1-Bit / 4-Bit SD/SDIO和MMC双主机多路复用器

    卡作为常见的存储和接口设备,在各类电子设备中得到了广泛应用。而FSSD07这款1-Bit / 4-Bit SD/SDIO和MMC双主机多路复用器,为解决主机与这些存储卡之间的通信问题提供了一个优秀
    的头像 发表于 04-11 09:50 339次阅读

    RZ/Five Group 32 & 64 - bit MPUs:功能全面的硬件解决方案

    RZ/Five Group 32 64 - bit MPUs:功能全面的硬件解决方案 在电子产品设计领域,寻找一款性能卓越、功能丰富且稳定可靠的微处理器(MPU)至关重要。RZ/Five Group
    的头像 发表于 04-01 11:35 235次阅读

    AD5735:四通道 12 - bit 串行输入 DAC 的卓越性能与应用解析

    AD5735:四通道 12-bit 串行输入 DAC 的卓越性能与应用解析 在工业过程控制等领域,精确的数字 - 电流环路和电压输出转换至关重要。AD5735 作为一款四通道、12 - bit 串行
    的头像 发表于 03-30 14:55 207次阅读

    中微爱芯推出16bit高精度模数转换器AiP8342

    AiP8342是中微爱芯推出的一款16bit、15MSPS、电源、单通道的完整高速模数转换器。主要用于CCD成像应用设计。
    的头像 发表于 03-20 10:52 1872次阅读
    中微爱芯推出16<b class='flag-5'>bit</b>高精度模数转换器AiP8342

    Arm率先适配腾讯混元HY-1.8B-2Bit模型

    腾讯混元今日发布了 HY-1.8B-2Bit,这是一款等效参数量仅有 0.3B 的极低比特压缩模型,有助于移动设备厂商和开发者加速实现生成式 AI 的创新落地。作为全球应用最为广泛的高性能、高能效
    的头像 发表于 02-10 17:29 2163次阅读

    FLASHDB中KVDB 的FDB_WRITE_GRAN可以改为64bit或者128bit而TSDB为什么不行?

    FLASHDB中KVDB 的FDB_WRITE_GRAN可以改为64bit或者128bit而TSDB为什么不行?
    发表于 09-23 06:54

    主板的RGB接口是16bit位(RGB-565),怎么24bit位RGB接口的 屏幕 接线 ?

    求助各位大神, 主板的RGB接口是16bit位(RGB-565),怎么24bit位RGB接口的 屏幕 接线 ?
    发表于 09-16 10:13

    PT5F2307 触摸 A/D 型 8-Bit MCU规格书

    PT5F2307 是一款 51 内核的触控 A/D 型 8 位 MCU,内置 16K*8bit FLASH、内部 256*8bitSRAM、外部 512*8bit SRAM、触控检测、12 位
    发表于 09-15 16:42 1次下载

    大彩讲堂:VisualHMI-LUA教程-set_bit/get_bit函数应用

    set_bit/get_bit函数应用
    的头像 发表于 08-31 17:05 1103次阅读
    大彩讲堂:VisualHMI-LUA教程-set_<b class='flag-5'>bit</b>/get_<b class='flag-5'>bit</b>函数应用

    液晶显示屏LVDS接口JEIAD 、VESA、18bit LVDS关联和区别

    方式: 它使用4个数据通道(3个传RGB数据,1个传时钟和控制信号)。 在每个时钟周期内,它将3个8bit的R/G/B数据(共24bit)和3个控制信号(HS, VS, DE)拆分到3
    发表于 08-30 09:13

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

    ,并以黑芝麻智能武当 C1296 芯片为例,通过多方式同步实现域高精度对齐,消除时钟信任鸿沟的实测效果。 智能汽车的核心是通过多维度感知、实时决策和精准控制实现辅助驾驶与智能交互,而这一切的前提是 "时间基准一致",由于不同传感器采集数据的频率、机制不同,只有在时间
    的头像 发表于 07-22 09:17 722次阅读
    黑芝麻智能<b class='flag-5'>跨</b>域时间同步技术:消除<b class='flag-5'>多</b>域计算单元的<b class='flag-5'>时钟</b>信任鸿沟

    一款芯片、电源、10bit、50MSPS的模数转换器-MS9280

    模数转换芯片 - MS9280是一款芯片、电源、10bit、50MSPS模数转换器;内部集成了采样保持放大器和电源基准源。MS9280使用多级差分流水线架构保证了50MSPS数据转换数率下全温度范围内无失码。
    的头像 发表于 06-09 17:16 933次阅读
    一款<b class='flag-5'>单</b>芯片、<b class='flag-5'>单</b>电源、10<b class='flag-5'>bit</b>、50MSPS的模数转换器-MS9280

    STM32U5+8bit_8080 LCD 怎么配置touchgfx?

    我参与的项目使用STM32U575做为主空,使用fmc来驱动8080接口的8bitLCD,配置touchgfx时不能配置为8bit,其他选型例如DMA2D也使用不了,我该怎么做?
    发表于 06-09 06:23

    请问CY7C68013A可以使用8bit FIFO数据接口吗?

    因为FPGA管脚不太够,想问下CY7C68013A-56PVXI可以使用8bit FIFO数据接口吗?可以的话,FPGA连接的是低8bit(FD0~FD7) 还是高8bit(FD8~FD15)呢?
    发表于 05-30 07:20