|
|
  |
Пример топологии DDR3, Документация и примеры разводки DDR3 |
|
|
|
Jan 30 2018, 11:49
|

Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 7-02-08
Из: Ростовская обл.
Пользователь №: 34 835

|
Впервые столкнулся с топологией fly-by, в принципе всё более-менее понятно, но возник спорный момент. Подскажите, имеет ли значение последовательность по которой сигналы адресов идут от контроллера по чипам памяти? Явно нигде не могу найти упоминания об этом, обычно пишут требования к импедансу и длине линии до первого кристалла и отдельные требования для линий между кристаллами. По логике вещей адреса должны приходить на 0-й байт и далее по порядку 1, 2, 3, 4 и т.д., или это не имеет значения и контроллер при инициализации как-то калибруется и определяет что адреса идут в порядке байтов 1, 0, 2, 4, 3... или 7, 6, 5, 4... Смущает что в дизайнгайде процессора как раз нарисован (исключительно на картинке, в тексте явного указания нет) обратный порядок, т.е. с 7 по 0 байты и терминацией на 0.
|
|
|
|
|
Jan 30 2018, 14:10
|

Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 7-02-08
Из: Ростовская обл.
Пользователь №: 34 835

|
Цитата(Aner @ Jan 30 2018, 16:36)  Да имеет. Ну т.е. всё как подсказывает логика: с 0 по 7 байты, с терминацией на 7?
|
|
|
|
|
Feb 1 2018, 06:18
|

Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 7-02-08
Из: Ростовская обл.
Пользователь №: 34 835

|
Цитата(Uree @ Jan 30 2018, 17:33)  Не имеет. Терминация адресов/управления на конце линий, не важно какой это будет байт данных. Всё жду-жду а холивар так и не развязывается)) Всё-таки хотелось бы понять как это работает. С точки зрения программирования я проблем в автокалибровке контроллера памяти не вижу, но непонятно как оно там на самом деле. Тут вот есть наглядная анимация прохождения сигналов по этой топологии. Сможет ли контроллер подстроить тайминги выдачи сигналов данных в случае если переставить между собой чипы памяти (важное уточнение: не просто переставить чипы, ведь они одинаковые, а переставить на плате с сохранением привязки к сигналам, т.е. линии данных окажутся как бы крест-накрест). Повторюсь, с точки зрения моих скромных знаний программирования я проблем не вижу, мне кажется это достаточно тривиальной задачей. Но хотелось бы знать наверняка.
|
|
|
|
|
Feb 1 2018, 09:03
|
Знающий
     
Группа: Свой
Сообщений: 5 112
Регистрация: 25-04-05
Из: Z. Gora
Пользователь №: 4 480

|
По шине адерса/управления контроллер обращается ко всем чипам сразу, без конкретизации какой из них где. Да и нечем ему это конкретизировать, все сигналы параллельно идут по всем чипам(без мультиранка). Шина данных работа вся разом, параллельно на все чипы(тут DMы решают, что читается, а что нет). Контроллер на самом деле даже не знает, сколько там чипов на шине - 4х8, 2х16 или 1х32(хотя это уже LPDDR, возможно там несколько иначе). Зато deskew каждого байта компенсируется отдельно, без выяснения в каком физически порядке стоят эти чипы на шине. Для примера - Arria10 + 2x16 DDR3-2133, последовательность байтов на скрине слева-направо: 2-0-3-1
Дизайн проверен у Альтера/Интел и с их саппортом внесены поправки в IP контроллер - что-то они там наплужили в исходниках, не хотело работать.
|
|
|
|
|
Feb 1 2018, 09:29
|

Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 7-02-08
Из: Ростовская обл.
Пользователь №: 34 835

|
Цитата(Uree @ Feb 1 2018, 12:03)  По шине адерса/управления контроллер обращается ко всем чипам сразу, без конкретизации... Спасибо, теперь понятно.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|