ic设计中同步复位与.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IC设计中同步复位与 异步复位的区别 异步复位是不受时钟影响的,在一个芯片系统初始化(或者说上电)的时候需要这么一个全 局的信号来对整个芯片进行整体的复位, 到一个初始的确定状态。而同步复位需要在时钟沿 来临的时候才会对整个系统进行复位。 请注意,如果芯片是有多个时钟的系统, 那么如何保 证不同时钟域的电路能够 同时”复位将会是一个重要的问题, 此外,如果你的时钟是一个低 频时钟,那么在这个系统(包括其他芯片)上电时如何保证能和其他芯片同时复位?硬件全 局异步复位是必要的,请注意这里加上了 全局”这是因为异步复位既然要对整个芯片 同 时”复位,那么布线延时绝不能不考虑,使用 FPGA设计时芯片的异步复位必须要走全局网 络。再提醒一点,芯片中最好不要出现多个异步复位。一个关键原因是对于 FPGA而言, 多个异步复位信号难以实现前面要求的 全局网络” 异步复位最大的优点是,数据通路就可以不依赖于时钟而确保清洁可控。 然而,异步复位 也有其固有的缺陷。异步复位设计的 DFT (可测性设计)与STA (静态时序分析)的复杂性要 高于同步复位设计;但异步复位中最严重的问题是,如果异步复位信号在触发器时钟有效沿 附近释放”复位信号从有效变为无效)的话,可能会导致触发器输出的亚稳态。 同步复位和异步复位的比较(转载) 无论同步还是异步复位,在对触发器时序进行分析的时候,都要考虑复位端与时钟的相位关系。 对于同步复位,复位信号可以理解为一个普通的数据信号,它只有在时钟的跳变沿才会其作用,一般只要复位信号持续时间大于一个时钟 周期,就可以保证正确复位。 对于异步复位,复位可以在任何时候发生,表面上看跟时钟没有关系,但真实情况是异步复位也需考虑时钟跳变沿,因为时钟沿变化和异 步复位都可以引起 Q端数据变化,如果异步复位信号跟时钟在一定时间间隔内发生变化, Q值将无法确定,即亚稳态现象。这个时候既是异步复位 信号持续时间再长都没有办法,因为不定态已经传递下去。 一下资料来自网络-冰凌霄注 1. 一、特点: 同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。用 Verilog描述 如下: always @ (posedge elk) begin if (!Rst_n) end Verilog描述如下: Verilog描述如下: always @ (posedge elk or negedge Rst_n) begin if (!Rst_n) end 各自的优缺点: a、有利于仿真器的仿真。 b、可以使所设计的系统成为 100%的同步时序电路,这便大大有利于时序分析,而且综合出来的 fmax —般较高。 c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。他的缺点也有不少,主要有以下几条: a、 复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如: elk skew,组合逻辑路径延时,复 位延时等因素。 b、 由于大多数的逻辑器件的目标库内的 DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口 插入组合逻辑,这样就会耗费较多的逻辑资源。 2、对于异步复位来说,他的优点也有三条,都是相对应的 a、大多数目标器件库的 dff都有异步复位端口,因此采用异步复位可以节省资源。 b、设计相对简单。 e、异步复位信号识别方便,而且可以很方便的使用 FPGA的全局复位端口 GSR。 缺点: a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现 亚稳态,从而导致亚稳态。 b、复位信号容易受到毛刺的影响。 三、总结: 所以说,一般都推荐使用异步复位,同步释放的方式,而且复位信号低电平有效。这样就可以两全其美了。 2:推荐的复位方式 所谓推荐的复位方式就是上文中所说的: 异步复位,同步释放”。这就结合了双方面的优点,很好的克服了异步复位的缺点(因为异步复位 的问题主要出现在复位信号释放的时候,具体原因可见上文) 。 其实做起来也并不难,我推荐一种我经常使用的方式吧:那就是在异步复位键后加上一个所谓的 “reset synchronizer这样就可以使异步复 位信号同步化,然后,再用经过处理的复位信号去作用系统,就可以保证比较稳定了。 reset sychronizer 的Verilog代码如下: module Reset_S yn chr oni zer (output reg rst_ n, in put clk, asyn crst_ n); reg rff1; always @ (posedge clk , n egedge asyn cr

文档评论(0)

dajiede + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档