一、同步复位和异步复位
1.1 同步复位
同步复位的意思就是当复位信号(rst_n)有效的时候,寄存器在下一个时钟沿到来之后被复位,时钟沿到来之前寄存器还是保持其之前的值。
同步复位信号代码如下所示:
always_ff @(posedge clk)
begin
if (rst_n==1'b0)
begin
q2 <= 1'b0;
end
else
begin
q2 <= d2;
end
end
综合出来的电路如下所示:
如上图所示,同步复位电路综合出来之后的电路图,可以看出rst_n使两级寄存器之间的组合逻辑多加了一个与门。
1.2 异步复位
异步复位就是说,当复位信号有效的时候,寄存器立刻被复位,与时钟沿到来与否没有关系。
异步复位信号代码如下所示:
always_ff @(posedge clk or negedge rst_n)
begin
if(rst_n==1'b0)
begin
q2 <= 1'b0;
end
else
begin
q2 <= d2;
end