СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №2/2012

В ВЕДЕНИЕ Динамическая память получила очень широкое распространение в современных электронных устройст вах. Низкая стоимость хранения байта информации по сравнению с другими типами энергозависимой памяти поз воляет включать значительные объ ёмы динамической памяти даже в не дорогие устройства. По мере развития технологии производства динамичес кой памяти, появляются новые семей ства – DDR , DDR2 иDDR3 SDRAM. Каж дое последующее семейство работает на более высокой частоте и, соответ ственно, имеет более высокую ско рость передачи данных. Элементом хранения информации в динамической памяти является кон денсатор, поэтому требуется периоди ческая регенерация всех элементов массива для предотвращения потери информации. Управление массивом осуществляется при помощи контрол лера, который регенерирует память че рез определённые промежутки време ни и выполняет операции чтения/за писи. Минимальная рабочая частота памяти DDR3 SDRAMпри включенном блоке DLL составляет 303 МГц, что предъявляет повышенные требования к быстродействию контроллера памя ти при его реализации на недорогих ПЛИС, таких как Xilinx Spartan 6. В статье рассмотрена модель кон троллера памяти DDR3 SDRAM на язы ке Verilog, реализованная для ПЛИС ПРОГРАММИРОВАНИЕ 66 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 2 2012 Spartan 6, которая входит в состав отла дочной платы SP605. Проект был раз работан в среде PlanAhead v13.3, симу ляция проводилась с использованием программы ModelSim 6.4a. Исходные файлы проекта находятся в архиве DDR3_sources.zip на интернет страни це журнала. На плате SP605 установлена микро схема DDR3 SDRAM MT41J64M16LA 187E фирмы Micron. Эта память объ ёмом 1 Гбит организована по схе ме 8М × 16 × 8, т.е. содержит восемь бан ков; ширина шины данных составляет 16 бит. Более подробная информация об этой микросхеме памяти и принци пах работы памяти DDR3 SDRAM со держится в [1]. В статье [2] приведено описание контроллера более медлен ной динамической памяти – DDR SDRAM. Этот материал также может быть полезен при построении кон троллера памяти DDR3 SDRAM. С ИСТЕМА НА КРИСТАЛЛЕ Файл верхнего уровня проекта sopc.v, блок схема которого изображе на на рисунке 1, содержит в своём со ставе контроллеры UART, шины Wish bone и памяти DDR3 SDRAM, а также блоки синтеза частоты (PLL, ФАПЧ) и управления портами ввода/вывода. Контроллер UART [3] формирует ко мандычтения/записи данных нашине Wishbone. Контроллер памяти декоди рует эти команды и генерирует управ ляющие сигналы для памяти, которые вместе с данными передаются через блок контроля портов ввода/вывода. Частоты, необходимые для работы па мятиDDR3 SDRAMи контроллера, фор мируются блоком синтеза частот. В данной версии контроллера использу ются следующие частоты: ● 33МГц– рабочая частоташиныWish bone и UART; также используется в контроллере памяти в цепях интер фейса с вышеуказанными блоками; ● 83 МГц – основная рабочая частота контроллера; ● 167 МГц – частота ввода/вывода, на которой конечные автоматы кон троллера памяти взаимодействуют с блоком контроля ввода/вывода; ● 667МГц – высокая частота блока вво да/вывода, из которойформируется рабочая частота памяти 333,5 МГц. Обозначения сигналов на языке Veri log отвечают следующим правилам: ● все сигналы, имеющие в своёмназва нии _n_, активны при лог. 0, в про тивном случае – при лог. 1. Напри мер, сигнал reset_n_o активен при лог. 0, а сигнал cke_o – при лог. 1; ● если сигнал оканчивается на _o, зна чит, это выходной сигнал модуля (output), если на _i – значит, сигнал является входоммодуля (input), _io – двунаправленный сигнал. Примеры: adr_o – выходной сигнал, rst_i – входной сигнал, dq_io – двунаправ ленный сигнал; ● если название сигнала оканчивается на _w, значит, он относится к типу «провод» (wire); если на _r – сигнал является регистром. Например, rd_w, rd_done_r. Рассмотрим более подробно работу контроллера памяти. К ОНТРОЛЛЕР ПАМЯТИ Файл верхнего уровня контроллера памяти расположен вфайле ddr3_top.v, а его блок схема изображена на рисун ке 2. Контроллер шины Wishbone ра ботает только в режиме ведомого устройства (slave). Этот контроллер декодирует команды и обеспечивает приём/передачу данных; 32 битный адрес на шине Wishbone передаётся модулю трансляции адреса. В этоммо дуле 32 битный адрес разбивается на адреса банка, строки и столбца по сле дующему правилу: Контроллер шины Wishbone Контроллер портов ввода/ вывода Контроллер памяти DDR3 SDRAM Контроллер UART Блок синтеза частот (PLL) К памяти DDR3 SDRAM Рис. 1. Блок схема системы на кристалле Контроллер памяти DDR3 SDRAM Алексей Гребенников (г. Актау, Казахстан) Статья содержит описание контроллера памяти DDR3 SDRAM на языке Verilog. Рассмотрены принципы действия блоков контроллера и схемы конечных автоматов основных модулей. Подробно описана схема ввода/вывода ПЛИС Spartan 6 с использованием блоков ISERDES2/OSERDES2 и линий задержки IODELAY2. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy