PCBExp
Jan 13 2009, 06:15
Коллеги. Сейчас делаем редизайн старого проекта на ARM7 (Samsung S34510, частота 50МГц). Устройство маленькое, места вообще нет. По совету коллег из Германии удалили из шин адреса и данных резисторы 33Ома (для экономии места). Помоделировали плату. С шиной адреса проблем нет. На шине данных, когда источник - процессор, то проблем тоже нет. Когда источник - SDRAM очень большие over и undershot-ы (см. аттач, фиолетовый - сигнал на ногах процессора). Хотелось бы понять эти выбросы помешают работе устройства или нет?
Господа. Огромная просьба, не пишите Ваши теоретические предположения не подкрепленные экспериментами. Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.
Я делал прибор на Аналог Девайсовских сигнальных процессорах семейства SHARK ADSP21065L со встроенным контроллером SDRAM.
В качестве SDRAM использовал стандартные модули памяти для ноутбуков. Модули были различных производителей. Ни подтягивающие ни последовательные резисторы не требовались.
zltigo
Jan 13 2009, 08:13
Цитата(PCBExp @ Jan 13 2009, 09:15)

Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.
Интересует только
практический радиолюбительский "опыт"......
PCBExp
Jan 13 2009, 08:34
Да. Ведь решение поставить резисторы будет означать для нас потерю 2-х недель на переразводку. Я понимаю, что решение убрать резисторы явно спорное и потенциально опасное, но я надеюсь оставить именно его, получив подтверждения, что на практике это работает.
1. Поставить маленькие резисторные сборки 0805(4х) или 1206(8х)
2. Использовать микротверстия(появится куча свободного места)
Проблемы с undershoot (~-1V) и overshoot (~+2V) будут - защитные диоды повылетают, конечно, не сразу, а через некоторое время, и после этого посыпятся весьма странные отказы. Также не факт что в момент фронта клока данные защелкнутся правильно (см. провалы сигнала в "1" и выбросы в "0" ). Ну и излучать эта штука будет будь здоров (проблемы с ЭМС). Происходит это потому, что скорее всего Ваш чип SDRAM рассчитан как минимум на 100 MHz, а может и на 133, и, соответственно, фронты сигналов его драйверов гораздо более крутые. Желательно либо вернуть последовательные терминаторы (которые для двунаправленных сигналов должны буть у всех драйверов), либо изменить разводку, чтобы для драйвера SDRAM линия перестала быть длинной (~0.2*trise). А лучше и то, и другое
PCBExp
Jan 13 2009, 09:23
Принципиально согласен, кроме, пожалуй того, что данные по клоку (реально через 10нс) могут защелкнуться не правильно. По поводу ЭМС - скорее, тоже нет, т.к. плата маленькая и пробита аж тремя полигонами земли.
Но еще раз повторю: интересуют практические данные.
И еще: у нас часть линий около 15мм. Как это соотнести с ~0.2*trise.
Память рассчитана на 133 МГц. M12L64322A
Цитата(PCBExp @ Jan 13 2009, 10:23)

...И еще: у нас часть линий около 15мм. Как это соотнести с ~0.2*trise.
Память рассчитана на 133 МГц. M12L64322A
Чтобы считать линию электрически короткой нужно чтобы время распрочтранения сигнала по ней было не более 20% от минимального времени фронта. Чтобы оценить частоту наивысшей гармоники (в МГц) в цифровом сигнале нужно вычислить 0.5/trise, где trise - время фронта в нс. Отсюда и считаете время распространения синусоидального сигнала с этой частотой по вашей дорожке.
А вообще 15 мм для драйвера SDRAM на 133 МГц врядли будет длинной линией (но не стоит забывать про длину соединения между кристаттом и выводом корпуса, для больших BGA там могут быть сантиметры). Промоделируйте, например, в HyperLynx и будете более-менее уверены.
Кстати, у вас на шине кроме процессора и SDRAM ничего нет?
Память эта
http://www.esmt.com.tw/english/products_de...&CLASS_L4=0 ? Если да, то вроде такая модеть только на 166 и 200 MHz есть.
При разводке печатной платы укажите трассировщику выравнивать длины дорожек адреса, данных и сопровождающих сигналов.
Цитата(PCBExp @ Jan 13 2009, 08:15)

