PCB 설계 규칙 정의, 범위 지정 및 관리

Altium Training

Altium Essentials: PCB Design Rules Creation

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

What approach do I use for defining design constraints?

Altium Designer는 설계 제약을 정의하는 두 가지 뚜렷한 접근 방식을 제공합니다. 즉, PCB Rule and Constraints Editor 대화상자(이 페이지에서 설명)와 Constraint Manager입니다.

Constraint Manager 는 PCB 설계 프로젝트를 생성할 때 Create Project dialog에서 Constraint Management 옵션이 활성화된 경우에만 해당 PCB 설계 프로젝트에서 사용할 수 있습니다. 다음 사항에 유의하십시오.

  • PCB 프로젝트에 대해 Constraint Manager 가 활성화된 경우, PCB 편집기에서는 PCB Rule and Constraints Editor 대화상자not를 사용할 수 없습니다.

  • PCB 프로젝트에 대해 Constraint Manager 가 not활성화되지 않은 경우, 설계 제약을 정의하는 기존 방식(design directives 사용 및 PCB Rule and Constraints Editor 대화상자)만 사용할 수 있습니다.

현재 PCB 프로젝트에서 어떤 설계 제약 관리 방식이 사용되고 있는지 빠르게 확인하려면, 프로젝트의 PCB 문서를 열고 Design 메인 메뉴를 클릭한 다음 어떤 명령이 사용 가능한지 확인하십시오.

  • Constraint Manager – 이 프로젝트에는 Constraint Manager 가 사용됩니다.

  • Rules – 이 프로젝트에는 PCB Rule and Constraints Editor 대화상자가 사용됩니다.

PCB Editor는 설계 요구사항을 정의하기 위해 Design Rules 개념을 사용합니다. 설계 요구사항은 우아한 target these objects and apply those requirements - 방식으로 적용됩니다. Design Rules는 PCB editor가 따라야 할 하나의 '지침 세트'를 집합적으로 구성합니다. 이 규칙들은 배선 폭, 클리어런스, 폴리곤 연결 스타일, 비아 배선 스타일 등 설계의 모든 측면을 포괄하며, 많은 규칙은 온라인 Design Rule Checker (DRC)를 통해 실시간으로 모니터링할 수 있습니다. 또한 언제든지 배치 테스트를 실행하여 DRC 보고서를 생성할 수도 있습니다. 규칙은 객체와 독립적으로 정의됩니다.

Design rule은 특정 객체를 대상으로 하며 계층적인 방식으로 적용됩니다. 예를 들어 보드 전체에 대한 클리어런스 규칙이 있고, 그다음에는 특정 넷 클래스에 대한 클리어런스 규칙이 있을 수 있으며, 다시 그 클래스 내 패드 하나에 대한 또 다른 규칙이 있을 수 있습니다. PCB editor는 규칙 우선순위와 적용 범위를 사용하여 설계의 각 객체에 어떤 규칙이 적용되는지 판단할 수 있습니다.

규칙은 키워드 기반의 query language를 사용해 객체를 대상으로 지정하며, NetClass 또는 All와 같은 광범위한 식별자부터, 까다롭고 상황 특정적인 설계 요구사항을 정확하게 겨냥하는 매우 엄격하게 정의된 쿼리까지 사용할 수 있습니다.

잘 정의된 설계 규칙 세트를 사용하면, 다양하고 종종 엄격한 설계 요구사항이 있는 보드 설계도 성공적으로 완료할 수 있습니다. 또한 PCB Editor는 규칙 기반으로 동작하므로, 설계 초기에 규칙을 설정하는 데 시간을 들이면 이후 실제 설계 작업을 훨씬 효과적으로 진행할 수 있으며, 동시에 규칙 시스템이 성공적인 설계를 보장하기 위해 적극적으로 작동하고 있다는 확신을 가질 수 있습니다.

정의된 설계 규칙의 검사에 대한 자세한 내용은 Design Rule Checking (DRC)를 참조하십시오.

PCB Rules System의 기초

소프트웨어의 PCB editor에 내장된 rules system에는 다른 PCB 편집 환경에서 사용되는 대부분의 설계 규칙 시스템과 구별되는 몇 가지 기본 기능이 있습니다.

  • Rules are separate from the objects – 규칙은 객체의 속성으로 추가되는 것이 아니라 전체 규칙 목록에 추가된 다음 해당 객체에 적용되도록 범위가 지정됩니다. 이를 통해 하나의 규칙을 여러 객체에 적용하거나 수정하거나 다른 객체에 적용할 수 있으며, 개별 객체 수준에서 규칙 속성을 변경해야 하는 경우보다 훨씬 수월하게 작업할 수 있습니다.

  • Rules are targeted (scoped) by writing a query – 고정된 사전 정의 규칙 범위 집합을 사용하는 대신, 유연한 쿼리 시스템을 사용해 규칙이 적용될 객체를 정의합니다. 이를 통해 각각의 모든 설계 규칙 대상에 대해 정밀한 제어가 가능합니다.

  • Rules for any design situation – 동일한 유형의 규칙을 여러 개 정의하고 서로 다른 객체 집합에 대상으로 지정할 수 있으므로, 보드 제약 정의를 완전히 제어할 수 있습니다. 예를 들어 서로 다른 폭 규칙을 정의하여 서로 다른 레이어에서 넷을 서로 다른 폭으로 배선할 수 있습니다.

  • Each rule has a priority – 어떤 설계 객체든 동일한 유형의 여러 규칙의 대상이 될 수 있어, 일반적인 상황과 더 구체적인 상황 모두를 처리할 수 있습니다. 규칙 충돌을 해결하기 위해 규칙 우선순위가 사용됩니다. 시스템은 가장 높은 우선순위부터 가장 낮은 우선순위까지 규칙을 순서대로 검사하여, 검사 중인 객체와 범위 표현식이 일치하는 첫 번째 규칙을 선택합니다.

  • There are two types of rules – 단항 규칙(객체의 요구 동작을 정의하는 규칙)과 이항 규칙(두 객체 간 상호작용을 정의하는 규칙).

Altium Designer의 design rule은 이 페이지에서 설명하는 대로 PCB Rules and Constraints Editor 대화상자에서 정의하고 관리합니다. 설계 제약 규칙을 관리하는 대체 방식으로는 문서 기반의 Constraints Editor ([Constraints] document tab)를 사용할 수 있습니다.

 
 
 
 
 

Design Rule 정의 및 관리

PCB Rules and Constraints Editor 대화상자는 메인 메뉴에서 Design » Rules 명령을 선택하여 열 수 있습니다.

Design 메뉴에 Rules 명령이 없습니까? PCB Rules and Constraints Editor 대화상자를 사용할 수 있는지 확인해 보십시오 – 자세히 알아보기.

