几种进行时序约束的方法.docx

上传人:太** 文档编号:38596126 上传时间:2022-09-04 格式:DOCX 页数:3 大小:13.22KB
返回 下载 相关 举报
几种进行时序约束的方法.docx_第1页
第1页 / 共3页
几种进行时序约束的方法.docx_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《几种进行时序约束的方法.docx》由会员分享,可在线阅读,更多相关《几种进行时序约束的方法.docx(3页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、几种进行时序约束的方法对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器 件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计 的时序约束目标就会越清晰,相应地,设计的时序收敛过程就会更可控。从最近一段时间工作和学习的成果中,我总结了如下几种进行时序约束的方法。 按照从易到难的顺序排列如下:0.核心频率约束这是最基本的,所以标号为0。1 .核心频率约束+时序例外约束时序例外约束包括 FalsePath、MulticyclePath MaxDelay MinDelayo 但这 还不是最完整的时序约束。如果仅有这些约束的话,说明设计者的思路还局限 在FPGA芯片

2、内部。2 .核心频率约束+时序例外约束+1/0约束I/O约束包括引脚分配位置、空闲引脚驱动方式、外部走线延时(InputDelay、 OutputDelay),上下拉电阻、驱动电流强度等。加入I/O约束后的时序约束, 才是完整的时序约束。FPGA作为PCB上的一个器件,是整个PCB系统时序收敛 的一局部。FPGA作为PCB设计的一局部,是需要PCB设计工程师像对待所有 COTS器件一样,阅读并分析其I/O Timing Diagram的。FPGA不同于COTS器件 之处在于,其I/O Timing是可以在设计后期在一定范围内调整的;虽然如此, 最好还是在PCB设计前期给与充分的考虑并归入设计文

3、档。正因为FPGA的I/O Timing会在设计期间发生变化,所以准确地对其进行约束 是保证设计稳定可控的重要因素。许多在FPGA重新编译后,FPGA对外部器件 的操作出现不稳定的问题都有可能是由此引起的。3 .核心频率约束+时序例外约束+1/0约束+Post-fit Netlist引入Post-fit Netlist的过程是从一次成功的时序收敛结果开始,把特定的一 组逻辑(Design Partition)在FPGA上实现的布局位置和布线结果(Netlist)固 定下来,保证这一布局布线结果可以在新的编译中重现,相应地,这一组逻辑 的时序收敛结果也就得到了保证。这个局部保存上一次编译结果的过

4、程就是 Incremental Compilation,保存的网表类型和保存的程度都可以设置,而不仅 仅局限于Post-fit Netlist,从而获得相应的保存力度和优化效果。由于有了 EDA工具的有力支持,虽然是精确到门级的细粒度约束,设计者只须进行一系 列设置操作即可,不需要关心布局和布线的具体信息。由于精确到门级的约束 内容过于繁多,在qsf文件中保存不下,得到保存的网表可以以PartialNetlist的形式输出到一个单独的文件qxp中,配和qsf文件中的粗略配置信 息一起完成增量编译。4 .核心频率约束+时序例外约束+1/0约束+LogicLockLogicLock是在FPGA器件

5、底层进行的布局约束。LogicLock的约束是粗粒度的, 只规定设计顶层模块或子模块可以调整的布局位置和大小(LogicLock Regions) o 成功的LogicLock需要设计者对可能的时序收敛目标作出预计,考虑特定逻辑 资源(引脚、存储器、DSP)与LogicLock Region的位置关系对时序的影响,并 可以参考上一次时序成功收敛的结果。这一权衡和规划FPGA底层物理布局的过 程就是FloorPlanningo LogicLock给了设计者对布局位置和范围更多的控制权, 可以有效地向EDA工具传递设计者的设计意图,防止EDA工具由于缺乏布局优 先级信息而盲目优化非关键路径。由于模

6、块在每一次编译中的布局位置变化被 限定在了最优的固定范围内,时序收敛结果的可重现性也就更高。由于其粗粒 度特性,LogicLock的约束信息并不很多,可以在qsf文件中得到保存。需要注意的是,方法3和4经常可以混合使用,即针对FloorPlanning指定的 LogicLock Region, 把它作为一个 Design Partition 进行 Incremental Compilationo这是造成上述两种方法容易混淆的原因。5 .核心频率约束+时序例外约束+1/0约束+寄存器布局约束寄存器布局约束是精确到寄存器或LE 一级的细粒度布局约束。设计者通过对设 计施加精准的控制来获得可靠的时序

7、收敛结果。对设计中的每一个寄存器手工 进行布局位置约束并保证时序收敛是一项浩大的工程,这标志着设计者能够完 全控制设计的物理实现。这是一个理想目标,是不可能在有限的时间内完成的。 通常的做法是设计者对设计的局部进行寄存器布局约束并通过实际运行布局布 线工具来获得时序收敛的信息,通过数次迭代逼近预期的时序目标。不久前我看到过一个这样的设计:一个子模块的每一个寄存器都得到了具体的 布局位置约束。该模块的时序收敛也就相应地在每一次重新编译的过程中得到 了保证。经过分析,这一子模块的设计和约束最初是在原理图中进行的,在达 到时序收敛目标后该设计被转换为HDL语言描述,相应的约束也保存到了配置 文件中.

8、核心频率约束+时序例外约束+1/0约束+特定路径延时约束好的时序约束应该是“引导型”的,而不应该是“强制型”的。通过给出设计 中关键路径的时序延迟范围,把具体而微的工作留给EDA工具在该约束的限定 范围内自由实现。这也是一个理想目标,需要设计者对每一条时序路径都做到 心中有数,需要设计者分清哪些路径是可以通过核心频率和简单的时序例外约 束就可以收敛的,哪些路径是必须制定MaxDelay和MinDelay的,一条也不能 遗漏,并且还需要EDA工具“善解人意”的有力支持。设定路径延时约束就是 间接地设定布局布线约束,但是比上述3、4、5的方法更灵活,而且不失其准 确性。通过时序约束而不是显式的布局和网表约束来到达时序收敛才是时序约 束的真谛。记得有网友说过“好的时序是设计出来的,不是约束出来的,我一直把这句 话作为自己进行逻辑设计和时序约束的指导。好的约束必须以好的设计为前提。 没有好的设计,在约束上下再大的功夫也是没有意义的。不过,通过正确的约 束也可以检查设计的优劣,通过时序分析报告可以检查出设计上时序考虑不周 的地方,从而加以修改。通过几次“分析一修改一分析”的迭代也可以到达完 善设计的目标。应该说,设计是约束的根本,约束是设计的保证,二者是相辅 相成的关系。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com