2층으로는 안 되는 거였다 — 규칙은 지켰는데 배선이 나쁜 이유

5부까지 오면서 규칙을 하나씩 코드로 박아 넣었다. 그리고 이번 회차에서 숫자가 꽤 좋아졌다.

항목라우팅 직후다듬은 뒤
직각(90°) 꺾임28곳3곳
임의 각도 세그먼트78개 (132mm)17개
선 굵기 섞임넷 16개0개
DRC 위반1312

세 가지 수법이 먹혔다.

1. 모따기 크기를 낮춰가며 시도한다. 기존 도구는 모따기를 한 가지 크기로만 시도했다. 빡빡한 구간에서 그게 안 들어가면 DRC 가 막고, 그 코너는 영원히 직각으로 남는다. 0.8 → 0.5 → 0.35 → 0.25 … 로 낮춰가며 시도하니 절반이 풀렸다.

2. 배치를 15개에서 3개로 줄인다. “적용 → DRC → 나빠지면 되돌리기”를 배치로 하는데, 배치가 크면 나쁜 편집 하나가 좋은 14개를 같이 죽인다. 15개 배치에서 97개 중 7개만 살아남던 것이, 3개 배치로 바꾸니 66개 중 50개가 살았다.

3. 접점을 이웃 축을 따라 민다. 2.19° 처럼 “직선이어야 하는데 살짝 흐른” 선은, 그 접점에 붙은 이웃 배선이 축 정렬돼 있으면 이웃의 자기 방향으로 접점을 밀면 된다. 이웃은 각도를 유지한 채 길이만 변하고, 문제 선은 정확한 각도가 된다. 62개 중 44개가 이 방식으로 해결됐다.

그런데 확대해 보니

숫자가 좋아졌으니 됐다고 생각했다. 그러다 배선을 크게 확대해서 봤다.

측정값이 이미 말하고 있었다. 넷당 평균 꺾임 12.9회. 우회율 최대 3.0배 (224mm 를 깔아서 74mm 를 잇는다). 나는 그 위에 마감만 계속 발랐던 것이다.

규칙 위반 개수가 줄어드는 것과 배선이 좋아지는 것은 다른 일이다.

직각 3곳, 임의각 17개는 “게이트를 통과할 수 있는 상태”이지 “양산 도면으로 내놓을 수 있는 상태”가 아니다.

원인은 층이 모자란 것이었다

5부 끝에 적어둔 실측이 답이었다. 같은 계열 양산품인 4채널 IO 보드가 4층이고, 내층 두 장이 접지 평면이 아니라 진짜 배선층이다.

보드상면내층2내층3하면
4채널 IO (양산품)369mm344mm262mm439mm

나는 채널이 4배인 16채널 보드를 2층에 욱여넣고 있었다.

공간이 없으니 라우터는 이렇게 대응한다 — 0.06mm 씩 비켜 가는 토막을 만들고, 비아를 아무 데나 박아 층을 바꾸고, 패드 위로 넘어간다. 그리고 그 결과를 후처리로 고치려 하면 DRC 가 막는다. 실제로 미세 토막을 흡수하려 했더니 97개 중 7개만 통과했다. 나머지는 넣는 순간 간섭이 났다. 그 토막들이 존재하는 이유가 바로 “거기 공간이 없어서”였기 때문이다.

4층으로 전환

층 번호는 추측하지 않고 KiCad API 로 바꿨다. 직접 쓰면 번호 체계를 틀린다 (KiCad 10 은 F.Cu=0, B.Cu=2, In1.Cu=4, In2.Cu=6 이다 — 연속 번호가 아니다).

b = pcbnew.LoadBoard("io16.kicad_pcb")
b.SetCopperLayerCount(4)
pcbnew.SaveBoard("io16.kicad_pcb", b)

그리고 층별 방향을 4층에 맞게 다시 넣었다. 4부에서 상면=가로 / 하면=세로를 DSN 에 주입했는데, 층 이름을 2층 기준으로 하드코딩해 뒀던 터라 내층에는 방향이 안 들어가고 있었다. 보드에서 층 이름을 읽어 번갈아 넣도록 고쳤다.

방향
F.Cu가로
In1.Cu세로
In2.Cu가로
B.Cu세로

(In1.Cu 의 점은 정규식 특수문자다. escape 를 빼먹으면 조용히 안 맞는다.)

배운 것

이번 회차에서 가장 값비싼 교훈은 이거다.

품질 지표를 고치는 것과 물건을 좋게 만드는 것을 혼동하지 말 것.

직각 개수, 각도 분포, 선폭 균일도는 전부 필요조건이다. 다 만족해도 배선이 나쁠 수 있다. 그리고 그 필요조건들이 자꾸 안 채워진다면, 그건 후처리가 부족한 게 아니라 애초에 그 공간에서 불가능하다는 신호일 수 있다.

숫자가 잘 안 올라갈 때 후처리 도구를 하나 더 만들기 전에, “이 판이 이 회로를 담을 수 있는 판이 맞나”를 먼저 물었어야 했다.


▶️ 7부 — 마지막 1건과의 전쟁: 자동화가 제일 어려운 곳은 끝이다 — 마감 직전 이슈 총정리

🔧 이전 편: 1부 · 2부 · 3부 · 4부 · 5부 — 측정이 대상을 바꾸고 있었다

댓글

로그인 없이 이름만 적고 남기실 수 있어요. 남긴 댓글은 바로 게시됩니다.

댓글을 불러오는 중…