Каков стандартный способ зацикливания элементов многомерного массива объекта в системе verilog? - PullRequest
0 голосов
/ 16 октября 2018
foreach(a.b[i]) begin
    foreach(a.b[i][j]) begin   
       foreach (a.b[i][j].c[k]) begin  
       d = a.b[i][j].c[k];  
end 
  end  
    end   

a является классом, b является объектом отдельного класса e в классе a, c является членом класса e, доступ к которому осуществляется через b, а d является переменной, которой присваивается значение, присутствующее в c.

Я получаю синтаксическую ошибку в первой строке.Как правильно зацикливаться на элементах многомерного массива b?

Заранее спасибо.

1 Ответ

0 голосов
/ 16 октября 2018

В соответствии с разделом 12.7.3 LRM IEEE 1800-2017 правильный синтаксис для зацикливания вашего многомерного массива:

foreach(a.b[i, j]) begin
  foreach (a.b[i][j].c[k]) begin
    d = a.b[i][j].c[k];
  end
end
...