Academy
English한국어

21 / 24 · Lab

Shift-register simulation lab

Trace the serial input alongside q.

Prepare the example

Prepare a Digital Design Studio Desktop project and the permissions to run it. Save each example in a separate folder as 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

Run the example

In New analysis, choose Two-state single-clock v1. Set Clock port to clk and the period to 1000ps. Use the values below, run Preflight, then Run RTL simulation and compare the result.

Initial register values (LSB first)
[false,false,false]
Reset port
rst · Active high · 1 cycle
Maximum cycles / time
5 / 5000ps

Simulation inputs

This file sets the circuit input values at each time step. Expand the filename to inspect it, or download it for your lab.

Compare the result

5 cycles · q=011. The rising-edge sequence is 000 → 001 → 010 → 101 → 011.

These labs use two-state, single-clock RTL. Do not add #delay, initial or X/Z testbenches. Study progress does not verify a simulator run.

Your choice applies to this browser. Change it any time using the footer.