同步复位

同步复位:是指当复位信号发生变化时,并不立即生效,只有当有效时钟沿采样到已变化的复位信号后,才对所有寄存器复位。

同步复位电路如下图所示:

always @(posedge clk) beginif(!rst_n) dout <= 0;else dout <= din;
end

异步复位

异步复位: 无论时钟沿是否到来,只要复位信号有效,就对系统进行复位

always @(posedge clk or negedge rst_n) beginif(!rst_n) dout <= 0;else dout <= din;
end

优缺点比较

异步复位,同步释放

什么情况下要用异步复位,同步释放

为了防止复位信号在撤除时产生亚稳态事件。

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”,此时第二级触发器也会更新输出,但是输出值为前一级触发器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

同步复位,异步复位,异步复位,同步释放相关推荐

  1. HDLBITS笔记23:触发器的基础练习(同步清零、异步清零、复位端、字节使能等)

    题目1: D触发器是一种电路,它存储位并定期更新,位于时钟信号的(通常)正边. D 触发器在使用时钟始终块时由逻辑合成器创建(请参见始终阻止2).D触发器是最简单的"组合逻辑后跟触发器的斑点 ...

  2. 怎么样理解同步清零和异步清零?

    DA专业论坛 »  通用设计 » [求助] 大家是怎么样理解 同步清零和 异步清零的?? 查看完整版本: [求助] 大家是怎么样理解同步清零和异步清零的?? mxflying 2005-4-20 03 ...

  3. 【转】1.3异步编程:线程同步基元对象

    开始<异步编程:同步基元对象(上)> 示例:异步编程:线程同步基元对象.rar 如今的应用程序越来越复杂,我们常常需要多线程技术来提高我们应用程序的响应速度.每个线程都由自己的线程ID,当 ...

  4. 同步和异步、阻塞和非阻塞之间的关系以及同步阻塞、同步非阻塞、异步阻塞、异步非阻塞的含义

    目录 从线程的维度来理解同步和异步.阻塞和非阻塞. 从线程维度来理解同步阻塞.同步非阻塞.异步阻塞.异步非阻塞. 从线程的维度来理解同步和异步.阻塞和非阻塞. 先假设有 线程A 和 线程B 两个线程, ...

  5. STM32如何计算RTC时钟异步预分频和同步预分频

    实时时钟 (RTC) 是一个独立的 BCD 定时器/计数器,提供具有可编程闹钟中断功能的日历时钟/日历,可用于管理所有低功耗模式的自动唤醒单元.在配置RTC时钟时预分频器是关键指标,通过配置预分频器可 ...

  6. 为什么在 Verilog HDL 设计中一定要用同步而不能用异步时序逻辑?

    本博文内容来源于:<从算法设计到硬件逻辑的实现>,仅供学习交流使用! 同步时序逻辑是指表示状态的寄存器组的值只可能在唯一确定的触发条件发生时刻改变.只能由时钟的正跳沿或负跳沿触发的状态机就 ...

  7. 关于同步加载与异步加载的区别

    关于同步加载与异步加载的区别 同步加载:同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像).渲染.代码执行. 异步加载:异步加载又叫非阻塞,浏览器在下 ...

  8. java同步异步调用_详解java 三种调用机制(同步、回调、异步)

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,jsPwwCe它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消 ...

  9. 同步阻塞,同步非阻塞,异步阻塞,异步非阻塞IO

    在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作. 在比较这两个模式之前,我们首先的搞明白 ...

  10. adg类似于mysql半同步机制_MySQL基准测试异步复制和半同步复制延迟对比

    测试环境 :MySQL 5.7.26 主从异步复制(GTID) 测试数据 :测试数据:10张表,每张表500万行数据,共12G的数据. 每次测试,主实例服务器测试脚本不变,线程为10,复制方式分别为异 ...

最新文章

  1. Seaborn使用lmplot函数可视化散点图并添加回归曲线、移除默认的回归曲线置信区间(Scatter plot with regression line、Remove CI band)
  2. Python中该使用%还是format来格式化字符串?
  3. java hasfocus_Java KeyEvent.hasNoModifiers方法代碼示例
  4. 图像识别:微信跳一跳机器人
  5. Python绘图,圣诞树,花,爱心 | Turtle篇
  6. nginx 413 Request Entity Too Large
  7. swift 雨燕 新手教程
  8. python 数据内容保留最后一位_python3-数据结构和算法 -- 1.3 保留最后 N 个元素
  9. matlab2c使用c++实现matlab函数系列教程-nchoosek函数
  10. ios开发之 -- 强制横屏
  11. CNDS-markdowm使用方法(^ _ ^)
  12. 手机修改html离线网页内容,HTML5 离线应用之打造零请求、无流量网站的解决方法...
  13. ‘’vr‘’全景抓鸡游戏总结
  14. 化工行业借力APS生产排程
  15. ubuntu安装谷歌浏览器后仍然显示无法连接网络解决办法
  16. 七夕表白代码合集,建议收藏!!!
  17. python web 数据可视化框架_利用django框架,手把手教你搭建数据可视化系统(一)...
  18. 三维欧几里德空间中两个向量叉积的问题
  19. Java--mysql 的数据类型对照(映射)表
  20. linux cnc 树莓派,谈谈LinuxCNC

热门文章

  1. 量化投资学习——集合竞价
  2. 随着BCPNP邀请分数不断居于高位,申请人境外直接申请难度加大,大部分申请人需要先入境工作再递交省提名申请
  3. 向量乘以其转置的意义
  4. python函数实现求非负实数平方根,在shell里调用
  5. GetFileInfo
  6. 哈佛大学——差异表达分析(九)DESeq2步骤描述
  7. pd4ml实现HTML转化PDF
  8. telerik grid ajax,Telerik ajax 控件学习笔记 - Ajax
  9. 运用Slope进行地学遥感信息的处理
  10. 元宇宙大投资 元宇宙通证