...По совету коллег из Германии удалили из шин адреса и данных резисторы...
Убивать за такие советы надо

Цитата(PCBExp @ Jan 13 2009, 11:23)

Память рассчитана на 133 МГц. M12L64322A
Вам принципиально использование конкретной этой памяти? Если нет, то попробуйте промоделировать с памятью другого производителя (Samsung, Micron).
Цитата(etoja @ Jan 14 2009, 14:39)

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

Эээ.. А какое это имеет отношение к обсуждаемой здесь проблеме under/overshoot???
Цитата(vik0 @ Jan 14 2009, 20:48)

Убивать за такие советы надо

Эээ.. А какое это имеет отношение к обсуждаемой здесь проблеме under/overshoot???
Не надо петушиться. Автор просил теоретиков не вмешиваться.
Моделирование очень часто не соответствует реальной жизни.
Выравнивание длин проводников выровняет задержки распространения сигналов.
denebopetukius
Jan 15 2009, 07:46
Если практика перечеркивает теорию, то либо в первой, либо во второй есть проблемы. И правильное моделирование (правильный CAD, параметры и условия) как правило в пределах 10% соответствует реальности в данных условиях (а если нет - значит что-то неучтено).
Кстати, красивая картинка в первом посте откуда, из какого CAD?
Осцилограф у Вас какой , на S3С4530 картинка в общем :-) то соотвествует описанию микроновской памяти, по крайней мере таких ужасов как у Вас нарисовано нет, правда там платочка не очень маленькая
Цитата(PCBExp @ Jan 13 2009, 12:15)

Коллеги. Сейчас делаем редизайн старого проекта на ARM7 (Samsung S34510, частота 50МГц). Устройство маленькое, места вообще нет. По совету коллег из Германии удалили из шин адреса и данных резисторы 33Ома (для экономии места). Помоделировали плату. С шиной адреса проблем нет. На шине данных, когда источник - процессор, то проблем тоже нет. Когда источник - SDRAM очень большие over и undershot-ы (см. аттач, фиолетовый - сигнал на ногах процессора). Хотелось бы понять эти выбросы помешают работе устройства или нет?
Господа. Огромная просьба, не пишите Ваши теоретические предположения не подкрепленные экспериментами. Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.
делал плату на EP9315 ARM9 200МГц, на SDRAM 100МГц. Перед разводкой смотрел очень много фоток разных мелких подобных платок. НИГДЕ не видел, чтобы в шине данных стояли резисторы. В шине адреса - да, некоторые особо боязливые ставят. На клоках - как правило у всех стоят порядка 33 ом. Много моделировал в гиперлинксе. Суть результатов примерно та же, что у Вас. Если источником выступает SDRAM (у меня - микрон), то на процессоре большие выбросы. Однако, величина выбросов сильно зависит от того, какую модельку SDRAM подсунуть гиперлинксу. Поставляемые в комплекте с гиперлинском, от самсунга, от микрона , и просто разные версии даже от одного производителя дают хоть и похожие, но разные результаты. В итоге, успокоив себя мировым опытом, в шину адреса и управления резисторы поставил (у проца), а на данные - нет. Выбрал кашерный стек ПП (до земли 0.18мм, лучше меньше, но привязан к технологии производителя), зазоры (2 ширины проводника для данных и управления, 3 ширины для клока - вычитал в каких-то рекомендациях интела) и вуаля - проблем со стабильностью нет. Водил руками, окончательный вариант смотрел в гиперлинксе, овершуты и андершуты были, но меньше Ваших, у меня при питании 3.3В овершут до примерно 4В. Под линуксом пускал тест памяти memtester - проблем нет.
Кстати, проблемные с точки зрения разводки платы на этом тесте могут глючить, о чем было обсуждение в другой ветке.
PCBExp
Jan 15 2009, 14:22
Картинка рождена в Hyper Lynx. Все делается в Expedition PCB (Mentor)
Модель памяти бралась для M12L64322A
К сожалению есть места где поставить даже 0402 счетверенные сборки проблематично, поэтому и интересует практический опыт тех кто проделывал тоже самое....
Цитата(PCBExp @ Jan 13 2009, 08:15)

