배울 내용

  • Distinguish SISO from SIPO shift register configurations.
  • Recognize the 4-cycle latency from input to output for a 4-bit SISO.
  • Apply SISO as a delay line for signal alignment.
  • Use SISO in FIR filters and clock-domain synchronizers.
  • Understand that SISO hides internal state — only input and output are visible.

작동 원리

A SISO (Serial-In Serial-Out) shift register has one serial input and one serial output, with N flip-flops in between as a delay chain. Bits entered at the input emerge at the output exactly N clock cycles later. The internal state of the register isn't directly visible — only the output pin tells you what came out.

This configuration is the most basic delay line in digital design. Useful when you need to align a fast signal with a slower one by a fixed number of cycles, or when implementing pipelines where a value must wait N cycles before being used.

For a 4-bit SISO register: - Cycle 0: Input bit 0 captured into FF0. - Cycle 1: FF0 → FF1; new input → FF0. - Cycle 2: FF1 → FF2; ... - Cycle 3: FF2 → FF3; ... - Cycle 4: FF3 → output.

So the bit you put in on cycle 0 emerges on the output at cycle 4 (or cycle 5 depending on whether the output samples after the shift). 4 cycles of latency.

SISO registers are also the basis of digital filters — a tapped delay line can implement FIR filters by adding weighted contributions from each tap.

단계별로 시도해 보세요

위 임베드에서 입력을 설정한 후, 예상 결과를 읽고 직접 확인하세요.

  1. 1
    Serial in = 1 then 0 0 0 Clock = 4 edges
    예상: Output = 1 on the 4th edge
    관찰 포인트: Single 1 input followed by 0s. The 1 walks through the register and emerges 4 cycles later.
  2. 2
    Serial in = 1 0 1 0 ... Clock = running
    예상: Output = same alternating pattern, 4 cycles delayed
    관찰 포인트: Pattern emerges intact but offset in time. The SISO register is acting as a 4-cycle delay line.
  3. 3
    Serial in = 0 always Clock = running
    예상: Output = 0
    관찰 포인트: Sustained 0 input → output stays 0 (after initial register flush). Steady-state behavior matches the input.
  4. 4
    Serial in = 1 always Clock = running
    예상: Output = 1 (after 4 cycles)
    관찰 포인트: Sustained 1 input → after 4 cycles the register fills with 1s, output goes high. Steady-state is also a wire — just 4 cycles late.

사용된 구성 요소

실제 응용 사례

Pipeline alignment. When two signals need to arrive at the same downstream gate but one is N cycles ahead, a SISO register delays the early one to align them.

FIR filter delay lines. Each tap of a finite-impulse-response filter is one stage of a SISO register, multiplied by a coefficient.

Synchronizers. Crossing clock domains uses 2-stage SISO registers (the standard "two flop" synchronizer) to reduce metastability risk.

Token rings and circular buffers. A SISO with output fed back to input forms a circular delay buffer of fixed size.

Signature analyzers. BIST signature compression uses SISO with feedback to compute a CRC-like signature of test responses.

자주 묻는 질문

Why is the latency exactly N cycles?
Each flip-flop adds one cycle of delay. With N flip-flops in series, total latency is N cycles. For a 4-bit SISO, that's 4 clocks from input to output.
Can I make this longer or shorter?
Just add or remove flip-flops. An 8-stage SISO has 8 cycles of delay; a 1-stage SISO is just a D flip-flop with 1 cycle delay. Latency scales linearly with the number of stages.
How is this used in clock-domain crossing?
Two-flop synchronizers — a 2-stage SISO running in the destination clock domain. The first flop captures the foreign signal (potentially metastable); the second flop samples it after the metastability has resolved. Standard pattern for safe domain crossing.
Is the propagation delay the same regardless of input value?
Yes, mostly. Each flip-flop has a clock-to-Q delay roughly independent of input value. For 4 stages, total propagation is 4 cycles + 4 × clock-to-Q ≈ 4 cycles in steady-state operation.
Could I tap intermediate stages for a tapped delay line?
Yes — that's a SIPO + extra logic. Each tap exposes one flip-flop's Q to a multiplier and accumulator, building an FIR filter. Pure SISO hides the taps; tapped-SISO exposes them for multi-tap signal processing.

학습 계속하기