PCB ルールと制約条件編集

親ページ: PCB ダイアログ

PCB ルールと制約条件編集(PCB Rules and Constraints Editor)ダイアログ。

概要

このダイアログを使用すると、設計者は現在の PCB ドキュメントに定義されているデザイン ルールを参照および管理できます。デザイン ルールをひとまとめにしたものを命令セットと呼び、PCB エディタはこの命令セットに従って作業を進めます。各ルールはデザインの要件を表し、ルールの多く(クリアランスや幅の制約条件など)は、オンラインのデザイン ルール チェッカー(DRC)を使用して作業時に監視できます。ソフトウェアの追加機能を使用すると、特定のルールを監視できます。たとえば、デザインを配線する Situs 自動配線を使用して、配線ベースのルールを監視します。

SOLIDWORKS PCB の PCB エディタを使用して PCB 設計を正常に完了するには、デザインの制約条件が、よく練り上げられた一連のデザイン ルールとして検討され、実装されている必要があります。PCB エディタはルール主導型であることに留意してください。デザインの初期段階でルールを設定する時間を設けることで、デザイン作業の成功がルール システムによって確実化されることを前提に、安心して効率的に作業できます。

アクセス

ダイアログにアクセスするは、PCB エディタのメイン メニューから、ホーム(Home) | デザイン ルール(Design Rules) | をクリックします。

オプション/コントロール

このダイアログは、左側の静的ペインと右側のメイン編集領域で構成されており、左側ペインの選択内容に応じて右側の編集領域が変化します。

左側のペイン

ダイアログの左側にあるフォルダ ツリー ペインのデザイン ルール(Design Rules)フォルダに、サポートされているデザイン ルール カテゴリおよびそのタイプがそれぞれ表示されます。SOLIDWORKS PCB では、次のルール カテゴリおよびタイプがサポートされています。

  • エレクトリカル(Electrical) - このカテゴリで提供されるルール タイプは、次のとおりです。クリアランス(Clearance)短絡(Short-Circuit)配線解除ネット(Un-Routed Net)未接続ピン(Un-Connected Pin)、および塗りつぶしなしのポリゴン(Unpoured Polygon)
  • ルーティング(Routing) - このカテゴリで提供されるルール タイプは、次のとおりです。幅(Width)配線トポロジー(Routing Topology)ルーティングの優先度(Routing Priority)配線レイヤ(Routing Layers)配線コーナー(Routing Corners)配線ビア スタイル(Routing Via Style)、およびファンアウト コントロール(Fanout Control)
  • SMT - このカテゴリで提供されるルール タイプは、次のとおりです。SMD - コーナー(SMD To Corner)SMD - プレーン(SMD To Plane)、および SMD ネックダウン(SMD Neck-Down)
  • マスク(Mask) - このカテゴリで提供されるルール タイプは、次のとおりです。ソルダー マスク拡張(Solder Mask Expansion)およびペースト マスク拡張(Paste Mask Expansion)
  • プレーン(Plane) - このカテゴリで提供されるルール タイプは、次のとおりです。電源プレーン接続スタイル(Power Plane Connect Style)電源プレーン クリアランス(Power Plane Clearance)、およびポリゴン接続スタイル(Polygon Connect Style)
  • テストポイント(Testpoint) - このカテゴリで提供されるルール タイプは、次のとおりです。製造テストポイント スタイル(Fabrication Testpoint Style)製造テストポイント使用(Fabrication Testpoint Usage)アセンブリ テストポイント スタイル(Assembly Testpoint Style)、およびアセンブリ テストポイント使用(Assembly Testpoint Usage)
  • 製造(Manufacturing) - このカテゴリで提供されるルール タイプは、次のとおりです。最小環状リング(Minimum Annular Ring)鋭角(Acute Angle)穴サイズ(Hole Size)レイヤ ペア(Layer Pairs)穴同士のクリアランス(Hole To Hole Clearance)最小ソルダー マスク スライバー(Minimum Solder Mask Sliver)シルク - ソルダー マスクのクリアランス(Silk To Solder Mask Clearance)シルク - シルクのクリアランス(Silk To Silk Clearance)、およびネット アンテナ(Net Antennae)
  • 配置(Placement) - このカテゴリで提供されるルール タイプは、次のとおりです。コンポーネントのクリアランス(Component Clearance)および高さ(Height)

