普莱斯队长

FPGA复位设计

0
阅读(1968)

         复位电路,分为同步复位、异步复位以及比较推荐的异步复位同步释放。

         同步复位:复位启动时同步于寄存器的时钟域。优势在于百分之百地同步时序分析且具有抗噪声性能。缺点在于同步电路参与反馈而引起不想要的状态。

         always   @(posedge clk)

         if(!rst_n)

                   begin

                   .......

                   end  

         else  

                   begin

                   .......

                   end  

         异步复位:与寄存器所在的时钟域之间并无确定的时序关系,正因如此得到异步复位信号的时序是非常困难的。优势在于不参与数据路径,所以不影响数据路径速度,复位几乎是瞬间作用。缺点在于释放的时候会导致一些类似亚稳态的问题以及对噪声不敏感。

         always   @(posedge clk or negedge rst_n)

         if(!rst_n)

                   begin

                   .......

                   end  

         else  

                   begin

                   .......

                   end

         异步复位同步释放:复位信号是异步有效的,即复位的发生与时钟无关;复位信号的释放是与时钟有关的,即同步的。寄存了一级DFF相当于

reg       rst_nr1, rst_nr2;

always @(posedge clk or negedge rst_n)

begin

         if(!rst_n)

                   begin

                   rst_nr1   <= 1'b0;

                   rst_nr2   <= 1'b0;

                   end

         else

                   begin

                   rst_nr1   <= 1'b1;

                   rst_nr2   <= rst_nr1;

                   end

end