如何使用Vivado的有向路由特性来锁定关键路径?

描述

我试图锁定我的设计中关键路径的路由,并已应用iSouthRouthIX固定的这样做的约束,但现在这些网中的一些未能成功路由。

为什么会发生这种情况?

解决方案

除了捕获路由约束之外,还必须确保所有的组件引脚都位于同一位置,使得路由保持有效。要做到这一点,有必要还控制切片位置(LOC约束)、BEL定位(BEL约束)和LUT PIN使用α(LOCKOPENCH-约束)。以下命令可用于使用TCL变量$Net指定的网名捕获必要的约束:

  1. 路由约束
    StIy属性IsRouTyx固定1 [ GETYNET$$NET]
  2. LOC约束
    StIy属性IsLoCyx固定1 [ GETHYSNET$NET]的GETHYLL单元
  3. 贝尔约束
    StIy属性IsBelixFieldFix[GETHyLoC[GETYNET$NET] ] }
  4. 锁销约束
    已经提交了一个CR来请求一个“IsPin Pix-Field'”特性。同时,下面的脚本将对LUT引脚施加必要的约束:
  5. 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]
    }
  6. RealEXXDC/DR.XDC力
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 17:26:31 +0800

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

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