同步复位、异步复位和异步复位同步释放

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

复位的基本目的是使器件进入到可以稳定工作的确定状态,避免器件在上电后进入随机状态。

同步复位

同步复位就是在是在时钟上升沿到来时,复位信号有效。
下面是一个简单的同步复位的D触发器,代码如下:

module Sync_rst (
    input              clk,
    input              rst,        // Synchronous reset
    input      [7:0]   d,
    output reg [7:0]   q
);

always@(posedge clk) 
begin
   if (!rst)   q <= 8'b0;
   else      q <= d;
end
endmodule

同步复位的优点:
1、抗干扰性高,可以剔除复位信号中周期短于时钟周期的毛刺。
2、电路稳定性强。

同步复位的缺点:
1、大多数逻辑器件的目标库内的DFF都只有异步复位端口,适用同步复位时,综合器就会在寄存器的数据输入端插入组合逻辑,占用更多的逻辑资源。
2、同步复位依赖于时钟,如果电路中的时钟信号出现问题,无法完成复位。
3、对复位信号的脉冲宽度有要求,必须大于指定的时钟周期,由于线路上的延迟,可能需要多个时钟周期的复位脉冲宽度,且很难保证复位信号到达各个寄存器的时序。

异步复位

异步复位是指无论时钟沿是否到来,只要复位信号有效沿到来,就进行复位。
下面是一个简单的同步复位的D触发器,代码如下:

module Async_rst (
    input              clk,
    input              rst_n,        // asynchronous reset
    input      [7:0]   d,
    output reg [7:0]   q
);

always@(posedge clk or negedge rst_n) 
begin
   if (!rst_n) q <= 8'b0;
   else        q <= d;
end
endmodule

异步复位的优点:
1、无需额外的逻辑资源,实现简单。
2、复位信号不依赖于时钟。

异步复位缺点:
1、复位信号容易受到外界的干扰,如毛刺等影响;
2、复位信号释放的随机性,可能导致时序违规,倘若复位释放时恰恰在时钟有效沿附近,就很容易使电路处于亚稳态,如下图所示:异步复位 同步释放的代码,fpga开发,单片机,嵌入式硬件
在这里多加一段对于亚稳态的介绍以及其处理办法:
(1)建立时间与保持时间的概念?
建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时 间。异步复位 同步释放的代码,fpga开发,单片机,嵌入式硬件
保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。
异步复位 同步释放的代码,fpga开发,单片机,嵌入式硬件
(2)为什么触发器要满足建立时间和保持时间?
因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。这就是为什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。

处理亚稳态的经典办法——双触发
设计中使用的任何寄存器都会指定一个建立和保持时间,在时钟上升沿前后的这个时间内输入数据被禁止发生任何变动。所有器件中的寄存器都要指定这个精确参数,就是为了防止数据信号两次变化发生的时间间隔太过靠近,从而导致其输出陷入亚稳态。
最常见的同步器就是使用两级寄存器,即使用寄存器打两拍的方式进行同步。所谓的同步器就是采样一个异步信号,采样输出能够同步到本地或采样时钟的模块。
FPGA中的亚稳态
亚稳态问题

异步复位同步释放

推荐的复位电路设计方式是异步复位、同步释放。这种方式,可以有效地继承
异步复位设计简单的优势,并克服异步复位的上述风险与缺陷。
异步复位,同步释放本质就是引入两个触发器,其电路图和时序处理如下图所示:
异步复位 同步释放的代码,fpga开发,单片机,嵌入式硬件异步复位 同步释放的代码,fpga开发,单片机,嵌入式硬件
观察上述电路图和时序图就知道,其实异步复位同步释放和两级打拍的跨时钟域信号处理很相似,本质上都是对信号进行同步处理。上述电路的代码如下:

module Rst_gen (
    input      clk,
    input      rst_async_n,//异步复位信号
    output reg rst_sync_n  //同步释放信号
);

reg rst_s1;

always @(posedge clk or negedge rst_async_n) 
begin
   if(!rst_async_n) 
   begin
       rst_s1     <= 1'b0;//复位信号有效时拉低
       rst_sync_n <= 1'b0;
   end
   else 
   begin
       rst_s1     <= 1'b1;
       rst_sync_n <= rst_s1;// 复位信号无效后,通过两级打拍,实现释放同步
   end
end

endmodule

得到的电路图如下:异步复位 同步释放的代码,fpga开发,单片机,嵌入式硬件
1、异步复位,同步释放的含义

异步复位:就是复位信号可以直接不受时钟信号影响,在任意时刻只要是低电平就能复位,即复位信号不需要和时钟同步。上图中,当rst_async_n有效时,第一个D触发器的输出是低电平,第二个D触发器的输出rst_sync_n也是低电平,第二个方框中的异步复位端口有效,输出被复位。

同步释放:让复位信号取消的时候,必须跟时钟信号同步,即刚好跟时钟同沿。上图中,假设rst_async_n撤除时发生在clk上升沿,如果不加此电路则可能发生亚稳态事件(有的时候会打三拍)。但是加上此电路以后,假设第一级D触发器clk上升沿时rst_async_n正好撤除,则D触发器1可能输出高电平“1”,也可能输出亚稳态,也可能输出低电平。但此时第二级触发器不会立刻更新输出,第二级触发器输出值为前一级触发器Q1的输出状态。显然Q1之前为低电平,故第二级触发器输出保持复位低电平。直到下一个时钟有效沿到来之后,才随着变为高电平。即实现同步释放。
第二种异步复位同步释放方法(此方法笔者也只理解部分)文章来源地址https://www.toymoban.com/news/detail-802717.html

always @ (posedge clk)
reset reg <= rst//将异步复位信号用同步时钟打一拍
always @ (posedge clk or negedge reset reg)
if (!reset reg)
begin
........
end
else
begin
........
end

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

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

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

相关文章

  • 复位策略:同步复位与异步复位

    在IC设计种,复位策略分为同步复位和异步复位两种设计,根据不同的设计,会采用不同的复位方式。 复位的文章已有很多文章讲解了,这里只讨论实现策略。  一、异步复位 1、优点: 1)无需额外的逻辑资源,实现简单,可以保证复位引脚到各个寄存器的时钟偏移最小;

    2024年02月14日
    浏览(43)
  • 数电与Verilog基础知识之同步和异步、同步复位与异步复位

    同步和异步是两种不同的处理方式,它们的区别主要在于是否需要等待结果。同步是指一个任务在执行过程中,必须等待上一个任务完成后才能继续执行下一个任务;异步是指一个任务在执行过程中,不需要等待上一个任务完成,可以同时执行多个任务。同步和异步的优缺点

    2024年02月14日
    浏览(54)
  • Quartus实现寄存器:同步复位+异步复位

    图1 寄存器输入输出引脚 图2 输入为高电平-例1 同步复位和异步复位都存在于时序逻辑中,与组合逻辑相比对毛刺有屏蔽作用。 图3 组合逻辑和时序逻辑的区别 当复位为高电平时,组合逻辑的结果是其输入,时序逻辑的输出需参考上升沿,此时红色虚线处的key_in为高电平,故

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

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

    2024年02月12日
    浏览(54)
  • 单片机复位电路分析

       来分析一下这个电路: 首先这里面有电容,所以是一个动态电路。哈哈哈 假设左上角的电压源是5V的代号为VOLT。 可以知道电容capacitor C1左边的电压也是+5V,电容中间隔着一个绝缘体,所以不导电, 这个时候电流无法通过C1,但是因为C1左边聚集了正电荷,所以因为静电作

    2024年02月14日
    浏览(50)
  • 单片机——复位操作详述

    🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX 对于单片机来说,1. 在开机的时候需要复位,以便使得CPU和其他功能部件处于一个正确的初始状态,并以此为起点开始

    2024年02月09日
    浏览(82)
  • 单片机复位详解

    共有三种类型的复位,分别为系统复位、电源复位和备份域复位。 除了时钟控制寄存器 CSR 中的复位标志和备份域中的寄存器外,系统复位会将其它全部寄 存器都复位为复位值。 只要发生以下事件之一,就会产生系统复位: 1. NRST 引脚低电平(外部复位) 2. 窗口看门狗计数

    2024年01月24日
    浏览(39)
  • 单片机常见的复位方式

            几种较为常见的单片机复位方式:外部复位(NRST引脚复位)、看门狗复位、软件复位、低功耗管理复位。         外部复位依赖硬件的设计,考虑应用设计复位电路。         低电平上电复位:电容两端的电压 不会突变,所以在上电的一刹那NRST引脚的是

    2024年04月11日
    浏览(40)
  • 单片机最小系统_晶振电路&复位电路

    单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。 对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。 晶振电路相当于单片机的心脏,为单片机的工作提供时钟信号 这里电容的作用是为了消除晶振的起振电感,

    2024年02月01日
    浏览(57)
  • 嵌入式(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位

    上一篇文章我们介绍了嵌入式系统 嵌入式系统(Embedded System)是一种特定用途的计算机系统,它通常嵌入在更大的产品或系统中,用于控制、监测或执行特定的任务。这些系统通常由硬件和软件组成,旨在满足特定的需求,如嵌入在家电、汽车、医疗设备、工业自动化、消费

    2024年02月02日
    浏览(108)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包