Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >同步时钟域是否会有亚稳态?

同步时钟域是否会有亚稳态?

作者头像
数字IC小站
发布于 2022-08-26 10:46:17
发布于 2022-08-26 10:46:17
1.3K0
举报
文章被收录于专栏:数字IC小站数字IC小站

同步时钟域存在亚稳态吗

某网站上有人提问,同步时钟域是否会存在亚稳态的问题?

答案是肯定的,同步时钟域同样可能存在亚稳态,关于具体原因,我们从本质上进行初步分析。

1.什么是亚稳态?

在数字电路中,每一位数据不是1就是0。当然对于电路来说,并非1就是1V,0就是0V,对于不同的器件它们都有不同的对应区间。对于某个器件来说,0.55V以上可以识别出来是高电平,0.25V以下可以识别出来是低电平,但是如果信号的电压处于0.25~0.55V之间,器件也就无法识别是高电平还是低电平(最终的结果可能是高电平也可能是低电平,无法预测),这种状态也就是亚稳态。

2.为什么会出现亚稳态?

亚稳态的出现归根到底就是因为建立时间和保持时间不满足要求。

建立时间:时钟沿到来之前数据所要保持稳定的时间。

保持时间:时钟沿到来之后数据所要保持稳定的时间。

具体关于这个的解释,其实有很多资料,在此就不做过多解释。根据这个原因,我们可知,如果在同步时钟域中存在建立时间或者保持时间不满足的情况,那么就会出现亚稳态问题。一般情况下,EDA工具在进行STA分析时,就会保证在同步时钟域下的timing问题,保证timing最终会收敛。但是如果一不小心,还是会有EDA在进行STA分析时检查不到的地方,下面就举两个小栗子。

同步时钟域下的亚稳态小栗子1-异步复位

在数字电路中,常常采用的DFF是异步复位同步释放的电路,这样的电路和同步复位电路之间的区别在此也不再多讲。

如下图所示电路

如果两个DFF在连接的是同一个clk,那么这段电路就是同步时钟域下的电路。如果存在前者的reset和后者的reset不是同一个reset信号,换句话说,两者不是同时复位的,甚至前者比后者更早复位,那么就会出现亚稳态的问题。

原因在于EDA在STA时会做reg2reg的timing收敛,但是注意,STA能够做的是分析从DFF的Tclk2q 再加上组合逻辑延迟是不是满足reg2reg的setup/hold timing。但是它不会check从reset端发出的timing,因为复位是可能在任何时候发生的,所以没法进行STA分析。所以这就是现在不仅仅只是check CDC,也得注意check RDC的原因。

如果需要解决这样的问题,主要有以下几种方式。

1.同步时钟域内使用同一个reset源。

2.保证reset sequence,保证后面的reset不晚于前序reset复位。

3.同CDC类似,做同步处理,即在两个DFF之间再插入同步器,这里需要注意的是,需要保证logic和原有一致,有些电路对timing 有严格需求可能不能这么做。

4.在第一级DFF后面添加clamp电路,这样钳制DFF的输出值不会对后续电路造成影响,clamp可以是组合电路,这样就不会带来timing cycle的问题。(具体操作下次可以开一篇文章再讲讲)。

同步时钟域下的亚稳态小栗子2-可变延迟链

电路中存在延迟链,特别是可编程的延迟链时,是很容易发生亚稳态问题的,如下图所示。

这种电路在进行STA分析的时候,一般会采取两种方式。

1.set_false_path,直接不检查这段path的timing

2.set_case_analysis + multi_cycle。

