ERC 검사 항목
검사 항목을 알아야 위반(violation)을 판정할 수 있다. 같은 문구의 경고라도 어떤 축에서 나왔는가에 따라 할 일이 다르다. 이 문서는 축별로 항목을 정리하고, 각 항목이 실제로 무엇을 뜻하는지 적는다.
절차와 심각도(severity)는 ERC 란 무엇인가가 소유한다.
1. 연결 축
섹션 제목: “1. 연결 축”| 항목 | 뜻 |
|---|---|
| 미연결 핀 | 그 핀이 아무것과도 이어지지 않았다 |
| 끊긴 배선(routing) 끝 | 배선이 아무 접점에도 닿지 않은 채 끝난다 |
| 떠 있는 배선 | 어느 핀에도 닿지 않는 배선 조각 |
| 미사용 선언 위반 | 미사용으로 선언한 자리에 무언가 이어졌다 |
| 빈 미사용 선언 | 미사용 표시를 두었는데 그 자리에 핀이 없다 |
| 격자(grid)를 벗어난 끝점 | 핀이나 배선 끝이 격자에서 벗어나 닿아 보이지만 닿지 않았다 |
마지막 항목이 눈으로 가장 잡기 어렵다. 화면에서는 이어져 보이고 확대해야 틈이 드러난다. 격자를 지키는 것이 이 결함을 없애는 유일한 방법이다.
2. 핀 타입과 연결 행렬
섹션 제목: “2. 핀 타입과 연결 행렬”핀마다 전기적 타입이 있고, 두 핀이 한 넷에서 만날 때 그 조합이 허용되는지를 행렬이 정한다.
| 타입 | 뜻 |
|---|---|
| 입력 | 값을 받는다 |
| 출력 | 값을 정한다 |
| 양방향 | 때에 따라 둘 다 |
| 트라이스테이트 | 값을 정하거나 손을 뗀다 |
| 수동 | 방향이 없다 — 저항·커패시터의 단자 |
| 전원 입력 | 공급을 받는다 |
| 전원 출력 | 공급을 낸다 — 레귤레이터 출력·전원 심볼(symbol) |
| 오픈 드레인 · 오픈 컬렉터 | 한쪽으로만 끌어당긴다 |
| 미사용 · 미지정 | 쓰지 않음 · 정하지 않음 |
대표적인 오류 조합은 셋이다.
| 조합 | 무슨 일이 생기는가 |
|---|---|
| 출력 ↔ 출력 | 한쪽이 High, 다른 쪽이 Low 면 두 소자가 서로를 통해 전류를 흘린다 |
| 출력 ↔ 전원 출력 | 논리 출력이 전원 계통을 구동하려 든다 |
| 전원 출력 ↔ 전원 출력 | 두 공급원이 맞물린다 |
경고로 두는 조합도 있다 — 양방향 ↔ 전원 출력은 방향에 따라 전원 계통을 구동할 수 있고, 미지정 타입은 어느 조합에서도 판정할 근거가 없어 경고가 된다.
3. 구동 축
섹션 제목: “3. 구동 축”| 항목 | 뜻 |
|---|---|
| 구동원(driver)이 없는 넷 | 그 넷의 값을 정하는 핀이 하나도 없다 — 입력만 모여 있다 |
| 전원 입력에 공급이 없다 | 전원 입력 핀이 있는 넷에 전원 출력이 없다 |
| 구동이 둘 이상 | 두 소자가 같은 넷의 값을 정하려 한다 |
| 구동원 충돌 | 한 넷에 성격이 다른 원천이 붙었다 |
두 번째 항목이 실무에서 가장 자주 나온다. 전원 심볼을 배치하는 것은 그 자리에서 전역 넷에 접속한다는 선언이므로, 전원 넷에 공급원이 없다는 경고는 대개 전원 심볼의 이름이 어긋난 것이다.
4. 이름 축
섹션 제목: “4. 이름 축”| 항목 | 뜻 |
|---|---|
| 대소문자만 다른 라벨 | RESET 과 Reset — 사람은 같다고 보고 도구는 다르다고 판정한다 |
| 대소문자만 다른 전원 이름 | 같은 문제가 전원 계통에서 일어난다 |
| 지역과 전역이 같은 이름 | 어느 범위로 이어지는지 도면으로 판정되지 않는다 |
| 혼자 있는 전역 라벨(global label) | 프로젝트 전체에 그 이름이 하나뿐이다 — 짝을 적지 않았거나 오타다 |
| 끊긴 전역 라벨 | 전역 라벨이 아무 배선에도 닿지 않았다 |
| 한 넷에 이름이 둘 | 서로 다른 이름의 원천이 한 넷에 붙었다 |
이름 축의 결함은 오류가 아니라 잘못된 연결을 만든다는 점에서 위험하다. 오타는 연결을 끊지 않고 새 넷을 만들고, 두 넷 모두 도면상 정상으로 보인다.
5. 버스·계층 축
섹션 제목: “5. 버스·계층 축”| 항목 | 뜻 |
|---|---|
| 버스(bus)와 넷의 충돌 | 버스 배선이 단일 신호 핀에 직접 이어졌다 |
| 버스끼리 충돌 | 이어진 두 버스가 공유하는 넷이 하나도 없다 |
| 버스 엔트리 충돌 | 버스에서 빼낸 배선이 그 버스에 없는 이름이다 |
| 버스 별칭 충돌 | 시트마다 같은 별칭을 다르게 정의했다 |
| 시트 핀(sheet pin)과 계층 포트(hierarchical port) 불일치 | 부모와 자식의 짝이 어긋난다 |
| 시트 이름 중복 | 같은 부모 아래 같은 이름의 시트가 둘이다 |
계층 축의 검사는 계층 회로도 작성 §8 의 구조 검증과 함께 본다 — ERC 는 짝과 이름을, 구조 검증은 계층 자체의 형태를 본다.
6. 부품 축
섹션 제목: “6. 부품 축”넷이 아니라 부품과 심볼을 보는 검사다.
| 항목 | 뜻 |
|---|---|
| 중복 참조 지정자(reference designator) | 두 부품이 같은 이름을 쓴다 — 기판 반영이 성립하지 않는다 |
| 번호 미배정 | U? 처럼 번호가 배정되지 않았다 |
| 배치되지 않은 unit | 다중 게이트 심볼의 일부 게이트가 도면에 없다 |
| unit 마다 다른 footprint | 같은 부품인데 게이트마다 다른 값이 적혀 있다 |
| 공유 핀이 여러 넷에 연결 | 다중 unit 이 공유하는 핀이 서로 다른 넷에 붙었다 |
| 넷 클래스(net class) 미지정 | 규칙을 요구하는 넷에 클래스가 없다 |
| 심볼과 라이브러리 불일치 | 도면의 심볼이 라이브러리 정의와 다르다 |
앞의 두 항목은 기판 반영의 전제다. ECO §11 의 사전 검사가 같은 것을 다시 본다 — 여기서 걸러 두면 반영 단계에서 막히지 않는다.
7. 위반을 판정하는 순서
섹션 제목: “7. 위반을 판정하는 순서”| 순서 | 하는 일 |
|---|---|
| 1 | 오류부터 본다 — 설계가 성립하지 않는 것이다 |
| 2 | 같은 원인이 낳은 위반을 묶는다 — 라벨 오타 하나가 위반 여러 개를 낸다 |
| 3 | 원인을 고친다. 증상마다 고치면 같은 결함이 다른 자리에 남는다 |
| 4 | 다시 검사해 그 위반이 사라졌는지 확인한다 |
| 5 | 남은 경고를 하나씩 판정하고 근거를 적는다 |
2 번을 건너뛰면 목록이 줄지 않는다. 전원 심볼 이름 하나가 어긋나면 그 넷에 붙은 모든 핀에서 경고가 나온다 — 위반 수가 아니라 원인 수를 센다.