콘텐츠로 이동

ERC 검사 항목

검사 항목을 알아야 위반(violation)을 판정할 수 있다. 같은 문구의 경고라도 어떤 축에서 나왔는가에 따라 할 일이 다르다. 이 문서는 축별로 항목을 정리하고, 각 항목이 실제로 무엇을 뜻하는지 적는다.

절차와 심각도(severity)는 ERC 란 무엇인가가 소유한다.

항목
미연결 핀그 핀이 아무것과도 이어지지 않았다
끊긴 배선(routing) 끝배선이 아무 접점에도 닿지 않은 채 끝난다
떠 있는 배선어느 핀에도 닿지 않는 배선 조각
미사용 선언 위반미사용으로 선언한 자리에 무언가 이어졌다
빈 미사용 선언미사용 표시를 두었는데 그 자리에 핀이 없다
격자(grid)를 벗어난 끝점핀이나 배선 끝이 격자에서 벗어나 닿아 보이지만 닿지 않았다

아무것도 연결되지 않은 핀과 의도적으로 표시한 미사용 핀

마지막 항목이 눈으로 가장 잡기 어렵다. 화면에서는 이어져 보이고 확대해야 틈이 드러난다. 격자를 지키는 것이 이 결함을 없애는 유일한 방법이다.

핀 타입 조합마다 허용 경고 오류가 정해진 연결 행렬

핀마다 전기적 타입이 있고, 두 핀이 한 넷에서 만날 때 그 조합이 허용되는지를 행렬이 정한다.

타입
입력값을 받는다
출력값을 정한다
양방향때에 따라 둘 다
트라이스테이트값을 정하거나 손을 뗀다
수동방향이 없다 — 저항·커패시터의 단자
전원 입력공급을 받는다
전원 출력공급을 낸다 — 레귤레이터 출력·전원 심볼(symbol)
오픈 드레인 · 오픈 컬렉터한쪽으로만 끌어당긴다
미사용 · 미지정쓰지 않음 · 정하지 않음

대표적인 오류 조합은 셋이다.

조합무슨 일이 생기는가
출력 ↔ 출력한쪽이 High, 다른 쪽이 Low 면 두 소자가 서로를 통해 전류를 흘린다
출력 ↔ 전원 출력논리 출력이 전원 계통을 구동하려 든다
전원 출력 ↔ 전원 출력두 공급원이 맞물린다

경고로 두는 조합도 있다 — 양방향 ↔ 전원 출력은 방향에 따라 전원 계통을 구동할 수 있고, 미지정 타입은 어느 조합에서도 판정할 근거가 없어 경고가 된다.

구동하는 핀이 없는 넷과 구동이 둘인 넷

항목
구동원(driver)이 없는 넷그 넷의 값을 정하는 핀이 하나도 없다 — 입력만 모여 있다
전원 입력에 공급이 없다전원 입력 핀이 있는 넷에 전원 출력이 없다
구동이 둘 이상두 소자가 같은 넷의 값을 정하려 한다
구동원 충돌한 넷에 성격이 다른 원천이 붙었다

두 번째 항목이 실무에서 가장 자주 나온다. 전원 심볼을 배치하는 것은 그 자리에서 전역 넷에 접속한다는 선언이므로, 전원 넷에 공급원이 없다는 경고는 대개 전원 심볼의 이름이 어긋난 것이다.

대소문자만 다른 라벨과 지역 라벨이 전역 이름과 겹치는 경우

항목
대소문자만 다른 라벨RESETReset — 사람은 같다고 보고 도구는 다르다고 판정한다
대소문자만 다른 전원 이름같은 문제가 전원 계통에서 일어난다
지역과 전역이 같은 이름어느 범위로 이어지는지 도면으로 판정되지 않는다
혼자 있는 전역 라벨(global label)프로젝트 전체에 그 이름이 하나뿐이다 — 짝을 적지 않았거나 오타다
끊긴 전역 라벨전역 라벨이 아무 배선에도 닿지 않았다
한 넷에 이름이 둘서로 다른 이름의 원천이 한 넷에 붙었다

이름 축의 결함은 오류가 아니라 잘못된 연결을 만든다는 점에서 위험하다. 오타는 연결을 끊지 않고 새 넷을 만들고, 두 넷 모두 도면상 정상으로 보인다.

항목
버스(bus)와 넷의 충돌버스 배선이 단일 신호 핀에 직접 이어졌다
버스끼리 충돌이어진 두 버스가 공유하는 넷이 하나도 없다
버스 엔트리 충돌버스에서 빼낸 배선이 그 버스에 없는 이름이다
버스 별칭 충돌시트마다 같은 별칭을 다르게 정의했다
시트 핀(sheet pin)과 계층 포트(hierarchical port) 불일치부모와 자식의 짝이 어긋난다
시트 이름 중복같은 부모 아래 같은 이름의 시트가 둘이다

계층 축의 검사는 계층 회로도 작성 §8 의 구조 검증과 함께 본다 — ERC 는 짝과 이름을, 구조 검증은 계층 자체의 형태를 본다.

넷이 아니라 부품과 심볼을 보는 검사다.

항목
중복 참조 지정자(reference designator)두 부품이 같은 이름을 쓴다 — 기판 반영이 성립하지 않는다
번호 미배정U? 처럼 번호가 배정되지 않았다
배치되지 않은 unit다중 게이트 심볼의 일부 게이트가 도면에 없다
unit 마다 다른 footprint같은 부품인데 게이트마다 다른 값이 적혀 있다
공유 핀이 여러 넷에 연결다중 unit 이 공유하는 핀이 서로 다른 넷에 붙었다
넷 클래스(net class) 미지정규칙을 요구하는 넷에 클래스가 없다
심볼과 라이브러리 불일치도면의 심볼이 라이브러리 정의와 다르다

앞의 두 항목은 기판 반영의 전제다. ECO §11 의 사전 검사가 같은 것을 다시 본다 — 여기서 걸러 두면 반영 단계에서 막히지 않는다.

순서하는 일
1오류부터 본다 — 설계가 성립하지 않는 것이다
2같은 원인이 낳은 위반을 묶는다 — 라벨 오타 하나가 위반 여러 개를 낸다
3원인을 고친다. 증상마다 고치면 같은 결함이 다른 자리에 남는다
4다시 검사해 그 위반이 사라졌는지 확인한다
5남은 경고를 하나씩 판정하고 근거를 적는다

2 번을 건너뛰면 목록이 줄지 않는다. 전원 심볼 이름 하나가 어긋나면 그 넷에 붙은 모든 핀에서 경고가 나온다 — 위반 수가 아니라 원인 수를 센다.