MAP /约束系统 - 由于大的分组整合,MAP在“更新时序模型”期间挂起

描述

通过Map运行设计时,它会在运行“更新时序模型”时挂起。

如果注释掉以下约束,则map完成且没有任何错误。

TIMEGRP“TG_NotRegIntFFS”= FFS(*)除了FFS(“embswitch / * regInt * / *”)。


为什么会这样?

MAP挂起,因为约束系统无法处理由大量BEL组成的计时组,并且在几个FROM TO约束中使用。

在此示例中,FFS(*)返回23034个实例,而FFS(“embswitch / * regInt * / *”)返回2616个实例。

所以这个小组将是20 K的FF。

该定时组还用于几个地方的FROM TO约束。

因此,对该组进行注释也将取消所有FROM TO约束,因为该组将不存在。


FF被分组的方式导致定时算法处理的约束路径太多。

注意,FROM TO约束通常用作来自周期约束的“异常”路径,即在由周期约束约束的时序组之外,一些从FROM到。

要解决此问题,请尽可能使用一个主周期和一些FROM TO,最好由时钟而不是FFS / EXCEPT关键字定义。


我们还看到一些EDA公司提供的SDC到UCF转换器将创建具有多个通配符的若干约束。

如果可以简化这些UCF文件,或者将具有多个通配符的每个约束拆分为多个约束,每个约束使用较少的通配符,则运行时间应该减少。

此外,如果约束中有超过八个通配符号,则约束系统无法处理此问题,并且在更新时序模型时将在映射期间挂起。

解决此问题的一种方法是创建单个时间组并使用FROM TO约束来写出约束而不使用通配符。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 17:56:23 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它