타이밍 분석과 CDC

주기 2.0 ns인 클럭으로, 시각 0의 상승 에지에서 데이터를 내보내는 플립플롭으로부터 시각 1.0 ns에 열리고(투과 상태가 되고) 시각 2.0 ns에 닫히는 래치로 가는 경로가 있습니다. 데이터가 래치에 시각 1.4 ns에 도착했을 때 이 래치에서 빌린 시간(타임 보로잉)은 얼마입니까?

  1. A0.6 ns
  2. B0.4 ns
  3. C1.4 ns
정답과 해설 보기

정답: B. 0.4 ns

래치는 열려 있는 동안 입력을 그대로 통과시키므로, 데이터가 여는 에지보다 늦게 도착하더라도 닫히기 전에 도착하면 올바르게 받을 수 있습니다. 여는 에지(1.0 ns)를 넘어 사용한 1.4 − 1.0 = 0.4 ns가 타임 보로잉이며, 그만큼 다음 단이 쓸 수 있는 시간이 줄어듭니다. 0.6 ns는 닫힐 때까지 남은 시간, 1.4 ns는 도착 시각 그 자체입니다. 빌릴 수 있는 상한은 닫히는 에지에서 래치의 셋업 타임을 뺀 시각까지입니다.

이 분야 연습하기 분야로 돌아가기

타이밍 분석과 CDC의 다른 문제

  1. 클럭과 인에이블 신호의 2입력 AND 게이트로 클럭을 멈추는 회로에서, STA의 클럭 게이팅 체크가 확인하는 내용으로 올바른 것은?
  2. 주기 2.0 ns인 클럭에서 입력 단자에 set_input_delay 0.6 ns가 설정되어 있습니다. 내부 플립플롭의 셋업 타임이 0.1 ns이고 클럭의 지연과 스큐를 무시하면, 입력 단자에서 플립플롭까지의 칩 내부 경로에 허용되는 최대 지연은 얼마입니까?
  3. set_output_delay에 지정하는 값이 나타내는 것으로 올바른 것은?
  4. 주기 2.5 ns(400 MHz)인 클럭에서 출력 단자에 set_output_delay 0.8 ns가 설정되어 있습니다. 출력 단자를 구동하는 플립플롭의 클럭→출력 지연이 0.2 ns일 때, 플립플롭에서 출력 단자까지의 조합 회로와 배선에 허용되는 최대 지연은 얼마입니까(클럭의 지연은 무시합니다)?
  5. 주기 1.0 ns인 클럭으로 플립플롭 A→B→C로 연결되는 경로가 있습니다. A→B는 클럭→출력 지연과 셋업 타임을 포함해 1.2 ns가 필요하고, B→C는 0.8 ns면 충분합니다. 스큐를 의도적으로 이용해 양쪽의 셋업을 만족하려면 B의 클럭을 어떻게 하면 됩니까(A와 C의 클럭은 동시에 도착하는 것으로 합니다)?