리팩터링을 통한 디자인 재구성
개요
- 부품을 시트로 변환, 부품을 포트로 변환, Schematic을 디바이스 시트로 변환, 디바이스를 Schematic 시트로 변환하는 등 각 구조 재구성 작업에 어떤 리팩터링 명령을 사용할 수 있는지 알아봅니다.
- Altium Designer가 Schematic 계층 구조를 재구성할 때 연결성, 심볼 속성 및 하위 회로 간 연계를 어떻게 유지하는지 살펴봅니다.
- 설계가 발전함에 따라 이러한 기능이 재사용, 로컬화 및 더욱 명확한 시트 구성을 어떻게 지원하는지 알아봅니다.
전통적인 의미에서 리팩터링은 기존 설계(프로그래밍에서는 코드)의 기능을 변경하지 않고 구조를 재구성하는 작업입니다. PCB 설계에서는 다음과 같은 다양한 상황에서 리팩터링을 통해 적시에 효과적인 해결책을 마련할 수 있습니다.
-
부품이 단종되어 기능적으로 동등한 하위 회로로 교체해야 하는 경우. (예시 보기)
-
Schematic 설계를 더 큰 설계 내에서 사용할 하위 회로로 만들어야 하는 경우. (예시 보기)
-
기존 Schematic 하위 시트를 향후 설계에서 재사용할 수 있도록 디바이스 시트로 만들어야 하는 경우. (예시 보기)
-
기존 디바이스 시트를 현재 설계에 맞게 로컬로 가져와 사용자 지정해야 하는 경우. (예시 보기)
-
기존 하위 회로의 일부를 다른 시트로 이동해야 하는 경우. (예시 보기)
Altium Designer는 설계 리팩터링 기능을 구성하는 여러 기능을 제공하여, 요구 사항에 따라 설계 구조를 최대한 유연하게 재구성할 수 있도록 지원합니다.
부품을 시트 심볼로 변환
이 기능은 현재 문서의 부품을 시트 심볼로 변환합니다. 기존 부품이 단종되어 별도 시트에 정의된, 기능적으로 동등한 하위 회로로 교체해야 할 때 적합합니다.
부품을 마우스 오른쪽 버튼으로 클릭한 다음 컨텍스트 메뉴에서 Part Actions » Convert Part To Sheet Symbol 명령을 선택하면 부품 심볼이 시트 심볼로 변환됩니다. 시트 엔트리의 이름은 원래 핀 이름에 따라 지정되고, I/O Type은 원래 핀의 전기적 유형을 반영하도록 설정되어 연결성이 유지됩니다.
시트 심볼의 Designator 은 처음에 원래 부품의 Designator로 설정되며, File Name is 은 처음에 부품의 Comment 텍스트로 설정됩니다.
필요한 하위 시트가 이미 있으면 시트 심볼의 File Name 이 해당 시트를 가리키도록 변경합니다. 없다면 시트 심볼을 마우스 오른쪽 버튼으로 클릭하고 Sheet Symbol Actions » Create Sheet From Sheet Symbol 명령을 선택하여 하위 시트를 빠르게 생성할 수 있습니다. 후자의 경우 심볼의 시트 엔트리에 해당하는 포트가 새 하위 시트에 배치되므로, 대체 하위 회로를 정의하고 연결할 준비가 됩니다.
부품을 새 하위 시트로 이동
유사한 결과를 얻을 수 있는 또 다른 방법으로, 더 빠를 수도 있는 방법은 원하는 부품을 마우스 오른쪽 버튼으로 클릭한 다음 Part Actions » Push Part To Sheet 명령을 선택하는 것입니다. 이 명령은 현재 문서의 부품을 새 하위 시트로 이동하고, 원래 부품을 해당 시트를 참조하는 시트 심볼로 대체하는 데 사용됩니다. 기본적으로 다음 순서로 작업이 수행됩니다.
-
부품을 복사합니다.
-
원래 부품을 시트 심볼로 변환하고, Designator 을 원래 부품의 Designator로 설정하고 File Name 을 <OriginalPartComment>.SchDoc로 설정합니다. 이 경우에도 시트 엔트리의 이름은 원래 핀 이름에 따라 지정되고, I/O Type은 원래 핀의 전기적 유형을 반영하도록 설정되어 연결성이 유지됩니다.
-
시트 심볼에서 새 Schematic 시트를 생성하고, 심볼의 File Name 값을 사용하여 이름을 지정합니다.
-
원래 부품의 복사본을 시트 중앙에 붙여넣고, 시트 심볼의 시트 엔트리에 해당하는 포트를 배치하여 부품의 핀에 배선합니다.
그런 다음 필요에 따라 부품을 삭제하고 기능적으로 동등한 회로로 교체할 수 있습니다.
Push Part To Sheet 명령을 사용하면 원래 부품을 시트 심볼로 빠르게 변환한 다음, 해당 심볼이 참조하는 새로 생성된 시트에 부품의 복사본을 붙여넣을 수 있습니다.
부품을 포트로 변환
이 기능은 현재 문서의 부품을 포트 집합으로 변환하는 데 사용됩니다. 제조 비용 절감 등의 목적으로 전원 공급 장치나 위성 보드와 같은 기존의 독립형 하위 설계를 더 큰 싱글 보드 설계 내에서 사용할 하위 회로로 만들 때 적합합니다. 이는 컴포넌트를 하위 수준의 하위 회로로 교체한 이전 섹션과는 반대입니다. 즉, 하위 회로를 상위 수준의 설계에 통합하여 계층 구조의 상위 지점에 연결할 수 있도록 하는 과정입니다.
부품을 마우스 오른쪽 버튼으로 클릭한 다음 컨텍스트 메뉴에서 Part Actions » Convert Part To Ports 명령을 선택하면 부품 심볼이 포트 집합으로 변환됩니다. 포트의 이름은 원래 핀 이름에 따라 지정되고, I/O Type은 원래 핀의 전기적 유형을 반영하도록 설정되어 연결성이 유지됩니다.
Convert Part To Ports 명령을 사용하면 부품을 하위 회로와 상위 수준 설계를 연결하는 포트로 빠르게 대체할 수 있습니다.
그런 다음 관련 상위 수준 Parent 시트에 시트 심볼을 추가하면 계층 구조에 하위 회로를 통합하는 작업이 완료됩니다. 방법은 다음과 같습니다.
-
필요한 Parent 시트를 활성화합니다.
-
Design » Create Sheet Symbol From Sheet 명령을 사용합니다.
-
Choose Document to Place 대화 상자에서 문서(부품에서 생성된 포트가 포함된 문서)를 선택합니다.
-
커서에 시트 심볼이 나타납니다. 시트 내의 원하는 위치로 이동한 다음 클릭하여 배치합니다.
시트 심볼은 File Name 속성을 통해 하위 시트를 참조하며, 하위 시트의 포트에 해당하는 시트 엔트리를 갖습니다.

