IC设计中:
什么是 同步复位 与 异步复位?
两者区别在哪里?
同步复位在时钟沿采复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。
各自的优缺点:1、总的来说,同步复位的优点大概有3条: a、有利于仿真器的仿真。b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。他的缺点也有不少,主要有以下几条:a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。 2、对于异步复位来说,他的优点也有三条,都是相对应的 a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。 b、设计相对简单。 c、异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。 缺点: a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。 b、复位信号容易受到毛刺的影响。
同步復位-將依據Clock邊緣觸發,並依據Reset邏輯狀態決定是否要進行Reset,時序行為較可以掌握,缺點是需要較多資源來完成也因此會降低速度,Data path較長,使得WNS增加
異步復位-將不依據Clock觸發,當Reset邏輯值有改變時候,就觸發並依據邏輯狀態決定是否要Reset,缺點是時序行為會因為不可預知的Reset觸發而打斷,使得IC行為相對其他周圍器件較不好掌握,但占用資源較少並可以加快IC本身速度