У нас может быть массив пользовательских модулей?

Глобальные переменные должны только использоваться, когда у Вас нет альтернативы. И да, который включает Одиночные элементы. 90% времени, глобальные переменные представлены для сохранения стоимости раздавания параметра. И затем кодирование тестирования/обслуживания многопоточности/единицы происходит, и у Вас есть проблема.

Так да, в 90% глобальных переменных ситуаций плохи. Исключения вряд ли видно Вам в Ваших годах колледжа. Одно исключение я могу думать первое, что пришло на ум, имеет дело с по сути глобальными объектами, такими как таблицы прерываний. Вещи как соединение с БД кажутся , чтобы быть глобальными, но не.

10
задан Qiu 14 July 2015 в 16:24
поделиться

2 ответа

Массивы экземпляров Verilog были добавлены в Verilog-1995 (IEEE 1364-1995). Их можно использовать с воротами, пользовательскими примитивами и модулями. Генераторы, которые являются более мощными, но и более сложными, были добавлены в Verilog-2001.

Вот пример массива экземпляров модуля:

DFF d[15:0] (clk, DFF_i, DFF_o);

Для каждого подключения порта, если размер соответствует размеру формального параметра, то он подключен к каждому экземпляру. В противном случае каждый экземпляр связан с частичным выбором (или битовым выбором) выражения.

25
ответ дан 3 December 2019 в 14:25
поделиться

это невозможно сделать напрямую ( update : теперь, после ответа mark4o, я знаю, что есть способ), но вы можете использовать ] generate для создания нескольких экземпляров вашего пользовательского модуля и подключения их к вашим сигналам. Должно выглядеть примерно так:

wire DFF_i[15:0];
wire DFF_o[15:0];

generate
  genvar i;
  for (i=0; i<15; i=i+1) begin : dff
    custom i_custom(
       .clk(clk)
      ,.input(DFF_i[i])
      ,.output(DFF_o[i])
      );
  end
endgenerate

В противном случае, вероятно, есть некоторая возможность во время синтеза использовать правильные пользовательские модули, но я не эксперт в этом.

Ура, Даниэль

9
ответ дан 3 December 2019 в 14:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: