文章目录
- 0 前言
- 1 调用格式
- 2 option介绍
- 2.1 sdf_file (**必须**)
- 2.2 module_instance (**可选**)
- 2.3 config_file (**可选**)
- 2.4 log_file (**可选**)
- 2.5 mtm_spec (**可选**)
- 2.6 scale_factors (**可选**)
- 2.7 scale_type (**可选**)
0 前言
跑post sim时需要带入timing信息,目前接触到的,timing信息往往存在sdf文档中(sdf是跑STA时吃sdc生成的)
简单介绍下simulation时仿真工具是如何将sdf信息添加到仿真环境的
1 调用格式
下图是反标sdf的引用格式,需要调用task $sdf_annotate
通常sdf反标在tb中调用
下面是各option的介绍
2 option介绍
2.1 sdf_file (必须)
sdf文档,没有什么可说的
2.2 module_instance (可选)
指定sdf的作用范围,仿真工具会根据指定范围,对范围内的logic进行反标
如果缺省,会将所有调用$sdf_annotate的模块都添加上时序信息
举个例子
module A调用了$sdf_annotate,sdf中的时序信息就会添加到module A中
如果此时module A作为特例,不应用sdf中的时序信息,则仿真结果就有可能会与预期不符
2.3 config_file (可选)
可以对timing反标提供更细节的控制 (还没用过 -_-||)
2.4 log_file (可选)
log文档
每从sdf文档中读取并应用一条timing信息时,都会记录在log中
log主要包括一下信息:
- 应用的timing信息的具体内容
- 相关module的instance name
- data path或者signal name
- 进行timing反标操作的时间戳
- pass or fail的状态信息
2.5 mtm_spec (可选)
mtm代表 min、typical、max
用于指定要使用的延迟值类型
三个值分别代表如下三种情况:
- min:最小延迟,对应最佳条件
- typical:典型延迟,对应标志条件
- max:最大延迟,对应最差条件
2.6 scale_factors (可选)
对min、typical、max延迟值进行放大/缩小,格式为x:y:z
,分别对应min、typical、max
默认值为1.0:1.0:1.0
,即min、typical、max分别*1.0
这个目前一直用的默认值 -_-||
2.7 scale_type (可选)
用于指定将 scale_factors应用到哪种延迟类型(min/typical/max)