リファレンス・マニュアル

このドキュメントは以下の貢献者により著作権所有 © 2010-2018 されています。あなたは、GNU General Public License ( http://www.gnu.org/licenses/gpl.html ) のバージョン 3 以降、あるいはクリエイティブ・コモンズ・ライセンス ( http://creativecommons.org/licenses/by/3.0/ ) のバージョン 3.0 以降のいずれかの条件の下で、配布または変更することができます。

このガイドの中のすべての商標は、正当な所有者に帰属します。

*貢献者*

Jean-Pierre Charras, Fabrizio Tappero.

翻訳

Asuki Kono <asukiaaa At gmail.com>, 2018. starfort <starfort AT nifty.com>, 2015-2017. Norio Suzuki <nosuzuki AT postcard.st>, 2015. yoneken <yoneken AT kicad.jp>, 2011-2015. Silvermoon, Zenyouji, Millo, Nenokuni 2011-2012.

フィードバック

バグ報告や提案はこちらへお知らせください:

発行日とソフトウエアのバージョン

2015年5月30日 発行

1. Eeschema 入門

1.1. 概要

Eeschema は、KiCad の一部として配布されている強力な回路図エディタソフトウェアであり、次のオペレーティングシステムで利用可能です。:

  • Linux

  • Apple macOS

  • Windows

OS に関係なく、すべての Eeschema ファイルは一方の OS から他方のものへ 100 %互換性があります。

Eeschema は、図面、コントロール、レイアウト、ライブラリ管理および、PCB 設計ソフトウェアへのアクセスといったすべての機能が Eeschema 内で実行される統合ソフトウェアです。

Eeschema は、プリント基板設計ソフトウェア PcbNew とともに使用されることを想定しています。また、PCB の電気的接続を記述するネットリストファイルをエクスポートすることも可能です。

Eeschema は、シンボルの作成/編集やライブラリの管理ができるシンボル ライブラリ エディタを含んでいます。また、現代の回路図エディタソフトに必要不可欠な機能だけでなく、以下の追加機能も組み込まれています。:

  • 誤接続、未接続の自動的な検出を行うエレクトリカル・ルール・チェック (ERC)

  • 多くの形式 (Postscript, PDF, HPGL, SVG) をサポートしたプロットファイルのエクスポート。

  • (様々なフォーマットを設定できるよう Python か XSLT のスクリプトを使用した)部品表 (BOM) の生成。

1.2. 技術的な概要

Eeschema は、コンピュータで利用可能なメモリの大きさにのみ制限を受けます。コンポーネント、ピン、接続、シート、の数に関して明示的な制限はありません。複数シートからなる回路図では、階層的な表示となります。

Eeschema は、いくつかの方法で複数のシートからなる回路図を扱うことができます:

  • 単一の階層 (各図が一度だけ使用される)。

  • 複雑な階層 (いくつかの図は、一度以上の複数回使用される)。

  • 平面的(フラット)な階層 (マスター図面の中、いくつかの図面は明示的に接続されない)。

2. Eeschema コマンド全般

下記のコマンドを実行できます :

  • 画面上部のメニューバーをクリックする。

  • 画面上部のアイコンをクリックする (一般コマンド)。

  • 画面右側のアイコンをクリックする(特殊コマンド、または “ツール” )。

  • 画面左側のアイコンをクリックする(表示オプション)。

  • マウスボタンをクリックする(重要な補助コマンド)。特に右クリックでは、カーソル下の要素に対応したコンテキストメニューを開きます(ズーム、グリッドと要素の編集)。

  • キーボードのファンクションキー (F1, F2, F3, F4, Insert, スペース キー)。特に “Esc” キーは,多くの実行中のコマンドを中断できます。 “Insert” キーは、最後に作成された要素を複写します。

  • ホットキーを入力すると、カーソルがある場所に対して処理が行われます。ホットキーのリストは"ヘルプ" →"ホットキーリスト"をメニューから選択するか、"?"を入力することで表示できます。

コマンドの全体像

2.1. マウスコマンド

2.1.1. 基本コマンド

左ボタン

  • Single click: displays the characteristics of the symbol or text under the cursor in the status bar.

  • Double click: edit (if the element is editable) the symbol or text.

右ボタン

  • コンテキストメニューを開く。

2.1.2. ブロックの操作

Eeschema では、選択範囲を移動、ドラッグ、コピー、削除することができます。

マウスの左ボタンを押しながらドラッグすると、範囲の選択ができます。

“Shift”、 “Ctrl”、“Shift + Ctrl”を押しながらの範囲を選択すると、選択した範囲を コピー、ドラッグ、削除 できます :

左マウスボタン

選択範囲を移動。

Shift + 左マウスボタン

選択範囲をコピー。

Ctrl + 左マウスボタン

選択範囲をドラッグ。

Ctrl + Shift + 左マウスボタン

選択範囲を削除。

ドラッグまたはコピー中、次のことができます:

  • もう一度クリックして要素を置き直す。

  • 右ボタンをクリックするか Esc キーを押して取消す。

ブロック移動コマンドが実行されていても、マウスの右ボタンからポップアップメニューを開くことで、他のブロックコマンドを選択できます。

メイン ウィンドウのポップアップ

2.2. ホットキー

  • “?” で現在のホットキーのリストを表示します。

  • ホットキーの割り当てを変更したい場合は、回路図エディタのオプションダイアログ(設定 → 一般オプション)のコントロールタブで設定できます。

以下はデフォルトのホットキーのリストです:

Help (this window)

?

Zoom In

F1

Zoom Out

F2

Zoom Redraw

F3

Zoom Center

F4

Fit on Screen

Home

Zoom to Selection

@

Reset Local Coordinates

Space

Edit Item

E

Delete Item

Del

Rotate Item

R

Drag Item

G

Undo

Ctrl+Z

Redo

Ctrl+Y

Mouse Left Click

Return

Mouse Left Double Click

End

Save Schematic

Ctrl+S

Load Schematic

Ctrl+O

Find Item

Ctrl+F

Find Next Item

F5

Find Next DRC Marker

Shift+F5

Find and Replace

Ctrl+Alt+F

Repeat Last Item

Ins

Move Block → Drag Block

Tab

Copy Block

Ctrl+C

Paste Block

Ctrl+V

Cut Block

Ctrl+X

Move Schematic Item

M

Duplicate Symbol or Label

C

Add Symbol

A

Add Power

P

Mirror X

X

Mirror Y

Y

Orient Normal Symbol

N

Edit Symbol Value

V

Edit Symbol Reference

U

Edit Symbol Footprint

F

Edit with Symbol Editor

Ctrl+E

Begin Wire

W

Begin Bus

B

End Line Wire Bus

K

Add Label

L

Add Hierarchical Label

H

Add Global Label

Ctrl+L

Add Junction

J

Add No Connect Flag

Q

Add Sheet

S

Add Wire Entry

Z

Add Bus Entry

/

Add Graphic PolyLine

I

Add Graphic Text

T

Update PCB from Schematic

F8

Autoplace Fields

O

Leave Sheet

Alt+BkSp

Delete Node

BkSp

Highlight Connection

Ctrl+X

全てのホットキーは、ホットキーエディタ(設定 → 一般オプション → コントロール)で割り当てを変更できます。

ホットキーの設定は、設定 → インポートとエクスポート → ホットキーのインポート・エクスポートでインポートやエクスポートを行なえます。

2.3. グリッド

Eeschema では、カーソルは常にグリッド上にあります。グリッドはカスタマイズ出来ます。 :

  • ポップアップメニューあるいは「設定/オプション」メニューから、グリッドサイズを変えることができます。

  • 回路図エディタ オプション ダイアログ(設定 → 一般オプション)の"カラー"タブで、色を変えられます。

  • 表示はツールバーの左側のボタンで切り替えることができます。

デフォルトのグリッドサイズは、50 mil (0.050”) あるいは 1,27 mm です。

This is the preferred grid to place symbols and wires in a schematic, and to place pins when designing a symbol in the Symbol Editor.

25 mil から 10 mil のより細かいグリッドでも作業できます。これは、ピンの配置や配線ではなく、シンボル本体のデザインあるいはテキストやコメントを配置する時に使うことを意図しています。

2.4. ズームの選択

ズームレベルを変えるには:

  • 右クリックしてコンテキストメニューを開き、希望のズームを選択。

  • あるいはファンクションキーを使って:

    • F1: ズームイン

    • F2: ズームアウト

    • F4 または(マウスを止めたまま)中央ボタンをクリック: 画面の中央をカーソル位置近辺に設定

  • ウィンドウのズーム:

    • マウスホイール: ズームイン/ズームアウト

    • Shift+ マウスホイール : 上/下 パン

    • Ctrl+マウスホイール : 左/右 パン

2.5. カーソルの座標表示

表示単位は inch あるいは mm です。しかしながら、Eeschema は内部的には常に 1/1000 inchで扱っています。

ウィンドウの下部右側には以下の情報が表示されます:

  • ズーム倍率

  • カーソルの絶対位置

  • カーソルの相対位置

相対座標値 (x, y) はスペースキーで (0, 0) にリセットされます。これは2点間の距離を測る時に役立ちます。

status_bar

2.6. 上部メニューバー

上部メニューバーでは、回路図を保存したり、プログラム設定を開いたり、保存したり、ヘルプメニューを開いたりできます。

上部メニューバー

2.7. 上部ツールバー

このツールバーから、Eeschema の主な機能へアクセスできます。

Eeschema が単独で実行されている場合、以下のツールが有効です。:

images/toolbar_schedit_standalone.png

KiCad がプロジェクトモードで動いているときは、個別のファイルを扱うための最初の2つのアイコンは表示されません。

New schematic icon

新規回路図の作成(単独実行時のみ)

Open schematic icon

既存回路図を開く(単独実行時のみ)

Save schematic icon

回路図プロジェクトの保存

Page Settings icon

ページの設定(用紙サイズと表題欄の編集)

Print icon

プリントダイアログを開く

icons/paste_png

現在のシートで最後にコピーか切り取りをした要素,あるいはブロックを貼り付け

icons/undo_png

最後の変更を元に戻す

icons/redo_png

最後の変更をやり直す

search icon

Show the dialog to search symbols and texts in the schematic.

search replace icon

ダイアログを表示して、テキストの検索と置換

icons/zoom_redraw

回路図ビューの再描画

icons/zoom_fit_in_page_png

回路図表示を画面サイズに合わせる

icons/zoom_in icons/zoom_out

ズームイン/ズームアウト(画面中央近辺)

hierarchy navigator icon

図面図の階層ナビゲータを表示(ツリー構造(サブシートがある場合)と階層を表示)

icons/leave_sheet

現在のシートそのままで上の階層へ(現在のシートをそのままにして、階層を一つ上がる)

icons/libedit_png

Call the symbol library editor to view and modify libraries and symbols.

icons/library_browse_png

シンボル ライブラリ ブラウザを表示

icons_annotate_png

シンボルをアノテーション

ERC icon

ERC (エレクトリカル・ルール・チェック): 自動で電気的接続をチェック

run cvpcb icon

CvPcbを呼び出し、シンボルとフットプリントの関連付ける

Netlist icon

ネットリストをエクスポート( Pcbnew,Spice フォーマット及びその他フォーマット)

Symbol fields editor icon

シンボルのフィールドを編集

BOM icon

部品表 (BOM : Bill of Materials) を生成

icons/pcbnew_png

Pcbnew (プリント基板のレイアウト)の実行

Import Footprint Names icon

CvPcb か Pcbnew で割り当てられた、フットプリント フィールドの情報をバックインポート

2.8. 右ツールバー

このツールバーは次のツールを含んでいます:

  • シンボル、ワイヤ、バス、ジャンクション、ラベル、テキストの配置

  • 階層サブシートと接続シンボルの作成

Cancel tool icon

有効になっているコマンドやツールをキャンセル

Highlight net icon

配線やネットラベルを違う色でハイライト表示 KiCadがプロジェクトモードで動作している場合は、Pcbnew の対応する導体もハイライト表示されます。

New Symbol icon

Display the symbol selector dialog to select a new symbol to be placed.

Add Power icon

シンボル セレクタ ダイアログで電源ポートを選んで配置

icons/add_line_png

配線を描画

icons/add_bus_png

バスを描画

icons/add_line2bus_png

ワイヤ - バスエントリを配置 これらの要素は装飾的な役割だけなので、配線間の接続に使用すべきではありません。

icons/add_bus2bus_png

バス - バスエントリを配置。これは2本のバス同士をつなぐだけです。

icons/noconn_png

空き端子フラグを配置。接続されないシンボルのピン上に配置します。 これは ERC 機能において、ピンが意図的に接続されていないのか、誤って未接続なのか を確認するために使用されます。

icons/add_junction_png

ジャンクション(接続点)を配置。 接続状況がはっきりしない 2本の交差する配線やピンを接続します。

icons/add_line_label_png

ローカルラベルを配置。 同じシート内 でアイテムを接続します。 異なるシート間で接続したい場合は、グローバルラベルか階層ラベルを使用してください。

Global label icon

グローバルラベルを配置。異なるシート間であっても、同じ名前の全ての グローバルラベルは接続されます。

icons/add_hierarchical_label_png

階層のラベルを配置。階層ラベルを持つサブシートと親シート間を接続します。

icons/add_hierarchical_subsheet_png

階層シートを作成。サブシートのデータを保存するためには,ファイル名を指定する必要があります。

icons/import_hierarchical_label_png

サブシートから階層ラベルをインポート。このコマンドは階層サブシートでのみ実行できます。 対象となるサブシートの階層ラベルに対応する階層ピンを作成します。

icons/add_hierar_pin_png

階層ピンをサブシートに配置。このコマンドは階層サブシートでのみ実行できます。 対象となるサブシートがなくても、階層ピンを作成できます。

icons/add_dashed_line_png

図形ラインかポリゴンを配置。装飾用です。ワイヤと異なり接続されません。

icons/text.png

テキストコメントを配置

icons/image_png

ビットマップイメージの追加。

icons/cancel_png

アイテム削除。

2.9. 左ツールバー

このツールバーは表示オプションを管理します:

icons/grid

グリッド表示を切替

icons/unit_inch

単位をインチに切り替え

icons/unit_mm

単位を mm へ切り替え

icons/cursor_shape

カーソルの形を選択(全画面か、小さくか)

icons/hidden_pin

非表示ピンの表示・非表示を切り替え

icons/lines90

配線、バスの自由角度での描画と90での描画を切り替え

2.10. コンテキストメニューとクイックエディット

右クリックで選択要素に応じたコンテキストメニューを開き、下記の機能にアクセスします:

  • ズーム倍率。

  • グリッド調整。

  • パラメータ編集。

要素を選択しないでコンテキストメニューを呼び出す。

eeschema_popup_without_element_png

ラベルの編集。

eeschema_popup_edit_label_png

シンボルの編集。

eeschema_popup_edit_component_png

3. 上部メニューバーの主なメニュー

3.1. ファイルメニュー

ファイルメニュー

新規

今の回路図を閉じて、新規回路図の作成(単独実行時のみ)。

開く

回路図プロジェクトを開く(単独実行時のみ)。

最近開いたファイル

最近開いた回路図ファイルのリストから開く。(単独実行時のみ)

回路図シートから追加

現在の回路図へ別のシートの内容を追加する。

KiCad 以外の回路図ファイルをインポート

異なるフォーマットで保存された回路図プロジェクトをインポートします。

保存

現在のシートと全ての階層を保存する。

現在のシートを保存

プロジェクト内の現在のシートだけを保存する。

名前を付けて現在のシートを保存

名前を付けて現在のシートを保存。

ページ設定

ページの寸法とタイトルブロックを設定する。

印刷

回路図を印刷する( プロットと印刷 の章を参照)。

プロット

Postscript HPGL あるいは SVF フォーマットでエクスポートする( プロットと印刷 の章を参照)。

閉じる

アプリケーションを終了する。

3.2. 設定メニュー

設定メニュー

シンボル ライブラリ テーブルを管理

シンボル ライブラリの追加や削除を行います。

パスを設定

検索に利用するパスを設定します。

全般 オプション

詳細設定です(単位、グリッドサイズ、フィールド名、など)。

言語設定

インターフェースの言語を選択します。

アイコンオプション

アイコンの見た目を設定します。

インポートとエクスポート

設定項目のファイルへの抽出や、ファイルからの読み取りを行います。

3.2.1. シンボル ライブラリ テープルの管理

シンボル ライブラリ テーブル

Eeschemaはスコープの異なる2種類のシンボル ライブラリを利用します。

  • グローバル ライブラリ

グローバル ライブラリ テーブルで管理されるシンボルは、全てのプロジェクトで利用できます。このリストは、ホームディレクトリの sym-lib-table に保存されます(OSによってパスは異なります)。

  • プロジェクト固有のライブラリ

プロジェクト固有のライブラリ テーブルで管理されるシンボルは、そのテーブルに紐づくプロジェクトで利用できます。テーブルは sym-lib-table ファイルとして、プロジェクトのディレクトリに保存されます。

下に示す回路図ライブラリ テーブルのタブを切り替えることで、 "グローバル ライブラリ" か "プロジェクト固有のライブラリ" を閲覧できます。

ライブラリを追加

ライブラリを参照.. ボタンをクリックしてファイルを選択するか、 *ライブラリを追加* をクリックしてライブラリファイルへのパスを入力することで、ライブラリを追加できます。選択したライブラリは、現在のプロジェクトの(グローバルもしくはプロジェクト固有の)ライブラリテーブルに追加されます。

ライブラリを削除

一つか複数のライブラリをクリックし ライブラリを削除 ボタンをクリックすることで、ライブラリを削除できます。

ライブラリのプロパティ

テーブルの各行は、いくつかのフィールドでライブラリの情報を表示しています :

アクティブ

ライブラリの有効/無効を。この機能は、一時的にロードするライブラリを減らしたいときに有効です。

別名(ニックネーム)

短く、ユニークな別名を、シンボルに割り当てられます。シンボルには < ライブラリのニックネーム >:< シンボル名> という文字列が割り当てられます。

ライブラリのパス

ライブラリの場所を示します。

プラグインの種類

ライブラリのファイルフォーマットを決めます。

オプション

プラグインで利用する場合、ライブラリ固有のオプションを保持します。

説明

ライブラリについて完結に説明します。

3.2.2. 全般オプション

表示
表示設定

グリッドサイズ

グリッドサイズを選べます。

通常グリッド(0.050 インチあるいは 1.27mm)での作業を 推奨します。 より細かいグリッドはコンポーネント作成で使用します。

バス線幅

バスを描画するペンのサイズです。

線幅

ペンのサイズが指定されていないオブジェクトを描画するときに利用されます。

パーツ ID の表記方法

コンポーネント名を示すために使われる接尾辞の形式です。 (U1A, U1.A, U1-1, etc.)

アイコン スケール

ツールバーのアイコンのサイズを調整できます。

グリッドを表示

グリッドの表示を切り替えれます。

バス、配線を90度入力に制限

チェックがある場合,バスや配線は垂直または水平になります。 そうでなければ、バス、配線はどのような角度にも配置されます。

非表示ピンの表示

非表示 ( または hidden) ピンを表示。チェックがある場合、電源ピンも表示されます。

ページの境界を表示

チェックがある場合、画面上にページの境界が表示される。

シンボルの選択中にフットプリントをプレビュー

シンボルを選択すると、フットプリントのプレビューとフットプリントの選択肢が表示されます。

メモ: 問題の発生や処理が遅くなる可能性があるので、利用は自己責任でお願いします。

編集
編集設定

計測単位

表示とカーソル座標の単位(インチまたは mm )を選べます。

繰り返し配置の水平間隔

アイテムをコピーする際のX軸の増加値(通常は0) (シンボル、ラベル、配線などの要素を設置した後に Insert キーを押すと、直前に扱っていた要素をコピーできます。)

繰り返し配置の垂直間隔

アイテムをコピーする際のY軸の増加値(通常は 0.100 inch か 2,54 mm)。

繰り返しラベルの増分値

バスの配線のように、数字で終わるラベルの増加量(通常は 1 か -1 )。

デフォルトのテキストサイズ:

新しいテキストやラベルが新規作成される時に使用されます。

自動保存の間隔

バックアップを保存する間隔(分)。

シンボル フィールドを自動配置

チェックされた場合、シンボル フィールド(値やリファレンス)は他のアイテムと衝突しないように移動して配置されます。

揃えの変更によるフィールドの自動配置を許可

'シンボル フィールドを自動配置'の追加オプションです。新しいアイテムが配置された際に、シンボルフィールドのテキストを揃えます。

常に 50 mil グリッドへ自動配置フィールドを整列

'シンボル フィールドを自動配置'の追加オプションです。チェックされた場合、フィールドは 50 mil のグリッドで配置されます。そうでなければ、自由な場所に配置されます。

コントロール

ホットキーの再定義とインターフェースの動作設定を行なえます。

コントロール設定

アクションをダブルクリックか右クリックすると、ポップアップメニューが表示されます :

編集

アクションに対する新しいホットキーを定義します。(ダブルクリックするのと同じです。)

変更を元に戻す

ホットキーに関する直近の変更を元に戻します。

デフォルト値を復元

アクションのホットキーをデフォルト値にします。

全ての変更を元に戻す

ホットキーに関する直近全ての変更をもとに戻します。

デフォルト値を全て復元

全てのアクションのホットキーをデフォルト値にします。

オプションの説明 :

カーソルを中心にしてズーム

チェックした場合、カーソルの中心が拡大や縮小の中心になります。

画面のパンにタッチパッドを使用

有効にした場合、マウスホイール(またはタッチパッドのジェスチャー)を動かすとビューはパンされ、 Ctrl を押しながら動かすとズームします。そうでなければ、基本ズーム、 Ctrl か Shift を押しながらだとパンします。

オブジェクト移動時にパン

チェックした場合、配線作業や要素移動中にウィンドウからカーソルが出ようとすると、自動的にウィンドウが追従します。

様々な要素の描画色です。色見本をクリックすると、その要素の新しい色を選択できます。

色設定
デフォルトのフィールド

シンボルに配置される追加のカスタムフィールドや関連する値を定義します。

デフォルトのフィールド設定

3.3. ヘルプメニュー

KiCad についての広範囲なチュートリアルについては、オンラインヘルプ(この文書)にアクセスします。

バグレポートを送る時は、ビルドや環境の情報を明らかにするために、“バージョン情報をコピー” を使って下さい。

4. 上部ツールバーの主なツール

4.1. ページ設定

シート設定アイコン Sheet Settings icon でシートのサイズと右下隅にある表題欄のテキストセクションを定義できます。

Page Settings

シートの数やシート番号といったデータは、自動的に更新されます。左向き矢印のボタンを押すと今日の日付を “変更日” の日付に設定することができますが、自動的には更新されません。

4.2. 検索ツール

検索アイコン Find icon で検索ツールを開けます。

ERC ダイアログ:ERC

現在のシートあるいは階層全体内にある、リファレンス、値、テキスト文字列を検索することができます。見つかると、関係するサブシートの見つかった要素の上にカーソルが移動します。

4.3. ネットリストツール

ネットリストアイコン Netlist icon でネットリストファイルを生成するツールを呼び出します。

このツールは、階層全体(通常のオプション)の全ての接続を記述するファイルを作成します。

マルチシートの階層において、ローカルラベルは自身が属するシート内だけで通用します。例えば、シート 3 のラベル 1 は、(意図的にそれらを接続していない場合)シート 5 のラベル 1 とは接続されません。これは、シート名がローカルラベルと関連付けられているからです。

Eeschema のラベルのテキストの長さに制限はありませんが、ネットリストが含む値を他のプログラムが利用することを考慮してください。
作成したファイルで、区切られた単語として表示されてしまうため、ラベルの中では空白文字(半角スペース)を使うべきではありません。それは Eeschema の制限ではなく、多くのネットリストフォーマットにおいて、ラベルは空白文字を含んでいないものと定義されているからです。
ネットリストツール

オプション:

デフォルトの出力形式

チェックすると、デフォルトのフォーマットで Pcbnew を開きます。

以下のような他のフォーマットも生成できます:

  • Orcad PCB2

  • CadStar

  • Spice (シミュレータ用)

外部プラグインを追加してネットリスト フォーマット リストを拡張できます(下記に示す PadsPcb プラグインなど)。

ネットリストの作成 にネットリスト作成に関する詳しい情報があります。

4.4. アノテーションツール

icons_annotate_png でアノテーションツールを起動できます。このツールはコンポーネント対してリファレンス(参照番号)の割り付けを行います。

複数ユニットコンポーネント(4ゲート入りの 7400 TTL など)には、マルチパート (multi-part) の接尾辞が割り当てられます。従って、U3に指定された7400 TTL は、U3A、U3B、U3C、U3D に分かれます。

無条件に全てのコンポーネントを、もしくはまだアノテートされていない新規のコンポーネントだけを、アノテートできます。

annotate-dialog_img

実行範囲

全ての回路図、階層を使用

全てのシートを再アノテート (通常の選択)

現在のページでのみ使用

現在のシートのみ再アノテート(このオプションは特別な場合にのみ使用されます。 例えば、現在のシートの抵抗のみを対象としたい場合など)。

既存のアノテーションを保持

条件付きのアノテーション。新しいコンポーネントのみ再アノテート(通常の選択)。

既存のアノテーションをリセット

無条件のアノテーション。全てのコンポーネントを再アノテートします(このオプションは重複したリファレンスがある場合に使われます)。

既存のアノテーションをリセット、ただし複数ユニットを持つ部品はキープ

再アノテートの時、全ての複数ユニットコンポーネントのグループ (例えば、U2A, U2B) を維持します。

アノテーションの順番

コンポーネントの番号付けを行う順番(水平方向か垂直方向か)を選択します。

アノテーションの選択

割り当てられたリファレンスのフォーマットを選択。

4.5. エレクトリカル・ルール・チェック (ERC) ツール

ERC icon アイコンで、エレクトリカル・ルール・チェック (ERC) ツールを実行できます。

このツールは設計の検証を行い、接続忘れや矛盾を検出できます。

一度 ERC を実行すると、Eeschema はラベルやピン上に問題を目立たせるマーカーを配置します。マーカー上で左クリックすると診断結果を表示します。エラーファイルを生成させることもできます。

4.5.1. ERC ダイアログ:ERC

ERC ダイアログ:ERC

エラーはエレクトリカル・ルール・チェック (ERC) ダイアログに表示されます :

  • 合計(エラーと警告の合計数)

  • 警告(警告の発生数)

  • エラー(エラーの発生数)

オプション:

ERC レポートファイルの生成

ERC レポートファイルを生成するには、このオプションをチェックします。

コマンド:

マーカーを削除

全ての ERC エラー/警告マーカーを削除します。

実行

ERC (エレクトリカル ルール チェック)を実行します。

閉じる

ダイアログを閉じます。

  • エラーメッセージをクリックすると、回路図の対応するマーカーにジャンプします。

4.5.2. ERC ダイアログ:オプション

ERC ダイアログ:オプション

このタブページで、ピン間の接続ルールを定義できます。それぞれのケースに対して、3つのオプションから選択できます。:

  • エラーなし(No error: 緑)

  • 警告(Warning: 黄)

  • エラー(Error: 赤)

マトリックスのそれぞれの四角上でクリックすることにより、内容を変更できます。

オプション:

同様のラベルを確認

大文字小文字だけが異なるラベル(例: label/Label/LaBeL)を報告します。 ネット名は大文字と小文字を区別するため、このようなラベルは別のネットと認識されます。

固有のグローバルラベルを確認

一度しか使われていないグローバルラベルを報告します。通常、最低2つは接続のために使われている必要があります。

コマンド:

デフォルトへ初期化

もともとの設定に戻します。

4.6. 部品表 (BOM) ツール

BOM icon アイコンで、部品表 (BOM) ツールを起動します。このツールで、コンポーネントと階層接続グローバルラベルの一覧表を生成できます。

ERC ダイアログ:ERC

Eeschema の部品表 (BOM) 作成ツールは XSLT または Python の外部プラグインを利用します。KiCad プログラムのあるディレクトリに、いくつかの例がインストールされています。

部品表 (BOM) での使用に役立つコンポーネントのプロパティには、以下のものが挙げられます。:

  • 定数 – 各部品で使用される固有の名前

  • フットプリント – 手入力、またはバックアノテートされたもの(下図参照)

  • フィールド1 – 製造業者名(任意、追加が必要)

  • フィールド2 – 製造業者の部品番号(任意、追加が必要)

  • フィールド3 – 販売業者の部品番号(任意、追加が必要)

例:

コンポーネントプロパティの編集

Windows 環境 の BOM 作成ダイアログには、(赤い矢印で示している)外部プラグインで表示ウィンドウをコントロールするための特別なオプションがあります。デフォルトの設定では、 BOM 作成コマンドは隠れたウィンドウで実行され、 Plugin info フィールドに結果が表示されます。このオプションを有効にすると、実行中のウィンドウを表示します。 GUI でプラグインの動作確認を行う際に、この機能は必要になるでしょう。

Windws環境における、BOM ダイアログの追加オプション

4.7. フィールド編集ツール

The icon Edit Fields icon アイコンで全てのシンボルを編集や閲覧するためのスプレッドシートを開けます。

Symbol Dialog

フィールドの値を変更したら、'適用'ボタンをクリックして変更を受理するか、'元に戻す'ボタンをクリックして変更を破棄する必要があります。

4.8. フットプリント割当用インポート(バックアノテート)ツール :

4.8.1. アクセス:

Import Footprint Names icon アイコンで、バックアノテートツールを起動します。

このツールを使うと、PcbNew で変更されたフットプリントを Eeschema のフットプリントフィールドへ反映させること (imported back) ができます。

5. Manage Symbol Libraries

Symbol libraries need to be made available in order to create schematics. The manner in which this is accomplished varies according to the version of KiCad being used.

5.1. Symbol Library Table

As of November 2017, Eeschema uses a new library management tool based on symbol library tables which is identical in design to the footprint library table used in CvPcb and Pcbnew.

The image below shows the symbol library table editing dialog which can be opened by invoking the 『Manage Symbol Library Tables』 entry in the 『Preferences』 menu.

sym lib table dlg

The symbol library table is used to map a symbol library of any supported library type to a library nickname. This nickname is used to look up symbols instead of the previous method which depended on library search path ordering. This allows Eeschema to access symbols with the same name in different libraries by ensuring that the correct symbol is loaded from the appropriate library.

5.1.1. Global Symbol Library Table

The global symbol library table contains the list of libraries that are always available regardless of the currently loaded project file. The table is saved in the file sym-lib-table in the user’s home folder. The location of this folder is dependent upon the operating system being used.

5.1.2. Project Specific Symbol Library Table

The project specific symbol library table contains the list of libraries that are available specifically for the currently loaded project file. The project specific symbol library table can only be edited when it is loaded along with the project file. If no project file is loaded or there is no symbol library table file in the current project path, an empty table is created which can be edited and later saved along with the project file.

5.1.3. Initial Configuration

The first time Eeschema is run and the global symbol table file sym-lib-table is not found in the user’s home folder, Eeschema will attempt to copy the default symbol table file sym-lib-table stored in the system’s KiCad template folder to the file sym-lib-table in the user’s home folder. If the default template sym-lib-table file cannot be found, a dialog will prompt for an alternate location for the sym-lib-table file. If no sym-lib-table is found or the dialog is dismissed, an empty symbol library table will be created in the user’s home folder. If this happens, the user can either copy sym-lib-table manually or configure the table by hand.

The default symbol library table includes all of the symbol libraries that are installed as part of KiCad. This may or may not be desirable depending on usages and the speed of the system. The amount of time required to load the symbol libraries is proportional to the number of libraries in the symbol library table. If symbol library load times are excessive, remove rarely and/or never used libraries from the global library table and add them to the project library table as required.

5.1.4. Adding Table Entries

In order to use a symbol library, it must first be added to either the global table or the project specific table. The project specific table is only applicable when you have a project file open.

Each library entry must have a unique nickname.

This does not have to be related in any way to the actual library file name or path. The colon : and / characters cannot be used anywhere in the library nickname. Each library entry must have a valid path and/or file name depending on the type of library. Paths can be defined as absolute, relative, or by environment variable substitution (see section below).

The appropriate plug in type must be selected in order for the library to be properly read. KiCad currently supports only legacy symbol library files plug-in.

There is also a description field to add a description of the library entry. The option field is not used at this time so adding options will have no effect when loading libraries.

Please note that you cannot have duplicate library nicknames in the same table. However, you can have duplicate library nicknames in both the global and project specific symbol library table. The project specific table entry will take precedence over the global table entry when duplicate nicknames occur. When entries are defined in the project specific table, a sym-lib-table file containing the entries will be written into the folder of the currently open project file.

5.1.5. Environment Variable Substitution

One of the most powerful features of the symbol library table is environment variable substitution. This allows for definition of custom paths to where symbol libraries are stored in environment variables. Environment variable substitution is supported by using the syntax ${ENV_VAR_NAME} in the library path.

By default, at run time KiCad defines two environment variables:

  • the KIPRJMOD environment variable that always points to the currently open project directory. KIPRJMOD cannot be modified.

  • the KICAD_SYMBOL_DIR environment variable. This points to the path where the default symbol libraries that were installed with KiCad.

You can override KICAD_SYMBOL_DIR by defining it yourself in preferences/ Configure Path which allows you to substitute your own libraries in place of the default KiCad symbol libraries.

KIPRJMOD allows you to store libraries in the project path without having to define the absolute path (which is not always known) to the library in the project specific symbol library table.

5.1.6. Usage Patterns

Symbol libraries can be defined either globally or specifically to the currently loaded project. Symbol libraries defined in the user’s global table are always available and are stored in the sym-lib-table file in the user’s home folder. The project specific symbol library table is active only for the currently open project file.

There are advantages and disadvantages to each method. Defining all libraries in the global table means they will always be available when needed. The disadvantage of this is that load time will increase.

Defining all symbol libraries on a project specific basis means that you only have the libraries required for the project which decreases symbol library load times. The disadvantage is that you always have to remember to add each symbol library that you need for every project.

One usage pattern would be to define commonly used libraries globally and the libraries only required for the project in the project specific library table. There is no restriction on how to define libraries.

5.1.7. Legacy Project Remapping

When loading a schematic created prior to the symbol library table implementation, Eeschema will attempt to remap the symbol library links in the schematic to the appropriate library table symbols. The success of this process is dependent on several factors:

  • the original libraries used in the schematic are still available and unchanged from when the symbol was added to the schematic.

  • all rescue operations were performed when detected to create a rescue library or keep the existing rescue library up to date.

  • the integrity of the project symbol cache library has not been corrupted.

警告

The remapping will make a back up of all the files that are changed during remapping in the rescue-backup folder in the project folder. Always make a back up of your project before remapping just in case something goes wrong.

警告

The rescue operation is performed even if it has been disabled to ensure the correct symbols are available for remapping. Do not cancel this operation or the remapping will fail to correctly remap schematics symbols. Any broken symbol links will have to be fixed manually.

If the original libraries have been removed and the rescue was not performed, the cache library can be used as a recovery library as a last resort. Copy the cache library to a new file name and add the new library file to the top of the library list using a version of Eeschema prior to the symbol library table implementation.

6. 回路図の作成と編集

6.1. はじめに

回路図は1枚のシートのみを使用しても作成可能ですが、規模の大きな回路図の場合は複数のシートで構成することもできます。

回路図が複数のシートから構成される場合を階層構造と呼び、構成する全てのシート(各シートはそれぞれ1つのファイルから成っています)が Eeschema のプロジェクトを構成することになります。階層構造を持つ回路図については 階層回路図 の章に記述があります。

6.2. 基本的な検討事項

Eeschema を使う回路図設計は、単なる回路図画像の描画に留まりません。この回路図設計は,開発フローのスタートとなります。:

回路図は主にシンボル、ワイヤ、ラベル、ジャンクション、バス、電源から構成されます。また回路図を見易くするために、バスエントリ、コメント、破線などのグラフィック要素も配置できます。

6.3. 開発フロー

dev-chain_png

シンボルはシンボル ライブラリから回路図へと配置されます。回路図が完成した後で、PcbNew が回路の接続情報とフットプリントをインポートできるように、ネットリストが作られます。

6.4. シンボルの配置と編集

6.4.1. シンボルの検索と配置

To load a symbol into your schematic you can use the icon New Symbol icon . A dialog box allows you to type the name of the symbol to load.

シンボル選択ダイアログ

“シンボルの選択” ダイアログは、名前、キーワード、検索フィールドへの入力内容でシンボルをフィルタリングできます。以下の入力により、アドバンスト フィルターを使用することが可能です:

  • ワイルドカード: 文字 ?* を使用します。これらは "任意の 一文字" と "長さ0以上の任意の文字列" を意味します。

  • 関係型: ライブラリーの部品の説明またはキーワードがフォーマット "Key:123" のタグを 含んでいる場合、"Key>123" (以上)、"Key<123" (以下) 等のように入力することで、それに応じて 一致させることができます。数字は以下の大文字・小文字を区別しない 接尾辞の何れかを含めることができます:

    |=== | p | n | u | m | k | meg | g | t | 10-12 | 10-9 | 10-6 | 10-3 | 103 | 106 | 109 | 1012 |===

    |=== | ki | mi | gi | ti | 210 | 220 | 230 | 240 |===

  • 正規表現: もし正規表現に精通しているのであれば、これらを 使うこともできます。使用されている正規表現のタイプは wxWidgets Advanced Regular Expression style で、Perl の正規表現 と似たような形式です。

シンボルを回路図へ配置する前に、ホットキーや右クリックで表示されるコンテキストメニューを使って、回転( 90 度ごと)、横軸/縦軸でのミラー、フィールドの編集ができます。これらの変更は,部品を配置した後でも行うことができます。

配置中のシンボルは次のようになります :

配置中のコンポーネントは次のようになります。:

6.4.2. 電源ポート(コンポーネント)

電源ポートもシンボルのひとつです( “power” ライブラリに分類されています)。よって、これまで説明したシンボルの配置と同じ手順で配置することができます。しかし、これらは頻繁に配置されるものなので、 Add Power icon “電源ポートの配置” ツールが用意されています。このツールは “power” ライブラリを探して直接参照します。

6.4.3. (配置された)シンボルの編集と変更

シンボルの編集には,以下の2種類があります:

  • シンボル自身の変更:部品の位置、向き、複数ユニットを持つシンボルのユニット選択。

  • シンボルフィールドの変更:リファレンス、定数、フットプリント、等。

シンボルを配置したら、それらの部品定数を変更できます(特に抵抗やコンデンサなど)。しかし、(シンボルをユニットで固定したい場合は、手動でリファレンスを割り当てる必要がありますが、)配置したシンボルへのリファレンスの割り当てやユニットの選択は、必ずしも必要なことではありません。なぜなら、これらシンボルのリファレンスや部品番号は、アノテーション機能を使うことで後から自動的に割り振ることができるからです。

シンボルの変更

シンボルの設定を編集するには、マウスカーソルをシンボル上へ移動させ、以下のいずれかの操作をします。:

  • シンボルをダブルクリックして、全ての設定を編集できるダイアログを開く。

  • 右クリックしてコンテキストメニューを開き、表示された編集コマンドを選択する: 移動、回転、編集、削除など。

テキストフィールドの編集

リファレンス、定数、位置、向き、テキストサイズ、フィールドの可視性を変更できます。:

  • テキストフィールドをダブルクリックし編集する。

  • 右クリックしてコンテキストメニューを開き、表示された編集コマンドを選択する: 移動、回転、編集、削除など。

他のオプションの変更や新たにフィールド項目を作成する場合は、シンボルをダブルクリックし、シンボルシンボル プロパティのダイアログを開きます。

コンポーネントプロパティの編集

それぞれのフィールドについて表示/非表示と回転(表示方向)を設定することができます。表示位置は常に普通に表示される(回転やミラーがない)シンボルに対するもので、シンボルのアンカー位置への相対座標で指定します。

“ライブラリのデフォルト値にリセット” ボタンは、シンボルを元の向きにセットし、オプション、サイズ、位置、各フィールドを初期化します。しかし、回路図情報を壊してしまう可能性があるため、テキストフィールド(リファレンス、定数、フットプリント等)の内容は変更されません。

6.5. ワイヤ、バス、ラベル、電源ポートの接続

6.5.1. はじめに

これら全ての描画要素は、画面右に縦表示されているツールバーに配置されています。

これらの要素を以下に示します:

  • ワイヤ: シンボル間の接続

  • バス: バス配線をまとめラベルを用いて接続

  • 図形ライン, ポリゴン: (画面を見やすくする)グラフィック表現用

  • ジャンクション(接続点): ワイヤやバスの交差点で接続

  • ワイヤ - バスエントリ: バス配線とワイヤの接続。グラフィックのみ!

  • ネット名(ローカルラベル): 接続の作成やラベリング

  • グローバルラベル: シート間での接続

  • テキスト: コメントとアノテーション用

  • “空き端子” フラグ: 接続する必要のないピンを終端。

  • 階層シート, とその接続ピン

6.5.2. 接続 (ワイヤとラベル)

接続を確立する方法は2つあります:

  • ピン間のワイヤ

  • ラベル

以下の図はこれら2種類の接続方法を示します。

(単純な)ラベル

注 1:

ラベルが示す “接続” 点は、ラベル一文字目の左下になります。この点は、未接続時には小さな四角で表示されます。

この点は、ワイヤに接しているか、ピンの接続位置に重なっていなければなりません。

注 2:

接続を確立するためには、ワイヤの端を他のセグメントかピンへ接続します。

もし配線とピンが重なりあった場合(ピンの終端へ接続されずにワイヤがピンを乗り越えた場合)、これらは接続されません。

注 3:

交差したワイヤは暗黙的に未接続となります。もし接続する必要がある場合は、ワイヤの交差点にジャンクション(接続点)シンボルの配置が必要になります。

以前に示した図(ワイヤが DB25FEMALE 22, 21, 20, 19 ピンに接続されているもの)では,このジャンクション(接続点)シンボルを使った場合を示しています。

注 4:

1つのワイヤに2つの異なるラベルが配置されている場合、これらのラベルで示される両方の信号同士が接続されます。どちらか一方のラベルで接続されている全ての信号が互いに接続されます。

6.5.3. バス接続

以下に示す回路図では、多くのピンがバスへ接続されています。

image:images/ja/sch_with_buses.png[Example schematic with buses]
バスのメンバ

回路図を見易くするため、信号の集合体としてバスを利用し、接頭語+数値というフォーマットで名前が付けられます。上の図では、PCA0、PCA1、PCA2 は PCA バスのメンバとなります。

バスそのものを指す場合は、PCA[N..m] のように呼びます。この場合、N と m はバスの最初と最後のワイヤ番号になります。例えば、 PCA バスに 0 から 19 までの 20 本のメンバがある場合、バスの呼び名は PCA[0..19] となります。しかしながら、PCA0、PCA1、PCA2… 以外に WRITE、READ のような信号を含めて一つのバスにすることはできません。

バスのメンバ同士の接続

バスの同一メンバ間でピンを接続する場合は、ラベルによって接続しなければなりません。(バスは信号の集合体であるため)ピンはバスへ直接接続できません。Eeschema はこのような接続を無視します。

上に示したような例では、ピンに接続しているワイヤへ配置されたラベルによってピン間が接続されます。バスワイヤへのバスエントリ部( 45 度曲がっているワイヤ部分)は外観上の見易さを目的としているだけで、Eeschema で回路図としての意味はありません。(論理的な接続である必要はありません)

もしコンポーネントのピン番号が昇順で並んでいるのであれば(メモリやマイクロプロセッサなどで良く見かけます)、以下の手順のように繰り返しコマンド (インサート キー ) を用いることで非常に速く接続を行う事ができます。:

  • 最初のラベルを配置します(例えば PCA0 )

  • 繰り返しコマンドを使用してメンバのラベルを配置します。Eeschema は理論的に次のピン位置に相当する縦方向に整列した次のラベル( PCA1、PCA2、…)を自動的に生成します。

  • 最初のラベルの下にワイヤを配置します。同様に繰り返しコマンドを利用し、ラベルの下へワイヤを配置していきます。

  • 必要に応じて、同じ方法(最初のエントリを配置し,繰り返しコマンドを使用する)を用い、バスエントリを配置して下さい。

メインメニュー “設定” → “回路図エディタオプション” で、繰り返しに関するパラメータを設定することができます:

  • アイテムを垂直方向にリピート(縦方向の間隔)。

  • アイテムを水平方向にリピート(横方向の間隔)。

  • ラベルのカウントアップリピート( 2, 3,… のようなインクリメント(加算)/またはデクリメント(減算))

バスのシート間接続

階層構造になっている回路図において、シート間で異なる名前のバス同士を接続する必要がある場合があります。この接続の手順を以下に示します。

Bus junction example

バス PCA[0..15],ADR[0..7],BUS[5..10] は互いに接続されています。(接続点に注意してください。縦方向のバスが横方向のバスの中央で接続されています。)

より正確に言うならば、バスを構成する対応するメンバ同士が接続されます。 : 例えば、PCA0 とADR0が接続されています。(同様に、PCA1 と ADR1 … PCA7 と ADR7)

さらに、PCA5 と BUS5 と ADR5 も接続されてます。( PCA6 と BUS6 と ADR6,PCA7 と BUS7 と ADR7 も同様です)

PCA8 と BUS8 も接続されることになります。( PCA9 と BUS9,PCA10 と BUS10 も同様です)

6.5.4. 電源ポートの接続

シンボルに電源ピンがある場合も、他の信号と同様に接続する必要があります。

ゲートやフリップフロップのようなシンボルは見えていない電源ピンを持っています。これらの扱いは、下記の理由で少し厄介です:

  • 電源ピンが非表示であるため、ワイヤを接続できない。

  • 電源ピンの名前が解らない。

これら電源ピンの設定を可視に変更し接続することはあまり良い方法とは言えません。これをしてしまうと,回路図が読みにくくなってしまい、また普通の回路図の慣習に反することになってしまいます。

これらの非表示となっている電源ピンを表示させたい場合は、メインメニュー “設定” → “回路図エディタオプション” をたどるか、左ツールバー(オプションツールバー)の images/icons/hidden_pin.png アイコンをクリックして、“非表示ピンの表示” オプションをチェックします。

Eeschema は、同じ名前の全ての非表示の電源ピンを自動的に接続します。異なる名前の非表示電源ピン(例えば、 TTL デバイスの “GND” と MOS デバイスの “VSS” )を接続することが必要になることもあるでしょう。; このような場合に電源ポートシンボルを使います。

ラベルを利用して電源ピンを接続することは推奨されません。ラベルは “局所的 (local)” な接続機能しか無く、非表示の電源ピンは接続されません。

以下の図は、電源ポートの接続例です。

電源ポート(コンポーネント)

この例では、GND と VSS、VCC と VDD が接続されています。

2つの PWR_FLAG シンボルがあります。これは、2つの電源ポート VCC と GND が本当に電源(出力)へと接続されていることを示します。これら2つのフラグがない場合、ERCは Warning: power port not powered という診断結果を出力します。

これらすべてのシンボルは、 “power” シンボル ライブラリに収められています。

6.5.5. “空き端子” フラグ

このシンボルは、ERC チェック時に不要な警告を出さないようにするために役立ちます。ERC で接続忘れの空きピンを確実に見つけることができます。

ピンを無接続の空き端子としたい場合、空き端子フラグ(ツール No connection icon )を配置することが必要です。このシンボルは生成するネットリストに影響を与えません。

6.6. 回路図作成に関する補足

6.6.1. テキストコメント

図形テキストのような注釈(コメント)を配置することは(回路図を理解するために)有用です。“テキストの配置” ツール( images/icons/text.png )と “図形ラインかポリゴンを配置” ツール( images/icons/add_dashed_line.png )は、素子同士の接続を行うラベルやワイヤとは異なり、このような用途を意図しています。

図形コメントの例を以下に示します。

コメント付きのフレームの例

6.6.2. シートの表題欄(タイトルブロック)

表題欄は、 Page Settings tool “ページの設定” ツールで編集することができます。

ERC ダイアログ:オプション
シートの表題欄(タイトルブロック)

シート数Y、シート番号X(Sheet X/Y)は自動更新されます。

6.7. キャッシュされたシンボルのレスキュー

デフォルトでは、 Eeschema は設定されたパスに従ってライブラリからシンボルを読み込みます。 これは古いプロジェクトを読み込む時に問題を引き起こします。: ライブラリにあるシンボルがプロジェクトで使われた時より後に変更されていた場合、 プロジェクトのシンボルは自動的に新しいバージョンへと置き換えられます。 新しいバージョンが互換性を失っていたり、違う方向を向いているようなことがあると、回路図の破損につながります。

プロジェクトの保存時にはキャッシュされたライブラリも一緒に保存されます。これにより、全てのライブラリがなくてもプロジェクトを配布できます。キャッシュとシステムライブラリの両方に存在するシンボルを使ったプロジェクトを読み込むと、Eeschema は衝突検出のためにライブラリを調べます。発見された衝突は次のダイアログに一覧表示されます。:

Rescue conflicts dialog

この例では、元々のプロジェクトはカソードが上向きのダイオードを使っていますが、現在のライブラリはカソードが下向きのものを含んでいます。この変更はプロジェクトを台無しにします!ここで OK ボタンを押すと、古いシンボルは特別な “レスキュー” ライブラリへと保存され、全てのシンボルは名前の衝突を避けるために変更 (rename) されます。

もし Cancel ボタンが押されると、レスキューは作成されず、Eeschema はデフォルトで全て新しいシンボルを読み込むでしょう。変更されなかった場合でも、前に戻ってレスキュー機能を再度実行できます。: ツールメニューから “キャッシュされたシンボルのレスキュー” を選んで、ダイアログを再び呼び出します。

このダイアログを表示させたくない場合は、“次回から表示しない” ボタンを押してください。デフォルトで何もせずに新しいシンボルを読み込むようになります。このオプションは、ライブラリの設定で元に戻せます。

7. 階層回路図

7.1. はじめに

シート数が2~3枚で済まないようなプロジェクトでは、階層的表現を用いるのが一般的によい解決策となります。この種のプロジェクトを管理したい場合、次のことが必要になるでしょう:

  • 大きなサイズのシートを使用する。その場合、印刷と取り扱いの問題が生じます。

  • シートを数枚使用する。これは階層構造に至ります。

完全な回路図は、ルートシートと呼ばれるメインの回路図シートおよび階層を構成するサブシートから構成されます。さらに、設計を個別のシートにうまく分割すると可読性が改善されます。

ルートシートからは、全てのサブシートを辿ることができなければなりません。上部ツールバーのアイコン icons/hierarchy_nav_png で統合された “階層ナビゲーター” を呼び出すことにより,Eeschema では階層回路図の管理が非常に簡単に行えます。

階層には2種類が同時に存在し得ます:1つ目は、すでに開いて使用しているような一般的に使用されているものです。2つ目は、回路図で使われるシンボルの実体を表すもので、実際にはシンボルの内部構造を記述した回路図に対応します。

この2つ目のタイプはよく集積回路 (IC) の開発で使用されます。この場合には作成中の回路図で機能ライブラリを使用しなければならないからです。

Eeschema は現在、この第2のケースに対応していません。

階層は次のようなものです:

  • 単一: 任意のシートを一度だけ使用する。

  • 複合: 任意のシートを2回以上使用する(複数のインスタンス)。

  • 平面 (Flat) : 単一の階層であるが、シート間の接続は記述されない。

Eeschema はこれらの階層を全て扱うことが可能です。

階層回路図の作成は簡単です。階層全体はルート回路図から始まるように管理され、ただ一つの回路図しかないように見えます。

次の2つの重要なステップを理解する必要があります:

  • サブシートの作成方法。

  • サブシート間の電気的な接続方法。

上部ツールバーの icons/hierarchy_nav_png “回路図の階層ナビゲータを表示” で呼び出される階層ナビゲータツールを使用するとサブシート間のナビゲーションを行えます。

hierarchy_navigator_dialog_png

シート名をクリックすると、そのシートに移動できます。シート名を右クリックして "シートに入る" を選択するか、境界線をダブルクリックしても、シートに移動できます。

現在のシートから抜けて親のシートに移動するには、回路図の何もオブジェクトが無いところで右クリックして "シートから抜ける" を選択するか、 Alt
Backspace を入力します。

7.3. ローカルラベル、階層ラベル、グローバルラベル

7.3.1. プロパティ

ローカルラベル( icons/add_line_label_png ツール)は、あるシート内のみで接続される信号です。階層ラベル( icons/add_hierarchical_label_png ツール)は、あるシート内のみで接続される信号であると同時に親シートに配置された階層ピンに接続されています。

グローバルラベル( Global label icon ツール)は階層全体に渡って信号を接続しています。非表示の電源ピン( power in および power out タイプ)も全階層に渡って互いに接続されているので、グローバルラベルに似ています。

(単一または複合)階層内では、階層ラベルとグローバルラベルのどちらか、または両方を使用可能です。

7.4. 階層作成の要約

次のことをする必要があります:

  • “シートシンボル” という階層シンボルをルートシート内に配置します。

  • ナビゲーターを使用して新規回路図(サブシート)に入り、他の回路図と同様に作成します。

  • 新しく作成した回路図(サブシート)にグローバルラベル (HLabels) を配置して2つの回路図間に電気的接続を作成します。また、シートラベル (SheetLabels) という同じ名前を持つラベルをルートシートに配置します。これらのシートラベルはルートシートのシートシンボルや標準的なコンポーネントピンのような他の回路図要素に接続されます。

7.5. シートシンボル

対角上の2点を指定して作成した矩形でサブシートを表します。

この矩形のサイズは、サブシート内のグローバルラベル (HLabels) に対応した特定のラベルや階層ピンを後で配置可能なものでなければなりません。これらのラベルは通常のコンポーネントピンに似ています。

これらのラベルは、通常のシンボルのピンに似ています。 icons/add_hierarchical_subsheet_png “階層シートの作成” ツールを選択します。

左クリックして矩形の左上角を配置します。矩形が十分な大きさとなったら再度左クリックして右下角を配置します。

この時、(階層ナビゲーターを使用し、対応する回路図に移動するために)このサブシートのファイル名とシート名の入力が要求されます。

hsheet_properties_1_png

少なくともファイル名の入力が必要です。シート名がない場合、ファイル名がシート名として使用されます(この方法はよく行われています)。

7.6. 接続 - 階層ピン

作成したシンボル用の接続点(階層ピン)をここで作成します。

これらの接続点は通常のシンボルのピンに似ていますが、1つの接続点だけで複数の信号からなるバスを接続できます。

次のような2つ方法があります:

  • 必要なピンをサブシート作成前に配置(手動による配置)。

  • 必要なピンおよびグローバルラベルをサブシート作成後に配置(半自動配置)。

特に好ましいのは2つ目の方法です。

手動配置:

  • icons/add_hierar_pin_png ツールを選択します。

  • ピンを配置したい階層シンボルをクリックします。

以下は “CONNEXION” と言う名前の階層ピンを作成する例です :

eeschema_hierarchical_pin_png

階層ピンの作成時あるいは作成後に右クリックしてコンテキストメニューの “シートピンを編集” を選択するとシートピン プロパティが開き、ピンの名前と接続のタイプを定義することができます。

シート内では、階層ラベルは階層ピンと同じ名前にプリセットされなければなりません。手動配置では正しくこれらの名前を合わせるために十分な配慮が必要となりますが、これが下記の第2の方法がより好ましい理由となっています。

自動配置 :

  • icons/import_hierarchical_label_png “シート内の対応する階層ラベルからインポートされた階層ピンを入力” ツールを選択します。

  • 階層シンボルをクリックして、そこからグローバルラベルに対応するピンをインポートして対応する回路図に配置します。新しいグローバルラベルが存在する場合、つまり配置済みのピンに対応したものでないなら、階層ピンが現れます。

  • このピンを配置したい場所でクリックします。

必要なすべてのピンはエラーなく速やかに配置することが可能です。それらの向きや方向は対応するグローバルラベルと一致しています。

7.7. 接続 - 階層ラベル

作成したシートシンボルの各ピンはサブシート内の階層ラベルと一致していなければなりません。階層ラベルはラベルと似ていますが、サブシートおよびルートシート間の接続を行います。2つの相補的なラベル(ピンと HLabel )のグラフィカルな表示は似ています。階層ラベルの作成は、 icons/add_hierarchical_label_png “階層のラベル入力” ツールで行います。

以下はルートシートの例です。

階層ラベル

ピン VCC_PIC がコネクタ JP1 に接続されていることに注意して下さい。

サブシート内での対応する接続は次のようになります :

階層ラベル

2つの階層シート間を接続する2つの対応する階層ラベルがあるのがさらにわかります。

既述の構文 (Bus [N. .m]) に従って、2つのバスを接続する階層ラベルおよび階層ピンを使うことが可能です。

7.7.1. (単純な)ラベル、階層ラベル、グローバルラベル、非表示電源ピン

ワイヤによる接続以外に、接続を行う様々な方法について説明します。

(単純な)ラベル

単純なラベルはローカルな接続に使います。つまり、接続は配置されている回路図シートだけ制限されます。これは次の理由によります :

  • 各シートにはシート番号が存在する。

  • このシート番号はラベルに関連付けられる。

そのため、シート番号3にラベル “TOTO” を配置した場合、実際のラベルは “TOTO_3” となります。シート番号1(ルートシート)にラベル “TOTO” を 配置した場合、実際には “TOTO_3” ではなく “TOTO_1” というラベルを配置したことになります。これはシートが1つしかない場合でも常にこうなります。

階層ラベル

単純なラベルで言えることは、階層ラベルにも当てはまります。

このため、同一シート内で階層ラベルの “TOTO” はローカルラベル “TOTO” に接続されていると見なされますが、別のシートの 階層ラベルあるいは “TOTO” というラベルには接続されません。

階層ラベルはルートシートに配置された階層シンボル内の対応するシートのシンボルのピンに接続されていると見なされます。

非表示電源ピン

非表示の電源ピンは、同一名であるなら互いに接続されているものと見なされます。このため、“非表示の電源ピン“ として宣言されている VCC という名前の電源ピンは、それが置かれているシートにある VCC という名前の全てのピンに接続されます。

このことは,あるサブシートに VCC ラベルを配置した場合、そのラベルが VCC ピンには接続されないということを意味します。それは、このラベルが実際には VCC_n であるからです。ここで n とはシート番号です。

この VCC ラベルを回路図全体の VCC 接続したいなら、VCC 電源シンボルによって明示的に非表示電源ピンへ接続する必要があります。

7.7.2. グローバルラベル

同一名のグローバルラベルは、全ての階層に渡って互いに接続されています。

(vcc … のような電源ラベルはグローバルラベルです)

7.8. 複合階層

一例を示します。同じ回路図が2回使用されています(2つのインスタンス)。2つのシートのファイル名が同じなので (“other_sheet.sch”) 、2つのシートは同じ回路図を共有します。シート名は固有でなければなりません。

eeschema_complex_hierarchy_png

7.9. 平面階層

シート間の接続を作らずに(平面階層 (flat hierarchy) )、シートを多数使うプロジェクトの作成が可能です。それには下記のルールを順守して下さい:

  • ルートシートを作成し、他のすべてのシートをそれに含めます。ルートシートはシート間のリンクとして機能します。

  • 明示的な接続はまったく必要ありません。

  • 全てのシート間の接続には、階層ラベルではなくグローバルラベルを使用します。

ルートシートの例を以下に示します。

eeschema_flat_hierarchy_png

2ページあり、それらはグローバルラベルで接続されています。

こちらが pic_programmer.sch です。

eeschema_flat_hierarchy_1_png

こちらが pic_sockets.sch です。

eeschema_flat_hierarchy_2_png

グローバルラベルに注目してください。

eeschema_flat_hierarchy_3_png

8. シンボル アノテーション ツール

8.1. はじめに

アノテーションツールを使うことで、回路図中のシンボルに自動的にリファレンス(参照番号)を割り当てることができます。複数ユニットを持つシンボルについては,使用パッケージ数が最小となるように部品番号を割り当てます。アノテーションツールは、アイコン icons_annotate_png をクリックすることで利用できます。以下に “回路図をアノテーション” のメインウィンドウを示します。

annotate-dialog_img

アノテーション方法一覧 :

  • 全てのシンボルをアノテート(「既存のアノテーションをリセット ® 」を選択)。

  • 既存の複数ユニットをシンボルの順番を入れ替えないで、全てのシンボルをアノテート(「既存のアノテーションをリセット、ただし複数ユニットを持つ部品はキープ(E)」を選択)。

  • アノテートされていないシンボルだけアノテート。 "?" で終わるリファレンス(参照番号)を持つシンボルが対象です。

  • 全階層をアノテート (「全ての回路図,階層を使用 (E) 」を選択)。

  • 現在のシートのみをアノテート (「現在のページのみ使用 (P) 」を選択)。

'既存のアノテーションをリセット、ただし複数ユニットを持つ部品はキープ'オプションは、複数ユニットを持つシンボルの全ての関連性を保存します。これは、もし U2A と U2B があったなら、それぞれ U1A と U1B へと番号が振られることはあっても、 U1A と U2A、または U2B と U2A とはならないということです。これは、ピングループを確実に維持したい時、配置するのに都合がいいように定義した子部品がある時、に役立ちます。

「アノテーションの順番」オプションでは、それぞれのシート内での番号の振り方を指定することができます。

特別な場合を除いて、以前のアノテーション結果を変更しない場合は、プロジェクト全体(全てのシート)と新しいコンポーネントが自動アノテーションの対象となります。

「アノテーションの選択」オプションでは、リファレンス(参照番号)の計算方法を指定します。:

  • 回路図中の最初の空き番号から使用する:コンポーネントは(各部品記号につき)1からリファレンスが振られます。前回のアノテーションをキープする場合は、使われていない番号から利用されます。

  • シートの Ref 番号を *100 から開始し、最初の空き番号から使用する:シート1では 101 から,シート2では 201 からリファレンスが振られます。それぞれ の部品記号(UやR)が1シート内で 99 を超えてしまった場合は継続して以降の番号が振られ、例えばシート2では 200 番台の最初の空き番号から リファレンスが振られます。

  • シートの Ref 番号を *1000 から開始し、最初の空き番号から使用する:シート1では 1001 からリファレンスが振られ、シート2では 2001 からリファレンスが振られていきます。

8.2. 例

8.2.1. アノテーションの順序

部品配置後、未だリファレンスが振られていない5つの素子を例とします。

eeschema_annotation_order_none_png

アノテーションを実行すると、以下のような結果が得られます。

コンポーネントをX位置でソートした場合:

eeschema_annotation_order_x_png

コンポーネントをY位置でソートした場合。

eeschema_annotation_order_y_png

アノテーションにより、74LS00 の4つのゲートが U1 パッケージにまとめられ、5番目のゲートは次の U2 へと分類されました。

8.2.2. アノテーションの選択

下記の図は、部品をシート2に配置し、「回路図中の最初の空き番号から使用する」オプションを利用してアノテーションを行ったものです。

eeschema_annotation_choice_free_png

「シートの Ref 番号を*100 から開始し、最初の空き番号から使用する」オプションを利用しアノテーションを行うと、下図のようになります。

eeschema_annotation_choice_x100_png

「シートのRef番号を*1000 から開始し、最初の空き番号から使用する」オプションを利用した場合は、下図のようになります。

eeschema_annotation_choice_x1000_png

9. ERC(エレクトリカル・ルール・チェック)による設計検証

9.1. はじめに

ERC (エレクトリカル・ルール・チェック)ツールは回路図の自動チェックを実行します。ERC は、未接続ピン、未接続の階層シンボル、出力のショートなどのようなシート内のすべてのエラーをチェックします。当然ながら、自動チェックは絶対確実なものではありませんし、設計エラーを検出可能なソフトウェアは100%完全ではありません。しかし、そのようなチェックは多くの見落としや小さな間違いを検出可能なので非常に便利です。

次の工程へと進む前に、検出された全てのエラーをチェックして正常な状態となるよう修正する必要があります。ERC の質はシンボル ライブラリ作成中に、ピンの電気的なプロパティをどれだけ細かく指定したかに依存します。ERC の出力は “エラー” または “警告” として報告されます。

ERC ダイアログ:ERC

9.2. ERC の使用法

アイコン ERC icon をクリックすると ERC を開始します。

マーカーは、ERC エラーを出力した回路図の要素(ピンまたはラベル)上に配置されます。

  • “エレクトリカル・ルール・チェック (ERC)” ダイアログ内でエラーメッセージをクリックすると、回路図内の対応するマーカーに移動できます。

  • 回路図中に表示されたマーカーを右クリックすることで、診断結果のメッセージへアクセスすることができます。

また、ダイアログからエラーのマーカーを削除できます。(一括で全て削除されます)

9.3. ERC の例

ERC pointers

エラーが4つ見られます:

  • 2本の出力が誤接続されています(赤の矢印)。

  • 入力が2本未接続のままです(緑の矢印)。

  • 非表示電源ポートのエラーで,電源フラグがありません(上部に緑の矢印)。

9.4. 診断結果の表示

マーカーを右クリックし、コンテキストメニューを表示します。

ERC ダイアログ:オプション

ここで、 “マーカーエラー情報” をクリックするとエラーの内容が “マーカーの情報” ウィンドウに表示されます。

erc_pointers_message_png

9.5. 電源ピンと電源フラグ

電源ピンにエラーまたは警告を出すのは一般的です。たとえ、すべて正常のように思われるとしてもです。上の例を参照して下さい。大抵の設計では電源はコネクタによって供給されますが、そのコネクタは(電源出力として宣言されているレギュレータ出力のような)電源ではありません。

このためERCは、電源出力ピンを検出してこの配線を操作するということはせず、電源で駆動されていないものと判断します。

この警告を避けるには、そのような電源ポートに “PWR_FLAG” を配置しなければなりません.次の例を参照して下さい。:

eeschema_power_pins_and_flags_png

このようにすると、エラーマーカーが消えます。

大抵の場合、PWR_FLAG は GND に接続されていなければなりません。なぜなら、レギュレータは電源出力として宣言された出力を持ちますが、グラウンドピンは電源出力ではない(通常の属性は電源入力)ため、 PWR_FLAG に接続しなければ電源に接続されたことにはならないからです。

9.6. ルールの設定

オプション パネルで接続ルールを設定し、エラーおよび警告チェックのための電気的条件を定義します。

eeschema_erc_options_png

マトリクス内の変更したい四角をクリックすると,ノーマル,警告,エラーの選択が順番に切り替わり、ルールの変更が可能です。

9.7. ERC レポートファイル

オプションの ERC レポートの作成にチェックを付けると、ERC レポートファイルの生成と保存が可能です。ERC レポートのファイル拡張子は、.erc です。ERC レポートファイルの例を示します。

ERC control (4/1/1997-14:16:4)

***** Sheet 1 (INTERFACE UNIVERSAL)
ERC: Warning Pin input Unconnected @ 8.450, 2.350
ERC: Warning passive Pin Unconnected @ 8.450, 1.950
ERC: Warning: BiDir Pin connected to power Pin (Net 6) @ 10.100, 3.300
ERC: Warning: Power Pin connected to BiDir Pin (Net 6) @ 4.950, 1.400

>> Errors ERC: 4

10. ネットリストの作成

10.1. 概要

ネットリストはシンボル間の電気的接続を記述したファイルです。これらの接続はネットとして参照されます。ネットリストのファイルには,次のものが含まれます:

  • シンボルのリスト

  • シンボル間の接続(ネット)一覧

いろいろな異なるネットリストのフォーマットが存在します。シンボルのリストとネットのリストが2つの別々のファイルであることもあります。回路図入力 (capture) ソフトウェアにとって、このネットリストはなくてはならないものです。なぜなら、ネットリストは次のような他の電子系 CAD ソフトウェアを紐付けるからです。:

  • PCB レイアウト ソフトウェア。(基板設計ソフト)

  • 回路および電気的な信号シミュレータ。

  • CPLD (および他のプログラマブル IC の)コンパイラ。

Eeschema はいくつかのネットリストのフォーマットをサポートしています。

  • Pcbnew フォーマット(プリント配線)。

  • OrCAD PCB2 フォーマット(プリント配線)。

  • CADSTAR フォーマット(プリント配線)。

  • 様々なシミュレータ用 Spice フォーマット( Spice フォーマットは他のシミュレータにも使用されます)。

10.2. ネットリストフォーマット

Netlist icon ツールを選択し、ネットリスト作成ダイアログを開きます。

Pcbnew を選択

eeschema_netlist_dialog_pcbnew_png

Spice を選択

eeschema_netlist_dialog_spice_png

それぞれのタブで希望するフォーマットを選択できます。Spice フォーマットでは、可読性を上げるためにネットの名前を付けたり、古い Spice で使われるネット番号のどちらかを付けて、ネットリストを生成することが可能です。ネットリストボタンをクリックすると、ネットリストファイルの名前を入力するよう促されます。

大きな回路図のネットリストの生成には、数分かかることがあります。

10.3. ネットリストの例

PSpice ライブラリを使用した回路設計は以下を参照して下さい。:

eeschema_netlist_schematic_png

Pcbnew ネットリストファイルの例です。:

# Eeschema Netlist Version 1.0 generee le 21/1/1997-16:51:15
(
(32E35B76 $noname C2 1NF {Lib=C}
(1 0)
(2 VOUT_1)
)
(32CFC454 $noname V2 AC_0.1 {Lib=VSOURCE}
(1 N-000003)
(2 0)
)
(32CFC413 $noname C1 1UF {Lib=C}
(1 INPUT_1)
(2 N-000003)
)
(32CFC337 $noname V1 DC_12V {Lib=VSOURCE}
(1 +12V)
(2 0)
)
(32CFC293 $noname R2 10K {Lib=R}
(1 INPUT_1)
(2 0)
)
(32CFC288 $noname R6 22K {Lib=R}
(1 +12V)
(2 INPUT_1)
)
(32CFC27F $noname R5 22K {Lib=R}
(1 +12V)
(2 N-000008)
)
(32CFC277 $noname R1 10K {Lib=R}
(1 N-000008)
(2 0)
)
(32CFC25A $noname R7 470 {Lib=R}
(1 EMET_1)
(2 0)
)
(32CFC254 $noname R4 1K {Lib=R}
(1 +12V)
(2 VOUT_1)
)
(32CFC24C $noname R3 1K {Lib=R}
(1 +12V)
(2 N-000006)
)
(32CFC230 $noname Q2 Q2N2222 {Lib=NPN}
(1 VOUT_1)
(2 N-000008)
(3 EMET_1)
)
(32CFC227 $noname Q1 Q2N2222 {Lib=NPN}
(1 N-000006)
(2 INPUT_1)
(3 EMET_1)
)
)
# End

PSpice フォーマットでは,ネットリストは次のようになります。:

* Eeschema Netlist Version 1.1 (Spice format) creation date: 18/6/2008-08:38:03

.model Q2N2222 npn (bf=200)
.AC 10 1Meg \*1.2
.DC V1 10 12 0.5


R12   /VOUT N-000003 22K
R11   +12V N-000003 100
L1   N-000003 /VOUT 100mH
R10   N-000005 N-000004 220
C3   N-000005 0 10uF
C2   N-000009 0 1nF
R8   N-000004 0 2.2K
Q3   /VOUT N-000009 N-000004 N-000004 Q2N2222
V2   N-000008 0 AC 0.1
C1   /VIN N-000008 1UF
V1   +12V 0 DC 12V
R2   /VIN 0 10K
R6   +12V /VIN 22K
R5   +12V N-000012 22K
R1   N-000012 0 10K
R7   N-000007 0 470
R4   +12V N-000009 1K
R3   +12V N-000010 1K
Q2   N-000009 N-000012 N-000007 N-000007 Q2N2222
Q1   N-000010 /VIN N-000007 N-000007 Q2N2222

.print ac v(vout)
.plot ac v(nodes) (-1,5)

.end

10.4. ネットリストについての注釈

10.4.1. ネットリスト名の注意事項

ネットリストを使用する多くのソフトウェアツールは、コンポーネント名、ピン、ネットあるいは他の情報に半角スペースを利用できません。互換性を保つために、ラベル、コンポーネントの名称や値のフィールド、ピンに空白を使用しないで下さい。

同様に、英数字以外の特殊文字の使用は問題を生じる可能性があります。この制限は Eeschema には無関係ですが、ネットリストを使用する他のソフトウェアが解釈できなくなるネットリスト・フォーマットとなることに注意して下さい。

10.4.2. PSPICE ネットリスト

Pspice シミュレーターの場合、ネットリストの中にコマンド行 (.PROBE, .AC など ) をいくつか含める必要があります。

回路図に含まれる -pspice または -gnucap のキーワードで始まるテキスト行は、ネットリストの先頭に(キーワードがない状態で)挿入されます。

回路図に含まれる +pspice または +gnucap のキーワードで始まるテキスト行は、ネットリストの最後に(キーワードがない状態で)挿入されます。

1行テキストを数回使用した例と、複数行テキストを1つ使用した例です。

eeschema_pspice_netlist_png

例えば、次のようなテキストを入力する場合(ラベルを使用しないこと!):

-PSPICE .PROBE
PROBE の行はネットリストに挿入されます。

前述の例ではこの方法でネットリストの先頭に3行、末尾に2行挿入されました。

複数行テキストを使用している場合、 +pspice または +gnucap のキーワードは1度だけ必要です:

+PSPICE .model NPN NPN
.model PNP PNP
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.bjt
.backanno

4行生成されます:

.model NPN NPN
.model PNP PNP
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.bjt
.backanno

また Pspice の場合、 GND のネットは 0 (ゼロ)という名前にしなければならないことに注意して下さい。

10.5. 他のフォーマット

他のネットリスト・フォーマットの場合には、プラグインの形でネットリストコンバーターを追加することが可能です。Eeschema はそれらのコンバーターを自動的に起動します。コンバーターの解説と例は14章にあります。

コンバーターはテキストファイル(xsl フォーマット)ですが,Python のような他の言語を使用することもできます。xsl フォーマットを使用する場合、ツール( xsltproc.exe あるいは xsltproc )は Eeschema が生成した中間ファイルとコンバーターファイルを読み込んで、出力ファイルを生成します。この場合、コンバーターファイル(シートスタイル)は非常に小さく記述が容易です。

10.5.1. ダイアログウィンドウの初期設定

プラグイン追加ボタンで、新規ネットリスト・プラグインを追加することが可能です。

eeschema_netlist_dialog_add_plugin_png

PadsPcb プラグインのセットアップウィンドウです。:

eeschema_netlist_dialog_padspcb_png

セットアップには以下が必要です:

  • タイトル(例えば、ネットリスト フォーマットの名前)。

  • 起動するプラグイン。

ネットリスト生成時に、以下のことが行われます:

  1. Eeschema は中間ファイル *.tmp を生成します。例えば、test.tmp とします。

  2. Eeschema はプラグインを実行し、test.tmp を読み込んで test.net を生成します。

10.5.2. コマンドライン・フォーマット

xsltproc.exe を .xsl ファイルの変換ツールとして、ファイル netlist_form_pads-pcb.xsl をコンバーターのシートスタイルとして使用する例です:

f:/kicad/bin/xsltproc.exe -o %O.net f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl %I

各部の意味は次の通りです:

f:/kicad/bin/xsltproc.exe

xsl ファイルを読み込み、変換するツール

-o %O.net

出力ファイル: %O で出力ファイルを定義

f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl

ファイル名コンバーター( シートスタイル,xsl フォーマット)

%I

Eeschema が生成した中間ファイル (*.tmp) で 置き換える

test.sch という名前の回路図の場合,実際のコマンドラインは次の通りです:

f:/kicad/bin/xsltproc.exe -o test.net f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl test.tmp.

10.5.3. コンバーターとシートスタイル(プラグイン)

これは非常に単純なソフトウェアです。なぜなら、その目的が入力テキストファイル(中間テキストファイル)を別のテキストファイルに変換するだけだからです。さらに、中間テキストファイルから BOM リストの生成が可能です。

xsltproc を変換ツールとして使用すると、シートスタイルのみが生成されます。

10.5.4. 中間ネットリスト・ファイル・フォーマット

xslproc についてのさらに多くの説明、中間ファイルフォーマットの記述内容、各コンバーターの場合のシートスタイルの例は14章を参照して下さい。

11. プロットと印刷

11.1. はじめに

上部メニューバーの “ファイル” から “印刷 (N)” と “プロット (P)” の両コマンドが実行可能です。

eeschema_file_menu_plot_png

プロットでサポートしている出力フォーマットは、PostScript、PDF、SVG、DXF、HPGL です。自分のプリンターで直接印刷することも可能です。

11.2. プロットの共通コマンド

現在のページをプロット

現在のシートのみプロットします。

全てのページをプロット

全階層をプロットします(各シート毎に印刷ファイルを1つ生成する)。

11.3. Postscript のプロット

“回路図のプロット” 内のフォーマットで PostScript オプションを指定します。

eeschema_plot_postscript_png

ファイル名はシート名に拡張子 .ps を付加したものになります。“シートの図枠を印刷” オプションを無効にすることが可能です。これは文書編集ソフトウェアで図を挿入するためにしばしば使用されるカプセル化ポストスクリプトファイル( .eps フォーマット)を生成する場合に便利です。メッセージ ウィンドウは生成されたファイル名を表示します。

11.4. PDF のプロット

eeschema_plot_pdf.png

“回路図のプロット” 内のフォーマットで PDF オプションを指定します。ファイル名はシート名に拡張子 .pdf を付加したものになります。

11.5. SVG のプロット

eeschema_plot_svg_png

“回路図のプロット” 内のフォーマットで SVG オプションを指定します。ファイル名はシート名に拡張子 .svg を付加したものになります。

11.6. DXF のプロット

eeschema_plot_dxf_png

“回路図のプロット” 内のフォーマットで DXF オプションを指定します。ファイル名はシート名に拡張子 .dxf を付加したものになります。

11.7. HPGL のプロット

“回路図のプロット” 内のフォーマットで HPGL オプションを指定します。このフォーマットでは、以下を定義可能です。

  • ページ サイズ。

  • 原点。

  • ペン幅 (mm単位)。

以下は “回路図のプロット” ダイアログです。(上部メニューバーから、ファイル → プロット → プロットを選択します。):

eeschema_plot_hpgl_png

出力ファイル名はシート名に拡張子 .plt を付加したものです。

11.7.1. シートサイズ選択

通常は “回路図の大きさ” が選択されています。この場合、ページ設定で定義されているサイズが使用され、その時のスケールは1になります。異なるサイズ( A4 ~ A0 あるいは A ~ E )を選択すると、スケールが自動的に調整されてページにフィットします。

11.7.2. オフセット調整

全ての標準的な寸法に対して、可能な限り正確に中央に描画するようにオフセットを調整できます。プロッターは原点がシートの中央か左下角にあるので、適切にプロットするためにはオフセットを挿入する必要があります。

一般的に言えることですが、

  • シートの中央を原点とするプロッターの場合、オフセットは負の値で、シート寸法の 1/2 に設定しなければなりません。

  • シートの左下角を原点とするプロッターの場合、オフセットは 0 に設定しなければなりません。

オフセットを設定するには次のことを行います。

  • シートサイズを選択。

  • 原点を選択。

  • ( “左下の角” または “ページ中央” を選択)

上部メニューバーから “ファイル” → “印刷 (N)” を選ぶか、上部ツールバーのアイコン icons/print_button_png により、印刷プレビューや普通のプリンターでの印刷ができます。

images/ja/print_dialog_png

“シートのリファレンスと図枠の印刷” オプションは、シートのリファレンスおよびタイトルブロックの有効/無効を切り替えます。

“モノクロ印刷” オプションは印刷をモノクロ印刷に最適化します。通常、このオプションはモノクロのレーザープリンターを使用する場合に必要です。それは、カラーがハーフトーンで印刷されて非常に読みにくくなることがよくあるからです。

12. Symbol Library Editor

12.1. General Information About Symbol Libraries

A symbol is a schematic element which contains a graphical representation, electrical connections, and fields defining the symbol. Symbols used in a schematic are stored in symbol libraries. Eeschema provides a symbol library editing tool that allows you to create libraries, add, delete or transfer symbols between libraries, export symbols to files, and import symbols from files. The library editing tool provides a simple way to manage symbol library files.

12.2. Symbol Library Overview

A symbol library is composed of one or more symbols. Generally the symbols are logically grouped by function, type, and/or manufacturer.

A symbol is composed of:

  • グラフィカルな型式 (design) (ライン、円、テキストフィールド)。

  • ピンは、図形的なプロパティ(線(通常のピン)、クロックピン、反転ピン、Low レベルアクティブピンなど)と ERC(エレクトリカル・ルール・チェック)ツールが使用する電気的なプロパティ(入力、出力、双方向など)の両方を持っています。

  • リファレンス、値、PCB 設計用のフットプリント名などのようなテキストフィールド。

  • Aliases used to associate a common symbol such as a 7400 with all of its derivatives such as 74LS00, 74HC00, and 7437. All of these aliases share the same library symbol.

Proper symbol designing requires:

  • Defining if the symbol is made up of one or more units.

  • Defining if the symbol has an alternate body style also known as a De Morgan representation.

  • ライン、矩形、円、ポリゴンおよびテキストを使用して回路図シンボル(記号)を設計する。

  • グラフィック要素、名前、ピン数、電気的プロパティ(入力、出力、3ステート、電源ポートなど)を慎重に定義して、ピンを追加する。

  • Adding an alias if other symbols have the same design and pin out or removing one if the symbol has been created from another symbol.

  • PCB 設計ソフトウェアが使用するフットプリント名のような補助的フィールドを追加し、それらの可視性を定義する。

  • Documenting the symbol by adding a description string and links to data sheets, etc.

  • 適切な (desired) ライブラリにそれを保存する。

12.3. Symbol Library Editor Overview

The symbol library editor main window is shown below. It consists of three tool bars for quick access to common features and a symbol viewing/editing area. Not all commands are available on the tool bars but can be accessed using the menus.

libedit_main_window_png

12.3.1. メイン・ツールバー

The main tool bar typically located at the top of the main window shown below consists of the library management tools, undo/redo commands, zoom commands, and symbol properties dialogs.

images/ja/toolbar_libedit.png

icons/save_library_png

現在のライブラリをハードディスクに保存する。(ライブラリが 選択されていないか、選択中のライブラリに変更がない場合、 このボタンは無効です)

icons/library_png

現在のライブラリを選択する。

icons/delete_png

Delete a symbol from the currently selected library or any library defined by the project if no library is currently selected.

icons/library_browse_png

Open the symbol library browser to select the library and symbol to edit.

icons/new_symbol_png

Create a new symbol.

icons/import_cmp_from_lib_png

Load symbol from currently selected library for editing.

icons/copy_symbol_png

Create a new symbol from the currently loaded symbol.

icons/save_part_in_mem_png

Save the current symbol changes in memory. The library file is not changed.

icons/import_png

Import one symbol from a file.

icons/export_png

Export the current symbol to a file.

icons/new_library_png

Create a new library file containing the current symbol. Note: new libraries are not automatically added to the project.

icons/undo_png

最後の変更を元に戻す。

icons/redo_png

最後の変更をやり直す。

icons/part_properties_png

Edit the current symbol properties.

icons/text.png

Edit the fields of current symbol.

icons/erc_png

Test the current symbol for design errors.

images/icons/zoom_in.png

ズームイン。

images/icons/zoom_out.png

ズームアウト。

images/icons/zoom_redraw.png

画面の再描画。

images/icons/zoom_fit_in_page.png

Zoom to fit symbol in display.

icons/morgan1_png

Select the normal body style. The button is disabled if the current symbol does not have an alternate body style.

icons/morgan2_png

Select the alternate body style. The button is disabled if the current symbol does not have an alternate body style.

icons/datasheet_png

Show the associated documentation. The button will be disabled if no documentation is defined for the current symbol.

images/toolbar_libedit_part.png

Select the unit to display. The drop down control will be disabled if the current symbol is not derived from multiple units.

images/toolbar_libedit_part.png

Select the alias. The drop down control will be disabled if the current symbol does not have any aliases.

icons/pin2pin_png

Pin editing: independent editing for pin shape and position for symbols with multiple units and alternate symbols.

icons/pin_table_png

ピンテーブルを表示する。

12.3.2. エレメント・ツールバー

The vertical toolbar typically located on the right hand side of the main window allows you to place all of the elements required to design a symbol. The table below defines each toolbar button.

icons/cursor_png

選択ツール。(右クリックでカーソルの下にコンテキストメニューが開きます。 左クリックでカーソルのあるオブジェクトの属性が メインウィンドウの下にあるメッセージパネルへ表示されます。 左ダブルクリックでカーソルのあるオブジェクトのプロパティ ダイアログが開きます。)

icons/pin_png

ピンツール。(左クリックで新しいピンを追加します)

icons/text_png

グラフィックテキストツール。(左クリックで新しいグラフィックテキストを追加します)

icons/add_rectangle_png

矩形ツール。(左クリックで矩形の最初のコーナーから描画し始めます。 次の左クリックで矩形の対頂点のコーナーが置かれます。)

icons/add_circle_png

円ツール。左クリックで中心から円の描画を始めます。 次の左クリックで円の半径が決まります。

icons/add_arc_png

円弧ツール。(左クリックで中心から円弧の描画を始めます。 次の左クリックで円弧の最初の点が決まります。 更に次の左クリックで円弧の二つ目の点(終点)を決めます。

icons/add_polygon_png

Polygon tool. Left-click to begin drawing a new graphical polygon item in the current symbol. Left-click for each addition polygon line. Double-left-click to complete the polygon.

icons/anchor_png

Anchor tool. Left-click to set the anchor position of the symbol.

icons/import_png

Import a symbol from a file.

icons/export_png

Export the current symbol to a file.

icons/delete_png

Delete tool. Left-click to delete an object from the current symbol.

12.3.3. オプション・ツールバー

基本的にメインウィンドウの左側に位置する縦のツールバーで、エディタの描画オプションのいくつかを設定できます。ツールバーの各ボタンの定義は下表のとおりです。

icons/grid_png

グリッド表示の切替。(グリッドの表示/非表示が交互に切り替わります)

icons/unit_inch_png

単位をインチに設定。

icons/unit_mm_png

単位を mm に設定。

icons/cursor_shape_png

フルスクリーンカーソルの切替。(カーソルが通常/フルスクリーンと交互に切り替わります)

12.4. ライブラリの選択および保守

The selection of the current library is possible via the icons/library_png which shows you all available libraries and allows you to select one. When a symbol is loaded or saved, it will be put in this library. The library name of symbol is the contents of its value field.

  • ライブラリに含まれるコンポーネントの読込み/保存を行うためには、Eeschema でライブラリを読み込まなければなりません。

  • 現在のライブラリに対して行った変更は、作業終了後にメインツールバーの icons/save_library_png をクリックして、ハードディスクへ保存することが可能です。

  • A symbol can be removed from any library by clicking on the icons/delete_png .

12.4.1. Select and Save a Symbol

When you edit a symbol you are not really working on the symbol in its library but on a copy of it in the computer’s memory. Any edit action can be undone easily. A symbol may be loaded from a local library or from an existing symbol.

Symbol Selection

Clicking the icons/import_cmp_from_lib_png on the main tool bar displays the list of the available symbols that you can select and load from the currently selected library.

If a symbol is selected by its alias, the name of the loaded symbol is displayed on the window title bar instead of the selected alias. The list of symbol aliases is always loaded with each symbol and can be edited. You can create a new symbol by selecting an alias of the current symbol from the images/toolbar_libedit_alias.png . The first item in the alias list is the root name of the symbol.
Alternatively, clicking the icons/import_png allows you to load a symbol which has been previously saved by the icons/export_png .
Save a Symbol

After modification, a symbol can be saved in the current library, in a new library, or exported to a backup file.

To save the modified symbol in the current library, click the icons/save_part_in_mem_png . Please note that the update command only saves the symbol changes in the local memory. This way, you can make up your mind before you save the library.

To permanently save the symbol changes to the library file, click the icons/save_library_png which will overwrite the existing library file with the symbol changes.

If you want to create a new library containing the current symbol, click the icons/new_library_png . You will be asked to enter a new library name.

新しいライブラリは自動的に現在のプロジェクトへは追加されません。

回路図で使用したい新しいライブラリはすべて Eeschema の “設定” → “シンボル ライブラリを管理” でダイアログを開いて、シンボル ライブラリ ファイルのリストへ追加しなければなりません。

Click the icons/export_png to create a file containing only the current symbol. This file will be a standard library file which will contain only one symbol. This file can be used to import the symbol into another library. In fact, the create new library command and the export command are basically identical.

Transfer Symbols to Another Library

You can very easily copy a symbol from a source library into a destination library using the following commands:

  • アイコン icons/library_png をクリックしてコピー元のライブラリを選択します。

  • Load the symbol to be transferred by clicking the icons/import_cmp_from_lib_png . The symbol will be displayed in the editing area.

  • icons/library_png ボタンでコピー先のライブラリを選択します。

  • Save the current symbol to the new library in the local memory by clicking the icons/save_part_in_mem_png .

  • Save the symbol in the current local library file by clicking the icons/save_library_png .

Discarding Symbol Changes

When you are working on a symbol, the edited symbol is only a working copy of the actual symbol in its library. This means that as long as you have not saved it, you can just reload it to discard all changes made. If you have already updated it in the local memory and you have not saved it to the library file, you can always quit and start again. Eeschema will undo all the changes.

12.5. Creating Library Symbols

12.5.1. Create a New Symbol

A new symbol can be created by clicking the icons/new_symbol_png . You will be asked for a symbol name (this name is used as default value for the value field in the schematic editor), the reference designator (U, IC, R…), the number of units per package (for example a 7400 is made of 4 units per package) and if an alternate body style (sometimes referred to as DeMorgan) is desired. If the reference designator field is left empty, it will default to "U". These properties can be changed later, but it is preferable to set them correctly at the creation of the symbol.

eeschema_symbol_properties_png

A new symbol will be created using the properties above and will appear in the editor as shown below.

eeschema_libedit_new_png

12.5.2. Create a Symbol from Another Symbol

Often, the symbol that you want to make is similar to one already in a symbol library. In this case it is easy to load and modify an existing symbol.

  • Load the symbol which will be used as a starting point.

  • Click on the icons/copy_symbol_png or modify its name by right-clicking on the value field and editing the text. If you chose to duplicate the current symbol, you will be prompted for a new symbol name.

  • If the model symbol has aliases, you will be prompted to remove aliases from the new symbol which conflict with the current library. If the answer is no the new symbol creation will be aborted. Symbol libraries cannot have any duplicate names or aliases.

  • Edit the new symbol as required.

  • Update the new symbol in the current library by clicking the icons/save_part_in_mem_png or save to a new library by clicking the icons/new_library_png or if you want to save this new symbol in an other existing library select the other library by clicking on the icons/library_png and save the new symbol.

  • icons/save_library_png ボタンの “ディスクにライブラリを保存” コマンドでハードディスクにライブラリファイルを保存します。

12.5.3. Symbol Properties

Symbol properties should be carefully set during the symbol creation or alternatively they are inherited from the copied symbol. To change the symbol properties, click on the icons/part_properties_png to show the dialog below.

eeschema_properties_for_symbol_png

パッケージあたりのユニット数と代替シンボル表現を正しく設定することは大変重要です。もし設定が有効なら、ピンの作成または編集時にピンは各ユニットに正しく反映されるでしょう。ピンの作成/編集後にパッケージあたりのユニット数を増やすと、新しいユニットへピンとシンボルを追加するという余計な仕事をする破目になります。例えそうだとしても、これらのパラメータはいつでも変更可能です。

The graphic options "Show pin number" and "Show pin name" define the visibility of the pin number and pin name text. This text will be visible if the corresponding options are checked. The option "Place pin names inside" defines the pin name position relative to the pin body. This text will be displayed inside the symbol outline if the option is checked. In this case the "Pin Name Position Offset" property defines the shift of the text away from the body end of the pin. A value from 30 to 40 (in 1/1000 inch) is reasonable.

The example below shows a symbol with the "Place pin name inside" option unchecked. Notice the position of the names and pin numbers.

eeschema_uncheck_pin_name_inside_png

12.5.4. Symbols with Alternate Symbolic Representation

If the symbol has more than one symbolic repersentation, you will have to select one representation to edit them. To edit the normal representation, click the icons/morgan1_png .

To edit the alternate representation, click on the icons/morgan2_png . Use the images/toolbar_libedit_part.png shown below to select the unit you wish to edit.

eeschema_libedit_select_unit_png

12.6. グラフィック要素

Graphical elements create the representation of a symbol and contain no electrical connection information. Their design is possible using the following tools:

  • 始点と終点で定義されたラインとポリゴン。

  • 対角線にある2つのコーナーで定義された矩形。

  • 中心と半径で定義された円。

  • 始点と終点および中心で定義された円弧。(円弧は 0° から 180° まで描画できます。)

The vertical toolbar on the right hand side of the main window allows you to place all of the graphical elements required to design the representation of a symbol.

12.6.1. グラフィック要素のメンバーシップ。

個々のグラフィック要素(ライン、円弧、円など)は、全てのユニットで共通/全てのボディスタイルで共通/ユニット毎/ボディスタイル毎に定義することが可能です。要素オプションは、選択した要素を右クリックしてコンテキストメニューを表示することで簡単に設定できます。次にラインのコンテキストメニューの例を示します。

eeschema_libedit_context_menu_png

またこの要素を左ダブルクリックすると要素のプロパティを変更できます。次に多角形のプロパティダイアログの例を示します。

eeschema_libedit_polyline_properties_png

グラフィック要素のプロパティは次の通りです。:

  • “一般設定” の “幅 (W)” は、現在表示しているユニットにおけるライン要素の幅を定義します。

  • The "Common to all units in symbol" setting defines if the graphical element is drawn for each unit in symbol with more than one unit per package or if the graphical element is only drawn for the current unit.

  • The "Common by all body styles (DeMorgan)" setting defines if the graphical element is drawn for each symbolic representation in symbols with an alternate body style or if the graphical element is only drawn for the current body style.

  • “塗つぶしのスタイル” は、グラフィック要素で定義されるシンボルに対して、“塗つぶし無し (N)” / “前面色で塗りつぶし (F)” / “背景色で塗りつぶし (B)” を何れかを選択します。

12.6.2. グラフィックタイプのテキスト要素

The icons/text.png allows for the creation of graphical text. Graphical text is always readable, even when the symbol is mirrored. Please note that graphical text items are not fields.

12.7. Multiple Units per Symbol and Alternate Body Styles

Symbols can have two symbolic representations (a standard symbol and an alternate symbol often referred to as "DeMorgan") and/or have more than one unit per package (logic gates for example). Some symbols can have more than one unit per package each with different symbols and pin configurations.

Consider for instance a relay with two switches which can be designed as a symbol with three different units: a coil, switch 1, and switch 2. Designing a symbol with multiple units per package and/or alternate body styles is very flexible. A pin or a body symbol item can be common to all units or specific to a given unit or they can be common to both symbolic representation so are specific to a given symbol representation.

デフォルトでは、ピンはそれぞれのユニットのそれぞれのシンボル表現に固有です。それは、ピンの数は各ユニットで異なり、シンボル表現に依存した形状となるからです。ピンが各ユニットまたは各シンボル表現で共通の場合には、全てのユニットとシンボル表現に対して一度作成するだけで済みます(電源ピンの場合は一般的)。これは、それぞれのユニットで共通であるようなボディスタイルのグラフィックとテキストの場合も同様です(しかし、普通は各シンボル表現で固有です)。

12.7.1. Example of a Symbol Having Multiple Units with Different Symbols:

これはパッケージ毎に3つのユニット(スイッチ1、スイッチ2、コイル)で定義されるリレーの例です。:

オプション: ピンはリンクしていない。別のユニットのいかなるピンとも同期せず、各ユニットごとに単独でピンを追加/編集できる。

eeschema_libedit_pins_per_part_png

選択されている全てのユニットは入れ替えできない。

eeschema_libedit_not_interchangeable_png

ユニット 1

eeschema_libedit_unit1_png

ユニット 2

eeschema_libedit_unit2_png

ユニット3

eeschema_libedit_unit3_png

同じシンボルとピン配置を持たないので、ユニット1とユニット2は入れ替えできません。

グラフィックシンボル要素

Shown below are properties for a graphic body element. From the relay example above, the three units have different symbolic representations. Therefore, each unit was created separately and the graphical body elements must have the "Common to all units in symbol" disabled.

eeschema_libedit_disable_common_png

12.8. ピンの作成および編集

アイコン icons/pin_png を左クリックしてピンの作成や挿入が可能です。全てのピンのプロパティ編集はピンを左ダブルクリックして行います。もう一つの方法としては、ピンを右クリックしてピンのコンテキストメニューを開きます。ピンは慎重に作成しなければなりません。それは、どのようなエラーも基板(PCB)設計に影響するからです。すでに配置済みの任意のピンは再編集、削除または移動が可能です。

12.8.1. ピンの概要

ピンはその形状(長さ、グラフィックな外観)、名前および “番号“ で定義されます。“番号“ は4つまでの英文字または数字で定義されます。(番号は常に数字であるとは限りません。)ERC (エレクトリカル・ルール・チェック) ツールを機能させるためには、“電気的“ タイプ(入力、出力、3ステート…)も定義されていなければなりません。このタイプが正しく定義されていない場合には、ERC チェックが非効率になります。(正しい結果を表示できません。)

重要な注意

  • ピン名とピン番号に空白(半角スペース (space) )を使用しないで下さい。

  • 反転信号(上付き横線(overline)付信号)のピン名はチルダ記号 ~ で始めます。次の ~ 記号は上付き横線(overline)を無効にします。例えば、 \~FO~OFO O と表示されます。

  • ピン名の文字数を減らしてこの信号のシンボルだけになった場合は、そのピンには名前がないと見なされます。

  • # で始まるピン名は電源ポート用に予約されています。

  • ピン “番号” は1~4文字の英数字から成ります。1、2、…、9999 は有効な数字ですが、A1、B3 …(標準的な PGA の表記法)、あるいは Anod、Gnd、Wine なども有効です。

  • Duplicate pin "numbers" cannot exist in a symbol.

12.8.2. ピンのプロパティ

eeschema_libedit_pin_properties_png

ピンプロパティダイアログでピンの全ての特性を編集することができます。このダイアログは、ピンを作成したり、あるいは既存のピンをダブルクリックすると、自動的にポップアップします。このメニューで以下の定義または変更が可能です。:

  • “ピン名 (N)” と “ピン名の文字サイズ (A)”

  • “ピン番号 (U)” と “ピン番号の文字サイズ (X)”。

  • ピンの “角度 (O)” と “長さ (L)”。

  • “エレクトリックタイプ (E)” および “グラフィックスタイル (S)”。

  • “コンポーネントの全てのユニットで共通” および “全てのボディスタイル(ド・モルガン)で共有する (S)”

  • “可視化 (V)”。(電源ピンで使用される。)

12.8.3. ピンの形状(グラフィックスタイル)

それぞれのピンの形状を下図に示します。形状の選択は単にグラフィック上の影響があるだけで、電気的タイプへは影響を与えません。( ERC チェックあるいはネットリスト機能には何の影響もありません。)

eeschema_libedit_pin_properties_style_png

12.8.4. ピンの電気的タイプ

電気的タイプの選択を正しく行うことは ERC ツールとって重要です。それぞれの電気的タイプを下図に示します。:

  • 双方向。入力および出力を切り替え可能な双方向ピン(例えばマイクロプロセッサのデータバス)を表します。

  • トライステート。通常の3ステート (H, L, Hi-Z) 出力です。

  • Passive is used for passive symbol pins, resistors, connectors, etc.

  • 未指定。ERCチェックを必要としない場合に使用できます。

  • Power input is used for the symbol’s power pins. Power pins are automatically connected to the other power input pins with the same name.

  • 電源出力。電圧レギュレータの出力に使用されます。

  • オープンエミッタとオープンコレクタ。このように定義された論理回路の出力に使用できます。

  • Not connected is used when a symbol has a pin that has no internal connection.

12.8.5. ピンのグローバルプロパティ

You can modify the length or text size of the name and/or number of all the pins using the Global command entry of the pin context menu. Click on the parameter you want to modify and type the new value which will then be applied to all of the current symbol’s pins.

eeschema_libedit_pin_context_menu_png

12.8.6. 複数ユニットコンポーネントおよび代替シンボル表現におけるピンの定義

Symbols with multiple units and/or graphical representations are particularly problematic when creating and editing pins. The majority of pins are specific to each unit (because their pin number is specific to each unit) and to each symbolic representation (because their form and position is specific to each symbolic representation). The creation and the editing of pins can be problematic for symbols with multiple units per package and alternate symbolic representations. The symbol library editor allows the simultaneous creation of pins. By default, changes made to a pin are made for all units of a multiple unit symbol and both representations for symbols with an alternate symbolic representation.

これに対して、ピンの形状(グラフィックスタイル)と名前は例外です。この依存関係は多くの場合、ピンの作成、編集を容易にします。また、この依存関係はメインツールバーの icons/pin2pin_png で無効にできます(トグル動作です)。これにより完全に独立して、各ユニットと個別のシンボル表現に対してピンを作成することができます。

A symbol can have two symbolic representations (representation known as`「DeMorgan」') and can be made up of more than one unit as in the case of symbols with logic gates. For certain symbols, you may want several different graphic elements and pins. Like the relay sample shown in the previous section, a relay can be represented by three distinct units: a coil, switch contact 1, and switch contact 2.

The management of the symbols with multiple units and symbols with alternate symbolic representations is flexible. A pin can be common or specific to different units. A pin can also be common to both symbolic representations or specific to each symbolic representation.

デフォルトでは、ピンは各ユニットのそれぞれの表現に固有です。それは、ピンの数は各ユニットで異なり、それら(ユニット)のデザインは各シンボル表現で異なるからです。全てのユニットでピンが共通の場合は、(電源ピンのように)単に一度作成するだけで済みます。

An example is the output pin 7400 quad dual input NAND gate. Since there are four units and two symbolic representations, there are eight separate output pins defined in the symbol definition. When creating a new 7400 symbol, unit A of the normal symbolic representation will be shown in the library editor. To edit the pin style in alternate symbolic representation, it must first be enabled by clicking the icons/morgan2_png button on the tool bar. To edit the pin number for each unit, select the appropriate unit using the images/toolbar_libedit_alias.png drop down control.

12.9. Symbol Fields

All library symbols are defined with four default fields. The reference designator, value, footprint assignment, and documentation file link fields are created whenever a symbol is created or copied. Only the reference designator and value fields are required. For existing fields, you can use the context menu commands by right-clicking on the pin. Symbols defined in libraries are typically defined with these four default fields. Additional fields such as vendor, part number, unit cost, etc. can be added to library symbols but generally this is done in the schematic editor so the additional fields can be applied to all of the symbols in the schematic.

12.9.1. Editing Symbol Fields

To edit an existing symbol field, right-click on the field text to show the field context menu shown below.

eeschema_libedit_field_context_menu_png

未定義フィールドの編集、新しいフィールドの追加、(追加された)オプションフィールドの削除を行うには、メインツールバーの icons/text_png で、以下に示すフィールドのプロパティ ダイアログを開きます。

eeschema_libedit_field_properties_png

Fields are text sections associated with the symbol. Do not confuse them with the text belonging to the graphic representation of this symbol.

重要な注意

  • Modifying value fields effectively creates a new symbol using the current symbol as the starting point for the new symbol. This new symbol has the name contained in the value field when you save it to the currently selected library.

  • 空のフィールドや非表示属性を持つフィールドを編集するには、上のコンポーネントプロパティ・ダイアログを使用する必要があります。

  • フットプリントは、LIBNAME:FPNAME フォーマットを用いた完全なフットプリントとして定義されます。ここでの、LIBNAME はフットプリント・ライブラリ・テーブル中で定義されたフットプリントライブラリの名前であり、FPNAME は LIBNAME ライブラリ中でのフットプリントの名前を表します。(Pcbnew “リファレンス・マニュアル”の“フットプリント・ライブラリ・テーブル“を参照)

12.10. 電源ポートシンボル

Power symbols are created the same way as normal symbols. It may be useful to place them in a dedicated library such as power.lib. Power symbols consist of a graphical symbol and a pin of the type "Power Invisible". Power port symbols are handled like any other symbol by the schematic capture software. Some precautions are essential. Below is an example of a power +5V symbol.

eeschema_libedit_power_symbol_png

以下のステップに従ってシンボルを作成します。:

  • +5V (+5V のネットに接続を行う (establish) ので重要) という名前で “電源入力” タイプのピンを追加します。ピンの番号は1(番号は重要ではない)で、長さは0、 形状(グラフィックスタイル)は “ライン” とします。

  • 小さな円とピンから円までの線分を配置します。

  • ピン上にシンボルのアンカーを置きます。

  • The symbol value is +5V.

  • The symbol reference is \#+5V. The reference text is not important except the first character which must be # to indicate that the symbol is a power symbol. By convention, every symbol in which the reference field starts with a # will not appear in the symbol list or in the netlist and the reference is declared as invisible.

新規の電源ポートシンボルは、他のシンボルを型として使用すると容易にそして速く作成できます。:

  • 型となるシンボルを読み込む。

  • 新規電源ポートの名前となるピン名を編集する。

  • 値フィールドを編集する(電源ポートの値を表示したい場合、ピン名と同じ名前にする)。

  • Save the new symbol.

13. LibEdit - Symbols

13.1. 概要

A symbol consist of the following elements

  • グラフィカル表現(幾何学的な図形、テキスト)。

  • ピン。

  • Fields or associated text used by the post processors: netlist, symbols list.

Two fields are to be initialized: reference and value. The name of the design associated with the symbol, and the name of the associated footprint, the other fields are the free fields, they can generally remain empty, and could be filled during schematic capture.

However, managing the documentation associated with any symbol facilitates the research, use and maintenance of libraries. The associated documentation consists of

  • 説明(コメント行)。

  • TTL CMOS NAND2 のように空白文字で区切られたキーワード行。

  • ドキュメントファイル名(例:アプリケーションノートや pdf ファイル)。

    ドキュメントファイルのデフォルトディレクトリは以下の通りです:

    kicad/share/library/doc(Windowsの場合)

    見つからない場合:

    kicad/library/doc(Windowsの場合)

    linux の場合:

    /usr/local/kicad/share/library/doc

    /usr/share/kicad/library/doc

    /usr/local/share/kicad/library/doc

Key words allow you to selectively search for a symbol according to various selection criteria. Comments and key words are displayed in various menus, and particularly when you select a symbol from the library.

The symbol also has an anchoring point. A rotation or a mirror is made relative to this anchor point and during a placement this point is used as a reference position. It is thus useful to position this anchor accurately.

A symbol can have aliases, i.e. equivalent names. This allows you to considerably reduce the number of symbols that need to be created (for example, a 74LS00 can have aliases such as 74000, 74HC00, 74HCT00…).

Finally, the symbols are distributed in libraries (classified by topics, or manufacturer) in order to facilitate their management.

13.2. Position a symbol anchor

アンカーは、座標(0,0)にあり、画面上に青い軸で示されています。

eeschema_libedit_anchor_png

アンカーは、アイコン icons/anchor_png を選択し、新しくアンカーを配置したい位置を左クリックすることで再配置できます。 図は自動的に新しいアンカーポイントで再センタリングされます。

13.3. Symbol aliases

An alias is another name corresponding to the same symbol in the library. Symbols with similar pin-out and representation can then be represented by only one symbol, having several aliases (e.g. 7400 with alias 74LS00, 74HC00, 74LS37 ).

エイリアスの使用により素早く完全なライブラリを構築することができます。エイリアスを使うことで、よりライブラリをコンパクトにでき、KiCad での読み込みを容易にします。

エイリアスのリストを変更するためには、メインツールバーのアイコン icons/part_properties_png を左クリックして “コンポーネントのプロパティ” を開き、エイリアスのタブを選択する必要があります。

eeschema_libedit_alias_png

このように希望のエイリアスを追加したり、削除することができます。ただし、現在のエイリアスは編集されているので、明示的に削除することはできません。

To remove all aliases, you have firstly to select the root symbol. The first symbol in the alias list in the window of selection of the main toolbar.

13.4. Symbol fields

フィールド編集ツールは icons/text_png アイコンから実行できます。

There are four special fields (texts attached to the symbol), and configurable user fields

eeschema_libedit_field_properties_png

特殊フィールド

  • リファレンス (Reference):部品の参照番号(の接頭辞)。

  • Value. It is the symbol name in the library and the default value field in schematic.

  • フットプリント (Footprint) :基板で使用されるフットプリント名。CvPcb を使ってフットプリントのリストを設定する場合にはそれほど有用ではありませんが、CvPcb を使用しない場合には必須です。

  • データシート (Sheet) :現時点では使用されていない予約済フィールドです。

13.5. Symbol documentation

To edit documentation information, it is necessary to call the main editing window of the symbol via the icon icons/part_properties_png and to select the document folder.

eeschema_libedit_description_png

Be sure to select the right alias, or the root symbol, because this documentation is the only characteristic which differs between aliases. The "Copy Doc" button allows you to copy the documentation information from the root symbol towards the currently edited alias.

13.5.1. Symbol keywords

Keywords allow you to search in a selective way for a symbol according to specific selection criteria (function, technological family, etc.)

Eeschema の検索ツールは、大文字と小文字を区別しません。ライブラリで使われる現状もっとも多いキーワードは次のものです。

  • CMOS TTL :ロジックファミリ

  • AND2 NOR3 XOR2 INV…:論理ゲート (AND2 = 2入力 AND ゲート, NOR3 = 3入力 NOR ゲート)

  • JKFF DFF… :JK あるいはD フリップフロップ

  • ADC, DAC, MUX…

  • OpenCol for the gates with open collector output. Thus if in the schematic capture software, you search the symbol: by keywords NAND2 OpenCol Eeschema will display the list of symbols having these 2 key words.

13.5.2. Symbol documentation (Doc)

The line of comment (and keywords) is displayed in various menus, particularly when you select a symbol in the displayed symbols list of a library and in the ViewLib menu.

If this Doc. file exists, it is also accessible in the schematic capture software, in the pop-up menu displayed by right-clicking on the symbol.

13.5.3. ドキュメントファイル (DocFileName) に関して

利用可能なドキュメントファイルは、技術文書、アプリケーション回路例です。有効なファイルは、pdf ファイル、回路図などで、使用中のコンピュータから利用できるものです。

13.5.4. CvPcb のフットプリントフィルタ

You can enter a list of allowed footprints for the symbol. This list acts as a filter used by CvPcb to display only the allowed footprints. A void list does not filter anything.

eeschema_libedit_footprint_png

ワイルドカード文字が使用できます。

S014* により、名称が SO14 で始まる全てのフットプリントを CvPcb で表示できます。

抵抗については、R? により R で始まる2文字の全てのフットプリントを示すことができます。

フィルタ有り、無しのサンプルを示します。

フィルタ有り

eeschema_cvpcb_with_filtering_png

フィルタなし

eeschema_cvpcb_without_filtering_png

13.6. シンボルライブラリ

You can easily compile a graphic symbols library file containing frequently used symbols. This can be used for the creation of symbols (triangles, the shape of AND, OR, Exclusive OR gates, etc.) for saving and subsequent re-use.

These files are stored by default in the library directory and have a .sym extension. These symbols are not gathered in libraries like the normal symbols because they are generally not so many.

13.6.1. シンボルの作成、エクスポート

A symbol can be exported with the button icons/export_png . You can generally create only one graphic, also it will be a good idea to delete all pins, if they exist.

13.6.2. シンボルのインポート

Importing allows you to add graphics to a symbol you are editing. A symbol is imported with the button Import graphic icon . Imported graphics are added as they were created in existing graphics.

14. シンボル ライブラリ ブラウザ

14.1. はじめに

The Symbol Library Browser allows you to quickly examine the content of symbol libraries. The Symbol Library Viewer can be accessed by clicking icons/library_browse_png icon on the main toolbar, selecting "Library Browser" entry in the "View" menu or double clicking symbol image on "Choose Symbol" window.

eeschema_viewlib_choose_png

14.2. ライブラリブラウザ - メインウィンドウ

eeschema_viewlib_select_library_png

ライブラリの内容を確認するには、左側のリストからライブラリを選択する必要があります。選択したライブラリに含まれる利用可能な全てのシンボルが左から2番目のパネルに表示されます。シンボル名を選択すると、シンボルの内容を確認できます。

eeschema_viewlib_select_component_png

14.3. シンボル ライブラリ ブラウザ上部のツールバー

シンボル ライブラリ ブラウザの上部に表示されているツールバーを以下に示します。

images/ja/toolbar_viewlib.png

利用可能なコマンドは以下のとおりです :

icons/library_png

一覧より表示するライブラリ を選択します。

icons/add_component_png

一覧からシンボルを選択します。

icons/lib_previous_png

リストで選択されている、1つ前のシンボルを表示します。

icons/lib_next_png

リストで選択されている、1つ次のシンボルを表示します。

images/icons/zoom_in.png images/icons/zoom_out.png images/icons/zoom_redraw.png images/icons/zoom_fit_in_page.png

拡大/縮小(ズーム)ツールです。

images/icons/morgan1.png images/icons/morgan2.png

(代替シンボル表現が存在する場合)表現を選択します。

images/toolbar_viewlib_part.png

複数のユニットを持つシンボルの場合、ユニットを選択します。

icons/datasheet_png

関連ドキュメントが存在する場合、それ表示します。Eeschema の “シンボルの配置” ダイアログから呼び出された場合のみ有効です。

icons/export_png

ライブラリ ブラウザを閉じ、選択されたシンボルを Eeschema 上に配置します。 このアイコンは、ライブラリ ブラウザが Eeschema から呼び出された時だけ表示されます。(“シンボルを選択”の画面でシンボルをダブルクリック)

15. カスタマイズされたネットリストと BOM (部品表)ファイルの生成

15.1. 中間ネットリスト

部品表 (BOM) ファイルとネットリストファイルは、Eeschema が生成する中間ネットリストから変換されます。

このファイルは XML フォーマットで書かれており、中間ネットリストと呼ばれています。この中間ネットリストには設計中の基板に関する大量のデータが含まれており、後処理で部品表 (BOM) やさまざまなレポートを生成することができます。

出力するファイル(部品表 (BOM) かネットリスト)次第で、中間ネットリストの利用される部分が変わってきます。

15.1.1. 回路図サンプル

回路図サンプル

15.1.2. 中間ネットリストのサンプル

上記回路図に対応する中間ネットリスト(XML文法を利用しています)を以下に示します。

<?xml version="1.0" encoding="utf-8"?>
<export version="D">
  <design>
    <source>F:\kicad_aux\netlist_test\netlist_test.sch</source>
    <date>29/08/2010 20:35:21</date>
    <tool>eeschema (2010-08-28 BZR 2458)-unstable</tool>
  </design>
  <components>
    <comp ref="P1">
      <value>CONN_4</value>
      <libsource lib="conn" part="CONN_4"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2141</tstamp>
    </comp>
    <comp ref="U2">
      <value>74LS74</value>
      <libsource lib="74xx" part="74LS74"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20BA</tstamp>
    </comp>
    <comp ref="U1">
      <value>74LS04</value>
      <libsource lib="74xx" part="74LS04"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20A6</tstamp>
    </comp>
    <comp ref="C1">
      <value>CP</value>
      <libsource lib="device" part="CP"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2094</tstamp>
    </comp>
    <comp ref="R1">
      <value>R</value>
      <libsource lib="device" part="R"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E208A</tstamp>
    </comp>
  </components>
  <libparts>
    <libpart lib="device" part="C">
      <description>Condensateur non polarise</description>
      <footprints>
        <fp>SM*</fp>
        <fp>C?</fp>
        <fp>C1-1</fp>
      </footprints>
      <fields>
        <field name="Reference">C</field>
        <field name="Value">C</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="passive"/>
        <pin num="2" name="~" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="device" part="R">
      <description>Resistance</description>
      <footprints>
        <fp>R?</fp>
        <fp>SM0603</fp>
        <fp>SM0805</fp>
        <fp>R?-*</fp>
        <fp>SM1206</fp>
      </footprints>
      <fields>
        <field name="Reference">R</field>
        <field name="Value">R</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="passive"/>
        <pin num="2" name="~" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="conn" part="CONN_4">
      <description>Symbole general de connecteur</description>
      <fields>
        <field name="Reference">P</field>
        <field name="Value">CONN_4</field>
      </fields>
      <pins>
        <pin num="1" name="P1" type="passive"/>
        <pin num="2" name="P2" type="passive"/>
        <pin num="3" name="P3" type="passive"/>
        <pin num="4" name="P4" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="74xx" part="74LS04">
      <description>Hex Inverseur</description>
      <fields>
        <field name="Reference">U</field>
        <field name="Value">74LS04</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="input"/>
        <pin num="2" name="~" type="output"/>
        <pin num="3" name="~" type="input"/>
        <pin num="4" name="~" type="output"/>
        <pin num="5" name="~" type="input"/>
        <pin num="6" name="~" type="output"/>
        <pin num="7" name="GND" type="power_in"/>
        <pin num="8" name="~" type="output"/>
        <pin num="9" name="~" type="input"/>
        <pin num="10" name="~" type="output"/>
        <pin num="11" name="~" type="input"/>
        <pin num="12" name="~" type="output"/>
        <pin num="13" name="~" type="input"/>
        <pin num="14" name="VCC" type="power_in"/>
      </pins>
    </libpart>
    <libpart lib="74xx" part="74LS74">
      <description>Dual D FlipFlop, Set &amp; Reset</description>
      <docs>74xx/74hc_hct74.pdf</docs>
      <fields>
        <field name="Reference">U</field>
        <field name="Value">74LS74</field>
      </fields>
      <pins>
        <pin num="1" name="Cd" type="input"/>
        <pin num="2" name="D" type="input"/>
        <pin num="3" name="Cp" type="input"/>
        <pin num="4" name="Sd" type="input"/>
        <pin num="5" name="Q" type="output"/>
        <pin num="6" name="~Q" type="output"/>
        <pin num="7" name="GND" type="power_in"/>
        <pin num="8" name="~Q" type="output"/>
        <pin num="9" name="Q" type="output"/>
        <pin num="10" name="Sd" type="input"/>
        <pin num="11" name="Cp" type="input"/>
        <pin num="12" name="D" type="input"/>
        <pin num="13" name="Cd" type="input"/>
        <pin num="14" name="VCC" type="power_in"/>
      </pins>
    </libpart>
  </libparts>
  <libraries>
    <library logical="device">
      <uri>F:\kicad\share\library\device.lib</uri>
    </library>
    <library logical="conn">
      <uri>F:\kicad\share\library\conn.lib</uri>
    </library>
    <library logical="74xx">
      <uri>F:\kicad\share\library\74xx.lib</uri>
    </library>
  </libraries>
  <nets>
    <net code="1" name="GND">
      <node ref="U1" pin="7"/>
      <node ref="C1" pin="2"/>
      <node ref="U2" pin="7"/>
      <node ref="P1" pin="4"/>
    </net>
    <net code="2" name="VCC">
      <node ref="R1" pin="1"/>
      <node ref="U1" pin="14"/>
      <node ref="U2" pin="4"/>
      <node ref="U2" pin="1"/>
      <node ref="U2" pin="14"/>
      <node ref="P1" pin="1"/>
    </net>
    <net code="3" name="">
      <node ref="U2" pin="6"/>
    </net>
    <net code="4" name="">
      <node ref="U1" pin="2"/>
      <node ref="U2" pin="3"/>
    </net>
    <net code="5" name="/SIG_OUT">
      <node ref="P1" pin="2"/>
      <node ref="U2" pin="5"/>
      <node ref="U2" pin="2"/>
    </net>
    <net code="6" name="/CLOCK_IN">
      <node ref="R1" pin="2"/>
      <node ref="C1" pin="1"/>
      <node ref="U1" pin="1"/>
      <node ref="P1" pin="3"/>
    </net>
  </nets>
</export>

15.2. 新しいネットリスト形式への変換

中間ネットリストファイルに後処理のフィルタリングをすることで、部品表 (BOM) ファイルのような他形式のファイルを生成できます。この変換はテキストからテキストへの変換なので、この後処理フィルタは、Python や XSLT など、入力として XML を扱える処理系で記述できます。

XSLT はそれ自身が XML 言語で書かれる、XML ファイルの処理に最適な言語です。 xsltproc と呼ばれるフリーソフトがあり、ダウンロードしてインストールできます。xsltproc は、中間ネットリスト入力ファイルを読み込むことができ、入力を変換するためにスタイルシートを適用して、結果をファイルへ保存します。xsltproc を使用するためには、XSLTによる変換処理のためのスタイルシートが必要となります。一度 xsltproc を設定して実行すると、これら全ての変換プロセスは、Eeschema によって制御されます。

15.3. XSLT のアプローチ

XSL 変換 (XSLT) に関するドキュメントは、下記より参照することが出来ます:

http://www.w3.org/TR/xslt

15.3.1. PADS-PCB 形式ネットリストファイルの生成

PADS-PCB 形式のネットリストは、次の2つのセクションより構成されます。

  • フットプリントの一覧

  • ネットリスト:ネット情報によりグループ化されたパッド情報

以下に、中間ネットリストからpads-pcb形式へ変換するためのスタイルシートを掲載します。:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to Eeschema Generic Netlist Format to PADS netlist format
    Copyright (C) 2010, SoftPLC Corporation.
    GPL v2.

    How to use:
        https://lists.launchpad.net/kicad-developers/msg05157.html
-->

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#xd;&#xa;"> <!--new line CR, LF -->
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>

<xsl:template match="/export">
    <xsl:text>*PADS-PCB*&nl;*PART*&nl;</xsl:text>
    <xsl:apply-templates select="components/comp"/>
    <xsl:text>&nl;*NET*&nl;</xsl:text>
    <xsl:apply-templates select="nets/net"/>
    <xsl:text>*END*&nl;</xsl:text>
</xsl:template>

<!-- for each component -->
<xsl:template match="comp">
    <xsl:text> </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "footprint != '' ">
            <xsl:apply-templates select="footprint"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>unknown</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!-- for each net -->
<xsl:template match="net">
    <!-- nets are output only if there is more than one pin in net -->
    <xsl:if test="count(node)>1">
        <xsl:text>*SIGNAL* </xsl:text>
        <xsl:choose>
            <xsl:when test = "@name != '' ">
                <xsl:value-of select="@name"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:text>N-</xsl:text>
                <xsl:value-of select="@code"/>
            </xsl:otherwise>
        </xsl:choose>
        <xsl:text>&nl;</xsl:text>
        <xsl:apply-templates select="node"/>
    </xsl:if>
</xsl:template>

<!-- for each node -->
<xsl:template match="node">
    <xsl:text> </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text>.</xsl:text>
    <xsl:value-of select="@pin"/>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

</xsl:stylesheet>

xsltproc を実行し得られた、PADS-PCB 用のネットリストファイルを以下に示します。:

*PADS-PCB*
*PART*
P1 unknown
U2 unknown
U1 unknown
C1 unknown
R1 unknown
*NET*
*SIGNAL* GND
U1.7
C1.2
U2.7
P1.4
*SIGNAL* VCC
R1.1
U1.14
U2.4
U2.1
U2.14
P1.1
*SIGNAL* N-4
U1.2
U2.3
*SIGNAL* /SIG_OUT
P1.2
U2.5
U2.2
*SIGNAL* /CLOCK_IN
R1.2
C1.1
U1.1
P1.3

*END*

この変換は、次のコマンドラインにより実行することができます:

kicad\\bin\\xsltproc.exe -o test.net kicad\\bin\\plugins\\netlist_form_pads-pcb.xsl test.tmp

15.3.2. CADSTAR 形式のネットリストファイルの生成

CADSTAR 形式のネットリストは、下記の2セクションで構成されています。

  • フットプリントの一覧

  • ネットリスト:ネット情報によりグループ化されたパッド情報

以下に変換するためのスタイルシートを掲載します。:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to Eeschema Generic Netlist Format to CADSTAR netlist format
    Copyright (C) 2010, Jean-Pierre Charras.
    Copyright (C) 2010, SoftPLC Corporation.
    GPL v2.

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#xd;&#xa;"> <!--new line CR, LF -->
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>

<!-- Netlist header -->
<xsl:template match="/export">
    <xsl:text>.HEA&nl;</xsl:text>
    <xsl:apply-templates select="design/date"/>  <!-- Generate line .TIM <time> -->
    <xsl:apply-templates select="design/tool"/>  <!-- Generate line .APP <eeschema version> -->
    <xsl:apply-templates select="components/comp"/>  <!-- Generate list of components -->
    <xsl:text>&nl;&nl;</xsl:text>
    <xsl:apply-templates select="nets/net"/>          <!-- Generate list of nets and connections -->
    <xsl:text>&nl;.END&nl;</xsl:text>
</xsl:template>

 <!-- Generate line .TIM 20/08/2010 10:45:33 -->
<xsl:template match="tool">
    <xsl:text>.APP "</xsl:text>
    <xsl:apply-templates/>
    <xsl:text>"&nl;</xsl:text>
</xsl:template>

 <!-- Generate line .APP "eeschema (2010-08-17 BZR 2450)-unstable" -->
<xsl:template match="date">
    <xsl:text>.TIM </xsl:text>
    <xsl:apply-templates/>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!-- for each component -->
<xsl:template match="comp">
    <xsl:text>.ADD_COM </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "value != '' ">
            <xsl:text>"</xsl:text> <xsl:apply-templates select="value"/> <xsl:text>"</xsl:text>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>""</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!-- for each net -->
<xsl:template match="net">
    <!-- nets are output only if there is more than one pin in net -->
    <xsl:if test="count(node)>1">
    <xsl:variable name="netname">
        <xsl:text>"</xsl:text>
        <xsl:choose>
            <xsl:when test = "@name != '' ">
                <xsl:value-of select="@name"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:text>N-</xsl:text>
                <xsl:value-of select="@code"/>
        </xsl:otherwise>
        </xsl:choose>
        <xsl:text>"&nl;</xsl:text>
        </xsl:variable>
        <xsl:apply-templates select="node" mode="first"/>
        <xsl:value-of select="$netname"/>
        <xsl:apply-templates select="node" mode="others"/>
    </xsl:if>
</xsl:template>

<!-- for each node -->
<xsl:template match="node" mode="first">
    <xsl:if test="position()=1">
       <xsl:text>.ADD_TER </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text>.</xsl:text>
    <xsl:value-of select="@pin"/>
    <xsl:text> </xsl:text>
    </xsl:if>
</xsl:template>

<xsl:template match="node" mode="others">
    <xsl:choose>
        <xsl:when test='position()=1'>
        </xsl:when>
        <xsl:when test='position()=2'>
           <xsl:text>.TER     </xsl:text>
        </xsl:when>
        <xsl:otherwise>
           <xsl:text>         </xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:if test="position()>1">
        <xsl:value-of select="@ref"/>
        <xsl:text>.</xsl:text>
        <xsl:value-of select="@pin"/>
        <xsl:text>&nl;</xsl:text>
    </xsl:if>
</xsl:template>

</xsl:stylesheet>

CADSTAR 形式の出力ファイルです。

.HEA
.TIM 21/08/2010 08:12:08
.APP "eeschema (2010-08-09 BZR 2439)-unstable"
.ADD_COM P1 "CONN_4"
.ADD_COM U2 "74LS74"
.ADD_COM U1 "74LS04"
.ADD_COM C1 "CP"
.ADD_COM R1 "R"


.ADD_TER U1.7 "GND"
.TER     C1.2
         U2.7
         P1.4
.ADD_TER R1.1 "VCC"
.TER     U1.14
         U2.4
         U2.1
         U2.14
         P1.1
.ADD_TER U1.2 "N-4"
.TER     U2.3
.ADD_TER P1.2 "/SIG_OUT"
.TER     U2.5
         U2.2
.ADD_TER R1.2 "/CLOCK_IN"
.TER     C1.1
         U1.1
         P1.3

.END

15.3.3. OrCAD PCB2 形式ネットリスト・ファイルの生成

このフォーマットは、フットプリントの一覧のみで構成されています。それぞれのフットプリントは接続されるネットの情報を含みます。

変換を行うためのスタイルシートファイルを、以下に示します。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to Eeschema Generic Netlist Format to CADSTAR netlist format
    Copyright (C) 2010, SoftPLC Corporation.
    GPL v2.

    How to use:
        https://lists.launchpad.net/kicad-developers/msg05157.html
-->

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#xd;&#xa;"> <!--new line CR, LF -->
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>

<!--
    Netlist header
    Creates the entire netlist
    (can be seen as equivalent to main function in C
-->
<xsl:template match="/export">
    <xsl:text>( { Eeschema Netlist Version 1.1  </xsl:text>
    <!-- Generate line .TIM <time> -->
<xsl:apply-templates select="design/date"/>
<!-- Generate line eeschema version ... -->
<xsl:apply-templates select="design/tool"/>
<xsl:text>}&nl;</xsl:text>

<!-- Generate the list of components -->
<xsl:apply-templates select="components/comp"/>  <!-- Generate list of components -->

<!-- end of file -->
<xsl:text>)&nl;*&nl;</xsl:text>
</xsl:template>

<!--
    Generate id in header like "eeschema (2010-08-17 BZR 2450)-unstable"
-->
<xsl:template match="tool">
    <xsl:apply-templates/>
</xsl:template>

<!--
    Generate date in header like "20/08/2010 10:45:33"
-->
<xsl:template match="date">
    <xsl:apply-templates/>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!--
    This template read each component
    (path = /export/components/comp)
    creates lines:
     ( 3EBF7DBD $noname U1 74LS125
      ... pin list ...
      )
    and calls "create_pin_list" template to build the pin list
-->
<xsl:template match="comp">
    <xsl:text> ( </xsl:text>
    <xsl:choose>
        <xsl:when test = "tstamp != '' ">
            <xsl:apply-templates select="tstamp"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>00000000</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "footprint != '' ">
            <xsl:apply-templates select="footprint"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>$noname</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text> </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "value != '' ">
            <xsl:apply-templates select="value"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>"~"</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text>&nl;</xsl:text>
    <xsl:call-template name="Search_pin_list" >
        <xsl:with-param name="cmplib_id" select="libsource/@part"/>
        <xsl:with-param name="cmp_ref" select="@ref"/>
    </xsl:call-template>
    <xsl:text> )&nl;</xsl:text>
</xsl:template>

<!--
    This template search for a given lib component description in list
    lib component descriptions are in /export/libparts,
    and each description start at ./libpart
    We search here for the list of pins of the given component
    This template has 2 parameters:
        "cmplib_id" (reference in libparts)
        "cmp_ref"   (schematic reference of the given component)
-->
<xsl:template name="Search_pin_list" >
    <xsl:param name="cmplib_id" select="0" />
    <xsl:param name="cmp_ref" select="0" />
        <xsl:for-each select="/export/libparts/libpart">
            <xsl:if test = "@part = $cmplib_id ">
                <xsl:apply-templates name="build_pin_list" select="pins/pin">
                    <xsl:with-param name="cmp_ref" select="$cmp_ref"/>
                </xsl:apply-templates>
            </xsl:if>
        </xsl:for-each>
</xsl:template>


<!--
    This template writes the pin list of a component
    from the pin list of the library description
    The pin list from library description is something like
          <pins>
            <pin num="1" type="passive"/>
            <pin num="2" type="passive"/>
          </pins>
    Output pin list is ( <pin num> <net name> )
    something like
            ( 1 VCC )
            ( 2 GND )
-->
<xsl:template name="build_pin_list" match="pin">
    <xsl:param name="cmp_ref" select="0" />

    <!-- write pin numner and separator -->
    <xsl:text>  ( </xsl:text>
    <xsl:value-of select="@num"/>
    <xsl:text> </xsl:text>

    <!-- search net name in nets section and write it: -->
    <xsl:variable name="pinNum" select="@num" />
    <xsl:for-each select="/export/nets/net">
        <!-- net name is output only if there is more than one pin in net
             else use "?" as net name, so count items in this net
        -->
        <xsl:variable name="pinCnt" select="count(node)" />
        <xsl:apply-templates name="Search_pin_netname" select="node">
            <xsl:with-param name="cmp_ref" select="$cmp_ref"/>
            <xsl:with-param name="pin_cnt_in_net" select="$pinCnt"/>
            <xsl:with-param name="pin_num"> <xsl:value-of select="$pinNum"/>
            </xsl:with-param>
        </xsl:apply-templates>
    </xsl:for-each>

    <!-- close line -->
    <xsl:text> )&nl;</xsl:text>
</xsl:template>

<!--
    This template writes the pin netname of a given pin of a given component
    from the nets list
    The nets list description is something like
      <nets>
        <net code="1" name="GND">
          <node ref="J1" pin="20"/>
              <node ref="C2" pin="2"/>
        </net>
        <net code="2" name="">
          <node ref="U2" pin="11"/>
        </net>
    </nets>
    This template has 2 parameters:
        "cmp_ref"   (schematic reference of the given component)
        "pin_num"   (pin number)
-->

<xsl:template name="Search_pin_netname" match="node">
    <xsl:param name="cmp_ref" select="0" />
    <xsl:param name="pin_num" select="0" />
    <xsl:param name="pin_cnt_in_net" select="0" />

    <xsl:if test = "@ref = $cmp_ref ">
        <xsl:if test = "@pin = $pin_num">
        <!-- net name is output only if there is more than one pin in net
             else use "?" as net name
        -->
            <xsl:if test = "$pin_cnt_in_net>1">
                <xsl:choose>
                    <!-- if a net has a name, use it,
                        else build a name from its net code
                    -->
                    <xsl:when test = "../@name != '' ">
                        <xsl:value-of select="../@name"/>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:text>$N-0</xsl:text><xsl:value-of select="../@code"/>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:if>
            <xsl:if test = "$pin_cnt_in_net &lt;2">
                <xsl:text>?</xsl:text>
            </xsl:if>
        </xsl:if>
    </xsl:if>

</xsl:template>

</xsl:stylesheet>

OrCAD PCB2 形式の出力ファイルです。

( { Eeschema Netlist Version 1.1  29/08/2010 21:07:51
eeschema (2010-08-28 BZR 2458)-unstable}
 ( 4C6E2141 $noname P1 CONN_4
  (  1 VCC )
  (  2 /SIG_OUT )
  (  3 /CLOCK_IN )
  (  4 GND )
 )
 ( 4C6E20BA $noname U2 74LS74
  (  1 VCC )
  (  2 /SIG_OUT )
  (  3 N-04 )
  (  4 VCC )
  (  5 /SIG_OUT )
  (  6 ? )
  (  7 GND )
  (  14 VCC )
 )
 ( 4C6E20A6 $noname U1 74LS04
  (  1 /CLOCK_IN )
  (  2 N-04 )
  (  7 GND )
  (  14 VCC )
 )
 ( 4C6E2094 $noname C1 CP
  (  1 /CLOCK_IN )
  (  2 GND )
 )
 ( 4C6E208A $noname R1 R
  (  1 VCC )
  (  2 /CLOCK_IN )
 )
)
*

15.3.4. Eeschema プラグイン・インタフェイス

中間ネットリストの変換は Eeschema の中で自動的に実行させることができます。

ダイアログウィンドウの初期化

新しいネットリストプラグインをユーザインタフェースへ追加するには、“プラグインの追加” ボタンをクリックします。

eeschema_plugin_add_plugin_png

PADS-PCB タブの設定は、下記のようになります:

eeschema_plugin_padspcb_png
プラグインの設定パラメータ

Eeschema のプラグイン設定ダイアログでは、下記の情報が必要になります:

  • タイトル: ネットリストフォーマットの名前など

  • 変換を行うためのコマンドライン

ネットリストボタンをクリックすると、次のように実行されます。

  1. Eeschema は test.xml のように、中間ネットリスト *.xml を生成します。

  2. Eeschema は test.xml を読み込むことでプラグインを実行し、test.net を生成します。

コマンドラインからのネットリストファイルの生成

xsltproc.exe を利用して中間ネットリストへスタイルシートを適用する場合、下記のコマンドにより xsltproc.exe が実行されます。

xsltproc.exe -o <output filename> < style-sheet filename> <input XML file to convert>

Windows 環境で KiCad を利用している場合のコマンドラインは以下のようになります。

f:/kicad/bin/xsltproc.exe -o "%O" f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

Linux環境の場合のコマンドを以下に示します。

xsltproc -o "%O" /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

netlist_form_pads-pcb.xsl には、適用するスタイルシートのファイル名が入ります。このスタイルシートのファイル名をダブルクォーテーション (") で囲むのを忘れないようにしてください。これにより、Eeschema による変換後のスペースの使用を許容します。

コマンドラインフォーマットはファイル名のパラメータを受け付けます:

サポートしているフォーマットパラメータを下記に示します:

  • %B ⇒ 選択された出力ファイルのパスとファイル名から、パスと拡張子を除いたもの。

  • %I ⇒ 現在の入力ファイル(中間ネットリストファイル)の完全なパスとファイル名。

  • %O ⇒ ユーザが選んだ出力ファイルの完全なパスとファイル名。

%I は実際の中間ネットリストファイル名へ置換されます。

%O は実際の出力ファイル名へ置換され、最終的なネットリストファイルとなります。

コマンドラインフォーマット: xsltproc の例

xsltproc のコマンドラインフォーマットは、下記のようになります:

<path of xsltproc> xsltproc <xsltproc parameters>

Windows環境の場合:

f:/kicad/bin/xsltproc.exe -o "%O" f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

Linux環境の場合:

xsltproc -o "%O" /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

上記は、xsltproc が Windows 環境下で kicad/bin 以下にインストールされていると仮定したものです。

15.3.5. BOM (部品表)の生成

中間ネットリストファイルは、使用されているコンポーネント全ての情報を含んでいるため、ここから BOM(部品表)を生成することができます。以下に BOM(部品表)を生成させるための、Windows (Linux) 環境下でのプラグイン設定ウィンドウを示します:

bom-netlist-tab_png

bom2csv.xsl のパスは、システムによって異なります。現状で最適な BOM (部品表)を生成する XSLT スタイルシートは、ここでは bom2csv.xsl とします。

15.4. コマンドラインフォーマット: python スクリプトの例

python を使用した場合のコマンドラインフォーマットは、下記のようになります:

python <script file name> <input filename> <output filename>

Windows環境の場合:

python *.exe f:/kicad/python/my_python_script.py "%I" "%O"

Linux環境の場合:

python /usr/local/kicad/python/my_python_script.py "%I" "%O"

(あなたの PC に python がインストールされている必要があります。)

15.5. 中間ネットリストファイルの構造

ネットリストファイルの例を次に示します。

<?xml version="1.0" encoding="utf-8"?>
<export version="D">
  <design>
    <source>F:\kicad_aux\netlist_test\netlist_test.sch</source>
    <date>29/08/2010 21:07:51</date>
    <tool>eeschema (2010-08-28 BZR 2458)-unstable</tool>
  </design>
  <components>
    <comp ref="P1">
      <value>CONN_4</value>
      <libsource lib="conn" part="CONN_4"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2141</tstamp>
    </comp>
    <comp ref="U2">
      <value>74LS74</value>
      <libsource lib="74xx" part="74LS74"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20BA</tstamp>
    </comp>
    <comp ref="U1">
      <value>74LS04</value>
      <libsource lib="74xx" part="74LS04"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20A6</tstamp>
    </comp>
    <comp ref="C1">
      <value>CP</value>
      <libsource lib="device" part="CP"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2094</tstamp>
    <comp ref="R1">
      <value>R</value>
      <libsource lib="device" part="R"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E208A</tstamp>
    </comp>
  </components>
  <libparts/>
  <libraries/>
  <nets>
    <net code="1" name="GND">
      <node ref="U1" pin="7"/>
      <node ref="C1" pin="2"/>
      <node ref="U2" pin="7"/>
      <node ref="P1" pin="4"/>
    </net>
    <net code="2" name="VCC">
      <node ref="R1" pin="1"/>
      <node ref="U1" pin="14"/>
      <node ref="U2" pin="4"/>
      <node ref="U2" pin="1"/>
      <node ref="U2" pin="14"/>
      <node ref="P1" pin="1"/>
    </net>
    <net code="3" name="">
      <node ref="U2" pin="6"/>
    </net>
    <net code="4" name="">
      <node ref="U1" pin="2"/>
      <node ref="U2" pin="3"/>
    </net>
    <net code="5" name="/SIG_OUT">
      <node ref="P1" pin="2"/>
      <node ref="U2" pin="5"/>
      <node ref="U2" pin="2"/>
    </net>
    <net code="6" name="/CLOCK_IN">
      <node ref="R1" pin="2"/>
      <node ref="C1" pin="1"/>
      <node ref="U1" pin="1"/>
      <node ref="P1" pin="3"/>
    </net>
  </nets>
</export>

15.5.1. 一般的なネットリストファイルの構造

中間ネットリストファイルは、次の5つのセクションで構成されています。

  • ヘッダーセクション

  • コンポーネントセクション

  • ライブラリパーツセクション

  • ライブラリセクション

  • ネットセクション

このファイルは <export> タグで囲まれたものとなります。

<export version="D">
...
</export>

15.5.2. ヘッダーセクション

このヘッダは <design> タグで囲まれます。

<design>
<source>F:\kicad_aux\netlist_test\netlist_test.sch</source>
<date>21/08/2010 08:12:08</date>
<tool>eeschema (2010-08-09 BZR 2439)-unstable</tool>
</design>

このセクションはコメントセクションとして捉えることができます。

15.5.3. コンポーネントセクション

このコンポーネントセクションは <components> タグで囲まれたものとなります。

<components>
<comp ref="P1">
<value>CONN_4</value>
<libsource lib="conn" part="CONN_4"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>4C6E2141</tstamp>
</comp>
</components>

このセクションには、回路図中で使用されているコンポーネントの一覧が含まれます。それぞれのコンポーネントは、次のように記載されます。:

<comp ref="P1">
<value>CONN_4</value>
<libsource lib="conn" part="CONN_4"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>4C6E2141</tstamp>
</comp>

libsource

そのコンポーネントが含まれているライブラリ名

part

ライブラリ中に登録されているコンポーネント名

sheetpath

階層内のシートのパス(回路図階層全体の中で、その回路図シートの位置を 明確にするために利用される)

tstamps (time stamps)

回路図ファイルのタイムスタンプ

tstamp (time stamp)

コンポーネントのタイムスタンプ

コンポーネントのタイムスタンプに関する注意

ネットリスト(つまり基板上)のコンポーネントを識別する際、タイムスタンプ情報はコンポーネントに固有の情報となります。一方で、KiCad はコンポーネントを基板上の対応するフットプリントから識別する方法を補助的に用意しています。これは、回路図プロジェクト中のコンポーネントを再アノテーションできるようにし、コンポーネントとフットプリント間の結びつき情報を消失しないようにするためのものです。

タイムスタンプは、それぞれのコンポーネントや回路図プロジェクト内のシートにおいて固有の識別子です。しかしながら、複雑な階層構造内で同じシートが複数回参照される場合、同じタイムスタンプを持つコンポーネントが存在することになってしまいます。

このような複雑な階層構造を持つシートでは、シートのパス情報を利用して固有の識別子を持ちます。コンポーネントは、“そのシートのパス+タイムスタンプ” を固有の識別子として持ちます。

15.5.4. ライブラリパーツ・セクション

このライブラリパーツセクションは、<libparts>タグで囲まれたものとなり、このセクションは回路図ライブラリの情報を定義するものとなります。このセクションは、次のものを含みます:

  • <fp>で定義されるフットプリント名(名前にはワイルドカードも使われます)

  • <fields>で定義されるフィールド

  • <pins>で定義されるピンリスト

<libparts>
<libpart lib="device" part="CP">
  <description>Condensateur polarise</description>
  <footprints>
    <fp>CP*</fp>
    <fp>SM*</fp>
  </footprints>
  <fields>
    <field name="Reference">C</field>
    <field name="Valeur">CP</field>
  </fields>
  <pins>
    <pin num="1" name="1" type="passive"/>
    <pin num="2" name="2" type="passive"/>
  </pins>
</libpart>
</libparts>

<pin num=“1” type=“passive”/> のような行は、ピンの電気的な種類を定義するものです。有効なピンの種類は、次のものがあります。

Input

通常の入力

Output

通常の出力

Bidirectional

入力または出力

Tri-state

バスの入出力

Passive

受動部品のピン

Unspecified

不明な種類

Power input

コンポーネントの電源入力

Power output

レギュレータ IC のような部品の電源出力

Open collector

アナログコンパレータでよくみられるオープンコレクタ出力

Open emitter

ロジック IC でみられるオープンエミッタ出力

Not connected

回路図上でオープン(未接続)とすべきピン

15.5.5. ライブラリ・セクション

ライブラリセクションは<libraries>タグで囲まれたものとなります。このセクションはプロジェクトから利用されているライブラリ情報を含みます。

<libraries>
  <library logical="device">
    <uri>F:\kicad\share\library\device.lib</uri>
  </library>
  <library logical="conn">
    <uri>F:\kicad\share\library\conn.lib</uri>
  </library>
</libraries>

15.5.6. ネット・セクション

ネットセクションは<nets>タグで囲まれたものとなります。このセクションは、回路図上の接続情報を定義するものです。

<nets>
  <net code="1" name="GND">
    <node ref="U1" pin="7"/>
    <node ref="C1" pin="2"/>
    <node ref="U2" pin="7"/>
    <node ref="P1" pin="4"/>
  </net>
  <net code="2" name="VCC">
    <node ref="R1" pin="1"/>
    <node ref="U1" pin="14"/>
    <node ref="U2" pin="4"/>
    <node ref="U2" pin="1"/>
    <node ref="U2" pin="14"/>
    <node ref="P1" pin="1"/>
  </net>
</nets>

このセクションでは、回路図上の全てのネットを羅列します。

ネット情報の例を次に示します。

<net code="1" name="GND">
  <node ref="U1" pin="7"/>
  <node ref="C1" pin="2"/>
  <node ref="U2" pin="7"/>
  <node ref="P1" pin="4"/>
</net>

net code

ネットの内部的な識別番号

name

ネット名

node

ネットに接続されるピン

15.6. xsltproc に関する追加情報

次の Web ページを参照してください: http://xmlsoft.org/XSLT/xsltproc.html

15.6.1. はじめに

xsltproc は XSLT スタイルシートを XML 文書に適用するためのコマンドラインツールです。これは GNOME プロジェクトの一環として開発され、GNOME デスクトップ環境が無くても利用することが可能です。

xsltproc はスタイルシート名と適用するファイル名をオプションとし、コマンドラインより起動されます。標準入力を利用する場合、ファイル名には – 記号を利用します。

スタイルシートが XML 文書内に含まれている場合、コマンドラインでスタイルシート名を指示する必要はありません。xsltproc は自動的にスタイルシートを検出し利用します。標準では、出力が 標準出力(stdout) となっています。ファイルとして結果を出力したい場合には、 -o オプションを利用します。

15.6.2. 概要

xsltproc [[-V] | [-v] | [-o *file* ] | [--timing] | [--repeat] |
[--debug] | [--novalid] | [--noout] | [--maxdepth *val* ] | [--html] |
[--param *name* *value* ] | [--stringparam *name* *value* ] | [--nonet] |
[--path *paths* ] | [--load-trace] | [--catalogs] | [--xinclude] |
[--profile] | [--dumpextensions] | [--nowrite] | [--nomkdir] |
[--writesubtree] | [--nodtdattr]] [ *stylesheet* ] [ *file1* ] [ *file2* ]
[ *....* ]

15.6.3. コマンドラインオプション

-V 又は --version

利用している libxml と libxslt のバージョン情報を表示します。

-v 又は --verbose

xsltproc がスタイルシートとドキュメントを処理する各段階でメッセージを出力します。

-o 又は --output file

<ファイル名>で指定されたファイルへ結果を出力します。「チャンク」などとして知られているように、複数出力したい場合は -o ディレクトリ名/ として指定したディレクトリへファイルを出力します。この場合、ディレクトリは予め作成しておく必要があります。

--timing

スタイルシートの構文解析、ドキュメントの構文解析、スタイルシートの適用、結果の保存にかかった時間を表示します。ミリ秒の単位で表示されます。

--repeat

タイミングテストの為に、変換を20回繰り返し実行します。

--debug

デバッグの為に、変換されたドキュメントの XML ツリーを出力します。

--novalid

ドキュメントの DTD の読み込みをスキップします。

--noout

結果を出力しません。

--maxdepth <値>

libxsltの無限ループを防ぐため、テンプレートの最大スタック深度を調整します。デフォルトは500 です。

--html

HTML ファイルを入力ファイルとします。

--param <パラメータ名><値>

スタイルシート中の、パラメータで指定された<パラメータ名> name および<値> value の処理を行いません。パラメータ名と値のペアは、最大 32 個まで指定することができます。値をノードの識別ではなく、文字列として処理したい場合は、--stringparam オプションを利用してください。

--stringparam <パラメータ名> <値>

<パラメータ名> name と<値> value で指定された値について、ノードの識別ではなく文字列として扱うようにします。(注:これら文字列は utf-8 エンコードされている必要があります。)

--nonet

DTDのエンティティやドキュメントをインターネットから取得しません。

--path <パス>

DTDやエンティティ、ドキュメントの読み込みに、 <パス> で指定されたファイルのリスト(半角スペースやカンマで区切られる)を使用します。

--load-trace

処理中に読み込まれた全てのドキュメントを、標準エラー出力 (stderr) へ出力します。

--catalogs

SGML_CATALOG_FILES 内で指定された SGML カタログを外部エンティティの解決に利用します。標準では、xsltproc は XML_CATALOG_FILES で指定された場所を探します。XML_CATALOG_FILES が定義されていない場合、/etc/xml /catalog を利用します。

--xinclude

Xincludeの仕様に基づき、入力ドキュメントの処理を行います。Xincludeの詳細は、次を参照してください:http://www.w3.org/TR/xinclude/

--profile --norman

スタイルシートのそれぞれのパーツの処理時に、プロファイル情報の詳細を出力します。これはスタイルシートのパフォーマンスを最適化するために利用できます。

--dumpextensions

登録済みの拡張子のリストを標準出力 (stdout) へ出力します。

--nowrite

ファイルやリソースへの書き込みを行いません。

--nomkdir

ディレクトリを作成しません。

--writesubtree <パス>

<パス> で指定されたパス内のファイルのみ書込します。

--nodtdattr

ドキュメント内DTDの標準アトリビュートを適用しません。

15.6.4. Xsltproc の戻り値

xsltproc はスクリプトからの呼び出し時などに利用しやすいよう、戻り値でステータスを返します。

0: 通常

1: 引数なし

2: パラメータが多すぎる

3: 不明なオプション

4: スタイルシートの構文解析に失敗 (parse error)

5: スタイルシート内にエラー

6: ドキュメントのひとつにエラー

7: 未サポートの xsl : 出力メソッド

8: 文字列パラメータがクオートとダブルクオートの両方を含んでいる

9: 内部処理エラー

10: 中断シグナル (CTRL+C など) により処理を終了

11: 出力ファイルに書き込めない

15.6.5. xsltproc に関する追加情報

libxml web ページ: http://www.xmlsoft.org/

W3C XSLTページ: http://www.w3.org/TR/xslt

16. Simulator

Eeschema provides an embedded electrical circuit simulator using ngspice as the simulation engine.

When working with the simulator, you may find the official pspice library useful. It contains common symbols used for simulation like voltage/current sources or transistors with pins numbered to match the ngspice node order specification.

There are also a few demo projects to illustrate the simulator capabilities. You will find them in demos/simulation directory.

16.1. Assigning models

Before a simulation is launched, components need to have Spice model assigned.

Each component can have only one model assigned, even if component consists of multiple units. In such case, the first unit should have the model specified.

Passive components with reference matching a device type in Spice notation (R* for resistors, C* for capacitors, L* for inductors) will have models assigned implicitly and use the value field to determine their properties.

Keep in mind that in Spice notation M stands for milli and Meg corresponds to mega. If you prefer to use M to indicate mega prefix, you may request doing so in the simulation settings dialog.

Spice model information is stored as text in symbol fields, therefore you may either define it in symbol editor or schematics editor. Open symbol properties dialog and click on Edit Spice Model button to open Spice Model Editor dialog.

Spice Model Editor dialog has three tabs corresponding to different model types. There are two options common to all model types:

|=== |Disable symbol for simulation |When checked the component is excluded from simulation. |Alternate node sequence |Allows one to override symbol pin to model node mapping. To define a different mapping, specify pin numbers in order expected by the model.

Example:

* connections: + * 1: non-inverting input + * 2: inverting input + * 3: positive power supply + * 4: negative power supply + * 5: output
.subckt tl071 1 2 3 4 5

Generic operational amplifier symbol

To match the symbol pins to the Spice model nodes shown above, one needs to use an alternate node sequence option with value: "1 3 5 2 4". It is a list of pin numbers corresponding to the Spice model nodes order. |===

16.1.1. Passive

Passive tab allows the user to assign a passive device model (resistor, capacitor or inductor) to a component. It is a rarely used option, as normally passive components have models assigned implicitly, unless component reference does not match the actual device type.

Explicitly defined passive device models have priority over the ones assigned implicitly. It means that once a passive device model is assigned, the reference and value fields are not taken into account during simulation. It may lead to a confusing situation when assigned model value does not match the one displayed on a schematic sheet.
Passive device model editor tab

|=== |Type |Selects the device type (resistor, capacitor or inductor). |Value |Defines the device property (resistance, capacitance or inductance). The value may use common Spice unit prefixes (as listed below the text input field) and should use point as the decimal separator. Note that Spice does not correctly interpret prefixes intertwined in the value (e.g. 1k5). |===

16.1.2. Model

Model tab is used to assign a semiconductor or a complex model defined in an external library file. Spice model libraries are often offered by device manufacturers.

The main text widget displays the selected library file contents. It is a common practice to put models description inside library files, including the node order.

Semiconductor device model editor tab

File

Path to a Spice library file. This file is going to be used by the simulator, as it is added using .include directive.

Model

Selected device model. When a file is selected, the list is filled with available models to choose from.

Type

Selects model type (subcircuit, BJT, MOSFET or diode). Normally it is set automatically when a model is selected.

16.1.3. Source

Source tab is used to assign a power or signal source model. There are two sections: DC/AC analysis and Transient analysis. Each defines source parameters for the corresponding simulation type.

Source type option applies to all simulation types.

Source model editro tab

Refer to the ngspice documentation, chapter 4 (Voltage and Current Sources) for more details about sources.

16.2. Spice directives

It is possible to add Spice directives by placing them in text fields on a schematic sheet. This approach is convenient for defining the default simulation type. This functionality is limited to Spice directives starting with a dot (e.g. ".tran 10n 1m"), it is not possible to place additional components using text fields.

16.3. Simulation

To launch a simulation, open Spice Simulator dialog by selecting menu Tools→Simulator in the schematics editor window.

Main simulation dialog

The dialog is divided into several sections:

16.3.1. Menu

File

|=== |New Plot | Create a new tab in the plot panel. |Open Workbook | Open a list of plotted signals. |Save Workbook | Save a list of plotted signals. |Save as image | Export the active plot to a .png file. |Save as .csv file | Export the active plot raw data points to a .csv file. |Exit Simulation | Close the dialog. |===

Simulation

|=== |Run Simulation | Perform a simulation using the current settings. |Add signals… | Open a dialog to select signals to be plotted. |Probe from schematics | Start the schematics Probe tool. |Tune component value | Start the Tuner tool. |Show SPICE Netlist… | Open a dialog showing the generated netlist for the simulated circuit. |Settings… | Open the simulation settings dialog. |===

View

|=== |Zoom In | Zoom in the active plot. |Zoom Out | Zoom out the active plot. |Fit on Screen | Adjust the zoom setting to display all plots. |Show grid | Toggle grid visibility. |Show legend | Toggle plot legend visibility. |===

16.3.2. Toolbar

Simulation dialog top toolbar

The top toolbar provides access to the most frequently performed actions.

|=== |Run/Stop Simulation | Start or stop the simulation. |Add Signals | Open a dialog to select signals to be plotted. |Probe | Start the schematics Probe tool. |Tune | Start the Tuner tool. |Settings | Open the simulation settings dialog. |===

16.3.3. Plot panel

Visualizes the simulation results as plots. One can have multiple plots opened in separate tabs, but only the active one is updated when a simulation is executed. This way it is possible to compare simulation results for different runs.

Plots might be customized by toggling grid and legend visibility using View menu. When a legend is visible, it can be dragged to change its position.

Plot panel interaction:

  • scroll mouse wheel to zoom in/out

  • right click to open a context menu to adjust the view

  • draw a selection rectangle to zoom in the selected area

  • drag a cursor to change its coordinates

16.3.4. Output console

Output console displays messages from the simulator. It is advised to check the console output to verify there are no errors or warnings.

16.3.5. Signals list

Shows the list of signals displayed in the active plot.

Signals list interaction:

  • right click to open a context menu to hide signal or toggle cursor

  • double click to hide signal

16.3.6. Cursors list

Shows the list of cursors and their coordinates. Each signal may have one cursor displayed. Cursors visibility is set using the Signals list.

16.3.7. Tune panel

Displays components picked with the Tuner tool. Tune panel allows the user to quickly modify component values and observe their influence on the simulation results - every time a component value is changed, the simulation is rerun and plots are updated.

For each component there a few controls associated:

  • The top text field sets the maximum component value.

  • The middle text field sets the actual component value.

  • The bottom text field sets the minimum component value.

  • Slider allows the user to modify the component value in a smooth way. Save button modifies component value on the schematics to the one selected with the slider. X button removes component from the Tune panel and restores its original value.

The three text fields recognize Spice unit prefixes.

16.3.8. Tuner tool

Tuner tool lets the user pick components for tuning.

To select a component for tuning, click on one in the schematics editor when the tool is active. Selected components will appear in the Tune panel. Only passive components might be tuned.

16.3.9. Probe tool

Probe tool provides an user-friendly way of selecting signals for plotting.

To add a signal to plot, click on a corresponding wire in the schematics editor when the tool is active.

16.3.10. Simulation settings

Simulation settings dialog

Simulation settings dialog lets the user set the simulation type and parameters. There are four tabs:

  • AC

  • DC Transfer

  • Transient

  • Custom

The first three tabs provide forms where simulation parameters might be specified. The last tab allows the user to type in custom Spice directives to set up a simulation. You can find more information about simulation types and parameters in the ngspice documentation, chapter 1.2.

An alternative way to configure a simulation is to type Spice directives into text fields on schematics. Any text field directives related to simulation type are overridden by the settings selected in the dialog. It means that once you start using the simulation dialog, the dialog overriddes the schematics directives until the simulator is reopened.

There are two options common to all simulation types:

|=== |Adjust passive symbol values | Replace passive symbol values to convert common component values notation to Spice notation. |Add full path for .include library directives | Prepend Spice model library file names with full path. Normally full path is required by ngspice to access a library file. |===