PCB Rules and Constraints Editor 대화상자는 두 개의 섹션으로 구성됩니다.

  1. 왼쪽의 트리에는 서로 다른 규칙 카테고리가 나열됩니다. 카테고리를 펼치면 사용 가능한 개별 규칙 유형이 표시됩니다. 규칙 유형을 펼치면 현재 정의된 해당 유형의 모든 규칙이 표시됩니다.

    사용 가능한 규칙 유형과 해당 제약에 대한 자세한 내용은 PCB Design Rule Types 페이지와 그 하위 페이지를 참조하십시오.

  2. 대화상자의 오른쪽에는 현재 트리에서 선택된 항목과 관련된 정보가 표시됩니다. 즉, 선택한 규칙 유형 또는 카테고리에 대해 정의된 규칙의 요약, 시스템 전체에 대해 정의된 모든 규칙, 또는 실제 규칙이 선택된 경우 해당 규칙의 제약이 표시됩니다.

    • 루트 폴더를 클릭하면 대화상자의 기본 편집 영역에서 모든 카테고리 전반의 모든 설계 규칙 유형에 대해 정의된 모든 개별 규칙의 요약 목록에 접근할 수 있습니다.

    • 카테고리 폴더를 클릭하면 해당 카테고리와 연관된 모든 설계 규칙 유형에 대해 정의된 모든 개별 규칙의 요약 목록에 접근할 수 있습니다.

    • 규칙 유형 폴더를 클릭하면 해당 유형에 대해 정의된 모든 개별 규칙의 요약 목록에 접근할 수 있습니다.

    요약 목록에서는 각 규칙이 다음 항목으로 표시됩니다.

    • Name - 규칙 이름.

    • Priority - 현재 규칙 우선순위.

    • Enabled - 현재 규칙이 활성화되어 있는지 또는 비활성화되어 있는지(클릭하여 상태 전환). 비활성화된 규칙은 요약 목록에서 회색으로 표시됩니다.

    • Type - 규칙 유형.

    • Category - 해당 규칙이 속한 규칙 카테고리.

    • Scope - 규칙의 범위(즉, 어떤 객체에 적용되는지).

    • Attributes - 규칙에 대해 정의된 제약 속성.

    폴더 트리 창에서 특정 규칙 항목을 클릭하거나(또는 요약 목록에서 해당 항목을 더블클릭하면) 그 정의를 관리하는 컨트롤에 접근할 수 있습니다.

    • Name - 현재 규칙 이름. 필요에 따라 변경할 수 있습니다.

    • Comment - 이 필드에는 규칙에 추가된 주석이 표시되며, 예를 들어 해당 규칙이 무엇을 위해 사용되는지에 대한 의미 있는 설명을 적을 수 있습니다.

    • Unique ID - 규칙의 고유 식별자입니다. 모든 규칙은 그 자체로 설계 객체이며, 따라서 실체가 있는 데이터 조각입니다. ID를 사용하면 고유성이 보장됩니다. Unique ID가 특히 중요한 역할을 하는 경우는 회로도 도메인에서 생성된 규칙입니다. 회로도의 객체에 설계 규칙 파라미터를 추가할 때 각 규칙 파라미터에 고유 ID가 부여됩니다. PCB에서 생성되는 해당 설계 규칙에도 동일한 ID가 부여됩니다. 이 Unique ID를 통해 회로도 측이나 PCB 측 어느 쪽에서든 규칙의 제약을 편집할 수 있으며, 동기화 시 변경 사항을 반영할 수 있습니다.

    • Test Queries - 클릭하면 Test Queries Result dialog가 열리며, 여기에는 사용자가 정의한 규칙 특수화를 고려했을 때 해당 규칙의 영향을 받는 객체 수가 표시됩니다. 이를 통해 쿼리에 반응하는 객체가 있는지 확인하고, 필터와 규칙의 영향을 받는 객체 집합이 원하는 대로 설정되었는지도 점검할 수 있습니다. 

    • Rule Scoping Controls - 이 영역은 규칙이 적용되거나 상호 관계를 맺는 객체 측면에서 규칙의 범위를 결정하는 컨트롤을 제공합니다.

    • Constraints - 대화상자의 이 영역에는 현재 편집 중인 규칙 유형에 적용되는 제약이 표시됩니다. 다양한 컨트롤을 사용하여 필요에 따라 이러한 제약을 구성하십시오. 제약 영역 위의 F1를 눌러 문서의 PCB Design Rule Types 영역 내 해당 규칙 유형 페이지에 접근할 수 있습니다.

PCB Rules and Constraints Editor 대화상자 – design rule 관리를 위한 중앙 제어 지점입니다.
PCB Rules and Constraints Editor 대화상자 – design rule 관리를 위한 중앙 제어 지점입니다.

  • 대화상자의 검색 엔진을 사용하면 기본 Search 필드에 관련 Name, Type, Category 또는 Attribute 키워드를 입력하여 간단한 검색 모드로 사용할 수 있습니다.

  • 대화상자 하단의 Switch to Document View 버튼을 클릭하면 대화형 Rules 문서인 Constraints Editor가 열립니다. 

Design Rules 검토

소프트웨어가 기본으로 생성하는 새 보드에는 모든 설계에 항상 필요한 것은 아닌 규칙들이 포함되어 있으며, 다른 많은 설계 규칙들도 설계 요구사항에 맞게 조정해야 합니다. 따라서 설계 규칙을 검토하는 것은 매우 중요합니다. 이는 PCB Rules and Constraints Editor에서 수행할 수 있습니다. 왼쪽 트리의 맨 위에서 Design Rules를 선택한 다음, Attributes 열을 따라 모든 규칙을 훑어보며 값 조정이 필요한 항목을 빠르게 찾으십시오.

새 보드를 만들면 해당 설계에 필요하지 않을 수도 있는 기본 설계 규칙이 포함됩니다. 불필요한 규칙은 Design Rules 항목 또는 PCB Rules and Constraints Editor의 특정 카테고리 항목을 클릭한 뒤, 규칙을 비활성화하여 사용할 수 없게 할 수 있습니다(Enabled 열의 체크박스를 해제).

기본 보드는 또한 인치 단위(imperial units)를 사용합니다. 보드가 미터법(metric)을 사용하는 경우, Soldermask expansion과 같은 많은 규칙 값이 4mil 같은 반올림된 값에서 0.102mm로 바뀌고, Minimum Solder Mask Sliver 기본값도 10mil에서 0.254mm로 바뀝니다. 예를 들어 0.002mm 같은 최하위 자릿수는 출력 생성 시 사실상 의미가 없지만, 신경 쓰인다면 설계 규칙에서 이러한 설정을 편집할 수 있습니다.

설계 규칙을 검토할 때 필요에 따라 열 순서를 변경할 수 있다는 점에 유의하십시오.
설계 규칙을 검토할 때 필요에 따라 열 순서를 변경할 수 있다는 점에 유의하십시오.

기본 설계 규칙

새 PCB 문서를 만들면 여러 기본 규칙이 포함되며, 이는 Design Rule Check 시스템이 올바르게 동작하기 위해 반드시 존재해야 합니다. 기본 규칙을 삭제하면 PCB Rules and Constraints Editor를 닫을 때 자동으로 다시 생성됩니다. 사용하지 않을 설계 규칙이 있다면, 이를 관리하는 올바른 방법은 해당 규칙을 비활성화하는 것입니다. 

규칙을 비활성화하려면 PCB Rules and Constraints Editor 대화상자 오른쪽의 요약 목록 중 하나에서 해당 규칙의 Enable 옵션을 전환하십시오. 비활성화된 규칙은 '회색 처리'되어 표시됩니다. 설계 규칙 비활성화에 대해 자세히 알아보십시오.

필요하지 않은 규칙은 Enable 옵션을 사용해 비활성화하십시오. 비활성화된 규칙은 '회색 처리'되어 표시됩니다.필요하지 않은 규칙은 Enable 옵션을 사용해 비활성화하십시오. 비활성화된 규칙은 '회색 처리'되어 표시됩니다.

기본 규칙 값은 내부적으로 mil 단위로 정의되며, 설계에 적합하지 않은 값일 수 있습니다. 자신만의 기본 규칙과 값을 사용하려면 다음과 같은 방법이 있습니다:

  • 프로젝트 템플릿을 만들고 사용하거나,

  • 필요한 규칙이 설정된 적절한 빈 보드 파일을 만든 뒤, 새 프로젝트를 위해 그 보드를 복사해서 사용하거나,

  • 템플릿 규칙 세트를 PCB Rule 파일(*.RUL)로 내보낸 다음, 해당 규칙을 현재 보드 설계로 가져올 수 있습니다. 설계 규칙 내보내기 및 가져오기에 대해 자세히 알아보십시오.

Create Default Rules 버튼을 클릭하면 PCB의 기본 설계 규칙 세트가 다시 생성됩니다. 규칙을 제거한 경우 이 버튼을 클릭하여 기본 규칙 목록을 다시 가져올 수 있습니다. 기본 규칙이 수정된 상태라면, 이 버튼으로 해당 규칙이 초기화되거나 대체되지는 않습니다.

새 규칙 만들기

PCB Rules and Constraints Editor 대화상자에서 새 설계 규칙을 추가하려면, 왼쪽 트리에서 필요한 규칙 유형으로 이동해 선택한 다음, 규칙 요약 목록 아래의 New Rule 버튼을 클릭하거나, 필요한 규칙 유형 위에서 마우스 오른쪽 버튼을 클릭한 후 컨텍스트 메뉴에서 New Rule를 선택하십시오.

새 규칙은 폴더 트리에 추가되며, 해당 규칙 유형의 요약 목록에도 표시됩니다. 규칙 이름은 새로 생성되었고 아직 '적용'되지 않았음을 구분하기 위해 굵게 표시됩니다.

