描述
我试图锁定我的设计中关键路径的路由,并已应用iSouthRouthIX固定的这样做的约束,但现在这些网中的一些未能成功路由。
为什么会发生这种情况?
解决方案
除了捕获路由约束之外,还必须确保所有的组件引脚都位于同一位置,使得路由保持有效。要做到这一点,有必要还控制切片位置(LOC约束)、BEL定位(BEL约束)和LUT PIN使用α(LOCKOPENCH-约束)。以下命令可用于使用TCL变量$Net指定的网名捕获必要的约束:
- 路由约束
StIy属性IsRouTyx固定1 [ GETYNET$$NET] - LOC约束
StIy属性IsLoCyx固定1 [ GETHYSNET$NET]的GETHYLL单元 - 贝尔约束
StIy属性IsBelixFieldFix[GETHyLoC[GETYNET$NET] ] } - 锁销约束
已经提交了一个CR来请求一个“IsPin Pix-Field’”特性。同时,下面的脚本将对LUT引脚施加必要的约束: - RealEXXDC/DR.XDC力
FraceNet $NET{
把“加工网净”
设置加载引脚[ GETXPIN -叶- [ GETYNETNET$NET] ] -过滤方向=In ]
FraceLoad PIN $Load PIN {
设定销[林德克斯[拆分$Load PIN/] ]
设置BelPix[LeDex[分裂[ GETS- Belxx PIN - [ GETYPIN $Load PIN ] ] /]结束]
设置索引[EXPR[字符串长度$Load PIN ] - 4 ]
设置LUT[字符串范围$Load PIN 0 $索引]
设置BelType [ GETXBELYPIN - [ GETXPIN $Load PIN ] ]
*创建LUT名称和PIN赋值的哈希表,在需要时添加
如果{[ReExxp(LUT)$BelType ] }{
如果{[FIN存在LutuStAlp阵列($LUT)] }{
设置Lutz数组($LUT)$LutuLaSt阵列($LUT)$PIN:$BelPin
}否则{
设置Lutz数组($LUT)“$PIN:$BelPin”
}
}
}
FraceLutyNeN[数组名称LutyLaSAR] {
将LoT$LutyNeNe创建“LoopixPin约束$LutiLoad($LutiNeNd)”。
StIGielsCopyLoPIN“$LutiLoad($LutiNeNm)”[ GETHYLL单元格$LutiNeN]
}
没有回复内容