Altifigence Academy

29 / 36 · Практика

Практика симуляции сдвигового регистра

Проследите последовательный вход вместе с q.

Подготовьте пример

Подготовьте проект Digital Design Studio Desktop и права запуска. Сохраните каждый пример в отдельной папке как rtl/top.sv.

rtl/top.sv
module top (
    input logic clk,
    input logic rst,
    input logic din,
    output logic [2:0] q
);
    // Old q[1:0] and din are captured together at each rising edge.
    always_ff @(posedge clk)
        if (rst) q <= 3'b000;
        else q <= {q[1:0], din};
endmodule

Запуск примера

В New analysis выберите Two-state single-clock v1, задайте Clock port=clk и период 1000ps. С указанными ниже значениями выполните Preflight, затем Run RTL simulation и сравните результат.

Начальные значения регистра (младший бит первым)
[false,false,false]
Порт сброса
rst · Активный высокий · 1 цикл
Максимум циклов / времени
5 / 5000ps

Входы симуляции

Файл задаёт входы схемы на каждом шаге. Раскройте имя файла для просмотра или скачайте его.

Сравните результат

После 5 циклов q=011. Последовательность после фронтов: 000→001→010→101→011.

Практика использует двухсостоянийный RTL с одним тактом. Не добавляйте #delay, initial или тестбенчи X/Z. Учебный прогресс не подтверждает запуск симулятора.

Выбор действует в этом браузере. Его можно изменить внизу страницы.