새 PCB 설계 규칙 생성 예시.
새 PCB 설계 규칙 생성 예시.

새 규칙이 추가되면 처음에는 해당 규칙 유형에 따라 기본 이름이 지정됩니다. 예를 들어 새 Clearance 규칙을 추가하면 기본 이름은 Clearance가 됩니다. 이 기본 이름을 변경하지 않은 상태에서 동일한 유형의 새 규칙을 하나 더 추가하면, 같은 규칙 이름에 숫자 접미사가 증가된 형태가 됩니다(즉, Clearance_1Clearance_2 등).

특정 규칙 유형에 대해 새 규칙이 생성되면 자동으로 우선순위 1(가장 높은 우선순위)이 부여됩니다. 동일 유형의 다른 규칙이 이미 있으면 그 규칙들의 우선순위는 그에 따라 한 단계씩 밀려나게(낮아지게) 됩니다. 그러면 이들 규칙은 범위/제약 수준에서 직접 수정하지 않았더라도 수정된 것으로 간주됩니다. 따라서 해당 유형의 기존 규칙은 모두 수정된 상태(별표가 있는 굵은 글씨)로 표시됩니다.

규칙의 범위 및 제약 속성에 접근하려면, 폴더 트리 창에서 해당 규칙 항목을 클릭하거나 요약 목록에서 해당 항목을 두 번 클릭하십시오. 그러면 대화상자의 주 편집 창이 바뀌면서 해당 규칙의 범위 및 제약 속성을 정의할 수 있는 컨트롤에 접근할 수 있습니다.

범위와 제약을 포함한 규칙의 상세 제어 항목에 접근하는 모습.
범위와 제약을 포함한 규칙의 상세 제어 항목에 접근하는 모습.

새 규칙을 완전히 정의하려면:

  • 식별하기 쉽도록 규칙에 의미 있는 이름을 지정합니다.
  • 드롭다운에서 범위 지정 옵션을 선택하거나, 쿼리(이진 규칙의 경우 여러 쿼리)를 입력하여 규칙의 범위를 정의합니다.
  • 규칙의 제약 조건을 설정합니다.
  • 규칙의 우선순위를 설정합니다.

Rule Wizard를 사용해 새 규칙 만들기

새 규칙은 Design Rule Wizard를 사용해서도 만들 수 있습니다. Design » Rule Wizard 명령을 직접 사용하거나 PCB Rules and Constraints Editor 대화상자 하단의 Rule Wizard 버튼을 클릭하여 접근할 수 있습니다.

기존 규칙에 아직 '적용'되지 않은 수정 사항이 있으면 Rule Wizard 버튼을 사용할 수 없습니다.

Wizard의 각 페이지를 사용해 새 설계 규칙을 만드십시오. 단계는 다음과 같습니다:

  1. 필요한 규칙 유형을 선택하고 의미 있는 이름을 지정합니다(필요하면 설명도 추가).
  2. 규칙의 범위를 정의합니다. Wizard에 내장된 Query Builder 구현을 통해 범위 지정을 더 세밀하게 조정할 수 있습니다.
  3. 규칙 우선순위를 설정합니다.
Launch main design rules dialog 옵션이 Wizard의 마지막 페이지에서 활성화되어 있으면, Finish 버튼을 클릭할 때 PCB Rules and Constraints Editor 대화상자가 열립니다. 이 대화상자를 사용해 새로 만든 규칙의 제약 조건을 편집할 수 있습니다.

Design Rule Wizard를 사용해 규칙 생성을 간소화하십시오.
Design Rule Wizard를 사용해 규칙 생성을 간소화하십시오.

기존 규칙 복제하기

기존 규칙과 동일한 복사본을 빠르게 만들려면 복제 기능을 사용하십시오. 이 기능은 두 가지 방법으로 접근할 수 있습니다:

  • 왼쪽 트리를 사용해 필요한 기존 규칙으로 이동한 다음, 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 Duplicate Rule를 선택합니다.

  • 왼쪽 트리에서 특정 규칙 유형으로 이동한 뒤, 오른쪽 요약 목록에서 복제할 규칙을 선택하고 목록 아래의 Duplicate Rule 버튼을 클릭합니다.

규칙 복제 기능을 사용해 유사한 규칙 생성을 간소화하십시오.
규칙 복제 기능을 사용해 유사한 규칙 생성을 간소화하십시오.

복제된 규칙은 원본과 동일한 이름을 가지되, 이를 구분하기 위해 접미사(예: _1)가 추가됩니다. 그 정의(범위, 제약 등)는 원본과 동일합니다. 우선순위 측면에서는 원본 규칙 바로 아래의 다음 우선순위가 부여됩니다. 예를 들어 원본 규칙의 우선순위가 1이면, 복제본에는 2 우선순위가 부여됩니다.

PCB Filter 패널에서 규칙 만들기

설계 규칙은 대상 설계 객체 집합에 적용되도록 범위가 지정되므로, 먼저 해당 객체를 식별한 다음 그것들을 대상으로 하는 설계 규칙을 만드는 편이 더 쉽고 빠를 수 있습니다. PCB Filter panel은 패널에 현재 정의된 쿼리 표현식을 범위로 사용하는 설계 규칙을 생성하는 기능을 제공합니다. 따라서 쿼리 표현식이 might 어떤 대상을 지정하는지 머릿속으로만 파악하려 애쓰기보다는, PCB Filter 패널을 사용해 필요한 객체만 필터링될 때까지 쿼리 표현식을 테스트하고 조정하십시오. 그런 다음 해당 쿼리 표현식을 사용하는 규칙을 생성하면 정확한 객체 집합을 대상으로 하게 됩니다.

새 설계 규칙을 추가하려면:

  1. Create Rule 버튼을 클릭합니다. Choose Design Rule Type 대화상자가 나타납니다. 이 대화상자에는 PCB 문서에서 사용할 수 있는 각 규칙 카테고리와 규칙 유형이 나열됩니다.
  2. 생성할 규칙 유형을 선택한 다음 OK를 클릭합니다(또는 해당 항목을 직접 두 번 클릭).
  3. PCB Rules and Constraints Editor 대화상자가 나타납니다. 선택한 유형의 규칙이 생성되고, 해당 규칙의 주 편집 창이 표시되어 규칙의 구체적인 제약을 정의할 수 있는 상태가 됩니다. 규칙의 범위 지정 옵션은 Custom Query로 설정되며, PCB Filter 패널의 쿼리 표현식이 그에 맞게 쿼리 영역에 입력됩니다.
  4. 필요에 따라 규칙의 이름과 제약 조건을 변경합니다. 필요하면 우선순위도 변경합니다(기본적으로 가장 높은 우선순위가 부여됨).

PCB Filter 패널에서 직접 새 설계 규칙을 만드십시오. 필터 쿼리 표현식이 규칙의 범위로 사용됩니다.
PCB Filter 패널에서 직접 새 설계 규칙을 만드십시오. 필터 쿼리 표현식이 규칙의 범위로 사용됩니다.

이전 쿼리 표현식 재사용

시간이 지나면서 다양한 보드를 레이아웃하는 과정에서 유용한 쿼리 식이 다수 만들어지게 됩니다. 일반적으로 동일한 디자인 내에서뿐 아니라 서로 다른 디자인 간에도 같은 쿼리를 적용하고 다시 적용하고 싶을 것입니다. 이를 위해 PCB Filter panelHistoricalFavorite 쿼리 개념을 지원합니다.

패널에서 쿼리를 입력하고 적용하면 해당 쿼리가 쿼리 '히스토리 목록'에 추가됩니다. 또한 Add To Favorites 버튼을 클릭하여 그 쿼리를 쿼리 '즐겨찾기 목록'에 추가할 수도 있습니다. 패널의 HistoryFavorites 버튼을 사용하면 Expression Manager dialog 내에서 동일한 이름의 해당 탭에 액세스하여 이러한 목록을 확인할 수 있습니다.

적용된 쿼리 식의 이력을 확인하고, 반복적으로 재사용할 즐겨찾기 식 목록을 만들 수 있습니다.
적용된 쿼리 식의 이력을 확인하고, 반복적으로 재사용할 즐겨찾기 식 목록을 만들 수 있습니다.

