Студент: Неделько Н.В., 913 группа Научный руководитель: Волконский В.Ю. Разработка модулей сопряжения функциональной модели PCI-устройства с RTL-моделью.

Презентация:



Advertisements
Похожие презентации
Реализация доступа к накопителям на жестких магнитных дисках в ВК Эльбрус-3S Кондрашин Александр Александрович, группа 212.
Advertisements

Разработка коммутатора сообщений блока регистров и прерываний в кластере «Эльбрус-S» Выполнил: Петроченков М. В. 613 гр. Научный руководитель: Зайцев А.И.
Московский физико-технический институт (государственный университет) Факультет радиотехники и кибернетики Кафедра информатики и вычислительной техники.
Разработка контроллера встроенного интерфейса AXI в составе системы на кристалле «Эльбрус-S2» Студент: Поляков Н.Ю., ФРТК, 515 гр. Научный руководитель:
Выпускная квалификационная работа Разработка синтезируемой RTL- модели 6-канального аудиокодека Студент: Кошляк В. О., ФРТК, 816 гр. Научный руководитель:
Интерфейсный блок AXI- коммутатора в составе системы на кристалле «Эльбрус-S2» Студент: Смольянов Павел 518 гр. Научный руководитель: Сахин Ю.Х.
Студент: Перов Д.Ю., ФРТК, 816 группа Научный руководитель: д.т.н. Сахин Ю.Х.
Разработка контроллера обрабатываемых запросов кэш памяти третьего уровня микропроцессора "Эльбрус-4С+" Студент: Кожин Евгений, группа 713 Научный руководитель:
Выполнил: Желнин С.В. Научный руководитель: Фельдман В.М.
Доработка контроллера памяти DDR2 SDRAM МП Эльбрус-S для МП Эльбрус-S2 Научный руководитель: Шерстнёв Андрей Кожин Алексей, ФРТК 513 гр.
Структурная схема компьютера Взаимодействие устройств компьютера.
Выполнил: Скрябин Иван, 513 Научный руководитель: Тихорский В.В. Верификация интерфейса AXI между универсальной частью и DSP кластером системы-на-кристалле.
Структурная схема компьютера Взаимодействие устройств компьютера.
1 Микропроцессорная система. 2 Особенности микропроцессорных систем Гибкая логика работы меняется в зависимости от задачи; Универсальность может решать.
Разработка модели чипа межкластерной коммутации Выполнил: Куцевол Виталий Научный руководитель: Алексей Мешков Московский физико-технический институт Выпускная.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ФИЗИКО - ТЕХНИЧЕСКИЙ ИНСТИТУТ (государственный университет) Устройство управления вещественного.
Выпускная квалификационная работа Исаев Михаил, ФРТК, 515 гр. Научный руководитель Сахин Ю. Х. Объединение двух процессорных ядер с архитектурой "Эльбрус"
Выполнил: Петрыкин Д.А., ФРТК, 613 гр. Научный руководитель: Слесарев М.В. Выпускная квалификационная работа.
Адаптация буферизующего коммутатора данных МП «Эльбрус-S2» Студент: Рогов А.С., ФРТК, 613 гр. Научный руководитель: Костенко В.О. Выпускная квалификационная.
Научный руководитель: Диденко А. Б. Студент: Прошкин Д. В. ФРТК 816 гр.
Транксрипт:

Студент: Неделько Н.В., 913 группа Научный руководитель: Волконский В.Ю. Разработка модулей сопряжения функциональной модели PCI-устройства с RTL-моделью КПИ2 Московский физико-технический институт (государственный университет) Факультет радиотехники и кибернетики Кафедра информатики и вычислительной техники Выпускная квалификационная работа бакалавра

на данный момент в составе КПИ2 разрабатываются контроллеры PCI и PCIE, требующие верификации для верификации PCI и PCIE контроллеров необходимо моделировать RTL-описание системы с подключенными PCI- устройствами повысить скорость и качество верификации можно путем внедрения «гибридных» тестовых систем - содержащих как RTL- модели, так и функциональные модели в тестовом окружении в составе эталонных моделей системы архитектуры Эльбрус уже реализованы функциональные модели PCI-устройств (на языке высокого уровня) Для создания гибридной тестовой системы для КПИ2 необходимо разработать модули сопряжения между RTL-описанием контроллера и функциональными моделями PCI- и PCIE- устройств введение

