异步复位和同步开释

嚴華  金牌会员 | 2024-6-15 00:31:39 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 552|帖子 552|积分 1656


前言

复位信号在数字电路里面的重要性仅次于时钟信号。对一个芯片来说,复位的重要目的是使芯片电路进入一个已知的,确定的状态,重要是触发器进入确定的状态。在一般环境下,芯片中的每个触发器都应该是可复位的。
一、为什么需要复位呢?


  • 复位可以使电路从确定的初始状态开始运行
    比如上电复位,上电的时候,为了避免上电后进入随机状态而使电路紊乱,这个时候就需要上电复位。时序电路是一个双稳态电路,上电之后必须要有一个初始态,才可以正常运行。组合逻辑电路,没有存储功能,不需要复位信号。
  • 复位可以使电路从错误状态回到可以控制的确定状态
    假如电路发生了非常,比如状态不正常,中断非常,firmware步伐跑飞,这个时候就可以对电路举行复位,让它从错误的状态回到一个正常的状态。
  • 电路仿真时需要电路具有已知的初始值
    在仿真的时候,信号在初始状态是未知状态(也就是所谓的x,不过对信号初始化之后的这种环境除外,因为仿真的时候对信号初始化就使信号有了初始值,这就不是x了)。仿真的时候由于初始状态为未知态,控制电路一开始就陷入了未知态。仿真跟实际电路差别,仿真是“串行”的,仿真时控制信号的初始不定态会导致后续的控制信号结果都是不定态,也就是说,初始的不定态对控制通道是致命的。
二、同步复位

1. 同步复位定义

同步复位的前提是,复位信号只会在时钟的有用边沿去影响大概复位flip-flop。Reset可以作为组合逻辑的一部分送给FF的D端。这种环境下,reset只能放在if条件下。
2. 同步复位的实现

   一个简单的同步复位的D触发器代码如下(示例):
  1. module sync_reset_dff_module (
  2.     input clk,
  3.     input rst_n,            // Synchronous reset
  4.     input d,
  5.     output reg q);
  6.     always @ (posedge clk)
  7.         if (!rst_n) q <= 1'b0;
  8.             else                 q <= d;
  9. endmodule
复制代码

3. 同步复位的长处和缺点

同步复位长处

1). 同步复位会综合成更小的触发器,特别当reset天生逻辑电路作为触发器D输入,但是这种环境下组合逻辑电路的数量变多,以是总的门电路节省不是那么显著;
2). 同步复位确保电路100%是同步的, 有利于静态时序分析工具的分析;
3). 抗干扰性高,同步复位确保复位只发生在时钟有用边沿,对小的复位毛刺来说,时钟就像滤波器。
同步复位缺点

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

1. 异步复位定义

异步复位电路即复位信号不随着体系时钟的边沿触发起作用。拥有异步复位的寄存器在计划过程中就多了一个引脚(复位引脚)。
2. 异步复位的实现

   一个简单的异步复位的D触发器代码如下(示例):
  1. module async_reset_dff_module (
  2.     input clk,
  3.     input rst_n,            // Synchronous reset
  4.     input d,
  5.     output reg q);
  6.     always @ (posedge clk or negedge rst_n)
  7.         if (!rst_n) q <= 1'b0;
  8.             else                 q <= d;
  9. endmodule
复制代码

3. 异步复位的长处和缺点

异步复位长处

1). 由于大多数的厂商尺度单位库内的触发器都有异步复位端口,那么就可以保证数据路径是干净的,不会像同步复位一样插入额外的逻辑,可以节省逻辑资源;
2). 复位信号不依赖于时钟。
异步复位缺点

1). 复位信号容易受到毛刺的影响;
2). 当复位结束时刻恰在亚稳态窗口内时,无法决定现在的复位状态是1照旧0,会导致亚稳态。

四、异步复位同步开释

1. recovery time和removal time

