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

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

3天内不再提示

数字电路设计中跨时钟域处理的亚稳态

FPGA之家 来源:FPGA开发之路 作者:FPGA开发之路 2021-08-25 11:46 次阅读

数字电路设计中遇到跨时钟域(Clock Domain Crossing, CDC)的电路时一般都需要特别的处理,例如同步器,异步FIFO等。那么为什么CDC需要特别的处理,如果不做处理又会导致什么问题。

亚稳态

我们都知道数字电路中有两个最重要的概念,建立时间和保持时间。通过满足建立时间和保持时间,我们可以确保信号被正确的采样,即1采到便是1,0采到便是0。但是如果不满足建立时间和保持时间,采到的信号会进入一个不稳定的状态,无法确定是1还是0,我们称之为亚稳态。这个亚稳态的信号会在一段时间内处于震荡状态,直到稳定,而稳定后的状态值与被采样值无关,可能是0也可能是1。

图1【1】所示的是异步时钟采样失败的情况。当数据(adat)的变化离采样时钟(bclk)的变化沿很近时,由于不满足建立时间,导致采样到的信号(bdat1)进入亚稳态。

异步时钟由于时钟相位不同,图1的情况往往难以避免,这也是跨时钟域时容易发生亚稳态的原因。

亚稳态会导致什么问题

由于亚稳态的信号会在一段时间内处于震荡状态,后续不同的逻辑可能会将该信号识别为不同的状态值,甚至是后续逻辑也出现亚稳态的情况,导致逻辑的错误和混乱,比如状态机出现错误的跳转从而锁死在某个状态。

同步器

第一级触发器采样后出现亚稳态,第二级触发器在经过一个时钟周期的等待之后采样到一个稳定状态的信号,达到消除不定态的目的。不过要注意,这样的同步器只是减小了亚稳态发生的概率,并不能完全消除亚稳态的发生。而亚稳态发生的概率的大小一般可以用MTBF(Mean Time Between Faliure)来表示。MTBF的值越小表示亚稳态发生的频率越高。

表示了MTBF的影响因子,可以看到,当时钟频率越高,数据发生变化的频率越高,MTBF越小,即亚稳态发生的频率也越高。

对于一些高频电路设计,两级触发器所构成的同步器MTBF仍然很小,这时候可以考虑再添加一级触发器,即使用三级触发器。另外,我们也希望当数据被异步时钟采样时数据的变化频率也尽可能小,因此一般数据在跨时钟域之前最好可以用寄存器打一拍,减少数据的变化,从而减小亚稳态发生的概率。

值得注意的是,同步器的使用只是消除了不定态,但是同步器的输出仍然可能是错误的,可能被采样的信号是1,但是同步器输出的确是0。这样的错误是否是电路可以接受的要依据不同的设计来看,这便涉及到另外一个话题,如何使系统对产生的错误不敏感,本文暂不讨论。

责任编辑:haq

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

    关注

    172

    文章

    5905

    浏览量

    172151
  • 时钟
    +关注

    关注

    10

    文章

    1733

    浏览量

    131454
  • 同步器
    +关注

    关注

    1

    文章

    98

    浏览量

    14629