Разработать модули сопряжения между функциональной моделью специального тестового PCI-устройства (далее PCI-имитатор) и RTL- описанием КПИ2, позволяющие подключать функциональную модель к интерфейсам PCI и PCI express поддерживающие всю функциональность PCI-имитатора обеспечивающие параметризуемость характеристик: разрядность адресов и данных PCI-транзактора время отклика PCI-slave-устройства поддержка моделью реакций на ошибки четности постановка задачи

модули сопряжения архитектура

Адаптер функциональной модели Создает экземпляры функциональной модели и связывает их со сторонними функциями (которые ими используются, но не реализованы в них). Преобразует последовательности событий в RTL-моделях в транзакции функциональной модели Транслирует вызовы из унифицированного программного интерфейса в экземпляры соответствующих функциональных моделей. Временно хранит данные транзакций. Выполняет отладочные функции (трассировка вызовов) Приспосабливает программный интерфейс функциональной модели к унифицированному программному интерфейсу, построенному на System Verilog DPI. модули сопряжения

Доработка функциональности PCI-имитатора Функция для проверки принадлежности данного адреса к какому-либо адресному пространству имитатора. В потактовой модели PCI-транзакция начинается с фазы адреса. Master выставляет адрес на шину и все slave-устройства на ней анализируют его. Ответить должно только то устройство, к адресному пространству которого принадлежит этот адрес. Функция для отправки сообщения имитатору об окончании запрошенной им master-транзакции. Решает 2 проблемы: проблема невозможности одновременной обработки master- и slave- транзакций, если ждать завершения master-транзакции проблема неодновременности(в симуляторе) отправки запроса на master-транзакцию и прихода ответа на нее При разработке модулей сопряжения были выработаны требования по расширению функциональности PCI- имитатора модули сопряжения

slave_load: чтение непрерывной последовательности байт из адресного пространства экземпляра функциональной модели Параметры: размер и адрес начало области данных, идентификаторы адресного пространства и экземпляра функциональной модели. slave_store: запись непрерывной последовательности байт из памяти RTL-модели slave-транзактора в адресное пространство экземпляра функциональной модели. Параметры: те же, что и у load. check_addr_space: проверка принадлежности адреса к адресному пространству экземпляра функциональной модели. Параметры: адрес для проверки, идентификаторы адресного пространства и экземпляра функциональной модели. Набор функций адаптера функциональной модели, вызываемых из slave-транзакторов согласно стандарту SystemVerilog DPI. Унифицированный программный интерфейс: модули сопряжения «адаптер функциональной модели – slave-транзактор» Ведомое устройство PCI или PCIE получает\выдает данные в\из одно из адресных пространств, если последнее содержит указанный при запросе адрес.

master_task_set передача master-транзактору задания на создание транзакции от функциональной модели. Задание содержит следующие поля: значимость – равна 1, если задание актуально (еще не завершено) тип – чтение или запись адрес размер передаваемых данных master_set_wr_data – передача данных для записи в master- транзакции из адаптера функциональной модели в RTL-модель транзактора. master_set_int – передача задания на изменение статуса прерывания INTA# В master-транзакторах реализованы функции (SystemVerilog task), вызываемые из адаптера согласно спецификации SystemVerilog DPI модули сопряжения Унифицированный программный интерфейс: «адаптер функциональной модели – master-транзактор», DPI-export Ведущее устройство PCI или PCIE запрашивает чтение или запись и ждет реакции ведомого. Также оно объявляет статус прерывания. Чтобы RTL-часть могла представлять ведущее устройство ею необходимо управлять из адаптера функциональной модели.

master_begin/master_end – инициируют действия адаптера функциональной модели, необходимые на момент начала/конца master-транзакции. update_read_buffer –переписывание данных, принятых в master- транзакции чтения, во временный буфер в адаптере. create_pci_imitator – вызывается в нулевой момент симуляторного времени RTL-моделями каждого master-транзактора, чтобы создать экземпляр PCI-имитатора, передав ему идентификатор и указатели на сторонние функции (из DPI-экспорта). При работе master-транзактор должен сообщить в функциональную модель о завершении транзакции. Для этой и других целей реализован набор функций адаптера, предоставляемых RTL-моделям master-транзакторов согласно спецификации SystemVerilog DPI. модули сопряжения Унифицированный программный интерфейс: «адаптер функциональной модели – master-транзактор», DPI-import

