基板
設計ルールチェック
id、重大度、実行条件を持つすべてのレイアウトルール: 銅、ドリル、マスク、シルク、組立、ベタ、信号、テストアクセス、配置。
レイアウトチェックは、ルールレジストリから実行されます。各ルールには安定した id、カテゴリ (copper、drill、mask、silk、assembly、zone、signal、test、placement)、デフォルトの重大度、および基板に対する条件があります。内層用のルールは銅層が 4 層以上の場合のみ実行され、ビア充填ルールはビアがパッド内にある場合のみ、BGA ルールは BGA が存在する場合のみ実行されます。ルールのメッセージはすべて、角括弧で囲まれた id で始まります。例: [via-cuts-pad]。agentee drc NAME --list (MCP の drc に list = true) は、カテゴリ、重大度、およびこの基板に適用されるかどうかと理由を、すべてのルールについて表示します。agentee drc NAME は、レイアウトのルールメッセージのみを表示します。
[drc] # in the board file
disable = ["silk-width"] # rule ids to skip; their checks are not computed, so with silk-text
# and silk-hidden off `agentee silk` has nothing to move
severity = { "starved-thermal" = "error", "via-in-pad" = "warning" } # info | warning | error
tombstone_ratio = 3 # copper or feed width one chip pad may have over the other| id | 重大度 | 実行条件 | チェック内容 |
|---|---|---|---|
via-cuts-pad | エラー | 常に | ドリルがパッド内に完全に収まっていないのに、銅が SMD パッドと重なるか接するビア: はんだがビアの穴に吸い込まれ、パッドの縁が損傷します。他のネットのビアがパッドに接している場合は、代わりに short として報告されます。 |
via-annulus-past-pad | 警告 | パッド内のビア | ドリルはパッド内にあるが、ビアのアニュラスがソルダーレジストの下でパッドの縁を超えている |
via-in-pad | 情報 | パッド内のビア | 自身のネットの SMD パッド内のビア (ドリルがパッド内) を数えます。fab-notes.txt で、これらだけを充填・キャップするよう基板メーカーに依頼します (IPC-4761 タイプ VII)。 |
via-in-pad-fill | エラー | パッド内のビア | パッド内のビアで、ドリルが max_filled_via_drill より広いもの、またはビアタイプで fill が filled_capped 以外に設定されているもの (IPC-4761 タイプ VII) |
hole-to-smd-pad | 警告 | 常に | 自身のネット (またはネットなし) の SMD パッドに接していないのに、そのパッドから min_hole_to_smd_pad 以内にあるビア穴: はんだペーストや溶融はんだが流れ込む可能性があります |
drill-size | エラー | 常に | パッドの穴が min_drill (メッキあり) または min_npth_drill (メッキなし) 未満、または max_drill 超過 (大きい穴はルーティングされ、切り抜きとして描画されます)。ビアサイズは基板の [[vias]] でチェックされます。 |
slot-size | エラー | スロット穴 | min_plated_slot_width または min_npth_slot_width より狭い、または幅の 2 倍より短いスロット |
aspect-ratio | エラー | 常に | 深さ (通過する銅と絶縁体) をドリル径で割った値が max_aspect_ratio を超えるメッキ穴 |
hole-to-copper | エラー | 常に | 穴が通過する層で、他のネットの銅 (配線、パッド、ビア、ベタ) から min_via_hole_to_copper または min_pth_hole_to_copper 以内にあるビアまたはメッキパッドの穴壁 |
inner-hole-to-copper | エラー | 銅層 4 層以上 | 内層で他のネットの銅から min_inner_pth_hole_to_copper 以内にあるメッキパッドの穴壁 |
npth-to-copper | エラー | メッキなし穴 | 自身のネットのベタを含む、任意の銅から min_npth_to_copper 以内にあるメッキなし穴の壁 |
hole-to-edge | エラー | メッキなし穴 | 基板アウトラインまたは基板の切り抜きから min_copper_to_edge 以内にある、または貫通しているメッキなし穴の壁 |
smd-pad-gap | エラー | 常に | 異なるネットの SMD パッドが min_smd_pad_gap 以内にある場合、最も近いパッドを持つ部品ペアごとに 1 行表示 |
pad-to-edge | エラー | 常に | 基板アウトラインまたは基板の切り抜きから min_copper_to_edge 以内にあるパッドの銅。edge = true とマークされたパッドは対象外です。 |
edge-pad-reach | 警告 | 常に | 基板アウトラインに達していない edge = true とマークされたパッド |
starved-thermal | 警告 | ベタ | 自身のネットのベタに接続されているパッドで、アウトラインの半分未満、幅が min_track_width 以上のスポークが 2 本未満、かつ銅の総量がパッド自身の幅未満の場合 |
part-to-edge | 警告 | 部品 | アウトラインまたは基板の切り抜きから min_part_to_edge 以内にある SMD パッド。デパネリングの応力で部品が割れる可能性があります。フィジューシャル、マウンティングホール、edge パッドを持つ部品はスキップされます。 |
part-body-to-edge | 情報 | 部品 | アウトラインまたは基板の切り抜きから min_body_to_edge 以内にある、またはそれを越えている部品本体 (切り抜きを越える場合も「越えている」とみなされます) (組立 DFM ガイド: 縁から 1 mm 以内に部品を置かない)。本体は基板メーカーのアウトライン、なければコートヤード、なければパッドの銅であり、メッセージでどれが使われたか示されます。フィジューシャル、マウンティングホール、edge パッドを持つ部品、overhang = true のフットプリントはスキップされます。 |
fiducials | 情報 | 部品 | 基板に Fiducial に似た名前のフットプリントがない |
tooling-holes | 情報 | 部品 | 1.5 mm 以上のメッキなし穴がない |
bga-pad | エラー | BGA | min_bga_pad 未満の BGA パッド (16 個以上の円形 SMD パッド) |
bga-pitch | エラー | BGA | min_bga_pitch より細かいボールピッチ |
bga-pad-ratio | 警告 | BGA | ピッチの 40% から 65% の範囲外のパッド直径 (IPC-7351 のランドサイズ) |
paste-without-mask | 警告 | 部品 | はんだペーストがあるが、その面にソルダーレジストの開口部がない銅パッド。ステンシルがレジストに印刷されてしまいます。 |
mlcc-flex-zone-case | 情報 | セラミックコンデンサ | アウトライン、基板の角、基板の切り抜き、マウンティングホール (MountingHole* フットプリント)、または 2 mm 以上のメッキなし穴から flex_zone 以内にある、ケース 0805 (2012 メトリック) 以上のセラミックコンデンサ (Knowles: 応力ゾーンは通常、PCB の縁または固定点から 5 mm 以内)。チップが長いほど、両端の歪みは大きくなります。 |
mlcc-flex-zone | 情報 | セラミックコンデンサ | flex_zone 以内の、より小さいセラミックコンデンサで、長い軸が最も近い縁、角、または穴に向いているもの (Murata FAQ: チップを応力方向に対して水平に配置し、長い軸が縁に沿うようにする)。 |
mlcc-flex-zone-info | 情報 | セラミックコンデンサ | flex_zone 以内で、すでに縁に沿って配置されているより小さいセラミックコンデンサを数えます。 |
tombstone-risk | 情報 | 0603 以下のチップ | 0603 (1608 メトリック) 以下の 2 パッド SMD 部品で、パッドのサイズまたは形状が異なるもの、片方のパッドにのみビアがあるもの、またはその層でパッドから 0.3 mm 以内の銅 (自身のネットの配線、ビア、ベタ) がもう片方のパッドの tombstone_ratio (デフォルト 3) 倍を超えるもの。サーマルリリーフでベタに接続されたパッドは、スポーク幅でもう片方のパッドの配線幅と比較されます。まだ配線、ビア、ベタがないパッドは比較されません。先に熱を持つ端が先に濡れ、部品が立ち上がります (EMS DFM ガイド: 対称的なランドと、両端の銅のバランス)。 |
tall-part-shadow | 情報 | 高さ 3 mm 超の部品 | 高さ 3 mm 超の部品から、その高さ以内にある 0603 以下の 2 パッドチップ。チップのパッドから高い部品の本体まで測定 (EMS の目安 1:1: リフローと検査時の影)。高さはフットプリントの height から取得し、なければ 3D ビューがモデルなしで描画する本体から取得します: ファミリーのデフォルト (SOIC、QFN、ヘッダ、シールド) または名前の _h1.25mm 部分。 |
test-access | 情報 | 部品 | プローブ側からプローブアクセスのない、[test] セクションが要求するネット: テストポイントのパッド(参照 TP1...、または TestPoint* と名付けられたフットプリント)、露出したメッキ貫通穴パッド(through_holes)、非メッキビア(vias)。インピーダンス目標を持つクラスのネットと、ペアのネットは、スタブが影響するため除外され、名前が示される |
test-pad-geometry | 情報 | テストポイント | min_test_pad 未満のテストポイントパッド、他の中心から中心まで min_test_pad_pitch 未満、プローブ側の他の部品本体から min_test_pad_to_body 未満、基板エッジまたはツールング穴(非メッキ穴とマウンティング穴)から min_test_pad_to_edge 未満、またはプローブ側でない |
placement-decoupling-distance | 情報 | 部品 | 電源とグランド間のコンデンサで、その電源の IC の最も近いピンから電源パッドが decoupling_distance(3 mm)より遠いもの。1 uF 以上の大容量コンデンサは 2.5 倍 |
placement-crystal-distance | 情報 | 部品 | そのネットの IC ピンから信号パッドが crystal_distance(5 mm)より遠い、水晶またはオシレーター(参照 Y、または水晶やオシレーターのように名付けられたフットプリント) |
placement-large-part-off-centre | 情報 | 部品 | BGA、25 mm2 超の 16 ピン以上のパッケージ、それ以外では最もピン数の多い部品などの大型チップで、コートヤード中心が基板中心からエッジへの距離の off_centre(0.6)を超える位置にあるもの |
placement-hot-parts-close | 情報 | 部品 | コートヤードが hot_distance(5 mm)より近い 2 つの発熱部品: このレイアウトの熱シミュレーションの [[sources]] で 0.25 W 以上のもの、およびそれらのシミュレーションにリストされていない大型パッケージ(コートヤード 49 mm2 以上) |
placement-cluster-spread | 情報 | 部品 | 信号ネットが 1 つの IC にのみ到達し、その IC のピンから cluster_spread(10 mm)より遠い 2 ピン受動部品 |
placement-connector-not-at-edge | 情報 | 部品 | コートヤードがアウトラインから connector_edge(3 mm)より遠いコネクタ(エッジパッド、overhang = true、または Tag-Connect、U.FL、テストパッドでない J/P 参照) |
short | エラー | 常に | 異なる 2 つのネットの銅が接触 |
clearance | エラー | 常に | 2 つのネットの銅が、それぞれのクラスのクリアランスの大きい方より近い(フットプリントの clearance はそのパッドについてこれらを置き換える)、または銅が非メッキ穴に達している |
unrouted | エラー | 常に | パッドがすべて配線、ビア、ベタで接続されていないネット。離れているグループを名指し |
dangling-track | 警告 | 常に | そのネットの銅やベタに達していない配線の端 |
track-grazes-pad | 警告 | 常に | パッドにエッジのみで達する配線。中心線をパッド内に伸ばすこと |
copper-to-edge | エラー | 常に | 基板アウトラインまたは基板カットアウトから min_copper_to_edge 未満の配線またはビア、または基板外(カットアウトを横切る配線は基板外に出る) |
pad-off-board | エラー | 常に | アウトライン外または基板カットアウト内のパッド。edge = true とマークされたパッドは除外 |
stitching | 情報 | 常に | 各 [[stitching]] エントリが配置したビアを数える |
stitching-empty | 警告 | 常に | ビアを配置しなかった [[stitching]] エントリ |
fanout-empty | 警告 | 常に | ビアを配置しなかった [[fanouts]] エントリ |
hole-to-hole | エラー | 常に | 壁から壁まで min_hole_to_hole 未満の、異なる部品またはビアの穴。最初のペアでカウント。絶縁体を共有するスパンの穴のみカウントされるため、埋め込みビアの横のマイクロビアはペアにならない |
stacked-via | エラー | 常に | 同じ絶縁体を貫く同じネットの別のビアと同じ位置にあるビア(2 回ドリル)、stacked_microvias がオフの場合または積層のビルド順外(スタック下のビアが上のビアより後のステップでドリルされる)で 1 層の別のビア上にスタック、または制御深さビアと常にスタック |
via-lamination | エラー | 常に | 積層のドリルステップ(積層を参照)にスパンとドリル種類が一致しないビア。ビアタイプとスパンごとに。メッセージは基板の [[vias]] エントリを名指しし、ドリル種類ごとに積層がドリルするすべてのスパンをリストする。基板チェックは、レイアウトが配置するビアタイプをこのルールに委ねる |
neckdown | 情報 | 常に | クラスの幅より狭いが min_track_width 未満でない配線。クラスの neckdown 長さ(デフォルト 0.5 mm)までの区間 |
class-width | エラー | 常に | ネックダウンでない、クラスの幅より狭い配線 |
impedance-width | 警告 | インピーダンスクラス | インピーダンスクラスの配線が別の幅で、インピーダンスが変動する |
impedance-trace | エラー | インピーダンスクラス | ネックダウンを含む幅、または外層の隣接銅により、インピーダンスがクラスの許容範囲外になるインピーダンスクラスの配線。パッドまたはジャンクションのネックダウン長さ内のギャップはチェックされない |
track-overlap | エラー | 常に | 同じネットの配線が重なり、銅が二重になる |
acute-turn | 警告 | 常に | 90 度以上折り返す配線。酸トラップ |
zone-overlap | エラー | ベタ | 1 層で 2 つのネットのベタが重なり、ショート |
zone-to-zone | エラー | ベタ | 1 層で 2 つのネットのベタがクリアランス未満 |
zone-clearance | エラー | ベタ | 別のネットの銅を覆す、または近すぎるベタ |
zone-tips | 警告 | ベタ | 30 度より鋭いベタの先端。ゾーン の min_width を上げる |
copper-neck | 警告 | ベタ | ゾーンの min_width の 90% 未満のベタのネック。ベタは開くべきもの。最も狭い位置でカウント |
zone-islands | 情報 | 常に | ゾーンのネットに達しないベタの島。削除されたもの |
courtyard-overlap | エラー | 部品 | 1 側で 2 つの部品のコートヤードがアウトラインで重なる |
courtyard-hole | エラー | 部品 | 他の部品のマウンティング穴または非メッキ穴を覆うコートヤード |
mask-web | エラー | 常に | マスク開口部が min_mask_web 未満の異なるネットのパッド。部品ペアごとに 1 行。mask_web = false の 1 つのフットプリントのパッドは互いにスキップ |
silk-text | エラー | 常に | 他のテキストを圧迫する、パッド上に載る、ビア上に印刷する、シルクアウトラインを横切る、または基板外に出るシルクテキスト。参照には明確な場所を確保(agentee silk がそこへ移動) |
silk-hidden | 警告 | 常に | 他の部品の本体の下にのみ隠れるシルクテキスト |
silk-text-height | 警告 | 常に | min_silk_text_height 未満のシルクテキスト |
silk-artwork | エラー | 常に | パッド上、シルクテキスト上、または基板外のシルクアートワーク |
watermark | エラー | 常に | agentee vX.Y.Z-HASH のウォーターマークにシルク上で明確な場所がない、または [watermark] の場所が明確でない。場所がないと基板メーカーは拒否し、ルールの無効化はウォーターマークを削除しない |
silk-width | 警告 | 常に | min_silk_width 未満の基板シルクライン(レイアウトの [[graphics]]、テキストではない)。最も細いものでカウント。フットプリントのシルクはフットプリントでチェック |
pair-skew | エラー | ペア | ペアのスキューが、そのペアのmax_skewまたはクラスのmax_skewを超えている場合で、伸ばす対象のネット |
pair-skew-info | 情報 | ペア | 各ペアの許容範囲内のスキュー |
pair-gap | エラー | ペア | クラスdiff_gap以外のギャップで並走するペアが、max_uncoupledを超えて並走している |
pair-coupling | 警告 | ペア | ペアの80%未満がペアギャップで並走している |
match-length | エラー | マッチンググループ | マッチンググループのメンバーが、許容誤差を超えて目標長からずれている |
interface-pair | エラー | インターフェース | 差動インターフェースのネットにペアの相手がない |
interface-impedance | エラー | インターフェース | インピーダンス目標値のないクラスのインターフェースネット、許容範囲外のネット、または差動インターフェースにペアギャップがない |
interface-skew | エラー | インターフェース | ペアのスキューがインターフェースのmax_skewを超えている |
interface-bus-skew | エラー | インターフェース | データ信号のばらつきがmax_bus_skewを超えている |
interface-clock-window | エラー | インターフェース | クロックからのclock_windowの範囲外にデータ信号が到着している |
interface-vias | エラー | インターフェース | レーンのビア数がmax_viasを超えている |
interface-stub | エラー | インターフェース | ビアスタブがmax_stubを超えて長い |
interface-return-via | エラー | インターフェース | 参照ビアがreturn_viaの範囲内にない信号ビア |
interface-length | エラー | インターフェース | レーンの長さがmax_lengthを超えている |
interface-reference | エラー | インターフェース | 参照プレーンが隣接しない状態で、max_unreferencedを超えて配線されているレーン |
配置ルールは部品をどこに置くかのガイドであり、デフォルトでは通知です。[drc] severityで重要度を上げられます。その閾値は基板ファイル内にあります。
[drc.placement]
decoupling_distance = "3mm" # supply pad of a decoupling cap to the IC pin
crystal_distance = "5mm"
cluster_spread = "10mm" # a passive to the only IC it serves
hot_distance = "5mm" # courtyard gap between large packages
connector_edge = "3mm" # connector courtyard to the outline
off_centre = 0.6 # fraction of the half width or height from the centre機械ルール(part-body-to-edge、mlcc-flex-zoneルール、tombstone-risk、tall-part-shadow)はガイドであり、デフォルトでinfoです。[drc] severityで重要度を上げられます。セラミックコンデンサは、フットプリント名がC_*またはCapacitorを含む、または参照記号がCと数字である、SMDパッドがちょうど2つある部品です。ただし、フットプリント名にCP_、Tantal、Elec、Polymerがある場合は除きます。フットプリントまたは配置にmlccがある場合は、推測を上書きします。ケースはフットプリント名(1608Metric、それ以外は0603などのインチコード)から取得し、なければ2つのパッド中心間の距離から取得します。この距離は本体長に近い値です。
ルールを指定しないidは警告です。ファイル自体のエラー(回路図にないネット、銅層でない層、不正なプリセット)はルールではなく、無効にできません。