직렬입력 직렬출력 시프트 레지스터: 기초와 실전 응용
데이터를 직렬로 받아 직렬로 출력하는 시프트 레지스터는 디지털 논리 설계 초석. 각 비트 단계당 한 클럭 주기 지연시켜 정밀 데이터 버퍼링, 직렬 통신, 클럭 도메인 크로싱 가능케 함.
각 단계 단일 비트 저장, 단일 단계 레지스터는 1비트 보유. 여러 단계 캐스케이드하면 레지스터 길이 증가—표준 부품 64비트까지, 여러 소자 직렬 연결로 더 길게 확장 가능.
아래 시스템 클럭에 아직 동기화 안 된 데이터로 구동되는 단일 단계 시프트 레지스터. D-플립플롭(D-FF) 데이터선(핀 D)이 클럭 에지 전까지 값 유지, 에지 후 값 출력 핀 Q 등장.

핵심—다음 그림과 달리—D 핀에 있는 데이터가 클럭 상승 에지 정확히 Q로 전송됨. 입력이 에지 훨씬 전후 안정돼 있으므로 플립플롭 올바른 값 캡처.
양의 에지 트리거 플립플롭에서 출력은 클럭 전이 직후 입력 추종, 위쪽 화살표로 표시.
다단계 시프트 레지스터에서 입력 데이터 클럭 에지 근처서 변경될 수 있음. 그런 경우에도 플립플롭은 에지 직전 값 샘플링; 에지서 발생한 변경은 다음 클럭 펄스까지 무시.

결과적으로 D-FF는 데이터가 클럭에 제대로 동기화되면 한-클럭-주기 지연 소자 역할. 출력 파형은 입력 복사본이 한 클럭 사이클만큼 지연된 것.
타이밍 예시로 텍사스 인스트루먼츠 CD4006B 18비트 직렬입력 직렬출력 시프트 레지스터 살펴보기. 데이터시트 5V DC 동작, 주요 파라미터:
- 셋업 시간 (tS) = 100 ns
- 홀드 시간 (tH) = 60 ns
- 전파 지연 (tP) = 200–400 ns (표준/최대)
이 값들로 D 핀 데이터가 클럭 에지 최소 100ns 전 안정, 이후 60ns 유지 보장. 1MHz 클럭(1µs 주기)서 셋업/홀드 마진 넉넉히 충족.
캐스케이드 시 각 단계 출력(Q)이 다음 단계 입력(D) 공급. 전파 지연(200ns)이 홀드 시간 초과하므로 데이터 전환 내내 유효, 신뢰적 동작 보장.

같은 개념 JK-플립플롭 적용: Q가 J 공급, Q'가 K 공급해 등가 시프트 레지스터 형성.
직렬입력 직렬출력(SISO) 시프트 레지스터는 단일 데이터 입력, 클럭 입력, 마지막 단계 나타나는 단일 출력 가짐. 중간 출력들 보통 노출 안 돼 직렬입력 병렬출력(SIPO) 레지스터와 구별.
3단계 SISO 레지스터에서 다음 파형들 세 비트 단계들 전파, 각 한 클럭 사이클 지연 시연.

텍사스 인스트루먼츠 SISO 소자들
다음 TI 부품들 위 개념들 예시:
이들 4000-시리즈 CMOS 소자, 양전원(VDD) 3V~15V, VSS 접지. 일반적인 최대 클럭 주파수 공급 전압 따라 몇 MHz.

CD4006B는 내부 4비트, 5비트 단계 캐스케이드해 18비트 레지스터 구성 가능. 내부 탭으로 4비트 출력 가능해 더 짧은 시프트 레지스터 필요 앱에 유용.

CD4031B는 풀 64비트 SISO 시프트 레지스터. 추가 두 출력—Q64, Q64'—과 반-단계 지연 출력(반 클럭 사이클 지연) 포함. 모드-컨트롤 입력으로 두 데이터 소스(데이터 1, 2) 선택, 원할 때 데이터 재순환 가능.

모드-컨트롤 높으면 출력 Q64 데이터 입력으로 다시 라우팅돼 64-사이클 피드백 루프 생성. 반복 패턴이나 순환 버퍼 구현에 유용.

CD4517B는 두 독립 64비트 시프트 레지스터(섹션 A, B) 제공. 각 섹션 자체 클럭, 데이터 입력, 라이트 인에이블(WE) 가짐. 16, 32, 48단계 내부 탭으로 16/32/48비트 레지스터 유연 재구성 가능.

예: 섹션 B 16비트 레지스터 구성은 WEB 접지, CLB 클럭 공급, Q16B 지연 출력 읽기. 섹션 A 동일 원리로 풀 64비트 레지스터 동시 사용 가능.
관련 워크시트