전자회로 실무 / PCB 설계·EDA

KiCad에서 회로 블록과 기판 배치를 재사용하는 방법 (Reusable Schematic and Layout Blocks)

같은 입력 회로나 센서 인터페이스를 다른 기판에도 넣어야 할 때, 예전 회로도와 기판 화면을 보고 다시 그리면 부품 값이나 연결 하나를 놓치기 쉽습니다. 반대로 예전 배선을 그대로 복사하면 새 기판의 부품, 전원, 층 구조와 맞지 않을 수 있습니다. 어떤 내용을 재사용 단위로 묶을지 정하고, 회로도와 기판 배치의 대응을 유지한 채 가져오는 방법을 알아두면 반복 작업을 줄이면서도 변경된 조건을 다시 검사할 수 있습니다.

이 글은 KiCad 10의 메뉴와 동작을 기준으로 합니다. 회로도에서 부품과 연결을 나타내는 기호를 심볼(symbol), 기판에서 실제 패드와 부품 외형을 나타내는 객체를 풋프린트(footprint)라고 부릅니다. 부품의 자리와 구리 배선의 구성을 여기서는 기판 배치(layout)라고 하겠습니다. 다른 버전에서는 메뉴 이름과 기능을 확인하고 적용하세요.

같은 프로젝트의 계층 시트 반복과 다른 프로젝트로 설계 블록을 가져가는 두 경로를 나란히 비교한 개념도입니다.
같은 프로젝트의 계층 시트 반복과 다른 프로젝트로 설계 블록을 가져가는 두 경로를 나란히 비교한 개념도입니다. · 클릭하면 확대됩니다.

먼저 두 가지 재사용 방법을 구분합니다

한 프로젝트 안에서 똑같은 회로를 여러 번 쓴다면 계층 시트(hierarchical sheet)가 알맞습니다. 상위 회로도에는 블록 하나로 보이고, 실제 부품과 배선은 별도의 하위 시트 파일에 둡니다. 같은 파일을 여러 하위 시트로 참조하면 회로 내용은 함께 바뀌지만, 각 인스턴스의 부품 참조 번호는 따로 붙습니다. 예를 들어 동일한 신호 입력 회로를 네 채널에 쓰는 경우입니다.

여러 프로젝트에 회로와 기판 배치를 함께 가져가려면 설계 블록(design block)을 사용합니다. 설계 블록은 회로도 조각, 기판 조각 또는 둘 다를 라이브러리에 저장한 재사용 단위입니다. 회로도 블록만 넣고 풋프린트를 새로 배치할 수도 있고, 저장해 둔 기판 배치를 그 풋프린트 그룹에 적용할 수도 있습니다. 두 방법을 혼동하면 회로도 심볼과 복사한 풋프린트가 서로 대응하지 않는 문제가 생깁니다.

필요한 일선택할 방법다시 확인할 점
한 프로젝트에서 동일한 회로를 여러 번 사용같은 하위 시트 파일을 여러 계층 시트에서 참조시트마다 외부 연결과 참조 번호가 맞는지 확인합니다.
다른 프로젝트로 회로도와 기판 배치를 가져감회로도와 기판 조각이 모두 든 설계 블록새 부품·넷·층 구조·제조 규칙에 저장된 배치가 맞는지 확인합니다.
부품과 무관한 고정 형상만 반복 배치기판 조각만 든 설계 블록회로도 심볼과 연결될 부품에는 이 방식을 쓰지 않습니다.

같은 프로젝트에서는 계층 시트의 연결부터 만듭니다

반복할 회로의 경계를 정합니다. 블록 밖으로 나가는 전원, 접지, 입력, 출력을 적고, 블록 안에서만 쓰는 신호와 구분합니다. 상위 회로도에서 계층 시트 추가 명령을 실행합니다. KiCad 10의 기본 단축키는 S입니다. 시트 이름과 파일 이름을 정하고, 하위 시트 파일은 프로젝트 안에 상대 경로로 두면 프로젝트를 다른 컴퓨터로 옮길 때 경로가 깨질 가능성이 줄어듭니다.