このルート フォルダをクリックすると、すべてのカテゴリのすべてのデザイン ルール タイプについて、定義されているすべての特定のルールの概要リスト(ダイアログのメイン編集領域)にアクセスできます。

カテゴリ フォルダをクリックすると、そのカテゴリに関連するすべてのデザイン ルール タイプについて、定義されているすべての特定のルールの概要リストにアクセスできます。

ルール タイプ フォルダをクリックすると、そのタイプに定義されているすべての特定のルールの概要リストにアクセスできます。

フォルダ ツリー ペインで特定のルールのエントリをクリックする(または、概要リストでそのエントリをダブルクリックする)と、その定義を管理するコントロールにアクセスできます。

右クリック メニュー

次のコマンドには、ペインを右クリックして表示されるコンテキスト メニューからアクセスできます。

  • 新規ルール(New Rule) - 現在選択されているルール タイプのルールを新規作成するには、このコマンドを使用します。新規ルールはフォルダ ツリーに追加され、そのルール タイプの概要リストにも表示されます。ルール名は、新規かつまだ「適用」されていないものとわかるように太字で表示されます。
新規ルールを追加する場合、最初に、そのルール タイプに基づいてデフォルト名が設定されます。たとえば、新しいクリアランス ルールを追加した場合、デフォルト名はクリアランスになります。このデフォルトの命名を変更しなかった場合、同じタイプの新規ルールを新たに追加すると、同じ名前に増分された数字のサフィックスが付いたルール名になります(クリアランス_1クリアランス_2 など)。
特定のルール タイプのルールを新規作成すると、自動的に優先度 1(最も高い優先度)が割り当てられます。そのタイプの別のルールが存在している場合、それらの優先度はそれに応じて 1 つずつ下げられます。それらは、明確にスコープ/制約条件レベルで変更されていなくても、変更されたと見なされます。そのため、そのタイプのこのような既存のルールはすべて、変更済みの状態(アスタリスク付きの太字)で表示されます。
  • ルールを複製(Duplicate Rule) - 現在選択されている既存のルールと同一のコピーをすばやく作成するには、このコマンドを使用します。複製されたルールの名前は元のルールと同じ名前になりますが、区別するためのサフィックス(_1 など)が追加されます。その定義(スコープ、制約条件など)は元のルールの定義と同じになります。
優先度については、元のルールの 1 つ下の優先度が複製されたルールに割り当てられます。たとえば、元のルールの優先度が 1 の場合、複製されたルールには優先度 2 が割り当てられます。
  • ルールを削除(Delete Rule) - フォルダ ツリーで現在選択されている特定のルールを削除するには、このコマンドを使用します。まだ「適用」されていない削除として区別するために、ルール名は取り消し線でハイライトされた太字で表示されます。
多くのルール タイプでは、PCB ドキュメントを新規作成したときにデフォルト ルールが作成されます。同じように、これらのいずれかのルール タイプの特定のルールがすべて削除された場合、自動的にデフォルト ルールが再追加されます。
  • レポート(Report) - 現在定義されているデザイン ルールのレポートを生成するには、このコマンドを使用します。レポートは、フォルダ ツリーで選択したエントリに応じて、すべてのルール カテゴリ、特定のルール カテゴリ、または特定のルール タイプを提供します。適切なレポートが既に読み込まれた状態で、レポート プレビュー(Report Preview)ダイアログが表示されます。このダイアログを使用し、さまざまなページ/ズーム コントロールを使用してレポートを調べてから、最終的にファイルにエクスポートしたり印刷したりします。
  • ルールをエクスポート(Export Rules) - 頻繁に使用するルール定義をファイルにエクスポートするには、このコマンドを使用します。デザイン ルール タイプの選択(Choose Design Rule Type)ダイアログが表示されます。エクスポートするルール タイプを選択し、OK をクリックします。Export Rules to File ダイアログが表示され、ここで、エクスポートされた PCB ルール ファイル(*.rul)を保存する場所と名前を指定できます。
  • ルールをインポート(Import Rules) - 既に保存されているルール ファイルからルール定義をインポートするには、このコマンドを使用します。デザイン ルール タイプの選択(Choose Design Rule Type)ダイアログが表示されます。インポートするルール タイプを選択し、OK をクリックします。ファイルをインポート(Import File)ダイアログが表示され、ここで、インポートする特定の PCB ルール ファイル(*.rul)を参照して開くことができます。
