Vivado设计套件新增手把手的方法,确保可预测且可重复设计的结果。
过去40年来,IC工艺技术飞速发展,带动电子企业推出丰富的产品,让当今的人们乐享其中。然而芯片工艺技术的发展对电子创新至关重要,而如果没有学术界和电子设计自动化(EDA)产业同时快速推出工具的支持,芯片技术也是无法取得如此顺利的发展。从二十世纪七十年代的晶体管级SPICE模拟发展到当今的数十亿门系统级集成设计环境,如此进步确实神速。但对电子技术革新做出重大贡献的设计方法,同样令人惊叹却往往被人们忽略。
设计团队能够借助全球最先进的芯片和最出色的工具,但如果他们不能建立起有效的设计方法,也无法在适当的时间内推出产品、进而也难以获得商业成功。好的设计方法不仅能缩短设计时间,让设计团队按时交付高质量产品,而且还能让他们以可预测、可重复的方式开展工作,而这正是长期商业成功的关键所在。就此而言,设计方法应不断发展完善,以充分发挥芯片和设计工具的改进。
为了帮助客户进一步提高生产力,成功实现新一代创新技术,赛灵思针对其屡获殊荣的Vivado®设计套件推出了UltraFast™设计方法,帮助使用Vivado的设计团队加快在赛灵思28nm 7系列器件以及即将推出的20nm/16nm UtraScale™产品系列上成功实现设计。
Vivado设计套件的高级产品市场总监Ramine Roane指出,这款新的设计方法并不是完全另立门户,而是公司根据业界专家的提议精选了数项最佳实例并将其精简为一套有效方法,以推动设计团队走向可预测的成功,该方法统称为UltraFast设计方法。这些最佳实例涵盖开发板规划、设计创建、设计实现与收敛、编程和硬件调试等各个方面。
Roane指出:“UltraFast设计方法将帮助设计团队充分利用Vivado设计套件和赛灵思All Programmable器件的先进技术,以提高生产力,并不断缩短设计时间,准确预测设计进度,进而加速产品上市进程。”
UltraFast设计方法的推出是赛灵思如何保持领先于竞争对手整整一代水平的又一例证。赛灵思不仅推出最佳器件和最先进的工具套件,而且还提供了业界最全面的设计方法。
为了加速推广UtraFast设计方法,赛灵思发行了免费的设计方法手册《Vivado设计套件的UltraFast设计方法指南》(UG949),帮助读者一步步了解设计方法,包括开发板的选择、RTL设计乃至实现和最终调试等。该手册提供了全面的检查清单(checklist),引导工程师完成整个设计流程。此外,Vivado Design Suite 2013.3版本还将设计方法的许多元素实现了自动化(包括linting),并添加了新的设计规则检查(DRC rule decks),题为“Methodology”和“Timing”。
新版Vivado设计套件还提供硬件描述语言(HDL)和赛灵思设计约束(XDC)模板,有助于优化综合和实现的结果质量(QoR)。赛灵思还提供一系列免费的在线自学视频,并在全球不同地区提供官方培训课程。
加速收敛的设计方法
Roane指出,UltraFast设计方法的主旨就是把设计收敛提到设计流程的前端,也是QoR影响较大的地方(见图1)。这样,设计团队就能快速组建出一个“设计期正确”(correct-by-construction)的设计方案上。Roane说:“如果能在设计流程早期阶段全面了解情况并做出决策,就能有效避免实现阶段耗时过长。”
Roane指出,Vivado设计套件是可编程行业唯一一款在流程的每个环节(从设计输入到IP集成、RTL综合、实现(优化、布局、物理优化、布线)乃至启动)均支持交互设计分析和源文件交叉探测的设计套件。Roane说:“采用传统工具时设计者只有到设计流程结束时、在规划全面实现后才能发现问题,如果设计方案不能达到预期效果,唯一的办法就是从头再来,而且根本不清楚问题的原因,不得不进行多次长时间迭代循环。”
实现交叉探测和分析功能的主要因素在于Vivado设计套件的统一数据模型。Roane说:“统一数据模型使设计团队能够在整个流程中采用相同的分析和收敛程序。这相对于老式设计套件而言是一大优势,能帮助工程师在多个环节上(甚至在尚未保存设计修改的临时记忆中)修改设计方案,通过交叉探测到源文件或者其他设计视图。赛灵思设计的这款统一数据模型能扩展运用到包含数百万个逻辑单元的高端器件,而同类竞争工具刚刚开始满足中端器件的要求。”
或许,能反映UltraFast设计方法加快设计收敛的最好例证就是“基线(Baselining)”概念。
通过Baselining快速时序收敛
“基线(Baselining)是一种用于加速设计收敛的技术,它着重于解决内部Fmax,这是最大问题,10次有9次收敛所出现的问题就是它。这能避免由于复杂的、极易出错的I/O约束和时序特例而耽误时间,防止用户和工具被引导至错误的方向。采用基线技术,设计团队能用最简单的约束启动收敛进程,集中精力于触发器路径。随后,根据问题是出在时钟路径或数据路径上,还是连线延迟或逻辑延迟,我们可采取有文档记录的修改措施,并重新运行分析。”
一旦设计团队用基线XDC收敛了时序,就基本完工。随后就需要添加I/O接口约束。Roane指出:“必须确保这些约束的正确性,这样才能避免出现‘假的’时序问题。”
“正由于此,我们为源同步,中间对齐的DDR I/O约束等提供XDC模板。如果需要,我们可用时序特例来微调约束,或者进行一定的布局规划。不过重要的是应当记住,如果相应路径不是关键路径,那最好不要采用时序特例。同样,设计过度布局规划造成的问题远比带来的作用要多。”
Roane指出,基线法并不能替代签署约束(sign-off constraint):“仍然要在完备的约束的基础上验证设计方案。”
UltraFast设计方法还给出了获得原始签署约束的详细步骤。Vivado通过大量批处理和图形界面程序使这一任务自动化,分析时序路径、时钟网络、时钟之间的交互等。新的时序DRC规则也可用于检查设计的约束及时钟网络。
VIVADO设计套件的ULTRAFAST设计方法指南
要熟悉UltraFast设计方法,可从阅读《Vivado设计套件的UltraFast设计方法指南》开始。该指南分为6章,前两章介绍本指南内容和设计流程建议,第三章到第六章深入分析UltraFast设计方法的最佳实践。
第三章分析开发板和器件规划,对PCB布局、时钟资源规划与分配、I/O规划设计流程、FPGA功耗因素和系统依赖性给出了明智的建议。为了避免开发板改版,该设计方法概括介绍如何利用赛灵思功耗估计器(XPE)探索并找到满足功耗预算分配要求的架构。
这一章还强调了用良好的I/O规划启动设计的重要性,给出了配合开发板规划进行I/O规划的建议,至少二者应当进行适当的协调。如果I/O规划和开发板规划二者不协调,就会在流程后期出现系统级的时序和配电问题。本章还讨论了各种用电模式,对功率和散热分析给出建议,并介绍了有关PCB的制冷考虑事项。此外,该章还给出了设计项目中实现赛灵思All Programmable 3D IC时的相关I/O建议,因为连接多芯片器件的插入器有着独特的要求。
第四章《设计创建》首先介绍了创建可靠的设计层次以及选择合适的IP等方面的策略和技巧,接下来的几个部分介绍了实用的RTL编码指南。本章内容还涉及控制信号集合(control signals and sets)、RAM和ROM推断、形成正确的DSP和算术推断的代码、移位寄存器和延迟线编码,以及所有推断的寄存器、SRL和存储器的初始化。本章还包括“参数、属性与约束“,“时钟”以及“实例化、推断两种方法的选择”等内容。
“编写HDL的方式对综合如何推理逻辑有很大影响。良好的编码风格使得设计使用架构中的固有资源,进而提高工作频率。”
Roane指出:“编写HDL的方式对综合如何推断逻辑有很大影响。良好的编码风格使得设计使用架构中的固有资源,进而提高工作频率。为帮助客户充分利用这些资源,加速整体设计进程,我们提供了模板,指导这些组件推理,特别是RAM、移位寄存器和DSP资源的使用。这些模板内置于Vivado Design Suite 2013.3 版本中。”
本章还分三节着重介绍了提高可靠性、性能和功耗优化的有关编码技术。每节都给出了约束建议,以充分发挥Vivado设计套件统一数据模型的优势。
“实现高可靠性的编码风格”这一节给出了时钟域交叉(同步和异步)、未约束的复位和避免组合逻辑环路的建议。“提高性能的编码风格”这一节给出了有关关键路径上的高扇出和寄存器复制的建议,以及设计中实现流水线应注意的事项。“优化功耗的编码风格”这一节介绍了您在设计中可能用到的多种不同节省功耗技术,囊括了经过检验且可靠的数据路径和门控时钟等方法,以及最大化门控元素、限制控制信号等一些微妙的建议。
第五章重点介绍了从综合到布线整个实现流程。本章首先概括介绍了实现、综合属性和自下而上设计流程的优势。如前所述,本章深入介绍了时序分析,并给出了时序收敛的基线法理念。此外,时序收敛这一节还给出了面对各种时序问题应该做什么、不应该做什么的很好建议。本章还讨论了时序对功耗的可能影响。
本指南的最后一章也就是第六章介绍了配置和调试问题。这一章的前半部分一步步引导读者了解生成比特流和配置赛灵思All Programmable器件中的最佳方法。后半部分主要介绍了设计流程中多个阶段调试设计的最佳实践。这部分探讨了如何实现HDL实例化调试探测点流程,以及如何在网表中插入调试探测点流程。本章还讨论了设计载入目标器件之后的设计调试策略。
本指南的附录部分给出了更多丰富资源,或许最重要的资源就是UltraFast设计方法检查清单,列出了设计团队在设计周期中每个阶段应考虑的事项,从最初的设计规划到最后的硬件调试。Roane指出:“它给出了长长的问题清单,重点指出可能对下游工序造成影响的设计决策典型方面。” 检查清单不仅可可让读者链接至指南中的有关方面介绍,还给出外部链接,介绍特定的设计问题。赛灵思的这个检查清单还提供可下载的电子数据表。
对ULTRAFAST设计方法的支持
除了将所有最佳实践编译到极其有用的《Vivado设计套件的UltraFast设计方法指南》之外,赛灵思还在Vivado Design Suite 2013.3版本中融合了有关UltraFast设计方法的众多建议。Vivado Design Suite2013.3版本目前支持UltraFast设计方法和时序DRC规则,能更好地指导用户一步步完成设计工作,而且提供了非常方便的硬件描述语言(HDL)和约束模板,支持自动建构校正。
此外,赛灵思的全球培训人员和联盟成员生态系统也都正在积极支持UltraFast设计方法的使用。
举例来说,Blue Pearl Software公司将赛灵思UltraFast设计规则添加到其Analyze RTL linting工具中。Roane指出:“Blue Pearl实现了UltraFast设计方法中有关RTL指南的自动化。除了执行语言linting之外,它还强制采用特定的编码风格,确保赛灵思器件的最佳结果质量,包括使用适当复位类型、RAM或MAC编码方式能最佳推理出赛灵思器件的内置固有模块等。”
除了第三方EDA支持之外,赛灵思还积极测试其IP核,确保其符合UltraFast方法和DRC要求,并积极鼓励所有联盟成员IP厂商同样确保符合指南要求。
最后同样重要的是,赛灵思公司正在推出赛灵思及其全球合作伙伴共同提供的一系列培训课程,发布全新的UltraFast设计方法QuickTake视频。此外,所有赛灵思最新视频均融合了UltraFast指南内容。
评论
查看更多