Научная статья на тему '32-х разрядная реконфигурируемая система на кристалле a7 фирмы Triscend'

32-х разрядная реконфигурируемая система на кристалле a7 фирмы Triscend Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
210
53
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Березин Виктор, Золотухо Роман

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «32-х разрядная реконфигурируемая система на кристалле a7 фирмы Triscend»

Компоненты и технологии, № 4'2003 Компоненты

32-разрядная реконфигурируемая система на кристалле A7

фирмы Triscend

Непрерывное усложнение методов цифровой обработки требует не только экстенсивного роста показателей элементной базы

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

Виктор Березин

bvv73@mail.ru Роман Золотухо

roman@efo.ru

В технических решениях производителей изделий класса «реконфигурируемая система на кристалле» (CSoC) в основном присутствует два подхода [1]:

• реализация синтезируемого (как правило, специализированного) процессорного ядра в виде загружаемой в FPGA структуры;

• реализация жесткого (как правило, стандартного) аппаратного процессорного ядра на одном кристалле с логической матрицей.

Первый подход к построению систем на кристалле применен компанией Xilinx (8- и 32-битные ядра PikoBlaze и MicroBlaze), компанией Altera (16/32-битное синтезируемое ядро Nios) и др. Достоинства такого подхода — возможность использования стан-

Clock Synthesizer)

Power Control

Power-On Reset

ARM7TDMI

To external memory

Memory Interface Unit

SDRAM Controller Static/Flash Interface

Cache

*8 Kbytes 4-way Set Associative * Protection Unit

16KBytes SRAM or Trace Buffer 8

CSI Bridge H

Hardware N Breakpoint Unit \—S

CSI Bus Arbiter

Four-chanel K,

^MAcontroller_

JTAG Interface

fe

=>

-V5

«Я С

со В

О

о

:>

V

Selector

Selector

Selector

j^SelectorJ

Configurable System Logic (CSL)

matrix

O.

PIO

PIO

PIO

L

Configurable System Interconnect socket

Standart Peripherals

16-input Imterrupt Controller

16-bit

Timer

16-bit

Timer

32-bit Watchdog Timer

UART with FIFO

UART with FIFO

Configurable System Interconnect (CSI) bus

Рис. 1. Архитектура реконфигурируемой системы на кристалле A7 фирмы Triscend

дартных микросхем программируемой логики (ПЛИС) соответствующих производителей и возможность конфигурации архитектуры процессора под конкретную специфику задачи. Недостатков у такого подхода несколько больше:

• уменьшение ресурсов выбранной ПЛИС пропорционально размеру и разрядности синтезируемого ядра;

• синтезируемое процессорное ядро имеет аппаратную привязку к конкретному семейству ПЛИС;

• средства разработки программного обеспечения (ассемблер, компилятор С и т. д.) для нестандартного ядра, как правило, предоставляются ограниченным числом производителей;

• реализация периферийных стандартных блоков (таймеры, контроллеры DMA, контроллер прерываний, интерфейс с внешней памятью и т. д.) также производится за счет ресурсов ПЛИС;

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

Второй подход — реализация на одном кристалле аппаратного процессорного ядра совместно с программируемой логикой. Первой такой подход на практике реализовала фирма Triscend (www.triscend.com), выпустив в 1999 году 8-разрядную систему на кристалле Е5 на основе микроконтроллерного ядра «turbo» 8032. В 2001 году, также впервые в отрасли, фирма Triscend выпустила на рынок первую в мире 32-разрядную реконфигурируемую систему на кристалле A7 с ядром ARM7TDMI. В настоящее время этот подход используется также фирмами Altera — Excalibur ARM с 32-битным процессором ARM9, и Atmel — FPSLIC с 8-битным микроконтроллером AVR.

Второй подход технологически более трудоемок, так как связан с совмещением различных технологий изготовления приборов: микропроцессорной и FPGA. Недостаток такого подхода — жесткая ар-

Компоненты и технологии, № 4'2003

хитектура процессора, которая ограничивает удобство его применения в специфических задачах. Достоинства такого решения являются антиподами недостатков первого и состоят в следующем:

• ресурсы программируемой логики кристалла не используются для реализации процессорного ядра;

• средства разработки программного обеспечения для стандартных процессоров предлагаются несколькими независимыми производителями.

