PCB 역설계 지원

개요

Altium Designer에서 CAM 파일로 PCB를 역설계하려면 데이터를 가져오는 것 이상의 작업이 필요합니다. 이 문서에서는 설계를 PCB Editor로 전송하는 데 필요한 준비 과정을 살펴봅니다. 여기에는 레이어 할당, 보드 스택업, 드릴 세트, 넷리스트 추출, 보드 외곽선 및 폴리곤 처리가 포함됩니다. 계속 읽고 PCB 내보내기를 위해 CAM 데이터를 준비하는 데 도움이 되는 단계를 알아보세요.

- ODB++, Gerber 및 NC Drill 데이터를 가져오고 레이어 유형, 물리적 레이어 순서 및 드릴 세트를 확인하는 방법을 알아보세요.
- 연결 정보를 추출하고 IPC-D-356 넷리스트를 사용하여 네트 이름을 복원하고 넷리스트를 비교하는 방법을 이해해 보세요.
- 닫힌 보드 외곽선과 분할 평면의 요구 사항 및 폴리곤 내보내기 옵션을 알아보세요.
AI로 더 깊이 알아보기:

CAM 데이터를 CAM 문서로 가져오면 현재 CAM Editor 모드(CAM 또는 NC)에 관계없이 Export to PCB 옵션이 회색으로 비활성화되어 있는 것을 볼 수 있습니다. 이 명령을 사용하면 CAM 파일에서 PCB 레이아웃을 직접 역설계할 수 있습니다. 이 작업은 일반적인 내보내기/가져오기 프로세스를 따르지 않고 PCB Editor로 데이터를 직접 로드합니다.

다음 섹션에서는 CAM 데이터를 CAM 문서로 처음 가져오는 단계부터 내보내기 전 필수 준비 작업을 거쳐 최종적으로 설계 데이터를 PCB Editor로 내보내기까지, CAM 데이터에서 PCB 설계를 역설계하는 데 필요한 단계를 자세히 설명합니다.

데이터 Import

Preferences  대화 상자Preferences 대화 상자

전체 프로세스는 ODB++ 파일 또는 Gerber 및 NC Drill 파일을 새 CAM 문서로 로드하는 것에서 시작합니다. IPC 넷리스트가 있다면 Gerber 및 NC Drill 데이터를 가져올 때 함께 가져와야 합니다. ODB++를 가져올 때는 ODB++ 디렉터리에 넷리스트가 없는 경우에만 IPC 파일을 가져오십시오. IPC 넷리스트를 사용하면 추출된 네트의 이름을 원래 이름으로 업데이트하고, 스루홀 비아와 컴포넌트에 속하지 않는 독립 패드를 구분할 수 있습니다.

File » Import 하위 메뉴의 명령은 모두 지정된 폴더 내에서 특정 확장자를 가진 파일을 검색합니다. 예를 들어 드릴 파일을 가져올 때는 지정된 디렉터리에서 .DR*, .ROU, .RTE, *.NC*, *.TX* 확장자를 가진 파일만 표시되도록 필터링됩니다. 이와 다른 확장자의 드릴 파일을 받은 경우 Preferences 대화 상자의 CAM Editor - Miscellaneous 페이지에서 이 목록을 확장할 수 있습니다. 여기에서는 Gerber, Aperture, HPGL 및 Netlist 파일과 관련된 기본 확장자 목록도 변경할 수 있습니다.

Preferences  대화 상자Preferences 대화 상자

Preferences 대화 상자의 CAM Editor - Import/Export 페이지에서는 Gerber 파일의 기본 가져오기 및 내보내기 설정을 변경할 수 있습니다. 예를 들어 P-CAD에서 생성된 CAM 데이터를 정기적으로 받는 경우 좌표 정밀도 형식을 2:3(Altium Designer 기본값)에서 4:4(P-CAD 기본값)로 변경하는 것이 좋습니다. 변경하지 않더라도 작업을 가져올 때마다 이러한 설정을 기본값에서 변경할 수 있습니다.

레이어 유형 할당

 Layer Table Detection Template 대화 상자 Layer Table Detection Template 대화 상자

개별 Gerber 및 Drill 파일은 각각 개별 레이어에 할당됩니다. 또한 CAM Editor는 가져오기 시 파일 이름을 확인하여 각 파일에 레이어 유형을 할당하려고 시도합니다. 이때 메인 메뉴에서 Tables » Layer Type Detection을 선택하여 여는 Layer Types Detection Template 대화 상자의 정보를 기준으로 할당합니다. 이 대화 상자는 완전히 사용자 지정할 수 있으며, 개별 파일을 신호, 네거티브 평면, 외곽선, 드릴 및 임시 레이어(기계적 레이어) 등의 레이어 유형으로 식별하는 데 사용되는 파일 이름의 일부(확장자, 키워드 또는 둘 다)를 포함합니다.

예를 들어 Altium Designer의 PCB Editor는 상단 레이어의 .gtl, 하단 레이어의 .gbl과 같은 확장자로 Gerber 레이어를 구분합니다. 다른 설계 도구에서는 상단 레이어를 .top 파일로, 하단(솔더) 레이어를 .sol 파일로 내보낼 수 있습니다. P-CAD와 같은 일부 도구에서는 사용자가 Gerber 출력 파일 이름을 직접 지정할 수 있습니다.

CAM 파일 그룹을 가져온 후 Layers Table 대화 상자를 열어 자동으로 할당된 유형을 검토할 수 있습니다. 유형 드롭다운 목록을 열어 할당을 변경할 수 있습니다. 예를 들어 모든 드릴 파일의 유형이 자동으로 Drill Top으로 설정되는 것을 볼 수 있습니다. 이 단계에서 상단, 하단 및 내부 드릴 세트를 구분할 수 있지만, 필수 사항은 아닙니다.

 Layer Table  대화 상자 Layer Table 대화 상자

레이어 유형이 자동으로 올바르게 할당되지 않는 Gerber 또는 드릴 파일을 자주 받는 경우, CAM Editor에서 해당 파일을 식별할 수 있도록 파일 이름에 구별되는 특징이 있는지 확인하고 이를 Layer Types Detection Template 대화 상자에 추가해야 합니다. ODB++는 각 레이어를 식별하는 데 필요한 모든 정보가 매트릭스 파일에 저장되어 있으므로 Layer Types Detection Template 대화 상자를 사용할 필요가 없습니다. 하지만 로드 프로세스가 끝난 후 레이어 유형 할당을 확인하는 것이 좋습니다.

보드 적층 구조 및 드릴 세트

Create/Update Layers Order  대화 상자 Create/Update Layers Order 대화 상자

신호 유형(상단, 하단 또는 내부)이나 평면으로 할당된 레이어는 이제 메인 메뉴에서 Tables » Layers Order을 선택하여 여는 Create/Update Layers Order 대화 상자에 표시됩니다. 대부분의 경우 CAM Editor에서 제공된 CAM 데이터를 바탕으로 적층 구조를 결정할 수 있지만, 경우에 따라 논리적 순서(레이어를 가져온 순서)만 제공되기도 합니다. Layer Physical Order 열의 정보가 올바르며 1번이 상단 레이어인지 확인하는 것이 좋습니다. 서로 다른 레이어에 동일한 순서 번호를 할당하지 않도록 주의하십시오. 유효한 적층 구조를 지정하고 나면 이 대화 상자를 다시 열 때 물리적 순서 열이 논리적 목록보다 우선 적용되며, 레이어가 지정된 적층 구조 순서로 표시됩니다.

이 물리적 순서는 메인 메뉴에서 Tables » Layers Sets을 선택하여 여는 Create/Update Layers Sets 대화 상자에도 동일하게 반영되며, 여기서 드릴 파일을 레이어 세트와 연결합니다. 블라인드 비아와 매립 비아가 모두 있는 6층 보드(신호층 4개, 평면층 2개)를 예로 들어 보겠습니다. 이 설계에는 다음과 같이 네 개의 별도 드릴 파일이 포함될 수 있습니다.

  • Top-Bottom 쌍용 파일(스루홀)
  • Top-InternalPlane1 쌍용 파일
  • MidLayer1-MidLayer2 쌍용 파일
  • Bottom-InternalPlane2 쌍용 파일
단순히 가장 바깥쪽 레이어 쌍이 아니라 드릴 세트를 정의하는 것임을 기억하십시오. 블라인드/매립 드릴 레이어의 경우 드릴 가공되는 모든 레이어가 레이어 세트에 포함되어야 합니다. 스루홀 드릴 레이어의 경우 시작 레이어와 끝 레이어만 지정하면 됩니다.

넷리스트 추출

