如何进行IO管脚约束?

作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号

IO管脚约束是FPGA设计上板验证的必需环节,它们会对布局布线和时序造成影响。有三种方式来进行管脚约束,一种是通过VIvado管脚约束界面,一种是通过命令行,还有一种可以导入CSV文件。

1. 可视化界面方式

当完成了综合之后,可以打开综合界面,这个时候可以在layout下看到IO planning,打开就是IO约束界面。界面中可以显示设计顶层的IO管脚,同时我们还可以看到芯片中管脚的分布图。列方向的编号是用大写字母,从最左上角A开始,横向是数字排列,从1开始。不同颜色的区域代表不同的时钟域(IO bank)。不同的IO bank提供的引脚功能是有区别的,有的IO bank可能提供高速差分信号,有的提供低电压引脚,用户可以灵活的根据需求使用。分配引脚首先就需要分辨出哪些是普通引脚,哪些是时钟引脚。从界面中可以看出六边形的都是时钟引脚,圆形的是普通引脚。进一步放大还可以看出引脚有N,P可以用于差分。

接下来我们可以在io ports中选择引脚。如何我们选择保存,可以将管脚约束保存成xdc文件。

2. 使用xdc文件进行约束

Set_property来定义管脚属性,get_ports获得管脚名称。这里边一个是选择了引脚名称,另外一个设置电压,这两种是经常用到的。

3. 导入CSV文件

CSV是一种用于FPGA管脚约束的标准文件,看起来是以表格形式显示出来的,非常简洁。其中定义了IO bank,pin number,IO standard等属性。用户根据需要进行填写就行。

Vivado还提供了芯片兼容性管脚提示,对于引脚封装相同的芯片,工具为我们提供可以同时来兼容这些芯片的引脚分配功能,选择tools中的IO planning->set part compatibility我们可以看到具有相同封装的芯片,我们可以根据后续更改芯片需要来选择。选择后,工具会提示我们哪些管脚不是所有芯片公用的,哪些是可以同时兼容的。不能公用的会显示prohibit图标。

最新文章

最新文章