|
|
  |
Демпферные резисторы в линиях контроллер-SDRAM, Насколько они необходимы? |
|
|
|
Sep 27 2005, 14:29
|

Профессионал
    
Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661

|
Цитата(AndyBig @ Sep 27 2005, 17:16) Но когда требуется, к примеру, инкрементировать каждое значение огромного массива данных, кэш очень мало помогает. Почему? Обратились к первому элементу массива не попали в кэш, считали строку кэша, содержащую несколько элементов массива, инкрементировали эти элементы, не обращаясь в к внещней SDRAM, потом снова не попали в кэш, вытолкнули первую строку. На инткрементирование нескольких элементов попадающих в строку ушло два обращения к памяти.
|
|
|
|
|
Sep 27 2005, 15:41
|

Профессионал
    
Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661

|
Цитата(AndyBig @ Sep 27 2005, 18:01) Обращений было столько, сколько слов было считано. Под обращением я имею в виду выставление адреса строки, адреса колонки, чтение/запись самой строки кэша (нескольких слов). Cамо слово действительно читается за 1 Master clock, без этих операций. Но нас то интересует на сколько MasterClock-ов будет занята шина. При включенном кэше обращение к SDRAM сводится к операциям между кэшем и SDRAM. А он, как правила, общается целиком строками.
|
|
|
|
|
Sep 29 2005, 19:11
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Начиная где-то с PCI-ных 33 МГц, а может, и при гораздо меньших частотах, вопрос о том, ставить или нет согласующие резисторы даже не должен возникать - конечно ставить. Начиная с тактового сигнала - это в первую очередь. Его, к тому же, надо разводить по методу точка-точка от источника (это замечание важно, если у вас несколько потребителей). Затем по приоритету идут сигналы управления. А на частотах выше 66 МГц профессионально выполненный дизайн мог бы и на линиях данных-адреса согласующие сопротивления иметь. Поверьте: дешевле заложить это сейчас, чем потом страдать от плохого качества сигналов при попытках отловить нестабильно проявляющиеся "демонические" баги (это те, вначале были, потом, вроде, самоликвидировались, а перед завершением работ на ночном прогоне опять вдруг появились :-)). Наука утверждает, что на таких частотах дорожки на печатной плате надо рассматривать как длинные линии. Так давайте же их и будем так рассматривать, а значит, проявлять к ним должное уважение. Ударим согласующим резистором по бездорожью, т.е., по плохому сигналу!  ... Напоследок приведу пару примеров из собственного опыта. 1. Резко отрицательный. Линия тактирования последовательного канала нескольких DSP от TI была разведена в виде развесистого дерева, согласующих резисторов нету вовсе, частота тактирования - всего 2 МГц!! (из-за этого, собственно, мы и пренебрегли всеми элементарными правилами. И как скоро оказалось - очень зря!). Вот уж была проблема, так проблема: время от времени, совершенно случайно и редко к тому же (просто беда для дебагирования), происходили сбои в передаче данных по последовательному каналу. Неделю или даже больше мы потратили на последовательное сужение круга подозреваемых, и в конце концов виновник был найден. Им оказался малюсенький такой горбик на фронте клока, наблюдавшийся в точке прихода клока к конкретному DSP (в дополнение ко всему, не все DSP еще и были подвержены этой проблеме с искажением данных!). А возникал этот горбик из-за отсутствия согласования и многочисленных отражений в нашей весьма неоднородной линии передачи тактового сигнала (развесистое дерево). Решить проблему удалось, подрезав кое-где дорожки и напаяв навесные провода, разводящие клоки от источника к каждому потребителю персонально, через согласующие резисторы (хорошо плата прототипная была, допускалась еще одна итерация в разработке, а не то...). 2. Положительный. Коммуникационный контроллер с SDRAM, работающей на частоте 50 или 66 МГц. Согласующие резисторы на линиях управления и клоков, клоки разведены по методу точка-точка. Все стабильно работало, несмотря на то, что шина данных и адреса представляла из себя довольно рискованную развесистую и несколько длинноватую конструкцию (по другому было чипы не расположить, получалось только еще хуже).
|
|
|
|
|
Sep 30 2005, 06:08
|