메인 메뉴에서 Tools » Netlist » Extract을 선택하여 실행하는 이 단계는 앞선 단계가 정확하게 수행되었는지에 따라 달라집니다. 보드의 모든 레이어에 레이어 유형이 할당되어 있지 않으면 이 단계를 실행할 수 없습니다(기계적 레이어는 Temporary로 설정해야 합니다). 명령을 실행하면 넷리스트 정보가 추출되고, 네트 목록이 CAMtastic 패널의 Nets 탭에 나타납니다. 각 네트는 총 길이와 함께 나열됩니다. 패널에서 네트 항목을 클릭하면 해당 네트가 선택되고 설계 공간에서 확대 표시됩니다.

CAM Editor는 NC 드릴 파일을 참조하여 레이어 간 연결을 확인하면서 한 레이어에서 다른 레이어로 이어지는 연결 관계를 추적합니다. 따라서 Create/Update Layers Order 대화 상자에서 정의한 레이어 적층 구조와 Create/Update Layers Sets 대화 상자에서 선택한 드릴 쌍은 CAM 데이터에서 정확한 넷리스트를 추출하기 위한 중요한 사전 조건입니다.

가져온 Gerber 및 NC Drill 파일에 IPC-D-356 넷리스트 파일을 포함한 경우, 기본 메뉴에서 Tools » Netlist » Rename Nets을 선택하여 원래의 의미 있는 Net 이름을 복원할 수 있습니다. 명령을 실행하면 Net을 비교하고, 현재 문서에서 추출된 Net의 이름을 IPC 넷리스트 파일의 Net 이름으로 변경합니다. 업데이트된 이름은 CAMtastic Panel의 Nets 탭에 표시됩니다.

IPC-D-356 넷리스트 정보는 Export에 필수는 아니지만, 포함하는 것이 좋습니다. 이 정보가 있으면 CAMtastic Editor가 패드와 비아를 구분하는 데 도움이 되므로, 설계에 블라인드 비아나 매립 비아가 있을 때 패드가 아닌 비아가 올바르게 생성됩니다. 하지만 더 중요한 점은, IPC 넷리스트가 기본 메뉴에서 Tools » Netlist » Compare을 선택할 때 추출된 넷리스트와 비교할 수 있는 기준을 제공한다는 것입니다. 명령을 실행하면 비교가 수행되고 Netlist-Compare.rpt 보고서가 생성되어 기본 설계 창에서 활성 문서로 열립니다. 이 보고서에는 가져온 넷리스트에는 있지만 추출된 넷리스트에는 없는 Net이 모두 나열됩니다.

Protel 형식의 넷리스트는 지원되지 않습니다. 가져오는 넷리스트는 표준 IPC-D-356 형식이어야 합니다.

IPC 넷리스트를 올바르게 가져왔다면 CAMtastic Panel의 레이어 목록에 <fabrication_testpoint_report_for_DesignName>.ipc_t 및 <fabrication_testpoint_report_for_DesignName>.ipc_b 레이어가 추가된 것을 볼 수 있습니다. 이 두 레이어는 상단 및 하단 Signal 레이어의 넷리스트 정보를 나타냅니다. (PCB 설계에 내부 Signal 레이어가 있으면 세 번째 레이어인 <fabrication_testpoint_report_for_DesignName>.ipc_in이 표시됩니다. 이 레이어와 관련된 블라인드 비아 및/또는 매립 비아가 없다면 세 번째 레이어는 비어 있으며, 레이어 목록에 그대로 두거나 삭제해도 됩니다.)

PCB Editor에서 생성한 IPC 넷리스트의 경우, CAM Editor의 비교 기능은 대개 이름이 없는 일련의 "누락된 Net"을 찾습니다. 이는 PCB Editor의 IPC 형식에 싱글 핀 Net이 포함되기 때문입니다. 반면 CAM Editor는 넷리스트를 처리할 때 구리 연결이 없는 패드를 무시합니다. 실제로 DRC에는 비기능 패드를 제거하는 옵션이 있습니다.

현재 문서에서 모든 Net을 지워 이전에 추출한 넷리스트를 비우려면 기본 메뉴에서 Tools » Netlist » Clean All Nets 명령을 선택합니다. 명령을 실행하면 모든 Net 정보가 제거됩니다. CAMtastic Panel을 사용하여 CAM 문서에서 모든 Net이 지워졌는지 확인할 수 있습니다. Nets 탭이 비어 있는 것을 볼 수 있습니다.

경계 및 플레인

CAM Editor에서 PCB 파일을 PCB Editor로 Export하면 보드 Outline이 자동으로 생성됩니다. 이를 올바르게 수행하려면 Border 유형 레이어에 닫힌 폴리라인이 있어야 합니다. 이 레이어에서 닫힌 폴리라인을 찾을 수 없거나 Layers Table 대화상자에서 여러 레이어를 경계로 지정한 경우, 원하는 보드 형상을 얻지 못할 수 있습니다.

