Интерфейсный блок AXI- коммутатора в составе системы на кристалле «Эльбрус-S2» Студент: Смольянов Павел 518 гр. Научный руководитель: Сахин Ю.Х.
Назначение Интерфейсный блок входит в состав контроллера AXI, осуществляющего поддержку обмена данными между ядрами Эльбрус (универсальная часть) и четырехъядерным DSP-кластером QELcore09, и служит интерфейсным мостом между AMBA 3.0 AXI и внутренним интерфейсом контроллера.
Система-на-кристалле «Эльбрус-S2» DSP-кластер Универсальная часть
Задачи Согласование протокола AXI с внутренним интерфейсом контроллера. Работа в режиме Master для осуществления доступа к внутренним регистрам DSP-кластера Работа в режиме Slave для осуществления DMA обмена со стороны DSP-кластера Максимизация полезной пропускной способности DMA-канала. Снижение задержек при передачи коротких IO- транзакций Наличие механизма синхронизации Требования
Доcтоинства протокола AMBA AXI Протокол пригоден для проектов, требующих от интерфейса высокой пропускной способности и небольших задержек передачи данных Протокол делает возможной работу интерфейса на высокой тактовой частоте при относительно несложной аппаратной реализации Протокол является универсальным – он совместим практически с любыми сопроцессорами, контроллерами памяти и контроллерами ввода-вывода, применяемыми в СБИС класса «система-на-кристалле» Протокол допускает различные по сложности аппаратные реализации Протокол является открытым
Поддерживаемые особенности протокола AXI раздельные линии передача адреса и данных приостановка адреса и данных отдельный канал ответов запись с маской приём невыровненных данных фиксированная ширина шины данных 64 бит длина транзакции 1-16 слов
Согласование AXI с внутренним интерфейсом 8,16, байт с маской Форматы пакетов данных универсальной части: Формат пакетов данных DSP: 32 байта с маской 64 байта без маски 1,2,4..32 байта с маской 32/64 байта без маски 1,2,4..32,64 байта DMA-запись DMA-чтение IO-запись IO-чтение 32/64 байта Различные форматы Непрерывная передача пакета Единый формат Можно приостановить передачу в любое время
Общая схема работы Write Read Контроллер AXIDSP - кластер Write Read Write Read IO (Master) DMA (Master) IO (Slave) DMA (Slave) 64-битный интерфейс AXI Канал IO – доступ к конфигурационным и статусным регистрам DSP, инициализация загрузки команд. Канал DMA – загрузка и выгрузка команд/данных.
Работа в режиме Master Write Read Response Data Address Data Минимальное количество элементов, отсутствие буферизации. Следствие – минимальные задержки при приеме/передаче коротких IO- транзакций. Канал ответов для синхронизации IO записи/чтения.
Работа в режиме Slave (DMA-запись) Read Logic 2-Port Memory Write Logic Address Logic Write Data Address Write Data Response Особенности: Буферизация Наличие двухпортовой памяти Канал ответов для синхронизации Разбиение длинных транзакций по записи
Работа в режиме Slave (DMA-чтение) Data Buffer Address Buffer Request Splitter Data Filter Read Data Read AddressRequest Особенности: Буферизация заявок на чтение Оптимизированная буферизация данных Разбиение длинных транзакций по чтению
Оптимизация DMA - записи A1A2A3 D1 D2 D3 Data (wData) Address (awAddr) ElbrusDSP Благодаря наличию дополнительной стадии конвейера и сдвигу адреса на 1 такт теоретическое заполнение канала DMA-записи 100%.
Синхронизация Универсальная часть DSP - кластер IO (Slave) …RDWR Интерфейсная часть RD WR RD Наличие механизма ответов позволяет избежать «гонок» в различных каналах данных.
Результаты Разработана и верифицирована Verilog- модель устройства Достигнута максимальная пропускная способность DMA-канала Обеспечено наличие синхронизации Написан набор тестов для автономного тестирования связки контроллера AXI и DSP-кластера.