Перейти к содержанию
    

Впервые столкнулся с топологией fly-by, в принципе всё более-менее понятно, но возник спорный момент. Подскажите, имеет ли значение последовательность по которой сигналы адресов идут от контроллера по чипам памяти?

Явно нигде не могу найти упоминания об этом, обычно пишут требования к импедансу и длине линии до первого кристалла и отдельные требования для линий между кристаллами. По логике вещей адреса должны приходить на 0-й байт и далее по порядку 1, 2, 3, 4 и т.д., или это не имеет значения и контроллер при инициализации как-то калибруется и определяет что адреса идут в порядке байтов 1, 0, 2, 4, 3... или 7, 6, 5, 4...

Смущает что в дизайнгайде процессора как раз нарисован (исключительно на картинке, в тексте явного указания нет) обратный порядок, т.е. с 7 по 0 байты и терминацией на 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

> Подскажите, имеет ли значение последовательность по которой сигналы адресов идут от контроллера по чипам памяти?

Да имеет. Это вам не дремучая RAM или ROM. По этим линиям идут также команды, поскольку там навороченный автомат трудится. Есть вариант для косовинга между какими то парами, но я стараюсь не использовать это. Вроде байтами можно перекинуться, причем нулевой или первый тоже нельзя трогать (бит шины).

Как я понял в последних автомат трудится постоянно и калибрует непрерывно. И как я понимаю в DDR3 дина линий внутри чипа до шарика "приведена" к нулю, ее не нужно добавлять при выравнивании, в отличие от внутренних длин внутри контроллера или FPGA.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да имеет.

Ну т.е. всё как подсказывает логика: с 0 по 7 байты, с терминацией на 7?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не имеет. Терминация адресов/управления на конце линий, не важно какой это будет байт данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не имеет. Терминация адресов/управления на конце линий, не важно какой это будет байт данных.

Всё жду-жду а холивар так и не развязывается)) Всё-таки хотелось бы понять как это работает. С точки зрения программирования я проблем в автокалибровке контроллера памяти не вижу, но непонятно как оно там на самом деле.

Тут вот есть наглядная анимация прохождения сигналов по этой топологии. Сможет ли контроллер подстроить тайминги выдачи сигналов данных в случае если переставить между собой чипы памяти (важное уточнение: не просто переставить чипы, ведь они одинаковые, а переставить на плате с сохранением привязки к сигналам, т.е. линии данных окажутся как бы крест-накрест).

Повторюсь, с точки зрения моих скромных знаний программирования я проблем не вижу, мне кажется это достаточно тривиальной задачей. Но хотелось бы знать наверняка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По шине адерса/управления контроллер обращается ко всем чипам сразу, без конкретизации какой из них где. Да и нечем ему это конкретизировать, все сигналы параллельно идут по всем чипам(без мультиранка). Шина данных работа вся разом, параллельно на все чипы(тут DMы решают, что читается, а что нет). Контроллер на самом деле даже не знает, сколько там чипов на шине - 4х8, 2х16 или 1х32(хотя это уже LPDDR, возможно там несколько иначе). Зато deskew каждого байта компенсируется отдельно, без выяснения в каком физически порядке стоят эти чипы на шине.

 

Для примера - Arria10 + 2x16 DDR3-2133, последовательность байтов на скрине слева-направо: 2-0-3-1

 

post-4480-1517475633_thumb.png

 

Дизайн проверен у Альтера/Интел и с их саппортом внесены поправки в IP контроллер - что-то они там наплужили в исходниках, не хотело работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По шине адерса/управления контроллер обращается ко всем чипам сразу, без конкретизации...

Спасибо, теперь понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...