Коллеги. Сейчас делаем редизайн старого проекта на ARM7 (Samsung S34510, частота 50МГц). Устройство маленькое, места вообще нет. По совету коллег из Германии удалили из шин адреса и данных резисторы 33Ома (для экономии места). Помоделировали плату. С шиной адреса проблем нет. На шине данных, когда источник - процессор, то проблем тоже нет. Когда источник - SDRAM очень большие over и undershot-ы (см. аттач, фиолетовый - сигнал на ногах процессора). Хотелось бы понять эти выбросы помешают работе устройства или нет?
Господа. Огромная просьба, не пишите Ваши теоретические предположения не подкрепленные экспериментами. Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.
слоев на плате сколько?
на 2х слойной плате будет хорошо если вы 40МГц достигните. да и там резисторы не особо помогут.
а вот на 4х слойной уже могут быть ньюансы, у меня без резисторов на 90-133МГц работало при 133МГц
зависит от платы и типа памяти, то есть согласование шины проц-память
.
Цитата(PCBExp @ Jan 15 2009, 16:22)

К сожалению есть места где поставить даже 0402 счетверенные сборки проблематично
А может 0201x2 подойдут ? Размер 0.8x0.6mm. И при разводке оперировать с двойками бывает удобнее.
PCBExp
Jan 16 2009, 06:11
Слоев у нас 6. Верхний и нижний уставлен компонентами. второй - полигон земли. 3 - дифпары и другие проводники в полигоне земли. 4 -ый немного проводниов и опять полигон земли. 5-ый полигоны питаний. основной 3.3вольта в нем маленькие полигоны остальных питаний. Основная масса данных и адресов в 1 и 6 слое и благодаря расстановке VIA на этих проводниках мало. У большинства микросхем шаг 0.5 мм. То есть сборки 0402 кладутся на эти шины без всяких раздвижек-сужений. Так что если придется рвать эти сигналы то только такими. Частота всего 50 МГц так что 133 не наш случай.
zltigo
Jan 16 2009, 08:03
Цитата(PCBExp @ Jan 16 2009, 09:11)

Частота всего 50 МГц так что 133 не наш случай.
Разговор опять скатился к совершенно пустому слову "частота", Вы-же, должны были уже понять, что означенные проблемы определяются исключительно длительностью фронтов которые у Вашей элементной базы заточены на работу на частотах в том числе и 133MHz. Посему 133MHz это имено Ваш случай, даже если "частота всего 1 герц".
Цитата(AlexN @ Jan 15 2009, 13:35)

при питании 3.3В овершут до примерно 4В. Под линуксом пускал тест памяти memtester - проблем нет.
Поблемы, как здесь уже писал
cioma, не исчерпываются прохождением или нет теста памяти

. Страдает и надежнось для некоторых чипов (например для Циклонов-3) явно указывают численные уменьшения времени наработки на отказ, для многих - нет, но по любому не хорошо.
Еще возникла идея. Если потребление DC не критично, то можно использовать параллельное терминирование (особенно если на шине более двух устройств). Тогда просто за приемником, на конце линии ставится резистор равнфй волновому сопротивлению линии. Чтобы избежать избыточного потребления можно сделать и AC-termination (резистор + конденсатор). Раз HyperLynx есть, то проверить варианты будет несложно.
Ну, а если гарантию больше года давать не будете да и в космос это не запускать, то можете рискнуть - возможно, количество отказов за такой относительно небольшой период не будет критичным. И ставьте SDRAM, рассчитанную не более чем на 100 MHz