각 목록의 식을 사용하려면 해당 항목을 더블클릭하거나 항목을 선택한 뒤 Apply Expression 버튼을 클릭합니다. 그러면 Expression Manager dialog가 닫히고 식이 Filter panel의 PCB Filter 영역에 로드됩니다.

이 기능은 필요한 스코프를 갖는 규칙 생성을 간소화하고(또한 더 빠르게 만들어 줍니다) 줍니다. 즉, 이전에 사용했거나 즐겨찾기에 저장한 쿼리 식을 불러오고, 그것이 여전히 필요한 객체 집합을 대상으로 하는지 확인한 후(필터 적용), 이전 섹션에서 설명한 대로 그 식을 스코프로 사용하는 규칙을 생성할 수 있습니다.

Design Rule 스코프 지정

Altium Designer의 PCB 편집기는 규칙 기반 환경입니다. 설계 요구사항은 보드의 제약 조건을 집합적으로 정의하는, 잘 정의된 일련의 설계 규칙을 통해 적용됩니다. 설계 규칙은 디자인 내의 특정 객체를 대상으로 합니다. PCB 규칙 시스템이 주어진 규칙이 어떤 객체에 적용되는지 알기 위해서는 해당 규칙의 스코프, 즉 적용 범위를 알아야 합니다. Scoping 즉, 규칙의 타기팅은 PCB Rules and Constraints Editor dialog에서 수행됩니다.

기본 설계 규칙 또는 새로 추가된 규칙에는 기본 규칙 스코프인 All가 설정되며, 이는 보드의 all objects에 적용된다는 의미입니다. 드롭다운을 사용하면 간단한 규칙 스코프를 빠르게 구성할 수 있습니다.

Design Rule의 스코프를 설정하여 디자인 객체에 대한 적용 범위를 정의합니다.
Design Rule의 스코프를 설정하여 디자인 객체에 대한 적용 범위를 정의합니다.

미리 정의된 가능한 대상 옵션 목록으로 제한되는 대신, 각 설계 규칙은 Query라고 하는 것을 작성하여 더 세밀하게 스코프를 지정할 수 있습니다.

쿼리를 입력하려면 첫 번째 Where The Object Matches 드롭다운을 Custom Query(으)로 설정합니다. 그러면 현재 드롭다운 설정을 기준으로 이 규칙에 대해 규칙 엔진이 현재 사용 중인 쿼리가 표시됩니다.

쿼리는 본질적으로 어떤 디자인 객체 집합을 대상으로 할지 정의하는 소프트웨어용 지시문입니다. 쿼리는 쿼리 키워드를 사용하여 작성됩니다. 특정 객체 집합을 찾기 위해 Filter panel에서 쿼리를 작성할 수 있는 것과 같은 방식으로, 각 규칙이 대상으로 삼는 객체를 정의하기 위한 쿼리도 작성할 수 있습니다. 예를 들면 다음과 같습니다.

InNet('VBAT') And OnLayer('Bottom Layer')

이 쿼리를 Width rule의 스코프로 사용하면, VBAT 넷을 라우팅하다가 바텀 레이어로 전환할 때 트랙 폭이 해당 규칙의 제약 조건에 지정된 폭으로 자동 변경됩니다. 또한 설계 규칙 검사를 실행하면 바텀 레이어에서의 모든 VBAT 넷 라우팅은 지정된 폭을 가져야 하며, 그렇지 않으면 위반으로 표시됩니다.

규칙의 스코프 지정은 쿼리 시스템을 기반으로 합니다. Custom Query 옵션을 사용하면 현재 쿼리를 확인하고 필요 시 쿼리 키워드를 사용해 변경할 수 있습니다.
규칙의 스코프 지정은 쿼리 시스템을 기반으로 합니다. Custom Query 옵션을 사용하면 현재 쿼리를 확인하고 필요 시 쿼리 키워드를 사용해 변경할 수 있습니다.

규칙이 unary인지 binary인지에 따라 각각 하나 또는 두 개의 스코프를 정의해야 합니다. unary 설계 규칙의 경우 단일 규칙 스코프를 정의하는 컨트롤이 제공됩니다. Where The Object Matches 영역에서 제공되는 옵션을 사용해 쿼리 식 작성을 도울 수 있으며, 결과 식은 오른쪽 영역에 표시됩니다. binary 설계 규칙의 경우 두 규칙 스코프를 정의하기 위해 Where The First Object Matches Where The Second Object Matches 용 컨트롤이 제공됩니다. 각각의 사용 가능한 드롭다운을 이용해 쿼리 식 작성을 도울 수 있습니다. 하나의 규칙 스코프를 정의하든 두 개를 정의하든 컨트롤은 동일합니다.

PCB 컴포넌트 designator 또는 polygon 이름이 변경되면, 사용자 지정 쿼리를 사용하는 설계 규칙 내 참조가 자동으로 업데이트됩니다. 설계 규칙에서 PCB 컴포넌트 designator를 참조하는 쿼리는 designator가 재주석 처리되거나, ECO에 의해 업데이트되거나, 보드에서 수동으로 편집될 때 변경됩니다.

컴포넌트 designator가 변경될 때 규칙 쿼리를 업데이트하는 기능은 Advanced Settings dialog에서 PCB.Rules.UpdateQueryOnComponentDesignatorChange 옵션이 활성화된 경우 사용할 수 있습니다.

polygon 이름이 변경될 때 규칙 쿼리를 업데이트하는 기능은 Advanced Settings dialog에서 PCB.Rules.UpdateQueryOnPolygonNameChange 옵션이 활성화된 경우 사용할 수 있습니다.

쿼리에 구문 오류가 있으면 해당 규칙은 유효하지 않은 것으로 간주되며 PCB Rules and Constraints Editor dialog에서 왼쪽 규칙 트리와, 그 규칙이 표시되는 모든 요약 보기(규칙 카테고리 또는 규칙 유형)에서 빨간색으로 강조 표시됩니다. 또한 규칙 유형과 규칙 카테고리 텍스트도 왼쪽 규칙 트리에서 빨간색으로 표시됩니다. 따라서 유효하지 않은 규칙을 포함한 규칙 트리 영역을 접어 두었더라도 계층 구조의 상위 수준에서 이를 인지할 수 있습니다. 또한 dialog를 닫으려고 하면 경고 메시지도 표시됩니다. 구문 오류가 있는 규칙 스코프는 Online 및 Batch DRC 분석 프로세스를 크게 느리게 만들 수 있습니다. 구문적으로 올바르지 않은 모든 규칙 스코프는 반드시 해결하십시오.

스코프 지정 옵션

간단한 스코프 지정 옵션이 제공되어 스코프 쿼리를 빠르게 생성할 수 있습니다. 첫 번째 드롭다운 필드에서 옵션 하나를 선택하고, 필요한 경우 이어지는 드롭다운 목록에서 Net, Layer, Footprint, Package 등 적절한 대상을 선택합니다. 제공되는 스코프 지정 옵션은 규칙 유형에 따라 조정됩니다.

간단한 스코프 지정 옵션을 사용해 쿼리를 빠르게 생성합니다.
간단한 스코프 지정 옵션을 사용해 쿼리를 빠르게 생성합니다.

간단한 스코프 지정 옵션의 예는 다음과 같습니다.

  • All - 모든 디자인 객체를 대상으로 하는 스코프 쿼리를 생성합니다.

  • Net - 특정 넷의 모든 객체를 대상으로 하는 스코프 쿼리를 생성합니다. 추가 드롭다운이 나타나며, 여기서 No Net을(를) 포함한 사용 가능한 선택 목록 중 원하는 넷을 선택할 수 있습니다.

  • Net Class - 특정 넷 클래스의 모든 객체를 대상으로 하는 스코프 쿼리를 생성합니다. 추가 드롭다운이 나타나며, 여기서 All Nets을(를) 포함한 사용 가능한 선택 목록 중 원하는 넷 클래스를 선택할 수 있습니다.

  • Layer - 특정 레이어의 모든 객체를 대상으로 하는 스코프 쿼리를 생성합니다. 추가 드롭다운이 나타나며, 여기서 사용 가능한 선택 목록 중 원하는 레이어를 선택할 수 있습니다.

  • Net and Layer - 특정 넷에 속하고 특정 레이어 위에 있는 모든 객체를 대상으로 하는 스코프 쿼리를 생성합니다. 추가 드롭다운 두 개가 나타나며, 여기서 원하는 넷과 레이어를 선택할 수 있습니다.

