(57)【要約】【課題】クロスバー回路およびそのようなクロスバー回路の動作方法を提供する。【解決手段】クロスバー回路は、データ入力経路およびデータ出力経路の配列を有し、データ出力経路は、データ入力経路を横断する。データ入力経路とデータ出力経路との間の各交差点には、ルーティング値を記憶するようにプログラムできる記憶回路と、伝送回路と、を備える、クロスバーセルが提供される。伝送動作モードにおいて、伝送回路は、データ入力経路に沿ってデータ入力を検出して、関連付けた交差点において、そのデータの指示をデータ出力経路上に出力するように、データ入力経路がデータ出力経路に連結されるべきであることを示す、ルーティング値に応答する。【選択図】図１
2010193454.tif 000002
【特許請求の範囲】
【請求項１】
複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの１つに接続できる、複数のデータ入力経路と、
前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの１つに接続できる、複数のデータ出力経路と、
前記データ入力経路のうちの１つと、前記データ出力経路のうちの１つとの間の各交差点に関連付けられるクロスバーセルであって、各クロスバーセルは、
ルーティング値を記憶するようにプログラムできる記憶回路であって、前記ルーティング値は、前記データ入力経路に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路上に出力されないことを、第２の値が示すようにプログラムされる、記憶回路と、
前記データ入力経路に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を前記データ出力経路上に出力するよう、前記第１の値を有する前記ルーティング値に応答するように、伝送動作モードで動作可能な伝送回路と、を備える、クロスバーセルと、
前記クロスバーセルに制御信号を発行するための制御回路であって、構成動作モード中に、前記制御回路は、前記クロスバーセルのうちの１つ以上の前記記憶回路をプログラムするように、前記データ出力経路のうちの少なくとも１つを再利用する、制御回路と、
を備える、クロスバー回路。
【請求項２】
各前記データ出力経路は、前記伝送動作モード中に、ｎビットのデータ値を担持するための、ｎ本のデータ出力線を備え、
前記構成動作モード中に、前記制御回路は、そのデータ出力経路の前記ｎ本のデータ出力線を使用することによって、選択したデータ出力経路に関連付けられる最高ｎ個のクロスバーセルの前記記憶回路を同時にプログラムするように構成される、請求項１に記載のクロスバー回路。
【請求項３】
前記構成動作モード中に、前記記憶回路のプログラミングで使用するために、各記憶回路にルーティングされる、少なくとも１本のワード線をさらに備え、
前記構成動作モード中に、前記制御回路は、ｎ本のビット線として、前記選択したデータ出力経路の前記ｎ本のデータ出力線を再利用し、前記ｎ本のビット線のそれぞれは、前記最高ｎ個のクロスバーセルの前記記憶回路のプログラミングを可能にするように、前記選択したデータ出力経路に関連付けられるｎ個のクロスバーセルのうちの異なる１個にルーティングされる、請求項２に記載のクロスバー回路。
【請求項４】
前記選択したデータ出力経路に関連付けられるクロスバーセルの数はｍｎ個であり、ｍは、２以上の整数であり、
前記少なくとも１本のワード線は、複数のワード線を備え、各ワード線は、前記選択したデータ出力経路に関連付けられる異なるｎ個のクロスバーセルに接続されており、
前記構成動作モード中に、前記クロスバーセルの数は、ｍ個の連続するプログラミング動作を経てプログラムされ、各プログラミング動作中に、前記ｎ本のデータ出力線は、そのプログラミング動作によってプログラムされている前記ｎ個のクロスバーセルのための、前記ｎ本のビット線として作用する、請求項３に記載のクロスバー回路。
【請求項５】
前記構成動作モード中に、前記少なくとも１本のワード線は、第１の論理レベルで前記制御回路によって駆動され、各記憶回路内にプログラムされる前記ルーティング値は、前記ビット線として作用する前記関連付けた出力線の前記制御回路による駆動が、前記第１の論理レベルで行われるのか、または第２の論理レベルで行われるのかに依存する、請求項３に記載のクロスバー回路。
【請求項６】
前記伝送動作モードにおいて、前記ワード線は、第２の論理レベルにある、請求項５に記載のクロスバー回路。
【請求項７】
前記少なくとも１本のワード線は、複数のワード線を備え、それによって、特定のクロスバーセルが、前記構成動作モードにあり、一方で、他のクロスバーセルが、前記伝送動作モードにあることを可能にする、請求項３に記載のクロスバー回路。
【請求項８】
前記記憶回路は、複数の記憶素子を備え、それぞれが、前記クロスバー回路の複数の構成のうちの１個のルーティング値を記憶するように配設される、請求項１に記載のクロスバー回路。
【請求項９】
前記構成動作モード中の前記制御回路の各プログラミング動作は、前記記憶素子のうちの選択した１つをプログラムさせる、請求項８に記載のクロスバー回路。
【請求項１０】
前記伝送動作モード中に、前記制御回路は、クロスバーセルごとに、前記記憶回路のどの記憶素子を使用して、前記ルーティング値を前記伝送回路に提供するのかを同定するよう、構成制御信号を発生するように構成される、請求項８に記載のクロスバー回路。
【請求項１１】
前記制御回路は、前記データ出力経路ごとに前記構成制御信号を発行し、それによって、各構成制御信号は、１個の前記データ出力経路に関連付けられる各クロスバーセルの構成を制御する、請求項１０に記載のクロスバー回路。
【請求項１２】
前記伝送動作モードでクロスバーセルに関連付けられる各データ出力経路は、データ転送の前に第１の論理レベルにプリチャージされ、各クロスバーセルの前記伝送回路は、
前記データ出力経路と前記第２の論理レベルとの間に直列に接続される、第１および第２のスイッチを備え、
前記伝送動作モードにおいて、前記第１のスイッチは、前記関連付けた記憶回路内に記憶されているルーティング値に依存して開かれ、または閉じられ、前記第２のスイッチは、前記データ入力経路上で入力される前記データ入力に依存して開かれる、または閉じられる、請求項１に記載のクロスバー回路。
【請求項１３】
各前記データ入力経路は、前記伝送動作モード中に、ｎビットの入力データ値を担持するための、ｎ本のデータ入力線を備え、各前記データ出力経路は、前記伝送動作モード中に、ｎビットのデータ値を担持するための、ｎ本のデータ出力線を備え、少なくとも前記第２のスイッチは、出力データ線ごとに複製される、請求項１２に記載のクロスバー回路。
【請求項１４】
前記伝送動作モードにおいて、前記データ出力経路は、前記ルーティング値が前記第１の値であり、かつ前記データ入力値が前記第１の論理レベルにある場合に、前記第２の論理レベルにプルされる、請求項１２に記載のクロスバー回路。
【請求項１５】
各クロスバーセルは、前記ルーティング値に関わらず前記第１のスイッチをオフにし、一方で、前記関連付けたデータ出力経路を前記第１の論理レベルにプリチャージするための、および前記第１のスイッチを、前記ルーティング値によって制御し、その後に、前記関連付けたデータ出力経路を前記第１の論理レベルにプリチャージできるようにするための、条件付きディスチャージ回路をさらに備える、請求項１４に記載のクロスバー回路。
【請求項１６】
前記条件付きディスチャージ回路は、各クロスバーセルの前記記憶回路内に組み込まれる、請求項１５に記載のクロスバー回路。
【請求項１７】
前記伝送動作モード中に、前記データ出力経路上の前記データ出力を検出し、それによって、前記データ出力経路が前記第２の論理レベルに到達する前に、前記第２の論理レベルへの遷移を検出できるようにする、感知増幅回路をさらに備える、請求項１４に記載のクロスバー回路。
【請求項１８】
前記複数のソース回路のそれぞれと、前記複数のデータ入力経路との間の符号化回路と、
前記複数のデータ出力経路のそれぞれと、前記複数の宛先回路との間の復号回路と、をさらに備え、
前記符号化回路は、各ソース回路によって提供される入力データを符号化した形態に符号化するように、符号化動作を適用し、該動作は、元の入力データが前記クロスバー回路を通過した場合、前記データ出力経路を、前記第２の論理レベルにプルするのに必要になり得る回数と比較した時に、前記データ出力経路を前記第２の論理レベルにプルし、その後に、それらを前記第１の論理レベルにプリチャージするのに必要な回数を低減し、
前記復号回路は、前記データ出力経路上で出力される前記符号化したデータから、前記ソース回路によって提供される前記元の入力データを同定するように、対応する復号動作を適用する、請求項１４に記載のクロスバー回路。
【請求項１９】
各記憶回路は、前記ルーティング値を記憶するための、少なくとも１個のＳＲＡＭメモリセルを備える、請求項１に記載のクロスバー回路。
【請求項２０】
各ＳＲＡＭメモリセルは、６Ｔ  ＳＲＡＭメモリセルである、請求項１９に記載のクロスバー回路。
【請求項２１】
前記複数のソース回路は、前記複数のデータ入力経路のいずれかの端部に接続できる、請求項１に記載のクロスバー回路。
【請求項２２】
前記複数の宛先回路は、前記複数のデータ出力経路のいずれかの端部に接続できる、請求項１に記載のクロスバー回路。
【請求項２３】
前記複数のソース回路は、前記複数のデータ入力経路の第１の端部に接続され、追加の複数のソース回路は、前記複数のデータ入力経路の第２の端部に接続され、
前記複数の宛先回路は、前記複数のデータ出力経路の第１の端部に接続され、追加の複数の宛先回路は、前記複数のデータ出力経路の第２の端部に接続され、
前記クロスバー回路の第１の状態において、前記複数のソース回路は、前記複数の構成のうちの１番目に従って、前記複数の宛先回路に連結され、
前記クロスバー回路の第２の状態において、前記追加の複数のソース回路は、前記複数の構成のうちの２番目に従って、前記追加の複数の宛先回路に連結される、請求項８に記載のクロスバー回路。
【請求項２４】
前記クロスバー回路は、前記ソースおよび宛先回路、および前記追加のソースおよび追加の宛先回路の周波数の少なくとも２倍の周波数でクロッキングされる、請求項２３に記載のクロスバー回路。
【請求項２５】
データ処理装置であって、
データ値を記憶するための複数のレジスタと、
前記複数のレジスタ内に記憶されている前記複数のデータ値に対して、並列してデータ処理動作を実行するための、複数の処理回路と、
前記複数のレジスタのうちのいずれかのレジスタから、前記複数の処理回路のうちのいずれかの処理回路に、前記データ値をルーティングするための、請求項１に記載のクロスバー回路と、
を備える、データ処理装置。
【請求項２６】
複数のソース手段と、複数の宛先手段とを相互接続し、よって、前記複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、前記複数のソース手段のうちの１つに接続するための、複数のデータ入力経路手段と、
前記複数のデータ入力経路手段を横断する前記クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、前記複数の宛先手段のうちの１つに接続するためのものである、複数のデータ出力経路手段と、
前記データ入力経路手段のうちの１つと、前記データ出力経路手段のうちの１つとの間の各交差点に関連付けられるクロスバーセル手段であって、各クロスバーセル手段は、
ルーティング値を記憶するためにプログラムできる記憶手段であって、前記ルーティング値は、前記データ入力経路手段に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路手段上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路手段に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路手段上に出力されないことを、第２の値が示すようにプログラムされる、記憶手段と、
前記データ入力経路手段に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を前記データ出力経路手段上に出力するための、伝送動作モードで、前記第１の値を有する前記ルーティング値に応答する、伝送手段と、を備える、クロスバーセル手段と、
各クロスバーセル手段に制御信号を発行するための制御手段であって、構成動作モード中に、前記制御手段は、前記クロスバーセル手段のうちの１つ以上の前記記憶手段をプログラムするように、前記データ出力経路手段のうちの少なくとも１つを再利用するための、制御手段と、
を備える、クロスバー回路。
【請求項２７】
複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができ、前記クロスバー回路は、前記クロスバー回路を通過する複数のデータ入力経路を有し、各データ入力経路は、前記複数のソース回路の１つに接続することができ、複数のデータ出力経路は、前記複数のデータ入力経路を横断する前記クロスバー回路を通過し、各データ出力経路は、前記複数の宛先回路のうちの１つに接続することができる、クロスバー回路を動作させる方法であって、
前記データ入力経路のうちの１つと、前記データ出力経路のうちの１つとの間の各交差点を関連付けて、クロスバーセルを採用するステップと、
各クロスバーセルでルーティング値をプログラミングするステップであって、前記ルーティング値は、前記データ入力経路に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路上に出力されないことを、第２の値が示すようにプログラムされる、ステップと、
伝送動作モードにおいて、前記データ入力経路に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を前記データ出力経路上に出力するよう、前記クロスバーセルを、前記第１の値を有する前記ルーティング値に応答させるステップと、
前記クロスバーセルに制御信号を発行するステップであって、構成動作モード中に、前記制御回路は、前記クロスバーセルのうちの１つ以上の前記記憶回路をプログラムするように、前記データ出力経路のうちの少なくとも１つを再利用する、ステップと、
を含む、クロスバー回路を動作させる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロスバー回路およびそのようなクロスバー回路の動作方法に関する。
【背景技術】
【０００２】
クロスバー回路は、マトリクス様態で複数の入力を複数の出力に接続するためのスイッチ基盤である。したがって、クロスバー回路を使用して、複数のソース回路と、複数の宛先回路とを相互接続することができ、よって、複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、複数の宛先回路のうちのいずれかに出力することができる。クロスバー回路は、様々な実現形態で使用することができる。例えば、データ処理システムの実現形態では、このようなクロスバー回路を使用して、データ値に対してデータ処理動作を実行するのに使用される複数の処理回路と、それらのデータ値を記憶するのに使用される複数の記憶構造とを相互接続することができ、それによって、データ値を、任意の記憶構造から任意の処理回路にルーティングできるようにする。記憶構造は、様々な形態を取ることができるが、一実施例では、レジスタバンクのレジスタを備え得る。
【０００３】
クロスバー回路を生成するための既知の手法は、クロスバー回路を形成するのに必要な構成要素に起因して、クロスバー回路のための大きな面積と、制御信号をそれらの構成要素にルーティングするために必要な多数の制御線と、を必要とし、また、大量の電力も消費する。さらに、それらの複雑さは、サイズとともに急激に増大し、既知の手法の大部分を、多数のソース回路と、多数の宛先回路とを相互接続するのに必要なクロスバー回路との使用について、非実用的なものとする。いくつかの既知の手法を以下に述べる。
【０００４】
Ｋ  Ｃｈａｎｇ他による論文「Ａ  ５０Ｇｂ／ｓ  ３２×３２  ＣＭＯＳ  Ｃｒｏｓｓｂａｒ  Ｃｈｉｐ  ｕｓｉｎｇ  Ａｓｙｍｍｅｔｒｉｃ  Ｓｅｒｉａｌ  Ｌｉｎｋｓ」、１９９９  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔｓ、Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ、１９〜２２ページ、およびＴ  Ｗｕ他による論文「Ａ  ２Ｇｂ／ｓ  ２５６×２５６  ＣＭＯＳ  Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ  Ｆａｂｒｉｃ  Ｃｏｒｅ  Ｄｅｓｉｇｎ  ｕｓｉｎｇ  Ｐｉｐｅｌｉｎｅｄ  ＭＵＸ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ、２００２、５６８〜５７１ページは、任意の入力ソースから任意の出力宛先へのデータのルーティングを可能にするように、マルチプレクサの階層的配設を使用したクロスバー回路を記載している。しかしながら、このようなＭＵＸに基づくクロスバー回路は、比較的にサイズが大きく、電力消費が多い。さらに、それらは、一般的に、種々のマルチプレクサを制御するために、相当な数の制御線を必要とする。このようなＭＵＸに基づく設計は、一般的に、少なくとも部分的には、サイズが大きくなるにつれて、必要な制御信号を種々のマルチプレクサにルーティングすることがますます困難になるため、サポートする入力および出力数の増加とともに拡張することができない。さらに、入力データが、入力バス上でルーティングされるマルチビットデータである場合、データ経路自体のルーティングが非常に複雑になる。
【０００５】
Ｒ  Ｇｏｌｓｈａｎ他による論文「Ａ  Ｎｏｖｅｌ  Ｒｅｄｕｃｅｄ  Ｓｗｉｎｇ  ＣＭＯＳ  Ｂｕｓ  Ｉｎｔｅｒｆａｃｅ  Ｃｉｒｃｕｉｔ  ｆｏｒ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｌｏｗ  Ｐｏｗｅｒ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ、３５１〜３５４ページ、１９９４は、入力経路が水平方向に通り、出力経路が垂直方向に通る、Ｘ−Ｙ方式のクロスバー回路を記載している。各入力経路と出力経路との間の交差点には、フリップフロップ回路の形態で記憶素子が提供され、その出力は、入力経路と出力経路とを連結するのに使用されるトランジスタを制御する。しかしながら、このような設計は、クロスバー回路が所要のルーティングを実行するために、種々のフリップフロップをプログラムするのに多数の制御線を必要とする。さらに、入力データ経路上に提供される入力データは、関連する出力データ経路上の出力データを駆動するのに使用される。多数の入力および出力に適応するようにクロスバー回路が大きくなるにつれて、出力データ経路の容量が増加し、それに応じて、容量の増加を克服するために、より大きな駆動トランジスタを入力に提供する必要がある。加えて、データ入力経路とデータ出力経路との間の交差点で、フリップフロップによって駆動される連結トランジスタは、クロスバー回路のサイズが増加した時に、サイズを増加させる必要もある。さらに、一般的に、クロスバー回路のサイズが増加した時には、データ出力経路内に１つ以上のバッファを含めることが必要となる。これらの全ての要因は、より具体的には、より多くの入力および出力に適応するようにクロスバー回路のサイズを増加させた時に、クロスバー回路の素子および関連付けた制御線のレイアウトに重大な問題を生じさせる。したがって、この手法は、複雑になり、拡張することができない。
【０００６】
Ｐ  Ｗｉｊｅｔｕｎｇａによる論文「Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｒｏｓｓｂａｒ  Ｄｅｓｉｇｎ  ｆｏｒ  Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｔｈｉｒｄ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎｓ、２００３は、データ入力経路とデータ出力経路との間の各交差点に位置付けられる伝送回路としてパストランジスタチェーンを採用する、クロスバー設計を記載している。入力データを出力データ経路へ連結するのに、パストランジスタチェーンが必要である時、出力データ経路上に位置付けられる電流感知回路を使用して、入力データ値を検出する。この設計の極めて不利な点は、電流感知デバイスを各出力経路上に位置付けるための要件に起因して、多量の電力を消費することである。さらに、クロスバー回路内で多数の制御信号をルーティングする必要があり、実際に、それらの制御信号は、より多くの入力および出力に適応するようにクロスバー回路のサイズを増加させるにつれて、ルーティング要件を支配するようになる。したがって、ここでも、この設計は、より大きいクロスバー回路の設計に、容易に拡張することができない。
【０００７】
Ｍ  Ｂｒｇａｔｔｉ他による論文「Ａ  Ｍｕｌｔｉ−Ｃｏｎｔｅｘｔ  ６．４Ｇｂ／ｓ／Ｃｈａｎｎｅｌ  Ｏｎ‐Ｃｈｉｐ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋ  ｕｓｉｎｇ  ０．１８μｍ  Ｆｌａｓｈ−ＥＥＰＲＯＭ  Ｓｗｉｔｃｈｅｓ  ａｎｄ  Ｅｌａｓｔｉｃ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ」、ＩＳＳＣＣ  ２００３、Ｓｅｓｓｉｏｎ  ２６、Ｅｍｂｅｄｄｅｄ  ａｎｄ  Ｄｉｇｉｔａｌ  Ｓｙｓｔｅｍｓ、Ｐａｐｅｒ  ２６．５は、改良したフラッシュＥＥＰＲＯＭデバイスのマトリクスを使用して実現した、プログラム可能なクロスバーを記載している。しかしながら、図２６．５．６から明らかなように、ソースデバイスから宛先デバイスへのデータ入力のルーティングに関与するメモリセルの数は、それらのデバイスがクロスバー内に接続される場所に依存し、したがって、信号がクロスバーを通過するタイミングは、決定論的ではない。さらに、種々のフラッシュＥＥＰＲＯＭセルのプログラミングを可能にするには、多数の制御線が必要となり、それらの種々のフラッシュＥＥＰＲＯＭセルをプログラムするには、かなり多くの時間が必要となる。したがって、クロスバーデバイスのあらゆる再構成にも、かなり時間がかかる。
【０００８】
したがって、このようなクロスバーの設計は、複雑であり、また、必要とされる制御線の急増により、より多くの入力デバイスおよび出力デバイスをクロスバーによってサポートすることが必要になるので、複雑さが増加する。さらに、クロスバーのタイミングは、決定論的でないため、クロスバーの設計を、特定の実現形態について不適当なものとする。
【０００９】
要約すると、上述の考察から、既存のクロスバー設計は、一般的に、制御信号の複雑なルーティングを伴い、その複雑さは、クロスバーのサイズが増加するにつれて、急激に増加することが理解されよう。必要な制御線の数に部分的に起因して、かつクロスバーのサイズが増加するにつれて、クロスバー内に提供される特定の構成要素のサイズを増加させる必要性に部分的に起因して、しばしば、該設計は、大量の電力を消費し、かつ拡張性に乏しい。
【００１０】
したがって、これらの問題を緩和する、改良されたクロスバー設計を提供することが望ましい。
【発明の概要】
【課題を解決するための手段】
【００１１】
第１の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの１つに接続できる、複数のデータ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの１つに接続できる、複数のデータ出力経路と、該データ入力経路のうちの１つと、該データ出力経路のうちの１つとの間の各交差点に関連付けられるクロスバーセルであって、各クロスバーセルは、ルーティング値を記憶するようにプログラムできる記憶回路であって、ルーティング値は、データ入力経路に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路上に出力されることを、第１の値が示すようにプログラムされ、ルーティング値は、データ入力経路に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路上に出力されないことを、第２の値が示すようにプログラムされる、記憶回路と、データ入力経路に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示をデータ出力経路上に出力するよう、該第１の値を有するルーティング値に応答するように、伝送動作モードで動作可能な伝送回路と、を備える、クロスバーセルと、クロスバーセルに制御信号を発行するための制御回路であって、構成動作モード中に、制御回路は、クロスバーセルのうちの１つ以上の記憶回路をプログラムするように、データ出力経路のうちの少なくとも１つを再利用する、制御回路と、を備える、クロスバー回路を提供する。
【００１２】
本発明によれば、クロスバーセルは、データ入力経路と、データ出力経路との間の各交差点に関連付けられ、各クロスバーセルは、ルーティング値を記憶する記憶回路と、データ入力経路に沿ってデータ入力を検出して、ルーティング値が、データ入力経路をデータ出力経路に接続すべきであることを示している場合に、そのデータの指示をデータ出力経路上に出力するように、伝送動作モードで動作できる伝送回路と、の両方を備える。さらに、構成動作モード中に、制御回路は、クロスバーセルのうちの１つ以上の記憶回路をプログラムするように、データ出力経路のうちの少なくとも１つを再利用する。記憶回路のプログラミング中にデータ出力経路を再利用することによって、クロスバー回路内に提供する必要がある制御線の数が大幅に低減される。したがって、クロスバー回路のための配線レイアウトを生成する時の柔軟性が大幅に向上する、非常に単純な設計を提供する。単純な設計であるため、設計を容易に拡張することができ、したがって、クロスバー回路に接続されるソース回路および宛先回路の数が多い場合であっても、クロスバー回路を容易に利用することができる。
【００１３】
さらに、本発明のクロスバー回路を利用する時に達成することができる標準的なレイアウトは、固定された待ち時間を、クロスバー回路を通じたデータの伝送に提供する。加えて、本発明のクロスバー回路は、入力データの同報通信を容易にサポートし、よって、クロスバー回路を通じて、１個のソース回路からのデータ入力を複数の宛先回路に同報通信することができる。
【００１４】
本発明の一実施形態において、データ入力経路のそれぞれ、およびデータ出力経路のそれぞれは、単一のビット値を担持してもよいが、クロスバー回路は、データ入力経路およびデータ出力経路が、マルチビットデータ値を担持する状況で使用することができ、その場合には、データ入力経路およびデータ出力経路は、データバスによって形成されてもよい。一実施形態において、各データ出力経路は、該伝送動作モード中に、ｎビットのデータ値を担持するための、ｎ本のデータ出力線を備え、構成動作モード中に、制御回路は、そのデータ出力経路のｎ本のデータ出力線を使用することによって、選択したデータ出力経路に関連付けられる最高ｎ個のクロスバーセルの記憶回路を同時にプログラムするように構成される。
【００１５】
入力バス上で提供されるマルチビット入力データを容易に収容する、およびクロスバー回路を通じて所望の出力バスへルーティングするという、本発明の実施形態のクロスバー回路の能力は、多数の先行技術の手法と比較した時に、有意な利益を提供する。例えば、データ経路のルーティングおよび制御信号のルーティングが非常に複雑になるので、マルチプレクサの階層的構造に基づく先行技術の手法は、マルチビット入力を扱おうとした時に、非常に複雑になる。
【００１６】
加えて、上述した本発明の一実施形態において、構成動作モード中に、ｎ本のデータ出力線を使用してｎ個のクロスバーセルをプログラムする能力は、そうでない場合には別々にクロスバー回路内に提供することが必要となり得る、多数の制御線の必要性を回避することによって、回路を大幅に簡略化する。
【００１７】
制御回路が、構成動作モード中に、選択したクロスバーセルの記憶回路をプログラムする様態は、記憶回路内に提供される記憶構造のタイプに依存する。しかしながら、一実施形態において、クロスバー回路は、構成動作モード中に、該記憶回路のプログラミングで使用するために、各記憶回路にルーティングされる、少なくとも１本のワード線をさらに備え、構成動作モード中に、制御回路は、ｎ本のビット線として、該選択したデータ出力経路のｎ本のデータ出力線を再利用し、該ｎ本のビット線のそれぞれは、該最高ｎ個のクロスバーセルの該記憶回路のプログラミングを可能にするように、該選択したデータ出力経路に関連付けられるｎ個のクロスバーセルのうちの異なる１個にルーティングされる。したがって、このような実施形態では、ワード線を複数のクロスバーセルにルーティングすることができ、一方で、別個のビット線信号を、関連するデータ出力経路の複数のデータ出力線を利用して、それらの複数のクロスバーセルに提供する。特定のデータ出力経路に関連付けられるクロスバーセルの数が、ｎ個を超えていない場合は、そのような手法を使用して、それらの全てのクロスバーセルを、単一のプログラム動作中にプログラムすることができると認識されよう。
【００１８】
しかしながら、制御回路はまた、特定のデータ出力経路に関連付けられる、ｎ個を超えるクロスバーセルが存在する状況において、クロスバーセルの効率的なプログラミングを実行するように配設されてもよい。例えば、一実施形態において、該選択したデータ出力経路に関連付けられるクロスバーセルの数はｍｎ個であり、ｍは、２以上の整数であり、該少なくとも１本のワード線は、複数のワード線を備え、各ワード線は、該選択したデータ出力に関連付けられる異なるｎ個のクロスバーセルに接続される。構成動作モード中に、該クロスバーセルの数は、ｍ個の連続するプログラミング動作を経てプログラムされ、各プログラミング動作中に、ｎ本のデータ出力線は、そのプログラミング動作によってプログラムされているｎ個のクロスバーセルのための、該ｎ本のビット線として作用する。
【００１９】
したがって、一例として、選択したデータ出力経路に関連付けられるクロスバーセルの数が、２ｎ個である場合、それらの全てのクロスバーセルは、一般的に各プログラミング動作が単一のクロックサイクルを取る、２つの連続するプログラミング動作によってプログラムされる、それらの記憶回路を有することができる。このような本発明の実施形態は、複数のクロスバーセルの記憶回路をプログラミングするための、特に高速かつ効率的な機構を提供し、一方で、関連するデータ出力経路のデータ出力線を再利用することによって、多数の制御線の必要性を回避すると認識されよう。
【００２０】
一実施形態において、構成動作モード中に、少なくとも１本のワード線は、第１の論理レベルで制御回路によって駆動され、各記憶回路内にプログラムされるルーティング値は、該ビット線として作用する関連付けた出力線の制御回路による駆動が、第１の論理レベルで行われるのか、または第２の論理レベルで行われるのかに依存する。第１の論理レベルおよび第２の論理レベルは、実現形態に依存してもよいが、一実施形態において、第１の論理レベルは、論理１レベル（供給電圧レベルＶｄｄに関連付けられ得る）であり、第２の論理レベルは、論理ゼロレベル（ゼロ電圧レベルによって示され得る）である。特定の一実施形態において、構成動作モード中に、ビット線が第１の論理レベルで駆動される場合、ルーティング値は、関連付けた交差点において、データ入力経路をデータ出力経路に連結すべきではないことを示す、該第２の値に設定される。逆に、ビット線が第２の論理レベルで駆動される場合、ルーティング値は、関連付けた交差点において、データ入力経路を出力経路に連結すべきであることを示す、該第１の値にプログラムされる。特定の一実施形態において、第１の値は、論理１値であり、第２の値は、論理ゼロ値である。
【００２１】
一実施形態では、伝送動作モードにおいて、ワード線は、第２の論理レベルにある。より具体的には、一実施形態において、ワード線は、伝送動作モード中に、ゼロボルトに結合される。
【００２２】
一実施形態において、クロスバー回路全体は、構成動作モードに配置されてもよく、よって、データ出力経路のそれぞれに関連付けられるクロスバーセルの記憶回路は、同時に再プログラムされる。しかしながら、別の実施形態では、複数のワード線が提供され、それによって、特定のクロスバーセルが、構成動作モードにあり、一方で、他のクロスバーセルが、伝送動作モードにあることを可能にする。より具体的には、このような一実施形態において、１つ以上のデータ出力経路に関連付けられるクロスバーセルは、構成動作モードに配置されてもよく、一方で、１つ以上の他のデータ出力経路に関連付けられるクロスバーセルは、伝送動作モードのままであってもよい。したがって、これは、クロスバー回路の一部の再プログラムを可能にし、一方で、データは、依然として、残りのクロスバー回路を通じて有効に伝送することができ、それによって、クロスバー回路の使用の柔軟性が大幅に向上する。
【００２３】
一実施形態において、各記憶回路は、関連付けた交差点において、データ入力経路をデータ出力経路に接続すべきかどうかを判断するのに使用されるルーティング値を記憶するための、単一の記憶素子を備えてもよい。しかしながら、代替の実施形態において、記憶回路は、複数の記憶素子を備え、それぞれが、クロスバー回路の複数の構成のうちの１個のルーティング値を記憶するように配設される。したがって、これは、構成動作モード中に、プログラムされるクロスバー回路のための複数の構成を可能にし、よって、その後に伝送動作モードに入った時に、単に該複数の記憶素子内の適切な記憶素子を選択することによって、所望の構成を容易に選択することができる。
【００２４】
各記憶回路内の複数の記憶素子は、様々な方法でプログラムされてもよい。しかしながら、一実施形態において、構成動作モード中の制御回路の各プログラミング動作は、記憶素子のうちの選択した１つをプログラムさせる。
【００２５】
一実施形態において、伝送動作モード中に、制御回路は、クロスバーセルごとに、記憶回路のどの記憶素子を使用して、ルーティング値を伝送回路に提供するのかを同定するよう、構成制御信号を発生するように構成される。したがって、このような実施形態において、クロスバー回路は、さらなる再構成ペナルティを負担せずに、プログラムした構成のうちのいずれかを利用することができる。したがって、このような手法は、単に制御回路からの適切な構成制御信号だけを発生させることで、アプリケーションのランタイム中に、クロスバー回路のルーティングの変更を可能にすることによって、複雑なシャッフル動作を必要とするアプリケーションのランタイム速度を大幅に向上させることができる。さらに、このようなクロスバーは、そのようなシャッフル動作をサポートするように繰り返し再プログラムすることが必要になるので、各記憶回路に単一の記憶素子を有するクロスバーと比較した時に、電力消費も低減する。
【００２６】
一実施形態において、構成制御信号は、ワンホット信号を各記憶回路の記憶素子にルーティングさせ、それによって、記憶素子のうちの１つを選択させる。制御回路によって発行される構成制御信号は、それ自体を、ワンホット信号としてもよく、または代替として、ワンホット信号は、制御回路によって提供される構成制御回路に基づいて、各クロスバーセルにおいてローカルに発生させることができる。この後者の手法は、種々のクロスバーセルに構成信号を伝搬するのに必要な制御パスのサイズを低減することができる。
【００２７】
制御回路によって生成される構成制御信号の数は、実現形態に依存し変化させてもよい。しかしながら、一実施形態において、制御回路は、該データ出力経路ごとに該構成制御信号を発行し、それによって、各構成制御信号は、１個の該データ出力経路に関連付けられる各クロスバーセルの構成を制御する。その結果、異なる構成を、異なるデータ出力経路に関連付けられるクロスバーセルのカラムごとに設定することができる。
【００２８】
各クロスバーセルの伝送回路は、様々な方法で構成することができる。しかしながら、本発明の一実施形態において、伝送動作モードでクロスバーセルに関連付けられる各データ出力経路は、データ転送の前に第１の論理レベルにプリチャージされ、各クロスバーセルの伝送回路は、データ出力経路と第２の論理レベルとの間に直列に接続される、第１および第２のスイッチを備え、伝送動作モードにおいて、第１のスイッチは、関連付けた記憶回路内に記憶されているルーティング値に依存して開かれ、または閉じられ、第２のスイッチは、データ入力経路上で入力されるデータに依存して開かれる、または閉じられる。特定の一実施形態において、第１の論理レベルは、供給電圧レベルＶｄｄであり、第２の論理レベルは、接地である。したがって、このような配設によって、入力経路上のデータは、出力経路上のデータを直接的に駆動せず、代わりに、出力経路上のデータは、第１の論理レベルに留まるか、または第１および第２のスイッチの両方が閉じられるイベントにおいて、第２の論理レベルの方へディスチャージされる。
【００２９】
このような伝送回路の配設によって、伝送回路は、クロスバー回路のサイズに関わらず、変化させる必要が無く、したがって、データ出力経路の長さ、さらには入力データ経路上で入力データを提供する駆動回路も、クロスバー回路のサイズが増加した時にサイズを変更する必要が無い。したがって、クロスバー回路のサイズが増加した時に、各クロスバーセルの回路を変更する必要が無く、代わりに、クロスバーセルの数を増加させるだけでよい。したがって、このような設計を使用することによって、クロスバー回路の遅延は、サイズとともに直線的に増大し、このようなクロスバー回路の設計を、（例えば、１２８×１２８または２５６×２５６入力／出力の）非常に大きいクロスバーにも使用できるようにする。加えて、本設計は、非常に標準的であり、クロスバー回路を通じた全ての経路にわたる遅延は均一である。
【００３０】
一実施形態において、各該データ入力経路は、伝送動作モード中に、ｎビットの入力データ値を担持するための、ｎ本のデータ入力線を備え、各該データ出力経路は、該伝送動作モード中に、ｎビットのデータ値を担持するための、ｎ本のデータ出力線を備え、伝送回路の少なくとも第２のスイッチは、出力データ線ごとに複製される。したがって、伝送回路の設計は、いかなるクロスバー回路の複雑さの増加も伴わずに、マルチビットバスの形態で、データ入力経路およびデータ出力経路に容易に適応することができる。
【００３１】
本発明の一実施形態では、伝送動作モードにおいて、データ出力経路は、該ルーティング値が該第１の値であり、かつ該データ入力値が該第１の論理レベルにある場合に、第２の論理レベルにプルされる。したがって、記憶回路内に記憶されているルーティング値が、データ入力経路を、データ出力経路に連結すべきであり、かつデータ入力経路上のデータが論理１レベルにあることを示している場合、データ出力経路は、第２の論理レベルの方へディスチャージされる。
【００３２】
一実施形態において、各クロスバーセルは、ルーティング値に関わらず第１のスイッチをオフにし、一方で、関連付けたデータ出力経路を第１の論理レベルにプリチャージするための、および第１のスイッチを、ルーティング値によって制御し、その後に、関連付けたデータ出力経路を第１の論理レベルにプリチャージできるようにするための、条件付きディスチャージ回路をさらに備える。したがって、このような条件付きディスチャージ回路は、入力からデータ出力線を分離し、一方で、それらは、プリチャージされ、それによって、プリチャージ動作の電力消費を低減する。また、このような配設によって、データ入力経路は、その時の入力からデータ出力経路を分離させる条件付きディスチャージ回路により、プリチャージ動作と同時に駆動することができ、それによって、動作の速度を増加させることを可能にする。
【００３３】
さらに、上述した伝送回路の配設を使用することによって、全てのデータ出力線を、第１の論理レベルにプリチャージし、次いで、関連付けた入力線への入力値およびルーティング値に依存して、第１の論理レベルのままにするか、または第２の論理レベルに遷移させることに留意されたい。その結果、２本の隣接する出力線への電圧が反対方向に移動するといったいかなる状況も生じず、それによって、容量結合効果が低減され、それによって、動作の速度が向上する。
【００３４】
条件付きディスチャージ回路は、伝送回路の一部として提供されてもよい。しかしながら、一実施形態において、条件付きディスチャージ回路は、各クロスバーセルの記憶回路内に組み込まれる。
【００３５】
データ出力経路が、データ転送の前にプリチャージされ、次いで、ルーティング値およびデータ入力値に依存して、選択的にディスチャージされる実施形態では、感知増幅回路の使用を通じてクロスバー回路の電力消費を低減することができる。より具体的には、一実施形態において、クロスバー回路は、伝送動作モード中に、データ出力経路上のデータ出力を検出し、それによって、データ出力経路が第２の論理レベルに到達する前に、第２の論理レベルへの遷移を検出できるようにする、感知増幅回路をさらに備える。遷移の検出は、データ出力経路が第２の論理レベルに到達する前に生じるので、データ出力経路を第１の電圧レベルへ戻すようにプリチャージするのに必要な電力が、大幅に低減される。
【００３６】
このようなデータ出力経路のプリチャージが生じる実施形態では、よって、クロスバー回路に提供される前に、入力データを好適に符合化することによって、さらなる省電力化を得ることができる。より具体的には、一実施形態において、クロスバー回路は、該複数のソース回路のそれぞれと、該複数のデータ入力経路との間の符号化回路と、該複数のデータ出力経路のそれぞれと、該複数の宛先回路との間の復号回路と、をさらに備え、符号化回路は、各ソース回路によって提供される入力データを符号化した形態に符号化するように、符号化動作を適用し、該動作は、元の入力データがクロスバー回路を通過した場合、データ出力経路を、第２の論理レベルにプルするのに必要になり得る回数と比較した時に、出力経路を第２の論理レベルにプルし、その後に、それらを第１の論理レベルにプリチャージするのに必要な回数を低減し、復号回路は、データ出力経路上で出力される符号化したデータから、ソース回路によって提供される元の入力データを同定するように、対応する復号動作を適用する。
【００３７】
特定の一実施形態において、符合化動作は、入力データから生成される符号化した形式が、入力データが変化する時に、論理１値だけであり、それによって、データ出力経路が、入力データが変化した時にだけディスチャージされるように確実にする。復号回路は、次いで、データ出力経路上で出力される符号化したデータから、元の入力データを再形成する。
【００３８】
各クロスバーセルの記憶回路内に提供される記憶素子は、様々な形態を取ることができる。しかしながら、一実施形態において、各記憶回路は、該ルーティング値を記憶するための、少なくとも１個のＳＲＡＭメモリセルを備える。ＳＲＡＭメモリセルは、プログラムが比較的に早く、比較的に電力の消費が少なく、それによって、クロスバー回路の動作の速度を向上させる。加えて、それらは、比較的に小さく、非常に簡潔にレイアウトすることができる。
【００３９】
特定の一実施形態において、各ＳＲＡＭメモリセルは、６Ｔ  ＳＲＡＭメモリセルである。
【００４０】
本発明の実施形態のクロスバー回路の標準的な設計、および各クロスバーセルの伝送回路が動作する様態のため、複数のソース回路を、複数のデータ入力経路のいずれかの端部に接続でき、それによって、クロスバー回路およびソース回路が提供される装置のレイアウトを設計する時の柔軟性が大幅に向上する。同様に、複数の宛先回路は、複数のデータ出力経路のいずれかの端部に接続できる。制御回路は、複数のデータ出力経路の一端部に連結されてもよいが、これは、宛先回路が、同様にデータ出力経路の同じ端部に接続されてしまうのを防止しない。他の実施形態において、制御回路は、複数のデータ出力経路の両端部にわたって分散させることができる。
【００４１】
複数の構成がクロスバー回路内に記憶されている実施形態において、ソースおよび宛先回路の配置に関する上述の自由度は、二重実装を提供するのに利用することができる。より具体的には、一実施形態において、該複数のソース回路は、該複数のデータ入力経路の第１の端部に接続され、追加の複数のソース回路は、該複数のデータ入力経路の第２の端部に接続され、一方で、該複数の宛先回路は、該複数のデータ出力経路の第１の端部に接続され、追加の複数の宛先回路は、該複数のデータ出力経路の第２の端部に接続される。さらに、クロスバー回路の第１の状態において、該複数のソース回路は、該複数の構成のうちの１番目に従って、該複数の宛先回路に連結され、クロスバー回路の第２の状態において、該追加の複数のソース回路は、該複数の構成のうちの２番目に従って、該追加の複数の宛先回路に連結される。したがって、このような配設によって、単一のクロスバーを使用して、２組のソースおよび宛先を扱うことができる。
【００４２】
特定の一実施形態において、クロスバー回路は、該ソースおよび宛先回路、並びに該追加のソースおよび追加の宛先回路の周波数の少なくとも２倍の周波数でクロッキングされる。
【００４３】
本発明の実施形態のクロスバー回路は、様々なシステムで利用されてもよい。しかしながら、本発明の第２の態様によれば、データ処理装置であって、データ値を記憶するための複数のレジスタと、該複数のレジスタ内に記憶されている複数のデータ値に対して、並列してデータ処理動作を実行するための、複数の処理回路と、該複数のレジスタのうちのいずれかのレジスタから、該複数の処理回路のうちのいずれかの処理回路に、データ値をルーティングするための、本発明の第１の態様によるクロスバー回路と、を備えるデータ処理装置が提供される。
【００４４】
本発明の実施形態のクロスバー回路は、レジスタのうちのいずれかから、処理回路のうちのいずれかにデータ値をルーティングするための、とりわけ単純で、拡張性があり、また電力効率の良い機構を提供する。
【００４５】
第３の態様から見ると、本発明は、複数のソース手段と、複数の宛先手段とを相互接続し、よって、該複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、該複数のソース手段のうちの１つに接続するための、複数のデータ入力経路手段と、複数のデータ入力経路手段を横断する該クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、該複数の宛先手段のうちの１つに接続するための、複数のデータ出力経路手段と、該データ入力経路手段のうちの１つと、該データ出力経路手段のうちの１つとの間の各交差点に関連付けられるクロスバーセル手段であって、各クロスバーセル手段は、ルーティング値を記憶するためにプログラムできる記憶手段であって、ルーティング値は、データ入力経路手段に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路手段上に出力されることを、第１の値が示すようにプログラムされ、かつルーティング値は、データ入力経路手段に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路手段上に出力されないことを、第２の値が示すようにプログラムされる、記憶手段と、データ入力経路手段に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示をデータ出力経路手段上に出力するための、伝送動作モードで、該第１の値を有するルーティング値に応答する、伝送手段と、を備える、クロスバーセル手段と、各クロスバーセル手段に制御信号を発行するための制御手段であって、構成動作モード中に、制御手段は、クロスバーセル手段のうちの１つ以上の記憶手段をプログラムするように、データ出力経路手段のうちの少なくとも１つを再利用するための、制御手段と、を備える、クロスバー回路を提供する。
【００４６】
第４の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができ、クロスバー回路は、該クロスバー回路を通過する複数のデータ入力経路を有し、各データ入力経路は、該複数のソース回路に接続することができ、複数のデータ出力経路は、複数のデータ入力経路を横断する該クロスバー回路を通過し、各データ出力経路は、該複数の宛先回路のうちの１つに接続することができる、クロスバー回路を動作させる方法であって、該データ入力経路のうちの１つと、該データ出力経路のうちの１つとの間の各交差点を関連付けて、クロスバーセルを採用するステップと、各クロスバーセルでルーティング値をプログラミングするステップであって、ルーティング値は、データ入力経路に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路上に出力されることを、第１の値が示すようにプログラムされ、ルーティング値は、データ入力経路に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路上に出力されないことを、第２の値が示すようにプログラムされる、ステップと、伝送動作モードにおいて、データ入力経路に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示をデータ出力経路上に出力するよう、クロスバーセルを、該第１の値を有するルーティング値に応答させるステップと、クロスバーセルに制御信号を発行するステップであって、構成動作モード中に、制御回路は、クロスバーセルのうちの１つ以上の記憶回路をプログラムするように、データ出力経路のうちの少なくとも１つを再利用する、ステップと、を含む、クロスバー回路を動作させる方法を提供する。
【００４７】
以下、ほんの一例として、添付図面に示されているその実施形態を参照して、本発明をさらに説明する。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態による、クロスバー回路のブロック図である。
【図２】クロスバー回路内の各クロスバーセルの基本構造と、本発明の一実施形態に従って、データ出力経路の個々のデータ出力線が、各クロスバーセル内の記憶回路をプログラムするためのビット線として再利用される様態を示す図である。
【図３】本発明の一実施形態に従って、図２の伝送回路の配設をより詳細に示す図である。
【図４】本発明の一実施形態に従って、各クロスバーセル内の伝送回路の形成に使用されるトランジスタ対の繰り返し配列を示す図である。
【図５】本発明の一実施形態に従って、各クロスバーセル内に提供される構成要素を示す図である。
【図６】本発明の代替の一実施形態に従って、各クロスバーセル内に提供される構成要素を示す図である。
【図７】本発明の一実施形態に従って、条件付きディスチャージ回路を、各クロスバーセルの記憶素子内にどのように組み込むことができるのかを示す図である。
【図８Ａ】データ出力線を条件付きでディスチャージし、感知増幅回路を起動させるのに必要な信号を発生させるために、本発明の一実施形態に従って、クロスバー回路のコントローラ内に提供される、パルス発生回路を示す図である。
【図８Ｂ】データ伝送動作モードおよび構成動作モードの両方で生成される信号を示す図である。
【図９Ａ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。
【図９Ｂ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。
【図９Ｃ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。
【図９Ｄ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。
【図９Ｅ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。
【図１０】本発明の実施形態のクロスバー回路が採用され得る、装置の一実施例を示す図である。
【図１１】本発明の一実施形態による、クロスバー回路を示す線図である。
【図１２Ａ】本発明の実施形態のクロスバー回路の二重構成での使用を示す図である。
【図１２Ｂ】本発明の実施形態のクロスバー回路の二重構成での使用を示す図である。
【発明を実施するための形態】
【００４９】
図１は、本発明の一実施形態による、クロスバー回路を概略的に示す線図である。クロスバー回路は、クロスバー回路を通じて第１の方向で動作する複数のデータ入力経路１０と、第１の方向を横断する第２の方向で動作する複数のデータ出力経路２０と、を含む。データ入力経路およびデータ出力経路は、どちらも単一のビット値をルーティングしてもよいが、図１の実施形態において、これらの経路は両者とも、マルチビットバスによって形成されており、それに応じて、データ入力経路は、複数のデータ入力線を備え、データ出力経路は、複数のデータ出力線を備える。
【００５０】
各データ入力経路とデータ出力経路との間の交差点には、クロスバーセル３０が提供され、各クロスバーセルは、関連付けたデータ入力経路上のそのクロスバーセルによって受信されるデータ入力５０を、関連付けたデータ出力経路上にルーティングすべきかどうかを同定するように、コントローラ４０によって制御される。各クロスバーセルは、各クロスバーセルのオン／オフ状態を記憶するための、少なくとも１個の記憶素子を含み、よって、クロスバーセルがオン状態にある場合は、データ入力経路上で受信した入力データをデータ出力経路にルーティングし、セルがオフ状態にある場合は、入力データは、関連付けたデータ出力経路上にルーティングされずに、単にセルを通過するだけである。
【００５１】
各データ入力経路は、入力データを受信し得る関連付けたソース回路に連結され、各データ出力経路は、そのデータ出力経路上に提供される出力データを受信するように配設される、関連付けた宛先回路に連結される。
【００５２】
クロスバー回路は、伝送動作モード、または構成動作モードのいずれかで動作してもよい。伝送動作モードにおいて、データ入力経路上で受信されるデータは、各クロスバーセルのオン／オフ動作の状態に依存して、クロスバー回路を通じて適切なデータ出力経路にルーティングされる。下記に詳述するように、構成動作モードにおいて、各セルのオン／オフ状態は、コントローラ４０によってプログラムされ、本発明の実施形態に従って、データ出力経路の個々のデータ出力線は、クロスバーセルのプログラミング動作で使用される。このような手法によって、クロスバー回路内に必要な制御線の数の大幅な低減が達成され、それによって、設計を大幅に簡略化する。
【００５３】
図２は、本発明の実施形態による、各クロスバーセルの基本要素を概略的に示している。各クロスバーセル３０は、ルーティング値（上述のオン／オフ状態）を記憶するようにプログラムできる、記憶回路１００を含む。データ伝送動作モード中に、このルーティング値は、記憶回路１００から伝送回路１０５に提供される。ルーティング値がオン状態を示す場合、伝送回路１０５は、データ入力経路１０上で受信される入力データを検出して、そのデータをデータ出力経路２０にルーティングする。ルーティング値がオフ状態を示す場合、データは、データ出力経路に接続されずに、データ入力経路に沿って、次のクロスバーセルに伝搬される。
【００５４】
同じく図２に示されているように、データ出力経路２０は、複数のデータ出力線１２０、１２２、１２４から成り、構成動作モード中に、個々のデータ出力線は、記憶回路１００のためのビット線として使用される。したがって、図２に示されているように、例えば、データ出力線１２０は、第１のクロスバーセルのためのビット線を形成し、データ出力線１２２は、第２のクロスバーセルのためのビット線を形成し、データ出力線１２４は、第３のクロスバーセルのためのビット線を形成し、等々となる。ワード線１１０は、コントローラ４０からも提供され、ワード線は、ビット線と組み合わせて、記憶回路１００をプログラムするのに使用される。図２から分かるように、データ出力経路２０がｎ本のデータ出力線を含む場合は、クロスバー回路の特定のカラム内のｎ個のクロスバーセルを、単一のプログラミング動作を経てプログラムすることができる。
【００５５】
図１の特定の例示的な一実施形態において、クロスバー回路が３２×３２の配列のクロスバーセルであり、データ入力経路およびデータ出力経路が１６本のデータ線を含む場合、あるワード線は、特定のカラム内のクロスバーセルのうちの１６個に供給され、別のワード線は、そのカラム内の残り１６個のクロスバーセルに供給され、クロスバーセルのカラム全体を、一般的に各プログラミング動作が１つのクロックサイクルを取る、２つのプログラミング動作によってプログラムすることができる。
【００５６】
ワード線は、カラムごとに提供されてもよく、または代替として、同じワード線が全てのカラムにわたって使用されてもよい。同じワード線が全てのカラムにわたって使用される場合は、全てのカラムが同時に構成動作モードに配置され、各カラム内の最高ｎ個のクロスバーセルが同時にプログラムされる。しかしながら、別個のワード線を各カラムに提供することによって、特定のカラムを構成動作モードに配置することができ、一方で、他のカラムは、伝送動作モードであるので、さらなる柔軟性を提供する。
【００５７】
図３は、本発明の一実施形態による、各クロスバーセルの構造を示している。本実施形態において、伝送回路は、データ入力経路の各ビットのための一対のトランジスタ１５５、１６０を含む。したがって、データ入力経路が１６ビットのワイドバスである図１の実施例を考えると、トランジスタ対１５５、１６０は、１６回繰り返される。
【００５８】
図３に示されている実施形態において、プリチャージ回路１７０は、クロスバー回路を通じて生じるデータを転送する前に、データ出力経路２０のデータ出力線をプリチャージするために提供される。さらに、図３に示されている実施形態において、感知増幅回路１８０は、出力データを感知するために使用される。
【００５９】
構成動作モードにおいて、ワード線は、論理１（Ｖｄｄ）レベルに引き上げられ、ビット線を形成する各データ出力線は、論理ゼロ値を関連付けた記憶回路に書き込むように、論理１（Ｖｄｄ）レベルに保たれるか、または、論理１値を関連付けた記憶回路に書き込むように、論理ゼロ（接地）レベルに保たれる。一般的に、クロスバーの特定のカラム内の１個の使用可能な記憶回路だけが、論理１値を記憶する。したがって、カラム内の１つを除く全ての記憶回路について、論理ゼロ値がその中に記憶され、したがって、ほとんどの場合、記憶回路内には論理ゼロ値が書き込まれる。プリチャージスキームのため、ほとんどの場合、ビット線は、Ｖｄｄ論理レベルにある。したがって、Ｖｄｄレベルに保たれるビット線が、論理ゼロ値を記憶回路に書き込むように配設することによって、論理ゼロ値を書き込む時に、それらのビット線のうちのいずれかを、接地の方へプルする必要性が回避される。論理１値を記憶する必要がある比較的に少数の記憶回路についてのみ、関連するビット線を接地の方へプルする必要がある。したがって、この書き込みスキームは、電力消費を大幅に節約する。
【００６０】
伝送動作モードにおいて、ワード線は、接地に結合され、一方で、データ出力線は、プリチャージ回路１７０によって、論理１（Ｖｄｄ）レベルにプリチャージされる。同時に、入力データは、クロスバー回路のソース回路からデータ入力経路に提供することができる。その後、データ出力線は、条件付きでディスチャージされる。図３から分かるように、データ出力線は、記憶回路がオン状態（すなわち、論理１値を記憶し、それによって、トランジスタ１５５をオンにする）、かつ対応する入力データビットが高い場合にのみディスチャージし、それによって、トランジスタ１６０をオンにする。この状態では、代わりに接地への接続がデータ出力線をディスチャージするので、データ入力は、データ出力線２０を駆動する必要が無いことに留意されたい。これは、特に大規模なクロスバー回路において、データ出力線が長くなり、それに応じて、有意な容量を有することになるので、有益である。オン状態にある時に、これらのデータ線を、トランジスタ１５５、１６０を通じて、選択的に接地にディスチャージさせることによって、クロスバー回路のサイズが増加した時に、伝送回路も、入力データを入力データ経路１０に提供するのに使用される駆動回路も、サイズを増加させる必要が無いので、非常に拡張性のある設計になる。さらに、単一の入力データ値が複数の出力経路に同報通信される場合、マルチキャスティングをサポートする、いかなる追加のハードウェアまたはサイジングも不要である。
【００６１】
同じく図３に示されているように、条件付きディスチャージ動作に従って、感知増幅回路１８０を介して感知段階が生じ、該段階では、ビット線電圧の小さいスイングが、感知増幅回路によって、フルレールスイングに増幅される。感知増幅回路１８０は、様々な方法で構成することができるが、一実施形態では、データ出力値を検出するために、各データ出力線上の電圧と基準電圧とを比較する、シングルエンド感知増幅器で形成される。より具体的には、データ入力経路のデータ入力ラインに対するデータ入力値が論理１値である場合、これは、対応するデータ出力線に対する電圧が基準電圧を下回って降下することを検出する感知増幅回路によって、関連するデータ出力回路において検出される。逆に、データ入力値が論理ゼロ値である場合、トランジスタ１６０は、オンにせず、対応するデータ出力線は、ディスチャージしない。したがって、感知段階の終りまで、感知増幅回路は、電圧が基準電圧を下回ることを検出せず、それに応じて、データ入力値が論理ゼロ値であったものと判断する。
【００６２】
図４は、関連付けたデータ入力経路２０５、２１０、２１５、２２０、および共通のデータ出力経路２７０とともに、本発明の一実施形態による、クロスバー回路内のクロスバーセル２５０、２５５、２６０、２６５のカラムを示す線図である。セル２５０は、記憶回路（図４では、ビット記憶セル２３０と称する）および関連付けた伝送回路を示す。より具体的には、図４に示されているように、１６ビットの入力データの各ビットについて、伝送回路は、一対のトランジスタ２４０を提供し、各トランジスタ対２４０は、図３に示されるトランジスタ１５５、１６０から成る。同じく図４に示されているように、プリチャージ回路１７０は、データ出力線ごとに、一対のトランジスタ２００から成る。各プリチャージトランジスタ対２００は、背中合わせのＮＭＯＳトランジスタおよびＰＭＯＳトランジスタから成り、よって、クロック信号が高くなった時には、データ線がプリチャージされ、クロック信号が低くなった時には、プリチャージ動作を終了する。データ伝送動作モード中に、これらのプリチャージトランジスタ対２００は、データ出力線をＶｄｄにプリチャージするように、常時Ｖｄｄに接続される。しかしながら、構成動作モードにおいて、これらのトランジスタ対２００は、種々のビット記憶セル２３０をプログラムするために、個々のデータ出力線が所要の論理レベルに駆動されるように、選択的にＶｄｄまたは接地のいずれかに接続することができる。
【００６３】
図５は、本発明の一実施形態に従って、各クロスバーセル内に提供される構成要素を示す線図である。伝送回路３００は、データ出力線ごとにトランジスタ対３０５、３１０を含み、各トランジスタ対３０５、３１０は、図３に示されるトランジスタ対１５５、１６０に対応する。条件付きディスチャージ回路は、トランジスタ３１５、３２０およびインバータ３２５の形態でも提供される。ディスチャージ信号は、ノード３２７で受信され、該ノードは、クロック信号が論理１レベルにある時には、論理ゼロ値に設定され、クロック信号が論理ゼロレベルにある時には、少なくとも一部の期間にわたって論理１値に設定される。したがって、ディスチャージ信号が論理ゼロ値である時には、トランジスタ３１５をオンにし、トランジスタ３２０をオフにする。オフになっているトランジスタ３２０は、記憶回路内で、記憶素子３５５の出力から伝送回路３００を分離する。さらに、オンになっているトランジスタ３１５は、インバータ３２５によって論理ゼロ値を出力させ、したがって、トランジスタ３０５をオフにする。したがって、これは、接地からデータ出力線のそれぞれを分離し、一方で、それらはＶｄｄにプリチャージされ、それによって、プリチャージプロセスによって消費される電力を低減する。
【００６４】
ディスチャージ信号が、次いで（プリチャージ段階の終了後に）、論理１値に遷移した時に、トランジスタ３１５をオフにし、トランジスタ３２０をオンにする。その結果、伝送回路３００は、次いで、記憶素子３５５から出力に接続され、記憶素子内に記憶されているデータ値に依存して、トランジスタ３０５を、オンまたはオフにできるようにする。一実施形態では、ディスチャージ信号が論理１値に保たれる時間は、ディスチャージするデータ出力線が、感知増幅回路によって検出するのに必要な程度までしかディスチャージを行わないように、感知増幅回路の閾値を考慮して調整することができ、それによって電力を節約する。
【００６５】
記憶素子３５５は、ビット線、およびＳＲＡＭセル３５０の反対側で使用されるビット線＿ｂの入力の作成に使用される、６Ｔ  ＳＲＡＭセル３５０と、インバータ３４５と、を備える。
【００６６】
上述のように、構成動作モード中に、記憶素子がプログラムされている時に、ワード線は、Ｖｄｄにプルされ、それに応じて、インバータ３３０は、トランジスタ３３５をオンにして、インバータ回路３４０に電力を供給し、それによって、ビット線の値を、記憶素子をプログラムするのに使用できるようにする。逆に、データ伝送動作モード中に、ワード線は、論理ゼロレベルにあり、それに応じて、トランジスタ３３５はオフにされる。その結果、インバータ回路３４０はオンにされず、ビット線は、記憶素子から分離される。これは、記憶素子から生じる漏れを回避し、一方で、ビット線は、データ伝送動作モード中にディスチャージする。
【００６７】
図６は、本発明の代替の一実施形態による、クロスバーセルの構造を示している。図５と図６とを比較して分かるように、伝送回路３００は、元のままである。しかしながら、図６に示されている実施形態では、クロスバーセルの４つの構成を記憶するための、４個の別個の記憶素子が提供される。したがって、各記憶素子３９０は、図５にあるように６Ｔ  ＳＲＡＭセル３５０と、関連付けたインバータ３４５と、を含むが、追加の構成選択回路を含む。より具体的には、トランジスタ３６０および３６５は、高い論理レベルのワード線をＳＲＡＭセル３５０のうちの選択した１つに選択的に連結するように、構成動作モード中に使用される。構成信号「ｃｏｎｆｉｇ」は、ワンホット信号として発生され、よって、その信号の１個のビットが、各記憶素子３９０によって使用される。１個のビットだけが高く設定され、そのビットに関連付けられる記憶素子３９０については、トランジスタ３６０、３６５のゲートに提供される構成信号の逆であるため、トランジスタ３６０をオンにして、ワード線をメモリセルに連結させ、それによって、そのメモリセルをプログラムできるようにする。
【００６８】
ワンホット構成信号は、コントローラ４０によって発生されてもよく、または代替として、構成制御信号は、ワンホット構成信号を発生するように、各クロスバーセルでローカルに使用されるコントローラによって発行されてもよい。この後者の手法は、コントローラから各クロスバーセルまでに必要な制御線のサイズを低減する。
【００６９】
４個の別個の記憶素子のそれぞれをプログラムするには、４つの別個のプログラミング動作が必要となる。しかしながら、種々の構成がクロスバーセル内にプログラムされると、種々の構成間の切り替えを、いかなるさらなる時間ペナルティも伴わずに生じさせることができる。より具体的には、ｃｏｎｆｉｇ信号は、トランジスタ３７０、３８０のゲートにも提供される。特定の記憶素子３９０のｃｏｎｆｉｇ信号が、伝送動作モード中に高く設定された場合は、関連付けたトランジスタ３７０、３８０をオンにさせ、それによって、インバータ３８５に電力を供給して、メモリセル３５０内に記憶されているルーティング値を示す伝送回路に信号を提供する。他の全ての記憶素子について、トランジスタ３７０、３８０はオフにされ、それに応じて、インバータ３８５はいかなる出力も提供しない。
【００７０】
構成要素３３０、３３５、および３４０（図５を参照して上述したもの）によって形成される分離回路は、全ての記憶素子３９０の間で共有される。
【００７１】
図６の実施形態を使用することによって、各クロスバーセル内に複数の構成を記憶し、次いで、さらなるプログラミングのオーバーヘッドを伴わずに、それらの種々の構成間を非常に迅速に切り替えることが可能である。このような手法は、入力データ値を含む記憶装置へのアクセス回数を低減することによって、入力データに対する複雑なシャッフル動作を必要とするアプリケーションのランタイムを加速することができる。
【００７２】
単一の記憶素子だけを含むクロスバーセルの実施形態を使用する時は、図７を参照して詳述するが、それ自体の記憶素子内の条件付きディスチャージ回路（図５では、トランジスタ３１５、３２０およびインバータ３２５によって表される）の機能を組み込むことが可能である。図７に示されているように、ワード線の値に依存して、メモリセルをビット線４００、４０５に連結するために、２個のＰＭＯＳトランジスタ４２０、４２５、および２個のＮＭＯＳトランジスタ４３０、４３５は、ＳＲＡＭメモリセルの交差連結したインバータを形成し、ＮＭＯＳトランジスタ４１０、４１５は、ＳＲＡＭメモリセルのパスゲートトランジスタを形成する（ビット線４０５に対する信号は、インバータ４６０の使用を介した、ビット線４００に対する信号の逆である）。
【００７３】
加えて、トランジスタ４４０、４４５、４５０が提供される。図５を参照して上述したように、ディスチャージ信号が低電圧レベルにある時には、メモリセル内に記憶されているルーティング値に関わらず、それらのトランジスタがオフにされるように、論理ゼロ値がトランジスタ３０５に入力され、それによって、この期間中に生じるプリチャージ動作の効率を向上させる。図７から明らかなように、ディスチャージ信号が低い時には、トランジスタ４４５および４５０がオフにされ（ディスチャージ＿ｂ信号は、インバータ４７０により、高い論理レベルにある）、トランジスタ４４０がオンにされ、それによって、Ｖｄｄをインバータ４５５にルーティングさせ、したがって、論理ゼロ値を出力させる。この論理ゼロ値は、次いで、トランジスタ３０５をオフにするために、それらに入力される。したがって、これは、図５に示されている構成要素３１５、３２０、および３２５の必要性を取り除く。
【００７４】
逆に、ディスチャージ信号が高い時は、プリチャージ段階が終了し、そのデータ伝送が生じることを示すが、６Ｔ  ＳＲＡＭセルが、通常の構成を取り、ＳＲＡＭセル内に記憶されている値がインバータ４５５によって出力されるように、トランジスタ４４０がオフにされ、トランジスタ４４５および４５０の両方がオンにされる。
【００７５】
図８Ａは、「ディスチャージ」および「ＳＥ」と称される２つの信号を発生させるように、コントローラ４０内に提供される、パルス発生回路を示している。一般的に、このパルス発生回路の１つのインスタンスが、クロスバー全体に提供される。パルス発生器回路は、遅延素子として使用される、複数のトランジスタ５１０、５１５、５３５、５４０、および多数のインバータ５００、５０５、５２０、５２５、５３０、５４５、５５０から成る。図８Ａのパルス発生回路を使用してクロック信号から生成されるＳＥおよびディスチャージ信号の形態を、データ伝送モードおよび構成モードの両者について、図８Ｂに示す。ディスチャージ信号が高い間、データ線は、記憶素子内に記憶されているルーティング値およびデータ入力線の値に依存して、条件付きでディスチャージされる。次いで、わずかな遅延の後に、ＳＥ信号は、感知増幅器６０を起動させてデータ出力線上の電圧を検出するように、高く設定される。
【００７６】
構成要素５００、５０５のサイズを設定することによって、ディスチャージ信号を高いままに保つ時間の長さを調整することができる。同様に、構成要素５２５、５３０のサイズを設定することによって、ＳＥ信号を高いままに保つ時間の長さを調整することができる。
【００７７】
構成動作モードにおいて、ディスチャージおよびＳＥ信号は、論理ゼロレベルに保たれる。これは、パルス発生回路に入力されるクロック信号の代わりに論理ゼロ値を提供するコントローラの変わりに、パルス発生回路へのクロック信号を遮断するコントローラ４０によって達成され、それによって、ディスチャージおよびＳＥ信号を、図８Ｂの右側に示されるように、論理ゼロレベルのままに保つ。
【００７８】
上述の本発明の実施形態では、出力データ線が高くプリチャージされるので、静的な高入力が、クロックサイクルごとにそれらのデータ線をディスチャージさせる。図９Ａ〜９Ｅは、これを軽減するのに使用することができ、それによって電力消費を低減する、符号化スキームを示している。より具体的には、図９Ａは、ソースとクロスバーの入力データ経路との間に配置されてもよい、符号化器回路を示し、図９Ｂは、感知増幅器６０の出力と宛先回路との間に配置されてもよい、関連付けた復号器回路を示す。最初に、図９Ａの符号化器回路を考えると、新しいデータの各アイテムはフリップフロップ６００内にラッチされ、古いデータはＮＡＮＤゲート６０５を経てフリップフロップ６１０に伝搬される。次いで、比較器６１５が新しいデータと古いデータとを比較し、差異があればいつでも、論理ゼロ値をインバータ６２０に出力させ、その結果、論理１値が符号化器回路によって出力される。したがって、提供された入力データから、符号化器は、入力データが論理ゼロから論理１値に、または論理１値から論理ゼロ値に変化するたびに、論理１値によって分離される論理ゼロ値を生成する。クロスバーセルの上述の考察から、データ出力線は、このような論理１値が現れた時にだけディスチャージされ、それによって、プリチャージ動作に関連付けられる電力消費を低減することを認識されるであろう。
【００７９】
第１のデータアイテムが入力された時には、それに対していかなる以前のデータも比較されず、それに応じて、ｓｙｎｃ信号を使用して、フリップフロップ６１０内の初期状態を設定する。さらに、例えば、図６を参照して上述したようなクロスバーセル構造を使用した時に定期的に生じ得るように、クロスバーを新しい構成に切り替えるたびに、同期化パルスを使用して、符号化器ハードウェアを（クロックサイクルを費やさずに）リセットすることができる。
【００８０】
対応する復号器回路を図９Ｂに示す。構成要素６３０および６３５の構造は、構成要素６６０によって図９Ｃに概略的に示す。示されているように、このような構成要素は、実際に、直列に接続される一連のトランジスタ６６５、６７０、６７５、６８０から成る。
【００８１】
ｓｙｎｃ＿ｄ信号は、ｓｙｎｃ信号と同じであるが、１クロックサイクルだけ遅延される。ｓｙｎｃ＿ｄ＿ｂ信号は、逆ｓｙｎｃ＿ｄ信号である。これらの３つの信号の関係を図９Ｅに示す。ｓｙｎｃ信号は、アクティブロー信号であり、したがって通常動作下にあり（回路が新しい構成に切り替えられていない時）、ｓｙｎｃおよびｓｙｎｃ＿ｄは、高い論理１レベルになり、一方で、ｓｙｎｃ＿ｄ＿ｂ信号は、低い論理ゼロレベルになることに留意されたい。
【００８２】
図９Ｂから分かるように、復号器は、感知増幅器、クロック信号、およびｓｙｎｃ＿ｄ＿ｂ信号から出力を受信し、一連のＮＡＮＤゲート６４５、６５０、６５５を経て、内部クロック信号をフリップフロップ６４０に提供する。フリップフロップ６４０からの出力は、出力を宛先回路に駆動し、感知増幅器を介して受信される符合化した出力から、元の入力データを再作成する。
【００８３】
通常動作において、ｓｙｎｃ信号は、論理１レベルであり、ｓｙｎｃ＿ｄ＿ｂ信号は、論理０レベルであるので、構成要素６３５が起動され、一方で、構成要素６３０が停止される。３個のＮＡＮＤゲート６４５、６５０、６５５は、感知増幅器が遷移を検出して、高い信号を送信する時に、パルスをフリップフロップ６４０に提供する。新しい構成への切り替えが生じた時には、ｓｙｎｃおよびｓｙｎｃ＿ｄ信号が低くなり、一方で、ｓｙｎｃ＿ｄ＿ｂ信号が高くなる。したがって、その時に、構成要素６３０が起動され、一方で、構成要素６３５が停止される。その結果、インバータ６３５を経て以前のデータをトグルする代わりに、フリップフロップ６４０は、感知増幅器からデータを（構成要素６３０がそれを逆にした後に）取り込む。
【００８４】
図９Ｄは、符号化器回路への入力データ、結果として生じた符合化器回路からの符号化したデータ出力、符号化したデータが高くなるたびにディスチャージされる、対応するビット線の指示を示し、また、感知増幅器から受信した情報に基づいて、復号器回路によって生成される出力データを示している。出力データは、符号化器に渡された入力データを忠実に再生していることが分かる。
【００８５】
図１０は、本発明の実施形態のクロスバー回路の一実施例の実現形態を示している。より具体的には、単一のコントローラブロック７０５によって制御される、２個のこのようなクロスバー回路７２０、７２５を示している。クロスバー回路７２０は、複数の乗算回路７３５に提供される第１のオペランド（ｏｐＡ）を生成するのに使用され、一方で、クロスバー回路７２５は、第２のオペランド（ｏｐＢ）をそれらの乗算回路に提供するように配設される。それぞれが、２５６ビットのデータを記憶する１６個のベクトルレジスタを含む、２個のレジスタバンク７１０、７１５が提供される。まとめると、これらは集合的に、それぞれ５１２ビットのデータを記憶する１６個のベクトルレジスタを有するものとみなすことができる、システムを形成する。これは、ｏｐＡの半分がレジスタバンク７１０によって提供され、ｏｐＡの他の半分がレジスタバンク７１５によって提供されるのを可能にする。同様に、これは、ｏｐＢの半分がレジスタバンク７１０によって提供され、ｏｐＢの他の半分がレジスタバンク７１５によって提供されるのを可能にする。
【００８６】
一組のフリップフロップ７３０は、クロスバー回路７２０、７２５からの出力をラッチするのに使用され、該出力は、３２個の乗算回路７３５に提供され、その結果、次いで、さらなる一組のフリップフロップ７４０内に記憶される。その後、結果は、それぞれ、レジスタバンク７１０、７１５にフィードバックされる。
【００８７】
したがって、この実施形態では、それぞれが２５６ビットのデータを記憶する、３２個のベクトルレジスタと、それぞれが、１６ビットチャネルを形成するデータ入力経路およびデータ出力経路を伴う３２×３２のビット配列を提供する、２個のクロスバー回路と、が存在する。乗算回路７３５は、それぞれが１６ビットのオペランド上で動作する、３２個の乗算器を提供する。
【００８８】
システムコントローラ７００は、システムの全体的な動作を管理するために提供され、実行される次の命令を同定するプログラムカウンタ（ＰＣ）値を維持する。
【００８９】
したがって、第１のサイクルが正の段階の間に、所要のレジスタが読み取られ、クロスバー内のデータ線がプリチャージされる。第１のサイクルの負の段階では、データ出力線の条件付きディスチャージが生じ、感知増幅器は、それらの感知動作を実行する。その後、第２のサイクルにおいて、乗算回路は、所要の乗算動作を実行し、次いで、第３のサイクルにおいて、フリップフロップ７４０からレジスタバンク７１０、７１５へのライトバック動作が生じる。
【００９０】
図１１は、本発明の実施形態に従って、クロスバー回路を使用した時に生じさせることができる、レイアウトの柔軟性を示している。本発明の実施形態のクロスバー回路の設計は、非常に標準的であり、全てのチャネルにわたる遅延は、均一である。入力データ経路への入力を提供するソースデバイス８００は、クロスバー回路のいずれの側にも提供することができ、同様に、宛先回路は、データ出力経路のいずれの端部にも提供することができる。図１１では、全ての宛先回路８１０が、クロスバーの底端部に示されているが、コントローラ４０がその上端部に位置付けられる場合であっても、それらのうちの１つ以上がクロスバーの上端部に提供されてもよい。これは、ルーティングの輻輳を低減することによって、設計のフロアプランニングを簡略化する。
【００９１】
したがって、本発明の実施形態のクロスバー回路は、ソースを両水平端部のいずれかに、また、宛先を両垂直端部のいずれかに配置するといった柔軟性を提供することを認識されるであろう。加えて、上述のように、複数の構成を記憶することができ、いかなる遅延ペナルティも伴わずに、途切れること無くそれらの間を切り替えることができる。これらの２つの特徴を利用することによって、図１２Ａおよび１２Ｂに概略的に示されているように、単一のクロスバー回路を使用して、２組のソースおよび宛先を扱うことができる。状態１において、左側のソースは下側の宛先と通信し、右側のソースは３状態モードのままである。状態２において、右側のソースは上側の宛先と通信し、左側のソースは３状態のままである。同じ入力および出力バスが両方の状態に使用されるが、代替の構成を使用する。非常に高速であるクロスバーは、処理ユニット（宛先）の２倍の周波数でクロッキングすることができる。
【００９２】
本発明の実施形態の上記説明から、このような実施形態は、マルチコアアプリケーションに必要とされ得るような、非常に大きいクロスバーを設計するのに使用することができる、新規なクロスバー実装スキームを提供することが分かるであろう。本発明の実施形態のクロスバー回路は、構成動作モード中に、データ出力線を再使用して、各クロスバーセル内の記憶素子をプログラムする。提案した本発明の実施形態の実装は、クロスバーの設計に対して、最小の可能な面積を使用する。交差点の数および各交差点に組み込まれる論理の数の両者が増大する、典型的な先行技術の実現形態とは対照的に、本発明の実施形態によれば、交差点の数だけしか増大しない。
【００９３】
加えて、本発明の実施形態のクロスバーセル構造を採用した時に、各入力データ経路上に入力データを提供するのに使用される、伝送回路のサイズも、駆動回路のサイズも、クロスバー回路のサイズが増加した時に、サイズを増加させる必要が無い。さらに、単一の入力データ値が複数の出力経路に同報通信される、マルチキャスティングをサポートするのに、いかなる追加のハードウェアまたはサイジングも不要である。
【００９４】
さらに、本発明の実施形態には標準的な構造が採用されるため、ルーティングは、典型的な先行技術の手法よりもかなり直接的になる。
【００９５】
さらに、複数の構成が記憶回路内に記憶される実施形態では、メモリアクセスの回数を低減することによって、複雑なシャッフル動作を必要とするアプリケーションのランタイムを加速することができる。
【００９６】
本発明の一実施形態では、入力は、例えば、マルチプレクシング手法を採用している典型的な先行技術のクロスバーで必要とされ得るような、異なるバスからの同じビットを備えるパケットとしてではなく、バスとしてクロスバー内に供給される。これは、ワイドバスの相互接続部として、本発明の実施形態のクロスバー回路を利用し易くする。
【００９７】
本発明の実施形態のクロスバー回路の設計により、クロスバーを通じた遅延は、サイズとともに直線的に増大する。これは、本発明の実施形態のクロスバー回路を、１２８×１２８または２５６×２５６入力／出力のクロスバー等の、非常に大きいクロスバーに容易に使用できるようにする。
【００９８】
上述のように、本設計は、非常に標準的であり、全てのチャネルにわたる遅延は均一である。さらに、入力は、いずれの水平端部からも供給することができ、出力は、いずれの垂直端部でも利用できる。これは、ルーティングの輻輳を低減することによって、設計フロアプランニングを容易にする。
【００９９】
本明細書では、本発明の特定の一実施形態を説明したが、本発明は、それに限定されるものではなく、本発明の範囲内で、多数の変更および追加が行われ得ることは明白であろう。例えば、本発明の範囲を逸脱しない範囲で、以下の従属請求項の特徴の、独立請求項の特徴との種々の組み合わせを行うことができる。
【符号の説明】
【０１００】
３０  クロスバーセル
４０  コントローラ
５０  データ入力
【図１】
2010193454.tif 000003
【図６】
2010193454.tif 000004
【図２】
2010193454.tif 000005
【図３】
2010193454.tif 000006
【図４】
2010193454.tif 000007
【図５】
2010193454.tif 000008
【図７】
2010193454.tif 000009
【図８Ａ】
2010193454.tif 000010
【図８Ｂ】
2010193454.tif 000011
【図９Ａ】
2010193454.tif 000012
【図９Ｂ】
2010193454.tif 000013
【図９Ｃ】
2010193454.tif 000014
【図９Ｄ】
2010193454.tif 000015
【図９Ｅ】
2010193454.tif 000016
【図１０】
2010193454.tif 000017
【図１１】
2010193454.tif 000018
【図１２Ａ】
2010193454.tif 000019
【図１２Ｂ】
2010193454.tif 000020