verilog中的同步复位与异步复位


同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。

Verilog HDL描述如下:

always @ (posedge clk) begin
if (!Rst_n)

end

异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。

用Verilog HDL描述如下:
always @ (posedge clk,negedge Rst_n) begin
if (!Rst_n)

end

e.g. 异步复位的并行输入和并行输出移位寄存器

1.设计代码

`default_nettype none
module Shift_Register(clk,rst_n,in,out);
    parameter byte_size = 8;    //declare input and output width.
    parameter reset_data = 8'd0;    //The value of the output when the reset signal is valid.
    input wire clk;
    input wire rst_n;
    input wire [byte_size-1:0] in;
    output reg [byte_size-1:0] out;

    always @(posedge clk or negedge rst_n) 
    begin
        if (!rst_n) //asynchronous reset
            begin
                out <= reset_data;            
            end
        else
            begin
                out <= {in[byte_size-2:0],in[byte_size-1]};
            end
    end
endmodule

2.testbench

module Shift_Register_testbench();
reg clk,reset;
reg [7:0] in;
wire [7:0] out;

Shift_Register instance1(
    .clk(clk),
    .rst_n(reset),
    .in(in),
    .out(out)
    );

always #5 clk = ~clk;

initial begin
    #0 clk = 0;
       reset=0;
       in = 8'b1110_0111;
    #23 reset =1;
    #300 $stop;        //stop simulate
end
initial fork
    #73 reset =0;
    #77 reset =1;
    #103 reset =0;
    #113 reset =1;
join
endmodule

3.Simulate Wave

 同步复位的优点:

1.有利于仿真器的仿真。

2.可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。

3.因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。

同步复位的缺点:

1.复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。

2.由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。

异步复位的有点:

1.大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。

2.设计相对简单。

3.异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。

异步复位的缺点:

1.在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。

2.复位信号容易受到毛刺的影响。

综上所述:

一般都推荐使用异步复位,同步释放的方式,而且复位信号低电平有效。这样就可以两全其美了。

1.采用异步复位综合出来的电路如下:

 

 2.采用同步复位综合出来的电路如下:

 

 3.采用两级寄存器异步复位综合出来的电路如下:

 

 4.异步复位、同步释放综合出来的电路如下:(非常重要,一般采用此种方式设计)

 


免责声明!

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



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