Xilinx FPGA管脚约束语法规则(UCF和XDC文件)

文章目录

      • 1. ISE环境(UCF文件)
      • 2. Vivado环境(XDC文件)

本文介绍ISE和Vivado管脚约束的语句使用,仅仅是管脚和电平状态指定,不包括时钟约束等其他语法。

ISE使用UCF文件格式,Vivado使用XDC文件,Vivado中的MIG_DDR管脚也是使用的UCF文件。

1. ISE环境(UCF文件)

ISE开发环境可以使用图形化分配界面PlanAhead工具,本文介绍手动编写约束语句的方式。

信号的管脚和电平使用两条语句分别进行约束:

NET "clk" LOC = T8;
NET "led<0>" LOC = D22;
NET "led<1>" LOC = D20;

NET "clk" IOSTANDARD = LVCMOS33;
NET "led<0>" IOSTANDARD = LVCMOS33;
NET "led<1>" IOSTANDARD = LVCMOS33;

信号的管脚和电平合并成一条语句同时约束:

NET clk LOC = T8| IOSTANDARD = "LVCMOS33"; 

NET led<0> LOC = D22 | IOSTANDARD = "LVCMOS33"; 
NET led<1> LOC = D20 | IOSTANDARD = "LVCMOS33"; 

2. Vivado环境(XDC文件)

使用两条语句分别约束管脚和电平标准:

set_property IOSTANDARD LVCMOS33 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports key[0]]
set_property IOSTANDARD LVCMOS33 [get_ports key[1]]

set_property PACKAGE_PIN U7 [get_ports clk]
set_property PACKAGE_PIN V9 [get_ports key[0]]
set_property PACKAGE_PIN Y8 [get_ports key[1]]

使用一条语句同时约束管脚和电平标准:

set_property -dict {PACKAGE_PIN U7 IOSTANDARD LVCMOS33} [get_ports clk]
set_property -dict {PACKAGE_PIN V9 IOSTANDARD LVCMOS33} [get_ports key[0]]
set_property -dict {PACKAGE_PIN Y8 IOSTANDARD LVCMOS33} [get_ports key[0]]

你可能感兴趣的:(FPGA,ISE,Vivado,Xilinx,管脚,约束,XDC)