В данной статье рассматриваются особенности архитектуры семейства реконфигурируемых систем на кристалле А7 фирмы Triscend.

Архитектура реконфигурируемой системы на кристалле Triscend A7 приведена на рис. 1. Кристаллы семейства А7 содержат как традиционные для микропроцессорной технологии узлы, так и матрицу программируемой логики (Configurable System Logic, CSL), выполненной по технологии FPGA, а также средства их внутрисистемного взаимодействия. В настоящее время интеграция этих двух технологий зачастую осуществляется лишь на печатной плате, что приводит к необходимости проектирования сопряжения процессора и программируемой логики, и в конечном итоге увеличивает время проектирования, потребляемую мощность и массогабаритные показатели изделия. Ниже рассмотрим более подробно составные части системы на кристалле А7.

Центральный процессор включает в себя 32-разрядное RISC-ядро ARM7TDMI, которое имеет общее адресное пространство кода и данных объемом 4 Гбайт и 32 регистра общего назначения. Большинство команд выполняется за один такт, то есть для максимальной тактовой частоты менее чем за 20 нс. Для ускорения операции умножения используется аппаратный умножитель с поддержкой функции умножения с накоплением, актуальной для задач цифровой обработки сигналов. Кроме RISC-инструкций, в составе системы команд имеются и CISC-подобные инструкции, предназначенные для загрузки или сохранения группы регистров, трехадресные инструкции (для которых два регистра источника и регистр результата можно задавать независимо) и так далее, что нацелено на достижение наивысшей производительности. Как известно, в настоящее время процессоры с архитектурой ARM широко распространены и являются лидерами по соотношениям «производительность/потребляемая мощность» и «цена/качество», поэтому выбор ядра ARM7TDMI для построения первой в мире 32-х разрядной реконфигурируемой системы вполне оправдан.

Ядро ARM7TDMI, в зависимости от задачи, может работать в двух состояниях — ARM и THUMB. В состоянии ARM ядро исполняет 32-разрядные инструкции, выровненные по границе 4-байтного слова, и имеет самый большой набор команд. В состоянии THUMB ядро оперирует усеченным набором инструкций, при этом команды выровнены по границе полуслова. Выбор состояния производится программно и может изменяться в процессе работы пользовательского приложения, обеспечивая максимальную гибкость в примене-

ниях. В компиляторе С из состава программного пакета MULTI2000 фирмы Green Hills Software такой выбор осуществляется псевдооператорами #pragma ghs thumb #pragma ghs nothumb, при этом компилятор переходит при трансляции конструкций языка высокого уровня на использование соответствующего набора команд, что позволяет совмещать в единой программе различные состояния ядра. На языке ассемблера такое указание производится директивами .thumb .nothumb.

Компилятор из состава пакета ARM Developer Suite (ADS) фирмы ARM имеет аналогичную возможность оперативно изменять состояние ядра процессора. Выбор состояния ядра процессора осуществляется исходя из разрядности интерфейса подсистемы памяти, а также ограничений на размер кода и скорость выполнения приложения. На рис. 2 приведены зависимости относительной производительности в различных состояниях ядра. Состояние THUMB во многих случаях позволяет сократить объем кода на 30-50%, а производительность при использовании внешней

1.0-

о 0.5' о.

о

X

I-

О

о-1-

32-bit 16-bit 8-bit

Разрядность шины данных

Рис. 2. Сравнительная производительность ядра ARM7TDMI в режимах ARM и THUMB

Таблица 1. Режимы работы ядра ARM7TDMI

Режим Назначение

User Нормальное состояние выполнения программ

FIQ Поддержка скоростных процессов

IRQ Поддержка прерываний обычного приоритета

Supervisor Защищенный режим

Abort Возникновение аномальной ситуации при выборке команды или данных

System Привилегированный режим

Undefined Выполнение неопределенной инструкции

8- или 16-разрядной памяти может оказаться выше, чем в состоянии ARM за счет меньшего количества обращений к памяти [2].

Ядро ARM7TDMI имеет семь режимов работы, названия и назначение которых приведены в таблице 1. Режим работы может быть изменен программно или автоматически при возникновении внешнего прерывания или исключения, например выборки из памяти несуществующей инструкции. В зависимости от режима работы и состояния ядра изменяется видимость и набор доступных регистров, допустимость выполнения некоторых инструкций. Так, при настройке механизма кэширования и защиты памяти, реализованного в системе на кристалле Triscend A7, выполняются команды сопроцессора, что предполагает нахождение ядра в режиме Supervisor. Программная поддержка такой работы заключается прежде всего в распределении памяти, задании отдельных областей стека и точек входа исключительных ситуаций для различных режимов. Обычно это производится в С-startup коде, который выполняется непосредственно после сброса процессора.

Система прерываний реализует семь различных видов прерываний (табл. 2), часть из них характеризует исключительные ситуации, связанные с выполнением программы, часть — запросы от внешнего аппаратного окружения. Выполнение кода исключительной ситуации начинается с фиксированных предопределенных адресов в начальной области памяти. При помощи встроенного контроллера прерываний (за счет управления приоритетами и мультиплексирования) все многообразие внешних запросов прерываний сводится к двум точкам входа:

• быстрое прерывание FIQ со временем реакции в наихудшем случае 28 циклов процессора (420 нс при тактовой частоте 60 МГц), для обработки критичных ко времени процессов;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• обычное прерывание IRQ для стандартной реакции на внешнее воздействие.

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

Системы на кристалле А7 содержат встроенную систему тактирования. Программно

Таблица 2. Типы векторов прерываний ядра ARM7TDMI

Тип исключения Приоритет Причина или источник Состояние ядра Адрес вектора

Быстрое прерывание 3 Запрос от контроллера на быстрое прерывание FIQ 0*1C

Обычное прерывание 4 Запрос от контроллера на обычное прерывание IRQ 0*18

Резерв 0*14

Ошибка данных 2 Ошибка памяти от устройства защиты Abort 0*10

Ошибка выборки 5 Выполнение ядром несуществующей инструкции Abort 0*0C

Программное прерывание 6 Выполнение ядром инструкции SWI Supervisor 0*08

Неопределенная инструкция 6 Выполнение ядром внешней инструкции без реакции сопроцессора Undefined 0*04

Сброс 1 Любой источник системного сброса Supervisor 0*00

е

Компоненты и технологии, № 4'2003

или при первоначальной конфигурации можно выбрать следующие источники для цепей тактирования процессора и массива программируемой логики:

• внутренний RC-генератор с низкой стабильностью и диапазоном частот 15-30 МГц;

• вход внешней синхронизации;

• внутренний синтезатор частоты (Clock Synthesizer), работающий от внешнего часового кварцевого резонатора 32768 кГц, со стабильной выходной частотой в пределах 1-60 МГц.

Во время работы возможна смена источников тактирования, изменение частоты синтезатора и прекращение генерации для уменьшения энергопотребления устройства.

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

• внутреннее быстрое ОЗУ объемом 16 кбайт (StratchPad SRAM);

• внутренняя кэш-память команд и данных объемом 8 кбайт (Cache);

• контроллер интерфейса с внешней системой памяти различных типов с суммарным объемом до 4 Гбайт (Memory Interface Unit). Кроме этого, к подсистеме памяти можно

отнести встроенные буферы ускорения обмена с внешней динамической и статической памятью, аппарат переназначения адресов, защиты и приоритетов областей памяти («ремапиро-вание»), механизм конвейерной предвыборки команд и данных (рекомендуемый при частоте работы более 40 МГц). Кратко рассмотрим составляющие подсистемы памяти.

Операции записи-чтения во внутренне ОЗУ осуществляются за один такт, причем возможно одновременно проводить операции со старшими и младшими 8 кбайт, например, ядро по локальной шине записывает в младшую половину ОЗУ, а в это же время по каналу DMA производится чтение ячейки из старшей половины. Это делает внутреннее ОЗУ удобным для использования в качестве «моста» между ядром ARM7TDMI и массивом программируемой логики. Внутренняя память является наиболее быстрой, поэтому в нее целесообразно при распределении адресного про-

странства помещать наиболее чувствительный ко времени исполнения код, например обработчики прерывания. Компиляторы языка С пакетов MULTI2000 и ADS обладают возможностью гибко настраивать карту памяти.

