Может ли использование больших массивов, таких как reg [127: 0] temp [0: 999], увеличить размер чипа? - PullRequest
0 голосов
/ 06 мая 2020

Я новичок в мире Verilog и FPGA. У меня возник вопрос, использование больших массивов, таких как reg [127: 0] temp [0: 999], может увеличить размер чипа?

module Memory();

reg [127:0] temp[0:999];

endmodule

1 Ответ

2 голосов
/ 06 мая 2020

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

Но, если бы к массиву обращались и в него производили запись, то он в конечном итоге использовал бы значительное количество ресурсов в микросхеме. Если бы он был и прочитан, и записан синхронно в подходящем шаблоне, то он отобразился бы в 128000 битов блочной ОЗУ, что подошло бы для большинства FPGA, за исключением наименьшего. В качестве альтернативы, если он был прочитан асинхронно, он может оказаться распределенным ОЗУ, что займет немного больше места. Наконец, если бы он не соответствовал правилам сопоставления с выделенными ресурсами ОЗУ, это привело бы к 128000 триггерам и большому количеству LUT, что не поместилось бы на многих ПЛИС (и в любом случае было бы очень расточительно) *. 1003 *

...