【Vivado那些事儿】约束的顺序

2021-10-18 14:24:17 浏览数 (1)

很对人在使用Vivado时喜欢使用多个约束文件对整个工程进行约束,同时Vivado允许设计者使用一个或多个约束文件。虽然使用一个约束文件对于一个完整的编译流程来说看似更方便,但是在一些情况下,这会使得问题更加复杂,比如一个设计使用了不同的IP核或者由不同团队开发的模块。不管设计者在设计中,使用了一个还是多个XDC文件,Xilinx推荐设计者使用下面的顺序来组织约束。XDC文件的约束顺序如下:

代码语言:javascript复制
## Timing Assertions Section
# Primary clocks
# Virtual clocks
# Generated clocks
# Clock Groups
# Input and output delay constraints

## Timing Exceptions Section(sorted by precedence)
# False Paths
# Max Delay / Min Delay
# Multicycle Paths
# Case Analysis
# Disable Timing

## Physical Constraints Section
# located anywhere in the file, preferably before or after the timing constraints
# or stored in a seprarte XDC file 

注:

(1)Xilinx推荐将时序约束和物理约束分别保存在两个不同的文件中。设计者也可以在一个单独的文件中对某个模块指定约束(每个模块对应一个约束)。

(2)如果在工程中,包含了一个IP,这个IP有自己的约束,则在约束集中,并不出现相应的约束文件,它将和IP源文件一起出现(即IP有自己的约束文件,常见的就是MMCM和PLL)。

(3)如果在工程中,包含了多个约束文件。一般来说,Vivado工具首先读取列表最上面的约束文件,最后读取最下面的约束文件。设计者可以在集成开发环境中,将约束文件移动到所期望的位置,用来修改约束文件在整个设计中的处理顺序。等效的Tcl命令格式为

Reorder_files - fileset constrs_l - before[get_files XDC文件名][get_files XDC文件名]

在非工程模式下,read_xdc的调用顺序决定了xdc文件的评估顺序。

(4)如果存在IP约束文件,则先读取1P约束文件,然后再读取用户约束文件。设计者可以在源文件属性窗口修改读取IP约束文件的顺序。等效的Tcl命令格式为

set_property PROCESSING_ORDER EARLY [get_files XDC文件名]

常用的 XDC 约束命令

在XDC文件中有效的命令,如表所示:

XDC 文件中有效的命令

相关的命令作用会在后续文章继续解释。

NOW现在行动!

学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......

文件名

主标题

内容简单介绍

是否有中文版

UG476

7 Series FPGAs GTX/GTH Transceivers

GTX和GTH介绍,PCIe、serdes等学习必备

UG471

7 Series FPGAs SelectIO Resources

描述 7 系列 FPGA 中可用的 SelectIO资源。

UG1114

PetaLinux Tools Documentaton

PetaLinux 工具文档 参考指南

是,V2019.2

UG949

UltraFAST 设计方法指南(适用于 Vivado Design Suite)

赛灵思® UltraFast™ 设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标

是,V2018.1

IP手册

pg057

FIFO Generator

FIFO生成器IP使用手册

pg104

Complex Multiplier

复数乘法器IP使用手册

pg122

RAM-Based Shift Register

移位寄存器IP使用手册

0 人点赞