Внутренняя кэш-память «прозрачна» для выполняемой программы, считываемые данные и инструкции могут сохраняться в ней, и для их использования в дальнейшем не потребуется длинный цикл обращения к внешней шине, все транзакции будут выполняться с локальной шиной, что приводит к значительному увеличению производительности. Так, при макетировании программного цикла ввода потока видеоданных, при включении механизма кэш-памяти осциллографические наблюдения процессов на шине показали, что выборка команд из внешней динамической памяти возникает только до момента первого прохождения тела цикла, в дальнейшем остаются только импульсы чтения данных. Имеется механизм назначения областей памяти, для которой включен аппарат кэширования. Естественно, назначать кэширование целесообразно для относительно медленных устройств памяти, например Flash или SDRAM, кэширование области внутреннего ОЗУ не является актуальным.

Контроллер интерфейса с внешней системой памяти ориентирован на поддержку статической и динамической памяти различной разрядности и информационной емкости с регулировкой временных параметров выборки, параметров регенерации, режимов энергопотребления и т. д. Возможно подключение стандартных модулей DIMM объемом до 256 Мбайт, а при организации страничной адресации возможен и больший объем внешнего динамического ОЗУ. Важной особенностью контроллера является автоматическое проведение нескольких транзакций записи-чтения в зависимости от разрядности интерфейса внешнего ЗУ. Так, операция записи 4-байтного числа во внешнюю SDRAM с шириной данных шины один байт приведет к «прозрачному» для разработчика выполнению четырех байтовых циклов записи. Наличие встроенного программируемого контроллера позволяет упростить подключение разнообразных видов памяти и отказаться от организации поддержки динамического ОЗУ на программируемой логике.

Рис. 3. Структура ячейки матрицы программируемой логики

Массив конфигурируемой логики (Configurable System Logic, CSL — для разработчиков более привычен термин FPGA) предназначен для создания пользовательской периферии на одном кристалле с процессором и содержит, в зависимости от типа микросхемы, до 3200 логических ячеек. Каждая логическая ячейка (рис. 3) содержит четырехвходовую таблицу перекодировки, схему расширителя ускоренного переноса, триггер с входами тактирования разрешения и сброса и подобна логической ячейке, применяемой в ПЛИС семейства XC4000 фирмы Xilinx. Ячейки конфигурируются при включении питания из внешней Flash-памяти или через JTAG-интерфейс от персонального компьютера в режиме отладки. Ячейки могут реализовывать комбинационную или последовательностную логику, могут быть сконфигурированы в качестве модулей памяти, в том числе и двухпортовой. В матрице конфигурируемой логики предусмотрены 6 глобальных сигналов с повышенной нагрузочной способностью, длинные и короткие связи для облегчения внутрикристальной разводки. Процесс проектирования аппаратной части устройства на встроенной матрице конфигурируемой логики имеет много общего с проектированием устройств на основе классических FPGA, особенностью является описание и моделирование взаимодействия аппаратной и программной части через механизм адресных селекторов и системную шину.

Непосредственно к массиву программируемой логики подключаются порты ввода-вывода (PIO), каждый из которых имеет в своем составе четыре триггера для синхронизации ввода-вывода, а также содержит дополнительные узлы, которые обеспечивают:

• управление временем нарастания выходного сигнала;

• управление выходным током вывода;

• поддержку выходных уровней для внешнего окружения с питанием 2,5 или 3,3 B;

• совместимость с шиной PCI 3,3 B;

• управление входным гистерезисом.

Порт ввода-вывода кроме традиционной фиксации входа подтягивающим резистором к потенциалу земли или питания может обеспечить интересный режим Bus Follower — отслеживания и запоминания последнего активного состояния вывода, что может быть использовано, в частности, для снижения динамического энергопотребления. Максимальное количество доступных линий ввода-вывода зависит от типа кристалла и выбранного варианта интерфейса с внешней памятью и достигает 252.

Стандартные периферийные устройства включают в себя:

• два 16-битных таймера, работающих в режиме счета тактовых импульсов;

• два последовательных интерфейса UART, совместимых с 16C450, с поддержкой сигналов квитирования и встроенной памятью FIFO объемом 16 байт;

• 16-входовой контроллер прерываний (описан выше);

• сторожевой таймер (32-bit Watchdog Timer) с возможностью формирования импульса сброса;

Компоненты и технологии, № 4'2003

Рис. 4. Конфигурируемая системная шина и ее окружение

• схему сброса (Power-On Reset) с возможностью раздельного сброса только процессорного ядра, только массива конфигурируемой логики или кристалла в целом;