在同步电路中,输入数据需要与时钟满足setup time和hold time才能举行数据的正常传输,防止亚稳态。同样的原理,对于一个异步复位寄存器来说,异步复位信号同样需要和时钟满足recovery time和removal time 才能有用举行复位利用和复位开释利用,防止输出亚稳态。

recovery time(规复时间):撤销复位时,规复到非复位状态的电平必须在时钟有用沿来临之前的一段时间到来,才能保证时钟能有用规复到非复位状态,此段时间为recovery time即复位开释与下一个时钟有用边沿之间需要间隔的最小时间,雷同于同步时钟的setup time。
removal time (去除时间):复位时,在时钟有用沿来临之后复位信号还需要保持复位状态的一段时间为去除时间removal time即复位开释与上一个时钟有用边沿之间需要间隔的最小时间。雷同同步时钟hold time。
异步复位信号一般会连续相对较长的时间,保证寄存器能复位完成。但是由于复位信号是异步的,我们不知道它会在什么时刻被开释。假如异步复位信号撤销时,不满足recovery time和removal time时,可能会造成亚稳态,因为复位信号还没完全取消时触发器发现自己该采样了,终极导致输出有可能是复位值0也有可能是采样到的D端的值,输出不确定。
别的,并不是复位信号撤销时才可能出现亚稳态,复位信号一开始出现时,同样可能会存在亚稳态,只不过异步复位信号连续时间长,即使第一个周期出现了亚稳态(即第一个周期复位未成功),下一个时钟周期也不会再出现亚稳态了。假如复位信号的变革只连续刚刚一个时钟周期,那么复位信号开始和撤销时都可能会出现亚稳态。
2. 异步复位同步开释的寄义

所谓异步复位同步开释(Synchronized Asynchronous Reset),就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号开释的时候受到时钟信号的同步。
电路目的:防止复位信号撤消时产生亚稳态事件。
异步复位:显而易见,reset_n异步复位后,rst_n将拉低,即实现异步复位。
同步开释:这个是关键,看如何实现同步开释,即当复位信号reset_n撤消时,由于双缓冲电路(双寄存器)的作用,rst_n复位信号不会随着reset_n的撤消而撤消。
3. 异步复位同步开释的实现

   一个简单的异步信号同步化代码如下(示例):
  1. //Synchronized Asynchronous Reset
  2. module sync_async_reset (
  3.     input      clk,
  4.     input      rst_async_n,
  5.     output reg rst_sync_n
  6. );
  7. reg rst_s1;
  8. always @(posedge clk or negedge rst_async_n)
  9. begin
  10.    if(!rst_async_n)
  11.    begin
  12.        rst_s1     <= 1'b0;
  13.        rst_sync_n <= 1'b0;
  14.    end
  15.    else
  16.    begin
  17.        rst_s1     <= 1'b1;
  18.        rst_sync_n <= rst_s1;
  19.    end
  20. end
  21. endmodule
复制代码

当异步复位信号撤销时,用来同步的第二个寄存器输入的数据仍旧是0,因此第二个寄存器是不会出现亚稳态的。第一个寄存器固然可能出现亚稳态,即使其出现了亚稳态,这个亚稳态还需要通过第二个寄存器,这时第二个寄存器就起到了打拍的作用。也就是说,第二级的亚稳态只可能是上一级寄存器传播过来的,但是这个亚稳态经过第二级寄存器后,其大概率已经稳定下来了,就算稳定下来不为1,也就相当与复位信号多连续了一个周期而已。因此我们可以看出,使用异步复位同步开释时,异步复位撤销后需要额外等候一个时钟周期。
4. 异步复位同步开释长处

异步复位同步开释既办理了同步复位的资源消耗题目,又办理了异步复位的亚稳态题目,其根本思想是异步信号同步化。
总结

差别的复位方式有各自的优缺点。但是在工程中,一般都用异步复位的方法,最好是异步复位同步开释的方法。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

嚴華

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表