定义和配置I/O端口
您可以使用Vivado IDE导入、创建和配置I/O端口,如中所述以下部分。
导入I/O端口
根据项目类型,可以使用以下方法导入I/O端口:
•I/O规划项目:您可以将XDC和CSV文件导入空的I/O规划项目当您使用文件导入功能创建项目或稍后创建项目时。有关详细信息,请参阅导入CSV文件和导入XDC文件。
•RTL项目:使用RTL文件或标头创建用于I/O规划的RTL项目,然后添加更多随着设计的进展,稍后将RTL源文件完成到项目中。当您创建基于RTL或基于综合网表的项目,I/O端口窗口会自动填充具有设计中定义的I/O端口。
•从I/O规划项目迁移到RTL项目:您可以将I/O规划项目转换为RTL项目,将I/O端口转换为的顶级Verilog或VHDL模块定义设计。有关详细信息,请参见将I/O规划项目迁移到RTL项目。
导入CSV文件
您可以导入CSV文件以填充I/O规划布局视图中的I/O端口窗口。然后,您可以将这些I/O端口分配给物理封装引脚,以定义设备引脚配置要从CSV文件导入I/O端口列表,请执行以下操作:
1.选择文件 → 进口 → 导入I/O端口。
2.在“导入I/O端口”对话框中,选择“CSV文件”,然后浏览以选择要导入的文件。
下图显示了CSV文件格式。CSV是FPGA和板设计人员交换有关设备引脚和引脚的信息。Vivado IDE需要用于导入I/O引脚相关数据的特定CSV文件格式,如使用I/O端口列表中所述CSV文件格式。
您可以通过多种方式在CSV文件中定义差分对。例如,Vivado IDE识别直接用DiffPair Signal和DiffPair Type属性定义的差分对。在里面此外,当CSV中只定义了diff对中的一个端口时,Vivado IDE可以推断出diff对文件或两个命名的网络表示一个差分对。有关更多信息,请参阅中的差分对CSV文件。推断差分对时,Vivado IDE会显示一个提示,以确认对的分配,如下图所示。
CSV文件还可以包含Vivado IDE无法识别的其他信息。如果在导入的CSV文件中发现无法识别的信息,该信息显示在用户中列,供您查看和使用。修改或定义中的值用户CSV字段,在“Package Pins”窗口中右键单击,然后选择“Set user Column Values”。
注意:有关导出CSV文件的信息,请参阅导出I/O引脚和包数据。
导入XDC文件
要从XDC文件导入I/O端口定义,请执行以下操作:
1.选择文件 → 进口 → 导入I/O端口。
2.在“导入I/O端口”对话框中,选择“XDC文件”,然后浏览以选择要导入的文件。
因为XDC格式没有定义端口方向,所以该方向是未定义的。定义I/O端口方向,在I/O端口窗口中右键单击,然后选择“设置方向”。你也可以直接在I/O端口窗口中修改特定I/O端口的方向。了解更多有关信息,请参阅设置I/O端口方向。
创建单端或差分I/O端口
您可以在I/O规划项目中手动定义新端口。参考AMD设备关于设备的电压能力的信息的文档。
注意:I/O端口窗口将每个差分对分组为一行。因为单行表示两个端口,括号中显示的端口总数高于行数。获取列表在与“I/O端口”窗口中的端口总数匹配的信号中,输入以下Tcl命令
要创建I/O端口:
1.在“I/O端口”窗口中,单击鼠标右键,然后选择“创建I/O端口”。
2.在“创建I/O端口”对话框中,编辑以下选项,然后单击“确定”:
•名称:输入要创建的端口或总线名称。•方向:选择端口方向。
•差分对:定义差分对信号或总线。
注意:要创建差分I/O端口,请启用此选项。这将创建两个端口并添加一个_N负极端口名称的后缀。
•创建总线:输入用于创建总线的总线范围。
•I/O标准:选择I/O标准约束。
•驱动强度:选择驱动强度值。
•回转类型:选择回转类型值。
•拉动类型:选择拉动类型值。
•术语内类型:定义输入信号的并行端接特性。
创建单端或差分的Tcl命令示例I/O端口
•创建单端I/O端口:
差分对的生成和拆分
要在I/O规划项目中定义差分引脚对,请执行以下操作:
1.在“I/O端口”窗口中,选择任意两个I/O端口,右键单击,然后选择“生成差异对”。
重要!“生成差异对”选项在RTL项目中不可用。在RTL项目中,差异必须使用适当的I/O缓冲区实例在源代码中定义端口。在Make I/O Diff Pair(生成I/O差分对)对话框中(请参阅下图),两个I/O端口显示由工具指定的“正端点”和“负端点”。
2.要反转正极和负极信号,请单击“交换”,然后单击“确定”。
提示:右键单击,然后选择“拆分差异对”将差异对分隔为两个端口。
重要!当您将某些约束应用于AMD中差分引脚对的一侧时UltraScale™ 在体系结构中,相反的约束会自动应用于另一侧。对于例如,如果将PULLDOWN约束应用于P侧,则PULLUP约束将应用于N一边如果对约束进行更改,最新的设置将覆盖以前的设置。用于生成和拆分差分对的Tcl命令示例
•制作差分对: