我已經定義了一個具有三個整數的結構,然後創建了一個結構的動態數組。在後面的代碼,我想增加一些結構的整數值的: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