本ツールは、EasyEDAの .epcb プロジェクトファイル(.eproの拡張子を.zipに変更した後、PCBディレクトリ下にある。)からネットリストごとの統計情報を抽出し、基板設計の品質レビューやDRC(デザインルールチェック)の目視補助に活用できる「回路レビュー用・高等統計アナライザ」です。
- 軽量・高速・プレーン: 外部ライブラリへの依存を一切排除(
pyyamlすら不要)しながら完全なYAMLフォーマットのデータストリームを出力します。 - 真の単位換算と寸法計算: 内部に保存されたmil表現の座標データから直線の「ユークリッド距離」を算出し、すべてを直感的な「ミリメートル(mm)」へ自動換算します。
- 高等統計による可視化: ネットごとの配線長・線幅のみならず、「カウント(折れ曲がり数)」や「最小値」「最大値」「中央値」「分散(Variance)」を演算し、基板上の3次元的な配線の苦労度合い・一貫性を即座に数値化します。
- 無ノイズ設計: 回路レビューにおいて不要な情報(配線を伴わないネットやテストパッドのみのネットなど)を出力から自動的でサイレントに除外します。
WORK ディレクトリ直下の epcb_reviewer_analyzer.py を使用します。
コマンドライン引数として、対象の .epcb ファイルのパスを指定してください。
# 標準出力へYAMLデータを出力
python WORK/epcb_reviewer_analyzer.py data/11382505dd454a9f9127fab01f71780a.epcb- bom_crawler.pyを追加
- bomのcsvを読み込み、LCSCのデータを集めて.yamlとして出力する。
出力は純粋なテキストストリームであるため、PowerShell等の機能でリダイレクトして保存するのが最も扱いやすい運用です。(BOMやエンコーディングの問題を防ぐため -Encoding utf8 を付与してください)
python WORK/epcb_reviewer_analyzer.py data/11382505dd454a9f9127fab01f71780a.epcb | Out-File -Encoding utf8 review_result.yaml出力されたYAMLデータの統計は、基板上の問題を発見する強力なインサイトを与えます。
+5V:
LINE:
Width_0.600mm:
Count: 10
TotalLength_mm: 54.116
Width_0.254mm: <--【着目】
Count: 2
TotalLength_mm: 0.885本来太く引くべき電源ライン(+5V)において、極めて僅かな距離(0.88mm)だけ「0.254mm幅(標準信号線)」が使われていることが即座に見抜けます。これにより、部品の引き出し口等で発生した設計ミスの可能性がある箇所を重点的にチェックできます。
PC0:
LINE:
Width_0.254mm:
Count: 6 <-- 要素数
Min_mm: 1.025
Max_mm: 10.172 <-- 最大値
Median_mm: 1.812 <-- 中央値
Variance: 12.63 <-- 大きな分散中央値が1.8mm付近と「小刻みに曲がりながら進む」配線の中で、Maxが1cmを超え、非常に大きな分散(12.63)を持っています。これにより、このネットは基板の特定箇所から別の箇所へ迂回しながら長距離を1本で繋ぐ「いびつなトポロジー」を描いている可能性が高いと推測でき、シグナルインテグリティの観点から配線見直しのターゲットとなります。
このツールを通じて、安全で確実なデータ主導の基板レビューを実現してください。