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