하위 시트 안에서 바깥과 이어질 신호에 계층 라벨(hierarchical label)을 붙입니다. 상위 시트의 블록 경계에는 같은 이름의 시트 핀(sheet pin)을 놓고 실제 전선을 연결합니다. 시트 핀은 이 블록의 외부 단자를 뜻합니다. 로컬 라벨(local label)은 같은 시트 안에서만 연결되므로 시트 밖으로 이어지는 단자를 로컬 라벨만으로 처리하지 않습니다. 시트 핀 동기화(Sync Sheet Pins)에서 이름과 입출력 형태가 맞는지 확인하면 빠뜨린 단자를 찾을 수 있습니다.

동일 회로가 한 번 더 필요하다면 새 하위 시트 파일을 만드는 대신 기존 파일을 참조하는 계층 시트를 추가합니다. 상위 시트에서 각 블록에 서로 다른 시트 이름을 주고, 각각의 입력·출력이 올바른 상대 회로에 연결됐는지 확인합니다. 같은 파일을 참조한 블록 중 하나에서 내부 회로를 고치면 다른 블록에도 그 변경이 적용됩니다. 특정 채널만 달라야 한다면 공통 시트를 무심코 수정하지 말고 회로를 분리할지 먼저 결정합니다.

블록을 넘기기 전에 신호 흐름과 전원 이름을 정리합니다

입력, 처리 회로, 출력을 왼쪽에서 오른쪽으로 배치하면 다른 사람이 신호를 따라가기 쉽습니다. 이는 읽기 위한 배치 관례이지 전기적 연결 규칙은 아닙니다. 양방향 버스와 되먹임 경로는 실제 방향을 따로 표시하고, 보기 좋게 심볼을 옮긴 뒤에도 연결점을 다시 확인합니다.

한 장에 여러 기능이 있으면 전원부·입력부·처리부처럼 실제 회로 역할에 따라 묶고, 각 구역에 짧은 제목과 설명을 붙입니다. 처음 회로도를 받은 사람이 어디에서 신호가 들어와 무엇을 거쳐 나가는지, 구역 사이 어떤 전원과 신호를 확인해야 하는지 따라갈 수 있는지 살펴보세요. 길게 교차하는 선은 연결을 읽기 쉬운 배치로 정리하되 실제 연결점과 넷 이름을 다시 대조합니다. 구역 제목과 설명은 독해를 돕는 주석이고, 아래에서 설명하는 넷 라벨은 전기적 연결을 만들 수 있으므로 서로 같은 용도로 취급하지 않습니다.

전원 이름은 필요한 전압과 극성을 드러내도록 정합니다. 예를 들어 +3V3과 -5V는 서로 다른 전원입니다. 다만 라벨에 값을 썼다고 그 전압이 생성되거나 검증되지는 않습니다. 기존 부품의 VDD 핀 이름을 전원 규격으로 오해하지 말고 회로·부품표·측정 기준을 대조합니다. 전압이 같아도 분리된 아날로그 전원이나 절연 영역을 같은 이름으로 무심코 합치지 않습니다.

KiCad 10은 이름을 지정하지 않은 넷에도 연결된 심볼 핀을 바탕으로 자동 이름을 붙입니다. 중요한 신호는 회로도에서 기능을 알 수 있는 이름으로 정하고, 기판 업데이트 전후에 같은 핀과 넷이 이어지는지 확인하세요. 같은 이름의 라벨은 범위에 따라 실제 연결을 만들므로 단순한 주석처럼 취급하면 안 됩니다. 로컬·계층·전역 라벨의 범위와 복수 라벨의 이름 우선순위는 KiCad 10 넷 이름 규칙을 함께 확인합니다.

프로젝트를 넘어 재사용하려면 설계 블록을 저장합니다

