特集
» 2008年06月01日 00時00分 UPDATE

複雑化が増すSoCに対応するために:加速する計装機能のオンチップ化 (1/3)

システムのオンチップ化の進展は、IC製造後のプロセスにも変化をもたらした。より規模が大きく、より複雑なSoCには、システム本来の機能だけでなく、そのチップあるいはシステムを評価/デバッグ/校正するための計装機能までもが搭載され始めているのだ。この計装機能を利用することにより、そうした一連の作業を簡素化することが可能になる。

[Ron Wilson,EDN]

なぜ「オンチップ計装」なのか

 SoC(system on chip)の大型化/複雑化はとどまることがない。それに伴い、SoCの信号を観測したり、信号を印加したりすることが非常に困難になってきた。大規模なSoCの内部ノードの場合、あらかじめパッドを用意しておきプローブで信号をモニターする方法も難しい。信号の電圧はより低くなり、重要な回路の動作周波数がギガヘルツレベルに達するようになったことで、プローブを使っても、チップでやりとりされる実際の信号を正確に計測するのは不可能に近くなってきた。

 それでも、技術者にとって必要な作業は昔と変わらない。ICの設計者は、製品を開発するために、SoC内の個々のブロックを観測したり信号を印加したりする必要がある。製造時の検査工程にかかわるエンジニアは、現実的に利用可能な価格のテスト装置によって高速に試験が行えるプログラムを開発しなければならない。

 最近のICでは、製造上のばらつき要因や、電圧/温度/インピーダンスの変化、ノイズなどによって重要な回路にもたらされる影響を動作時に補正可能な自動校正ルーチンも準備しなければならなくなってきている。これに対処するための唯一の方法は、ロジックアナライザやバスアナライザ、オシロスコープなどといった機器から成るテスト/計測機能を、チップ上に作り込むことかもしれない。このような一見不可能にも思えるようなことが、実際のチップに適用されつつある。

 こうした手法の実現手段は、CPUコアに搭載するデバッグ用回路から始まり、バスの診断用ブロックやロジック回路に内蔵する自己テストブロックへと進化していった。今日では、こうしたオンチップの計装手法が、高速トランシーバやRF回路にも適用されつつある。アナログ設計においては特性評価と校正は決まりきった作業項目だが、将来的には、そのためのオンチップアナログ計装技術が登場することになるかもしれない。

デジタル領域のオンチップ計装

 まず、これまでの経過を振り返りつつ、デジタル回路におけるオンチップの計装技術について概観してみよう。

・まずはCPUコアから

 CPUの内部にデバッグ用のハードウエアを構築するという概念は、少なくともIBM System/360アーキテクチャの時代から存在していた。しかし、より複雑なCPUコアをより小型のチップに収めようという競争が激しくなったことに伴い、初期のSoCではこの概念が失われていた。その後、再びこの概念の必要性が高まり、それを具現化したものが再浮上することとなった。

 英ARM社でコア内部デバッギングプログラム担当ゼネラルマネジャを務めるWilliam Orme氏は、「プロセッサの複雑さが増し、動作周波数が高くなるに連れ、外部回路によってコアを制御するのが困難になってきた。従来、設計者はコア領域にデバッグ機能を加えることに難色を示していたが、最近ではそれ自体は受け入れられ、チップ面積を増大させることと後で発生する労力とのトレードオフが検討事項となってきた。SoCのコスト全体から考えると、コアにデバッグ機能を持たせることが次第に効率の良い方法になり、現在ではそれが必須になったと言える」と語る。

 このような経過で進化してきたわけだが、その基本的な手法に変化はなかった。それは、CPUコアを既知の状態に置き、機能を開始し、その状態遷移を観測/記録して、何らかの問題が生じたら再びコアを停止するというものだ。デバッグ用のハードウエアをCPUコアに搭載すれば、この作業のすべてを、本質的に通常動作時の性能や消費電力に影響を与えることなく実施することができる。

