XILINX 时序约束使用指南中文翻译.doc
文本预览下载声明
XILINX时序约束使用指南笔记
(UG612)
时序约束介绍
时序约束方法
时序约束原则
在XST中指定时序约束
在Synplify中指定时序约束方法
时序约束分析
时序约束介绍
基本的时序约束包括:
“PERIOD Constraints”
“OFFSET Constraints”
“FROM:TO(Multi-Cycle)约束”
时序约束方法
1,简介:
2,基本的约束方法
根据覆盖的路径不同,时序要求变成一些不同的全局约束。
最普通的路径类型包括:
1,输入路径
2,同步元件到同步元件路径
3,指定路径
4,输出路径
XILINX的时序约束与每一种全局约束类型都有关。最有效的方法就是一开始就指定全局约束然后再加上指定路径的约束。在很多案例中,只要全局约束就可满足需求。
FPGA器件执行工具都是由指定的时序要求驱动的。如果时序约束过头的话,就会导致内存使用增加,工具运行时间增加。更重要的是,过约束还会导致性能下降。因此,推荐使用实际设计要求的约束值。
3,输入时序约束
输入时序约束包括2种
“系统同步输入”
“源同步输入”
输入时钟约束覆盖了输入数据的FPGA外部引脚到获取此数据的寄存器之间的路径。输入时钟约束经常用”OFFSET IN”约束。指定输入时钟要求的最好方法,取决于接口的类型(源/系统同步)和接口是SDR还是DDR。
OFFSET IN定义了数据和在FPGA引脚抓取此数据的时钟沿之间的关系。在分析OFFSET IN约束时,时序分析工具自动将影响时钟和数据延迟的因素考虑进去。这些因素包括:
时钟的频率和相位转换
时钟的不确定
数据延迟调整
除了自动调整,还可以在与接口时钟相关的”PERIOD”约束中另外增加时钟不确定。
关于增加”INPUT_JITTER”的更多信息,参见第三章的”PERIOD Constraints”。
“OFFSET IN”与单输入时钟有关,默认情况下,OFFSET IN约束覆盖了从输入pad到内部同步元件之间的所有路径。用于抓取那些从pad输入的数据的同步元件由指定的OFFSET IN时钟触发。应用OFFSET IN约束被称为”global”方法。这是指定输入时序的最有效的方法。
系统同步输入
在体统同步接口中,发送和抓取数据共用一个系统时钟。板上的布线延迟和时钟倾斜限制了接口的工作频率。更低的频率也会导致系统同步输入接口典型的采用SDR应用。
系统同步SDR应用例子,见图2-1。系统同步SDR应用中,在时钟上升沿从源器件发送数据,下一个时钟上升沿在FPGA中抓取数据。
全局”OFFSET IN”约束是对一个系统同步接口指定输入时序的最有效的方法。用这种方法,对每一个系统同步输入接口时钟都定义了一个”OFFSET IN”约束。这种单个约束覆盖了所有被同步元件抓取到的输入数据位的路径,这些同步元件由指定输入时钟触发。
指定输入时序:
定义接口相关的输入时钟的时钟”PERIOD”约束;
定义接口的全局”OFFSET IN”约束;
例子
理想的系统同步SDR接口的时序图见图2-2。
全局”OFFSET IN”约束是:
OFFSET = IN value VALID value BEFORE clock;
在”OFFSET IN”约束中,IN value决定了数据一开始有效的起始时间到抓取数据的时钟沿之间的时间。在这个系统同步例子中,数据在抓取数据的时钟沿之前5ns有效。VALID value 决定了数据有效时间。在这个例子中,数据有效时间为5ns。
对这个例子,完整的”OFFSET IN”约束和相关的PERIOD约束如下:
NET”SysClk”TNM_NET = “Sysclk”;
TIMESPEC “TS_Sysclk” = PERIOD”SysClk” 5ns HIGH 50%;
OFFSET = IN 5ns VALID 5ns BEFORE “SysClk”;
源同步输入
在源同步输入接口中,会重新产生时钟,重新生成的时钟和数据从源器件从相似的路径一起被传送出去。这个时钟然后会被用来在FPGA中抓取数据。电路板上的线路延时和板上的时钟倾斜都不会再限制接口的运行频率了。更高的频率会导致源同步输入接口典型的被应用为双数据速率(DDR)的应用。典型的源同步DDR应用见图2-3。在时钟上升沿和下降沿都会从源器件发送数据。
全局”OFFSET IN”约束是对源同步接口指定输入时序的最有效的方法。在DDR接口,为每一个输入接口时钟的沿都会定义OFFSET IN约束。这些约束覆盖了输入数据位的路径,这些数据由指定输入时钟沿的触发的寄存器来抓取。
要指定输入时序必须:
为接口相关的输入时钟,定义时钟PERIOD约束;
为接口上升沿定义全局OFFSET IN约束;
为接口
显示全部