我正在使用 Modelsim 进行大型设计。
我已经了解了 modelsim 模拟的工作方式。我想知道,是否有一种方法可以在 modelsim 在仿真阶段评估信号并发现它是红色信号(即“X”)时向我发出警告?
要知道,不可能列出设计的所有信号并一一查看它们。
此外,很难对所有信号都发出断言命令。
您可以使用when
当满足条件时执行所需操作的命令。这find
命令可以从设计层次结构中提取信号。查看 Modelsim 命令参考文档以查看其所有选项。这examine
命令用于确定数组和标量类型信号的长度。此示例不适用于记录类型。
proc whenx {sig action} {
when -label $sig "$sig = [string repeat X [string length [examine $sig]]]" $action
}
foreach s [find signals -r /*] {whenx $s "echo \"$s is an X at \$now\""}
此示例不处理仅部分为 X 的数组。虽然您可以在中使用数组索引when
表达式来测试各个位,但不清楚如何在 Modelsim tcl 中以编程方式确定数组的边界。
您可以全部取消when
条件与nowhen *
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)