インポート時に、選択したタイプのルールが既に存在する場合は、インポート前に既存のルールをクリアするオプションが表示されます。はい(Yes)をクリックすると、そのタイプの既存のルールがすべて削除され、その後、.rul ファイル内のルールで置き換えられます。いいえ(No)をクリックすると、既存のルールが保持されます。ただし、既存のルールとインポートされたルールが同じ名前である場合、インポートされたルールで既存のルールが上書きされます。

メイン編集領域

このダイアログ領域は、左側のペインで現在選択されている内容に応じて変化します。2 つの異なるビューが表示されます。

  • Summary Listing - 左側のペインでデザイン ルール(Design Rules)ルート フォルダ、子のルール カテゴリ フォルダまたはルール タイプ フォルダをクリックすると、この領域に、定義されているすべてのルール、選択されたカテゴリまたはタイプのすべてのルールの概要リストがそれぞれ表示されます。各ルールは次の内容について一覧表示されます。
    • 名前(Name) - ルールの名前。
    • プライオリティ(Priority) - ルールの現在の優先度。
    • 有効(Enabled) - ルールが現在有効であるか無効であるか(クリックするとこの状態が切り替わります)。
無効にしたルールは概要リストでグレーアウトされます。
  • タイプ(Type) - ルールのタイプ。
  • カテゴリ(Category) - 属するルール カテゴリ。
  • スコープ(Scope) - ルールのスコープ(つまり、適用されるオブジェクト)。
  • 属性(Attributes) - ルールに定義されている制約条件属性。

概要リストには、現在表示されているリストで選択されたエントリに対する操作を行うための次のボタンも表示されます。

  • 新規ルール(New Rule) - このボタンをクリックすると、ダイアログのフォルダ ツリー ペインで現在選択されているタイプのルールを新規作成できます。
  • ルールを削除(Delete Rules) - このボタンをクリックすると、表示されているリストで現在選択されている特定のルールを削除できます。削除対象のルール名は、まだ「適用」されていない削除であることがわかるように、取り消し線でハイライトされた太字で表示されます。
標準の複数選択手法(Ctrl キーを押しながらクリックShift キーを押しながらクリック)を使用して、リスト内で複数のルールを選択できます。
  • ルールを複製(Duplicate Rule) - このボタンをクリックすると、表示されているリストで現在選択されている既存のルールと同一のコピーをすばやく作成できます。
  • レポート(Report) - このボタンをクリックすると、現在表示されているリストのすべてのデザイン ルールを含むレポートを生成できます。レポートがすでに読み込まれた状態で、レポート プレビュー(Report Preview)ダイアログが表示されます。このダイアログを使用し、さまざまなページ/ズーム コントロールを使用してレポートを調べてから、最終的にファイルにエクスポートしたり印刷したりします。
レポートを生成するコマンドは、領域の右クリック コンテキスト メニューでも使用できます。
  • Rule Definition - 左側のペインで特定のルールを選択している場合、この領域にはそのルールを定義するための次のコントロールが表示されます。
    • 名前(Name) - ルールの現在の名前。必要に応じて変更できます。
    • コメント(Comment) - このフィールドには、ルールに追加されているコメント(たとえば、ルールの用途をわかりやすく説明したもの)が表示されます。
    • 一意な ID(Unique ID) - ルールに割り当てられている一意の ID。各ルールはそれ自体がデザイン オブジェクトであるため、実際のデータになります。ID を使用すると、一意性が確実になります。ただし、一意の ID が実際に関係するのは、回路図ドメイン内で作成されたルールです。回路図上のオブジェクトにデザイン ルール パラメータを追加すると、各ルール パラメータに一意の ID が割り当てられます。それに対応して PCB に作成されるデザイン ルールにも同じ ID が割り当てられます。回路図側または PCB 側の一方でルールの制約条件を編集すると、この一意の ID を使用して、同期時に変更がもう一方にプッシュされます。
    • Rule Scoping Controls - この領域には、ルールが適用されるオブジェクトに関するルール スコープを指定するためのコントロールが表示されます。この領域のコントロールの使用方法の詳細については、ルール スコープ設定コントロールのセクションを参照してください。
    • 制約条件(Constraints) - このダイアログ領域には、編集中のルールのタイプに適用可能な制約条件が表示されます。必要に応じて、各種コントロールを使用してこれらの制約条件を構成できます。
