(57)【特許請求の範囲】
【請求項１】
ネットワーク内の非同期ノードであって、
二相シグナリングを利用して入力パケットの開始および終了を示すための第１の入力ワイヤと、前記入力パケットを受信するための第２および第３の入力ワイヤとを備える入力ワイヤの少なくとも１つのセットと、ここで、前記第１、第２、および第３の入力ワイヤによって伝達される信号は、入力データストリームを備える、
前記入力データストリームの各遷移の受信を確認する第１の確認信号を送信するための発信確認ワイヤと、
二相シグナリングを利用して出力パケットの開始および終了を示すための第１の出力ワイヤと、ゼロ復帰デュアルレール符号化を利用して前記出力パケットを送信するための第２および第３の出力ワイヤと、ここで、前記第１、第２、および第３の出力ワイヤによって伝達される信号は、出力データストリームを備える、前記出力データストリームの各遷移の受信を確認する第２の確認信号を受信するための着信確認ワイヤとを備える出力ワイヤの少なくとも１つのセットと
を備える非同期ノード。
【請求項２】
前記第１の入力ワイヤは、前記入力パケットの開始を示すように遷移し、前記入力パケットの持続時間の間、高いままである、請求項１に記載の非同期ノード。
【請求項３】
前記非同期ノードは、前記第１の確認信号を生成するためのＸＯＲゲートを備える非同期パイプラインラッチである、請求項１に記載の非同期ノード。
【請求項４】
前記非同期ノードは、コンソリデータを備え、前記コンソリデータは、
前記出力データストリームを生成するために、入力ワイヤの第１のセットで受信された第１のデータストリームを、入力ワイヤの第２のセットで受信された第２のデータストリームと組み合わせるための回路と、
出力ワイヤの前記セットで、前記出力データストリームを送信するための回路と
を備える、請求項１に記載の非同期ノード。
【請求項５】
前記組み合わせるための回路は、
入力ワイヤの前記第１のセットで第１のパケットを、入力ワイヤの前記第２のセットで第２のパケットを受信するための回路と、
前記第１のパケットまたは前記第２のパケットのうちのどちらが最初に到達したかを決定するためのアービタと、
アドレスを示すために、前記第１のパケットおよび前記第２のパケットのヘッダに少なくとも１つのビットを追加するための回路と、
前記第１のパケットが最初に到達した場合に、前記第１のパケットに続いて前記第２のパケットを出力するための回路と、
前記第２のパケットが最初に到達した場合に、前記第２のパケットに続いて前記第１のパケットを出力するための回路と
を備える、請求項４に記載の非同期ノード。
【請求項６】
前記非同期ノードは、前記入力データストリームで受信された２つ以上のパケットを、前記パケットのアドレスに基づいて出力ワイヤの２つのセットにルーティングするための回路を備えるディストリビュータを備える、請求項１に記載の非同期ノード。
【請求項７】
前記パケットをルーティングする前に、１つ以上のアドレスビットを前記パケットから除去するための回路をさらに備える、請求項６に記載の非同期ノード。
【請求項８】
前記非同期ノードは、複数のミュラーＣエレメントを備える、請求項１に記載の非同期ノード。
【請求項９】
前記ネットワークは、複数のコンソリデータを備え、前記コンソリデータの各々は、複数のパケット生成器から複数の入力パケットを受信し、アドレスビットを前記入力パケットの前記ヘッダに自動的に追加することによって、前記ネットワークを通して前記入力パケットをルーティングする、請求項４に記載の非同期ノード。
【請求項１０】
パケット生成器のアドレスは、前記ネットワークにおける前記パケット生成器の位置に基づいて、前記複数のコンソリデータを通過する間に、その生成されたパケットのヘッダにおいて自動的に符号化される、請求項９に記載の非同期ノード。
【請求項１１】
ネットワーク内の非同期ノードと通信するための方法であって、
第１の入力ワイヤ上で、入力パケットの開始および終了を示すインジケーションを受信することと、
第２および第３の入力ワイヤ上で、前記入力パケットを受信することと、ここで、前記パケットは、ゼロ復帰デュアルレール符号化を利用して生成され、前記第１、第２、および第３の入力ワイヤによって伝達される信号は、入力データストリームを備える、
発信確認ワイヤ上で、前記入力データストリームの各遷移の受信を確認する第１の確認信号を送信することと
を備える方法。
【請求項１２】
前記入力データストリームを処理して、出力データストリームを生成することをさらに備える、請求項１１に記載の方法。
【請求項１３】
二相シグナリングを使用して第１の出力ワイヤ上で出力パケットの開始および終了を示すことをさらに備える、請求項１１に記載の方法。
【請求項１４】
ゼロ復帰デュアルレール符号化を利用して、第２および第３の出力ワイヤで前記出力パケットを送信することをさらに備え、前記第１、第２、および第３の出力ワイヤによって伝達される信号は、出力データストリームを備える、請求項１３に記載の方法。
【請求項１５】
着信確認ワイヤ上で、第２の確認信号を受信することをさらに備える、請求項１４に記載の方法。
【請求項１６】
前記第１の入力ワイヤは、前記入力パケットの開始を示すように遷移し、前記入力パケットの持続時間の間、高いままである、請求項１１に記載の方法。
【請求項１７】
ＸＯＲゲートを介して前記第１の確認信号を生成することをさらに備える、請求項１１に記載の方法。
【請求項１８】
入力ワイヤの前記第１のセットで第１のパケットを、入力ワイヤの前記第２のセットで第２のパケットを受信することと、
前記第１のパケットまたは前記第２のパケットのうちのどちらが最初に到達したかを決定することと、
アドレスを示すために、前記第１のパケットおよび前記第２のパケットのヘッダに少なくとも１つのビットを追加することと、
前記第１のパケットが最初に到達した場合に前記第１のパケットに続いて前記第２のパケットを出力すること、または、前記第２のパケットが最初に到達した場合に前記第２のパケットに続いて前記第１のパケットを出力することと
をさらに備える、請求項１１に記載の方法。
【請求項１９】
前記入力データストリームで受信される２つ以上のパケットを、前記パケットのアドレスに基づいて出力ワイヤの２つのセットにルーティングすることをさらに備える、請求項１１に記載の方法。
【請求項２０】
前記パケットをルーティングする前に１つ以上のアドレスビットを前記パケットから除去することをさらに備える、請求項１９に記載の方法。
【請求項２１】
ネットワークであって、
複数のワイヤと、
前記ワイヤを介して非同期的に通信する複数のネットワークノードと
を備え、各ネットワークノードは、
複数のワイヤ、入力ワイヤの少なくとも１つのセットは、二相シグナリングを利用して入力パケットの開始および終了を示すための第１の入力ワイヤと、前記入力パケットを受信するための第２および第３の入力ワイヤとを備え、前記第１、第２、および第３の入力ワイヤによって伝達される信号は、入力データストリームを備える、
前記入力データストリームの各遷移の受信を確認する第１の確認信号を送信するための発信確認ワイヤと、
二相シグナリングを利用して出力パケットの開始および終了を示すための第１の出力ワイヤと、ゼロ復帰デュアルレール符号化を利用して前記出力パケットを送信するための第２および第３の出力ワイヤと、ここで、前記第１、第２、および第３の出力ワイヤによって伝達される信号は、出力データストリームを備える、前記出力データストリームの各遷移の受信を確認する第２の確認信号を受信するための着信確認ワイヤと備える出力ワイヤの少なくとも１つのセットと
を備える、ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の特定の実施形態は一般的に、非同期相互接続に関し、より詳細には、非同期ネットワークのために回路ブロックおよびハンドシェイクプロトコルを設計することに関する。
【背景技術】
【０００２】
高周波数クロックを用いたグローバル同期相互接続を使用する大規模なシステムオンチップアプリケーションは、深刻なクロックスキュー問題に悩まされうる。複数のクロック領域をそのような同期システムに組み込むことは困難でありうる。非同期ネットワークのバスは、そのような高性能なまたは大規模なアプリケーションに好まれうる。
【発明の概要】
【０００３】
本開示の特定の実施形態は、ネットワークにおいて非同期ノードを提供する。この非同期ノードは一般的に、二相シグナリングを利用してパケットの開始および終了を示すための第１のワイヤと、ゼロ復帰デュアルレール符号化（return to zero, dual-rail encoding）を利用してパケットを送るための第２および第３のワイヤと、ここで、第１、第２、および第３のワイヤによって伝達される信号は、データストリームを備える、データストリームのすべての遷移の受信を確認する確認信号を受信するための第４のワイヤとを備えるワイヤの少なくとも１つのセットを含む。
【０００４】
本開示の特定の実施形態は、非同期ネットワークを提供する。非同期ネットワークは一般的に、複数のワイヤと、これらのワイヤを介して非同期に通信する複数のネットワークノードとを含む。各ネットワークノードは一般的に、複数のワイヤを含み、入力ワイヤの少なくとも１つのセットは、二相シグナリングを利用して入力パケットの開始および終了を示すための第１の入力ワイヤと、入力パケットを受信するための第２および第３の入力ワイヤと、ここで、第１、第２、および第３の入力ワイヤによって伝達される信号は、入力データストリームを備える、入力データストリームの各遷移の受信を確認する第１の確認信号を送信するための発信確認ワイヤとを備え、さらに、少なくとも１つの出力ワイヤのセットは、二相シグナリングを利用して出力パケットの開始および終了を示すための第１の出力ワイヤと、ゼロ復帰デュアルレール符号化を利用して出力パケットを送信するための第２および第３の出力ワイヤと、ここで、第１、第２、および第３の出力ワイヤによって伝達される信号は、出力データストリームを備える、出力データストリームの各遷移の受信を確認する第２の確認信号を受信するための着信確認ワイヤとを備える。
【０００５】
本開示の特定の実施形態は、ネットワーク内の非同期ノードにおいて通信するための方法を提供する。方法は一般的に、第１の入力ワイヤで入力パケットを開始および終了を示すインジケーションを受信することと、第２および第３の入力ワイヤで入力パケットを受信することと、ここで、パケットは、ゼロ復帰デュアルレール符号化を利用して利用して生成される、ここで、第１、第２、および第３の入力ワイヤによって伝達される信号は、入力データストリームを備える、発信確認ワイヤ上で入力データストリームの各遷移の受信を確認する第１の確認信号を送信こととを含む。
【図面の簡単な説明】
【０００６】
本開示の上述された特徴が詳細に理解されうるように、上で簡潔に要約された内容についてのより詳しい説明が、複数の実施形態への参照によりなされ、それらのうちのいくつかは、添付の図面において示されている。しかしながら、付属の図面は、本開示の特定の典型的な実施形態を示しているにすぎず、この説明が同様に効果的な他の実施形態にも認められうるため、その範囲を制限するものと考えられるべきではない、ということに注意されたい。
【図１】図１は、本開示の特定の態様にしたがった、非同期ネットワークにおいて使用されうる例示的な非同期ルーティングブロックを示す。
【図２】図２は、本開示の特定の態様にしたがった、非同期ネットワークにおける異なるブロック間のハンドシェイクのためのシグナリングプロトコルを示す。
【図３】図３は、本開示の特定の態様にしたがった、非同期パイプラインラッチを示す。
【図４】図４は、本開示の特定の態様にしたがって、非同期ネットワーク内の非同期ノードによって実行されうる例示的な動作を示す。
【図５】図５は、非同期ネットワークで使用されうるミュラーＣエレメントおよび非対称ミュラーＣエレメントを示す。
【図６Ａ】図６Ａは、本開示の特定の態様にしたがった、非同期コンソリデータ（consolidator）を示す。
【図６Ｂ】図６Ｂは、本開示の特定の態様にしたがった、非同期コンソリデータを示す。
【図７】図７は、本開示の特定の態様にしたがった、非同期ディストリビュータ（distributor）を示す。
【図８】図８は、本開示の特定の態様にしたがった、非同期ネットワークツリーの例を示す。
【図９】図９は、本開示の特定の態様にしたがった、図８に提示されたネットワークツリーの例示的なシチュエーションを示す。
【発明を実施するための形態】
【０００７】
本開示の様々な実施形態は、添付の図面を参照して以下により十分に説明されている。しかしながら、本開示は、多くの異なる形態で具現化されることができ、本開示全体を通して提示される任意の特定の構成または機能に限定されるものと解釈されるべきではない。むしろ、これらの実施形態は、本開示を徹底的かつ完全なものとし、本開示により本開示の範囲が当業者に十分に伝達されるように、提供されるものである。本明細書に開示された開示の任意の実施形態は、本開示の任意の他の実施形態と独立して実現されようと、それらと組み合わされて実現されようと、本開示の範囲によってカバーされることが意図されている、ということを、本明細書の教示に基づき当業者は認識すべきである。例えば、本明細書で説明される任意の数の実施形態を使用して、装置は実現され、方法は実施されうる。さらに、本開示の範囲は、本明細書で説明される開示の様々な実施形態に加えて、または、それらの実施形態以外に、他の構造、機能、または、構造と機能を使用して実施された、そのような装置または方法をカバーすることが意図されている。本明細書に開示された内容の任意の実施形態が、特許請求の範囲に記載された１つ以上のエレメントによって具現化されうることは理解されるべきである。
【０００８】
「例示的」という用語は、本明細書では、「実例、事例、または例証として提供される」を意味するために使用される。「例示的」として本明細書で説明されている任意の実施形態は、必ずしも、他の実施形態より好ましい、または、それより有利であると解釈されるべきではない。
【０００９】
特定の実施形態が本明細書では説明されているが、これらの実施形態の多くの変形および置換は、本開示の範囲内に含まれる。好ましい実施形態のいくつかの利益および利点が説明されているが、本開示の範囲は、特定の利益、用途、または目的に限定されることを意図されない。むしろ、本開示の実施形態は、異なる技術、システム構成、ネットワーク、およびプロトコルに対して広く適用可能であることが意図され、そのうちのいくつかが、図面において、および好ましい実施形態の以下の説明において例として示される。詳細な説明および図面は、開示を制限するというよりはむしろ単に例示するものであり、本開示の範囲は、添付の特許請求の範囲およびその同等物によって定義される。
【００１０】
例示的な非同期ネットワーク
本開示の特定の態様は、非同期ネットワークにおいて使用されうるハンドシェイクプロトコルのための技法および対応した装置（例えば、回路ブロック）を提供する。提案される非同期ネットワークは、クロックレスな遅延無反応型データ符号化スキーム（clock-less delay-insensitive data encoding scheme）を利用する。提案されるハンドシェイクプロトコルは、相互接続ワイヤにおける遅延に関係なく、正確に動作するように設計された非同期ネットワークを可能にしうる。
【００１１】
本明細書で説明されるもののような、チップ上の非同期ネットワークは、異なるブロック間でイベントおよび連続パケットをルーティングするために使用されうる。例えば、非同期ネットワークは、情報のパケットを、ネットワークの至るところに分散した多数のニューロンに送るために各ニューロンが、ランダムな瞬間、および、必要な場合にスパイクすることができ、ニューラルネットワークの大規模なハードウェアシミュレーションで使用されうる。そのような非同期ネットワークの他のアプリケーションは、高周波数クロックを用いたグローバル同期相互接続が深刻なクロックスキュー問題に苦しむ大きな「システムオンチップ」アプリケーションを含みうる。
【００１２】
図１は、本開示の特定の態様にしたがい、非同期ネットワークにおいて使用されうる例示的な非同期ルーティングブロック１００を示す。示されるように、非同期ルーティングブロックは、入力ワイヤのＮ個のセットと、出力ワイヤのＭ個のセットとを有し、ここで、ＮおよびＭは整数である。
【００１３】
入力ワイヤ１０２の各セットは、３つの入力ワイヤ（例えば、Ｉ＿Ｒ、Ｉ＿Ａ、Ｉ＿Ｂ）および１つの対応する発信確認（例えば、Ｋ）ワイヤを含みうる。Ｒワイヤ（例えば、Ｉ＿Ｒ１ １０８）は、パケットの開始時に、ある状態（例えば、高いまたは低い）に遷移し、そのパケットの持続時間の間、同じ状態を維持する（例えば、高いまままたは低いままである）ことで、パケットの持続時間を示しうる。ＡワイヤおよびＢワイヤ（例えば、Ｉ＿Ａ１ １０４、Ｉ＿Ｂ１ １０６）は、１および０としてパケットを連続して受信しうる。確認ワイヤ（例えば、Ｉ＿Ｋ１ １１０）は、前の段階からの、Ｒワイヤ、Ａワイヤ、またはＢワイヤのいずれかにおける各遷移の受信を確認しうる。
【００１４】
出力ワイヤ１１２の各セットは、３つの発信ワイヤ（例えば、Ｏ＿Ｒ、Ｏ＿Ａ、Ｏ＿Ｂ）および１つの対応する着信確認（例えば、Ｋ）ワイヤを含みうる。同様に、Ｒワイヤは、パケットの開始時に、ある状態に遷移し、そのパケットの持続時間の間、同じ状態を維持することで、発信パケットの持続時間を示しうる。ＡワイヤおよびＢワイヤは、ゼロ復帰デュアルレール符号化のような符号化スキームを利用して、１および０としてパケットを連続して送りうる。着信確認ワイヤ（例えば、Ｏ＿Ｋ）は、ネットワーク内の次のエレメントによる、Ｒワイヤ、Ａワイヤ、またはＢワイヤのいずれかの各遷移の受信を確認しうる。
【００１５】
非同期ルーティングブロック１００は、パイプラインラッチ、コンソリデータ、ディストリビュータ、または、非同期ネットワークで使用されうる任意の他のブロックでありうる。パイプラインラッチは、非同期ラッチとして機能し、コンソリデータは、２つの入力ストリームを組み合わせ、ディストリビュータは、着信パケットを２つの異なる宛先にルーティングしうる。
【００１６】
図２は、非同期ネットワークにおける異なるブロック間でのハンドシェイクのためのシグナリングプロトコルを示す。前述されたように、Ａ ２０４およびＢ ２０６の信号は、ゼロ復帰デュアルレール符号化を用いてデータを送りうる。パケットの開始時に、Ｒ ２０８信号は、高い状態に遷移し（例えば、イベント２１２）、そのパケットの持続時間の間（例えば、イベント２１６まで）、高いままでありうる。Ａ信号およびＢ信号は、パケットを送りうる。Ｋ ２０１信号は、Ｒワイヤ、Ａワイヤ、またはＢワイヤのいずれかの各遷移を確認しうる（例えば、イベント２１２および２１４）。Ｒ信号が二相シグナリングプロトコルを使用し、それによって、従来の非同期ネットワークと比べて非同期ネットワークでは、よりシンプルなハードウェアブロックに帰着しうること、に注意されたい。
【００１７】
非同期通信ネットワークは、パイプライン段階に対して、リンクの帯域幅を改善し、混雑を最小化することを要求しうる。このパイプライン段階は、遷移を確認するのに費やす時間が、少数の（例えば、４つの）論理ゲートの遅延の合計に等しいため、ネットワークのレイテンシに及ぼす影響が最小でありうる。
【００１８】
図３は、本開示の特定の態様にしたがって、非同期パイプラインラッチ３００を示す。示されるように、非同期パイプランラッチは、データストリーム（例えば、Ｉ＿Ａ、Ｉ＿Ｂ、およびＩ＿Ｒ信号）を入力し、それらの対応する確認信号（例えば、Ｉ＿Ｋ）を出力しうる。非同期ラッチはまた、データストリーム（例えば、Ｏ＿Ａ、Ｏ＿Ｂ、Ｏ＿Ｒ）を出力し、それらの対応する確認（例えば、Ｏ＿Ｋ）を入力しうる。
【００１９】
非同期ラッチは、３つのミュラーＣエレメント３０２（図５により詳細に示される）を含みうる。非同期ラッチはまた、Ａ信号、Ｂ信号、およびＲ信号が図２で説明されたプロトコルに従うと想定して、エレメント間で要求されるハンドシェイク信号を生成しうる。例えば、非同期ラッチは、前のエレメントからデータストリームの正確な受信を確認するために、ＸＯＲゲート３０４を使用して確認信号を生成しうる。確認信号は、Ｒ信号が二相シグナリングプロトコルを使用するという事実を利用することによって生成されうる。
【００２０】
図４は、本開示の特定の態様にしたがい、非同期ネットワーク内の非同期ノードによって実行されることができ例示的な動作を示す。
【００２１】
４０２において、非同期ノードは、第１の入力ワイヤ上で、入力パケットの開始および終了を示すインジケーションを受信しうる。４０４において、非同期ノードは、第２および第３の入力ワイヤ上で、入力パケットを受信しうる。パケットは、ゼロ復帰デュアルレール符号化を利用して生成されうる。第１、第２、および第３の入力ワイヤによって伝達される信号は、入力データストリームを備える。４０６において、非同期ノードは、発信確認ワイヤ上で、入力データストリームの各遷移の受信を確認する第１の確認信号を送信しうる。
【００２２】
４０８において、非同期ノードは、入力データストリームを処理して、出力データストリームを生成しうる。４１０において、非同期ノードは、二相シグナリングを利用して第１の出力ワイヤ上で、出力パケットの開始および終了を示しうる。４１２において、非同期ノードは、ゼロ復帰デュアルレール符号化を利用して第２および第３の出力ワイヤ上で、出力パケットを送信しうる。第１、第２、および第３の出力ワイヤによって伝達される信号は、出力データストリームを備える。４１４において、非同期ノードは、着信確認ワイヤ上で、第２の確認信号を受信しうる。
【００２３】
図５は、提案される非同期ネットワークで使用されうるミュラーＣエレメント５０２および非対称ミュラーＣエレメント５０４を示す。ミュラーＣエレメントの出力は、両方の入力が高い場合にアサートされ、両方の入力が低い場合に、デアサート（de-assert）される。異なる入力の場合、出力は、テーブル５０６に示されるように、その前回の値を維持する。多入力ミュラーＣエレメントは、２入力のミュラーＣエレメントと同様の原理を使用する。
【００２４】
非対称ミュラーＣエレメント５０４は、特定の遷移について特定の入力を無視しうる。例えば、非対称ミュラーＣエレメント５０４は、入力Ａにおける１からゼロへの遷移を無視うる。
【００２５】
図６Ａ−６Ｂは、本開示の特定の態様にしたがって、非同期ネットワークにおいて使用されうるコンソリデータを示す。図６Ａは、２つの入力から連続データを受信し、第２のパケットを阻止（hold back）すると同時に最初に到着したパケットを出力する２入力コンソリデータ６０２を示す。
【００２６】
コンソリデータ６０２は、パケットのヘッダに１つのアドレスビットを追加しうる。このアドレスビットは、コンソリデータの２つの入力のうちのどちらがパケットを生成したかを定義しうる。２つの入力上のアクティビティの相互排他性が保証され得ないため、２つのパケットのうちのどちらが最初に到達したか（ゆえに、Ｒ信号）を決めるためにアービタ（arbiter）が使用されうる。第２のパケットは、Ｒ信号がその前の状態（例えば、ゼロ）に戻ることによってシグナリングされるように、第１のパケットが完了した後にのみ送信される。Ｒ信号に対する二相符号化の使用は、アドレスの作成、および、次の段階とのハンドシェイクに使用される回路を簡潔にする。各コンソリデータにおけるアドレスビットの追加は、パケットヘッダ内の、パケットの送り手のアドレスを自動的に符号化する。
【００２７】
特定の態様について、コンソリデータのネットワークは、異なるイベントまたはパケット生成器からパケットを受信し、アドレスビットをヘッダに自動的に追加すると同時に、ネットワークを通してそれらをルーティングしうる。パケット生成器のアドレスは、ネットワークにおけるその位置によって、および、ネットワークを通過する動作によって、ヘッダにおいて自動的に符号化されうる。パケット生成器のアドレスが、個々のパケット生成器に記憶される必要がない可能性があることに注意されたい。
【００２８】
特定の態様にしたがって、１つ以上のパイプラインラッチは、ネットワークの混雑を最小化するため、および、ダウンストリーム段階からの確認を待っている前段階が、ビットによってブロックされないことを確実にするために、各コンソリデータの前に追加されうる。
【００２９】
図６Ｂは、２入力コンソリデータ６０２を利用する例示的な３入力コンソリデータ６０４を示す。ｎ入力コンソリデータを生成するために、同様の原理が使用され、ここで、ｎは、２よりも大きい整数でありうる。
【００３０】
図７は、本開示の特定の態様にしたがって、非同期ネットワークにおいて使用されうるディストリビュータを示す。ディストリビュータ７０２は、パケットのヘッダ内のアドレスビットに基づいて、受信された入力パケットを、その２つの出力のうちの１つに送りうる。ディストリビュータ７０２は、パケットヘッダ内の第１のビットに基づいて、着信パケットを２つの出力のうちの１つにルーティングしうる。ディストリビュータはまた、パケットの宛先を決めるために使用された、ヘッダ内の第１のビット（例えば、アドレスビット）を除去しうる。結果として、パケットは、パケットの残りを伝えると同時にヘッダの第１のビットをただ観察して削除するディストリビュータのネットワークを通ってルーティングされることができる。
【００３１】
前述されたように、コンソリデータ６０２およびディストリビュータ７０２は、提案された非同期ネットワークにおいて情報をルーティングするための２つの有益なブロックを表しうる。図８は、本開示の特定の態様にしたがい、コンソリデータを用いて設計されうるネットワークツリーの例を示す。ネットワークツリー８００は、適切なアドレスビットが連続パケットに追加されることを確実にすると同時に、葉ノード上のシンプルなイベント生成器によって生成されたイベントを根ノードに伝達しうる。特定の態様について、類似したディストリビュータのツリーもまた、根ノードからさまざまな葉ノードに情報を送信するように設計されうる。例示されたように、７入力ネットワークツリーを生成するために、６個の２入力コンソリデータが使用されうる。シンプルなイベント生成器８０２は、ツリーの葉上でイベントを生成し、コンソリデータは、このイベントを、ツリーの根にルーティングする。
【００３２】
図９は、本開示の特定の態様にしたがって、図８で提示されたネットワークツリー８００の例示的なシチュエーションを示す。コンソリデータのネットワークツリー８００は、ＶＨＤＬで設計され、Ｍｏｄｅｌｓｉｍソフトウェアを使用してシミュレートされる。シミュレーションのために使用される回路ブロックは、図５および図６Ａに示されるように設計される。イベント９０２、９０４、９０６、および９０８は、それぞれ、ノード０、１、２、および５で生成される。連続パケット９１２、９１４、９１６、および９１８はそれぞれ、イベント９０２、９０４、９０６、および９０８の各々をシグナリングするために、根ノードで受信される。これらの連続パケットは、イベントを作成するノードのアドレスを符号化する。データは、デュアルレール符号化され、根ノードにおける最後の連続データは、以下の説明文で解釈される。ネットワークの混雑を最小化するために、パイプラインラッチがコンソリデータ間に追加される。
【００３３】
本開示で提案される、非同期ハンドシェイクベースのネットワークは、ネットワークにわたってイベントおよび連続パケットを渡す。使用されるシグナリングプロトコルおよび回路ブロックは、ＶＨＤＬで記述され、実現されうる。提案される非同期ネットワークにより、高速クロックを必要とすることなく、大きいハードウェア設計にわたる高速通信が可能になる。提案される非同期ネットワークは、例えば、タイミング分析の簡略化、クロックツリーにおける電力消費の削減、および、電磁放射線の削減など、従来の同期ネットワークよりも多数の利点を有する。
【００３４】
前述された方法の様々な動作は、対応する機能を実行することができる任意の適切な手段によって実行されうる。手段は、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサを含むがそれらに限定されるわけではない、様々なハードウェアおよび／またはソフトウェアコンポーネントおよび／またはモジュールを含みうる。
【００３５】
本明細書において使用される場合、「決定すること」という用語は、幅広い動作を含む。例えば、「決定すること」は、算出すること、コンピューティングすること、処理すること、導出すること、調査すること、ルックアップすること（例えば、テーブル、データベース、または別のデータ構造をルックアップすること）、確定すること、等を含みうる。また、「決定すること」は、受信すること（例えば、情報を受信すること）、アクセスすること（例えば、メモリ内のデータにアクセスすること）、等を含むことができる。加えて、「決定すること」は、解決すること、選択すること、選ぶこと、確立すること、等を含みうる。
【００３６】
本明細書で使用される場合、項目のリスト「のうちの少なくとも１つ」という表現は、単一のメンバを含む、それらの項目の任意の組み合わせを指す。例として、「ａ、ｂ、またはｃのうちの少なくとも１つ」は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、およびａ−ｂ−ｃをカバーすることを意図する。
【００３７】
本開示に関連して説明された、様々な実例となる論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）または他のプログラマブル論理デバイス（ＰＬＤ）、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいは、本明細書で説明された機能を実行するように設計された、それらの任意の組み合わせを用いて実現または実行されうる。汎用プロセッサは、マイクロプロセッサでありうるが、代替的に、プロセッサは、市販の任意のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンでありうる。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰと、１つのマイクロプロセッサ、複数のマイクロプロセッサ、ＤＳＰコアと結合された１つ以上のマイクロプロセッサとの組み合わせ、または任意の他のそのような構成として実現されうる。
【００３８】
本開示に関連して説明された方法またはアルゴリズムのステップは、直接的にハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、または両者の組み合わせで、具現化されることができる。ソフトウェアモジュールは、当技術分野で知られている任意の形態の記憶媒体中に存在しうる。使用されうる記憶媒体のいくつかの例は、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、等を含む。ソフトウェアモジュールは、単一の命令または多数の命令を備えることができ、いくつかの異なるコードセグメントにわたって、異なるプログラム間で、および複数の記憶媒体にわたって、分散されることができる。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合されうる。代替的に、記憶媒体は、プロセッサに組み込まれうる。
【００３９】
本明細書に開示された方法は、説明された方法を達成するための１つ以上のステップまたは動作を備える。方法のステップおよび／または動作は、本願の特許請求の範囲から逸脱せずに、互いに置き換えられうる。換言すると、ステップまたは動作の特定の順序が明記されていない限り、特定のステップおよび／または動作の順序および／または使用は、本願の特許請求の範囲から逸脱せずに変更されうる。
【００４０】
説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいて実現されうる。ソフトウェアで実現される場合、機能は、コンピュータ読取可能な媒体で１つ以上の命令として記憶されうる。記憶媒体は、コンピュータによってアクセスされることができる任意の入手可能な媒体であることができる。限定ではなく例として、そのようなコンピュータ読取可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用されることができ、かつ、コンピュータによってアクセスされることができる任意の他の媒体を含みうる。ディスク（disk）およびディスク（disc）は、本明細書で使用される場合、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイ（登録商標）ディスクを含み、ディスク（disk）は通常、磁気的にデータを再生するが、ディスク（disc）は、レーザーを用いて光学的にデータを再生する。
【００４１】
したがって、特定の実施形態は、本明細書に提示された動作を実行するためのコンピュータプログラム製品を備えうる。例えば、そのようなコンピュータプログラム製品は、命令を記憶（および／または符号化）したコンピュータ読取可能な媒体を備えることができ、それらの命令は、本明細書で説明された動作を実行するために１つ以上のプロセッサによって実行可能である。特定の実施形態では、コンピュータプログラム製品は、パーケージ材料を含むことができる。
【００４２】
ソフトウェアまたは命令もまた、送信媒体によって送信されることもできる。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または、赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または、他のリモートソースから送信される場合には、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または、赤外線、無線、およびマイクロ波のようなワイヤレス技術は、送信媒体の定義に含まれている。
【００４３】
さらに、本明細書で説明された方法および技法を実行するためのモジュールおよび／または他の適切な手段が、適宜、ユーザ端末および／または基地局によって、ダウンロードされうること、および／または、他の方法で取得されうることは認識されるべきである。例えば、そのようなデバイスは、本明細書で説明された方法を実行するための手段の転送を容易にするために、サーバに結合されうる。代替的に、本明細書で説明された様々な方法は、デバイスに記憶手段を結合または提供することによりユーザ端末および／または基地局が様々な方法を取得できるように、記憶手段（例えば、ＲＡＭ、ＲＯＭ、コンパクトディスク（ＣＤ）またはフロッピーディスクのような物理記憶媒体、等）を介して提供されることができる。さらに、本明細書で説明された方法および技法をデバイスに提供するための任意の他の適切な技法が利用されることができる。
【００４４】
本願の特許請求の範囲が、上述された、まさにその構成およびコンポーネントに限定されないことが理解されるべきである。本願の特許請求の範囲から逸脱せずに、上述された方法および装置の配置、動作、および詳細に対して様々な変更、変化、および変形が行われうる。
【００４５】
前述の内容は、本開示の実施形態に向けられているが、本開示の他の実施形態およびさらなる実施形態が、その基本的な範囲から逸脱せずに考案されることができ、その範囲は、下記の請求項によって決定される。
【図１】
0005869134.tif 000002
【図２】
0005869134.tif 000003
【図３】
0005869134.tif 000004
【図４】
0005869134.tif 000005
【図５】
0005869134.tif 000006
【図６Ａ】
0005869134.tif 000007
【図６Ｂ】
0005869134.tif 000008
【図７】
0005869134.tif 000009
【図８】
0005869134.tif 000010
【図９】
0005869134.tif 000011