Верификация на SystemVerilog

51 990 ₽

Сложность: средний
Продолжительность: 2 дня
Формат участия: в классе/онлайн
Расписание: по согласованию

Описание курса
Данный курс представляет собой введение в язык описания аппаратуры SystemVerilog и его применение для моделирования. Материал курса сфокусирован на разработке, с использованием новых языковых конструкций SystemVerilog, тестовых модулей (testbench) для верификации проекта. Изучается объектно-ориентированное моделирование, описываются новые типы данных, библиотеки подпрограмм (task и function), рандомизация, code coverage, assertions и Direct Programming Interface (DPI). Полученные знания можно применять при верификации любой цифровой системы. Курс сочетает в себе содержательные теоретические лекции и полезные практические лабораторные работы для закрепления ключевых понятий.

Посетив данный двухдневный курс, вы приобретете ценный практический навык. Студенты, имеющие опыт проектирования на Verilog, смогут эффективнее осуществлять моделирование и верификацию проектов.

Продолжительность
2 дня

Кому будет полезен курс?
Инженеры по проектированию и верификации аппаратуры

Что нужно знать заранее?
Иметь опыт проектирования на Verilog или пройти курс «Проектирование на Verilog»

Рекомендации
Курс «Проектирование на SystemVerilog»

Программное обеспечение
– Vivado Design Suite
– QuestaSim Simulator

По завершении курса вы будете иметь все необходимые навыки для того чтобы:
Знать особенности и достоинства использования SystemVerilog для верификации проектов
– Определять новые типы данных, поддерживаемые в SystemVerilog
– Использовать усовершенствованные возможности подпрограмм (task и function)
– Использовать новые блоки верификации, доступные в SystemVerilog
– Понимать суть объектно-ориентированного программирования и уметь создавать базирующийся на классах продукт для верификации проекта
– Применять различные методы генерации случайных данных
– Создавать и использовать случайные данные для создания входных воздействий на тестируемый проект
– Понимать возможности улучшенного функционала SystemVerilog для верификации проекта
– Применять assertions для быстрой идентификации корректности поведения системы при моделировании
– Уметь в среде моделирования использовать интерфейс Direct Programming Interface (DPI) совместно с C/C++

Структура курса

День 1

– Введение в использование SystemVerilog для моделирования
– Типы данных
– Подпрограммы (task и function)
– Лабораторная работа 1: Использование подпрограмм. Использование подпрограмм при генерации входных воздействий для тестируемого проекта и выполнение моделирования
– Стандартные блоки верификации в SystemVerilog
– Лабораторная работа 2: Проверка проекта с помощью тестбэнча – Использование новых блоков проверки в SystemVerilog для подачи входных данных на тестируемый проект
– Объектно-ориентированное моделирование
– Лабораторная работа 3: Объектно-ориентированное моделирование - Использование методов объектно-ориентированного программирования при создании класса, позволяющего усовершенствовать процесс верификации проекта

День 2

– Рандомизация
– Лабораторная работа 4: Рандомизация. Создание случайных данных на входе тестируемого проекта для полной его проверки
– Функциональное покрытие (coverage)
– Лабораторная работа 5: Функциональное покрытие (coverage) – Создание и использование группы для проверки полноты кода для тестируемого проекта. Внесение изменений и повторная проверка полноты тестирования
– Лабораторная работа 6: Assertions – Создание assertion для проверки всех возможных условий работы тестируемого проекта
– Direct Programming Interface
– Демонстрация: Direct Programming Interface

Описание лабораторных работ

Лабораторная работа 1

Использование подпрограмм – Использование подпрограмм при генерации входных воздействий для тестируемого проекта и выполнение моделирования.

Лабораторная работа 2

Проверка проекта с помощью тестбэнча – Использование новых блоков проверки в SystemVerilog для подачи входных данных на тестируемый проект.

Лабораторная работа 3

Объектно-ориентированное моделирование – Использование методов объектно-ориентированного программирования при создании класса, позволяющего усовершенствовать процесс верификации проекта.

Лабораторная работа 4

Рандомизация – Создание случайных данных на входе тестируемого проект для полной проверки проекта.

Лабораторная работа 5

Функциональное покрытие (coverage) – Создание и использование группы для проверки полноты кода для тестируемого проекта. Внесение изменений и повторная проверка полноты тестирования.

Лабораторная работа 6

Assertions – Создание assertion для проверки всех возможных условий работы тестируемого проекта.

записаться на обучение