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