gpt4 book ai didi

verification - 如何使用 SystemVerilog 中的指定退出代码使 Modelsim 退出

转载 作者:行者123 更新时间:2023-12-01 08:57:37 24 4
gpt4 key购买 nike

我正在尝试使用时钟 block cb_module 在 SystemVerilog 中构建测试平台。

我正在从命令行运行 Modelsim:

vsim -c test_bench -do "run -all"

一切正常,但如果这样的断言失败,我不知道如何让 Modelsim 退出并返回非零退出代码:

##1 assert(cb_module.dat_o == 4'h0) else $finish;

最佳答案

您不想使用 $finish退出模拟器 - 这被认为是正常退出。你应该使用 $error 或 $fatal:

##1 assert(cb_module.dat_o == 4'h0) else $fatal("dat_o not 0");

然后您可以将其编写到您的 -do 文件中。在 run 之后命令返回,脚本应该调用 runStatusrunStatus -full确定运行是否因正常或异常原因而终止。一旦脚本确定脚本因用户错误而终止,它就可以调用 quit -code <n>并返回任何非零数字以指示失败情况。

许多测试不想在断言失败时退出模拟器,所以他们使用 $error。然后你可以使用命令

coverage attribute -name TESTSTATUS

它会为您的测试运行期间生成的最严重的消息返回一个严重性代码。所以你可能最终想要做

quit -code [coverage attribute -name TESTSTATUS -concise]

关于verification - 如何使用 SystemVerilog 中的指定退出代码使 Modelsim 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25533774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com