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으로 시작시킨 것과 하드웨어가 반드시 0으로 켜지는 것은 다릅니다. 다음 강의에서 reset과 enable을 추가해 언제 초기화하고 언제 유지할지 명세합니다. 동기 reset은 에지에서 작동하고, 비동기 reset은 에지와 무관하게 작동하지만 해제 타이밍에도 주의해야 합니다.

직접 생각해 보기

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

해설 보기

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

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