ООО ЭФО
Поиск по складу
Программа поставок 2016
Сегодня
www.powel.ru
источники питания
www.korpusa.ru
конструктивы и корпуса РЭА
www.wless.ru
беспроводные технологии
www.mymcu.ru
микроконтроллеры
altera-plis.ru
микросхемы Altera
www.infiber.ru
волоконно-оптические
компоненты в
промышленности
www.efo-power.ru
силовая электроника
www.efo-electro.ru
электротехническая
продукция
www.efometry.ru
контрольно-измерительные приборы
www.golledge.ru
кварцевые резонаторы и генераторы Golledge
www.sound-power.ru
профессиональные усилители класса D
Поиск по сайту
Подписка на новости

Система менеджмента
качества сертифицирована на соответствие требованиям:
ISO 9001, ГОСТ Р ИСО 9001 и СРПП ВТ - подтверждено сертификатами соответствия в системах сертификации Русского Регистра, ГОСТ Р, международной сети IQNet, "Оборонсертифика" и "Военный Регистр".

ООО "ЭФО" в 2011г. получило Лицензию Федеральной службы по экологическому, технологическому и атомному надзору на изготовление оборудования для ядерных установок.


Rambler s Top100



ChipFind - поисковая система по электронным компонентам
EEN
webmaster
Санкт-Петербург: (812) 327-86-54  zav@efo.ru Москва: (495) 933-07-43  moscow@efo.ru Екатеринбург: (343) 278-71-36  ural@efo.ru Пермь: (342) 220-19-44  perm@efo.ru
Казань: (843) 518-79-20  kazan@efo.ru Ростов-на-Дону: (863) 220-36-79  rostov@efo.ru Н. Новгород: (831) 434-17-84  nnov@efo.ru Новосибирск: (383) 286-84-96  nsib@efo.ru
о нас склад библиотека статьи
 
Использование контроллера SDRAM реконфигурируемых систем на кристалле семейства A7 фирмы Triscend
Виктор Березин   
Роман Золотухо
bvv73@mail.ru
roman@efo.ru




Реконфигурируемые системы на кристалле (CSoC) семейства A7 фирмы Triscend [1] имеет в своем составе аппаратный блок интерфейса внешней памяти MSSIU (Memory Sub-System Interface Unite). Этот блок позволяет работать с различными видами внешней памяти - статической (Flash-ПЗУ, SRAM) и синхронной динамической (SDRAM). Наибольшей информационной емкостью и наименьшей стоимостью хранения бита информации обладают микросхемы динамической памяти. Это преимущество SDRAM достигается за счет более сложного механизма управления динамической памятью по сравнению со статической. Рассмотрим возможности встроенного аппаратного интерфейса CSoC семейства A7 при организации подсистемы динамической памяти в устройствах цифровой обработки сигналов.

Блок MSSIU ориентирован на работу с синхронной динамической памятью SDRAM емкостью до 256 мегабайт. Устройства динамической памяти могут иметь различную емкость : 64, 128, или 256 мегабит, и различную разрядность данных : 8 или 16 бит. Контроллер SDRAM, входящий в состав блока MSSIU, поддерживает внешнюю подсистему памяти с разрядностью данных до 32 бит с возможностью осуществления 8-, 16- и 32-битных транзакций. Например, если внешняя динамическая память является 8-битной, то для осушествления пересылки 32-битного слова SDRAM контроллер сформирует четыре эквивалентных обращения к памяти. Формирование таких последовательных циклов пересылки происходит прозрачно для программного обеспечения процессорного ядра CSoC. Блок MSSIU позволяет встроенными средствами организовать подключения до двух банков памяти, причем в каждом банке может быть до четырех микросхем SDRAM. Интерфейс с динамической памятью рассчитан на частоты синхронизации до 60 МГц, что позволяет применять микросхемы SDRAM с временем доступа 8 ns и меньше.

Перед ознакомлением с возможностями встроенного контроллера SDRAM кратко остановимся на особенностях самих микросхем динамической памяти. В микросхемах SDRAM внешние управляющие сигналы фиксируются положительным фронтом сигнала синхронизации и используются для формирования команд, управляющих процессами в запоминающей матрице. Такие микросхемы являются устройствами с программируемыми параметрами, со своим набором команд, внутренней организацией чередования банков и т.д. Настройка микросхемы SDRAM производится путем программирования внутреннего регистра режима работы (Mode Register). На рис. 1 приведен формат такого регистра применительно к микросхеме фирмы Micron MT48LC32M8A2 с информационной емкостью 256 мегабит и имеющей байтовую организацию с четырьмя внутренними банками (8M x 8 x 4 banks). Подобная элементная база разнообразных производителей используются при построении модулей DIMM с объемом памяти до 512 мегабайт.



Рис.1. Структура регистра режима (Mode Register) микросхем SDRAM


Первое поле (Burst Length) устанавливает длину пакетного цикла, в соответствии с величиной которого работает внутренний счетчик адреса. Длина пакетного цикла может программироваться на передачу 1, 2, 4, 8 элементов данных или "полной страницы" (full page), составляющей 1024 байта. Второе поле - поле пакетного режима (Burst Type) устанавливает порядок счета адресов внутри пакетного цикла - последовательный или перемежающийся (interleave). Им определяется специфический порядок считывания адресов, используемый для некоторых режимов работы. Третье поле (CAS latency) определяет задержку данных в тактах частоты относительно момента подачи команды чтения или записи. CAS-латентность может быть установлена равной 2 или 3 в зависимости от характеристик микросхемы, и соответствует минимальному времени в тактах, которое требуется для выдачи устойчивого первого слова данных на шину. Последующие слова, количество которых соответствует длине пакета, появляются в каждом последующем такте без дополнительной задержки. Четвертое (Operation Mode) и пятое (Write Burst Mode) поля в совокупности определяют вид операции с памятью:

  1. нормальная - пакетное чтение/пакетная запись;
  2. специальная - пакетное чтение/одиночная (single) запись.
Регистр режимов программируется в начале работы, перед первым обращением к SDRAM (подачей любой активной команды), и затем по мере необходимости может быть перепрограммирован путем изменения соответствующих полей.

Контроллер SDRAM блока MSSIU CSoC A7 выполнен аппаратно, без использования ресурсов встроенной матрицы программируемой логики. Реализация контроллера полагает сочетание неизменных и варьируемых разработчиком параметров функционирования подсистемы памяти (другими словами, логика работы контроллера имеет две составляющие - предопределенную и настраиваемую пользователем). Микросхемы памяти предоставляют достаточно много разнообразных вариантов функционирования, однако ввиду ограниченной сложности контроллера и схемотехники его сопряжения с элементами системы на кристалле, в контроллере SDRAM CSoC A7 реализован только предопределенный режим : последовательный пакетный режим чтения с длиной 4 и одиночной записью. Такая конфигурация содержится в регистре режима работы SDRAM. Она является подходящей для большинства применений, так как в этом случае минимально допустимый объем модифицируемой информации составляет при записи один байт, а при чтении осуществляется автоматическая выборка последовательных четырех байтов информации для ускорения обмена. Увеличение скорости записи в динамическую память достигается за счет реализации последовательной записи до четырех слов данных без дополнительных временных издержек при обмене с кэш-памятью и контроллером DMA. Ограничения вариантов функционирования SDRAM для CSoC A7 проявляются при необходимости реализации специфичных режимов доступа к запоминающему массиву, однако в этом случае у разработчика остается возможность создания своего собственного специализированного контроллера синхронной динамической памяти во встроенной матрице программируемой логики.

Изменяемые параметры функционирования контроллера SDRAM позволяют настроить его на применение запоминающих устройств с различной организацией и временными характеристиками. В табл. 1 приведены доступные для модификации разработчиком настройки контроллера, значения которых могут быть изменены при создании программного обеспечения разработки.