.
Вы не в ту сторону оптимизируете- разводим шину под миниатюрные резисторные сборки (четверки обычно), но футпринт резисторов делаем с перемычкой. Берем две платы- на одной перемычки разрезаем и запаиваем резисторы, на второй- оставляем только перемычки. Делаем полный тестовый прогон (по температурам и напряжениям). Сравниваем число сбоев на двух экземплярах. Принимаем решение о выкидывании или невыкидывании резисторов из серии.
Dog Pawlowa
Jan 16 2009, 11:31
Цитата(AlexN @ Jan 15 2009, 13:35)

НИГДЕ не видел, чтобы в шине данных стояли резисторы.
Жаль, сейчас нет под рукой, а я раньше не разбирался внимательно - на стартките Olimex LPC2478 есть несколько резисторов, явно добавленных в уже спроектированную плату. В тему о радиолюбительстве
Цитата(khach @ Jan 16 2009, 13:33)

Принимаем решение о выкидывании или невыкидывании резисторов из серии.
Нелогично. Если работать будет, то выкидывать резисторы никто не будет.
А вообще-то сейчас сам участвую в подобном радиолюбительском эксперименте. Обязательно доложу результаты.
Цитата(PCBExp @ Jan 16 2009, 08:11)

Слоев у нас 6. Верхний и нижний уставлен компонентами. второй - полигон земли. 3 - дифпары и другие проводники в полигоне земли. 4 -ый немного проводниов и опять полигон земли. 5-ый полигоны питаний. основной 3.3вольта в нем маленькие полигоны остальных питаний. Основная масса данных и адресов в 1 и 6 слое и благодаря расстановке VIA на этих проводниках мало. У большинства микросхем шаг 0.5 мм. То есть сборки 0402 кладутся на эти шины без всяких раздвижек-сужений. Так что если придется рвать эти сигналы то только такими. Частота всего 50 МГц так что 133 не наш случай.
как уже сказали ранее - вам как раз при моделировании нужно добиться фронтов нужных, указанных в даташите на чип. по идее слоев земли должно быть 2 шт, 2й и 5й слои.
то что есть питание в слоях - это хорошо, еще важен их порядок.
хотя в вашем случае это может и не проявиться. Если Вы моделировали свою плату в гиперлинксе (хотя бы) с вашими чипами - и там не добились нужных фронтов - маловероятно что в реале они появятся.
Это из личного опыта.
.
Цитата(PrSt @ Jan 16 2009, 19:59)

по идее слоев земли должно быть 2 шт, 2й и 5й слои.
а как на шестислойке слои обычно роаскладваете ?
Цитата(dch @ Jan 19 2009, 06:02)

а как на шестислойке слои обычно роаскладваете ?
1 - top
2 - gnd/vccx (mix)
3 - data buses(for top) + analog buses
4 - data buses(for bottom)
5 - gnd/vccx (mix)
6 - bottom
слои 3-4 некрасиво выглядят. Моделирование показало что даже когда они пересекаются, то взаимное влияние незначительное, благодаря противоположным земля/питание.
В реале нужно стараться что бы дороги на них не пересекались.
Прочитал тему, решил тож проверить. LPC2478(60 МГц) + K4S561632E на двусторонней плате с ручной разводкой. Записывал по байтам в одну ячейку X а в следующую 255-X чтобы больше разнообразия было. После записи сразу проверка записанного и изменение X. Гонял пять часов и ни разу не обнаружилось никакого расхождения между записанными и считанными данными.Резисторов не ставил. Память эта по шиту на 166МГц, резкие фронты должны быть. Расстояние от проца до память 2 см плюс проц в LQFP шириной в 3см.
Может какой-то более продвинутый способ тестирования памяти надо использовать?
Кроме надежности записи есть еще проблема постепенного выгорания входов микросхем, а также проблема ЭМС. Ни первое ни второе программными тестами не отловить.
MikePic
Jan 23 2009, 08:43
Цитата(Wano @ Jan 23 2009, 10:54)