간단한 스코프 지정 옵션을 사용해 규칙의 스코프를 지정하더라도 쿼리는 여전히 생성됩니다. 첫 번째 드롭다운 필드에서 Custom Query을(를) 선택하면 그 쿼리가 표시됩니다.

Custom Query 옵션을 사용하면 사용자 고유의, 더 복잡할 수 있지만 더 구체적인 쿼리를 작성할 수 있습니다. 규칙 스코프용 구체적인 쿼리를 오른쪽 쿼리 영역에 직접 입력할 수 있습니다. 또는 논리적 쿼리 식 생성을 돕는 두 가지 기능도 사용할 수 있습니다. 바로 Query BuilderQuery Helper입니다. 쿼리의 구문이나 사용 가능한 키워드가 확실하지 않을 때 유용합니다.

Custom Query 옵션을 사용해 더 복잡한 쿼리 식을 작성하십시오.
Custom Query 옵션을 사용해 더 복잡한 쿼리 식을 작성하십시오.

  • Query Language에 익숙하다면 쿼리 영역에 직접 쿼리 식을 입력할 수 있습니다. 또한 즐겨 사용하는 편집기에서 쿼리 식을 직접 이 영역에 붙여넣거나, 쿼리 식을 외부 편집기로 복사하거나, 심지어 binary 규칙의 두 번째 스코프에 쿼리를 붙여넣을 수도 있습니다. 이는 두 스코프가 복잡하면서도 약간의 차이만 있을 때 특히 유용합니다.

  • Query Builder은(는) 관련 있는 '빌딩 블록'만 사용해 작성할 수 있도록 민감한 조건 유형과 값을 사용하는, 더 간단한 쿼리 구성 방법입니다. 전체 키워드 지정과 연산자 구문이 필요한 고급 쿼리 작성을 위해서는 Query Helper을(를) 사용하십시오.

Query Builder로 규칙 스코프 지정하기

Custom Query 옵션을 선택한 경우 버튼을 클릭해 Building Query from Board dialog를 엽니다. 이 dialog에서는 조건문 문자열을 간단히 구성하는 방식으로 설계 문서 내 특정 객체를 대상으로 하는 쿼리를 만들 수 있습니다.

대화상자의 왼쪽 섹션은 필요한 객체 집합을 대상으로 지정하기 위해 필요한 조건을 지정하는 데 사용됩니다. 각 조건은 Condition Type 와 Condition Value로 구성됩니다. 이 드롭다운 필드에는 현재 규칙 유형에 대한 범위를 구성하는 데 관련된 항목과, 선택한 조건 유형에 대한 값이 각각 채워집니다.

조건을 정의하면 현재 구성된 쿼리의 미리보기가 대화상자의 오른쪽 섹션에 표시됩니다. 조건은 AND 및/또는 OR로 함께 결합할 수 있으며, 우선순위도 괄호/들여쓰기를 사용해 적용하여 대상 객체 집합을 더 정교하게 지정할 수 있습니다. 필요한 대로 쿼리 식이 정의되면 OK를 클릭하여 식을 PCB Rules and Constraints Editor 대화상자의 쿼리 영역으로 불러올 수 있습니다.

PCB Rules and Constraints Editor 대화상자에 표시될 때 쿼리 식의 시작과 끝에 각각 추가 여는 괄호와 닫는 괄호가 덧붙는다는 점에 유의하십시오.

Query Builder를 사용하여 일련의 조건문을 통해 논리 쿼리 식을 작성합니다.
Query Builder를 사용하여 일련의 조건문을 통해 논리 쿼리 식을 작성합니다.

Query Helper를 사용한 규칙 범위 지정

Custom Query 옵션을 선택한 경우 버튼을 클릭해 Query Helper 대화상자에 액세스합니다. 내부 Query Engine은 PCB 설계를 분석하고, 쿼리에 사용할 수 있는 일반 키워드와 함께 사용 가능한 모든 객체를 나열합니다.

Query Helper 사용법은 상당히 직관적이며, 아래 이미지와 같이 세 개의 뚜렷한 영역으로 나누어 보면 더욱 이해하기 쉽습니다.

Query Helper를 사용해 정의한 복잡한 쿼리의 예.
Query Helper를 사용해 정의한 복잡한 쿼리의 예.

이 영역들은 다음과 같습니다.

  1. Query Region – 이 대화상자 영역은 쿼리 식을 작성하는 데 사용됩니다. 기본적으로 대화상자를 열면 규칙 범위에 현재 적용 중인 식이 이 영역에 표시됩니다. 이 영역에 직접 입력할 수 있으며, 도움을 위해 가능한 키워드나 객체의 문맥 인식형 '프롬프트 목록'이 표시됩니다.
  2. Operators – 이 대화상자 영역은 식을 구성할 때 사용할 수 있는 다양한 수학 및 논리 연산자를 제공합니다. 버튼을 클릭하면 위의 Query 영역에 있는 쿼리 식의 현재 커서 위치에 해당 연산자가 추가됩니다.
  3. Categories, Keywords and Objects – 이 대화상자 영역에서는 쿼리 식 생성에 사용할 수 있는 PCB Functions, PCB Object Lists, System Functions에 액세스할 수 있습니다. 이 세 영역 각각에서 하위 범주를 클릭하면 오른쪽 영역에 해당 키워드 또는 객체 목록이 표시됩니다. 쿼리 문자열에 사용할 키워드 또는 객체를 찾은 다음 해당 항목을 더블클릭하면 위의 Query 영역에 있는 쿼리 식의 현재 커서 위치에 삽입됩니다.

식이 구문상 올바른지 확인하려면 버튼(대화상자 왼쪽 하단)을 사용하십시오. 필요한 대로 쿼리 식이 정의되면 OK를 클릭하여 식을 PCB Rules and Constraints Editor 대화상자의 쿼리 영역으로 불러올 수 있습니다.

Query Helper 대화상자를 사용해 쿼리를 작성하는 동안, 사용 가능한 목록 중 하나에서 키워드를 클릭한 후 F1를 누르면 Query Language Reference에서 해당 키워드의 문서에 액세스할 수 있습니다.

쿼리 식 연산자 우선순위

이 부분을 마무리하기 전에 논리 쿼리 식에 사용되는 연산자의 우선순위를 살펴볼 필요가 있습니다. 이러한 지식이 없으면 식이 필요한 객체를 정확히 대상으로 지정하지 못할 수 있기 때문입니다.

여러 연산자에 대해 정의된 우선순위 체계에서 괄호가 가장 높은 우선순위를 가지며, 이 우선순위는 사용자가 괄호를 제공하지 않았을 때 소프트웨어가 쿼리를 어떻게 해석할지를 결정합니다. 높은 순서에서 낮은 순서로의 우선순위는 다음과 같습니다.

  1. 괄호
  2. Not
  3. ^, *, /, Div, Mod, And
  4. +, -, Or, Xor
  5. =, <>, <, >, <=, >=
  6. &&, ||

이 우선순위는 Pascal 계열 언어에서 사용되는 것과 유사합니다. 모호한 경우에는 왼쪽에서 오른쪽으로 처리하여 해결합니다. 괄호는 안쪽에서 바깥쪽으로 평가되며, 동일한 수준의 연산은 왼쪽에서 오른쪽으로 평가됩니다.

쿼리가 올바르게 해석되지 않을 가능성이 조금이라도 있다면 언제든 괄호를 사용하는 것이 매우 바람직합니다. 괄호를 충분히 사용하면 모호함이 사라지고, 결과 쿼리를 다른 사람이 읽고 이해하기도 쉬워집니다.

규칙 우선순위 지정

규칙 정의 및 관리 과정을 단순화하기 위해, 먼저 폭넓은 요구 사항을 포괄하는 일반 규칙을 정의한 다음 특정 상황에서는 더 구체적인 규칙으로 이를 재정의하는 방식을 사용합니다. 이를 가능하게 하려면 동일한 유형의 여러 규칙이 하나의 객체를 대상으로 할 때 어떤 규칙을 적용할지 나타내기 위해 규칙 우선순위를 지정할 수 있어야 합니다.