Таблица 1. Настраиваемые параметры контроллера SDRAM
Наименование параметра Назначение Пределы изменения
Refresh/Active Period Определяет время TRC между последовательными командами AUTO REFRESH регенерации динамической памяти Ts<=TRC<=8*Ts
Write Recovery Time Определяет время TWR задержки между записываемыми данными и последующей командой предзаряда шин Ts<=TWR<=8*Ts
Precharge Period Определяет время задержки TRP для выполнения команды PRECHARGE (деактивации банка памяти и предзаряда шин) Ts<=TRP<=8*Ts
Command DelayPeriod Определяет время TRCD задержки для выполнения команды ACTIVE (активация банка и строки) Ts<=TRCD<=8*Ts
CAS latency Определяет время появления в тактах синхронизации первого слова устойчивых данных после подачи активного уровня сигнала CAS 2 - cycle latency
3 - cycle latency
Refresh Burst Size Определяет количество циклов регенерации Nr на каждый запрос регенерации 0<=Nr<=15
Refresh Rate Количество тактов синхронизации между двумя запросами регенерации памяти 0<=TRCD<=2047*Ts
SDRAM Power
Management Mode
Определяет возможные режимы функционирования SDRAM SDRAM disable
SDRAM normal operation
SDRAM normal operation with stand-by
Power down (self-refresh) mode

Контроллер SDRAM обеспечивает режим автоматической регенерации содержимого ОЗУ - auto-refresh. Внутренняя схема на основе 12-разрядного счетчика обеспечивает регулярные запросы регенерации с программируемым периодом, выраженном числом тактовых импульсов системной частоты между двумя последовательными запросами. На каждый такой запрос такой можно выполнить до 15 циклов регенерации. При большой загруженности интерфейса SDRAM контроллер может не успевать проводить регенерацию в требуемый временной интервал, что потенциально может привести к потере информации. Для анализа подобной ситуации существует программно-доступный регистр, который содержит количество необработанных требований регенерации.

Специфика формирования адреса для динамической памяти состоит в том, что он подразделяется на следующие три составляющие : адрес строки, адрес столбца и номер внутреннего банка. Для разных типов SDRAM эти три составляющие также могут иметь различные значения. Контроллер SDRAM производит трансляцию линейного непрерывного адресного пространства процессорного ядра CSoC в соответствующие три составляющие адреса динамической памяти. В соответствии с распределением адресного пространства CSoC A7 четыре старшие линии адресной шины A[31:28] находятся в неизменном состоянии 1100b. Максимальный объем линейного адресного пространства динамической памяти составляет 256 мегабайт, однако возможно его расширение с помощью механизма организации банков памяти.

Архитектура контроллера SDRAM включает составляющие, предназначены для ускорения обмена данными между системой на кристалле и внешней памятью:

  • Во первых, структура контроллера SDRAM оптимизирована для блочных пересылок, таких как заполнение кэш-памяти или обмен по каналу DMA.
  • Во вторых, с целью увеличения производительности в режиме DMA возможно использование дополнительного буфера типа FIFO, объемом восемь 32-разрядных слов. При записи в SDRAM через механизм DMA в этом буфере накапливается четыре слова, и эта порция данных передается в память наиболее эффективно. Буфер FIFO позволяет совмещать во времени прием информации по каналу DMA и запись во внешнюю память. При поступлении последней порции данных содержимое буфера FIFO автоматически пересылается в SDRAM. При чтении из SDRAM производится предварительное блочное считывание (предвыборка) четырех слов в буферное FIFO, и последующими одиночными передачами по запросу. Когда передача завершена, для сброса неиспользованных предвыбранных данных буфер FIFO автоматически опустошается.
  • В третьих, при системной частоте выше 40 МГц рекомендуется включение дополнительной ступени конвейера между интерфейсом памяти и процессором.

Для увеличения производительности контроллера SDRAM важно понимать архитектуру динамической памяти. При работе в текущем внутреннем банке SDRAM обращение к ячейке с адресом строки, отличным от активной строки, потребует дополнительных циклов выполнения команд PRECHAGE и ACTIVE, что увеличивает время доступа. Из этого следует, что по возможности необходимо избегать одновременных запросов к различным строкам одного банка. Например, при размещении программного кода приложения в одном банке SDRAM и проведении DMA-пересылок в другом банке, исключаются потери времени при переходе границ строки, и, таким образом, отсутствуют непроизводительные затраты времени.

Блок MSSIU имеет четыре конфигурационных регистра, определяющих его функционирование:

  • Memory Subsystem Configuration Register (MSS_CONFIG_REG) - определяет разрядность шины данных и порядок выборки для внешней статической памяти, разрядность шины данных, распределение адресов строк и банков, количество внутренних и внешних банков для внешней динамической памяти, разрешение дополнительной ступени конвейера и буферизации DMA каналов;
  • Static Memory Interface Timing Control Register (MSS_TIM_CTRL_REG) - определяет временные параметры сигналов чтения и записи для внешней статической памяти;
  • SDRAM Mode Register (MSS_SDR_MODE_REG)- определяет основные временные параметры обращения к внешней динамической памяти;
  • SDRAM Сontrol Register (MSS_SDR_CTRL_REG) - определяет параметры регенерации и управления энергопотреблением внешней динамической памяти.

