Delay Tune(길이 맞추기)
고속 PCB 디자인에서
trace 길이를 같게 맞추는 작업을 할 때가 종종 있다. 이런 작업은 미앤더라이닝(meander-lining), 트럼보닝(tromboning)등 여러 가지 용어로
불리는데, 여기서는 딜레이 튠(delay tune)이라고 하자. 딜레이 튠은 언제 하며 어느 정도까지 정교하게 해야 하는 것일까?
몇 가지 예들 통해 어느 정도까지 길이를 맞추어야 하는지 살펴
보자.
예 1> 클럭 스피드가 33 MHz이고 setup과 hold time이
각각 5 ns인 경우:
클럭 스피드가 33MHz이므로
주기는 대략 30 ns (= 1/33MHz)이다. 따라서 peak-to-peak 타이밍 마진은 20 ns (= 30 – 5 – 5)이다. 1 ns를 대략 145 mm라고 하면, 대략 290 cm의 길이 마진이 된다. 대략 +/- 1.5 m이다. 일반적으로 PCB의
크기를 고려하면 길이를 맞추기 작업을 하지 않아도 타이밍 상에 아무런 문제가 발생하지 않는다.
예 2> 클럭 스피드가
50 0MHz이고 setup과 hold
time이 각각 1 ns, 0.5 ns 인 경우:
클럭 스피드가 500MHz이므로 주기는 2 ns (= 1/500 MHz)이다. 따라서 peak-to-peak 타이밍 마진은 0.5 ns (= 2 – 1 – 0.5)이다. 1 ns를 대략 14 5mm라고 하면, 7 5mm의 길이 마진이 된다. 클럭 edge가
데이터의 정 중앙에 있으면 +25mm ~ -50mm의 길이 마진을 갖는다. 클럭
에지의 위치를 뒤쪽으로 적절히 이동시키면 +/- 37.5mm의 마진이 있다.
이 경우 3가지 정도 생각해 볼 것이 있다. 먼저 클럭의
에지를 이동 시켜 타이밍 마진을 확보 시킬 수 있냐는 문제다. 클럭 에지 이동의 경우, IC에서 신호 출력의 delay 지원여부에 따라서 될 수도 있고 되지 않을
수도 있는 문제가 있다. 정확히 모른다면 안전을 위해 지원되지 않는 쪽을 고려해야 할 것이다. 두 번째로 생각해 볼 것은 마진이 타이트하므로 지터를 고려항목에 포함해야 된다는 것이다.
만약 지터 성분이 100ps라고 한다면 14.5mm를 위
마진에서 빼야 한다. 그러면 마진은 +10.5mm ~ -35.5mm가 된다. 이 정도 범위 내에서 길이가 맞추어 져야 한다. 세
번째 생각해 볼 것은 데이터 싱크 문제이다. 드라이버와 리시버 거리가 멀면 글로벌 클럭으로 데이터 신호의
싱크를 맞출 수 없다. 타이밍 마진이 위에 보듯이 매우 적어 칩과 칩간에 신호 전달 시간이 절대적으로 부족한 상황에
직면한다. 따라서 글로벌 클럭을 사용하지 않고 드라이버에서 클럭과 신호를 같이 주는 source-sync방식을 사용해야만 한다.
GHz 이상의 signaling에서는 클럭과 데이터를 따로 하지 않고, 하나의 trace에 실어서 보내는 경우가 많이 있다. 이런 경우에는 래인 간에 따로 길이를 맞추는
작업을 할 필요가 없다.