타이밍 분석과 CDC
주기 1.0 ns인 클럭으로 플립플롭 A→B→C로 연결되는 경로가 있습니다. A→B는 클럭→출력 지연과 셋업 타임을 포함해 1.2 ns가 필요하고, B→C는 0.8 ns면 충분합니다. 스큐를 의도적으로 이용해 양쪽의 셋업을 만족하려면 B의 클럭을 어떻게 하면 됩니까(A와 C의 클럭은 동시에 도착하는 것으로 합니다)?
- A0.2 ns 앞당긴다
- B0.4 ns 늦춘다
- C0.2 ns 늦춘다
정답과 해설 보기
정답: C. 0.2 ns 늦춘다
B의 클럭을 0.2 ns 늦추면 A→B 경로는 캡처가 늦어져 1.0 + 0.2 = 1.2 ns의 시간을 쓸 수 있습니다. B→C 경로는 송신이 늦어지므로 1.0 − 0.2 = 0.8 ns가 되지만, 필요한 시간이 0.8 ns이므로 충분합니다. 이렇게 의도적으로 넣는 스큐를 유용한 스큐라고 부릅니다. 0.4 ns 늦추면 B→C가 0.6 ns밖에 쓸 수 없어 위반하고, 앞당기면 A→B가 더 엄격해집니다. 스큐를 바꿨을 때는 홀드 확인도 빼놓을 수 없습니다.