文档介绍:约束的作用有些人不知道何时该添加约束,何时不需要添加?有些人认为低速设计不需要时序约束?关于这些问题, 希望下面关于约束作用的论述能够有所帮助! 附加约束的基本作用有 3: (1) 提高设计的工作频率对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。(2) 获得正确的时序分析报告几乎所有的 FPGA 设计平台都包含静态时序分析工具,利用这类工具可以获得映射或布局布线后的时序分析报告,从而对设计的性能做出评估。静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具输出正确的时序分析报告。(3) 指定 FPGA/CPLD 引脚位置与电气标准 FPGA/CPLD 的可编程特性使电路板设计加工和 FPGA/CPLD 设计可以同时进行,而不必等 FPGA/CPLD 引脚位置完全确定,从而节省了系统开发时间。这样,电路板加工完成后,设计者要根据电路板的走线对 FPGA/CPL D 加上引脚位置约束,使 FPGA/CPLD 与电路板正确连接。另外通过约束还可以指定 IO引脚所支持的接口标准和其他电气特性。为了满足日新月异的通信发展, Xilinx 新型 FPGA/CPLD 可以通过 IO引脚约束设置支持诸如 AGP 、 BLVDS 、 CTT 、 GTL 、 GTLP 、 HSTL 、 LDT 、 LVCMOS 、 LVDCI 、 LVDS 、 LVPECL 、 LVDSEXT 、 LVTTL 、 PCI 、 PCIX 、 SSTL 、 ULVDS 等丰富的 IO接口标准时序约束的概念和基本策略! 时序约束主要包括周期约束( FFS 到 FFS ,即触发器到触发器)和偏移约束( IPAD 到 FFS 、 FFS 到 OPAD )以及静态路径约束( IPAD 到 OPAD )等3种。通过附加约束条件可以使综合布线工具调整映射和布局布线过程, 使设计达到时序要求。例如用 OFFSET_IN_BEFORE 约束可以告诉综合布线工具输入信号在时钟之前什么时候准备好,综合布线工具就可以根据这个约束调整与 IPAD 相连的 Logic Circuitry 的综合实现过程,使结果满足 FFS 的建立时间要求。附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。附加全局约束时, 首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对 FPGA/CPL D 输入输出 PAD 附加偏移约束、对全组合逻辑的 PAD TO PAD 路径附加约束。附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。周期( PERIOD )的含义周期的含义是时序中最简单也是最重要的含义,其它很多时序概念会因为软件商不同略有差异,而周期的概念确是最通用的,周期的概念是 FPGA/ASIC 时序定义的基础概念。后面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。周期约束是一个基本时序和综合约束,它附加在时钟网线上,时序分析工具根据 PERIOD 约束检查时钟域内所有同步元件的时序是否满足要求。 PERIOD