2017-07-25 129 views
1

假設我有一個我想在覆蓋組中使用的參數數組。 爲了interate在陣列中的所有參數,我試圖用一個for循環以這種方式:參數數組採樣覆蓋組 - systemverilog

array [5]; 
covergroup param; 
coefficient: coverpoint array[i]{ 
bin low = {0:50}; 
bins high = {51:100}; 
} 

for (i=0;i<5;i++) 
param = new(i); 

for (i=0;i<5;i++) 
param.sample(i); 

我真的不知道如何解決這個問題,而不是在每一個細胞創造一個coverpoint數組,但這只是混亂和錯誤的。

+1

你只能覆蓋整數值,沒有數組等。 –

+0

嘗試將'covergroup param;'改爲'covergroup param(int i);'。 – Greg

回答

0

將輸入參數傳遞給封面組。

int array [5]; 

covergroup param (ref int a); 
coefficient: coverpoint a{ 
bin low = {0:50}; 
bins high = {51:100}; 
} 
endgroup 

for (i=0;i<5;i++) 
param = new(array[i]); 

for (i=0;i<5;i++) 
param.sample();