ViTEX II设计中的4.1i ViTEX II PAR-PC内存使用-Xilinx-AMD社区-FPGA CPLD-ChipDebug

ViTEX II设计中的4.1i ViTEX II PAR-PC内存使用

描述

关键词:内存、输出、泄漏

紧迫性:标准

一般描述:
在4.1i定时算法中识别出内存泄漏,导致大于必要的内存使用。当MPPR运行时,内存损耗累积,直到PAR处理失败,几次通过后出现“内存不足”错误。

解决方案

在4.1i Service PACK 3中可用的修复解决了这个问题的大部分;在4.2i软件版本(2002年2月下旬)中可用的进一步改进将解决较小规模的泄漏。

这个问题固定在最新的4.1i服务包中,可在:
HTTP://Spop.xILIX.COM/Sputp/TekSuff/SWI更新.
包含修复的第一服务包是4.1i服务包3。

除了服务包修复之外,下面是一些关于PAR中限制内存利用的一般信息:

当前32位OS,(Wi2000,WinNT,WiXP)不能处理超过2GB的每个进程。试图解决超过2GB的设计将失败,内存不足的错误。这通常发生在初始时序分析期间或在PAR的路由阶段。下面是一些关于最小化内存使用的建议,以便在2 GB的限制下进行设计和匹配。

1。检查时序约束。减少设计中的路径分析量会导致内存使用量的相应减少,也会减少运行时。不是定义许多分离的约束来分析,而是创建时间组,并对时间组应用一个约束。适当地放宽路径,例如通过从(TUU)到约束的重写一般周期约束。

利用TIG语句。减少需要分析的路径的数量可以减少存储器的使用,并再次减少执行时间,即通过在复位线上放置TIG。然而,这需要仔细地做。不受约束的倾斜路径不会影响内存或运行时,但会从无约束列表中删除路径。这主要是在不相关的时钟之间的路径。受约束的路径(即在一段时间内)会对内存和运行时间产生负面影响。一组小TIG将导致更长的运行时间和更多的内存使用量比更少的大TIG(更大的覆盖率每TIG),所以再次重要的是思考如何创建你的时间组。

当创建多周期路径或TIGS的时间GRPs时,最好使用时钟信号或时钟使能信号分组。TimeGRP应该只有具有相同时钟的同步元件。不要在同一时间GRP中使用不同时钟的FFS。

使时间组尽可能完整。例如,如果FFA、FFB、FFC都到FFD,那么FFA、FFB和FFC应该在源时间组中,如果它们都由同一时钟计时。

降低努力水平
删除额外的努力,-XE 0

在随机设计上运行一些基本测试,使用总体努力水平2和5之间的差异最小,在这种情况下是2%。当使用5的努力水平时,额外的努力水平被自动使用,-XE 1。通过删除这一点,我发现我的测试设计减少了6%的内存使用,但是我已经看到了20%的报告。MPPR使用不同的成本表,并且可以不同地放置、路由和时间设计,可以看到内存使用量的小波动以及利用不同的成本表改善时序和运行时间的可能性。由于砂纸错误,MPPR现在不推荐,但是运行单独的砂矿运行改变T自己是一种解决办法。

分拣布线和布线。

由于我认为,在路由器开始之前,普莱瑟不释放所有的内存使用,所以将位置和路由进程一起运行会导致更大的内存使用。

运行一个标准的默认PAR运行

PAR-W-OL 2 MAP.NCD<设计& G.NCD≪设计& G.PCF

跑道和布线分开,这就变成了……

PAR-W-PL 2 -R MAP.NCD<设计& G.NCD≪设计& G.PCF;
PAR-W-RL 2 -P & lt;设计和gt;NCD≪设计和gt;NCD≪设计& G.PCF;

哪里:

PL是砂矿的努力
– R不运行路由器
– RL是路由器的努力
– P不运行砂矿

使用Solaris,我相信目前有可能解决4GB内存问题。

使用指南文件,如有必要,使用Solaris创建指南文件,然后在PC流中使用指南文件。一个非常小的测试设计显示内存使用量减少了12%。

重新评估设计,以减少逻辑,例如,在那里我们可以使用不同的设计技术来降低密度和

请登录后发表评论

    没有回复内容