FPGA设计流程简介和设计注意事项.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
什么是建立和保持时间 时序分析基础 时序分析基础-续 时序分析基础-续 异步设计中常见问题及其解决方法 异步设计中常见问题及其解决方法-续 异步设计中常见问题及其解决方法-续 异步设计中常见问题及其解决方法-续 异步设计中常见问题及其解决方法-续 异步设计中常见问题及其解决方法-续 异步设计中常见问题及其解决方法-续 异步设计中常见问题及其解决方法-续 不建议使用电路 不建议使用电路-续 复位和置位信号处理 时序设计的可靠性保障措施 时序设计的可靠性保障措施 时序设计的可靠性保障措施 时序设计的可靠性保障措施 Dragon WH team FPGA设计中的时序分析及异步设计注意事项 建立时间和保持时间: 建立时间(setup time):是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器; 保持时间(hold time):是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间, 如果保持时间不够,数据同样不能被打入触发器。? 电路设计的难点在时序设计,而时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 如上图所示,以REG2为例,假定触发器的建立时间要求为:T_setup,保持时间要求为:T_hold,路径①延时为:T1,路径②延时为:T2,路径③延时为:T3,时钟周期为:T_cycle, Ts =(T_cycle + △T)-T1,Th =T1-△T, 令 △T =T3-T2,则 条件1.如果T_setup < Ts ,即 T_setup < (T_cycle + △T)-T1,这说明信号比时钟有效沿超过T_setup 时间到达REG2的D端,满足建立时间要求。反之则不满足; 条件2.如果T_hold < Th ,即T_hold < T1-△T ,这说明在时钟有效沿到达之后,信号能维持足够长的时间,满足保持时间要求。反之则不满足。 从条件1和2我们可以看出,当△T > 0 时,T_hold受影响;当△T < 0 时,T_setup 受影响。  如果我们采用的是严格的同步设计电路,即一个设计只有一个CLK,并且来自时钟PAD或时钟BUFF(全局时钟),则△T对电路的影响很小,几乎为0;如果采用的是异步电路,设计中时钟满天飞,无法保证每一个时钟都来自强大的驱动BUFF(非全局时钟),如下图所示,则△T影响较大,有时甚至超过人们想象。这就是为什么我们建议采用同步电路进行设计的重要原因之一。   很多异步设计都可以转化为同步设计,对于可以转化的逻辑必须转化,不能转化的逻辑,应将异步的部分减到最小,而其前后级仍然应该采用同步设计。下面给出一些异步逻辑转化为同步逻辑的例子: 1、门控时钟 门控时钟是非常危险的,极易产生毛刺,使逻辑误动作。 在可编程逻辑器件中,一般使用触发器的时钟使能端,而这样,并不增加资源,只要保证建立时间,可使毛刺不起作用。 改进后电路: 2、组合逻辑产生时钟   在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。组合逻辑的时钟如果产生毛刺,易使触发器误翻转。   使用触发器的时钟使能端,并不增加资源,只要保证建立时间,可使毛刺不起作用。 改进后电路: Q D 组合逻辑 input clk ENA 3、不规则的计数器 这是一个53计数器,采用计到53后产生异步复位的办法实现清0,产生毛刺是必然的。然而最严重的是,当计数器所有bit或相关bit均在翻转时,电路有可能出错,例如:计数器从“110011”->“110100”,由于电路延时的原因,中间会出现“110101”状态,导致计数器误清0。  采用同步清0的办法,不仅可以有效地消除毛刺,而且能避免计数器误清0。电路如下图所示。 规则的计数器 4、对计数器的译码   对计数器译码,可能由于竞争冒险产生毛刺。如果后级采用了同步电路,我们完全可以对此不予理会。如果对毛刺要求较高,推荐采用Gray编码(PLD)或One-hot编码(FPGA)的计数器,一般不要采用二进制码.具体描述中,我们可以用状态机来描述,而利用逻辑综合工具来编码,有经验的选手可以自己强制定义状态机的编码。 5、多时钟的同步化 两个没有相位关系的时钟这样使用,后级时钟可能不能准确采样。 改进后:用一个触发器做同步化处理,保证后级时钟准确采样。 Q D D LE LE Q 6、锁存器 锁存器是较危险的电路,没有确定的初始状态,输出随输入变化,这意味着毛刺可以通过锁存器。若该电路与其它D触发器电路相连,则会影响这些触发器的建立保持时间。除非有专用电路特别需要(其实总线锁存之类的功能用373之类的小规模

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档