2级同步引发的思考

1. 2级同步的第二拍亚稳态出现概率非常小,但是也有可能出现,这一点对于从慢到快和从快到慢都是一样的;
如果认为第二拍亚稳态不会出现的话,从慢到快从功能上,一定可以采到正确的值;从快到慢从功能上,不一定
可以采到正确的值;

电路如下所示:

 

时序如下所示:

 

 

情况1和情况2都是假定q2不会出现亚稳态,情况3假定q2发生了概率极小的亚稳态事件。

对于从慢到快,情况1和情况2都采到了正确的值,功能正确;情况3时序说明2级同步失败;

对于从快到慢,情况1采到了正确的值,功能正确,情况2采到了错误的值,功能错误;情况3时序说明2级同步失败;


2.接下来说明q2出现亚稳态的概率极小的原因,从MTBF角度分析:首先MTBF(Mean Time Between Failures):触发器采样失败的时间间隔;

每一个触发器都有其规定的建立(setup)和保持(hold)时间参数, 在这个时间参数内, 输入信号在时钟的上升沿是不允许发生变的。 如果在信号的建立时间中对其进行采样, 得到的结果将是不可预知的,即亚稳态。

触发器进入亚稳态的时间可以用参数 MTBF(mean time between failures)来描述, MTBF即触发器采样失败的时间间隔,其公式描述如下:

 

通常,MTBF越大说明系统采样失败的可能越小。可见,对于高速的设计,MTBF是更容易发生的。对于一个典型的 0.25µm 工艺的 ASIC 库中的一个触发器,我们取如下的参数:

tr = 2.3ns, τ = 0.31ns, T0 = 9.6as, f=100MHZ, a = 10MHZ, MTBF = 2.01 days

也就是说触发器以100MHZ工作,假设异步事件触发的频率,也就是数据变化的频率10M。我们用100MHZ的频率去不停地采它的数据,则每两天第一级触发器就可能采集到一次亚稳态。

为了避免所述的亚稳态问题,就应当使参数 MTBF 尽可能的大,通常采用的方法 是双锁存器法,即在一个信号进入另一个时钟域之前,将该信号用两个锁存器连续锁存两次, 最后得到的采样结果就可以消除亚稳态问题。

也就是说,第二级触发器采样失败的间隔时间是9.57*10……9年。

 

3.从电路角度去看亚稳态这件事,可以得到如下分析:

触发器发生亚稳态后,Q端电平是增加还是减小去否取决于CLK采样D端是大于0.5VDD,还是小于
0.5VDD?最终将稳定到1或0? 当采到0.5VDD时,Q端电平将如何变化?
从定性的角度来看,CLK采样D端大于0.5VDD,最终将稳定到1,CLK采样D端小于0.5VDD,最终将稳定到0,但是实际上跟触发器本身阈值电压密切相关,
例如触发器阈值电压0.2VDD,那么CLK采样D端0.3VDD,最终触发器输出也有可能为1,因此只是一个定性的分析,无法说给出一个确定的亚稳态最终
将稳定到何值的预测;
采样到0.5VDD时,Q端电平和采样到非0.5VDD时一样,没有区别,0.5VDD并不是一个特例。


格雷码同步多bit信号有一个大的前提条件,即此多bit信号是连续递增或递减的,在此基础上分类讨论:
1.多bit信号时钟域相比module时钟域是慢时钟域,那么多bit信号虽然中间值有可能出现1bit错误,但是下一拍此值可以正确被同步,
因此多bit信号的每一个信号都是可以正确被同步的;
2.多bit信号时钟域相比module时钟域是快时钟域,那么除了多bit信号中间值有可能出现1bit错误外,多bit信号的值是被间隔着同步的,
无法做到每一个值都被正确同步;

如下图所示:

对应时序图解释:

 

 

因此使用格雷码计数器同步多bit信号这种CDC方式很受限,基本上只在异步FIFO中有用到;但是在具体设计中如果满足以上格雷码同步的前提,并知晓格雷码同步

后的结果,可以做出对应设计。例如一个module输入10bit信号sig,慢于module时钟域且sig是逐次递增的,想要将sig同步的module时钟域,那么可以用格雷码同步。

 

4. 多bit寄存器动态可配这件事如何去做?转化成格雷码,寄存器时钟域打一拍,然后同步取沿,用取到的沿
去寄存变化的寄存器值;这样的话,假定无论寄存器打出时钟是快还是慢,寄存器本身的变化是慢于使用寄存器
的module的时钟的,那么从快到慢和从慢到快都是可以这样去做;不能这样做,因为寄存器值的变化不是连续的!!
有什么别的方法吗?

用握手方式去做,即reg_wr脉冲同步到module时钟域,然后module时钟域的pulse有效时,将写数据寄存到module时钟域,在此期间,注意写数据是hold住不变的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/823633.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

thinkphp5如何获取请求过来的网址

