Выполнил: Скрябин Иван, 513 Научный руководитель: ...
DESCRIPTION
Верификация интерфейса AXI между универсальной частью и DSP кластером системы-на-кристалле «Эльбрус S2 ». Выполнил: Скрябин Иван, 513 Научный руководитель: Тихорский В.В. Проблемы. Эльбрус. Универсальная часть (УЧ) ЗАО «МЦСТ» core 0, core1 – процессорные ядра «Эльбрус» - PowerPoint PPT PresentationTRANSCRIPT
Выполнил: Скрябин Иван, 513Научный руководитель: Тихорский
В.В.
Верификация интерфейса AXI между универсальной частью и
DSP кластеромсистемы-на-кристалле «Эльбрус S2»
Проблемы
Разработка verilog-описания DSP кластера выполнялась другой фирмой одновременно с разработкой универсальной части, поэтому требовались:
Verilog-модель имитатора DSP кластера для ускорения разработки verilog-описания модуля AXI Box и его верификации
Средство проверки корректности реализации протокола AXI Способ для передачи тестов, выявляющих ошибки в DSP кластере, его
разработчикам без необходимости передавать все Verilog-описание УЧ
core 0 core 1
SIC
AXI Box
dsp 0
dsp 1
dsp 2
dsp 3
AXI коммутатор
Универсальная часть (УЧ)ЗАО «МЦСТ»
core 0, core1 – процессорные ядра «Эльбрус»SIC – системный коммутаторAXI Box – контроллер интерфейса AXI
DSP кластерГУП НПЦ «Элвис»
Интерфейс AXI
Системные сигналы
Эльбрус
IO DMA
Постановка задачи
Разработать: Имитатор DSP кластера,
включающий master и slave устройства с интерфейсом AXI
Модуль, проверяющий корректность реализации протокола AXI (AXI checker)
Модуль-монитор для отображения информации о транзакциях через интерфейс AXI (AXI monitor)
Модуль записи и воспроизведения временных диаграмм AXI для передачи разработчикам DSP кластера информации об ошибках AXI
системные сигналы
DSP emulator
axi masteraxi slave
monitor/checker
monitor/checker
core 0 core 1
SIC
AXI Box
Универсальнаячасть
dsp 0
dsp 1
dsp 2
dsp 3
AXI коммутатор
DSP кластер
DM
A
IO
Недостатки существующих решений для верификации AXI
• Излишняя сложность:– Поддержка большого набора протоколов– Поддержка совместимости с разными
языками описания оборудования и симуляторами
– Введение дополнительных уровней абстракции (методологии VMM/OVM, использование языка описания аппаратуры SystemVerilog)
• Не бесплатные – зашифрованный код
Недостатки существующих решений для верификации AXI
DesignWare AMBA/AXI Verification IP Suite (Synopsys)– Необходим САПР моделирования VCS Native Testbench или
Vera– Излишняя сложность тестового окружения– Использование сложной VMM методологии
AMBA 3 AXI nVS (nSys)– Излишняя сложность тестового окружения
Questa Multi-View Verification Component Library (Mentor Graphics)– Необходим САПР моделирования Questa MVC– Использование сложной OVM методологии
Incisive Verification IP for AMBA Protocols (Cadence)– Использование сложной OVM методологии
Имитатор DSP кластера
В результате анализа возможностей интерфейса AXI было принято решение реализовать:
1. Все базовые возможности2. Следующие дополнительные возможности:
«Узкая передача» - размер передачи меньше размера шины данных
Чтение/запись по не выровненному относительно размера передачи адресу
Интерливинг по чтению/записи
Имитатор DSP кластераЗадачи• Простота в
использовании
• Имитация задержек в реальном устройстве
• Поддержка различных приоритетов между чтением/записью при доступе к памяти
• Возможность отслеживать конфликты между чтением и записью
Решения• Реализован дружественный
пользовательский интерфейс (управление с помощью вызовов функций)
• Введение буферов FIFO со случайной задержкой в заданном интервале на всех каналах
• Мультиплексор, позволяющий задать случайный или фиксированный приоритет
• Логика, контролирующая пересечения между всеми запросами на чтение/запись в очередях устройства
FIFOFIFO
MIN:MAX
memory_mux
Collision logicCollision logic
aw buffer
ar buffer
Схема модуля имитатора DSP кластера
master_writer
memory_reader
memory_reader
FIFOFIFO
memory_mux
FIFOFIFO
master_readermaster_reader FIFOFIFO
bufferdo_write()…
buffer FIFOFIFOdo_read()…
FIFOFIFO FIFOFIFO
slave_writerslave_writer
FIFOFIFO
memory_muxmemorymemory
FIFOFIFO
slave_readerslave_readerFIFOFIFO
buffer
bufferFIFOFIFO
memory_reader
memory_reader
AW
W
B
AR
R
AXI Master (DMA обмен) AXI Slave (IO обмен)
memorymemory
set_mem()…
Collision logicCollision logic
Collision logicCollision logic
Применение имитатора DSP кластера для верификации
Реализовано два способа управления имитатором: Непосредственно из verilog описания – удобно для
массового тестирования с произвольными параметрами запросов
Из командного файла – удобно при разработке, так как не требуется перекомпиляция модулей
Алгоритм верификации на примере DMA обменаНа каждом шаге:1. Выбор случайного адреса в памяти2. Последовательное выполнение команд записи и
чтения со случайными параметрами передачи по этому адресу
3. Сравнение считанных и эталонных данных
Существующий модуль AXI protocol checker от ARM не позволял прозрачно связать передаваемые данные с адресами и формировал недостаточно полную информацию о транзакциях
Доработки:• Каждому запросу присваивается
уникальный идентификатор для прозрачной связи данных с адресами
• Вычисление адреса для данныхчтения/записи
• Вычисление информация обактивных стробах для «узких» операций чтения
AXI checker / monitor
AXI
RLenCamRLenCam
RUidCamRUidCam
Checkerlogic
RIdCamRIdCam
RExclCamRExclCam
WBurstCamWBurstCam
WCountCamWCountCam
WLastCamWLastCam
WAddrCamWAddrCam
BRespCamBRespCam
RAddrAlCamRAddrAlCam
RSizeCamRSizeCam
WUidCamWUidCamMonitor
logic
- ассоциативная память с информацией о транзакциях
• Адаптер разделяет сигналы взаимодействия на входные и выходные относительно DSP кластера
• Модули recorder сохраняют временные диаграммы входных и выходных сигналов в файлах
• Эти файлы и модуль для воспроизведения AXI player передаются ГУП НПЦ «Элвис»
• Модуль player воспроизводит значения входных сигналов
• Модуль comparator сравнивает отклик от DSP кластера с записанными значениями выходными сигналов. Несовпадение означает использование разных версий DSP кластера при записи и воспроизведении
Модули записи и воспроизведения временных диаграмм AXI
core 0
core 1
SIC
AXI Box
dsp0
dsp1
dsp2
dsp3
AXI коммутатор
player
comparator
AXI player
recorder IN
OUT
AXI recorder
recorder
dsp0
dsp1
dsp2
dsp3
AXI коммутатор
ЗАО «МЦСТ»
ГУП НПЦ «Элвис»
adapte
radapte
rIN
OUT
• Запись сигналов - по фронту синхросигнала
• Точное воспроизведение – с помощью неблокирующего присваивания Verilog, выполняемого на такт раньше, чем запись этих сигналов
• Сравнение – по фронту синхросигнала
Модули записи и воспроизведения временных диаграмм AXI
IN
OUT
IN
OUT
CLK
Результаты работы
• Разработано Verilog-описание имитатора DSP кластера.
• Доработан Verilog-модуль AXI Protocol Checker от ARM: добавлена возможность получения подробной информации о всех транзакциях через интерфейс AXI
• Разработано Verilog-описание модуля записи и воспроизведения временных диаграмм AXI для передачи разработчикам DSP кластера информации об ошибках
• Разработанные средства были своевременно переданы разработчикам универсальной части, что позволило сократить время разработки контроллера интерфейса AXI примерно на месяц