赞
踩
INNOVUS/ICC吐出的netlist经过Formal/LEC验证后,Star-RC/QRC抽取RC寄生参数文件并读入到Tempus/PT分别做func/mbist/scan时序sign-off,写出SDF3.0用以后仿真,搭建后仿真的验证环境,添加sc/io/macro的verilog model,仿真输出VCD给Redhawk/Voltus做功耗/IR Drop分析。本文简要叙述下后仿真要点:
欢迎关注我的公众号:全栈芯片工程师
1)-debug选项,为了导出VPD通常选择-debug_pp;
2)-negdelay,支持SDF中的负延时;
3)-ssf自动加载fsdb;
4)-ucli模式,在-debug模式下才使能;
5)+neg_tchk,支持负延时检查;
6)+nospecify/+notimingcheck,忽略path delay和specify延时;
7)+delay_mode_zero,去除仿真中的延迟信息,所有的延时为0;
(二)SDF annotated
$sdf_annotate ([sdf_file], top.U_DIGITAL_TOP, [sdf_configfile], [sdf_logfile],[mtm_spec], [scale_factors], [scale_type]);
sdf_file指定时序签核输出的sdf文件及其路径;
sdf_configfile”指定sdf配置文件,一般缺省;
sdf_logfile指定sdf的log生成文件,该文件会保存VCS在运行过程中产生的Error和Warning信息。为了规VCS默认情况下不会记录超过10个以上的error信息/warning信息到log文件,可通过+sdfverbose选项来开启VCS记录所有信息;
mtm_spec指定VCS反标哪一类延迟信息。可以使用MINIMUM,TYPICAL,MAXIMUM,TOOL_CONTROL(default);
scale_factors指定minimum,typical,maximum延迟的因子。默认值是“1.0:1.0:1.0”
scale_type指定在缩放比例之前使用的SDF 文件里面延迟值,可能的值有“FROM_TYPICAL”,”FROM_MIMINUM”,”FROM_MAXIMUM”,”FROM_MTM”(默认值),一般缺省;
设置寄存器初始值文件:
#init0_regs.ucli
force -deposit tb.U_DIGITAL.reg_A 0
在仿真的零时刻用下面的方式加载这个文件
ucli% source ./init0_regs.ucli
#notiming.list
instance { tb.U_TOP.reg} { noTiming };
在仿真的时候加载这个文件,避免引起X态传递。
VCS +optconfigfile+notiming.list
VCD是不压缩的文本格式,兼容性好,缺点是文件太大。后仿先写出高压缩比的FSDB文件,再转成VCD。可指定转换起止时间、结束时间。
fsdb2vcd xxx.fsdb -o xxx.vcd -bt 1000ns -et 2000ns
欢迎关注我的公众号:全栈芯片工程师
欢迎关注我的公众号:
ISP处理后仿效果
欢迎关注我的公众号:全栈芯片工程师
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。