原文标题:跨时钟域处理-亚稳态与同步器

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何使用 Verilog 进行数字电路设计

    使用Verilog进行数字电路设计是一个复杂但有序的过程,它涉及从概念设计到实现、验证和优化的多个阶段。以下是一个基本的步骤指南,帮助你理解如何使用Verilog来设计数字电路: 1. 明确设计需求
    的头像 发表于 12-17 09:47 160次阅读

    一文解析时钟传输

    采样到的信号质量!最常用的同步方法是双级触发器缓存法,俗称延迟打拍法。信号从一个时钟进入另一个时钟之前,将该信号用两级触发器连续缓存两次,可有效降低因为时序不满足而导致的
    的头像 发表于 11-16 11:55 503次阅读
    一文解析<b class='flag-5'>跨</b><b class='flag-5'>时钟</b><b class='flag-5'>域</b>传输

    JK触发器是一种什么稳态电路

    JK触发器是一种具有两个稳态数字逻辑电路,广泛应用于数字电路设计。 引言 在数字电路设计
    的头像 发表于 08-22 10:39 904次阅读

    触发器稳态怎么判断

    触发器稳态的判断是数字电路设计的一个重要环节,它涉及到触发器在不同输入条件下的输出状态稳定性。
    的头像 发表于 08-12 10:27 508次阅读

    数字电路可以处理模拟信号吗

    数字电路主要处理数字信号,即离散的、二进制的信号。然而,在某些情况下,数字电路也可以处理模拟信号,即连续的、非二进制的信号。
    的头像 发表于 08-11 11:08 669次阅读

    数字电路亚稳态是什么

    数字电路的设计与实现亚稳态是一个不可忽视的现象。它可能由多种因素引发,对电路的稳定性和可靠性产生严重影响。本文将深入探讨数字电路
    的头像 发表于 05-21 15:29 1240次阅读

    数字电路和模拟电路的区别与联系

    数字电路和模拟电路是电子电路的两个主要分支,它们在电子威廉希尔官方网站 具有不同的应用和工作原理。本文将详细讨论数字电路和模拟
    的头像 发表于 04-21 10:29 2891次阅读

    数字电路仿真元件符号是什么

    数字电路仿真元件通常用符号来表示。这些符号是通过简洁和易于理解的图形来表示元件的特性和功能。符号是数字电路设计和仿真过程中非常重要的一部分,帮助工程师和设计者有效地沟通和理解电路的功能。在本文
    的头像 发表于 04-21 09:20 2209次阅读

    什么是时钟信号?数字电路时钟信号是怎么产生呢?

    什么是时钟信号?数字电路时钟信号是怎么产生呢? 时钟信号,也称为时钟脉冲,是用于同步数字电路
    的头像 发表于 01-25 15:40 1w次阅读

    两级触发器同步,就能消除亚稳态吗?

    原理 两级触发器同步是一种数字电路设计威廉希尔官方网站 ,用于确保数据在传输过程的可靠性。它通过两级触发器的级联来实现同步传输,可以有效地减少数据传输的噪声、时钟抖动等因素对数据的干扰和误差。
    的头像 发表于 01-16 16:29 1197次阅读

    复位信号存在亚稳态,有危险吗?

    复位信号存在亚稳态,有危险吗? 复位信号在电子设备起着重要的作用,它用于使设备回到初始状态,以确保设备的正常运行。然而,我们有时会发现复位信号存在亚稳态,这意味着信号在一定时间内未能完全复位,并
    的头像 发表于 01-16 16:25 485次阅读

    时钟的解决方案

    在很久之前便陆续谈过亚稳态,FIFO,复位的设计。本次亦安做一个简单的总结,从宏观上给大家展示时钟的解决方案。
    的头像 发表于 01-08 09:42 903次阅读
    <b class='flag-5'>跨</b><b class='flag-5'>时钟</b><b class='flag-5'>域</b>的解决方案

    如何处理时钟这些基础问题

    对于数字设计人员来讲,只要信号从一个时钟跨越到另一个时钟,那么就可能发生亚稳态。我们称为“
    发表于 01-08 09:39 634次阅读
    如何<b class='flag-5'>处理</b><b class='flag-5'>跨</b><b class='flag-5'>时钟</b><b class='flag-5'>域</b>这些基础问题

    数字电路设计有哪些仿真验证流程

    数字电路设计的仿真验证流程是确保设计能够正确运行的重要步骤之一。在现代电子设备数字电路被广泛应用于各种应用领域,如计算机、通信设备、汽车电子等等。因此,设计师必须通过仿真验证来确保电路
    的头像 发表于 01-02 17:00 1601次阅读

    对话国产EDA和IP厂商,如何攻克大规模数字电路设计挑战?

    随着先进制程不断推进,以及AI、大数据、云计算等一系列新威廉希尔官方网站 的快速发展,数字电路处理能力越来越强,电路规模越来越大,对大规模数字芯片的需求也越来越多。因此,如何加速大规模
    的头像 发表于 12-28 08:23 1227次阅读
    对话国产EDA和IP厂商,如何攻克大规模<b class='flag-5'>数字电路设计</b>挑战?