고속 인터페이스는 보통 차동 쌍으로 라우팅되는 직렬 버스 또는 높은 클록 속도로 작동하는 병렬 버스로 구성됩니다. 이러한 버스의 경우 신호 그룹이 필수 클로킹 시간대 안에 수신 부품에 도착할 수 있도록 버스의 트레이스 길이가 일치해야 합니다. 이 길이 일치는 클로킹 신호의 길이와 버스에서 이동하는 신호의 상승 시간에 의해 제약을 받습니다.
예를 들어 DDR3/4 메모리 인터페이스의 각 8비트 데이터에는 연관된 데이터 스트로브와 차동 클록이 있습니다. 데이터는 스트로브에서 캡처되기 때문에 스트로브와 연관된 데이터 비트는 스트로브 비트와 길이가 거의 일치해야 합니다. CSI-2와 같은 다른 프로토콜에는 카메라 인터페이스에 연결되는 병렬로 라우팅된 차동 쌍이 여러 개 있습니다. 이러한 차동 쌍의 경우 각 쌍 내에서 트레이스가 일치해야 하며, 쌍은 서로 일치해야 합니다.
PCB 설계 소프트웨어의 길이 조정 도구를 사용하면 이러한 구조를 매우 쉽게 배치하고 조정할 수 있습니다. Altium Designer에는 이러한 도구가 포함되어 있으며, 이를 사용하여 타이밍 불일치 허용 오차 또는 길이 불일치 허용 오차를 기반으로 네트 길이를 쉽게 조정할 수 있습니다. 또한 xSignal 도구를 사용하면 특정 고속 인터페이스에 대한 특수 설계 규칙을 생성하고 직렬 및 병렬 인터페이스에 대한 모범 사례를 구현할 수 있습니다.
길이 조정 도구
Altium Designer에는 PCB 레이아웃에 길이 조정 섹션을 적용하기 위한 도구가 두 가지 있습니다.
- Interactive Length Tuning(인터랙티브 길이 조정) – 단일 트랙의 경우
- Interactive Diff Pair Length Tuning(인터랙티브 차동 쌍 길이 조정) – 차동 쌍의 경우
길이 조정에 사용할 수 있는 세 가지 패턴은 Accordion(아코디언), Trombone(트롬본), Sawtooth(톱니)입니다.
길이 조정을 위해 xSignal 사용하기
길이 조정을 시작하려면 먼저 특수 네트 클래스를 생성해야 합니다. 그 후에는 이를 길이 조정 규칙에서 사용할 수 있습니다. 길이 조정에는 네트 클래스와 xSignal 클래스를 모두 사용할 수 있습니다. 하지만 상대 조정을 적용하려면 xSignal 클래스만 사용해야 합니다. 이를 수동으로 생성하거나 특수 마법사를 사용하면 됩니다.
네트
xSignal
xSignals Multi-Chip Wizard
xSignals Multi-Chip Wizard를 사용하면 다양한 일반 인터페이스 및 메모리 회로에 대한 xSignal, xSignal 클래스 및 'Matched Length(일치된 길이)' 규칙을 자동으로 생성할 수 있습니다.
xSignals Multi-Chip Wizard를 사용하면 xSignal 및 xSignal 클래스 외에 'Matched Length(일치된 길이)' 규칙도 생성됩니다.
'Matched Length(일치된 길이)' 규칙을 설정한 후에는 PCB 패널을 사용하여 선택한 xSignal 클래스의 네트 길이 범위를 확인하면 편리합니다.
Interactive Length Tuning(인터랙티브 길이 조정) 도구를 시작하고 연장하려는 트랙을 클릭하세요.
위의 이미지에는 거리를 제약 조건으로 사용한 길이 조정이 나와 있지만, 지연 불일치를 제약 조건으로 사용하여 조정을 수행할 수도 있습니다. 신호의 상승 시간을 사용하여 PCB Rules and Constraints Editor에서 지연 불일치 제약 조건을 설정하는 것은 꽤 흔한 일입니다. 단, 그렇게 하려면 설계 규칙을 설정하기 전에 신호의 상승 시간을 알아야 합니다. 이를 신호에 대한 설계 규칙으로 설정하고 나면 길이 조정 도구가 길이 단위 대신 시간 단위를 표시합니다.