KiCad 10 회로도 편집기에서 보기(View) → 패널(Panels) → 설계 블록(Design Blocks)을 엽니다. 라이브러리 트리에서 새 라이브러리(New Library)를 만들고, 이 프로젝트에서만 쓸지 여러 프로젝트에서 쓸지 정합니다. 회로 전체가 전용 시트에 있다면 현재 시트를 설계 블록으로 저장(Save Current Sheet as Design Block)하고, 일부만 가져가려면 심볼·전선·라벨 등 필요한 객체를 정확히 선택해 선택 항목을 설계 블록으로 저장(Save Selection as Design Block)합니다. 저장 전 블록의 외부 단자와 부품 값이 빠지지 않았는지 살펴봅니다.

회로도와 기판 배치를 함께 재사용할 계획이라면 기판 편집기에서 해당 회로의 풋프린트와 배선을 완성한 뒤, 기존 설계 블록에 기판 조각을 추가합니다. 설계 블록 패널에서 새 블록을 또 만들면 회로도 블록과 배치 블록이 서로 다른 항목으로 나뉠 수 있습니다. 기판의 필요한 객체를 선택하고 기존 블록에 선택 항목으로 업데이트(Update Design Block from Selection)합니다. 업데이트는 저장된 내용을 덮어쓰므로, 원래 블록을 유지해야 한다면 라이브러리 사본이나 별도 버전을 먼저 만듭니다.

사용할 프로젝트의 회로도에서 저장한 블록을 배치할 때 그룹으로 배치(Place as group)를 켭니다. 그룹은 블록의 심볼을 하나의 재사용 단위로 묶고 라이브러리 항목과 연결합니다. 기판을 회로도에서 업데이트(Update PCB from Schematic)할 때 심볼 그룹에 따라 풋프린트 묶기(Group footprints based on symbol groups)를 켭니다. 그러면 기판에서도 대응 풋프린트가 그룹으로 들어옵니다. 기판 편집기에서 그 그룹을 선택하고 설계 블록 배치 적용(Apply Design Block Layout)을 실행하면 저장된 풋프린트 배치와 배선이 대응 그룹에 적용됩니다. 그룹으로 배치하지 않으면 이 대응 기능을 사용할 수 없습니다.

설계 블록을 회로도에 시트로 배치(Place as sheet)하면 부모 시트에는 계층 시트 모양으로 나타납니다. 다만 KiCad 10의 설계 블록은 내부에 또 다른 하위 시트가 든 중첩 시트를 저장하지 못합니다. 복잡한 계층 전체를 블록 하나로 저장하려고 하기보다 재사용할 회로 단위를 나누세요.

복사한 뒤에는 새 기판의 조건으로 다시 검사합니다

예전에 동작한 배치라도 새 설계에서 자동으로 검증되는 것은 아닙니다. 먼저 넷(net), 즉 서로 연결돼야 하는 단자와 배선의 묶음을 확인합니다. 같은 이름의 전원·접지라도 전압과 귀환 경로가 달라졌는지 보고, 블록 외부 연결이 의도한 신호로 이어졌는지 추적합니다. 부품이 바뀌었다면 풋프린트의 패드 번호·크기와 실제 부품의 핀 배열을 데이터시트와 대조합니다.

그다음 전기 규칙 검사(Electrical Rules Check, ERC)로 회로도 연결 오류를 찾고, 기판을 업데이트한 뒤 설계 규칙 검사(Design Rule Check, DRC)로 미연결 배선, 구리 간격과 홀 조건을 확인합니다. 저장된 배선이 새 기판의 구리 층수, 적층 구조, 배선 폭, 전류 및 절연 요구를 만족하는지도 따로 봅니다. 커넥터 위치나 기구물, 주변 부품 간격, 방열 조건은 규칙 검사만으로 모두 확인되지 않습니다.

마지막으로 블록 내부의 대표 입력에서 출력까지 실제 넷을 따라가 보세요. 회로도 심볼의 참조 번호와 기판 풋프린트가 맞고, 외부 연결까지 이어져야 재사용이 끝난 것입니다. 반복 작업을 줄이는 것은 블록 저장 단계이고, 새 제품에서 쓸 수 있는지는 이 재검사 단계에서 결정됩니다.