我定义了一个包含三个整数的结构,然后创建了该结构的动态数组。在后面的代码中,我想递增结构中的一些整数值:
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中编译时,我得到了以下错误:
Error: VCP2615 ../../../m3_test_load_tb.sv : (283, 33):
scorecard[tc_count].fail is not l-value.这是语言的限制吗?我可以赋值给一个临时变量来执行增量操作,然后将值放回结构中,但这似乎很笨拙。
发布于 2014-12-24 13:22:13
代码使用modelsim 10.1d进行编译。我已经在EDA游乐场上测试过了。
看起来Aldec工具不喜欢这行:
scorecard[tc_count].fail++;作为一种解决办法,您可以将该行替换为:
scorecard[tc_count].fail += 1;现在,它也可以使用Aldec工具进行编译。http://www.edaplayground.com/x/VpV
https://stackoverflow.com/questions/27629778
复制相似问题