модули сопряжения Алгоритмы работы транзакторов PCI-slave Ждать запрос на начало транзакции Вызвать slave_load Дождаться передачи данных и загрузить данные на шину PCI Дождаться передачи данных и прочитать данные с шины PCI Вызвать slave_store да нет да нет чтение запись Адрес принадлежит соотв. адр. пространству? Адрес принадлежит соотв. адр. пространству? Запрос на Эта фаза данных отмечена как последняя? Эта фаза данных отмечена как последняя?

модули сопряжения Алгоритмы работы транзакторов PCI-master нет Выставить запрос на начало транзакции Начать фазу данных Slave подтвержд. передачу данных? Задание появилось на данном такте? Задание появилось на данном такте? Шина PCI свободна? Slave ответил первый раз в течение этого задания? Запись данных на шину из врем. буфера да нет чтение запись Вызвать master_end со статусом FAIL Вызвать master_begin Тип задачи Число запросов без ответа превысило лимит? Считать данные во врем. буфер Все данные переданы/получены? Чтение? Вызвать master_end со статусом SUCCESS Вызвать update_read_buffer Slave ответил? да нет да нет

модули сопряжения Алгоритмы работы транзакторов PCI Express slave Принят PCI Express request- пакет? Есть попадание в адресное пространство? (Check_addr_space) Сформировать пакет с сообщением об ошибке и передать средствами Synopsys VIP Сформировать пакет с сообщением об ошибке и передать средствами Synopsys VIP Тип PCI Express requestа Сделать несколько запросов slave_store в соответствии с размером данных Сделать несколько запросов slave_load в соответствии с размером данных запись да нет чтение Сформировать из этих данных completion- пакет и передать средствами Synopsys VIP

модули сопряжения Алгоритмы работы транзакторов PCI Express master Задание появилось на данном такте? Задание появилось на данном такте? да нет Вызвать master_end со статусом FAIL Чтение? Вызвать master_end со статусом SUCCESS Вызвать update_read_buffer да нет Собрать PCI Express request-пакет в соответствии с заданием Запустить выполнение функции Synopsys VIP, реализующей отправку запроса и получение ответа Вызвать master_begin Запущенная функция завершилась успешно? Извлечь из ответного пакета считанные данные да

Возможность включения поддержки 64-разрядных адресов в PCI- транзакторах Возможность включения поддержки 64-разрядных данных в PCI- транзакторах Возможность моделирования времени отклика PCI-slave- устройства Возможность включения поддержки каждым из PCI-транзакторов реакций на ошибки четности Позволяет моделировать PCI-клиенты, различающиеся по характеристикам, вариацию которых допускает стандарт PCI с целью повышения качества верификации (проверка различных режимов взаимодействия, реакции на клиенты с различными временами отклика и т.д.). модули сопряжения Дополнительная функциональность RTL-моделей транзакторов

Разработаны модули сопряжения между RTL-моделями PCI\PCIE контроллеров в составе КПИ2 и функциональной моделью PCI- имитатора (на языках C++ и System Verilog). Реализована следующая дополнительная функциональность: выбор разрядности адресов и данных PCI-транзактора, как параметра выбор времени отклика PCI-slave-устройства, как параметра выбор реакции PCI-транзакторов на ошибки четности, как параметра Найдены ошибки в 5 инженерных тестах, направленных на верификацию КПИ2 Выработаны рекомендации по модификации\разработке функциональных моделей устройств для работы в составе гибридных тестовых систем. Результаты работы

Сопряжение других функциональных моделей имеющих программный интерфейс как у PCI-имитатора Доработка адаптера функциональных моделей для поддержки функциональной модели с программным интерфейсом, отличным от интерфейса PCI-имитатора Создание других транзакторов с разработанным мной унифицированным DPI-интерфейсом Введение переменных (возможно, случайных) задержек ожидания готовности в PCI-транзакции (это даже предусмотрено в коде транзакторов) Вариирование большего числа характеристик транзакторов Результаты работы Возможности для доработки и использования результатов в других задачах