예를 들어 보드에서 가장 일반적으로 사용되는 배선 폭을 지정하려면 보드의 모든 넷에 적용되는 단일 규칙을 정의합니다. 그런 다음 특정 넷(또는 넷 클래스)에 대해서는 같은 유형이지만 더 높은 우선순위를 가진 다른 규칙을 추가하여 이 규칙을 재정의할 수 있습니다.

또 다른 예는 솔더 마스크 요구 사항입니다. 이 경우 보드의 모든 패드와 비아를 대상으로 하는 하나의 마스크 규칙을 정의한 다음, 특정 풋프린트 종류에 속한 패드에 대해서는 이를 재정의할 수 있습니다. 필요하다면 이 풋프린트 전용 규칙도 해당 풋프린트의 특정 패드에 대해 다시 재정의할 수 있습니다.

규칙을 관리할 때 중요한 측면 중 하나는 모든 우선순위가 적절하게 설정되어 있는지 확인하는 것입니다. 새 규칙을 만들면 기본적으로 가장 높은 우선순위가 부여됩니다. PCB Rules and Constraints Editor 대화상자 하단의 Priorities 버튼을 사용해 Edit Rule Priorities 대화상자에서 우선순위를 구성하십시오.

Edit Rule Priorities 대화상자에서 규칙 우선순위를 변경합니다.
Edit Rule Priorities 대화상자에서 규칙 우선순위를 변경합니다.

처음에는 현재 PCB Rules and Constraints Editor 대화상자에서 선택된 규칙 유형에 대한 모든 규칙 인스턴스가 대화상자에 나열됩니다. Rule Type 필드를 사용해 규칙 유형을 변경하고 해당 유형에 대해 정의된 특정 규칙을 나열할 수 있습니다. 정의된 규칙은 현재 우선순위 순서대로, 즉 1(가장 높은 우선순위)부터 아래 방향으로 나열됩니다. 규칙 항목을 선택한 후 Increase PriorityDecrease Priority 버튼을 사용하여 각각 우선순위 순서에서 위나 아래로 이동시킬 수 있습니다.

이미 하나 이상의 기존 규칙이 포함된 규칙 유형에 새 규칙을 추가하면 우선순위는 1(즉, 가장 높은 우선순위)로 설정됩니다. 규칙을 복제하면 복사본에는 원본 규칙보다 낮은 우선순위가 부여됩니다.

동일한 유형의 규칙을 여러 개 설정할 수 있습니다. 이 경우 동일한 범위를 가진 둘 이상의 규칙이 하나의 설계 객체에 적용되는 상황이 발생할 수 있습니다. 이때는 충돌이 발생합니다. 모든 충돌은 우선순위 설정으로 해결됩니다. 시스템은 가장 높은 우선순위부터 가장 낮은 우선순위까지 규칙을 순서대로 확인하고, 검사 중인 객체와 범위 식이 일치하는 첫 번째 규칙을 선택합니다. 단, 예외가 하나 있는데, 여러 Matched Length 설계 규칙은 객체에 적용될 수 있으며, 이 경우 해당 객체에는 모든 규칙이 적용됩니다.

기존 규칙 수정

물론 규칙은 언제든지 수정할 수 있습니다. 실제로 최종적으로 제대로 동작하는 규칙 집합에 도달하기까지는 여기저기에서 몇 가지 핵심적인 미세 조정이 필요한 경우가 많습니다. 일반적으로 이는 각 규칙이 의도한 대상 설계 객체를 제대로 '포착'하도록 범위를 조정하는 작업을 포함합니다. PCB Rules and Constraints Editor 대화상자에서 기존 규칙을 선택한 다음, 필요에 따라 해당 범위 및 제약 조건 속성을 변경하십시오.

기존 규칙 정의에 가해진 변경 사항은 폴더 트리 창과 해당 요약 목록 모두에서 강조 표시됩니다. 이러한 항목은 규칙 이름이 굵게 표시되고 이름 오른쪽에 별표가 추가되어 구분됩니다. 이 별표는 해당 규칙이 새로 생성된 규칙이 아니라 수정된 기존 규칙임을 나타내는 데 사용됩니다(새 규칙은 별표 없이 굵게만 표시됨).

수정된 기존 규칙의 예입니다. 규칙 이름을 굵게 표시하고 별표를 추가해 수정되었음을 나타냅니다.
수정된 기존 규칙의 예입니다. 규칙 이름을 굵게 표시하고 별표를 추가해 수정되었음을 나타냅니다.

특정 규칙 유형에 대해 새 규칙이 생성되면 자동으로 우선순위 1이 부여됩니다. 같은 유형의 다른 규칙이 이미 존재한다면, 해당 규칙들의 우선순위는 그에 따라 한 단계씩 밀려납니다(낮아짐). 그러면 이 규칙들은 범위/제약 수준에서 직접 수정되지 않았더라도 수정된 것으로 간주됩니다. 따라서 해당 유형의 모든 기존 규칙은 수정된 상태(굵게 + 별표)로 표시됩니다.

유효하지 않은 규칙 표시

시스템이 규칙을 유효하지 않다고 감지하면(예: 범위 쿼리 식에 문제가 있거나 허용되지 않는 제약 값이 있는 경우) 해당 규칙은 유효하지 않은 것으로 표시됩니다. 이러한 규칙은 PCB Rules and Constraints Editor 대화상자의 왼쪽 규칙 트리와, 그 규칙이 나타나는 모든 요약 보기(규칙 범주 또는 규칙 유형)에서 빨간색으로 강조 표시됩니다. 또한 왼쪽 규칙 트리 내에서 규칙 유형 및 규칙 범주의 텍스트도 빨간색으로 표시됩니다. 따라서 유효하지 않은 규칙이 포함된 규칙 트리 영역을 접어 둔 상태라도, 계층 구조의 더 높은 수준에서 이를 확인할 수 있습니다. 대화상자를 닫으려 할 때 경고 메시지도 표시됩니다.

구문 오류가 있는 규칙 범위는 Online 및 Batch DRC 분석 속도를 크게 저하시킬 수 있으므로, 구문상 올바르지 않은 규칙 범위는 반드시 해결해야 합니다.

시스템이 유효하지 않은 설계 규칙을 표시하는 예로, 여기서는 잘못된 범위 쿼리 식이 원인입니다.
시스템이 유효하지 않은 설계 규칙을 표시하는 예로, 여기서는 잘못된 범위 쿼리 식이 원인입니다.

규칙 비활성화

소프트웨어의 PCB 편집기에서 규칙 기반 환경을 사용하다 보면, 보드를 성공적으로 제약하기 위해 꽤 인상적이고 포괄적인 규칙 집합을 구축하게 되는 경우가 흔합니다. 작업을 진행하는 과정에서 여러 이유로 일부 규칙을 비활성화하고 싶을 수 있습니다. 예를 들어 해당 보드에는 적용되지 않거나, Design Rule Checker의 부담을 줄여 결과적으로 성능을 높이기 위해 일시적으로 비활성화해야 할 수도 있습니다. 비활성화는 나중에 다시 필요할 경우를 대비해 이러한 규칙을 그대로 유지하는 좋은 방법입니다.

규칙을 비활성화하려면, PCB Rules and Constraints Editor 대화상자의 오른쪽에 있는 관련 요약 목록 중 하나에서 해당 규칙의 Enable 옵션을 전환합니다. 비활성화된 규칙은 '회색으로 표시'되어 나타납니다.

요약 목록에서 회색 글꼴로 표시된 비활성화된 규칙의 예.
요약 목록에서 회색 글꼴로 표시된 비활성화된 규칙의 예.

규칙은 PCB Rules And Violations panel에서도 직접 비활성화/활성화할 수 있습니다. 해당 규칙에 연결된 On 옵션을 전환하면 됩니다. 이 변경은 PCB Rules and Constraints Editor 대화상자에 있는 해당 규칙의 Enable 옵션에도 반영됩니다.

규칙 삭제