• схему управления энергопотреблением (Power Control).

Использование стандартных периферийных устройств кристалла Triscend A7 значительно облегчает процесс проектирования и высвобождает ресурсы матрицы программируемой логики для реализации только «нетиповых» функций.

Как известно, механическое объединение разнородных структур без средств их взаимодействия не образует системы. В качестве такого объединяющего звена служит высокопроизводительная конфигурируемая системная шина (CSI Bus) и механизм адресных селекторов. Системная шина (рис. 4) имеет разрядность 128 бит, является строго синхрон-

ной (все процессы фиксируются по переднему фронту тактовой частоты ядра процессора) и на ней представлены текущие адрес, данные и управляющие сигналы взаимодействия процессора, контроллеров БМЛ, конфигурируемой логики и арбитра шины. Шина поддерживает 8-, 16-, и 32-битные транзакции с минимальной длительностью в один такт процессора. Арбитр шины разделяет запросы на использование шины от ядра процессора, четырех контроллеров БМЛ и блока 1ТЛО-от-ладки реального времени. Максимальная пропускная способность конфигурируемой шины достигает 240 Мбайт/с. Важным для разработчиков моментом является возможность компьютерного моделирования процессов взаимодействия аппаратного и программного обеспечения при обмене по системной шине, при этом существующая УНБЬ- или Уеп^-модель шины позволяет ускорить сов-

местную отладку аппаратной и программной частей проекта.

Механизм адресных селекторов предназначен для обеспечения доступа к массиву программируемой логики со стороны процессора или контроллера DMA без использования ресурсов собственно встроенной матрицы программируемой логики. Селектор (рис. 5) представляет собой гибкую аппаратную схему сравнения адреса в диапазоне 4 Гбайт с числом, характеризующим этом ресурс (Match Value), с учетом выравнивания (Byte Enable [3:0]) и направления доступа (чтение или запись). В результате настройки определяется его адрес, который характеризует программно-доступный ресурс и будет использоваться при разработке математического обеспечения разрабатываемого приложения. Выходными сигналами селектора являются сигнал разрешения установки данных на шину со стороны массива программируемой логики (сигнал чтения) и сигнал стробирования для ввода данных с шины в массив программируемой логики (сигнал записи). Обычно такая транзакция проходит за один период тактовой частоты, но если устройство работает асинхронно, то имеется механизм ожидания готовности устройства, что весьма удобно для подключения приборов, не имеющих высокого быстродействия. Кроме того, селекторы имеют специальный режим поддержки DMA.

Селектор DMA, предназначенный для переноса данных из (или в) массива конфигурируемой логики, дополнительно имеет вход запроса цикла передачи по каналу DMA и выход предоставления такого цикла. Количество селекторов определяется типом кристалла и позволяет создавать в системе на кристалле большое количество программно доступных для чтения и записи 32-битных регистров, не используя при этом аппаратных ресурсов матрицы логики «вхолостую» на построение дешифраторов. Таким образом, встроенные механизмы межблочного взаимодействия действительно интегрируют ресурсы и превращают разрозненные элементы в целостную систему.

Еще одним общесистемным узлом является четырехканальный контроллер прямого доступа в память (DMA). Каждый канал контроллера является самостоятельным активным устройством на шине и выполняет блочную передачу информации без участия процессора в режимах «память — память», «память — массив программируемой логики»,

е

Компоненты и технологии, № 4'2003

«массив программируемой логики — память». Если достаточно тривиальный механизм пересылок «память — память» значительно увеличивает системное быстродействие, инициируется ядром микроконтроллера и похож на подобные механизмы в других процессорах, то другие два режима являются более интересными и новыми. На рис. 6 приведена схема взаимодействия устройства, реализованного в матрице программируемой логики с селектором DMA и системной шиной при выполнении передачи «массив программируемой логики — память» и соответствующая временная диаграмма работы. Устройство в соответствии со своим алгоритмом функционирования в произвольный момент (1) формирует сигнал REQSEL, который информирует выбранный канал DMA о готовности данных для передачи в память по текущему для выбранного канала адресу записи. Спустя некоторый промежуток времени (минимум 4 периода тактовой частоты) арбитр шины предоставляет временной интервал контроллеру DMA для чтения данных (2), при этом вырабатывается сигнал ACKSEL, который разрешает устройству выставить данные на системную шину. Эти данные фиксируются контроллером DMA и далее в момент времени (3) передаются, например, в контроллер внешней памяти для записи в динамическое ОЗУ (при различной разрядности шины данных и внешней SDRAM соответствующие дополнительные транзакции добавляются контроллером внешней памяти автоматически). Контроллер DMA позволяет накапливать последовательные запросы REQSEL от устройств, реализованных в матрице программируемой логики (как показано на рис. 7), и в дальнейшем также последовательно переносить данные в память. Количество запросов, полученных контроллером DMA, но реально не переданных, содержится в 10-разрядном регистре и программно доступно для анализа.