Содержимое этих конфигурационных регистров по умолчанию определяется на основании временных параметров выбранных устройств памяти и их организации. Этот процесс происходит прозрачно для разработчика на этапе системной интеграции, во время создания конфигурационного файла в FastChip DeviceLink Utility. Разработчик может при создании программного кода для процессорного ядра CSoC переопределять содержимое конфигурационных регистров, тем самым динамически изменяя параметры обращения к внешней памяти. На рис. 2. приведен пример временной диаграммы обращения к динамической памяти.



Рис.2. Временная диаграмма обращения к SDRAM


Физический интерфейс с SDRAM использует общие со статической памятью шины данных и адреса, при этом перераспределение ролей управляющих сигналов производится в зависимости от области адресного пространства, к которой производится обращение. В случае обращения к SDRAM линии шины адреса выполняют функции сигналов выборки строк RAS и столбцов CAS, выборки внутреннего банка BS[1:0], маскирования байт DQMB[3:0] и собственно адреса A[12:0]. Кроме этого, общим для интерфейса статической и динамической памяти является сигнал записи WE. Четыре внешних сигнала CSoC А7 являются выделенными для интерфейса с динамической памятью:

  • сигнал SDCLK передним фронтом синхронизирует все операции с SDRAM,
  • сигнал SDCKE требуется для работы памяти в режиме пониженного энергопотребления,
  • сигналы SDCE[1:0] используются для выбора одного или двух внешних банков SDRAM.

Методика проектирования подсистемы динамической памяти на первом этапе предполагает определение основных характеристик : информационной емкости, архитектуры, физической реализации, алгоритмов работы. Этот этап тесно связан с целевым назначением проектируемой системы. Так, например, при разработке специализированной системы для астрономических наблюдений [2] одним из технических требований было накопление в буферной памяти 1.5 гигабайт видеоинформации, поступающей высокоскоростным потоком с трех синхронно работающих телекамер. Было принято решение в качестве основы подсистемы памяти использовать стандартные DIMM-модули SDRAM, объемом 512 мегабайт. На втором этапе проектирования использовались методы системной интеграции для обеспечения работоспособности подсистемы динамической памяти в окружении CSoC А7. Среда проектирования FastChip полноценно поддерживает решение подобных вопросов, в частности ее возможности допускают использование разнообразных типов динамической памяти, как стандартных одиночных микросхем, так и DIMM-модулей. Однако встроенная поддержка DIMM168 SDRAM устройств пакете FastChip отсутствовала, что потребовало дополнительных изысканий для подключения таких модулей в технологическую цепочку автоматизированного проектирования.

Рассмотрим такое подключение более подробно. Собственно в среде FastChip на этапе конфигурирования MSSIU для динамической памяти определяется ее объем, разрядность и количество внешних банков. При этом среда резервирует для использования SDRAM необходимое количество контактов ввода-вывода. Физическая интерпретация памяти осуществляется в утилите FastChip DeviceLink Utility, которая использует базу данных конкретных типов динамической памяти со своими временными характеристиками и архитектурными особенностями. Такая база состоит из предопределенных типов, заданных в файлах каталога ..\fastchip\data\memoryregistry\*.mr , и может расширяться пользовательскими типами, заданными в каталоге ..\fastchip\data\usermemories\*.mr. Структура файла *.mr организована по иерархическому принципу:

  • сначала определяется класс памяти,
  • затем для SDRAM описывается структура хранения одного бита информации,
  • затем структура отдельной микросхемы,
  • затем организация микросхем в модули (ширина доступа с шины данных), временные характеристики выборки
  • и, наконец, определяется наименование памяти, под которым она будет доступна в среде проектирования для конфигурации на целевой плате.

В качестве примера приведем содержимое файла описания модуля памяти DIMM168 на 256 мегабайт с необходимыми комментариями.
#-- Файл DIMM168-256M.mr - описание модуля DIMM168 на 256 мегабайт
#-- Первый этап - определяем вид памяти

