JP2010193454A - クロスバー回路およびそのようなクロスバー回路の動作方法 - Google Patents

クロスバー回路およびそのようなクロスバー回路の動作方法 Download PDF

Info

Publication number
JP2010193454A
JP2010193454A JP2010030154A JP2010030154A JP2010193454A JP 2010193454 A JP2010193454 A JP 2010193454A JP 2010030154 A JP2010030154 A JP 2010030154A JP 2010030154 A JP2010030154 A JP 2010030154A JP 2010193454 A JP2010193454 A JP 2010193454A
Authority
JP
Japan
Prior art keywords
circuit
crossbar
data
data output
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010030154A
Other languages
English (en)
Other versions
JP5431996B2 (ja
Inventor
Sudhir Kumar Satpathy
スディール・クマール・サトパティ
David Theodore Blaauw
デヴィッド・セオドア・ブラウ
Trevor Nigel Mudge
トレヴァー・ナイジェル・マッジ
Dennis Michael Sylvester
デニス・マイケル・シルヴェスター
Jr Ronald George Dreslinkski
ロナルド・ジョージ・ドレスリンスキー・ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Michigan
Original Assignee
University of Michigan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Michigan filed Critical University of Michigan
Publication of JP2010193454A publication Critical patent/JP2010193454A/ja
Application granted granted Critical
Publication of JP5431996B2 publication Critical patent/JP5431996B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Electronic Switches (AREA)
  • Logic Circuits (AREA)
  • Multi Processors (AREA)

Abstract

【課題】クロスバー回路およびそのようなクロスバー回路の動作方法を提供する。
【解決手段】クロスバー回路は、データ入力経路およびデータ出力経路の配列を有し、データ出力経路は、データ入力経路を横断する。データ入力経路とデータ出力経路との間の各交差点には、ルーティング値を記憶するようにプログラムできる記憶回路と、伝送回路と、を備える、クロスバーセルが提供される。伝送動作モードにおいて、伝送回路は、データ入力経路に沿ってデータ入力を検出して、関連付けた交差点において、そのデータの指示をデータ出力経路上に出力するように、データ入力経路がデータ出力経路に連結されるべきであることを示す、ルーティング値に応答する。
【選択図】図1

Description

本発明は、クロスバー回路およびそのようなクロスバー回路の動作方法に関する。
クロスバー回路は、マトリクス様態で複数の入力を複数の出力に接続するためのスイッチ基盤である。したがって、クロスバー回路を使用して、複数のソース回路と、複数の宛先回路とを相互接続することができ、よって、複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、複数の宛先回路のうちのいずれかに出力することができる。クロスバー回路は、様々な実現形態で使用することができる。例えば、データ処理システムの実現形態では、このようなクロスバー回路を使用して、データ値に対してデータ処理動作を実行するのに使用される複数の処理回路と、それらのデータ値を記憶するのに使用される複数の記憶構造とを相互接続することができ、それによって、データ値を、任意の記憶構造から任意の処理回路にルーティングできるようにする。記憶構造は、様々な形態を取ることができるが、一実施例では、レジスタバンクのレジスタを備え得る。
クロスバー回路を生成するための既知の手法は、クロスバー回路を形成するのに必要な構成要素に起因して、クロスバー回路のための大きな面積と、制御信号をそれらの構成要素にルーティングするために必要な多数の制御線と、を必要とし、また、大量の電力も消費する。さらに、それらの複雑さは、サイズとともに急激に増大し、既知の手法の大部分を、多数のソース回路と、多数の宛先回路とを相互接続するのに必要なクロスバー回路との使用について、非実用的なものとする。いくつかの既知の手法を以下に述べる。
K Chang他による論文「A 50Gb/s 32×32 CMOS Crossbar Chip using Asymmetric Serial Links」、1999 Symposium on VLSI Circuits、Digest of Technical Papers、19〜22ページ、およびT Wu他による論文「A 2Gb/s 256×256 CMOS Crossbar Switch Fabric Core Design using Pipelined MUX」、IEEE International Symposium on Circuits and System、2002、568〜571ページは、任意の入力ソースから任意の出力宛先へのデータのルーティングを可能にするように、マルチプレクサの階層的配設を使用したクロスバー回路を記載している。しかしながら、このようなMUXに基づくクロスバー回路は、比較的にサイズが大きく、電力消費が多い。さらに、それらは、一般的に、種々のマルチプレクサを制御するために、相当な数の制御線を必要とする。このようなMUXに基づく設計は、一般的に、少なくとも部分的には、サイズが大きくなるにつれて、必要な制御信号を種々のマルチプレクサにルーティングすることがますます困難になるため、サポートする入力および出力数の増加とともに拡張することができない。さらに、入力データが、入力バス上でルーティングされるマルチビットデータである場合、データ経路自体のルーティングが非常に複雑になる。
R Golshan他による論文「A Novel Reduced Swing CMOS Bus Interface Circuit for High Speed Low Power VLSI Systems」、IEEE International Symposium on Circuits and System、351〜354ページ、1994は、入力経路が水平方向に通り、出力経路が垂直方向に通る、X−Y方式のクロスバー回路を記載している。各入力経路と出力経路との間の交差点には、フリップフロップ回路の形態で記憶素子が提供され、その出力は、入力経路と出力経路とを連結するのに使用されるトランジスタを制御する。しかしながら、このような設計は、クロスバー回路が所要のルーティングを実行するために、種々のフリップフロップをプログラムするのに多数の制御線を必要とする。さらに、入力データ経路上に提供される入力データは、関連する出力データ経路上の出力データを駆動するのに使用される。多数の入力および出力に適応するようにクロスバー回路が大きくなるにつれて、出力データ経路の容量が増加し、それに応じて、容量の増加を克服するために、より大きな駆動トランジスタを入力に提供する必要がある。加えて、データ入力経路とデータ出力経路との間の交差点で、フリップフロップによって駆動される連結トランジスタは、クロスバー回路のサイズが増加した時に、サイズを増加させる必要もある。さらに、一般的に、クロスバー回路のサイズが増加した時には、データ出力経路内に1つ以上のバッファを含めることが必要となる。これらの全ての要因は、より具体的には、より多くの入力および出力に適応するようにクロスバー回路のサイズを増加させた時に、クロスバー回路の素子および関連付けた制御線のレイアウトに重大な問題を生じさせる。したがって、この手法は、複雑になり、拡張することができない。
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 Brgatti他による論文「A Multi−Context 6.4Gb/s/Channel On‐Chip Communication Network using 0.18μm Flash−EEPROM Switches and Elastic Interconnects」、ISSCC 2003、Session 26、Embedded and Digital Systems、Paper 26.5は、改良したフラッシュEEPROMデバイスのマトリクスを使用して実現した、プログラム可能なクロスバーを記載している。しかしながら、図26.5.6から明らかなように、ソースデバイスから宛先デバイスへのデータ入力のルーティングに関与するメモリセルの数は、それらのデバイスがクロスバー内に接続される場所に依存し、したがって、信号がクロスバーを通過するタイミングは、決定論的ではない。さらに、種々のフラッシュEEPROMセルのプログラミングを可能にするには、多数の制御線が必要となり、それらの種々のフラッシュEEPROMセルをプログラムするには、かなり多くの時間が必要となる。したがって、クロスバーデバイスのあらゆる再構成にも、かなり時間がかかる。
したがって、このようなクロスバーの設計は、複雑であり、また、必要とされる制御線の急増により、より多くの入力デバイスおよび出力デバイスをクロスバーによってサポートすることが必要になるので、複雑さが増加する。さらに、クロスバーのタイミングは、決定論的でないため、クロスバーの設計を、特定の実現形態について不適当なものとする。
要約すると、上述の考察から、既存のクロスバー設計は、一般的に、制御信号の複雑なルーティングを伴い、その複雑さは、クロスバーのサイズが増加するにつれて、急激に増加することが理解されよう。必要な制御線の数に部分的に起因して、かつクロスバーのサイズが増加するにつれて、クロスバー内に提供される特定の構成要素のサイズを増加させる必要性に部分的に起因して、しばしば、該設計は、大量の電力を消費し、かつ拡張性に乏しい。
したがって、これらの問題を緩和する、改良されたクロスバー設計を提供することが望ましい。
第1の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの1つに接続できる、複数のデータ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの1つに接続できる、複数のデータ出力経路と、該データ入力経路のうちの1つと、該データ出力経路のうちの1つとの間の各交差点に関連付けられるクロスバーセルであって、各クロスバーセルは、ルーティング値を記憶するようにプログラムできる記憶回路であって、ルーティング値は、データ入力経路に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路上に出力されることを、第1の値が示すようにプログラムされ、ルーティング値は、データ入力経路に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路上に出力されないことを、第2の値が示すようにプログラムされる、記憶回路と、データ入力経路に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示をデータ出力経路上に出力するよう、該第1の値を有するルーティング値に応答するように、伝送動作モードで動作可能な伝送回路と、を備える、クロスバーセルと、クロスバーセルに制御信号を発行するための制御回路であって、構成動作モード中に、制御回路は、クロスバーセルのうちの1つ以上の記憶回路をプログラムするように、データ出力経路のうちの少なくとも1つを再利用する、制御回路と、を備える、クロスバー回路を提供する。
本発明によれば、クロスバーセルは、データ入力経路と、データ出力経路との間の各交差点に関連付けられ、各クロスバーセルは、ルーティング値を記憶する記憶回路と、データ入力経路に沿ってデータ入力を検出して、ルーティング値が、データ入力経路をデータ出力経路に接続すべきであることを示している場合に、そのデータの指示をデータ出力経路上に出力するように、伝送動作モードで動作できる伝送回路と、の両方を備える。さらに、構成動作モード中に、制御回路は、クロスバーセルのうちの1つ以上の記憶回路をプログラムするように、データ出力経路のうちの少なくとも1つを再利用する。記憶回路のプログラミング中にデータ出力経路を再利用することによって、クロスバー回路内に提供する必要がある制御線の数が大幅に低減される。したがって、クロスバー回路のための配線レイアウトを生成する時の柔軟性が大幅に向上する、非常に単純な設計を提供する。単純な設計であるため、設計を容易に拡張することができ、したがって、クロスバー回路に接続されるソース回路および宛先回路の数が多い場合であっても、クロスバー回路を容易に利用することができる。
さらに、本発明のクロスバー回路を利用する時に達成することができる標準的なレイアウトは、固定された待ち時間を、クロスバー回路を通じたデータの伝送に提供する。加えて、本発明のクロスバー回路は、入力データの同報通信を容易にサポートし、よって、クロスバー回路を通じて、1個のソース回路からのデータ入力を複数の宛先回路に同報通信することができる。
本発明の一実施形態において、データ入力経路のそれぞれ、およびデータ出力経路のそれぞれは、単一のビット値を担持してもよいが、クロスバー回路は、データ入力経路およびデータ出力経路が、マルチビットデータ値を担持する状況で使用することができ、その場合には、データ入力経路およびデータ出力経路は、データバスによって形成されてもよい。一実施形態において、各データ出力経路は、該伝送動作モード中に、nビットのデータ値を担持するための、n本のデータ出力線を備え、構成動作モード中に、制御回路は、そのデータ出力経路のn本のデータ出力線を使用することによって、選択したデータ出力経路に関連付けられる最高n個のクロスバーセルの記憶回路を同時にプログラムするように構成される。
入力バス上で提供されるマルチビット入力データを容易に収容する、およびクロスバー回路を通じて所望の出力バスへルーティングするという、本発明の実施形態のクロスバー回路の能力は、多数の先行技術の手法と比較した時に、有意な利益を提供する。例えば、データ経路のルーティングおよび制御信号のルーティングが非常に複雑になるので、マルチプレクサの階層的構造に基づく先行技術の手法は、マルチビット入力を扱おうとした時に、非常に複雑になる。
加えて、上述した本発明の一実施形態において、構成動作モード中に、n本のデータ出力線を使用してn個のクロスバーセルをプログラムする能力は、そうでない場合には別々にクロスバー回路内に提供することが必要となり得る、多数の制御線の必要性を回避することによって、回路を大幅に簡略化する。
制御回路が、構成動作モード中に、選択したクロスバーセルの記憶回路をプログラムする様態は、記憶回路内に提供される記憶構造のタイプに依存する。しかしながら、一実施形態において、クロスバー回路は、構成動作モード中に、該記憶回路のプログラミングで使用するために、各記憶回路にルーティングされる、少なくとも1本のワード線をさらに備え、構成動作モード中に、制御回路は、n本のビット線として、該選択したデータ出力経路のn本のデータ出力線を再利用し、該n本のビット線のそれぞれは、該最高n個のクロスバーセルの該記憶回路のプログラミングを可能にするように、該選択したデータ出力経路に関連付けられるn個のクロスバーセルのうちの異なる1個にルーティングされる。したがって、このような実施形態では、ワード線を複数のクロスバーセルにルーティングすることができ、一方で、別個のビット線信号を、関連するデータ出力経路の複数のデータ出力線を利用して、それらの複数のクロスバーセルに提供する。特定のデータ出力経路に関連付けられるクロスバーセルの数が、n個を超えていない場合は、そのような手法を使用して、それらの全てのクロスバーセルを、単一のプログラム動作中にプログラムすることができると認識されよう。
しかしながら、制御回路はまた、特定のデータ出力経路に関連付けられる、n個を超えるクロスバーセルが存在する状況において、クロスバーセルの効率的なプログラミングを実行するように配設されてもよい。例えば、一実施形態において、該選択したデータ出力経路に関連付けられるクロスバーセルの数はmn個であり、mは、2以上の整数であり、該少なくとも1本のワード線は、複数のワード線を備え、各ワード線は、該選択したデータ出力に関連付けられる異なるn個のクロスバーセルに接続される。構成動作モード中に、該クロスバーセルの数は、m個の連続するプログラミング動作を経てプログラムされ、各プログラミング動作中に、n本のデータ出力線は、そのプログラミング動作によってプログラムされているn個のクロスバーセルのための、該n本のビット線として作用する。
したがって、一例として、選択したデータ出力経路に関連付けられるクロスバーセルの数が、2n個である場合、それらの全てのクロスバーセルは、一般的に各プログラミング動作が単一のクロックサイクルを取る、2つの連続するプログラミング動作によってプログラムされる、それらの記憶回路を有することができる。このような本発明の実施形態は、複数のクロスバーセルの記憶回路をプログラミングするための、特に高速かつ効率的な機構を提供し、一方で、関連するデータ出力経路のデータ出力線を再利用することによって、多数の制御線の必要性を回避すると認識されよう。
一実施形態において、構成動作モード中に、少なくとも1本のワード線は、第1の論理レベルで制御回路によって駆動され、各記憶回路内にプログラムされるルーティング値は、該ビット線として作用する関連付けた出力線の制御回路による駆動が、第1の論理レベルで行われるのか、または第2の論理レベルで行われるのかに依存する。第1の論理レベルおよび第2の論理レベルは、実現形態に依存してもよいが、一実施形態において、第1の論理レベルは、論理1レベル(供給電圧レベルVddに関連付けられ得る)であり、第2の論理レベルは、論理ゼロレベル(ゼロ電圧レベルによって示され得る)である。特定の一実施形態において、構成動作モード中に、ビット線が第1の論理レベルで駆動される場合、ルーティング値は、関連付けた交差点において、データ入力経路をデータ出力経路に連結すべきではないことを示す、該第2の値に設定される。逆に、ビット線が第2の論理レベルで駆動される場合、ルーティング値は、関連付けた交差点において、データ入力経路を出力経路に連結すべきであることを示す、該第1の値にプログラムされる。特定の一実施形態において、第1の値は、論理1値であり、第2の値は、論理ゼロ値である。
一実施形態では、伝送動作モードにおいて、ワード線は、第2の論理レベルにある。より具体的には、一実施形態において、ワード線は、伝送動作モード中に、ゼロボルトに結合される。
一実施形態において、クロスバー回路全体は、構成動作モードに配置されてもよく、よって、データ出力経路のそれぞれに関連付けられるクロスバーセルの記憶回路は、同時に再プログラムされる。しかしながら、別の実施形態では、複数のワード線が提供され、それによって、特定のクロスバーセルが、構成動作モードにあり、一方で、他のクロスバーセルが、伝送動作モードにあることを可能にする。より具体的には、このような一実施形態において、1つ以上のデータ出力経路に関連付けられるクロスバーセルは、構成動作モードに配置されてもよく、一方で、1つ以上の他のデータ出力経路に関連付けられるクロスバーセルは、伝送動作モードのままであってもよい。したがって、これは、クロスバー回路の一部の再プログラムを可能にし、一方で、データは、依然として、残りのクロスバー回路を通じて有効に伝送することができ、それによって、クロスバー回路の使用の柔軟性が大幅に向上する。
一実施形態において、各記憶回路は、関連付けた交差点において、データ入力経路をデータ出力経路に接続すべきかどうかを判断するのに使用されるルーティング値を記憶するための、単一の記憶素子を備えてもよい。しかしながら、代替の実施形態において、記憶回路は、複数の記憶素子を備え、それぞれが、クロスバー回路の複数の構成のうちの1個のルーティング値を記憶するように配設される。したがって、これは、構成動作モード中に、プログラムされるクロスバー回路のための複数の構成を可能にし、よって、その後に伝送動作モードに入った時に、単に該複数の記憶素子内の適切な記憶素子を選択することによって、所望の構成を容易に選択することができる。
各記憶回路内の複数の記憶素子は、様々な方法でプログラムされてもよい。しかしながら、一実施形態において、構成動作モード中の制御回路の各プログラミング動作は、記憶素子のうちの選択した1つをプログラムさせる。
一実施形態において、伝送動作モード中に、制御回路は、クロスバーセルごとに、記憶回路のどの記憶素子を使用して、ルーティング値を伝送回路に提供するのかを同定するよう、構成制御信号を発生するように構成される。したがって、このような実施形態において、クロスバー回路は、さらなる再構成ペナルティを負担せずに、プログラムした構成のうちのいずれかを利用することができる。したがって、このような手法は、単に制御回路からの適切な構成制御信号だけを発生させることで、アプリケーションのランタイム中に、クロスバー回路のルーティングの変更を可能にすることによって、複雑なシャッフル動作を必要とするアプリケーションのランタイム速度を大幅に向上させることができる。さらに、このようなクロスバーは、そのようなシャッフル動作をサポートするように繰り返し再プログラムすることが必要になるので、各記憶回路に単一の記憶素子を有するクロスバーと比較した時に、電力消費も低減する。
一実施形態において、構成制御信号は、ワンホット信号を各記憶回路の記憶素子にルーティングさせ、それによって、記憶素子のうちの1つを選択させる。制御回路によって発行される構成制御信号は、それ自体を、ワンホット信号としてもよく、または代替として、ワンホット信号は、制御回路によって提供される構成制御回路に基づいて、各クロスバーセルにおいてローカルに発生させることができる。この後者の手法は、種々のクロスバーセルに構成信号を伝搬するのに必要な制御パスのサイズを低減することができる。
制御回路によって生成される構成制御信号の数は、実現形態に依存し変化させてもよい。しかしながら、一実施形態において、制御回路は、該データ出力経路ごとに該構成制御信号を発行し、それによって、各構成制御信号は、1個の該データ出力経路に関連付けられる各クロスバーセルの構成を制御する。その結果、異なる構成を、異なるデータ出力経路に関連付けられるクロスバーセルのカラムごとに設定することができる。
各クロスバーセルの伝送回路は、様々な方法で構成することができる。しかしながら、本発明の一実施形態において、伝送動作モードでクロスバーセルに関連付けられる各データ出力経路は、データ転送の前に第1の論理レベルにプリチャージされ、各クロスバーセルの伝送回路は、データ出力経路と第2の論理レベルとの間に直列に接続される、第1および第2のスイッチを備え、伝送動作モードにおいて、第1のスイッチは、関連付けた記憶回路内に記憶されているルーティング値に依存して開かれ、または閉じられ、第2のスイッチは、データ入力経路上で入力されるデータに依存して開かれる、または閉じられる。特定の一実施形態において、第1の論理レベルは、供給電圧レベルVddであり、第2の論理レベルは、接地である。したがって、このような配設によって、入力経路上のデータは、出力経路上のデータを直接的に駆動せず、代わりに、出力経路上のデータは、第1の論理レベルに留まるか、または第1および第2のスイッチの両方が閉じられるイベントにおいて、第2の論理レベルの方へディスチャージされる。
このような伝送回路の配設によって、伝送回路は、クロスバー回路のサイズに関わらず、変化させる必要が無く、したがって、データ出力経路の長さ、さらには入力データ経路上で入力データを提供する駆動回路も、クロスバー回路のサイズが増加した時にサイズを変更する必要が無い。したがって、クロスバー回路のサイズが増加した時に、各クロスバーセルの回路を変更する必要が無く、代わりに、クロスバーセルの数を増加させるだけでよい。したがって、このような設計を使用することによって、クロスバー回路の遅延は、サイズとともに直線的に増大し、このようなクロスバー回路の設計を、(例えば、128×128または256×256入力/出力の)非常に大きいクロスバーにも使用できるようにする。加えて、本設計は、非常に標準的であり、クロスバー回路を通じた全ての経路にわたる遅延は均一である。
一実施形態において、各該データ入力経路は、伝送動作モード中に、nビットの入力データ値を担持するための、n本のデータ入力線を備え、各該データ出力経路は、該伝送動作モード中に、nビットのデータ値を担持するための、n本のデータ出力線を備え、伝送回路の少なくとも第2のスイッチは、出力データ線ごとに複製される。したがって、伝送回路の設計は、いかなるクロスバー回路の複雑さの増加も伴わずに、マルチビットバスの形態で、データ入力経路およびデータ出力経路に容易に適応することができる。
本発明の一実施形態では、伝送動作モードにおいて、データ出力経路は、該ルーティング値が該第1の値であり、かつ該データ入力値が該第1の論理レベルにある場合に、第2の論理レベルにプルされる。したがって、記憶回路内に記憶されているルーティング値が、データ入力経路を、データ出力経路に連結すべきであり、かつデータ入力経路上のデータが論理1レベルにあることを示している場合、データ出力経路は、第2の論理レベルの方へディスチャージされる。
一実施形態において、各クロスバーセルは、ルーティング値に関わらず第1のスイッチをオフにし、一方で、関連付けたデータ出力経路を第1の論理レベルにプリチャージするための、および第1のスイッチを、ルーティング値によって制御し、その後に、関連付けたデータ出力経路を第1の論理レベルにプリチャージできるようにするための、条件付きディスチャージ回路をさらに備える。したがって、このような条件付きディスチャージ回路は、入力からデータ出力線を分離し、一方で、それらは、プリチャージされ、それによって、プリチャージ動作の電力消費を低減する。また、このような配設によって、データ入力経路は、その時の入力からデータ出力経路を分離させる条件付きディスチャージ回路により、プリチャージ動作と同時に駆動することができ、それによって、動作の速度を増加させることを可能にする。
さらに、上述した伝送回路の配設を使用することによって、全てのデータ出力線を、第1の論理レベルにプリチャージし、次いで、関連付けた入力線への入力値およびルーティング値に依存して、第1の論理レベルのままにするか、または第2の論理レベルに遷移させることに留意されたい。その結果、2本の隣接する出力線への電圧が反対方向に移動するといったいかなる状況も生じず、それによって、容量結合効果が低減され、それによって、動作の速度が向上する。
条件付きディスチャージ回路は、伝送回路の一部として提供されてもよい。しかしながら、一実施形態において、条件付きディスチャージ回路は、各クロスバーセルの記憶回路内に組み込まれる。
データ出力経路が、データ転送の前にプリチャージされ、次いで、ルーティング値およびデータ入力値に依存して、選択的にディスチャージされる実施形態では、感知増幅回路の使用を通じてクロスバー回路の電力消費を低減することができる。より具体的には、一実施形態において、クロスバー回路は、伝送動作モード中に、データ出力経路上のデータ出力を検出し、それによって、データ出力経路が第2の論理レベルに到達する前に、第2の論理レベルへの遷移を検出できるようにする、感知増幅回路をさらに備える。遷移の検出は、データ出力経路が第2の論理レベルに到達する前に生じるので、データ出力経路を第1の電圧レベルへ戻すようにプリチャージするのに必要な電力が、大幅に低減される。
このようなデータ出力経路のプリチャージが生じる実施形態では、よって、クロスバー回路に提供される前に、入力データを好適に符合化することによって、さらなる省電力化を得ることができる。より具体的には、一実施形態において、クロスバー回路は、該複数のソース回路のそれぞれと、該複数のデータ入力経路との間の符号化回路と、該複数のデータ出力経路のそれぞれと、該複数の宛先回路との間の復号回路と、をさらに備え、符号化回路は、各ソース回路によって提供される入力データを符号化した形態に符号化するように、符号化動作を適用し、該動作は、元の入力データがクロスバー回路を通過した場合、データ出力経路を、第2の論理レベルにプルするのに必要になり得る回数と比較した時に、出力経路を第2の論理レベルにプルし、その後に、それらを第1の論理レベルにプリチャージするのに必要な回数を低減し、復号回路は、データ出力経路上で出力される符号化したデータから、ソース回路によって提供される元の入力データを同定するように、対応する復号動作を適用する。
特定の一実施形態において、符合化動作は、入力データから生成される符号化した形式が、入力データが変化する時に、論理1値だけであり、それによって、データ出力経路が、入力データが変化した時にだけディスチャージされるように確実にする。復号回路は、次いで、データ出力経路上で出力される符号化したデータから、元の入力データを再形成する。
各クロスバーセルの記憶回路内に提供される記憶素子は、様々な形態を取ることができる。しかしながら、一実施形態において、各記憶回路は、該ルーティング値を記憶するための、少なくとも1個のSRAMメモリセルを備える。SRAMメモリセルは、プログラムが比較的に早く、比較的に電力の消費が少なく、それによって、クロスバー回路の動作の速度を向上させる。加えて、それらは、比較的に小さく、非常に簡潔にレイアウトすることができる。
特定の一実施形態において、各SRAMメモリセルは、6T SRAMメモリセルである。
本発明の実施形態のクロスバー回路の標準的な設計、および各クロスバーセルの伝送回路が動作する様態のため、複数のソース回路を、複数のデータ入力経路のいずれかの端部に接続でき、それによって、クロスバー回路およびソース回路が提供される装置のレイアウトを設計する時の柔軟性が大幅に向上する。同様に、複数の宛先回路は、複数のデータ出力経路のいずれかの端部に接続できる。制御回路は、複数のデータ出力経路の一端部に連結されてもよいが、これは、宛先回路が、同様にデータ出力経路の同じ端部に接続されてしまうのを防止しない。他の実施形態において、制御回路は、複数のデータ出力経路の両端部にわたって分散させることができる。
複数の構成がクロスバー回路内に記憶されている実施形態において、ソースおよび宛先回路の配置に関する上述の自由度は、二重実装を提供するのに利用することができる。より具体的には、一実施形態において、該複数のソース回路は、該複数のデータ入力経路の第1の端部に接続され、追加の複数のソース回路は、該複数のデータ入力経路の第2の端部に接続され、一方で、該複数の宛先回路は、該複数のデータ出力経路の第1の端部に接続され、追加の複数の宛先回路は、該複数のデータ出力経路の第2の端部に接続される。さらに、クロスバー回路の第1の状態において、該複数のソース回路は、該複数の構成のうちの1番目に従って、該複数の宛先回路に連結され、クロスバー回路の第2の状態において、該追加の複数のソース回路は、該複数の構成のうちの2番目に従って、該追加の複数の宛先回路に連結される。したがって、このような配設によって、単一のクロスバーを使用して、2組のソースおよび宛先を扱うことができる。
特定の一実施形態において、クロスバー回路は、該ソースおよび宛先回路、並びに該追加のソースおよび追加の宛先回路の周波数の少なくとも2倍の周波数でクロッキングされる。
本発明の実施形態のクロスバー回路は、様々なシステムで利用されてもよい。しかしながら、本発明の第2の態様によれば、データ処理装置であって、データ値を記憶するための複数のレジスタと、該複数のレジスタ内に記憶されている複数のデータ値に対して、並列してデータ処理動作を実行するための、複数の処理回路と、該複数のレジスタのうちのいずれかのレジスタから、該複数の処理回路のうちのいずれかの処理回路に、データ値をルーティングするための、本発明の第1の態様によるクロスバー回路と、を備えるデータ処理装置が提供される。
本発明の実施形態のクロスバー回路は、レジスタのうちのいずれかから、処理回路のうちのいずれかにデータ値をルーティングするための、とりわけ単純で、拡張性があり、また電力効率の良い機構を提供する。
第3の態様から見ると、本発明は、複数のソース手段と、複数の宛先手段とを相互接続し、よって、該複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、該複数のソース手段のうちの1つに接続するための、複数のデータ入力経路手段と、複数のデータ入力経路手段を横断する該クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、該複数の宛先手段のうちの1つに接続するための、複数のデータ出力経路手段と、該データ入力経路手段のうちの1つと、該データ出力経路手段のうちの1つとの間の各交差点に関連付けられるクロスバーセル手段であって、各クロスバーセル手段は、ルーティング値を記憶するためにプログラムできる記憶手段であって、ルーティング値は、データ入力経路手段に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路手段上に出力されることを、第1の値が示すようにプログラムされ、かつルーティング値は、データ入力経路手段に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路手段上に出力されないことを、第2の値が示すようにプログラムされる、記憶手段と、データ入力経路手段に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示をデータ出力経路手段上に出力するための、伝送動作モードで、該第1の値を有するルーティング値に応答する、伝送手段と、を備える、クロスバーセル手段と、各クロスバーセル手段に制御信号を発行するための制御手段であって、構成動作モード中に、制御手段は、クロスバーセル手段のうちの1つ以上の記憶手段をプログラムするように、データ出力経路手段のうちの少なくとも1つを再利用するための、制御手段と、を備える、クロスバー回路を提供する。
第4の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができ、クロスバー回路は、該クロスバー回路を通過する複数のデータ入力経路を有し、各データ入力経路は、該複数のソース回路に接続することができ、複数のデータ出力経路は、複数のデータ入力経路を横断する該クロスバー回路を通過し、各データ出力経路は、該複数の宛先回路のうちの1つに接続することができる、クロスバー回路を動作させる方法であって、該データ入力経路のうちの1つと、該データ出力経路のうちの1つとの間の各交差点を関連付けて、クロスバーセルを採用するステップと、各クロスバーセルでルーティング値をプログラミングするステップであって、ルーティング値は、データ入力経路に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路上に出力されることを、第1の値が示すようにプログラムされ、ルーティング値は、データ入力経路に沿った関連付けた交差点へのデータ入力が、関連付けた交差点において、データ出力経路上に出力されないことを、第2の値が示すようにプログラムされる、ステップと、伝送動作モードにおいて、データ入力経路に沿ってデータ入力を検出し、関連付けた交差点において、そのデータの指示をデータ出力経路上に出力するよう、クロスバーセルを、該第1の値を有するルーティング値に応答させるステップと、クロスバーセルに制御信号を発行するステップであって、構成動作モード中に、制御回路は、クロスバーセルのうちの1つ以上の記憶回路をプログラムするように、データ出力経路のうちの少なくとも1つを再利用する、ステップと、を含む、クロスバー回路を動作させる方法を提供する。
以下、ほんの一例として、添付図面に示されているその実施形態を参照して、本発明をさらに説明する。
本発明の一実施形態による、クロスバー回路のブロック図である。 クロスバー回路内の各クロスバーセルの基本構造と、本発明の一実施形態に従って、データ出力経路の個々のデータ出力線が、各クロスバーセル内の記憶回路をプログラムするためのビット線として再利用される様態を示す図である。 本発明の一実施形態に従って、図2の伝送回路の配設をより詳細に示す図である。 本発明の一実施形態に従って、各クロスバーセル内の伝送回路の形成に使用されるトランジスタ対の繰り返し配列を示す図である。 本発明の一実施形態に従って、各クロスバーセル内に提供される構成要素を示す図である。 本発明の代替の一実施形態に従って、各クロスバーセル内に提供される構成要素を示す図である。 本発明の一実施形態に従って、条件付きディスチャージ回路を、各クロスバーセルの記憶素子内にどのように組み込むことができるのかを示す図である。 データ出力線を条件付きでディスチャージし、感知増幅回路を起動させるのに必要な信号を発生させるために、本発明の一実施形態に従って、クロスバー回路のコントローラ内に提供される、パルス発生回路を示す図である。 データ伝送動作モードおよび構成動作モードの両方で生成される信号を示す図である。 クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。 クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。 クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。 クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。 クロスバー回路内の電力消費を低減するために、クロスバー回路への入力の前に入力データを符号化し、クロスバー回路からの出力データを復号する、本発明の一実施形態で使用され得る、符号化および復号回路を示す図である。 本発明の実施形態のクロスバー回路が採用され得る、装置の一実施例を示す図である。 本発明の一実施形態による、クロスバー回路を示す線図である。 本発明の実施形態のクロスバー回路の二重構成での使用を示す図である。 本発明の実施形態のクロスバー回路の二重構成での使用を示す図である。
図1は、本発明の一実施形態による、クロスバー回路を概略的に示す線図である。クロスバー回路は、クロスバー回路を通じて第1の方向で動作する複数のデータ入力経路10と、第1の方向を横断する第2の方向で動作する複数のデータ出力経路20と、を含む。データ入力経路およびデータ出力経路は、どちらも単一のビット値をルーティングしてもよいが、図1の実施形態において、これらの経路は両者とも、マルチビットバスによって形成されており、それに応じて、データ入力経路は、複数のデータ入力線を備え、データ出力経路は、複数のデータ出力線を備える。
各データ入力経路とデータ出力経路との間の交差点には、クロスバーセル30が提供され、各クロスバーセルは、関連付けたデータ入力経路上のそのクロスバーセルによって受信されるデータ入力50を、関連付けたデータ出力経路上にルーティングすべきかどうかを同定するように、コントローラ40によって制御される。各クロスバーセルは、各クロスバーセルのオン/オフ状態を記憶するための、少なくとも1個の記憶素子を含み、よって、クロスバーセルがオン状態にある場合は、データ入力経路上で受信した入力データをデータ出力経路にルーティングし、セルがオフ状態にある場合は、入力データは、関連付けたデータ出力経路上にルーティングされずに、単にセルを通過するだけである。
各データ入力経路は、入力データを受信し得る関連付けたソース回路に連結され、各データ出力経路は、そのデータ出力経路上に提供される出力データを受信するように配設される、関連付けた宛先回路に連結される。
クロスバー回路は、伝送動作モード、または構成動作モードのいずれかで動作してもよい。伝送動作モードにおいて、データ入力経路上で受信されるデータは、各クロスバーセルのオン/オフ動作の状態に依存して、クロスバー回路を通じて適切なデータ出力経路にルーティングされる。下記に詳述するように、構成動作モードにおいて、各セルのオン/オフ状態は、コントローラ40によってプログラムされ、本発明の実施形態に従って、データ出力経路の個々のデータ出力線は、クロスバーセルのプログラミング動作で使用される。このような手法によって、クロスバー回路内に必要な制御線の数の大幅な低減が達成され、それによって、設計を大幅に簡略化する。
図2は、本発明の実施形態による、各クロスバーセルの基本要素を概略的に示している。各クロスバーセル30は、ルーティング値(上述のオン/オフ状態)を記憶するようにプログラムできる、記憶回路100を含む。データ伝送動作モード中に、このルーティング値は、記憶回路100から伝送回路105に提供される。ルーティング値がオン状態を示す場合、伝送回路105は、データ入力経路10上で受信される入力データを検出して、そのデータをデータ出力経路20にルーティングする。ルーティング値がオフ状態を示す場合、データは、データ出力経路に接続されずに、データ入力経路に沿って、次のクロスバーセルに伝搬される。
同じく図2に示されているように、データ出力経路20は、複数のデータ出力線120、122、124から成り、構成動作モード中に、個々のデータ出力線は、記憶回路100のためのビット線として使用される。したがって、図2に示されているように、例えば、データ出力線120は、第1のクロスバーセルのためのビット線を形成し、データ出力線122は、第2のクロスバーセルのためのビット線を形成し、データ出力線124は、第3のクロスバーセルのためのビット線を形成し、等々となる。ワード線110は、コントローラ40からも提供され、ワード線は、ビット線と組み合わせて、記憶回路100をプログラムするのに使用される。図2から分かるように、データ出力経路20がn本のデータ出力線を含む場合は、クロスバー回路の特定のカラム内のn個のクロスバーセルを、単一のプログラミング動作を経てプログラムすることができる。
図1の特定の例示的な一実施形態において、クロスバー回路が32×32の配列のクロスバーセルであり、データ入力経路およびデータ出力経路が16本のデータ線を含む場合、あるワード線は、特定のカラム内のクロスバーセルのうちの16個に供給され、別のワード線は、そのカラム内の残り16個のクロスバーセルに供給され、クロスバーセルのカラム全体を、一般的に各プログラミング動作が1つのクロックサイクルを取る、2つのプログラミング動作によってプログラムすることができる。
ワード線は、カラムごとに提供されてもよく、または代替として、同じワード線が全てのカラムにわたって使用されてもよい。同じワード線が全てのカラムにわたって使用される場合は、全てのカラムが同時に構成動作モードに配置され、各カラム内の最高n個のクロスバーセルが同時にプログラムされる。しかしながら、別個のワード線を各カラムに提供することによって、特定のカラムを構成動作モードに配置することができ、一方で、他のカラムは、伝送動作モードであるので、さらなる柔軟性を提供する。
図3は、本発明の一実施形態による、各クロスバーセルの構造を示している。本実施形態において、伝送回路は、データ入力経路の各ビットのための一対のトランジスタ155、160を含む。したがって、データ入力経路が16ビットのワイドバスである図1の実施例を考えると、トランジスタ対155、160は、16回繰り返される。
図3に示されている実施形態において、プリチャージ回路170は、クロスバー回路を通じて生じるデータを転送する前に、データ出力経路20のデータ出力線をプリチャージするために提供される。さらに、図3に示されている実施形態において、感知増幅回路180は、出力データを感知するために使用される。
構成動作モードにおいて、ワード線は、論理1(Vdd)レベルに引き上げられ、ビット線を形成する各データ出力線は、論理ゼロ値を関連付けた記憶回路に書き込むように、論理1(Vdd)レベルに保たれるか、または、論理1値を関連付けた記憶回路に書き込むように、論理ゼロ(接地)レベルに保たれる。一般的に、クロスバーの特定のカラム内の1個の使用可能な記憶回路だけが、論理1値を記憶する。したがって、カラム内の1つを除く全ての記憶回路について、論理ゼロ値がその中に記憶され、したがって、ほとんどの場合、記憶回路内には論理ゼロ値が書き込まれる。プリチャージスキームのため、ほとんどの場合、ビット線は、Vdd論理レベルにある。したがって、Vddレベルに保たれるビット線が、論理ゼロ値を記憶回路に書き込むように配設することによって、論理ゼロ値を書き込む時に、それらのビット線のうちのいずれかを、接地の方へプルする必要性が回避される。論理1値を記憶する必要がある比較的に少数の記憶回路についてのみ、関連するビット線を接地の方へプルする必要がある。したがって、この書き込みスキームは、電力消費を大幅に節約する。
伝送動作モードにおいて、ワード線は、接地に結合され、一方で、データ出力線は、プリチャージ回路170によって、論理1(Vdd)レベルにプリチャージされる。同時に、入力データは、クロスバー回路のソース回路からデータ入力経路に提供することができる。その後、データ出力線は、条件付きでディスチャージされる。図3から分かるように、データ出力線は、記憶回路がオン状態(すなわち、論理1値を記憶し、それによって、トランジスタ155をオンにする)、かつ対応する入力データビットが高い場合にのみディスチャージし、それによって、トランジスタ160をオンにする。この状態では、代わりに接地への接続がデータ出力線をディスチャージするので、データ入力は、データ出力線20を駆動する必要が無いことに留意されたい。これは、特に大規模なクロスバー回路において、データ出力線が長くなり、それに応じて、有意な容量を有することになるので、有益である。オン状態にある時に、これらのデータ線を、トランジスタ155、160を通じて、選択的に接地にディスチャージさせることによって、クロスバー回路のサイズが増加した時に、伝送回路も、入力データを入力データ経路10に提供するのに使用される駆動回路も、サイズを増加させる必要が無いので、非常に拡張性のある設計になる。さらに、単一の入力データ値が複数の出力経路に同報通信される場合、マルチキャスティングをサポートする、いかなる追加のハードウェアまたはサイジングも不要である。
同じく図3に示されているように、条件付きディスチャージ動作に従って、感知増幅回路180を介して感知段階が生じ、該段階では、ビット線電圧の小さいスイングが、感知増幅回路によって、フルレールスイングに増幅される。感知増幅回路180は、様々な方法で構成することができるが、一実施形態では、データ出力値を検出するために、各データ出力線上の電圧と基準電圧とを比較する、シングルエンド感知増幅器で形成される。より具体的には、データ入力経路のデータ入力ラインに対するデータ入力値が論理1値である場合、これは、対応するデータ出力線に対する電圧が基準電圧を下回って降下することを検出する感知増幅回路によって、関連するデータ出力回路において検出される。逆に、データ入力値が論理ゼロ値である場合、トランジスタ160は、オンにせず、対応するデータ出力線は、ディスチャージしない。したがって、感知段階の終りまで、感知増幅回路は、電圧が基準電圧を下回ることを検出せず、それに応じて、データ入力値が論理ゼロ値であったものと判断する。
図4は、関連付けたデータ入力経路205、210、215、220、および共通のデータ出力経路270とともに、本発明の一実施形態による、クロスバー回路内のクロスバーセル250、255、260、265のカラムを示す線図である。セル250は、記憶回路(図4では、ビット記憶セル230と称する)および関連付けた伝送回路を示す。より具体的には、図4に示されているように、16ビットの入力データの各ビットについて、伝送回路は、一対のトランジスタ240を提供し、各トランジスタ対240は、図3に示されるトランジスタ155、160から成る。同じく図4に示されているように、プリチャージ回路170は、データ出力線ごとに、一対のトランジスタ200から成る。各プリチャージトランジスタ対200は、背中合わせのNMOSトランジスタおよびPMOSトランジスタから成り、よって、クロック信号が高くなった時には、データ線がプリチャージされ、クロック信号が低くなった時には、プリチャージ動作を終了する。データ伝送動作モード中に、これらのプリチャージトランジスタ対200は、データ出力線をVddにプリチャージするように、常時Vddに接続される。しかしながら、構成動作モードにおいて、これらのトランジスタ対200は、種々のビット記憶セル230をプログラムするために、個々のデータ出力線が所要の論理レベルに駆動されるように、選択的にVddまたは接地のいずれかに接続することができる。
図5は、本発明の一実施形態に従って、各クロスバーセル内に提供される構成要素を示す線図である。伝送回路300は、データ出力線ごとにトランジスタ対305、310を含み、各トランジスタ対305、310は、図3に示されるトランジスタ対155、160に対応する。条件付きディスチャージ回路は、トランジスタ315、320およびインバータ325の形態でも提供される。ディスチャージ信号は、ノード327で受信され、該ノードは、クロック信号が論理1レベルにある時には、論理ゼロ値に設定され、クロック信号が論理ゼロレベルにある時には、少なくとも一部の期間にわたって論理1値に設定される。したがって、ディスチャージ信号が論理ゼロ値である時には、トランジスタ315をオンにし、トランジスタ320をオフにする。オフになっているトランジスタ320は、記憶回路内で、記憶素子355の出力から伝送回路300を分離する。さらに、オンになっているトランジスタ315は、インバータ325によって論理ゼロ値を出力させ、したがって、トランジスタ305をオフにする。したがって、これは、接地からデータ出力線のそれぞれを分離し、一方で、それらはVddにプリチャージされ、それによって、プリチャージプロセスによって消費される電力を低減する。
ディスチャージ信号が、次いで(プリチャージ段階の終了後に)、論理1値に遷移した時に、トランジスタ315をオフにし、トランジスタ320をオンにする。その結果、伝送回路300は、次いで、記憶素子355から出力に接続され、記憶素子内に記憶されているデータ値に依存して、トランジスタ305を、オンまたはオフにできるようにする。一実施形態では、ディスチャージ信号が論理1値に保たれる時間は、ディスチャージするデータ出力線が、感知増幅回路によって検出するのに必要な程度までしかディスチャージを行わないように、感知増幅回路の閾値を考慮して調整することができ、それによって電力を節約する。
記憶素子355は、ビット線、およびSRAMセル350の反対側で使用されるビット線_bの入力の作成に使用される、6T SRAMセル350と、インバータ345と、を備える。
上述のように、構成動作モード中に、記憶素子がプログラムされている時に、ワード線は、Vddにプルされ、それに応じて、インバータ330は、トランジスタ335をオンにして、インバータ回路340に電力を供給し、それによって、ビット線の値を、記憶素子をプログラムするのに使用できるようにする。逆に、データ伝送動作モード中に、ワード線は、論理ゼロレベルにあり、それに応じて、トランジスタ335はオフにされる。その結果、インバータ回路340はオンにされず、ビット線は、記憶素子から分離される。これは、記憶素子から生じる漏れを回避し、一方で、ビット線は、データ伝送動作モード中にディスチャージする。
図6は、本発明の代替の一実施形態による、クロスバーセルの構造を示している。図5と図6とを比較して分かるように、伝送回路300は、元のままである。しかしながら、図6に示されている実施形態では、クロスバーセルの4つの構成を記憶するための、4個の別個の記憶素子が提供される。したがって、各記憶素子390は、図5にあるように6T SRAMセル350と、関連付けたインバータ345と、を含むが、追加の構成選択回路を含む。より具体的には、トランジスタ360および365は、高い論理レベルのワード線をSRAMセル350のうちの選択した1つに選択的に連結するように、構成動作モード中に使用される。構成信号「config」は、ワンホット信号として発生され、よって、その信号の1個のビットが、各記憶素子390によって使用される。1個のビットだけが高く設定され、そのビットに関連付けられる記憶素子390については、トランジスタ360、365のゲートに提供される構成信号の逆であるため、トランジスタ360をオンにして、ワード線をメモリセルに連結させ、それによって、そのメモリセルをプログラムできるようにする。
ワンホット構成信号は、コントローラ40によって発生されてもよく、または代替として、構成制御信号は、ワンホット構成信号を発生するように、各クロスバーセルでローカルに使用されるコントローラによって発行されてもよい。この後者の手法は、コントローラから各クロスバーセルまでに必要な制御線のサイズを低減する。
4個の別個の記憶素子のそれぞれをプログラムするには、4つの別個のプログラミング動作が必要となる。しかしながら、種々の構成がクロスバーセル内にプログラムされると、種々の構成間の切り替えを、いかなるさらなる時間ペナルティも伴わずに生じさせることができる。より具体的には、config信号は、トランジスタ370、380のゲートにも提供される。特定の記憶素子390のconfig信号が、伝送動作モード中に高く設定された場合は、関連付けたトランジスタ370、380をオンにさせ、それによって、インバータ385に電力を供給して、メモリセル350内に記憶されているルーティング値を示す伝送回路に信号を提供する。他の全ての記憶素子について、トランジスタ370、380はオフにされ、それに応じて、インバータ385はいかなる出力も提供しない。
構成要素330、335、および340(図5を参照して上述したもの)によって形成される分離回路は、全ての記憶素子390の間で共有される。
図6の実施形態を使用することによって、各クロスバーセル内に複数の構成を記憶し、次いで、さらなるプログラミングのオーバーヘッドを伴わずに、それらの種々の構成間を非常に迅速に切り替えることが可能である。このような手法は、入力データ値を含む記憶装置へのアクセス回数を低減することによって、入力データに対する複雑なシャッフル動作を必要とするアプリケーションのランタイムを加速することができる。
単一の記憶素子だけを含むクロスバーセルの実施形態を使用する時は、図7を参照して詳述するが、それ自体の記憶素子内の条件付きディスチャージ回路(図5では、トランジスタ315、320およびインバータ325によって表される)の機能を組み込むことが可能である。図7に示されているように、ワード線の値に依存して、メモリセルをビット線400、405に連結するために、2個のPMOSトランジスタ420、425、および2個のNMOSトランジスタ430、435は、SRAMメモリセルの交差連結したインバータを形成し、NMOSトランジスタ410、415は、SRAMメモリセルのパスゲートトランジスタを形成する(ビット線405に対する信号は、インバータ460の使用を介した、ビット線400に対する信号の逆である)。
加えて、トランジスタ440、445、450が提供される。図5を参照して上述したように、ディスチャージ信号が低電圧レベルにある時には、メモリセル内に記憶されているルーティング値に関わらず、それらのトランジスタがオフにされるように、論理ゼロ値がトランジスタ305に入力され、それによって、この期間中に生じるプリチャージ動作の効率を向上させる。図7から明らかなように、ディスチャージ信号が低い時には、トランジスタ445および450がオフにされ(ディスチャージ_b信号は、インバータ470により、高い論理レベルにある)、トランジスタ440がオンにされ、それによって、Vddをインバータ455にルーティングさせ、したがって、論理ゼロ値を出力させる。この論理ゼロ値は、次いで、トランジスタ305をオフにするために、それらに入力される。したがって、これは、図5に示されている構成要素315、320、および325の必要性を取り除く。
逆に、ディスチャージ信号が高い時は、プリチャージ段階が終了し、そのデータ伝送が生じることを示すが、6T SRAMセルが、通常の構成を取り、SRAMセル内に記憶されている値がインバータ455によって出力されるように、トランジスタ440がオフにされ、トランジスタ445および450の両方がオンにされる。
図8Aは、「ディスチャージ」および「SE」と称される2つの信号を発生させるように、コントローラ40内に提供される、パルス発生回路を示している。一般的に、このパルス発生回路の1つのインスタンスが、クロスバー全体に提供される。パルス発生器回路は、遅延素子として使用される、複数のトランジスタ510、515、535、540、および多数のインバータ500、505、520、525、530、545、550から成る。図8Aのパルス発生回路を使用してクロック信号から生成されるSEおよびディスチャージ信号の形態を、データ伝送モードおよび構成モードの両者について、図8Bに示す。ディスチャージ信号が高い間、データ線は、記憶素子内に記憶されているルーティング値およびデータ入力線の値に依存して、条件付きでディスチャージされる。次いで、わずかな遅延の後に、SE信号は、感知増幅器60を起動させてデータ出力線上の電圧を検出するように、高く設定される。
構成要素500、505のサイズを設定することによって、ディスチャージ信号を高いままに保つ時間の長さを調整することができる。同様に、構成要素525、530のサイズを設定することによって、SE信号を高いままに保つ時間の長さを調整することができる。
構成動作モードにおいて、ディスチャージおよびSE信号は、論理ゼロレベルに保たれる。これは、パルス発生回路に入力されるクロック信号の代わりに論理ゼロ値を提供するコントローラの変わりに、パルス発生回路へのクロック信号を遮断するコントローラ40によって達成され、それによって、ディスチャージおよびSE信号を、図8Bの右側に示されるように、論理ゼロレベルのままに保つ。
上述の本発明の実施形態では、出力データ線が高くプリチャージされるので、静的な高入力が、クロックサイクルごとにそれらのデータ線をディスチャージさせる。図9A〜9Eは、これを軽減するのに使用することができ、それによって電力消費を低減する、符号化スキームを示している。より具体的には、図9Aは、ソースとクロスバーの入力データ経路との間に配置されてもよい、符号化器回路を示し、図9Bは、感知増幅器60の出力と宛先回路との間に配置されてもよい、関連付けた復号器回路を示す。最初に、図9Aの符号化器回路を考えると、新しいデータの各アイテムはフリップフロップ600内にラッチされ、古いデータはNANDゲート605を経てフリップフロップ610に伝搬される。次いで、比較器615が新しいデータと古いデータとを比較し、差異があればいつでも、論理ゼロ値をインバータ620に出力させ、その結果、論理1値が符号化器回路によって出力される。したがって、提供された入力データから、符号化器は、入力データが論理ゼロから論理1値に、または論理1値から論理ゼロ値に変化するたびに、論理1値によって分離される論理ゼロ値を生成する。クロスバーセルの上述の考察から、データ出力線は、このような論理1値が現れた時にだけディスチャージされ、それによって、プリチャージ動作に関連付けられる電力消費を低減することを認識されるであろう。
第1のデータアイテムが入力された時には、それに対していかなる以前のデータも比較されず、それに応じて、sync信号を使用して、フリップフロップ610内の初期状態を設定する。さらに、例えば、図6を参照して上述したようなクロスバーセル構造を使用した時に定期的に生じ得るように、クロスバーを新しい構成に切り替えるたびに、同期化パルスを使用して、符号化器ハードウェアを(クロックサイクルを費やさずに)リセットすることができる。
対応する復号器回路を図9Bに示す。構成要素630および635の構造は、構成要素660によって図9Cに概略的に示す。示されているように、このような構成要素は、実際に、直列に接続される一連のトランジスタ665、670、675、680から成る。
sync_d信号は、sync信号と同じであるが、1クロックサイクルだけ遅延される。sync_d_b信号は、逆sync_d信号である。これらの3つの信号の関係を図9Eに示す。sync信号は、アクティブロー信号であり、したがって通常動作下にあり(回路が新しい構成に切り替えられていない時)、syncおよびsync_dは、高い論理1レベルになり、一方で、sync_d_b信号は、低い論理ゼロレベルになることに留意されたい。
図9Bから分かるように、復号器は、感知増幅器、クロック信号、およびsync_d_b信号から出力を受信し、一連のNANDゲート645、650、655を経て、内部クロック信号をフリップフロップ640に提供する。フリップフロップ640からの出力は、出力を宛先回路に駆動し、感知増幅器を介して受信される符合化した出力から、元の入力データを再作成する。
通常動作において、sync信号は、論理1レベルであり、sync_d_b信号は、論理0レベルであるので、構成要素635が起動され、一方で、構成要素630が停止される。3個のNANDゲート645、650、655は、感知増幅器が遷移を検出して、高い信号を送信する時に、パルスをフリップフロップ640に提供する。新しい構成への切り替えが生じた時には、syncおよびsync_d信号が低くなり、一方で、sync_d_b信号が高くなる。したがって、その時に、構成要素630が起動され、一方で、構成要素635が停止される。その結果、インバータ635を経て以前のデータをトグルする代わりに、フリップフロップ640は、感知増幅器からデータを(構成要素630がそれを逆にした後に)取り込む。
図9Dは、符号化器回路への入力データ、結果として生じた符合化器回路からの符号化したデータ出力、符号化したデータが高くなるたびにディスチャージされる、対応するビット線の指示を示し、また、感知増幅器から受信した情報に基づいて、復号器回路によって生成される出力データを示している。出力データは、符号化器に渡された入力データを忠実に再生していることが分かる。
図10は、本発明の実施形態のクロスバー回路の一実施例の実現形態を示している。より具体的には、単一のコントローラブロック705によって制御される、2個のこのようなクロスバー回路720、725を示している。クロスバー回路720は、複数の乗算回路735に提供される第1のオペランド(opA)を生成するのに使用され、一方で、クロスバー回路725は、第2のオペランド(opB)をそれらの乗算回路に提供するように配設される。それぞれが、256ビットのデータを記憶する16個のベクトルレジスタを含む、2個のレジスタバンク710、715が提供される。まとめると、これらは集合的に、それぞれ512ビットのデータを記憶する16個のベクトルレジスタを有するものとみなすことができる、システムを形成する。これは、opAの半分がレジスタバンク710によって提供され、opAの他の半分がレジスタバンク715によって提供されるのを可能にする。同様に、これは、opBの半分がレジスタバンク710によって提供され、opBの他の半分がレジスタバンク715によって提供されるのを可能にする。
一組のフリップフロップ730は、クロスバー回路720、725からの出力をラッチするのに使用され、該出力は、32個の乗算回路735に提供され、その結果、次いで、さらなる一組のフリップフロップ740内に記憶される。その後、結果は、それぞれ、レジスタバンク710、715にフィードバックされる。
したがって、この実施形態では、それぞれが256ビットのデータを記憶する、32個のベクトルレジスタと、それぞれが、16ビットチャネルを形成するデータ入力経路およびデータ出力経路を伴う32×32のビット配列を提供する、2個のクロスバー回路と、が存在する。乗算回路735は、それぞれが16ビットのオペランド上で動作する、32個の乗算器を提供する。
システムコントローラ700は、システムの全体的な動作を管理するために提供され、実行される次の命令を同定するプログラムカウンタ(PC)値を維持する。
したがって、第1のサイクルが正の段階の間に、所要のレジスタが読み取られ、クロスバー内のデータ線がプリチャージされる。第1のサイクルの負の段階では、データ出力線の条件付きディスチャージが生じ、感知増幅器は、それらの感知動作を実行する。その後、第2のサイクルにおいて、乗算回路は、所要の乗算動作を実行し、次いで、第3のサイクルにおいて、フリップフロップ740からレジスタバンク710、715へのライトバック動作が生じる。
図11は、本発明の実施形態に従って、クロスバー回路を使用した時に生じさせることができる、レイアウトの柔軟性を示している。本発明の実施形態のクロスバー回路の設計は、非常に標準的であり、全てのチャネルにわたる遅延は、均一である。入力データ経路への入力を提供するソースデバイス800は、クロスバー回路のいずれの側にも提供することができ、同様に、宛先回路は、データ出力経路のいずれの端部にも提供することができる。図11では、全ての宛先回路810が、クロスバーの底端部に示されているが、コントローラ40がその上端部に位置付けられる場合であっても、それらのうちの1つ以上がクロスバーの上端部に提供されてもよい。これは、ルーティングの輻輳を低減することによって、設計のフロアプランニングを簡略化する。
したがって、本発明の実施形態のクロスバー回路は、ソースを両水平端部のいずれかに、また、宛先を両垂直端部のいずれかに配置するといった柔軟性を提供することを認識されるであろう。加えて、上述のように、複数の構成を記憶することができ、いかなる遅延ペナルティも伴わずに、途切れること無くそれらの間を切り替えることができる。これらの2つの特徴を利用することによって、図12Aおよび12Bに概略的に示されているように、単一のクロスバー回路を使用して、2組のソースおよび宛先を扱うことができる。状態1において、左側のソースは下側の宛先と通信し、右側のソースは3状態モードのままである。状態2において、右側のソースは上側の宛先と通信し、左側のソースは3状態のままである。同じ入力および出力バスが両方の状態に使用されるが、代替の構成を使用する。非常に高速であるクロスバーは、処理ユニット(宛先)の2倍の周波数でクロッキングすることができる。
本発明の実施形態の上記説明から、このような実施形態は、マルチコアアプリケーションに必要とされ得るような、非常に大きいクロスバーを設計するのに使用することができる、新規なクロスバー実装スキームを提供することが分かるであろう。本発明の実施形態のクロスバー回路は、構成動作モード中に、データ出力線を再使用して、各クロスバーセル内の記憶素子をプログラムする。提案した本発明の実施形態の実装は、クロスバーの設計に対して、最小の可能な面積を使用する。交差点の数および各交差点に組み込まれる論理の数の両者が増大する、典型的な先行技術の実現形態とは対照的に、本発明の実施形態によれば、交差点の数だけしか増大しない。
加えて、本発明の実施形態のクロスバーセル構造を採用した時に、各入力データ経路上に入力データを提供するのに使用される、伝送回路のサイズも、駆動回路のサイズも、クロスバー回路のサイズが増加した時に、サイズを増加させる必要が無い。さらに、単一の入力データ値が複数の出力経路に同報通信される、マルチキャスティングをサポートするのに、いかなる追加のハードウェアまたはサイジングも不要である。
さらに、本発明の実施形態には標準的な構造が採用されるため、ルーティングは、典型的な先行技術の手法よりもかなり直接的になる。
さらに、複数の構成が記憶回路内に記憶される実施形態では、メモリアクセスの回数を低減することによって、複雑なシャッフル動作を必要とするアプリケーションのランタイムを加速することができる。
本発明の一実施形態では、入力は、例えば、マルチプレクシング手法を採用している典型的な先行技術のクロスバーで必要とされ得るような、異なるバスからの同じビットを備えるパケットとしてではなく、バスとしてクロスバー内に供給される。これは、ワイドバスの相互接続部として、本発明の実施形態のクロスバー回路を利用し易くする。
本発明の実施形態のクロスバー回路の設計により、クロスバーを通じた遅延は、サイズとともに直線的に増大する。これは、本発明の実施形態のクロスバー回路を、128×128または256×256入力/出力のクロスバー等の、非常に大きいクロスバーに容易に使用できるようにする。
上述のように、本設計は、非常に標準的であり、全てのチャネルにわたる遅延は均一である。さらに、入力は、いずれの水平端部からも供給することができ、出力は、いずれの垂直端部でも利用できる。これは、ルーティングの輻輳を低減することによって、設計フロアプランニングを容易にする。
本明細書では、本発明の特定の一実施形態を説明したが、本発明は、それに限定されるものではなく、本発明の範囲内で、多数の変更および追加が行われ得ることは明白であろう。例えば、本発明の範囲を逸脱しない範囲で、以下の従属請求項の特徴の、独立請求項の特徴との種々の組み合わせを行うことができる。
30 クロスバーセル
40 コントローラ
50 データ入力

Claims (27)

  1. 複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、
    前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの1つに接続できる、複数のデータ入力経路と、
    前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの1つに接続できる、複数のデータ出力経路と、
    前記データ入力経路のうちの1つと、前記データ出力経路のうちの1つとの間の各交差点に関連付けられるクロスバーセルであって、各クロスバーセルは、
    ルーティング値を記憶するようにプログラムできる記憶回路であって、前記ルーティング値は、前記データ入力経路に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路上に出力されないことを、第2の値が示すようにプログラムされる、記憶回路と、
    前記データ入力経路に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を前記データ出力経路上に出力するよう、前記第1の値を有する前記ルーティング値に応答するように、伝送動作モードで動作可能な伝送回路と、を備える、クロスバーセルと、
    前記クロスバーセルに制御信号を発行するための制御回路であって、構成動作モード中に、前記制御回路は、前記クロスバーセルのうちの1つ以上の前記記憶回路をプログラムするように、前記データ出力経路のうちの少なくとも1つを再利用する、制御回路と、
    を備える、クロスバー回路。
  2. 各前記データ出力経路は、前記伝送動作モード中に、nビットのデータ値を担持するための、n本のデータ出力線を備え、
    前記構成動作モード中に、前記制御回路は、そのデータ出力経路の前記n本のデータ出力線を使用することによって、選択したデータ出力経路に関連付けられる最高n個のクロスバーセルの前記記憶回路を同時にプログラムするように構成される、請求項1に記載のクロスバー回路。
  3. 前記構成動作モード中に、前記記憶回路のプログラミングで使用するために、各記憶回路にルーティングされる、少なくとも1本のワード線をさらに備え、
    前記構成動作モード中に、前記制御回路は、n本のビット線として、前記選択したデータ出力経路の前記n本のデータ出力線を再利用し、前記n本のビット線のそれぞれは、前記最高n個のクロスバーセルの前記記憶回路のプログラミングを可能にするように、前記選択したデータ出力経路に関連付けられるn個のクロスバーセルのうちの異なる1個にルーティングされる、請求項2に記載のクロスバー回路。
  4. 前記選択したデータ出力経路に関連付けられるクロスバーセルの数はmn個であり、mは、2以上の整数であり、
    前記少なくとも1本のワード線は、複数のワード線を備え、各ワード線は、前記選択したデータ出力経路に関連付けられる異なるn個のクロスバーセルに接続されており、
    前記構成動作モード中に、前記クロスバーセルの数は、m個の連続するプログラミング動作を経てプログラムされ、各プログラミング動作中に、前記n本のデータ出力線は、そのプログラミング動作によってプログラムされている前記n個のクロスバーセルのための、前記n本のビット線として作用する、請求項3に記載のクロスバー回路。
  5. 前記構成動作モード中に、前記少なくとも1本のワード線は、第1の論理レベルで前記制御回路によって駆動され、各記憶回路内にプログラムされる前記ルーティング値は、前記ビット線として作用する前記関連付けた出力線の前記制御回路による駆動が、前記第1の論理レベルで行われるのか、または第2の論理レベルで行われるのかに依存する、請求項3に記載のクロスバー回路。
  6. 前記伝送動作モードにおいて、前記ワード線は、第2の論理レベルにある、請求項5に記載のクロスバー回路。
  7. 前記少なくとも1本のワード線は、複数のワード線を備え、それによって、特定のクロスバーセルが、前記構成動作モードにあり、一方で、他のクロスバーセルが、前記伝送動作モードにあることを可能にする、請求項3に記載のクロスバー回路。
  8. 前記記憶回路は、複数の記憶素子を備え、それぞれが、前記クロスバー回路の複数の構成のうちの1個のルーティング値を記憶するように配設される、請求項1に記載のクロスバー回路。
  9. 前記構成動作モード中の前記制御回路の各プログラミング動作は、前記記憶素子のうちの選択した1つをプログラムさせる、請求項8に記載のクロスバー回路。
  10. 前記伝送動作モード中に、前記制御回路は、クロスバーセルごとに、前記記憶回路のどの記憶素子を使用して、前記ルーティング値を前記伝送回路に提供するのかを同定するよう、構成制御信号を発生するように構成される、請求項8に記載のクロスバー回路。
  11. 前記制御回路は、前記データ出力経路ごとに前記構成制御信号を発行し、それによって、各構成制御信号は、1個の前記データ出力経路に関連付けられる各クロスバーセルの構成を制御する、請求項10に記載のクロスバー回路。
  12. 前記伝送動作モードでクロスバーセルに関連付けられる各データ出力経路は、データ転送の前に第1の論理レベルにプリチャージされ、各クロスバーセルの前記伝送回路は、
    前記データ出力経路と前記第2の論理レベルとの間に直列に接続される、第1および第2のスイッチを備え、
    前記伝送動作モードにおいて、前記第1のスイッチは、前記関連付けた記憶回路内に記憶されているルーティング値に依存して開かれ、または閉じられ、前記第2のスイッチは、前記データ入力経路上で入力される前記データ入力に依存して開かれる、または閉じられる、請求項1に記載のクロスバー回路。
  13. 各前記データ入力経路は、前記伝送動作モード中に、nビットの入力データ値を担持するための、n本のデータ入力線を備え、各前記データ出力経路は、前記伝送動作モード中に、nビットのデータ値を担持するための、n本のデータ出力線を備え、少なくとも前記第2のスイッチは、出力データ線ごとに複製される、請求項12に記載のクロスバー回路。
  14. 前記伝送動作モードにおいて、前記データ出力経路は、前記ルーティング値が前記第1の値であり、かつ前記データ入力値が前記第1の論理レベルにある場合に、前記第2の論理レベルにプルされる、請求項12に記載のクロスバー回路。
  15. 各クロスバーセルは、前記ルーティング値に関わらず前記第1のスイッチをオフにし、一方で、前記関連付けたデータ出力経路を前記第1の論理レベルにプリチャージするための、および前記第1のスイッチを、前記ルーティング値によって制御し、その後に、前記関連付けたデータ出力経路を前記第1の論理レベルにプリチャージできるようにするための、条件付きディスチャージ回路をさらに備える、請求項14に記載のクロスバー回路。
  16. 前記条件付きディスチャージ回路は、各クロスバーセルの前記記憶回路内に組み込まれる、請求項15に記載のクロスバー回路。
  17. 前記伝送動作モード中に、前記データ出力経路上の前記データ出力を検出し、それによって、前記データ出力経路が前記第2の論理レベルに到達する前に、前記第2の論理レベルへの遷移を検出できるようにする、感知増幅回路をさらに備える、請求項14に記載のクロスバー回路。
  18. 前記複数のソース回路のそれぞれと、前記複数のデータ入力経路との間の符号化回路と、
    前記複数のデータ出力経路のそれぞれと、前記複数の宛先回路との間の復号回路と、をさらに備え、
    前記符号化回路は、各ソース回路によって提供される入力データを符号化した形態に符号化するように、符号化動作を適用し、該動作は、元の入力データが前記クロスバー回路を通過した場合、前記データ出力経路を、前記第2の論理レベルにプルするのに必要になり得る回数と比較した時に、前記データ出力経路を前記第2の論理レベルにプルし、その後に、それらを前記第1の論理レベルにプリチャージするのに必要な回数を低減し、
    前記復号回路は、前記データ出力経路上で出力される前記符号化したデータから、前記ソース回路によって提供される前記元の入力データを同定するように、対応する復号動作を適用する、請求項14に記載のクロスバー回路。
  19. 各記憶回路は、前記ルーティング値を記憶するための、少なくとも1個のSRAMメモリセルを備える、請求項1に記載のクロスバー回路。
  20. 各SRAMメモリセルは、6T SRAMメモリセルである、請求項19に記載のクロスバー回路。
  21. 前記複数のソース回路は、前記複数のデータ入力経路のいずれかの端部に接続できる、請求項1に記載のクロスバー回路。
  22. 前記複数の宛先回路は、前記複数のデータ出力経路のいずれかの端部に接続できる、請求項1に記載のクロスバー回路。
  23. 前記複数のソース回路は、前記複数のデータ入力経路の第1の端部に接続され、追加の複数のソース回路は、前記複数のデータ入力経路の第2の端部に接続され、
    前記複数の宛先回路は、前記複数のデータ出力経路の第1の端部に接続され、追加の複数の宛先回路は、前記複数のデータ出力経路の第2の端部に接続され、
    前記クロスバー回路の第1の状態において、前記複数のソース回路は、前記複数の構成のうちの1番目に従って、前記複数の宛先回路に連結され、
    前記クロスバー回路の第2の状態において、前記追加の複数のソース回路は、前記複数の構成のうちの2番目に従って、前記追加の複数の宛先回路に連結される、請求項8に記載のクロスバー回路。
  24. 前記クロスバー回路は、前記ソースおよび宛先回路、および前記追加のソースおよび追加の宛先回路の周波数の少なくとも2倍の周波数でクロッキングされる、請求項23に記載のクロスバー回路。
  25. データ処理装置であって、
    データ値を記憶するための複数のレジスタと、
    前記複数のレジスタ内に記憶されている前記複数のデータ値に対して、並列してデータ処理動作を実行するための、複数の処理回路と、
    前記複数のレジスタのうちのいずれかのレジスタから、前記複数の処理回路のうちのいずれかの処理回路に、前記データ値をルーティングするための、請求項1に記載のクロスバー回路と、
    を備える、データ処理装置。
  26. 複数のソース手段と、複数の宛先手段とを相互接続し、よって、前記複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、
    前記クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、前記複数のソース手段のうちの1つに接続するための、複数のデータ入力経路手段と、
    前記複数のデータ入力経路手段を横断する前記クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、前記複数の宛先手段のうちの1つに接続するためのものである、複数のデータ出力経路手段と、
    前記データ入力経路手段のうちの1つと、前記データ出力経路手段のうちの1つとの間の各交差点に関連付けられるクロスバーセル手段であって、各クロスバーセル手段は、
    ルーティング値を記憶するためにプログラムできる記憶手段であって、前記ルーティング値は、前記データ入力経路手段に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路手段上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路手段に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路手段上に出力されないことを、第2の値が示すようにプログラムされる、記憶手段と、
    前記データ入力経路手段に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を前記データ出力経路手段上に出力するための、伝送動作モードで、前記第1の値を有する前記ルーティング値に応答する、伝送手段と、を備える、クロスバーセル手段と、
    各クロスバーセル手段に制御信号を発行するための制御手段であって、構成動作モード中に、前記制御手段は、前記クロスバーセル手段のうちの1つ以上の前記記憶手段をプログラムするように、前記データ出力経路手段のうちの少なくとも1つを再利用するための、制御手段と、
    を備える、クロスバー回路。
  27. 複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができ、前記クロスバー回路は、前記クロスバー回路を通過する複数のデータ入力経路を有し、各データ入力経路は、前記複数のソース回路の1つに接続することができ、複数のデータ出力経路は、前記複数のデータ入力経路を横断する前記クロスバー回路を通過し、各データ出力経路は、前記複数の宛先回路のうちの1つに接続することができる、クロスバー回路を動作させる方法であって、
    前記データ入力経路のうちの1つと、前記データ出力経路のうちの1つとの間の各交差点を関連付けて、クロスバーセルを採用するステップと、
    各クロスバーセルでルーティング値をプログラミングするステップであって、前記ルーティング値は、前記データ入力経路に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路に沿った前記関連付けた交差点へのデータ入力が、前記関連付けた交差点において、前記データ出力経路上に出力されないことを、第2の値が示すようにプログラムされる、ステップと、
    伝送動作モードにおいて、前記データ入力経路に沿って前記データ入力を検出し、前記関連付けた交差点において、そのデータの指示を前記データ出力経路上に出力するよう、前記クロスバーセルを、前記第1の値を有する前記ルーティング値に応答させるステップと、
    前記クロスバーセルに制御信号を発行するステップであって、構成動作モード中に、前記制御回路は、前記クロスバーセルのうちの1つ以上の前記記憶回路をプログラムするように、前記データ出力経路のうちの少なくとも1つを再利用する、ステップと、
    を含む、クロスバー回路を動作させる方法。
JP2010030154A 2009-02-13 2010-02-15 クロスバー回路およびそのようなクロスバー回路の動作方法 Active JP5431996B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/379,191 US8108585B2 (en) 2009-02-13 2009-02-13 Crossbar circuitry and method of operation of such crossbar circuitry
US12/379,191 2009-02-13

Publications (2)

Publication Number Publication Date
JP2010193454A true JP2010193454A (ja) 2010-09-02
JP5431996B2 JP5431996B2 (ja) 2014-03-05

Family

ID=42560864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010030154A Active JP5431996B2 (ja) 2009-02-13 2010-02-15 クロスバー回路およびそのようなクロスバー回路の動作方法

Country Status (2)

Country Link
US (1) US8108585B2 (ja)
JP (1) JP5431996B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012114905A (ja) * 2010-11-18 2012-06-14 Regents Of The Univ Of Michigan 適応型優先順位スキームを適用するためのクロスバー回路、およびそのようなクロスバー回路の動作方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255610B2 (en) 2009-02-13 2012-08-28 The Regents Of The University Of Michigan Crossbar circuitry for applying a pre-selection prior to arbitration between transmission requests and method of operation of such crossbar circuitry
US8549207B2 (en) 2009-02-13 2013-10-01 The Regents Of The University Of Michigan Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry
US9514074B2 (en) 2009-02-13 2016-12-06 The Regents Of The University Of Michigan Single cycle arbitration within an interconnect
US8230152B2 (en) * 2009-02-13 2012-07-24 The Regents Of The University Of Michigan Crossbar circuitry and method of operation of such crossbar circuitry
US8868817B2 (en) * 2009-02-13 2014-10-21 The Regents Of The University Of Michigan Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry
US8341585B2 (en) * 2011-02-08 2012-12-25 Oracle International Corporation Skewed placement grid for very large scale integrated circuits
US8583850B2 (en) * 2011-02-14 2013-11-12 Oracle America, Inc. Micro crossbar switch and on-die data network using the same
US10050640B1 (en) 2018-01-08 2018-08-14 Stmicroelectronics International N.V. High speed data weighted averaging architecture
US10218380B1 (en) 2018-01-08 2019-02-26 Stmicroelectronics International N.V. High speed data weighted averaging architecture

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05199255A (ja) * 1992-01-18 1993-08-06 Mitsubishi Electric Corp 電子クロスポイントスイッチ装置
JPH0675986A (ja) * 1992-04-06 1994-03-18 Internatl Business Mach Corp <Ibm> 大規模並列コンピューティング・システム装置
JPH08307245A (ja) * 1995-04-26 1996-11-22 Xilinx Inc 面積を節減したクロスポイント相互接続配線構造
JP2001053800A (ja) * 1999-08-11 2001-02-23 Mitsubishi Heavy Ind Ltd クロスバスイッチ

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991296A (en) 1996-02-22 1999-11-23 Fujitsu, Ltd. Crossbar switch and method with reduced voltage swing and no internal blocking data path
US6771162B1 (en) 2000-10-12 2004-08-03 Fairchild Semiconductor Corporation Active cell crosspoint switch
US6356111B1 (en) 2000-12-12 2002-03-12 I-Cube, Inc. Crosspoint switch array with broadcast and implied disconnect operating modes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05199255A (ja) * 1992-01-18 1993-08-06 Mitsubishi Electric Corp 電子クロスポイントスイッチ装置
JPH0675986A (ja) * 1992-04-06 1994-03-18 Internatl Business Mach Corp <Ibm> 大規模並列コンピューティング・システム装置
JPH08307245A (ja) * 1995-04-26 1996-11-22 Xilinx Inc 面積を節減したクロスポイント相互接続配線構造
JP2001053800A (ja) * 1999-08-11 2001-02-23 Mitsubishi Heavy Ind Ltd クロスバスイッチ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012114905A (ja) * 2010-11-18 2012-06-14 Regents Of The Univ Of Michigan 適応型優先順位スキームを適用するためのクロスバー回路、およびそのようなクロスバー回路の動作方法

Also Published As

Publication number Publication date
US8108585B2 (en) 2012-01-31
US20100211719A1 (en) 2010-08-19
JP5431996B2 (ja) 2014-03-05

Similar Documents

Publication Publication Date Title
JP5431996B2 (ja) クロスバー回路およびそのようなクロスバー回路の動作方法
JP5074538B2 (ja) クロスバー回路およびそのようなクロスバー回路の動作方法
US8549207B2 (en) Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry
US9276572B2 (en) Configuration context switcher with a latch
KR100232316B1 (ko) 메모리 어레이, 기록 액세스 및 리세트 액세스 제공 시스템, 및 프로그래머블 게이트 어레이 동작 방법 및 시스템
JP3788867B2 (ja) 半導体記憶装置
US7751272B2 (en) Semiconductor device and method for selection and de-selection of memory devices interconnected in series
US9159391B1 (en) Systems and methods of double/quad data rate memory involving input latching, self-timing and/or other features
US8255610B2 (en) Crossbar circuitry for applying a pre-selection prior to arbitration between transmission requests and method of operation of such crossbar circuitry
JP2007115351A (ja) 同期型半導体記憶装置
KR100228339B1 (ko) 읽기 포트와 쓰기 포트를 공유하는 다중포트 액세스 메모리
US8390319B2 (en) Programmable logic fabric
JP5212112B2 (ja) アドレスデコーダ回路及び半導体記憶装置
WO2001073566A2 (en) Electronic circuits with dynamic bus partitioning
US7571300B2 (en) Modular distributive arithmetic logic unit
TWI492239B (zh) 記憶體裝置及操作此記憶體裝置之方法
KR20090017449A (ko) 일반 플렉서블 타이머 설계
JP3748648B2 (ja) バーストカウンター回路
JP2001035155A (ja) パイプレジスタ及びそれを備えた半導体メモリ素子
JP5816063B2 (ja) 適応型優先順位スキームを適用するためのクロスバー回路、およびそのようなクロスバー回路の動作方法
KR20030080313A (ko) 내부 프리페치를 사용하는 동기식 반도체 메모리 소자
US6434071B1 (en) Circuit and method of selectively activating feedback devices for local bit lines in a memory
US20010005373A1 (en) Virtual channel DRAM
JP4576237B2 (ja) 半導体記憶装置
JPH08235868A (ja) メモリ・デバイス及びメモリ・セル行選択方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5431996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250