내부 플레인의 분할 영역 역시 닫힌 폴리라인으로 정의해야 합니다. 폴리라인이 닫혀 있는지 확인하려면 해당 폴리라인을 조회합니다(Q 단축키). 전체 폴리라인이 강조 표시되는지, CAM Panel의 Info 탭에서 닫힌 폴리라인으로 보고되는지 확인할 수 있습니다. 그렇지 않다면 Edit » Objects 하위 메뉴의 Join 명령을 사용하여 현재 형상을 닫힌 폴리라인으로 변환할 수 있습니다.

분할 플레인 영역은 각 분할 영역마다 자체적인 "버블" 형태의 폐곡선이 필요하므로 추가 작업이 필요할 수 있습니다. 아일랜드 플레인은 위에서 설명한 대로 결합할 수 있지만, 다른 분할 영역이나 경계 폴리라인과 Outline을 공유하는 분할 플레인은 다시 그려야 합니다. 닫힌 폴리라인을 직접 그리려면 마지막 꼭짓점을 선택한 후 마우스 오른쪽 버튼을 클릭하고 Close을 선택합니다.

중첩 플레인(분할 플레인 내부의 아일랜드)은 현재 지원되지 않습니다.

폴리곤 Export

Preferences 대화상자의 CAM Editor - Import/Export 페이지에서는 CAM 문서의 폴리곤을 PCB 문서로 Export하는 방식을 제어하는 추가 옵션을 제공합니다. 폴리곤이 직사각형인 경우 PCB 문서에서 Fill로 생성할 수 있습니다. 직사각형이 아닌 폴리곤의 경우 PCB Editor에서 해치형 또는 솔리드 폴리곤 푸어를 생성할 수 있습니다. 이 두 폴리곤 푸어 유형의 옵션 대화상자에 액세스할 수 있으므로, Export한 폴리곤이 PCB 측에서 처리되는 방식을 더욱 세밀하게 제어할 수 있습니다.

Create Hatched Polygons 옵션을 활성화하면 CAM Editor은 하나의 Grid 크기와 하나의 Track 폭을 사용하여 파일의 모든 폴리곤을 채웁니다. CAM 데이터에 매우 작은 폴리곤이 포함되어 있다면 Export 옵션을 해당 크기에 맞게 충분히 작게 조정해야 합니다.

관련 Hatched Polygon Options 버튼을 클릭하여 여는 Polygon Options 대화상자에서는 폴리곤의 Grid 크기, Track 폭 및 최소 프리미티브 길이를 수정할 수 있습니다. 폴리곤을 높은 정확도로 완전히 채우려면 이 값들을 모두 보드에서 요구되는 최소 치수에 가까운 좁은 범위로 유지해야 합니다. 그렇지 않으면 폴리곤 내부에 빈 공간이 생기거나, 완전히 채워지는 대신 해치 패턴이 나타나거나, 심지어 Export 시 폴리곤 전체가 누락될 수 있습니다.

Polygon Options 대화상자Polygon Options 대화상자

반면 이러한 값은 Export되는 모든 폴리곤에 적용되므로, 값을 매우 작게 설정하면 Export된 파일의 용량이 커지고 관련 관리 문제(예: 다시 그리기 속도)가 증가합니다. 따라서 보드의 모든 폴리곤에 필요한 정확도를 유지할 수 있는 범위에서 가능한 한 큰 값을 사용하는 것이 좋습니다.

Create Solid Polygons 옵션을 활성화하면 각 폴리곤이 하나 이상의 솔리드 구리 영역으로 채워집니다. 사용되는 구리 영역의 수는 Track 및 패드와 같은 기존 Net 객체에 의해 폴리곤 내부에 형성되는 개별 영역의 수에 따라 달라집니다.

Solid Polygon Options 대화상자Solid Polygon Options 대화상자

