简述Xilinx FPGA管脚物理约束解析

描述

引言:本文我们简单介绍下Xilinx FPGA管脚物理约束,包括位置(管脚)约束和电气约束。

1. 普通I/O约束

管脚位置约束: set_property PAKAGE_PIN “管脚编号” [get_ports “端口名称”]

管脚电平约束: set_property IOSTANDARD “电压” [get_ports “端口名称”]

举例:

set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]

set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]

set_property PACKAGE_PIN U18 [get_ports sys_clk]

set_property PACKAGE_PIN M14 [get_ports {led[0]}

]set_property PACKAGE_PIN M15 [get_ports {led[1]}]

注意:

1)以上语法对大小写敏感;

2)端口名称为数组时,需要用{}括起来,端口名不能为关键字。

2. 差分信号约束

2.1 普通差分约束

差分信号约束语法和1节中相同。此处仅举例。

1)HR I/O Bank,VCCO = 3.3V,HDMI接口约束

set_property PACKAGE_PIN N18 [get_ports TMDS_clk_p]

set_property PACKAGE_PIN V20 [get_ports {TMDS_data_p[0]}]

set_property IOSTANDARD TMDS_33 [get_ports TMDS_clk_p]

set_property IOSTANDARD TMDS_33 [get_ports {TMDS_data_p[0]}]

2)HP I/O Bank,VCCO = 1.8V,HDMI接口约束

set_property PACKAGE_PIN N18 [get_ports TMDS_clk_p]

set_property PACKAGE_PIN V20 [get_ports {TMDS_data_p[0]}

]set_property IOSTANDARD LVDS [get_ports TMDS_clk_p]

set_property IOSTANDARD LVDS [get_ports {TMDS_data_p[0]}]

注意:

1)差分信号约束,只约束P管脚即可,系统自动匹配N管脚约束,当然_P和_N管脚都约束也没有问题;

2)差分信号电平要根据VCCO Bank电压进行相应的约束。

2.2收发器差分信号约束

1)收发器MGTREFCLK时钟约束管脚位置约束:

set_property LOC “管脚编号” [get_ports “端口名称”]

举例:

set_property LOC G7 [get_ports Q2_CLK0_GTREFCLK_PAD_N_IN ]

set_property LOC G8 [get_ports Q2_CLK0_GTREFCLK_PAD_P_IN ]

2)收发器MGT通道约束

对于GTXE2_CHANNEL通道约束:一种方法是可以利用7系列FPGAs收发器向导,在配置好收发器配置参数后,自动生成XDC模板,然后将该模板应用到自己的设计中;第二种方法是自己编写XDC约束文件,其位约束位置要参照具体原理图信号管脚来进行编写约束文件。举例:对于图1中四通道收发器对GTXE2_CHANNEL约束。

约束

图1、四通道GTX收发器框图

收发器通道位置约束:

set_property LOC “ GTXE2_CHANNEL_X* Y * ” [get_cells “gtxe_2例化路径”]

举例:

约束

图2、收发器通道位置约束

注意:gtxe_2例化路径参照图3所示,路径名称依据具体工程实现进行修改。

约束

图3、gtxe_2例化路径参照图
编辑:lyn

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分