我已经定义了一个具有三个整数的结构,然后创建了一个结构的动态数组。在后面的代码,我想增加一些结构的整数值的:SystemVerilog结构的个体变量是否可以用++递增?
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.
这是语言的限制?我可以分配一个临时变量来执行增量操作,然后将值放回结构中,但这看起来很笨拙。
+++语法在SystemVerilog中是合法的。确保'tc_count'没有超出范围,必须小于'MAX_TC'。这可能会导致错误。 – Greg