xdc_auto_fix
Automatically fix missing IOSTANDARD and clock period constraints in XDC files. Preview changes with dry-run, then apply with automatic backup.
Instructions
自动修复 XDC 文件中能安全自修的问题(MISSING_IOSTANDARD / CLOCK_NO_PERIOD)。
默认 dry_run=True 只预览补丁,确认无误后调用 dry_run=False 实际写回。
写回前会为每个被修改文件生成同名 .bak 备份;注意 .bak 只保留最近一次
修改前的版本(再次写回会覆盖上一次的 .bak,与 sed -i.bak 同语义)。
只修这两类问题(其他需要人工判断):
MISSING_IOSTANDARD —— 在 PACKAGE_PIN 行之后插入 IOSTANDARD 语句
CLOCK_NO_PERIOD —— 仅当 board 已知时补 -period;未知板跳过
绝对不碰:
PIN_CONFLICT / DUPLICATE_PORT / PIN_CONFLICT_CROSS_FILE(冲突问题必须人改)
Args: xdc_paths: XDC 文件路径列表。不传则从当前 session 的项目里抓。 board: 板卡名,影响默认 IOSTANDARD 和时钟周期。支持: basys3 / nexys-a7 / arty-a7 / zybo / kc705。留空用 LVCMOS33 兜底。 dry_run: True(默认)只输出补丁预览不改文件;False 实际写回。 session_id: 目标会话 ID(仅在不传 xdc_paths 时使用)。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | ||
| dry_run | No | ||
| xdc_paths | No | ||
| session_id | No | default |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |