网站大量收购闲置独家精品文档,联系QQ:2885784924

专题数字逻辑的时间约束.ppt

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

专题2 数字逻辑的时间约束 一、 时钟信号的时延Tpd 时钟是整个电路最重要、最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行,这就要求时钟信号时延差要非常小,否则就可能造成时序逻辑状态出错; 因而明确FPGA设计中决定系统时钟的因素,尽量较小时钟的延时对保证设计的稳定性有非常重要的意义。 如果是第一次编译或再次编译前没有进行管脚分配,则QuartusII将自动分配管脚并进行优化。 自动分配管脚的查看方法: Processing?Compilation Report 再点击Fitter下面的Pin-Out File,就可看到自动分配的管脚情况 二、数据的建立时间和保持时间 建立时间(Tsu:set up time)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器; 保持时间(Th:hold time)是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。 同步设计中的一个基本模型 两种情况需要考虑 第一种情况:假设时钟的延时Tpd为零 第二种情况:时钟存在延时 第一种情况:假设时钟的延时Tpd为零 假设时钟的延时Tpd为零,其实这种情况在FPGA设计中是常常满足的,由于在FPGA 设计中一般是采用统一的系统时钟,也就是利用从全局时钟管脚输入的时钟,这样在内部时钟的延时完全可以忽略不计。这种情况下不必考虑保持时间,因为每个数据都是保持一个时钟节拍同时又有线路的延时,也就是都是基于CLOCK的延迟远小于数据的延迟基础上,所以保持时间都能满足要求,重点是要关心建立时间,此时如果D2的建立时间满足要求那么时序图应该如下图所示。 组合逻辑的延时过大时序不满足要求 第二种情况:时钟存在延时 第二种情况如果时钟存在延时,这种情况下就要考虑保持时间了,同时也需要考虑建立时间。时钟出现较大的延时大多是采用了异步时钟的设计方法,这种方法较难保证数据的同步性,所以实际的设计中很少采用。 此时如果建立时间与保持时间都满足要求那么输出的时序如下图所示。 由于建立时间+保持时间之和是稳定的一个时钟周期,如果时钟有延时,同时数据的延时也较小那么建立时间必然是增大的,保持时间就会随之减小,如果减小到不满足D2的保持时间要求时就不能采集到正确的数据,如上图所示。 这时数据的保持时间必须满足:T-(T-Tco-Tdelay_min+Tpd)=Th2 即 Tco+Tdelay_min-Tpd=Th2 从上式也可以看出如果时钟延时Tpd=0,那么同样是要求Tco+Tdelay_minTh2,但是在实际的应用中由于数据的线路延时(Tco+Tdelay)远远大于触发器的保持时间即Th2所以不必要关系保持时间。 方法1:通过改变走线的方式来减小延时 以altera的器件为例,我们在quartus里面的timing closure floorplan可以看到有很多条条块块,我们可以将条条块块按行和按列分,每一个条块代表1个LAB,每个LAB里有8个或者是10个LE。它们的走线时延的关系如下:同一个LAB中(最快) 同列或者同行 不同行且不同列。我们通过给综合器加适当的约束(约束要适量,一般以加5%裕量较为合适,比如电路工作在100Mhz,则加约束加到105Mhz就可以了,过大的约束效果反而不好,且极大增加综合时间)可以将相关的逻辑在布线时尽量布的靠近一点,从而减少走线的时延。 (底层,依赖芯片资源,微调和优化----不推荐) 参考书籍: 《Altera FPGA/CPLD设计(基础篇)》 王诚 人民邮电出版社 方法2:通过拆分组合逻辑的方法减小延时 由于一般同步电路都不止一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求,缩短最长延时路径,才可提高电路的工作频率。 转移组合逻辑 逻辑进行拆分的方法: 逻辑进行拆分的方法(续): 3. 计数器和状态机分离:若状态机中包含计数器,则将计数器移出,改用使能信号将两者连接。在状态机中,一般也要将大的计数器移到状态机外,因为计数器一般是经常是大于4输入的,如果再和其它条件一起做为状态的跳变判据的话,必然会增加LUT的级联,从而增大组合逻辑。以一个6输入的计数器为例,我们原希望当计数器计到111100后状态跳变,现在我们将计数器放到状态机外,当计数器计到111011后产生个enable信号去触发状态跳变,这样就将组合逻辑减少了。 4. 状态机结构标准化:一般包含三个模块,一个输出模块,一个

文档评论(0)

我的文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档