Никогда раньше не доводилось использовать память в (so)dimm исполнении, только в виде отдельных корпусов. И возник следующий вопрос: а как на ходу конфигурируется контроллер под конкретный вставленный DIMM?
Допустим я хочу создать проект с универсальным контроллером, который задействует все линии имеющиеся в разъеме, например для DDR3 это dual rank, 8 banks, 16/10 row/col address. Что соответсвует общему объему 8 Гб. После этого вставляю планку на 2Gb. Понятно, что можно прочитать SPD и узнать, что же там реально вставлено, но как потом правильно работать с этой памятью? Или я покупаю партию одинаковых планок, узнаю точно ее конфигурацию после чего собираю проект фиксированно под имющуюся память?
В общем интересно, как в реальности это происходит, как в миру Xilinx, так и Альтеры.
PS Я имею в виду использование стандартных контроллеров.