在设计中我们一般都采用异步复位的设计方法,但是对于异步复位而言(假设是低电平有效),如果我们的复位信号释放的时候,如果和时钟沿太接近了就会导致D触发器处于亚稳态。为了避免亚稳态的产生我们一般采用的复位方法是“异步复位、同步释放”!
所谓的异步复位就是复位的时候我们不考虑时钟的影响,只要有复位信号就产生复位,它只是一个组合逻辑。而同步释放就是复位信号得消失要遵循时钟的指令,必须与时钟进行同步。
如图所示第一黄色圆圈中标记为异步复位效果,只要有复位信号就进行复位,与时钟无关;第二个黄色圆圈中为同步释放的效果,当复位按键释放之后,复位信号不是立即消失,而是要等到时钟上升沿到来时才进行复位,这就实现了同步复位的效果。
具体代码:
module RST_Compare(
//input port
clk,rst_n,a,