微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > xilinx大神来解释下下异步复位和同步复位的选择?

xilinx大神来解释下下异步复位和同步复位的选择?

时间:10-02 整理:3721RD 点击:

  1. always@(posedge clk and negedge rst_n)
  2. begin
  3. if(rst_n == 0)
  4. ...
  5. else
  6. ...
  7. end

  8. always@(posedge clk)
  9. begin
  10. if(rst_n == 0)
  11. ...
  12. else
  13. ...
  14. end

复制代码


类似上述2种代码,有的人说异步低电平复位,会给综合成标准寄存器模型,更符合FPGA内部的寄存器原型。但更多的说法赞成后面的同步复位,认为这样可以避免很多问题,也符合xilinx提出的同步设计概念。大神们给分析下,就整体时序而言,哪种复位效果更好?(最好结合项目谈谈)
当然,还有很多技巧流的朋友说要异步复位、同步释放,请资深大神谈谈这种方式的优缺点?

这个要根据FPGA芯片的特性,xilinx推荐使用同步高复位,但是这个复位信号要先同步到各个时钟域。
网上一直说的异步复位同步释放的方式,根据xilinx官方的文档已经不太适合xilinx的片子。当然,能不用复位就尽量不用。

楼上正解,ultrascale前的片子推荐高电平复位


你好大神,xilinx的新文档是推荐同步高复位,而且要同步于时钟,那有在芯片特性方面,有什么合理的原因解释吗?



   我不是大神,你可以百度搜一下 fpga复位的几种方法 有一篇xilinx中文社区里的文章,你可以看一下  具体为啥推荐高复位 这个我就不知道了

上边代码对于【rst_n 】来说没有区别吧,?



    xilinx有2篇专门讲复位的white paper,建议你先看看,必定对你的设计水平提升受益匪浅。
    首先,xilinx推荐高电平复位,因为xilinx的器件中,ff的复位端(SR)都是高电平有效的,且不可改变,如果你的复位信号是低有效,那么就要额外一个反向器。
    其次,xilinx推荐同步复位,ff的sr端可以设置为同步复位或者异步复位。如果你使用异步复位,那么复位信号只能连接到ff的sr端。如果使用同步复位,则可以使用sr端,也可以将复位信号作为普通的输入信号对待,与其他的输入通过lut做过逻辑之后,再进入ff的d输入端。
    最后,xilinx推荐复位信号与时钟信号同步。如果你使用了同步复位的方式,复位信号就可能作为一般的逻辑输入,此时必须要与时钟同步,不然就会有亚稳态的问题。
    ps,能不用就不用复位,能少用就少用复位。我现在一般都不接复位信号了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top