美文网首页
FPGA复位——同步复位和异步复位

FPGA复位——同步复位和异步复位

作者: 暗夜望月 | 来源:发表于2017-06-17 16:02 被阅读0次

其他参考资料:
FPGA中复位信号的设计
FPGA同步复位异步复位
异步复位同步释放---关于复位的问题
FPGA同步复位,异步复位以及异步复位同步释放实例分析

一、特点:

同步复位:
顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。用Verilog描述如下:

always @ (posedge clk) begin
    if (!Rst_n)
        ...
end

异步复位:
它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。用Verilog描述如下:

always @ (posedge clk or negedge Rst_n) begin
    if (!Rst_n)
        ...
end

二、各自的优缺点:

1、同步复位:

  • 优点:

  • 有利于仿真器的仿真。

  • 可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。

  • 因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。

  • 缺点:

  • 复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。

  • 由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。

2、异步复位:

  • 优点:

  • 大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。

  • 设计相对简单。

  • 异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。

  • 缺点:

  • 在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。

  • 复位信号容易受到毛刺的影响。

三、总结:

所以说,一般都推荐使用异步复位,同步释放的方式,而且复位信号低电平有效。这样就可以两全其美了。

所谓异步复位,同步释放就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。


异步复位同步释放的方法以及多时钟系统的复位设计

1、异步复位,同步释放

input rst_n,clk;
output rst_syn_n;//系统的复位信号
reg reg1,reg2;

always@(posedge clk or negedge rst_n )begin
    if(!rst_n)begin
        reg1<=1'b0;
        reg2<=1'b0;
   end
  else begin
        reg1<=1'b1;
        reg2<=reg1;
    end
end
  assign rst_syn_n = reg2;

复位是异步的,但是释放确实同步的;用两级寄存器,是消除复位释放中可能存在的亚稳态。

异步复位,同步释放的好处是:
1.不要求复位信号必须大于一个时钟周期;
2.因为释放过程和时钟同步,所以避免了亚稳态。
兼具同步复位和异步复位的优点。

不使用reg1的原因是消除毛刺的影响,如果受到毛刺的影响,reg1会产生一个很短的复位信号,这样可能会导致复位不完全,系统出现混乱。

2、多时钟系统中复位的处理方法
这是一个很实际的问题,因为在较大型的系统中,一个时钟驱动信号显然不能满足要求,一定会根据系统的要求用多个同源时钟(当然也可以是非同源了)去驱动系统的不同部分。那么在这样的多时钟系统中,复位键怎么设置?它的稳定与否直接关系到了整个系统的稳定性,因此要格外注意(在我看来,复位信号在同步时序系统中的地位和时钟信号一样重要)。下面就说一下具体的处理方法,当然所遵循的原则就仍应该是上文的“异步复位,同步释放”:

1.non-coordinated reset removal:
顾名思义,就是同一个系统中的多个同源时钟域的复位信号,由彼此独立的“reset synchronizer”驱动。当异步复位信号有效时,各时钟域同时复位,但是复位释放的时间由各自的驱动时钟决定,也是就说:时钟快的先释放,时钟慢的后释放,但是各复位信号之间没有先后关系。

2.sequence coordinated reset removal:
这是相对于上述方式来说的,也就是说各时钟域的复位信号彼此相关,各个部分系统虽然也同时复位,但是却分级释放。而分级的顺序可由各个“reset synchronizer”的级联方式决定。可以先复位前级,再复位后级,也可以反过来。反正方式很灵活,需要根据实际需要而定。

相关文章

  • FPGA复位——同步复位和异步复位

    其他参考资料:FPGA中复位信号的设计FPGA同步复位异步复位异步复位同步释放---关于复位的问题FPGA同步复位...

  • VHDL同步与异步

    所谓“同步”是指与系统时钟同步。同步复位是指当复位信号(RST)有效时,并不立刻生效,而是要等到复位信号(RST)...

  • 运动控制器34:STM32的复位与时钟及库函数

    复位 系统复位 系统复位有5个来源 NRST引脚的低电平 IWDG WWDG 软件复位SW 低功耗管理复位如果设置...

  • 硬件复位和软件复位

    http://blog.csdn.net/mike8825/article/details/52654512 芯片...

  • 面积结构设计

    1.复位对面积的影响 对fpga上每一个模块都进行全局的复位有时候会面临消耗资源的问题,比如对FPGA内置的RAM...

  • TL7712ACDR详情参数

    TL7712ACDR规格 类型 简单复位/加电复位 受监控电压数 1 输出 补充型 复位 高有效/低有效 复位超时...

  • 灯点亮

    电路设计方案: 1,复位电路,对于复位电路来说,主要提供单片机复位引脚高电平和低电平,以实现复位和工作两种状态。显...

  • uv平板打印机复位故障解决办法

    uv平板打印机复位的故障主要集中在四个方面:能复位点打印没反应、复位Z轴只上升或下降、运动正常复位不能结束、复位时...

  • SP706REN-L/TR资料

    SP706REN-L/TR规格 类型简单复位/加电复位 受监控电压数1 输出- 复位低有效 复位超时最小为 140...

  • 无题

    时序分析STA,时序约束UCF 跨时钟域,亚稳态处理 同步/异步FIFO 状态机 复位 异步时钟切换 仿真 代码:...

网友评论

      本文标题:FPGA复位——同步复位和异步复位

      本文链接:https://www.haomeiwen.com/subject/kwavqxtx.html