Доработка контроллера памяти DDR2 SDRAM МП Эльбрус-S для МП Эльбрус-S2 Научный руководитель: Шерстнёв Андрей Кожин Алексей, ФРТК 513 гр.
Эльбрус-S Частота работы ядра контроллера – 250 МГц Частота физического уровня DDR2 – 250 МГц Пропускная способность одного канала оперативной памяти 4 Гбайт/с (DDR2-500) Поддержка соотношений частот процессора и памяти 2:1 (3:1)
Постановка задачи Адаптация контроллера памяти МП Эльбрус-S для МПЭльбрус-S2 Доработка интерфейсных модулей Разработка более гибкой системы пересинхронизации (передача между доменами с различными соотношениями частот) Проведение тестирования Требования Два канала памяти типа DDR2 SDRAM Увеличение пропускной способности (использование памяти DDR2-800) Сохранение, по возможности, микроархитектуры ранее разработанных устройств Поддержка некратных соотношений частот Возможность настройки системы пересинхронизации для различных частот
Доработки контроллера памяти Частота работы ядра контроллера – 200 МГц Частота физического уровня DDR2 – 400 МГц Изменение частоты работы интерфейсов с памятью Часть логики контроллера стала работать на частоте DDR2, добавление пересинхронизаций 200 МГц 400 МГц Разработка модуля формирования команд на интерфейс DDR2: прием команд на частоте ядра, пересинхронизация на частоту памяти поддержка режима 2T (режим расширения фазы команды/адреса на интерфейсе DDR2 SDRAM до 2-х тактов)
Доработка интерфейсных модулей контроллера памяти Изменение частоты работы интерфейсов с памятью mc_mrg, mc_int – изменение схем пересинхронизации Расширение каналов выдачи данных: по чтению в другие процессоры при операции Чтение- Модификация-Запись Data Box MAU Канал данных Канал запросов sc_clk (500 МГц) phy_clk (400 МГц) MC#0 mc_mrg DDR2 physical iface mc_int#0 SC mc_clk (200 МГц) MAU – устройство обмена с оперативной памятью SC – системный коммутатор Data Box – коммутатор данных MC0,1 – одноканальные контроллеры оперативной памяти mc_mrg – модуль приема считанных данных mc_int – модуль интерфейса системы с контроллером памяти
Проблемы синхронизации Соотношения частот: 2/1 Системный домен (500 МГц) Ядро контроллера памяти (200 МГц) DDR2 (400 МГц) Вследствие доработок контроллера памяти и интерфейсных модулей увеличилось число доменов синхронизации и добавились новые соотношения частот Ядро контроллера памяти и DDR2 интерфейс (250 МГц), 5/4, 5/2 (фиксированы )
Известные методы пересинхронизации Асинхронное FIFO (данные пишутся на одной частоте, читаются на другой), использующее счетчики в коде Грея: Случайная временная диаграмма Большая задержка перед пересинхронизацией Пересинхронизация между любыми частотами Использование меток пересинхронизации (учет положения фронта высокой частоты относительно фронта низкой частоты) – МП Эльбрус-S Пересинхронизация только между доменами с фиксированными соотношением частот Минимальная задержка Фиксированная временная диаграмма
Обоснование выбора Соотношения частот известны Необходимо минимизировать задержку Благодаря фиксированным временным диаграммам облегчается поиск и устранение ошибок Используются метки пересинхронизации:
Формирование меток PATTERN REGISTER clabel Формирование указателя f_alignfdf_m clk Метка формируется на высокой частоте Текущее значение метки загружается из регистра Pattern Register, размер которого равен частоте биений f_align = НОД(fast_clk, low_clk) (в тактах высокочастотного домена) При формировании Pattern Register необходимо выбрать фронты передачи/приема При близких частотах (5/4) формируется дополнительная метка fdf_m – определяет режим работы контроллера памяти
Случай близких частот 400 МГц => 500 МГц Необходимо использовать дополнительную метку пересинхронизации и триггеры, работающие по отрицательному фронту синхросигнала 500 МГц 400 МГц clabel_i clabel_i_s Модуль пересинхронизации:
Сравнение контроллеров памяти СистемаЭльбрус-SЭльбрус-S2 Тип памятиDDR2-500DDR2-800 Максимальная пропускная способность памяти 8 Gb/s12,8 Gb/s Минимальное время доступа в память 60 ns
Результаты Выполнены необходимые доработки Verilog-описания контроллера памяти DDR2 SDRAM, позволившие увеличить пропускную способность Разработана гибкая система пересинхронизации Собран стенд для автономного тестирования Произведено тестирование в составе RTL-модели МПЭльбрус-S Характеристики Частота функционирования ядра контроллера памяти – 200 МГц Поддержка различных (и некратных) соотношений частот процессора и памяти Возможность управления формированием меток
Спасибо за внимание!