Menu
Coddy logo textTech

Счётчики с насыщением

Часть раздела Проектирование и верификация RTL путешествия по Verilog на Coddy. Урок 17 из 38.

В разделе «Основы» использовался счётчик с циклическим переходом. Насыщающийся счётчик вместо этого останавливается на границе, что полезно для ограниченных счётчиков. Добавьте явную проверку для арифметического обновления и сохраняйте поведение сигналов разрешения и сброса независимым от предела.

Соответствующий фрагмент; окружающие объявления и соединения предоставлены в задании.

always @(posedge clk) begin
    if(rst) count <= 0;
    else if(en && count != 15) count <= count + 1;
end

Максимальное значение сохраняется, а не сбрасывается до нуля.

Явно обновляйте границу защиты, когда счётчик должен достигать предельного значения, а не переходить по кругу.

challenge icon

Задание

Средне

Создайте 4-битный счётчик с насыщением q. Синхронный rst очищает его. При включении фронты увеличивают значение до 15, после чего оно остаётся равным 15; при отключении значение также сохраняется. Сброс имеет приоритет. Столбцы вывода: q. Все управляющие сигналы и данные стабильны перед каждым возрастающим фронтом тактового сигнала; результаты наблюдаются после него.

Завершите design.v, сохранив имена его модулей и порты. Заблокированный testbench.v подаёт изменения входных сигналов и выводит результаты после их стабилизации. Он выбирает сценарий с помощью аргумента симулятора, например +CASE=1; стандартный ввод не требуется. Не добавляйте в design вывод, задержки или завершение симуляции. Ожидаемый вывод — одна строка десятичных значений для каждого наблюдения, разделённых одним пробелом и завершающихся символом новой строки.

Попробуйте сами

module dut (input clk, input rst, input en, output reg [3:0] q);
    // Замените этот заполнитель на ваш дизайн.
    initial q = 0;
endmodule
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Проектирование и верификация RTL

Потренируйтесь самостоятельно: Онлайн-компилятор Verilog