Altifigence Academy

20 / 63 · 개념

D 플립플롭: 레벨에서 에지로

래치와 플립플롭의 갱신 시점을 비교하고, 레지스터가 값을 저장할 때 필요한 setup·hold 조건을 살펴봅니다.

클록이 1인 동안과 1로 바뀌는 순간은 다릅니다

positive-level 래치래치 제어 신호가 활성인 동안 입력을 따라가고 비활성일 때 값을 유지하는 저장소자입니다. 에지에서만 저장하는 플립플롭과 다릅니다. 자세히 보기는 CLK=1인 구간 내내 D를 따라갑니다. 상승 에지상승 에지 클록이 0에서 1로 바뀌는 순간입니다. CLK=1인 구간 전체를 뜻하는 레벨과 구별합니다. D 플립플롭플립플롭 클록의 지정된 에지에서 입력을 저장하고 다음 에지까지 유지하는 소자입니다. 입력은 setup·hold 조건을 만족해야 합니다.은 CLK가 0에서 1로 바뀌는 순간의 D를 저장하고 다음 상승 에지까지 유지합니다. clk=1인 조건을 확인하는 것과 상승 에지를 확인하는 것은 다릅니다.

다음 비교를 직접 수행하세요.

  1. CLK=0에서 D를 1로 바꿉니다. 두 Q는 아직 0입니다.
  2. CLK를 1로 올립니다. 두 Q가 1이 됩니다.
  3. CLK=1을 유지하며 D를 0으로 바꿉니다. 래치 Q만 0이 됩니다.
  4. CLK를 0으로 내렸다가 다시 1로 올립니다. 플립플롭의 Q도 0이 됩니다.
같은 D·CLK에서 달라지는 두 저장소자

초기 q=0을 가정합니다. D 래치는 CLK=1인 동안 D를 따라가며 CLK=0에서는 유지합니다. D 플립플롭은 CLK의 0→1 전환에서만 D를 저장합니다.

순차회로의 한 사이클

플립플롭의 출력 Q를 조합회로에 넣어 다음 입력 D를 계산하는 방식으로 상태 전이를 구현합니다. 에지 직전 입력을 DkD_k, 에지 후 저장 상태를 Qk+1Q_{k+1}이라고 할 때 이상적 모델은 다음과 같습니다.

Qk+1=DkQ_{k+1}=D_k

실제 출력은 에지 순간에 바로 변하지 않고 clock-to-Q 지연 뒤에 바뀝니다. 여러 플립플롭이 같은 에지에서 각자의 입력을 저장하기 때문에 서로의 이전 상태로부터 다음 상태를 계산할 수 있습니다. 이 개념이 카운터와 시프트 레지스터레지스터 여러 비트의 상태를 저장하는 회로입니다. 이 과정의 동기식 레지스터는 클록 에지에서 정해진 입력을 저장합니다.의 출발점입니다.

상태에서 다음 상태로
  1. 현재 Q: 이번 사이클의 저장 상태
  2. 조합회로: Q와 외부 입력으로 D 계산
  3. 다음 상승 에지: 타이밍 조건을 만족한 D 저장
  4. 새로운 Q: clock-to-Q 지연 뒤 다음 상태 출력

setup·hold는 샘플링의 전제입니다

D는 캡처 에지 전 setupsetup 클록의 캡처 에지 전에 입력 데이터가 안정되어 있어야 하는 최소 시간입니다. 위반하면 저장 결과를 보장할 수 없습니다. 자세히 보기 시간과 에지 후 hold 시간hold 시간 클록의 캡처 에지 후에도 입력 데이터가 안정되어 있어야 하는 최소 시간입니다. 일반적인 값 유지 동작과 구별해 문맥을 확인하세요. 자세히 보기 동안 안정되어야 합니다. 에지 근처에서 D가 변하면 결과를 단순히 이전 값 또는 새 값 중 하나라고 보장할 수 없고, metastability가 문제가 될 수 있습니다. 위 실습은 이 아날로그 현상을 모사하지 않습니다.

레지스터는 여러 플립플롭을 묶어 여러 비트를 저장하는 회로입니다. 8비트 레지스터의 폭이 8이라는 사실만으로 8비트 입력 전체가 일관된 한 값을 이룬다는 것까지 보장되지는 않습니다. 같은 타이밍 조건과 데이터 전달 규칙이 필요합니다.

시작 상태와 리셋

시뮬레이션에서 Q=0으로 시작시킨 것과 실제 하드웨어의 전원을 켰을 때 반드시 Q=0이 되는 것은 다릅니다. 다음 강의에서 reset과 enable을 추가해 언제 초기화하고 언제 유지할지 명세합니다. 동기 reset은 에지에서 작동하고, 비동기 reset은 에지와 무관하게 작동하지만 해제 타이밍에도 주의해야 합니다.

직접 생각해 보기

CLK=1인 동안 D가 0→1→0으로 바뀌고, 다음 상승 에지 직전 D=1로 안정됩니다. 래치와 플립플롭의 Q는 언제 바뀌나요? 플립플롭이 에지에서 두 번 갱신되나요?

해설 보기

래치는 CLK=1인 동안 D의 변화를 따라갑니다. 플립플롭은 그 변화들을 무시하고 다음 상승 에지에서 유효한 D=1을 한 번 저장합니다. 실제 회로에서는 setup·hold 및 clock-to-Q 조건을 포함해서 해석해야 합니다.

선택은 이 브라우저에만 적용됩니다. 언제든 푸터에서 변경할 수 있습니다.