고속 신호 라우팅 전략에는 제약 조건에 대한 세심한 고려와 창의적인 플로어플래닝이 필요합니다. 올바른 방식으로 고속 신호를 라우팅하는 방법을 소개합니다.
현대의 디지털 PCB는 의도했는지 여부와 관계없이 대부분 고속 디지털 시스템으로 동작하고 있을 가능성이 높습니다. 물론 그 영향과 필요한 평가 수준은 신호의 상승 시간에 따라 달라지며, 이는 PCB에서 특정 신호를 어떻게, 어디에 라우팅할 수 있는지를 제한하는 경우가 많습니다. 이러한 제약은 PCB 프로젝트의 PCB 설계 규칙으로 정의할 수 있으며, 이 글에서는 성공적인 라우팅을 보장하기 위해 고속 설계에서 일반적으로 적용되는 몇 가지 제약 사항을 살펴보겠습니다.
고속 디지털 데이터를 전송하는 데 사용되는 표준 인터페이스는 모두 임피던스 제어 인터페이스입니다. 트레이스에 연결된 드라이버는 해당 트레이스가 특정 임피던스 값을 갖기를 기대하며, 라우팅을 시작할 때 ECAD 소프트웨어는 이를 유지해야 합니다. 마찬가지로 수신기는 특정 입력 임피던스 또는 부하 커패시턴스에 맞춰 종단되며, 연결된 트레이스의 임피던스를 기준으로만 사양대로 동작합니다.
설계에 대한 임피던스 모델이 설정되면, 각 신호 레이어에 대해 트레이스 폭 제약과 허용 편차를 정하고 이를 다양한 넷 클래스에 적용해야 합니다. 이를 위해서는 서로 다른 구조에서의 트레이스 임피던스를 계산해야 합니다.
Altium Designer에서는 PCB 레이어 스택을 정의하는 것과 동일한 도구에서 전송선 임피던스 계산을 수행합니다.
특정 인터페이스에서 올바른 임피던스로 라우팅이 유지되도록 하기 위해, 넷을 그룹화하고 트레이스 폭을 강제하는 넷별 설계 규칙을 생성하는 간단한 프로세스를 사용합니다. 동일한 임피던스를 갖는 넷을 넷 클래스로 그룹화하는 것은 넷 그룹에 여러 제약을 가장 빠르게 적용하는 방법이며, 여기에는 트레이스 폭, 병렬 버스 및 차동 페어의 전파 지연 매칭과 같은 주요 고속 제약이 포함됩니다.
그렇다면 임피던스 편차는 어떻게 해야 할까요? 트레이스 폭을 변경할 계획이라면 이를 어떻게 반영해야 할까요? 이는 neck-down, 즉 예를 들어 트레이스가 BGA 풋프린트 안으로 들어갈 때 트레이스 폭을 변경하는 방식으로 구현할 수 있습니다. 이러한 라우팅 요구를 미리 예상할 수 있다면, PCB 설계 규칙 내에서 트레이스 폭 변경을 반영하도록 계획해야 합니다.
리턴 패스 구속 검사는 트레이스가 기준 평면의 경계를 가로지르지 않는지 확인합니다. 예를 들면 전원 레이어의 두 레일 사이 간격을 넘는 경우입니다. 이 간격을 가로지르면 인접한 리턴 패스가 끊기고 리턴 전류가 우회하게 됩니다. Altium Designer에서 Return Path 규칙은 지정된 임피던스 프로파일을 사용해 기준 레이어를 식별하고 라우팅 아래의 구리 연속성을 검사합니다.

