为什么要异步复位,同步释放?

结论:

防止复位信号撤除时,因为违反recovery和removal产生亚稳态事件;

接下来是详细解释:

异步复位的弊端:

异步复位中最严重的问题是,如果异步复位信号在触发器时钟有效沿附近“释放”(复位信号从有效变为无效)的话,可能会导致触发器输出的亚稳态。

  • 异步复位信号释放(对低电平有效的复位来说就是上跳沿)与紧跟其后的第一个时钟有效沿之间,有一个必须间隔的最小时间称为Trecovery(recovery time,恢复时间)。
    举例:如果异步复位释放后马上来了一个时钟有效边沿,触发器输出端的值将是不确定的,可能是高电平也可能是低电平,可能处于高低电平之间,也可能处于震荡状态,这就是亚稳态。如下图所示,Q为输出。
  • 时钟有效沿与紧跟其后的异步复位信号释放之间所必须的最小时间称为tremoval(removal time消除时间)。小于这个时间,则触发器的输出端的值将是不确定的,可能是高电平,可能是低电平,可能处于高低电平之间,也可能处于震荡状态,并且在未知的时刻会固定到高电平或低电平。这种状态就称为亚稳态。
    举例:如果时钟有效沿到来后,马上来了异步复位信号的上升沿(复位信号释放)触发器处于亚稳态。如下图所示。

同步复位的弊端:

同步复位唯一的缺点就是复位信号必须大于一个时钟周期才能保证被采到,从而能够复位成功,在保证同步复位信号持续时长的前提下,同步复位是没有问题的。

2、异步复位同步释放。

如图第一个方框内是异步复位和同步释放电路。有两个D触发器构成。第一级D触发器的输入时VCC,第二级触发器输出是可以异步复位,同步释放后的复位信号。

1)电路目的:防止复位信号撤除时产生亚稳态事件。

2)什么是异步复位和同步释放:是指复位信号是异步有效的,即复位的发生与clk无关。后半句“同步释放”是指复位信号的撤除也与clk无关,但是复位信号是在下一个clk来到后起的作用(释放)。

下面说明一下如何实现异步复位和同步释放的。

异步复位:显而易见,rst_async_n异步复位后,rst_sync_n将拉低,即实现异步复位。

同步释放:这个是关键,看如何实现同步释放,即当复位信号rst_async_n撤除时,由于双缓冲电路(双寄存器)的作用,rst_sync_n复位信号不会随着rst_async_n的撤除而撤除。

假设rst_async_n撤除时发生在clk上升沿,如果不加此电路则可能发生亚稳态事件,但是加上此电路以后,假设第一级D触发器clk上升沿时rst_async_n正好撤除,则D触发器1输出高电平“1”,此时第二级触发器也会更新输出,但是输出值为前一级触发器clk来之前时的Q1输出状态。显然Q1之前为低电平,顾第二级触发器输出保持复位低电平,直到下一个clk来之后,才随着变为高电平。即同步释放。

代码:

module reset_gen ( output rst_sync_n, input clk, rst_async_n);
reg rst_s1, rst_s2;
wire rst_sync_n ;always @ (posedge clk, posedge rst_async_n)if (rst_async_n)begin rst_s1 <= 1'b0;rst_s2 <= 1'b0;endelse beginrst_s1 <= 1'b1;rst_s2 <= rst_s1;endassign rst_sync_n = rst_s2; //注意这里的rst_sync_n才是我们真正对系统输出的复位信号endmodule

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

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

相关文章

2级同步引发的思考

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

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等头部玩家的“带领”下,短剧出海已进入了史无前例的“亿”级爆发阶段,伺机…