时间:2015-05-17文档:目录第一章介绍............................................................................................................................3一、UCF向XDC的迁移....................................................................................................3二、关于XDC约束............................................................................................................3三、添加(Entering)XDC约束........................................................................................4第二章约束方法论................................................................................................................4一、管理(Organizing)约束文件..........................................................................................4二、约束命令排序(OrderingYourConstraints)............................................................6三、添加约束(EnteringConstraints)............................................................................10四、创建综合约束............................................................................................................12第一章介绍一、UCF向XDC的迁移XDC(XilinxDesignConstraints)约束不同于UCF(UserConstraintsFile)约束,XDC约束是基于SDC(SynopsysDesignConstraints)约束格式的。SDC已经被使用并演进(evolving)20多年了,这使得它是一种流行的、经过验证的、用于描述设计约束的方法。如果你熟悉UCF,且刚刚开始接触xdc的话,请学习“DifferencesBetweenXDCandUCFConstraints”部分(UG911)。为了正确地约束设计,必须要正确理解XDC与UCF的不同之处。通过UCF到XDC格式转换的方法实现XDC的创建,是不能代替对XDC语法以及创建XDC约束的理解的,所以需要理解XDC的原理。二、关于XDC约束XDC约束由以下部分组成:1、工业标准的SynopsysDesignConstraint(SDC),和2、Xilinx公司所有的物理约束(physicalconstraint);XDC约束具有如下特性:1、XDC约束不是简单的字符(strings),而是遵循Tcl语法规则的命令;2、XDC约束可以像任何Tcl命令一样被VivadoTcl解析器解析;3、XDC约束像其他Tcl命令一样被顺序的读入和解析;三、添加(Entering)XDC约束在设计的不同节点,有三种方法添加XDC约束:1、将约束保存成可以加入到工程约束集(projectconstraintsset)的一个或者多个文件(GUI方式);2、使用read_xdc命令读取约束文件(批处理方式);3、打开工程的时候(即将设计导入内存),在Tcl控制台中直接调用约束命令(命令行方式);第二章约束方法论这一章将讨论推荐地添加约束的流程(ConstraintsEntryFlow)。设计约束定义了编译流程(theCompilationFlow)中必须满足的设计需求,以使设计上板测试时功能能够正确。在编译流程中,每个步骤使用不同的约束,例如物理约束会在实现(Implementation)步骤中使用,实现步骤包括Placer(布局)和Router(布线)。因为VivadoIDE(VivadoIntegratedDesignEnvironment)综合(Synthesis)与实现(Implementation)算法是时序驱动的(Timing-driven),所以需要创建适宜的(proper)时序约束。过紧约束(Over-constraining)与过松约束(Under-constraining)会使设计的时序逼近变得困难。所以,设计者必须使用切合设计应用需求的约束。一、管理(Organizing)约束文件VivadoIDE允许使用一个或者多个约束文件。对设计项目来说,在整个编译过程中仅使用一个约束文件似乎是方便的,但是随着设计复杂度的提升,会越来越难以掌控约束。Xilinx建议将时序约束(timingconstraints)与物理约束(physicalconstraint)分开保存为独立的文件。1、工程流程(ProjectFlow)在创建新工程的过程中,可以将约束文件XDC添加文件到约束集(ConstraintsSet),建好工程后添加也可。Figure2-1,显示一个工程中添加两个文件:1)第一个约束集包含2个XDC文件;2)第二个约束集包含了一个带有所有约束的文件...