一种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

猜你喜欢

转载自blog.csdn.net/u012824853/article/details/85088836