(57)【要約】適応型データ通信アプローチは、ＣＰＵバス構造に組み込まれると共に、あるＣＰＵプログラムされたイベントを検出することに応じてＣＰＵに報告を返す再構成可能なバスモニタを用いることによって、通信バスのモニタリングを可能にする。ある特定の例示的な実施形態では、ＣＰＵ回路をもつ回路構成が、通信チャネルを介して別の装置と通信し、再構成可能な回路は、通信チャネルをモニタする。このＣＰＵ回路は、通信チャネル上に生じるものと予測される種々のタイプのイベントのいずれかをモニタするように再構成可能な回路を構成する。再構成可能な回路は、通信チャネル上で伝えられる信号を収集すると共に、第１のイベントタイプを示すデータが、通信チャネル上に生じる場合、ＣＰＵ回路に報告を返す。モニタされたイベントを示すデータに応じて、ＣＰＵ回路は、通信チャネル上に生じる別のイベントタイプについてモニタするように再構成可能な回路を再構成し、それゆえに、通信チャネルの適応評価を可能にする。本発明の別の側面は、この適応型評価に応じてデータ通信をリダイレクトするＣＰＵを目的とする。
2005501337.tif 000002
【特許請求の範囲】
【請求項１】
通信チャネルを通じて別の装置と通信するＣＰＵ回路をもつ回路構成において、前記通信チャネル上の信号をモニタする方法であって、
前記通信チャネルに結合される再構成可能な回路を用意し、
前記ＣＰＵ回路を用いて、前記通信チャネル上に生じる第１のイベントタイプをモニタするために前記再構成可能な回路を構成し、
前記再構成可能な回路において、前記通信チャネル上で伝えられる信号を収集すると共に、前記通信チャネル上に生じる前記第１のイベントタイプを示すデータを前記ＣＰＵ回路に報告し、
前記モニタされたイベントを示す前記データに応じて、前記ＣＰＵ回路を用いて、前記通信チャネル上に生じる別のイベントタイプについてモニタするように前記再構成可能な回路を再構成し、その後に、他のイベントについて前記通信チャネル上で伝えられる信号を収集し評価する方法。
【請求項２】
前記再構成可能な回路が、プログラマブルプロセッサを有する、請求項１に記載の方法。
【請求項３】
前記通信チャネル上に生じる少なくとも１つのイベントタイプを測定するような再構成可能な回路を設けることは、前記少なくとも１つのイベントをカウントするように前記再構成可能な回路を構成することを含む、請求項１に記載の方法。
【請求項４】
通信チャネルに結合されると共に、前記通信チャネル上で伝えられる信号を収集する再構成可能な回路と、
前記通信チャネルを介して別の装置と通信すると共に、前記通信チャネル上に生じる第１のイベントタイプをモニタするために前記再構成可能な回路を構成するＣＰＵ回路とを有し、
前記再構成可能な回路が、前記通信チャネル上に生じる前記第１のイベントタイプについてモニタし、前記第１のイベントを示すデータを前記ＣＰＵ回路に報告することによって、前記ＣＰＵ回路に応答し、
前記ＣＰＵ回路が、更に、前記通信チャネル上に生じる別のイベントタイプについてモニタするように前記再構成可能な回路を再構成することによって、前記モニタされたイベントタイプを示す前記データに応答し、その後に、他のイベントについて前記通信チャネル上で伝えられる信号を収集し評価する回路構成。
【請求項５】
前記再構成可能な回路が、カウンタを有する、請求項４に記載の回路構成。
【請求項６】
前記再構成可能な回路が、前記通信チャネル上でモニタされるべきイベントに対応する予測された信号を示すことによって、構成データをデコードする回路と、前記収集された信号を前記予測された信号と比較する比較回路とを有する、請求項４に記載の回路構成。
【請求項７】
前記予測された信号に合致する前記収集された信号に応じて、前記ＣＰＵ回路に割り込むための割り込み手段を更に有する、請求項６に記載の回路構成。
【請求項８】
前記予測された信号に合致する前記収集された信号に応じて、前記ＣＰＵ回路に割り込むための割り込み手段を更に有する、請求項４に記載の回路構成。
【請求項９】
前記ＣＰＵ回路は、該ＣＰＵ回路が、前記第１のイベントを示す前記データを読み込むことを可能にするように、前記再構成可能な回路をポーリングするための手段を有する、請求項４に記載の回路構成。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ通信に関する。とりわけ、本発明は、通信チャネル上のデータに基づくイベントをモニタするための方法及び構成に関する。
【背景技術】
【０００２】
電子機器産業は、高出力及び高機能の回路を得ようと努力し続けている。このために、超大規模集積回路の開発を通して重要な成功が成し遂げられてきた。これらの複雑な回路は、一組のデータに関して動作し、その後に他の処理のためにそうしたデータを伝えるような機能的に規定されるモジュールとして設計されることが多い。このような機能的に規定されるモジュールからのこうした通信は、個別のディスクリート回路の間、同じチップ内の集積回路の間、及びシステム若しくはサブシステムの種々の部分に結合され、又はその部分内に遠隔的に位置付けられる回路の間、少量又は大量のデータで伝えられることができる。その構成には関係なく、通信は、通常、データ完全性が維持されることを保証するように設計される厳密に制御されるインタフェースを必要とし、回路設計を用いることは、インプリメンテーション空間及び利用できる動作パワーに関する実際的な制限に影響されやすい。
【０００３】
高出力及び高機能の半導体装置に対して高まる需要は、データが回路ブロックの間で伝えられる速度を高めるための絶えず増大する需要につながってきた。通常、こうした通信アプリケーションは、並列又は直列データ送信を用いて、より頻繁には並列データ送信によって実施される。並列データ送信を用いるアプリケーションでは、通常のインプリメンテーションが、並列通信路を通して同時に多重データビットを送信することを含むであろう。このような「並列バス伝送(parallel bussing)」は、高速データレートでのデータ伝送を実現するために広く認められたアプローチである。（時にはデータと一緒に伝えられるクロックによって設定される）所与のデータ送信レートについて、ビット／秒で測定される帯域幅は、データ送信レートに並列データ相互接続部を有するデータ信号の数を乗じたものに等しい。
【０００４】
通常のシステムは、（時にはデータチャネルと称される）並列データ通信ラインを介して通信すると共に、該ラインにインタフェースする多数のモジュール、例えば、ケーブル、バックプレーン回路、チップ内部のバス構造、他の相互接続部、又はこのような通信媒体の任意の組み合わせの形態におけるモジュールを含み得る。送信モジュールは、送信モジュール上のクロックと同期してバスを介してデータを送信する。このように、並列信号ライン上の遷移は、送信モジュールを互いに同期関係に、及び／又は送信モジュール上のクロックと同期関係に置く。並列データ相互接続部の他の端部では、受信モジュールは、並列データバス上のデータを受信する；通信構成がクロック信号を伝える場合、この受信クロックは、通常、送信モジュール上のクロックから得られるか、又は該クロックと同期する。データが並列信号ラインを介して伝えられるレートは、時には、（並列）「バスレート」と称される。
【０００５】
このようなシステムの効率を最適化するように試みる際、どのようにデータバス及び全体の通信ブロックが使われているかをモニタすることは有利である。従来的には、オフボードテスト解析器及び／又は内蔵イベント検出器が、バス上に生じるイベントを検出する、計算する、さもなければ、測定するために使われてきた。このようなツールから収集される情報は、その後、例えば、基板レイアウト又はソフトウェア組織の設計を改善する目的でシステムデザイナーによって評価される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
多くのアプリケーションについて、このように設計を改善することは、煩わしく且つコストがかかり得る。例えば、カスタマイズされたチップを必要とするシステムの設計に伴う費用は、バス利用（ユーティライゼーション）又はスループットを改善する目的で、チップ設計レイアウトを通して繰り返し循環させることはできない。このようなチップが、例えば、ベリログ（Verilog）又はVHDLのようなハードウェア記述言語（HDL）を用いる機能仕様によってカスタマイズされるので、チップ設計レイアウトは、設計のコンピュータシミュレーション段階でのみ変更されることを意図される。シミュレーション後、チッププロトタイプは、シリコン内で検証されるが、その場合でさえも予測外の問題がよく見られる。これらの問題を解決するには、オフボードテスト解析器及び／又は内蔵イベント検出器の使用と、上記プロセスのより多くの反復とを必要とする。残念なことに、このようなチップの高い動作速度及び高度な集積構造のために、オフボードテスト解析器及び／又は内蔵イベント検出器を使用すると、例えば、信号タイミング、ノイズ結合及び信号レベルの問題のような他の問題につながる可能性がある。通常行われるように繰り返し再設計しテストすることは、こうした実施が、今日の時間依存の市場においては、多くの場合、容認し得ない程度にまで、最終的な設計期間及び費用を著しく増加させる。更に、内蔵イベント検出器は、通常、それらがモニタするべき回路と同時に設計される。従って、上記検出器は、製造後に発見されるような回路の疑わしい側面をモニタするのには非効果的である。
【０００７】
カスタマイズされたチップの開発を改善するやり方により、様々なアプリケーションにおいて用途を見出すような改善される通信方法及び構成をもたらすことができる。本発明の目的は、カスタマイズされたチップ開発の上述された欠陥を克服する必要性に取り組むと共に、更に他のアプリケーションにとっても役立つような通信方法及び構成を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の種々の態様は、ある選択されたイベントを検出することに応じてＣＰＵに報告を返す、ＣＰＵバス構造に組み込まれる、再構成可能なバスモニタを用いることによって、通信バスの構成可能なモニタリングを可能にする適応型データ通信アプローチを目的とする。
【０００９】
ある特定の例示的な実施形態では、ＣＰＵ回路をもつ回路構成が、通信チャネルを介して別の装置と通信し、再構成可能な回路は、通信チャネルをモニタする。このＣＰＵ回路は、通信チャネル上に生じるものと予測される種々のタイプのイベントのいずれかをモニタするために再構成可能な回路を構成する。再構成可能な回路は、通信チャネル上で伝えられる信号を収集し、このイベントに基づいてカウンタをインクリメントする、始動する、又は停止することが可能であり、その後にＣＰＵ回路に報告を返す。モニタされたイベントに応じて、ＣＰＵ回路は、通信チャネル上に生じる別のイベントタイプについてモニタするように再構成可能な回路を再構成し、それゆえに、通信チャネルの適応評価を可能にする。本発明の別の態様は、この適応型評価に応じてデータ通信をリダイレクトするＣＰＵを目的とする。
【００１０】
別の特定の例示的な実施形態では、回路構成が、通信チャネルに結合されると共に、通信チャネル上で伝えられる信号を収集する再構成可能な回路と、通信チャネルを介して別の装置と通信すると共に、通信チャネル上に生じる第１のイベントタイプをモニタするために再構成可能な回路を構成するＣＰＵ回路とを有する。再構成可能な回路は、通信チャネル上に生じる第１のイベントタイプをモニタすることによって、また、第１のイベントを示すデータをＣＰＵ回路に報告することによって、ＣＰＵ回路に応答する。ＣＰＵ回路は、更に、通信チャネル上に生じる別のイベントタイプについてモニタするように再構成可能な回路を再構成することによって、モニタされたイベントタイプを示すデータに応答し、その後に、他のイベントについて通信チャネル上で伝えられる信号を収集し評価する。
【００１１】
上述の実施形態と一貫性がある別の実施形態では、再構成可能な回路が、通信チャネル上でモニタされるべきイベントに対応する予測された信号に変換される構成ビットを記憶することによって、構成データに応答するレジスタ回路を有する。再構成可能な回路は、更に、収集された信号を予測された信号と比較する比較回路を有する。
【００１２】
更に、他の実施形態は、再構成可能な回路が、ＣＰＵ回路と通信する態様を目的とする。一つのこうした実施態様では、割り込みメカニズムが、予測された信号に合致する収集された信号に応じて、ＣＰＵ回路に割り込むために用いられる。別の実施態様では、ポーリングメカニズムが、ＣＰＵ回路と再構成可能な回路との間に用いられて、ＣＰＵ回路が、第１のイベントを示すデータを読み込むことを可能にする。更に別の実施形態では、検出されたイベントが、期間（tract）に適応されるカウンタをインクリメントする、又は始動する／停止するように用いられる。
【００１３】
本発明の他の例示的な実施形態は、このような通信のシステム処理態様及び手法(methodology)を含む種々の他の関連する態様を目的とする。
【００１４】
本発明の上記の要約は、本発明の全ての実施態様、又は各々の図示された実施形態を説明することを意図されてはいない。以下の図面及び詳細な説明が、より詳細にこれらの実施形態を例証するものである。
【００１５】
本発明は、本発明の種々の実施形態の以下の詳細な説明を、添付図面と関連して考慮すれば、より完全に理解されるであろう。
【００１６】
本発明は、種々の変更形態及び代替形態に従うものであり、その特質が、例証として図面において示されると共に詳細に説明されるであろう。しかし、 本発明は、説明された特定の実施形態に本発明を限定するべきではないことが理解されるべきである。逆に、本発明は、添付の請求項によって規定された本発明の精神及び範囲から逸脱することなく、あらゆる変更形態、同等のもの及び代替例に及ぶべきものである。
【発明を実施するための最良の形態】
【００１７】
本発明は、一般に、データがＣＰＵベースの通信路を介して伝送される方法及び構成に適用できるものと考えられる。本発明は、通信バスのモニタリングが、通信バスに結合される装置の間の通信における改善された制御及びスループット、及び／又は、強化された検証（バリデーション）をもたらし得る高速データ伝送アプリケーションについて、特に有利であることが分かっている。（インタフェースを含む）通信バスの実施例は、数ある中で、SSTL(stub series transceiver/terminated logic)と、RSL(Rambus Signaling Logic)インタフェースと、並列データ通信路がシングルチップ上の２つのモジュールを相互結合するような緊密に接続されるアプリケーションと、同じプリント回路基板上で互いに非常に近傍に通常は置かれるチップの間のオフボード高速通信とを含む。本発明は、こうしたアプリケーションに必ずしも制限されるというわけではないが、本発明の種々の態様の理解が、このような環境における実施例の説明を通して最も良好に得られる。
【００１８】
ある例示的な実施形態において、シングルチップ回路構成は、ＣＰＵ回路を種々のバス通信装置に相互結合するように用いられる通常の並列通信バスを有する。ＣＰＵ回路は、ＣＰＵとバス通信装置との間のメモリマッピングのために、ＣＰＵの制御、データ及びアドレスラインとインタフェースする通常のメモリマッピング回路を含む。バス通信装置の間に生じる種々のタイプのイベントをモニタするために、シングルチップ回路構成は、更に、通信チャネル上で伝えられる信号をモニタする目的で、通信チャネルに結合される再構成可能な回路を有する。ＣＰＵ回路は、通信チャネルを介して他のバス通信装置と通信するように設計されプログラムされ、通信チャネル上に生じるものと予測されるような、例えば、ＣＰＵによって選択されるイベント又はイベントタイプをモニタするために再構成可能な回路を構成する。それ自体の構成に従って、この再構成可能な回路は、イベントについてモニタすると共に、該イベントが検出されたことをＣＰＵに報告する。再構成可能な回路からのこのフィードバックを用いることによって、ＣＰＵ回路は、もしあれば、どんなアクションが要求されるのかを決定し、通信チャネル上に生じるものと予測される同じタイプ及び／又は他のイベントタイプの別のイベントを更にモニタするために、再構成可能な回路を再構成することによって応答する。
【００１９】
モニタされ得るイベントは、アプリケーションに依存して、また通信チャネル（又はバス）を流れる動的アクティビティにさえ依存して変化する。アプリケーションに依存して、これらの信号は、制御、データ及びアドレス信号の全て、又は任意のサブセットを含み得る。例えば、あるアプリケーションにおいては、制御及びアドレス信号のみが、通信バスに結合される特定の周辺装置からのサービスについてのあるリクエストの間の期間及び／又は該リクエストの頻度（frequency）のようなアクティビティについてモニタされる。このアプリケーションでは、再構成可能な回路が、通信バスのデータラインをモニタする必要がないだけでなく、それどころかそのようなデータラインに結合する必要もない。別のアプリケーションにおいては、制御、アドレス及びデータ信号のそれぞれは、特別なコードが、特定の周辺装置に書き込まれている数のようなアクティビティについてモニタされる。このアプリケーションでは、再構成可能な回路は、通信バスのデータラインのそれぞれをモニタする。
【００２０】
上記の例示的な実施形態は、１つ又は複数のクロックされる回路ブロックが、モニタされ得るバスを介して、該バスからのデータをリクエストする別の回路ブロックにより、回路ブロックアドレッシングを使用してアクセスされるバス結合されたデータ処理構成の種々のタイプに適用可能である。このために、本発明は、必ずしも並列通信バスに制限されるというわけではなく、I2C及びRS232型プロトコルによって規定されるシリアル通信構成も含み得る。種々の並列通信に関して、本発明の実施形態は、 例えば、Advanced Microcontroller Bus Architecture（AMBA）、 AMBA-Advanced Peripheral Bus (APB)、 Advanced High-performance Bus(AHB)のような高速バス、及びARMベースのデータ処理構成の他のタイプを用いる処理構成を目的とする。本発明の他の実施形態は、IBM社のCoreConnectオンチップバス及びモトローラ社のIPバス、並びに本明細書の以下に更に例証される他のデータ高性能バス伝送ＣＰＵ構成を目的とする。
【００２１】
図面を参照すると共に本発明によれば、図１は、バス（又は「通信チャネル」）モニタ１００が、種々の回路ブロック１１０及び１１２などと、通信可能に結合されたＣＰＵ回路１２０との間の通信をモニタするＣＰＵベースのデータ通信構成の実施例の構成を示している。図１の実施例の構成は、更に、通常のアービタ(arbiter)回路１２２と、デコード回路１２４と、バス結合された装置のためにステート進行(state-advancing)及びバス通信タイミングの機能用のクロック信号を供給するクロック制御回路１２６とを有する。各装置が、制御/アドレスバス１３０及びデータバス１３２によって図示される通信チャネルの制御について競合する場合、アービタ回路１２２は、 どの装置が制御を与えられるべきかを決める。デコード回路１２４は、ＣＰＵ回路１２０に関して、通信用のメモリマッピング機能を実行する。
【００２２】
回路ブロック１１０及び１１２などは、一般的に、バス上で通信することができる回路を表している。これらのブロックは、市販で入手可能であり、及び／又は特定用途向け又は特定のカスタマ向けの機能ブロックであり得る。実施例のアプリケーションにおいて、通信チャネルは、Advanced System Bus（ASB）規格又はVLSI Peripheral Bus（VPB）バスによって規定されるように実施され、これらのブロックのそれぞれが、マスタ/スレーブ関係を用いる適切な通信をもたらすように、適用可能なASB及びVPB規格に従う通信について実施される。このマスタ／スレーブ通信は、Pontius他の発明者らによって「基準チップと外部バスとの間のデータを伝えるための方法及び構成（Method And Arrangement For Passing Data Between A Reference Chip And An External Bus）」と表題を付けられた米国特許第６，１５４，８０３号公報に関して説明されるアプローチを用いる態様を含む多数の態様で実施され得る。この文脈において、マスタは、通信を起動するアクセス回路ブロック又は装置であり、スレーブは、ターゲットにされるレスポンデント、又は起動された通信の（回路１００内で）バス結合される回路ブロックであり、適用可能な規格に従って、アービタ１２２は、マスタと一緒に維持されるべき制御を可能にする。
【００２３】
この実施例の構成において、（マイクロプロセッサ、マイクロコンピュータ又は別の論理装置であり得る）バスモニタ回路１００は、通信チャネルの制御、アドレス及びデータラインの全て又はサブセット及び／又は先行の状態によって規定される予測された（可能なものを含む）イベントについて、通信チャネルをモニタするように、ＣＰＵ回路１２０によって構成される。バスモニタ回路１００が、バス状態について構成された該バス状態を検出することに応じて、バスモニタ回路１００は、フィードバック路１４０を介してＣＰＵ回路１２０に報告を返す。フィードバック路１４０は、例えば、ＣＰＵ回路１２０が、バスモニタ回路１００からのフィードバックデータをアドレスし読み込むバス１３２を介してＣＰＵポーリングされたデータとして、ＣＰＵ回路１２０の割り込みポートに接続される割り込みラインとして、又はＣＰＵ回路１２０の特別なデータＩ／Ｏポートに接続される別個のラインを用いることによって、実施され得る。それに応じて、ＣＰＵ回路１２０は、その後に、このモニタされた状態に関してフィードバックされるデータを評価すると共に、もしあれば、どのアクションが、ＣＰＵ回路１２０及び／又は関連のバス結合された装置に割り当てられるタスクを更に促進するだろうかということを決定することができる。
【００２４】
通常、ＣＰＵ回路１２０は、通信チャネルの状態の別のタイプ、又は同じタイプの他のイベントについて更にモニタするように、再構成可能な回路を再構成することによって応答する。図１の構成におけるこのような応答型の通信管理の実施例は、帯域幅の要件を満たすために、又は電力を節約するために、通信チャネルのクロック周波数を増加すること又は減少することを含む。
【００２５】
図２は、図１のバス１３０及び１３２のような並列データバス構成のための通信チャネルモニタ２００の実施例を示している。このモニタ２００は、それ自体の最初の構成及び後続の構成についてデータバス１３２を介してデータを入力するプログラマブル構成論理２１０を有する。１つ又は複数のレジスタファイルを有する回路２１２は、モニタされるべきイベントに対応する構成ビットを保持するために使用される。これらの構成ビットは、モニタするべき対応する予測された信号を、通信チャネルから直接的にモニタ２００に供給されるアクティブバス信号（制御、アドレス及び／又はデータ）と比較することによって、これらの予測された信号を示すように、その後にデコードされる。信号送出及びタイミング調整のために制御論理２１６を使用することによって、論理デコード／比較回路２１４又は２１８は、プログラマブル構成論理２１０でプログラムされるように、モニタ２００が信号をモニタするように構成された該信号に、モニタされた信号が合致するか否かを決定する。合致又はカウンタが予め決定された値に等しい場合の即時のフィードバックが、論理デコード／比較回路２１８からの出力として、割り込みドライバ２２０を介して与えられる。他のアプリケーションでは、カウンタが、上記に示されたようにモニタされる場合、又は単にある期間後に読み込まれるようにモニタされる場合、合致は、カウンタを単にインクリメントする、停止する又は始動するように用いられることができる。
【００２６】
モニタ２００の別の側面は、プログラマブル構成論理２１０にプログラムされているように、あるタイプの１つ又は複数のイベントの数をカウントする能力である。このため、制御論理２１６は、更に、このようなイベントをそれぞれカウントする、又はこのようなイベントに応じてカウンタを始動／停止するカウンタ回路２３２を可能にする。別の実施形態では、複数のカウンタが、複数の比較器と一緒に用いられて、異なるイベントを同時にモニタする。カウンタ回路２３２は、１つより多いカウンタを含むことができ、各カウンタが、バス上で検出された異なるイベントをカウントするように割り当てられることが理解されるであろう。
【００２７】
本発明は、上記に説明された特定の実施例に限定されるものと考慮されるべきでない。種々の変更形態、同等のプロセス、及び本発明が適用可能であり得る多数の構造が、本発明の範囲内に含まれる。例えば、マルチチップ又はシングルチップ構成が、チップセット構成の間の通信のために、同様に構成される一方向又は二方向のインタフェースを用いて実施され得る。このような変形形態は、従属請求項に明確に記載されるように、請求される本発明の一部として考慮されてもよい。
【図面の簡単な説明】
【００２８】
【図１】本発明による実施例の回路構成の図である。
【図２】図１に示される回路構成と一致すると共に、更に本発明による実施例のバスモニタ回路を示す拡大ビューを示す図である。
【図１】
2005501337.tif 000003
【図２】
2005501337.tif 000004
【国際公開パンフレット】
2005501337.tif 000005
2005501337.tif 000006
2005501337.tif 000007
2005501337.tif 000008
2005501337.tif 000009
2005501337.tif 000010
2005501337.tif 000011
2005501337.tif 000012
2005501337.tif 000013
2005501337.tif 000014
2005501337.tif 000015
2005501337.tif 000016
2005501337.tif 000017
【国際公開パンフレット（コレクトバージョン）】
2005501337.tif 000018
【国際調査報告】
2005501337.tif 000019
2005501337.tif 000020