sdf解释
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 sdf文件的内容
1.1 表头部分
示例:
(DELAYFILE
(SDFVERSION "2.1")
(DESIGN "sj_maf")
(DATE "07/25/2005 16:24:43")
(VENDOR "Altera")
(PROGRAM "Quartus II")
(VERSION "Version 4.2 Build 178 01/19/2005 Service Pack 1 SJ Full Version") (DIVIDER .)
(VOLTAGE 4.75 : 4.75 : 4.75)
(TEMPERATURE 85 : 85 : 85)
(TIMESCALE 1 ps)
解释:
SDFVERSION:表示此SDF部分遵循哪一个版本的SDF标准所产生的,在1.0版本中SDFVERSION是一定必要的,其后所接的QSTRING(引号内的部分)可以省略。
2.1版以后的版本SDFVERSION和QSTRING都可以省略。
DESIGN:表示产生timing数据的设计名称。
DATE:表示产生SDF文件的时间。
PROGRAM:表示产生SDF文件的工具。
VERSION:表示产生SDF文件的工具的版本。
DIVIDER:表示此SDF文件中用来分隔层次式架构的分隔符,一般使用(/)或者(.),缺省是(.)。
VOLTAGE:表示此SDF中三种状态(best、normal、worst)下的电压值,在上例中仅提出了normal state,所以三种电压值皆相同。
PROCESS:表示此SDF文件中三种状态(best、normal、worst)数值所乘上的
上例中仅提出了normal state,所以三种状态下的factor值皆相同。
TEMPERATURE:表示此SDF文件中三种状态(best、normal、worst
多少。
一般商业规格器件的温度范围:0-70,工业规格-40—85,军用规格-55—125。
简要描述本文档涉及的产品范围,说明本文档编写的目的和意义。
1.2 基本单元
示例:
(CELL
(CELLTYPE "stratix_asynch_lcell")
(INSTANCE U0_ctr\|CntDlyScanEnd_i_0__Z.lecomb)
(DELAY
(ABSOLUTE
(PORT datab (1030:1030:1030) (1030:1030:1030))
(PORT datac (2240:2240:2240) (2240:2240:2240))
(IOPATH datab regin (562:562:562) (562:562:562))
第 1 页共 4 页
(IOPATH datab cout0 (395:395:395) (395:395:395))
(IOPATH datab cout1 (392:392:392) (392:392:392))
)
)
)
CELLTYPE:指的是此基本单元的种类。
INSTANCE:指的是此基本单元的名称。
DELAY:为timing specification的起始关键字,在此关键字之后的数值为此单元的规格。
ABSOLUTE:表示之后的延迟时间可以完全取代在annotation阶段已经存在的延迟数据。
PORT:PORT所代表的是各个单元间联机所造成的延迟,也就是input port的延迟。
(信号进入本单元需要加上这个延迟)
IOPATH:输入点到输出点所造成的延迟时间。
在OVI的SDF specification2.1版中,将信号由一个level转换为另一个level的延迟数值称为rvalue,rvalue总共有12种变化:
0→1,1→0,0→z,z→1,1→z,z→0,0→x,x→1,1→x,x→0,x→z,z→x
这12组数值不是全部都会用到,可以选其中的一组、两组、三组、六组及12组。
如果有6组数值,则分别代表前六种变化。
如果有三组数值,第一组表示0→1,z→1;第二组表示1→0,z→0;第三组表示0→z,1→z;
如果只有两组数值,则第一组表示信号上升的延迟,0→1,0→z,z→1;第二组表示下降的延迟,1→0,z→0,1→z。
如果只有一组,则表示所有信号电平的延迟情况。
1.3 时序检查
时序检查的主要目的是提供simulator对特殊器件的输入信号进行检查,以确定是否能产生正确的输出信号。
示例:
(TIMINGCHECK
(SETUP (posedge I) (posedge CLK) (360:360:360) )
(SETUP (negedge I) (posedge CLK) (360:360:360) )
(HOLD (posedge I) (posedge CLK) (0:0:0) )
(HOLD (negedge I) (posedge CLK) (0:0:0) )
(WIDTH (posedge CLK) (2300:2300:2300) )
(WIDTH (negedge CLK) (2300:2300:2300) )
(WIDTH (posedge RST) (4000:4000:4000) ) )
WIDTH: 用来指出pulse的最小宽度,positive表示正脉冲的宽度,negative表示负脉冲的宽度,上例中有三组检查,检查CLK包含正脉冲和负脉冲的宽度最小都是2.3ns,检查RST信号则要求其正脉冲宽度最小为4ns。
SETUP: Setup所检查的是待检信号在一个clock信号或边沿触发信号的触发沿之前,所要保持逻辑状态稳定所需要的最小时间。
SETUP (posedge I) (posedge CLK) (360:360:360)表示信号I在CLK上升沿之前必须稳定的维持在逻辑‘1’状态。
第 2 页共 4 页
第 3 页 共 4 页
HOLD :HOLD (negedge I) (posedge CLK) (0:0:0),待检信号在触发信号之后要保持的逻辑状态稳定所需要的最小时间。
RECOVERY :recovery time 所检查的是异步控制信号,在其释放后到下一个clock 信号active 之前的时间。
举例
(CELL
(CELLTYPE "stratix_lcell_register")
(INSTANCE U1_mov\|emrnm_wdatq_prec5_14__Z.lereg)
(DELAY
(ABSOLUTE
(PORT aclr (4212:4212:4212) (4212:4212:4212))
(PORT clk (4072:4072:4072) (4072:4072:4072))
(IOPATH (posedge clk) regout (202:202:202) (202:202:202))
(IOPATH (posedge aclr) regout (243:243:243) (243:243:243))
)
)
(TIMINGCHECK
(SETUP datain (posedge clk) (11:11:11))
(HOLD datain (posedge clk) (114:114:114))
)
)
第 4 页共 4 页。