同步复位与异步复位.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同步复位与异步复位

同步复位与异步复位 一、概念: 同步复位:就是指复位信号只有在时钟上升沿到来时,才能有效,否则无法完成 对系统的复位工作。用 verilog 描述如下: always @ (posedge clk) begin if (!Rst_n) ... end 异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。 用 Verilog 描述如下: always @ (posedge clk or negedge Rst_n) begin if (!Rst_n) ... end 二、各自的优缺点: 1. 同步复位的优点大概有 3 条: a. 有利于仿真器的仿真。 b. 可以使所设计的系统成为的同步时序电路,这便大大有利于时序分析,而 且综合出来的一般较高。 c. 因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的 毛刺。 缺点: a. 复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位 任务。同时还要考虑,诸如:clk skew 组合逻辑路径延时,复位延时等因素。 b. 由于大多数的逻辑器件的目标库内的DFF 都只有异步复位端口,所以,倘 若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样 就会耗费较多的逻辑资源。 2. 异步复位优点也有三条,都是相对应的 a. 大多数目标器件库的都有异步复位端口,因此采用异步复位可以节省资 源。 b. 设计相对简单。 c. 异步复位信号识别方便,而且可以很方便的使用 FPGA 的全局复位端口 GSR。 缺点: a. 在复位信号释放 (release)的时候容易出现问题。具体就是说:倘若复位 释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚 稳态。 b. 复位信号容易受到毛刺的影响。 三、总结及推荐复位方式: 也就是上文中所说的: “异步复位,同步释放”。这就结合了双方面的优点,很 好的克服了异步复位的缺点(因为异步复位的问题主要出现在复位信号释放的时 候,具体原因可见上文)。 具体实现并不难,这里列出一种方式:那就是在异步复位键后加上一个所谓的 “reset synchronizer”,这样就可以使异步复位信号同步化,然后,再用经过 处理的复位信号去作用系统,就可以保证比较稳定了。reset sychronizer 的代 码如下: module Reset_Synchronizer( output reg rst_n, input clk, asyncrst_n); reg rff1; always @ (posedge clk , negedge asyncrst_n) begin if (!asyncrst_n) {rst_n,rff1} = 2b0; else {rst_n,rff1} = {rff1,1b1}; end endmodule 大家可以看到,这就是一个 dff,异步复位信号直接接在它的异步复位端口上(低 电平有效),然后数据输入端rff1 一直为高电平1。倘若异步复位信号有效的 话,触发器就会复位,输出为低,从而复位后继系统。但是,又由于这属于时钟 沿触发,当复位信号释放时,触发器的输出要延迟一个时钟周期才能恢复成1’, 因此使得复位信号的释放与时钟沿同步化。此外,还有一种方法更为直接,就是 直接在异步复位信号后加一个触发器,然后用 D 触发器的输出作为后级系统的复 位信号,也能达到相同的效果。 1.同步复位(Synchronous Reset) 来看一个简单的同步复位的 D 触发器,Verilog 代码如下: module d_ff (clk,rst_n,datain,dataout); input clk; input rst_n; input datain; ouput dataout; reg dataout; always @ (posedge clk) begin if (!rst_n) dataout = 1b0; else dataout = datain; end endmodule 综合后的 RTL 图表如下: Altera 的MAXII 系列的 CPLD 中,register 没有同步复位资源,所以同步复位信 号需要通过额外的逻辑电路实现,上面的例子,QuartusII 软件自带的综合工具 使用选择器实现

文档评论(0)

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

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

1亿VIP精品文档

相关文档