관련 Solid Polygon Options 버튼을 클릭하여 여는 Solid Polygon Options 대화상자에서는 구리 아일랜드와 폭이 좁은 구리 Net의 처리 방식뿐 아니라, 구리 푸어와 동일한 Net에 속하는 Net 객체 위에 푸어를 적용할 때의 동작도 지정할 수 있습니다.

  • Pour Over All Same Net Objects - 폴리곤 푸어를 해당 푸어와 동일한 Net의 모든 객체에 자동으로 연결하려면 이 옵션을 선택합니다.

  • Pour Over Same Net Polygons Only - 폴리곤 푸어를 해당 경계 안에 있으며 동일한 Net에 속하는 폴리곤 푸어 객체에만 자동으로 연결하려면 이 옵션(Default)을 선택합니다.

  • Don't Pour Over Same Net Objects - 폴리곤 푸어를 다른 Net 객체에 연결하지 않으려면 이 옵션을 선택합니다. 처음 두 옵션 중 하나를 선택하고 폴리곤 푸어를 No Net에 할당하면, Net 할당에 관계없이 모든 객체를 피해 푸어가 적용됩니다.

  • Export to PCB 명령을 실행하여 보드를 생성하면 폴리곤은 Outline으로 형성되므로 다시 푸어해야 합니다. 

  • CAM 파일에 정의된 각각의 다각형 영역은 개별 폴리곤이 됩니다. 폴리곤 관리자를 사용하여 폴리곤이 정의된 방식과 위치를 확인하세요. 기존 폴리곤의 경계를 수정할 수도 있습니다. 이 방법을 사용하면 큰 기존 폴리곤을 닫아 여러 개의 작은 폴리곤을 대체하는 것이 더 쉬울 수 있습니다().

PCB로 Export

CAM 데이터에서 넷리스트가 추출되면 File » Export » Export to PCB 명령이 활성화됩니다. 필요한 모든 단계를 완료한 후 이 명령을 실행하면 원본과 매우 유사한 보드 설계가 포함된 PCB 문서가 생성됩니다.

명령을 실행하면 새 PCB 문서가 생성되고(<CAMDocumentName>.PcbDoc), 설계 공간에서 활성 문서로 열립니다. CAM 문서와 PCB 문서 간에 정보가 전송되는 실제 순서는 다음과 같습니다.

  1. CAM 문서의 현재 보드 크기를 기준으로 보드 Outline이 있는 PCB 문서가 생성됩니다.

  2. CAM 문서에서 추출한 Net 정보를 사용하여 PCB 문서에 Net 객체가 생성됩니다.

  3. CAM 문서에 정의된 Physical 레이어 순서를 기준으로 레이어 스택업이 생성됩니다(Tables »  Layers Order를 통해 액세스하는 Create/Update Layers Order 대화상자).

  4. 모든 내부 플레인에 Net이 할당됩니다.

  5. 존재하는 모든 분할 플레인에 Net이 할당됩니다. 이러한 분할 플레인은 

  6. 클리어런스, 너비 및 전원 플레인 연결 스타일 설계 규칙이 생성됩니다. 각 플레인 Net에 대해 릴리프 연결이 생성됩니다.

  7. CAM 데이터에서 패드스택이 구성됩니다(Physical 순서에 따라 Signal/플레인 레이어의 패드를 사용한 다음 드릴, 마스크, Paste 등을 사용). 패드스택이 PCB에 로드되고 필요한 스타일이 정의됩니다(단순 또는 전체 패드스택).

  8. PCB 트랙이 생성됩니다.

  9. 전체 보드에 대해 DRC 검사가 수행됩니다.

  • Export to PCB 명령은 PCB API를 사용하여 CAM 문서에서 PCB 문서로 데이터를 전송합니다. 이 방식에서는 Gerber 또는 기타 형식의 데이터 파일이 내보내지지 않으므로 PCB Editor의 Gerber Importer를 사용할 필요가 없습니다.

  • 생성된 PCB 문서는 PCBs 하위 폴더 아래의 자유 문서로 Projects panel에 추가됩니다. 문서는 생성되지만 처음에는 저장되지 않은 상태입니다.

  • 보드를 실제로 재구성하려면 컴포넌트 프리미티브를 풋프린트로 교체하는 등의 추가 작업이 여전히 필요합니다(프리미티브 그룹을 복사하여 PCB 라이브러리에 붙여 넣은 다음 원본을 새 풋프린트로 교체하는 방식으로 수행할 수 있습니다). PCB Editor는 CAM 문서의 Layer Sets 정보를 바탕으로 드릴 쌍을 자동 생성하지 않으므로, Layer Stack Manager에서 수동으로 다시 정의해야 합니다. 

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

사용할 수 있는 기능은 보유한 Altium 솔루션(Altium Develop, Altium Agile Teams, Altium Agile Enterprise, 또는 Altium Designer(활성 기간 중))에 따라 달라집니다.

실제 소프트웨어에서 문서화된 기능이 보이지 않는 경우, Altium 영업팀에 문의하여 자세한 내용을 확인하세요.

구버전 문서

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

Contents