概述
一、基本SDF信息
SDF(Standard Delay Format)标准延迟格式,用来描述时序信息和约束,为网表仿真提供时序信息。SDF中的时序信息主要由以下组成:iopath delay、interconnect delay、setup和hold。
1)IOPATH Delay:Cell单元延迟信息,输入输出转换延迟时间,如下所示:
上升沿延迟(0.249::0.273),其中0.249为MIN最小延迟,0.273为MAX最大延迟;无typical delay信息。
下降沿延迟(0.273::0.300), 其中0.273为MIN最小延迟,0.300为MAX最大延迟;无typical delay信息。
2)INTERCONNECT Delay:基于路径的点到点的延迟,包括驱动门和被驱动门间的RC延迟。它指定了从驱动单元的输出引脚到被驱动单元的输入引脚的连线延迟。
3)WIDTH SETUP HOLD: 信号宽度检查、建立时间检查、保持时间检查。
二、SDF调用
1、tbench下调用sdf文件
$sdf_annotate("sdf_file"[, module_instance] [,"sdf_configfile"][,"sdf_logfile"][,"mtm_spec"][,"scale_factors"][,"scale_type"]);
参数介绍可以参考文章:
IC设计中的工艺角(Process Corner)
1)TT: Typical Typical
2)FF: Fast nmos Fast pmos ---- 测试hold check
3)SS: Slow nmos Slow pmos ---- 测试setup check
4)FS: Fast nmos Slow pmos
5)SF: Slow nmos Fast pmos
在一般的IC设计中,我们只对三种情形进行测试:FF(best case)、TT(typical case)、SS(worst case)。使用实例,如下所示:
initial begin
`ifdef BC_SDF
$sdf_annotate("/home/Digital/sta/sdf/apple_func_bc_0912.sdf", u_apple , , "bc_sdf.log");
`elsif TC_SDF
$sdf_annotate("/home/Digital/sta/sdf/apple_func_tc_0912.sdf", u_apple , , "bc_sdf.log");
`else
$sdf_annotate("/home/Digital/sta/sdf/apple_func_wc_0912.sdf", u_apple , , "wc_sdf.log");
`endif
end
2、VCS工具调用参数:
+mindelays:采用最小延迟信息
+maxdelays:采用最大延迟信息
vcs需要添加的选项:
1) 测试 wc sdf + maxdelays:(0.400;;0.800)0.800代表最大延迟信息
+sdfverbose +neg_tchk -negdelay +maxdelays
测试时间充裕时,再测试:
wc sdf + mindelays:(+sdfverbose +neg_tchk -negdelay +mindelays)
2) 测试bc sdf + mindelays:(0.100;;0.200)0.100代表最小延迟信息
+sdfverbose +neg_tchk -negdelay +mindelays
测试时间充裕时,再测试:
bc sdf + maxdelays:(+sdfverbose +neg_tchk -negdelay +maxdelays)
3) 测试tc sdf + mindelays或者maxdelays:
apr给出的typical的sdf文件(0.300;;0.300),可见,最大延迟=最小延迟=0.200;一般中间的参数没给生成。此时,不能不加mindelays或者maxdelays的参数,否则会造成反标失败。
+sdfverbose +neg_tchk -negdelay +mindelays
或者使用
+sdfverbose +neg_tchk -negdelay +maxdelays
最后
以上就是幸福期待为你收集整理的IC后仿与sdf反标的全部内容,希望文章能够帮你解决IC后仿与sdf反标所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复