Описание курса
Данный курс представляет собой введение в язык описания аппаратуры 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 для проверки всех возможных условий работы тестируемого проекта.
Ответы на частые вопросы
Да, работаем в обычном режиме.
Да, подойдут. Для инженеров без опыта разработки мы предлагаем базовые курсы, которые начинаются с основ и постепенно переходят к более сложным темам.
Да, выдаем сертификат после прохождения обучения.
В классе либо онлайн.
Занятия в классе состоят из лекций, обсуждения вопросов и лабораторных работ. Занимаемся полный рабочий день. Начинаем в 10:00 и заканчиваем около 18:00.
Занятия онлайн максимально приближены к занятиям в классе. Для лекций и обсуждения вопросов используем Yandex Telemost, Google Meet или подобные платформы. Для выполнения лабораторных работ нужно будет подключиться к лабораторным ПК по VPN. Работаете в режиме удаленного рабочего стола через программу RealVNC Viewer.
Требования к ПК:
• Быстрый интернет
• Два монитора, один из которых с разрешением не менее 1920х1080
• Гарнитура (наушники с микрофоном)
Минимум 1, максимум 4.
Нет, не нужно. Мы выбираем удобные для вас даты и занимаемся.
Обычно мы занимаемся с 10:00 до 18:00.
Да, учебное место укомплектовано компьютером с двумя мониторами, программным обеспечением и отладочной платой.
1. Презентации
2. Лабораторные работы и архив с исходниками для выполнения лабораторных работ
Занятия согласовываются индивидуально. Выбираем удобные для вас даты и занимаемся.
1. Оставляете заявку на сайте
2. Мы с вами связываемся, отвечаем на все вопросы и согласовываем даты занятий
3. Оплачиваете счет (возможна оплата как для физических, так и юридических лиц)
4. Проводим обучение
Занятия проводятся в нашем учебном классе по адресу: Москва, пр-т Вернадского, д.78
В Санкт-Петербурге нет, но вы можете пройти обучение онлайн, чтобы не ехать к нам в Москву.
Да, по предварительной договоренности. Наш учебный класс находится по адресу: Москва, пр-т Вернадского, д.78
За одного человека.
Мы выставляем счет на оплату (возможна оплата как для физических, так и юридических лиц).
Нет, только 100% предоплата.
100% предоплата по счету.
Да, мы работаем с юридическими лицами. Обучение от организации возможно.
Да, оставьте заявку на сайте и мы свяжемся для обсуждения вашего проекта.