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

Косяки трассировки DDR3

Добрый день.

 

Неделю ковыряю плату с DDR3 разведеную китайцами по рефренсу. Все симптомы неустойчивой работы памяти, те тесты памяти в загрузчике проходят, но только даешь нагрузку процу (2 процессора+ медиа процессор), валятся сегментэшини и усе виснет. Питание ядра вычистил по полной, ни пульсаций, ни особых шумов.

 

Предыстория платы такая, 4 слоя, сигнальные слои наружные. Китайцы взяили реф, все что касается трассировки DDR3 - скопипастили. Только в рефе во внутреннм питающем слое, все что находтся под DDR3 сигналами - один

потенциал - питание DDR3 (1,5 вольта). У китайцев - разорваный полигон и их пресекают плейны 1 вольт - ядро,12 вольт - основное питание, 3,3 вольта- питание периферии. На цветной картинке (китайская разводка)

 

1. Синий - 1.5В питание DDR3

2. Зеленый -12В основное питание.

3.Красные полигоны - 1В ядро и 3.3 вольта - периферия.

 

На второй картинке (черен-белая) - референс. Центральный полигон - питание DDR3. Есть подозрение, что из-за этого память сбоит. Что народ думает по этому поводу?

 

 

Приложил файл, как идут сигнальные линии DDR3 над полигонами (у китайцев).

post-6345-1369312183_thumb.jpg

post-6345-1369312351_thumb.jpg

post-6345-1369312785_thumb.jpg

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


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

А могут ли китайцы подтвердить, что у них она тоже сбоит? Потому как в ДДР3 такие разрывы плэйнов могут быть уже критичными.

А могут быть и программные баги, когда несколько задач, делящие доступ к памяти, друг другу "переходят дорогу". Тем более тесты именно памяти проходят нормально... У нас была такая ситуация, когда долго грешили на память, а в итоге оказалось, что таки в софте была проблема.

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


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

А могут ли китайцы подтвердить, что у них она тоже сбоит? Потому как в ДДР3 такие разрывы плэйнов могут быть уже критичными.

А могут быть и программные баги, когда несколько задач, делящие доступ к памяти, друг другу "переходят дорогу". Тем более тесты именно памяти проходят нормально... У нас была такая ситуация, когда долго грешили на память, а в итоге оказалось, что таки в софте была проблема.

 

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

 

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


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

Народ думает что это экстремальный экстрим, разводить DDR3 в четырех слоях, да еще и порезать полигоны опорного слоя. Как будто время остановилось и законы физики перестали работать :)

А чего шестислойку делать не стали.

Как вариант, можно загнать в 3D модель, крупные косяки с импедансом вылезут однозначно.

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

Изменено пользователем fractcon

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


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

Народ думает что это экстремальный экстрим, разводить DDR3 в четырех слоях, да еще и порезать полигоны опорного слоя. Как будто время остановилось и законы физики перестали работать :)

А чего шестислойку делать не стали.

Как вариант, можно загнать в 3D модель, крупные косяки с импедансом вылезут однозначно.

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

Решение принимал не я. Мне пришли готовые платы. Ядро уже отрезал, кинул снаружи, немного лучше.

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


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

Не экстрим. При правильной трассировке все работает, проверено. Но резать несколькими границами трассы ДДР3 мы не стали, пустили в обход.

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


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

Не экстрим. При правильной трассировке все работает, проверено. Но резать несколькими границами трассы ДДР3 мы не стали, пустили в обход.

На рефе в четырех слоях работает DDR3 1600. Тут - 1300 не хочет.

 

Вторую плату от них запустил (1600 МГц), там правда не 4,а две DDR3 стоят, но разрывов в плэйне нет. Трассировал другой разработчик.

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


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

Не экстрим. При правильной трассировке все работает, проверено. Но резать несколькими границами трассы ДДР3 мы не стали, пустили в обход.

+1. Я бы тоже резать полигоны не стал. А 4 слоя - это нормально. Теоретически можно попробовать понять путем моделирования в чем-то типа ансиса... Практически - да, в первую очередь налепить конденсаторов на разрывы...

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


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

+1. Я бы тоже резать полигоны не стал. А 4 слоя - это нормально. Теоретически можно попробовать понять путем моделирования в чем-то типа ансиса... Практически - да, в первую очередь налепить конденсаторов на разрывы...

Те блокировку между питающими? Или с питающих на землю?

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


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

Между, чтобы переменная составляющая пошла "поперек" полигонов через эти кондеры. Хотя что будет тогда с остальными питаниями - это вопрос...

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


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

Те блокировку между питающими? Или с питающих на землю?

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

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


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

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

Проще уж положить их на полочку, будет неиссякаемый источник запчастей. :cranky:

 

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


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

Привет.

 

примерно такая же проблема и 2 недели сроку ей. как то даже удивился увидев Вашу тему :)

 

тоже платка с ddr3. в юбуте тест памяти проходит. проходит тест памяти и через jtag отладчик. ядро грузится норм и вроде как работает.

 

Если не сложно опишите поподробней как и при каких условиях у вас происходит падение ядра и почему подозрения на ddr3? и сам лог падения увидеть. (он один и тотже всегда или разный?)

 

У нас ядро падает если запустить пинг с компа на платку вот с такими парамерами: ping 192.169.1.1 -s 65000 -f

 

Конечно первая мысль что причиной падения является сетевая часть. но каким то чудесным образом платка начинает жизнь если оперативку занять делом. например непрерывно копировать файлик (с помощью скрипта) из одной директории в другую.

 

Даже видно через потребление. сам пинг видимо не сильно напрягает оперативку и потребление в данном режиме стандартное (ядро регулярно валится при входящем флуд-пинге). как только запускается скрипт с копированием, то потребление вырастает на 1вт.(ядро живет)

 

Если у вас есть сетевая часть то можете выполнить такой же тест?

 

спасиб!

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


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

Привет.

 

примерно такая же проблема и 2 недели сроку ей. как то даже удивился увидев Вашу тему :)

 

тоже платка с ddr3. в юбуте тест памяти проходит. проходит тест памяти и через jtag отладчик. ядро грузится норм и вроде как работает.

 

Если не сложно опишите поподробней как и при каких условиях у вас происходит падение ядра и почему подозрения на ddr3? и сам лог падения увидеть. (он один и тотже всегда или разный?)

 

У нас ядро падает если запустить пинг с компа на платку вот с такими парамерами: ping 192.169.1.1 -s 65000 -f

 

Конечно первая мысль что причиной падения является сетевая часть. но каким то чудесным образом платка начинает жизнь если оперативку занять делом. например непрерывно копировать файлик (с помощью скрипта) из одной директории в другую.

 

Даже видно через потребление. сам пинг видимо не сильно напрягает оперативку и потребление в данном режиме стандартное (ядро регулярно валится при входящем флуд-пинге). как только запускается скрипт с копированием, то потребление вырастает на 1вт.(ядро живет)

 

Если у вас есть сетевая часть то можете выполнить такой же тест?

 

спасиб!

Это память. потому что чистили питание, никаких эффектов. На другой плате, где немного лучше разведена память, она работает, но регулярно валится после нагрева, хотя реф нагревали до 100 градусов и все устойчиво. Они скопировали трассировку из рефа, но стакапы совсем другие. Поэтому, без контроля целостности там делать нечего.

 

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


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

А можно попросить выложить референс-дизайн платы посмотреть? Очень интересно.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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