ECO to PCB 란 무엇인가
회로도(schematic)와 기판은 같은 설계의 두 표현이다. 회로도는 무엇을 잇는지 정하고, 기판은 그것을 어디에 배치할지 정한다. 두 표현은 서로 다른 파일에 서로 다른 자료 구조로 존재하므로, 한쪽을 고치면 다른 쪽은 자동으로 따라오지 않는다.
ECO(Engineering Change Order)는 그 격차를 명시적인 절차로 좁힌다.
어긋남을 목록으로 만들어 설계자가 확인한 뒤 반영한다.
1. 해결하는 문제
섹션 제목: “1. 해결하는 문제”부품 하나를 회로도에서 지운 뒤 기판을 고치지 않으면, 기판에는 그 부품과 트랙(track)이 그대로 남는다. 어느 파일도 오류를 내지 않는다 — 두 파일은 각자 정합하고, 틀린 것은 둘 사이의 관계뿐이다.
| 어긋남 | 발견되는 시점 |
|---|---|
| 회로도에서 지운 부품이 기판에 남아 있다 | 조립 후 · BOM 과 실장 결과 대조 |
| 회로도에서 더한 부품이 기판에 없다 | 시제품 · 최악의 경우 필드 |
| 연결이 바뀌었는데 트랙이 옛 넷을 잇고 있다 | 동작 불량 — 도면상으로는 정상이다 |
| 참조 지정자(reference designator)가 두 파일에서 다르다 | 수리 · 검사 공정 |
이 목록의 공통점은 늦게 발견된다는 것이다. ECO 는 발견 시점을 설계 단계로 끌어온다.
2. 목적
섹션 제목: “2. 목적”| 목적 | 내용 |
|---|---|
| 단일 진실의 유지 | 연결의 진실을 회로도 한 곳에 둔다. 기판은 그 결과를 담는다 |
| 변경의 명시화 | 무엇이 더해지고 지워지고 바뀌는지 적용 전에 목록으로 본다 |
| 적용의 자동화 | 부품·넷을 설계자가 다시 입력하지 않는다. 옮겨 적는 과정에서 오류가 들어가지 않는다 |
| 대응의 유지 | 심볼(symbol)과 기판 부품의 대응을 이름이 아니라 식별자로 유지한다 |
| 검증 | 반영한 뒤 다시 대조해 남은 차이가 없음을 수로 확인한다 |
| 이력 | 언제 무엇을 반영했는지 기록으로 남긴다 |
3. 두 방향
섹션 제목: “3. 두 방향”| 축 | 정방향 — 회로도 → 기판 | 역방향 — 기판 → 회로도 |
|---|---|---|
| 옮기는 것 | 부품 · footprint · 넷 · 참조 지정자 · value · 필드 | 참조 지정자 중심 |
| 근거 | 연결은 회로도가 정한다 | 배치 순서로 번호를 다시 매기는 일은 기판에서만 판단된다 |
| 빈도 | 설계 내내 반복 | 배치가 끝난 뒤 한두 번 |
4. 다섯 단계
섹션 제목: “4. 다섯 단계”| 단계 | 하는 일 | 기판이 바뀌는가 |
|---|---|---|
| ① 수집 | 프로젝트에 등록된 모든 회로도에서 부품을 모은다. 계층 시트도 따라 내려간다 | 아니오 |
| ② 검사 | footprint 를 라이브러리에서 찾고, 핀 번호와 패드 번호를 대조한다 | 아니오 |
| ③ 대조 | 대상 기판의 부품과 견주어 부품마다 마크를 낸다 | 아니오 |
| ④ 실행 | 마크를 정해진 순서로 적용한다 | 예 |
| ⑤ 검증 | 다시 대조해 남은 마크를 센다. 전부 0 이어야 정상이다 | 아니오 |
①~③ 은 조회다. 결과를 확인하고 닫아도 기판은 그대로다. 실행을 지시하는 지점이 따로 있고, 그때까지는 몇 번을 다시 검사해도 안전하다.
수집이 프로젝트 단위라는 점이 중요하다. 회로도 한 장이 아니라 프로젝트에 등록된 회로도 전체가 입력이므로, 계층 회로도로 나눈 설계도 한 번에 반영된다.
5. 심볼과 기판 부품을 잇는 것
섹션 제목: “5. 심볼과 기판 부품을 잇는 것”동기화의 실질은 “회로도의 이 심볼이 기판의 어느 부품인가” 를 잃지 않는 것이다. 참조 지정자만으로
대응시키면 이름을 바꾸는 순간 대응이 끊긴다 — R7 을 R5 로 고치면 도구는 R7 이 지워지고
R5 가 새로 생겼다고 판정한다.
그래서 대응은 두 단계로 찾는다.
| 순서 | 기준 | 결과 |
|---|---|---|
| 1 | 기판 부품이 든 심볼 식별자 | 이름이 달라도 같은 부품이다 → 이름 변경으로 처리한다 |
| 2 | 식별자가 없으면 참조 지정자 | 옛 자료나 다른 도구에서 온 기판을 위한 폴백이다 |
식별자로 대응된 부품의 이름이 다르면 삭제와 추가가 아니라 이름 변경이다. 이 구분이 배치와 배선을 지킨다 — 삭제와 추가로 처리하면 그 부품의 위치·회전·트랙이 사라진다.
6. ECO 가 하지 않는 것
섹션 제목: “6. ECO 가 하지 않는 것”| 하지 않는 것 | 이유 |
|---|---|
| 배치 | 새 부품은 보드 원점(origin)에 배치된다. 어디에 배치할지는 설계 판단이다 |
| 배선 | 패드에 넷을 배정할 뿐 배선하지 않는다. 미배선 연결은 ratsnest 로 표시된다 |
| 옛 배선의 정리 | 넷이 바뀌어도 이미 배선한 트랙은 남는다. 걷어 낼지는 설계자가 판단한다 |
| 라이브러리 수정 | footprint 를 찾지 못하면 오류로 답한다. 만들어 내지 않는다 |
| 회로의 판정 | 연결이 옳은지 보지 않는다. 그것은 검사(ERC)의 일이다 |
| 회로도 수정 | 정방향에서는 회로도를 건드리지 않는다 |
7. 실행 시점
섹션 제목: “7. 실행 시점”| 시점 | 이유 |
|---|---|
| 회로도 초안이 끝났을 때 | 첫 반영 — 부품이 전부 기판으로 간다 |
| 변경할 때마다 | 한 번에 쌓아 두면 어느 변경이 무엇을 깨뜨렸는지 판정하지 못한다 |
| 배치 전 | 부품 수와 footprint 가 확정되어야 배치를 시작할 수 있다 |
| 배선 전 | 넷이 확정되어야 배선이 헛되지 않는다 |
| 제조 출력 전 | 마지막 대조 — 남은 마크가 0 인지 확인한다 |
작게 자주 반영한다. 변경 하나가 낳은 마크는 판정할 수 있고, 서른 개가 뒤섞인 마크는 그렇지 않다.
8. ImEDA 에서의 ECO to PCB
섹션 제목: “8. ImEDA 에서의 ECO to PCB”| 축 | 내용 |
|---|---|
| 진입 | 프로젝트 관리자에서 ECO to PCB 를 실행한다 |
| 방향 | 정방향(회로도 → 기판) 이 구현되어 있다. 역방향은 이름만 예약되어 있고, 요청하면 오류로 답한다 |
| 대상 선택 | 프로젝트의 기판 파일이 여럿이면 목록에서 고른다. 하나도 없으면 새 PCB 로 표시되고 실행은 꺼진다 |
| 표 | 부품마다 마크 · 참조 지정자 · value · footprint · 핀/패드 수를 보여 준다 |
| 요약 | add · replace · unchanged · delete · error 의 수를 함께 표시한다 |
| 넷 | 넷 이름 · 동작 · 핀 수를 두 번째 표로 보여 준다 |
| 대상의 상태 | 기판에 배치된 부품 수를 수 그대로 표시한다. 0 을 “빈 기판” 으로 바꿔 적지 않는다 |
| 닫힌 대상 | 열고 적용할지, 열지 않고 파일에 바로 쓸지 고른다 — 시나리오 §9 |
| 되돌리기 | 열려 있는 기판에 적용하면 실행 한 번이 되돌리기 한 칸이다 |
| 다시 검사 | 대상을 바꾸면 즉시 다시 검사한다. 실행은 창을 띄운 시점이 아니라 지금의 회로도로 돈다 |
9. 확정 전 점검 항목
섹션 제목: “9. 확정 전 점검 항목”| 축 | 확인 |
|---|---|
| 진실 | 연결을 기판에서 고친 곳이 없는가 |
| 대상 | 반영할 기판을 바르게 골랐는가 |
| 마크 | error 행을 남긴 채 실행하지 않았는가 |
| 마크 | 뜻밖의 delete 가 없는가 — 대응이 끊겼다는 신호일 수 있다 |
| 넷 | 넷 변경 수가 예상과 맞는가 |
| 검증 | 실행 뒤 남은 마크가 0 인가 |
| 배선 | 넷이 바뀐 자리의 옛 트랙을 처리했는가 |
| 배치 | 보드 원점에 쌓인 새 부품을 배치했는가 |