プロトタイプの検証とデバッグ‐現実的な難関

自分が自由に利用できるベストのツールを用いて、最新エレクトロニクス機器の設計を数ヶ月かけて開発したその後がまさに問題の時期となります。アセンブルされたプロトタイプが届き、テスト用に電源を入れる準備ができました。開発を注意深く行い、設計ルールを忠実に守り、SIアナリシスとプリシミュレーションを問題なくパスしていれば、プロトタイプは仕様どおりに動作し、設計変更の必要性は全くないといって良いでしょう。

電源を入れたときに、機器の主要部分が期待どおり動作しなかった場合が問題です。おそらく次のステップはのろいの噴出で、続いて問題点を診断し修正する作業が待っています。通常、これには大規模な生産現場で、プローブが接続された多くのテスト装置が必要になります。これに加えて設計ドキュメントを参照し、トラブルシューティングの技能が熟練していれば、混雑した基板上の各種信号を調べて、最終的に原因を突き止めることはできるでしょう。

残念なことに、高密度に加え多層基板の出現とボールグリッドアレイ(BGA)デバイスなどに代表される最新の部品パッケージング技術により、このプロセスは次第に困難になってきています。基板上の重要なポイントや、デバイスのピンに物理的にアクセスする従来のテスト技術やデバッグ技術などの長い間確立された手法は、これを使用できないか良くても不適切である場合が多くなってきました。実際、設計の主要デバイスがBGAパッケージで構成されている場合、デバイスのピンにはアクセスできないので効率的な基板診断はほとんど不可能と言って良いでしょう。

開発エンジニアにとって、プロトタイプのエラーを解決するにはさらに複雑な要素が加わってきています。部品や配線レベルの不良のために以前に動作していたユニットが動作しなくなった場合に、その不良を発見するプロセスとは異なり、プロトタイプにはもともとの設計エラー、基板アセンブリ時の問題点や基板レベルの製造不良が含まれる場合もあります。この設計は一度も動作したことがないので、プロトタイプを診断するときには参照できるフレームは存在しないのです。

必要となる検証やデバッグのアクセスを可能にする一つの方法は、プロトタイプ基板設計に数多くのテストポイントを設けて、重要なポイントと信号線のすべてがテスト装置で見られるようにすることです。残念ながら、大規模で複雑な設計では、このアプローチは基板の設計時間に大きな影響をもたらすことになります。トラブルシューティングの目的でプロトタイプの内部信号にアクセスできるからといっても、コスト、複雑性や物理的サイズが増えることへの正当性は得られないでしょう。

境界を取り払う

ピンへのアクセスが不可能になり新しいデバイスパッケージ(BGAに代表される)の密度が増大するのに対応して、テストエンジニアは1980年代の終わりにJoint Test Action Group (JTAG) を創設して、これらの制限に対処するための新しいテストアプローチを開発しました。これが1990年代の初めに導入された Boundary Scan 手法(IEEE標準1149.1)として確立しました。Boundary Scan やJTAG 準拠デバイスには追加のシリアル通信バス回路が含まれており、すべてのピンのロジック(論理)状態のスナップショットを取り込んで転送するようにプログラムすることができます。このシリアルバスは4線で構成されており、すべての準拠デバイス間のJTAG通信は基板レイアウト上で容易にチェーン接続できるために、適切なインターフェイスを使用することで最終テストとデバッグが可能となります。

JTAGハードウェアチェーンを介する簡単な調査用ソフトウェアを使うことで、ピンにアクセスできない高集積度デバイスを使用する最新世代の複雑な設計に対する統括的なトラブルシューティングと検証ができる可能性が出てきました。そして今度は、JTAG準拠のデバイスが多くなるとすべての新しい設計(とりわけFPGAのような大規模プログラマブルデバイスに基づくもの)にこの費用対効果の高い検証手段適用の可能性が開かれることになります。この場合、物理的なプロービング技術や外部のスティミュレーション信号などを使う必要はありません。

設計内でハイレベルのJTAGがサポートされていれば、可能性を除去して問題点の原因を突き止めるために、この論理不良発見技術を使うことができます。問題点としては、半田不良、配線のショート、部品の方向間違いや絶対あってはならぬ設計エラーなど何でも良いのです。

さまざまな電気的不良や機能的不良の可能性に直面している現在、バウンダリスキャン解析を使うと、可能性のある原因をすばやく除去し、他方問題点の発生元に導いてくれるので、設計の検証とテストにかかる時間を大幅に削減できます。さらに良いことに、このバウンダリスキャン機能がエレクトロニクス製品開発に採用しているシステムの固定した一部であれば、設計を概念から完成に持っていく過程で、プロトタイプでの設計開発作業は、各工程が分離した、かつ面倒なステップとはならないでしょう。

リアルタイムで動作を監視

JTAG

各JTAGデバイスに添付される標準BSDLファイルを含めれば、設計に使用しているすべてのJTAGデバイスのピンにアクセスすることができます。

