Испытание — события шаблонов
Часть раздела Проектирование и верификация RTL путешествия по Verilog на Coddy. Урок 37 из 38.
Задание
СреднеОбнаруживайте битовый шаблон 101 во входных отсчётах, принятых схемой. en=1 принимает bit_in по переднему фронту; en=0 сохраняет состояние частичного совпадения и выдаёт hit=0. Устанавливайте зарегистрированный hit=1 только при принятии бита, завершающего 101. Перекрывающиеся совпадения разрешены: 10101 создаёт два импульса. Синхронный rst сбрасывает состояние и hit, имея приоритет над en. Столбцы вывода: hit. Все управляющие сигналы и данные стабильны перед каждым передним фронтом тактового сигнала; результаты наблюдаются после него.
Завершите design.v и сохраните имена его модуля и портов. Заблокированный testbench.v задаёт изменения входных сигналов и выводит результаты после их стабилизации. Он выбирает сценарий с помощью аргумента симулятора, например +CASE=1; стандартный ввод не требуется. Не добавляйте в design вывод, задержки или завершение симуляции. Ожидаемый вывод — одна строка десятичных значений для каждого наблюдения, разделённых одним пробелом и заканчивающихся переводом строки.
Попробуйте сами
module dut (input clk, input rst, input en, input bit_in, output reg hit);
// Замените этот плейсхолдер своим дизайном.
initial hit = 0;
endmoduleВсе уроки раздела Проектирование и верификация RTL
1Надёжная комбинационная RTL-логика
Значения по умолчанию предотвращают защёлкиПриоритетные кодировщикиПроверка One-HotБезопасное декодирование caseПовторение — маршрутизатор запросов4Управляемая последовательная RTL-логика
Приоритет сброса и разрешенияСчётчики с насыщениемКонвейеризация данных и validОбнаружение дискретизированных фронтовПовторение — счётчик событий2Разрядности и знаковая арифметика
Сохранение битов переносаСравнения знаковых чиселАрифметические сдвиги вправоПереполнение и насыщениеПовторение — знаковая разность5Память и таблицы поиска
Комбинационные ROM-таблицыХранилище на массиве регистровПорты чтения с регистрациейПересылка при чтении и записиПовторение — банк с двумя портами чтения8Финальные испытания
Испытание — конвейер чётностиИспытание — события шаблоновИспытание — ограниченная суммаПотренируйтесь самостоятельно: Онлайн-компилятор Verilog