如何在Specman中模拟期间读取文件

时间:2015-04-27 09:09:58

标签: specman

我需要为我的测试读取带有输入参数的文件。但是,我不想将文件的名称硬编码到代码中。 如何从命令行为已编译的e代码指定文件的名称? 是否有另一种方法来加载e代码?为什么这对编译代码不起作用?

3 个答案:

答案 0 :(得分:1)

通用解决方案是使用新的sn_plus机制。 从命令行添加类似+ my_file = filename

的内容

从代码中,您可以使用特殊函数sn_plusargs_exist访问参数,以检查是否存在此类参数,并使用sn_plus_value读取其值。

另一种解决方案是使用-c标志从命令行传递filename作为define,并在代码中读取使用该定义命名的文件。

但是,它不适用于编译的e代码,因为已经在编译时计算了定义。

答案 1 :(得分:0)

您可以在代码中使用sn_plusargs_value()和sn_plusargs_exist()。 现在,您可以通过命令行传递参数文件,而无需重新编译您的电子代码。

答案 2 :(得分:0)

或者,您可以使用

设置环境变量并在电子代码中检索其值
var filename := get_symbol("<VAR>")