Чи можна синтезувати двовимірний масив у Verilog?

У деяких випадках 2D-масиви можуть бути синтезовані як пам'ять. Залежно від інструментів і конкретного синтаксису, який ви використовуєте, ви можете отримати або розподілену, або блокову пам’ять на FPGA.

Масиви Verilog можна синтезувати щоб ми могли використовувати їх у синтезованому коді RTL. У C масиви індексуються від 0 цілими числами або перетворюються на покажчики. Але весь масив може бути ініціалізований, і кожен елемент має бути прочитаний або окремо записаний у процедурних операторах.

Таким чином ви можете ініціалізувати весь масив одним вкладишем:

  1. reg [7:0] [11:0] afe_value;
  2. завжди @( posedge clk )
  3. якщо (деяка_умова)
  4. afe_value <= 0;
  5. інше.
  6. почати.
  7. // вставте сюди призначення речення без скидання…
  8. кінець.

Примітка. Коли ви ініціалізуєте 2D-масив, ви завжди повинні вказувати перший розмір (ні. рядків), але надаючи другий вимір (№. стовпців) можна опустити. У наведеному нижче фрагменті коду ми не вказали кількість стовпців.

Синтезувані та несинтезувані конструкції Verilog

Синтезується
БазовийІдентифікатори, екрановані ідентифікатори, константи розміру (b, o, d, h), константи без розміру (2'b11, 3'07, 32'd123, 8'hff), константи зі знаком (s) 3'bs101, модуль, кінцевий модуль, макромодуль, модуль у стилі ANSI, списки портів завдань і функцій

Related Post

Як зняти паролі з imacЯк зняти паролі з imac

Натисніть на знак питання поряд з полем «Пароль». Якщо питання не відображається, натисніть і утримуйте кнопку живлення, доки Mac не вимкнеться, потім натисніть кнопку живлення, щоб перезавантажити Mac. Натисніть стрілку