Gerber파일의 Verification
검사방법
원본 Gerber파일과 수정된 Gerber파일의 비교 검사에는 다음과 같은 방법이 있겠다.
비교적 원시적인 방법으로 사용자가 수작업에 의해서 2개의 파일의 차이점을 찾아내는 방법을 그대로 프로그램이 대신하는 방법이다. 그러나 아직 구체적으로 현존하는 프로그램이 있는지 파악이 되지 않고 있다. Graphic적인 비교 방법이기 때문에 Copper의 모양이 틀린 부분도 쉽게 찾을 수 있다.
Vender가 Netlist를 제공하여 준다면 아주 확실하게 검사를 할 수 있다. 그러나 문제는 Vender가 어떠한 형식의 Netlist를 줄 것인가가 문제이다. CAM350에서는 IPC-D-356(국제 표준 형식의 Netlist)형식의 Netlist만 지원하는 문제가 있다. 이러한 문제점 때문에 별도의 전용 프로그램을 사용하는 경우가 많다.
2번의 항목에서 제공하는 Netlist가 지원되지 않을 경우에 원본 파일에서 Netlist를 추출하여 그 데이터를 기준으로 수정된 파일을 검사하는 방법이다. 그러나 이 방법에도 문제가 있다. 먼저 원본 파일에서 Netlist를 추출할 때에 정확한 Netlist가 만들어져야 한다. 그렇지 않으면 수정된 파일의 오류를 발견하지 못할 수 있다.
원본 파일에서 Netlist 출력 후 수정된 데이터와 비교하는 방법
여기서는 3번의 항목의 검사 방법을 이용하여 보도록 한다. 단 주의해야 할 부분은 원본 파일의 기준점(0,0)과 수정 파일의 기준점(0,0)이 동일해야 한다. 가장 편한 방법은 두개의 파일에서 같은 지점으로 판단되는 Pad로 0,0로 이동시키는 방법이 가장 편리하겠다.
우선 먼저 원본 Gerber파일에서 Netlist를 추출한 다음 만들어진 Netlist를 저장하는 방법을 알아보자. Netlist를 만드는 방법은 뒷부분에 설명이 되어 있다.
Netlist의 추출이 완료되면 File>Export>Netlist명령을 선택하면 다음 그림과 같은 대화상자가 나타난다.
그림과 같이 설정하고 하단의 OK버튼을 누르면 파일의 이름을 물어오는데 적당한 이름을 부여하자.
다음은 수정된 파일에서 Netlist을 만든다.(뒷부분 참고) Netlist가 만들어 졌으면 원본 파일에서 제작된 Netlist를 읽는 과정이 남아 있다. File>Import>Netlist명령을 선택하면 오른쪽의 그림과 같은 대화상자가 나타난다.
설정 내용을 그림과 같이 설정한 다음 하단의 OK버튼을 누르고 읽고자 하는 파일의 이름을 넣으면 된다.
여기서 만일 원본과 수정본이 다른 경우에 Error가 발생되며 발생된 Error는 레포트로 나타난다.
Layer Align(Layer정렬)
두개 이상의 Layer가 서로 틀어져(영점이 틀린 경우) 있는 경우에 서로 맞추어 주는 방법이다. 이 방법을 이용하려면 반드시 기준 포인트가 필요하다. 여기서 기준 포인트란 2장의 필름을 눈으로 보고 맞추기 위한 것으로 보면 된다. 하지만 꼭 기준 포인트로 하지 않고 Pad를 이용하여 할 수도 있다. 또는 기판의 외곽선을 이용할 수도 있다.
위의 그림은 1번 Layer와 2번 Layer가 서로 틀어져 있는 것을 볼 수 있다. 이것을 정렬하는 작업을 해보자 우선 기준점을 선택해야 한다. 기준점은 앞에서 말한 기준 포인트나 Pad, 외곽선 등이 해당된다. 그런데 위의 그림은 기준점으로 Pad를 선택하는 것이 편리하기 때문에 기준점을 Pad로 설정하였다.
메뉴에서 Edit>Layers>Align명령을 선택하면 화면 하단에 "[ALIGN LAYERS]:Select alignment point, Rt.Btn to commit"라는 메시지가 나타난다. 기준점을 마우스로 클릭(왼쪽 버튼)하고 선택한 기준점이 맞다면 오른쪽 버튼을 누른다. 만일 선택한 기준점이 선택되지 않고 다른 부분이 선택되었다면 그대로 새로운 기준점을 선택한다. 마우스의 오른쪽 버튼을 한번 누를 때 까지 계속하여 기준점을 선택할 수 있도록 되어 있다.
기준점의 선택이 완료되어 마우스의 오른쪽 버튼을 눌렀다면 이번에는 대상지점이 될 부분을 마우스로 클릭한다. 앞의 경우와 같이 잘못 선택이 되었다면 오른쪽 버튼을 누를 때 까지 계속하여 대상지점을 선택할 수 있도록 되어 있다. 대상 지점의 선택이 올바르게 되었으면 마우스의 오른쪽 버튼을 누른다.
계속하여 기준점으로 이동할 대상Layer가 추가로 더 있다면 그 Layer의 대상지점을 선택한다. 방법은 동일하게 맞게 선택되었으면 오른쪽 버튼을 누른다.
최종적으로 모두 선택이 완료되었으면 완료의 의미로 마우스의 오른쪽 버튼을 한번 더 누른다.
위의 그림과 같은 메시지가 나타나면 "확인"버튼을 누른다. 주의사항은 한번 정렬한 Layer는 실행취소가 되지 않는 점이다.
Netlist Extract(Gerber파일에서 Netlist추출)
Gerber파일에서 Netlist를 추출하기 위해서는 다음의 사항이 준비되어 있어야 된다.
2. Signal Layer에 대해서 Layer의 Type을 지정하여야 된다.
앞의 순서에 준하여 Netlist를 만들어 보도록 하자.
Netlist를 만들기 위해서는 Composite로 합성되어 있는 Layer들을 하나의 Layer로 변환해야 Layer의 Type을 설정할 수 있고 Layer의 Type이 설정되어야 Netlist를 만들 수 있다. 먼저 Composite로 정의되어 있는지를 확인하기 위해서 Tables>Composites명령을 선택하면 위의 그림과 같은 대화상자가 나타난다. 만일 대화상자의 왼쪽의 목록이 바로 Composite로 정의된 이름이 나타나있다. C1, C2등의 이름이 바로 그것이다. 목록이 확인되었으면 메뉴에서 Utilities>Convert Composite명령을 선택한다. 명령을 선택하면 다음과 같은 대화상자가 나타난다.
Composite부분에 C1이라고 되어 있는 부분이 변환하려는 Composite의 이름이고 Target Layer는 변환이 되어 만들어질 Layer의 이름으로 New Layer로 특정 Layer를 지정하거나 New Layer로 설정하여 새롭게 Layer를 만들 수 있다. Accuracy는 변환되는 정밀도라고 보아야 한다. 1로 설정되면 정밀하게 변환되어 지지만 속도가 느리고 4로 설정되면 거칠게 변환되지만 속도는 빠르다.
대화상자의 하단에 OK버튼을 누르면 변환이 된다. 예를 들어 VCC층에 3개의 Layer가 Composite가 되어 있다면 Layer의 Type설정이 애매하다. 따라서 Composite로 된 것을 변환하여 생성된 Layer를 Pos Plane Type으로 설정하여 Netlist를 만들 수 있다.
Gerber파일의 모양을 사용자가 보았을 때에는 눈으로 파악하고 이 Layer가 Signal Layer인지 Silk screen, Board outline인지를 구분할 수 있을 것이다. 그러나 프로그램은 그렇지 못하기 때문에 사용자가 Layer의 종류가 어떤 것인지를 알려주어야 한다.
Tables>Layers명령을 선택하면 아래 그림과 같은 대화상자가 나타난다.
나타난 Layer의 이름에 적절한 Type을 설정하면 된다. 설정이 완료되면 하단의 OK버튼을 누른다.
3. Drill의 참고
Netlist를 만들 때에는 기본적으로 Round Flash가 Top면과 Bottom면에 동시에 같은 위치에 존재하면 그 곳은 Plate로 연결된 것으로 간주 되어 진다. 그러나 이것을 좀더 정확히 하기 위해서 Drill이 필요하다. Drill이 없어도 Netlist는 만들어 지지만 잘못 만들어질 수 있다. 따라서 가급적이면 Drill이 있는 것이 좋다. 또한 UnPlate로 지정된 Drill은 있어도 Netlist에는 영향을 미치지 않는다.
4. Blind & buried via의 설정
내층비아(Blind & buried via)가 사용되었으면 그것에 대한 설정을 해야 한다.
먼저 Tables>Layer Sets>Blind and Buried명령을 선택하면 아래의 그림과 같은 대화상자가 나타난다.
오른쪽의 동그란 표시가 되어 있는 4개의 Layer가 서로 하나의 via로 연결되는 것을 의미하고 하단의 Drill Layer는 4개의 Layer에 만들어질 Drill이 된다. 이 것들을 묶어서 왼쪽의 목록에서 LS1으로 지정된 것이다. 또한 LS2에도 지정이 되어 있을 것이다. 그리고 전체적인 드릴은 아래의 Thru Drill로 지정된다.
이런 설정이 완료되면 하단의 Check버튼을 누른다.
그럼 본격적으로 Netlist를 만들어 보자. 우선 메뉴에서 Utilities>Netlist Extract명령을 선택하면 아래 그림과 같이 대화상자가 나타난다.
그림에서 Allow nets without pads부분에는 Pad가 없는 선만 존재하는 것도 Net로 인식하는 것을 의미한다. 원래의 CAM350에서는 모든 Net는 Pad에서 Pad의 연결을 원칙으로 한다. 따라서 선만 존재하는 것은 Net라고 볼 수 없는데 이 부분을 체크 표시하면 Net로 인식하게 된다.
Single Point Net부분은 앞의 Allow nets without pads와 반대로 선은 없고 Pad만 존재하는 것에 Net로 인식함의 의미한다.
Detected Technology에서는 Blind & buried via를 사용한 경우와 그렇지 않은 경우를 표시하여 준다.
대화상자의 하단에 OK버튼을 누르면 Netlist를 추출하는 작업이 진행된다.
키보드 단축 명령"T"
Transparency기능으로 서로 다른 Layer의 색상이 겹친 부분의 색상을 XOR로 표시하여 준다. 아래의 표는 XOR의 진리표이다.
A |
B |
Y |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
표에서 보듯이 입력 A,B(2개의 Layer의 색상이라고 볼 수 있다)가 모두 1(같은 색상으로 볼 수 있다)이면 출력 Y는 0(화면에 나타나는 색상)이다.
이러한 기능을 이용하여 원본 파일과 수정된 파일을 서로 겹쳐 놓고 같은 색상으로 바꾸어준 다음 T키를 누르면 다른 부분만 화면에 표시될 것이다.