PCB Rules and Constraints Editor 대화상자에서 단일 설계 규칙을 삭제하려면 다음과 같이 하십시오.

  • 왼쪽 트리를 사용하여 필요한 기존 규칙으로 이동한 다음, 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 Delete Rule을(를) 선택합니다.
  • 왼쪽 트리에서 특정 규칙 유형으로 이동한 다음, 오른쪽 요약 목록에서 삭제할 규칙을 선택합니다. 그런 다음 목록 아래의 Delete Rule(s) 버튼을 클릭합니다.

규칙 이름은 아직 '적용'되지 않은 삭제 항목임을 구분할 수 있도록 취소선이 그어진 굵은 글꼴로 표시됩니다.

단일 규칙 삭제.
단일 규칙 삭제.

  • 특정 설계 규칙이 더 이상 필요하지 않지만 향후 다시 사용할 가능성이 있다면, 삭제하는 대신 간단히 비활성화할 수 있습니다. 이렇게 하려면 PCB Rules and Constraints Editor 대화상자의 오른쪽에 있는 관련 요약 목록 중 하나에서 해당 규칙의 Enable 옵션을 전환하십시오.

  • 요약 목록 보기에서는 여러 규칙을 한 번에 삭제할 수 있습니다. 삭제할 규칙을 선택한 다음(표준 Shift+clickCtrl+click 단축키 지원), 목록 아래의 Delete Rule(s) 버튼을 클릭하십시오.

  • Design Rule Check 시스템이 작동하려면 반드시 존재해야 하는 규칙이 있습니다. 이러한 규칙 중 하나가 삭제되어(즉, 해당 유형의 규칙이 하나도 남지 않게 되면) 자동으로 다시 생성됩니다. 기본 설계 규칙에 대해 자세히 알아보십시오.

많은 규칙 유형은 새 PCB 문서를 만들 때 기본 규칙이 생성됩니다. 이와 비슷하게, 이러한 규칙 유형 중 하나에 대한 특정 규칙이 모두 삭제되면 다음에 PCB Rules and Constraints Editor 대화상자에 접근할 때 기본 규칙이 자동으로 다시 추가됩니다. 또는 대화상자 하단의 Create Default Rules 버튼을 클릭하여 기본 규칙을 다시 생성할 수도 있습니다.

규칙 내보내기 및 가져오기

설계 규칙은 PCB Rules and Constraints Editor 대화상자에서 내보내고 가져올 수 있습니다. 이를 통해 서로 다른 설계 간에 자주 사용하는 규칙 정의를 저장하고 불러올 수 있습니다.

  • To export – 대화상자 왼쪽의 트리 영역 아무 곳에서나 마우스 오른쪽 버튼을 클릭하고 Export Rules을(를) 선택합니다. 그러면 Choose Design Rule Type dialog가 열리며, 여기서 내보낼 설계 규칙을 선택할 수 있습니다. 이어서 열리는 Export Rules to File 대화상자에서 .rul 파일의 이름과 저장 위치를 지정할 수 있습니다. 내보낸 규칙은 PCB Rule 파일(*.rul)에 저장됩니다.
  • To import – 대화상자 왼쪽의 트리 영역 아무 곳에서나 마우스 오른쪽 버튼을 클릭하고 Import Rules을(를) 선택합니다. 그러면 Choose Design Rule Type dialog가 열리며, 여기서 가져올 설계 규칙을 선택할 수 있습니다. 이어서 열리는 Import File 대화상자에서 가져올 .rul 파일을 찾습니다. 

가져오는 경우, 선택한 유형의 규칙이 이미 존재하면 가져오기 전에 기존 규칙을 지울지 여부를 선택할 수 있습니다. Yes을(를) 클릭하면 해당 유형의 기존 규칙이 모두 삭제되고, 이어서 .rul 파일의 규칙으로 대체됩니다. No을(를) 클릭하면 기존 규칙이 유지됩니다. 하지만 기존 규칙과 가져온 규칙의 이름이 같으면 가져온 규칙이 기존 규칙을 덮어씁니다.

설계 규칙 보고서

현재 정의된 설계 규칙의 보고서는 PCB Rules and Constraints Editor 대화상자에서 생성할 수 있습니다. 보고서는 폴더 트리에서 선택한 항목에 따라 모든 규칙 범주, 특정 규칙 범주 또는 특정 규칙 유형에 대해 생성할 수 있습니다. 보고서는 다음 방법으로 생성할 수 있습니다.

  • 필요한 요약 목록에 접근한 후 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 Report 명령을 선택하거나, 목록 아래의 Report 버튼을 클릭합니다.
  • 폴더 트리에서 해당 항목 위에 마우스 오른쪽 버튼을 클릭한 후 컨텍스트 메뉴에서 Report 명령을 선택합니다.

Report Preview 대화상자가 열리며 적절한 보고서가 이미 로드된 상태로 표시됩니다. 이 대화상자에서 다양한 페이지/확대·축소 컨트롤을 사용해 보고서를 검토한 후, 최종적으로 파일로 내보내거나 인쇄할 수 있습니다.

PCB 규칙 보고서 생성.
PCB 규칙 보고서 생성.

회로도에서 규칙 정의

설계 제약 조건(규칙)은 구성된 규칙이 포함된 Parameter Set 지시어를 회로도 소스 문서에 추가하여 PCB 레이아웃 이전에 정의할 수 있습니다. 설계를 PCB 문서로 전송할 때 생성되는 해당 PCB 설계 규칙의 범위는 해당 파라미터가 할당된 객체의 성격에 따라 결정됩니다. 다음 표는 지원되는 회로도 파라미터-대-PCB 규칙 범위 옵션을 요약한 것입니다.

다음에 규칙 추가... 다음에서... 다음 PCB 규칙 범위에 대해...
와이어 Properties panel에서(선택한 파라미터 세트 객체의 속성을 탐색할 때), Parameter Set object를 와이어에 배치한 후 Place » Directives » Parameter Set 명령을 사용합니다.
버스 Properties panel에서(선택한 파라미터 세트 객체의 속성을 탐색할 때), Parameter Set object를 버스에 배치한 후 Place » Directives » Parameter Set 명령을 사용합니다. 넷 클래스
하네스 Properties panel에서(선택한 파라미터 세트 객체의 속성을 탐색할 때), Parameter Set object를 하네스에 배치한 후 Place » Directives » Parameter Set 명령을 사용합니다. 넷 클래스
블랭킷 Properties panel에서(선택한 파라미터 세트 객체의 속성을 탐색할 때), Parameter Set object를 블랭킷 가장자리에 배치한 후 Place » Directives » Parameter Set 명령을 사용합니다. 필요한 이름의 클래스를 포함하면 블랭킷이 포괄하는 모든 넷에 대한 넷 클래스가 생성되며, 이후 규칙 범위에 사용됩니다. 넷 클래스

각 경우 모두 규칙 기반 파라미터를 추가하는 방법은 동일합니다:

  1. 파라미터를 규칙으로 추가합니다.

  2. 사용할 규칙 유형을 선택합니다.

  3. 선택한 규칙 유형의 제약 조건을 구성합니다.

회로도의 객체에 설계 규칙 파라미터를 추가하면 각 규칙 파라미터에 고유 ID가 부여됩니다. PCB에서 생성되는 해당 설계 규칙에도 동일한 ID가 부여됩니다. 이 Unique ID를 통해 회로도 측이나 PCB 측 어느 쪽에서든 규칙의 제약 조건을 편집할 수 있으며, 동기화 시 변경 사항이 반영됩니다.

규칙 적용 확인

보드 설계에 따라 매우 단순한 범위부터 매우 복잡한 범위까지 다양한 스코프를 갖는 설계 규칙을 상당수 정의해야 할 수 있습니다. 정의한 규칙이 실제로 의도한 객체를 대상으로 하는지 확인하는 것이 좋습니다. 규칙 정의 단계에서 주의를 기울이면 잘못된 규칙 범위 지정으로 인해 발생한 위반을 추적하느라 낭비되는 시간과 노력을 줄일 수 있습니다.

규칙 범위를 검증하는 방법은 기본적으로 두 가지입니다. 설계 객체를 선택하여 현재 해당 객체에 적용되는 규칙을 확인하는 방법과, 규칙 자체를 기준으로 해당 규칙의 범위에 포함되는 객체를 확인하는 방법입니다.

객체 관점에서

