Повторение — управление временем
Часть раздела Основы путешествия по Verilog на Coddy. Урок 72 из 90.
Задание
Это задание проверяет твоё понимание задержек, gate delay, assignment delay, timescale и генерации clock.
Что нужно сделать:
- Add директиву
timescaleс1ns / 1ps - Generate clock, который toggles every 5 time units
- Add вентиль AND с задержкой gate в 3 time units
- Используй assignment delay, чтобы assign
aкbafter 2 time units (Readaнемедленно)
Попробуйте сами
// TODO: Добавить директиву timescale (1ns / 1ps)
module timing_challenge;
reg clk;
reg a, b;
wire out;
initial begin
clk = 0;
end
// TODO: Сгенерировать тактовый сигнал, который переключается каждые 5 единиц времени
// TODO: Добавить вентиль AND с задержкой 3 единицы времени (входы a, b, выход out)
initial begin
$monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
a = 1;
// TODO: Использовать задержку присваивания, чтобы присвоить a в b через 2 единицы времени
// Прочитать a сейчас, присвоить b через 2 единицы времени
#20;
$finish;
end
endmoduleВсе уроки раздела Основы
1Введение
Что такое VerilogАппаратное и программное обеспечениеВаш первый модульКомментарииУровни абстракции проектирования4Операторы. Часть 1
Арифметические операторыОператор взятия остаткаОператоры сравненияПовторение — простая математикаПобитовые операторы7Присваивание и логические элементы
Непрерывное присваиваниеПрисваивание с операторамиВстроенные примитивы логических элементовЭлементы И, ИЛИ и НЕЭлементы XOR и XNORПовторение — схема на логических элементах10Принятие решений
Оператор ifif—elseПовторение — простой компараторОператор casecaseх и casezПовторение — проектирование ALU13Синхронизация и задержки
Что такое задержкиЗадержки вентилейЗадержки присваиванияДиректива timescaleГенерация тактового сигналаПовторение — управление временем5Операторы, часть 2
Логические операторыОператоры свёрткиОператоры сдвигаОператор конкатенацииУсловный операторПовторение — задание на операторы11Циклы
Цикл forЦикл whileЦикл повторенияБесконечный циклОператор отключенияПовторение — шаблоны циклов3Система счисления
Двоичное представлениеЧисла заданной разрядностиЧисла без указания разрядностиОтрицательные числаСпециальные значения X и ZПовторение — форматы чисел6Модули
Структура модуляВходные и выходные портыДвунаправленные портыСоздание экземпляра модуляПодключение портов по имениПодключение портов по порядкуПовторение — создание модуля9Процедурные блоки
Блок AlwaysБлок InitialСписок чувствительностиБлокирующее присваиваниеНеблокирующее присваиваниеПовторение: Always и InitialПотренируйтесь самостоятельно: Онлайн-компилятор Verilog