+optconfigfile
可使用tfile来将特定的路径加到no timing check list file中,一般用于后仿中。
建立notimingcheck.cfg文件,把违例的路径按格式
module {list_of_module_identifers} {list_of_attributes};
instance {list_of_module_identifers_and_hier_names} {list_of_attributes};
tree [(depth)] {list_of_module_identifers} {list_of_attributes};
list_of_attributes包括如下几种
list_of_attributes | 释义 |
---|---|
noIopath | 忽略路经延时 |
Iopath | 考虑路经延时 |
noSpecify | 忽略specify块延时 |
Specify | 考虑specify块延时 |
noTiming | 时序 |
Timing | 考虑时序 |
例如:
instance {t_test.i_all.i_top.i_xx} {noTiming};
tree {eram_array} {noSpecify};
添加到notimingcheck.cfg文件中,在编译的时候加入命令+optconfigfile+../notimingcheck.cfg
注意文件路径是相对makefile文件。
+no_notifier
此命令可以关掉时序检查产生不定态,时序检查任务不会改变notifier的值,避免标准单元输出不定态。
notifier是一个reg类型,常作为SystemTimingCheckTask($setuphold
、$width
等)的一个参数。
当检测到存在违例时,参数notifier就会发生变化,然后改参数的变化一般会影响到模拟触发器行为的udp中的真值表行为,从而使触发器模型输出不定态。
详细见原文链接:https://www.cnblogs.com/nanoty/p/14969359.html
UCLI命令
ucli可以关闭某一时间段的x态传播。
在makefile编译中加上 -ucli
执行中加 -ucli -do uclifile
uclifile用到的语法:tcheck <instance | port> <check_type> <-msg|-xgen> <-disable|-enable> [-r]
其中,
check_type :[all|width|hold|setup|setuphold|recovery|removal|recrem|period|skew]
disable/enable : 开/关
msg/xgen : 信息打印/x态传播
r : 递归
使用如下:
tcheck test_top.chip_top all -msg -disable -r
tcheck test_top.chip_top all -xgen -disable -r
run 5ns
tcheck test_top.chip_top all -msg -enable -r
tcheck test_top.chip_top all -xgen -enable -r
run
中间5ns的时间不会有违例报出,x态也不会传播。最后的run不能省略,否则case会停止
几种命令的比较
命令 | 作用 |
---|---|
+optconfigfile+file | x态不传播、不报违例 |
no_notifier | x态不传播、报违例(编译选项+no_tchk_msg控制违例信息) |
UCLI命令 | enable后 x态传播、报违例 (-msg 要 enable) |