在 Specman E 中实现 System verilog 的 $value$plusargs() 系统函数

Implementing System verilog’s $value$plusargs() system function in Specman E

Specman E 中 System verilog 的 $value$plusargs 选项的等效语法或实现是什么?

我正在将源代码从 System verilog 转换为 Specman E,我一直坚持在 Specman E 中实现 $value$plusargs() 系统函数。如何将参数从命令行或 Makefile 传递到Specman E 中的源代码? 这是我想在 Specman E 环境中转换和实现的 System verilog 示例代码,

    function load_testname();
        if($value$plusargs("test=%s",test_name_s)) begin 
          $display(“Running testcase is %s”,test_name_s); 
        end 
     endfunction

我可能还需要 $test$plusargs() 在 Specman E 中的实现。请帮忙。

对于$value$plusargs(...),有sn_plusarg_value(arg: string): string方法。对于 $test$plusargs(...)sn_plusarg_exists(arg: string): bool.

您使用 +plusarg[=value] 命令行参数将 plusargs 传递给 Specman。

示例

var test_name := sn_plusarg_value("test");
var number_i := sn_plusarg_value("number").as_a(int);