数字电路之复位

这篇具有很好参考价值的文章主要介绍了数字电路之复位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.复位概述

复位最基本的作用是使得电路进入一个我们预知的状态。主要使用有:

  • 电路上电复位
    电路在上电前处于一个未知的不确定的状态,所以我们需要进行一次复位,使得进入我们可以确定的状态后进行后续的工作;
  • 电路错误状态复位
    电路进入错误状态后(如状态机跑飞了,系统供电炸了等),我们需要电路可以回到可以控制的状态,这时候我们就会进复位;

复位信号在数字电路里面的重要性仅次于时钟,对电路的复位,就是针对于寄存器的复位,毕竟电路中的值都是由寄存器提供。大部分的寄存器需要复位信号,但也有少数寄存器没有复位信号。

2.同步复位与异步复位

1.同步复位

同步复位指的时,复位肯定发生在时钟的上升沿,也就是复位是与时钟同步的,如下代码:

module DFFsync(q,ck,r,d);
	input ck,d,rst;
	output q;
	reg q;
	always @(posedge ck)begin	//这里没有复位的下降沿触发
		if(~r) q <= 0;
		else q <= d;
	end
endmodule

2.异步复位

异步复位:只要复位信号进行相应的跳变则进行复位,即触发信号加入时钟的相应跳变,复位不在需要时钟边沿进行触发;
如下异步复位代码:

module DFFsync(q,ck,r,d);
	input ck,d,rst;
	output q;
	reg q;
	always @(posedge ck or negedge r)begin	//这里加入了or选项
		if(~r) q <= 0;
		else q <= d;
	end
endmodule

3.同步复位优缺点

优点如下:

  • 抗干扰能力强,可以剔除复位信号毛刺;
  • 有利于静态时序分析工具;
  • 有利于基于周期的仿真工具的仿真;

缺点如下:

  • 占用更多的逻辑资源;
  • 对复位信号脉宽有要求,太窄的脉宽识别不到,必须大于时钟周期;
  • 依赖于时钟,若时钟出问题,则也复位不了;

4.异步复位优缺点

优点如下:

  • 无需额外的逻辑资源,实现简单;
  • 有特定的布线资源,保证复位管脚到寄存器的时钟偏差最小;
  • 复位不依赖时钟,时钟出问题了还是可以复位;

缺点如下:

  • 复位信号 敏感,若出现毛刺,则会误复位;
  • 复位信号的释放随机,可能导致时序违规(复位释放处于时钟沿附近,导致建立时间/保持时间不满足),使得电路进入亚稳态

5.异步复位、同步释放

