(57)【要約】【課題】クロスバー回路およびそのようなクロスバー回路の動作方法を提供する。【解決手段】クロスバー回路はデータ入力経路およびデータ出力経路の配列を有し、データ出力経路はデータ入力経路を横断する。データ入力経路とデータ出力経路との間の各交差点には、ルーティング値を記憶するようにプログラムできる構成記憶回路と、伝送回路と、アービトレーション回路とを備えるクロスバーセルが提供される。伝送動作モードにおいて、伝送回路は、データ入力経路に沿ってデータ入力を検出して、関連付けた交差点においてそのデータの指示をデータ出力経路上に出力するように、ルーティング値に応答する。アービトレーション動作モードにおいて、アービトレーション回路は、関連付けられたソース回路からの複数のアサートされた伝送要求が存在する場合、所定の優先順位スキームに従い複数のアサートされた伝送要求間のコンフリクトを解消する。【選択図】図１
2010193443.tif 000002
【特許請求の範囲】
【請求項１】
複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの１つに接続でき、かつ複数のワード線を提供する、複数のデータ入力経路と、
前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの１つに接続でき、かつ複数のビット線を提供できる、複数のデータ出力経路と、
前記データ入力経路のうちの１つと、前記データ出力経路のうちの１つとの間の各交差点に関連付けられるクロスバーセルであって、各クロスバーセルは、
ルーティング値を記憶するようにプログラムできる構成記憶回路であって、前記ルーティング値は、前記データ入力経路のワード線に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路のビット線上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路のワード線に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路のビット線上に出力されないことを、第２の値が示すようにプログラムされる、構成記憶回路と、
伝送動作モードで、前記データ入力経路のワード線に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を前記データ出力経路の前記ビット線上に出力するよう、前記第１の値を有する前記ルーティング値に応答する伝送回路と、
前記関連付けた交差点の前記データ入力経路に接続された前記ソース回路から、前記クロスバーセルによって受信された前記伝送要求に基づいて、アービトレーション動作モードで動作するアービトレーション回路であって、伝送要求が、前記ソース回路が前記関連付けた交差点において、前記データ入力経路から前記データ出力経路にデータをルーティングしたいことを示すようにアサートされる場合、前記アービトレーション回路は、前記データ出力経路の前記ビット線を再利用するように同じデータ出力経路と関連付けられた他のクロスバーセルの前記アービトレーション回路と組み合わせて動作し、前記同じデータ出力経路の複数のアサートされた伝送要求の存在を検出し、このような複数のアサートされた伝送要求の場合、所定の優先順位スキームを実装して、前記同じデータ出力経路と関連付けられた１つだけのクロスバーセルの前記構成記憶回路を、そのルーティング値が前記第１の値にプログラムされるように配設され、それによって、前記所定の優先順位スキームに従い前記複数のアサートされた伝送要求間のコンフリクトを解消する、アービトレーション回路と、を備える、クロスバーセルと、
を備える、クロスバー回路。
【請求項２】
各データ出力経路がｎ本のビット線を提供し、
各構成記憶回路は、同じデータ出力経路と関連付けられたｎ個までのクロスバーセルに対して、それらのクロスバーセルの前記構成記憶回路が、前記ｎ本のビット線のうちの関連付けられた異なるビット線を有するように、それを介して前記ルーティング値が前記構成記憶回路にプログラムされる前記ｎ本のビット線のうちの１つと関連付けられ、
前記アービトレーション動作モードにおいて、アサートされた伝送要求を受信する同じデータ出力経路と関連付けられた任意のクロスバーセルの前記アービトレーション回路は、前記所定の優先順位スキームに依存する前記ｎ本のビット線に対する電圧を選択的に修正するように配設され、
その後、アサートされた伝送要求を受信するクロスバーセルの各構成記憶回路は、前記ルーティング値をプログラムするために、その関連付けられたビット線に対する電圧をサンプリングする、請求項１に記載のクロスバー回路。
【請求項３】
前記ビット線のそれぞれは、第１の電圧レベルにプリチャージされ、次いで、前記アービトレーション動作モード中、アサートされた伝送要求を受信する同じデータ出力経路と関連付けられた任意のクロスバーセルの前記アービトレーション回路は、前記所定の優先順位スキームに依存する前記ｎ本のビット線に対する前記電圧を選択的にディスチャージする、請求項２に記載のクロスバー回路。
【請求項４】
各構成記憶回路は、アサートされた伝送要求が存在する場合、前記アービトレーション回路により実行される前記選択的ディスチャージ動作の後にその関連付けられたビット線に対する電圧を感知する感知増幅器有効ラッチを備える、請求項３に記載のクロスバー回路。
【請求項５】
各データ入力経路がｎ本のワード線を提供し、
前記アービトレーション動作モードにおいて、同じデータ入力経路と関連付けられたｎ個までのクロスバーセルに対する前記伝送要求は、その同じデータ入力経路の前記ｎ本のワード線を介して前記クロスバー回路に入力される、請求項１に記載のクロスバー回路。
【請求項６】
各構成記憶回路は、同じデータ入力経路と関連付けられたｎ個までのクロスバーセルに対して、それらのクロスバーセルの前記構成記憶回路が、それを介して前記伝送要求が受信される前記ｎ本のワード線のうちの関連付けられた異なるワード線を有するように、前記ｎ本のワード線のうちの１つと関連付けられる、請求項５に記載のクロスバー回路。
【請求項７】
ｍｎ×ｍｎマトリクスのクロスバーセルが提供され、式中ｍは２以上の整数であり、
前記マトリクスは複数のセクションに分割され、
前記所定の優先順位スキームを実装して、前記同じデータ出力経路と関連付けられた１つだけのクロスバーセルの前記構成記憶回路を、そのルーティング値が前記第１の値にプログラムされるようにするために、一連のアービトレーション動作が使用され、それにより、前記所定の優先順位スキームに従い複数のアサートされた伝送要求間のコンフリクトを解消し、
前記一連における各アービトレーション動作に対して、前記複数のセクションにおける１つ以上のセクションがそのアービトレーション動作を受ける、請求項６に記載のクロスバー回路。
【請求項８】
各アービトレーション動作は、前記一連のアービトレーション動作が行われた後に前記複数のセクションのすべてが前記アービトレーション動作を受けるように、単一のセクションに対して動作する、請求項７に記載のクロスバー回路。
【請求項９】
前記一連のうちの第１のアービトレーション動作において、前記複数のセクションのすべては、ルーティング値が前記第１の値にプログラムされる前記構成記憶回路を含有する、前記複数における前記セクションのうちの１つを識別するために、前記第１のアービトレーション動作を受け、
前記一連のうちの第２のアービトレーション動作において、前記第１のアービトレーション動作により識別された前記セクションのうちの前記１つは、ルーティング値が前記第１の値にプログラムされるそのセクション内の前記構成記憶回路を識別するために、第２のアービトレーション動作を受ける、請求項７に記載のクロスバー回路。
【請求項１０】
前記所定の優先順位スキームが固定される、請求項１に記載のクロスバー回路。
【請求項１１】
各クロスバーセルは、
前記所定の優先順位スキームを実装するために前記ｎ本のビット線のうちの１つ以上に関して前記関連付けられたアービトレーション回路により実行される前記アクションを識別する優先順位データを記憶するようにプログラム可能な優先順位記憶回路をさらに備える、請求項１に記載のクロスバー回路。
【請求項１２】
アサートされたロード優先順位信号を受信する任意の優先順位記憶回路が、それに記憶された優先順位データを更新するために少なくとも１つのワード線上のデータをサンプリングするように、優先順位割当動作モードにおいて、前記データ入力経路のうちの１つ以上の前記複数のワード線を介して優先順位データを入力し、前記クロスバーセルのうちの１つ以上の前記優先順位記憶回路に優先順位ロード信号をアサートする、優先順位構成モジュールをさらに備える、請求項１１に記載のクロスバー回路。
【請求項１３】
各データ出力経路がｎ本のビット線を提供し、
各構成記憶回路は、同じデータ出力経路と関連付けられたｎ個までのクロスバーセルに対して、それらのクロスバーセルの前記構成記憶回路が、前記ｎ本のビット線のうちの関連付けられた異なるビット線を有するように、それを介して前記ルーティング値が前記構成記憶回路にプログラムされる前記ｎ本のビット線のうちの１本と関連付けられ、
各クロスバーセル内において、前記アービトレーション回路および前記優先順位記憶回路は、そのクロスバーセルの前記構成記憶回路に関連付けられた１本のビット線を除くｎ−１本のビット線と関連付けられ、前記優先順位記憶回路は、前記所定の優先順位スキームを実装するために、それらのｎ−１本のビット線のうちのどれが前記アービトレーション回路により電圧を修正されるべきかを識別する、請求項１１に記載のクロスバー回路。
【請求項１４】
前記複数のワード線はｎ本のワード線を備え、
ｎ／ｍ×ｎ／ｍマトリクスのクロスバーセルが提供され、式中ｍは２以上の整数であり、
各クロスバーセルは、複数の優先順位記憶回路を備え、前記複数は、ｍ以下であり、
前記優先順位構成モジュールは、前記データ入力経路のｎ本のワード線を使用して、各クロスバーセルに複数の優先順位記憶回路をプログラムするように配設される、請求項１２に記載のクロスバー回路。
【請求項１５】
前記複数のソース回路は、前記複数のデータ入力経路の第１の端部に接続可能であり、
前記優先順位構成モジュールは、前記複数のデータ入力経路の第２の端部に接続可能であり、
前記ソース回路は、各データ入力経路の前記複数のワード線を介して、アサートされた伝送要求を発行するように配設され、
前記優先順位構成モジュールは、各ソース回路により発行された前記アサートされた伝送要求を監視するように、また、各ソース回路からのアサートされた伝送要求の数に依存して、前記優先順位割当動作モード中、前記優先順位構成モジュールにより出力される前記優先順位データを修正するように配設される、請求項１２に記載のクロスバー回路。
【請求項１６】
各クロスバーセルは、
そのクロスバーセルの構成記憶回路と関連付けられた１つのビット線と連結された解放回路をさらに備え、アサートされた解放要求の受信後に、チャネル解放回路が、そのクロスバーセルの前記構成記憶回路における前記ルーティング値として前記第２の値を記憶させるレベルまで、その１つのビット線に対する電圧を修正させる、請求項２に記載のクロスバー回路。
【請求項１７】
前記ビット線のそれぞれが、第１の電圧レベルにプリチャージされ、
前記アサートされた解放要求の受信後に、前記解放回路は、そのクロスバーセルの前記構成記憶回路と関連付けられた前記１本のビット線に対する電圧をディスチャージし、
各構成記憶回路は、前記関連付けられた解放回路へのアサートされた解放要求が存在する場合、前記ルーティング値を前記第２の値に更新するために、前記解放回路により実行されるディスチャージ動作の後にその関連付けられたビット線に対する電圧を感知する感知増幅器有効ラッチを備え、それにより、関連付けられたデータ出力経路を解放する、請求項１６に記載のクロスバー回路。
【請求項１８】
各データ入力経路がｎ本のワード線を提供し、
同じデータ入力経路と関連付けられたｎ個までのクロスバーセルに対する前記解放要求は、その同じデータ入力経路の前記ｎ本のワード線を介して前記クロスバー回路に入力され、
各解放回路は、同じデータ入力経路と関連付けられたｎ個までのクロスバーセルに対して、それらのクロスバーセルの前記解放回路が、それを介して前記解放要求が受信される前記ｎ本のワード線のうちの関連付けられた異なるワード線を有するように、前記ｎ本のワード線のうちの１つと関連付けられる、請求項１６に記載のクロスバー回路。
【請求項１９】
前記関連付けられたデータ入力経路の前記ｎ本のワード線が解放要求または伝送要求を担持しているかどうかを識別するために、前記アービトレーション動作モードにおいて前記解放要求が発行され、前記アービトレーション動作モードにおいて前記複数のソース回路により制御信号が発行される、請求項１８に記載のクロスバー回路。
【請求項２０】
構成記憶回路が前記アービトレーション動作モード中に前記第１の値にプログラムされるそのルーティング値を有する、同じデータ出力経路と関連付けられた前記１つのクロスバーセルに対し、前記アサートされた伝送要求が承諾されたことを確認するために前記関連付けられたソース回路に承諾信号がアサートされる、請求項１に記載のクロスバー回路。
【請求項２１】
前記伝送動作モードにおいてクロスバーセルに関連付けられた各データ出力経路は、データ転送の前に第１の論理レベルにプリチャージされ、各クロスバーセルの前記伝送回路は、
前記データ出力経路と第２の論理レベルとの間に直列に接続される、第１および第２のスイッチを備え、
前記伝送動作モードにおいて、前記第１のスイッチは、前記関連付けた構成記憶回路内に記憶されているルーティング値に依存して開かれるか、または閉じられ、前記第２のスイッチは、前記データ入力経路上で入力される前記データに依存して開かれるか、または閉じられる、請求項１に記載のクロスバー回路。
【請求項２２】
各前記データ入力経路は、前記伝送動作モード中に、ｎビットの入力データ値を担持するための、ｎ本のワード線を備え、各前記データ出力経路は、前記伝送動作モード中に、ｎビットのデータ値を担持するための、ｎ本のビット線を備え、少なくとも前記第２のスイッチは、ビット線ごとに複製される、請求項２１に記載のクロスバー回路。
【請求項２３】
前記伝送動作モードにおいて、前記データ出力経路のビット線は、前記ルーティング値が前記第１の値であり、かつ対応するワード線上の前記入力データビットが、前記第１の論理レベルにある場合、前記第２の論理レベルにプルされる、請求項２１に記載のクロスバー回路。
【請求項２４】
各クロスバーセルは、前記ルーティング値に関わらず前記第１のスイッチをオフにし、一方で、前記関連付けたデータ出力経路を前記第１の論理レベルにプリチャージするための、および前記第１のスイッチを、前記ルーティング値によって制御し、その後に、前記関連付けたデータ出力経路を前記第１の論理レベルにプリチャージできるようにするための、条件付きディスチャージ回路をさらに備える、請求項２３に記載のクロスバー回路。
【請求項２５】
前記伝送動作モード中に、前記データ出力経路の前記ビット線上の前記データ出力を検出し、それによって、前記データ出力経路上のビット線の電圧が、前記第２の論理レベルに到達する前に、前記第２の論理レベルへの遷移を検出できるようにする、感知増幅回路をさらに備える、請求項２３に記載のクロスバー回路。
【請求項２６】
前記複数のソース回路のそれぞれと、前記複数のデータ入力経路との間の符号化回路と、
前記複数のデータ出力経路のそれぞれと、前記複数の宛先回路との間の復号回路と、をさらに備え、
前記符号化回路は、各ソース回路によって提供される入力データを符号化した形態に符号化するように、符号化動作を適用し、該動作は、元の入力データが前記クロスバー回路を通過した場合、前記データ出力経路を前記第２の論理レベルにプルするのに必要になり得る回数と比較した時に、前記出力経路を前記第２の論理レベルにプルし、その後に、それらを前記第１の論理レベルにプリチャージするのに必要な回数を低減し、
前記復号回路は、前記データ出力経路上で出力される前記符号化したデータから、前記ソース回路によって提供される前記元の入力データを同定するように、対応する復号動作を適用する、
請求項２３に記載のクロスバー回路。
【請求項２７】
前記複数のソース回路は、前記複数のデータ入力経路のいずれかの端部に接続できる、請求項１に記載のクロスバー回路。
【請求項２８】
前記複数の宛先回路は、前記複数のデータ出力経路のいずれかの端部に接続できる、請求項１に記載のクロスバー回路。
【請求項２９】
各データ入力経路は、ワード線ドライバにより隔てられた複数の入力経路部分からなり、
各ワード線ドライバは、前記関連付けられたデータ入力経路に沿って提供されるが、そのワード線ドライバよりも前記ソース回路から遠くにあるクロスバーセルの前記構成記憶回路に記憶された前記ルーティング値に基づき有効化され、
各ワード線ドライバは、前記関連付けられたデータ入力経路に沿って提供されるが、そのワード線ドライバよりも前記ソース回路から遠くにある少なくとも１つのクロスバーセルの前記構成記憶回路が、前記第１の値に設定されたルーティング値を有する場合にのみ有効化される、請求項１に記載のクロスバー回路。
【請求項３０】
データ処理装置であって、
データ値を記憶するための複数のメモリデバイスと、
前記複数のメモリデバイスに記憶されている複数のデータ値に対して、並列してデータ処理動作を実行するための、複数のプロセッサと、
前記複数のメモリデバイスのうちのいずれかのメモリデバイスから、前記複数のプロセッサのうちのいずれかのプロセッサに、前記データ値をルーティングするための、請求項１に記載のクロスバー回路と、
を備える、データ処理装置。
【請求項３１】
複数のソース手段と、複数の宛先手段とを相互接続し、よって、前記複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、前記複数のソース手段のうちの１つに接続し、かつ複数のワード線手段を提供するための、データ入力経路手段と、
前記複数のデータ入力経路手段を横断する前記クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、前記複数の宛先手段のうちの１つに接続し、かつ複数のビット線手段を提供するための、データ出力経路手段と、
前記データ入力経路手段のうちの１つと、前記データ出力経路手段のうちの１つとの間の各交差点に関連付けられるクロスバーセル手段であって、各クロスバーセル手段は、
ルーティング値を記憶するためにプログラムできる構成記憶手段であって、前記ルーティング値は、前記データ入力経路手段の前記ワード線手段に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路手段の前記ビット線手段上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路手段の前記ワード線手段に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路手段の前記ビット線手段上に出力されないことを、第２の値が示すようにプログラムされる、構成記憶手段と、
前記データ入力経路手段の前記ワード線手段に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を前記データ出力経路手段の前記ビット線手段上に出力するための、伝送動作モードで、前記第１の値を有する前記ルーティング値に応答する伝送手段と、
前記関連付けた交差点の前記データ入力経路手段に接続された前記ソース手段から、前記クロスバーセル手段によって受信された伝送要求に基づいて、アービトレーション動作モードで動作するためのアービトレーション手段であって、前記ソース手段が、前記関連付けた交差点において、前記データ入力経路手段から前記データ出力経路手段へデータをルーティングしたいことを示すように、前記伝送要求がアサートされる場合、前記アービトレーション手段は、同じデータ出力経路手段と関連付けられた他のクロスバーセル手段の前記アービトレーション手段と組み合わせて動作し、前記データ出力経路手段の前記ビット線手段を再利用して、前記同じデータ出力経路手段の複数のアサートされた伝送要求の存在を検出し、このような複数のアサートされた伝送要求の場合、所定の優先順位スキームを実装して、前記同じデータ出力経路手段と関連付けられた１つだけのクロスバーセル手段の前記構成記憶手段を、そのルーティング値が前記第１の値にプログラムされるようにし、それによって、前記所定の優先順位スキームに従い、前記複数のアサートされた伝送要求間のコンフリクトを解消する、アービトレーション手段と、を備える、クロスバーセル手段と、
を備える、クロスバー回路。
【請求項３２】
複数のソース回路と複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができ、前記クロスバー回路は、前記クロスバー回路を通過する複数のデータ入力経路を有し、各データ入力経路は、前記複数のソース回路のうちの１つに接続でき、かつ複数のワード線を提供し、複数のデータ出力経路は、前記複数のデータ入力経路を横断する前記クロスバー回路を通過し、各データ出力経路は、前記複数の宛先回路のうちの１つに接続でき、かつ複数のビット線を提供する、クロスバー回路を動作させる方法であって、
前記データ入力経路のうちの１つと、前記データ出力経路のうちの１つとの間の各交差点を関連付けて、クロスバーセルを採用するステップと、
各クロスバーセルでルーティング値をプログラミングするステップであって、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路の前記ビット線上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路のビット線上に出力されないことを、第２の値が示すようにプログラムされる、ステップと、
伝送動作モードにおいて、前記データ入力経路の前記ワード線に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を、前記データ出力経路の前記ビット線上に出力するよう、前記クロスバーセルを、前記第１の値を有する前記ルーティング値に応答させるステップと、
アービトレーション動作モードにおいて、前記関連付けた交差点の前記データ入力経路に接続された前記ソース回路から、前記クロスバーセルによって受信された伝送要求に基づいて、前記クロスバーセル内のアービトレーション回路を動作させるステップであって、前記ソース回路が、前記関連付けた交差点において、前記データ入力経路から前記データ出力経路へデータをルーティングしたいことを示すように、前記伝送要求がアサートされる場合、前記アービトレーション回路は、同じデータ出力経路と関連付けられた他のクロスバーセルの前記アービトレーション回路と組み合わせて動作し、データ出力経路のビット線を再利用して、前記同じデータ出力経路の複数のアサートされた伝送要求の存在を検出し、このような複数のアサートされた伝送要求の場合、所定の優先順位スキームを実装して、前記同じデータ出力経路と関連付けられた１つだけのクロスバーセルの前記構成記憶回路を、そのルーティング値が前記第１の値にプログラムされるようにし、それによって、前記所定の優先順位スキームに従い前記複数のアサートされた伝送要求間のコンフリクトを解消する、ステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロスバー回路およびそのようなクロスバー回路の動作方法に関する。
【背景技術】
【０００２】
クロスバー回路は、マトリクス様態で複数の入力を複数の出力に接続するためのスイッチ基盤である。したがって、クロスバー回路を使用して、複数のソース回路と、複数の宛先回路とを相互接続することができ、よって、複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、複数の宛先回路のうちのいずれかに出力することができる。クロスバー回路は、様々な実現形態で使用することができる。例えば、データ処理システムの実現形態では、このようなクロスバー回路を使用して、データ値に対してデータ処理動作を実行するのに使用される複数のプロセッサと、それらのデータ値を記憶するのに使用される複数のメモリデバイスとを相互接続することができ、それによって、データ値を、任意のメモリデバイスから任意のプロセッサにルーティングできるようにする。
【０００３】
クロスバー回路を生成するための既知の手法は、クロスバー回路を形成するのに必要な構成要素に起因して、クロスバー回路のための大きな面積と、制御信号をそれらの構成要素にルーティングするために必要な多数の制御線と、を必要とし、また、大量の電力も消費する。さらに、それらの複雑さは、サイズとともに急激に増大し、既知の手法の大部分を、多数のソース回路と多数の宛先回路とを相互接続するのに必要なクロスバー回路との使用について、非実用的なものとする。いくつかの既知の手法を以下に述べる。
【０００４】
Ｋ  Ｃｈａｎｇ他による論文「Ａ  ５０Ｇｂ／ｓ  ３２×３２  ＣＭＯＳ  Ｃｒｏｓｓｂａｒ  Ｃｈｉｐ  ｕｓｉｎｇ  Ａｓｙｍｍｅｔｒｉｃ  Ｓｅｒｉａｌ  Ｌｉｎｋｓ」、１９９９  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔｓ、Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ、１９〜２２ページ、およびＴ  Ｗｕ他による論文「Ａ  ２Ｇｂ／ｓ  ２５６×２５６  ＣＭＯＳ  Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ  Ｆａｂｒｉｃ  Ｃｏｒｅ  Ｄｅｓｉｇｎ  ｕｓｉｎｇ  Ｐｉｐｅｌｉｎｅｄ  ＭＵＸ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ、２００２、５６８〜５７１ページは、任意の入力ソースから任意の出力宛先へのデータのルーティングを可能にするように、マルチプレクサの階層的配設を使用したクロスバー回路を記載している。しかしながら、このようなＭＵＸに基づくクロスバー回路は、比較的にサイズが大きく、電力消費が多い。さらに、それらは、一般的に、種々のマルチプレクサを制御するために、相当な数の制御線を必要とする。このようなＭＵＸに基づく設計は、一般的に、少なくとも部分的には、サイズが大きくなるにつれて、必要な制御信号を種々のマルチプレクサにルーティングすることがますます困難になるため、サポートする入力および出力数の増加により拡張することができない。さらに、入力データが、入力バス上でルーティングされるマルチビットデータである場合、データ経路自体のルーティングが非常に複雑になる。
【０００５】
Ｒ  Ｇｏｌｓｈａｎ他による論文「Ａ  Ｎｏｖｅｌ  Ｒｅｄｕｃｅｄ  Ｓｗｉｎｇ  ＣＭＯＳ  Ｂｕｓ  Ｉｎｔｅｒｆａｃｅ  Ｃｉｒｃｕｉｔ  ｆｏｒ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｌｏｗ  Ｐｏｗｅｒ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ、３５１〜３５４ページ、１９９４は、入力経路が水平方向に通り、出力経路が垂直方向に通る、Ｘ−Ｙ方式のクロスバー回路を記載している。各入力経路と出力経路との間の交差点には、フリップフロップ回路の形態で記憶素子が提供され、その出力は、入力経路と出力経路とを連結するのに使用されるトランジスタを制御する。しかしながら、このような設計は、クロスバー回路が所要のルーティングを実行するために、種々のフリップフロップをプログラムするのに多数の制御線を必要とする。さらに、入力データ経路上に提供される入力データは、関連する出力データ経路上の出力データを駆動するのに使用される。多数の入力および出力に適応するようにクロスバー回路が大きくなるにつれて、出力データ経路の容量が増加し、それに応じて、容量の増加を克服するために、より大きな駆動トランジスタを入力に提供する必要がある。加えて、データ入力経路とデータ出力経路との間の交差点で、フリップフロップによって駆動される連結トランジスタは、クロスバー回路のサイズが増加した時に、サイズを増加させる必要もある。さらに、一般的に、クロスバー回路のサイズが増加した時には、データ出力経路内に１つ以上のバッファを含めることが必要となる。これらの全ての要因は、より具体的にはより多くの入力および出力に適応するようにクロスバー回路のサイズを増加させた時に、クロスバー回路の素子および関連付けた制御線のレイアウトに重大な問題を生じさせる。したがって、この手法は、複雑になり、拡張することができない。
【０００６】
Ｐ  Ｗｉｊｅｔｕｎｇａによる論文「Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｒｏｓｓｂａｒ  Ｄｅｓｉｇｎ  ｆｏｒ  Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｔｈｉｒｄ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎｓ、２００３は、データ入力経路とデータ出力経路との間の各交差点に位置付けられる伝送回路としてパストランジスタチェーンを採用する、クロスバー設計を記載している。入力データを出力データ経路へ連結するのに、パストランジスタチェーンが必要である時、出力データ経路上に位置付けられる電流感知回路を使用して、入力データ値を検出する。この設計の極めて不利な点は、電流感知デバイスを各出力経路上に位置付けるための要件に起因して、多量の電力を消費することである。さらに、クロスバー回路内で多数の制御信号をルーティングする必要があり、実際に、それらの制御信号は、より多くの入力および出力に適応するようにクロスバー回路のサイズを増加させるにつれて、ルーティング要件を支配するようになる。したがって、ここでも、この設計は、より大きいクロスバー回路の設計に、容易に拡張することができない。
【０００７】
Ｍ  Ｂｏｒｇａｔｔｉ他による論文「Ａ  Ｍｕｌｔｉ−Ｃｏｎｔｅｘｔ  ６．４Ｇｂ／ｓ／Ｃｈａｎｎｅｌ  Ｏｎ−Ｃｈｉｐ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋ  ｕｓｉｎｇ  ０．１８μｍ  Ｆｌａｓｈ−ＥＥＰＲＯＭ  Ｓｗｉｔｃｈｅｓ  ａｎｄ  Ｅｌａｓｔｉｃ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ」、ＩＳＳＣＣ  ２００３、Ｓｅｓｓｉｏｎ  ２６、Ｅｍｂｅｄｄｅｄ  ａｎｄ  Ｄｉｇｉｔａｌ  Ｓｙｓｔｅｍｓ、Ｐａｐｅｒ  ２６．５は、改良したフラッシュＥＥＰＲＯＭデバイスのマトリクスを使用して実現した、プログラム可能なクロスバーを記載している。しかしながら、図２６．５．６から明らかなように、ソースデバイスから宛先デバイスへのデータ入力のルーティングに関与するメモリセルの数は、それらのデバイスがクロスバー内に接続される場所に依存し、したがって、信号がクロスバーを通過するタイミングは、決定論的ではない。さらに、種々のフラッシュＥＥＰＲＯＭセルのプログラミングを可能にするには、多数の制御線が必要となり、それらの種々のフラッシュＥＥＰＲＯＭセルをプログラムするには、かなり多くの時間が必要となる。したがって、クロスバーデバイスのあらゆる再構成にも、かなり時間がかかる。
【０００８】
したがって、このようなクロスバーの設計は、複雑であり、また、必要とされる制御線の急増により、より多くの入力デバイスおよび出力デバイスをクロスバーによってサポートすることが必要になるので、複雑さが増加する。さらに、クロスバーのタイミングは、決定論的でないため、クロスバーの設計を、特定の実現形態について不適当なものとする。
【０００９】
要約すると、上述の考察から、既存のクロスバー設計は、一般的に、制御信号の複雑なルーティングを伴い、その複雑さは、クロスバーのサイズが増加するにつれて、急激に増加することが理解されよう。必要な制御線の数に部分的に起因して、およびクロスバーのサイズが増加するにつれて、クロスバー内に提供される特定の構成要素のサイズを増加させる必要性に部分的に起因して、しばしば、該設計は、大量の電力を消費し、かつ拡張性に乏しい。
【００１０】
クロスバー設計における別の問題は、コリジョン検出および解消能力を備えたクロスバーをいかに提供するかである。スイッチングファブリックにおける同じ宛先に対する複数の要求は、コリジョンと呼ばれる。ソースおよび宛先の数が増加するに伴い、コリジョンはより頻繁となる。そのような状況下では、クロスバー回路の全体的な効率においてアービトレーションが障壁となる。
【００１１】
最も最近のスイッチングファブリックは、主として、データを伝送するクロスバー、およびクロスバーを構成するアービターの２つのモジュールからなる。そのような実現形態において、ソース回路は、アービターにチャネルの要求を送信する。アービターはすべての要求をサンプリングし、いくつかの優先順位割当スキームを使用して要求の一部またはすべてを承諾し、それに従いクロスバーを構成する。このスキームは、拡張性に関して次の２つの大きな問題を有する。
【００１２】
１）ソース回路からアービターへのすべての要求信号、およびすべての承諾信号の返信をルーティングすることは、より大きなシステムではますます困難となる。
２）アービターは、決定を下すことができるためには、受信するすべての要求だけでなくクロスバーの現在の状態を知っている必要がある。周期ごとにクロスバーの状態を監視するには、追加の論理および相互接続が必要である。これは追加的な遅延の一因となる。
【００１３】
パケットスイッチングネットワークの拡張性およびアービトレーション遅延に対応するために、多くの試みがなされている。Ｃｈｉ  Ｈ．他による論文「Ｄｅｃｏｍｐｏｓｅｄ  Ａｒｂｉｔｅｒｓ  ｆｏｒ  Ｌａｒｇｅ  Ｃｒｏｓｓｂａｒｓ  ｗｉｔｈ  Ｍｕｌｔｉ−Ｑｕｅｕｅ  Ｉｎｐｕｔ  Ｂｕｆｆｅｒｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｄｅｓｉｇｎ、１４−１６  Ｏｃｔ  １９９１、２３３〜２３８ページにおいて、著者は、アービトレーションプロセスが完了する前にいくつかの要求が承諾され得るようなアービターの分解について述べている。しかしながら、最悪条件のアービトレーション遅延は依然として同じままである。一般に、アービトレーション遅延はサイズとともに直線的に増大する。
【００１４】
Ｄｅｌｇａｄｏ−Ｆｒｉａｓ他による論文「Ａ  ＶＬＳＩ  Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ  ｗｉｔｈ  Ｗｒａｐｐｅｄ  Ｗａｖｅ  Ｆｒｏｎｔ  Ａｒｂｉｔｒａｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ、Ｖｏｌｕｍｅ  ５０、Ｉｓｓｕｅ  １、Ｊａｎ．  ２００３、１３５〜１４１ページ、およびＫａｖａｌｄｊｉｅｖ  Ｎ．他による論文「Ａ  Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ  Ｒｏｕｔｅｒ  ｆｏｒ  Ｏｎ−ｃｈｉｐ  Ｎｅｔｗｏｒｋｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  ＳｏＣ  Ｃｏｎｆｅｒｅｎｃｅ、１２−１５  Ｓｅｐｔ．  ２００４、２８９〜２９３ページでは、著者は、クロスバー内におけるアービトレーションの取扱いについて述べている。しかしながら、開示された実現形態は、拡張性がなく、４＊４のサイズのクロスバーに制限されている。
【００１５】
Ｓｈｉｎ  Ｅ．他による論文「Ｒｏｕｎｄ−ｒｏｂｉｎ  Ａｒｂｉｔｅｒ  Ｄｅｓｉｇｎ  ａｎｄ  Ｇｅｎｅｒａｔｉｏｎ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｙｓｔｅｍ  Ｓｙｎｔｈｅｓｉｓ、２００２、２４３〜２４８ページでは、著者は、ラウンドロビンアービターを生成するツールを提案している。この手法は階層的であり、４＊４スイッチから３２＊３２スイッチを形成しようとしている。
【００１６】
Ｗｉｌｌｉａｍ  Ｗ．  Ｐｌｕｍｍｅｒによる論文「Ａｓｙｎｃｈｒｏｎｏｕｓ  Ａｒｂｉｔｅｒｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ  Ａｒｃｈｉｖｅ  Ｖｏｌｕｍｅ  ２１、Ｉｓｓｕｅ  １  （Ｊａｎｕａｒｙ  １９７２）、３７〜４２ページ、Ｃｈａｒｌｅｓ  Ｅ．  Ｍｏｌｎａｒ他による論文「Ｓｉｍｐｌｅ  Ｃｉｒｃｕｉｔｓ  ｔｈａｔ  Ｗｏｒｋ  ｆｏｒ  Ｃｏｍｐｌｉｃａｔｅｄ  Ｒｅａｓｏｎｓ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ａｄｖａｎｃｅｄ  Ｒｅｓｅａｒｃｈ  ｉｎ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ、２０００．  （ＡＳＹＮＣ  ２０００）  Ｐｒｏｃｅｅｄｉｎｇｓ、およびＭａｒｋ  Ｂ．  Ｊｏｓｅｐｈｓ他による論文「ＣＭＯＳ  Ｄｅｓｉｇｎ  ｏｆ  ｔｈｅ  Ｔｒｅｅ  Ａｒｂｉｔｅｒ  Ｅｌｅｍｅｎｔ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＶＬＳＩ  ｓｙｓｔｅｍｓ、Ｖｏｌｕｍｅ  ４、Ｉｓｓｕｅ  ４、Ｄｅｃ  １９９６、４７２〜４７６ページでは、アービトレーションのためのいくつかの非同期的技法が記載されている。これらの設計は、無作為性を達成するためにメタ安定性を利用する。しかしながら、メタ安定システムにおける遅延が時折高くなる可能性があり、それにより確実なスループットを必要とするリアルタイムシステムにおけるその使用は制限されている。
【００１７】
要約すると、文献に見られる多くの解決法は、２＊２または４＊４スイッチを使用した大型クロスバースイッチの作製に対する階層的手法を使用する。したがって、クロスバースイッチのサイズとともに遅延が直線的に増大する。これにより、幅広い並列システム（ＳＩＭＤ／ＭＩＭＤ型アプリケーション）において電圧拡張性の余地がなくなる。
【００１８】
さらに、例えば上述した論文「Ａ  Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ  Ｒｏｕｔｅｒ  ｆｏｒ  Ｏｎ−ｃｈｉｐ  Ｎｅｔｗｏｒｋｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  ＳｏＣ  Ｃｏｎｆｅｒｅｎｃｅ、１２−１５  Ｓｅｐｔ．  ２００４、２８９〜２９３ページに述べられているような、アービターおよびクロスバーを互いに統合する以前の試みにおいては、それらを空間的に近接させることのみが可能となっている。しかしながら、両方の機能性のための論理および相互接続は、相容れないままであった。
【００１９】
従来の実現形態において、コリジョン検出および解消は階層的に行われる。これはアービトレーション論理の複数の段階において達成され、各段階の後に要求の数がある特定の割合低減される。
【先行技術文献】
【非特許文献】
【００２０】
【非特許文献１】K Chang 他, “A 50 Gb/s 32x32 CMOS Crossbar Chip using Asymmetric Serial Links” 1999 Symposium on VLSI Circuits, Digest of Technical Papers, Pages 19 to 22
【非特許文献２】T Wu 他, “A 2 Gb/s 256x256 CMOS Crossbar Switch Fabric Core Design using Pipelined MUX”, IEEE International Symposium on Circuits and System, 2002, Pages 568 to 571
【非特許文献３】R Golshan 他, “A Novel Reduced Swing CMOS Bus Interface Circuit for High Speed Low Power VLSI Systems”, IEEE International Symposium on Circuits and System, Pages 351 to 354, 1994
【非特許文献４】P Wijetunga, “High-Performance Crossbar Design for System-On-Chip”, Proceedings of the Third IEEE International Workshop on System-On-Chip for Real-Time Applications, 2003
【非特許文献５】M Borgatti 他, “A Multi-Context 6.4 Gb/s/Channel On-Chip Communication Network using 0.18 μm Flash-EEPROM Switches and Elastic Interconnects”, ISSCC 2003, Session 26
【非特許文献６】Chi H. 他, “Decomposed Arbiters for Large Crossbars with Multi-Queue Input Buffers”, IEEE International Conference on Computer Design, 14-16 Oct 1991, pages: 233-238
【非特許文献７】Delgado-Frias 他, “A VLSI Crossbar Switch with Wrapped Wave Front Arbitration”, IEEE Transactions on Circuits and Systems, Volume 50, Issue 1, Jan. 2003 Pages: 135-141
【非特許文献８】Kavaldjiev N. 他, “A Virtual Channel Router for On-chip Networks”, IEEE International SoC Conference, 12-15 Sept. 2004, pages: 289-293
【非特許文献９】Shin E. 他, “Round-robin Arbiter Design and Generation”, International Symposium on System Synthesis, 2002,  pages: 243-248
【非特許文献１０】William W. Plummer, “Asynchronous Arbiters”, IEEE Transactions on Computers Archive Volume 21, Issue 1 (January 1972) Pages 37-42
【非特許文献１１】Charles E. Molnar 他, “Simple Circuits that Work for Complicated Reasons”, International Symposium on Advanced Research in Asynchronous Circuits and Systems, 2000. (ASYNC 2000) Proceedings
【非特許文献１２】Mark B. Josephs 他, “CMOS Design of the Tree Arbiter Element”, IEEE Transactions on VLSI systems, Volume 4, Issue 4, Dec 1996 Page(s):472-476
【発明の概要】
【発明が解決しようとする課題】
【００２１】
したがって、上記の問題を緩和する、改良されたクロスバー設計を提供することが望ましい。
【課題を解決するための手段】
【００２２】
第１の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路を提供し、該クロスバー回路は、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの１つに接続でき、かつ複数のワード線を提供する、データ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの１つに接続でき、かつ複数のビット線を提供する、データ出力経路と、該データ入力経路のうちの１つと該データ出力経路のうちの１つとの間の各交差点に関連付けられるクロスバーセルと、を備え、各クロスバーセルは、ルーティング値を記憶するようにプログラムできる構成記憶回路であって、ルーティング値が、データ入力経路のワード線に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路のビット線上に出力されることを、第１の値が示すようにプログラムされ、ルーティング値が、データ入力経路のワード線に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路のビット線上に出力されないことを、第２の値が示すようにプログラムされる、構成記憶回路と、伝送動作モードにおいて、データ入力経路のワード線に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示を、データ出力経路のビット線上に出力するよう、該第１の値を有するルーティング値に応答する、伝送回路と、関連付けた交差点のデータ入力経路に接続されたソース回路からクロスバーセルによって受信された伝送要求に基づいて、アービトレーション動作モードで動作するアービトレーション回路であって、該ソース回路が、関連付けた交差点において、データ入力経路からデータ出力経路にデータをルーティングしたいことを示すように、伝送要求がアサートされる場合、アービトレーション回路は、同じデータ出力経路に関連付けられた他のクロスバーセルのアービトレーション回路と組み合わせて動作し、データ出力経路のビット線を再利用して、該同じデータ出力経路の複数のアサートされた伝送要求の存在を検出し、このような複数のアサートされた伝送要求の場合、所定の優先順位スキームを実装して、該同じデータ出力経路と関連付けられた１つだけのクロスバーセルの構成記憶回路を、そのルーティング値が該第１の値にプログラムされるように配設し、それによって、該所定の優先順位スキームに従い該複数のアサートされた伝送要求間のコンフリクトを解消する、アービトレーション回路と、を備える。
【００２３】
本発明によれば、クロスバーセルは、データ入力経路とデータ出力経路との間の各交差点と関連付けられ、各クロスバーセルは、伝送動作モードにおいて、それに記憶されたルーティング値に基づきそのデータ入力経路上のデータをそのデータ出力経路に選択的に接続するように配設された構成記憶回路と、アービトレーション動作モードにおいて、複数のアサートされた伝送要求間のコンフリクトを解消するために、他のクロスバーセルのアービトレーション回路と組み合わせて動作するアービトレーション回路とを備える。具体的には、伝送要求がソース回路からクロスバーセルに対しアサートされた場合、そのクロスバーセルのアービトレーション回路は、同じデータ出力経路と関連付けられた他のクロスバーセルのアービトレーション回路と組み合わせて動作し、データ出力経路のビット線を再利用して同じデータ出力経路の複数のアサートされた伝送要求の存在を検出する。そのような複数のアサートされた伝送要求の場合、アービトレーション回路は、所定の優先順位スキームを実装して、同じデータ出力経路と関連付けられた１つだけのクロスバーセルの構成記憶回路を、そのルーティング値が第１の値（すなわち、伝送動作モードにおいて、クロスバーセルに、そのデータ入力経路をそのデータ出力経路に連結させる値）にプログラムされるようにするために、組み合わせて動作する。
【００２４】
したがって、本発明によれば、アービトレーション動作モードにおいて、特定のデータ出力経路のコンフリクトを検出するために、および任意の時点で１つだけのソース回路が特定のデータ出力経路へのアクセスを承諾されるようにコンフリクトを解消するために、データ出力経路のビット線が再利用される。
【００２５】
本発明の配設において、アービターおよびクロスバー機能の両方が、ともにクロスバー回路内に統合される。アービターは極めて論理中心であるがクロスバーは極めてルーティング中心であり、クロスバー回路のクロスバーセル内でこれらの２つの機能を互いにブリッジすることにより、ルーティングトラックおよびチップにおけるシリコン空間のより効率的な利用が達成される。さらに、このように従来的にクロスバーとアービターとの間に生じる通信オーバーヘッドが軽減される。クロスバー回路内の各交差点に関連付けられたクロスバーセルにクロスバー構成を記憶することにより、アービトレーションのためのデータ出力経路のビット線の再利用が可能となる。
【００２６】
本発明によれば、クロスバー回路は、ＳＲＡＭアレイトポロジーの形式でレイアウトすることができ、クロスバーセルがアレイとしてレイアウトされ、データ入力経路がワード線を提供し、データ出力経路がビット線を提供する。そのような配設により、サイズおよび必要とされる相互接続の数の双方の観点から、非常に効率的なレイアウトが可能となる。
【００２７】
一実施形態において、各データ出力経路はｎ本のビット線を提供し、各構成記憶回路は、同じデータ出力経路と関連付けられたｎ個までのクロスバーセルに対して、それらのクロスバーセルの構成記憶回路が、該ｎ本のビット線のうちの関連付けられた異なるビット線を有するように、それを介してルーティング値が構成記憶回路にプログラムされる該ｎ本のビット線のうちの１つと関連付けられる。該アービトレーション動作モードにおいて、アサートされた伝送要求を受信する同じデータ出力経路と関連付けられた任意のクロスバーセルのアービトレーション回路は、該所定の優先順位スキームに依存するｎ本のビット線に対する電圧を選択的に修正するように配設され、その後、アサートされた伝送要求を受信するクロスバーセルの各構成記憶回路は、該ルーティング値をプログラムするために、その関連付けられたビット線に対する電圧をサンプリングする。
【００２８】
同じデータ出力経路における異なるクロスバーセルの構成記憶回路が異なるビット線と関連付けられ、またアサートされた伝送要求を受信するそのデータ出力経路におけるそれらのクロスバーセルのアービトレーション回路がｎ本のビット線に対する電圧を選択的に修正するため、アサートされた伝送要求を受信する各クロスバーセルの構成記憶回路がアービトレーションプロセスの後にその関連付けられたビット線上の電圧をサンプリングする時点で、ビット線の１つだけが、関連付けられた構成記憶回路に該第１の値をルーティング値として記憶させる値にあることを確実とすることにより、所定の優先順位スキームを実装することが可能であり、それにより、単一のソース回路が任意の時点でデータ出力経路へのアクセスを承諾されることが可能となる。
【００２９】
アービトレーション回路がｎ本のビット線に対する電圧を選択的に修正する様態では、実現形態に依存して変化し得る。しかしながら、一実施形態において、ビット線のそれぞれは第１の電圧レベルにプリチャージされ、次いでアービトレーション動作モード中、アサートされた伝送要求を受信する同じデータ出力経路と関連付けられた任意のクロスバーセルのアービトレーション回路は、該所定の優先順位スキームに依存するｎ本のビット線に対する電圧を選択的にディスチャージする。したがって、そのような実施形態において、ビット線は、所定の優先順位スキームを実装するために条件付きでディスチャージされ、それにより、アービトレーション動作モード中のいかなるコンフリクトも解消される。
【００３０】
ソース回路からクロスバーセルに伝送要求がアサートされ得る様式は数多くある。しかしながら、一実施形態において、各データ入力経路はｎ本のワード線を提供し、アービトレーション動作モードにおいて、同じデータ入力経路と関連付けられたｎ個までのクロスバーセルに対する伝送要求は、その同じデータ入力経路のｎ本のワード線を介してクロスバー回路に入力される。したがって、そのような実施形態において、データ入力経路は、アサートされた伝送要求の提供のためにそれ自体アービトレーション動作モードにおいて再利用される。
【００３１】
具体的な一実施形態において、各構成記憶回路は、同じデータ入力経路と関連付けられたｎ個までのクロスバーセルに対して、それらのクロスバーセルの構成記憶回路が、それを介して伝送要求が受信される該ｎ本のワード線のうちの関連付けられた異なるワード線を有するように、該ｎ本のワード線のうちの１つと関連付けられる。
【００３２】
データ入力経路のｎ本のワード線およびデータ出力経路のｎ本のビット線がアービトレーション動作モード中に再利用されるそのような実施形態において、コンフリクト検出および解消が単一段階で実行可能であり、それにより、コリジョン検出および解消が複数の段階で階層的に行われる従来の先行技術の手法と比較して、著しい性能上の利益が得られることが分かる。
【００３３】
具体的には、ｎ×ｎまでのマトリクスのクロスバーセルを備えるクロスバー回路において、コンフリクト検出および解消が単一段階で実行可能であることが分かる。
【００３４】
しかしながら、本発明の実施形態の技法は、より大きなマトリクスのクロスバーセルを有するクロスバー回路とともに使用することもできる。具体的には、一実施形態において、ｍｎ×ｍｎ（ｍは２以上の整数である）マトリクスのクロスバーセルが提供され、マトリクスは複数のセクションに分割され、所定の優先順位スキームを実装して、該同じデータ出力経路と関連付けられた１つだけのクロスバーセルの構成記憶回路を、そのルーティング値が該第１の値にプログラムされるようにするために、一連のアービトレーション動作が使用され、それにより、該所定の優先順位スキームに従い複数のアサートされた伝送要求間のコンフリクトを解消する。一連における各アービトレーション動作に対して、該複数のセクションにおける１つ以上のセクションがそのアービトレーション動作を受ける。
【００３５】
具体的な一実施形態において、各アービトレーション動作は、該一連のアービトレーション動作が行われた後に該複数のセクションのすべてが該アービトレーション動作を受けるように、単一のセクションに対して動作する。したがって、例えば、１６ビットデータ入力経路およびデータ出力経路を備える６４×６４クロスバー回路の場合、クロスバー回路は４つのセクションに分割することができ、アービトレーション動作はそれらのセクションのそれぞれに対し順次実行される。一実施形態において、周期ごとにカウンタをインクリメントして、その周期においてアービトレーション中に処理するセクションを選択することができる（上記の例では２ビットカウンタで十分である）。そのような実現形態はまだ最小限の配線および論理オーバーヘッドの利益を維持するが、所与の要求に対するアービトレーション待ち時間は、その要求が関連付けられているセクションに依存して変化し得る（上記の例では、待ち時間は１周期から４周期まで変化し得る）。
【００３６】
代替の実施形態において、一連のうちの第１のアービトレーション動作において、複数のセクションのすべては、ルーティング値が該第１の値にプログラムされる構成記憶回路を含有する、該複数のうちの１つのセクションを識別するために、第１のアービトレーション動作を受ける。次いで、一連のうちの第２のアービトレーション動作において、第１のアービトレーション動作により識別されたセクションのうちの該１つは、ルーティング値が該第１の値にプログラムされるそのセクション内の構成記憶回路を識別するために、第２のアービトレーション動作を受ける。そのような実施形態によれば、クロスバーは再びセクションに分割されるが、その場合アービトレーションは２つのステップ、つまり、まずセクション間、次いで所与のセクションにおけるすべての要求間で階層的に実行される。両方のアービトレーションステップに、同じ群のビット線を使用することができる。
【００３７】
一実施形態において、各クロスバーセルは２つの構成記憶回路を備え、第１は関連付けられたセクションが最も高い優先順位のアサートされた伝送要求を含有するかどうかを検出するために使用され、第２は最も高い優先順位のアサートされた伝送要求がその特定のクロスバーセルと関連付けられているかどうかを検出するための後続のアービトレーションステップにおいて使用される。
【００３８】
例えば、１６ビットデータ入力経路およびデータ出力経路を備える６４×６４クロスバーにおいて、クロスバーは再び４つのセクションに分割され得る。セクション０が最も高い優先順位を有し、そのセクションと関連付けられた少なくとも１つのソースが伝送要求をアサートする場合、アービトレーションの第１の段階では、そのセクションにおける各クロスバーセル内の第１の構成記憶回路は、ルーティング値が第１の値にプログラムされ、一方他のセクションにおけるそれらはそのルーティング値が第２の値にプログラムされる（両方の場合において、プログラムは、第１の構成記憶回路それぞれに関連付けられたビット線に対する電圧の結果生じる）。次の周期において、セクション０に関してアサートされた伝送要求のみが考慮され、ビット線はまたアービトレーションに使用され、ここで第２の構成記憶回路は関連付けられたビット線を感知する。特定のクロスバーセルで両方の構成記憶回路がそのルーティング値を第１の値に設定された場合、これは、関連付けられたアサートされた伝送要求が優先し、データ伝送動作モードにおいてそのクロスバーセルがその入力をその出力に接続することを意味する。
【００３９】
そのような実現形態は、いくつかの追加的な論理を犠牲にするが追加的な相互接続は犠牲にせずに、固定された２周期アービトレーション待ち時間を有する。データ出力経路における１６本のビット線では、１６個までのセクション間を調停することが可能であり、各セクションは１６個までのアサートされた伝送要求を受信することができる。したがって、アービトレーション待ち時間は、２５６×２５６クロスバーまでのクロスバーに対し２周期に維持され得る。
【００４０】
アービトレーション動作モード中にアービトレーション回路により実装される所定の優先順位スキームは、様々な形態をとり得る。一実施形態において、所定の優先順位スキームが固定され得る。しかしながら、代替の実施形態において、各クロスバーセルは、所定の優先順位スキームを実装するためにｎ本のビット線のうちの１つ以上に関して関連付けられたアービトレーション回路により実行されるアクションを識別する優先順位データを記憶するようにプログラム可能な優先順位記憶回路をさらに備える。したがって、これは、所定の優先順位スキームが経時的に再プログラムされることを可能とし、これによりアービトレーションスキームに様々なソース回路によるクロスバー回路へのアクセスの公平性を改善させることができる。
【００４１】
一実施形態において、クロスバー回路は、アサートされたロード優先順位信号を受信する任意の優先順位記憶回路が、それに記憶された優先順位データを更新するために少なくとも１つのワード線上のデータをサンプリングするように、優先順位割当動作モードにおいて、データ入力経路のうちの１つ以上の複数のワード線を介して優先順位データを入力し、クロスバーセルのうちの１つ以上の優先順位記憶回路に優先順位ロード信号をアサートする、優先順位構成モジュールをさらに備える。この手法を介して、選択された優先順位記憶回路と関連付けられた優先順位を更新することができるか、または代替として、各クロスバーセルの優先順位記憶回路を並行して再プログラムすることができる。
【００４２】
一実施形態において、各データ出力経路はｎ本のビット線を提供し、各構成記憶回路は、同じデータ出力経路と関連付けられたｎ個までのクロスバーセルに対して、それらのクロスバーセルの構成記憶回路が、該ｎ本のビット線のうちの関連付けられた異なるビット線を有するように、それを介してルーティング値が構成記憶回路にプログラムされる該ｎ本のビット線のうちの１つと関連付けられる。各クロスバーセル内において、アービトレーション回路および優先順位記憶回路は、そのクロスバーセルの構成記憶回路に関連付けられた１本のビット線を除くｎ−１本のビット線と関連付けられ、優先順位記憶回路は、該所定の優先順位スキームを実装するために、それらのｎ−１本のビット線のうちのどれがアービトレーション回路により電圧を修正されるべきかを識別する。
【００４３】
具体的な一実施形態において、優先順位記憶回路は、優先順位記憶回路と関連付けられたｎ−１本のビット線毎に１つの、ｎ−１個の優先順位記憶素子で形成され得る。優先順位記憶素子は、様々な形態をとり得るが、一実施形態においてはＳＲＡＭセルで形成される。
【００４４】
クロスバー回路がｎ×ｎクロスバーセル未満である場合、前述したようなアービトレーションモードにおいて再利用されないワード線およびビット線が存在することが理解される。例えば、６４ビットデータ入力経路およびデータ出力経路を備える１６×１６クロスバー回路を考慮すると、前述の手法を用いて、アービトレーション中にワード線およびビット線の４分の１のみが使用される。そのような場合、各クロスバーセルに複数の優先順位記憶回路を提供することにより、各クロスバーセルに複数の優先順位を記憶することができる。すると優先順位構成モジュールは、データ入力経路のワード線を使用して、各クロスバーセルに複数の優先順位記憶回路をプログラムすることができる。するとその後、予めロードされた様々な優先順位の間を、それらを再ロードする必要なくスイッチすることが可能であり、それにより、単一の周期で１つの優先順位スキームと別の優先順位スキームとの間をスイッチさせることが可能となる。例えば、上述の所与のシナリオにおいて、各クロスバーセルに４つの優先順位を記憶し、アービトレーション中にそれらのいずれかを選択的に使用することが可能である。また、優先順位割当動作モード中に４つすべての優先順位を１周期でロードするために、余分の入力線を使用することも可能である。
【００４５】
優先順位構成モジュールは、様々な様式で動作可能である。例えば、一実施形態において、それは、ワード線を使用してクロスバーセルの優先順位記憶回路に優先順位を定期的に書き込む有限状態機械（ＦＳＭ）として機能することができる。具体的な一実施形態において、それはラウンドロビンスキームで優先順位を割り当てることができるが、その他の任意の好適な優先順位スキームを使用することができることが理解される。
【００４６】
しかしながら、代替の実施形態において、クロスバー回路の全体的な効率を増加させることを目指すために、優先順位構成モジュールを使用して適応型優先順位プログラミングを実行することができる。具体的には、一実施形態において、複数のソース回路は、該複数のデータ入力経路の第１の端部に接続可能であり、優先順位構成モジュールは、該複数のデータ入力経路の第２の端部に接続可能であり、ソース回路は、各データ入力経路の複数のワード線を介してアサートされた伝送要求を発行するように配設され、優先順位構成モジュールは、各ソース回路により発行されたアサートされた伝送要求を監視するように、また、各ソース回路からのアサートされた伝送要求の数に依存して、優先順位割当動作モード中、優先順位構成モジュールにより出力される優先順位データを修正するように配設される。したがって、そのような実施形態において、優先順位構成モジュールは、特定のソース回路によりどのデータ出力経路が最も使用されるかを割り出すために、クロスバーに送信されたアサートされた伝送要求の数を監視することができる。次いでそれは、クロスバー回路の全体的な効率が増加するように、この情報を使用して優先順位をより知的に割り当てる。効率は、クロスバー回路が伝送動作モードにある動作時間（すなわち、伝送要求間のコンフリクトを検出し解消するのではなくデータを送信するためにビット線が使用される期間）の割合として定義することができる。
【００４７】
一実施形態において、各クロスバーセルは、そのクロスバーセルの構成記憶回路と関連付けられた１つのビット線と連結された解放回路をさらに備え、アサートされた解放要求の受信後に、チャネル解放回路が、そのクロスバーセルの構成記憶回路における該ルーティング値として該第２の値を記憶させるレベルまで、その１つのビット線に対する電圧を修正させる。これは、データの伝送を終了した後にソース回路に特定のデータ出力経路を解放させ、それによってより低い優先順位のソース回路が後にそのデータ出力経路を獲得することを目指すのを可能とするための、単純で効果的な機構を提供する。
【００４８】
具体的な一実施形態において、ビット線のそれぞれは第１の電圧レベルにプリチャージされ、該アサートされた解放要求の受信後に、解放回路は、そのクロスバーセルの構成記憶回路と関連付けられた１つのビット線に対する電圧をディスチャージする。さらに、各構成記憶回路は、関連付けられた解放回路へのアサートされた解放要求が存在する場合、ルーティング値を該第２の値に更新するために、解放回路により実行されるディスチャージ動作の後にその関連付けられたビット線に対する電圧を感知する感知増幅器有効ラッチを備え、それにより、関連付けられたデータ出力経路を解放する。したがって、そのような実施形態において、クロスバーセルのチャネルを解放するために、関連付けられた感知増幅器有効ラッチにより感知されるビット線がディスチャージされ、後にサンプリングされる。
【００４９】
一実施形態において、各データ入力経路はｎ本のワード線を提供し、同じデータ入力経路と関連付けられたｎ個までのクロスバーセルに対する開放要求は、その同じデータ入力経路のｎ本のワード線を介してクロスバー回路に入力される。さらに、各解放回路は、同じデータ入力経路と関連付けられたｎ個までのクロスバーセルに対して、それらのクロスバーセルの解放回路が、それを介して解放要求が受信される該ｎ本のワード線のうちの関連付けられた異なるワード線を有するように、該ｎ本のワード線のうちの１つと関連付けられる。したがって、そのような実施形態において、解放要求は、データ入力経路のワード線の再利用により効率的に発行され得る。
【００５０】
具体的な一実施形態において、関連付けられたデータ入力経路のｎ本のワード線が解放要求または伝送要求を担持しているかどうかを識別するために、該アービトレーション動作モードにおいて解放要求が発行され、アービトレーション動作モードにおいて複数のソース回路により制御信号が発行される。したがって、そのような実施形態において、制御信号を使用して、ワード線を介してルーティングされた情報が解放要求または伝送要求を識別するかどうか、ひいてはアービトレーション回路または解放回路が有効化される必要があるかどうかを認めることができる。具体的な一実施形態において、制御信号は、実際に２つの別個の信号線の形態をとり、１つはチャネル要求信号、もう１つはチャネル解放信号であり、これらの２つの信号のうちの１つだけが任意の時点で設定され得る。一実施形態において、これらの２つの信号は行ごとに提供され、したがって任意の特定行内で、クロスバーセルは任意の時点で解放要求または伝送要求を処理している。いくつかの実現形態において、ある行のいくつかのクロスバーセルが開放要求を処理する一方でその他のクロスバーセルが伝送要求を処理することができるように、より細かい粒度の制御信号を提供することが可能である。
【００５１】
一実施形態において、アービトレーション動作モード中にクロスバーセルがそのルーティング値を第１の値にプログラムされた場合、アサートされた伝送要求が承諾されたことを確認するために、関連付けられたソース回路に承諾信号がアサートされる。一実施形態において、ソース回路は、１度に１つの要求のみを送信でき、そのような実施形態においては、典型的には行ごとに１つだけの承諾信号が発行される。しかしながら、代替の実施形態において、ソース回路は、１度に複数の要求を送信可能となることができ、そのような実施形態においては、行ごとに複数の承諾信号を提供することができ、１つの承諾信号は各データ出力経路と関連付けられている。
【００５２】
伝送回路は、様々な様式で動作可能である。しかしながら、一実施形態において、伝送動作モードでクロスバーセルに関連付けられる各データ出力経路は、データ転送の前に第１の論理レベルにプリチャージされ、各クロスバーセルの伝送回路は、データ出力経路と第２の論理レベルとの間に直列に接続される、第１および第２のスイッチを備え、伝送動作モードにおいて、第１のスイッチは、関連付けた構成記憶回路内に記憶されているルーティング値に依存して開かれるか、または閉じられ、第２のスイッチは、データ入力経路上で入力されるデータに依存して開かれるか、または閉じられる。特定の一実施形態において、第１の論理レベルは、供給電圧レベルＶｄｄであり、第２の論理レベルは、接地である。したがって、このような配設によって、入力データ経路上のデータは、出力データ経路上のデータを直接的に駆動せず、代わりに、出力データ経路上のデータは、第１の論理レベルに留まるか、または第１および第２のスイッチの両方が閉じられる場合、第２の論理レベルの方へディスチャージされる。
【００５３】
このような伝送回路の配設によって、伝送回路は、クロスバー回路のサイズに関わらず、変化させる必要が無く、したがって、データ出力経路の長さ、さらには入力データ経路上で入力データを提供する駆動回路も、クロスバー回路のサイズが増加した時にサイズを変更する必要が無い。したがって、クロスバー回路のサイズが増加した場合、各クロスバーセルの回路を変更する必要が無く、代わりに、クロスバーセルの数を増加させるだけでよい。したがって、このような設計を使用することによって、クロスバー回路の遅延は、サイズとともに直線的に増大し、このようなクロスバー回路の設計を、（例えば、１２８×１２８または２５６×２５６入力／出力の）非常に大きいクロスバーに対して使用できるようにする。加えて、本設計は、非常に標準的であり、クロスバー回路を通じた全ての経路にわたる遅延は均一である。
【００５４】
一実施形態において、各該データ入力経路は、伝送動作モード中に、ｎビットの入力データ値を担持するための、ｎ本のワード線を備え、各該データ出力経路は、該伝送動作モード中に、ｎビットのデータ値を担持するための、ｎ本のビット線を備え、少なくとも第２のスイッチは、各ビット線ごとに複製される。したがって、伝送回路の設計は、いかなるクロスバー回路の著しい複雑さの増加も伴わずに、種々のサイズのデータ入力経路およびデータ出力経路に容易に適応することができる。
【００５５】
一実施形態では、伝送動作モードにおいて、データ出力経路のビット線は、ルーティング値が該第１の値であり、かつ対応するワード線上の入力データビットが該第１の論理レベルにある場合に、第２の論理レベルにプル（pull）される。したがって、構成記憶回路内に記憶されているルーティング値が、データ入力経路を、データ出力経路に連結すべきであり、かつデータ入力経路上のデータが論理１レベルにあることを示している場合、データ出力経路は、第２の論理レベルの方へディスチャージされる。
【００５６】
一実施形態において、各クロスバーセルは、ルーティング値に関わらず第１のスイッチをオフにし、一方で、関連付けたデータ出力経路を第１の論理レベルにプリチャージし、および第１のスイッチを、ルーティング値によって制御し、その後に、関連付けたデータ出力経路を第１の論理レベルにプリチャージできるようにするための、条件付きディスチャージ回路をさらに備える。したがって、このような条件付きディスチャージ回路は、入力からデータ出力経路のビット線を分離し、一方で、それらは、プリチャージされ、それによって、プリチャージ動作の電力消費を低減する。また、このような配設によって、データ入力経路は、その時の入力からデータ出力経路を分離させる条件付きディスチャージ回路により、プリチャージ動作と同時に駆動することができ、それによって、動作の速度を増加させることを可能にする。
【００５７】
さらに、上述した伝送回路の配設を使用することによって、全てのデータ出力経路のビット線を、第１の論理レベルにプリチャージし、次いで、関連付けたデータ入力経路のワード線への入力値およびルーティング値に依存して、第１の論理レベルのままにするか、または第２の論理レベルに遷移させることに留意されたい。その結果、２本の隣接するビット線への電圧が反対方向に移動するといったいかなる状況も生じず、それによって、容量結合効果が低減され、それによって、動作の速度が向上する。
【００５８】
データ出力経路が、データ転送の前にプリチャージされ、次いで、ルーティング値およびデータ入力値に依存して、選択的にディスチャージされる実施形態では、感知増幅回路の使用を通じてクロスバー回路の電力消費を低減することができる。より具体的には、一実施形態において、クロスバー回路は、伝送動作モード中に、データ出力経路のビット線上のデータ出力を検出し、それによって、データ出力経路のビット線の電圧が第２の論理レベルに到達する前に、第２の論理レベルへの遷移を検出できるようにする、感知増幅回路をさらに備える。遷移の検出は、データ出力経路のビット線が第２の論理レベルに到達する前に生じるので、データ出力経路のビット線を第１の論理レベルへプリチャージするのに必要な電力が、大幅に低減される。
【００５９】
このようなデータ出力経路のプリチャージが生じる実施形態では、よって、クロスバー回路に提供される前に、入力データを好適に符合化することによって、さらなる省電力化を得ることができる。より具体的には、一実施形態において、クロスバー回路は、該複数のソース回路のそれぞれと、該複数のデータ入力経路との間の符号化回路と、該複数のデータ出力経路のそれぞれと、該複数の宛先回路との間の復号回路と、をさらに備え、符号化回路は、各ソース回路によって提供される入力データを符号化した形態に符号化するように、符号化動作を適用し、該動作は、元の入力データがクロスバー回路を通過した場合、データ出力経路を、第２の論理レベルにプルするのに必要になり得る回数と比較した時に、出力経路を、第１の論理レベルにプリチャージした後に第２の論理レベルにプルするのに必要な回数を低減し、復号回路は、データ出力経路上で出力される符号化したデータから、ソース回路によって提供される元の入力データを同定するように、対応する復号動作を適用する。
【００６０】
特定の一実施形態において、符合化動作は、入力データから生成される符号化した形式が、入力データが変化する時に、論理１値だけであり、それによって、データ出力経路が、入力が変化した時にだけディスチャージされるようにする。復号回路は、次いで、データ出力経路上で出力される符号化したデータから、元の入力データを再形成する。
【００６１】
本発明の実施形態のクロスバー回路の標準的な設計、および各クロスバーセルの伝送回路が動作する様態のため、複数のソース回路を、複数のデータ入力経路のいずれかの端部に接続でき、それによって、クロスバー回路およびソース回路が提供される装置のレイアウトを設計する時の柔軟性が大幅に向上する。同様に、複数の宛先回路は、複数のデータ出力経路のいずれかの端部に接続できる。
【００６２】
一実施形態において、ワード線ドライバのシーケンスを使用して、データ入力経路に接続された様々なクロスバーセルに、それらのデータ入力経路に沿ってデータ入力値を伝播することができる。マルチキャスティングがサポートされず、したがって各ソースが１度に１つの出力経路へのアクセスしか要求しない単一要求の実施形態において、それが必要とされない状況において、データ入力経路の全体に沿ってデータを伝播することに大量の電力が消費され得る。一実施形態において、この電力消費は、部分的に有効化されたネットワーク配置の提供により軽減される。具体的には、一実施形態において、各データ入力経路は、ワード線ドライバにより隔てられた複数の入力経路部分からなり、各ワード線ドライバは、関連付けられたデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにあるクロスバーセルの構成記憶回路に記憶されたルーティング値に基づき有効化される。結果として、各ワード線ドライバは、関連付けられたデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある少なくとも１つのクロスバーセルの構成記憶回路が、該第１の値に設定されたルーティング値を有する場合にのみ有効化される。そのような手法は、著しい省電力化をもたらすことができる。
【００６３】
本発明の実施形態のクロスバー回路は、様々なシステムで利用されてもよい。しかしながら、本発明の第２の態様によれば、データ処理装置が提供され、データ値を記憶するための複数のメモリデバイスと、該複数のメモリデバイス内に記憶されている複数のデータ値に対して、並列してデータ処理動作を実行するための複数のプロセッサと、該複数のメモリデバイスのうちのいずれかから、該複数のプロセッサのうちのいずれかに、データ値をルーティングするための、本発明の第１の態様によるクロスバー回路と、を備える。
【００６４】
本発明の実施形態のクロスバー回路は、メモリデバイスのうちのいずれかから、プロセッサのうちのいずれかにデータ値をルーティングするための、とりわけ単純で、拡張性があり、また電力効率の良い機構を提供する。
【００６５】
第３の態様から見ると、本発明は、複数のソース手段と、複数の宛先手段とを相互接続し、よって、該複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先手段のうちのいずれかに出力することができるクロスバー回路を提供し、該クロスバー回路は、該クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段が、該複数のソース手段のうちの１つに接続し、かつ複数のワード線手段を提供するための、データ入力経路手段と、複数のデータ入力経路手段を横断する該クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段が、該複数の宛先手段のうちの１つに接続し、かつ複数のビット線手段を提供するための、データ出力経路手段と、該データ入力経路手段のうちの１つと、該データ出力経路手段のうちの１つとの間の各交差点に関連付けられるクロスバーセル手段であって、各クロスバーセル手段は、ルーティング値を記憶するためにプログラムできる構成記憶手段であって、ルーティング値は、データ入力経路手段のワード線手段に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路手段のビット線手段上に出力されることを、第１の値が示すようにプログラムされ、ルーティング値は、データ入力経路手段のワード線手段に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路手段のビット線手段上に出力されないことを、第２の値が示すようにプログラムされる、構成記憶手段と、データ入力経路手段のワード線手段に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示をデータ出力経路手段のビット線手段上に出力するための、伝送動作モードで、該第１の値を有するルーティング値に応答する、伝送手段と、関連付けた交差点のデータ入力経路手段に接続されたソース手段から、クロスバーセル手段によって受信された伝送要求に基づいて、アービトレーション動作モードにおいて動作するためのアービトレーション手段であって、該ソース手段が関連付けた交差点において、データ入力経路手段からデータ出力経路手段へデータをルーティングしたいことを示すように、伝送要求がアサートされる場合、アービトレーション手段は、同じデータ出力経路手段に関連付けられた他のクロスバーセル手段のアービトレーション手段と組み合わせて動作し、データ出力経路手段のビット線手段を再利用して、該同じデータ出力経路手段の複数のアサートされた伝送要求の存在を検出し、このような複数のアサートされた伝送要求の場合、所定の優先順位スキームを実装して、該同じデータ出力経路手段に関連付けられた１つだけのクロスバーセル手段の構成記憶手段を、そのルーティング値が該第１の値にプログラムされるようにし、それによって、該所定の優先順位スキームに従い該複数のアサートされた伝送要求間のコンフリクトを解消する、アービトレーション手段と、を備える。
【００６６】
第４の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができ、クロスバー回路は、該クロスバー回路を通過する複数のデータ入力経路を有し、各データ入力経路は、該複数のソース回路のうちの１つに接続でき、かつ複数のワード線を提供し、複数のデータ出力経路は、複数のデータ入力経路を横断する該クロスバー回路を通過し、各データ出力経路は、該複数の宛先回路のうちの１つに接続でき、かつ複数のビット線を提供する、クロスバー回路を動作させる方法を提供し、該データ入力経路のうちの１つと、該データ出力経路のうちの１つとの間の各交差点を関連付けて、クロスバーセルを採用するステップと、各クロスバーセルでルーティング値をプログラミングするステップであって、ルーティング値は、データ入力経路のワード線に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路のビット線上に出力されることを、第１の値が示すようにプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路のビット線上に出力されないことを、第２の値が示すようにプログラムされる、ステップと、伝送動作モードにおいて、データ入力経路のワード線に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示をデータ出力経路のビット線上に出力するよう、クロスバーセルを、該第１の値を有するルーティング値に応答させるステップと、アービトレーション動作モードにおいて、クロスバーセル内のアービトレーション回路を、関連付けた交差点のデータ入力経路に接続されたソース回路からクロスバーセルによって受信された伝送要求に基づいて動作させるステップであって、該ソース回路が関連付けた交差点において、データ入力経路からデータ出力経路へデータをルーティングしたいことを示すように、伝送要求がアサートされる場合、アービトレーション回路は、同じデータ出力経路に関連付けられた他のクロスバーセルのアービトレーション回路と組み合わせて動作し、データ出力経路のビット線を再利用して、該同じデータ出力経路の複数のアサートされた伝送要求の存在を検出し、このような複数のアサートされた伝送要求の場合、所定の優先順位スキームを実装して、該同じデータ出力経路に関連付けられた１つだけのクロスバーセルの構成記憶回路を、そのルーティング値が該第１の値にプログラムされるようにし、それによって、該所定の優先順位スキームに従い該複数のアサートされた伝送要求間のコンフリクトを解消する、ステップと、を含む。
【図面の簡単な説明】
【００６７】
【図１】一実施形態による、クロスバー回路のブロック図である。
【図２】一実施形態に従って、どのようにコリジョンが検出および解消され得るかを示す図である。
【図３】各クロスバーセルに従って提供される優先順位記憶回路が、一実施形態においてどのように用いられ得るかを示す図である。
【図４】特定のデータ出力経路（本明細書においてチャネルとも称される）を解放するためのクロスバーセルを有効にするために、一実施形態においてどのように解放回路が使用され得るかを示す図である。
【図５Ａ】列中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図５Ｂ】列中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図６Ａ】行中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図６Ｂ】行中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図７】一実施形態に従って、各クロスバーセル内に提供され得る伝送回路およびアービトレーション回路をより詳細に示す図である。
【図８】一実施形態に従って、各クロスバーセル内に提供され得る伝送回路および解放回路をより詳細に示す図である。
【図９】一実施形態に従って、パケットスイッチングクロスバーの実現形態を概略的に示す図である。
【図１０Ａ】一実施形態に従って、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１０Ｂ】一実施形態に従って、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１０Ｃ】一実施形態に従って、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１０Ｄ】一実施形態に従って、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１１Ａ】代替の実施形態に従って、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１１Ｂ】代替の実施形態に従って、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１１Ｃ】代替の実施形態に従って、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１１Ｄ】代替の実施形態に従って、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１２】一実施形態に従って、各クロスバーセル内に提供される構成記憶素子の配設をより詳細に示す図である。
【図１３Ａ】一実施形態に従って、ディスチャージおよび感知有効（ＳＥ）信号を生成するためのパルス発生器の構成を示す図である。
【図１３Ｂ】一実施形態に従って、ディスチャージおよび感知有効（ＳＥ）信号を生成するためのパルス発生器の構成を示す図である。
【図１３Ｃ】一実施形態に従って、ディスチャージおよび感知有効（ＳＥ）信号を生成するためのパルス発生器の構成を示す図である。
【図１４】一実施形態に従って、チャネルフリー信号がどのように生成されるかを示す図である。
【図１５Ａ】一実施形態に従って、図１の優先順位構成モジュールの動作を示す図である。
【図１５Ｂ】代替の実施形態に従って、図１の優先順位構成モジュールの動作を示す図である。
【図１６Ａ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、一実施形態で使用され得る、符号化および復号回路を示す図である。
【図１６Ｂ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、一実施形態で使用され得る、符号化および復号回路を示す図である。
【図１６Ｃ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、一実施形態で使用され得る、符号化および復号回路を示す図である。
【図１６Ｄ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、一実施形態で使用され得る、符号化および復号回路を示す図である。
【図１６Ｅ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、一実施形態で使用され得る、符号化および復号回路を示す図である。
【図１７】一実施形態に従って、狭いデータ入力経路およびデータ出力経路を有するクロスバー回路が動作するためにどのように配設され得るかを示す図である。
【図１８Ａ】代替の実施形態に従って、狭いデータ入力経路およびデータ出力経路を有するクロスバー回路が動作するためにどのように配設され得るかを示す図である。
【図１８Ｂ】代替の実施形態に従って、狭いデータ入力経路およびデータ出力経路を有するクロスバー回路が動作するためにどのように配設され得るかを示す図である。
【図１９】一実施形態に従って、広いデータ入力経路およびデータ出力経路を有するクロスバー回路がどのように動作し得るかを示す図である。
【図２０】一実施形態に従って、部分的に有効化された構成において、クロスバー回路がどのように使用され得るかを示す図である。
【発明を実施するための形態】
【００６８】
以下、ほんの一例として、添付図面に示されているその実施形態を参照して、本発明をさらに説明する。
【００６９】
図１は、一実施形態に従ったクロスバー回路と、それに接続された複数のソース回路および宛先回路とを備える、提案されるスイッチングファブリックの上位図を示す。クロスバー回路は、クロスバー回路を通じて第１の方向で動作する複数のデータ入力経路１２と、第１の方向を横断する第２の方向で動作する複数のデータ出力経路５０と、を含む。図１の実施形態において、これらの経路は両者とも、マルチビットバスによって形成されており、特に、各データ入力経路は、複数のワード線を備え、各データ出力経路は、複数のビット線を備える。
【００７０】
各データ入力経路とデータ出力経路との間の交差点には、クロスバーセル２０が提供され、関連付けたデータ入力経路で受信されたデータを、関連付けたデータ出力経路上に選択的にルーティングするために使用される。各クロスバーセルは、各クロスバーセルのオン／オフ状態を記憶するための、構成記憶素子を含み、よって、クロスバーセルがオン状態にある場合は、データ入力経路上で受信した入力データをデータ出力経路にルーティングし、セルがオフ状態にある場合は、入力データは、関連付けたデータ出力経路上にルーティングされずに、単にセルを通過するだけである。
【００７１】
各データ入力経路１２は、入力データ１０を受信し得る関連付けたソース回路３０に連結され、各データ出力経路５０は、そのデータ出力経路上に提供される出力データ７０を受信するように配設される、関連付けた宛先回路４０に連結される。
【００７２】
示される実施形態において、各データ出力経路５０のビット線は、プリチャージモジュール５５を用いてプリチャージされ、該ビット線は、ソース回路のうちの１つから、そのソース回路のデータをデータ出力経路に接続するクロスバーセルへのデータ入力に依存して、選択的にディスチャージされる。出力データ７０を生成するために、このビット線の選択的なディスチャージは感知増幅回路６５により検出される。
【００７３】
クロスバーが伝送動作モードにある時、データは上記の様式でクロスバー回路を通してルーティングされるが、クロスバー回路は必ずしも伝送動作モードにあるとは限らない。具体的には、様々なソース回路３０によって発行される伝送要求間に何らかのコンフリクトを検出および解消する間、クロスバー回路はアービトレーション動作モードを有する。具体的には、スイッチングファブリックにおける同じ宛先回路への複数の要求はコリジョンと称され、ソースおよび宛先の数が増加するにつれて、コリジョンはより頻繁になる。後により詳細に論じられるように、各クロスバーセル２０は、アービトレーション動作モードにおいて、複数のアサートされた伝送要求の存在を検出するためにデータ出力経路のビット線を再利用して、他のクロスバーセルのアービトレーション回路と組み合わせて動作し、またそのような複数のアサートされた伝送要求の場合には、それらのコンフリクトを解消するために所定の優先順位スキームを実装する、アービトレーション回路を含む。提案される手法は、そのようなコリジョンを検出および解消するための迅速、低電力、かつ高度に拡張可能なソリューションを提供する。
【００７４】
所定の優先順位スキームは固定されていてもよいが、一実施形態において、各クロスバーセルは、優先順位割当動作モードにおいて優先順位構成モジュール６０によってプログラムすることができる、優先順位記憶回路を含む。優先順位割当動作モードでは、クロスバーセル内の様々な優先順位記憶回路を再プログラムするために、データ入力経路のワード線が用いられる。したがって、ワード線を介して、所定の優先順位スキームを再プログラムするために優先順位割当動作モードを用いることができ、クロスバー回路を介して、様々なソース回路から様々な宛先回路へのより公平なアクセスの分布が可能になる。
【００７５】
図１では、ソース回路がクロスバーの左側に示され、宛先回路がクロスバーの下方に示されているが、ソース回路はクロスバーのいずれの側に提供されてもよく、また同様に、宛先回路はデータ出力経路のいずれの端部に提供されてもよい。したがって、本発明の実施形態のクロスバー回路は、ソースを両水平端部に、また、宛先を両垂直端部に配置するといった柔軟性を提供することを認識されるであろう。これは、ルーティングの輻輳を低減することによって、設計のフロアプランニングを簡略化する。
【００７６】
図２は、アービトレーション動作モード中のコンフリクトを検出および解消するために、どのようにデータ出力経路のビット線を再利用することができるかを示す。本例では、伝送要求０〜１５を発行し得る、クロスバー回路に接続された１６個のソース回路がある。いずれの特定のデータ出力経路５０に対しても、各ソース回路は、感知増幅およびラッチの形態で、その構成記憶回路内に組み込まれるクロスバーセル２０と関連付けられる。したがって、ソース０は感知増幅およびラッチ１００を含むクロスバーセルと関連付けられ、ソース１は感知増幅およびラッチ１０５を含むクロスバーセルと関連付けられ、ソース２は感知増幅およびラッチ１１０を含むクロスバーセルと関連付けられ、残りのソース回路も同様であり、ソース回路１５は感知増幅およびラッチ１１５を含むクロスバーセルと関連付けられる。
【００７７】
アービトレーション動作モードでは、プリチャージモジュール５５が各データ出力経路５０のすべてのビット線をプリチャージし、その後、それらのビット線は、アサートされた伝送要求に依存して、また所定の優先順位スキームに従って、選択的にディスチャージされる。本例では、各データ出力経路５０が１６本のビット線を備え、感知増幅およびラッチ回路の各々が、それらのビット線のうちの異なる１本と関連付けられていることが分かる。ビット線のプリチャージ後、様々なソース回路によってアサートされた伝送要求が評価されるが、本実施形態においてアサートされる伝送要求は論理１値を取っている。
【００７８】
アサートされた伝送要求は、最初に、様々なトランジスタ１０７、１１２、１１４、１１７、１１９、１２１、１２３を介して、ビット線の選択的なディスチャージを引き起こす。見て分かるように、本例の実施形態ではソース１５が最も高い優先順位を有するため、ソース１５が伝送要求をアサートする場合、それと関連付けられた感知増幅およびラッチ回路１１５のビット線を除くすべてのビット線のディスチャージが引き起こされる。ソース１４が次に高い優先順位を有し、ソース１３がその次に高い優先順位を有する等、ソース０が最も低い優先順位を有する。具体的には、見て分かるように、ソース０からの伝送要求（すなわち要求０）がアサートされた場合、いずれのビット線にもディスチャージが引き起こされることはない。選択的なディスチャージ動作に続いて、アサートされた伝送要求を受信した任意の感知増幅およびラッチ回路は、関連付けられたクロスバーセルが、伝送動作モードにおいて、その入力をその出力に連結するかどうかを決定するルーティング値を記憶するために、関連付けられたビット線のサンプリングを行う。具体的には、ルーティング値が第１の値（一実施形態において、これは論理１値である）を有する場合にのみ、関連付けられたクロスバーセルは伝送動作モード中にその入力データをその出力に接続し、また上記スキームによって、アービトレーション動作モードの終わりには、１つのクロスバーセルのみが感知増幅およびラッチ回路を論理１値に設定することが理解されるであろう。
【００７９】
したがって、例として、ソース１およびソース２の両方がアサートされた伝送要求を発行した場合、アサートされた要求１およびアサートされた要求２の両方が、トランジスタ１０７、１１２を介して第１のビット線のディスチャージを引き起こすことが分かる。結果として、ソース０が要求をアサートした場合でも、関連付けられた感知増幅およびラッチ回路１００がアービトレーション動作モードの終わりに論理０値をラッチするため、その要求は承諾されない。さらには、アサートされた要求２が、トランジスタ１１４を介して第２のビット線のディスチャージを引き起こすので、アービトレーション動作モードの終わりに、ソース１と関連付けられた感知増幅およびラッチ回路１０５が論理０値をラッチする。したがって、たとえソース１が伝送要求をアサートしたとしても、ソース２も既にアサートされた伝送要求を発行しているため、その伝送要求は承諾されない。その周期では他のソース回路は伝送要求をアサートしていないと仮定すると、ソース回路２と関連付けられた感知増幅およびラッチ回路１１０が、アービトレーション動作モードの終わりに論理１値をラッチするため、ソース２からの伝送要求が承諾されることが分かるであろう。
【００８０】
上記の説明から、受信するアサートされた伝送要求が、より低い優先順位のソースからの他のアサートされた伝送要求の抑制をもたらすことが分かる。次いで、いずれかのアサートされた伝送要求に対する感知増幅およびラッチ回路は、要求が承諾されるか否かを決定するために、それらに関連付けられたビット線のサンプリングを行う。この技法によって、単一周期内でコリジョンを検出および解消することができる。さらに、アービトレーション動作モード中にコンフリクトを検出および解消するために用いられたのと同じビット線が、それに続く伝送動作モードにおいてデータの転送のために用いられることが分かる。
【００８１】
アサートされた伝送要求は、多数の異なる様式でクロスバー回路に入力することができるが、一実施形態において、アサートされた伝送要求を入力するために、データ入力経路のワード線が用いられる。したがって、各データ入力経路が１６本のワード線を有する実施形態を考えた場合、いずれかの特定のソース回路が、それらのワード線を介して、最大１６個までのデータ出力経路のうち、伝送要求をアサートしたいものを特定することが可能であり、アービトレーション動作モードにおいて、個々のワード線の各々は異なるデータ出力経路と関連付けられることが分かる。
【００８２】
図２には明確に示されていないが、典型的には、様々なトランジスタ１０７、１１２、１１４、１１７、１１９、１２１、１２３と関連付けられたいくつかの分離回路が存在し、プリチャージ動作モード中に、それらのゲートに提供される様々な要求入力の値にかかわらず、これらのトランジスタが確実にオフになるようにする。
【００８３】
図２ではアービトレーションに用いられる優先順位が固定されているが、一実施形態において、図３に概略的に示されるように、優先順位記憶回路の提供を通じて、優先順位をクロスバーセルに記憶させることができる。具体的には、図３に示すように、各クロスバーセルは、そのクロスバーセルの感知増幅およびラッチ回路に接続されたビット線を除く各ビット線と関連付けられたトランジスタ１３５のシーケンスを含む。次いで、優先順位記憶素子１３０が、これらの優先順位記憶素子にプログラムされた値に基づいて、トランジスタ１３５のゲートに値を提供するために用いられる。図３に概略的に示されるように、図２の固定された配設に示されるような同じ優先順位スキームが所望される場合は、濃い色で示した優先順位記憶素子１３０のすべてが論理１値にプログラムされ、薄い色で示した優先順位記憶素子１３０のすべてが論理０値にプログラムされる。したがって、論理１値を記憶する優先順位記憶素子に取り付けられたトランジスタはビット線をディスチャージするが、論理０値を記憶する優先順位記憶素子に取り付けられたトランジスタはディスチャージしない。
【００８４】
図１の優先順位構成モジュール６０は、優先順位割当動作モードにおいて個々の優先順位記憶素子１３０をプログラムするために用いることができる。このモードでは、新しい優先順位スキームを割り当てるためにワード線が用いられ、具体的には、各クロスバーセルの優先順位記憶回路を形成する１５個の優先順位記憶素子をプログラムするために、１６本のワード線のうちの１５本を用いることができる。
【００８５】
図３に概略的に示される技法を用いて、データ出力経路あたり１６の階乗（１６！）個すべての順列は、各データ出力経路（本明細書において、各データ出力経路はチャネルとも称される）と関連付けられた優先順位記憶回路にプログラムすることができる。
【００８６】
図３に示した優先順位記憶素子１３０の他に、プリチャージモジュール５５によって実行されるプリチャージ動作中に、トランジスタ１３５が確実にオフになるように、典型的には、各トランジスタ１３５に対して関連付けられた分離回路がいくつか存在する。
【００８７】
一実施形態において、不要となった場合にチャネルを解放するための機構を提供するために、各クロスバーセルに解放回路が提供される。具体的には、いったんソース回路３０がチャネルへのアクセスを承諾されると、そのソース回路のみが、それに続く異なるソース回路への割付のためにチャネルを解放することができ、このチャネルの解放は、現在そのチャネルへのアクセスが承諾されているソース回路からのアサートされた解放要求に応答して、解放回路によって実行される。あるチャネルが特定のソース回路に対して承諾されても、他のソース回路がそのチャネルへのアクセスを得ることはできず、他のソース回路によってそのチャネルに関して発行されたいずれかのアサートされた伝送要求も、チャネルがソース回路に割り付けられている間は有効化されない。
【００８８】
図４は、一実施形態に従って加えられた解放回路１４０を示す。優先順位記憶素子と同様の様式において、解放回路１４０は関連付けられたトランジスタ１４５を駆動するために用いられ、この場合トランジスタは、ルーティング値を決定するために同じクロスバーセルの感知増幅およびラッチ回路によってサンプリングされるビット線に連結されている。したがって、ソース回路がチャネルを解放したいと望む場合には解放回路１４０に解放要求を送信し、それによってトランジスタ１４５に論理１値が出力され、関連付けられたビット線がディスチャージされる。その後、関連付けられた感知増幅およびラッチがビット線のサンプリングを行い、それによってそこに論理０値を記憶し、ひいてはチャネルを解放する。再び、プリチャージモジュール５５によって実行されるプリチャージ動作中に、トランジスタ１４５が確実にオフになるように、関連付けられたいくつかの分離回路が各トランジスタ１４５に提供される。
【００８９】
一実施形態では、関連付けられたデータ入力経路のワード線が解放要求または伝送要求を担持しているかどうかを判定するために、解放要求はアービトレーション動作モードにおいて発行され、制御信号はアービトレーション動作モードにあるソース回路によって発行される。したがって、今度はアサートされた解放要求を関連付けられた解放回路１４０へと担持するために、再度データ入力経路のワード線を再利用することが可能であり、それによって、以前に特定のソース回路に対して承諾されたチャネルを解放するために特に効率的な機構が提供される。
【００９０】
図５Ａ，Ｂは各クロスバーセル内に提供される主な構成要素を示し、具体的には行０、１および２の列０に提供されるクロスバーセルを示す。したがって、クロスバーセル２００は行０と列０の間の交差点に提供され、クロスバーセル２３０は行１と列０の間の交差点に提供され、クロスバーセル２６０は行２と列０の間の交差点に提供される。
【００９１】
第１のクロスバーセル２００を考えると、これは構成記憶回路２０５、伝送回路２１０、チャネル解放回路２１５、アービトレーション回路２２０および優先順位記憶回路２２５から構成されている。アービトレーション動作モードでは、伝送要求がデータ入力経路（図５Ａ，Ｂでは入力バスとも称される）を介してアサートされるため、ソース０が列０に対して伝送要求をアサートすることを望む場合は、入力バスのビット０を設定することでそれを行う。見て分かるように、ビット０の値はＡＮＤゲート２０７に入力され、他の入力は要求チャネル制御信号によって駆動される。アービトレーション動作モード中に入力バスを介していずれかのアサートされた伝送要求を発行する場合、ソース回路は要求チャネル制御信号をアサートする。つまり、ソース０がチャネル０に対してアサートされた伝送要求を発行している場合、ＡＮＤゲート２０７に対する両方の入力が論理１値となるため、アービトレーション回路２２０および構成記憶回路２０５の両方が有効化される（構成記憶回路はＯＲゲート２０８を介して有効化される）。
【００９２】
見て分かるように、構成記憶回路２０５はチャネル０のためのデータ出力経路（図５Ａ，Ｂでは出力バスとも称される）のビット０に接続されており、アービトレーション動作モードの終わりに、そこに記憶されるルーティング値を決定するために出力バスのビット０の値をサンプリングする。しかしながら、その時点までは、アービトレーション回路２２０は、出力バスのビット線を選択的にディスチャージするために、アサートされた伝送要求を受信した列と関連付けられた他のいずれかのクロスバーセルのアービトレーション回路２５０、２８０等と関連して動作する。具体的には、図５Ａ，Ｂに見られるように、クロスバーセル２００のアービトレーション回路２２０は、ビット線０を除く出力バスの他のすべてのビット線に接続されており、優先順位記憶回路２２５内にプログラムされた所定の優先順位スキームに依存して、それらのビット線を選択的にディスチャージする。
【００９３】
上記のように、アービトレーション回路２２０の選択的なディスチャージ動作後、構成記憶回路２０５はその関連する出力ビット線の値をサンプリングし、具体的には、そのビット線がまだプリチャージ電圧レベルにある場合は、ソース０がチャネル０へのアクセスを承諾されていることを示すために、構成記憶回路２０５内の論理１ルーティング値を記憶する。列中のクロスバーセルのアービトレーション回路によって実装された所定の優先順位スキームの性質によって、アービトレーション動作モードの終わりに、いずれかの特定の列に対して１個のクロスバーセルのみが、その構成記憶回路を論理１値に設定するので、１個のソース回路のみが、任意の時点における特定の宛先回路へのアクセスを承諾され得る。
【００９４】
アービトレーション動作モード後、スイッチングファブリックは伝送動作モードに入り、その間、特定のチャネルへのアクセスを承諾された各ソース回路は、入力バスを介してその入力データを提供する。したがって、ソース０が列０へのアクセスを承諾されたと仮定すると、入力バスを介して伝送回路２１０へとそのデータが発行され、構成記憶回路２０５内に論理１値が記憶されると、チャネル０のための出力バスへとその入力を接続する。
【００９５】
上で論じたように、アービトレーション動作モードおよび伝送動作モードの他に、優先順位割当動作モードも提供される。優先順位割当動作モードは頻繁に使用されることを意図するものではないが、各クロスバーセルの優先順位記憶回路２２５、２５５、２８５内に符合化されたものとして優先順位スキームの修正が可能となり、経時的にアービトレーションに公平性を持たせることができる。優先順位割当動作モードでは、入力バスを介して優先順位データを提供することが可能であり、入力バス上の値をサンプリングさせるために、ロード優先順位信号が各クロスバーセルの優先順位記憶回路に発行される。図３および図４についての上記考察からも明白であるように、１６ビットのデータ入力経路およびデータ出力経路を持つクロスバーセルの１６×１６アレイを考えた場合、各クロスバーセルの優先順位記憶回路は、実際には１５個のワード線を用いてプログラムすることが可能である１５個の優先順位記憶素子から構成され、図５Ａ，Ｂの例では、この目的のためにワード線１〜１５が用いられると推定される。
【００９６】
上記したとおり、アービトレーション動作モードでは、チャネルが既に特定のソースに承諾されている場合、それらを解放することも可能である。したがって、例として、ソース０が以前にチャネル０へのアクセスを承諾されており、構成記憶回路２０５がそこに記憶された論理１ルーティング値を有する場合は、アービトレーション動作モードにおいて、チャネル０に対してアサートされた解放要求を特定するために、入力バスのビット０上の論理１値とともに、ソース０はＡＮＤゲート２１７への解放チャネル制御信号を発行することができる。これによって論理１値がチャネル解放回路２１５に入力され、構成記憶回路がＯＲゲート２０８を介して有効化される。この論理１値に応答して、チャネル解放回路は出力バスのビット０をディスチャージし、次いで構成記憶回路２０５が出力バスを再度サンプリングすることにより、論理０値が構成記憶回路２０５内に記憶される。
【００９７】
一実施形態において、要求チャネル制御信号および解放チャネル制御信号の両方を２ビット信号に符号化することができ、その２ビット信号を用いて、アービトレーション動作モード中に、関連するソース回路がいずれかのアサートされた伝送要求を発行しているか、アサートされた解放チャネル要求を発行しているか、またはいずれのアサートされた要求も発行していないか、を特定する。
【００９８】
クロスバーセル２３０および２６０はクロスバーセル２００とまったく同じ様式で構成されているため、クロスバーセル２３０の素子２３５、２３７、２３８、２４０、２４５、２４７、２５０および２５５、ならびにクロスバーセル２６０の素子２６５、２６７、２６８、２７０、２７５、２７７、２８０および２８５は、それぞれクロスバーセル２００の素子２０５、２０７、２０８、２１０、２１５、２１７、２２０および２２５に対応している。しかしながら、図５Ａ，Ｂから明らかであるように、これらの様々な素子が様々なワード線およびビット線に接続されている様式は若干異なる。クロスバーセル２００、２３０、２６０の各々が列０と関連付けられ、アサートされた伝送要求およびアサートされた解放要求は常に関連付けられた入力バスのビット０に提供されるため、この目的のために、３つすべてのクロスバーセルがビット０（ワード線０）に接続されている。同様に、３つすべてのセルにおいて、優先順位割当動作モードで提供される優先順位情報は、入力バスのビット１〜１５によって提供され得る。しかしながら、ビット線との接続を考えると、クロスバーセル２００の構成記憶回路２０５が出力バスのビット０に接続されている一方で、クロスバーセル２３０の構成記憶回路２３５はビット１に接続され、クロスバーセル２６０の構成記憶回路２６５はビット２に接続されていることが分かる。各クロスバーセルのチャネル解放回路は、関連付けられた構成記憶回路と同じビット線に接続されている。一方、アービトレーション回路は、関連付けられた構成記憶回路に接続されたビット線を除くすべてのビット線に接続されている。伝送動作モードでは、関連付けられた構成記憶回路のルーティング値が論理１値に設定されている場合、伝送回路は入力バス上のデータを関連付けられた出力バスに接続するため、当然、伝送回路はすべてのワード線およびビット線に接続されている。
【００９９】
図６Ａ，Ｂは図５Ａ，Ｂと同様の図であるが、行０と、列０、列１、および列２の間のそれぞれの交差点に提供されるクロスバーセル２００、３００、３３０を示している。クロスバーセル２００については図５Ａ，Ｂを参照して前述したとおりであり、クロスバーセル３００、３３０は同じ様式で構成されている。したがって、クロスバーセル３００の素子３０５、３０７、３０８、３１０、３１５、３１７、３２０および３２５ならびにクロスバーセル３３０の素子３３５、３３７、３３８、３４０、３４５、３４７、３５０および３５５は、それぞれクロスバーセル２００の素子２０５、２０７、２０８、２１０、２１５、２１７、２２０および２２５に対応する。本例では、すべてのクロスバーセルが同じ行と関連付けられているため、それらはそれぞれの出力バスのビット線とまったく同じ様式で接続されている。しかしながら、入力バスを考えた場合、チャネル０へのアサートされた伝送要求または解放要求はワード線０上での入力である一方で、チャネル１へのアサートされた伝送または解放要求はワード線１上の入力であり、チャネル２へのアサートされた伝送または解放要求はワード線２上の入力である。したがって、各クロスバーセルの構成記憶回路、チャネル解放回路およびアービトレーション回路は、それに応じて、異なる入力ワード線によって駆動される。しかしながら、示される実施形態においては、優先順位記憶回路は、優先順位割当動作モード中に、すべて同じワード線１〜１５からプログラムすることができる。
【０１００】
図７は、伝送回路およびアービトレーション回路が、各ビット線にどのように接続されているかをより詳細に示している。具体的には、素子４２０が個々のビット線と関連付けられた伝送回路の部分を示し、素子４４０が個々のビット線と関係付けられたアービトレーション回路の部分を示している。
【０１０１】
１６ビット幅のチャネルを考えると、アービトレーション回路は、そのクロスバーセルが接続された構成記憶回路４１０へのビット線を除くすべてのビット線と関連付けられるため、１６本のビット線のうちの１５本が図７に示す様式で接続される。構成記憶回路４１０は、いったんクロスバーセルに提供され、そのクロスバーセルに対してアサートされた伝送要求またはアサートされた解放要求の存在下において設定される記憶構成信号を受信し、図５Ａ，Ｂおよび図６Ａ，Ｂについて上で論じたように、その設定された記憶構成信号に反応して、接続された特定のビット線上の値をその構成としてサンプリングする。これはアービトレーション動作モード中に起こり、この結果として、アービトレーション動作モードの終わりに論理１ルーティング値が構成記憶回路４１０に記憶される場合、クロスバー回路が次いでデータ伝送動作モードに入る時、伝送回路４２０のトランジスタ４２２がオンになることが分かる。したがって、対応するワード線上のデータ入力も論理１値である場合は、これによりトランジスタ４２４がオンになり、ひいてはビット線４２６がディスチャージするが、このビット線は、以前にプリチャージ回路４００によって論理１レベルまでプリチャージされている。ビット線４２６のあらゆるディスチャージが、感知増幅回路４３０によって感知される。
【０１０２】
アービトレーション動作モードでは、伝送回路は用いられず、その代わりにアービトレーション回路４４０が用いられ、ＡＮＤゲート４５５からのトランジスタ４２２によって受信される入力に依存して、ビット線４２６を選択的にディスチャージする。具体的には、優先順位記憶素子４５０が論理１値を記憶し、アサートされた伝送要求が対応するワード線を介して受信された場合、論理１値がトランジスタ４４２に入力され、トランジスタ４２６のディスチャージを引き起こす。アービトレーション動作モードの終わりにかけて、アサートされた伝送要求を受信していた別のクロスバーセルのビット線４２６と接続されている任意の構成記憶回路が、そのクロスバーセルに適用可能なルーティング値を決定するために、ビット線上の値のサンプリングを行う。
【０１０３】
別個の優先順位記憶素子４５０が、それぞれの関連付けられたアービトレーション素子４４０に提供され、その値は、優先順位割当動作モードの間に優先順位構成モジュール６０からアサートされるロード優先順位信号の存在下においてプログラム可能である。具体的には、アサートされたロード優先順位信号の存在下において、そこに記憶された優先順位の値を再プログラムするために、優先順位記憶素子４５０は、関連付けられたワード線上の値をサンプリングする。
【０１０４】
図８は、一実施形態に従った伝送回路および関連付けられた解放回路を示す。１６ビットのチャネルを考えると、このように１本のビット線が各クロスバーセル内に接続される。伝送回路の動作は図７について論じたものと変わりないため、ここでさらに論じることはしない。しかしながら、解放回路４６０が、図７のアービトレーション回路４４０の代わりに、このビット線４６２に接続されている。また、クロスバーセルの構成記憶回路４１０も、ビット線４６２に接続されていることにも留意されたい。図中に示したＡＮＤゲートに対応するＡＮＤゲート４７０は、図５Ａ，Ｂおよび図６Ａ，Ｂでチャネル解放回路に供給しており、したがって、解放チャネル制御信号がアサートされ、かつ関連付けられた入力ワード線上のビットがアサートされた場合、このことは特定のチャネルに対してアサートされた解放要求の存在を示唆するものであり、図８から分かるように、トランジスタ４６５がオンになり、ビット線４６２をディスチャージする結果となる。続いて、構成記憶回路４１０は、ビット線４６２上の値を再度サンプリングさせるアサートされた記憶構成信号を受信させられ、それによって論理０ルーティング値がそこに記憶され、こうしてチャネルが解放される。
【０１０５】
上記の技法を用いると、図９に概略的に示されるように、パケットスイッチングクロスバーを実装することが可能となる。パケットスイッチング環境において、ソースは最初に要求を送信し、次いで承諾された信号を受信し次第データを送信し、要求とデータは同じ入力線を介して送信される。本発明の実施形態についての上記考察から、アサートされた伝送要求を、その後、伝送動作モードにおいてデータを担持するために用いられるのと同じワード線を介して入力可能とすることにより、本発明の実施形態のクロスバー回路が、このようなパケットスイッチング実施形態に迅速に役立つことが分かる。図５Ａ，Ｂおよび図６Ａ，Ｂを参照して上で論じた要求チャネルおよび解放チャネル制御信号は、２ビットの要求／解放入力線５００を介して入力することができ、アサートされた伝送要求またはアサートされた解放要求は、関連付けられたデータ入力経路１２を介して入力される。関連付けられたソース回路が承諾されたことを示唆するために、アービトレーション動作モード中に、クロスバーセル内の特定の構成記憶回路が論理１値を記憶する時、承諾信号が線５０５を介してソース回路へと返される。単一要求の実装では、いずれかの特定のソース回路が、任意の時点において、１つの出力チャネルを要求することしかできない場合、単一の承諾信号線５０５のみが要求される。しかしながら、マルチキャスティング（１つのソース回路が、任意の時点で複数のチャネルを介してデータを同時通信することができる）を支持する代替の実施形態においては、ソース回路はいつの時点でも複数のアサートされた伝送要求を発行することができ、そのような実施形態においては、マスターがどのチャネルのアクセスを承諾したかを特定するために、複数ビットの承諾信号線５０５が提供され得る。
【０１０６】
アービトレーション動作モード中は、それぞれのクロスバーセルも、線５１０を介してチャネルフリー信号を受信して、関連付けられたチャネルが要求中のソースに自由に割り付けられられるかどうかをを示唆する（この信号の使用は後に図１０および１１を参照して論じられる）。クロスバー回路によって用いられる優先順位スキームを変更することが所望される場合、その動作モード中に、新しい優先順位スキームデータを、ワード線を介した入力として各クロスバーセル内の優先順位記憶回路に記憶させるために、優先順位割当動作モード中に経路５１５を介してロード優先順位信号が発行されてもよい。
【０１０７】
したがって、図９および本発明の実施形態についての上記考察からも理解されるように、このパケットスイッチングクロスバーの実装において、プリチャージおよび条件付きディスチャージスキームが、伝送動作モード中にクロスバー回路を介してデータを伝送するために用いられる。前述のアービトレーション動作モード中には、コリジョンの検出および解消のためにビット線が再利用され、アサートされた伝送要求を伝送するためにワード線が用いられる。ワード線は、優先順位割当動作モードの間に、クロスバーセル２０内に個々の優先順位記憶素子を記憶するための優先順位データを送信するためにも再利用される。２ビットの要求／解放信号は、特定のアービトレーション動作モード中に、伝送要求または解放要求がアサートされるかどうかを特定するために用いることができる。伝送要求がアサートされたと仮定すると、その要求が要求されたチャネルを獲得するのに成功したかどうかをソースに示唆するために、次いで承諾信号が用いられる。
【０１０８】
既存のワード線（入力バス）およびビット線（出力バス）が、上記の機能性のすべてを実現するために用いられ、それによって、これらの機能性のすべてが最小限のルーティングオーバーヘッドで達成可能となる。
【０１０９】
図１０Ａ〜１０Ｄは、第１の実施形態に従って、各クロスバーセル２０内に提供される回路をより詳細に示しており、ソース回路は一度に単一の伝送要求のみ発行することができる。図７および８についての上記考察から明らかなように、出力経路の各ビット線について、伝送回路を形成するために一対のトランジスタ７１０、７１５、７２０が提供され、これらのトランジスタのうちの一つは、その入力で、対応するワード線上の値を受信し、他方のトランジスタは、その入力で、関連付けられた構成記憶素子７００におけるルーティング値を受信する。プリチャージ動作段階中はディスチャージ信号が論理０値に設定されるため、条件付きディスチャージ回路７０５に、構成記憶回路７００のコンテンツから各伝送回路のこれらのトランジスタ７１０、７１５、７２０を切り離させる。しかしながら、プリチャージ動作が終了し、感知動作が開始したことを示すためにディスチャージ信号が高くなる時、構成記憶素子７００が、今度は各伝送回路の第２のトランジスタ７１０、７１５、７２０を駆動するために用いられる値を提供し、第１のトランジスタで受信される入力データに依存して、関連付けられたビット線の選択的なディスチャージを引き起こすことが分かる。条件きディスチャージ回路７０５もＷＬ＿ｂ信号を用い、図１０Ｂは、ＷＬ＿ｂ信号がどのように生成され、図１０Ｂの回路７６５がクロスバーセルごとに１回提供されるかを示す。
【０１１０】
図１０Ａの右側に示されるように、ビット線のうちの１本は、ＡＮＤゲート７３２および関連付けられたトランジスタ７１２によって形成される解放チャネル回路に接続される一方、他のすべてのビット線は、それぞれアービトレーション回路および関連付けられた優先順位記憶素子７１７、７４２および７２２、７５２に接続されている。構成要素７３０、７４０および７５０の各々は、構成要素７６０と組み合わせて作動し、プリチャージ動作モード中に、関連付けられたトランジスタ７１２、７１７、７２２を分離する、条件付きディスチャージ回路を提供する。具体的には、プリチャージ動作モード中は、ディスチャージ信号が低いためにＷＬ信号の値にかかわらずブロック７６０からの出力を低減させ、同様に構成要素７３０、７４０および７５０の出力を低減させるので、トランジスタ７１２、７１７、７２２がオフになる。
【０１１１】
しかしながら、ディスチャージ信号が高くなる時は、ＷＬ信号が高くなる場合、これによって論理１値が構成要素７６０から出力される。したがって、アービトレーション回路ならびに関連付けられた優先順位記憶素子７１７、７４２および７２２、７５２を考えると、関連付けられた記憶素子７４２、７５２も論理１値を記憶する状況においてアサートされた伝送要求の場合、このことが関連付けられたトランジスタ７１７、７２２をそれぞれディスチャージさせ、それによって上で論じた優先順位スキームが実装される。しかしながら、優先順位記憶素子のうちのいずれかが論理０値を記憶する場合、またはアサートされた伝送要求が存在しないためにＷＬ信号がアサートされない場合は、対応するトランジスタ７１７、７２２はディスチャージしない。
【０１１２】
同様に、解放回路７１２、７３２を考えると、アサートされた解放要求の存在下において、解放信号および入力０のワード線の両方が高く設定される場合、これは解放トランジスタ７１２のディスチャージを引き起こし、後に構成記憶素子７００によってビット線が再度サンプリングされ、ルーティング値が０にリセットされる。
【０１１３】
図１０Ｂは、アサートされた要求チャネルまたは解放チャネルの信号を認めるために用いられる回路を示す。それは、要求／解放チャネルの信号が認められた場合にのみ高く設定されるＷＬ信号を生成する。このＷＬ信号は、次いで構成記憶素子７００を有効化するために用いられる。同じＷＬ（およびＷＬ＿ｂ）信号は、条件付き解放回路７０５およびアービトレーション回路７６０を適切に動作させるためにも用いられる。
【０１１４】
図１０Ｃは、記憶された値を更新させるため、またその更新された値に依存して承諾信号を生成するために、構成記憶素子７００の感知増幅およびラッチ回路７７５に関連して提供される回路を示す。具体的には、感知有効（ＳＥ）信号が設定され、かつＷＬ信号が設定される場合、これにより、ＡＮＤゲート７７０が設定されたＱＳＥ（認められたＳＥ）信号を出力させる。ＱＳＥ信号が設定される場合、これにより、対応するビット線上の電流値が感知増幅およびラッチ回路７７５よりサンプリングされ、本例では、感知増幅およびラッチ回路はビット線０に接続されている。
【０１１５】
承諾信号は、感知増幅およびラッチ回路７７５の現在のコンテンツから生成される。具体的には、現在のコンテンツおよびＷＬ信号に基づいて、ＮＡＮＤゲート７８０が、分離回路７８５にルーティングされる信号を出力する。分離回路７８５は、特定の行において１個のクロスバーセルのみが承諾信号を駆動することを確実にする。具体的には、ソース回路が現在要求しようとしている列と関連付けられたクロスバーセルのみが、承諾信号を生じることができる。したがって、本例では、伝送要求が高く設定され、かつワード線０上の入力が高く設定される場合、論理１値は分離回路７８５内のより低いトランジスタに提供され、論理０値はより高いトランジスタに提供されるため、インバータがオンになり、承諾信号が伝播される（感知増幅およびラッチ回路７７５が論理１値を記憶される場合、承諾信号がアサートされる）。しかしながら、そうでない場合は、論理０値はより低いトランジスタに提供され、論理１値はより上位にあるトランジスタに提供されるため、インバータがオフになり、承諾信号は伝播されない。
【０１１６】
図１０Ｄは、一実施形態に従った各優先順位記憶素子７４２、７５２の構造を示す。この実施形態において、各優先順位記憶素子はＳＲＡＭセル７９０によって提供されることが分かり、図１０の特定の例においては、ＳＲＡＭセルは６Ｔ  ＳＲＡＭセルである。優先順位割当動作モードにおいてロード優先順位信号が高く設定されると、対応する入力ワード線に提供されたデータがＳＲＡＭセルによってサンプリングされ、そこに記憶された優先順位データが更新される。
【０１１７】
図１１Ａ〜１１Ｄは、本発明の代替の実施形態に従って各クロスバーセル内に提供される回路を示しており、各ソースは同時に複数の要求を発行することができる。これにより、クロスバー内でマルチキャスティングを実行するための、より効率的な実現形態が可能になる。具体的には、図１０Ａ〜１０Ｄの実施形態において、ソース回路は一度に１つのチャネルのみ要求できるため、マルチキャスティングが要求される場合は、複数のチャネルを獲得するために複数のアービトレーション周期を要求する。しかしながら、図１１Ａ〜１１Ｄの実施形態では、ソース回路は同時に複数のチャネルに対する要求を発行することができ、潜在的に１つのアービトレーション周期で複数のチャネルを獲得することができるため、マルチキャスティングがより効率的に達成可能となる。
【０１１８】
図１１Ａ、１１Ｂおよび１１Ｄは図１０Ａ、１０Ｂおよび１０Ｄとまったく同じであり、したがって、ここでは詳細に論じることはしない。しかしながら、図１１Ｃに示すように、分離回路の必要がまったくないので、構成記憶回路の構造は大きく簡素化されている。代わりに、各列と関連して別個の承諾線が提供されているため、感知増幅およびラッチ回路７７５の現在のコンテンツは、設定されたＷＬ信号の存在下において、承諾信号を直接生成するために用いることができる。具体的には、ＷＬ信号が設定された場合、ソース回路はアサートされた伝送要求を発行し、感知増幅およびラッチ回路７７５の現在のコンテンツが論理１値に設定されて伝送要求が成功であったことが示され、次いで論理１の承諾信号が発行されてソース回路に返される。
【０１１９】
図１２は、一実施形態に従って、各クロスバーセル内に提供される構成記憶回路（すなわち、感知増幅およびラッチ回路）の配設を示す。図１０Ｃおよび１１Ｃ中のＡＮＤゲート７７０によって生成されるＱＳＥ信号は、インバータ８５０を通過してＱＳＥ＿ｂ信号を生成する。したがって、ＱＳＥ信号が高くなると、ＰＭＯＳトランジスタ８００が開かれ、感知増幅（感知増幅はトランジスタ８０５、８１０、８１５、８２０から形成される）の感知動作が開始される。感知動作の始めに、トランジスタ８１５および８２０がオフになる。トランジスタ８０５にルーティングされた入力線がディスチャージし始める場合、これによりトランジスタ８０５がオンになり、中間モードＩをＶｄｄに引き上げる。これにより代わりにトランジスタ８１０がオンになり、短期間で感知増幅器内に正のフィードバックループが作製され、その時点では、感知増幅器は、その出力を生成するために、接地へと遷移する入力信号には依存しない。
【０１２０】
一連のトランジスタ８２５、８３０、８３５は、感知増幅と構成要素８４０および８４５から構成されるラッチとの間の転送機構としての役割を果たす。具体的には、動作の感知段階中にトランジスタ８３０がオンになり、ラッチのコンテンツが、感知増幅の中間ノードＩの値によって決定されるようにする。具体的には、感知増幅への入力が論理０値へと遷移する場合は、これにより中間ノードＩがＶｄｄへと遷移し、トランジスタ８３５がオンになり、ラッチ内に論理０値が記憶されることが分かる。反対に、入力線がディスチャージしない場合は、中間ノードの電圧は論理０レベルに留まり、トランジスタ８２５をオンにしてラッチ内に論理１値が記憶される。
【０１２１】
ＱＳＥ信号が低くなるとトランジスタ８３０がオフになり、感知増幅出力からラッチが分離されるため、ラッチは、ＱＳＥ信号が高い期間のみ、その入力を更新することが理解されよう。
【０１２２】
図１３Ａ〜１３Ｃは、ＳＥおよびディスチャージ信号の両方を生成するために一実施形態において用いられるパルス生成回路を示す。図１３Ａは、構成要素８６０によっていくつかの遅延が導入された後に、ＳＥ信号からどのようにディスチャージ信号が生成されるかを示している。実際には、図１３Ａの回路はＡＮＤゲートとしての役割を果たし、ＳＥ信号と遅延されたＳＥ信号とのＡＮＤを行う。
【０１２３】
図１３Ｂは、ＳＥ信号を作製するために用いられるリング発振器の設計を示す。発振入力信号が高い時は、リング発振器を有効化してクロック信号を生成し、ＳＥ信号はいくつかの遅延回路８７０を介したクロック信号に由来する。
【０１２４】
図１３Ｃに示すように、ＳＥ信号が低くなる間の期間、つまりｄ１期間は構成要素８７０によって決定され、ディスチャージが高くなる間の期間、つまりｄ２期間は図１３Ａの遅延回路８６０によって決定される。
【０１２５】
電圧Ｖｂ＿ＳＥおよびＶｂ＿ディスチャージは、遅延期間ｄ１およびｄ２を制御するために用いられ、具体的には、これらの電圧を減少させると、それに応じて遅延期間が長くなる。
【０１２６】
クロックのポジティブエッジでは、データがワード線上に立ち上げられる。この時点では「ディスチャージ」信号が低いため、ビット線はワード線から分離されている。「ｄ１」期間の間は、データはワード線上に留まり、ビット線が完全にプリチャージされる。「ｄ２」は、ビット線が条件付きでディスチャージされる期間である。同時に、ＳＥ信号が高くなり、感知増幅がビット線のサンプリングを開始する。ちょうど感知増幅が検出するのに十分なだけ、ビット線がディスチャージされる。これは節電のために行われる。したがって、「ｄ２」時間の後、「ディスチャージ」信号が低くなるが、一方で、ＳＥ信号は高いままで留まる。
【０１２７】
図１４は、図１０Ｂおよび１１Ｂに参照されるチャネル＿フリー信号が一実施形態に従ってどのように生成されるかを概略的に示している。具体的には、示されるように、特定の出力チャネルに接続されたクロスバーセル内の様々な構成記憶回路９００、９０５、９１０からの出力が、ＯＲゲート９０２、９０７、９１２によってともに論理的にＯＲが行われ、インバータ９１５によってその結果が逆にされる。したがって、構成記憶回路のうちのいずれかが論理１ルーティング値を記憶する場合は、チャネル＿フリー信号が論理０値となり、それらすべてが論理０ルーティング値を記憶する場合にのみ、チャネル＿フリー信号が１に設定されることが分かる。したがって、アービトレーション動作モードの開始時点で、構成記憶回路のうちの１つが既に論理１値に設定されており、ソース回路が既にそのチャネルのオーナーシップを有することを示唆している場合、その時点においてアサートされた伝送要求は１つも承諾されず、そのチャネルがいったん解放された時点でのみ、別のソースが要求を行い、そのチャネルに対して承諾されることが可能になる。
【０１２８】
図１に示される優先順位構成モジュールは、様々な様式で配設することができる。図１５Ａは、優先順位構成モジュール９３０の一実現形態を示す。この実施形態では、優先順位構成モジュール９３０は、各データ入力経路９４０、９４５、９５０のワード線を用いて、クロスバーネットワーク内に周期的に優先順位を書き込む有限状態機械（ＦＳＭ）としての役割を果たす。本例では、データ入力線９４０がソース回路０に連結され、データ入力経路９４５がソース回路１に連結され、データ入力経路９５０がソース回路１５に連結されている。優先順位構成モジュール９３０が各ソースのために優先順位ベクトル９３５を維持し、また本例では、値０が最も高い優先順位を示し、値１５が最も低い優先順位を示す。したがって、現在選択されている優先順位ベクトル９３５に従って、ソース０が最も優先順位の高いソースであり、ソース１が２番目に優先順位の高いソースであり、ソース１５が最も優先順位の低いソースである。したがって、論理１値は、データ入力経路９４０を介してソース回路０と関連付けられたクロスバーセルの優先順位記憶素子内にプログラムされるため、ソース回路０がいつ要求をアサートしようとも、ソース回路０に連結された構成記憶回路によって監視されるビット線を除く、他のすべてのビット線を確実にディスチャージすることが分かる。
【０１２９】
同様に、データ入力バス９４５を介して、ソース回路０と関連付けられたビット線を除くすべてのビット線に接続された優先順位記憶素子が論理１値に書き込まれ、ソース１からのアサートされた伝送要求の存在下において、これらのビット線が条件付きでディスチャージされるようになる。しかしながら、そのようなアサートされた伝送要求の場合でも、ソース回路０と関連付けられたビット線はディスチャージされない。
【０１３０】
同様に、ソース回路１５を考えると、論理０値は対応するデータ入力バス９５０を介して出力されるため、ソース回路１５と関連付けられたクロスバーセル内のすべての優先順位記憶素子が論理０値を記憶し、そのためソース回路１５からのアサートされた伝送要求の存在下において、いかなるビット線もディスチャージされなくなる。そのような状況において、ソース回路１５は、その時点で他のソース回路が伝送要求をアサートしていない場合にのみ、そのアサートされた伝送要求を承諾する。
【０１３１】
しかしながら、クロスバーの使用における公平性を確実とするため、本実施形態の優先順位構成モジュール９３０は、図１５Ａに概略的に示される他の優先順位ベクトルのうちの１つに切り替えることで、周期的に優先順位を更新する。具体的には、示される実施形態では、優先順位構成モジュールがラウンドロビンスキームにおける優先順位を割り当てるので、経時的に、各ソース回路が最も高い優先順位のソースとなる期間を有する。
【０１３２】
しかしながら、図１５Ｂに示すような代替の実施形態において、優先順位構成モジュールは、適応性優先順位構成モジュール９６０の形態を取る。適応性優先順位構成モジュールは１つの優先順位ベクトル９６５を維持するのみであるが、この優先順位ベクトルは、アクティビティ分析回路９７０によって実行されるアクティビティ分析に依存して、優先順位ベクトル修正回路９７５によって修正される。具体的には、アクティビティ分析回路９７０は各ソースからのアサートされた伝送要求を監視し、また任意選択的には、経時的にどのソースがどのチャネルにアクセスを承諾されるかについての理解を構築するために、それらのアサートされた伝送要求に応答して生成される承諾信号も監視する。適応性優先順位構成モジュール９６０は、クロスバーネットワークの全体的な効率を高めることを目的として、単に図１５Ａのラウンドロビン手法を用いるよりも、よりインテリジェントに優先順位を割り当てるために、この情報を用いる。効率は、クロスバーネットワークが伝送動作モードにある動作時間の割合として定義することができる（すなわち、ビット線がデータを送信するためには使用されるが、コンフリクトを検出および解消するためには使用されない、時間の長さ）。
【０１３３】
アクティビティ分析回路９７０によって受信されるアクティビティ情報に依存して、どのように優先順位ベクトルを更新するかを決定することができる方法が多数存在することが理解されよう。例えば、優先順位ベクトルを更新するための可能なスキームには以下を含む。
【０１３４】
１）優先順位が周期的に回転されるラウンドロビンスキーム
２）乱数発生器を用いてランダムな優先順位を生成するランダム割り当て
３）ＬＲＧ（承諾後最長時間経過：ｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｇｒａｎｔｅｄ）スキーム。このスキームでは、チャネルがチャネルの獲得に成功すると、すぐさまそのチャネルにとって最も低い優先順位が割り当てられる。同時に、最も高い優先順位がそのチャネルを獲得してから最長時間が経過しているソースに割り当てられる。
【０１３５】
上述の実施形態では、出力データ線が高くプリチャージされるので、静的な高入力が、クロックサイクルごとにそれらのデータ線をディスチャージさせる。図１６Ａ〜１６Ｅは、これを軽減するのに使用することができ、それによって電力消費を低減する、符号化スキームを示している。より具体的には、図１６Ａは、ソースとクロスバーの入力データ経路との間に配置されてもよい、符号化器回路を示し、図１６Ｂは、感知増幅器６５の出力と宛先回路との間に配置されてもよい、関連付けた復号器回路を示す。図１６Ａの符号化器回路を先ず考えると、新しいデータの各アイテムは、フリップフロップ６００内にラッチされ、古いデータはＮＡＮＤゲート６０５を経てフリップフロップ６１０に伝搬される。次いで、比較器６１５が新しいデータと古いデータとを比較し、差異があればいつでも、論理０値をインバータ６２０に出力させ、その結果、論理１値が符号化器回路によって出力される。したがって、提供された入力データから、符号化器は、入力データが論理０値から論理１値に、または論理１値から論理０値に変化するたびに、論理１値によって分離される論理０値を生成する。クロスバーセルの上述の考察から、データ出力線は、このような論理１値が現れた時にだけディスチャージされ、それによって、プリチャージ動作に関連付けられる電力消費を低減することを認識されるであろう。
【０１３６】
第１のデータアイテムが入力された時には、それに対していかなる以前のデータも比較されず、それに応じて、ｓｙｎｃ信号を使用して、フリップフロップ６１０内の初期状態を設定する。さらに、クロスバーを新しい構成に切り替えるたびに、同期化パルスを使用して、符号化器ハードウェアを（クロックサイクルを費やさずに）再設定することができる。
【０１３７】
対応する復号器回路を図１６Ｂに示す。構成要素６３０および６３５の構造は、構成要素６６０によって図１６Ｃに概略的に示す。示されているように、このような構成要素は、実際に、直列に接続される一連のトランジスタ６６５、６７０、６７５、６８０から成る。
【０１３８】
ｓｙｎｃ＿ｄ信号は、ｓｙｎｃ信号と同じであるが、１クロックサイクルだけ遅延される。ｓｙｎｃ＿ｄ＿ｂ信号は、逆ｓｙｎｃ＿ｄ信号である。これらの３つの信号の関係を図１６Ｅに示す。ｓｙｎｃ信号は、アクティブロー信号であり、したがって通常動作下にあり（回路が新しい構成に切り替えられていない時）、ｓｙｎｃおよびｓｙｎｃ＿ｄは、高い論理１レベルになり、一方で、ｓｙｎｃ＿ｄ＿ｂ信号は、低い論理０レベルになることに留意されたい。
【０１３９】
１６Ｂから分かるように、復号器は、感知増幅器、クロック信号、およびｓｙｎｃ＿ｄ＿ｂ信号から出力を受信し、一連のＮＡＮＤゲート６４５、６５０、６５５を経て、内部クロック信号をフリップフロップ６４０に提供する。フリップフロップ６４０からの出力は、出力を宛先回路に駆動し、感知増幅器を経て受信される符合化した出力から、元の入力データを再作成する。
【０１４０】
通常動作において、ｓｙｎｃ信号は、論理１レベルであり、ｓｙｎｃ＿ｄ＿ｂ信号は、論理０レベルであるので、構成要素６３５が起動され、一方で、構成要素６３０が停止される。３個のＮＡＮＤゲート６４５、６５０、６５５は、感知増幅器が遷移を検出して、高い信号を送信する時に、パルスをフリップフロップ６４０に提供する。新しい構成への切り替えが生じた時には、ｓｙｎｃおよびｓｙｎｃ＿ｄ信号が低くなり、一方で、ｓｙｎｃ＿ｄ＿ｂ信号が高くなる。したがって、その時に、構成要素６３０が起動され、一方で、構成要素６３５が停止される。その結果、インバータ６３５を介して以前のデータをトグルする代わりに、フリップフロップ６４０は、感知増幅器からデータを（構成要素６３０がそれを逆にした後に）取り込む。
【０１４１】
図１６Ｄは、符号化器回路への入力データ、結果として生じた符合化器回路からの符号化したデータ出力、符号化したデータが高くなるたびにディスチャージされる、対応するビット線の指示を示し、また、感知増幅器から受信した情報に基づいて、復号器回路によって生成される出力データを示している。出力データは、符号化器に渡された入力データを忠実に再生していることが分かる。
【０１４２】
上で論じた実施形態では、クロスバー回路のサイズは入力バスおよび出力バスのサイズに対応する。したがって、１６本のワード線を提供する入力バスおよび１６本のビット線を提供する出力バスを考慮して、１６×１６のクロスバー回路が論じられてきた。しかしながら、その技法は、入力バスおよび出力バスの幅よりも大きいクロスバーセルのアレイを有するクロスバー回路を用いて動作させるためにも適応することができ（本明細書において幅狭チャネル設計と称される）、または実際にクロスバーセルのアレイがバス幅よりも小さい状況に適応させることもできる（本明細書において幅広チャネル設計と称される）。
【０１４３】
最初に幅狭チャネル設計を考えると、図１７はそのような幅狭チャネル設計を実装するための一実施形態を示す。この特定の例では、クロスバーセル２０の６４×６４のアレイがクロスバー内に提供されており、ここでもまたプリチャージモジュール５５が、クロスバーを通るビット線をプリチャージするために用いられることが推定される。しかしながら、データ入力経路およびデータ出力経路はわずか１６ビットの幅しかないため、単一周期において上述のアービトレーションプロセスを実行することは不可能である。代わりに、そのような実施形態では、クロスバーをいくつかのセクションに分割することが可能であり、本例ではクロスバーが１０１０、１０２０、１０３０、の４つのセクションに分割され、カウンタ１０４０は現在どのセクションが有効であるかを特定するために用いられる。したがって、そのアービトレーション周期におけるアービトレーション中に、どのセクションが働くべきかを選択するために、アービトレーション周期ごとにカウンタをインクリメントすることができる。各セクションは、それでも各行に６４個のクロスバーセルを有するため、データ入力経路１０００単独では、アサートされた伝送要求によって特定される個々のデータ出力経路を有効化しないことは明らかである。したがって、一実施形態において、関連付けられたソース回路によってどのデータ出力経路が要求されるかを特定するために、伝送要求をアサートする時に２ビットの追加信号１００２が提供される。
【０１４４】
したがって、カウンタが００の値を有する時、ソース０〜１５からのアサートされた伝送要求のみが検討され、各データ出力経路には、そのデータ出力経路へのアクセスを要求しているソース０〜１５の中で最も高い優先順位のソースが、次の伝送周期においてデータを転送するためのアクセスを承諾される。そのようなアービトレーションおよび伝送シーケンスの後、カウンタが０１にインクリメントされ、次のアービトレーション周期では、ソース１６〜３１からのアサートされた伝送要求のみが検討される。このプロセスは各セクションで順に繰り返される。結果として、図１７の例の寸法については、任意の所与のアサートされた伝送要求に対するアービトレーション待ち時間は、１周期から４周期までと異なることが理解されるであろう。例えば、カウントが００のアービトレーション周期において、ソース０が伝送要求をアサートする場合、その要求はその周期内ですぐに調停され、セクション１における最も優先順位の高い要求である場合、その要求は承諾される。しかしながら、カウントが０１の時にソース０が伝送要求をアサートする場合、カウンタが００に戻る（それによって、セクション１である１０１０が調停される）次の４番目のアービトレーション周期まで、その要求はアービトレーションの候補にさえならない。
【０１４５】
そのような手法の利点は、配線および論理のオーバーヘッドが最小限であること、またそのため、該ソリューションは、アービトレーション待ち時間における変動が許容され得る状況下で、良好なソリューションを提供することである。しかしながら、セクションの数が増加するにつれて、最悪の場合のアービトレーション待ち時間も増加することに留意するべきである。
【０１４６】
図１８Ａおよび１８Ｂは、クロスバーはここでもまたセクションに分割されているが、アービトレーションは階層的に２段階で行われる、代替の実施形態を示す。第１の段階で、セクション間でアービトレーションが実行され、第２の段階で、アービトレーションは所与のセクションにおけるすべてのアサートされた伝送要求間で実行される。同じビット線群が両方のアービトレーション段階のために用いられる。本例では、クロスバーセルは２０′という数で表され、それぞれのクロスバーセルは、基本的には上記で論じたように構成されているが、ここでは、各クロスバーセルが２つの感知増幅有効ラッチ（ＳＡＥＬ）を含み、第１のＳＡＥＬは第１のアービトレーション周期で用いられ、第２のＳＡＥＬは第２のアービトレーション周期で用いられる。
【０１４７】
したがって、アービトレーション周期１において、セクション１０５０、１０６０、１０７０、１０８０の各々が検討されるが、所与のセクション内の特定のデータ出力経路に対する個々のクロスバーセル２０′は、ボックス１０５２、１０６２、１０７２、１０８２によって概略的に示されるように、事実上組み合わせて検討される。具体的には、１６ビットのチャネルを有する図１８Ａの６４×６４クロスバーの例を考えると、４つの別個のセクション１０５０、１０６０、１０７０、１０８０の各々が相対的な優先順位を有する。セクション１が最も高い優先順位を有する場合、ソース０〜１５からのいずれかのアサートされた伝送要求が、セクション２、３および４（すなわちセクション１０６０、１０７０、１０８０）へのビット線をディスチャージさせる。結果として、セクション１では第１の組のＳＡＥＬが論理１値をラッチし、他のセクションでは第１の組のＳＡＥＬが論理０値をラッチする。
【０１４８】
次のアービトレーション周期では、図１８Ｂに示されるように、セクション０におけるリクエストのみ（上で論じたイベントのシーケンスと仮定して）が、アービトレーションにビット線を用いる。このセクション１０５０内で実行されるプロセスは上で論じたとおりであり、すなわち、ビット線がプリチャージされ、次いで、各クロスバーセル内に記憶された優先順位情報に従って、選択的にディスチャージされる。図１７において上で論じられたように、どの出力経路が、ワード線１０００を介して１６ビット値の入力によって要求されているかを認めるために、追加の２ビット信号１００２が用いられる。いずれかの特定のデータ出力線に対する複数の要求については、ソース０〜１５のうちで最も優先順位の高い要求がアクセスを承諾され、第２の組のＳＡＥＬが標準的な様式でビット線を感知する。特定のソースに承諾が与えられたかどうかを決定するために、次いでクロスバーセル２０′の両方のＳＡＥＬが検討される必要があり、具体的には、それらの両方が論理１値を記憶する場合、承諾信号が生成されてソースへと返される。
【０１４９】
そのような手法は、追加の論理を犠牲にして固定された２周期のアービトレーション待ち時間を有するが、追加の相互接続構造は有さない。チャネルに１６ビット線を持つことで、潜在的に１６セクション間で調停することが可能になり、各セクションは１６個の要求を含む。したがって、アービトレーション待ち時間は、２周期で２５６×２５６のクロスバーまで保有することができる。
【０１５０】
図１８Ａ／１８Ｂの手法の一実施形態において、各クロスバーセルに２組の優先順位記憶素子を提供することができ、１つの組は第１のアービトレーション周期と関連して用いられ（第１の組のＳＡＥＬが用いられる）、１つの組は第２のアービトレーション周期と関連して用いられる（第２の組のＳＡＥＬが用いられる）。
【０１５１】
図１９は、入力および出力チャネルの幅がクロスバーアレイのサイズを上回る、幅広チャネルの実現形態を示している。この特定の例では、入力および出力経路は３２ビット幅であり、クロスバーは１６×１６クロスバーであると仮定されるため、クロスバーセル２０の１６×１６アレイを形成している。このような配設では、アービトレーション中に用いられる必要があるのはビット線の半分のみである。そのような条件下において、複数組の優先順位記憶回路を提供することにより、各クロスバーセルに複数の優先順位が記憶できるようにし、続いて、優先順位構成モジュール６０からいずれの優先順位データもリロードすることを必要とせずに、優先順位構成の切り替えができるようにすることで、この事実の利点を利用することができる。具体的には、優先順位構成モジュールは、各クロスバーセルに２組の優先順位ビットをプログラムすることができ、その後、いずれの時間ペナルティもなく、これらの２組の優先順位ビット間で選択的に切り替えることが可能であることが理解されるであろう。具体的には、図１９に示される実施形態において、優先順位カウンタ１１３０は、プリチャージモジュール５５と関連して保有されることができ、各クロスバーセル２０内にどの優先順位ビットの組が用いられるべきかを特定するために、その優先順位カウンタの値が線１１２０を介して出力される。どの優先順位ビットの組が選択されるかに依存して、このことは、データ出力経路１１１０の様々なビット線が、ソース０〜１５のうちのいずれかからのアサートされた伝送要求に応じてどのようにディスチャージされるかを変更する。優先順位割当動作モード中に、単一周期において両方の組の優先順位をチャネルにロードする能力が与えられる場合、優先順位割当動作モードを頻繁に用いる必要がないため、このことは、そのような状況に著しいパフォーマンスの向上を提供する。さらに、その後の２組の優先順位ビット間の切り替えは、いずれの時間ペナルティもなく生じ得る。
【０１５２】
図１９に示される実施形態において、優先順位カウンタ１１３０は、シングルビットカウンタでさえあれば良いことが理解されるであろう。しかしながら、他の構成においてマルチビットカウンタを用いることができる。例えば、６４ビットチャネルを有する１６×１６クロスバー回路では、各クロスバーセル内に４組の優先順位を記憶することが可能であり、したがって、２ビットの優先順位カウンタ１１３０をそのような実施形態で用いることができる。
【０１５３】
図２０は、データ入力経路を介して、データ入力値をそれらのデータ入力経路に接続された様々なクロスバーセル２０まで伝播するために、ワード線ドライバ１２００、１２０５、１２１０のシーケンスが用いられる、部分的に有効化されたネットワークの実施形態を示す。このような部分的に有効化されたネットワークなしでは、それが必要とされない状況においてデータ入力経路全体を介してデータを伝播する際に、著しい電力が消費され得る。
【０１５４】
しかしながら、データ入力経路を介して残りのクロスバーセルの各々に記憶されるルーティング値に由来する信号に基づいて、ワード線ドライバの各々が条件付きで有効化される、図２０に提示される部分的に有効化されたネットワークの手法を用いることにより、節電を達成することができる。具体的には、示されるように、特定のクロスバーセルに記憶されるルーティング値は、他のすべてのクロスバーセルに保有されるルーティング値によって、特定の行においてその右側に論理的にＯＲされ、ワード線ドライバがそのチェーン内で到達する点のその信号の値に依存して、各ワード線ドライバ１２００、１２０５、１２１０が有効化される。
【０１５５】
したがって、上に挙げた例では、行０の最初の１５個のクロスバーセルのうちの少なくとも１つは、そのルーティング値が１に設定されており、対応するソースは出力経路０〜１５のうちの１つにアクセスを承諾されているが、その行のさらに右側にある他のクロスバーセルは、いずれもルーティング値が１に設定されておらず、両方のワード線ドライバ１２０５および１２１０が論理０有効信号を受信する一方で、ワード線ドライバ１２００は論理１有効信号を受信することを示している。図２０の下半分の回路に示されるように、それぞれのワード線ドライバ（例示目的のためにワード線ドライバ１２００が検討されているが、ワード線ドライバのすべてが同様に構成されている）には、ワード線ドライバを選択的に有効化するために有効信号が用いられる。具体的には、ワード線ドライバ内の主インバータ１２６０は有効信号が高い場合にのみ有効化され、これによって、トランジスタ１２５０および１２５５の両方がオンになる。有効信号が低いときは、これらのトランジスタはオンにならず、インバータ１２６０は有効化されない。有効化されると、インバータ１２６０および１２６５は組み合わせて作動し、さらにデータ入力経路を介して伝播するために入力データを増幅する。
【０１５６】
したがって、図２０を参照して考察した実施形態において、その後に残りのクロスバーセルスイッチがオフにされるチャネルを超えて、データがワード線上で駆動されることはない。これによって、大きなクロスバーに有用な節電スキームを提供することができ、めったにマルチキャスティングを行わない実現形態において特に良好な節電をもたらすことができる。
【０１５７】
上記の実施形態の説明から、このような実施形態は、マルチコアアプリケーションに必要とされ得るような、非常に大きいクロスバーを設計するのに使用することができる、新規なクロスバー実装スキームを提供することが分かるであろう。本発明の実施形態のクロスバー回路は、コンフリクトを検出および解消し、それに応じて各クロスバーセル内の構成記憶素子をプログラムするために、アービトレーション動作モード中にデータ出力線を再利用する。提案した本発明の実施形態の実装は、クロスバーの設計が可能な最小の面積を使用する。交差点の数および各交差点に組み込まれる論理の数の両者が増大する、典型的な先行技術の実現形態とは対照的に、本発明の実施形態によれば、交差点の数だけしか増大しない。
【０１５８】
クロスバーセルのアレイのサイズが入力および出力チャネルの幅を上回らない実施形態においては、単一周期においてアービトレーションを実行することが可能であり、それによって、アービトレーションを実行する際の遅延オーバーヘッドが最小限に留められる。さらに、実施形態はプログラム可能な優先順位を提供し、ランタイム中のアプリケーションを最適化するために、さらなる余裕を持たせることができる。例えば、マルチメディアプロセス中、より重要な仕事を行うソース回路は、より高いレベルのキャッシュ等、メモリデバイスにアクセスするためのより高い優先順位を与えられることが可能である。
【０１５９】
さらに、アービターをクロスバーと統合することにより、その２つの間の通信オーバーヘッドが排除される。
【０１６０】
加えて、上記の実施形態のクロスバーセル構造を採用した時に、各入力データ経路上に入力データを提供するのに使用される、伝送回路のサイズも、駆動回路のサイズも、クロスバー回路のサイズが増加した時に、サイズを増加させる必要が無い。さらに、単一の入力データ値が複数の出力経路に同報通信される、マルチキャスティングをサポートするのに、いかなる追加のハードウェアまたはサイジングも不要である。
【０１６１】
さらに、上記の実施形態には標準的な構造が採用されるため、ルーティングは、典型的な先行技術の手法よりもかなり直接的になる。
【０１６２】
本発明の一実施形態では、入力は、例えば、マルチプレクシング手法を採用している典型的な先行技術のクロスバーで必要とされ得るような、異なるバスからの同じビットを備えるパケットとしてではなく、バスとしてクロスバー内に供給される。これは、ワイドバスの相互接続部として、本発明の実施形態のクロスバー回路を利用し易くする。
【０１６３】
本発明の実施形態のクロスバー回路の設計により、クロスバーを通じた遅延は、サイズとともに直線的に増大する。これは、このような実施形態のクロスバー回路を、１２８×１２８または２５６×２５６入力／出力のクロスバー等の、非常に大きいクロスバーに容易に使用できるようにする。
【０１６４】
上述のように、本設計は、非常に標準的であり、全てのチャネルにわたる遅延は均一である。さらに、入力は、いずれの水平端部からも供給することができ、出力は、いずれの垂直端部でも利用できる。これは、ルーティングの輻輳を低減することによって、設計フロアプランニングを容易にする。
【０１６５】
本発明の実施形態のクロスバー回路の標準ビットセル様アーキテクチャに起因して、クロスバー回路の設計およびレイアウトは、既存のＣＡＤ（コンピュータ支援設計）フロープロセスに容易に統合することができる。
【０１６６】
先行技術の手法と比較すると、本発明の実施形態のクロスバー回路は、相互接続のサイズがより小さく、高速感知技術が用いられているため、より迅速に動作しながらも、消費する電力はより少ない。
【０１６７】
本明細書では本発明の特定の一実施形態を説明したが、本発明は、それに限定されるものではなく、本発明の範囲内で、多数の変更および追加が行われ得ることが明白であろう。例えば、本発明の範囲を逸脱しない範囲で、以下の従属請求項の特徴の、独立請求項の特徴との種々の組み合わせを行うことができる。
【符号の説明】
【０１６８】
１０    入力データ
１２    データ入力経路
１５    ソース回路
２０    クロスバーセル
３０    ソース回路
４０    宛先回路
５０    データ出力経路
５５    プリチャージモジュール
６０    優先順位構成モジュール
６５    感知増幅回路
７０    出力データ
２００、２３０、２６０、３００、３３０    クロスバーセル
２０５、２３５、２６５、３０５、３３５    構成記憶回路
２１０、２４０、２７０、３１０、３４０    伝送回路
２１５、２４５、２７５、３１５、３４５    チャネル解放回路
２２０、２５０、２８０、３２０、３５０    アービトレーション回路
２２５、２５５、２８５、３２５、３５５    優先順位記憶回路
２０７、２１７、２３７、２４７、２６７、２７７    ＡＮＤゲート
２０８、２３８、２６８    ＯＲゲート
３０７、３１７、３３７、３４７    ＡＮＤゲート
３０８、３３８    ＯＲゲート
【図１】
2010193443.tif 000003
【図２】
2010193443.tif 000004
【図３】
2010193443.tif 000005
【図４】
2010193443.tif 000006
【図５Ａ】
2010193443.tif 000007
【図５Ｂ】
2010193443.tif 000008
【図６Ａ】
2010193443.tif 000009
【図６Ｂ】
2010193443.tif 000010
【図７】
2010193443.tif 000011
【図８】
2010193443.tif 000012
【図９】
2010193443.tif 000013
【図１０Ａ】
2010193443.tif 000014
【図１０Ｂ】
2010193443.tif 000015
【図１０Ｃ】
2010193443.tif 000016
【図１０Ｄ】
2010193443.tif 000017
【図１１Ａ】
2010193443.tif 000018
【図１１Ｂ】
2010193443.tif 000019
【図１１Ｃ】
2010193443.tif 000020
【図１１Ｄ】
2010193443.tif 000021
【図１２】
2010193443.tif 000022
【図１３Ａ】
2010193443.tif 000023
【図１３Ｂ】
2010193443.tif 000024
【図１３Ｃ】
2010193443.tif 000025
【図１４】
2010193443.tif 000026
【図１５Ａ】
2010193443.tif 000027
【図１５Ｂ】
2010193443.tif 000028
【図１６Ａ】
2010193443.tif 000029
【図１６Ｂ】
2010193443.tif 000030
【図１６Ｃ】
2010193443.tif 000031
【図１６Ｄ】
2010193443.tif 000032
【図１６Ｅ】
2010193443.tif 000033
【図１７】
2010193443.tif 000034
【図１８Ａ】
2010193443.tif 000035
【図１８Ｂ】
2010193443.tif 000036
【図１９】
2010193443.tif 000037
【図２０】
2010193443.tif 000038
【外国語明細書】
2010193443.tif 000039
2010193443.tif 000040
2010193443.tif 000041
2010193443.tif 000042
2010193443.tif 000043
2010193443.tif 000044
2010193443.tif 000045
2010193443.tif 000046
2010193443.tif 000047
2010193443.tif 000048
2010193443.tif 000049
2010193443.tif 000050
2010193443.tif 000051
2010193443.tif 000052
2010193443.tif 000053
2010193443.tif 000054
2010193443.tif 000055
2010193443.tif 000056
2010193443.tif 000057
2010193443.tif 000058
2010193443.tif 000059
2010193443.tif 000060
2010193443.tif 000061
2010193443.tif 000062
2010193443.tif 000063
2010193443.tif 000064
2010193443.tif 000065
2010193443.tif 000066
2010193443.tif 000067
2010193443.tif 000068
2010193443.tif 000069
2010193443.tif 000070
2010193443.tif 000071
2010193443.tif 000072
2010193443.tif 000073
2010193443.tif 000074
2010193443.tif 000075
2010193443.tif 000076
2010193443.tif 000077
2010193443.tif 000078
2010193443.tif 000079
2010193443.tif 000080
2010193443.tif 000081
2010193443.tif 000082
2010193443.tif 000083
2010193443.tif 000084
2010193443.tif 000085
2010193443.tif 000086
2010193443.tif 000087
2010193443.tif 000088
2010193443.tif 000089
2010193443.tif 000090
2010193443.tif 000091
2010193443.tif 000092
2010193443.tif 000093
2010193443.tif 000094
2010193443.tif 000095
2010193443.tif 000096
2010193443.tif 000097
2010193443.tif 000098
2010193443.tif 000099
2010193443.tif 000100
2010193443.tif 000101
2010193443.tif 000102
2010193443.tif 000103
2010193443.tif 000104
2010193443.tif 000105
2010193443.tif 000106
2010193443.tif 000107
2010193443.tif 000108
2010193443.tif 000109
2010193443.tif 000110
2010193443.tif 000111
2010193443.tif 000112
2010193443.tif 000113
2010193443.tif 000114
2010193443.tif 000115
2010193443.tif 000116
2010193443.tif 000117
2010193443.tif 000118
2010193443.tif 000119
2010193443.tif 000120
2010193443.tif 000121
2010193443.tif 000122
2010193443.tif 000123
2010193443.tif 000124
2010193443.tif 000125
2010193443.tif 000126
2010193443.tif 000127