Интерфейсный блок AXIкоммутатора в составе системы на кристалле «Эльбрус-S2» Научный руководитель: Сахин Ю.Х. Студент: Смольянов Павел 518 гр. Назначение Интерфейсный блок входит в состав контроллера AXI, осуществляющего поддержку обмена данными между ядрами Эльбрус (универсальная часть) и четырехъядерным DSP-кластером QELcore09, и служит интерфейсным мостом между AMBA 3.0 AXI и внутренним интерфейсом контроллера. Система-на-кристалле «Эльбрус-S2» универсальные ядра ЭЛЬБРУС кристалл 0 (CPU 0) CPU Core 0 CPU Core 1 L2$ L2$ Межъядерный коммутатор (CIC) Контроллер системного обмена (SIC) Контроллер памяти 0 (MС0) Контроллер памяти 1 (MС1) к памяти Системный коммутатор (SC) Core 0 Core 2 Core 1 Core 3 DMA DSP-кластер DSP интерфейсная часть Коммутатор данных (Data Box) Контроллер встроенных интерфейсов ввода-вывода (IOCOM) контроллер Контроллер канала ввода/ вывода Контроллер линков связи кристалл 1 (CPU 1) Контроллер линков связи кристалл 2 (CPU 2) Контроллер линков связи кристалл 3 (CPU 3) Контроллер ввода цифровой информации AXI-контроллер (AXI Box) IO канал ADC канал Универсальная часть Задачи • Согласование протокола AXI с внутренним интерфейсом контроллера. • Работа в режиме Master для осуществления доступа к внутренним регистрам DSP-кластера • Работа в режиме Slave для осуществления DMA обмена со стороны DSP-кластера Требования • Максимизация полезной пропускной способности DMA-канала. • Снижение задержек при передачи коротких IOтранзакций • Наличие механизма синхронизации Доcтоинства протокола AMBA AXI • Протокол пригоден для проектов, требующих от интерфейса высокой пропускной способности и небольших задержек передачи данных • Протокол делает возможной работу интерфейса на высокой тактовой частоте при относительно несложной аппаратной реализации • Протокол является универсальным – он совместим практически с любыми сопроцессорами, контроллерами памяти и контроллерами ввода-вывода, применяемыми в СБИС класса «система-на-кристалле» • Протокол допускает различные по сложности аппаратные реализации • Протокол является открытым Поддерживаемые особенности протокола AXI • • • • • • • раздельные линии передача адреса и данных приостановка адреса и данных отдельный канал ответов запись с маской приём невыровненных данных фиксированная ширина шины данных 64 бит длина транзакции 1-16 слов Согласование AXI с внутренним интерфейсом Формат пакетов данных DSP: Форматы пакетов данных универсальной части: 32 байта с маской 64 байта без маски 32/64 байта 1,2,4..32 байта с маской 32/64 байта без маски DMA-запись DMA-чтение 8,16,24..128 байт с маской IO-запись 1,2,4..32,64 байта IO-чтение • Различные форматы • Непрерывная передача пакета • Единый формат • Можно приостановить передачу в любое время Общая схема работы Контроллер AXI DSP - кластер Write Write IO (Master) DMA (Slave) IO (Slave) Read Read Write Write DMA (Master) Read Read 64-битный интерфейс AXI Канал IO – доступ к конфигурационным и статусным регистрам DSP, инициализация загрузки команд. Канал DMA – загрузка и выгрузка команд/данных. Работа в режиме Master Address Data Data Write Response Address Data Read Data • Минимальное количество элементов, отсутствие буферизации. • Следствие – минимальные задержки при приеме/передаче коротких IOтранзакций. • Канал ответов для синхронизации IO записи/чтения. Работа в режиме Slave (DMA-запись) 2-Port Memory Write Data Write Data Read Logic Write Logic Response Address Address Logic Особенности: • Буферизация • Наличие двухпортовой памяти • Канал ответов для синхронизации • Разбиение длинных транзакций по записи Address Работа в режиме Slave (DMA-чтение) Request Read Address Request Splitter Address Buffer Read Data Data Filter Data Buffer Особенности: • Буферизация заявок на чтение • Оптимизированная буферизация данных • Разбиение длинных транзакций по чтению Read Data Оптимизация DMA - записи Elbrus A1 DSP A2 D1 D1 D1 D1 A3 D2 D2 D2 D2 Address (awAddr) D3 Data (wData) Благодаря наличию дополнительной стадии конвейера и сдвигу адреса на 1 такт теоретическое заполнение канала DMA-записи 100%. Синхронизация Универсальная часть Интерфейсная часть DSP - кластер IO (Slave) WR WR RD … RD WR RD Наличие механизма ответов позволяет избежать «гонок» в различных каналах данных. Результаты • Разработана и верифицирована Verilogмодель устройства • Достигнута максимальная пропускная способность DMA-канала • Обеспечено наличие синхронизации • Написан набор тестов для автономного тестирования связки контроллера AXI и DSP-кластера.