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

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

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

Вариант 3819383441.


Ваше имя: 


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

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

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

Вопрос 4

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

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

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

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

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

Вопрос 8

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

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

Вопрос 9

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

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

Вопрос 10

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

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