이전 업데이트에서는 모듈에 적합한 레이어스택을 정의하고 보드에 배치된 모든 구성 요소에 팬아웃 라우팅을 추가하는 방법을 살펴보았습니다. 이 모든 준비를 바탕으로 이제 첫 번째 트레이스를 라우팅할 준비가 거의 되었습니다. 하지만 보드 상의 어떤 구성 요소도 연결하기 시작하기 전에 임피던스 프로파일을 정의하고 올바른 트레이스 폭에 대한 매칭 디자인 규칙을 설정해야 합니다.
레이어스택 관리자에서 임피던스 프로파일을 설정하는 것은 간단합니다. 단일 종단 및 차동 임피던스 프로파일을 모두 정의해야 합니다. 필요한 임피던스 값에 대한 정보는 인터페이스 표준과 NXP i.MX8 프로세서의 하드웨어 디자인 가이드에서 얻을 수 있습니다. 다음 임피던스 값은 디자인에서 단일 종단 및 차동 모두 사용됩니다:
이전에 정의된 레이어스택에서 임피던스 제어 라우팅에 사용할 수 있는 네 개의 신호 레이어가 있으며, 이는 상단 레이어, L2, L7 및 하단 레이어입니다. 상단 및 하단 레이어는 각각 하나의 참조 접지면만 가지고 있는 반면, L2와 L7은 두 개의 참조면 사이에 내장되어 있습니다. 임피던스 값과 참조 레이어를 입력한 후에는 트레이스 기하학이 자동으로 계산됩니다:
레이어스택 관리자 임피던스 프로파일 차동 100 옴
트레이스 기하학을 정의할 때, 특히 차동 쌍의 트레이스 폭과 간격을 정의할 때는 필요한 라우팅 공간을 염두에 두는 것이 중요합니다. 가능하다면 차동 쌍의 전체 폭을 작게 유지하여 필요한 라우팅 공간을 제한하고 싶습니다. 보드의 밀도에 따라, 이것은 레이어스택을 정의할 때도 고려해야 합니다.
첫 번째 트레이스를 라우팅하기 전에 남은 한 단계는 Altium Designer에게 인터페이스와 라우팅 레이어에 따라 필요한 트레이스 폭(그리고 차동 쌍의 간격)을 알려주는 것입니다. 임피던스 값은 스키매틱에서 적절한 인터페이스에 할당됩니다. 여기서 우리는 넷을 넷 클래스나 차동 쌍 클래스에 할당하기 위해 지시문을 사용할 수 있습니다.
디자인 블랭킷에 할당된 여러 넷 클래스
디자인 규칙 편집기에서 이제 이 넷이나 차동 쌍 클래스를 대상으로 하여 해당하는 트레이스 기하학을 할당할 수 있습니다. 트레이스 기하학을 수동으로 입력하는 대신, 우리가 레이어스택 관리자에서 정의한 매칭 임피던스 프로파일을 선택할 수 있습니다:
디자인 규칙 대화 상자에서 사용된 임피던스 프로파일 – 고우선순위 규칙이 임피던스 프로파일을 오버라이드함
우리 설정에서 가장 높은 규칙 우선 순위를 가진 또 다른 설계 규칙이 있다는 점에 유의하십시오. 이 설계 규칙은 이전 업데이트에서 생성한 특정 설계 공간에만 적용됩니다. 이러한 설계 공간은 미세 피치 구성 요소 바로 아래에만 배치되며, 우리가 브레이크아웃 영역에서 최소 85 um까지의 트레이스 폭과 간격을 지역적으로 사용할 수 있게 합니다. 이 공간들에 대한 설계 규칙은 정의된 임피던스 프로파일을 무시해야 하기 때문에 가장 높은 우선 순위를 가집니다. 이 공간 내에서 필요한 트레이스 기하학을 따를 수 없을 수 있으므로, 가능한 한 작게 유지하고 임피던스 프로파일과 다른 트레이스 기하학을 반드시 필요한 곳에서만 사용해야 합니다. 이러한 섹션을 매우 작게 유지하면, 채널의 신호 무결성에 대한 전체적인 영향이 받아들일 수 있는 수준이 될 것입니다. 그러나, 우리는 포스트 레이아웃 시뮬레이션에서 이를 검증해야 할 것입니다.
미세 피치 BGA 아래에 표시된 빨간색 설계 공간
이제 모든 설계 규칙이 정의되었으므로, 첫 번째 인터페이스 라우팅을 시작할 수 있습니다. 이 보드에서는 DRAM 인터페이스부터 시작할 것입니다.
이 보드의 전체 라우팅 전략을 아직 정의하지 않았다는 것을 알게 될 것입니다. 라우팅을 배치하기 전에 이를 수행할 수 있었으며, 개인의 선호에 따라 그렇게 하는 것이 전혀 문제가 되지 않습니다. 이 보드에서는 DRAM 인터페이스를 먼저 라우팅하여 DRAM 인터페이스에 할당해야 할 공간과 라우팅 레이어 수를 얼마나 필요로 하는지 확인하기로 결정했습니다. LPDDR4 IC를 두세 개의 신호 레이어에 라우팅할 수 있다면, 인근의 다른 인터페이스에 하나 또는 두 개의 라우팅 레이어를 할당할 수 있습니다. DRAM 인터페이스가 상당한 공간을 차지하는데, 특히 이렇게 작은 보드에서는, 또 다른 빈 신호 레이어가 있으면 매우 바람직할 것입니다.
LPDDR4 IC의 디커플링 캐패시터 라우팅을 빠르게 살펴보겠습니다. 디커플링 캐패시터를 연결하는 것은 이전 기사에서의 브레이크아웃 라우팅의 일부였습니다. 우선 그것을 검토하여 상단 또는 하단 레이어에 추가적인 VIA나 트레이스를 추가해야 하는지 확인해 보겠습니다. 충전되고 캡이 된 VIA를 사용한다는 사실이 디커플링 캐패시터를 라우팅할 때 우리에게 유리하게 작용합니다.
DRAM IC의 각 전원 핀은 보드의 모든 10개 층에 연결할 수 있는 자체 스루 VIA를 가지고 있습니다. 스택업의 모든 접지면에서 반환 전류를 다루고 있기 때문에 이 핀들에 VIA를 사용해야 합니다. 디커플링 캐패시터가 보드의 하단에 배치되어 있으므로 VDD 및 VDDQ 전원 패드도 보드의 하단에 있어야 합니다. DRAM IC는 Y축에서 0.65mm의 핀 간격을 가지고 있습니다. 이 핀 간격을 통해 GND 및 VDD/VDDQ 패드 사이에 직접 디커플링 캐패시터를 배치할 수 있습니다. 이 배치는 가능한 가장 낮은 루프 인덕턴스를 허용합니다. 이제 전원 핀 사이에 디커플링 캐패시터를 고르게 분배할 수 있습니다.
선택적 클록 종단 저항기도 클록 핀 바로 아래에 배치되며 각각 VIA를 통해 핀에 직접 연결됩니다.
LPDDR4 IC의 하단에 배치된 디커플링 캐패시터
추가적인 트레이스 세그먼트가 커플링 캐패시터에 필요하지 않기 때문에, 하단 레이어의 공간을 신호 라우팅에 활용할 수 있습니다. i.MX 8M 플러스의 참조 설계에 가깝게 모든 DQS 차동 쌍을 보드의 하단에 배치할 것입니다. 또한 DRAM 리셋 및 클록 활성 신호도 하단에 배치할 수 있습니다:
DRAM 라우팅 하단면
명령/주소/제어 신호를 DQ 그룹과 다르게 색칠하는 것은 좋은 라우팅 전략을 식별하는 데 도움이 됩니다. 청록색 명령/주소/제어 신호는 SoC의 첫 두 줄의 신호 핀 뒤에 모두 위치해 있으며, 두 클록 신호를 제외하고는 예외가 없습니다. 이러한 신호를 내부 레이어에 라우팅하려면 두 바깥쪽 줄의 신호 핀에서 나오는 VIA가 방해가 되지 않도록 해야 합니다. 채널 A와 B의 바이트 0과 두 바깥쪽 줄에 모두 있는 클록 신호를 상단 레이어에서 직접 연결할 수 있으므로 레이어 변경이 필요 없습니다:
DRAM 상단면 라우팅
채널 A와 B의 바이트 1은 모두 BGA의 모서리 쪽에 위치해 있습니다. 이는 우리가 해당 신호들을 L2로 옮기고 DRAM IC에 연결할 수 있게 해주며, 동시에 두 라우팅 그룹 사이에 명령/주소/제어 신호를 연결할 수 있는 충분한 공간을 남겨둡니다:
DRAM L2 라우팅
엄밀히 말하면, 우리는 참조 레이어를 변경하는 것이 아니라, L2로 전환함으로써 두 번째 레이어를 도입하고 있습니다. 우리가 접지면 위에 시간에 따라 변하는 전압을 가진 트레이스를 배치하는 순간, 두 번째 참조면이 존재하든 말든 상관없이 전류가 흐를 것입니다. 이러한 전류들에 대한 반환 경로도 제공하기 위해, 우리는 상단 레이어에서 레이어 전환 부근에 반환 경로 VIA를 사용하고 있습니다. BGA 바로 아래 두 바깥쪽 핀 행 뒤에서 레이어를 전환하는 신호들은 이미 SoC의 두 줄의 접지 핀과 접지 VIA에 의해 형성된 근처에 반환 경로 VIA가 있습니다:
DRAM 인터페이스를 위한 반환 경로 VIA
반환 경로와 관련하여 기억해야 할 또 다른 세부 사항이 있습니다. 우리는 교대로 배치된 마이크로 VIA 레이어스택을 사용하고 있습니다. 따라서 두 개의 연속적인 마이크로 VIA는 서로 일정한 최소 거리를 두고 배치되어야 합니다. 두 연속적인 VIA 사이에 연결을 설정하기 위해 짧은 트레이스 세그먼트가 필요합니다. 이 트레이스 세그먼트는 상단 및 하단 레이어 아래의 접지면에 배치됩니다. 신호선의 반환 경로를 방해할 수 있는 접지면의 절단이나 공백을 만들지 않도록 주의해야 합니다:
반환 경로 관리 - 왼쪽에 공백 및 분할, 오른쪽에 개선된 라우팅
DRAM 장치의 BGA 그리드에 따라 마이크로 VIA와 트레이스 세그먼트를 배열함으로써 신호선 아래에 항상 견고한 접지 연결이 있도록 할 수 있습니다:
상단 레이어와 L2의 트레이스는 서로 최소 0.275mm의 균일한 거리를 두고 배치됩니다. 이 거리는 이러한 신호들 사이에 과도한 크로스토크를 생성하지 않도록 보장하기 위해 필요합니다. 이것은 사후 레이아웃 시뮬레이션에서도 확인해야 할 것입니다.
이제 DRAM 인터페이스 라우팅을 마무리할 일은 딜레이 튜닝뿐입니다. 하지만 지금 당장 이 작업을 진행하지는 않을 것입니다. 대신 모든 인터페이스의 라우팅이 완료되면 딜레이 튜닝을 진행할 예정입니다. 매우 높은 밀도의 디자인이나 많은 딜레이 보상이 필요한 인터페이스의 경우, 길이 튜닝을 더 일찍하는 것이 나중보다 낫습니다. 그러나 LPDDR4의 타이밍 요구 사항은 그다지 엄격하지 않으므로 나중에 처리하더라도 문제가 발생하지 않을 것이라고 확신합니다.
지금은 DRAM 라우팅이 완료되었으며, 다른 모든 인터페이스를 라우팅할 레이아웃 계획 단계로 넘어갈 수 있습니다. 이 내용과 더 많은 것이 오픈 소스 컴퓨트 모듈 프로젝트의 다음 업데이트에 포함될 예정입니다!