Выполнил: Скрябин Иван, 513 Научный руководитель: ...

13
Выполнил: Скрябин Иван, 513 Научный руководитель: Тихорский В.В. Верификация интерфейса AXI между универсальной частью и DSP кластером системы-на-кристалле «Эльбрус S2»

Upload: elata

Post on 21-Jan-2016

92 views

Category:

Documents


0 download

DESCRIPTION

Верификация интерфейса AXI между универсальной частью и DSP кластером системы-на-кристалле «Эльбрус S2 ». Выполнил: Скрябин Иван, 513 Научный руководитель: Тихорский В.В. Проблемы. Эльбрус. Универсальная часть (УЧ) ЗАО «МЦСТ» core 0, core1 – процессорные ядра «Эльбрус» - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Выполнил: Скрябин Иван, 513Научный руководитель: Тихорский

В.В.

Верификация интерфейса AXI между универсальной частью и

DSP кластеромсистемы-на-кристалле «Эльбрус S2»

Page 2: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Проблемы

Разработка 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

Page 3: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Постановка задачи

Разработать: Имитатор 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

Page 4: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Недостатки существующих решений для верификации AXI

• Излишняя сложность:– Поддержка большого набора протоколов– Поддержка совместимости с разными

языками описания оборудования и симуляторами

– Введение дополнительных уровней абстракции (методологии VMM/OVM, использование языка описания аппаратуры SystemVerilog)

• Не бесплатные – зашифрованный код

Page 5: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Недостатки существующих решений для верификации 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 методологии

Page 6: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Имитатор DSP кластера

В результате анализа возможностей интерфейса AXI было принято решение реализовать:

1. Все базовые возможности2. Следующие дополнительные возможности:

«Узкая передача» - размер передачи меньше размера шины данных

Чтение/запись по не выровненному относительно размера передачи адресу

Интерливинг по чтению/записи

Page 7: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Имитатор DSP кластераЗадачи• Простота в

использовании

• Имитация задержек в реальном устройстве

• Поддержка различных приоритетов между чтением/записью при доступе к памяти

• Возможность отслеживать конфликты между чтением и записью

Решения• Реализован дружественный

пользовательский интерфейс (управление с помощью вызовов функций)

• Введение буферов FIFO со случайной задержкой в заданном интервале на всех каналах

• Мультиплексор, позволяющий задать случайный или фиксированный приоритет

• Логика, контролирующая пересечения между всеми запросами на чтение/запись в очередях устройства

FIFOFIFO

MIN:MAX

memory_mux

Collision logicCollision logic

aw buffer

ar buffer

Page 8: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Схема модуля имитатора 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

Page 9: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Применение имитатора DSP кластера для верификации

Реализовано два способа управления имитатором: Непосредственно из verilog описания – удобно для

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

Из командного файла – удобно при разработке, так как не требуется перекомпиляция модулей

Алгоритм верификации на примере DMA обменаНа каждом шаге:1. Выбор случайного адреса в памяти2. Последовательное выполнение команд записи и

чтения со случайными параметрами передачи по этому адресу

3. Сравнение считанных и эталонных данных

Page 10: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Существующий модуль AXI protocol checker от ARM не позволял прозрачно связать передаваемые данные с адресами и формировал недостаточно полную информацию о транзакциях

Доработки:• Каждому запросу присваивается

уникальный идентификатор для прозрачной связи данных с адресами

• Вычисление адреса для данныхчтения/записи

• Вычисление информация обактивных стробах для «узких» операций чтения

AXI checker / monitor

AXI

RLenCamRLenCam

RUidCamRUidCam

Checkerlogic

RIdCamRIdCam

RExclCamRExclCam

WBurstCamWBurstCam

WCountCamWCountCam

WLastCamWLastCam

WAddrCamWAddrCam

BRespCamBRespCam

RAddrAlCamRAddrAlCam

RSizeCamRSizeCam

WUidCamWUidCamMonitor

logic

- ассоциативная память с информацией о транзакциях

Page 11: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

• Адаптер разделяет сигналы взаимодействия на входные и выходные относительно 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

Page 12: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

• Запись сигналов - по фронту синхросигнала

• Точное воспроизведение – с помощью неблокирующего присваивания Verilog, выполняемого на такт раньше, чем запись этих сигналов

• Сравнение – по фронту синхросигнала

Модули записи и воспроизведения временных диаграмм AXI

IN

OUT

IN

OUT

CLK

Page 13: Выполнил: Скрябин Иван, 513 Научный руководитель:  Тихорский  В.В

Результаты работы

• Разработано Verilog-описание имитатора DSP кластера.

• Доработан Verilog-модуль AXI Protocol Checker от ARM: добавлена возможность получения подробной информации о всех транзакциях через интерфейс AXI

• Разработано Verilog-описание модуля записи и воспроизведения временных диаграмм AXI для передачи разработчикам DSP кластера информации об ошибках

• Разработанные средства были своевременно переданы разработчикам универсальной части, что позволило сократить время разработки контроллера интерфейса AXI примерно на месяц