클록 트리 합성 (Clock Tree Synthesis)
한 줄 정의: 칩 안의 수많은 플립플롭에 클록 신호를 최대한 동시에, 균일하게 전달할 수 있도록 트리 형태의 배선 구조를 설계하는 과정입니다.
쉽게 풀면
합창단 지휘자가 모든 단원에게 박자를 동시에 맞춰 전달해야 하듯이, 디지털 회로도 칩 전체에 흩어진 수많은 저장 소자에 클록이라는 박자 신호를 최대한 동시에 전달해야 합니다. 클록 신호가 발생하는 지점에서 각 저장 소자까지의 거리가 다르면 신호가 도착하는 시점도 달라지는데, 클록 트리 합성은 이런 도착 시점 차이를 최소화하도록 나뭇가지 모양의 배선 구조를 설계하는 과정입니다.
왜 중요한가
클록 신호가 저장 소자마다 서로 다른 시점에 도착하면 데이터가 잘못된 시점에 저장되어 회로가 오동작할 위험이 커집니다. 클록 트리 합성은 이런 위험을 줄이고 회로가 목표한 속도로 안정적으로 동작하도록 보장하는 핵심 설계 단계로 다뤄집니다.
논문에서는 이렇게 쓰입니다
"Clock tree synthesis reduced clock skew to within the target margin across all timing corners."
클록 트리 합성을 통해 모든 타이밍 코너에서 클록 스큐를 목표 여유 범위 안으로 줄였다는 뜻입니다.
"A buffer insertion strategy was applied during clock tree synthesis to balance latency across the die."
클록 트리 합성 과정에서 다이 전체의 지연을 균형 있게 맞추기 위해 버퍼 삽입 전략을 적용했다는 내용입니다.
조금 더 깊게 보면
클록 트리 합성 과정에서는 클록 신호가 저장 소자별로 도착하는 시점 차이인 클록 스큐와, 클록 신호 자체가 발생 시점부터 도착 시점까지 걸리는 지연인 클록 지연을 함께 관리합니다. 이를 위해 트리 경로 중간에 버퍼를 삽입하거나 배선 경로를 조정하는 방식이 흔히 사용됩니다.
주의할 점
클록 스큐를 완전히 없애는 것이 항상 최선은 아니며, 일부 설계에서는 특정 방향으로 의도적인 스큐를 두어 타이밍 여유를 확보하기도 하므로 스큐를 무조건 줄이는 것만이 목표가 아니라는 점에 유의해야 합니다.