FPGA/PCB ピンの同期 - Altium

FPG A/PCB ピン の 同期
ますます増大する管理の複雑さを克服する方法について
Marty Hauff、 工学士 (コンピュータおよびデジタルシステム)
マネージャ、 Altium Designer Applied Technologies
F P G A/ PCB ピン の同期
ますます増大する管理の複雑さを克服する方法について
ピンと部品のスワップ設定は PCB の配線の複雑さを軽減し、 競争力を維持するため、 長い間電子技術者が開発してきた多くの技術の
1つでした。 しかし FPGA の能力が増大し、 その性能が改良され続けた結果、 従来の PCB 設計の流れに新たなプレッシャが加えられ
ています。
従来の IC パッケージの中で、 数ゲートを交換したり、 2 ~ 3 の抵抗アレイの接続を交換したりするタスクは、 FPGA デバイスの数百ピン
のスワップ設定を管理し、 これらの変更を FPGA のデザインに同期させるタスクとはまったく異なっています。 設計は何度かの繰返しを
通じて進捗していくので、PCB と FPGA の各チームでデータとピンを同期させるタスクは、それ自身がフルタイムのジョブとなり、ピンのスワッ
プ設定の承認は、 それ自体が 1 つのコースとなってしまいました。
したがって、 これからの設計者はプログラム可能なハードウエアの利点の開発を継続できるように、 この増加する変更情報の同期の複
雑さを克服しなければなりません。
以下では、 従来の設計プロセスと FPGA ベースの設計を扱う際の効率の考察を通じて、 ボードレベル設計者がその複雑さに圧倒される
ことなく、 FPGA の利点を役立てることができる方法を探求してみようと思います。 特に重点を置くのは、 回路図、 PCB および FPGA の
各設計チーム間で、 更新されるピンスワップ設定データの同期の管理をどうするか、 です。
まず、ボードレベルの設計者によって回路図と PCB 設計データの間で同期をとるために使用されている各種の技術に言及します。これは、
ますます強力になっていく FPGA の導入による複雑さに対応するために、 どのようにしてこれらの技術を変更する必要があるのか知るた
めです。 その後、 設計ツールを導入する際に留意しておくべきいくつかの鍵とともに、 改良されたデータの同期モデルについて提案しよ
うと思います。
新しいものと古いもの : 設計の同期 古い方法
カスタムボードレベルの製品設計は、 通常、 回路図の取り込みと PCB レイアウトの 2 つの主要なフェーズから構成されています。 回路
図は最初に回路の論理表現として作成されます。 設計の意図と接続性モデルの両方のコミュニケートのために、 シンボルと回路トポロジ
の言語が使用されます。 PCB レイアウトプロセスはこの接続モデルを使用し、 信頼性が高く、 経済的に製造可能な設計を物理的に実
現しようとします。
回路図と PCB の設計環境で、 挑戦的とみなされている作業の 1 つは、 回路図ドキュメントにおいては部品間の論理的接続を指定する
ことに重点が置かれているのに対して、 実際のデザインでは、 PCB レイアウトツールへ移行した時に初めて、 物理的な配線をいかに最
適化するかという問題に直面することです。 例えば、 抵抗アレイのように単一のパッケージの中に複数の部品が存在する場合、 回路図
の開発者は何の留意もなく抵抗を配線するのに対して、 レイアウトの専門家は配線の配置を改良するために、 接続をちゃんと秩序付け
たいと思うはずです。
設計が進み、 接続モデルが更新されるに従って、 回路図または PCB のチームでなされたすべての変更は、 プロジェクトレベルで同期
をとるために他のチームへ伝達する必要があります。 通常、 これには 2 つの方法があります。 古い設計パッケージ (または古いパラダ
イムにしばられた設計パッケージ) では、 回路図から PCB へ、 情報の前方伝達のみサポートされています。 このような場合、 PCB 接
続を正しく変更する唯一の、 信頼性の高い方法は、 まず回路図ドキュメントを変更し、 その後、 これらの変更を伝達することです。 デザ
インがシンプルな場合は、 これはわずかな不都合にすぎませんが、 より大きな、 より複雑なデザインの場合、 または組込みの柔軟性や
FPGA の利点を最大限に生かそうとするデザインの場合は、 とても大きな不都合を生みます。
前方伝達だけに頼るデータ同期の限界は、 PCB レベルでピンまたは部品スワップを実行しようとする場合に、 すぐに明らかになります。
たいていの場合、 これは繰返しプロセスなので、 1 つのデバイスまたは接続セットに対して実行された変更は、 同じ最適化作業が延々と
続くことを意味します。 前方伝達が設計同期の唯一の手段であるなら、 設計者は 「回路図修正と PCB の更新」 のサイクルを何度も繰
り返す羽目になります。 それぞれの設計ループにかかる時間がわずかであっても、 これを複数回繰り返すとなると、 トータルで相当な時
間をとられます。
本来、 配線の引き回しを改良するプロセスは、 PCB レイアウトツールによって推進される困難の少ないタスクのはずでした。 改良を進め
ているのがレイアウトの専門家であることを考えると、 このことはより多くの意味があります。 しかし、 本当の意味で困難を減らすためには、
設計システムは、 変更情報をレイアウトツールから回路図ツールへ戻す伝達もサポートする必要があるのです。 これはエンジニアリング
変更指示 (ECO) のプロセス、 または 「was/is」 ファイルを通じて実現されます。 つまり、 PCB ドキュメントに各種更新を実行した後、
変更指示 (ECO) ファイルが作成され、回路図シートの中に反映するために回路図ツールへ渡されるようにするのです。 このファイルは、
その中で更新が指示される方法、 すなわち、 「ピン 1 はピン 2 と接続されていたが今はピン 3 と接続されている…」 などの変更情報を
含むことがあるので、 「was/is」 ファイルとも呼ばれます。
変更指示 (ECO) ファイルは、 直感的なプロセスですが、 それは厳密な設計プロセスに従うユーザが頼りのプロセスです。 つまり、 プロ
FPGA/PCB ピンの同期
www.altium.co.jp | 2
ジェクトの継続する間に ECO ファイルが 2 つ以上発生した場合は、 ECO が作成された正確な順序で回路図に確実に適用しなくてはな
りません。 万が一、 ECO ファイルが反映される前に、 手動で回路図が変更されてしまった場合は、 同期は完全に失敗し、 設計編集の
情報は失われてしまいます。 そのような状態からの復帰には退屈でつまらない多くの時間を費やすことになります。
適切な同期ツールなしで設計する (させられる) ことは、 苦痛以外のなにものでもありません。
このデータの不連続性を克服するために、 マニュアルでギャップを補おうとすると、 特に大きな苦痛を
経験することになります。 非常に小さな FPGA のために PCB、 回路図および FPGA の各設計データを
手動で同期させることは可能ですが、 1000 以上のピンの FPGA デバイスに対して同じことを実行するな
ど、 考えただけでも気が滅入ります。 例えば、 1000 ピンのデバイスがあって、 配線の複雑さと PCB レ
イアウトオプションを改良するために逐次的にピンを 10 回スワップすることを考えると、 全体として は
10,000 回、 ピンを手動でチェックして同期させることになります。 各ピンをチェックして更新するのに約
1 分かかると仮定すると、 ピンスワップだけで 10,000 分即ち 166 時間かかることになります。 1 時間の
名目上のコストが、 仮に $50 とすると、 この活動のコストは賃金だけで $8,300 以上となり、 開発計画
上もで約 1 ヶ月の遅れとなります。 (図1参照)
手動でピンとデータの同期を取る作業の代わりに、 いくつかの設計ツールのベンダは、 コア製品と一緒
に各種のアドオンを提供して 「統合」 ソリューションを形成しています。 これらのアドオンによると、
FPGA データの変更をボードレベル設計に伝達するプロセスは、 既存のプロセスのわずかな変更と見な
されているようです。 しかし、 それは本当に正しいソリューションなのでしょうか。
統合ツールにとってのエレクトロニクス設計は、 本質的に異なる設計プロセスの連続であり、 各プロセス
の設計データはそれを作成したプロセスにローカライズされているものです。 あるプロセスからのデータが
他のプロセスで要求される場合、 データを適切な下流のフォーマットに変換する、 ちゃんとした 「追加」
ユーティリティを通じて利用できるものにしてあげなくてはなりません。 上流へのデータ伝達も、可能なら、
後方変換を実行するもう 1 つのユーティリティを通じて管理されるべきです。
表面的には既存の設計パッケージにアドオンを追加購入することは、 良い解決法のように見えますが、
より詳細に調べてみると、 設計プロセス全体ににかなりの複雑さを導入することになるのは明白です。
設計データはそれを使用したプロセスにローカルに保存されているので、 変更されたデータの同期をと
る問題は改良などされず、 実際には、 単に複雑化されるだけなのです。 (図 2 参照)
ǗǝǬ৘ǸȘǏNJȘǬ
ǗǝǬ
16000
14000
12000
10000
8000
6000
4000
2000
ǗǝǬ($)
変更指示 (ECO) ファイルを使う手法は、 回路図と PCB 設計システムの中で設計の同期をとる最も
共通した手段です。 まったく不幸なことに、 大抵のツールベンダは FPGA の設計プロセスをボードレベ
ル設計プロセスと別物であるかのように取り扱っています。 当然、 回路図と PCB ドキュメントの同期をと
るために組込まれた ECO のプロセスは、 FPGA の設計データの変更プロセスには何の影響も与えられ
ないのです。
0
16 100 320
676 900 1760
Ǹ Ș ࣡
図1:
Ȁ»ǭȑǽȐप‫׏‬
߭฀Ɵ2%$प‫׏‬ǹȒ»
ピン数が増加するに従って、
FPGA の手動ピンスワップのコス
トが著しく増加します。
ধ৯ƈƐಟ‫ܚ‬Ɔ
2%$प‫׏‬ǹȒ»ǃ(2)#प‫׏‬ǹȒ»ƙଡ‫ڝ‬ƊƼ‫ݡ‬ưżƺःƉƯƊ
ǛȘȀȐȎ
LjǺȎȏ
ǛȘȀȐnjǫLJǣ
ǹDžLjȐ
Г๽࣊޹ୂ
ǹDžLjȐ
ǹDžLjȐ
ǹDžLjȐ
ǫ»ǣǬȎ
Șǝȑ»ǣ
ǹDžLjȐ
2%$ȑLjdžNJǬ
ǹǧǬǻȏȘ
ǬȎLjǺȎȏ
FPGA/PCB ピンの同期
ǹDžLjȐ
ǹDžLjȐ
(2)#प‫׏‬
ǹDžLjȐ
ǹDžLjȐ
ǹǧǬǻȏȘ
ǬnjǫLJǣ
図2:
PCB 設計の中で FPGA データを管理する
「追加」 モジュールまたはユーティリティを
使用。 設計フローに追加された複雑さの
追加に注目。
www.altium.co.jp | 3
新しいものと古いもの : FPGA 設計におけるピンおよび部品スワッピング、 新しい収益性について
FPGA を含む設計におけるピンスワップは複雑で、 コストが高いので、 ありえる選択肢としては、 失敗を認め、 全部のピンスワップを許可
しないという決定をすることもできます。 ただし、 これでは FPGA を利用する意味がありません。
すべての非プログラマブルデバイスにおいて、 ピン数が多いということは、 配線に頭を悩ますことを意味しますが、 こと FPGA に関しては、
これは正反対の意味を持ちます。 つまり、 I/O 信号が出現するピンを迅速にかつ容易に変更できる能力は、 ボードレイアウトに劇的な改
良をもたらすことができ、 現実に PCB のレイヤ数や複雑さの減少につながることなのです。 FPGA のこのプログラマブルな性質を活用す
ることによって、PCB 配線の多くの問題を FPGA の内部の問題へと移行させることができるので、自動ツールでの取扱いが可能になります。
健全な競争力を維持するために、 ピンスワップで引き起こされる問題を理解でき、 大規模な FPGA デバイスの開発と同期をとれる設計
ツールを、 デザイナは必要としています。 また、 デザイナは、 FPGA と PCB の開発が組み合わされたデザイン要求に応えられる設計ア
プローチが必要です。 そして、 デザイナは、 既存の方法に取って代わることのできる設計アプローチをも必要としているのです。
そのようなシステムを作り出すには、 装備すべき多くの機能が存在します。 例えば、 既存の設計アプローチは実際には PCB レイアウトの
エキスパートに FPGA 設計に熟練することを要求しています。 このようなことは非コンフィギュラブルなデバイスに対しては、 合理的な期
待かもしれません。 しかし、 FPGA の内部が自由にプログラムできるという事実は、 各ピンの正確な機能がアプリケーションによって変化
するということを意味します。 つまり、 部品のデータシートやピン配列を見ただけでは、 どのピンがスワップできて、 どのピンができないかを
知ることは不可能です。
このような場合に必要とされるのは、 FPGA 設計の仕様がわからなくても、 PCB レイアウトエキスパートがピンをスワップできるような設計
システムです。 一方、 FPGA 設計者はどのピンがスワップできてどのピンができないかを特定し、 その情報を設計データに埋め込むこと
になります。 これにより、 PCB レイアウト設計者は FPGA を仮想
のブラックボックスのように取り扱うことができるので、 埋め込ま
れたルールを使って必要なピンをスワップできるようになります。
このアプローチには、 関連するピンスワップのルールを入力する
という FPGA 設計者の協力が必要なので、 このタスクのための
アシスタント機能が提供されなくてはなりません。 つまり、ターゲッ
トの FPGA デバイスから直接得られる I/O 規格、 I/O バンク、 ドラ
イブストレングス、 信号名など、 必要なピンスワップのルールを
FPGA 設計者が手軽に作成できなくてはなりません。(図 3 参照)
PCB レベルでのピンスワップの目的は、 主に配線長を短くし、 配
線の交差をなくすことにあります。 したがって、いったんピンスワッ
プ規則が定義されれば、 スワップを実行する実際のプロセスは
容易に、 自動的に、 解決できます。 もちろん、 ユーザとの対話
で解決しなくてはならない問題もありますが、 全体としては自動
的なピンスワップのプロセスのほうが望ましい解決策だと言えま
す。
図3:
ターゲットの FPGA デバイスの性質を利用してピンスワップ規則の作成を助
けます。
ピンスワップが実行されたなら、 関連する変更情報は、 シーム
レスに FPGA デザインの側に伝えられなくてはなりません。 そこ
で最終的に認証される前にチェックされ、 検証されます。 ( 図
4 参照 )。 タイミングまたは他の制約に違反が生じた場合、 設
計ツールはさらなる制約情報を PCB 設計者に戻すことができ
なければなりません。 また、 戻された制約条件は、 更新のプロ
セス全体が同期を取れるような形で、 組み込まれなくてはなり
ません。
設計ツールの選択時に考慮しなくてはならな
いこと
FPGA を採用するということは、 FPGA がエレクトロニクス製品の
開発にもたらす利点を採用するということであり、 デザイナにとっ
ては、 大量のピン数を持つ FPGA の、 ますます増加する複雑
さを管理できる設計ツールが必要になることを意味します。ボー
ド設計やレイアウトプロセスを、 FPGA 設計プロセスと別のもので
FPGA/PCB ピンの同期
図4:
FPGA と PCB 文書間でのピンスワップ情報伝達の 1 つのアプローチ 。
www.altium.co.jp | 4
あるかのように扱うことは、 もはやできません。 それらのプロセスは、 別々の人たちによって実行されるかもしれませんが、 究極的には大
きな開発プロセスの一部であり、 本来あるべき姿でリンクされている必要があります。
より良い設計ツールとは、 設計全体に通用し、 設計のあらゆる局面で使用できるデータモデルを提供できるものでなくてはなりません。
要するに、 ある製品のエレクトロニクスの設計は、 単一の、 統一された設計システムで、 開発の始まりから終わりまでサービスされるべ
きなのです。
統一された設計ツールは、 基本的に設計プロセスとそこで扱われるデータに対して、 従来とは異なった見方をしています。 エレクトロニ
クスデザインを単一の、 すべてを包含する設計プロセスとして扱うので、 電気的、 機能的および物理的特徴を含む FPGA デバイスのす
べての面に適用できるようにするため、従来より集約されたデザインデータモデルを使用します。 このモデルは設計プロセスの個別のパー
トを、 共通点の無いバラバラのプロセスのシーケンスとしては取り扱いませんので、 プロセス群の単なる統合を超えたものになっています。
これは、 次のようなプロセスやモデルを提供します。
開発のすべての局面に適用可能な単一設計プロセス
一貫性のある単一設計モデル
単一の、 一貫性のある使用部品モデル
このモデルの中で、 統一された設計システムはさらに次のものを提供することができます。
単一のユーザインターフェースを持つ統一設計環境
単一の設計データ ストレージ モデル
関連する設計情報には集中してアクセスすることができ、 その情報は、 すべての設計活動を通じて活用することができます。 FPGA 設
計者によって入力された設計データは、 自動的に PCB 設計のサイドで利用可能な状態になり、 その逆もまた可能な状態になります。
複数の、 共通点のないプロセス間の管理を必要としないので、 データの伝達は非常に簡単になります。 (図 5 参照)
統一された設計システムは、 データの更新を同期させるという、 退屈で複雑な管理業務から設計者を解放し、 製品のコア機能の開発
作業に集中させることができます。 製品の市場差別化価値を提供できるのはこれらのコア機能です。 マーケットシェアを獲得し、 究極
的な利益を得るために必要なのは、 製品をマーケットへ投入するスピードであることを考えると、 コア機能の開発に集中することは、 とて
も価値のある努力のはずです。
手動で行われるピンスワップ、 および更新同期プロセスと比較すると、 統一された設計ツールの利用はかなりの節約をもたらします。 少
数のピンデバイスの場合は、 あまり効果がないかもしれませんが、 ピン数の増加につれて、 節約可能なコストや時間や手間はかなり大き
くなります。
図5:
図 2 との比較。 統一されたデータストレージ付きの統
一設計ツールの選択。 このアプローチはピンスワップ
を含む全体の設計プロセスを簡単にします。
FPGA/PCB ピンの同期
www.altium.co.jp | 5
例えば、 1760 ピンのような大きなピン数の場合、 FPGA 設計者はピンスワップルールを完全に指定す
るのに最大で、約 1 時間かかります。 しかし、いったんそれが実行されると、すべてのデータ同期を伴っ
たピンスワップは完全に自動化できるのです。 この場合、 節約できるコストはは数万ドルに達することも
あります。 (図 6 参照)
ここで説明したように、 大量のピン数をもつデバイスを手動でピンスワップするコストは増大を続けていま
す。 しかし、 統一された設計ツールを使用すれば、 唯一のコストはピンスワップルールを設定すること
だけなので、 それが実行された後は設計の追加時間もコストもなく、 ピンスワップは自動化され、 更新
された情報の同期も実行されます。 同じ作業が次の機会も、 その次の機会にも利用できることを考慮
に入れれば、 究極的には、 はるかに多くの時間が節約できるのです。
ǗǝǬ৘ǸȘǏNJȘǬ
Üबඬ
ǗǝǬ
पયǗǝǬ
16000
14000
12000
FPGA の利用はこれからも増加を続けると考えられます。 間違った設計ツールにうっかり投資してしまっ
たユーザは、 FPGA の複雑性を前にして、 頭を抱えてしまうかもしれません。 設計の統一化が考慮さ
れていることは、 ツールの選定に当たって、 重要な鍵になると思われます。
10000
まとめ
一方、 統一設計ツールに伴う統一データモデルは、 FPGA の複雑さと固有の問題を管理するための
最高の解決法であるといえます。 それは、 設計のすべての局面を単一の、 一貫性のあるモデルにカ
プセル化しており、 統一された設計環境の中で作業できるからです。 このような統一設計ツールで設
計プロセスを集中化することによって、 ピンスワップ情報などの設計データはより効率よく、 シームレス
に PCB および FPGA、 双方の設計チームを通して取得され、 変更、 更新情報の同期が取られ、 より
高い価値を持つ設計分野に時間とリソースを集中できます。
FPGA は、 新しく、 エキサイティングなエレクトロニクス製品の開発に従事するユーザに多くのチャンスを
提供しています。 統一設計ツールを使用すると、 最新の FPGA デバイスの開発に関する、 増大する
一方の管理の複雑さを克服することができ、 その利点を効果的に利用できます。
6000
4000
2000
ǗǝǬ ($)
従来の設計同期モデルでは、 ボードレベルと FPGA の設計を共通点のないプロセスとして取り扱ってい
るので、 大量のピン数をもつ FPGA の複雑さを適切に処理することができません。 その結果、 本来、
コア機能の開発に割くべき時間とリソースが奪い去られており、 ユーザはマーケットにおけるチャンスと
利益を失っています。
$ ǸȘ࣡ŽধϣƊƼƜ߭ƔƗबඬƘžƼϤ஝ࣸŽধϣ
ǸȘ࣡
$ savings
sav
sa࣡ŽধϣƊƼƜ߭ƔƗबඬƘžƼϤ஝ࣸŽ
vings
ng
gs increase as pin
gs
pin
n count increases
incre
eases
Žধϣ
8000
エレクトロニクス製品の開発の主流に FPGA が出現したことで多くのチャンスが生まれました。 FPGA デ
バイスの利用には、 商業上および設計上の利点がありますが、 回路図、 PCB、 FPGA の各設計セン
タは、 お互いが変更、 更新するピンスワップのデータの同期を注意深く管理しなければなりません。
0
16 100 320
676 900 1760
Ǹ Ș ࣡
図6:
統一設計ツールを使用すること
によって実現する節約の程度が
どのくらいになるかは、 手動で行
われるピンスワップと更新の同期
コストから、 ピンスワップルール
の設定に必要なコストを差し引い
た値で考えてください。
Marty Hauff はコンピュータおよびデジタルシステムの学士号を持ち、 FPGA ベースの組込みシステムで最近ハード/ソフト コデ
ザインにおける博士課程レベルの研究を終了しました。 2006 年にアルティウム社へ参加する前に、 彼は量産品の自動車マーケッ
ト用の組込みシステムの設計者として働き、 またポストドクタレベルの講義をしていました。 彼は現在、 Altium Designer 用の訓
練ビデオを制作し、 設計し、 作成しています。
For more information, contact Altium Sales & Support or visit www.altium.com
Copyright © 2007Altium、 Altium Designer、 Board Insight、 Design Explorer、 DXP、 LiveDesign、 NanoBoard、 NanoTalk、 P-CAD、 Situs、 TASKING、 Topological
Autorouting とそれぞれのロゴは、 Altium Limited ならびにその子会社の商標あるいは登録商標です。 その他の登録商標または商標は、 それぞれの所有者の所有物であり、 それらの商
標権を主張するものではありません。
FPGA/PCB ピンの同期
www.altium.co.jp | 6