為什么要進行異步復位同步釋放---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