Цитата(juvf @ Dec 26 2011, 08:57)

Нет, не подходит. есть блоки, например.....
Код
always @ (posedge clk)
begin
if(cs)
begin
memRxD[0] <= a;
memRxD[1] <= b;
memRxD[2] <= c;
end
else
begin
d<= memRxD[3];
e<= memRxD[4];
f<= memRxD[5];
end
end
при таком раскладе за такт нельзя будет записать/прочитать данные массива регистров?
Просто представьте себе как физически устроена блочная память. У неё есть шина данных на запись конечной ширины (точнее 2 шины данных в случае двухпортовой памяти, но сейчас нам это неважно).И точно такая же, конечной ширины шина данных на чтение. То есть единовременно вы можете прочитать всегда только ОДИН регистр.В следующий момент времени - другой регистр и так далее.Но доступа к каждому конкретному биту этой памяти в каждый момент времени у вас нет и быть не может. Для реализации такой фичи пришлось бы вытаскивать наружу из примитива памяти столько верёвок, сколько бит у памяти. А это ООООЧЕНЬ дорого...
Цитата(dxp @ Dec 25 2011, 23:12)

Я имел в виду следующее. При использовании модулей есть возможность сделать формализованный интерфейс к памяти, а нюансы реализации скрыть внутри этих модулей. Таким образом, при портировании достаточно будет портировать только сами модули, в то время как при переносе того же самого, "размазанного" по коду всего проекта, придётся перелопачивать весь код и искать все места использования.
Это известный подход, так называемые врапперы.В принципе способ неплохой, однако требует достаточной аккуратности при переносе на другую архитектуру. К примеру если говорить о тех же примитивах памяти, надо обязательно документировать в верхнем уровне требуемую латентность памяти (она может меняться как для альтеры так и для Xilinx).Несоответствие задержек может привести к плачевныи результатам.
Для меня идеалом было бы такое поведение синтезатора, при котором большая часть кода была бы описана в "платформонезависимом виде", а синтезатор сам (или с помощью мягкого подпинывания) укладывал уже этот код в вендоровские примитивы. Довольно часто такой подход даёт результат, однако иногда выскакивают и довольно неожиданные плюшки от синтезатора. Тогда приходится допиливать проблемные куски "вручную", с помощью корегена и какой-то матери...