Menu
Coddy logo textTech

Испытание — ограниченная сумма

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

challenge icon

Задание

Средне

На разрешённых восходящих фронтах накапливайте 8-битный образец signed в signed q, ограничивая результат значениями -128 и 127. Устанавливайте sticky clipped при каждом возникновении насыщения; после установки этот флаг остаётся установленным до тех пор, пока не будет выполнен rst или clear. Оба синхронных управляющих сигнала сбрасывают q и clipped и имеют приоритет над en. На отключённых фронтах оба значения сохраняются. Столбцы вывода: q, clipped. Все управляющие сигналы и данные стабильны до каждого восходящего фронта тактового сигнала; результаты наблюдаются после него.

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

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

module dut (input clk, input rst, input clear, input en, input signed [7:0] sample, output reg signed [7:0] q, output reg clipped);
    // Замените этот заполнитель на ваш дизайн.
    initial q = 0;
    initial clipped = 0;
endmodule

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

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