Знающий
   
Группа: Модераторы
Сообщений: 804
Регистрация: 1-12-04
Пользователь №: 1 283

|
Цитата(Paul @ Sep 30 2005, 09:12) Все вышесказанное про топологию и резисторы напоминает гадание на кофейной гуще. Самое надежное будет промоделировать линии (хотя бы одну) на предмет отражений в любом профессиональном САПРе (Cadence SPB, Hyperlinx, ADS и т.д.). Попробуйте промоделировать поведение сигнала проходящего через переходные отверстия. Так что моделировать безусловно надо, но некоторая доля "гадания на кофейной гуще" останется.
--------------------
Иван Сусанин - первый полупроводник
|
|
|
|
|
Sep 30 2005, 07:04
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
Цитата Поверьте: дешевле заложить это сейчас, чем потом страдать от плохого качества сигналов Именно поэтому я и начал выяснять все эти вопросы еще на этапе проектирования схематики - хотелось бы заложить максимум защиты от всяческих бяк до разводки и отдачи в производство платы  . Промоделировать в Hyperlynx-е я обязательно попробую. Правда, придется еще позадавать вопросы и по самому Hyperlynx - я в нем за пол-дня так и не смог до конца разобраться  . А вообще - огромное спасибо всем ответившим, в этой новой для меня области я узнал очень много нового и полезного  .
|
|
|
|
|
Oct 5 2005, 04:37
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 9-08-04
Из: /home/gentoo
Пользователь №: 470

|
Цитата(AlexandrY @ Oct 4 2005, 22:40) В мобилах и SDRAM и DDRAM делают без всяких резисторов. А частоты там бывают под 100 МГц. Резисторы вообще если стявят, то не для согласования, а чтобы убрать перенапряжения на фронтах, а то некоторые чипы от них умирают. Даже элементарная логика говорит, что если согласовывать, например шины данных, то на обоих концах надо ставить резисторы, а ставят почему-то только в одном месте. Это очевидно, не для согласования. Чем гадать зачем и почему, проведите моделирование какой-либо шины, и сами увидите, какие резисторы помогают, а какие нет, ставить один или несколько. Перенапряжение здесь непри чем, а резисторы ставят на линиях именно для согласования и чем выше частота, тем лучше надо согласовывать. Зачем это нужно и как это делать многократно описано в книгах по SI.
|
|
|
|
|
Oct 5 2005, 08:02
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 9-08-04
Из: /home/gentoo
Пользователь №: 470

|
Цитата(AlexandrY @ Oct 5 2005, 10:43) Моделировать здесь смешно. Вы убьете кучу времени на разработку, перепроверку своей модели, поиск моделей IO-портов компонентов (многих их которых просто не найдете), и придете к выводу, что согласовывать тут нечего. Согласование - это термин все таки в данном контексте неуместный. Плыты с плотной компоновкой меньше всего нуждаются в согласовании. У Вас сильно устаревшие данные. Все нормальные производители предоставляют модели своих компонентов. На все компоненты, работающие на частотах более 10 МГц, модели доступны. Искать только надо уметь. Согласовывать везде есть чего, если хочешь получить нормальный результат, просто где-то это более важно, а где-то нет. А на частотах более 50 МГц согласование обязательно, или хотя бы проверка согласования. Не надо также забывать, что многие современные микросхемы имеют в своем составе элементы согласования - фиксированные или управляемые внешними сигналами. Плотная компоновка как раз наиболее критична к качеству линий. Близко расположенные проводники обладают существенной взаимной связью, которая может привести к негодности платы. А на счет кучи времени - учите матчасть и набирайтесь опыта - не понадобится куча времени.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|