​为了掌握如何在thinkphp5中获取请求的网址,本文将介绍以下几个关键步骤:1.了解请求对象的基础;2.使用url方法获取完整URL;3.获取URL中的各个组成部分;4.使用场景:重定向与获取上一个页面的URL;5.处理请求对象中的安全性问题。在使用thinkphp5进行开发时,对请求的处理…

【学习笔记】dp 优化

单调栈 & 单调队列 没啥好说的。放两道题目。 线段树优化 dp 例题 CF115E Linear Kingdom Races 容易想到记 \(f_{i,j}\) 表示前 \(i\) 个跑道,\([i-j+1,i]\) 全部修好的最大利润,但不好优化。考虑转化为表示 \([j,i]\) 全部修好的最大利润。最简单的状态转移方程: \[f_…

DBeaver如何连接impala

DBeaver下载地址:https://dbeaver.io/download/ 1、打开DBeaver,搜impala 2、下载impala驱动,然后解压ClouderaImpalaJDBC-2.6.34.10651)impala驱动下载地址:https://www.cloudera.com/downloads/connectors/impala/jdbc 2)进到ClouderaImpalaJDBC-2.6.34.1065,解压Clou…

什么是多接入边缘计算(MEC)?

多接入边缘计算(MEC)是一个新兴的技术范式,旨在将计算资源和能力从中心化数据中心移至网络的边缘,使其更接近数据源和终端用户。MEC的核心概念是为终端用户提供低延迟、高带宽和实时处理的应用和服务。与传统的云计算相比,MEC可以更有效地满足现代IoT、5G和实时应用的需求…

重工业数字化转型创新实践:某国家特大型钢铁企业如何快速落地基于实时数仓的数据分析平台

本期案例便将聚焦于某国家特大型钢铁企业的数字化创新实践,有效解决跨部门协作不畅、信息孤岛、决策效率低等问题使用 TapData,化繁为简,摆脱手动搭建、维护数据管道的诸多烦扰,轻量替代 OGG, Kettle 等同步工具,以及基于 Kafka 的 ETL 解决方案,「CDC + 流处理 + 数据集…

阿里云消息团队创新论文被软件工程顶会 FM 2024 录用

近日,由阿里云消息队列团队发表的关于 RocketMQ 锁性能优化论文被 CCF-A 类软件工程顶级会议 FM 2024 录用。近日,由阿里云消息队列团队发表的关于 RocketMQ 锁性能优化论文被 CCF-A 类软件工程顶级会议 FM 2024 录用。FM 2024 是由欧洲形式化方法协会(FME)组织的第 24 届国…

分布式服务高可用实现:复制

作者:京东保险 王奕龙1. 为什么需要复制 我们可以考虑如下问题:当数据量、读取或写入负载已经超过了当前服务器的处理能力,如何实现负载均衡?希望在单台服务器出现故障时仍能继续工作,这该如何实现?当服务的用户遍布全球,并希望他们访问服务时不会有较大的延迟,怎么才能…

ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用

云消息队列 ApsaraMQ 全系列产品 Serverless 化,支持按量付费、自适应弹性、跨可用区容灾,帮助客户降低使用和维护成本,专注业务创新。那 ApsaraMQ 是如何一步一步完成 Serverless 能力升级的?在智能化时代,我们的事件驱动架构又是如何拥抱 AI、赋能 AI 的?本文整理于 20…

怎么提醒对方微信转账收款

​​提醒对方微信转账收款需要遵循以下步骤:1.确认转账金额与转账备注;2.及时发送转账成功截图;3.通过微信文字或语音消息进行提醒;4.电话联系或直接沟通;5.留意转账状态并确认收款完成。在转账的过程中,及时沟通与提醒是确保交易流程顺利的关键。1.确认转账金额与转账备…

逆向分析Office VBS宏类型文档

该题目贴合实际,在实战中经常遇到此类宏病毒。将Office文档中嵌入以VBA(Visual Basic forApplications)编写的宏代码脚本,当运行Office文档时,便可以执行各种命令。VBA脚本文件重定向能够将脚本默认文件vbaProject.bin进行替换,在打开文本时加载其他文件,增加分析者的分析…

AIGC 推动短剧出海市场蝶变:降本、提效、增质

AI掀起 短剧出海新曲线短剧出海的新一轮风浪,由AI掀起。 自2022年以来,短剧一步步迈过了验证需求、出海拓荒的蛮荒阶段,到2024年,仅过了短短两年多时间,在ReelShort、DramaBox、FlexTV、ShortMax等头部玩家的“带领”下,短剧出海已进入了史无前例的“亿”级爆发阶段,伺机…

USB协议详解第24讲(USB包-控制传输包详解)

1.控制传输包结构 控制传输由三个阶段组成,设置阶段、可选的数据阶段、状态阶段,其中设置阶段由1个SETUP事务组成,数据阶段由0个或者多个IN/OUT事务组成,状态阶段由1个IN/OUT事务组成,其中每个阶段事务包结构有所不同,下图可以直观看出控制传输写传输的包结构组成。2.设置…