«Работать добросовестно — значит: работать, повышая свою квалификацию, проявляя инициативу в совершенствовании продукции, технологий, организации работ, оказывая не предусмотренную должностными инструкциями помощь другим сотрудникам (включая и руководителей) в общей им всем работе.

Спец курс (Верификация цифровых схем)/Экзамен(Билеты)

Материал из Wiki
Перейти к: навигация, поиск
Лекции ВЦС

Лекции

Практические задания
Тесты

Табель успеваемости

Экзамен
  • Экзаменационные билеты

Доп. материалы

Содержание

Билет №1

  1. Какие операторы в SystemVerilog используются для организации циклов?
  2. Перечислите типы UVM компонент используемых в uvm_agent
  3. Описать класс, в котором создать очередь целых чисел случайной длинны. Реализовать функцию заполнения первых 5 элементов значениями от 1 до 20 причем, остальных случайным образом.
  4. Создать транзакцию содержащую два поля data, addr ширины 32 бита. Поле addr меньше переменной max_addr и больше min_addr. Если значение поля addr равно 0, то data равен 32'h0000FFFF

Билет №2

  1. Какие виды ограничений(constraint) доступны в SystemVerilog?
  2. Для чего может применяется оператор $cast?

Билет №3

  1. Какие типы данных доступны в SystemVerilog?
  2. Какие встроенные методы можно использовать для ассоциативных массивов в языке SystemVerilog?

Билет №4

  1. Классы в SystemVerilog?
  2. Какие встроенные методы можно использовать для работы с динамическими массивами в языке SystemVerilog?

Билет №5

  1. Операторы запуска параллельного выполнения в SystemVerilog?
  2. Какие встроенные методы можно использовать для очереди в языке SystemVerilog?

Билет №6

  1. Интерфейс в SystemVerilog?
  2. Возможно ли в SystemVerilog отключать режим рандомизации для отдельных переменных? Если да, то как.

Билет №7

  1. Что такое группы покрытия в SystemVerilog? Для чего они используются и как описываются.
  2. Опишите бесконечный цикл используя оператор for
  3. Создайте два процесса, печатающие два разных сообщения с разным интервалом времени, и запустите их на выполнение в параллель.

Билет №8

  1. Понятие транзакции в UVM методологии верификации?
  2. В каких случаях допускается использование функций в ограничениях?

Билет №9

  1. Какие виды массивов реализованы в SystemVerilog?
  2. Какие операторы позволяют запустить процессы в параллель, опишите их особенности.

Билет №10

  1. Чем отличается ассоциативные массивы от динамических?
  2. Какие UVM компоненты используемые в uvm_agent не содержат предопределенного порта?

Билет №11

  1. Использование функций и циклов в ограничениях.
  2. Какие операторы используются для назначения события?

Билет №12

  1. Задание списка чувствительности и событий для проверки групп покрытия
  2. Какие операторы используются для мониторинга событий?

Билет №13

  1. Как реализуется проверка последовательности событий в группе покрытия
  2. Допускается ли наследование классов в языке SystemVerilog? Если да, то какие типы наследования допускаются, если нет то почему.

Билет №14

  1. В чем отличие при использовании оператора if и оператора импликации при задании ограничений.
  2. Чем отличается push-сиквенсер (класс uvm_push_sequenser) от обычного сиквенсера (класса uvm_sequencer)?

Билет №15

  1. Какие типы данных могут быть использованы для создания упакованных массивов?
  2. Опишите механизм обмена транзакциями между драйвером и сиквенсером. Какие порты для этого используются.
  3. Создать два класса содержащие функции вывода сообщения и поместить их в пакет. В top модуле подключить пакет и вызвать методы печати сообщения из каждого класса.

Билет №16

  1. Какой из встроенных методов нужно вызвать, чтобы преобразовать строку string str = "def0" в число типа integer?
  2. Создать очередь массивов фиксированной длины, каждый из которых содержит два элемента. Элементы будут задавать нижнюю и верхнюю границы диапазона значений. Реализовать функцию проверки того, что заданные диапазоны во всех элементах очереди не пересекаются между собой.