현재 설계에 배치된 임의의 객체에 대해, 해당 객체에 적용되는 단항 설계 규칙 정보를 빠르게 확인할 수 있습니다. 객체 위에 커서를 올리고 마우스 오른쪽 버튼을 클릭한 다음 Applicable Unary Rules을(를) 선택합니다. 선택한 객체에 적용될 수 있는 정의된 모든 설계 규칙이 분석되어 Applicable Unary Rules 대화상자에 나열됩니다.

단일 예제 설계 객체에 적용 가능한 설계 규칙 – 단항 규칙.
단일 예제 설계 객체에 적용 가능한 설계 규칙 – 단항 규칙.

대화상자에 나열된 각 규칙 옆에는 체크 표시() 또는 X 표시()가 나타납니다. 체크 표시는 동일한 유형의 적용 가능한 모든 규칙 중 우선순위가 가장 높은 규칙을 의미하며, 이 규칙이 현재 적용 중인 규칙입니다. 동일한 유형의 더 낮은 우선순위 규칙은 옆에 X 표시와 함께 나열되며, 이는 해당 규칙도 적용 가능하지만 가장 높은 우선순위 규칙이 아니므로 현재는 적용되지 않음을 의미합니다.

객체에 적용될 수 있지만 현재 비활성화된 규칙도 옆에 X 표시가 나타나며 취소선 강조 표시로 표시됩니다.

이와 유사하게, 설계에서 배치된 두 객체 사이에 적용되는 이항 설계 규칙 정보도 확인할 수 있습니다. 아무 객체 위에나 커서를 올리고 마우스 오른쪽 버튼을 클릭한 다음 Applicable Binary Rules을(를) 선택합니다. 안내에 따라 설계 내 두 객체를 선택합니다. 그러면 Applicable Binary Rules 대화상자가 열리고 해당 객체들 사이에 적용되는 모든 이항 설계 규칙이 표시됩니다.

선택한 두 객체에 적용되는 이항 규칙이 없다면, Binary  Applicable Rules 대화상자의 버전은 열리지 않습니다.

두 예제 설계 객체 사이에 적용 가능한 설계 규칙 – 이항 규칙.
두 예제 설계 객체 사이에 적용 가능한 설계 규칙 – 이항 규칙.

규칙 관점에서

PCB Rules And Violations Panel을 통한 확인

PCB Rules And Violations panel에서 특정 규칙이 어떤 객체에 적용되는지도 빠르게 확인할 수 있습니다. 이 패널에는 현재 설계에 정의된 모든 규칙이 나열됩니다. 모든 규칙을 볼 수 있으며, 활성 설계에 특정 유형의 규칙이 하나 이상 정의되어 있는 경우 규칙 유형별로 탐색할 수도 있습니다. 패널의 Rules 영역에서 특정 규칙을 클릭하면 해당 규칙을 필터 범위로 사용하여 필터링이 적용됩니다. 규칙의 범위에 포함되는 설계 객체만 필터링됩니다. Mask(또는 Dim) 강조 기능을 사용하면 규칙이 대상으로 삼는 객체를 빠르게 확인할 수 있습니다.

PCB Rules And Violations 패널을 사용하여 선택한 규칙이 어떤 객체에 적용되는지 확인하는 예.
PCB Rules And Violations 패널을 사용하여 선택한 규칙이 어떤 객체에 적용되는지 확인하는 예.

대화상자의 강조 표시 방식이 Mask로 설정된 경우, 활성 필터 범위에 포함되지 않는 객체에 적용되는 마스킹 수준은 Masked Objects 슬라이더 바를 사용해 조정할 수 있으며, 이 슬라이더는 View Configuration panelView Options 탭에 있는 Mask and Dim Settings 섹션에서 액세스할 수 있습니다. 대화상자의 강조 표시 방식이 Dim로 설정된 경우에는 이 패널의 같은 섹션에서 제공되는 Dimmed Objects 슬라이더 바를 사용하여 활성 필터 범위에 포함되지 않는 객체에 적용되는 디밍 수준을 조정할 수 있습니다.

PCB Rules And Violations 패널을 사용해 규칙이 어떤 객체에 적용되는지 확인하는 기능은 규칙 범위에 대한 쿼리를 만들 때 특히 유용합니다. 패널에서 직접 규칙을 편집할 수 있으므로 원하는 객체가 범위에 포함될 때까지 쿼리를 조정할 수 있습니다.

규칙의 범위와 제약 조건을 편집하려면 패널에서 해당 규칙 항목을 더블클릭하거나 마우스 오른쪽 버튼을 클릭한 다음 컨텍스트 메뉴에서 Properties을(를) 선택합니다. 그러면 관련 Edit PCB Rule 대화상자가 표시되며, 여기서 변경을 수행할 수 있습니다.

대화상자에서 제공되는 컨트롤과 배너 텍스트는 편집 중인 설계 규칙의 유형에 따라 달라집니다.

규칙은 PCB Rules And Violations 패널에서 직접 편집할 수 있으므로 규칙 범위 및/또는 제약 조건을 즉시 더 세밀하게 조정할 수 있습니다.
규칙은 PCB Rules And Violations 패널에서 직접 편집할 수 있으므로 규칙 범위 및/또는 제약 조건을 즉시 더 세밀하게 조정할 수 있습니다.

PCB Rules and Constraints Editor 대화상자를 통한 확인

PCB Rules and Constraints Editor 대화상자에는 쿼리 테스트 기능이 포함되어 있어 특정 규칙이 어떤 객체에 적용되는지 빠르게 확인할 수 있습니다. 테스트하려는 규칙 대화상자의 오른쪽 상단에 있는 버튼을 클릭합니다. 그러면 Test Queries Result 대화상자가 표시됩니다. 이 대화상자에는 다음 정보가 반영됩니다:

  • Expression result – 식의 범위에 포함되는 객체 수입니다.

  • Objects applicable to rule – 식과 현재 규칙 유형을 기준으로 적용 가능한 객체 수입니다.

  • Expression and rule priority (단항 규칙에만 해당) – 식, 유형, 그리고 현재 규칙의 우선순위를 기준으로 적용 가능한 객체 수입니다(즉, 더 높은 우선순위의 규칙이 있는 경우 해당 규칙의 범위에 포함되는 객체는 이 값 계산에 포함되지 않습니다).

  • Rules with highest priorities (단항 규칙에만 해당) – 더 높은 우선순위의 규칙이 있는 경우 해당 규칙 목록과 함께 그 규칙들에 적용 가능한 객체 수(즉, 해당 규칙의 Expression and rule priority 값)가 대화상자에 표시됩니다.

오른쪽의 링크를 클릭하면 각 경우에 적용 가능한 객체를 설계 공간에서 직접 빠르게 필터링하여 확인할 수 있습니다. Mask 드롭다운에서 NormalMask,  또는 Dim 을 선택하여 PCB 문서에서 영향을 받는 객체를 어떤 방식으로 강조할지 지정합니다. Zoom 에 체크하면 PCB 문서가 영향받는 컴포넌트로 확대 표시됩니다.

 
 
 
 
 

Test Queries 기능을 사용하여 규칙의 범위 식에 포함되는 객체를 빠르게 확인합니다.
Test Queries 기능을 사용하여 규칙의 범위 식에 포함되는 객체를 빠르게 확인합니다.

AI-LocalizedAI로 번역됨
만약 문제가 있으시다면, 텍스트/이미지를 선택하신 상태에서 Ctrl + Enter를 누르셔서 저희에게 피드백을 보내주세요.
기능 제공 여부

사용 가능한 기능은 보유하고 계시는 Altium 솔루션에 따라 달라집니다. 해당 솔루션은 Altium Develop, Altium Agile의 에디션(Agile Teams 또는 Agile Enterprise), 또는 활성기간 내의 Altium Designer 중 하나입니다.

안내된 기능이 고객님의 소프트웨어에서 보이지 않는 경우, 보다 자세한 내용을 위해 Altium 영업팀 에 문의해 주세요.

구버전 문서

Altium Designer 문서는 더 이상 버전별로 제공되지 않습니다. 이전 버전의 Altium Designer 문서가 필요하신 경우, Other Installers 페이지의 Legacy Documentation 섹션을 방문해 주세요.

콘텐츠