В режиме DMA-пересылки «память — массив программируемой логики» (рис. 8) инициатором обмена опять является размещенное в матрице программируемой логики устройство, которое в момент времени (1) формирует сигнал REQSEL, поступающий в соответствующий канал контроллера DMA. В момент времени (2) производится считывание информации из внешней памяти, а в момент времени (3) производится запись считанных данных в указанный регистр устройства. Необходимо отметить, что диаграммы на рис. 3 и рис. 4 идеализированные. В зависимости от загрузки шины задержки могут быть больше, но в целом за счет высокой тактовой частоты и механизмов буферизации потери производительности не происходит.

Для повышения достоверности передачи существует аппаратный узел подсчета циклической избыточной контрольной суммы и механизм обнаружения и генерации повторных запросов. За одну пересылку контроллер DMA позволяет передать от источника к приемнику до 64 Кбайт. Наиболее простой режим работы контроллера DMA заключается в периодической инициализации процессором механизма DMA — так называемый direct mode. При больших объемах пересылаемой информации, например при вводе видеоданных, такой постоянный контроль над пересылками может быть затруднительным. В этом случае разработчику предоставляется еще один режим работы DMA-контроллера — descriptor mode, при котором в любой доступной памяти создается последовательность команд инициализации DMA-посылок, фактически вторая (третья, пятая...) параллельно выполняющаяся программа. Контроллер самостоятельно, без участия ядра процессора, по завершении текущей DMA-пересылки выбирает из памяти следующее двойное слово, определяющее новые параметры инициализации DMA и вновь начинает передачу массива данных.

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

Таким образом, в системах на кристалле семейства А7 фирмы Triscend обеспечивается гибкая интеграция микроконтроллерного ядра и разнообразных «жестких» встроенных периферийных устройств через конфигурируемую системную шину с массивом программируемой логики. Для разработчика это означает возможность реализации различных аппаратно-программных проектов в едином окружении, а при смене структуры аппаратной обработки новая реализация помещается в тот же кристалл без изменения печатной платы.

Вниманию читателей предлагается одноплатная реализация расширяемой 32-разрядной платформы (рис. 9), содержащая реконфигурируемую систему на кристалле TA7S20, блок внешней памяти в составе 16-разрядной Flash-памяти и стандартного DIMM-модуля SDRAM, узла аппаратного интерфейса Ethernet 10/100 Mb с поддержкой стека протоколов TCP/IP. Н

Литература

1. Кривченко И. Системы на кристалле: общее представление и тенденции развития // Компоненты и технологии. 2001. № 6.

2. Емелин А., Шагурин И. RISC-микроконтроллеры с процессорным ядром ARM // Chip News. Инженерная микроэлектроника. 2002. № 6, 7.

3. Грушвицкий Р. И., Мурсаев А. Х., Угрю-мов Е. П. Проектирование систем на микросхемах программируемой логики. СПб: БХВ-Петербург. 2002.

CSI Bus Read Data

Data

DMA Control Register Selector

ш Й S ІЙ q to Ь 52 З У

,“S s <

\o УІ Request J ^' Acknowledge

і t ▼

D Q

ENABLE

Bus Clock REQSEL CSI Data Read CSI Data Write CSI Address ACKSEL

J ф \

( 1 1 X 1 DATA К I I >

( X 1 X X )( X X °АТА )

(XXX К X )

© / (31 \

BlISCLK >-

Requesting Data Destination

h

Minimum REQSEL to ACKSEL latency is 7 clockcycles

-H

Рис. 8. Структура и временная диаграмма взаимодействия селектора DMA/ программируемой логики и системной шины при чтении из памяти

i Надоели баннеры? Вы всегда можете отключить рекламу.