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才是同步后的電路復位信號