_SDRAM-NEW (
  device_type = SDRAM,
vendor_name = "Generic" )
# тип памяти
# производителя не уточняем
#-- Второй этап - определяем структуру хранения бита информации
#-- DIMM 256MБайт с 64-х разрядной шиной данных, виден для CSoC А7 как
#-- два модуля 128MБайт c 32-разрядной шиной данных,
#-- выполнен на 16-ти микросхемах SDRAM организацией 16М8.
#-- DIMM - двухсторонний, т.е. требуется два внешних банка памяти.
#-- в FastChip задать в SDRAM Memory - 32Mx32, Number of External Banks - 2
#-- определяем структуру SDRAM на 1 бит

_SDRAM-128Mbit (
  inherit = _SDRAM-NEW,
device_size = 16384,
number_of_banks = 4
number_of_rows = 4096,
refresh_internal = 64.0,
refresh_count = 4096 )
# определенный выше тип памяти
# объем памяти в килобитах
# кол-во внутренних банков внутри микросхемы
# кол-во строк в микросхеме SDRAM
# временной интервал регенерации
# кол-во циклов регенерации
 #-- Третий этап - определяем структуру микросхемы
#-- в модуле DIMM используются 8 битовые м/с SDRAM 48LC16M8

_SDRAM-16MBYTE(
  inherit = _SDRAM-128Mbit,
width_bits = 8,
number_of_cols = 1024)
# определенная выше структура хранения бита
# разрядность 8
# число столбцов в микросхеме SDRAM
 #-- Четвертый этап - определяем ширину доступа
_DIMM168-16M32 (
  inherit = _SDRAM-16MBYTE,
width_bits = 32,
device_size = 65536)
# определенная выше структура микросхемы
# используем 32-х разрядный доступ
# объем модуля в килобайтах
 #-- Пятый этап - задаем временные параметры DIMM168
_DIMM168-256-662 (
  precharge = 30.0,
active_to_read_write = 30.0,
write_recovery = 15.0,
refresh_active = 90.0)
# tRP = precharge (ns)
# tRCD = active to read/write (ns)
# tWR = write recovery (ns) for CAS=2
# TRC = refresh active (ns)
#-- Шестой этап - завершение описания
#-- присвоение уникального имени для доступа к модулю из утилиты DeviceLink
DIMM168-256MBYTE (part_name = DIMM168-256MBYTE,
inherit = "_DIMM168-16M32;_DIMM168-256-662" )     # определенные выше параметры

Созданное таким образом описание модуля памяти содержит в себе всю необходимую информацию для автоматической настройки контроллера SDRAM на конкретные параметры из табл. 1. Такая настройка производится утилитой DeviceLink, в ходе выполнения которой определяется содержимое конфигурационных регистров блока MSSIU. Разработчик при этом освобожден от побитной настройки контроллера SDRAM, его основной задачей является корректное определение архитектуры и временных параметров подсистемы памяти.

Практическая работа по подключению к CSoC А7 динамической памяти большого объема показала гибкость и широкие возможности системной интеграции. Внешняя подсистема памяти с использованием внутреннего арбитража является прозрачно-доступной как со стороны процессроного ядра (ARM7TDMI) CSoC A7, так и со стороны матрицы программируемой логики. Указанные преимущества, предоставляемые использованием технологии "реконфигурируемая система на кристалле", весьма актуальны при проектировании устройств обработки сигналов, и поэтому данная технология представляет интерес для разработчиков.

Литература

  1. Березин В.В., Золотухо Р.Н. 32-разрядная реконфигурируемая система на кристалле A7 фирмы Triscend //Компоненты и технологии N 4 2003 г. C 128 - 132.
  2. Алексеев С.Ю., Березин В.Б., Березин В.В. Астрономические телевизионные камеры с перестраиваемыми параметрами на основе технологии "система на кристалле": Cборник материалов 6-ой международной конференции "Оптико-электронные приборы и устройства в системах распознавания образов, обработки изображений и символьной информации - Распознавание 2003", Часть 1, Курск 2003, С. 120-122.
© 1999-2016 All Right Reserved. EFO Ltd. При использовании материалов ссылка на источник обязательна.
Контактная информация