回路図の設計データをアプリで処理する

記事
IT・テクノロジー

回路図の設計データをアプリで処理する

コンピュータなどの回路の設計データをアプリで処理するには、設計データをプログラムに取り込む必要があります。この記事では処理の詳しい話をする前に、回路の設計データであるネットリストについてもう少し詳しい内容を紹介します。


回路の設計データはネットリスト

コンピュータや電気製品を構成する回路の設計データは回路図と呼ばれる設計図です。 この回路図をコンピュータで扱いやすい形にしたデータをネットリストと呼んでいます。何か難しそうな感じがしますが、データ自体は比較的シンプルなデータです。ネットリストは、「ネット」の「リスト(一覧)」という意味です。

「ネット」は接続情報です。ネットワークのネットも繋がるという意味合いの言葉なので、何となく想像できると思います。 実際の回路では、部品と部品を電線や、プリント基板と呼ばれる部品を乗せたボードで接続されています。この部品のどのピン(足)がどのように繋がっているかを示しています。そして、その接続情報であるネットに名前をつけてそれを一覧表にしたものが「ネットリスト」という事になります。

基本的なネットの構成

例えば、回路の電源で電池を使う場合、電池をフォルダに入れて回路に繋ぎます。電池はご存知のように「+(プラス)」と「-(マイナス)」があります。電池はバッテリー(battery)なので、部品の名前は例えば「BAT 0」という名前を設計上つけます。接続するピン(足)は、プラスとマイナスがあるので、プラスのピン(足)には「1」、マイナスのピン(足)には「0」のようにピンにも名前をつけます。これに、LED の電球を繋ぐとすると、LED の電球のモジュールにも二つの接続先があります。部品の名前も LED 0の様に設計上の名前をつけて、接続するピンにも名前をつけます。プラスの電源を繋ぐ方を「1」、マイナスの電源を繋ぐ方を「0」の様につけます。

現実の回路は少し複雑になりますが、この例では、電池を LED に直接繋いで光らせる回路だとすると、電池のプラスを LED のプラスに、電池のマイナスを LED のマイナスに繋ぐと LED が光る事になります。

これをシンプルなネットリストで表すと

P9V: LED0.1, BAT0.1
GND: LED0.2, BAT0.2
のような表し方になります。この例では、「P9V」が「プラス」の接続情報の名前になります。そこに繋がれているピンが LED0 の部品の「1」のピンと、BAT0 と言う部品の、「1」のピンという表現になります。

同じように、「GND」が LED0 と言う部品の「2」のピンと、BAT0 と言う部品の、「2」ピンの接続情報の名前ということになります。 これだけで、実際に回路図で書かれている情報があれば、LED を光らせることができる回路を作れる事になります。

部品に番号を付けるのは、例えば、電池が2種類以上あったり、LED も一つでない場合は区別をするために、このように番号を振ってどの部品かを特定できるようにしています。

実際のネットリストは、接続情報以外の情報も含まれている場合があるので設計に使う CAD ソフトによって形式が違ってきますが、基本はこのような構成になっています。

設計で利用する CAD はネットリストを作ってくれる
実際に、回路図を CAD 上で入力すると、CAD ソフトは、ネットリストを作って実際に部品配置や、配線を行う別の CAD にデータを渡せるような仕組みになっています。回路図は人間が見る場合には便利ですが、コンピュータで処理する場合には、接続情報があれば十分なので人間のための情報から、コンピュータで処理しやすい情報であるネットリストに変換して扱います。

実際のコンピュータの基板の設計データは非常に沢山のネットからできています。高性能のサーバーの設計の場合、数万規模のネット(接続情報)があるのが普通です。

設計のチェックは、従来は回路図をみて行う場合が殆どでしたが、設計にコンピュータを利用するようになって、実際にやり取りするデータ、すなわちネットリストをチエックする方が確実で効率良い検証ができるため、現在ではネットリストをチェックする機会が増えています。回路図上では部品と部品を線で繋ぎますが、1ページで書ける回路の規模には限界があるため、コンピュータのような大きな設計では、接続が複数のページになる場合が殆どです。

その場合は、部品の接続する線に名前をつけて、同じ名前の線は接続されているとみなして複数のページに回路を書く仕組みになっています。この線の名前に相当するのがネットの名前という事になります。ネットリストでは、全ての接続されているピンをリストにしているので、接続のチェックで漏れが出る可能性を小さくできます。

しかし、部品の接続を表した回路図では、1ページ書かれている場合はシンプルですが、同じ名前の線が複数のページにまたがる場合、見落としたりするケースが増えてきます。こうしたミスをネットリストで接続を確認することで防ぐことができます。

ネットリストはテキストファイル
ほとんどのネットリストは、テキストファイルと言う形式で表現されています。 テキストファイルは、通常人間が利用する文字ベースで情報を保存します。文字ベースと言っても実際は、数字のデータですが、通常利用する文字に対応する数字のコード(ASCII コードなど)で割り当てて人間が理解しやすい形で表現したファイル形式です。ほとんどの OS では、このテキストファイルを人間が読める形で表示する仕組みが予め組み込まれています。

これに対する別のファイルの形式では、バイナリファイルと呼ばれる形式で、これは完全に(二進数の)数字のデータで、人間が直接読むことは通常はできない数字(ビット)の羅列のファイルになっています。コンピュータには意味のあるデータで、人間には簡単に理解できないので、データの中身を簡単に知られたくない場合や、読まれたくない場合などに利用されます。一部の CAD データも他の CAD で簡単に扱えないようにバイナリ形式の場合もありますが、ネットリストの多くはテキスト形式のデータを利用するケースが多い様です。

このテキストファイルを読み込むことで、回路図のデータをアプリで処理することが可能になります。

まとめ
この記事では、実際に回路の検証や表示にネットリストを処理して利用する前に、ネットリストという回路の設計データについて簡単に紹介してみました。記事にも書いた通り殆どのネットリストはテキストファイルの形で提供されています。

したがって、CAD ソフトが生成したネットリストのファイルを簡単にプログラムに取り込む事が可能です。

一旦、設計データをプログラムに取り込む事ができれば、後の処理はプログラムでいろいろな事ができます。

設計の検証も、一定のルールに従うかどうかのチェックなどは、プログラムを利用すると短時間で正確な処理結果を得ることができるため、設計作業の短縮や効率化、さらに人間が目でチェックするよりは正確な検証が可能になります。

次回以降は、もう少し具体的なネットリストの扱い方を紹介していきます。お楽しみに!
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す