同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc

上传人:汽*** 文档编号:558291091 上传时间:2024-01-18 格式:DOC 页数:6 大小:52.01KB
返回 下载 相关 举报
同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc_第1页
第1页 / 共6页
同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc_第2页
第2页 / 共6页
同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc_第3页
第3页 / 共6页
同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc_第4页
第4页 / 共6页
同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc》由会员分享,可在线阅读,更多相关《同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc(6页珍藏版)》请在金锄头文库上搜索。

1、同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放学习笔记 2009-01-05 11:23:06 阅读107 评论0 字号:大中小 订阅一、同步复位与异步复位特点: 同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。异步复位是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。二、异步复位和同步复位的优缺点:1、同步复位的优点大概有3条:a、有利于仿真器的仿真。b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。

2、同步复位的缺点:a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:组合逻辑路径延时,复位延时等因素。b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。2、异步复位的优点也有三条:a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。b、设计相对简单。c、异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。异步复位的缺点:a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释

3、放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。 解释一下亚稳态产生的原因:在同步系统中,如果触发器的 setup time / hold time 不满足,就可能产生亚稳态,此时触发器输出端 Q 在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里 Q 端会出现毛刺、振荡、或固定在某一电压值,而不一定等于数据输入端 D 的值。这段之间称为决断时间(resolution time)。经过 resolution time 之后 Q端将稳定到 0 或1上,但是究竟是0 还是 1,这是随机的,与输入没有必然的关系。亚稳态实质是介于”0”1”电平之间的一个状态。亚稳

4、态是 FF的一个固有特性。正常采样也会有一个亚稳态时间。当建立保持时间满足时,FF 在经历采样、亚稳态后,进入一个正确的状态。如果建立保持时间不满足,那么FF会有一个相当长的亚稳态时间,最后随机进入一个固定态。 也就是会经历一个很长的resolution time然后,在D输出端上随机出现0或1。 亚稳态的危害: 由于输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值,因此亚稳态除了导致逻辑误判之外,输出 01 之间的中间电压值还会使下一级产生亚稳态,即导致 meta stability的传播。逻辑误判(由于组合逻辑的 race,导致总线状态的不稳定)有可能通过电路的特殊设计减轻危害(如异步

5、 FIFO中 Gray码计数器的作用,一次只变化一位),而亚稳态的传播则扩大了故障面,难以处理。 b、复位信号容易受到毛刺的影响。所以,一般都推荐使用异步复位同步释放的方式,而且复位信号低电平有效。这样就可以两全其美了。 所谓异步复位同步释放,也就是在Reset信号为低时,马上复位所有信号,而Reset信号由低到高释放时,为了防止出现亚稳态现象,而将Reset信号用D触发器向后延一周期,这样达到两全齐美的结果。 亚稳态的简单解决办法 只要系统中有异步元件,亚稳态就是无法避免的,因此设计的电路首先要减少亚稳态导致错误的发生,其次要使系统对产生的错误不敏感。前者要靠同步来实现,而后者根据不同的设计

6、应用有不同的处理办法。用同步来减少亚稳态发生机会的典型电路如图 1 所示。 图 1 两级同步化电路 在图 1 中,左边为异步输入端,经过两级触发器同步,在右边的输出将是同步的,而且该输出基本不存在亚稳态。其原理是即使第一个触发器的输出端存在亚稳态,经过一个 CLK 周期后,第二个触发器 D 端的电平仍未稳定的概率非常小,因此第二个触发器 Q 端基本不会产生亚稳态。注意,这里说的是“基本”,也就是无法“根除”,那么如果第二个触发器 Q出现了亚稳态会有什么后果呢?后果的严重程度是由你的设计决定的,如果系统对产生的错误不敏感,那么系统可能正常工作,或者经过短暂的异常之后可以恢复正常工作,例如设计异步

7、 FIFO时使用格雷码计数器当读写地址的指针就是处于这方面的考虑。如果设计上没有考虑如何降低系统对亚稳态的敏感程度,那么一旦出现亚稳态,系统可能就崩溃了。 Cures for metastability(摘自 johnson 所书) 用反应更快的 Flip-Flop,减少 metastability window。 如图一,引入由同一时钟驱动的串接 DFF。 降低采样频率,给 DFF 更多的时间避开 metastability window(亚稳态时间)。 使用边沿变化快速的时钟信号。 亚稳态与系统可靠性 使用同步电路以后,亚稳态仍然有发生的可能,与此相连的是平均故障间隔时间MTBF(mean

8、 time between failure),亚稳态的发生概率与时钟频率无关,但是 MTBF与时钟有密切关系。 有文章提供了一个例子,某一系统在 20MHz 时钟下工作时,MTBF约为 50年,但是时钟频率提高到 40MHz 时,MTBF 只有 1 分钟!可见降低时钟频率可以大大减小亚稳态导致系统错误的出现,其原因在于,时钟周期如果尽可能的大于 resolution time 可减小亚稳态传递到下一级的机会,提高系统的 MTBF,如图 2 所示。 解释为什么第二个触发器 D端的电平仍未稳定的概率非常小: 如果一个时钟周期resolution time,即:使上一级寄存器有足够的时间摆脱亚稳态(

9、满足了建立时间要求),但如果上一级 DFF 采样错误,那么下级 DFF 同样继承这个采样错误值,只是不会出现亚稳态,杜绝了亚稳态的传递。如果要稳定的正确采样,必须引入高速时钟, 相应Reset信号同步器的VHDL代码如下:Library ieee;Use ieee.std_logic_1164.all;Entity Rst_Synth is Port( Clk : in std_logic; Arst : in std_logic; Rst_n : out std_logic);End Rst_Synth; Architecture RTL of Rst_Synth isSignal dff

10、: std_logic;Begin Process(Arst, Clk) Begin If Arst = 0 then Dff = 0; Rst_n = 0; Elsif(Clkevent and Clk = 1) then Dff = 1; Rst_n = Dff; End if; End process;End RTL;Veirlog代码如下:/*module reset( input wire sclk, input wire rst_in, /未处理的复位信号 output reg rst_n /处理后的复位信号 );/*/内部寄存器定义reg rst_Buffer; /处理后的复位信号暂存寄存器/*/对复位信号的处理-异步复位,同步释放/*always(posedge sclk or negedge rst_in)/接收数据 if(!rst_in) begin rst_Buffer = 1b0; rst_n = 1b0; end else begin rst_Buffer = 1b1; rst_n = rst_Buffer; end /*endmodule/http:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号