Вы находитесь на странице: 1из 30

Какое устройство называют системой на кристалле?

● Сложное устройство, как правило, включающее один или несколько


микропроцессоров, память и другие блоки, объединенные с помощью
шины.

Чем система на кристалле отличается от сети на кристалле?


● Сеть на кристалле использует сетевые принципы и протоколы для
объединения отдельных составляющих ее компонентов и обмена
данными

Что такое встроенные системы(embedded systems)?


● Устройства, использующиеся для управления другими, не
вычислительными устройствами.

На какие классы можно разделить устройства по способу создания их


конфигурации?
● На программируемые(PLD) и специализированные (ASIC)

Модели поведенческого уровня описывают…


● Функцию устройства без деталей его реализации

Модели dataflow-уровня описывают…


● Модификацию данных при передаче между регистрами

Модели вентильного уровня описывают…


● Логические элементы и соединения между ними

Какие классы переменных существуют в Verilog ?


● Цепи (net) и регистры (register)

Какой из идентификаторов ​не​является правильным


Verilog–идентификатором?
● $latch

Какой из идентификаторов ​не​является правильным


Verilog–идентификатором?
● 1reg

Выберите правильный Verilog-идентификатор


● latch$
Какое описание соответствует 8-битовому вектору типа линия?
● wire [7:0] a_in;

Какое описание соответствует 8-битовому вектору типа линия?


● wire [7:0] a_in;

Какое описание соответствует 16-битовому вектору типа линия?


● wire [16:1] b;

Какое описание соответствует памяти из 20 слов целого типа?


● integer address [19:0];

Какое из описаний соответствует памяти из 64 слов типа reg?


● reg address [64:1];

Какая из деклараций описывает память из 256 32-разрядных слов?


● reg [31:0] mem [255:0];

Записан следующий оператор присваивания: A=23456; Какой формат


имеет данное число в Verilog HDL?
● 23456 – 32-битовое десятичное число

Какое выражение описывает 16-битовое число в двоичном формате?


● 16’b1

Выберите правильную запись десятичного числа в Verilog


● -6’d3

Какой элемент вектора (reg [3:9] bus) содержит самый старший бит?
● 3

Декларация reg bool [31:0] описывает …


● память из 32 однобитовых слов

Декларация wire bool [31:0] описывает …


● ошибочная для Verilog декларация

С переменной какого типа может быть связан выходой порт модуля при
построении структурных моделей устройств?
● wire
Какой тип данных может иметь вход модуля?
● wire

Указать название стандартного примитива.


● Картинок.net

Сколько выходов может иметь определенный пользователем примитив?


● 1

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


● с помощью таблицы

Что означает оператор a === b в Verilog?


● a равно b, результат операции никогда не будет равен x

Чему будет равен результат операции Y = {4{A}}, где A = 1’b1


● Y=4’b1111;

Чему будет равен результат операции Y = {3{A}}, где A = 2’b0?


● Y=6’b00_00_00;

Что означает оператор a !== b в Verilog?


● a не равно b, результат операции никогда не будет равен x

Какое из высказываний о приоритете Verilog-операторов является


верным?
● Операторы отношения имеют больший приоритет, чем логические
операторы.

Чему будет равен результат операции X|Y для переменных X = 5’b10101, Y


= 5’b00111?
● 5’b10111;

Чему будет равен результат операции X&Y для переменных X = 5’b10101,


Y = 5’b00111?
● 5’b00101;

Чему будет равен результат операции X^Y для переменных X = 5’b10101,


Y = 5’b00111?
● 5’b10010;
Чему будет равен результат операции &X для X = 5’b10101?
● 0

Чему будет равен результат операции |X для X = 5’b10101?


● 1

Чему будет равен результат операции ^X для X = 5’b10101?


● 1

Чему будет равен результат операции Y={A, B, C, D, 3’B101} для A=1’b1,


B=1’b0, C=2’b11, D=2’b00?
● 101100101

Задержки

Укажите правильный оператор, описывающий задержку линии в Verilog.


● wire #10 out;

Укажите правильный описывающий задержку линии в Verilog оператор.


● assign #10 out = in1 & in2;

Чему будут равны задержки элемента a1?


and #(7) a1(out, i1, i2);
● rise_delay = fall_delay = turn_off_delay =7

Чему будут равны задержки элемента a2?


and #(4, 3) a2(out, i1, i2);
● rise_delay = 4, fall_delay =3, turn-off_delay=3

Чему будут равны задержки элемента a3?


and #(4, 3, 2) a3(out, i1, i2);
● rise_delay = 4, fall_delay =3, turn-off_delay=2

Чему будут равны задержки элемента a3?


`timescale 1 ns / 1 ps

and #(4, 3, 2) a3(out, i1, i2);
● rise_delay = 4 ns, fall_delay =3 ns, turn-off_delay=2 ns
Поведенческие модели, операторы initial и always
Какие значения и в какие моменты времени получат переменные a, b, c и
d с следующем блоке initial?
● Картинок.net

Какое значение переменная d получит в результате выполнения


следующих операторов?
● 10

Чему будет равна переменная reg_a после выполнения следующего кода?


● 011

Чему будет равна переменная reg_a после выполнения следующего кода?


В какой момент времени она получит это значение?
● 011 (time = 20)

a=1’b0, b=1’b1
Какой будет результат выполнения следующих операторов при
изменении clk из 1 в 0?
● a= x, b=x

a=1’b0, b=1’b1
Какой будет результат выполнения следующих операторов при
изменении clk из 1 в 0?
● a= 1, b=0

Поведенческие модели, операторы caze, cazex и cazez

Какое из следующих высказываний является правильным?


● Оператор casez рассматривает величину z как не имеющую
значение(don’t care)

Какое из следующих высказываний является правильным?


● Оператор casex рассматривает z и x как не имеющие значение(don’t
care) величины

Чему будет равна переменная result после выполнения следующих


операторов, если rega =16'h0007?
● Result=10'b1111111011
Чему будет равна переменная result после выполнения следующих
операторов, если rega =16'h1000?
● Result='bx

Какой оператор будет выполнен, если ir= 11001100?


● instruction1(ir)

Какой оператор будет выполнен, если ir= 01001100?


● instruction2(ir)

Какой оператор будет выполнен, если r= 10110001?


● stat3

Какое сообщение будет выведено оператором $display, если encode =


3'b111?
● Select Line 2

Какое сообщение будет выведено оператором $display, если encode =


3'b000?
● Error: One of the bits expected ON

Какое сообщение будет выведено оператором $display, если encode =


3'b001?
● Select Line 0

Какое сообщение будет выведено оператором $display, если encode =


3'b010?
● Select Line 1

Поведенческие модели, циклы

Какой из операторов не является оператором цикла в Verilog?


● loop

Какой сигнал будет сгенерирован после выполнения следующих


операторов?
● Синхросигнал с начальным значением 0 и периодом 40 ед. времени
Какое из выражений создает задержку присвоения переменной a значения
a + 1 на 20 положительных фронтов синхросигнала clk?
● a = repeat (20) @(posedge clk) a+1;

Какое из выражений создает задержку присвоения переменной a значения


a + 1 на 20 событий сигнала clk?
● a = repeat (20) @(posedge clk) a+1;

Управление моделированием

Какой вид управления ​использован​в следующем операторе?


● временное управление задержкой (regular delay control)

Какой вид управления ​применен​в следующем операторе?


● внутриоператорное временное управление задержкой (intra-assignment
delay control)
● временное управление нулевой задержкой (zero delay control)

Какие значения получат сигналы x и y в результате моделирования


следующего кода?
● x = 1, y = 1

Какой вид управления применен в следующем операторе?


@(c) q=d;
● временное управление событием (regular event control)

Какой вид управления применен в следующем операторе?


#(c) q=d;
● временное управление задержкой (regular delay control)

Как будет выполнен следующий оператор


@(negedge clock) q = d;
● q получит значение d как только на сигнале clock произойдет одно из
следующих событий: 1 в 0, x в 0, z в 0

Как будет выполнен следующий оператор


@(posedge clock) q = d;
● q получит значение d как только на сигнале clock произойдет одно из
следующих событий: 0 в 1, x в 1, z в 1
Как будет выполнен следующий оператор
q = @(negedge clock) d;
● значение d сразу будет сохранено во временной переменной до
присвоения его переменной q в момент, когда сигнал clock получит одно
из следующих событий: 1 в 0, x в 0, z в 0

Как будет выполнен следующий оператор


q = @(posedge clock) d;
● значение d сразу будет сохранено во временной переменной до
присвоения его переменной q в момент, когда сигнал clock получит одно
из следующих событий: 0 в 1, x в 1, z в 1

Какой вид управления применен в следующем операторе?


wait (enable) count = count -1;
● временной контроль значением (level-sensitive timing control)

Параметры

К какому классу данных относятся параметры?


● Ни к какому

Когда можно переопределить значение параметра?


● На этапе компиляции

Каким образом может быть переопределено значение параметра?


● В операторе реализации компонента (структурная модель) или с
помощью оператора defparam.

Чему будет равно значение параметров для копии inst модуля


my_module?
● width = 32, delay = 10;

Какой тип данных должны иметь переменные, чтобы им можно было


переприсвоить значение с помощью процедурного оператора
assign/deassign
● только register

Переменные какого типа данных можно переприсваивать значения с


помощью процедурного оператора force/release
● только register
Подпрограммы

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


● Никакого, функция выполняется мгновенно

Какое из высказываний неправильно?


● Функция может использовать задержки, события и операторы
управления временем.

Какое из утверждений ошибочно?


● Задача всегда возвращает только 1 значение

Какое из утверждений ошибочно?


● Функции могут иметь аргументы типов input, output и inout

Какой тип данных возвращает функция по умолчанию?


● reg

Какой тип данных возвращает следующая функция заголовок которой


определен следующим образом?
● 32- разрядные вектор типа reg

Какой тип данных возвращает следующая функция заголовок которой


определен следующим образом?
● reg

Verilog Синтез

Какой по умолчанию будет результат арифметической операции,


присвоенный переменной типа reg?
● Зависит от операндов и выполненной операции

Сколько триггеров будет сгенерировано из следующего кода, если


допустить, что каждая переменная соответствует одному биту?
● Один триггер для STAGE2

Сколько триггеров будет сгенерировано из следующего кода, если


допустить, что каждая переменная соответствует одному биту?
● Два триггера для STAGE1 и STAGE2
Сколько триггеров будет сгенерировано из следующего кода, если
допустить, что каждая переменная соответствует одному биту?
● Два триггера для STAGE1 и STAGE2

Будет ли сгенерирован триггер/триггеры из следующего кода, если да то


сколько?
● Два триггера-защелки для переменных Tmp и Q

Какая логика будет сгенерирована из следующего кода?


● Комбинационное сдвиговое устройство и регистр Q для сохранения
данных

Будут ли сгенерированы триггеры или триггер из следующего кода?


● Директива full_case предотвратит генерирование триггера для
переменной Out

Какой или какие из следующих циклов являются полностью


синтезируемыми?
● for

Как разрешается конфликтная ситуация для оператора casex, когда


значения выбора совпадают или перекрываются
● Оператор casex - полностью синтезируем. Разрешение конфликтных
ситуаций достигается за счет приоритета обработки вариантов выбора.

Какая/какие из следующих конструкций не является синтезируемой?


● initial

Какая логика генерируется из следующего кода?


● триггер с синхронизацией по фронту

Следующий код моделирует два регистра. Результаты моделирования


после синтеза не совпали с результатами функционального
моделирования. Почему?
● Блокирующие операторы являются причиной гонок в функциональном
моделировании. Их следует заменить на неблокирующие.

Какая логика будет сгенерирована при синтезе следующего кода?


● Оператор casex не синтезируемый, потому что значение переменной
SEL может удовлетворять нескольким альтернативам casex
Какой знак будет иметь результат следующей операции?
● Оператор не синтезируется

Результаты моделирования после синтеза не совпали с результатами


функционального моделирования. Почему?
● Комбинационная логика не может быть смоделирована с помощью
оператора always. Следует использовать оператор assign.

Результаты моделирования после синтеза не совпали с результатами


функционального моделирования. Почему?
● Комбинационная логика не может быть смоделирована с помощью
оператора always. Следует использовать оператор assign.

Какой оператор не синтезируется?


● casez

Операторы непрерывного назначения реализуются …


● триггером-защелкой

Что будет сгенерировано в результате синтеза следующего кода?


● Комбинационная схема

Что будет сгенерировано в результате синтеза следующего кода?


● Код не синтезируется

Какой блок будет сгенерирован в результате синтеза следующего кода?


● триггер с асинхронным сбросом в 0

Какой блок будет сгенерирован в результате синтеза следующего кода?


● тристабильный буфер

Что будет сгенерировано в результате синтеза следующего кода?


● Код не синтезируется мультиплексор

Какой блок будет сгенерирован в результате синтеза следующего кода?


● 4-разрядный счетчик с асинхронным сбросом

Что будет сгенерировано в результате синтеза следующего кода?


● Триггер-защелка (latch)
Какой блок будет сгенерирован в результате синтеза следующего кода?
● восьмиразрядный сдвиговый регистр с параллельной загрузкой,
асинхронным сбросом и циклическим сдвигом влево

Оценка временных параметров


На каком этапе проектирования происходит преобразование описания
устройства, представляющего собой схему из элементов целевой
микросхемы, в двоичный файл для программирования микросхемы?
● Имплементация

На каком этапе проектирования происходит преобразование HDL-модели


устройства в схему, состоящую из элементов целевой микросхемы?
● Синтез

После какого этапа проектирования выполняется полный временной


анализ схемы?
● place&route

Какого из перечисленных временных параметров не существует для


следующего элемента?
● D2Q – задержка изменения выхода Q после изменения синхронного
входа D

Чему равна максимальная задержка пути между регистрами (Register to


Register delay) для следующей схемы?
● 15 ns

Чему равна задержка от синхросигнала до выхода (Clock to Output delay)


для следующей схемы?
● 18na

Чему равна задержка комбинационного пути (Pin to Pin delay) для


следующей схемы?
● 12ns
Для цифрового устройства были получены следующие временные
параметры:
Pin to Pin delay = 12 ns (задержка комбинационного пути)
Clock to Output delay = 16 ns (задержка от синхросигнала до выхода)
Register to Register delay = 15 ns (задержка между регистрами)
Чему равен минимальный допустимый для устройства период
синхросигнала?
● 16ns

Back_annotation

Какая модель задержек используется в следующем схеме?


● Распределенная
● Сосредоточенная (lumped)
● Задержка пути (Pin-to-pin delay)

Какая модель задержек используется в следующей схеме?


T_a_out = 9, T_b_out = 9, T_c_out = 11, T_d_out = 11
● Задержка пути (Pin-to-pin delay)

Какая модель задержек используется в следующей схеме?


T_A_Z =12, T_B_Z = 14, T_C_Z = 12
● Задержка пути (Pin-to-pin delay)

Какая модель задержек используется в следующем Verilog-коде?


● Задержка пути

Какой тип соединений используется при описании задержек в следующем


коде?
● Параллельное соединение
● Полное соединение

Какая конструкция применяется в операторе specify для описания


параметров времени?
● specparam
Что описывает данная конструкция
(posedge clock => ( out : in ) ) = (10, 8);?
● Задержка между поступлением переднего фронта синхровхода и
появлением соответствующей реакции на выходе out, в ответ на
значение поданное на вход in. Задержка равна 10 ед. времени при
переключении выхода в 1 и 8 ед. времени при переключении его в 0.

Что описывает данная конструкция


(negedge clock => ( out : in ) ) = (10, 8);?
● Задержка между поступлением заднего фронта синхровхода и
появлением соответствующей реакции на выходе out, в ответ на
значение, поданное на вход in. Задержка равна 10 ед. времени при
переключении выхода в 1 и 8 ед. времени при переключении его в 0.

Что означает следующая конструкция?


● Когда С1=1, задержки переключения выхода OUT из 0 в 1 и из 1 в 0 в
ответ на изменение значения на входе IN равны 1 единице времени. В
остальных случаях все задержки равны 2 единицам времени.
● Неправильная конструкция для Verilog.

Какие задержки описывает следующее выражение?


(clk => q) = (10, 12, 20);
● Rise =10, Fall =12, Turn-off =20

Какие задержки описывает следующее выражение? (clk => q) = (10, 20);


● Rise =10, Fall = 20

Какую функцию выполняет следующая системная задача? $setup(data,


posedge clock, 3);.
● Выдает сообщение о нарушении времени установки, если
T_posedge_clock-T_data<3 ед. времени

Какую функцию выполняет следующая системная задача? $hold(posedge


clear, data, 3);
● Выдает сообщение о нарушении времени хранения, если T_data-
T_posedge_clock <3 ед. времени.

Какую функцию выполняет следующая системная задача? $width


(posedge clock, 6)​;
● Выдает сообщение о нарушении требуемой ширины импульса, если
ширина импульса сигнала clock была меньше 6 ед. времени.
Какую функцию выполняет следующая системная задача? $setup(data,
posedge clock, 5);
● Выдает сообщение о нарушении времени установки, если
T_posedge_clock-T_data<5ед. времени.

Какую функцию выполняет следующая системная задача? $width


(posedge clock, 11);
● Выдает сообщение о нарушении требуемой ширины импульса, если
ширина импульса сигнала clock была меньше 11 ед. времени.

При моделировании системы, включающей следующие операторы


были получены следующие временные диаграммы.
О нарушении какого временного параметра будет получено сообщение об
ошибке?
● Время установки
Системное проектирование

В чем заключаются особенности HW/SW деление системы?


● Это одно из самых сложных решений, в основе которого лежит
компромисс стоимость-производительность

Чем характеризуется аппаратная реализация проекта?


● Увеличением производительности, повышением затрат на
проектирование

Чем характеризуется программная реализация проекта?


● Уменьшением стоимости и времени проектирования, снижением
производительности устройства

Какая цель начальной верификации устройства на системном уровне?


● Проверка спецификации устройства и его архитектуры

Какая цель верификации устройства на уровне интеграции?


● Выполнение тестирования интерфейсов между блоками

Какая верификация выполняется при тестировании устройства на уровне


блоков?
● Функциональная верификация отдельных блоков

Какая цель функциональной верификации устройства?


● Проверка функции, крайних ситуации, построение testbench для
выполнения дальнейшей верификации

Какая цель временной верификации устройства?


● Проверка временных параметров, обнаружение и анализ критических
путей схемы

Какая цель вентильной(gate level) верификации устройства?


● Проверка соответствия вентильной схемы, сформированной в
результате синтеза, модели RTL-уровня

Что такое формальная верификация?


● Это математические методы, используемые для верификации
эквивалентности между RTL-кодом и вентильной моделью или между
поведенческой и вентильной моделями.
Какое из описаний соответствует Hard IP?
● Блок описан на физическом уровне, полностью реализован и
верифицирован для одного или нескольких технологических процессов
производства микросхем.

Какое из описаний соответствует Soft IP?


● Блок представлен в виде синтезируемого HDL-кода и может быть
реализован на любой аппаратной платформе

Какая характеристика соответствует IP Core разрабатываемых фирмами,


создающими программное обеспечение для проектирования (EDA
vendors)?
● Разработка IP Core ведется с целью создания завершенного комплекса
программного обеспечения для проектирования цифровых устройств

Направление деятельности fabless компаний?


● Фирма создает собственные IP Core для своих проектов. Акцент
деятельности компании направлен на продажу готовых микросхем, при
этом фирма не имеет собственных заводов по их изготовлению.

Направление деятельности system компаний (System Companies)?


● Направление работы компании – продажа целых цифровых систем.
Имеют собственные SW IP, которые разрабатываются в случае
невозможности их покупки.

Какая характеристика относится к событийному моделированию?


● Обрабатывается каждое событие схемы до достижения в ней
устойчивого состояния. Вычисление нового значения выполняется
только по активному фронту синхросигнала. Все комбинационные
фрагменты заменяются уравнениями и вычисляются за один такт.

Какая характеристика относится к cycle-based моделированию?


● Вычисление нового значения выполняется только по активному фронту
синхросигнала. Все комбинационные фрагменты заменяются
уравнениями и вычисляются за один такт.

Какая характеристика относится к transaction-based моделированию?


● Высокий уровень представления и верификации цифровых устройств, в
котором передача информации между блоками может обрабатываться
как одно событие.
Какая характеристика относится к HW/SW со-моделированию?
● Использование программы отладки software вместе с основанными на
событийном моделировании программами проектирования hardware, для
верификации функционирования системы в целом.

Модели уровня транзакций

Как называется модель, поддерживающая cycle-timed описание


функциональности и коммуникаций?
● RTL -модель

Как называется модель с un-timed детализацией времени для


функциональности и коммуникаций?
● SAM - модель (System Architectural Model)

Какая из TLM-моделей является самой распространенной?


● BFM-модель (Bus Functional Model)

Какое из описаний соответствует языку SystemC?


● Язык, созданный для проектирования SoC–устройств на ESL-уровне.
Является адаптированной для системного проектирования и
стандартизированной версией языка Си++.

Какое из описаний соответствует языку SystemVerilog?


● Язык описания и верификации аппаратуры (HDVL), который является
расширением стандарта IEEE 1364 Verilog-2001.

Типы данных

Какой класс аппаратуры моделирует оператор always_comb в


SystemVerilog?
● Комбинационную схему.

Какой класс аппаратуры моделирует оператор always_ff в SystemVerilog?


● Последовательностное устройство, управляемое фронтом
синхросигнала
Какой класс аппаратуры моделирует оператор always_latch в
SystemVerilog?
● Последовательностное устройство, управляемое уровнем синхросигнала

Какой класс аппаратуры моделирует оператор always_flipflop в Verilog?


● Такого оператора нет в Verilog

Что означает следующее выражение forever #5ns clock = ~clock;


(SystemVerilog)?
● Генерирование синхросигнала clock c периодом 10 ns.

Какое из определений соответствует логическому(logic) типу данных?


● Тип данных, имеющий четыре состояния, который может получать
значения в операторе непрерывного присвоения assign и в процедурных
операторах

Какие из перечисленных типов данных относятся к типам данных с двумя


состояниями?
● bit, byte, shortint, int, longint

Для чего предназначена функция $cast?


● Системная функция преобразования типов данных

Какой номер имеет элемент RED в типе перечисления определенным


следующим образом?
● 0

Из каких меток состоит следующий тип перечисления?


● RESET, S0, S1, S2, S3, S4, W6, W7, W8, W9

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


меток типа перечисления?
● int

Какая ошибка содержится в следующем выражении?


● Тип logic позволяет индексировать только две метки

Определена структура
Что означает следующее выражение?
● Запрещенная конструкция
● Все поля структуры IW будут установлены в 0
Что такое упакованная структура?
● Упакованные структуры хранятся как непрерывное множество битов без
дополнительного неиспользуемого пространства.

Что означает выражение?


● Структура pixel_p_s является упакованной

Что означает данное выражение?


● Упакованная структура packed_in сдвигается на два разряда влево и
присваивается структуре packed_out.

Какие ограничения существуют при определении упакованных


объединений?
● Все элементы объединения должны иметь одинаковую длину в битах

Типы данных (Массивы)

Что означает данное выражение?


● Неупакованный массив из 1024 одноразрядных слов
● Массив из 256 8-разрядных векторов
● Неупакованный массив вещественных чисел из 1024 элементов
● Трехмерный неупакованный массив из целых чисел
● Двумерный массив с индексацией от 0 до 7, от 0 до 3
● Декларацию двух динамических массивов
● Декларацию и инициализацию очереди
● Ассоциативный массив assoc для 64 разрядных слов и 64разрядный
вектор idx

Что такое упакованный массив?


● Непрерывная последовательности битов, которая не имеет
неиспользуемых пространств

Что такое неупакованный массив?


● Массив, каждый элемент которого сохраняется в виде слова, размером
32-битов
Что означает следующее выражение?
● Создание и инициализация неупакованного массива из элементов int
● Создание и инициализация двумерного неупакованного массива из
элементов int
● Создание двумерного упакованного массива из элементов bit размером
4x8
● Массив из трех упакованных массивов размером 4 на 8

Какое из определений может быть применено к динамическим массивам?


● Массивы, которые декларируются без указания их длины с пустыми
скобками []. Для выделения памяти под массив используется оператор
new[].

Что такое очередь?


● Массивы, размер которые может быть увеличен или уменьшен в
процессе работы с ним. Допускается добавлять или удалять элементы с
начала, конца и середины массива.

Что такое ассоциативный массив?


● Список, сохраняющий значение и индекс каждого элемента.
Используется для хранения больших разреженных массивов.

SystemVerilog3
Какую ошибку содержит следующее выражение?
● Блок always_comb не имеет списка чувствительности.
● Оператор управляется фронтом сигнала и требует указывать фронт в
списке чувствительности

Что такое программа?


● Оболочка, которая используется для описания тестовых конструкций в
SystemVerilog

Какое из определений соответствует семафору?


● Семафоры позволяют контролировать доступ к общим ресурсам

Для чего используются mailbox?


● Используется для передачи информации между процессами.
Среда верификации

Какие объекты в TestBench относятся к уровню сигналов?


● DUT

Какие объекты в TestBench относятся к уровню команд?


● Driver, Assertion, Monitor

Какие объекты в TestBench относятся к функциональному уровню?


● Agent, Scoreboard, Checker

Какие объекты в TestBench относятся к уровню сценария?


● Generator

Интерфейсы

Какое из выражений не может быть применено к описанию интерфейса?


● В интерфейсе нельзя использовать оператор always

Какое из выражений не может быть применено к описанию интерфейса?


● Интерфейс может содержать операторы реализации модулей

Какое отличие между интерфейсом и модулем является неверным?


● Интерфейс не может содержать процедурные блоки initial, always и final,
модуль может

С помощью, каких операторов сигналы интерфейса должны получать


значения?
● Неблокирующих

Какое из определений нельзя применить к конструкции modport?


● В конструкции modport при описании порта указывается его направление,
тип данных и разрядность.

Каким образом можно указывать используемый режим modport?


● Либо в декларации портов модуля, либо в операторе реализации
модуля, но не в обоих местах одновременно
Ассерции, последовательности, свойства

Какое определение соответствует последовательности?


● Это упорядоченная совокупность булевых выражений, которая включают
нулевое, конечное или бесконечное множество линейных
последовательностей

Какое определение соответствует свойству?


● Позволяют задавать проверку поведения системы.

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


ассерциях?
● По событию синхросигнала

Что описывает следующий код?


● Свойство, управляется передним фронтом синхросигнала. Проверяет,
что после последовательности "a=истина и на следующем такте
b=истина", должна следовать последовательность "с=истина и на
следующем такте d=истина". Проверка второй последовательности
выполняется, только если первая последовательность возвращает
значение истина, иначе все свойство имеет значение истина.
● Последовательность, синхронизируется передним фронтом clk1.
Возвращает значение истина, если последовательность "а "имеет
значение "истина" на первом синхротакте, а "b" - на следующем.
● Параллельная ассерция управляемая свойством master_prop
● Свойство. Возвращает значение истина, если req=0 на первом
синхротакте; gnt=0 на втором синхротакте; младший бит gnt
переключится в 1 на третьем синхротакте
● Прямая ассерция, проверяет, что переменная bus.cb.grant = 01, иначе
формируется сообщение об ошибке

Ассерции, последовательности, свойстваю Ч 2

Какое из выражений не может быть использовано при определении


последовательности (sequence)?
● a |=>b

Какое из выражений не может быть использовано при определении


последовательности (sequence)?
● a |->b
Какое выражение соответствует данной последовательности?
● a ##1 b ##1 b ##1 b ##1 c
● a ##1 ((!b [*0:$] ##1 b) [*2:10]) ##1 !b[*0:$] ##1 c
● a ##1 ((!b[*0:$] ##1 b) [*2:10]) ##1 c

Функциональное покрытие

Какое из определений не подходит к описанию покрытия коде (code


coverage)?
● Использует пользовательскую метрику, определяющую, какая часть
спецификации проекта, указанная в плане тестирования, была
проверена.

Какое из определений не подходит к описанию покрытия кода (code


coverage)?
● Собирает информацию о покрытии переменных и выражений, а также о
перекрестном покрытии значений между ними.

Какое из определений не подходит к описанию функционального


покрытия (functional coverage)?
● Оценивает полноту тестирования с точки зрения проверки операторов,
описывающих модель устройства. Выполняет автоматическое или
пользовательское создание корзин покрытия

Какое из определений не подходит к описанию функционального


покрытия (functional coverage)?
● Точки покрытия автоматически формируется на основе кода проекта

Какое из определений не подходит к описанию функционального


покрытия (functional coverage)?
● Точки покрытия автоматически формируется на основе кода проекта

Сколько корзин будет автоматически создано в следующей группе


покрытия?
● 3
● 4
● 10
● 8
● 16
● 8
Сколько корзин будет автоматически создано для перекресного покрытия
переменных kind и port?
● 32

Сколько корзин будет автоматически создано для перекресного покрытия


переменных color и pixel_adr?
● 48
● 192

Сколько корзин может будет создано для покрытия переменной tr.kind?


● 11

В какую корзину попадет значение переменной tr.kind равное 9?


● hi_9

В какую корзину попадет значение переменной tr.kind равное 1?


● lo

Сколько корзин может будет создано для покрытия переменной v_a?


● 6

Что означает следующее выражение?


● Группу покрытия, собирающий информацию о значениях
последовательно принимаемых сигналом port. Анализируемые
последовательности – после нуля, порт переключается в 1, 2 или 3

Сколько корзин будет создано в следующей группе покрытия?


● 24

Что такое auto_bin_max?


● Опция, определяющая максимальное количество создаваемых
автоматически корзин для точки покрытия или группы покрытия

Для чего используется функция sample вместе с экземпляром


covergroup?
● Выполняет сбор информации для точек покрытия группы покрытия.
Генерация псевдослучайных значений
Какое из определений нельзя использовать с модификатором rand?
● Генерирует псевдослучайную последовательность данных, значения в
которой не будут повторять, пока не будут перебраны все возможные
значения заданного для поля класса типа данных

Какое из определений нельзя использовать с модификатором randc?


● Генерирует псевдослучайную последовательность данных,
произвольным образом

Какие вероятности появления значений для переменной src?


● 0 - 40/220; 1 - 60/220; 2 - 60/220; 3 - 60/220

Какие вероятности появления значений для переменной dst?


● 0 - 40/100; 1 - 20/100; 2 - 20/100; 3 - 20/100

Какие из значений не допустимы для переменных b,c и d?


● b= 27; с = 27; d = 26

Какая комбинация значений не допустима для переменных x и y?


● x=0; y=1

Какая комбинация значений не допустима для переменных x и y?


● x=0; y=0

Какие значения не могут принимать поля класса Stim?


● type = READ; congestion_test = 1; len = 1; src = 1; dst = 1

Какие значения не могут принимать поля класса Stim?


● type = READ; congestion_test = 0; len = 1; src = 1; dst = 1

Какие значения не могут принимать поля класса Stim?


● type = READ; congestion_test = 1; len = 1; src = 10; dst = 1000

UVM
Какие из следующих UVM-объектов формируются один раз в начале моделирования?
● квазистатическим
● river, monitor, scoreboard, sequencer, agent, environment.
Какие из UVM-объектов относят к динамическим?
● транзакции и sequence

Какой объект управляет последовательностью sequence в UVM?


● Sequence

Какой UVM блок может считывать значение сигналов DUT и подавать тестовые наборы?
● Sequencer

Какой UVM блок коллекционирует транзакции?


● Sequence Item

Какой UVM блок является оболочкой для секвенсера, драйвера и монитора”?


● тест?

Какие из блоков могут присутствовать в пассивном агенте?


● транзакции события

Каким образом выполняется конфигурация наследников класса uvm_object, для


поддержки методов, предлагаемых базовым классом?
● Factory
● Config db(Configuration)

Каким образом выполняется конфигурация наследников класса uvm_component, для


поддержки методов, предлагаемых базовым классом?
● В отличие от объекта, метод new класса компонента вторым аргументом
получает ссылку на компонент родителя.

Тема UVM TLM


Какие порты предлагает TLM-интерфейс в UVM?
Какой тип должен иметь порт в классе, реализующем фукнцию передачи?
put
Какой порт позволяет выполнять передачу транзакций на несколько компонентов одновременно?

port-to-export

port-to-port

export-to-export

Какой тип портов использует функцию put для передачи транзакции?


Какой тип портов использует функцию get для получения транзакции?
Какие интерфейсы относятся к однонаправленным?
put get
Какие интерфейсы относятся к двунаправленным?
Какой из интерфейсов позволяет разорвать синхронизации между producer и consumer, что дает им
возможность работать независимо?
Analysis

Блокирующие Неблокирующие Описание

put try_put, can_put Посылает транзакцию


другого компонента

get try_get, can_get Получает новую транзакцию


от другого компонента

peek try_peek, can_peek Читает копию транзакции,


не забирая ее

transport no_transport Посылает запрос


транзакции и возвращает
ответ транзакции в одном
вызове задачи

Тема Интерфейсные UVС


Какие UVM-классы участвуют в формировании и подаче тестовых последовательностей?
Для реализации процесса генерирования тестовых данных в UVM определены следующие классы:
1. Sequence item. (Данные, представляющие транзакцию)
2. Sequence (Последовательность транзакций)
3. Sequencer (Управляет последовательностью или последовательностями, запускает
генерирование данных)
Driver (Получает данные от секвенсора и передает их в DUT)

Какие существуют разновидности агентов ?


Для каких блоков агент служит оболочкой?

Какой класс описывает транзакцию?


apb_transfer
Sequence item

Какой/ие классы передают тестовые наборы в DUT?


apb_transfer

Через какой механизм драйвер подключается к DUT?


виртуальный интерфейс для подключения к DUT

Какой класс определяет порядок формирования последовательностей?


ЧТО ТАКОЕ ДРАЙВЕР

Какой класс выполняет генерирование последовательностей?


хз

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


Драйвер и секвенсор соединяются через ​tlm-​порты, при этом порт ​seq_item_port ​ драйвера
подключается к порту ​seq_item_export ​секвенсора. Компонент, который будет содержать драйвер и
секвенсор должен реализовывать соединение между портами компонентов.
Какие классы непосредственно составляют среду верификации в UVM?
pb_env extends uvm_env;