国产50T → 进口50T XDC 约束自动转换
按原理图的国产 JFMK50T 管脚写好 XDC,一条命令同步成 Vivado / XC7A50T 能用的管脚约束,省掉逐个端口去 Excel 查表再手抄。
装好就内置 50T 映射表,不用导入、不用配置、不用选芯片。目前实际需要转换的只有 50T 这一对;自定义配置作为通用能力保留。
怎么用
文件不用叫 top:在 VSCode 里打开工程里 Vivado 已经登记的那个 XDC 就行,叫 pin.xdc、constrs.xdc 都可以。下文用 top.xdc 举例;扩展按同名规则在同目录生成源文件 top.src.xdc(即 <你的文件名>.src.xdc)。
第一次
- 在 VSCode 里打开工程里 Vivado 导出的那个 XDC(例
top.xdc),按原理图把各端口 PACKAGE_PIN 写成国产管脚。
- 保存(Ctrl+S),按
Ctrl+Alt+Shift+X(或右键选择命令 XDC: 同步约束(生成 Vivado 版))。
- 扩展把国产原文另存为
top.src.xdc,并原地覆盖 top.xdc 成 Vivado 版。Vivado 提示文件被外部改动时 reload 一次、重跑实现即可。
不产生新 XDC 文件,不修改 .xpr,Vivado 里登记的约束路径一直没变。
之后要加端口 / 改管脚
所有编辑都在源文件 top.src.xdc 里做(换成你的文件名就是 <名>.src.xdc):按原理图追加国产管脚 → 保存 → 再按同一个快捷键。扩展从源全量重建生成物 top.xdc,已验证过的旧端口一字不动,新端口正确转换。
打开生成物时扩展会弹提示,点按钮直接跳到源文件;在生成物上执行同步不会转换它。
文件(以 top 举例) |
谁写 |
内容 |
Vivado 工程 |
<名>.src.xdc |
工程师(唯一编辑源) |
永远是国产管脚 |
不要加入 |
<名>.xdc |
扩展生成 |
Vivado 侧管脚 |
保持原有登记路径 |
命令在哪
- 在
.xdc 文件里右键:同步约束 / 强制重建生成物 / 管理映射配置。
Ctrl+Shift+P 输入 XDC::列出全部命令。
| 命令 |
用途 |
XDC: 同步约束(生成 Vivado 版) |
主命令,Ctrl+Alt+Shift+X |
XDC: 强制重建生成物(丢弃生成物上的改动) |
生成物被改坏后恢复 |
XDC: 管理映射配置(新增 / 删除 / 校验信息) |
新增 / 删除 / 查看校验信息 |
XDC: 新增映射配置(两列表 CSV/TXT) |
1 个文件 + 1 个名字建一套配置 |
XDC: 新增映射配置(两份官方引脚表) |
2 个原厂 pinout + 1 个名字建一套配置 |
新增配置(一般用不到)
默认只有「内置 50T」一套,同步不弹框。第一次加配置时同步也不会弹框,要走下面的命令面板或右键入口。
方式一:手上有两列映射表
把 .xlsx 另存为 CSV、只留 A/B 两列,文件内容长这样:
# 国产ball,进口ball
M10,M9
T21,P20
U22,P22
每行左边是原理图上的国产管脚、右边是对应的进口管脚,一行一个球;第一行 # 是注释,可以不写。
Ctrl+Shift+P → XDC: 新增映射配置(两列表 CSV/TXT)。也可以在 .xdc 里右键 → XDC: 管理映射配置(新增 / 删除 / 校验信息) → + 从两列表新增配置…。
- 选中这个 CSV → 输入配置名(默认已填文件名,直接回车即可)→ 看到「已新增映射配置「X」:484 条」即完成。
- 之后再按同步快捷键,选择框里就有这套,选中即用。
方式二:手上是两份官方引脚表
备好两份原厂文件(50T 就是这两个):
- 国产侧:复旦微给的
Package_484.xml
- 进口侧:XC7A50T 的官方封装引脚表
xc7a50tfgg484pkg.txt(纯文本)
进口侧不是指定品牌:扩展只看文件里有没有「管脚坐标 + 信号名」,.txt / .csv / .xml 都行,换芯片就用那颗芯片的官方引脚表。
Ctrl+Shift+P → XDC: 新增映射配置(两份官方引脚表)(或右键 → 管理映射配置 → + 从两份官方文件新增配置…)。
- 依次选国产侧、进口侧两个文件 → 输入配置名(默认由两个文件名拼好,回车即可)→ 看到「已新增映射配置「X」:484 条」即完成;两份文件对不上会直接报错,不会留下半套配置。
- 同上,下次同步时选用。
选用和管理
- 已有两套及以上时,每次同步弹出选择框,默认停在「上次使用」那套,回车即用;想换直接选另一套。框里也能直接点
+ 从两列表新增配置… / + 从两份官方文件新增配置…,新增完本次同步就用它。
- 右键 →
XDC: 管理映射配置(新增 / 删除 / 校验信息),选中某套可「设为上次使用 / 查看校验信息 / 删除这套配置」。预置的「内置 50T」不能删。
注意事项
- 源文件
<名>.src.xdc 绝不能加进 Vivado 约束集:两份 XDC 给同一端口写不同 PACKAGE_PIN,会静默互相覆盖。
- 生成物
<名>.xdc 不要手改,也不要在里面继续按原理图写新端口。第一次之后的所有编辑都在对应的 .src.xdc。
安装
code --install-extension xdc-pinmap-converter-0.4.1.vsix
作者:wuruiqing