10分钟教会你UltraFAST十大准则.docx
《10分钟教会你UltraFAST十大准则.docx》由会员分享,可在线阅读,更多相关《10分钟教会你UltraFAST十大准则.docx(7页珍藏版)》请在第一文库网上搜索。
1、10分钟教会你U1traFAST十大准则U1traFast是Xi1inx在2013年底推出的一套设计方法学指导,旨在指引用户最大限度地利用现有资源,提升系统性能,降低风险,实现更快速且可预期的设计。面向Vivado的U1traFast方法学的主体是UG949文档,配合相应的Check1ist,随ViVadO版本同时更新,用户可以在XiIinX的主页上免费工载。目前,针对ViVado设计套件的UItraFaSt中文版也已经上市,另外一套全新的针对嵌入式可编程设计的U1traFast嵌入式设计方法指南UG1046也已经在Xi1inX官网上开放下载。尽管U1traFast这个字眼经常在网上看到,不论
2、官方还是其他媒体上说起ViVado设计套件时也常常提到,但很多用户仍然对这个概念十分模糊,有不少人下载文档后看到300页的PDF顿时也失去了深入学习和了解的兴趣。适逢Vivado使用误区与进阶系列连载半年多,大部分预先列好的主题也都已经按照计划完成,我们准备把这些短文集结为一本蚯书,方便更多读者随手翻阅或是必要时用作设计参考。借此机会,套用在XiIinX内部被誉为“Vivado之父”的产品营销总监GregDaUghtry在去年第一届C1UbViVado中所提出的“时序收敛十大准则”的概念,试着用十分钟的篇幅来概括一下什么是U1traFast,以及怎样利用UItraFast真正帮助我们的FPGA
3、设计。时序设计的十大准则,基本上也涵盖了U1traFaSt设计方法指南的基本要点。UG949中将FPGA设计分为设计创建、设计实现和设计收敛几大部分来讨论,除了介绍所有可用的设计方法和资源,更多的是一些高级方法学技巧,这些技巧基本上都跟时序收敛有关或是以时序收敛为目标,有些通用的方法和技巧甚至脱离了具体选用的FPGA器件的限制,适用于更广泛意义上的时序收敛。最宝贵的是,所有这些UItraFaSt设计方法学技巧都来自一线技术支持人员的经验以及客户的反馈,是业界第一本真正意义上完全面向用户的指南,这一点只要你试着读过一两节UG949就会有明显感觉,所有其中提到的技巧和方法都具有很高的可操作性,可以
4、带来立竿见影的效果。接下来我们就由这十大准则展开,带领各位读者在十分钟内理清U1traFast方法学的脉络,一探其究竟。准则一:合适的代码风格理想环境下,源代码可以独立于最终用于实现的器件,带来最佳的可移植性和可复用性。但是,底层器件各自独特的结构,决定了通用代码的效率不佳,要最大化发挥硬件的性能,必然需要为实现工具和器件量身定制代码。关于Xi1inx器件和Vivado适用的代码风格,我们有以下建议:准则二:精准的时序约束精准的时序约束是设计实现的基础,对时序驱动工具ViVado来说,约束就是最高指示,是其努力实现的目标。很多时候我们发现,约是有经验的工程师约是喜欢用一些旧有经验套用在Viva
5、do上,例如很多人偏爱用过约束的方式来追求更高的性能,但实际上对ViVado来说,大部分的过约束只会阻碍时序收敛。简要概括而言,精简而准确的约束是时序收敛的必要条件,而U1traFaSt中提出的Base1ine基线方法则是充分条件。具体的约束方法我们在X丝约束技巧中有详细讨论,除了保证语法正确,还要注意设置XDC约束的顺序,通常第一次运行时只需要约束所有雌3然后在内部路径基本满足时序约束的情况下加入关键I/O的约束,其次再考虑必要的时序例外约束。所有这些约束都必须遵循精简而准确的原则,且可以产助Vivado中的XDCTemp1ates以及TimingConstraintWiZard的帮助来进行
6、。Base1ine基线方法可以说是U1traFast的灵魂部分,强烈建议所有Vivado的用户都能精读UG949中的这部分内容,并将之应用在具体的设计中。有机会我会深入展开一篇专门介绍Base1ine方法的短文,这里先将其核心的概念做一个总结。Critica1Pathcou1dbeaMovingTargetExamp1efromaRea1Design(250MHz)Post-synthesis- Worstpath:131eve1sof1ogicworstpath:43ns_.k1ITreTFCr刃IjTjQ:oOOUPost-p1ace- Worstpath:71eve1s- Pathswi
7、th7-131eve1sgotp1aced1oca11yworstpath42nsPost-route- WorstPath:41eve1sof1ogic一Pathswith5-131eve1sgotpreferredroutingAna1yze&Fixtimingissuesatear1y/发或左fastertimingconvergenceWuA1J黑2闭上图展示了同一个设计在三个不同阶段用同样的命令报告时序所得到的最差路径,可以清晰的看出,即使不做任何源代码上的改动,设计中真正最差的路径已经不会作为最差路径出现在布局布线后的报告中。这正是因为Vivado时序驱动的天性决定了其在设计实现的
8、每一步都是以开始时读到的设计输入和约束为依据,尽量将最好的资源用在最差的路径上,从而尽最大可能实现时序收敛。这便是BaSe1ine理论的基础,除了按顺序设置精准的时序约束,在设计实现的每一步,用户都需要关注时序报告,并以其为依据来调整设计源代码或是应用其他必要的约束和选项来优化设计。保证每一阶段之后的时序报告都满足约束或是仅余300PS以内的时序违例,再进入下一阶段的设计实现过程,否则,应该继续在当前阶段或是退回到上一阶段调整后重跑设计,直到满足要求再继续。越早发现和定位问题,越是可以通过少量的努力来达到更大范围的改进。准则三:管理高扇出网给高扇出网络几乎是限制FPGA设计实现更高性能的第一大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 分钟 教会 UltraFAST 准则