agentee

基板

設計ルールチェック

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エラーBGAmin_bga_pad 未満の BGA パッド (16 個以上の円形 SMD パッド)
bga-pitchエラーBGAmin_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は警告です。ファイル自体のエラー(回路図にないネット、銅層でない層、不正なプリセット)はルールではなく、無効にできません。

docs/format.md · エージェント向けMarkdown