Create Sheet Symbol From Sheet 명령을 사용하면 시트 심볼을 빠르게 추가하여 하위 회로를 설계 계층 구조에 통합할 수 있습니다.
Schematic 시트를 디바이스 시트로 변환
어느 단계에 이르면 재사용을 위한 설계라는 개념의 추상화 수준을 높여야 합니다. 컴포넌트 수준에만 머무른다면 USB 인터페이스나 전압 레귤레이터와 같은 유사한 기능을 포함하는 설계마다, 말하자면 이미 있는 것을 처음부터 다시 만드는 셈이 됩니다. 바로 이때 디바이스 시트가 필요합니다. 디바이스 시트는 특정 회로 기능을 제공하도록 설계된 Schematic 시트입니다. 이를 사용하면 기존의 복사 및 붙여넣기 방식에 따르는 위험을 없앨 수 있습니다. 또한 반복적인 설계 작업을 없애는 동시에 향후 설계에서 재사용할 수 있는 설계 콘텐츠를 늘릴 수 있습니다.
Schematic Editor는 리팩터링 도구 모음의 일부로, 기존의 일반 Schematic 시트를 다른 설계에서 재사용할 수 있는 디바이스 시트로 빠르게 변환하는 기능을 제공합니다.
기존 Schematic 시트를 디바이스 시트로 변환하려면 다음을 수행합니다.
-
설계 계층 구조에서 관련 Parent 페이지에 있는, 원하는 시트를 참조하는 시트 심볼을 찾습니다.
-
시트 심볼을 선택하고 메인 메뉴에서 Edit » Refactor » Convert Selected Schematic Sheet To Device Sheet 명령을 선택합니다. Convert Schematic Sheet to Device Sheet 대화 상자가 나타납니다. 새로 생성한 디바이스 시트를 저장할 타겟 위치와 변환 범위를 선택합니다. 현재 시트 심볼만 업데이트할지, 설계 공간 또는 활성 프로젝트의 관련 시트 심볼을 모두 업데이트할지 지정할 수 있습니다. 후자는 동일한 하위 회로의 인스턴스가 여러 개 존재하는 다중 채널 설계에서 특히 유용합니다.
Convert Schematic Sheet to Device Sheet 대화 상자에서 변환 세부 사항을 지정합니다.
-
OK을 클릭합니다. 시트 심볼이 디바이스 시트 심볼로 변환되고 회로도는 지정된 디바이스 시트 위치로 이동합니다.
원래 시트 심볼의 속성은 디바이스 시트 심볼에 상속됩니다.
디바이스 시트를 Schematic 시트로 변환하기
디바이스 시트를 사용하면 기능별 하위 회로를 저장하여 여러 설계에서 재사용할 수 있습니다. 하지만 특정 설계에 맞게 기존 하위 회로를 수정해야 할 수도 있습니다. 디바이스 시트 자체를 수정하는 대신, Schematic 편집기에서 디바이스 시트의 사본을 만들어 해당 회로를 일반 회로도 시트에서 사용할 수 있습니다. 이렇게 하면 원본 디바이스 시트를 그대로 유지하면서 현재 설계의 요구 사항에 맞게 로컬 사본을 수정할 수 있습니다.
기존 디바이스 시트를 회로도 시트로 '변환'하려면:
-
필요한 디바이스 시트를 참조하는 디바이스 시트 심볼을 찾습니다.
-
디바이스 시트 심볼을 선택하고 메인 메뉴에서 Edit » Refactor » Convert Device Sheet To Schematic Sheet 명령을 선택합니다. Convert Device Sheet to Schematic Sheet 대화 상자가 나타납니다. 새로 생성한 회로도 시트를 저장할 타겟 위치와 변환 범위를 선택합니다. 현재 디바이스 시트 심볼만 업데이트할지, 활성 프로젝트의 관련 디바이스 시트 심볼을 모두 업데이트할지 지정할 수 있습니다.
Convert Device Sheet to Schematic Sheet 대화 상자에서 변환 세부 사항을 지정합니다.
-
OK을 클릭합니다. 디바이스 시트 심볼이 시트 심볼로 변환되고, 디바이스 시트의 사본이 지정된 위치에 일반(보호되지 않은) 시트로 로컬 저장됩니다. 시트 심볼은 이 로컬 시트를 참조합니다.
변환 후에는 Projects 패널에서 로컬 회로도 시트가 기존 디바이스 시트를 대체합니다.
원래 디바이스 시트 심볼의 속성은 시트 심볼에 상속됩니다.
선택한 하위 회로를 다른 시트로 이동하기
설계가 진행됨에 따라 설계를 구성하는 소스 회로도 시트의 내용을 재배치해야 할 수 있습니다. 회로의 특정 부분을 별도의 시트에 배치하면 더 쉽게 이해할 수 있거나, 시트에 너무 많은 내용이 담겨 가독성이 떨어지는 경우 일부 회로를 추가 시트나 다른 시트로 옮기는 것이 도움이 될 수 있습니다.
리팩터링의 또 다른 기능으로, 시트에서 하나 이상의 객체를 선택하여 다른 시트로 이동할 수 있습니다. 방법은 다음과 같습니다.
-
먼저 이동할 회로를 선택합니다.
-
마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 Edit » Refactor » Move Selected Subcircuit to Different Sheet 명령을 선택합니다. 타겟 회로도 시트를 지정할 수 있는 Choose Destination Document 대화 상자가 열립니다.
-
OK을 클릭합니다. 선택한 시트가 활성화되고 선택한 하위 회로가 커서에 붙어 이동합니다.
-
시트에서 원하는 위치로 회로를 이동한 다음 클릭하여 배치합니다. 배치가 완료되면 해당 회로는 원래 시트에서 제거됩니다.
-
이동한 회로에 기존 시트 심볼이 하나 이상 포함되어 있으면, 해당 심볼이 참조하는 하위 회로도 시트도 이동하여 Projects 패널에 표시되는 설계 계층 구조에서 해당 시트 심볼이 이동한 시트 아래에 배치됩니다. 새 시트로 이동하는 경우, 관련 상위 페이지에 시트 심볼을 추가하여 해당 시트가 설계 계층 구조의 올바른 위치에 배치되도록 합니다.