Может какой-то более продвинутый способ тестирования памяти надо использовать?
Я тоже заинтересовался темой. У меня на TMS320VC5509a стоит M48LC4M16A2-75G, работает на 96МГц. Резисторы 47Ом только в цепях ^RAS, ^CAS, ^WE, CLK. ТМСка постоянно работает с внешней памятью. Overshoot максимум 4,36В на A10/AP, которая без резистора, на адресах то же значение, длительность не более 3нс . На линиях с резисторами - максимум 3,76В.
Использовал ещё и память K4S641632K-UC75, на ней выбросы были в среднем на 0,1-0,15В больше.
MikePic
Jan 23 2009, 10:34
Извиняюсь, поспешил и представил не совсем точные результаты
Измерил активным щупом на осцилле TDS3044B. На Micron-овской памяти выбросы в самом худшем случае были не более ~0,3В на обоих фронтах. На Samsung-овской в самом худшем случае - ~0,4В. Расстояние между краями памяти и TMSки порядка 1см, самая длинная линия - 43мм, плата - 4 слоя.
Цитата(cioma @ Jan 23 2009, 10:21)

Кроме надежности записи есть еще проблема постепенного выгорания входов микросхем, а также проблема ЭМС. Ни первое ни второе программными тестами не отловить.
Глянул у LPC2478 адресные и линии данных рассчитаны на 5 вольт. Может ли всплеск от фронта в 3,3 вольта превысить 5 вольт?
aaarrr
Jan 23 2009, 19:52
Цитата(Wano @ Jan 23 2009, 10:54)

Записывал по байтам в одну ячейку X а в следующую 255-X чтобы больше разнообразия было.
Какое же тут разнообразие? Это скучное постоянство. Вы попробуйте лучше забить всю память псевдослучайной последовательностью, а потом считать и сверить. И так сутки хотя бы. На таком тесте замечательно падают системы, которые сутками могут нули/единицы/паттерны гонять.
Цитата(Wano @ Jan 23 2009, 10:54)

пять часов
а если чтото вылезет через десять пятнадцать лет?
Цитата(aaarrr @ Jan 24 2009, 01:52)

