Skip to content

Verilog 异步复位 / 同步释放

Verilog Asynchronous Reset, Synchronous Release

  • Verilog HDL
  • 一般情况下,rst信号是优先级最高的信号,当时钟信号上升沿来临后,如果复位信号有效,则执行复位操作

  • 异步复位是复位有自己的信号沿,不在时钟沿复位(也就是时钟沿对复位不起作用)。

异步复位,同步释放的含义

复位信号到来时不受时钟信号的同步,而释放时受到时钟信号的同步

异步复位(Asynchronous Reset) /eɪˈsɪŋkrənəs/

定义:在异步复位机制中,复位信号能够在任何时钟周期的任何时间点上立即重置寄存器或逻辑电路,而不需要等待时钟脉冲的到来。

  • 关键字:立即重置无需等待脉冲

同步释放(Synchronous Release) /ˈsɪŋkrənəs/

定义:复位信号rst_i重新回到非激活状态(假定是高电平)后,只有在时钟信号的下一个上升沿到来时,always块内对应的复位逻辑才会停止执行(即复位解除或释放操作)。这保证了离开复位状态的动作是与时钟信号同步的,因此称为同步释放。

  • 关键字:重回高电平、与时钟信号同步

亚稳态(Metastability)

异步复位信号(rst_n)在释放时(即撤销复位信号),刚好发生在时钟有效沿(clk)附近,就容易使寄存器输出出现亚稳态

避免亚稳态:

在数字电路设计中,完全避免亚稳态是不可能的,可采用异步复位、同步释放方式 =》 always @(posedge clk or negedge rst_i)