Keeping the Schematics & PCB Synchronized in Altium Designer

Altium Training

Altium Essentials: Transfer to PCB

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

가장 일반적인 회로도-PCB 설계 작업은 회로도와 PCB가 서로 일치하도록, 즉 동기화 상태를 유지하는 것입니다. 캡처한 설계를 처음으로 새 PCB로 전송하든, 회로도 측이나 PCB 측 어느 한쪽에서 기존 설계를 변경하든, 두 측을 동기화 상태로 유지할 수단이 필요합니다. Altium Designer에는 설계 동기화를 강력하게 지원하는 기능이 포함되어 있어, 설계를 동기화 상태로 유지하는 작업을 단순화하고 설계자가 설계 프로세스의 창의적인 측면에 집중할 수 있도록 해줍니다.

동기화 프로세스는 회로도와 PCB 간의 차이를 감지하고 해결합니다. 동기화 프로세스는 회로도와 PCB 간의 차이를 감지하고 해결합니다.

설계 동기화는 회로도 편집기와 PCB 편집기 사이에서 직접 수행되며, 중간에 넷리스트와 유사한 문서를 사용하지 않습니다. 소프트웨어는 비교기(comparator) 엔진을 사용해 설계의 모든 측면을 비교하고, 그 결과를 차이점 목록으로 상세히 출력합니다. 설계자는 차이를 해소하기 위해 어느 쪽을 변경할지 결정하며, 그에 따라 Engineering Change Orders(ECO)가 생성됩니다. 이를 적용하면 설계의 두 측은 다시 동기화됩니다.

동기화를 수행하는 방법에는 두 가지가 있습니다:

  • 양방향 동기화: 위에 표시된 Project » Show Differences 명령을 사용하여 차이점을 양쪽 방향으로 동시에 업데이트할 수 있습니다. 이 방식에 대한 자세한 내용은 Finding Differences 섹션을 참고하십시오.
  • 단방향 동기화: Design » Update PCB 또는 Design » Update Schematic 명령을 사용합니다. 이 방식에 대한 자세한 내용은 Performing a Direct Update 섹션을 참고하십시오.

회로도 정보를 새 PCB로 전송하기 전에, 회로도 심볼과 PCB 풋프린트에 대한 관련 라이브러리가 모두 사용 가능해야 합니다.

무엇을 동기화할 수 있나요?

동기화 프로세스는 회로도의 컴포넌트 및 연결(커넥티비티) 데이터가 PCB의 컴포넌트 및 연결 데이터와 일치하도록 보장합니다. 또한 컴포넌트/연결 데이터뿐 아니라, 넷 클래스, 컴포넌트 클래스, 디자인 룰과 같은 기타 설계 제약도 동기화 상태로 유지되도록 합니다.

비교기 옵션 구성

Dialog page: PCB Project 옵션, Comparator 탭

회로도와 PCB 데이터 중 정확히 what 무엇을 비교할지는 Options for PCB Project 대화상자의 Comparator 탭에서 구성합니다. Project » Project Options을(를) 선택하여 대화상자를 여십시오.

비교기 엔진은 Options for Project 대화상자의 Comparator 탭에 정의된 설정을 따릅니다.
비교기 엔진은 Options for Project 대화상자의 Comparator 탭에 정의된 설정을 따릅니다.

대화상자의 주요 영역에는 Different Designators, Changed Net Name 같은 다양한 Comparison Type 목록이 있으며, 이는 5개 카테고리로 그룹화되어 있습니다. 오른쪽의 Mode 열에는 각 항목별 드롭다운이 있어 Find Differences 또는 Ignore Differences 같은 비교 모드를 선택할 수 있습니다. 텍스트 유형 비교에는 대/소문자를 구분하지 않도록 하는 세 번째 옵션도 있습니다.

새 프로젝트의 기본값은 모든 비교 유형에 대해 Find Differences로 설정되어 있습니다. 프로젝트에 맞게 옵션을 필요에 따라 설정하십시오.

  • 회로도 → PCB 동기화의 경우, PCB 관련 세부 사항을 모두 동기화할 수 있습니다.
  • PCB → 회로도 동기화의 경우, 컴포넌트 디자인레이터, 코멘트, 풋프린트에 대해 변경된 내용만 회로도로 동기화할 수 있습니다. 동기화 가능한 넷 변경은 핀/파트 스왑 작업으로 인해 발생한 변경뿐이며, 수행 방식은 핀/파트 스왑 옵션 구성에 따라 달라집니다. 자세한 내용은 Pin and Part Swapping 페이지를 참고하십시오.

대화상자 하단에는 Object Matching Criteria을(를) 설정하는 옵션이 있습니다. 매칭은 단순한 정확 문자열 매칭에 의존하지 않는 정교한 다중 패스(multi-pass) 프로세스입니다. 자세한 내용은 Matching the Nets and Classes 섹션을 참고하십시오. 

대화상자 하단의 Ignore Rules Defined in the PCB Only 옵션에 유의하십시오. 이를 활성화하면 PCB에서 정의한 룰을 비교 프로세스에서 제외할 수 있습니다.

넷 및 컴포넌트 클래스 동기화

Dialog page: PCB Project 옵션, Class Generation 탭

컴포넌트 및 연결 데이터뿐 아니라, Design » Update PCB을(를) 수행할 때 클래스와 디자인 룰도 생성하고 동기화할 수 있습니다.

클래스를 회로도에서 생성하고 동기화하는 방법에 대한 자세한 내용은 Working with Classes on a Schematic & PCB 페이지의 Generation and Synchronization of Classes from the Schematic 섹션을 참고하십시오.