Какое же тут разнообразие? Это скучное постоянство. Вы попробуйте лучше забить всю память псевдослучайной последовательностью, а потом считать и сверить. И так сутки хотя бы. На таком тесте замечательно падают системы, которые сутками могут нули/единицы/паттерны гонять.
мне кажется, что паттерн бегущего нуля или единицы не так уж плох, поскольку позволяет создать максимальный кросстолк от соседних линий на на эту самую бегущюю фигню, и тем самым проверить грамотность разводки (ширины, зазаоры, расстояния до полигонов замли во внутренних слоях... С чем и столкнулся коллега
http://electronix.ru/forum/index.php?showtopic=34852ps разработчики тестов памяти не идиоты, для того и придумали разные паттерны, чтоб создать условия для возникновения ошибок в идиотски разведенных платах.
aaarrr
Jan 26 2009, 11:23
Цитата(AlexN @ Jan 26 2009, 10:01)

ps разработчики тестов памяти не идиоты, для того и придумали разные паттерны, чтоб создать условия для возникновения ошибок в идиотски разведенных платах.
Кто ж говорит, что идиоты? Псевдослучайная последовательность обычно входит в нормальный набор тестов. А ошибки на "идиотски разведенной плате" на ней выявляются быстрее и надежнее, ИМХО.
AlexandrY
Jan 26 2009, 12:24
Не то чтобы они полные идиоты, но старинные тесты явно потеряли актуальность.
Как бы понятно что SRAM, SDRAM и DDRAM надо по разному тестировать, а еще учитывать кэш, буферизацию, длину пакетов и порядок чередования байт в пакете.
Недавно открыл очень интересный тест.
Есть DDRAM которая замечательно прошла все тесты, и запись бегущими нулями и единицами, и запись случайными числами, и сверху вниз и снизу вверх и пачками и т.д.
Но когда попытался записывать сразу пачки регистров командой например: STMFD R0!, {R4-R12}
с определенным патерном заполнения регистров, то обнаружил искажение в старших адресах памяти на расстоянии 12-и байтов от адреса на который указывал R0
В программе этот баг приводит к совершенно срывающим крышу эффектам.
Основная его жертва - это контекст вызывающих функций.
Т.е вызываем функцию с определенным содержимым рабочих регистров которые в функцию не передаются, а после возвращения из нее какие-то регистры оказываются с искаженным содержимым.
Подозрение конечно падает на вызываемую функцию, но поиски ни к чему не приводят и крыша постепенно едет.
Причем включенный кэш еще сильнее маскировал эффект и еще больше затруднял поиски. Буфферизация типа back-write еще добавляла путаницы.
Цитата(aaarrr @ Jan 26 2009, 13:23)

Кто ж говорит, что идиоты? Псевдослучайная последовательность обычно входит в нормальный набор тестов. А ошибки на "идиотски разведенной плате" на ней выявляются быстрее и надежнее, ИМХО.
можно итог подводить: резисторы в шине данных "не повредят". Но гораздо важнее ширины проводников, грамотные зазоры между ними, правильное расстояние до слоя земли и разводка чтоб не было загогулин лишних и петель. Хотел написать строго ручная разводка, но подумал - а вдруг есть хорошие автоматы?
AlexandrY
Jan 26 2009, 14:26
До итога здесь как до луны.
Можно обсуждать и обсуждать.
Например мне кажется, что при расстояниях от uC до памяти меньше 2-3 см зазоры и ширины имеют не то значение которое им приписывают симуляторы типа Hyperlynx.
Такие проводники надо рассматривать как сосредоточенные индуктивности и учитывать сосредоточенные индуктивности вносимые via. Причем via на блокировочные конденсаторы. И индуктивности самих конденсаторов.
Понятно, что симуляторы таких расчетов не могут выполнить поскольку надо считать интегралы 3-го порядка и больше для 3-х мерных структур.
И именно сосредоточенные индуктивности создают овершутинги на крутых фронтах на близких расстояниях.
Отсюда собственно вывод, что если чипы не имеют возможности регулировки силы своих драйверов, то резисторы - единственный путь уменьшения овершутингов. И не то что бы они не повредят, а просто обязательны.
А вот петли и загогулины - зло неизбежное, поэтому играть на них бессмысленно.
Скажу даже больше, надо делать больше и разных загогулин и не тянуть шины строго параллельно, чтобы групповой фронт максимально возможно растянуть-размазать во времени в пределах наносекунды с целью уменьшения амплитуды звона в земле и питании.
Короче, стратегии дизайна для дальней и ближней памяти должны быть разные.
Цитата(AlexN @ Jan 26 2009, 15:41)

можно итог подводить: резисторы в шине данных "не повредят". Но гораздо важнее ширины проводников, грамотные зазоры между ними, правильное расстояние до слоя земли и разводка чтоб не было загогулин лишних и петель. Хотел написать строго ручная разводка, но подумал - а вдруг есть хорошие автоматы?
По поводу программных тестов.
В данном случае тесты должны быть для платы, а не для чипов памяти (которые a priori считаем безглючными). Отсюда и надо плясать, например для crosstalk - переключать 2 (а при плотной разводке и 4) соседних линии, для ground bounce - переключать все биты одновременно из 0 в 1 и наоборот итд.
По поводу расчетов в симуляторах. Естественно для моделирования в 3D необходимо что-либо посерьезнее HL (например, Sigrity или Ansoft). Но в первую очередь результаты моделирования зависят от моделей (IBIS, Spice), так что не стоит удивляться что HL и реальность могут расходиться - все зависит (С). При верных моделях и правильном проекте расхождение обычно не превышает 5-10%.
AlexandrY
Jan 27 2009, 12:29
Не факт что память априори должна считаться безглючной и кондиционной.
Во всяком случае именно она самый опасный источник непредсказуемого звона и в ней происходят сбои ну и в uС, а не на проводниках платы.
А еще есть резонансы провоцируемые паттернами, которые врядли симулирует Ansoft
Модели на дискретные компоненты также можно считать недоступными. А IBIS модели отвечают только за входы-выходы ничего не зная о внутренних коммутациях в IC отражающихся на выводах питания и сигналов.
А не зная физический интерфейс памяти трудно подобрать то самое критическое переключение.
Я для того и привел свой пример, чтобы показать, что работая на верхнем уровне абстракции памяти простые паттерны не помогают.
Цитата(cioma @ Jan 27 2009, 11:14)

По поводу программных тестов.
В данном случае тесты должны быть для платы, а не для чипов памяти (которые a priori считаем безглючными). Отсюда и надо плясать, например для crosstalk - переключать 2 (а при плотной разводке и 4) соседних линии, для ground bounce - переключать все биты одновременно из 0 в 1 и наоборот итд.
По поводу расчетов в симуляторах. Естественно для моделирования в 3D необходимо что-либо посерьезнее HL (например, Sigrity или Ansoft). Но в первую очередь результаты моделирования зависят от моделей (IBIS, Spice), так что не стоит удивляться что HL и реальность могут расходиться - все зависит (С). При верных моделях и правильном проекте расхождение обычно не превышает 5-10%.
Dog Pawlowa
Jan 27 2009, 14:21
Со времен памяти серии КР537 и процессора 580ВМ80А пришел к выводу, что если тест памяти длится меньше 10 минут, то он толком ничего не проверяет. Рекорд был когда сбой теста памяти происходил через 4-5 часов после запуска теста и это на 32 Кб ОЗУ.
Так что есть над чем работать, лучше не делать поспешных выводов.
Цитата(AlexandrY @ Jan 27 2009, 13:29)

Не факт что память априори должна считаться безглючной и кондиционной.
Во всяком случае именно она самый опасный источник непредсказуемого звона и в ней происходят сбои ну и в uС, а не на проводниках платы.
А еще есть резонансы провоцируемые паттернами, которые врядли симулирует Ansoft
Модели на дискретные компоненты также можно считать недоступными. А IBIS модели отвечают только за входы-выходы ничего не зная о внутренних коммутациях в IC отражающихся на выводах питания и сигналов.
А не зная физический интерфейс памяти трудно подобрать то самое критическое переключение.
Я для того и привел свой пример, чтобы показать, что работая на верхнем уровне абстракции памяти простые паттерны не помогают.
Я согласен что IBIS не дает всей необходимой информации для моделирования power integrity. Для signal integrity в большинстве приложений хватает адекватной IBIS модели (с этим тоже бывают проблемы

), для высокоскоростных интерфейсов - как правило HSPICE. Чтож до тестов, то я имел в виду реальные программные тесты на реальном железе, а не в симуляторе (где они ранее также должны быть проведены).
Под безглючностью памяти разумеется, что производитель просимулировал и протестировал данный дизайн чипа и корпуса, и качество в серии - повторяемо. Я, как разработчик платы, не могу улучшить чип памяти, но я могу улучшить плату. Потому я и говорю про "тестирование разводки"

. Если тест не проходит, то в подавляющем числе случаев виновата схемотехника и/или разводка, а не сама память (мы ведь говорим про нормалную память типа Micron или Samsung, так?). Конечно было бы классно и собственно чип памяти пртестировать, но, как заметил предыдущий оратор, ктож Вам расскажет его внутренне устройство, а без этого покрытие стандартных тестов будет невелико, что статистически можно несколько улучшить используя случайные последовательности при длительном тестировании.
AlexandrY
Jan 27 2009, 21:56
Мог бы согласиться лет десять назад.
А нынче дела хуже.
Errat-ы на процы читаете?
А на SDRAM видели?
Там пацаны хитрее, они все спихнут на нестыковку интерфейсов.
Но от этого не легче.
Тестировать память на сегодняшний день надо прежде всего для обкатки сопряжения контроллера памяти uC с чипами памяти
и для тюнинга производительности.
Цитата(cioma @ Jan 27 2009, 23:31)

Под безглючностью памяти разумеется, что производитель просимулировал и протестировал данный дизайн чипа и корпуса, и качество в серии - повторяемо. Я, как разработчик платы, не могу улучшить чип памяти, но я могу улучшить плату. Потому я и говорю про "тестирование разводки"

. Если тест не проходит, то в подавляющем числе случаев виновата схемотехника и/или разводка, а не сама память (мы ведь говорим про нормалную память типа Micron или Samsung, так?). Конечно было бы классно и собственно чип памяти пртестировать, но, как заметил предыдущий оратор, ктож Вам расскажет его внутренне устройство, а без этого покрытие стандартных тестов будет невелико, что статистически можно несколько улучшить используя случайные последовательности при длительном тестировании.
Согласен - нужно все учитывать

Что-то топикстартер молчит, поделился бы результатами, если уже платы сделали.
PCBExp
Jan 30 2009, 12:34
Цитата(cioma @ Jan 28 2009, 12:10)

Согласен - нужно все учитывать

Что-то топикстартер молчит, поделился бы результатами, если уже платы сделали.
Поделимся обязательно. Через недельку первый результат будет. Доску сделали но не собрали пока. Самим очень интересно...
Dog Pawlowa
Feb 25 2009, 09:28
Цитата(PCBExp @ Jan 30 2009, 15:34)

Поделимся обязательно. Через недельку первый результат будет. Доску сделали но не собрали пока. Самим очень интересно...
Ну а мы собрали доску. LPC2478+2x32 MB samsung.
Плата спроектирована в pCAD, человеком, впервые проектировавшим многослойку и корпуса >64 вывода.
Все работает, выбросы даже не проверяли.
А Вы их нормально и не сможете проверить

Когда это устройчтво проработает 10 лет - тогда и можно будет говорить что все работает
Dog Pawlowa
Feb 25 2009, 12:55
Цитата(cioma @ Feb 25 2009, 15:01)

А Вы их нормально и не сможете проверить ...
Да, я, конечно, погорячился

Нужно по крайней мере зарядить народ на тесты посложнее.
Пока тест проработал ночь. И то неплохо.
Это конечно нужно, но я несколько про другое. Если у Вас есть выбросы на фронтах сигнала (overshoot и undershoot) больше порогового защитных диодов (от статики) то эти самые диоды со временем деградируют и в конце концов откажут. После этого выбросы, а главное статика, пойдет на затворы полевиков, которые прикажут жить гораздо быстрее. В зависимости от условий этот процесс может занять месяцы или десятки лет, а может все будет 100 лет нормально работать. Но проблема в том что Вы при разработке закладываете потенциальный риск и повышаете вероятность отказа устройства.
Естественно, это только одна из проблем SI, но про нее многие и не подозревают.
Dog Pawlowa
Feb 26 2009, 08:39
Цитата(cioma @ Feb 25 2009, 20:49)

Но проблема в том что Вы при разработке закладываете потенциальный риск и повышаете вероятность отказа устройства.
А посоветуйте плз, как правильно поступить, и какой метод даст наиболее надежные результаты:
1) Проверить плату в соответствующей программе.
2) Проверить выбросы с помощью осциллографа.
3) Тупо перепроектировать плату с добавлением резисторов 20..33 Ом во все линии ША и ШД.
Так получилось, что сложность платы превысила уровень, принятый на фирме, и наработок нет ни по одному из направлений.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.