如何发现并解决FPGA设计中的时序问题_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页如何发现并解决fpga设计中的时序问题耗费数月精力做出的设计却无法满足时序要求,这的确十分令人难过。然而,试图正确地对设计举行约束以保证满足时序要求的过程几乎同样令人费神。找到并确定时序约束本身通常也是十分令人头痛的问题。

时序问题的恼人之处在于没有哪种办法能够解决全部类型的问题。因为客户对于和现场应用工程师分享源代码通常十分敏感,因此我们通常都是通过将工具的潜力发挥到极致来协助客户解决其时序问题。固然好消息就是通过这种办法以及优化rtl代码,可以解决大多数时序问题。

但在深化探讨之前,我们首先需要对时序问题举行一点基本分析。这里的目标是首先排解显然的问题,如将时钟引脚置于器件的上部、在器件下部驱动数字时钟管理器(dcm),然后再在器件上部驱动全局缓冲(bufg)。

有时,此类引脚布局会导致根本没有方法满足时序要求。通过察看时序报告中的延迟,通常可以发觉这些显然的时序问题。在这些状况下,为了解决这些显然的问题,都需要利用底层规划工具“floorplanner”将造成问题的部分锁定在适当的位置。底层布局规划工具还可以协助以可视的方式来理解时序问题。

用最新工具举行时序分析

假设问题并非这么显然,那么为了锁定问题所在,需要了解所用法的器件系列以及软件版本。通常,每种器件系列对应一种最优的软件版本。如virtex-4器件对应的最佳软件是ise软件9.2i版,而对virtex-5则是ise软件10.1版。

综合工具的版本也很重要,因此当采纳最新的器件架构时,下载并用法最新版软件十分重要。软件开发几乎总是滞后于硬件功能,因此我不倡导用法旧版软件举行基于新器件的设计。

然而,有些客户因为不安新的和未知的软件缺陷而不肯意升级软件。但是,在用法最新的器件时,假如希翼更好地处理时序挑战,剧烈建议下载最新版软件。

拥有了最适用于目标器件系列的软件,还需要确定最佳的实现选项。惋惜,并没有适用于全部状况的超级选项组合。对于设计实现工具来说,有成千上万种不同的实现选项组合。按照所用法的实现选项不同,时序分数(即全部存在错误的时序路径与时序要求的差异总和,以皮秒表示)也会有很大不同。

的几款工具可协助确定适用于特定设计的最佳实现选项。ise软件现在包括两个工具:xplorer以及最近发布的smartxplorer。smartxplorer可充分发挥多处理器优点,能够以不同选项组合运行多个实施实例。

smartxplorer需要支持,但用法十分简单。其指令行很容易:smartxplorerdesignname.edn-pxc5vlx110t-1ff1136.

只要用户约束文件(ucf)和网表约束文件(ncf)文件名相同,smartxplorer会自动用法正确的选项。唯一需要做的是编辑主机列表文件。

smartxplorer可以通过ssh/rsh平安shell登录到其他机器。只需要在名为smartxplorer.hostlist的文件中将每台机器一行将机器名字添加进去就可以了。假如机器有两个处理器,请将机器列出两次。表1给出了smartxplorer的一组结果。

表1:对基于virtex-5fpga的设计smartxplorer10.1的一个例子。

planahead软件也包括了与smartxplorer类似的称为exploreahead的功能。exploreahead支持同时在多台linux机器上分布式运行布局布线任务。全部这些工具的目的都是类似的:确定实现工具的最佳选项组合,以获得最好的时序得分。

请注重选项的不同组合对于时序得分和运行时光的巨大影响。认真调节综合选项也十分重要。例如,在综合选项中关闭结构层次(hierarchy)通常会大大提高性能。综合过程中的约束条件好坏在满足时序方面的作用也很突出。

用planahead分析时序

在了解实现选项对最佳时序分值的影响之后,现在可以开头有效地分析时序问题了。这时候,planahead是一款十分有价值的工具,可以视觉化显示布局布线后的设计。利用它,还可以导入时序约束并在已布局窗口交错探查(cross-probe)时序失败的路径。

当工具本身的决策不好时,则可以通过平面布局模块或通过手工布局部分组件的方式来订正。这一过程通常需要反复多次,才干够确定时序优化的最佳设计布局方式。planahead软件的可视化功能的确使这一工作的完成更简单了。

利用planahead软件,首先创建项目(project),然后将hdl或网表文件导入工具中。一旦创建了一个项目,就可以挑选“file→importplacement”。挑选时序优化效果最佳的布局布线后(ncd)文件,将布局布线信息导入planahead软件项目。