디자인 룰 동기화

디자인 룰은 Parameter Set 객체를 사용하여 회로도에서 정의할 수 있습니다. Parameter Set 객체를 선택하면 Properties 패널 또는 모달 대화상자에 Rules 영역이 표시됩니다. Add 드롭다운을 클릭하여 디자인 룰을 추가하십시오. 룰은 Parameter Set 객체가 접촉하고 있는 블랭킷(blanket) 아래의 넷/버스/하네스/객체에 적용됩니다.

아래 이미지에서는 폭 제약(width constraint) 디자인 룰이 USB_data 넷 클래스에 적용되고 있습니다(넷 클래스 또한 이 Parameter Set의 일부로 정의되며, Parameters drop-downClasses 영역에서 설정됩니다).

Parameter Set은 회로도 블랭킷 객체 아래의 넷에 대해 넷 클래스와 디자인 룰을 정의하는 데 사용됩니다. 필요한 측정 단위는 Edit PCB Rule 대화상자 하단에서 구성된다는 점에 유의하십시오.
Parameter Set은 회로도 블랭킷 객체 아래의 넷에 대해 넷 클래스와 디자인 룰을 정의하는 데 사용됩니다. 필요한 측정 단위는 Edit PCB Rule 대화상자 하단에서 구성된다는 점에 유의하십시오.

Options for Project 대화상자의 Comparator 탭에서, PCB에 디자인 룰을 추가하고 업데이트할 수 있도록 필요한 Rule type 비교가 활성화되어 있는지 확인하십시오.

회로도 룰 정의로부터 생성되는 각 PCB 룰은 자동으로 Schematic <RuleType>라는 이름이 지정됩니다. 필요하다면 이 이름을 편집할 수 있으며, 이는 ongoing rule synchronization에는 사용되지 않습니다.

위 이미지와 아래 이미지 모두에서, 디자인 룰은 블랭킷에 연결된 Parameter Set 객체에서 정의됩니다. Parameter Set 객체에 Class 정의를 포함하면 PCB 넷 클래스도 생성되며, 클래스 정의가 존재하므로 PCB 룰의 스코프는 InNetClass('<PCB_NetClassName >')로 설정됩니다. 

아래 이미지에서는 Parameter Set 객체가 Differential Pair 지시자(directive)로 표시되는 것을 확인할 수 있습니다. 이는 Place » Directives » Differential Pair 명령으로 배치하는 특수한 유형의 Parameter Set 객체입니다.  

Differential Pair 지시자는 넷 클래스와 디자인 룰을 정의한 뒤, 이를 대상 차동쌍(diff pair)에 적용하는 데 사용됩니다.
Differential Pair 지시자는 넷 클래스와 디자인 룰을 정의한 뒤, 이를 대상 차동쌍(diff pair)에 적용하는 데 사용됩니다.

차동쌍 작업하기

Differential Pair 지시자는 차동쌍에 속하는 넷을 표시하는 데 사용됩니다. 소프트웨어는 쌍을 이루는 넷의 이름이 <Name>_P<Name>_N 형식으로 지정되기를 요구합니다. 그러면 PCB 차동쌍의 이름은 <Name>가 됩니다.

각 차동쌍 멤버마다 Differential Pair 지시자를 배치하여 쌍을 정의할 수도 있고, 위 이미지처럼 블랭킷을 배치해 쌍의 넷 이름을 덮도록 할 수도 있습니다.

위 이미지를 기준으로, 차동쌍 Parameter Set 객체는 다음을 생성합니다:

  • V_RX0, V_TX0, V_RX1, V_TX1, RX0, TX0, RX1, TX1라는 이름의 차동쌍 8개.
  • ROCKET_IO_LINES라는 PCB 넷 클래스.
  • PCB Net Class ROCKET_IO_LINES를 대상으로 하도록 구성된 Differential Pairs Routing 디자인 룰.

ECO 생성 옵션 구성

Options for Project 대화상자에는 ECO Generation 탭도 포함되어 있습니다. 이 탭은 어떤 설계 수정에 대해 ECO를 생성할 수 있는지 정의합니다. 일반적으로는 모두 활성화하며, 회로도와 PCB 간에 어떤 설계 변경을 동기화할지는 대화상자의 Comparator 탭 옵션을 사용해 구성합니다.

ECO Generation 탭은 ECO를 생성할 수 있는 수정 유형을 정의합니다.
ECO Generation 탭은 ECO를 생성할 수 있는 수정 유형을 정의합니다.

차이점 찾기

설계 동기화 기능은 양방향으로 차이점을 감지하고 해결할 수 있습니다. 즉, 회로도에서 PCB로, 또는 PCB에서 회로도로 되돌리는 방향 모두를 지원합니다.

차이점을 감지하고 해결하는 방법에는 두 가지가 있습니다: 

  1. 각 변경 사항마다 업데이트 방향을 지정합니다.
  2. 모든 업데이트를 동일한 방향으로 적용합니다.

동시에 양방향 업데이트를 적용할 필요가 없다면, 비교할 문서를 선택하고 차이점을 해결하기 위한 업데이트 방향을 구성하는 과정을 거칠 필요가 없습니다. 이 경우 Performing a Direct Update 섹션으로 바로 이동할 수 있습니다.

소프트웨어는 양쪽에 변경을 동시에 적용하여 이러한 차이점을 해결할 수 있습니다. 예를 들어 전자 설계자가 커패시터의 값을 변경하는 동안, PCB 설계자가 동일한 커패시터의 풋프린트를 변경했다고 가정해 보겠습니다. 이 두 차이점은 단일 업데이트 프로세스에서, 코멘트 변경은 회로도→PCB 업데이트로 적용하고 풋프린트 변경은 PCB→회로도 업데이트로 적용함으로써 해결할 수 있습니다.

비교기 엔진이 회로도 프로젝트와 PCB를 비교하면, 차이점의 전체 목록이 생성됩니다. 이 단계에서는 동기화를 위해 어느 쪽을 변경해야 하는지에 대한 가정이 없습니다.

차이점 목록은 Differences between 대화상자에서 확인할 수 있습니다.

Difference between dialog를 열고 차이점 목록을 보려면:

  • 아래 이미지와 같이 Choose Documents to Compare dialog를 열려면 Project » Show Differences 명령을 실행하거나, Projects panel에서 필요한 프로젝트(또는 그 소스 문서 중 하나)의 항목을 오른쪽 클릭한 다음 컨텍스트 메뉴에서 Show Differences 명령을 선택하십시오. Choose Documents to Compare dialog는 비교할 두 문서/문서 세트를 선택하는 데 사용되며, 일반적으로 회로도 프로젝트와 PCB를 비교합니다. 또한 Advanced Mode 옵션을 체크하면 어떤 문서든 어떤 문서와도 비교할 수 있습니다. 예를 들어 넷리스트와 PCB를 비교하거나, PCB와 PCB를 비교할 수도 있습니다.

    일반적으로 기본 모드든 고급 모드든 대화상자의 기본 설정은 대부분의 설계 비교 요구에 충분하며, 소스 문서와 대상 PCB 설계를 비교하여 동기화를 달성하는 것을 목표로 합니다. 다만 이 대화상자는 다른 문서들도 비교할 수 있게 해주며, 프로젝트의 여러 버전을 로드해 해당 소스 문서들 간의 차이점을 비교해야 할 때 유용할 수 있습니다.

    회로도 프로젝트와 비교할 PCB를 선택합니다.
    회로도 프로젝트와 비교할 PCB를 선택합니다.

  • 대화상자 본문에서 PCB를 선택하고 OK을(를) 클릭하여 아래와 같이 Difference between dialog를 여십시오. PCB 문서가 현재 소스 문서와 동기화되어 있다면, 차이점이 감지되지 않았다는 메시지의 대화상자가 표시됩니다.

Differences between dialog가 열립니다. Synchronizer는 양방향입니다. 즉, 동일한 ECO에서 두 문서 모두에 대한 업데이트를 지정할 수 있습니다. 비교한 문서를 동기화하려면 각 차이점에 대해 조치를 취할지 여부와 변경 방향(차이점을 해소하기 위해 어떤 문서를 업데이트할지)을 결정하는 것이 목표입니다. 따라서 다음 단계는 각 차이점에 업데이트 방향을 할당하는 것입니다.

  • 개별 차이점의 경우, Update column을 클릭하여 아래 이미지와 같이 방향 선택기를 표시합니다.
  • 동일한 종류의 여러 차이점에 대해서는 Different Footprints와 같은 헤더를 오른쪽 클릭하고 필요한 Update Same Kind 명령을 선택합니다.
  • 모든 차이점에 대해서는 대화상자 아무 곳이나 오른쪽 클릭하고 필요한 Update All 명령을 선택합니다.

각 차이점에 대해 해당 차이를 해결하기 위한 ECO가 생성되려면 Update direction을 설정해야 합니다.
각 차이점에 대해 해당 차이를 해결하기 위한 ECO가 생성되려면 Update direction을 설정해야 합니다.

Explore Differences 버튼을 클릭하여 Differences panel에 접근한 다음, 아래의 Exploring Design Changes with the Differences Panel 섹션에서 설명한 대로 차이점을 살펴보십시오.

이 방식으로 Differences panel에 접근하면 Differences between dialog가 닫히므로, 이미 내려둔 업데이트 결정은 모두 사라집니다. 따라서 업데이트 결정을 내리기 전에 먼저 차이점을 탐색하는 것이 좋습니다. 또는 Differences between dialog 안에서 객체를 직접 크로스 프로브할 수도 있는데, dialog의 Differences region에서 해당 객체 항목을 더블 클릭하면 됩니다.

Report Differences 를 클릭하여 Comparator가 찾은 차이점, 지정한 업데이트 결정, 그리고 생성될 ECO에 포함될 작업에 대한 보고서를 설정하고 인쇄/내보내기할 수 있습니다.

Update direction을 지정한 후 Create Engineering Change Order 버튼을 클릭하면 Engineering Change Order dialog가 열리며, 이는 아래의 Resolving Differences - Applying the ECOs 섹션에서 설명합니다.

Exploring Design Changes with the Differences Panel

Differences panel은 문서 차이점을 계층 구조로 표시합니다.
Differences panel은 문서 차이점을 계층 구조로 표시합니다.

Summary

Differences panel은 설계 문서를 비교할 때(예: 프로젝트의 소스 문서 계층(회로도)과 PCB 설계 문서를 비교) 소프트웨어에 내장된 Differences Comparator가 찾아낸 논리적 또는 물리적 차이점을 표시하는 데 사용됩니다. 이 패널을 통해 프로젝트 문서를 동기화하는 데 사용할 Engineering Change Order(ECO)를 생성하기로 결정하기 전에, 차이점을 대화형으로 탐색할 수 있습니다.

Panel Access

Differences panel을 여는 방법:

  • 메인 메뉴에서 View » Panels » Differences 를 선택합니다.
  • 디자인 작업 공간 오른쪽 하단의 Panels button을 클릭한 다음 Differences를 클릭합니다.

패널은 편집기 공간에 떠 있는 형태로 구성하거나 화면 가장자리에 도킹하도록 구성할 수 있습니다. Differences panel이 현재 도킹된 패널 그룹에 있다면, 패널 하단에 있는 Differences tab을 사용해 앞으로 가져오십시오.

Displaying Differences

Differences panel의 적용 방식은 목표가 다음 중 무엇인지에 따라 달라집니다:

  • 프로젝트 계층 내의 논리적 차이점을 감지하여, 내용과 구조 측면에서 전체 프로젝트의 무결성을 분석합니다.
  • 그래픽(물리) 차이점을 감지하여, 동일한 Schematic 또는 PCB 문서의 두 버전을 비교합니다.
Differences panel은 Differences Comparator의 Explore Differences 기능을 사용할 때 채워지며, 이 기능은 Differences between dialog에서 제공됩니다. 해당 dialog는 Projects panel에서 마우스 오른쪽 버튼을 클릭한 뒤 Show Differences를 선택하면 열립니다.

Displaying Logical Differences

프로젝트 문서의 논리적 차이점 비교는 Choose Documents To Compare dialog에서 수행되며, Projects panel에서 프로젝트(또는 프로젝트 문서)를 마우스 오른쪽 버튼으로 클릭한 다음, 관련 컨텍스트 메뉴에서 Show Differences를 선택하면 활성화됩니다.

프로젝트 이름을 마우스 오른쪽 버튼으로 클릭한 다음 Show Differences를 선택하여 Choose Documents To Compare dialog를 엽니다.
프로젝트 이름을 마우스 오른쪽 버튼으로 클릭한 다음 Show Differences를 선택하여 Choose Documents To Compare dialog를 엽니다.

일반적으로 PCB 문서는 상위 프로젝트의 소스 문서 계층과 비교하여, 회로도 설계 내용과 PCB 설계 내용 사이의 논리적 차이점을 감지합니다.

OK를 클릭한 후 지정한 문서들 사이에 차이점이 있으면 Differences between dialog가 열립니다. Differences panel의 정보는 Differences between dialog에서 Explore Differences button을 클릭한 뒤에만 표시됩니다.

Differences panel에는 Differences between dialog에 나열된 차이점만 표시됩니다. 그리고 이는 Project Options dialog(Project » Options)의 Comparator tab에서 선택한 항목에 의해 결정됩니다. 이 탭에는 Components, Nets, Parameters와 관련된 차이점 등 모든 비교 유형이 나열됩니다. 각 비교 범주에 대해 ModeFind Differences 또는 Ignore Differences로 설정하면 Differences Comparator가 결과를 Differences between dialog로 전달할지 여부가 결정됩니다.


Project Options dialog에서 차이점 감지 및 보고 방식을 설정합니다.

Differences panel은 소스 문서들 사이에서 발견된 차이점을 트리 형태로 표시하며, 최상위 폴더에는 감지된 총 차이점 수가 표시됩니다. 이후 Differences between dialog에 나타나는 각 비교 유형별로 하위 폴더가 생성됩니다. 각 하위 폴더에는 발견된 구체적인 차이점이 나열되며, 이는 다시 해당 차이점을 발생시키는 문서상의 객체들로 더 세분화됩니다.

연관 문서가 열려 있거나(또는 열려 있으나 숨김 상태인 경우) 패널에서 객체 항목을 클릭하면 문서의 해당 객체로 크로스 프로브됩니다.

객체의 시각적 표시는 줌 및 디밍 효과를 사용하며, 다른 모든 객체를 어둡게 처리하여 해당 객체를 강조합니다. 디밍 대비는 Preferences dialog의 System - Navigation 페이지에 있는 Highlight Methods region의 Dimming slider로 조정할 수 있습니다.

Displaying Physical Differences

동일한 회로도 또는 PCB 문서의 두 버전에 대한 그래픽(물리) 비교는 기본적으로 위에서 설명한 논리 비교와 같은 방식으로 수행되지만, Choose Documents To Compare dialog의 Advanced Mode도 사용합니다.

Show Differences command(Projects panel 우클릭 메뉴)을 사용해 Choose Documents To Compare dialog를 연 다음 Advanced Mode box를 체크하여 문서 물리 비교를 수행합니다. 이제 dialog에 모든 프로젝트 파일이 표시되므로, 비교할 문서의 두 변형(버전)을 선택합니다.

Advanced Mode에서 Choose Documents To Compare dialog를 통해 물리 비교용 문서를 선택합니다.
Advanced Mode에서 Choose Documents To Compare dialog를 통해 물리 비교용 문서를 선택합니다.

OK를 클릭하면 그래픽 비교가 진행되고 앞서 설명한 Differences between dialog가 열립니다. Differences panel에서 대화형 차이점 목록을 열려면 Explore Differences를 클릭합니다.

패널은 문서들 사이에서 발견된 차이점을 트리 형태로 표시합니다. 최상위 폴더에는 감지된 총 차이점 수가 표시됩니다. 차이점 유형별로 항목이 생성되며, 각 항목에는 해당 차이점에 대한 구체적인 참조와 관련 객체(포트, 부품 등)가 포함됩니다.

감지된 차이점의 객체 항목을 선택하면 편집기 디자인 공간에서 해당 객체가 하이라이트되고 그 위치로 줌됩니다.

Notes

  • 패널의 객체가 현재 숨겨진 문서에 있는 경우, 관련 항목을 클릭하면 해당 문서가 자동으로 열리고 디자인 편집기 창에서 활성 문서가 됩니다.
  • Differences panel에서 크로스 프로브할 때 적용되는 필터링은 일시적입니다. 따라서 필터 범위 밖에 있는 설계 객체도 선택하거나 편집하는 것이 제한되지 않습니다.
  • 새 문서 비교를 수행하거나 상위 프로젝트를 컴파일하면 Differences panel의 정보는 지워집니다.
  • 메인 메뉴의 Project » Show Physical Differences command를 사용하면 회로도 또는 PCB 문서의 두 버전 사이에 존재하는 물리적 차이점을 감지하고, 디자인 공간에서 두 문서를 나란히(side-by-side) 볼 때 이러한 차이점을 그래픽으로 표시할 수 있습니다. 이 Show Physical Differences 기능은 순수하게 시각적 비교만 제공하며, 비교 중인 어느 문서도 ECO 생성으로 업데이트할 수 없습니다. 동일 문서의 두 버전을 비교하는 용도이지만, 프로젝트의 소스 계층과 PCB처럼 서로 다른 문서를 비교하도록 실행하면 감지된 논리적 차이점이 나열된 Differences panel이 나타납니다.

Performing a Direct Update

설계자는 보통 업데이트를 어느 방향으로 적용할지 알고 있고, 그 업데이트가 모두 같은 방향인 경우가 많으므로, 방금 설명한 차이점 감지 및 방향 지정 과정을 건너뛸 수 있습니다.

Project menu에서 Show Differences command를 선택하는 대신, 회로도 편집기 또는 PCB 편집기에서 Design menu의 Update command를 선택합니다. 명령을 실행하는 편집기의 선택은 변경을 적용하려는 방향(즉, this editor에서 that editor로)을 나타냅니다. 예를 들어 회로도에서 PCB로 모든 변경을 푸시하려면 회로도 편집기에서 Design » Update를 선택합니다.

활성 PCB 설계 문서는 PCB 편집기의 메인 메뉴에서 Design » Import Changes from <ProjectName> command를 선택하여, 소스 회로도 문서에 적용된 모든 변경 사항으로 업데이트할 수도 있습니다.

Differences between dialog는 건너뛰고 곧바로 Engineering Change Order dialog로 이동합니다.

모든 업데이트가 동일한 방향으로 적용될 예정이라면 Design » Update command를 사용하십시오. 모든 업데이트가 동일한 방향으로 적용될 예정이라면 Design » Update command를 사용하십시오. 

PCB 문서가 현재 소스 문서와 동기화되어 있으면, 차이가 감지되지 않았다는 내용의 대화상자가 표시됩니다. 반대로 회로도를 업데이트할 때는 감지된 차이 중 일부 또는 전부가 자동 생성된 ECO로 해결될 수도 있고, 전혀 해결되지 않을 수도 있습니다. 이 경우 Differences between dialog를 통해 이러한 차이를 확인할 수 있는 옵션이 제공됩니다. 회로도 방향으로는 수정이 불가능하더라도, PCB를 업데이트해야 할 수도 있습니다(예: 객체나 엔티티를 제거). 차이점을 검토한 뒤 일부 또는 전부를 해결할 수 있다면 ECO를 생성할 수 있습니다. 대화상자에서 해결할 수 없는 차이가 남아 있다면, 설계로 돌아가 문제를 해결한 다음 다시 비교를 실행해야 합니다.

Resolving Differences - Applying the ECOs

각 차이는 Engineering Change Order(ECO)를 적용하여 해결합니다. ECO는 Engineering Change Order dialog에 한 줄당 하나의 ECO로 나열되며, 각 ECO에는 자체 Enable 체크박스가 있습니다.

Engineering Change Order dialog를 사용할 때:

  • 대화상자는 모든 변경 사항이 활성화된 상태로 열립니다. 지금은 보류하려는 변경 사항이 있으면 비활성화하세요. 이 대화상자는 다중 선택을 지원합니다. 선택한 ECO의 활성화 상태를 전환하려면 마우스 오른쪽 버튼 컨텍스트 메뉴를 사용하세요.
  • 마우스 오른쪽 버튼의 Cross Probe 명령을 사용해 해당 ECO의 영향을 받는 객체를 확인합니다.
  • Validate Changes 버튼을 사용해 변경을 수행할 수 있는지 확인합니다. ECO가 실패하는 일반적인 이유는 객체를 사용할 수 없기 때문입니다. 예를 들어 지정된 PCB 풋프린트가 Available File-based Libraries에 존재하지 않거나, 지정된 패드가 해당 풋프린트에 존재하지 않는 경우입니다.
  • 또한 특정 ECO에 필요한 객체가 처음에는 없었지만, 현재 ECO들을 처리하는 과정에서 추가된 경우에도 ECO가 실패할 수 있습니다. 이런 상황에서는 Update 명령을 다시 실행하여 해당 ECO를 완료하세요.

각 설계 변경은 ECO로 표시되며, 필요한 것만 활성화하세요.
각 설계 변경은 ECO로 표시되며, 필요한 것만 활성화하세요.

Comparator 관련 메시지는 Messages panel에 표시됩니다.

최적화 및 가속화된 ECO 처리 기능을 활성화할 수 있습니다. 이 기능은 Open Beta 상태이며, Advanced Settings dialog에서 WSM.DotNetECOImplementation 옵션을 활성화했을 때 사용할 수 있습니다.

Understanding the Linking Between the Schematic and the PCB

Component Matching via Unique Identifiers

각 회로도 컴포넌트는 Unique Identifier(UID)를 통해 PCB 컴포넌트와 연결됩니다. UID는 회로도 컴포넌트를 시트에 배치할 때 할당되며, 설계를 PCB 편집기로 전송할 때 이 값이 PCB 컴포넌트로 전달됩니다. 회로도 소스 문서와 빈 PCB 설계 문서 사이에서 Synchronizer를 사용해 컴포넌트 정보를 처음 전송할 때, 모든 컴포넌트는 고유 ID로 자동 연결됩니다. 즉, 각 회로도 컴포넌트의 ID 정보가 해당 컴포넌트 풋프린트에 할당됩니다.

이 방식은 단순한 설계에는 충분하지만, 멀티 채널 설계를 지원할 수는 없습니다. 멀티 채널 설계에서는 동일한 회로도 컴포넌트가 각 물리 채널에서 반복되므로, 반복된 PCB 컴포넌트가 동일한 UID를 갖게 됩니다. 이를 해결하기 위해 PCB 컴포넌트의 UID는 부모 Sheet Symbol의 UID와 회로도 컴포넌트의 UID를 결합하여 생성됩니다. PCB UID의 구문은 멀티 채널 설계를 생성한 방식에 따라 약간 달라집니다.

동일한 회로도 시트를 참조하는 여러 Sheet Symbol을 배치하여 생성한 멀티 채널 설계의 경우, 각 Sheet Symbol이 고유 ID를 제공할 수 있으므로 PCB UID는 다음 형식을 갖습니다.

\SheetSymbolUID\SchComponentUID

Repeat 키워드를 사용하여 생성한 멀티 채널 설계의 경우, 사용 가능한 Sheet Symbol UID가 1개뿐이므로 PCB UID에는 ChannelIndex 값도 포함되며, 형식은 다음과 같습니다.

\ChannelIndex+SheetSymbolUID\SchComponentUID

UID는 패널과 대화상자에 표시되지 않습니다.

When the Components are not Linked

회로도와 PCB 컴포넌트를 매칭할 때 UID를 사용하는 장점은, (PCB 재-어노테이션을 여러 번 수행하는 등으로) 디자인레이터가 서로 동기화되지 않게 되더라도 회로도와 PCB가 더 이상 동기화할 수 없는 상태가 될 위험 없이 계속 동기화할 수 있다는 점입니다.

회로도 또는 PCB에, 다른 편집기에는 존재하지 않는(동일 UID를 가진) 컴포넌트가 있을 경우 다음이 발생합니다:

  • 추가 컴포넌트가 소스 편집기에만 존재하면, 대상 편집기에 해당 컴포넌트를 추가하는 ECO가 생성됩니다.
  • 추가 컴포넌트가 대상 편집기에만 존재하면, 그 추가 컴포넌트를 제거하는 ECO가 생성됩니다.
  • 양쪽 편집기에 모두 매칭되지 않은 컴포넌트가 존재하는 경우, 소프트웨어는 이를 어떻게 처리할지에 대한 지시가 필요하므로 Failed to Match Unique Identifiers 대화상자가 열립니다.

The Failed to Match Unique Identifiers dialog The Failed to Match Unique Identifiers dialog 

대화상자의 버튼은 다음 옵션을 제공합니다:

  • Automatically Create Component Links - 매칭되지 않은 컴포넌트들이 이미 동일한 디자인레이터를 갖고 있다고 확신할 때 이 버튼을 클릭합니다. 소프트웨어는 컴포넌트 디자인레이터를 사용해 이 추가 컴포넌트들에 매칭되는 UID를 할당합니다. 디자인레이터로 매칭 가능한 컴포넌트의 경우, 다른 속성 차이(예: 매칭되지 않은 파라미터)가 있으면 ECO가 생성됩니다. 디자인레이터로 매칭할 수 없는 컴포넌트가 있으면, 이를 추가/제거하기 위한 ECO가 생성됩니다(소스 편집기에만 있는 추가 컴포넌트는 추가, 대상 편집기에만 있는 추가 컴포넌트는 제거).
  • Manual Component Links - 매칭되는 컴포넌트가 있다는 것은 알지만 디자인레이터 상태는 모를 때 이 버튼을 클릭합니다. Edit Component Links 대화상자가 열리며(아래 설명), 여기서 각 소스/대상 컴포넌트를 수동으로 선택해 매칭된 컴포넌트 목록으로 옮기고 동일한 UID를 부여할 수 있습니다. 이후 디자인레이터(및 기타 매칭되지 않은 컴포넌트 속성)를 동기화하기 위한 ECO가 생성됩니다.

    회로도 또는 PCB 문서 어느 쪽에서든 디자인레이터 어노테이션을 수행하더라도, 언제든 문서를 다시 동기화할 수 있다는 확신을 갖기 위해 모든 컴포넌트를 고유 ID로 매칭해 두는 것이 좋습니다. 컴포넌트가 고유 ID로 매칭되지 않은 상태에서도 문서는 동기화할 수 있지만, 이 경우 디자인레이터만으로 컴포넌트를 매칭하라는 프롬프트가 표시됩니다. 이때 comment와 footprint는 고려되지 않으므로 일부 컴포넌트가 잘못 매칭될 가능성이 있습니다.
  • Cancel - 소스 편집기에 존재하는 추가 컴포넌트를 추가하고, 대상 편집기에서 추가 컴포넌트를 제거하는 ECO를 생성하려면 이 버튼을 클릭합니다.

컴포넌트 수동 링크

회로도 컴포넌트와 해당 PCB 컴포넌트 풋프린트 간의 링크 상태는 Edit Component Links 대화상자(PCB 편집기, Projects » Component Links 명령)에서 언제든 확인하고 관리할 수 있습니다.

컴포넌트 수동 링크를 only PCB 문서 내부에서 수행하는 이유는, 고유 ID 정보로 업데이트해야 하는 대상이 PCB 컴포넌트 풋프린트뿐이기 때문입니다. 회로도 쪽에는 이미 해당 정보가 존재합니다.

Edit Component Links 대화상자는 UID 불일치를 감지하고 해결하는 데 사용되며, PCB 편집기에서 실행합니다.
Edit Component Links 대화상자는 UID 불일치를 감지하고 해결하는 데 사용되며, PCB 편집기에서 실행합니다.

대화상자 기능 요약:

  • 매칭되지 않은 컴포넌트는 왼쪽의 두 Un-Matched Components 열에 표시되고, 동일 UID로 매칭된 컴포넌트는 대화상자 오른쪽의 Matched Components 영역에 표시됩니다.
  • 대화상자 가운데의 화살표 버튼은 선택한 컴포넌트를 수동으로 매칭(또는 매칭 해제)하거나, 현재 매칭된 모든 컴포넌트를 한 번에 매칭 해제하는 데 사용합니다.
  • 대화상자 하단의 Add Pairs Matched By 버튼과 옵션은 현재 매칭되지 않은 컴포넌트 목록을 스캔하고, 활성화된 속성(Designator, Comment, Footprint)으로 매칭을 시도하는 데 사용합니다.
  • Perform Update 버튼을 클릭하면, 새로 매칭된 각 PCB 컴포넌트에 회로도 대응 컴포넌트의 UID가 할당됩니다. 대화상자의 Matched  섹션에 있던 항목을 다시 Unmatched  섹션으로 옮긴 경우, 진행 시 기존 컴포넌트 연관이 끊어진다는 안내 확인 대화상자가 표시됩니다. Yes 를 클릭하면 업데이트가 진행되며, PCB 문서에서 수정된 컴포넌트 링크 요약을 제공하는 정보 대화상자가 표시됩니다. Matched  섹션의 새 항목은 Link Modified로 요약되며, 이전에 링크되어 있었지만 이제 매칭 해제한 항목은 Link Removed로 요약됩니다.
  • 이 대화상자를 사용해 수동 컴포넌트 링크를 수행한 후에는 동기화 상태를 확인하는 것이 좋습니다(Design » Update 명령 실행).
  • 설계 과정의 어느 단계에서든 이 대화상자를 사용해 컴포넌트 간 링크를 확인하고, 회로도 소스 문서의 컴포넌트가 PCB 설계의 해당 컴포넌트 풋프린트와 실제로 올바르게 매칭되어 있는지 스스로 확인할 수 있습니다.
  • 링크된 컴포넌트를 Edit Component Links 대화상자의 매칭되지 않은 영역으로 다시 옮기면 언제든 고유 ID를 제거할 수 있습니다. 컴포넌트 링크를 제거하면 해당 PCB 풋프린트에서만 고유 ID가 제거됩니다. 회로도 컴포넌트는(회로도 레벨에서 고유 ID 관련 reset 명령을 사용해 새로 생성하지 않는 한) 고유 ID를 유지합니다.
  • 소스 회로도 문서의 각 파라미터 정의에도 고유 ID가 자동으로 할당됩니다. 이는 디자인 룰 지시문으로 추가된 파라미터에 사용됩니다. 설계를 PCB 문서로 전송할 때, 정의된 룰 파라미터는 PCB에서 관련 디자인 룰을 생성하는 데 사용됩니다. 이렇게 생성된 룰에는 동일한 고유 ID가 부여되므로, 회로도 또는 PCB 어느 쪽에서든 룰 제약을 변경하고 동기화를 수행할 때 그 변경 사항을 반대편으로 푸시할 수 있습니다.
  • 회로도 컴포넌트를 복사/붙여넣기 또는 잘라내기/붙여넣기 하면 UID가 자동으로 갱신됩니다. 이를 통해 모든 컴포넌트가 계속 고유 식별자를 갖도록 보장합니다.
  • (이미 PCB 편집기로 전송된) 회로도를 재구성하면서 컴포넌트를 다른 시트로 옮겨야 한다면, 잘라내기/붙여넣기를 하지 말고 컴포넌트를 선택한 다음 Edit » Refactor » Move Selected Sub-circuit to Different Sheet 명령을 실행하십시오.

 

넷과 클래스 매칭

넷과 클래스는 모두 부모(넷 또는 클래스)와 자식(해당 넷/클래스의 멤버)을 가집니다. 이들을 매칭하려면 컴포넌트 링크에 사용되는 UID 메커니즘과는 다른 접근이 필요합니다. 이는 다음 변경을 지원하기 위함입니다: 부모 변경, 자식 변경, 또는 부모와 자식 모두 변경. 예를 들어 회로도에서 넷 이름을 바꾸는 것처럼 단순한 변경 때문에, PCB에서 그 넷과 모든 자식 핀을 제거한 뒤 새 이름의 넷을 추가하고 다시 모든 자식 핀을 그 새 넷에 추가하도록 요구되어서는 안 됩니다.  

이를 지원하기 위해 소프트웨어에는 넷과 클래스를 멤버 기준으로 매칭하는 알고리즘과 이름 기준으로 매칭하는 알고리즘이 별도로 포함되어 있습니다. 매칭 프로세스는 Options for Project 대화상자의 Comparator 탭에 있는 Object Matching Criteria 섹션에서 구성합니다.

기본 설정은 먼저 멤버로 매칭한 다음 Object Type 이름으로 매칭하는 것입니다.
기본 설정은 먼저 멤버로 매칭한 다음 Object Type 이름으로 매칭하는 것입니다.

이러한 유형의 객체에 대한 매칭은 다음과 같이 처리됩니다:

  • 설계 동기화 중 기본 동작은 Min Match %Min Match Member 설정에 따라 먼저 멤버로 매칭을 시도하는 것입니다.
  • 멤버 매칭이 실패하면, 소프트웨어는 ( Use Name Matching 옵션이 활성화되어 있다면) 이름으로 매칭을 시도합니다.
  • 이 두 매칭 프로세스 중 하나라도 성공하면 Engineering Change Order 대화상자로 진행합니다.
  • 두 매칭 기법이 모두 실패하거나(또는 Use Name Matching 옵션이 Never로 설정된 경우) Match Manually 대화상자가 열립니다.

  • Match Manually 대화상자에서 No를 클릭하면 사용자 매칭 프로세스를 건너뛰고 바로 Engineering Change Order 대화상자로 이동합니다. 매칭되지 않은 객체에 대해 어떤 매칭 시도도 하지 않았으므로, 소프트웨어는 참조 객체와 대상 객체가 서로 관련이 없다고 가정합니다. 따라서 보드에서 Unmatched Reference Objects를 제거하고, Unmatched Target Objects를 새 객체로 추가하는 ECO가 생성됩니다.
  • 대화상자에서 Yes를 클릭해 수동 매칭을 선택하면, 아래와 같이 Match 대화상자가 열립니다(대화상자 캡션은 매칭되지 않은 객체 유형에 맞게 변경됩니다).

Match  대화상자는 매칭된 것으로 알고 있는 객체를 수동으로 매칭하는 데 사용합니다. 확신이 없다면 오른쪽을 비워 둔 채 Continue를 클릭하십시오.Match 대화상자는 매칭된 것으로 알고 있는 객체를 수동으로 매칭하는 데 사용합니다. 확신이 없다면 오른쪽을 비워 둔 채 Continue를 클릭하십시오.

  • 이 대화상자에서 Unmatched Reference ObjectsUnmatched Target Objects에서 매칭하려는 객체를 선택한 다음, 대화상자의 Matched Pairs 섹션으로 옮기십시오. 이 객체들에 대해 소프트웨어는 이름을 일치시키기 위한 ECO를 생성하고, 멤버도 일치하도록 멤버 제거/추가 ECO를 생성합니다.
  • 확실하지 않다면 객체를 수동으로 매칭할 필요는 없습니다. 매칭되지 않은 객체에 대해서는 소프트웨어가 참조 객체와 대상 객체가 서로 관련이 없다고 가정하므로, 보드에서 Unmatched Reference Objects를 제거하고 Unmatched Target Objects를 새 객체로 추가하는 ECO를 생성합니다.
  • 매칭된 것이 확실한 객체들을 매칭한 다음, Continue를 클릭하여 Engineering Change Order 대화상자를 여십시오.
  • Cancel를 클릭하면 업데이트 프로세스가 종료됩니다.

설계 규칙 매칭

회로도에서 정의된 설계 규칙은 PCB에서 해당하는 규칙과도 연결되어야 합니다. 연결 메커니즘이 없다면 회로도에서 규칙을 업데이트하고 그 변경 사항을 PCB로 반영할 수 없습니다. UID는 회로도 설계 규칙을 PCB 설계 규칙에 연결하는 데 사용됩니다.

UID는 회로도에서 규칙 정의를 담고 있는 Parameter Set에 자동으로 할당되며, 설계 동기화 과정에서 PCB로 전송됩니다.

설계 규칙은 UID를 사용하여 회로도의 설계 규칙 정의를 PCB 설계 규칙과 매칭합니다.설계 규칙은 UID를 사용하여 회로도의 설계 규칙 정의를 PCB 설계 규칙과 매칭합니다.

일반적으로는 규칙 매칭을 수동으로 관리할 필요가 없지만, PCB 편집기에서 PCB Rules and Constraints 대화상자에서 UID를 수동으로 편집한 경우에는 예외입니다. UID가 일치하지 않으면, 소프트웨어는 매칭되는 PCB 규칙이 없는 회로도 규칙마다 PCB에 새 규칙을 추가하고, 매칭되는 회로도 설계 규칙이 없는 PCB 설계 규칙은 제거합니다.

두 편집기 중 어느 쪽에서든 컴포넌트를 자유롭게 업데이트한 뒤 그 변경 사항을 다른 편집기로 동기화할 수 있습니다. 넷, 클래스, 규칙에 대한 변경 사항은 회로도에서 PCB로만 업데이트할 수 있습니다. 

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
기능 제공 여부

사용 가능한 기능은 보유하고 계시는 Altium 솔루션에 따라 달라집니다. 해당 솔루션은 Altium Develop, Altium Agile의 에디션(Agile Teams 또는 Agile Enterprise), 또는 활성기간 내의 Altium Designer 중 하나입니다.

안내된 기능이 고객님의 소프트웨어에서 보이지 않는 경우, 보다 자세한 내용을 위해 Altium 영업팀 에 문의해 주세요.

구버전 문서

Altium Designer 문서는 더 이상 버전별로 제공되지 않습니다. 이전 버전의 Altium Designer 문서가 필요하신 경우, Other Installers 페이지의 Legacy Documentation 섹션을 방문해 주세요.

콘텐츠