スコープ設定のクエリで構文エラーがある場合またはルールの制約条件が不正な場合、フォルダ ツリーと概要リストの両方で、ルールの名前が赤色で表示されます。警告メッセージは、デザイナーがこのダイアログを閉じようとしたときにも表示されます。ルール スコープに構文エラーがあると、オンライン DRC とバッチ DRC の分析が大幅に遅くなる可能性があります。構文的に正しくないルール スコープは必ず解決してください。
既存のルール定義に対する変更は、フォルダ ツリー ペインと適用される概要リストの両方でハイライト表示されます。このようなエントリは、ルール名が太字になり、名前の右側にアスタリスクが表示されることで、区別されます。

ルール スコープ設定コントロール

デザイン ルールのスコープ、つまり適用範囲を定義するときには、基本的に、そのルールによって制御するメンバー オブジェクトを定義するクエリを作成します。ダイアログに用意されているオプションを使用して、必要なクエリを作成できます。ルールが単項かバイナリかに応じて、それぞれ 1 つまたは 2 つのスコープを定義する必要があります。

単項デザイン ルールの場合は、単一のルール スコープを定義するためのコントロールが表示されます。最初のオブジェクトが一致する場所(Where The First Object Matches)領域にあるオプションを使用すると、クエリ式を簡単に作成でき、作成したクエリ式は、右側のフル クエリ(Full Query)領域に表示されます。バイナリ デザイン ルールの場合は、2 つ目のルール スコープを定義するためのコントロールも表示されます。第 2 オブジェクトが一致する場所(Where The Second Object Matches)領域にあるオプションを使用すると、クエリ式を簡単に作成でき、作成したクエリ式は、右側のフル クエリ(Full Query)領域に表示されます。

コントロールは、定義するルール スコープが 1 つか 2 つかに関係なく同一となります。詳細は後続の各セクションで説明します。

オブジェクトが一致する場所

  • スコープ設定オプション - 次のいずれかのオプションを選択して、スコープ設定用のクエリ式の生成方法を指定します。
    • すべて(All) - すべてのデザイン オブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。関連するフル クエリ(Full Query)領域に式 All が読み込まれます。
    • ネット(Net) - 特定のネット内のすべてのオブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。上部のドロップダウン フィールドから目的のネットを選択します。関連するフル クエリ(Full Query)領域に InNet('<NetName>') というフォーマットの式が読み込まれます。
    • ネット クラス(Net Class) - 特定のネット クラス内のすべてのオブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。上部のドロップダウン フィールドから目的のネット クラスを選択します。関連するフル クエリ(Full Query)領域に InNetClass('<NetClassName>') というフォーマットの式が読み込まれます。
    • レイヤ(Layer) - 特定のレイヤ上のすべてのオブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。上部のドロップダウン フィールドから目的のレイヤを選択します。関連するフル クエリ(Full Query)領域に OnLayer('<LayerName>') というフォーマットの式が読み込まれます。
    • ネットおよびレイヤ(Net and Layer) - 特定のネット内および特定のレイヤ上のすべてのオブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。上部のドロップダウン フィールドから目的のネットを選択し、下部のドロップダウン フィールドから目的のレイヤを選択します。関連するフル クエリ(Full Query)領域に InNet('<NetName>') And OnLayer('<LayerName>') というフォーマットの式が読み込まれます。
    • 詳細(クエリ)(Advanced (Query)) - より複雑かつ限定的なクエリを独自に記述するには、このオプションを選択します。関連するフル クエリ(Full Query)領域に直接クエリ式を記述し始めると、このオプションが自動的に選択されます。
  • 上部のドロップダウン フィールド - ネット(Net)(またはネットおよびレイヤ(Net and Layer))、ネット クラス(Net Class)レイヤ(Layer)のいずれかのオプションを使用する場合は、設計に定義されているすべてのネット、設計に定義されているすべてのネット クラス、または設計で現在有効になっているすべてのレイヤがそれぞれこのフィールドのドロップダウンに挿入されます。それに応じて目的のターゲットを選択します。
  • 下部のドロップダウン フィールド - ネットおよびレイヤ(Net and Layer)オプションを使用する場合は、デザインで現在有効になっているすべてのレイヤがこのフィールドのドロップダウンに挿入されます。それに応じて目的のレイヤを選択します。
  • クエリ ビルダー(Query Builder) - このボタンをクリックすると、Building Query from Board ダイアログが開き、AND または OR(あるいはその両方)で結合した条件文字列を作成することによって、デザイン ドキュメント内の特定のオブジェクトを対象としたクエリを作成できます。
  • クエリ ヘルパー(Query Helper) - このボタンは、詳細(クエリ)(Advanced (Query))オプションを選択した場合に使用可能になります。クリックすると、クエリ ヘルパー(Query Helper)ダイアログにアクセスできます。基盤となるクエリ エンジンにより、PCB 設計が分析され、使用可能なすべてのオブジェクトとクエリで使用できる汎用キーワードが一覧表示されます。