软件会将planahead项目组织到几个不同的窗口。左上窗口是物理分层窗口,描述了设计中的当前区域组。选定窗口在下面,包含了当前选定的数据具体信息。中间窗口是网表窗口,给出了囫囵网表的分层结构。最右侧窗口是器件观看窗(deviceview),里面已经弥漫了设计实施完成后的规律。

然后,将时序分析报告(twr/twx)导入到planahead工具中。挑选“file→importtrcereport”。这一步将时序报告数据添加到底部窗口。根据时序余量(timingslack)对这一窗口举行排序可以将焦点首先集中于违背时序要求最多的地方。常常的状况是解决了这些时序偏差最大的地方所存在的问题也就解决了囫囵设计的时序问题。

图1.planahead10.1版显示出已实施的设计,一条时序失败路径高亮显示。

一旦挑选了一条时序失败的路径,planahead软件就会选定时序失败路径上的实例和衔接。按f9键放大显示选定的部分。

这儿的事情显得有些复杂。必需举行一定的审查和思量才干够显然布局布线工具将基本单元(primitive)放在某个地方,以及为什么对于当前的特定设计来说还有更好的办法。

可以放大显示任何高亮的基本单元。鼠标点击一个基本单元并拖动,可以更好地观看其衔接状况。在网表窗口,还可以移动到包含了所选实例的顶层模块。鼠标右击模块名称并为选定的实例挑选色彩,这样就可以显示出这一模块在芯片中的布局,以及组内单元是逼近还是散开的。

可能发觉有时需要更好地锁定特定的基本单元。blockram和模块的自动布局是导致时序失败的常见缘由。很简单发觉布局布线工具将mult18支配的位置很不好。时序失败路径中的块ram输出衔接到mult18,后者的输出又馈送到进位链。块ram在上部、mult18在下部,而规律部分又位于上部。假如布线不需要上上下下、边边角角地往返绕,该路径应该可以满足时序要求。

时序问题不同,在planahead软件中处理这些时序问题的解决计划也跟着变幻。在planahead设计工具中解决时序问题需要不断实践。该解决计划体现以下操作步骤中:

1.挑选高亮显示失败的时序路径。

2.右击路径上的某个实例,挑选“highlightwith→colorofchoice”。

3.在左侧栏中,将底部其次个mult18释放。右击“unplace。这将为时序失败的块ram腾出空间。

4.点击拖动底部的mult18向左上移动一个位置。

5.点击拖动右边的块ram到底部左侧的自由块ram位置。

6.选定失败的时序路径,确认路径看起来是优化的。

7.挑选“tools→clearplacementconstraints”。点击第一个选项中的“next”。

8.挑选“unplaceallbutselectedinstances”。在余下的向导步骤点击“next”。

9.假如希翼在“planahead软件外运行实施流程,挑选“file→exportfloorplan”。

10.工具会输出一个新的文件名为“top.ucf”的ucf文件。你可挺直用法这一文件,或者将文件中的约束加入到原始ucf中。

11.另一个挑选是在planahead软件内运行实施工具。

挑选“tool→runiseplace&routewithexploreahead。

exploreahead提供了许多很好的功能,包括:自动从器件观看窗导入约束到ucf;简化了从exploreahead中运行的布局和时序结果的导入。

图2.planahead10.1版软件显示出将dsp48和块ram锁定后的正确路径。

pblock和底层规划

假如发觉布局中有许多时序失败路径,手工布局调节通常无法解决问题。反过来,应该创建区域组。创建区域组(pblock)的方式之一是在网表窗口中右击模块名字并挑选“drawpblock”。然后在器件观看窗中希翼放置区域组的地方画一个长方形。

工具会创建一个pblock,同时会显示有关的具体信息。属性窗口会显示pblock需要的规律资源以及画出的长方形区域组中可用的资源。

设计的底层规划是一个需要深度交互的过程。你可能会发觉需要反复多次调节区域组才干够达到目标。请记住有时创建的区域组越小越少越好。你并不是总需要将囫囵模块固定为区域组。集中于时序失败的基本单元,将它们组合为区域组并单独为其举行底层规划。

在此过程中,应该利用pblock指标(metrics)来更好地理解有关功能,如区域组中可配置的规律块(clb)的利用状况如何(可以在planahead软件左上窗口中点击metrics标签来查看可用的指标)。这可协助确定是否某个特定区域中太拥挤以致阻碍布线。假如的确比较拥挤,可能需要通过平面规划将设计规律放得散开一些。

一旦利用planahead软件获得尽可能好的时序分数,最后的任务就是优化代码。planahead设计工具现在支持hdl源文件。按照你导入的源文件不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论