异步复位、同步释放整个的思路是,但复位信号有效是是立刻生效的,但复位信号的撤销需要遵从时钟沿;
数字电路之复位
如上图(参考别处的)我们进行一些分析;

  • rst_async_n 生效 即(rst_async_n==1 -> rst_async_n==0)
    此时1框内的寄存器是马上更新的,所以输出的rst_sync_n也是马上可以体现出来的,实现对2框内的电路进行异步复位;
  • rst_async_n 无效 即(rst_async_n==0 -> rst_async_n==1
    此时由于电路设计时,图上寄存器只对复位信号的下降沿敏感,所以当失效模式下,并不会马上更新,所以就算你的复位信号在1框中第一个寄存器的时钟沿进行变化,但是由于中间加了一个寄存器不会立马传到框2中去(这个寄存器就是拿来同步的);实现了同步释放;

此上就实现了异步复位,同步释放。简单代码实现如下;

...
always @(posedge clk or negedge rstn_in)begin
	if(~rstn_in)begin					//实现异步复位
		rstn_in_d1 <= 1'b0;
		rstn_in_d2<= 1'b0;
	end
	else begin						//实现同步释放
		rstn_in_d1 <= rstn_in;
		rstn_in_d2 <= rstn_in_d1;	
	end
end

assign rstn_out = rstn_in_d2;
...

异步复位、同步释放一般使用在不同时钟域复位信号传递,需要将复位信号同步到另一时钟域,使得复位在释放时确保满足寄存器时序要求;文章来源地址https://www.toymoban.com/news/detail-446036.html

6.关于异步复位、同步释放的思考

  1. 如果没有前面两级触发器的处理,异步信号直接驱动system模块,会出现什么情况?
    答:可能出现时序违规,即复位信号的释放在时钟的跳变沿附近,导致建立时间/保持时间得不到满足;
  2. 复位信号存在亚稳态,有危险么?
    答:任何信号存在亚稳态都是有危险的,我们只能减小这个危险出现的概率,所以我们用了两级的触发器进行同步,就是为了减小这个亚稳态传播下去的概率,两级已经足够了,当然要三级也可以,但没必要,可以这么理解:一级不够,二级刚好,三级浪费

到了这里,关于数字电路之复位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 各种芯片复位电路分析

            很多芯片都会有复位电路,包括CPU,MCU,CPLD,等等等等芯片,我们以低电平复位来举例。 一、电阻+电容复位 二、电阻+电容+二极管 三、复位芯片 四、单片机控制复位         常见的最简单的复位电路就是一个电阻加上一个电容,也被称为上电自动复位,其原理

    2024年02月08日
    浏览(50)
  • 20---复位电路设计

    复位电路设计01_哔哩哔哩_bilibili 复位电路又叫初始化电路,它的作用是将芯片的工作状态回到初始状态! 复位电路在硬件设计中至关重要,在实际调试的过程中,与复位相关的点必核查! 最主要的2种。 1 、 电源接通到电源稳定期 (电源上升的空窗期,其他电路还没有准备

    2024年03月21日
    浏览(41)
  • STM32 复位电路设计

    在此之前我是个只会抄写原理图的工程师,每当遇到一个问题时,确需要解决很久,最根本的原因在于不明白其中的原理,这次补充一下单片机复位电路设计 在做一件事情之前需要明白为什么要这么做,我们为什么要设计复位电路呢?一下几点原因是我总结出来的。 当你的

    2023年04月08日
    浏览(37)
  • 基于Verilog设计的复位电路设计

    复位指的是将寄存器中的值全部置成默认值,一般复位包括同步复位和异步复位,复位可以由硬件开关控制,也可以由软件逻辑控制。复位电路复杂是因为复位本身是对大规模的硬件单元进行一种操作,必须要结合底层的设计来考虑问题。 相信大家在学习 FPGA 或者 ASIC 的时候

    2024年02月02日
    浏览(45)
  • FPGA应用学习笔记-----复位电路(二)和小结

    不可复位触发器若和可复位触发器混合写的话,不可复位触发器是由可复位触发器馈电的。    不应该出现的复位,因为延时导致了冒险,异步复位存在静态冒险  附加素隐含项,利用数电方法,消除静态冒险    这样多时钟区域还是算异步的,每一时钟区域用一个复位同步

    2024年02月13日
    浏览(46)
  • 定量分析计算51单片机复位电路工作原理 怎么计算单片机复位电容和电阻大小

    下面画出等效电路图  可以知道单片机内必然有一个电阻RX,为了简化分析,我们假设他是线性电阻(不带电容,电感的支路) 还有一个基础知识: 电容器的充电放电曲线: 还需要知道电容电压的变化是连续的,(高数知识)无法跳变。 一个很大的误区就是认为电容一上电

    2024年02月12日
    浏览(55)
  • TM32F103C8T6(晶振电路,复位电路,调试下载串口详解)

            STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。除了被我们熟知的STM32,ST公司还有SPC5X系列、STM8系列等,具体参数如下:         ARM公司在ARM11以后改用Cortex命名,并分成A、R和

    2023年04月08日
    浏览(56)
  • 51单片机复位电容计算与分析(附带Proteus电路图)

    因为C=dQ/dU=(i x dt)/dU;            =====         i=C  x   (dU/dt). 所以在上电瞬间,U从0变化到U,所以这一瞬间就是通的,然后电压稳定在5V,这个时候这就是一个直流回路,因为dU=0,所以I=0,所以就不通了。 然后来分析一下这个电容的电压到底是能不能达到单片机需要的复位

    2024年02月06日
    浏览(49)
  • STM32的一键下载CH340 DTR RTS与复位电路NRST的学习笔记

    这两天在学习stm32最小系统板的时候 对这一部分特别的不理解 于是就去找了很多东西去看  先说一键下载电路吧 先引用一张正点原子的原理图: 在芯片手册上查找ch340的手册,上面对于 RTS与DTR的定义是这样的 :   这就说明 我们是可以去控制RTS与DTR的一个高低电平的 从而

    2023年04月23日
    浏览(40)
  • 数字设计小思 - 谈谈复位那些事

    本系列整理数字系统设计的相关知识体系架构,为了方便后续自己查阅与求职准备。在FPGA和ASIC设计中,对于复位这个问题可以算是老生常谈了,但是也是最容易忽略的点。本文结合FPGA的相关示例,再谈一谈复位。 (本文长度约六千字,请耐心阅读,本人水平有限,如有纰漏

    2024年02月08日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包