购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.7 Vivado中XDC文件

本节将介绍XDC约束相关的语法规则。内容包括XDC和UCF的区别、UCF到XDC映射、约束顺序。

2.7.1 XDC的特性

Xilinx Vivado集成开发环境使用Xilinx设计约束(Xilinx Design Constraints,XDC)格式,而不再支持原来的用户约束文件(User Constraints File,UCF)格式。

XDC和UCF之间有很大的区别。XDC约束是基于标准的Synopsys的设计约束(Synopsys DesignConstraints,SDC)格式。SDC已经使用和发展了20多年,使得它变成用于描述设计约束的流行和被验证过的格式。

1.XDC约束是下面的组合:

(1)业界标准的Synopsys设计约束(SDC V1.9);

(2)Xilinx专有的物理约束。

2.XDC文件具有下面的特性:

(1)它们不是简单的字符串,而是遵循Tcl语法的命令。

(2)通过VivadoTcl翻译器,就可以像理解其他Tcl命令那样理解它们。

(3)类似于其他Tcl命令那样,可以读取,然后按顺序从语法上分析它们。

3.设计者可以在设计流程的不同阶段,通过下面几种方式输入XDC约束:

(1)将约束保存在一个或者多个XDC文件中。

可以通过下面的方法将XDC加载到存储器中:

① 使用read_xdc命令。

② 将它添加到其中一个设计工程约束集中。

XDC文件只接收下面内建的Tcl命令:set、list和expr。

(2)通过Tcl脚本生成约束。

可以通过下面的方法运行Tcl脚本。

① 运行source命令。

② 将Tcl脚本添加到其中一个设计工程约束集。

2.7.2 XDC与UCF比较

XDC与UCF存在很大的区别,主要表现在以下几个方面:

(1)XDC是顺序语言,它带有明确优先级规则。

(2)典型的,UCF应用于网络,而XDC应用到引脚、端口和单元对象。

(3)UCF的PERIOD约束和XDC的create_clock命令不总是等价的,将导致不同的时序结果。

(4)默认的,对于UCF来说,在异步时钟组之间无时序关系;但是,对于XDC来说,所有时钟之间都是有联系的,存在时序关系(除非有其他约束)(set_clock_groups)。

(5)在XDC中,在相同的对象中存在多个时钟。

为了帮助读者理解两者之间的区别,表2.3给出UCF约束到XDC命令之间的映射关系。

表2.3 UCF约束到XDC命令之间的映射关系

2.7.3 约束文件的使用方法

默认的,所有的添加到约束集中的XDC文件和Tcl脚本都可以用于综合和实现过程。通过在XDC文件中设置“used_in_synthesis”和“used_in_implementation”属性或者Tcl脚本来修改这种行为,属性值为TURE或者FALSE。

DONT_TOUCH属性不会受到上面属性设置的影响,如果在综合时,使用DONT_TOUCH,则将其传递到实现过程,与“used_in_synthesis”和“used_in_implementation”属性无关。

在Vivado集成开发环境中,可以修改XDC的使用方法:

(1)在源文件窗口中,选择相应的约束文件。

(2)在源文件属性窗口中,选择/不选择Synthesis和Implementation前面的复选框。

这样,设计者就可以控制在综合和实现的过程中,是否使用相应的约束文件。对应的Tcl命令为:

2.7.4 约束顺序

Vivado集成开发环境允许设计者使用一个或者多个约束文件。虽然使用一个约束文件对于一个完整的编译流程来说看似更方便,但是在一些情况下,这会使得问题更加复杂,如一个设计使用了不同的IP核或者由不同团队开发的模块。不管设计者在设计中,使用了一个还是多个XDC文件,Xilinx推荐设计者使用下面的顺序来组织约束,见代码清单2-3。

代码清单2-3XDC文件的约束顺序

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

如果在工程中包含了一个IP,这个IP有自己的约束,则在约束集中并不出现相应的约束文件,而它和IP源文件一起出现。

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

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

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

2.7.5 XDC约束命令

表2.4给出了XDC文件中有效的命令。在本书随后的章节中,通过实例对这些命令进行解释。

表2.4 XDC文件中有效的命令 xsH+sf2jByBs8ilJMuuiXeo2s0LSkmcueFiYEEJ+MePQfVATIFyiRvAwre0WAEYB

点击中间区域
呼出菜单
上一章
目录
下一章
×