异步复位同步释放的理解

同步复位

在同步复位中,复位信息的传递由时钟信号控制,仅当时钟上升沿到来时才会将复位信息和数据d存入寄存器中。电路图如下:
在这里插入图片描述
同步复位优缺点:

  1. 确保电路为同步的
  2. 减少毛刺的产生
  3. 由于实际中的电路器件一般为异步复位,故使用同步复位会消耗更多资源
  4. 需要更长的保持复位状态时间,至少要大于时钟周期

代码实现

/*
 * @Author: yaohao 
 * @Date: 2022-06-10 10:45:05 
 * @Last Modified by: yaohao
 * @Last Modified time: 2022-06-10 10:45:40
 */

module syn_rst(input clk, input rst, input d, output reg d_o);
  
 always @ (posedge clk) begin
	if (!rst) begin
		d_o <= 1'b0;
	end
    else begin
        d_o <= d; 
        end
        end
endmodule

异步复位

与同步复位相对应的异步复位则不受时钟的控制,由下图看出,异步复位多了一个rst复位线,于是电路可以随时进行复位。不受限于时钟上升沿的到来。
在这里插入图片描述
异步复位优缺点:

  1. 易于收敛数据,因为不需要时钟控制复位,功耗更低
  2. 毛刺的产生会导致电路异常复位
  3. 更容易产生亚稳态(当复位释放在时钟有效边沿附近时)

代码实现:

/*
 * @Author: yaohao 
 * @Date: 2022-06-10 10:36:38 
 * @Last Modified by: yaohao
 * @Last Modified time: 2022-06-10 10:39:50
 */
module asy_rst(input clk, input rst, input d, output reg d_o);
  
 always @ (posedge clk or negedge rst) begin
	if (!rst) begin
		d_o <= 1'b0;
	end
    else begin
        d_o <= d; 
        end
        end
endmodule

异步复位,同步释放

异步复位同步释放其实相当于将信号打两拍,避免异步复位释放引起的亚稳态。即使Q1输出信号为亚稳态,但是从触发器此时的数据输入接收的还是主触发器输出的Q1稳态的复位状态0。所以从触发器Q2的输出是稳定的复位状态0。打拍以后,主触发器已经从亚稳态状态恢复,输出的是稳定的工作状态电平了(d1=1)。此时从触发器采样的是稳定的工作状态电平,输出也是稳定的工作状态电平,复位完成。
在这里插入图片描述
代码实现:

/*
 * @Author: yaohao 
 * @Date: 2022-06-10 11:14:36 
 * @Last Modified by:   yaohao 
 * @Last Modified time: 2022-06-10 11:14:36 
 */

module asyn_rst(input clk, input rst, output reg d2);
  reg d1;
  
 always @ (posedge clk or negedge rst) begin
	if (!rst) begin
		d1 <= 1'b0;
		d2 <= 1'b0;
	end
	else begin
	   d1 <= 1'b1;
	   d2 <= d1;
	end
end

endmodule
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

借问众神明.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值