«…Труд избавляет человека от трех великих зол: скуки, порока, нужды…»

Вопросы по лекции 2 (Верификация цифровых схем) — вопросы

Перейти к: навигация, поиск
12345678910
Данный тест позволит вам проверить базовые знания по Рандомизации и функциональном покрытии языка SystemVerilog

Вариант 3836361881.


Ваше имя: 


Вопрос 1

Допускается ли использование групповых символов при описании ограничений?

  1.  Только для типа int
  2.  нет правильных ответов
  3.  В SystemVerilog нет такой возможности
  4.  Допускается

Вопрос 2

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

  1.  Допускается, если функция возвращает значение типа int
  2.  Допускается, если функция возвращает значение типа real
  3.  Все ответы правильные
  4.  Допускается или нет зависит от типа возвращаемого значения функции

Вопрос 3

9. Сколько и какие корзины задает следующее выражение?

coverpoint MyCP {
  bins c[4] = {[14:21]};
} 
  1.  3 корзины: [14, 15, 16], [17, 18,19], [20, 21]
  2.  нет правильных ответов
  3.  4 корзины: [14, 15], [16, 17], [18, 19], [20, 21]
  4.  выражение задано неверно
  5.  1 корзину: [14:21]

Вопрос 4

Возможно ли в SystemVerilog отключать режим рандомизации для отдельных переменных?

  1.  нет
  2.  в зависимости от симулятора
  3.  нет правильных ответов
  4.  да
  5.  зависит от того, где объявлен класс, содержащий рандомизируемые переменные

Вопрос 5

10. Сколько и какие корзины задает следующее выражение?

coverpoint MyCP {
  bins c[2] = { 5'b11??0 };
}
  1.  2 корзины: 11000, 11110
  2.  1 корзину: [11xx0]
  3.  выражение задано неверно
  4.  2 корзины: [11000, 11010], [11100, 11110]
  5.  нет правильных ответов
  6.  4 корзины: 11000, 11010, 11100, 11110

Вопрос 6

7. С помощью каких операторов можно задать условие при описании ограничений (constraint) для рандомизируемой переменной?

  1.  Оператор case
  2.  Операторы if ... else,  >
  3.  Оператор dist
  4.  Оператор if ... else
  5.  Оператор foreach
  6.  Оператор iff
  7.  Оператор  >
  8.  нет правильных ответов

Вопрос 7

Можно ли управлять вероятностью появления значений рандомизируемой переменной?

  1.  Да, с помощью оператора dist
  2.  Нет правильных ответов
  3.  Да, с помощью объявления переменной как rand
  4.  Да, с помощью задания переменной симулятора SEED
  5.  Нет, только встроенный алгоритм генерации

Вопрос 8

Какие операторы циклического перебора доступны при написании ограничений?

  1.  нет правильных ответов
  2.  Оператор foreach
  3.  Оператор for
  4.  Оператор case
  5.  Оператор repeat
  6.  Оператор forever

Вопрос 9

Как выключить рандомизацию для всего класса?

  1.  Вызвать метод rand_mode(1) переменной объявленной как rand
  2.  Нет правильных ответов
  3.  Вызвать метод rand_mode(0) объекта класса, содержащего рандомизируемые переменные
  4.  Вызвать метод rand_mode(0) переменной объявленной как rand
  5.  Вызвать команду симулятора +unset_rand

Вопрос 10

Как задать порядок решения случайных переменных с ограничениями?

  1.  Использовать ограничение вида solve … before, задающее порядок решения переменных
  2.  Задать команду симулятора +set_lists_priority=”obj.var1, obj.var2, obj.var5”
  3.  Все из перечисленных вариантов
  4.  Перечислить переменные в нужном порядке как входные при вызове метода randomize()
  5.  Использовать ограничение вида solve … before, задающее порядок решения ограничений