KiCad 導入したときに困った点をお知らせします。(その2 シート間の連携)

 規模の大きい回路を設計する際は、複数枚の回路図を組み合わせて作図を行います。(大型装置の設計経験はないので、小型の箱もの装置をイメージしています) シート間の接続が分かりにくくなってしまい、後で読み直したときに見通しの悪い回路図になってしまった経験を持たれた方も多いと思います。見通しの悪い回路図はDesign Ruleチェックの時に手こずりますので、設計初期の段階で階層構造をイメージしておき、見通しを立てておいた方がミスをするリスクが低減されると考えます。今回はKiCadを用いてシート間を連携する方法について今回はご説明します。設計者の流儀や組織で定めたルールもあると思いますので参考程度にしてください。

1.機能ブロックに分けて階層化の構造を作成する
 全体の構成を示すマスターシートに、各機能(電源マネジメント、制御部(周辺の電源系を含む)、表示部、AD/DAやモータ制御などのアナログ部)といったサブシートがぶら下がる形をとります。サブシート間の接続は全てマスターシートに集約します。外部とのインタフェース(表示、LED、ボタン、電源)もマスターシートに集約すると、見通しの良い回路になります。

2.シート間の接続は、Hierarchical Labelを使って行う
 マスターシートには、Place > Draw Hierarchical sheetを選択し、サブシートを配置します。各サブシートには機能がイメージできるファイル名を付与します。マスターシートに接続したいネットは、サブシートの Place > Hierarchical Labelを選択し、ラベルとネットの属性(Input, Output, Bidirectional, Passiveなど)を設定します。サブシート側で設定したラベルの属性は、マスターシート側に反映されます。属性の設定を間違えると、デザインルールチェックの時にError/Warningが出ますので注意が必要です。

階層構造による回路図シート間接続

Hierarchical Sheetの挿入

Sheet pin propertiesの設定