ネットリストとは?役割、生成方法、関連用語との違いを解説
ネットリストは、電子回路設計において重要なデータ形式です。特に回路図から基板設計へ情報を引き継ぐ際に欠かせないデータです。この記事では、ネットリストとは何か解説したうえで、ネットリストの役割や関連用語との違い、生成から確認までの流れを解説します。
1.ネットリストとは
ネットリスト(Netlist)とは、回路内の電子部品(コンポーネント)同士の電気的な接続関係について、テキスト形式で記述したデータです。ネット(net)とは、電気的に接続された信号線やノードの集合を指し、複数のピンが同じネットに属することによって信号が伝わる仕組みを表しています。

KiCadに代表される電子回路設計ソフトウェア(EDAツール)では、回路図エディタから回路図を作成し、その回路図の情報からネットリストを生成します。KiCadでは回路図エディタとPCBエディタが連携しているため、ユーザーがネットリストファイルを明示的に出力しなくても設計情報を同期できます。一方、異なるEDAツール間で設計データを受け渡す場合は、ネットリストを出力して利用することがあります。
2.ネットリストの役割と使われる場面
ネットリストは、設計プロセス全体の整合性を保つうえで不可欠です。ここでは、ネットリストの具体的な役割について、3つのポイントから解説します。
1)回路図から基板設計への引き渡し
回路図で定義した接続情報を、基板レイアウトツールに伝える役割を果たすのがネットリストです。例えばOrCADなどのツールでネットリストを作成し、Allegroなどに移行すると、変換された配線情報に基づいて自動的に接続を表示できます。これにより、手作業によるミスを大幅に削減することが可能です。
2)回路図と基板の整合性確認
ネットリストは、整合性確認の役割も果たします。設計変更の発生により、回路図と基板の比較を行う際、基準となるのがネットリストです。未接続や誤配線を検出するチェックに用いることにより、品質を確保することが可能になります。また、部品表を作成する際や、シミュレーションツールで解析する際のデータとしても用いられます。
3)FPGAや論理設計での利用
FPGA設計では、HDLという言語で回路を記述します。ここで書くのは、RTLと呼ばれる、レジスタとそれに挟まれた組み合わせ回路の機能を記述するものです。論理合成によって生成されたネットリストは、その後の配置配線工程に利用され、最終的にはビットストリームへ変換されてFPGAに書き込まれます。
これにより、論理検証やタイミング解析、配置配線、FPGA実装などが可能になります。ネットリストは論理設計の最終設計データであり、RTLと実際のハードウェアをつなぐ、もっとも重要な橋渡し役となる存在です。
3.ネットリストと関連用語の違い
ネットリストは関連する用語と混同されやすいため、関連用語との違いを明確にしておきましょう。特に間違われやすいのは「ラッツネスト」「SPICEネットリスト」「EDAツールごとのフォーマット」です。ここでは、それぞれの違いについて解説します。
・ラッツネストとの違い
ラッツネスト(Rat’s Nest)とは、基板設計ツール上で未配線状態の接続を、直線で視覚的に表示したものです。ネットリストがテキストベースの接続一覧であることに対して、ラッツネストはネットリストの情報を基にして、直線で部品間を結んだ「ネズミ(Rat’s)の巣(nest)」のような見た目になります。ネットリストは接続情報の本体、ラッツネストはネットリストの情報を画面上で可視化したものと考えると良いでしょう。
ラッツネストは多くの電子回路設計ソフトウェアで活用されており、PCB設計作業において配線ルートの決定に役立てられています。配線ルートの確認や、配線計画を最適化するためのサポート、そして未接続のチェックなどがラッツネストの役割です。
・SPICEネットリストとの違い
SPICEネットリストとは、回路シミュレーション専用の形式で、部品のモデル情報や解析パラメータを含むものです。素子モデルや定数値、ノード番号、「.tran」「.ac」などの解析コマンドが含まれたシミュレーション指示書であり、回路シミュレーションを目的に用いられます。
一方のネットリストは、接続管理を目的として用いられており、部品やピン、ネット名などの内容が含まれます。同じネットリストという名前のため混同されがちですが、用途や構造は別物です。
・EDAツールごとのフォーマットの違い
電子回路設計ソフトウェア(EDAツール)のフォーマットによって、ネットリストの記述形式や扱い方が異なります。ネットリストには統一規格がなく、ツールごとに階層展開の方法やバス番号、グローバルネットの扱い、禁止文字などが異なるため注意しましょう。
フォーマットが異なる場合、変換時に同名ネットが別物として扱われたり、バスが展開されなかったり、未接続エラーが多発したりする可能性があります。異なるEDAツールを使ってデータの受け渡しを行う場合は、トラブルを防ぐために、フォーマット差を意識することが大切です。
4.ネットリストの生成から確認までの流れ
ネットリストの生成から確認までの流れを、3つのステップに分けて解説します。それぞれの作業フローを詳しく見てみましょう。
ステップ1|回路図入力からネットリストを生成する
ネットリストを生成するまでの流れは次のとおりです。
<ネットリストを生成する流れ>
- OrCADなどの回路図エディタで回路を入力する
- 部品属性や接続を正しく設定する
- ERC(Electrical Rule Check)を実行してエラーの有無を確認する
- ツールメニューから「Create Netlist」を実行する
- 必要なフォーマットを選択して生成する
これにより生成されたファイルはテキスト形式で表示され、内容をチェックできます。
ステップ2|基板設計ツールへ読み込む
先ほどの手順で生成したネットリストを、AllegroなどのPCBエディタにインポートしましょう。読み込み後はラッツネストが表示され、基板レイアウト作業を始められます。具体的な流れは次のとおりです。
<読み込みの流れ>
- PCBエディタを起動し、新規ボードを作成する
- 「Import Netlist」または「Read Netlist」コマンドを実行する
- 生成したネットリストファイルを選択して読み込む
- インポート後、ラッツネストが表示される
ステップ3|未接続や誤配線をチェックする
基板設計ツール上でDRCと未接続・誤配線をチェックして、問題がある場合は修正します。読み込み時にエラーが出た場合は、回路図側の接続ミスや部品属性に不整合がある場合が多いです。必要に応じて回路図に戻り、修正しましょう。
まとめ
ネットリストは回路図と基板をつなぐ重要なデータです。SPICEネットリストなどの関連用語と混同されがちですが、目的や役割には大きな違いがあります。生成・変換・チェックの流れを押さえることにより、設計ミスを防ぎやすくなるでしょう。