СОВРЕМЕННАЯ ЭЛЕКТРОНИКА 2011-1

В ВЕДЕНИЕ Отладочная плата DK START 3C25N, краткое описание которой было при ведено в [1], содержит ПЛИС Altera EP3C25F324C6иряд устройств, которы миэтаПЛИСможетуправлять, втомчис ле, динамическуюпамятьA2S56D40CTP. Эта память относится к DDR SDRAM и организованапоструктуре4Мбит × 16 × 4. В данной статье рассмотрена реализа цияконтроллерадинамическойпамяти на языке Verilog. Обмен даннымимежду платой и компьютером осуществляется через интерфейс VJTAG, подробно рас смотренный в [1]. П РИНЦИП ДЕЙСТВИЯ ДИНАМИЧЕСКОЙ ПАМЯТИ Массив запоминающих элементов в динамической памяти поделен на че ПРОГРАММИРОВАНИЕ 60 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 1 2011 Контроллер DDR SDRAM для платы DK START 3C25N Алексей Гребенников (Актау, Казахстан) В статье подробно описано построение контроллера памяти DDR SDRAM на языке Verilog для отладочной платы DK START 3C25N. тыре банка (bank). Каждый банк состо ит из набора строк (rows) и столбцов (columns). Управление памятью осу ществляется при помощи команд, фор мируемых определённым набором сигналов CS ~ (Chip Select), RAS ~ (Row Access Strobe), CAS ~ (Column Access Strobe), ~ WE (Write Enable), BA[1..0] (Bank Address), A[12..0] (Address), CKE (Clock Enable). Элементом хранения информации в динамической памяти является кон денсатор. В связи с этим возникает не обходимость периодической регене рации памяти, т.е. подзарядки конден саторов. Параметр tREFI определяет средний интервал времени между дву мя командами регенерации памяти. Одна команда выполняет регенерацию одной строки всех четырёх банков. Поскольку в данной памяти 8192 стро ки, полный цикл регенерации занима ет время 8192 × tREFI . Динамическая память должна быть инициализирована. После включе ния питания необходимо подождать 200 мкс, а затем подать определённую последовательность команд. После завершения цикла инициализации память переходит в режим ожидания (IDLE) и может выполнять команды контроллера. Каждое состояние па мяти в рабочем режиме описывается конечным автоматом, структура ко торого будет рассмотрена ниже. Бо лее подробно работа динамической памяти описана в спецификации фирмы производителя [2] и в брошю ре фирмы Micron [3]. К ОНТРОЛЛЕР ПАМЯТИ Контроллер памяти был построен в среде Quartus II 9.0 Web Edition, cимуляция проекта выполнялась с по мощью программы ModelSim 6.4a. Полный архив проекта в среде Quar tus содержится в файле vjtag_i_top.qar . Файлы, необходимые для моделирова ния, находятся в архиве ddr_cntr1.zip , а управляющий сценарий на языке Tcl – в файле cpanel.tcl . Этот мате риал можно найти на сайте журна ла в дополнительных материалах к статье. Блок схема контроллера приведе на на рисунке 1. Команды компью тера принимаются VJTAG контрол лером vjtag_decoder.v , подробно опи санным в [1]. Затем 72 битный вектор данных поступает на вход блока ddr_decode.v , где разделяется на дан ные для памяти, команду (запись, чте ние и т.д.) и адрес. Блок ddr_decode.v определяет схему трансляции 32 бит ного адреса в адрес, необходимый для памяти DDR SDRAM (номера банка, строки и столбца). Из множества схем трансляции выбрана самая простая, называемая flat mapping. При этой схеме два старших бита адреса пред ставляют номер банка, следующие тринадцать битов – номер строки, за тем девять битов определяют номер столбца и самый младший бит игно рируется, т.к. минимальной адресу Трансляция адреса ddr_decode.v ddr_cntr.v ddr_ba_in, ddr_r_in, ddr_c_in ddr_cmd_in ddr_data_in ddr_data_out ddr_pll_in ddr_pll_90 ddr_test_clk ddr_test_out ddr_dqs_en ddr_dq_en ddr_dq ddr_cmd ddr_a ddr_dqs ddr_clk ddr_cke ddr_init _fsm.v ddr_fsm.v Тестовая логика Контроль данных Мультиплексор адреса DDR SDRAM Мультиплексор команд Команды Данные PLL Контроль КА Начальная задержка Основной счетчик От контроллера VJTAG Рис. 1. Блок схема контроллера памяти DDR SDRAM © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy