Повторение — переиспользуемая битовая маска
Часть раздела Проектирование и верификация RTL путешествия по Verilog на Coddy. Урок 15 из 38.
Задание
СреднеСоздайте разрядную схему очистки шириной WIDTH с именованным циклом generate: каждый выходной бит равен соответствующему биту a И инверсии b в этой позиции. b является маской очистки. WIDTH — положительное число. Заблокированный тестбенч создаёт экземпляры для значений WIDTH 1, 4 и 8, используя младшие биты a и b для экземпляров меньшей ширины. Столбцы вывода — y1, y4 и y8 в десятичном формате.
Завершите design.v и сохраните имена его модуля и портов. Заблокированный testbench.v подаёт изменения входных данных и выводит результаты после их стабилизации. Он выбирает сценарий с помощью аргумента симулятора, например +CASE=1; стандартный ввод не требуется. Не добавляйте в design вывод, задержки или завершение симуляции. Ожидаемый вывод — одна строка десятичных значений для каждого наблюдения, разделённых одним пробелом и заканчивающихся символом новой строки.
Попробуйте сами
module dut #(parameter WIDTH=4) (input [WIDTH-1:0] a,b, output [WIDTH-1:0] y);
// Реализуйте параметризованную схему.
assign y = 0;
endmoduleВсе уроки раздела Проектирование и верификация RTL
1Надёжная комбинационная RTL-логика
Значения по умолчанию предотвращают защёлкиПриоритетные кодировщикиПроверка One-HotБезопасное декодирование caseПовторение — маршрутизатор запросов4Управляемая последовательная RTL-логика
Приоритет сброса и разрешенияСчётчики с насыщениемКонвейеризация данных и validОбнаружение дискретизированных фронтовПовторение — счётчик событий2Разрядности и знаковая арифметика
Сохранение битов переносаСравнения знаковых чиселАрифметические сдвиги вправоПереполнение и насыщениеПовторение — знаковая разность3Переиспользуемый RTL
Комбинационные функцииПараметры с безопасной разрядностьюЦиклы generateУсловный generateПовторение — переиспользуемая битовая маскаПотренируйтесь самостоятельно: Онлайн-компилятор Verilog