一種FPGA中的同步化異步復位電路設計

設計來自《FPGA設計實戰演練(高級技巧篇)》

 

取同步復位和異步復位的優勢,避其短處。設計了一種同步化異步復位電路,給出同步復位和異步復位的優缺點,並給出原理圖和verilog代碼。

 

1.同步復位

優點:易於時序分析和仿真

缺點:要求復位信號的脈衝寬度滿足一定要求,以保證復位的時鐘沿復位信號是有效的,比異步復位慢

 

2.異步復位

優點:邏輯資源上帶有異步復位端口,資源得以充分利用。相應速度快

缺點:對噪聲敏感,存在亞穩態問題,

 

3.異步復位同步化

異步復位直接連接到寄存器CLR端口上,使得復位立即生效。當復位撤出時,一個邏輯“1”從同步器被時鐘輸出用來同步地釋放後續寄存器的復位,所以在這種結構中,設計的異步復位被同步的撤除,

module reset(
input clock,
input reset_n,
input data_a,
input data_b,
output out_a,
output out_b
    );
    
reg reg1,reg2;
reg reg3,reg4;
wire rst_n;

assign out_a = reg1;
assign out_b = reg2;
assign rst_n = reg4;

always@(posedge clock or negedge reset_n)
begin
    if(!reset_n)
    begin
        reg3 <= 1'b0;
        reg4 <= 1'b0;
    end
    
    else
    begin
        reg3 <= 1'b1;
        reg4 <= reg3;
    end
end

always@(posedge clock or negedge rst_n)
begin
    if(rst_n)
    begin
        reg1 <= 1'b0;
        reg2 <= 1'b0;
    end
    else
    begin
        reg1 <= data_a;
        reg2 <= data_b;
    end
end
endmodule

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章