文章目录
-
-
- [1. ISE环境(UCF文件)](#1. ISE环境(UCF文件))
- [2. Vivado环境(XDC文件)](#2. Vivado环境(XDC文件))
-
本文介绍ISE和Vivado管脚约束的语句使用,仅仅是管脚和电平状态指定,不包括时钟约束等其他语法。
ISE使用UCF文件格式,Vivado使用XDC文件,Vivado中的MIG_DDR管脚也是使用的UCF文件。
1. ISE环境(UCF文件)
ISE开发环境可以使用图形化分配界面PlanAhead工具,本文介绍手动编写约束语句的方式。
信号的管脚和电平使用两条语句分别进行约束:
c
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;
信号的管脚和电平合并成一条语句同时约束:
c
NET clk LOC = T8| IOSTANDARD = "LVCMOS33";
NET led<0> LOC = D22 | IOSTANDARD = "LVCMOS33";
NET led<1> LOC = D20 | IOSTANDARD = "LVCMOS33";
2. Vivado环境(XDC文件)
使用两条语句分别约束管脚和电平标准:
c
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]]
使用一条语句同时约束管脚和电平标准:
c
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]]