Советы по отладке и проверке памяти DDR
с помощью широкополосного осциллографа смешанных сигналов
Мин-Джи ЧОНГ (Min-Jie CHONG)
Память DDR, известная также как синхронное динамическое оперативное запоминающее устройство с удвоенной скоростью обмена данными, получила в настоящее время широчайшее распространение и используется практически везде — от компьютеров, мобильных телефонов и домашних развлекательных систем до медицинского оборудования и бытовой техники. В связи с широким распространением DDR новые разработки предъявляют все более жесткие требования к производительности и энергопотреблению памяти DDR. Благодаря улучшенным характеристикам все чаще в новых разработках используются новые технологии DDR, такие как DDR3 (третье поколение DDR) и LPDDR (DDR с малым энергопотреблением).
На первый взгляд может показаться, что память DDR очень проста и не таит неожиданностей, однако высокие скорости обмена данными и низкое напряжение питания этих устройств могут быстро привести к выходу режимов работы устройства за пределы расчетных допусков. Кроме того, проверка интерфейса DDR быстро превращается в объемную и сложную задачу. Не забывайте, что интерфейс DDR относится к одному из самых сложных высокоскоростных интерфейсов в связи с большим числом выводов запоминающего устройства и высокими скоростями передачи, достигающими скоростей таких последовательных шин, как USB2.0 и PCI-Express. И хотя для проверки характеристик физического уровня интерфейса DDR широко используются осциллографы, сложность технологии DDR сильно затрудняет проверку и отладку с помощью обычных осциллографов. Обычные осциллографы не позволяют выполнить более сложные операции, такие как запуск по определенным командам, декодирование состояний и отладка протокола. В статье будут описаны некоторые проблемы, возникающие во время работы с памятью DDR, и приведены способы преодоления этих проблем с помощью осциллографа смешанных сигналов (MSO).
Проблемы проверки
Память DDR имеет достаточно сложный интерфейс. И дело не только в том, что интерфейс DDR состоит из параллельных сигналов несимметричного типа, скорость
которых превышает скорость многих последовательных шин. Интерфейс DDR содержит множество сигналов, соединяющих контроллер памяти с микросхемой памяти DDR. В типичном устройстве DDR присутствует более 20 сигналов, которые включают тактовую частоту, 6 управляющих сигналов, 12 сигналов адреса, строб и 8 сигналов данных. Во время инициализации контроллер памяти подает на микросхему DDR команду по линиям управляющих сигналов. Обычный осциллограф, имеющий всего 4 аналоговых канала, вряд ли сможет определить тип команд, передаваемых по интерфейсу DDR. Ограниченное число каналов исключает и возможности запуска обычного осциллографа от разных команд, поскольку для этого, скорее всего, понадобится подключить все 6 управляющих сигналов.
Но даже если вам удастся определить команду или состояние по ограниченному числу управляющих сигналов, вы все равно столкнетесь с трудностями сопоставления сигналов с таблицей истинности, приведенной в техническом описании DDR, и с необходимостью ручного декодирования текущих команд по логическому состоянию каждого из управляющих сигналов. Хотя это и возможно, такая процедура отнимает массу времени, сильно подвержена ошибкам и может стать серьезным испытанием при работе с длинными осциллограммами и необходимости ручного декодирования сотен, если не тысяч команд. Диагностика неисправностей может быть сильно затруднена в связи с невозможностью получения информации в режиме реального времени на экране осциллографа.
В связи с ограниченным числом каналов осциллографа может оказаться, что вы так и не сможете выполнить нужные измерения интересующих сигналов. Например, можно подать на осциллограф сигнал тактовой частоты и 3 управляющих сигнала, полностью исчерпав на этом число доступных каналов. В результате вы уже не сможете взглянуть на сигналы адреса, с помощью которых контроллер памяти пытается получить доступ к данным, передаваемым по шине DDR.
Возможность выделения операций записи (Write) и чтения (Read) играет важнейшую роль в проверке контроллера памяти и микросхемы DDR. Поскольку операции записи и чтения по шине DDR используют одни и те же сигналы строба и данных, невозможность разделения этих операций означает, что захваченные осциллографом сигналы будут содержать данные обеих операций. Это не позволит эффективно охарактеризовать контроллер памяти и микросхему DDR. В этом случае разделение можно выполнить только по управляющим сигналам команд чтения и записи, и осциллограф с ограниченным числом каналов делает эту операцию практически невозможной. Но, может, существуют другие, действительно эффективные методы разделения операций чтения и записи?
Если приведенные примеры вас не убедили, не забывайте, что вам еще понадобится время на проверку каждого параметра, описанного в спецификациях JEDEC. Поскольку список тестов может быть длинным, зачастую бывает трудно исчерпывающе выполнить каждый тест. Проводить измерения вручную, может быть, неудобно, но ситуация станет еще
хуже, если результаты записывать вручную, а затем оформлять акт испытаний. Существуют ли готовые средства, способные упростить такую работу? Помимо всего прочего, весьма непростой задачей может оказаться диагностика отказов, происходящих на физическом уровне и уровне протокола. Обычно для этого используется логический анализатор и осциллограф, но это приводит к росту затрат и требует более высокой квалификации. В свете описанных проблем, связанных с применением обычных осциллографов, неудивительно, что существует огромная потребность в новых осциллографах, имеющих более 4 входных каналов, а также обладающих новыми возможностями для проверки и отладки интерфейса DDR.
MSO открывает новые возможности
Осциллограф (рис. 1), названный осциллографом смешанных сигналов (MSO), имеет не только 4 аналоговых канала, но и встроенные логические каналы, причем все эти каналы коррелированы по времени внутри прибора. Его можно представить как инструмент-гибрид, объединяющий в себе функции обычного осциллографа и логического анализатора. Благодаря дополнительным каналам вы можете теперь подавать управляющие сигналы на логические каналы MSO и без труда осуществлять запуск по разным командам, таким как активация (Activate), предзаряд (Precharge), чтение (Read) и запись (Write), одновременно высвобождая аналоговые каналы для выполнения измерений соответствующих сигналов на физическом уровне. Теперь MSO позволяет выполнять и другие типы измерений протокола, включающие сложный запуск по нескольким управляющим сигналам, например комбинации задержки записи (Write Latency) и автопредзаряда (Auto-Precharge).
Кроме того, MSO дает возможность определения состояний и декодирования команд интерфейса DDR. В прежние времена приходилось декодировать команды вручную, а теперь MSO может автоматически декодировать эти команды. В результате вы сразу видите тип команды, присутствующей на трассе, и можете полностью сосредоточиться на проверке и отладке. Благодаря этому можно быстро настроить осциллограф на выделение нужной команды. Например, можно осуществлять запуск по команде записи с помощью логических каналов и делать параметрические измерения сигналов строба и данных. Это позволяет выполнять проверку, которую раньше можно было делать только с помощью логического анализатора.
Аналоговые и логические каналы осциллографа смешанных сигналов (MSO) обеспечивают сложные функции запуска, позволяют декодировать состояния и выполнять измерения протокола, что делает возможной проверку и отладку памяти DDR, далеко выходящую за пределы возможностей обычных осциллографов.
Кроме того, логические каналы позволяют одновременно наблюдать другие дополнительные сигналы, такие как сигналы адреса и данных, что невозможно сделать с помощью обычного осциллографа. Благодаря этому вы можете более эффективно изучать другую информацию на интерфейсе DDR. А в сочетании с аналоговыми каналами логические каналы могут стать мощнейшим инструментом отладки, поскольку расширенные функции перекрестного запуска по аналоговым и логическим каналам позволяют быстро локализовать проблемы физического уровня и уровня протокола. Определив тип отказа, произошедшего на интерфейсе DDR, вы сможете быстро решить проблему на уровне схемы.
Дополнительные возможности проверки
Чтобы сократить длительность и трудоемкость проверки, многие операции можно автоматизировать с помощью встроенных в MSO автоматических функций. Эти автоматизированные процедуры позволяют многократно повторять измерения каждого параметра и тщательно анализировать сигнал, предоставляя статистические характеристики, копии экрана и результаты наихудшего случая. Требуется лишь подать необходимые сигналы на MSO, выбрать тесты джиттера
Рис. 1. Осциллограф смешанных сигналов (MSO)
тактовой частоты и запустить тест. Кроме того, это программное приложение автоматически генерирует акты испытаний для архивации или обмена с другими подразделениями. Это дает огромные преимущества, поскольку программное приложение берет на себя рутинную работу, избавляя от проведения измерений вручную.
Программное приложение для работы с DDR показывает результаты тестирования параметров JEDEC и сообщает о прошедших тестах (без пометки), не прошедших тестах (помечены красным) и о тестах, прошедших с предельными значениями параметров (помечены желтым) (рис. 2). Быстрое получение результатов помогает определить, какую часть конструкции надо исправить.
Помимо простого применения логических каналов MSO для разделения команд записи и чтения, функция запуска по зонам позволяет выделить зоны на экране осциллографа для визуального разделения
Рис. 2. Результаты тестирования параметров
Удаление переходов DQS для запуска от бита преамбулы
Запуск по биту преамбулы записи —5В6ЯЗ Удаление бита преамбулы чтения {
Запуск по зонам по биту преамбулы ■ «Не должно пересекаться»
Запуск по зонам по циклу записи ■ «Должно пересекаться»
Логический канал, / показывающий информацию DQ передаваемую по шине DDR
Рис. 3. Применение функции MSO запуска по зонам
двух команд на сигналы строба и данных, не занимая для этого логические каналы. Функция запуска по зонам позволяет отслеживать интересующие вас сигналы в зависимости от того, пересекают они зону или нет. На рис. 3 сигнал DDR демонстрирует легко распознаваемую структуру сигналов чтения и записи в режиме бесконечного послесвече-
ния экрана. Сигнал записи успешно выделен из команд чтения и записи с помощью запуска по зонам MSO. Логические каналы освобождаются для наблюдения команд и данных на шине DDR.
Осциллограмма показывает особенности структуры, поскольку электрические характеристики контроллера памяти и микросхе-
мы DDR не могут быть одинаковыми. Вы можете наблюдать особенности на сигнале строба (желтая осциллограмма). На основе этих особенностей и с помощью функции запуска по зонам вы можете разделить запись и чтение, пользуясь только сигналами строба и данных. Преимущество этого метода в том, что он высвобождает еще больше логических каналов, которые можно использовать для регистрации сигналов адреса и данных, вместо того чтобы использовать их для разделения команд чтения и записи.
По мере развития технологии DDR проверка и отладка памяти DDR с помощью обычного осциллографа становятся все сложнее в связи с ограниченным числом аналоговых каналов. MSO позволяет преодолеть большинство этих трудностей и предлагает больше измерительных возможностей, далеко выходящих за пределы измерения одного только физического уровня. Теперь вы можете выполнять сложный запуск, декодировать состояния, выполнять измерения протокола, а также получить доступ к расширенным функциям отладки с помощью логических каналов MSO. Используя их вместе с существующими автоматизированными функциями и функциями запуска по зонам, вы получаете множество разнообразных возможностей, которые ускорят работу и снизят ее трудоемкость. В конечном итоге это обеспечивает повышение качества и сокращает время выхода на рынок разрабатываемых вами изделий. ■