问题标签 [specman]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
148 浏览

type-conversion - 有没有一种有效的方法可以将集合转换为整数(列表)?

我正在做一些集合操作,结果是一个包含(为了简化)单个整数的集合。如何将集合转换回 uint?目前我正在做这样的事情:

我正在使用 Specman 13.1。

0 投票
2 回答
56 浏览

macros - 使用宏来约束列表

我试图将我的列表项限制为在某些条件下等于某些值。为此,我设计了一个定义为计算宏

在我的代码中,我像这样使用这个宏:

但这不起作用。首先,它打印一些随机大小(来自宏)而不是列表的实际大小。其次,我得到了这种错误:

关于这里有什么问题的任何想法?

0 投票
2 回答
441 浏览

package - Specman e:所有文件都以“包”一词开头 - 这是什么意思?

在我的验证环境中,所有 e 文件都以“package”一词开头,即:

你知道这是什么意思吗?谢谢您的帮助。

0 投票
2 回答
73 浏览

specman - 解析引号的specman问题

我正在尝试将一个字符串从 unix shell 导入到 specman 的程序空间。我要导入的字符串包含引号 ("") - 例如“hi”。在这些情况下,字符串没有被正确解析。例如,假设我想用引号“回显”一些字符串,我会执行以下操作:

将输出

但如果我使用以下程序,用 e 编写:

我得到以下输出:

如您所见 - 引号不见了。我们在这里看到的来自列表值的默认打印。

0 投票
2 回答
310 浏览

specman - Specman UVM:write_reg { .field == 2;}; 之间有什么区别 和 write_reg_fields?

我正在使用vr_ade 的包。我的问题是:以下 2 个用于修改寄存器的宏有什么区别(假设foo寄存器由 2 个字段组成:field1field2):

1)

2)

我真的很感激任何帮助

0 投票
2 回答
445 浏览

specman - Specman UVM:当值被写入另一个寄存器时,如何更新寄存器的值?

(在我的验证环境中,我们使用vr_ad包。)。我尝试实现下一个:当数据写入其中一个寄存器 ( timer_load) 时,另一个寄存器 ( timer_bgload) 应该使用相同的数据进行更新。

在 UVM 用户指南中找到了下一个示例

我的寄存器:

timer_bgload在数据写入后更新寄存器的代码tiemr_load

我得到一个编译错误

我真的很感激任何帮助。

0 投票
2 回答
300 浏览

specman - Specman e 编译错误:没有这样的变量 'XXX'

my_reg_file我在函数中定义了一个变量post_access()(这个函数是一个vr_ad实现副作用的钩子):

然后我在另一个 e 文件中扩展了这个函数:

我得到一个编译错误:

为什么post_access()不识别变量my_reg_file?谢谢您的帮助。

注意:file1.e 在 file2.e 之前导入

0 投票
1 回答
353 浏览

specman - Specman:有没有办法通过某个索引访问不同的变量?

在我的验证环境中,我有 3 个具有相同字段的不同寄存器load_0load_1load_2. 现在,我为每个寄存器复制了 3 次相同的函数,并且仅在一行中有所不同:

有没有更好的方法来访问变量名(仅通过索引不同)而不是重复相同的函数 3 次?像这样的东西:

我将不胜感激您能提供的任何帮助。

0 投票
2 回答
499 浏览

specman - Specman e:有没有办法扩展多种结构?

在我的验证环境中,我们使用vr_ad UVM包,其中有一个寄存器的通用结构,该结构vr_ad_reg已为环境中的每个寄存器扩展了不同的类型,等等:

具有预定义的vr_ad_reg功能post_access(),我想为每个以单词' TIMER'开头的寄存器类型扩展它。有没有办法做到这一点?例如:

谢谢您的帮助

0 投票
1 回答
315 浏览

macros - Specman DAC 宏:如何定义 2 个不同类型的输入(uint 和 string)?

在我的验证环境中,我有不同的寄存器类型,名称几乎相同,只是索引不同,例如:timer_load_0timer_load_1。我尝试创建一个获取 2 个参数的宏:(string没有索引的寄存器的“名称”)和uint(寄存器的索引)并返回“连接”寄存器类型的变量。例如我想要这个命令:

将返回变量timer_load_0

我的宏代码

我得到的编译错误:

该宏不能识别my_idxuint变量,而是string.. 感谢您的帮助。