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

文章目录

      • [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]]
相关推荐
FPGA小迷弟19 小时前
FPGA工程师面试题汇总(二)
学习·fpga开发·verilog·fpga
FPGA小迷弟2 天前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga
daxi1502 天前
Verilog入门实战——第3讲:流程控制语句(if-else / case / 循环结构)
fpga开发·fpga
FPGA小迷弟3 天前
高频时钟设计:FPGA 多时钟域同步与时序收敛实战方案
前端·学习·fpga开发·verilog·fpga
FPGA-ADDA4 天前
第三篇:Xilinx Zynq SoC系列——从Zynq-7000到RFSoC
5g·信号处理·fpga·通信系统·rfsoc
dMing`4 天前
基于FPGA的简易数据采集系统
fpga开发·fpga·adc·dac
迎风打盹儿5 天前
FPGA中if-else和case的理解:综合出来的电路真的会有优先级吗?
fpga·优先级·综合·case·if-else
FPGA-ADDA6 天前
第二篇:Xilinx 7系列FPGA详解——从Spartan到Virtex
fpga开发·fpga·sdr·rfsoc
轩情吖7 天前
MySQL之表的约束
android·数据库·c++·后端·mysql·开发·约束
daxi1508 天前
Verilog入门实战——第2讲:核心语法基础(数据类型+赋值语句)
fpga开发·fpga