今回はリバーエレテックの水晶振動子(FCX-07L)を例にしてC-Formatを見ていきます。前回のチップコンデンサと異なりこの水晶振動子は4つの端子を持っています。このうち2つの端子だけが内部の水晶と接続し、残りの端子はグランドとnon-connectionとなっています。シミュレーションモデルと接続しない端子が存在するため、参照方法もチップコンデンサとは異なる記述となっています。
下にFCX-07LのC-Formatの例を示します。以後、このC-Formatの詳細を見ていきます。前回のチップコンデンサと同様に、このC-Formatもトップ要素の下に<header>, <global>, <module>の3つの要素を配置しています。
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 |
<?xml version="1.0" ?> <LPB_CFORMAT version="2020"> <header company="RIVERELETEC" date="Monday Sep. 16 2018" design_revision="1.0" project="FCX"/> <global> <unit> <distance unit="mm"/> </unit> <shape> <rectangle id="1" height="0.5" width="0.6"/> <rectangle id="2" height="1.2" width="1.6"/> </shape> <padstack_def> <padstack id="1"> <ref_shape shape_id="1" x="0" y="0" pad_layer="BOTTOM"/> </padstack> </padstack_def> </global> <module name="FCX07L" type="OTHER" shape_id="2" thickness="0.33" x="0" y="0"> <socket name="socket"> <default> <port_shape padstack_id="1"/> </default> <port id="1" x="-0.55" y="-0.4"/> <port id="2" x="0.55" y="-0.4" type="ground"/> <port id="3" x="0.55" y="0.4"/> <port id="4" x="-0.55" y="0.4" type="dontcare"/> </socket> <reference xmlns:spice="http://www.jeita.or.jp/LPB/spice" reffile = "FCX07L.mod" format="SPICE" > <connection socket_name="socket" port_id="1"> <spice:ref_port subckt="FCX07L" portid="1"/> </connection> <connection socket_name="socket" port_id="3"> <spice:ref_port subckt="FCX07L" portid="2"/> </connection> </reference> </module> </LPB_CFORMAT> |
<header>要素
1 2 3 4 |
<header company="RIVERELETEC" date="Monday Sep. 16 2018" design_revision="1.0" project="FCX"/> |
<global>要素
<global>要素には前節の2端子表面実装部品と同様に、<unit>要素、
<shape>要素、<padstack_def>要素が定義されています。
<unit>要素
このサンプルのC-Formatでは長さ・座標以外の数値は使われていないため、長さ・座標の単位(ミリメートル)だけが定義されています。
1 2 3 |
<unit> <distance unit="mm"/> </unit> |
<unit>要素にはC-Format内で使われている単位系を定義します。ここで取り上げている例では長さ単位(<distance>)だけを定義していますが、下記の単位が定義可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<unit> <distance unit="um" /> <angle unit="degree" /> <area unit="um2" /> <time unit="ps" /> <resistance unit="mohm" /> <capacitance unit="pF" /> <resistivity unit="ohmm"/> <temperature unit="C" /> <voltage unit="V" /> <current unit="mA" /> <power unit="mW" /> <inductance unit="nH" /> <frequency unit="MHz" /> <impedance unit="ohm" /> <thermal_conductivity unit="W/(m*K)" /> <specific_heat_capacity unit="J/(kg*K)" /> <density unit="kg/m3" /> <thermal_diffusivity unit="m2/s" /> <coefficient_of_thermal_expansion unit="1/K" /> <dynamic_viscosity unit="Pas" /> </unit> |
<shape>要素
水晶振動子の外形と電極(端子)の形状として2つの矩形(rectangle)を定義しています。
1 2 3 4 |
<shape> <rectangle id="1" height="0.5" width="0.6"/> <rectangle id="2" height="1.2" width="1.6"/> </shape> |
<padstack_def>要素
<padstack_def>要素には前節の2端子表面実装部品と同様に部品の電極(端子)を定義しています。FCX-07Lは電極を4つ持ちますが形状は一種類だけなのでパッドスタックの定義も一つだけです。
1 2 3 4 5 |
<padstack_def> <padstack id="1"> <ref_shape shape_id="1" x="0" y="0" pad_layer="BOTTOM"/> </padstack> </padstack_def> |
<module>要素
<module>要素には<socket>要素と<referecen>要素を定義しています。前回のチップコンデンサと異なりFCX-07Lは汎用的なサイズコードを持たなため、<size_code>は定義していません。また<specification>も定義していません。
1 2 3 4 5 |
<module name="FCX07L" type="OTHER" shape_id="2" thickness="0.33" x="0" y="0"> <socket>要素 <reference>要素 </module> |
shape_id
識別子2のshapeを参照しています。即ち幅1.6mm、高さ1.2の矩形がFCX-07Lの外郭形状です。
thickness
部品の高さとして0.33mmを定義しています。
type
水晶振動子はC-Formatで定義した部品タイプには含まれていなので、OTHER (その他のタイプ)を定義しています。OTHERの場合はtype属性は省略可能です。
<socket>要素
FCX-07Lは電極(端子)を4つ持つので<socket>要素には4つの<port>要素を定義しています。
1 2 3 4 5 6 7 8 9 |
<socket name="socket"> <default> <port_shape padstack_id="1"/> </default> <port id="1" x="-0.55" y="-0.4"/> <port id="2" x="0.55" y="-0.4" type="ground"/> <port id="3" x="0.55" y="0.4"/> <port id="4" x="-0.55" y="0.4" type="dontcare"/> </socket> |
<default>要素
全ての電極(端子)の形状としてid="1"のpadstackを定義しています。
1 2 3 |
<default> <port_shape padstack_id="1"/> </default> |
id="1"のpadstackは以下のように定義されています。
1 2 3 |
<padstack id="1"> <ref_shape shape_id="1" x="0" y="0" pad_layer="BOTTOM"/> </padstack> |
このpadstackは下記のid="1"の矩形を参照しています。従って端子形状は BOTTOM に配置された幅0.6mm、高さ0.5mmの矩形となります。
1 |
<rectangle id="1" height="0.5" width="0.6"/> |
<port>要素
このサンプルでは4つの端子を定義しています。
1 2 3 4 |
<port id="1" x="-0.55" y="-0.4"/> <port id="2" x="0.55" y="-0.4" type="ground"/> <port id="3" x="0.55" y="0.4"/> <port id="4" x="-0.55" y="0.4" type="dontcare"/> |
それぞれの端子は(-0.55mm, -0.4mm)、(0.55mm, -0.4mm)、(0.55mm, 0.4mm)、(-0.55mm, -0.4mm)の座標に配置されています。それぞれの端子の形状は<default>要素で定義されている幅0.6mm、高さ0.5mmの矩形です(下図参照)。
この図を見るとわかる通りFCX-07LのC-Formatは推奨ランドの形状で定義されています。
type
type属性で、その端子に入出力する信号種別を定義します。オプション属性です。この例では端子2にground、端子4にdontcareを設定しています。以下の8種類のタイプがあります。
power - 電源
ground - グランド
signal - 一般信号
floating - 如何なるネットにも接続してはならない端子です。この端子は未接続のままにしておくことを強制します。
dontcare - サーマルボールやnon-connectionのように論理的には意味を持たな端子
through - いわゆるフィードスルー端子と呼ばれる端子。フィードスルー端子は如何なる内部回路とも接続せず単にパッケージを貫通しているだけです
thermal - 熱端子です。VHDL-AMSやSPICEなどのシミュレーションモデルの熱端子と接続する場合に使用します。この端子に接続する熱(温度)の単位はK(Kelvin)です
thermal_c - thermalと同様な熱端子です。ただし、この端子に接続する熱(温度)の単位は ℃ (Celsius)です
<reference>要素
サンプルのC-FormatではSPICEモデルを参照する<reference>要素を定義しています。FCX-07Lは4つの電極(端子)を持ちますが、id="1"とid="3"の2つの端子だけが水晶とつながっています。SPICEモデルにつながる端子もこの2つだけです。従って、下記に示すように2つの<connection>要素でSPICEモデルの関連を定義しています。
1 2 3 4 5 6 7 8 9 10 |
<reference xmlns:spice="http://www.jeita.or.jp/LPB/spice" reffile = "FCX07L.mod" format="SPICE" > <connection socket_name="socket" port_id="1"> <spice:ref_port subckt="FCX07L" portid="1"/> </connection> <connection socket_name="socket" port_id="3"> <spice:ref_port subckt="FCX07L" portid="2"/> </connection> </reference> |
下図はC-FormatのportとSPICEモデルのI/Oノードの関係を示しています。
以上、4端子の水晶振動子の例について説明しました。次回は、少し趣向を変えてJeitaからリリースしているLPB Formatの構文チェッカをご紹介します。