Altium Designer はこのアプローチを本来的にサポートしているので、基板アセンブリと同期した作業が可能となり、対応可能に設計された基板と通信を行える広範なJTAG イネーブル機能を介してリアルタイムな作業が行えます。これは Altium 独自のFPGA プロトタイピング用基板であるNanoBoardやその他のJTAG イネーブル基板があり、Altium の Universal JTAGケーブルや NanoBoard上の拡張コネクタを介して通信が行われます。

Altium Designer は4線JTAGインターフェイスに接続すると、プロトタイプ基板上のバウンダリスキャンデバイスにアクセスすることができ、開発用PCスクリーン上にピンの状態結果をライブで表示します。等価バウンダリスキャン記述言語(BSDL)ファイル(デバイスベンダから提供される)を含めることにより、どんなJTAG準拠デバイスにもアクセスできますので、プロトタイプの内部状態に対して完全なJTAGベースでの内部観察結果を得ることができます。

Monitoring the pins of a JTAG-compliant device (in this case an FPGA), with pin status being displayed on the routed PCB

JTAG準拠デバイス(この場合はFPGA)のピンをモニタリングする際、ピンステートは配済みのPCB上に表示されます。

この情報をどのように表示するかの選択は、設計者のスタイルや、最も役に立つピンステート情報の内容によります。Altium Designerは、ピンステートに対して設計ドキュメントレベルのアクセスを提供しています。これは、回路図ベースのテストプローブを、単に回路上のJTAGアクセス可能ラインやバス上にドロップすることでその論理状態がリアルタイムで表示されます。

もし設計対象が基板レイアウトのドキュメントレベルであれば、Altium Designerにはデバイスや接続配線レベルでのリアルタイム・ピンステート・モニタリング機能があります。これは、部品の配置ミスや半田不良が1個の(JTAG)デバイスのピン間で信号の転送を妨げている場合や、その論理状態が、リアルタイムでハイライト表示されている複数のデバイス間を接続する配線が信号の転送を妨げている場合、を検出するのに理想的です。

The JTAG Device Viewer interrogates and displays the state of the pins in any JTAG compliant device in your design in real time, helping you to analyze and debug your design.

JTAG Device Viewerは、設計内のJTAG準拠デバイスのピンステートをリアルタイムに調査し表示するので、設計を解析・デバッグするのに期待がもたれます。

ドキュメントレベルでのポイントモニタリングに加えて、Altium Designer は強化されたJTAG デバイス・ビューワウィンドウ機能があり、デバイスのピンステートをリアルタイムに表示することが可能です。選択した基板上のJTAG デバイスをライブで表示すると、すべてのピンステートの連続的な変化をタブつきで表現することができ、また等価なデバイス回路図シンボルとPCB フットプリント上のピン動作として表現することができます。プロトタイプの動作を診断し検証する場合、Altium Designer のリアルタイムビューワは、基板アセンブリの内部信号をプローブなしで見ることが可能な、ライブな情報を提供します。

リアルタイムのインタラクション

標準のJTAG チェーンは基板アセンブリ上の準拠デバイスと接続の状態にアクセスするには理想的ですが、FPGAや他のプログラマブルデバイスのインサーキット・プログラミングポートなどの各種の高レベルの目的にも使うこともできます。これを次のレベルに高めるため、別の作業グループが既存の「ハードチェーン」を利用して、エンベデッドマイクロプロセッサの操作を容易にする別の「ソフト」JTAGチェーンを生成するためのNexus標準を開発しました。これにより論理状態のアクセスにはFPGAファブリック内のプログラムされたソフトデバイスも含まれることになります。

Altium Designer は Nexus 標準を利用して、電子機器を開発する際の新しいインタラクティブな方法を可能にするために、FPGA 内に構造プログラミングされたエンベデッドソフトウェアと固有レベルの通信機能を提供するようにしました。これをAltium の LiveDesign 手法といいます。LiveDesign と Altium Designer は統一された設計システムを構成し、スクリーン上の仮想テスト装置とプロセッサデバッガを使ってFPGAプラットフォーム上にインプリメントされたリコンフィギャラブルハードウェアとリアルタイムでインタラクションを取れるようにしています。もちろんJTAGチェーンによりドキュメントベースとウィンドウベースのピンステート・モニタリングも可能です。

Altium のエレクトロニクス製品開発に対する革命的なアプローチであるLiveDesign の詳細については、Altium の Web サイト‘Create and work ‘live’ with soft PCBs’と‘LiveDesignをご覧ください。Altium Designerを使えば、プラットフォームレベルでJTAG 通信を統一することで LiveDesign が可能となり、以前にはアクセスができなかった設計のエレメントにリアルタイムでのアクセスができるようになります。プロトタイプや製品基板のアセンブリを検証しデバックするために、Altium の JTAG イネーブル技術を使用しているか、あるいはリコンフィギャラブル・ハードウェアプラットフォーム上にインタラクティブな設計を実現するために Altium のJTAG イネーブル技術を使用しているかどうかは別にして、より高品質なエレクトロニクス製品をより早く、より低いコストで開発する機会が存在するのです。

情報リンクの詳細