LPB Formatは設計と検証に必要な情報を記述するための国際標準規格(IEC 63055/IEEE2401-2019)です。
設計情報を交換するためのファイルフォーマットを統一することで、情報交換時の誤解を防ぎ、設計ツールの設定を自動化することを目的としています。LPB Formatは以下の5つのファイルで構成されています。
- M-Format - プロジェクト管理用のファイルです。LPB Formatファイルのバージョンや組み合わせを管理します。
- N-Format - 部品間の接続を定義するネットリストファイルです。
- C-Format - 設計制約や部品のフットプリント、シミュレーション用のモデルを定義します。LPB Formatの中核となるファイルです。
- R-Format - 基板構造やLine & Space等のデザインルールを定義します。
- G-Format - プリント基板やICパッケージなどの2次元のLayer Stackup構造の図形データを定義します。
C-Format
C-Formatの第1の目的は、LSI、パッケージ、ソケットなどのコンポーネントの外部仕様に統一された表記法を提供することです。外側仕様とは以下で定義するコンポーネントを使用するために必要な情報です。
- 部品の物理的形状
- 部品に対する入力および出力する信号の名前とタイプ
- 端子の物理的形状や位置、スワップ可能な端子定義などの入出力 (i/o) 仕様
- 遅延やスキューの上限などの設計上の制約
- 端子の入力インピーダンスや消費電力などの設計仕様
C-Formatの2番目の目的はSPICEネットリスト、IBIS、S パラメータなどのシミュレーションモデルの入出力ノードとコンポーネントの端子間の相互参照を提供することです。シミュレーションツールはC-Formatラップされたモデルファイルを入力することでモデルを自動的にプラグインできます。
村田製作所は下記URLでコンデンサ部品のC-FormatとSPICEモデルおよびSパラメータファイルを公開しています。
https://www.murata.com/ja-jp/tool/c-format/mlcc
LPBデザインキットを使ってダウンロードしたC-FormatとSパラメータファイルをANSYS/SI-Wave用のライブラリに変換することができます。詳細は下記URLを参照してください。
- LPBデザインキット:http://jeita-sdtc.com/lpb-open-source-project/lpbdesignkit/
- LPB C-Froamtの使い方:http://jeita-sdtc.com/wp/wp-content/uploads/2019/06/HowToUseCFormat1.2.pdf
以下に表面実装の2端子部品のC-Formatの例を示します。詳細は以後の連載で解説しますので、今は詳細を理解する必要はありません。こんなものか、という程度に眺めてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?xml version="1.0" ?> <LPB_CFORMAT version="2020"> <header design_revision="1.0" project="GRM"/> <global> <unit> <distance unit="mm"/> </unit> <shape> <rectangle id="1" height="0.8" width="1.6"/> <rectangle id="2" height="0.8" width="0.375"/> </shape> <padstack_def> <padstack id="1"> <ref_shape shape_id="2" x="0" y="0" pad_layer="BOTTOM"/> </padstack> </padstack_def> </global> <module name="GRM188R60J226MEA0" shape_id="1" x="0" y="0" thickness="0.8" type="C"> <socket name="pins"> <default> <port_shape padstack_id="1"/> </default> <port id="1" x="-0.6125" y="0.0"/> <port id="2" x="0.6125" y="0.0"/> </socket> </module> </LPB_CFORMAT> |
R-Format
R-Formatの第一の目的はプリント基板とパッケージの設計ルールの表記を統一することです。R-Formatでは次の設計規則が定義されています。
- パッケージとプリント基板の層スタックアップ
- 導電層/絶縁層の厚さ
- 各層に使用される材料
- 導電率、誘電定数、損失正接などの材料パラメータ
- 線幅と線のスペース
- ビア間隔とビア形状
通常、プリント基板やパッケージのメーカーは独自の表記法を使用して設計ルールを提供しています。設計者は異なる表記で説明されている設計規則を理解し設計ツールをセットアップする必要があります。これは誤解によるヒューマンエラーのリスクを含んでいます。R-Formatで表記を統一することで設計ツールの自動的設定を可能とし、ヒューマンエラーを防ぐことが可能となります。
R-Formatの第2の目的はプリント基板とパッケージの物理的な設計上の制約を定義することです。物理的な設計上の制約とは取り付けられた部品の高さの制限とデフォルト以外の設計規則領域を意味します。
以下にプリント基板の層構成を定義したR-Formatの例を示します。これも詳細は後の連載で解説しますので、今はかるく眺める程度にしておいてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?xml version="1.0" ?> <LPB_RFORMAT version="2020" > <header project="LPB_2014_SAMPLE" design_revision="1.0"/> <global> <unit> <distance unit="um" /> </unit> </global> <Physicaldesign name="DEFAULT_RULE"> <default/> <material_def> <conductor material="Copper" volume_resistivity="1.7e-08" temperature="20.0" /> <dielectric material="FR-4" permittivity="4.37" tan_delta="0.01" frequency="1000" /> <dielectric material="SR" permittivity="4.3" tan_delta="0.03" frequency="1000" /> </material_def> <layer_def> <layer name="Die1" type="dielectric" thickness="23" conductor_material="Copper" dielectric_material="SR"/> <layer name="L1" type="conductor" thickness="38" plate_thickness="20" conductor_material="Copper" dielectric_material="SR"/> <layer name="Die3" type="dielectric" thickness="200" conductor_material="Copper" dielectric_material="FR-4"/> <layer name="L2" type="conductor" thickness="35" plate_thickness="0" conductor_material="Copper" dielectric_material="FR-4"> </layer> </layer_def> </Physicaldesign> </LPB_RFORMAT> |
M-Format
LPB Formatファイルの内容は設計の進捗状況に応じて動的に更新されます。M-Format はLPB Formatのファイルを交換するときのエラーを防ぐために、各ファイルのバージョンを管理することを目的としています。
以下にM-Formatの例を示します。詳細は後の連載で解説します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?xml version="1.0" ?> <LPB_MFORMAT version="2020"> <header project="myproj01" design_version="1.0" date="2018-06-17 13:00:00" author="Mr.X" company="LPB Inc." /> <include MFORMAT="../ICs/fkb48_m.xml"/> <include MFORMAT="../lib/regulator_m.xml"/> <include MFORMAT="../lib/parts_lib_m.xml"/> <class name="TOP" > <CFORMAT file_name="top_c.xml"/> <NFORMAT class_name="top_n.v"/> <ref_class class_name="SOC_PKG"/> <ref_class class_name="fkb48"/> <ref_class class_name="regulator"/> <ref_class class_name="parts"/> </class> <class name="SOC_PKG"> <CFORMAT file_name="soc_pkg_c.xml"/> <NFORMAT file_name="soc_pkg_n.v"/> <ref_class class_name="SOC"/> </class> <class name="SOC"> <CFORMAT file_name="soc_c.xml"/> <NFORMAT file_name="soc_n.v"/> </class> </LPB_MFORMAT> |
G-Format
G-Formatはプリント基板やパッケージなどのスタックアップ構造のレイアウトデータを表記するフォーマットです。標準化されたレイアウトデータを使用することで解析ツールとレイアウトツール間でデータをシームレスに交換することができます。G-Formatファイルには、次の物理情報が含まれています。
- プリント基板
- 材料の層スタックアップおよび物理パラメータ
- 配置された部品の形状と位置
- 端子の形状と位置
- ネットの経路またはパターン
- ビアの形状と位置
- ボンディングワイヤーの形状
以下にG-Formatの例を示しますが長くなるので、一部だけを記載しています。このも詳細は後の連載で説明します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
.version 1 0 .unit mm .scale 1000 .material D "AIR" 1 1 0 C "Aluminum" 3.816e+07 D "CCL-HL832NX-A" 5.4 1 0.011 C "Copper" 5.8e+07 D "FR-4" 4.37 1 0.01 D "GHPL830NX" 5.4 1 0.01 C "Gold" 4.1e+07 D "MOLD" 3.82 1 0 D "SR" 4.3 1 0.03 .end material .layer "Die1" 23 D "Copper" "SR" "L1" 38 S "Copper" "SR" "Die3" 200 D "Copper" "FR-4" "L2" 35 S "Copper" "FR-4" "Die5" 800 D "Copper" "FR-4" "L3" 35 S "Copper" "FR-4" "Die7" 200 D "Copper" "FR-4" "L4" 38 S "Copper" "SR" "Die9" 23 D "Copper" "SR" .end layer .shape 1 rectangle 700 5600 2 circle 700 3 rectangle 400 400 4 circle 400 5 circle 1500 6 rectangle 500 500 7 circle 500 8 rectangle 1500 1000 9 circle 1000 10 rectangle 200 800 11 circle 200 12 rectangle 299.99 1600 13 circle 299.98 14 circle 750 .end shape .board_geom polygon { -50000 -40000 50000 -40000 50000 40000 -50000 40000 } .end board_geom .padstack 1 { 4 2 0 } 2 { 1 2 0 } 3 { 1 4 0 } 4 { 1 5 0 } |
N-Format
N-Formatは設計に使用されるネットリストの表記を統一するを目的としています。従来はネットリストを表記するフォーマットがツールごとに異なるためデータの流通に問題が発生していました。N-Formatは Verilog-HDL (IEEE Std 1364) に準拠し電源およびグランドを識別するためのキーワードを追加したものです。同じフォーマットのネットリストを使用することで回路設計ツールとレイアウトツール間でデータをシームレスに交換することが可能になります。
以上、LPBフォーマットの概要について説明しました。次回は、LPBフォーマットのベースとなっているXMLを紹介したいと思います。