无论哪种,我们都无法保证遍历到所有情况下,都不会触发hold/setup violation,因此也是存在亚稳态概率的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字IC小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
FPGA零基础学习:在FPGA中,同步信号、异步信号和亚稳态的理解
叁芯智能科技-郝旭帅团队打造“FPGA 设计与研发”学习系列, 可以让设计者从“小白”到“入门”再到“精通”。本系列从基础的数字电路为起点,避免学习者“腾空造楼”;中间讲解各类基础外设驱动,保证设计能力逐步加深;后期讲解 FPGA 设计理论和复杂外设、协议驱动实现,确保与现实企业研发对接。
FPGA技术江湖
2021/03/15
9690
FPGA零基础学习:在FPGA中,同步信号、异步信号和亚稳态的理解
FPGA逻辑设计回顾(4)亚稳态与单比特脉冲信号的CDC处理问题
注:本文首发自易百纳技术社区,原文地址:https://www.ebaina.com/articles/140000005331
Reborn Lee
2021/01/26
1K1
FPGA基础知识极简教程(7)详解亚稳态与跨时钟域传输
这篇文章主要是对过去对于亚稳态以及跨时钟域传输问题的一次总结,作为这个系列博文的一次梳理吧。注:微信公众号也会更新,欢迎大家关注,我有了新文章会通过微信公众号推送通知大家,让你有选择的看到我的最新动态。
Reborn Lee
2020/06/29
1.4K0
FPGA中的亚稳态
在FPGA系统中,如果数据传输中不满足触发器的 Tsu和 Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是稳定到0或者1,是随机的,与输入没有必然的关系。
数字芯片社区
2020/07/20
1.4K1
FPGA中的亚稳态
不得不读的 FPGA 设计白皮书——Xilinx FPGA 复位策略白皮书翻译(WP272)【FPGA探索者】
Get Smart About Reset: Think Local, Not Global
FPGA探索者
2021/03/15
1.2K0
数字IC设计经典笔试题之【IC设计基础】
近年来,国内的IC设计公司逐渐增多,IC公司对人才的要求也不断提高,不仅反映在对相关项目经验的要求,更体现在专业笔试题目难度的增加和广度的延伸。为参加数字IC设计公司的笔试做准备,我们需要提前熟悉那些在笔试中出现的经典题目。
数字芯片社区
2020/07/20
1.4K0
同步与异步电路信号交互的问题
同步电路,即电路中的所有受时钟控制的单元,如触发器(Flip Flop)或寄存器(Register),全部由一个统一的全局时钟控制。
数字芯片社区
2022/12/18
9860
同步与异步电路信号交互的问题
同步后的复位该当作同步复位还是异步复位?——Xilinx FPGA异步复位同步释放
(1)尽量少使用复位,特别是少用全局复位,能不用复位就不用,一定要用复位的使用局部复位;
FPGA探索者
2021/03/15
1.6K0
异步复位同步释放(verilog代码|Testbench|仿真结果)
经典电路设计是数字IC设计里基础中的基础,盖大房子的第一部是打造结实可靠的地基,每一篇笔者都会分门别类给出设计原理、设计方法、verilog代码、Testbench、仿真波形。然而实际的数字IC设计过程中考虑的问题远多于此,通过本系列希望大家对数字IC中一些经典电路的设计有初步入门了解。能力有限,纰漏难免,欢迎大家交流指正。快速导航链接如下:
Loudrs
2023/05/23
4.8K0
异步复位同步释放(verilog代码|Testbench|仿真结果)
【004】数字IC笔面试常见题
同步电路的意思就是来自同一个时钟,宽松的定义是来自同一个时钟源的不同时钟(分频)也可。当不是来自同一个时钟源时,只要周期有倍数关系并且相互之间的相位关系是固定的就可以算是同步电路。
数字IC小站
2022/08/26
3400
【004】数字IC笔面试常见题
fpga复位的几种方法
在 FPGA 设计中,复位起到的是同步信号的作用,能够将所有的存储元件设置成已知状态。在数字电路设计中,设计人员一般把全局复位作为一个外部引脚来实现,在加电的时候初始化设计。全局复位引脚与任何其它输入引脚类似,对 FPGA 来说往往是异步的。设计人员可以使用这个信号在 FPGA 内部对自己的设计进行异步或者同步复位。
瓜大三哥
2021/01/12
2.1K0
什么是STA静态时序分析,有什么作用?【FPGA/数字IC笔试面试】
(5) 静态时序分析对所有的时序路径进行错误分析,不需要使用测试向量激活某个路径(与时序仿真的不同点),分析速度比时序仿真工具快几个数量级,克服了动态时序验证的缺陷,适合大规模的电路设计验证,在同步逻辑情况下,能够达到100%的时序路径覆盖;
FPGA探索者
2021/05/26
7.8K0
什么是STA静态时序分析,有什么作用?【FPGA/数字IC笔试面试】
FPGA/ASIC笔试面试题集锦(1)知识点高频复现练习题
本文其实就是整合了一下去年秋招时总结的笔试题或者各大平台的练习题,只不过去年由于边笔试面试边总结,比较粗糙,这里再次整理润色一下,前人栽树,方便后人乘凉!注:个人微信公众号、简书、知乎也正在不断发布文章哦!
Reborn Lee
2020/06/29
2.3K0
触发器全知道
在电子学中,触发器(Flip-Flop)或锁存器(latch)是具有两种稳定状态并可用于存储状态信息的电路,专业术语双稳态多谐振荡器(多谐振荡器是一种电子电路,用于实现各种简单的两态设备,例如张弛振荡器、定时器和触发器,bistable multivibrator)。该电路可以通过施加到一个或多个控制输入的信号来改变状态,并将具有一个或两个输出。它是时序逻辑中的基本存储元素。触发器和锁存器是计算机、通信和许多其他类型系统中使用的数字电子系统的基本组成部分。
碎碎思
2022/06/06
2.3K0
触发器全知道
一道简单的笔试题_亚稳态
触发器的输出会产生毛刺,或者暂时保持在不稳定状态而且需要很长时间才能回到稳定状态;
数字芯片社区
2020/07/20
1.4K0
数字IC基础知识总结(笔试、面试向)-持续更新
BCD码为使用4个bit表示一个十进制位数,即123的BCD码为0x123,余3码表示BCD码基础上加3(十进制),例子如下,对于26而言:
月见樽
2020/05/26
2.3K0
数字IC基础知识总结(笔试、面试向)-持续更新
【005】数字IC笔面试常见题
如图第一个方框内是异步复位和同步释放电路。有两个D触发器构成。第一级D触发器的输入时VCC,第二级触发器输出是可以异步复位,同步释放后的复位信号。
数字IC小站
2022/08/26
3900
【005】数字IC笔面试常见题
跨时钟域传输总结(包含verilog代码|Testbench|仿真结果)
快时钟域相比慢时钟域采样速度更快,也就是说从慢时钟域来到快时钟域的信号一定可以被采集到。既然快时钟一定可以采集到慢时钟分发的数据,那么考虑的问题就只剩下如何保证采样到的信号质量!最常用的同步方法是双级触发器缓存法,俗称延迟打拍法。信号从一个时钟域进入另一个时钟域之前,将该信号用两级触发器连续缓存两次,可有效降低因为时序不满足而导致的亚稳态问题。
Loudrs
2023/06/08
6.4K1
跨时钟域传输总结(包含verilog代码|Testbench|仿真结果)
Clock Domain Crossing, 跨时钟域检查
如今典型的SOC 芯片都功能复杂、接口丰富,在众多复杂功能中不可能所有功能都同时工作,为了能耗,大多数SOC 芯片都会切分成多个电压域,而丰富的接口就意味着庞杂的clock 和reset. 信号跨越不同domain 时都需要特别处理,比如跨power domain 时需要插入isolation 或level shifter 或 ELS, 对power domain 的处理,需要理清power domain 的关系,定义清楚power intent, 在设计、验证、实现端都需要做额外处理;相对于Power domain, 信号跨越Clock domains 给设计、验证、实现带来的挑战会更大, 今天捋一捋实现端对跨Clock domains 的处理,主要是CDC check.
老秃胖驴
2020/10/29
4.3K0
Clock Domain Crossing, 跨时钟域检查
边沿检测(上升沿检测、下降沿检测、双边沿检测|verilog代码|Testbench|RTL电路图|仿真结果)
经典电路设计是数字IC设计里基础中的基础,盖大房子的第一部是打造结实可靠的地基,每一篇笔者都会分门别类给出设计原理、设计方法、verilog代码、Testbench、仿真波形。然而实际的数字IC设计过程中考虑的问题远多于此,通过本系列希望大家对数字IC中一些经典电路的设计有初步入门了解。能力有限,纰漏难免,欢迎大家交流指正。快速导航链接如下:
Loudrs
2023/05/24
6.8K0
边沿检测(上升沿检测、下降沿检测、双边沿检测|verilog代码|Testbench|RTL电路图|仿真结果)
推荐阅读
相关推荐
FPGA零基础学习:在FPGA中,同步信号、异步信号和亚稳态的理解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档