新闻  |   论坛  |   博客  |   在线研讨会
【转】 同步复位和异步复位的比较
502593045 | 2012-07-24 22:25:48    阅读:13290   发布文章
一、特点:
   同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。用Verilog描述如下:
            always @ (posedge clk) begin
                  if (!Rst_n)
                    ...
            end
   异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。用Verilog描述如下:
            always @ (Rst) begin
                   if (!Rst_n)
                      ...
            end
二、各自的优缺点:
    1、总的来说,同步复位的优点大概有3条:
       a、有利于仿真器的仿真。
       b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。
       c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。
       他的缺点也有不少,主要有以下几条:
       a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。
       b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。
    2、对于异步复位来说,他的优点也有三条,都是相对应的:
       a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。
       b、设计相对简单。
       c、异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。
       缺点:
       a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。
       b、复位信号容易受到毛刺的影响。
三、总结:
    所以说,一般都推荐使用异步复位,同步释放的方式,而且复位信号低电平有效。这样就可以两全其美了。
            always @ (posedge clk,negedge Rst_n) begin
                   if (!Rst_n)
                      ...
            end


转自:http://blog.csdn.net/zhongrg/article/details/1804735
参与讨论
登录后参与讨论
虾虽在江湖,江湖却没有关于虾的传说!
推荐文章
最近访客