第6章:FreeRoutingで自動配線する ― 任せる所と、人がやる所
前章で用意した予約線(ラッツネスト)を、本物の銅の配線に変えます。ただし、線を一本ずつ手で引くのではなく、FreeRoutingという自動配線ツールに、大部分を引いてもらいます。この章のゴールは、KiCadから配線対象を書き出し → FreeRoutingで自動配線 → 結果をKiCadに戻し → 機械が引ききれなかった数本を人が仕上げ → GNDのベタ塗りをして → DRC(最終チェック)をゼロにするまでを通すこと。このコースの背骨――どこまでを機械に任せ、どこからを人がやるのか――が、いちばんはっきり出る回です。
6.1 FreeRoutingとは何か
FreeRoutingは、KiCadの外にある、独立した自動配線(オートルーター)ツールです。オープンソースで、長く使われてきました。KiCadと直接つながっているわけではなく、あいだをファイル2種類でやり取りする関係になっています。KiCadから「これを配線して」と配線対象(.dsn)を渡し、FreeRoutingが引き終わった結果(.ses)を受け取ってKiCadに戻す――この橋渡しが基本です。
.dsn(Specctra DSN)は、KiCadが「この基板の、部品配置・外形・つなぐべき結線・線の太さのルール」をまとめて書き出したファイルです。FreeRoutingはこれを読み込んで配線します。.ses(Specctraセッション)は、FreeRoutingが「どこにどう線を引いたか」という配線の結果を書き出したファイルです。KiCadはこれを読み込んで、予約線を本物の銅線に置き換えます。KiCadとFreeRoutingは、この2つのファイルだけで会話します。
ここで面白いのは、「配線という物理作業のうち、線を引く部分だけを、標準的なファイル形式で外の道具に切り出した」という発想です。KiCadに全部を抱え込ませるのではなく、配線が得意な専門の道具に、決まった形式で仕事を渡す。だからこそ、KiCadを使いながら、配線だけ別のツールの力を借りる、という分業が成り立ちます。
6.2 準備:Javaで動かす
FreeRoutingはJavaで書かれたプログラムです。そのため、動かすにはPCにJavaの実行環境(JRE)が必要です。本体は、配布されている .jar ファイル(Javaの実行ファイル)を起動して使うのが基本の形です。
FreeRoutingの版、対応するJavaの版、起動のしかた(インストーラ版か、.jar を直接起動するか、KiCadのプラグインとして入れるか)は、時期と環境で変わります。執筆時点では、公式はJava JRE のバージョン25を案内し、本体は2.2系(例:freerouting-2.2.4)が配布されています。ただしこれは古びる情報なので、実際に使うときはFreeRoutingのReleasesページと公式ドキュメントで最新を確認してください。macOSではターミナルから起動する必要があるなど、OSごとの作法もあります。困ったら、まず公式の案内に立ち返るのが近道です。
参考までに、本コースの題材ボードを実際に通したときの構成を、あくまで一例として挙げておきます。Java 25をフルパス指定で起動し、FreeRouting 2.2.4(.jar)で自動配線しました。結果、大部分(この設計では34本の予約線のうち33本)を自動で引き、混み合って引けなかった1本(マイコンのある信号)だけを、人が裏面へビアで逃がして手配線。最終的に未接続ゼロ・DRCゼロまで到達しました。数字はこの設計・この時点での一例で、あなたのボードでは変わります。大事なのは「ほとんど自動、残りわずかを人」という配分の感覚のほうです。
6.3 KiCadから .dsn を書き出す
まず、KiCadの基板エディタから、配線対象を .dsn ファイルとして書き出します。KiCadのメニューでいえば「ファイル」→「エクスポート」→「Specctra DSN」にあたります(メニューの位置は版で変わることがあります)。
- 部品が並んでいるか(前章5.2)。配置が済んでいないと、配線しようがありません。
- ネットクラス(線の太さ)が設定されているか(前章5.3)。ここが、次の自動配線の太さを決めます。
- その状態で「Specctra DSN」を書き出し、
.dsnファイルを作ります。
FreeRoutingが引く線の太さやクリアランスは、KiCadで
.dsn を書き出したときのルート設定(=前章5.3で決めたネットクラス)に従います。つまり、「電源は0.5mm、信号は0.3mm」という前章の設定が、そのままFreeRoutingの配線に効きます。逆に言うと、太さを決めずに書き出すと、FreeRoutingも意図した太さで引いてくれません。「先にKiCadでルールを決める→そのあとFreeRoutingに渡す」という順番を、必ず守ってください。5章と6章がつながっているのは、ここです。
6.4 FreeRoutingで自動配線する
.dsn を書き出したら、FreeRoutingを起動して読み込ませ、自動配線を実行します。
- FreeRoutingを起動し、「Open Your Own Design(自分の設計を開く)」から、書き出した
.dsnを選びます。 - 基板と予約線が表示されます。自動配線(Magic Wandのアイコン)を押すと、配線が始まります。
- 画面で配線が進む様子と、残りの本数が数字で見えます。パスが終わるまで待ちます。
- 終わったら、結果を
.ses(Specctraセッション)として書き出します(「Export Specctra Session File」など)。
自動配線では、信号線と電源線を引くことに集中させ、GNDは一本ずつ引かず、前章で範囲を決めたベタGND(面)で受けるのが素直なやり方です。FreeRoutingにも、特定のネット(GNDなど)を自動配線の対象から外す設定があります。GNDを面で受けると、配線がすっきりし、ノイズにも強くなります。GNDのベタ塗りは、この章の最後(6.7)で行います。
6.5 .ses をKiCadに取り込む
FreeRoutingが書き出した .ses を、KiCadに戻します。メニューでいえば「ファイル」→「インポート」→「Specctraセッション」にあたります。取り込むと、これまで予約線だった部分が、本物の銅の配線に置き換わります。画面の上で、細い予約線が、太さを持った銅線に変わっていれば成功です。
自動配線は便利ですが、結果をそのまま鵜呑みにしないのが大事です。取り込んだら、電源線がちゃんと太く引かれているか、変な遠回りをしていないか、部品の下を不自然に通っていないか、といった点をざっと見ておきます。おかしなところがあれば、次の6.6で人が手直しします。「機械に任せる」と「結果を確かめる」はセットです。
6.6 任せる所と、人がやる所
ここが、この章の核心です。FreeRoutingは大部分の線を引いてくれますが、すべてを引ききれるとは限りません。とくに、部品が混み合ったところや、他の線に囲まれて逃げ場のないところでは、「どうしても引けない線」が数本、残ることがあります。そこが、人の出番です。
- 引けなかった線を見つける。取り込んだあとに残っている予約線が、それです。
- その線を手で引く。まっすぐ引けなければ、ビアで裏面に逃がして、混雑を避けて回すといった判断をします(KiCad入門・第6章の手配線と同じ操作)。
- 電源や、ノイズに気をつけたい線が、自動配線で不本意な引き方をされていたら、その線だけ引き直す。
初めてだと「一本でも手で引いたら負け」のような気がするかもしれませんが、そうではありません。混み合った最後の数本を人が仕上げるのは、ごく普通のことです。むしろ、そここそが人の判断の見せどころ――「この線は裏に逃がす」「ここはビアを1つ足す」といった、盤面を見ての判断です。大部分を機械に任せて時間を節約し、難しい所に人の手をかける。この配分こそ、このコースがずっと言ってきた「論理はコード、物理は人と機械」の、いちばん具体的なかたちです。前の6.2の実例でも、33本は自動、残り1本を人が引いていました。
6.7 仕上げ:ベタGNDを塗り、DRCをゼロにする
信号と電源の配線が終わったら、前章5.4で範囲を決めておいたベタGNDを、実際に塗りつぶします。KiCad入門・第6章と同じで、B キー(すべてのゾーンを塗りつぶし)を押すと、空いている所がGNDの銅で埋まります。配線をすべて終えてから塗る――この順番だから、きれいに埋まります。
最後に、製造へ進む前の最終チェック、DRC(デザインルールチェック)です。KiCad入門・第6章でやったのと同じ、機械による全数検査です。
Bキーで、表・裏のベタGNDを塗りつぶす。- 「検査」→「デザインルールチェック(DRC)」を実行する。
- 未接続(Unconnected)がゼロ、クリアランス違反がゼロになるまで直す。
DRCのエラーが残ったまま発注してはいけません。とくに見落としやすいのが「未接続」――引き忘れた予約線が残っているケースです。自動配線と手配線を合わせて、予約線が一本残らず銅線に変わり、DRCの未接続がゼロになって、はじめて設計データの完成です。エラーが残ったまま発注すると、工場に断られるか、つながっていない不良基板が届きます。ゼロになるまで、根気よく直してください。
DRCがゼロになり、設計データが確定するこの瞬間は、KiCad入門でも触れたとおり、半導体設計でいう「テープアウト(製造データの確定)」に相当する、ものづくりの大きな節目です。しかも今回は、結線はコードで書き、配線の大半は機械に任せ、要所だけ人が仕上げた――新しいやり方で、この節目にたどり着きました。
6.8 次章への橋渡し
- KiCadから
.dsnを書き出した(前章の太さ設定を持った状態で) - FreeRoutingで自動配線し、
.sesを書き出した .sesをKiCadに取り込み、予約線を銅線に変えた- 引けなかった数本を、人が手配線した(ビアで裏に逃がすなど)
- ベタGNDを塗り、DRCの未接続・クリアランス違反をゼロにした
設計データが完成しました。結線をコードで書き、配線を機械と人で仕上げ、検算まで通した一枚です。ここまでくれば、あとは現物にするだけ。次章では、この完成データを製造用のデータに書き出し、実際に基板を発注し、部品を調達します。画面の中の設計が、手に取れる基板になります。