병렬 버스의 신호 간 또는 차동 페어 내부의 스큐는 지연 매칭 요구가 매우 엄격할 때 최소화해야 합니다. PCB 레이아웃에서 제약해야 하는 타이밍 스큐는 세 가지 범주가 있습니다.
이 때문에 넷 클래스를 정의하는 것이 유용합니다. 이렇게 하면 해당 넷 클래스의 모든 넷에 대해 타이밍 제약을 훨씬 간단하게 적용할 수 있습니다.
PCIe 및 DDR과 같은 인터페이스의 경우 타이밍 제약이 매우 엄격하므로, 신호가 필요한 시간 윈도우 내에 목적지에 정확히 도달하도록 보장하려면 핀-패키지 전파 지연이 필요합니다. 해당 고속 인터페이스를 모델링하기 위해 부품 공급업체가 정보를 제공할 수 있습니다. 라이브러리 부품에 대한 회로도 심볼을 생성할 때, 링크 양단의 핀 정의에 핀 지연 정보를 포함할 수 있으며, 이러한 지연 값은 라우팅 중 지연 튜닝 도구에 반영됩니다.
Altium Designer에서 라우팅 중 지연 튜닝 계산에 핀-패키지 지연을 포함하려면, 해당 인터페이스의 넷을 xSignals에 포함해야 합니다. 이 도구는 두 집적 회로 사이의 지점 간 모든 지연을 고려하며, 이러한 값은 지연 튜닝 계산에 사용됩니다.
레이어 수가 많은 보드에서는 특정 넷 클래스 또는 차동 페어 클래스가 특정 레이어에만 할당되는 경우가 많습니다. 이렇게 하는 데에는 두 가지 주요 이유가 있습니다.
예를 들어 DDR, 90옴 차동 페어(예: USB), 100옴 차동 페어 및 기타 임피던스 제어 버스를 공통 페어 설계를 기반으로 각각 별도의 레이어에 분리하는 것이 일반적입니다. 이러한 분리는 트레이스 폭/간격 값 기준으로도 수행할 수 있으며, 필요할 때 제조업체가 동등한 재료로 더 쉽게 대체할 수 있도록 도와줍니다.
Routing Layers 규칙은 대상 넷 클래스 또는 차동 페어 클래스가 사용할 수 있는 신호 레이어를 지정합니다. 클래스별 규칙을 사용하면 각 인터페이스가 지정된 레이어를 사용하면서도 다른 라우팅에 대해서는 더 광범위한 규칙을 유지할 수 있습니다.
클리어런스 값은 일반적으로 외층 도금 공정 때문에 내부 레이어와 외부 레이어에서 서로 다릅니다. 그러나 많은 고속 설계가 고밀도 설계이기도 하므로, 서로 다른 내부 레이어에 서로 다른 클리어런스 값이 필요한 경우가 흔합니다. 이는 서브 라미네이션을 사용하기 때문인데, 이 경우 추가 도금 공정이 필요하고 기본 포일 중량보다 더 두꺼운 도금 구리 두께로 형성됩니다.
Altium Designer에서는 쿼리 시스템을 사용하여 레이어별 클리어런스를 정의할 수 있습니다.
PCB 제조 서비스 제공업체로부터 구리 중량(내층 및 외층)에 따른 클리어런스 요구사항을 반드시 확인하십시오.
새로운 Constraint Manager를 사용하여 레이어별 클리어런스를 정의하는 것도 가능합니다. 이는 클리어런스 정의에 매트릭스 기반 접근 방식을 제공하므로, 다른 ECAD 소프트웨어 사용자에게는 훨씬 익숙하게 느껴질 것입니다. 아래 동영상에서 Constraint Manager에 대해 자세히 알아보세요.
저는 Altium 블로그의 다른 글에서 비아 임피던스가 어떻게 동작하는지, 그리고 어떤 주파수에서 비아를 특정 입력 임피던스에 맞게 설계해야 하는지를 설명한 바 있습니다. 이러한 비아 크기와 안티패드 크기는 특정 스택업과 레이어 스팬에 대해 넷별로 달라지며, 비아/패드 크기에 대한 제한은 PCB 설계 규칙을 사용해 정의할 수 있습니다.
비아 크기는 두 가지 방식으로 제약할 수 있습니다.
적절한 비아 크기를 결정하는 일은 온라인 계산기로 비아 크기를 산출하는 것만큼 단순하지 않습니다. 이를 위해서는 3D 전자기장 시뮬레이션, 또는 최소한 시뮬레이션 데이터로부터 개발된 경험적 모델이 필요합니다. 비아 크기와 안티패드 크기가 결정되면, 중요한 고속 네트가 올바른 비아 크기로 제한되도록 이를 설계 규칙으로 적용해야 합니다.
비아 안티패드는 비아 임피던스를 고려한 설계의 또 다른 요소로, 플레인에 대한 클리어런스가 비아 배럴을 따라 형성되는 커패시턴스를 조정합니다. 모든 설계에는 이미 플레인 레일이나 대형 전원 레일의 인접 구리와 비아 패드 사이에 최소 클리어런스 요구사항이 존재합니다. 비아-구리 클리어런스 값은 네트 또는 네트 클래스 기준의 PCB 설계 규칙을 사용해 특정 네트에서 조정할 수 있습니다.
차동 네트의 경우, 안티패드 형상은 개별 비아 주변의 원형이 아니라 장원형 또는 타원형일 수 있습니다. 이러한 공유 안티패드는 안티패드 형상을 직접 그려서, 플레인 컷아웃 또는 폴리곤 컷아웃으로 정의하는 것이 가장 좋습니다. 아래에 예가 나와 있습니다.
현대의 고속 PCB가 가지는 한 가지 특징은 대체로 고밀도 PCB이기도 하다는 점입니다. 이는 현재 대부분의 프로세서가 BGA 패키지로 제공되며, 피치가 좁을 경우 팬아웃 라우팅을 완료하려면 비아-인-패드가 필요하기 때문입니다. 피치가 넓은 BGA 패키지에서 도그본 팬아웃을 사용하는 경우에도, 바이패스 커패시터의 최적 배치는 비아-인-패드를 사용한 BGA 뒷면입니다.
기본적으로 ECAD 소프트웨어는 비아-인-패드를 검사하고, 존재할 경우 이를 DRC 위반으로 표시합니다. 그러나 BGA 팬아웃 라우팅을 지원하기 위해 설계 규칙 내에서 비아-인-패드를 허용할 수 있습니다.
Design » Rules를 열고 High Speed » Via Under SMD 규칙을 생성합니다. Allow Vias under SMD Pads를 활성화하고, 정의된 팬아웃 룸에 대해 IsPad AND WithinRoom('BGA_Fanout')를 사용하여 해당 규칙의 적용 대상을 의도한 패드로 한정합니다. 이 규칙의 우선순위는 일반 규칙보다 높게 설정합니다. 또한 승인된 비아에 대해 SMD 패드-비아 및 패드-비아 홀 클리어런스를 0으로 설정한 일치하는 Same Net Only Clearance 규칙도 구성합니다.
Properties 패널의 IPC-4761 비아 유형 옵션을 사용하여 관련 비아를 필드 및 캡 처리된 것으로 지정해야 합니다. 또는 도금 및 캡 처리할 특정 비아 그룹을 수동으로 선택하거나, 모든 비아를 필드 및 캡 처리해야 하는 경우 마스터 도면에 제작 노트를 추가하는 방법으로도 설정할 수 있습니다.
차동 페어의 비결합 길이는 차동 채널의 리턴 로스에 영향을 주므로, 일부 애플리케이션에서는 적절한 비결합 길이를 결정하는 것이 중요합니다. 비결합 구간은 대개 BGA의 조밀한 핀 필드에서 라우팅을 시작할 때 발생하는데, 이때 트레이스가 비아를 피해 라우팅되기 위해 서로 떨어져야 하기 때문입니다.
비결합 길이 계산은 간단한 계산이 아닙니다. 이는 채널 대역폭을 기반으로 한 올바른 임계 길이 계산에 의존하기 때문입니다. 좋은 전략 중 하나는, 팬아웃 라우팅에서 차동 페어에 비결합 구간이 생길 것을 알고 있다면 처음부터 느슨한 결합으로 페어를 설계하는 것입니다. 이렇게 하면 비결합 구간에서의 임피던스 불일치를 줄이고 모드 변환도 감소시킬 수 있습니다.
Altium Designer의 PCB 설계 규칙 시스템에 대해 더 알아보려면 아래 영상을 시청하십시오.
신뢰할 수 있는 전력 전자 장치든 고급 디지털 시스템이든, Altium의 완전한 PCB 설계 기능 세트와 세계적 수준의 CAD 도구를 활용해 보십시오. Altium은 업계 최고 수준의 PCB 설계 도구와 고급 설계 팀을 위한 분야 간 협업 기능을 모두 갖춘 세계 최고의 전자 제품 개발 플랫폼을 제공합니다. 지금 바로 Altium의 전문가에게 문의하세요!
Altium Designer에서 관련 네트 또는 네트 클래스에 적용되도록 High Speed » Return Path 규칙을 생성하십시오. 해당 네트의 기준 레이어를 정의하는 임피던스 프로파일을 선택하고, 트레이스와 기준 구리 경계 사이의 최소 거리를 설정한 뒤 일괄 설계 규칙 검사를 실행합니다. 이 검사는 전원 레일 사이의 갭을 포함하여 기준 구리의 불연속 구간 위를 지나는 라우팅을 식별합니다.
Design » Rules에서 Routing » Routing Layers 규칙을 생성하고, InNetClass('ClassName') 또는 InDifferentialPairClass('PairClass')로 적용 범위를 지정합니다. 허용된 신호 레이어에서만 Allow Routing을 활성화한 다음, 더 광범위한 Routing Layers 규칙보다 높은 우선순위를 부여합니다. 이러한 설정은 라우팅을 제한하며, 금지된 레이어에 이미 존재하는 트레이스를 설계 규칙 검사에서 식별할 수 있게 합니다.
Routing » Routing Via Style 규칙을 생성하고 InNet('NetName') 또는 InNetClass('ClassName')를 사용해 대상 네트 또는 네트 클래스에 적용되도록 범위를 지정합니다. 최소, 선호, 최대 비아 직경과 홀 크기를 정의하거나, 승인된 비아 템플릿을 사용하도록 규칙을 구성합니다. 이 규칙은 일반 비아 규칙보다 높은 우선순위를 가져야 합니다. 비아의 레이어 스팬은 Layer Stack Manager에서 별도로 정의됩니다.
네트 클래스는 회로도 Net Class 지시문을 사용하거나 PCB 편집기의 Design » Classes에서 직접 생성할 수 있습니다. 회로도에서 정의한 클래스의 경우, Project Options에서 사용자 정의 네트 클래스 생성을 활성화한 뒤 변경 사항을 PCB로 전송하십시오. Design » Rules에서 각 라우팅 또는 타이밍 규칙의 적용 범위를 InNetClass('ClassName')로 지정하고, 제약 조건을 설정한 다음, 동일 유형의 더 광범위한 규칙보다 높은 우선순위를 부여합니다.