Моделирование на SystemVerilog

ЗАПИСАТЬСЯ НА ОБУЧЕНИЕ

Описание курса

Данный курс представляет собой введение в язык описания аппаратуры 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 для проверки всех возможных условий работы тестируемого проекта.

ЗАПИСАТЬСЯ НА ОБУЧЕНИЕ