PCB-Specctra インターフェースの改善
Summer 09では、Specctraエクスポーターが強化されています。エクスポーターは、特にフォーマット化された線幅やクリアランス デザインルールの移行の点が更新されています。Altium DesignerでSpecctra互換の配線製品を使用する時、よりスムーズな移行とより大きな成功を可能にします。
背景
SpecctraデザインルールとAltium Designerデザインルールは、性質と実行に関して全く異なります。以下に、Altium DesignerからSpecctraへデザインをうまく移行するための概念の違いを示します:
- Specctraは、ルールを適用するために(例えば、Netレベル ルールは、常にNet Classルールの前に適用されます。)決定する(ハードコードされた)スコーピング階層を準備しました。Altium Designerは、より強力で柔軟なルールシステムです。優先順位もスコーピングも固定されません。言語表現を使用してルールのスコープを自由に定義でき、必要であればルールの優先度を設定できます。それゆえに、Netルールのスコープを設定する前に、Net Classルールのスコープを設定できます。
- Specctraでは、関連したルールを持つためにスコープを見ることができます。 – ルールは、スコープの例に適用できます。Altium Designerでは、これは実行できません。デフォルトの"All"のスコープは別にして、デザインのために全ての定義されたルールを介するその他のスコープは、異なるかもしれません。
- Specctraルールは、プリミティブレベルで属性を評価できます。例えば、ネットAのトラックがその他の全てのオブジェクトに対して8milのクリアランスを必要とします。Altium Designerのいくつかのルール(特殊なバイナリルール)は、プリミティブ属性レベルで評価できません。例えば、ネットAとBのトラック間のクリアランスは、ネットAとCのトラック間のクリアランスと異なります。 – ネットAのトラックのための統一された値でない結果です。
要約すると、Altium Designerのスコーピングシステムは、Specctraルールシステムより表現力があります。そして、一般的には、Specctraスコーピングシステムであることで公平に評価できます。
Altium Designerでのルールの定義
もし、Specctraを使用してAltium Designer PCBデザインを配線する予定がある場合、正しく移行して配線結果を最適にするために、Specctraスコーピング階層を続けることを高く推奨します。以下の表は、ルール定義のガイドラインになります。エクスポーターでサポートしたSpecctra側での様々な固定のスコープ、Altium Designer側での必要なスコーピング、優先度を要約しています。これらの 'mappings' は、より合理的にルールエクスポートのプロセスを手助けます。そして、エクスポート後にSpecctra側で必要なルールを手動で作成するのを防ぎます。
Specctra スコープ | Altium Designer スコープ | Altium Designer 優先度 | |
---|---|---|---|
1st オブジェクト クエリ | 2nd オブジェクト クエリ | ||
PCB Design | All | All | 12 |
Layer | OnLayer('LayerName') | All | 11 |
Net Class | InNetClass('NetClassName') | All | 10 |
Net Class on Layer | InNetClass('NetClassName') And OnLayer('LayerName') | All | 9 |
Group Set | Altium Designerでサポートしていません | ||
Group Set on Layer | Altium Designerでサポートしていません | ||
Net | InNet('NetName') | All | 8 |
Net on Layer | InNet('NetName') And OnLayer('LayerName') | All | 7 |
Group | From To Classを使用して参照します: InFromToClass('FromToClassName') | All | 6 |
Group on Layer | From To Classを使用して参照します: InFromToClass('FromToClassName') And OnLayer('LayerName') | All | 5 |
FromTo | InFromTo('NetName (FromPad : ToPad)') | All | 4 |
FromTo on Layer | InFromTo(NetName (FromPad : ToPad)') And OnLayer('LayerName') | All | 3 |
Class vs. Class | InNetClass('NetClassName1') | InNetClass('NetClassName2') | 2 |
Class vs. Class on Layer | 現在、エクスポーターでサポートしていません | ||
Padstack | Altium Designerでサポートしていません | ||
Region | WithinRoom('RoomName') | WithinRoom('RoomName') | 1 |
Net Class in Region | 現在、エクスポーターでサポートしていません | ||
Net in Region | 現在、エクスポーターでサポートしていません | ||
Class vs. Class in Region | 現在、エクスポーターでサポートしていません |
メモ
- 複数の言語表現は、
OR
を使用して、デザインで全体のルール数を減らして1つのAltium Designerルール内で結合できます。例えば:
InNet('N1') OR InNet('N2') OR InNet('N3')
– ネットN1
,N2
, またはN3
のどれにでも適用できるルールを作成。OnLayer('L1') OR OnLayer('L2')
– レイヤL1
または レイヤL2
のどちらでもオブジェクトに適用できるルールを作成。
- Altium Designerでのルールの優先度について、
1
は、最も優先度が高く初めに適用されます。
プリミティブに基づいた修飾語のスコープ
以下の言語表現は、修飾語のスコープとしてサポートしています:
IsPad
IsThruPin
IsSMDPad
IsVia
IsTrack
IsFill
IsPolyRegion
IsTestPoint
TestPoint
これらの修飾語は、例えば、ビアとパッド間、ビアとトラック間の異なるクリアランス値を定義したいクリアランスルールで役に立ちます。以下の例のスコープは、どのようにこれらの修飾語がクリアランスルール定義で使用できるかを示します:
- ネットN1のパッドとビア間のクリアランス:
InNet('N1') AND IsVia vs IsPad
- ネットN1のトップレイヤ上のトラック間のクリアランス:
InNet('N1') AND IsTrack vs IsTrack AND OnTopLayer
スコープ エリアス
話言葉と同様に、ルールスコープを定義する時、同じ意味はしばしば異なることを表します。以下のエリアスは、レイヤに基づいたスコープをサポートしています:
OnTop
orOnTopLayer
–OnLayer('TopLayerName')
のエリアス
OnBottom
orOnBottomLayer
–OnLayer('BottomLayerName')
のエリアス
OnMid
– レイヤMid1からMid3まで使用したエリアス(トップとボトムを除く信号層)
OnSignal
– 全ての信号層に使用するエリアス
TestPoint
とIsTestPoint
は、互いにエリアスです。