目录
数字后仿步骤:
什么是SDF文件?
如何反标SDF文件?
(1)作为elaboration的选项
(2)使用系统函数$sdf_annotate
数字后仿步骤:
1、用时序计算工具生成时序信息存储在SDF文件中
2、将SDF文件反标到设计中:在tb_top文件中加入语句 initial $sdf_annotate.
什么是SDF文件?SDF(Standard Delay Format)文件是把布局布线过程中器件延时和线延时的信息保留下来,据此就可以在路径时序分析时将整条路径的时序计算出来,再判断时序约束条件就能知道是否满足时序要求。SDF文件包含设计中所有单元的时序信息,它为仿真门级网表提供时序信息。
SDF文件包括设计中每个单元的时序信息,基本的时序数据由以下几部分组成:
(1)IOPATH延迟
(2)INTERCONNECT延迟
(3)SETUP时序检查
(4)HOLD时序检查
如何反标SDF文件?反标SDF文件有两种方法,一种作为elaboration的选项指定,另一种是在bench中调用系统函数$sdf_annotate来完成。
(1)作为elaboration的选项-sdfmin|typ|max:instance_name:file.sdf
如vcs-sdf min:top.i_test.:test.sdf
(2)使用系统函数$sdf_annotate$sdf_annotate (“sdf_file”[, “module_instance”] [,“sdf_configfile”][,“sdf_logfile”][,“mtm_spec”] [,“scale_factors”][,“scale_type”]);
其中:
“sdf_file”:指定SDF文件的路径
“module_instance”:指定反标设计的范围(scope)
“sdf_configfile”:指定SDF配置文件,一般缺省
“sdf_logfile”:指定VCS保存error 和warnings消息的SDF日志文件。也可以使用+sdfverbose runtime option来打印所有反标消息
“mtm_spec”:指定延迟类型"MINIMUM(min)", "TYPICAL(typ)“或者"MAXIMUM(max)”,“TOOL_CONTROL(default)”。
“scale_factors":分别指定min:typ:max的缩放因子,默认是"1.0:1.0:1.0"
“scale_type”:指定缩放之前延迟值得来源,“FROM_TYPICAL”,“FROM_MIMINUM”, “FROM_MAXIMUM"和"FROM_MTM” (default).
这里除了sdf_file必须给出外,其他参数可以使用默认值,如:
$sdf_annotate(“test.sdf”);
要说明下参数scale_type,sdf文件中时序信息都会由3个数字组成,分别对应是minimum,typical,maximum三种情形下的延迟(当然,有时候会只有minimum和maximum的情况,那么typical的延迟没有就省略)
scale_type的可取值为:
FROM_MINIMUX
选择SDF文件中mininum timing
FROM_TYPICAL
选择SDF文件中typical timing
FROM_MAXIMUM
选择SDF文件中maximum timing
FROM_MTM
系统默认
反标完成后,可以从log中看到这样一句话:
Annotating SDF file "***.sdf" ... Done