타이밍 분석과 CDC

쓰기 측 250 MHz, 읽기 측 200 MHz이며 둘 다 매 사이클 1워드씩 전송합니다. 64워드의 버스트를 받는 FIFO에 계산상 필요한 최소 깊이는 얼마입니까(동기화로 인한 지연은 무시하고, 소수점 이하는 올림합니다)?

  1. A51워드
  2. B64워드
  3. C13워드
정답과 해설 보기

정답: C. 13워드

64워드를 쓰는 데 걸리는 시간은 64 × 4 ns = 256 ns이고, 그동안 읽을 수 있는 것은 256 ÷ 5 ns = 51.2워드분입니다. 남는 양은 64 − 51.2 = 12.8워드이므로 올림하여 13워드가 필요합니다. 51워드는 읽을 수 있는 양 쪽을 답한 값, 64워드는 버스트를 통째로 저장하는 경우의 값으로, 충분하기는 하지만 최소는 아닙니다. 실제 설계에서는 포인터 동기화 지연분을 더하고, 그레이 코드 포인터를 쓰기 쉬운 2의 거듭제곱인 16워드 등으로 올립니다.

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

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

  1. 액티브 Low 외부 리셋으로부터 '비동기로 어서트하고 동기로 디어서트하는' 내부 리셋을 만드는 리셋 동기화기의 구성으로 올바른 것은?
  2. 같은 송신 측 도메인에서 온 두 개의 제어 신호를 각각 별도의 2단 동기화기로 받고, 수신 측에서 AND를 취해 사용하는 설계의 문제점으로 올바른 것은?
  3. STA와 RTL 시뮬레이션을 수행하더라도 CDC 검증 툴로 확인해야 하는 이유로 올바른 것은?
  4. 비동기 FIFO의 그레이 코드 포인터를 상대 도메인으로 전달하는 경로를, 비동기라는 이유로 제약 없음(폴스 패스)으로 하면 문제가 될 수 있는 이유로 올바른 것은?
  5. 클럭 주기 2.0 ns인 동기 회로에서 송신 측 플립플롭의 클럭→출력 지연이 0.2 ns, 조합 회로의 지연이 1.4 ns, 수신 측 플립플롭의 셋업 타임이 0.1 ns입니다. 클럭 스큐를 0으로 하면 셋업 슬랙은 얼마입니까?