・バスへの適用

 SoCが進化するに連れ、問題となるのはCPUコアだけではなくなった。CPUから分岐するバスについても、広帯域化や高速化、セグメント化、マルチレイヤー化が進み、その数も増大して観測が極めて困難になった。そこで、ARM社などのIP(intellectual property)ベンダーは、デバッグ用の回路をインターコネクト(相互接続)アーキテクチャ内に構築するようになった。すなわち、CPU内に構築したときと同様のことをバスに対しても行ったのだ。

 Orme氏は、「AHB(advanced high performance bus)では、バスのすべてのレベルにおいて生じる現象を監視する必要がある。つまり、すべての処理の送信元、送信先、内容を把握しなければならない。そのためには、チップ内部のモニタリングが必要だ」と語る。

・システムレベルへの移行

 SoCの設計は、バスネットワークの中心に単一のCPUコアを配置する形から、複数のコアが同時に稼働状態となるマルチコアの形へと進化した。それに伴い、上述した状況はさらに複雑なものとなってきた。現在では、チップ内で発生するイベントは、コアやバスの状態を単純に表すものではなく、異なるクロックや電圧ドメインを利用する複数のプロセッサ、バスの状態遷移が複雑に組み合わさったものとなっている。このようなシステムにおいては、「単に起動/停止するだけでは、実際の状態の一部を理解することすら困難になっている」(Orme氏)という。

 SoCの複雑さが増した結果、デバッグ手法は、CPUコアにデバッギング回路を搭載するというものから、よりシステムレベルのものへと変化してきた。例えば、ARM社は、SoC内の異なるブロックからの状態信号を組み合わせるための「クロストリガリングスイッチマトリクス(cross triggering switch matrix)」を提供している。

 また、米DAFCA社のように、プロセッサに依存しないデバッギングハードウエアを提供する企業も出現してきている。同社のエンジニアリング担当バイスプレジデントであるPaul Bradley氏は、「各社の設計チームは、CPUに搭載するデバッグ機能と独自に設計したオンチップ計装機能とを組み合わせることにより、包括的なデバッグ戦略を構築しようと努力してきた。しかし、SoCがより一層複雑になり、電圧ドメインとクロックドメインの数が増加して、設計の再利用がこれまで以上に重要となった結果、場当たり的な設計の寄せ集めではなく、包括的な手法が必要になった」と説明している。

 DAFCA社CEO(最高経営責任者)のPeter Levin氏は、別の視点からの懸念として、「このように複雑さが増してくると、ハードウエアを制御して、意味のあるデータを得るためのデバッギングソフトウエアの複雑さも増す。今日のデバッギングソフトウエアには、デバッギングハードウエアを設計して集積するのと比較し、少なくとも10倍もの労力が費やされている」と付け加える。

 繰り返しになるが、再利用が重要な鍵となる。また、この分野を専門とする企業から、必要なものすべてをライセンス購入することが、ますます合理的な選択肢になるだろう。

 DAFCA社のアーキテクチャからは、複雑なフルチップデバッギングに対するサポートがどのようなものになるのかをうかがい知ることができる。同社の技術は、CPU/DSPコア内のデバッギングハードウエアを置き換えるのではなく、それらと協調して解析機能を付加するための機能を提供する。コンパクトかつ精巧で再プログラミングが可能な状態マシンであり、複数サイクル分の入力をプリエンプティングし、その出力を監視して、グローバルネットワークへと例外(エラー情報)を報告することができる。

 Bradley氏は、「搭載する計装機能は、用途にかなり依存する。通常、設計チームは、チップ上で主な設計ドメインごとに1つ、合計2〜6個の解析機能を使用する。これにより、主要なインターフェースを観測し、いくつかの個所を制御することができる」と述べる。このようなアーキテクチャでは、計装機能から得られた情報とプロセッサコアから得られた情報とを合わせて動作中のチップの全体像をとらえ、設計者がチップ全体の状態を定義/把握できるだけの抽象化を実現することが必須である。このことが、ソフトウエアコンポーネントが膨大になることの理由かもしれない。

 デジタル分野におけるオンチップの計装技術は、CPUコア内のかなり単純なデバッギングコアから、チップ上の分散状態マシンとトリガー/制御ネットワークをベースとして設計された、より高度なハードウエア/ソフトウエアシステムへと進化した。SoCはさらに複雑化が進んでおり、次の段階では、プログラマブルなトリガー、大容量のトレース、ベクターバッファ、チップ内のノードを観測する機能を備える、完全なロジック解析機能がチップ上に搭載されるようになるだろう。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.