ピンスワップとパートスワップで配線を最適化
![ピンスワップとパートスワップで配線を最適化](jpg/%e3%83%94%e3%83%b3%e3%82%b9%e3%83%af%e3%83%83%e3%83%97%e3%81%a8%e3%83%91%e3%83%bc%e3%83%88%e3%82%b9%e3%83%af%e3%83%83%e3%83%97%e3%81%a7%e9%85%8d%e7%b7%9a%e3%82%92%e6%9c%80%e9%81%a9%e5%8c%96-72133.jpg)
基板設計CADのAltium Designerは、洗練されたユーザーインターフェイスに加え、機能や使い方を解説した資料も豊富です。まさに、使いやすく学びやすいCADツールであり、初心者でもすぐに使えるようになります。しかし、より良い設計を行う為には、Altium Designerの持つ多彩な機能を有効に活用しスキルアップしなくてはなりません。
例えば、配線の密度を上げたい場合があります。これは、線幅を細くしたり配線の間隔を狭くしたりすれば可能ですので、初心者はすぐにそうするでしょう。しかし、配線ルールの微細化は百害あって一利なしですので、できれば避けたいものです。そこで、必要なのが配線の最適化であり、それに役立つ代表的なものがピンスワップとパートスワップです。
ひとくちにいうと、ピンスワップとパートスワップは配線のねじれを解消するための手段です。配線にねじれがあるとビアが増え配線も長くなります。要するに、ねじれは無駄にスペースを浪費しますのでベテランエンジニアならこれを放置する事はありません。そこで、今回はこのピン・パートスワップを取り上げその利用方法を紹介します。
配線のねじれはPCB設計の大敵
多入力のゲートやマルチパート部品を使う場合、回路図を描く段階でゲートや端子の割り振りを良く考えて、ねじれが発生しないようにします。しかし、回路図を描く段階ではPCB上の配線を予測しきれませんので、PCB設計段階でのピンスワップ・パートスワップが必要になります。そこで、多入力のゲートとマルチパート部品を使ったごく簡単な回路を用意し、ピンスワップとパートスワップを試してみる事にしました。
一つ目の回路は、13入力のNANDゲートの各端子をコネクタと接続したものであり、2つ目の回路は同様に HEXインバータの各端子をコネクタに引き出したものです。
両方とも回路図を描く段階でねじれが発生しないように熟慮したものです。そして、この2つの回路をPCBに転送し部品を配置してみました。その結果、13入力のNANDを使った回路は、ラッツネストを見る限りねじれはなく、一方のHEXインバータを使った回路ではラッツネストの一部がねじれています。
![図1. 配線の交差・ねじれ](png/%e5%9b%b31.%20%e9%85%8d%e7%b7%9a%e3%81%ae%e4%ba%a4%e5%b7%ae%e3%83%bb%e3%81%ad%e3%81%97%e3%82%99%e3%82%8c%20.png)
U1とP1(左側)で構成された回路とU2とP2(右側)で構成された回路をPCBに転送。左側の回路のラッツネストを見ると、配線の交差はあるもののねじれはありません。一方で、右側の回路は一部にねじれが見られます。
パートスワップでねじれを解消
6個のインバータが構成されたマルチパート部品の配線にねじれが見つかったので、パートスワップで解消し、その成果を確認します。
配線はPCBの片面だけで完結させる事を目指して行いました。その結果、パートスワップを実行してねじれを解消するとグランドネット1本を残して他を全て片面で配線でき、ビアも必要ありませんでした。
この結果をみると、パートスワップで配線スペースを節約できる事がわかります。実際に基板を設計する時には、配線前にマルチパート部品の周辺のラッツネストを確認し、ねじれがあるようなら事前にこのパートスワップを実行する事により、スペースだけでなく配線の手間も省く事ができます。
![図2. パートスワップでねじれを解消して配線](png/%e5%9b%b32.%20%e3%83%8f%e3%82%9a%e3%83%bc%e3%83%88%e3%82%b9%e3%83%af%e3%83%83%e3%83%95%e3%82%9a%e3%81%a6%e3%82%99%e3%81%ad%e3%81%97%e3%82%99%e3%82%8c%e3%82%92%e8%a7%a3%e6%b6%88%e3%81%97%e3%81%a6%e9%85%8d%e7%b7%9a%20.png)
パートスワップ機能によって、U2に含まれる6個のインバータのうちの4番目と6番目を入れ替えるだけでねじれが解消され、効率的に配線できます。
ピンスワップとパートスワップの実行手順
ピンスワップとパートスワップは、PCBエディタの [ツール] - [ピン/パートスワップ] から実行できます。自動、または手動でスワップを行う為の複数のコマンドが用意されています。なお、これらを実行するためには事前にスワップデータを設定し、さらにスワップの有効化が必要です。
![図3. ピン・パートスワップの実行](png/%e5%9b%b33.%20%e3%83%92%e3%82%9a%e3%83%b3%e3%83%bb%e3%83%8f%e3%82%9a%e3%83%bc%e3%83%88%e3%82%b9%e3%83%af%e3%83%83%e3%83%95%e3%82%9a%e3%81%ae%e5%ae%9f%e8%a1%8c%20.png)
ピン・パートスワップを実行するためのコマンドは、[ツール] メニューの [ピン/パートスワップ] にあります。自動、または手動でスワップを行う為のコマンドが複数、用意されています。
1. スワップデータの設定
まずスワップデータを設定します。設定画面は、PCBに配置されたフットプリント上にカーソルを置き、右クリックで表示されるポップアップメニューから、[コンポーネントに対する操作] - [ピン/パートスワップを設定] を選ぶ事によって表示されます。
表示された [Configure Pin Swapping for … ] 画面には [ピンスワップ]、[差動ペアスワップ]、[パートスワップ] の3つのページがあり、スワップデータの項目にIDを設定する事により、スワップの条件を設定します。そこで、今回は、パートスワップを行う場合の設定例を紹介します。
パートスワップではスワップデータとして、パートグループとシーケンスIDを設定します。パートグループでは、6個のインバータが全て対等にスワッピ可能である事を示すために、全て同じ「1」を入れます。さらに、シーケンスIDには、インバータの入力と出力がスワップされないように、入力端子に「I」、出力端子には「O」を入れて分離します。
![図4.パートスワップでの設定](png/%e5%9b%b34.%e3%83%8f%e3%82%9a%e3%83%bc%e3%83%88%e3%82%b9%e3%83%af%e3%83%83%e3%83%95%e3%82%9a%e3%81%a6%e3%82%99%e3%81%ae%e8%a8%ad%e5%ae%9a%20.png)
パートスワップでは、スワップデータとして、パートグループとシーケンスIDを設定します。
2. ピン・パートスワップの有効化
コンポーネントのPropertiesパネルにある [Swapping Option] を設定します。今回はパートスワップだけを有効にしました。
![図5. ピン・パートスワップの有効化](png/%e5%9b%b35.%20%e3%83%92%e3%82%9a%e3%83%b3%e3%83%bb%e3%83%8f%e3%82%9a%e3%83%bc%e3%83%88%e3%82%b9%e3%83%af%e3%83%83%e3%83%95%e3%82%9a%e3%81%ae%e6%9c%89%e5%8a%b9%e5%8c%96%20.png)
Propertiesパネルで、パートスワップを有効化します。
3. パートスワップの実行
パートスワップは [ツール] メニューから、[ピン/パートスワップ] - [手動パートスワップを実行] を選ぶ事によって実行します。コマンドを実行すると画面はモノトーン調に変化し、スワップ可能な端子が強調されます。そしてその端子をクリックすると、スワップが行われます。
![図6.パートスワップの実行](png/%e5%9b%b36.%e3%83%8f%e3%82%9a%e3%83%bc%e3%83%88%e3%82%b9%e3%83%af%e3%83%83%e3%83%95%e3%82%9a%e3%81%ae%e5%ae%9f%e8%a1%8c%20.png)
[ツール] メニューから [ピン・パートスワップ] - [手動パートスワップ] を選びんでパートスワップを実行します。
4. 回路図の更新
パートスワップを行うと回路が変わりますので、回路図を更新しなくてはなりません。これは、他の変更と同様に、[デザイン] - [Update PCB Document …] コマンドで行う事ができます。
![Altium Designer 回路図の更新](png/altium%20designer%20%e5%9b%9e%e8%b7%af%e5%9b%b3%e3%81%ae%e6%9b%b4%e6%96%b0.png)
![図7. ECOの実行](png/%e5%9b%b37.%20eco%e3%81%ae%e5%ae%9f%e8%a1%8c%20.png)
[デザイン] メニューから [Update PCB Document …] コマンドを選ぶと[ECO]ダイアログボックスが現れ、変更の内容が表示されます。内容を確認後、[変更の実行] ボタンを押すと回路図が更新されます。
同じ機能の素子を複数、備えたマルチパート部品では、パートスワップが利用できます。また、多入力のゲートやプログラマブルな端子を備えたデバイスではピンスワップを利用できます。ピンスワップも、ここで紹介したパートスワップと同様の手順で実行する事ができます。高密度な基板を設計する場合、このピン・パートスワップな不可欠な機能であると言えます。
今すぐAltium Designerの無償評価版をリクエストして、世界最高のPCB設計ソリューションをお試しください!ご不明な点などございましたら、お問合せフォームにご入力ください。