大型设计全局复位—异步复位同源释放.docx

大型设计全局复位—异步复位同源释放.docx

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

?在一个FPGA项目设计之初,全局网络的建立至关重要,其中包括时钟网络和复位网络。而通常设计者对时钟网络的规划尤为小心,可却忽视了复位网络,这个复位跟时钟一样也是一个覆盖全局、高扇出的信号,如果处理不当也会导致意想不到的错误。很多人会问,到底复位信号选择同步还是异步、高电平还是低电平有效?对于这个问题,下文做了论述:?异步or?同步? 以下是同步、异步复位的Verilog和VHDL代码://?同步复位(Verilog)always@(posedge clk) if(rst) begina=1’b0; end else begina=b; end--同步复位(VHDL)process(clk,rst)begin if clk’event and clk=’1’ thenif rst=’1’ then a=’0’;else a=b;end if; end if;end process;?//?异步(Verilog)always@(posedge clk or posedge rst) if(rst) begina=1’b0; end else begina=b; end--异步复位(VHDL)process(clk,rst)beginif rst=’1’ thena=’0’;else if clk’event and clk=’1’ then a=b;end if; end if;end process; 网上有很多关于在FPGA设计中使用异步还是同步复位的讨论,其中很多都推荐使用同步复位,但是使用同步复位也不是绝对有利的,同步和异步都有各自的优缺点:同步复位异步复位综合出来的FF面积小,需要额外的组合逻辑无需额外的组合逻辑需要时钟触发,可以使电路100%的同步,可以消除毛刺的影响无需时钟,但是会因毛刺发生错误复位,并且易出现亚稳态脉冲宽度需要长于一个时钟周期脉冲宽度无限制,快速复位?? 基于同步和异步复位各自的优缺点,很多经典文献都推荐一种异步复位、同步释放电路,如图1所示,此电路既节省了同步所需的额外逻辑资源又消除了异步带来的毛刺和亚稳态的影响。其中FF的数量决定了复位脉冲的宽度,图中为4个,即复位脉冲宽度为4个时钟周期。(后续根据加菲书补充)图1对应图1异步复位同源释放的Verilog代码(高有效复位)always@(posedge clk or posedge asynchronous_reset)beginIf(asynchronous_reset)beginF1=1’b1;F2=1’b1;F3=1’b1;F4=1’b1;endelse beginF0=1’b0;F1=F0;F2=F1;F3=F2;endendassign synchronous_reset=F3;always@(posedge clk or posedge synchronous_reset )if(synchronous_reset)else?高电平?or?低电平有效? 在上文描述同步、异步复位的HDL代码中都为高电平有效复位,异步复位只要在判断条件中取个反即可。关于选择高电平有效还是选择低电平有效的复位,不像选择同步还是异步有那么些理论根据,因此有些设计者就根据个人代码编写的喜好来选择是高电平复位还是低电平复位。 但是高、低电平复位总是有所区别的,复位的过程总是由信号电平的变化触发的,不管是同步还是异步总是有亚稳态的问题,因此如果电平转换地越快则亚稳态的几率就小一点,如下表为CMOS、TTL电平标准:电平标准低高?CMOS0V ~ VDD/2VDD/2 ~ VDDVDD=供电电压TTL0V ~ 0.8V2V ~ VCCVCC=5V ±10%? TTL电平低电平和高电平是对称的,端口经常外接上拉电阻,因此由高到低的转换会快一些;并且TTL端如果在悬空状态下默认是高电平的,因此如果选用低电平有效复位抗干扰能力比较好。 反观FPGA的逻辑,最近在研究Xilinx 7系列FPGA的结构,其中复位可以通过两种方式实现:全局复位网络(GSR)和普通复位端,如图2所示为7系列FPGA中的Storage Element结构,它既可以配置成Flip-Flop也可以配置成Latch,由输入端D、输出端Q,三个控制信号时钟使能CE、时钟CK和置位/复位SR组成;内部还有INIT0、INIT1、SRLO和SRHI 四个选项,其中INIT0和INIT1配对,表示通过GSR全局复位,此复位网络是异步的,并且铺设在整个芯片区域,属于硬核,用户无法自定义修改;而SRLO和SRHI配对,表示高电平有效信号SR驱动的复位,此信号可以配置成异步或者同步,根据此特性,如果使用低电平有效的复位,实现时则需要在SR端额外加入一个非门,因此在7系列FPGA设计时推荐使用高电平有效的复位。图

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档