always@(posedge clk)
begin
r00<=r01;
r01<=r02;
r02<=arr[x][y];
//code
end
будет ли это синтезировано внутри блока генерации? Кроме того, что «arr» является 2-мерным.
always@(posedge clk)
begin
r00<=r01;
r01<=r02;
r02<=arr[x][y];
//code
end
будет ли это синтезировано внутри блока генерации? Кроме того, что «arr» является 2-мерным.
Чтобы уточнить комментарии выше, ваш инструмент синтеза должен сделать вывод, что это память, но в зависимости от вашего объявления и использования существует несколько сценариев.
Вы получите несинтезируемые или ошибки в вашем коде из-за чтения во время записи и других ошибок интерфейса памяти из-за шаблонов доступа
Ваша память на самом деле будет восприниматься как регистры, что может сделать ваш дизайн невозможным для синтеза из-за размера.
Все будет отлично работать.
Многие инструменты (например, Quartus) имеют встроенную функциональность для добавления воспоминаний в ваш код (например, инструмент Megafunction).