クエリ ビルダー(Query Builder)では、状況依存の条件タイプおよび値、つまり関連する「ビルディング ブロック」のみを使用してクエリを簡易的に作成できます。キーワード指定や演算子の構文をフルに活用し、より高度な方法でクエリを作成する場合は、クエリ ヘルパー(Query Helper)を使用します。

フル クエリ

ダイアログのこの領域には、ルール スコープを設定する目的で作成した現在のクエリ式が反映されます。次の操作を行うと、式が自動的に読み込まれます。

  • 基本スコープ設定オプション(すべて(All)ネット(Net)ネット クラス(Net Class)レイヤ(Layer)ネットおよびレイヤ(Net and Layer))を選択し、関連するターゲット ネット、ネット クラス、レイヤ、またはネットとレイヤをドロップダウン フィールドから指定します。
  • クエリ ビルダー(Query Builder)を使用してクエリ式を作成します。
  • クエリ ヘルパー(Query Helper)を使用してクエリ式を作成します。

または、クエリ言語に習熟している場合は、この領域に直接クエリ式を入力できます。

お気に入りのエディタに入力したクエリ式をこの領域に直接ペーストできます。また、式をコピーし、外部エディタで作業したり、バイナリ ルールの第 2 スコープにペーストしたりすることもできます。これは、複雑で、違いがごくわずかな 2 つのスコープを設定する場合に特に役立ちます。

クエリ式の演算子の優先順位

括弧は、各種演算子に定義されている優先順位の中で優先度が最高になります。クエリは、(ユーザーが括弧を入力しなかった場合は常に)これらの優先順位に従って解釈されます。その順序は次のとおりです。

括弧
Not
^、*、/、Div、Mod、And
+、-、Or、Xor
=、<>、<、>、<=、>=
&&、||

この優先順位は Pascal タイプの言語で使用される優先順位と同じです。あいまいさは、左から右に向かって処理することによって解決されます。括弧は内側から外側に向かって評価され、等価レベルは左から右に向かって評価されます。

クエリが正しく解釈されない可能性がある場合は、常に括弧を使用することを強くお勧めします。多くの括弧を使用することで、疑わしい部分が削減され、他者がクエリを読みやすくなります。

追加のボタン

ダイアログの左下には、次のボタンが配置されています。

  • ルール ウィザード(Rule Wizard) - このボタンをクリックすると、デザイン ルール ウィザード(Design Rule Wizard)を実行できます。このウィザードの手順に従って、デザイン ルールを新規作成します。
ルール ウィザード(Rule Wizard)ボタンは、まだ「適用」されていない既存のルールに対する変更がある場合には使用できません。
  • プライオリティ(Priorities) - このボタンをクリックすると、ルール優先度の編集(Edit Rule Priorities)ダイアログにアクセスできます。ここから、同じルール タイプの複数のルールの優先度を管理できます。
同じタイプの複数のルールを設定できます。1 つのデザイン オブジェクトが同じ範囲を持つ複数のルールの対象となることがあります。その場合は競合が存在します。すべての競合が優先順位設定によって解決されます。ルールは優先度が最も高いものから最も低いものへと順に評価され、チェック対象のオブジェクトと最初に範囲が一致したものが選択されます。

 

アクティブ ドキュメント内の選択したテキストや画像に関する問題を報告します。