为什么要进行异步复位同步释放---verilog实现


1、什么是同步复位?

      仅在有效的时钟上升沿时对触发器复位,该复位信号经过组合逻辑馈送到触发器的输入端。

always@(posedge clk) begin
    if(!rst) begin
        ...
    end
end

2、什么是异步复位?

      无论时钟处于什么状态,只要复位信号有效,即对电路进行复位。

always@(posedge clk or negedge rst) begin
    if(!rst) begin
        ...
    end
end

3、什么是异步复位同步释放?

  复位信号不考虑时钟状态,但是当对电路进行复位时,需在时钟有效沿进行。

4、两种复位方式优缺点?

  同步复位:①因为触发器都有异步复位端口,如果进行同步复位,则需要在触发器的输入端前添加组合逻辑电路,会使用较多的逻辑资源。②复位信号必须要大于一个时钟周期,则复位信号才真正有效。

  异步复位:异步信号释放时,容易出现亚稳态,即不满足去除时间(removal time)和恢复时间(recovery time),且容易受到毛刺的影响。

5、异步复位同步释放--verilog实现

always @(posedge clk or negedge rst) begin
    if(!rst) begin
        rst_1 <= 1'b0;
        rst_2 <= 1'b0;
    end
    else begin
        rst_1 <= 1'b1;
        rst_2 <= rst_1;
    end
end
assign rst_n = rst_2;//rst_n才是同步后的电路复位信号

 

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM