PCB CoDesign

속담에 “백지장도 맞들면 낫다”라는 말이 있듯이, 여러 사람이 함께하면 일이 훨씬 수월해집니다. 보드 설계자들이 오랫동안 꿈꿔온 것 중 하나는 여러 사람이 동시에 같은 보드에서 작업할 수 있는 기능입니다. 이 작업은 비전문가에게는 그리 복잡해 보이지 않을 수 있습니다. 예를 들어 “보드의 저 부분에서 Bob이 라우팅한 것을 가져와 내 보드 사본에 반영하면 되지”처럼 말이죠. 하지만 이를 실제로 구현하려면 몇 가지 핵심 역량이 결합되어야 합니다.

여기에는 다음이 포함됩니다:

  • 여러 설계자가 동일한 PCB 설계에 접근하여 작업하고, 다른 설계자의 작업에 영향을 주지 않으면서 각자의 변경 사항을 저장할 수 있게 해주는 시스템.

  • 동일한 보드의 버전 간 차이를 정확하게 비교하고 식별하는 메커니즘.

  • 감지된 차이를 해결할 때 어떤 사람의 변경 사항을 채택할지(승리할지) 설계자가 선택할 수 있게 해주는 도구.

  • 대량의 차이를 자동으로 처리하고, 충돌을 만들지 않으면서 해결할 수 있는 도구.

이러한 작업을 해결하기 위해 Altium Designer는 PCB CoDesign 기능을 제공하며, 이를 통해 Workspace에서 체크아웃한 보드 리비전과 Workspace에 있는 동일 보드의 최신 리비전 간 차이를 탐색할 수 있습니다. PCB CoDesign 기능은 PCB 문서에 저장된 데이터의 변경을 감지할 수 있습니다: PCB 레이아웃, 객체 속성, 레이어 스택, 설계 규칙, 제약 조건.

충돌이 감지되면 로컬 변경 사항을 유지할지, 최신 커밋의 원격 변경 사항을 수락할지 선택한 다음 병합하여 설계 중복을 확실하게 해결할 수 있습니다.

PCB CoDesign 기능은 PCB CoDesign 패널을 통해 접근하고 조작합니다. 이를 사용하려면 PCB 프로젝트가 연결된 Workspace의 버전 관리 하에 있어야 합니다.

PCB CoDesign 기능은 PCB.CollaborativeEditing 옵션이 Advanced Settings dialog에서 활성화되어 있을 때 사용할 수 있습니다.

  • 이 기능을 사용하려면 Workspace에 연결되어 있어야 합니다.

  • 또한 Git 리포지토리 호스팅 프로젝트만 지원됩니다. SVN 리포지토리 호스팅 프로젝트에서 PCB CoDesign 기능을 활용하려면 먼저 Git 리포지토리로 마이그레이션해야 합니다. 프로젝트가 외부 SVN 리포지토리에 저장되어 있고 Simple Sync 구성으로 Altium 365 Workspace에 미러링되어 있거나, 프로젝트가 Enterprise Server Workspace의 Version Control Service를 통해 관리되는 SVN 리포지토리에 저장되어 있는 경우, 이 프로젝트를 Workspace 내장 Git 리포지토리로 마이그레이션할 수 있습니다. 자세한 내용은 Moving from External VCS to Workspace Native VCS 및 Moving from the Workspace's SVN to the Workspace's Git를 참고하세요.

  • PCB CoDesign 기능을 사용하는 설계자들은 동일한 Altium Designer 버전을 사용하는 것이 권장됩니다.

PCB CoDesign 패널 하단의 Leave Feedback 컨트롤을 사용하여 PCB CoDesign 기능과 관련된 제안 또는 문제를 Altium 개발자에게 직접 피드백으로 보낼 수 있습니다.

비교 및 병합 워크플로우

Altium Designer가 PCB 문서가 최신이 아님을 감지(즉, 문서를 체크아웃한 이후 누군가 Workspace에 작업을 저장한 경우)하거나 충돌 상태임을 감지(즉, 사용자가 해당 문서를 편집하고 저장한 버전을 아직 Workspace에 저장하기 전에 누군가 먼저 그 문서를 Workspace에 저장한 경우, see details below)하면, 보드의 최신 리비전으로 업데이트하거나 병합을 수행하여 상대의 변경 사항을 내 보드 버전에 반영해야 합니다. 이는 다음 방법으로 수행할 수 있습니다:

  • Projects 패널에서 VCS 상태 아이콘을 클릭하고 표시되는 메뉴에서 해당 명령을 선택:

    • Out of date () – Compare To Remote Document Version 명령

    • Modified () – Compare To Remote Document Version 명령

    • Conflict Prevention () – Compare To Remote Document Version & Merge 명령

    • Conflict Detected () – Resolve Conflict: Compare To Remote Document Version & Merge 명령

  • PCB CoDesign 패널을 열고 CompareCompare To Remote Document Version 또는 Compare & Merge 버튼을 클릭

  • PCB 문서가 Modified 상태()인 경우, Projects 패널에서 문서 항목의 History & Version Control » Compare To 우클릭 메뉴에 있는 Local Changes to Remote Document Version 명령 또는 메인 메뉴의 Projects » History & Version Control » Compare To 명령 사용

  • PCB 문서가 Conflict Detected 상태()인 경우, Projects 패널에서 문서 항목의 History & Version Control » Resolve Conflict 우클릭 메뉴에 있는 Compare To Remote Version & Merge 명령 사용

  • 디자인 공간 하단에 표시되는 알림에서 Compare 또는 Compare & Merge 버튼을 클릭.

Javascript ID: PCBCoDesign_CompareMerge_AD24_7

비교가 완료되면 감지된 차이가 PCB CoDesign 패널에 목록으로 표시됩니다. 이 목록은 PCB 문서의 기준 리비전(체크아웃한 리비전)과 Workspace에 있는 최신 리비전(다른 사용자가 변경한 내용 포함) 간에 감지된 차이를 보여줍니다.

비교가 진행 중일 때는 비교 과정에서 표시되는 팝업의 Cancel 버튼을 클릭하거나 Esc 단축키를 사용하여 비교를 취소할 수 있습니다.

차이 목록은 RulesComponents, Polygon pours, Copper 등과 같은 카테고리로 그룹화됩니다. 카테고리를 확장하면 해당 카테고리에서 어떤 객체가 추가, 수정 및/또는 제거되었는지 등 구체적인 차이 목록을 볼 수 있습니다:

  •   – 객체가 최신 리비전에 추가됨

  •   – 객체가 최신 리비전에서 수정됨

  •   – 객체가 최신 리비전에서 제거됨

Modified 유형의 차이의 경우, 항목 위에 커서를 올리거나 확장하여 수정에 대한 세부 정보를 확인할 수도 있습니다.

Up Arrow / Down Arrow 키를 사용해 차이 목록을 탐색할 수 있습니다. 차이 카테고리가 선택된 상태에서 Spacebar 를 누르면 확장/접기가 됩니다.

PCB CoDesign 패널에 나열된 차이에서 PCB 편집기 디자인 공간으로 크로스 프로빙할 수 있습니다.

  • PCB CoDesign 패널의 목록에서 카테고리를 클릭하면 해당 카테고리의 변경 사항이 디자인 공간에서 하이라이트됩니다.

  • PCB CoDesign 패널의 목록에서 특정 변경 사항을 클릭하면 해당 변경만 디자인 공간에서 하이라이트됩니다.

  • Shift+Click 및/또는 Ctrl+Click 방식을 사용하여 패널에서 여러 항목을 선택할 수 있습니다.

색상 코딩을 통해 어떤 객체가 추가, 수정, 제거되었는지 또는 변경되지 않았는지( PCB CoDesign 패널에서 핀-투-핀 연결을 선택했을 때 해당 연결의 변경되지 않은 객체) 확인할 수 있습니다.

비교 색상은 View Configuration panel 에서, 패널의 Layers & Colors()에 있는 System Colors 영역의 Not Changed / Modified Comparison ColorsAdded / Removed Comparison Colors 항목 색상 스와치를 사용해 구성할 수 있습니다.

패널 상단의 컨트롤을 클릭해 접근하는 설정을 사용하여 변경 사항 표시 방식을 구성합니다.

  • Show on PCB 옵션(단축키: Ctrl+Shift+A)을 활성화하면 PCB 문서 디자인 공간에서 차이가 하이라이트됩니다.

  • Show on PCB 옵션이 활성화되어 있을 때 Zoom selected object 옵션도 활성화하면, PCB CoDesign 패널에서 차이 항목을 클릭할 때 디자인 공간에서 영향을 받는 객체로 크로스 프로빙할 수 있습니다. 슬라이더를 사용해 선택한 객체로 확대해 들어갈 때 사용되는 줌 배율을 조정합니다.

  • 큰 넷( Copper 카테고리에 표시됨)에서의 변경을 더 쉽게 이해할 수 있도록, 넷의 구리 객체는 더 작은 엔티티인 핀-투-핀 연결로 분할됩니다.

    이 기능은 PCB.CollaborativeEditing.Connections 옵션이 Advanced Settings dialog에서 활성화되어 있을 때 사용할 수 있습니다.

    Javascript ID: Pnl_PCBCoDesign_Pin2Pin_AD25_2
  • PCB CoDesign 기능은 unions(PCB 상의 프리미티브를 정의된 방식으로 그룹화한 것)의 변경 사항 비교 및 적용을 지원합니다. Union 관련 변경 사항은 PCB CoDesign 패널의 변경 목록에서 Unions 카테고리에 표시됩니다. 또한 다른 카테고리의 변경 사항도, 해당 객체가 어떤 union에 속해 있다면 union 기준으로 그룹화됩니다. 

  • 동일한 객체 속성이 양쪽에서 변경되었더라도 속성 값에 충돌이 없다면, 이러한 변경은 충돌을 생성하지 않으며 병합할 수 있습니다.

또한 Shift+B 키보드 단축키를 누른 채로 현재 상태와 변경 전 상태를 전환할 수 있습니다. 패널의 힌트는 현재 어떤 상태가 활성화되어 있는지 표시합니다.

컨트롤 팝업에서 Zoom selected object 옵션이 활성화되어 있으면, Shift+B 단축키를 사용할 때 디자인 공간이 확대/이동하여 해당 변경 영역이 보이도록 표시됩니다.

Javascript ID: PCBCoDesign_States_24_7

패널 하단의  버튼을 클릭하여 감지된 모든 차이점을 병합합니다. 병합이 진행 중임을 알리는 팝업이 표시됩니다. 차이점은 PCB 문서의 로컬 작업 사본에 병합되며, 다른 설계자가 사용할 수 있도록 하려면 Workspace에 저장해야 합니다.

변경 사항이 병합되면 Projects 패널에서 PCB 문서의 VCS 상태가 Merged(으)로 바뀌고,  아이콘이 표시됩니다. 아이콘을 클릭하여 설계를 Workspace에 저장하거나 로컬 변경 사항을 되돌릴 수 있습니다.

또한 설계는 Projects 패널에서 프로젝트 이름 옆의 Save to Server 컨트롤을 사용해 Workspace에 저장할 수도 있고, PCB CoDesign 패널에서 Save to Server 버튼을 사용해 저장할 수도 있습니다.

  • PCB 문서는 새 충돌이 발생하기 전까지 Merged 상태로 유지됩니다. 로컬에서 변경 사항을 저장해도 상태가 Modified(으)로 바뀌지는 않습니다.

  • 현재 PCB CoDesign 패널에 비교 결과가 표시되어 있는 동안 다른 사용자가 프로젝트를 Workspace에 저장하거나 사용자가 PCB를 로컬에서 수정하면, 비교를 업데이트해야 한다는 알림이 PCB CoDesign 패널에 표시되며 비교 데이터를 새로 고치는 버튼이 함께 제공됩니다.

     

  • PCB CoDesign 패널의 Save to Server 버튼 또는 Projects 패널의 Merged 아이콘에서 Save to Server 명령을 사용할 때, 표시되는 Save to Server 대화상자에서 기본적으로 Workspace에 저장 대상으로 선택되는 것은 병합된 PCB 문서뿐이라는 점에 유의하십시오. Merged 상태의 문서는 Save to Server 대화상자에서 항상 Workspace 저장이 활성화되어 있으며 비활성화할 수 없습니다. 필요에 따라 Workspace에 저장할 다른 문서를 선택하십시오.

  • Git 버전 관리 관점에서 보면 Merged 상태는 여전히 충돌이며, 프로젝트를 Workspace에 저장한 후에 해결됩니다(충돌 병합 시 Git이 동작하는 방식입니다).

  • 성공적으로 병합을 수행한 뒤 패널에 나타나는  버튼을 사용하면 필요 시 병합 결과를 되돌릴 수 있습니다.

충돌 해결

또 다른 작업 방식은 3-way 비교로, 다른 사람이 보드에서도 작업 중일 때 사용합니다. 예를 들어, 사용자와 동료 Bob이 Workspace에서 보드 사본을 체크아웃했다고 가정해 보겠습니다. 두 사람은 각자 자신의 보드 사본에서 부품 배치와 라우팅 작업을 진행합니다. Bob은 자신이 담당한 보드 영역을 완료한 뒤 Workspace에 저장합니다. 동시에 사용자는 보드의 자신의 영역에서 작업을 계속하고 변경 사항을 로컬에 저장합니다. 이로 인해 충돌 상황이 발생하며, 이는 PCB CoDesign 패널에서 처리할 수 있습니다.

비교를 시작하려면 Projects 패널에서 Conflict Prevention () 또는 Conflict Detected () VCS 상태 아이콘을 클릭한 다음, 표시되는 메뉴에서 각각 Compare To Remote Document Version & Merge 또는 Resolve Conflict: Compare To Remote Document Version & Merge 명령을 선택하거나 PCB CoDesign 패널의 Compare & Merge 버튼을 클릭합니다. 비교가 완료되면 감지된 차이점 목록이 패널에 표시되며, 감지된 충돌은 패널 하단에 나열됩니다.

PCB CoDesign 패널에 나열된 충돌에서 PCB 편집기 설계 공간으로 크로스 프로빙할 수 있습니다.

  • PCB CoDesign 패널의 목록에서 카테고리를 클릭하면 해당 카테고리의 충돌이 설계 공간에서 강조 표시됩니다.

  • PCB CoDesign 패널의 목록에서 특정 충돌을 클릭하면 해당 충돌만 설계 공간에서 강조 표시됩니다.

  • Shift+Click 및/또는 Ctrl+Click 기법을 사용하여 패널에서 여러 항목을 선택할 수 있습니다.

감지된 각 충돌 또는 특정 카테고리의 모든 감지된 충돌에 대해, 로컬 변경 사항(Local)을 적용할지 또는 Workspace의 최신 커밋 변경 사항(Remote)을 적용할지 선택할 수 있습니다. 또한 현재 선택된 모든 변경 항목에 원하는 설정을 빠르게 적용할 수도 있습니다. 이를 위해 Shift+Click 및/또는 Ctrl+Click 기법으로 필요한 항목을 선택한 다음, 선택 항목 중 하나에 대해 원하는 설정을 선택하십시오. 또는 감지된 충돌 영역 상단의 배너 영역에 있는 드롭다운을 사용하여 모든 감지된 충돌에 대해 한 번에 원하는 모드를 선택할 수 있습니다.

  • 충돌하는 폴리곤 포어의 경우, 두 개의 충돌 객체를 하나의 폴리곤 포어(Combined)로 결합할 수도 있습니다. 

  • 충돌하는 구리 객체의 경우, 각 핀-투-핀 연결에 대해 로컬 변경 또는 원격 변경 중 무엇을 적용할지 선택할 수 있습니다.

Up Arrow / Down Arrow 키를 사용하여 충돌 목록을 탐색할 수 있습니다. Left ArrowRight Arrow 키를 사용하여 선택된 충돌의 모드(Combined/Local/Remote)를 전환합니다. 충돌 카테고리가 선택되어 있을 때는 Spacebar 을(를) 눌러 확장/접기를 전환합니다.

모든 충돌에 대해 원하는 모드를 선택한 후, 변경 사항을 PCB 문서의 로컬 사본에 병합할 수 있습니다.

  • 폴리곤 포어를 병합하면서 Combined 또는 Remote 옵션을 선택하는 경우, 병합된 폴리곤은 리포어가 필요하다는 점에 유의하십시오(예: 설계 공간에서 폴리곤을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 Polygon Actions » Repour Selected을(를) 선택하여 수행 가능). Preferences 대화상자의 PCB Editor – General page에서 Repour Polygons After Modification 옵션이 활성화되어 있으면, 병합 후 폴리곤 포어가 자동으로 리포어됩니다.

  • 감지된 충돌을 나열할 때 다음 속성은 무시됩니다:

    • 폴리곤 포어의 PourIndex 속성.

    • 부품의 ChannelOffset 속성.

    • 규칙의 RulePriority 속성.

AI-LocalizedAI로 번역됨
만약 문제가 있으시다면, 텍스트/이미지를 선택하신 상태에서 Ctrl + Enter를 누르셔서 저희에게 피드백을 보내주세요.
기능 제공 여부

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

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

구버전 문서

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

콘텐츠