首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以用++递增SystemVerilog结构的独立变量吗?

可以用++递增SystemVerilog结构的独立变量吗?
EN

Stack Overflow用户
提问于 2014-12-24 08:01:16
回答 1查看 493关注 0票数 0

我定义了一个包含三个整数的结构,然后创建了该结构的动态数组。在后面的代码中,我想递增结构中的一些整数值:

代码语言:javascript
复制
typedef struct {
  integer tc;
  integer pass;
  integer fail;
} score_t; 

score_t    scorecard[]; 
integer    tc_count;

initial
....
scorecard = new[`MAX_TC]; 
....
scorecard[tc_count].fail  = 0;
....
scorecard[tc_count].fail++;

然而,当我在Aldec Active-HDL中编译时,我得到了以下错误:

代码语言:javascript
复制
Error: VCP2615 ../../../m3_test_load_tb.sv : (283, 33): 
                    scorecard[tc_count].fail is not l-value.

这是语言的限制吗?我可以赋值给一个临时变量来执行增量操作,然后将值放回结构中,但这似乎很笨拙。

EN

回答 1

Stack Overflow用户

发布于 2014-12-24 13:22:13

代码使用modelsim 10.1d进行编译。我已经在EDA游乐场上测试过了。

看起来Aldec工具不喜欢这行:

代码语言:javascript
复制
scorecard[tc_count].fail++;

作为一种解决办法,您可以将该行替换为:

代码语言:javascript
复制
scorecard[tc_count].fail += 1;

现在,它也可以使用Aldec工具进行编译。http://www.edaplayground.com/x/VpV

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27629778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档