同步异步复位

上传人:枫** 文档编号:466938131 上传时间:2023-07-21 格式:DOCX 页数:9 大小:105.15KB
返回 下载 相关 举报
同步异步复位_第1页
第1页 / 共9页
同步异步复位_第2页
第2页 / 共9页
同步异步复位_第3页
第3页 / 共9页
同步异步复位_第4页
第4页 / 共9页
同步异步复位_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《同步异步复位》由会员分享,可在线阅读,更多相关《同步异步复位(9页珍藏版)》请在金锄头文库上搜索。

1、推荐的复位方式:异步复位、同步释放描述代码及对应的RTL电路Rst n,Clk;inputinputD;output Q;regRst Reg n;reg Q;beginRst Reg n= Rst n;HDL源代码module RstCircuit(同步一下end如果没有加ornegedgeRst_Reg_n,将变成同步复位always (posedgeClk ornegedgeRst_Reg_n)beginif (Rst_Reg_n)beginQ = 1d0;endelsebeginQ = D;endendendmodule注:最好在模块外面将异步复位信号同步好,再送至各模块,这样各个模块

2、内部就不需要再分别单独 同步了。下面具体阐述一下同步、异步复位的区别,以及为什么要采用这种方式的原因。复位电路是每个数字逻辑电路中最重要的组成部分之一。复位电路有两个工作目的:1、仿真的时候使电路进入初始状态或者其它预知状态;2、对于综合实现的真实电路,通过复位使电路进入初始状态或者其它预知状态。一般来说,逻辑电路的任何一个寄存器、存储器结构和其它逻辑单元都必须要附加复位逻辑电路,以 保证电路能够从错误状态中恢复,可靠地工作。常用的复位信号为低电平有效信号,在应用时外部引脚接上上拉电阻,这样能增加复位电路的抗干扰 性能。复位方式大致分为两类,即同步复位和异步复位。这两种复位方式各有优缺点,其应

3、用场合也各不相 同。1同步复位异步复位1所谓异步复位是指当复位信号有效 沿到达时,无论时钟沿是否有效,都会 立即对目标(如寄存器、RAM等)复位。所谓同步复位是指当复位信号发生变化时,并不立刻生异步复位的应用要点如下:效,只有当有效时钟沿采样到已变化的复位信号后,才对所有寄存器复位。同步复位的应用要点如下:指定异步复位时,只需always的敏感表中 指定同步复位时,always的敏感表中仅有加入复位信号的有效时钟沿信号,仅仅当时钟沿采到同步复位沿即可,当复位信号的有效电平时,才会在时钟沿到达时刻进有效沿到达时,无论行复位操作。时钟沿是否有效,复位都会立即发挥其功 能。1module Rst_C

4、ircuit(module Rst_Circuit(Rst_n,Rst_n,Clk,Clk,D,D,QQ););input Rst_n;input Rst_n;input Clk;input Clk;input D;input D;output Q;output Q;reg Q;reg Q;always (posedgeClk) 同步复位如果没有写orbeginnegedgeRst_n,将变成同步复if (Rst_n)位beginalways (posedgeClk orQ = 1d0;negedgeRst_n)endbeginelseif (Rst_n)beginbeginQ = D;Q =

5、end1d0;endendelseendmodulebeginQClklRet, nl Q-egOffe- 展一 Qni?.CLR.dal 21.Gem同步复位的优点如下: 同步复位利于基于周期机制的仿真器进行 仿真; 使用同步复位可以设计100%的同步时序 电路,有利于时序分析,其综合结果的频 率往往较高; 同步复位仅在时钟的有效沿生效,可以有 效地避免因复位电路毛刺造成的亚稳态和 错误。同步复位在进行复位和释放复位信 号时,都是仅当时钟沿采到复位信号电平异步复位的优点如下: 由于多数目标器件(如 FPGA 和 CPLD和ASIC库的触发器都包含异步复位端口,异步复位会节约逻辑资源; 异步复

6、位设计简单; 对于大多数FPGA,都有专用的全局异步复变化时才进行相关操作,如果复位信号树 的组合逻辑出现了某种毛刺,此时时钟沿 采样到毛刺的概率非常低,这样通过时钟 沿采样,可以十分有效地过滤复位电路组 合逻辑产生的毛刺,增强了电路稳定性。位/置位资源(GSR,Global Set Reset),使 用GSR资源,异步复 位到达所有寄存器的 偏斜(skew)最小。同步复位的缺点如下:很多目标器件(如FPGA和CPLD)和ASIC库的触发器本身并不包含同步复位端口,使用同步复位会增加更多逻辑资源;同步复位的最大问题在于必须保证复位信号的有效时间足够长,这样才能保证所有触发器都能有效地复位。由于

7、同步复位仅 当时钟沿采样到复位信号时才会进行复位 操作,所以其信号的持续时间起码要大于 设计的最长时钟周期,以保证所有时钟的有效沿都能采样到同步复位信号。事实上,仅仅保证同步复位信号的持续时间大于最慢的时钟周期还是不够的,设计中还要考虑到同步复位信号树通过所有相关组合逻辑路径时的延时,以及由于时钟布线产生的偏斜(skew)。这样,只有同步复位大于时钟最大周期,加上同步信号穿过的组合逻辑路径延时,再加上时钟偏斜延时,才能保证同步复位可靠、彻底。如图所示,异步复位的缺点如下: 异步复位的作用和释放与时钟沿没有直接 关系,异步复位生效 时问题并不明显;但 是当释放异步复位时,如果异步复位信 号释放时

8、间和时钟的 有效沿到达时间几乎 一致,则容易造成触 发器输出为亚稳态,形成逻辑错误;如果异步复位逻辑树的组合逻辑产生了毛刺,则毛刺的有效沿会使触发器误复位,造成逻辑错误。假设同步复位逻辑树组合逻辑的延时为t1, 复位信号传播路径的最大延时为t2,最慢时钟的周期为Period_max,时钟的skew为Clk2-Clk1,则同步复位的周期Tsyn_rst应该满足如下公式:Tsyn_rstPeriod_max + (Clk2 -Clkl) + t1 + t2同乖刖蛔睡MW推荐的复位电路设计方式是异步复位、同步释放。这种方式,可以有效地继承异步复位设计简单的优 势,并克服异步复位的上述风险和缺陷。在E

9、PGA和CPLD等可编程逻辑器件设计中,使用异步复位、同 步释放可以节约器件资源,并获得稳定可靠的复位效果。regRst_Reg_n;reg Q;always (posedgeClk)beginRst_Reg_n= Rst_n; /将异步复位信号先用Clk同步一下 endalways (posedgeClk or negedgeRst_Reg_n) /如果没有写or negedgeR st_Reg_n,将变成同步复位 beginif (Rst_Reg_n)beginQ = 1d0;endelsebeginQ = D;endend这里使用时钟将外部输入的异步复位信号寄存一个节拍后,再送到触发器异

10、步复位端口的设计方法的 另一个好处在于,做STA (静态时序分析)分析时,时序工具会自动检查同步后的异步复位信号和时钟的 到达(Recovery)/撤销(Removal)时间关系,如果因布线造成的skew导致该到达/撤销时间不能满足,S TA工具会上报该路径,帮助设计者进一步分析问题,如图所示:对于这个问题,网上有很多讨论。在这里总结一下,提醒自己。异步复位:always (posedgeclk or posedge reset)beginif(reset)/ reset 逻辑else/同步逻辑end同步复位:always (posedgeclk)beginif(reset)/ reset 逻

11、辑else/同步逻辑endASIC设计中,同步复位要比异步复位多耗资源,但是在FPGA中两者差不多, 因为FPGA中的寄存器同步复位和异步复位都提供资源。异步复位会对复位信号 上的毛刺产生错误复位。在ASIC设计中,通常的做法是使用异步复位,在异步复位信号的根部进行 总体同步。2007年十月份,由于工作安排参加了 IBM的芯片后端process的培训,了 解了 IBM关于后端process的流程、阶段定义和tool chain。当问到IBM的工 程师关于异步复位还是同步复位的问题时,他们的回答是都可以,对于IBM的 technology来说两者都没有问题,不需要设计者特别考虑。真是高人呀!看来 二者的争论是没有多大必要的了。一般的foundry厂商对两者都有很好的支持。 2009年3月20号更新又有新发现。IBM的标准单元中没有同步复位的DFF,使用同步复位综合成 如下结果:所以使用同步reset会增加逻辑(上图中的“与门”)。如果使用异步复位,综合结果如下:此时,使用异步复位会得到更好的时序。所以,之前是被IBM工程师忽悠了。 一般性原则:如果确定了综合的foundry厂的库,先要研究库中DFF的情况。然 后决定reset设计。如果没有库或还不确定制程,比如要写IP,那就用同步reset。

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

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

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