JP5816063B2 - Crossbar circuit for applying adaptive priority scheme and method of operating such a crossbar circuit - Google Patents

Crossbar circuit for applying adaptive priority scheme and method of operating such a crossbar circuit Download PDF

Info

Publication number
JP5816063B2
JP5816063B2 JP2011252537A JP2011252537A JP5816063B2 JP 5816063 B2 JP5816063 B2 JP 5816063B2 JP 2011252537 A JP2011252537 A JP 2011252537A JP 2011252537 A JP2011252537 A JP 2011252537A JP 5816063 B2 JP5816063 B2 JP 5816063B2
Authority
JP
Japan
Prior art keywords
circuit
crossbar
data
arbitration
value
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.)
Expired - Fee Related
Application number
JP2011252537A
Other languages
Japanese (ja)
Other versions
JP2012114905A (en
Inventor
スディール・クマール・サトパティ
デヴィッド・セオドア・ブラウ
トレヴァー・ナイジェル・マッジ
デニス・マイケル・シルヴェスター
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
Priority claimed from US12/926,462 external-priority patent/US8549207B2/en
Application filed by University of Michigan filed Critical University of Michigan
Publication of JP2012114905A publication Critical patent/JP2012114905A/en
Application granted granted Critical
Publication of JP5816063B2 publication Critical patent/JP5816063B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、適応型優先順位スキームを適用するためのクロスバー回路、およびそのようなクロスバー回路の動作方法に関する。   The present invention relates to a crossbar circuit for applying an adaptive priority scheme and a method of operating such a crossbar circuit.

クロスバー回路は、マトリクス様態で複数の入力を複数の出力に接続するためのスイッチ基盤である。故に、クロスバー回路は、複数のソース回路および複数の宛先回路を相互接続するために使用することができ、よって、複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、複数の宛先回路のうちのいずれかに出力することができる。クロスバー回路は、様々な実装で使用することができる。例えば、データ処理システムの実装では、このようなクロスバー回路は、データ値に対してデータ処理動作を実行するために使用される複数のプロセッサ、およびそれらのデータ値を記憶するために使用される複数のメモリデバイスを相互接続するために使用することができ、それによって、データ値を、任意のメモリデバイスから任意のプロセッサにルーティングすることを可能にする。   A crossbar circuit is a switch board for connecting multiple inputs to multiple outputs in a matrix fashion. Thus, a crossbar circuit can be used to interconnect multiple source circuits and multiple destination circuits, thus allowing multiple data inputs from any of the multiple source circuits to the crossbar circuit. Can be output to any one of the destination circuits. The crossbar circuit can be used in various implementations. For example, in a data processing system implementation, such a crossbar circuit is used to store a plurality of processors used to perform data processing operations on data values, and the data values. Multiple memory devices can be used to interconnect, thereby allowing data values to be routed from any memory device to any processor.

クロスバー回路を生成するための周知の技法は、クロスバー回路を形成するために必要とされる構成要素に起因する、クロスバー回路のための大きな面積、および制御信号をそれらの構成要素にルーティングするために必要とされる多数の制御線を必要とし、また、大量の電力も消費する。さらに、それらの複雑さは、サイズとともに急激に増大し、周知の技法の大部分を、多数のソース回路を多数の宛先回路と相互接続するために必要とされるクロスバー回路とともに使用することについて、非実用的なものとする。いくつかの周知の技法を以下に論じる。   Well-known techniques for generating crossbar circuits route large areas for the crossbar circuit and control signals to those components due to the components required to form the crossbar circuit It requires a large number of control lines that are required to do this, and also consumes a large amount of power. Furthermore, their complexity increases exponentially with size, with most of the known techniques being used with the crossbar circuitry required to interconnect multiple source circuits with multiple destination circuits. To be impractical. Several well-known techniques are discussed below.

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に基づく設計は、典型的に、少なくとも部分的には、サイズが大きくなるにつれて、必要な制御信号を種々のマルチプレクサにルーティングすることがますます困難になるので、サポートする入力および出力数の増加とともに拡張することができない。さらに、入力データが、入力バス上でルーティングされるマルチビットデータである場合、データ経路自体のルーティングが非常に複雑になる。   Papers by K Chang et al., “A 50 Gb / s 32 × 32 CMOS Crossbar Chip using Asymmetric Serial Links”, 1999 Symposium on VLSI Circuits, Digest of Technical Papers A22 by T. × 256 CMOS Crossbar Fabric Fabric Designing Pipelining MUX ”, IEEE International Symposium on Circuits and Systems, 2002, 568-571 pages from any input source to any output It describes a crossbar circuit using a hierarchical arrangement of multiplexers. However, such a MUX-based crossbar circuit is relatively large in size and consumes much power. In addition, the crossbar circuit typically requires a significant number of control lines to control the various multiplexers. Such MUX-based designs typically support, at least in part, as the size increases, it becomes increasingly difficult to route the necessary control signals to the various multiplexers, so supporting inputs and outputs Cannot scale with increasing numbers. Furthermore, if the input data is multi-bit data routed on the input bus, the routing of the data path itself becomes very complex.

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つまたは複数のバッファを含めることが必要となる。これらの全ての要因は、特により多くの入力および出力に適応するようにクロスバー回路のサイズを増加させた時に、クロスバー回路の素子および関連する制御線のレイアウトに重大な問題を生じさせる。故に、この手法は、複雑になり、拡張することができない。   R Golshan et al., “A Novel Reduced Swing CMOS Bus Bus Circuit Circuit for High Speed, Low Speed Power VLSI Systems”, IEEE International Symposium 54, IEEE International Symposium 54 An XY type crossbar circuit passing in the vertical direction is described. At the intersection between each input path and output path, a storage element is provided in the form of a flip-flop circuit, and its output controls the transistors used to connect the input path to the output path. However, such a design requires a large number of control lines to program the various flip-flops in order for the crossbar circuit to perform the required routing. Further, input data provided on the input data path is used to drive output data on the associated output data path. As the crossbar circuit grows to accommodate a large number of inputs and outputs, the output data path capacitance increases and correspondingly provides larger drive transistors at the input to overcome the increased capacitance There is a need to. In addition, the connecting transistor driven by the flip-flop at the intersection between the data input path and the data output path also needs to increase in size when the size of the crossbar circuit increases. Furthermore, typically, when the size of the crossbar circuit increases, it becomes necessary to include one or more buffers in the data output path. All these factors cause significant problems in the layout of the crossbar circuit elements and associated control lines, especially when the size of the crossbar circuit is increased to accommodate more inputs and outputs. Hence, this approach is complicated and cannot be extended.

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は、データ入力経路とデータ出力経路との間の各交差点に位置付けられる伝送回路としてパストランジスタチェーンを採用する、クロスバー設計を記載している。入力データを出力データ経路へ連結するためにパストランジスタチェーンが必要とされる時には、出力データ経路上に位置付けられる電流感知回路を使用して、入力データ値を検出する。この設計の極めて不利な点は、電流感知デバイスを各出力経路上に位置付けるための要件に起因して、多量の電力を消費することである。さらに、クロスバー回路内で多数の制御信号をルーティングする必要があり、実際に、それらの制御信号は、より多くの入力および出力に適応するようにクロスバー回路のサイズを増加させるにつれて、ルーティング要件を支配するようになる。したがって、ここでも、この設計は、より大きいクロスバー回路の設計に、容易に拡張することができない。   P Wijetunga's paper "High-Performance Crossbar Design for System-On-Chip", Proceedings of the Third-Re-Ti-P Describes a crossbar design that employs a pass transistor chain as a transmission circuit located at each intersection. When a pass transistor chain is required to connect input data to the output data path, a current sensing circuit located on the output data path is used to detect the input data value. A very disadvantage of this design is that it consumes a large amount of power due to the requirement to position a current sensing device on each output path. In addition, a large number of control signals need to be routed within the crossbar circuit, and in fact, as these control signals increase the size of the crossbar circuit to accommodate more inputs and outputs, the routing requirements Will dominate. Thus, again, this design cannot be easily extended to larger crossbar circuit designs.

M Borgatti他による論文「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セルをプログラムするには、かなり多くの時間が必要となる。したがって、クロスバーデバイスのあらゆる再構成にも、かなり時間がかかる。   M Borgati et al., “A Multi-Context 6.4 Gb / s / Channel On-Chip Communication Network using 0.18 μm Flash-EEP de S ed e S d, S, Describes a programmable crossbar implemented using a matrix of improved flash EEPROM devices. However, as is apparent from FIG. 26.5.6, the number of memory cells involved in routing data input from the source device to the destination device depends on where those devices are connected in the crossbar, Therefore, the timing of the signal passing through the crossbar is not deterministic. In addition, a large number of control lines are required to allow programming of the various flash EEPROM cells, and a considerable amount of time is required to program the various flash EEPROM cells. Thus, any reconfiguration of the crossbar device takes considerable time.

故に、このようなクロスバーの設計は、複雑であり、また、必要とされる制御線の急増により、より多くの入力デバイスおよび出力デバイスをクロスバーによってサポートすることが必要になるので、複雑さが増加する。さらに、クロスバーのタイミングは、決定論的でないため、クロスバーの設計を、特定の実装には不適当なものとする。   Thus, the design of such a crossbar is complex and also requires more input and output devices to be supported by the crossbar due to the proliferation of required control lines. Will increase. Furthermore, the crossbar timing is not deterministic, making the crossbar design unsuitable for a particular implementation.

要約すると、前述の考察から、既存のクロスバー設計は、典型的に、制御信号の複雑なルーティングを伴い、その複雑さは、クロスバーのサイズが増加するにつれて、急激に増加することが理解されるであろう。必要とされる制御線の数に部分的に起因して、およびクロスバーのサイズが増加するにつれて、クロスバー内に提供される特定の構成要素のサイズを増加させる必要性に部分的に起因して、しばしば、該設計は、大量の電力を消費し、かつ拡張性に乏しい。   In summary, it can be seen from the above discussion that existing crossbar designs typically involve complex routing of control signals, and that complexity increases rapidly as the size of the crossbar increases. It will be. Partly due to the number of control lines required, and partly due to the need to increase the size of certain components provided within the crossbar as the size of the crossbar increases. Often, the design consumes large amounts of power and is not scalable.

共有の米国公開特許出願第2010/0211719号(参照することによりその内容全体が本願明細書に組み込まれる)は、ルーティングパターンが、クロスバーの中の交差点でローカルにキャッシュされ、次いで、データをルーティングするために使用される、クロスバー回路設計を記載している。これは、クロスバー回路のための配線レイアウトを生成する時に、ルーティングの輻輳をかなり低減する。該設計は、容易に拡張することができ、したがって、クロスバー回路は、クロスバー回路に接続されるソース回路および宛先回路の数が多い場合であっても、容易に利用することができる。さらに、該設計は、クロスバー回路を通したデータの転送に固定待ち時間を提供する、標準的なレイアウトを生成する。   Shared US Published Patent Application No. 2010/0211719 (the entire contents of which are hereby incorporated by reference) allows routing patterns to be cached locally at intersections in the crossbar and then route data It describes the crossbar circuit design used to do this. This significantly reduces routing congestion when generating a wiring layout for the crossbar circuit. The design can be easily extended, and thus the crossbar circuit can be easily utilized even when the number of source and destination circuits connected to the crossbar circuit is large. In addition, the design generates a standard layout that provides a fixed latency for the transfer of data through the crossbar circuit.

クロスバー設計における別の問題は、コリジョン検出および解決能力を伴うクロスバーをどのように提供するかということである。スイッチングファブリックにおける同じ宛先に対する複数の要求は、コリジョンと称される。ソースおよび宛先の数の増加とともに、コリジョンはより頻繁となる。このような状況では、アービトレーションは、クロスバー回路の全体的な効率のボトルネックとなる。   Another problem in crossbar design is how to provide a crossbar with collision detection and resolution capabilities. Multiple requests for the same destination in the switching fabric are referred to as collisions. As the number of sources and destinations increases, collisions become more frequent. In such situations, arbitration becomes a bottleneck of the overall efficiency of the crossbar circuit.

最も現代的なスイッチングファブリックは、主として、データを伝送するクロスバー、およびクロスバーを構成するアービターの2つのモジュールから成る。そのような実装において、ソース回路は、チャネルの要求をアービターに送信する。アービターは、全ての要求をサンプリングし、いくつかの優先順位割り当てスキームを使用して要求の一部または全てを承諾し、それに応じてクロスバーを構成する。このスキームは、拡張性について2つの大きな問題を有する。
1)ソース回路からアービターに全ての要求信号をルーティングすること、および全ての承諾信号を返すことは、より大きなシステムではますます困難となる。
2)アービターは、決定を下すことができる前に、受信する全ての要求、ならびにクロスバーの現在の状態を知っている必要がある。サイクルごとにクロスバーの状態を監視するには、付加的な論理ならびに相互接続が必要である。これは付加的な遅延の一因となる。
The most modern switching fabric mainly consists of two modules: a crossbar that transmits data and an arbiter that makes up the crossbar. In such an implementation, the source circuit sends a channel request to the arbiter. The arbiter samples all requests and uses some prioritization scheme to accept some or all of the requests and configures the crossbar accordingly. This scheme has two major problems with scalability.
1) Routing all request signals from the source circuit to the arbiter and returning all acceptance signals becomes increasingly difficult in larger systems.
2) The arbiter needs to know all incoming requests, as well as the current state of the crossbar, before it can make a decision. Monitoring the state of the crossbar on a cycle-by-cycle basis requires additional logic as well as interconnection. This contributes to additional delay.

パケットスイッチングネットワークの拡張性およびアービトレーション遅延に対処するために、多くの試みがなされてきた。Chi H.他による論文「Decomposed Arbiters for Large Crossbars with Multi−Queue Input Buffers」、IEEE International Conference on Computer Design、14−16 Oct.1991、233〜238ページにおいて、著者は、アービトレーションプロセスが完了する前にいくつかの要求を承諾できるようなアービターの分解について述べている。しかしながら、最悪条件のアービトレーション遅延は、依然として同じままである。一般に、アービトレーション遅延は、サイズとともに直線的に増大する。   Many attempts have been made to address the scalability and arbitration delay of packet switching networks. Chi H. Other papers “Decomposed Arbiters for Large Crossbars with Multi-Queue Input Buffers”, IEEE International Conference on Computer Design, 14-16 Oct. In 1991, pages 233-238, the author describes an arbiter disassembly that allows some requests to be accepted before the arbitration process is complete. However, the worst-case arbitration delay remains the same. In general, the arbitration delay increases linearly with size.

Delgado−Frias他による論文「A VLSI Crossbar Switch with Wrapped Wave Front Arbitration」、IEEE Transactions on Circuits and Systems、Volume 50、Issue 1、Jan.2003、135〜141ページ、およびKavaldjiev N.他による論文「A Virtual Channel Router for On−chip Networks」、IEEE International SoC Conference、12−15 Sept.2004、289〜293ページでは、著者は、クロスバー内におけるアービトレーションの取り扱いについて論じている。しかしながら、開示された実装は、拡張性がなく、4×4のサイズのクロスバーに制限されている。   Delgado-Frias et al., “A VLSI Crossbar Switch with Wrapped Wave Front Arbitration”, IEEE Transactions on Circuits and Systems, Volume 50, Issue 50. 2003, pages 135-141, and Kavaldjiev N. A paper by A et al., “A Virtual Channel Router for On-chip Networks”, IEEE International SoC Conference, 12-15 Sept. On pages 2004, 289-293, the author discusses the handling of arbitration in the crossbar. However, the disclosed implementation is not scalable and is limited to a 4 × 4 size crossbar.

Shin E.他による論文「Round−robin Arbiter Design and Generation」、International Symposium on System Synthesis、2002、243〜248ページでは、著者は、ラウンドロビンアービターを生成するツールを提案している。該アプローチは階層的であり、4×4のスイッチから32×32のスイッチを作製しようとしている。   Shin E. In an article by "Round-robin Arbiter Design and Generation", International Symposium on System Synthesis, 2002, pages 243-248, the author proposes a tool for generating round robin arbiters. The approach is hierarchical, trying to make a 32 × 32 switch from a 4 × 4 switch.

William W.Plummerによる論文「Asynchronous Arbiters」、IEEE Transactions on Computers Archive Volume 21、Issue 1 (January 1972)、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、472〜476ページでは、アービトレーションのためのいくつかの非同期的手法が記載されている。これらの設計は、無作為性を達成するために準安定性を利用する。しかしながら、準安定システムにおける遅延が時折高くなる可能性があり、それによって、確実なスループットを必要とするリアルタイムシステムにおけるその使用が制限されている。   William W. Plummer's paper "Asynchronous Arbiters", IEEE Transactions on Computers Archive Volume 21, Issue 1 (January 1972), pages 37-42, Charles E. et al. Molnar et al., “Simple Circuits that Work for Complicated Reasons”, International Symposium on Advanced Research in Asynchronous Circuits and Systems. 2000. (ASYNC 2000) Proceedings, and Mark B. et al. In the paper by Joseph et al. "CMOS Design of the Tree Arbiter Element", IEEE Transactions on VLSI systems, Volume 4, Issue 4, Dec 1996, Dec 1996, pages 472-476, arbitration is described. . These designs take advantage of metastability to achieve randomness. However, delays in metastable systems can sometimes be high, which limits their use in real-time systems that require reliable throughput.

要約すると、文献に見られる多くの解決法は、2×2または4×4スイッチを使用した大型クロスバースイッチの作製に対する階層的アプローチを使用する。したがって、クロスバースイッチのサイズとともに遅延が直線的に増大する。これは、幅広い並列システム(SIMD/MIMD型アプリケーション)に対して、いかなる電圧スケーリングの余地も残さない。   In summary, many solutions found in the literature use a hierarchical approach to making large crossbar switches using 2x2 or 4x4 switches. Therefore, the delay increases linearly with the size of the crossbar switch. This leaves no room for voltage scaling for a wide range of parallel systems (SIMD / MIMD type applications).

さらに、例えば前述の論文「A Virtual Channel Router for On−chip Networks」、IEEE International SoC Conference、12−15 Sept.2004、289〜293ページに論じられているような、アービターおよびクロスバーを互いに統合する以前の試みにおいては、それらを空間的に近接させることだけしか可能になっていない。しかしながら、両方の機能性のための論理および相互接続は、相容れないままであった。   Further, for example, the above-mentioned paper “A Virtual Channel Router for On-chip Networks”, IEEE International SoC Conference, 12-15 Sept. In previous attempts to integrate arbiters and crossbars together, as discussed on pages 2004, 289-293, it was only possible to bring them in close proximity. However, the logic and interconnections for both functionalities remained incompatible.

従来の実装において、コリジョン検出および解決は、階層的に行われる。これは、アービトレーション論理の複数の段階において達成され、各段階の後に、要求の数がある特定の割合だけ低減される。   In conventional implementations, collision detection and resolution is done hierarchically. This is accomplished in multiple stages of arbitration logic, after each stage the number of requests is reduced by a certain percentage.

共有の米国公開特許出願第2010/0211720号(参照することによりその内容全体が本願明細書に組み込まれる)は、所定の優先順位スキームを適用することによって、コンフリクトの非常に有効な解決法を実行することを可能にする一方で、非常に標準的な設計を提供し、全ての経路にわたって均一な遅延を伴い、そして、典型的な従来技術のクロスバーが設計する制御線をほとんど必要としない、クロスバー回路の自己アービトレート設計を記載している。このようなクロスバー回路は、大きいクロスバーを形成するために、容易に拡張することができる。   Shared US Published Patent Application No. 2010/0211720 (the entire contents of which are incorporated herein by reference) implements a very effective solution to conflict by applying a predetermined priority scheme. While providing a very standard design, with uniform delay across all paths, and requiring few control lines designed by a typical prior art crossbar, A self-arbitrate design of the crossbar circuit is described. Such a crossbar circuit can be easily expanded to form a large crossbar.

しかしながら、特定の種類の優先順位スキームは、それでも効率的に実装することが困難であり、例えば、ソース回路の関連する優先順位が適応型優先順位スキームの各適用の間に変化する、適応型優先順位スキームである。US2010/0211720は、優先順位割り当て動作モードで、クロスバーの選択された優先順位記憶回路で値を再プログラムすることが可能である、優先順位構成モジュールの使用を提案した。また、クロスバーの動作を監視して、その分析に依存してどのように優先順位記憶回路を更新するのかを決定することによって、そのような優先順位構成モジュールを適応型にすることが可能であることも確認された。しかしながら、そのようなアプローチは、多くの理由により、クロスバーの効率に影響を与える。   However, certain types of priority schemes are still difficult to implement efficiently, for example, adaptive priority, where the associated priority of the source circuit changes during each application of the adaptive priority scheme. It is a ranking scheme. US 2010/0211720 proposed the use of a priority configuration module that is capable of reprogramming values in a selected priority storage circuit of the crossbar in a priority assignment mode of operation. It is also possible to make such a priority configuration module adaptive by monitoring the operation of the crossbar and deciding how to update the priority storage circuit depending on the analysis. It was also confirmed. However, such an approach affects the efficiency of the crossbar for a number of reasons.

第1に、優先順位記憶回路を再プログラムするために、専用の優先順位割り当て動作モードに入る必要があり、それによって、クロックサイクルが、単に優先順位更新プロセスを実行することだけに費やされてしまう。また、典型的に、一度に1つのデータ出力経路に接続されたクロスバーセルの記憶回路を再プログラムすることしか可能でない。さらに、適応型優先順位構成モジュールについては、第1に、クロスバーの動作を表す情報をクロスバーから取り出し、次いで、その取り出した情報を分析し、次いで、関連する優先順位記憶回路内に記憶するために、修正した優先順位データをクロスバーに入力することが必要であり、それによって、非効率的な更新プロセスをもたらす。   First, in order to reprogram the priority storage circuit, it is necessary to enter a dedicated priority assignment mode of operation, whereby a clock cycle is simply spent performing the priority update process. End up. Also, it is typically only possible to reprogram the crossbar cell storage circuit connected to one data output path at a time. Further, for the adaptive priority configuration module, firstly, information representing the operation of the crossbar is extracted from the crossbar, then the extracted information is analyzed and then stored in the associated priority storage circuit. In order to do so, it is necessary to enter the modified priority data into the crossbar, thereby resulting in an inefficient update process.

従来、効率的に実装することが困難であった1つの種類の適応型優先順位スキームは、どのソース回路が現在のアービトレーションプロセスを得るのかに依存して、種々のソース回路の関連する優先順位が更新される、承諾後最長時間経過(LRG)優先順位スキームである。具体的には、ソース回路Xがアービトレーションプロセスを得た場合、LRGスキームに従って、ソースXよりも低い優先順位を有する全てのソースは、それらの優先順位を上昇させ、ソースXよりも高い優先順位を有する全てのソースは、それらの優先順位をそれらの現在のレベルに維持させ、ソースXは、最も低い相対的優先順位を有するように降格される。   One type of adaptive priority scheme that has traditionally been difficult to implement efficiently is that the associated priority of the various source circuits depends on which source circuit gets the current arbitration process. It is an updated longest time elapsed (LRG) priority scheme. Specifically, if the source circuit X gets an arbitration process, all sources having a lower priority than the source X will increase their priority and give a higher priority than the source X according to the LRG scheme. All sources that have have their priority maintained at their current level, and source X is demoted to have the lowest relative priority.

LRG優先順位スキームは、公正さ、および他の優先順位スキーム(例えば、ラウンドロビン、疑似ラウンドロビン、ランダムな優先順位割り当て等)よりも良好なサービスの質(QoS)を保証するが、そのハードウェア実装は、典型的に、クロスバー回路の領域、性能、およびエネルギー消費にかなりのオーバーヘッドをもたらす。加えて、ハードウェアの複雑さは、クロスバー回路の寸法とともに2次曲線的に増大する。   The LRG priority scheme guarantees fairness and better quality of service (QoS) than other priority schemes (eg, round robin, pseudo-round robin, random priority assignment, etc.), but its hardware Implementation typically introduces significant overhead in the area, performance, and energy consumption of the crossbar circuit. In addition, hardware complexity increases in a quadratic manner with the size of the crossbar circuit.

LRGをサポートする現在のスイッチングファブリックにおいて、アービターは、ネットワークの中の全ての入力および承諾要求を記録することによって、異なるソースに割り当てられた優先順位を更新する。これは、ハードウェアにこれを実装するために、付加的なメモリ、処理素子、およびワイヤを必要とする。   In current switching fabrics that support LRG, the arbiter updates the priority assigned to the different sources by recording all incoming and acceptance requests in the network. This requires additional memory, processing elements, and wires to implement it in hardware.

米国公開特許出願第2010/0211719号US Published Patent Application No. 2010/0211719 米国公開特許出願第2010/0211720号US Published Patent Application No. 2010/0211720

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ページPaper by K Chang et al. “A 50 Gb / s 32 × 32 CMOS Crossbar Chipping Asymmetric Serial Links”, 1999 Symposium on VLSI Circuits, Digest of Technical Papers page 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ページT Wu et al., “A 2Gb / s 256 × 256 CMOS Crossbar Switch Fabric Core Designing Pipelined MUX”, IEEE International Symposium on Circuits and Systems 68, 2nd page. 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ページ、1994R Golshan et al., “A Novel Reduced Swing CMOS Bus Bus Circuit Circuit for High Speed Low Power VLSI Systems, IEEE International Symposium on Circus 54, IEEE 1-35”. 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、2003P Wijetunga's paper, “High-Performance Crossbar Design for System-On-Chip”, Proceedings of the Third-Japan-Ari-Smop M Borgatti他による論文「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.5M Borgati et al., “A Multi-Context 6.4 Gb / s / Channel On-Chip Communication Network using 0.18 μm Flash-EEP de S ed e S d, S, Chi H.他による論文「Decomposed Arbiters for Large Crossbars with Multi−Queue Input Buffers」、IEEE International Conference on Computer Design、14−16 Oct.1991、233〜238ページChi H. Other papers “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、135〜141ページDelgado-Frias et al., “A VLSI Crossbar Switch with Wrapped Wave Front Arbitration”, IEEE Transactions on Circuits and Systems, Volume 50, Issue 50. 2003, pages 135-141 Kavaldjiev N.他による論文「A Virtual Channel Router for On−chip Networks」、IEEE International SoC Conference、12−15 Sept.2004、289〜293ページKavaldjiev N.M. A paper by A et al., “A Virtual Channel Router for On-chip Networks”, IEEE International SoC Conference, 12-15 Sept. 2004, 289-293 pages Shin E.他による論文「Round−robin Arbiter Design and Generation」、International Symposium on System Synthesis、2002、243〜248ページShin E. Other paper "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)、37〜42ページWilliam W. Plummer's paper "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) ProceedingsCharles E. Molnar et al., “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、472〜476ページMark B. Joseph et al., “CMOS Design of the Tree Arbiter Element”, IEEE Transactions on VLSI systems, Volume 4, Issue 4, Dec 1996, pages 472-476.

故に、適応型優先順位方式をサポートすることに関連する前述した問題を多少なりとも解消する、改善されたクロスバー設計を提供することが望ましい。   Therefore, it would be desirable to provide an improved crossbar design that overcomes some of the aforementioned problems associated with supporting an adaptive priority scheme.

第1の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの1つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの1つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路と、該データ入力経路のうちの1つと、該データ出力経路のうちの1つとの間の各交差点と関連するクロスバーセルであって、各クロスバーセルは、該複数のビット線のうちの少なくとも1つの上の電圧に依存してルーティング値を記憶するように、アービトレーション動作モードでプログラムできる、構成記憶回路であって、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されることを、第1の値が示すようプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されないことを、第2の値が示すようにプログラムされる、構成記憶回路と、伝送動作モードで、データ入力経路のワード線に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路のビット線上に出力するように、該第1の値を有するルーティング値に応答する、伝送回路と、関連する交差点のデータ入力経路に接続されたソース回路からクロスバーセルによって受信された伝送要求に依存して、該アービトレーション動作モードで動作する、アービトレーション回路であって、該ソース回路が、関連する交差点において、データ入力経路からデータ出力経路にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線の電圧を選択的に修正するように配設され、よって、該同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、該第1の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション回路と、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも1つの電圧に依存して、それに記憶される優先順位データを自己更新するように構成される、優先順位記憶回路とを備える、クロスバーセルとを備える、クロスバー回路を提供する。   Viewed from a first aspect, the present invention interconnects a plurality of source circuits and a plurality of destination circuits, so that data input from any of the plurality of source circuits to the crossbar circuit is A crossbar circuit capable of outputting to any one of the plurality of destination circuits, the plurality of data input paths passing through the crossbar circuit, each data input path including the plurality of sources A plurality of data input paths that can be connected to one of the circuits and provide a plurality of word lines, and a plurality of data output paths that pass through the crossbar circuit across the plurality of data input paths. Each data output path can be connected to one of the plurality of destination circuits and provides a plurality of bit lines, and a plurality of data output paths and one of the data input paths And the A crossbar cell associated with each intersection with one of the data output paths, each crossbar cell storing a routing value depending on a voltage on at least one of the plurality of bit lines. A configuration storage circuit that can be programmed in an arbitration mode of operation, wherein the routing value is a bit of the data output path at the associated intersection along the data input to the associated intersection along the word line of the data input path The first value is programmed to indicate that it is output on the line, and the routing value is a bit of the data output path at the associated intersection along the data input to the associated intersection along the word line of the data input path. In the configuration memory circuit, which is programmed as indicated by the second value that it is not output on the line, and in transmission operation mode Responsive to a routing value having the first value to detect a data input along a word line of the data input path and to output an indication of that data on a bit line of the data output path at the associated intersection An arbitration circuit that operates in the arbitration mode of operation depending on a transmission request received by a crossbar cell from a transmission circuit and a source circuit connected to a data input path of an associated intersection, the source circuit comprising: If the transmission request is asserted to indicate that data is desired to be routed from the data input path to the data output path at the relevant intersection, the arbitration circuit may use the same data output to apply the adaptive priority scheme. Other crossbar cell arbitration circuits associated with the path Operated in combination and arranged to selectively modify the voltage of a plurality of bit lines, and therefore when there are a plurality of asserted transmission requests for the same data output path, the same data output path and The only associated crossbar cell configuration storage circuit has its routing value programmed to the first value, thereby conflicting between the plurality of asserted transmission requests according to the adaptive priority scheme. In order to apply the arbitration circuit and the adaptive priority scheme, the priority data identifying which of the plurality of bit lines should have their voltages modified by the associated arbitration circuit A priority storage circuit configured to store an adaptive priority score by an arbitration circuit A priority storage circuit configured to self-update the priority data stored therein depending on the voltage of at least one of the plurality of bit lines during each application A crossbar circuit comprising a bar cell is provided.

本発明によれば、クロスバーセルは、データ入力経路とデータ出力経路との間の各交差点と関連し、各クロスバーセルは、伝送動作モードで、関連する構成記憶回路に記憶されたルーティング値に依存して、そのデータ入力経路上のデータをそのデータ出力経路に選択的に接続するように配設される、伝送回路と、アービトレーション動作モードで、複数のアサートされた伝送要求間のコンフリクトを解決するために、他のクロスバーセルのアービトレーション回路と組み合わせて動作する、アービトレーション回路とを備える。具体的には、伝送要求がソース回路からクロスバーセルにアサートされた場合、そのクロスバーセルのアービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線上の電圧を選択的に修正し、よって、その同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、第1の値(すなわち、伝送動作モードで、クロスバーセルに、そのデータ入力経路をそのデータ出力経路に連結させる値)にプログラムされる、そのルーティング値を有する。   According to the present invention, a crossbar cell is associated with each intersection between a data input path and a data output path, and each crossbar cell depends on a routing value stored in an associated configuration storage circuit in a transmission mode of operation. And resolving conflicts between a plurality of asserted transmission requests in a transmission circuit and arbitration mode of operation arranged to selectively connect data on the data input path to the data output path. Therefore, an arbitration circuit that operates in combination with an arbitration circuit of another crossbar cell is provided. Specifically, when a transmission request is asserted from a source circuit to a crossbar cell, the arbitration circuit of that crossbar cell will apply to other crossbar cells associated with the same data output path in order to apply the adaptive priority scheme. Operates in combination with the arbitration circuit to selectively modify the voltage on multiple bit lines, so if there are multiple asserted transmission requests for that same data output path, the only associated with the same data output path The crossbar cell configuration memory circuit has its routing value programmed to a first value (ie, a value that causes the crossbar cell to link its data input path to its data output path in the transmission mode of operation).

加えて、各クロスバーセルは、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも1つの電圧に依存して、それに記憶される優先順位データを自己更新するように構成される、優先順位記憶回路を有する。   In addition, each crossbar cell has priority data that identifies which of the multiple bit lines should have their voltages modified by the associated arbitration circuit in order to apply the adaptive priority scheme. A priority storage circuit configured to store, depending on the voltage of at least one of the plurality of bit lines, during each application of the adaptive priority scheme by the arbitration circuit, stored therein A priority storage circuit configured to self-update the priority data.

したがって、本発明によれば、アービトレーション動作モードで、特定のデータ出力経路のコンフリクトを検出するために、いずれかの時点で唯一のソース回路が特定のデータ出力経路へのアクセスを承諾されるようにそれらのコンフリクトを解決するために、および優先順位記憶回路に記憶された優先順位データを更新するために、データ出力経路のビット線が再利用されることが分かる。これは、クロスバー回路内に適応型優先順位スキームを実装するための、高速で拡張性のある技法を提供する。該手法は、従来技術の技法よりも大幅に拡張することができ(本発明の実施形態では、ハードウェアの複雑さは、クロスバーによって提供される相互接続ネットワークのサイズとともに直線的に増大する)、相互接続ネットワークに対するオーバーヘッドをほとんど伴わずに、また、パフォーマンスインパクトをほとんど伴わずに実装することができる。   Thus, according to the present invention, in arbitration mode of operation, only one source circuit is granted access to a particular data output path at any point in time to detect a conflict of the particular data output path. It can be seen that the bit lines of the data output path are reused to resolve these conflicts and to update the priority data stored in the priority storage circuit. This provides a fast and scalable technique for implementing an adaptive priority scheme within a crossbar circuit. The approach can be greatly expanded over prior art techniques (in embodiments of the invention, hardware complexity increases linearly with the size of the interconnect network provided by the crossbar). It can be implemented with little overhead on the interconnect network and with little performance impact.

本発明の配設において、アービター機能およびクロスバー機能はどちらも、ともにクロスバー回路内に一体化される。アービターは、論理が大半を占めるが、クロスバーは、ルーティングが大半を占め、これらの2つの機能をクロスバー回路のクロスバーセル内に1つにまとめることによって、ルーティングトラックおよびチップ内のシリコン空間のより効率的な利用が達成される。加えて、従来クロスバーとアービターとの間で生じる通信オーバーヘッドは、これで、多少なりとも解消される。クロスバー回路内の各交差点と関連するクロスバーセルにクロスバー構成を記憶することによって、アービトレーションのためのデータ出力経路のビット線の再利用を可能にする。   In the arrangement of the present invention, both the arbiter function and the crossbar function are integrated into the crossbar circuit. Arbiters are dominated by logic, but crossbars are dominated by routing, and by combining these two functions together in the crossbar cell of the crossbar circuit, the routing space and the silicon space in the chip More efficient utilization is achieved. In addition, the communication overhead that conventionally occurs between the crossbar and the arbiter is now more or less eliminated. By storing the crossbar configuration in the crossbar cell associated with each intersection in the crossbar circuit, it is possible to reuse the bit lines of the data output path for arbitration.

本発明によれば、クロスバー回路は、SRAMアレイトポロジーの形式でレイアウトすることができ、クロスバーセルは、アレイとしてレイアウトされ、データ入力経路は、ワード線を提供し、データ出力経路は、ビット線を提供する。そのような配設は、サイズの観点および必要とされる相互接続の数の観点の双方から、非常に効率的なレイアウトを可能にする。   According to the present invention, the crossbar circuit can be laid out in the form of an SRAM array topology, the crossbar cells are laid out as an array, the data input path provides a word line, and the data output path is a bit line. I will provide a. Such an arrangement allows a very efficient layout, both in terms of size and in terms of the number of interconnections required.

適応型優先順位スキームは、様々な形態を取ることができるが、一実施形態において、適応型優先順位スキームは、承諾後最長時間経過(LRG)スキームである。前述のように、LRGスキームは、従来、ハードウェアへの実装が複雑であり、したがって、本発明の実施形態を使用してLRGスキームを提供する能力は、周知の従来技術の手法に勝る非常に顕著な改善を呈する。   Although the adaptive priority scheme can take a variety of forms, in one embodiment, the adaptive priority scheme is a longest elapsed time (LRG) scheme after acceptance. As previously mentioned, LRG schemes have traditionally been complex to implement in hardware, and therefore the ability to provide LRG schemes using embodiments of the present invention is much superior to well known prior art approaches. Significant improvement.

一実施形態において、各データ出力経路は、n本のビット線を提供し、各構成記憶回路は、それを介してルーティング値が構成記憶回路にプログラムされる、該n本のビット線のうちの1本と関連し、よって、同じデータ出力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの構成記憶回路は、該n本のビット線のうちの異なる関連するビット線を有する。各クロスバーセル内で、アービトレーション回路および優先順位記憶回路は、そのクロスバーセルの構成記憶回路と関連する1本のビット線を除くn−1本のビット線と関連し、該適応型優先順位スキームを適用するために、優先順位記憶回路は、それらのn−1本のビット線のうちのどれが、アービトレーション回路によってそれらの電圧を修正されるべきかを識別する。   In one embodiment, each data output path provides n bit lines, and each configuration memory circuit has a routing value programmed into the configuration memory circuit, of which n For up to n crossbar cells associated with one and thus associated with the same data output path, the configuration memory circuit of those crossbar cells has a different associated bit line of the n bit lines. Within each crossbar cell, an arbitration circuit and a priority storage circuit are associated with n-1 bit lines except for one bit line associated with the crossbar cell's configuration storage circuit, and the adaptive priority scheme is To apply, the priority storage circuit identifies which of those n-1 bit lines should have their voltage modified by the arbitration circuit.

特定の一実施形態において、優先順位記憶回路は、n−1個の優先順位記憶素子で形成されてもよく、n−1本のビット線のそれぞれについて1つが、優先順位記憶回路と関連する。優先順位記憶素子は、様々な形態を取ることができるが、一実施形態では、SRAMセルで形成される。   In one particular embodiment, the priority storage circuit may be formed of n-1 priority storage elements, one for each of the n-1 bit lines associated with the priority storage circuit. The priority storage element can take a variety of forms, but in one embodiment is formed of SRAM cells.

このような一実施形態では、該アービトレーション動作モードで、該適応型優先順位スキームを適用するために、アサートされた伝送要求を受信する同じデータ出力経路と関連する任意のクロスバーセルのアービトレーション回路が、n本のビット線上の電圧を選択的に修正した後に、アサートされた伝送要求を受信するクロスバーセルの各構成記憶回路が、該ルーティング値をプログラムするために、その関連するビット線上の電圧をサンプリングするように構成される。   In one such embodiment, in the arbitration mode of operation, any crossbar cell arbitration circuit associated with the same data output path that receives the asserted transmission request to apply the adaptive priority scheme comprises: After selectively modifying the voltage on the n bit lines, each configuration memory circuit of the crossbar cell that receives the asserted transmission request samples the voltage on its associated bit line to program the routing value. Configured to do.

一実施形態において、各クロスバーセルは、そのクロスバーセルの構成記憶回路と関連する1本のビット線に連結される、解放回路であって、アサートされた解放要求を受容すると、チャネル解放回路は、該ルーティング値として該第2の値をそのクロスバーセルの構成記憶回路に記憶させるレベルに、その1本のビット線上の電圧を修正させ、それによって、そのデータ出力経路の再割り当てを可能にするように、クロスバーセルに、関連するデータ出力経路を解放させる、解放回路をさらに備える。これは、ソース回路が、データの送信を終了した時に特定のデータ出力経路を解放することを可能にし、それによって、別のソース回路が、後にそのデータ出力経路を捕捉しようとすることを可能にするための、単純かつ有効な機構を提供する。   In one embodiment, each crossbar cell is a release circuit coupled to one bit line associated with the crossbar cell's configuration storage circuit, and upon receiving an asserted release request, the channel release circuit: The level on which the second value is stored as the routing value in the configuration memory circuit of the crossbar cell is corrected to the voltage on the one bit line, thereby enabling the reassignment of the data output path. And a release circuit that causes the crossbar cell to release the associated data output path. This allows a source circuit to release a particular data output path when it has finished sending data, thereby allowing another source circuit to later try to capture that data output path It provides a simple and effective mechanism for doing this.

一実施形態では、解放されたデータ出力経路と関連するそれらのクロスバーセルの中の優先順位記憶回路は、複数のビット線のうちの少なくとも1つの電圧に依存して、それに記憶された優先順位データを自己更新するように、アサートされた解放要求に応答する。したがって、そのような実施形態において、アサートされた解放要求は、自己更新プロセスの実行をトリガーするための好都合なイベントを提供し、かつアービトレーション回路によって適応型優先順位スキームの各用途の間に自己更新プロセスが実行されることを確実にする。   In one embodiment, the priority storage circuit in those crossbar cells associated with the released data output path depends on the voltage of at least one of the plurality of bit lines and the priority data stored therein In response to the asserted release request to self update. Thus, in such an embodiment, the asserted release request provides a convenient event for triggering the execution of the self-update process and is self-updated during each use of the adaptive priority scheme by the arbitration circuit. Ensure that the process is executed.

一実施形態において、各優先順位記憶回路は、複数の優先順位記憶素子を備え、各優先順位記憶素子は、該複数のビット線のうちの1つと関連し、各優先順位記憶回路内で、複数の優先順位記憶素子の電流値は、関連するデータ出力経路について、その優先順位記憶回路を含有するクロスバーセルに連結されたソース回路の相対的優先順位レベルを示す。   In one embodiment, each priority storage circuit comprises a plurality of priority storage elements, each priority storage element being associated with one of the plurality of bit lines, and within each priority storage circuit The current value of the priority storage element indicates the relative priority level of the source circuit coupled to the crossbar cell containing the priority storage circuit for the associated data output path.

適応型優先順位スキームが承諾後最長時間経過(LRG)優先順位スキームである一実施形態では、その場合、解放されたデータ出力経路と関連するそれらのクロスバーセルの優先順位記憶回路内で、その電圧が解放回路によって修正されたビット線と関連するそれらの優先順位記憶素子は、第1の値に設定され、それによって、データ出力経路を解放するソース回路を除く各ソース回路の相対的優先順位レベルは、増加させられるか、または維持される。さらに、アサートされた解放要求を受信した解放回路を含有するクロスバーセルについて、優先順位記憶回路は、第2の値にクリアされたその優先順位記憶素子を有し、それによって、データ出力経路を解放するソース回路には、他のソース回路よりも低い相対的優先順位が割り当てられる。これは、LRGスキームを実行するための特に効率的な機構を提供し、ソース回路の相対的優先順位レベルは、そのデータ出力経路が解放された時に、各データ出力経路について独立に更新される。   In one embodiment where the adaptive priority scheme is a longest time elapsed since acceptance (LRG) priority scheme, then the voltage in the priority storage circuit of those crossbar cells associated with the released data output path. Those priority storage elements that are associated with bit lines modified by the release circuit are set to a first value, thereby the relative priority level of each source circuit except the source circuit that releases the data output path. Is increased or maintained. Further, for a crossbar cell that contains a release circuit that has received an asserted release request, the priority storage circuit has its priority storage element cleared to a second value, thereby releasing the data output path. The source circuit to be assigned is assigned a lower priority than the other source circuits. This provides a particularly efficient mechanism for implementing the LRG scheme, and the relative priority level of the source circuit is updated independently for each data output path when that data output path is released.

一実施形態において、初期化の時点で、各クロスバーセルの優先順位記憶回路は、複数のデータ出力経路のそれぞれに関して、複数のソース回路の初期の相対的優先順位レベルを提供するように、所定の値に初期化される。   In one embodiment, at the time of initialization, each crossbar cell priority storage circuit provides a predetermined relative priority level of the plurality of source circuits for each of the plurality of data output paths. Initialized to value.

一実施形態において、初期の相対的優先順位レベルは、各データ出力経路について独立に特定することができる。さらに、一実施形態において、各優先順位記憶回路は、それ自体を所定の値に設定するために、初期化の時点でアサートされるリセット信号に応答する。特定の一実施形態において、各優先順位記憶回路の個々の優先順位記憶素子は、リセット信号を適用すると、それらの値が、それらの形態に依存して、論理1または論理0のうちのいずれかに更新されるように、2つの形態のうちの1つを取ることができる。   In one embodiment, the initial relative priority level can be specified independently for each data output path. Further, in one embodiment, each priority storage circuit is responsive to a reset signal that is asserted at the time of initialization to set itself to a predetermined value. In one particular embodiment, the individual priority storage elements of each priority storage circuit, when applied with a reset signal, have their values either logic 1 or logic 0 depending on their form. Can take one of two forms.

特定の一実施形態において、ビット線のそれぞれは、第1の電圧レベルにプリチャージされ、該アサートされた解放要求を受信すると、解放回路は、そのクロスバーセルの構成記憶回路と関連する1本のビット線上の電圧をディスチャージする。さらに、各構成記憶回路は、関連する解放回路に対するアサートされた解放要求が存在する場合、ルーティング値を該第2の値に更新するために、その関連するビット線の電圧を感知し、続いて、解放回路によってディスチャージ動作を実行し、それによって、関連するデータ出力経路を解放する、感知増幅器有効化ラッチを備える。したがって、そのような実施形態では、クロスバーセルでチャネルを解放するために、感知増幅器有効化ラッチによって感知されたビット線は、ディスチャージされて、後にサンプリングされる。   In one particular embodiment, each of the bit lines is precharged to a first voltage level, and upon receipt of the asserted release request, the release circuit is configured with a single associated with the crossbar cell's configuration storage circuit. Discharge the voltage on the bit line. In addition, each configuration storage circuit senses its associated bit line voltage to update the routing value to the second value if there is an asserted release request for the associated release circuit, and subsequently A sense amplifier enable latch that performs a discharge operation by the release circuit, thereby releasing the associated data output path. Thus, in such an embodiment, the bit line sensed by the sense amplifier enable latch is discharged and later sampled to release the channel in the crossbar cell.

一実施形態において、各データ入力経路は、n本のワード線を提供し、同じデータ出力経路と関連する最高n個のクロスバーセルの解放要求は、その同じデータ出力経路のn本のワード線を介して、クロスバー回路に入力される。さらに、各解放回路は、該n本のワード線のうちの1本と関連し、よって、同じデータ入力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの解放回路は、それを介して解放要求を受信する該n本のワード線のうちの異なる関連するワード線を有する。したがって、そのような実施形態において、解放要求は、データ入力経路のワード線の再使用を通して、効率的な様態で発行することができる。   In one embodiment, each data input path provides n word lines, and a request to release up to n crossbar cells associated with the same data output path causes n word lines in that same data output path to To be input to the crossbar circuit. Further, each release circuit is associated with one of the n word lines, so for up to n crossbar cells associated with the same data input path, the release circuit of those crossbar cells Having a different associated word line of the n word lines receiving the release request via Thus, in such an embodiment, the release request can be issued in an efficient manner through reuse of the word line of the data input path.

特定の一実施形態において、解放要求は、該アービトレーション動作モードで発行され、制御信号は、関連するデータ入力経路のn本のワード線が、解放要求または伝送要求を搬送しているかどうかを識別するように、アービトレーション動作モードで、複数のソース回路によって発行される。したがって、そのような実施形態において、制御信号は、ワード線上でルーティングされた情報が、解放要求または伝送要求を識別するかどうか、したがって、アービトレーション回路または解放回路を起動させる必要があるかどうかを認めるために使用することができる。特定の一実施形態において、制御信号は、実際に、1つがrequest_channel信号であり、もう1つがrelease_channel信号である、2つの別個の信号回線という形態を取り、これらの2つの信号のうちの1つだけを、いずれかの時点で設定することが可能である。一実施形態において、これらの2つの信号は、1行あたりを基準に提供され、したがって、任意の特定の行内で、クロスバーセルは、いずれかの時点で、解放要求または伝送要求のうちのいずれかを処理していることになる。いくつかの実装では、制御信号のより緻密な細かさを提供することが可能であり、そのため、行の中の一部のクロスバーセルが解放要求を処理し得る一方で、他方が伝送要求を処理している。   In one particular embodiment, a release request is issued in the arbitration mode of operation and the control signal identifies whether the n word lines of the associated data input path are carrying a release request or a transmission request. In this way, it is issued by a plurality of source circuits in the arbitration operation mode. Thus, in such an embodiment, the control signal acknowledges whether the information routed on the word line identifies a release request or a transmission request, and therefore whether an arbitration circuit or a release circuit needs to be activated. Can be used for. In one particular embodiment, the control signal actually takes the form of two separate signal lines, one of which is a request_channel signal and the other is a release_channel signal, one of these two signals. Can be set at any point in time. In one embodiment, these two signals are provided on a per-row basis, and therefore, within any particular row, the crossbar cell can be either a release request or a transmission request at any point in time. Will be processing. Some implementations can provide finer granularity of control signals, so that some crossbar cells in a row can handle release requests while the other handles transmission requests. doing.

同じデータ出力経路の中の異なるクロスバーセルの構成記憶回路が、異なるビット線と関連し、アサートされた伝送要求を受信するそのデータ出力経路の中のそれらのクロスバーセルのアービトレーション回路が、n本のビット線上の電圧を選択的に修正するので、アサートされた伝送要求を受信する各クロスバーセルの構成記憶回路が、その関連するビット線上の電圧をサンプリングし、続いてアービトレーションプロセスを行う時点で、ビット線のうちの1つだけが、関連する構成記憶回路に、該第1の値をルーティング値として記憶させる値となることを確実にすることによって、適応型優先順位スキームを実装することが可能であり、それによって、単一のソース回路だけが、いずれかの時点で、データ出力経路へのアクセスを承諾されることを可能にする。   Configuration memory circuits of different crossbar cells in the same data output path are associated with different bit lines and the arbitration circuit of those crossbar cells in that data output path receiving the asserted transmission request has n By selectively modifying the voltage on the bit line, the configuration memory circuit of each crossbar cell that receives the asserted transmission request samples the voltage on its associated bit line and subsequently performs the arbitration process. It is possible to implement an adaptive priority scheme by ensuring that only one of the lines is the value that causes the associated configuration storage circuit to store the first value as a routing value. Yes, so that only a single source circuit grants access to the data output path at any point in time To enable it to be.

アービトレーション回路が選択的に修正する様態では、n本のビット線上の電圧は、実装に依存して変化する可能性がある。しかしながら、一実施形態では、ビット線のそれぞれは、該適応型優先順位スキームを適用するために、第1の電圧レベルにプリチャージされ、次いで、アービトレーション動作モード中に、アサートされた伝送要求を受信する同じデータ出力経路と関連する任意のクロスバーセルのアービトレーション回路は、n本のビット線上の電圧を選択的にディスチャージする。したがって、そのような実施形態において、ビット線は、適応型優先順位スキームを適用するために、条件付きでディスチャージされ、それによって、アービトレーション動作モード中のいかなるコンフリクトも解決される。   In a manner in which the arbitration circuit selectively corrects, the voltages on the n bit lines may change depending on the implementation. However, in one embodiment, each of the bit lines is precharged to a first voltage level to apply the adaptive priority scheme and then receives an asserted transmission request during the arbitration mode of operation. Any crossbar cell arbitration circuit associated with the same data output path selectively discharges the voltages on the n bit lines. Thus, in such an embodiment, the bit line is conditionally discharged to apply an adaptive priority scheme, thereby resolving any conflicts during the arbitration mode of operation.

伝送要求をソース回路からクロスバーセルにアサートすることができる、多数の方法がある。しかしながら、一実施形態において、各データ入力経路は、n本のワード線を提供し、アービトレーション動作モードで、同じデータ入力経路と関連する最高n個のクロスバーセルの伝送要求は、その同じデータ入力経路のn本のワード線を介して、クロスバー回路に入力される。したがって、そのような実施形態において、データ入力経路は、アサートされた伝送要求の提供のために、アービトレーション動作モードで、それら自体を再利用する。   There are a number of ways in which a transmission request can be asserted from the source circuit to the crossbar cell. However, in one embodiment, each data input path provides n word lines, and in the arbitration mode of operation, transmission requests for up to n crossbar cells associated with the same data input path are the same data input path. Are input to the crossbar circuit via the n word lines. Thus, in such embodiments, the data input paths reuse themselves in the arbitration mode of operation to provide asserted transmission requests.

特定の一実施形態において、各構成記憶回路は、該n本のワード線のうちの1本と関連し、よって、同じデータ入力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの構成記憶回路は、それを介して伝送要求を受信する該n本のワード線のうちの異なる関連するワード線を有する。   In one particular embodiment, each configuration memory circuit is associated with one of the n word lines, so for up to n crossbar cells associated with the same data input path, the crossbar cell's The configuration memory circuit has a different associated word line of the n word lines through which a transmission request is received.

データ入力経路のn本のワード線およびデータ出力経路のn本のビット線がアービトレーション動作モード中に再使用される実施形態では、コンフリクトの検出および解決を単一の段階で実行でき、それによって、コリジョンの検出および解決が複数の段階で階層的に行われる従来技術の手法と比較した時に、かなりの性能的な利益をもたらすことが分かる。   In embodiments where n word lines in the data input path and n bit lines in the data output path are reused during the arbitration mode of operation, conflict detection and resolution can be performed in a single stage, thereby It can be seen that there is a significant performance benefit when compared to prior art approaches where collision detection and resolution is done hierarchically in multiple stages.

具体的には、最高n×nのクロスバーセルのマトリクスを含有するクロスバー回路について、コンフリクトの検出および解決を単一の段階で実行できることが分かるであろう。   In particular, it will be appreciated that conflict detection and resolution can be performed in a single stage for a crossbar circuit containing a matrix of up to n × n crossbar cells.

しかしながら、本発明の実施形態の技法は、より大きいマトリクスのクロスバーセルを有するクロスバー回路とともに使用することもできる。具体的には、一実施形態では、mが2以上の整数である、mn×mn個のクロスバーセルのマトリクスが提供され、マトリクスは、複数のセクションに分割され、一連のアービトレーション動作は、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路が、該第1の値にプログラムされるそのルーティング値を有するように適応型優先順位スキームを適用するために使用され、それによって、該適応型優先順位スキームに従って複数のアサートされた伝送要求間のコンフリクトを解決する。一連の中の各アービトレーション動作について、該複数のセクションの中のセクションのうちの1つまたは複数は、そのアービトレーション動作を受ける。   However, the techniques of embodiments of the present invention can also be used with crossbar circuits having larger matrix crossbar cells. Specifically, in one embodiment, a matrix of mn × mn crossbar cells, where m is an integer greater than or equal to 2, is provided, the matrix is divided into sections, and a series of arbitration operations are the same. The only crossbar cell configuration storage circuit associated with the data output path is used to apply an adaptive priority scheme to have its routing value programmed to the first value, thereby allowing the adaptation Resolve conflicts between multiple asserted transmission requests according to a type priority scheme. For each arbitration operation in the series, one or more of the sections in the plurality of sections undergo the arbitration operation.

特定の一実施形態において、各アービトレーション動作は、単一のセクション上で動作し、よって、該一連のアービトレーション動作を実行した後には、該複数のセクションの全てが該アービトレーション動作を受けている。したがって、例として、16ビットのデータ入力経路およびデータ出力経路を伴う64×64のクロスバー回路の場合、クロスバー回路は、4つのセクションに分割することができ、アービトレーション動作は、それらのセクションのそれぞれに順次実行される。一実施形態において、カウンタは、サイクルごとにインクリメントして、そのサイクルの中のアービトレーション中に処理するセクションを選択することができる(上記の例では2ビットカウンタで十分である)。そのような実装は、それでも最小限の配線および論理オーバーヘッドの利益を維持するが、所与の要求に対するアービトレーション待ち時間は、その要求が関連するセクションに依存して変動する可能性がある(上記の例において、待ち時間は、1サイクルから4サイクルまで変動する可能性がある)。次いで、全てのセクションが処理された後に、優先順位データの自己更新が行われる。   In one particular embodiment, each arbitration operation operates on a single section, so that after performing the series of arbitration operations, all of the plurality of sections are undergoing the arbitration operation. Thus, as an example, for a 64 × 64 crossbar circuit with a 16-bit data input path and a data output path, the crossbar circuit can be divided into four sections and the arbitration operation is Each is executed sequentially. In one embodiment, the counter can increment every cycle to select the section to process during arbitration in that cycle (a 2-bit counter is sufficient in the above example). Such an implementation still maintains minimal wiring and logic overhead benefits, but the arbitration latency for a given request can vary depending on the section to which the request relates (see above). In the example, the latency can vary from 1 to 4 cycles). The priority data is then self-updated after all sections have been processed.

代替の実施形態において、複数のセクションの全ては、一連のうちの第1のアービトレーション動作で、そのルーティング値が該第1の値にプログラムされる構成記憶回路を含有する、該複数のセクションのうちの1つを識別するために、第1のアービトレーション動作を受ける。次いで、一連のうちの第2のアービトレーション動作で、第1のアービトレーション動作によって識別されたセクションのうちの該1つは、そのルーティング値が該第1の値にプログラムされるそのセクション内の構成記憶回路を識別するように、第2のアービトレーション動作を受ける。そのような実施形態によれば、クロスバーは、再度セクションに分割されるが、その場合、アービトレーションは、2つのステップで、つまり、最初にセクションの間で、次いで所与のセクションの中の全ての要求の間で階層的に実行される。同じ群のビット線を両方のアービトレーションステップに使用することができる。次いで、両方のアービトレーションステップが行われた後に、優先順位データの自己更新が行われる。   In an alternative embodiment, all of the plurality of sections include a configuration memory circuit whose routing value is programmed to the first value in a first arbitration operation of the series. In order to identify one of these, a first arbitration operation is performed. Then, in a second arbitration operation of the series, the one of the sections identified by the first arbitration operation is configured to store the configuration value in that section whose routing value is programmed to the first value. A second arbitration operation is performed to identify the circuit. According to such an embodiment, the crossbar is again divided into sections, in which case arbitration is performed in two steps, first between the sections and then all within a given section. It is executed hierarchically between the requests. The same group of bit lines can be used for both arbitration steps. The priority data is then self-updated after both arbitration steps have been performed.

一実施形態において、各クロスバーセルは、2つの構成記憶回路を備え、第1のものは、関連するセクションが最も高い優先順位のアサートされた伝送要求を含有するかどうかを検出するために使用され、第2のものは、以降のアービトレーションステップで、最も高い優先順位のアサートされた伝送要求がその特定のクロスバーセルと関連するかどうかを検出するために使用される。   In one embodiment, each crossbar cell comprises two configuration storage circuits, the first being used to detect whether the associated section contains the highest priority asserted transmission request. The second is used in subsequent arbitration steps to detect whether the highest priority asserted transmission request is associated with that particular crossbar cell.

例として、16ビットのデータ入力経路およびデータ出力経路を伴う64×64のクロスバーにおいて、クロスバーは、再度4つのセクションに分割され得る。セクション0が最も高い優先順位を有し、そのセクションと関連する少なくとも1つのソースが伝送要求をアサートする場合、アービトレーションの第1の段階において、そのセクションの各クロスバーセルの中の第1の構成記憶回路は、第1の値にプログラムされるルーティング値を有することになる一方で、他のセクションでは、第2の値にプログラムされるそれらのルーティング値を有することになる(どちらの場合でも、プログラムは、各第1の構成記憶回路と関連するビット線上の電圧の結果として生じる)。次のサイクルでは、セクション0に関してアサートされた伝送要求だけが検討され、ビット線は、アービトレーションに再度使用され、今度は、第2の構成記憶回路が関連するビット線を感知する。特定のクロスバーセルにおいて、どちらの構成記憶回路も、第1の値に設定されたそれらのルーティング値を有する場合、これは、関連するアサートされた伝送要求が優先されたこと、およびデータ伝送動作モードでそのクロスバーセルがその入力をその出力に接続することを意味する。   As an example, in a 64 × 64 crossbar with a 16-bit data input path and a data output path, the crossbar can again be divided into four sections. If section 0 has the highest priority and at least one source associated with that section asserts a transmission request, the first configuration store in each crossbar cell of that section during the first stage of arbitration The circuit will have a routing value programmed to the first value, while the other sections will have those routing values programmed to the second value (in either case, the program Occurs as a result of the voltage on the bit line associated with each first configuration memory circuit). In the next cycle, only the transmission request asserted for section 0 is considered and the bit line is used again for arbitration, this time the second configuration storage circuit senses the associated bit line. In a particular crossbar cell, if both configuration storage circuits have their routing values set to the first value, this means that the associated asserted transmission request has been prioritized and the data transmission mode of operation. Means that the crossbar cell connects its input to its output.

そのような実装は、いくつかの付加的な論理は犠牲にするが、いかなる付加的な相互接続も犠牲にせずに、固定2サイクルのアービトレーション待ち時間を有する。データ出力経路の中に16本のビット線があることで、最高16のセクション間でアービトレートすることが可能であり、各セクションは、最高16のアサートされた伝送要求を受信することができる。したがって、アービトレーション待ち時間は、1つのクロスバーについて2つのサイクルで、最高256×256のクロスバーを保持することができる。   Such an implementation has a fixed two-cycle arbitration latency without sacrificing some additional logic, but without sacrificing any additional interconnection. With 16 bit lines in the data output path, it is possible to arbitrate between up to 16 sections, and each section can receive up to 16 asserted transmission requests. Thus, the arbitration latency can hold up to 256 × 256 crossbars in two cycles for one crossbar.

一実施形態では、クロスバーセルが、アービトレーション動作モード中に第1の値にプログラムされるそのルーティング値を有する時には、アサートされた伝送要求が承諾されたことを確認するように、承諾信号が関連するソース回路にアサートされる。一実施形態において、ソース回路は、一度に単一の要求を送信することだけしかできず、そのような実施形態では、典型的に、1行あたり単一の承諾信号だけが発行される。しかしながら、代替の実施形態において、ソース回路は、一度に複数の要求を送信することが可能であり得、そのような実施形態では、1行あたり複数の承諾信号を提供することができ、1つの承諾信号が、各データ出力経路と関連する。   In one embodiment, when the crossbar cell has its routing value programmed to a first value during the arbitration mode of operation, a grant signal is associated to confirm that the asserted transmission request has been granted. Asserted to the source circuit. In one embodiment, the source circuit can only send a single request at a time, and in such embodiments, typically only a single grant signal is issued per row. However, in alternative embodiments, the source circuit may be able to send multiple requests at a time, and in such embodiments, multiple grant signals may be provided per line. A consent signal is associated with each data output path.

伝送回路は、様々な方法で動作させることができる。しかしながら、一実施形態において、伝送動作モードで、クロスバーセルと関連する各データ出力経路は、データ伝送前に第1の論理レベルにプリチャージされ、各クロスバーセルの伝送回路は、データ出力経路と第2の論理レベルとの間で直列に接続される、第1および第2のスイッチを備え、伝送動作モードで、第1のスイッチは、関連する構成記憶回路に記憶されたルーティング値に依存して開かれるか、または閉じられ、第2のスイッチは、データ入力経路上でのデータ入力に依存して開かれるか、または閉じられる。特定の一実施形態において、第1の論理レベルは、供給電圧レベルVddであり、第2の論理レベルは、接地される。したがって、このような配設によって、入力データ経路上のデータは、出力データ経路上のデータを直接的に駆動せず、その代わりに、出力データ経路上のデータは、第1の論理レベルに留まるか、または、第1および第2のスイッチがどちらも閉じられている場合に、第2の論理レベルにディスチャージされる。   The transmission circuit can be operated in various ways. However, in one embodiment, in the transmission mode of operation, each data output path associated with the crossbar cell is precharged to a first logic level prior to data transmission, and the transmission circuit of each crossbar cell is connected to the data output path and Comprising a first and a second switch connected in series between two logic levels, and in a transmission mode of operation, the first switch depends on the routing value stored in the associated configuration storage circuit Opened or closed, the second switch is opened or closed depending on the data input on the data input path. In one particular embodiment, the first logic level is the supply voltage level Vdd and the second logic level is grounded. Thus, with such an arrangement, the data on the input data path does not directly drive the data on the output data path, and instead the data on the output data path remains at the first logic level. Or, if both the first and second switches are closed, they are discharged to a second logic level.

このような伝送回路の配設によって、伝送回路は、クロスバー回路のサイズに関わらず、変化させる必要がなく、したがって、データ出力経路の長さ、さらには入力データ経路上で入力データを提供する駆動回路も、クロスバー回路のサイズが増加した時にサイズ変更する必要がない。よって、クロスバー回路のサイズが増加した場合、各クロスバーセルの回路を変更する必要がなく、その代わりに、クロスバーセルの数を増加させるだけでよい。したがって、このような設計を使用することによって、クロスバー回路の遅延は、サイズとともに直線的に増大し、そのようなクロスバー回路の設計を、(例えば、128×128または256×256の入力/出力を伴う)非常に大きいクロスバーとともに使用できるようにする。加えて、本設計は、非常に標準的であり、クロスバー回路を通しての全ての経路にわたる遅延は均一である。   With such a transmission circuit arrangement, the transmission circuit does not need to be changed regardless of the size of the crossbar circuit, and thus provides input data on the length of the data output path and even on the input data path. The drive circuit also does not need to be resized when the crossbar circuit size increases. Therefore, when the size of the crossbar circuit increases, it is not necessary to change the circuit of each crossbar cell, and instead, it is only necessary to increase the number of crossbar cells. Thus, by using such a design, the delay of the crossbar circuit increases linearly with size, and the design of such a crossbar circuit can be reduced to (eg, 128 × 128 or 256 × 256 inputs / Can be used with very large crossbars (with output). In addition, the design is very standard and the delay across all paths through the crossbar circuit is uniform.

一実施形態において、各該データ入力経路は、伝送動作モード中にnビットの入力データ値を搬送するためのn本のワード線を備え、各該データ出力経路は、該伝送動作モード中にnビットのデータ値を搬送するためのn本のビット線を備え、少なくとも第2のスイッチは、各ビット線について複製される。故に、伝送回路の設計は、いかなるクロスバー回路の著しい複雑さの増加も伴わずに、種々のサイズのデータ入力経路およびデータ出力経路に容易に適応することができる。   In one embodiment, each of the data input paths comprises n word lines for carrying an n-bit input data value during a transmission mode of operation, and each of the data output paths is n during the transmission mode of operation. With n bit lines for carrying a bit data value, at least a second switch is replicated for each bit line. Thus, the design of the transmission circuit can easily be adapted to various sizes of data input and data output paths without any significant increase in the complexity of any crossbar circuit.

一実施形態では、伝送動作モードで、ルーティング値が該第1の値であり、かつ対応するワード線上の入力データビットが該第1の論理レベルである場合、データ出力経路のビット線は、第2の論理レベルにプルされる。したがって、構成記憶回路に記憶されたルーティング値が、データ入力経路を、データ出力経路に連結すべきであること、およびデータ入力経路上のデータが論理1レベルにあることを示している場合、データ出力経路は、第2の論理レベルにディスチャージされる。   In one embodiment, in a transmission mode of operation, when the routing value is the first value and the input data bit on the corresponding word line is the first logic level, the bit line of the data output path is Pulled to a logic level of 2. Thus, if the routing value stored in the configuration memory circuit indicates that the data input path should be coupled to the data output path and that the data on the data input path is at a logic one level, the data The output path is discharged to the second logic level.

一実施形態において、各クロスバーセルは、関連するデータ出力経路を第1の論理レベルにプリチャージしている間に、ルーティング値に関わらず第1のスイッチをオフにするための、および第1のスイッチをルーティング値によって制御し、続いて、関連するデータ出力経路を第1の論理レベルにプリチャージすることを可能にするための、条件付きディスチャージ回路をさらに備える。故に、そのような条件付きディスチャージ回路は、データ出力経路のビット線がプリチャージされている間に、入力から該ビット線を分離し、それによって、プリチャージ動作の電力消費を低減する。また、そのような配設によって、データ入力経路は、その時の入力からデータ出力経路を分離させる条件付きディスチャージ回路により、プリチャージ動作と同時に駆動することができ、それによって、動作の速度を増加させることを可能にする。   In one embodiment, each crossbar cell is configured to turn off the first switch regardless of the routing value while precharging the associated data output path to the first logic level, and the first A conditional discharge circuit is further provided to allow the switch to be controlled by the routing value and subsequently to precharge the associated data output path to the first logic level. Thus, such a conditional discharge circuit isolates the bit line from the input while the bit line of the data output path is precharged, thereby reducing the power consumption of the precharge operation. Such an arrangement also allows the data input path to be driven simultaneously with the precharge operation by a conditional discharge circuit that separates the data output path from the current input, thereby increasing the speed of the operation. Make it possible.

さらに、前述した伝送回路の配設を使用することによって、データ出力経路の全てのビット線を、第1の論理レベルにプリチャージし、次いで、データ入力経路の関連するワード線の入力値およびルーティング値に依存して、第1の論理レベルのままにするか、または第2の論理レベルに遷移させることに留意されたい。その結果、2つの隣接するビット線上の電圧が反対方向に移動するといった、いかなる状況も生じず、それによって、容量結合効果が低減され、それによって、動作の速度が向上する。   Further, by using the transmission circuit arrangement described above, all bit lines of the data output path are precharged to a first logic level and then the input value and routing of the associated word line of the data input path. Note that depending on the value, it remains at the first logic level or transitions to the second logic level. As a result, no situation occurs where the voltages on two adjacent bit lines move in opposite directions, thereby reducing capacitive coupling effects and thereby increasing the speed of operation.

データ出力経路が、データ転送前にプリチャージされ、次いで、ルーティング値およびデータ入力値に依存して、選択的にディスチャージされる実施形態では、感知増幅回路の使用を通してクロスバー回路の電力消費を低減することができる。具体的には、一実施形態において、クロスバー回路は、伝送動作モード中に、データ出力経路のビット線上のデータ出力を検出し、それによって、データ出力経路のビット線上の電圧が第2の論理レベルに到達する前に、第2の論理レベルへの遷移の検出を可能にする、感知増幅器回路をさらに備える。遷移の検出は、データ出力経路のビット線が第2の論理レベルに到達する前に生じるので、データ出力経路のビット線を第1の論理レベルにプリチャージするのに必要な電力が、大幅に低減される。   In embodiments where the data output path is precharged prior to data transfer and then selectively discharged depending on the routing and data input values, the power consumption of the crossbar circuit is reduced through the use of a sense amplifier circuit can do. Specifically, in one embodiment, the crossbar circuit detects a data output on the bit line of the data output path during the transmission mode of operation, thereby causing the voltage on the bit line of the data output path to be a second logic level. It further comprises a sense amplifier circuit that allows detection of a transition to the second logic level before reaching the level. Since the detection of the transition occurs before the bit line of the data output path reaches the second logic level, the power required to precharge the bit line of the data output path to the first logic level is greatly reduced. Reduced.

よって、そのようなデータ出力経路のプリチャージが生じる実施形態では、クロスバー回路に提供される前に、入力データを好適に符合化することによって、さらなる省電力化を得ることができる。具体的には、一実施形態では、クロスバー回路は、該複数のソース回路のそれぞれと該複数のデータ入力経路との間の符号化回路と、該複数のデータ出力経路のそれぞれと該複数の宛先回路との間の復号回路と、をさらに備え、符号化回路は、各ソース回路によって提供される入力データを符号化形式に符号化するように、符号化動作を適用し、元の入力データがクロスバー回路を通過した場合に、データ出力経路を第2の論理レベルにプルすることが必要となり得る回数と比較した時に、データ出力経路を第2の論理レベルにプルし、続いて、それらを第1の論理レベルにプリチャージすることが必要である回数を低減し、復号回路は、データ出力経路上で符号化データ出力からソース回路によって提供される、元の入力データを識別するように、対応する復号動作を適用する。   Thus, in embodiments where such data output path precharge occurs, further power savings can be obtained by suitably encoding the input data before being provided to the crossbar circuit. Specifically, in one embodiment, the crossbar circuit includes an encoding circuit between each of the plurality of source circuits and the plurality of data input paths, each of the plurality of data output paths, and the plurality of the plurality of data output paths. A decoding circuit between the source circuit and the encoding circuit, wherein the encoding circuit applies an encoding operation to encode the input data provided by each source circuit into an encoding format, and the original input data Pulls the data output path to the second logic level when compared to the number of times it may be necessary to pull the data output path to the second logic level when And the decoding circuit identifies original input data provided by the source circuit from the encoded data output on the data output path. Sea urchin, applying the corresponding decoding operation.

特定の一実施形態において、符合化動作は、入力データから生成される符号化形式が、入力データが変化する時に、論理1の値だけであり、それに応じて、データ出力経路が、入力が変化した時にだけディスチャージされることを確実にする。復号回路は、次いで、データ出力経路上で出力される符号化データから、元の入力データを再作成する。   In one particular embodiment, the encoding operation is that the encoding format generated from the input data is only a logic one value when the input data changes, and the data output path changes accordingly. Make sure it is discharged only when you do. The decoding circuit then re-creates the original input data from the encoded data output on the data output path.

本発明の実施形態のクロスバー回路の標準的な設計、および各クロスバーセルの伝送回路が動作する様態のため、複数のソース回路は、複数のデータ入力経路のいずれかの端部に接続することができ、それによって、クロスバー回路およびソース回路が提供される装置のレイアウトを設計する時の柔軟性が大幅に向上する。同様に、複数の宛先回路は、複数のデータ出力経路のいずれかの端部に接続することができる。   Due to the standard design of the crossbar circuit of the embodiment of the present invention and the manner in which the transmission circuit of each crossbar cell operates, a plurality of source circuits should be connected to one end of a plurality of data input paths. This greatly increases the flexibility in designing the layout of devices in which crossbar and source circuits are provided. Similarly, multiple destination circuits can be connected to either end of multiple data output paths.

一実施形態では、データ入力値を、データ入力経路に沿って、それらのデータ入力経路に接続された種々のクロスバーセルに伝播させるために、一連のワード線ドライバを使用してもよい。マルチキャスティングがサポートされておらず、故に、各ソースが1度に単一の出力経路へのアクセスしか要求しない、単一の要求の実施形態では、それが必要とされない状況で、データ入力経路の全体に沿ってデータを伝播させる際にかなりの電力が消費され得る。一実施形態において、この電力消費は、部分的に起動するネットワーク配設の提供によって多少なりとも解消される。具体的には、一実施形態では、各データ入力経路は、ワード線ドライバによって分離された複数の入力経路部分から成り、各ワード線ドライバは、関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、クロスバーセルの構成記憶回路に記憶されるルーティング値に依存して起動される。その結果、各ワード線ドライバは、関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、少なくとも1つのクロスバーセルの構成記憶回路が、該第1の値に設定されたルーティング値を有する場合にだけ起動される。そのような手法は、かなりの省電力化をもたらすことができる。   In one embodiment, a series of word line drivers may be used to propagate data input values along the data input paths to the various crossbar cells connected to those data input paths. In a single request embodiment where multicasting is not supported and therefore each source only requires access to a single output path at a time, in situations where it is not required, Considerable power can be consumed in propagating data along the whole. In one embodiment, this power consumption is alleviated by providing a partially activated network arrangement. Specifically, in one embodiment, each data input path consists of a plurality of input path portions separated by a word line driver, each word line driver being provided along an associated data input path, It is activated depending on the routing value stored in the configuration memory circuit of the crossbar cell, which is farther from the source circuit than the word line driver. As a result, each word line driver is provided along an associated data input path, but at least one crossbar cell configuration storage circuit that is further from the source circuit than the word line driver has the first Fired only if it has a routing value set to value. Such an approach can result in significant power savings.

本発明の実施形態のクロスバー回路は、様々なシステムで利用されてもよい。しかしながら、本発明の第2の態様によれば、データ値を記憶するための、複数のメモリデバイスと、該複数のメモリデバイスに記憶された複数のデータ値に、データ処理動作を並列に実行するための、複数のプロセッサと、該複数のメモリデバイスのうちのいずれかから該複数のプロセッサのうちのいずれかにデータ値をルーティングするための、本発明の第1の態様に従うクロスバー回路とを備える、データ処理装置を提供する。   The crossbar circuit of the embodiment of the present invention may be used in various systems. However, according to the second aspect of the present invention, data processing operations are performed in parallel on a plurality of memory devices for storing data values and a plurality of data values stored in the plurality of memory devices. And a crossbar circuit according to the first aspect of the invention for routing data values from any of the plurality of memory devices to any of the plurality of processors. A data processing apparatus is provided.

本発明の実施形態のクロスバー回路は、メモリデバイスのうちのいずれかから、プロセッサのうちのいずれかにデータ値をルーティングするための、とりわけ単純で、拡張することができ、かつ電力効率の良い機構を提供する。   The crossbar circuit of embodiments of the present invention is a particularly simple, scalable, and power efficient route for routing data values from any of the memory devices to any of the processors. Provide mechanism.

第3の態様から見ると、本発明は、複数のソース手段と、複数の宛先手段とを相互接続し、よって、該複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、該複数のソース手段のうちの1つに接続し、かつ複数のワード線手段を提供するためのものである、複数のデータ入力経路手段と、複数のデータ入力経路手段を横断する該クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、該複数の宛先手段のうちの1つに接続し、かつ複数のビット線手段を提供するためのものである、複数のデータ出力経路手段と、該データ入力経路手段のうちの1つと、該データ出力経路手段のうちの1つとの間の各交差点と関連するクロスバーセル手段であって、各クロスバーセル手段は、該複数のビット線手段のうちの少なくとも1つの上の電圧に依存してルーティング値を記憶するための、アービトレーション動作モードでプログラムできる、構成記憶手段であって、ルーティング値は、データ入力経路手段のワード線手段に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路手段のビット線手段上に出力されることを、第1の値が示すようにプログラムされ、ルーティング値は、データ入力経路手段のワード線手段に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路手段のビット線手段上に出力されないことを、第2の値が示すようにプログラムされる、構成記憶手段と、伝送動作モードで、データ入力経路手段のワード線手段に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路手段のビット線手段上に出力するように、該第1の値を有するルーティング値に応答する、伝送手段と、関連する交差点のデータ入力経路手段に接続されたソース手段からクロスバーセル手段によって受信される伝送要求に依存して、該アービトレーション動作モードで動作させるための、アービトレーション手段であって、該ソース手段が、関連する交差点において、データ入力経路手段からデータ出力経路手段にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション手段は、適応型優先順位スキームを適用するために、同じデータ出力経路手段と関連する他のクロスバーセル手段のアービトレーション手段と組み合わせて動作して、複数のビット線手段上の電圧を選択的に修正するためのものであり、よって、該同じデータ出力経路手段の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路手段と関連する唯一のクロスバーセル手段の構成記憶手段は、該第1の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション手段と、適応型優先順位スキームを適用するために、複数のビット線手段のうちのどれが、関連するアービトレーション手段によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するための、優先順位記憶手段であって、アービトレーション手段による適応型優先順位スキームの各適用の間に、複数のビット線手段のうちの少なくとも1つの電圧に依存して、それに記憶される優先順位データを自己更新するための、優先順位記憶手段とを備える、クロスバーセル手段とを備える、クロスバー回路を提供する。   Viewed from a third aspect, the present invention interconnects a plurality of source means and a plurality of destination means, so that data input from any of the plurality of source means to the crossbar circuit is A crossbar circuit that can output to any one of the plurality of destination means, and a plurality of data input path means that pass through the crossbar circuit, wherein each data input path means A plurality of data input path means for connecting to one of the source means and providing a plurality of word line means and passing through the crossbar circuit across the plurality of data input path means A plurality of data output path means, each data output path means being connected to one of the plurality of destination means and providing a plurality of bit line means Output length A crossbar cell means associated with each intersection between the means, one of the data input path means and one of the data output path means, each crossbar cell means comprising a plurality of bit lines Configuration storage means programmable in an arbitration mode of operation for storing a routing value in dependence on a voltage on at least one of the means, the routing value being along the word line means of the data input path means The first value is programmed to indicate that data input to the associated intersection is output on the bit line means of the data output path means at the associated intersection, and the routing value is the data input path means The data input to the associated intersection along the word line means is the bit line of the data output path means at the associated intersection. Detecting and relating data input along the word line means of the data input path means in the configuration storage means and transmission mode of operation, programmed as indicated by the second value not to be output on the stage Connected to a transmission means and an associated intersection data input path means responsive to a routing value having the first value so that an indication of the data is output on the bit line means of the data output path means at the intersection. Arbitration means for operating in the arbitration mode of operation depending on a transmission request received by the crossbar cell means from the source means, wherein the source means is at the associated intersection from the data input path means. If a transmission request is asserted to indicate that you want to route data to the data output path means, Arbitration means operates in combination with arbitration means of other crossbar cell means associated with the same data output path means to apply an adaptive priority scheme to selectively select voltages on a plurality of bit line means. If there are multiple asserted transmission requests for the same data output path means, the configuration storage means of the only crossbar cell means associated with the same data output path means is An arbitration means having its routing value programmed to a first value, thereby resolving a conflict between the plurality of asserted transmission requests according to the adaptive priority scheme; and an adaptive priority scheme In order to apply, any of the plurality of bit line means has an associated arbitrage Priority storage means for storing priority data identifying whether those voltages are to be modified by the network means, a plurality of bits during each application of the adaptive priority scheme by the arbitration means A crossbar circuit is provided comprising crossbar cell means comprising priority storage means for self updating the priority data stored therein depending on the voltage of at least one of the line means.

第4の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができるように、クロスバー回路を動作させる方法であって、クロスバー回路は、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの1つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの1つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路とを有し、方法は、該データ入力経路のうちの1つと、該データ出力経路のうちの1つとの間の各交差点と関連する、クロスバーセルを採用するステップと、アービトレーション動作モードで、ルーティング値を各クロスバーセルにプログラミングするステップであって、ルーティング値は、該複数のビット線のうちの少なくとも1つの上の電圧に依存してプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されることを、第1の値が示すようにプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されないことを、第2の値が示すようにプログラムされる、ステップと、伝送動作モードで、データ入力経路のワード線に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路のビット線上に出力するように、クロスバーセルを、該第1の値を有するルーティング値に応答させるステップと、該アービトレーション動作モードで、関連する交差点のデータ入力経路に接続されたソース回路からクロスバーセルによって受信される伝送要求に依存して、クロスバーセルの中のアービトレーション回路を動作させる、ステップであって、該ソース回路が、関連する交差点において、データ入力経路からデータ出力経路にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線の電圧を選択的に修正し、よって、該同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、該第1の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、ステップと、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを、クロスバーセル内の優先順位記憶回路に記憶するステップと、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも1つの電圧に依存して、それに記憶される優先順位データを自己更新するように、優先順位記憶回路を構成するステップとを含む方法を提供する。   Viewed from a fourth aspect, the present invention interconnects a plurality of source circuits and a plurality of destination circuits, so that data input from any of the plurality of source circuits to the crossbar circuit is A method of operating a crossbar circuit so that it can be output to any one of the plurality of destination circuits, wherein the crossbar circuit is a plurality of data input paths passing through the crossbar circuit. Each data input path can be connected to one of the plurality of source circuits and provide a plurality of word lines and a plurality of data input paths and a cross across the plurality of data input paths A plurality of data output paths passing through the bar circuit, each data output path being connectable to one of the plurality of destination circuits and providing a plurality of bit lines Sutra And adopting a crossbar cell associated with each intersection between one of the data input paths and one of the data output paths, and routing in an arbitration mode of operation. Programming a value to each crossbar cell, wherein the routing value is programmed depending on the voltage on at least one of the plurality of bit lines, the routing value along the word line of the data input path The first value indicates that the data input to the associated intersection is output on the bit line of the data output path at the associated intersection, and the routing value is applied to the word line of the data input path. Data input to the associated intersection along the line is output on the bit line of the data output path at the associated intersection. The second value is programmed to indicate that there is no data input along the word line of the data input path in the transmission mode of operation and the indication of that data at the associated intersection. Responsive to a routing value having the first value to output on a bit line of the data output path, and in the arbitration mode of operation, a source circuit connected to the data input path of the associated intersection Depending on the transmission requirements received by the crossbar cell, operating the arbitration circuit in the crossbar cell, wherein the source circuit transfers data from the data input path to the data output path at the relevant intersection. If a transmission request is asserted to indicate that you want to route, The translation circuit operates in combination with other crossbar cell arbitration circuits associated with the same data output path to apply adaptive priority schemes to selectively modify the voltages on multiple bit lines, Thus, if there are multiple asserted transmission requests for the same data output path, the only crossbar cell configuration storage circuit associated with the same data output path will have its routing value programmed to the first value. And resolving a conflict between the plurality of asserted transmission requests according to the adaptive priority scheme, and among the plurality of bit lines to apply the adaptive priority scheme Priority data that identifies which of these should be corrected by the associated arbitration circuit Between the step of storing in a priority storage circuit in the crossbar cell and each application of the adaptive priority scheme by the arbitration circuit depending on the voltage of at least one of the plurality of bit lines. Configuring a priority storage circuit to self-update the priority data.

以下、ほんの一例として、添付図面に示されているその実施形態を参照して、本発明をさらに説明する。   The invention will now be further described, by way of example only, with reference to an embodiment thereof illustrated in the accompanying drawings.

一実施形態による、クロスバー回路のブロック図である。FIG. 3 is a block diagram of a crossbar circuit, according to one embodiment. 各クロスバーセルに従って提供される優先順位記憶回路が、一実施形態でどのように使用され得るのかを示す図である。FIG. 3 illustrates how a priority storage circuit provided in accordance with each crossbar cell can be used in one embodiment. クロスバーセルが、特定のデータ出力経路(本明細書では、チャネルとも称する)を解放することを可能にするために、解放回路が一実施形態でどのように使用され得るのかを示す図である。FIG. 6 illustrates how a release circuit can be used in one embodiment to allow a crossbar cell to release a particular data output path (also referred to herein as a channel). 一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。FIG. 6 illustrates how a priority storage circuit can be updated to support an LRG priority scheme, according to one embodiment. 一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。FIG. 6 illustrates how a priority storage circuit can be updated to support an LRG priority scheme, according to one embodiment. 一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。FIG. 6 illustrates how a priority storage circuit can be updated to support an LRG priority scheme, according to one embodiment. 一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。FIG. 6 illustrates how a priority storage circuit can be updated to support an LRG priority scheme, according to one embodiment. 一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。FIG. 6 illustrates how a priority storage circuit can be updated to support an LRG priority scheme, according to one embodiment. 一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。FIG. 6 illustrates how a priority storage circuit can be updated to support an LRG priority scheme, according to one embodiment. 一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。FIG. 6 illustrates how a priority storage circuit can be updated to support an LRG priority scheme, according to one embodiment. 一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。FIG. 6 illustrates how a priority storage circuit can be updated to support an LRG priority scheme, according to one embodiment. 列の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。FIG. 6 shows a circuit provided in each crossbar cell for multiple crossbar cells in a column. 列の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。FIG. 6 shows a circuit provided in each crossbar cell for multiple crossbar cells in a column. 行の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。FIG. 6 shows a circuit provided in each crossbar cell for multiple crossbar cells in a row. 行の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。FIG. 6 shows a circuit provided in each crossbar cell for multiple crossbar cells in a row. 一実施形態による、各クロスバーセル内に提供され得る伝送回路、アービトレーション回路、および優先順位記憶回路をより詳細に示す図である。FIG. 3 illustrates in more detail a transmission circuit, an arbitration circuit, and a priority storage circuit that may be provided in each crossbar cell, according to one embodiment. 一実施形態による、各クロスバーセル内に提供され得る伝送回路および解放回路をより詳細に示す図である。FIG. 3 illustrates in more detail a transmission circuit and a release circuit that may be provided in each crossbar cell, according to one embodiment. 一実施形態による、パケットスイッチングクロスバーの実装を概略的に例示する。FIG. 4 schematically illustrates an implementation of a packet switching crossbar, according to one embodiment. FIG. 一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。FIG. 3 illustrates in more detail the components provided in each crossbar cell of a crossbar circuit, according to one embodiment. 一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。FIG. 3 illustrates in more detail the components provided in each crossbar cell of a crossbar circuit, according to one embodiment. 一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。FIG. 3 illustrates in more detail the components provided in each crossbar cell of a crossbar circuit, according to one embodiment. 一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。FIG. 3 illustrates in more detail the components provided in each crossbar cell of a crossbar circuit, according to one embodiment. 代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。FIG. 6 shows in more detail the components provided in each crossbar cell of a crossbar circuit, according to an alternative embodiment. 代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。FIG. 6 shows in more detail the components provided in each crossbar cell of a crossbar circuit, according to an alternative embodiment. 代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。FIG. 6 shows in more detail the components provided in each crossbar cell of a crossbar circuit, according to an alternative embodiment. 代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。FIG. 6 shows in more detail the components provided in each crossbar cell of a crossbar circuit, according to an alternative embodiment. 一実施形態による、各クロスバーセル内に提供される構成記憶素子の配設をより詳細に示す図である。FIG. 6 illustrates in more detail the arrangement of configuration memory elements provided within each crossbar cell, according to one embodiment. 一実施形態による、ディスチャージ信号およびセンスイネーブル(SE)信号を発生させるためのパルス発生器の構成を示す図である。FIG. 3 is a diagram illustrating a configuration of a pulse generator for generating a discharge signal and a sense enable (SE) signal according to an embodiment. 一実施形態による、ディスチャージ信号およびセンスイネーブル(SE)信号を発生させるためのパルス発生器の構成を示す図である。FIG. 3 is a diagram illustrating a configuration of a pulse generator for generating a discharge signal and a sense enable (SE) signal according to an embodiment. 一実施形態による、ディスチャージ信号およびセンスイネーブル(SE)信号を発生させるためのパルス発生器の構成を示す図である。FIG. 3 is a diagram illustrating a configuration of a pulse generator for generating a discharge signal and a sense enable (SE) signal according to an embodiment. 一実施形態に従って、channel_free信号がどのように発生するのかを示す図である。FIG. 6 illustrates how a channel_free signal is generated according to one embodiment. クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。An encoding that may be used in one embodiment to encode input data before input to the crossbar circuit and to decode output data from the crossbar circuit to reduce power consumption in the crossbar circuit. It is a figure which shows a circuit and a decoding circuit. クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。An encoding that may be used in one embodiment to encode input data before input to the crossbar circuit and to decode output data from the crossbar circuit to reduce power consumption in the crossbar circuit. It is a figure which shows a circuit and a decoding circuit. クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。An encoding that may be used in one embodiment to encode input data before input to the crossbar circuit and to decode output data from the crossbar circuit to reduce power consumption in the crossbar circuit. It is a figure which shows a circuit and a decoding circuit. クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。An encoding that may be used in one embodiment to encode input data before input to the crossbar circuit and to decode output data from the crossbar circuit to reduce power consumption in the crossbar circuit. It is a figure which shows a circuit and a decoding circuit. クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。An encoding that may be used in one embodiment to encode input data before input to the crossbar circuit and to decode output data from the crossbar circuit to reduce power consumption in the crossbar circuit. It is a figure which shows a circuit and a decoding circuit. 一実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。FIG. 6 illustrates how a crossbar circuit with a narrow data input path and a data output path can be arranged to operate according to one embodiment. 代替の実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。FIG. 6 illustrates how a crossbar circuit with a narrow data input path and a data output path can be arranged to operate in accordance with an alternative embodiment. 代替の実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。FIG. 6 illustrates how a crossbar circuit with a narrow data input path and a data output path can be arranged to operate in accordance with an alternative embodiment. 一実施形態に従って、部分的に有効化された構成において、クロスバー回路がどのように使用され得るかを示す図である。FIG. 3 illustrates how a crossbar circuit can be used in a partially enabled configuration, according to one embodiment.

図1は、一実施形態によるクロスバー回路と、それに接続された複数のソース回路および宛先回路とを備える、提案されるスイッチングファブリックの上位図を示す。クロスバー回路は、クロスバー回路を通して第1の方向に延びる複数のデータ入力経路12と、第1の方向を横断する第2の方向に延びる複数のデータ出力経路50とを含む。図1の実施形態において、これらの経路は、どちらもマルチビットバスによって形成されており、特に、各データ入力経路は、複数のワード線を備え、各データ出力経路は、複数のビット線を備える。   FIG. 1 shows a top view of a proposed switching fabric comprising a crossbar circuit according to one embodiment and a plurality of source and destination circuits connected thereto. The crossbar circuit includes a plurality of data input paths 12 extending in a first direction through the crossbar circuit and a plurality of data output paths 50 extending in a second direction crossing the first direction. In the embodiment of FIG. 1, both of these paths are formed by a multi-bit bus, and in particular, each data input path includes a plurality of word lines, and each data output path includes a plurality of bit lines. .

各データ入力経路とデータ出力経路との間の交差点には、クロスバーセル20が提供され、関連するデータ入力経路上で受信したデータを、関連するデータ出力経路上に選択的にルーティングするために使用される。各クロスバーセルは、各クロスバーセルのオン/オフ状態を記憶するための、構成記憶素子を含み、よって、クロスバーセルがオン状態にある場合は、データ入力経路上で受信した入力データをデータ出力経路にルーティングし、セルがオフ状態にある場合は、入力データは、関連するデータ出力経路上にルーティングされずに、単にセルを通過するだけである。   At the intersection between each data input path and data output path, a crossbar cell 20 is provided and used to selectively route data received on the associated data input path onto the associated data output path. Is done. Each crossbar cell includes a configuration storage element for storing the on / off state of each crossbar cell, so that when the crossbar cell is in the on state, the input data received on the data input path is the data output path. And the cell is in the off state, the input data simply passes through the cell without being routed on the associated data output path.

各データ入力経路12は、そこから入力データ10を受信し得る、関連するソース回路30に連結され、各データ出力経路50は、そのデータ出力経路上に提供される出力データ70を受信するように配設される、関連する宛先回路40に連結される。   Each data input path 12 is coupled to an associated source circuit 30 from which input data 10 can be received, and each data output path 50 receives output data 70 provided on that data output path. Connected to an associated destination circuit 40 that is disposed.

示される実施形態において、各データ出力経路50のビット線は、プリチャージモジュール55を使用してプリチャージされ、次いで該ビット線は、ソース回路のうちの1つから、そのソース回路のデータをデータ出力経路に接続するクロスバーセルへのデータ入力に依存して、選択的にディスチャージされる。出力データ70を生成するために、このビット線の選択的なディスチャージは、感知増幅器回路65によって検出される。   In the embodiment shown, the bit line of each data output path 50 is precharged using a precharge module 55, which then transmits the data of that source circuit from one of the source circuits. Depending on the data input to the crossbar cell connected to the output path, it is selectively discharged. This selective discharge of the bit line is detected by a sense amplifier circuit 65 to generate output data 70.

クロスバーが伝送動作モードにある時、データは、前述の様態でクロスバー回路を通してルーティングされるが、クロスバー回路は、必ずしも伝送動作モードにあるとは限らない。具体的には、種々のソース回路30によって発行される伝送要求間で何らかのコンフリクトを検出して解決する間、クロスバー回路はアービトレーション動作モードを有する。具体的には、スイッチングファブリックの中の同じ宛先回路に対する複数の要求は、コリジョンと称され、ソースおよび宛先の数が増加するにつれて、コリジョンはより頻繁になる。後により詳細に論じるように、各クロスバーセル20は、アービトレーション回路を含み、該アービトレーション回路は、アービトレーション動作モードで、複数のアサートされた伝送要求の存在を検出するように、およびそのような複数のアサートされた伝送要求の場合に、適応型優先順位スキームを実装してそれらのコンフリクトを解決するように、データ出力経路のビット線を再使用して、他のクロスバーセルのアービトレーション回路と組み合わせて動作する。提案される手法は、そのようなコリジョンを検出して解決するように、高速、低電力で、かつ高度に拡張性のある解決法を提供する。   When the crossbar is in the transmission mode of operation, data is routed through the crossbar circuit in the manner described above, but the crossbar circuit is not necessarily in the transmission mode of operation. Specifically, the crossbar circuit has an arbitration mode of operation while detecting and resolving any conflicts between transmission requests issued by the various source circuits 30. Specifically, multiple requests for the same destination circuit in the switching fabric are referred to as collisions, and collisions become more frequent as the number of sources and destinations increases. As will be discussed in more detail later, each crossbar cell 20 includes an arbitration circuit that detects the presence of a plurality of asserted transmission requests in the arbitration mode of operation, and a plurality of such Operates in combination with other crossbar cell arbitration circuits by reusing bit lines in the data output path to implement adaptive priority schemes and resolve those conflicts in the case of asserted transmission requests To do. The proposed approach provides a high speed, low power, and highly scalable solution to detect and resolve such collisions.

各クロスバーセルは、適応型優先順位スキームを実装した時に、アービトレーション回路によって参照される優先順位データを記憶するための、優先順位記憶回路を含み、該優先順位記憶回路は、アービトレーション回路によって、適応型優先順位スキームの各適用の間に、ビット線を再使用して、それらの中に記憶した優先順位データを自己更新するように構成される。   Each crossbar cell includes a priority storage circuit for storing priority data referenced by the arbitration circuit when the adaptive priority scheme is implemented, the priority storage circuit being adapted by the arbitration circuit. During each application of the priority scheme, the bit lines are reused and configured to self-update the priority data stored therein.

図1では、ソース回路がクロスバーの左側に示され、宛先回路がクロスバーの底部に示されているが、ソース回路は、クロスバー回路のどちら側に提供することもでき、同様に、宛先回路は、データ出力経路のいずれかの端部に提供することができる。したがって、本発明の実施形態のクロスバー回路は、ソースをどちらかの水平端部に配置し、宛先をどちらかの垂直端部に配置するといった柔軟性を提供することを認識されるであろう。これは、ルーティングの輻輳を低減することによって、設計のフロアプランニングを単純化する。   In FIG. 1, the source circuit is shown on the left side of the crossbar and the destination circuit is shown on the bottom of the crossbar, but the source circuit can be provided on either side of the crossbar circuit, and similarly Circuitry can be provided at either end of the data output path. Thus, it will be appreciated that the crossbar circuit of embodiments of the present invention provides the flexibility to place the source at either horizontal end and the destination at either vertical end. . This simplifies floorplanning of the design by reducing routing congestion.

図2は、アービトレーション動作モード中のコンフリクトを検出して解決するために、データ出力経路のビット線がどのように再使用され得るのかを示す。この実施例では、伝送要求0〜15を発行し得る、クロスバー回路に接続された16のソース回路がある。任意の特定のデータ出力経路50について、各ソース回路は、感知増幅器およびラッチの形態で、その構成記憶回路内に組み込まれるクロスバーセル20と関連する。したがって、ソース0は、感知増幅器およびラッチ100を含有するクロスバーセルと関連し、ソース1は、感知増幅器およびラッチ105を含有するクロスバーセルと関連し、ソース2は、感知増幅器およびラッチ110を含有するクロスバーセルと関連し、残りのソース回路も同様に、ソース回路15は、感知増幅器およびラッチ115を含有するクロスバーセルと関連する。   FIG. 2 illustrates how the bit lines in the data output path can be reused to detect and resolve conflicts during the arbitration mode of operation. In this embodiment, there are 16 source circuits connected to the crossbar circuit that can issue transmission requests 0-15. For any particular data output path 50, each source circuit is associated with a crossbar cell 20 that is incorporated in its configuration storage circuit in the form of a sense amplifier and latch. Thus, source 0 is associated with a crossbar cell containing sense amplifiers and latches 100, source 1 is associated with a crossbar cell containing sense amplifiers and latches 105, and source 2 contains sense amplifiers and latches 110. Associated with the crossbar cell, the remaining source circuit is similarly associated with the crossbar cell containing the sense amplifier and latch 115.

アービトレーション動作モードにおいて、プリチャージモジュール55は、各データ出力経路50の全てのビット線をプリチャージし、その後、それらのビット線は、アサートされた伝送要求に依存して、また適応型優先順位スキームに従って、選択的にディスチャージされる。この実施例では、各データ出力経路50は、16本のビット線を備え、感知増幅器およびラッチ回路のそれぞれは、それらのビット線のうちの異なる1つと関連することが分かる。ビット線のプリチャージに続いて、種々のソース回路によってアサートされた伝送要求が評価されるが、本実施形態では、アサートされた伝送要求は、論理1の値を取る。   In the arbitration mode of operation, the precharge module 55 precharges all the bit lines of each data output path 50, after which the bit lines depend on the asserted transmission requirements and are also an adaptive priority scheme. According to the above, it is selectively discharged. In this example, each data output path 50 comprises 16 bit lines, and it can be seen that each of the sense amplifiers and latch circuits is associated with a different one of those bit lines. Subsequent to bit line precharging, transmission requests asserted by various source circuits are evaluated, but in this embodiment, the asserted transmission requests take a logic one value.

図2に示されるように、各クロスバーセルの優先順位記憶回路は、そのクロスバーセルの感知増幅器およびラッチが接続されるビット線を除く各ビット線について1つの、一連の優先順位記憶素子130を備える。具体的には、図2に示されるように、各クロスバーセルは、そのクロスバーセルの感知増幅器およびラッチ回路に接続されたビット線を除くビット線のそれぞれと関連する、一連のトランジスタ135を含む。次いで、アサートされた伝送要求が存在する場合は、それらの優先順位記憶素子にプログラムされた値に依存して、それらのトランジスタ135のゲートに値を提供するために、優先順位記憶素子130が使用される。   As shown in FIG. 2, the priority storage circuit of each crossbar cell comprises a series of priority storage elements 130, one for each bit line except the bit line to which the sense amplifier and latch of that crossbar cell are connected. . Specifically, as shown in FIG. 2, each crossbar cell includes a series of transistors 135 associated with each of the bit lines except the bit line connected to the sense amplifier and latch circuit of the crossbar cell. Then, if there is an asserted transmission request, the priority storage element 130 uses it to provide a value to the gates of those transistors 135 depending on the value programmed in those priority storage elements. Is done.

図2に示されるように、濃い陰影を付けた優先順位記憶素子130の全ては、現在、論理1の値にプログラムされ、明るい陰影を付けた優先順位記憶素子130の全ては、現在、論理0の値にプログラムされている。したがって、アサートされた伝送要求がある場合には、論理1の値を記憶する優先順位記憶素子に取り付けられたトランジスタがビット線をディスチャージする一方で、論理0の値を記憶する優先順位記憶素子に取り付けられたトランジスタは、ディスチャージしない。図2に示される実施例では、適応型優先順位スキームの現在の適用について、ソース15が最も高い優先順位を有し、よって、該ソース15が伝送要求をアサートした場合、これは、その関連する感知増幅器およびラッチ回路115のビット線を除くビット線の全てのディスチャージを引き起こす。ソース14は、次に高い優先順位を有し、ソース13が次に高い優先順位を有する等、ソース0が最も低い優先順位を有する。具体的には、見て分かるように、ソース0からの伝送要求(すなわち、要求0)がアサートされた場合、これは、いかなるビット線もディスチャージさせない。   As shown in FIG. 2, all of the dark shaded priority storage elements 130 are currently programmed to a logic 1 value, and all of the light shaded priority storage elements 130 are currently logical 0. Is programmed to the value of Thus, if there is an asserted transmission request, the transistor attached to the priority storage element that stores the logic 1 value discharges the bit line while the priority storage element that stores the logic 0 value. The attached transistor does not discharge. In the example shown in FIG. 2, if the source 15 has the highest priority for the current application of the adaptive priority scheme, and this source 15 asserted a transmission request, this is related to All discharge of the bit line except the bit line of the sense amplifier and latch circuit 115 is caused. Source 14 has the next highest priority, source 13 has the next highest priority, etc. Source 0 has the lowest priority. Specifically, as can be seen, if a transmission request from source 0 (ie, request 0) is asserted, this does not discharge any bit lines.

選択的なディスチャージ動作に続いて、次いで、アサートされた伝送要求を受信する任意の感知増幅器およびラッチ回路は、関連するクロスバーセルが、伝送動作モードで、その入力をその出力に連結するかどうかを決定するルーティング値を記憶するために、その関連するビット線をサンプリングする。具体的には、ルーティング値が第1の値(一実施形態において、これは、論理1の値である)を有する場合にだけ、関連するクロスバーセルが伝送動作モード中にその入力データをその出力に接続し、また前述したスキームによって、アービトレーション動作モードの終了時には、1つのクロスバーセルだけが、論理1の値に設定された感知増幅器およびラッチ回路を有することが理解されるであろう。   Following the selective discharge operation, any sense amplifier and latch circuit that then receives the asserted transmission request determines whether the associated crossbar cell will couple its input to its output in the transmission mode of operation. In order to store the routing value to be determined, its associated bit line is sampled. Specifically, only if the routing value has a first value (in one embodiment this is a logic one value), the associated crossbar cell outputs its input data during its transmission mode of operation. It will be appreciated that only one crossbar cell has a sense amplifier and latch circuit set to a logic one value at the end of the arbitration mode of operation, according to the scheme described above.

したがって、一例として、ソース1およびソース2の両方が、アサートされた伝送要求を発行した場合、アサートされた要求1およびアサートされた要求2の両方が、第1のビット線をディスチャージさせることが分かる。その結果、ソース0が要求をアサートする場合であっても、関連する感知増幅器およびラッチ回路100は、アービトレーション動作モードの終了時に、論理0の値をラッチするので、その要求は承諾されない。さらには、アサートされた要求2が、第2のビット線をディスチャージさせ、よって、アービトレーション動作モードの終了時に、ソース1と関連する感知増幅器およびラッチ回路105が論理0の値をラッチする。したがって、ソース1が伝送要求をアサートした場合であっても、ソース2もアサートされた伝送要求を発行していたのであれば、その伝送要求は承諾されない。そのサイクルでいずれの他のソース回路も伝送要求をアサートしていないと仮定すると、その場合、ソース回路2と関連する感知増幅器およびラッチ回路110は、アービトレーション動作モードの終了時に論理1の値をラッチし、それに応じて、ソース2からの伝送要求が承諾されることが分かるであろう。   Thus, as an example, if both source 1 and source 2 issue an asserted transmission request, it can be seen that both asserted request 1 and asserted request 2 discharge the first bit line. . As a result, even if source 0 asserts the request, the associated sense amplifier and latch circuit 100 latches the logic zero value at the end of the arbitration mode of operation, so the request is not granted. Furthermore, the asserted request 2 discharges the second bit line, so that at the end of the arbitration mode of operation, the sense amplifier and latch circuit 105 associated with source 1 latches a logic zero value. Therefore, even if the source 1 asserts the transmission request, if the source 2 has also issued the asserted transmission request, the transmission request is not accepted. Assuming that no other source circuit has asserted a transmission request in that cycle, then the sense amplifier and latch circuit 110 associated with source circuit 2 latches the logic 1 value at the end of the arbitration mode of operation. It will be appreciated that the transmission request from source 2 is accepted accordingly.

上記の説明から、受信するアサートされた伝送要求が、より低い優先順位のソースからの他のアサートされた伝送要求の抑止を引き起こすことが分かる。次いで、任意のアサートされた伝送要求に対する感知増幅器およびラッチ回路は、要求が承諾されたかどうかを判定するために、それらの関連するビット線をサンプリングする。この技法によって、単一のサイクルでコリジョンを検出して解決することができる。さらに、アービトレーション動作モード中にコンフリクトを検出して解決するために使用されるのと同じビット線が、それに続く伝送動作モードで、次いで、データの転送のために使用されることが分かる。   From the above description, it can be seen that the received asserted transmission request causes the suppression of other asserted transmission requests from lower priority sources. The sense amplifier and latch circuit for any asserted transmission request then samples their associated bit lines to determine whether the request has been granted. This technique allows collisions to be detected and resolved in a single cycle. Furthermore, it can be seen that the same bit lines used for detecting and resolving conflicts during the arbitration mode of operation are used for subsequent transfer modes of operation and then for the transfer of data.

アサートされた伝送要求は、多数の異なる方法でクロスバー回路の中に入力することができるが、一実施形態では、アサートされた伝送要求を入力するために、データ入力経路のワード線が使用される。したがって、各データ入力経路が16本のワード線を有する実施形態を検討した場合、任意の特定のソース回路が、それらのワード線を介して、最高16のデータ出力経路のうちのどれが、アービトレーション動作モードで、異なるデータ出力経路と関連している個々のワード線のそれぞれの伝送要求をアサートしたいのか特定することができることが分かる。   An asserted transmission request can be input into the crossbar circuit in a number of different ways, but in one embodiment, a word line in the data input path is used to input the asserted transmission request. The Thus, when considering an embodiment in which each data input path has 16 word lines, any particular source circuit can route any of up to 16 data output paths through those word lines. It can be seen that in the mode of operation, it is possible to specify whether each individual word line associated with a different data output path wants to assert a transmission request.

図2には明確に示されていないが、優先順位記憶素子130に加えて、プリチャージモジュール55によって実行されるプリチャージ動作モード中に、トランジスタ135をオフにすることを確実にするように、典型的に、各トランジスタ135のためのいくつかの関連する分離回路も存在する。   Although not explicitly shown in FIG. 2, in addition to priority storage element 130, to ensure that transistor 135 is turned off during the precharge mode of operation performed by precharge module 55, There are typically also several associated isolation circuits for each transistor 135.

一実施形態では、各クロスバーセルには、もはや必要でなくなった時にチャネルを解放するための機構を提供するように、解放回路が提供される。具体的には、ソース回路30がチャネルへのアクセスを承諾されると、そのソース回路だけが、以降の異なるソース回路への割り当てのためにチャネルを解放することができ、このチャネルの解放は、現在そのチャネルへのアクセスが承諾されているソース回路からのアサートされた解放要求に応答して、解放回路によって実行される。あるチャネルが特定のソース回路に対して承諾されても、いかなる他のソース回路もそのチャネルへのアクセスを得ることはできず、また、他のソース回路によって発行されたそのチャネルに関して、いずれのアサートされた伝送要求も作用しない一方で、チャネルは、ソース回路に割り当てられる。   In one embodiment, each crossbar cell is provided with a release circuit to provide a mechanism for releasing the channel when it is no longer needed. Specifically, once source circuit 30 is granted access to a channel, only that source circuit can release the channel for subsequent assignment to a different source circuit, In response to an asserted release request from a source circuit that is currently granted access to the channel, it is performed by the release circuit. Even if a channel is granted to a particular source circuit, no other source circuit can gain access to that channel, and no assertions are made on that channel issued by other source circuits. The channel is assigned to the source circuit, while the transmitted request does not work.

図3は、一実施形態に従って加えられる、解放回路140を示す。優先順位記憶素子と同様の方法で、解放回路140は、関連するトランジスタ145を駆動するために使用され、この場合、トランジスタは、ルーティング値を決定するために同じクロスバーセルの感知増幅器およびラッチ回路によってサンプリングされる、ビット線に連結される。したがって、ソース回路がチャネルを解放したいと望む時には、解放要求を解放回路140に送信し、論理1の値をトランジスタ145に出力させて、関連するビット線をディスチャージさせる。その後、関連する感知増幅器およびラッチは、ビット線をサンプリングし、それによって、そこに論理0の値を記憶し、したがって、チャネルを解放する。ここでも、プリチャージモジュール55によって実行されるプリチャージ動作中に、トランジスタ145をオフにすることを確実にするように、いくつかの関連する分離回路が各トランジスタ145に提供される。   FIG. 3 illustrates a release circuit 140 that is added according to one embodiment. In a manner similar to the priority storage element, the release circuit 140 is used to drive the associated transistor 145, in which case the transistor is driven by the same crossbar cell sense amplifier and latch circuit to determine the routing value. Connected to the bit line to be sampled. Thus, when the source circuit wishes to release the channel, it sends a release request to release circuit 140, causing the value of logic 1 to be output to transistor 145 to discharge the associated bit line. The associated sense amplifiers and latches then sample the bit line, thereby storing a logic zero value there, thus releasing the channel. Again, several associated isolation circuits are provided for each transistor 145 to ensure that transistor 145 is turned off during the precharge operation performed by precharge module 55.

一実施形態では、関連するデータ入力経路のワード線が解放要求または伝送要求を搬送しているかどうかを識別するために、アービトレーション動作モードで、解放要求が発行され、アービトレーション動作モードで、ソース回路によって制御信号が発行される。したがって、今回はアサートされた解放要求を関連する解放回路140に搬送するために、ここでも、データ入力経路のワード線を再使用することができ、それによって、以前に特定のソース回路に対して承諾されたチャネルを解放するために特に効率的な機構を提供する。   In one embodiment, a release request is issued in an arbitration mode of operation and a source circuit in an arbitration mode of operation to identify whether a word line of the associated data input path is carrying a release or transmission request. A control signal is issued. Thus, this time the word line of the data input path can again be reused to carry the asserted release request to the associated release circuit 140, thereby enabling the Provides a particularly efficient mechanism for releasing accepted channels.

前述のように、各クロスバーセルの優先順位記憶回路は、適応型優先順位スキームを実装した時にアービトレーション回路によって参照される優先順位データを記憶し、優先順位記憶回路は、アービトレーション回路によって、適応型優先順位スキームの各適用の間に、ビット線を再使用して、それに記憶される優先順位データを自己更新するように構成される。適応型優先順位スキームがLRG優先順位スキームである特定の実施形態についてこれが達成される様態を、図4A〜図4Hを参照してさらに論じる。   As described above, the priority storage circuit of each crossbar cell stores priority data referenced by the arbitration circuit when the adaptive priority scheme is implemented, and the priority storage circuit is adapted to adaptive priority by the arbitration circuit. During each application of the ranking scheme, the bit lines are reused and configured to self-update the priority data stored therein. The manner in which this is achieved for a particular embodiment where the adaptive priority scheme is an LRG priority scheme will be further discussed with reference to FIGS. 4A-4H.

図4Aは、チャネルの要求をアサートすることができる、5つのソース回路を伴う例を示す。この実施例では、各クロスバーセルの優先順位記憶回路は、クロスバーセルが連結されるチャネルに関して、その記憶された値が、関連するソース回路の優先順位を集合的に示す、4つの優先順位記憶素子から成る。図2を参照して前に論じたように、アービトレーション機構は、2つの段階で実装される。クロックの正相において、ビット線は、論理1のレベルにプリチャージされ、これに続いて、クロックの負相において、それらのビット線は、交差点に記憶される優先順位に基づいて、要求がソース回路によってアサートされる交差点で選択的にディスチャージされる。   FIG. 4A shows an example with five source circuits that can assert channel requests. In this embodiment, the priority storage circuit of each crossbar cell has four priority storage elements whose stored values collectively indicate the priority of the associated source circuit for the channel to which the crossbar cell is connected. Consists of. As discussed previously with reference to FIG. 2, the arbitration mechanism is implemented in two stages. In the positive phase of the clock, the bit lines are precharged to a logic one level, and subsequently, in the negative phase of the clock, the bit lines are sourced based on the priority stored at the intersection. Selectively discharged at the intersection asserted by the circuit.

図4Aにおいて、各クロスバーセルの優先順位記憶回路は、各チャネルに関して、所定の初期の優先順位を各ソース回路に割り当てるように、リセット動作を受ける。図4Aに示されるチャネルの実施例について、優先順位は、昇順に割り当てられ、ソース4が最も高い優先順位を有する一方で、ソース0は、最も低い優先順位を有する。   In FIG. 4A, the priority storage circuit of each crossbar cell receives a reset operation so that a predetermined initial priority is assigned to each source circuit for each channel. For the channel embodiment shown in FIG. 4A, priorities are assigned in ascending order, with source 4 having the highest priority, while source 0 has the lowest priority.

次いで、図4Bに示されるように、ソース回路のうちの1つまたは複数が、伝送要求をアサートする。図4Bの実施例では、ソース1および3は、示されるチャネルに関して、伝送要求をアサートすると仮定される。図4Cに示されるように、ビット線をプリチャージすると、アサートされた伝送要求は、記憶された優先順位データに依存して、ビット線のうちのいくつかをディスチャージさせる。具体的には、ソース3と関連する優先順位記憶素子160、162、および164に記憶される論理1の値は、それぞれ、ビット線170、172、および174をディスチャージさせる。ソース1と関連する優先順位記憶素子166の論理1の値も、ビット線170をディスチャージさせる。   Then, as shown in FIG. 4B, one or more of the source circuits asserts a transmission request. In the example of FIG. 4B, it is assumed that sources 1 and 3 assert a transmission request for the indicated channel. As shown in FIG. 4C, when the bit lines are precharged, the asserted transmission request causes some of the bit lines to be discharged depending on the stored priority data. Specifically, the logic 1 values stored in priority storage elements 160, 162, and 164 associated with source 3 cause bit lines 170, 172, and 174 to discharge, respectively. The logic one value of priority storage element 166 associated with source 1 also discharges bit line 170.

図4Dに示されるように、選択的なディスチャージプロセスに続いて、ソース回路1およびソース回路3と関連する感知増幅器およびラッチ(SAEL)回路180、182は、それぞれ、次いでそれらのビット線を評価する。SAEL回路182は、ビット線176がディスチャージされなかったので、論理1の値を感知し、ソース回路3のアサートされた伝送要求が成功したことを示す。一方、SAEL回路180は、ビット線172がディスチャージされたので、論理0の値を感知し、ソース回路1のアサートされた伝送要求が成功しなかったことを示す。ソース回路3は、ここで、チャネル上でデータを送信することができる。   As shown in FIG. 4D, following the selective discharge process, the sense amplifier and latch (SAEL) circuits 180, 182 associated with source circuit 1 and source circuit 3, respectively, then evaluate their bit lines. . SAEL circuit 182 senses a logic 1 value because bit line 176 was not discharged, indicating that the asserted transmission request of source circuit 3 was successful. On the other hand, the SAEL circuit 180 senses a logic 0 value because the bit line 172 has been discharged, indicating that the asserted transmission request of the source circuit 1 was not successful. The source circuit 3 can now transmit data on the channel.

図4Eに示されるように、ソース回路3は、データの送信を終了した時に解放要求をアサートする。図4Fに示されるように、ビット線はプリチャージされ、その後、ビット線176は、ソース回路3からアサートされた解放要求が与えられる解放回路190によってディスチャージされる。次いで、SAEL回路182が論理0の値を感知し、それによって、チャネルを解放する。   As shown in FIG. 4E, the source circuit 3 asserts a release request when it finishes transmitting data. As shown in FIG. 4F, the bit line is precharged, and then the bit line 176 is discharged by the release circuit 190 to which the release request asserted from the source circuit 3 is given. SAEL circuit 182 then senses a logic zero value, thereby releasing the channel.

その後、図4Gに示されるように、優先順位記憶回路に記憶された優先順位が更新されるが、この更新プロセスは、ディスチャージされたビット線176に連結された優先順位記憶素子192の列、および解放要求を受信するクロスバーセル内に含有された優先順位記憶素子194の行の両方に影響を及ぼす。具体的には、図4Hに示されるように、列192内の全ての優先順位記憶素子には論理1の値が書き込まれる一方で、行194内の全ての優先順位記憶素子には論理0の値が書き込まれる。その結果、ソース回路3が現在最も低い優先順位を有することが分かる。ソース回路4の優先順位は、ソース回路3よりも高い優先順位であったので、元の状態に留まる。加えて、ソース回路0、1、および2は、それらの優先順位をアップグレードする。図4Hに列記される旧優先順位および新優先順位の比較によって、次にアービトレーションプロセスが適用される時には、アサートされた伝送要求を評価する時に新優先順位が使用されるので、この優先順位更新プロセスが、LRGの実装を達成することが分かる。   Thereafter, as shown in FIG. 4G, the priority stored in the priority storage circuit is updated, this update process comprising a column of priority storage elements 192 coupled to the discharged bit line 176, and It affects both the rows of priority storage elements 194 contained in the crossbar cell that receives the release request. Specifically, as shown in FIG. 4H, all priority storage elements in column 192 are written with a logic 1 value, while all priority storage elements in row 194 have a logic 0 value. A value is written. As a result, it can be seen that the source circuit 3 currently has the lowest priority. Since the priority of the source circuit 4 is higher than that of the source circuit 3, it remains in its original state. In addition, source circuits 0, 1, and 2 upgrade their priority. This priority update process because the new priority is used when evaluating the asserted transmission request the next time the arbitration process is applied by comparing the old priority and the new priority listed in FIG. 4H. Can be seen to achieve the implementation of LRG.

例示目的だけのために5つの入力を検討してきたが、該技法は、任意の数の入力に使用できることを理解されるであろう。   Although five inputs have been considered for illustrative purposes only, it will be understood that the technique can be used for any number of inputs.

図5(図5A及びB)は、各クロスバーセル内に提供される主な構成要素を示し、具体的には、行0、1、および2に関して、列0に提供されるクロスバーセルを示す。したがって、クロスバーセル200は、行0と列0との間の交差点に提供され、クロスバーセル230は、行1と列0との間の交差点に提供され、クロスバーセル260は、行2と列0との間の交差点に提供される。   FIG. 5 (FIGS. 5A and B) shows the main components provided within each crossbar cell, specifically the crossbar cell provided in column 0 for rows 0, 1, and 2. FIG. Thus, crossbar cell 200 is provided at the intersection between row 0 and column 0, crossbar cell 230 is provided at the intersection between row 1 and column 0, and crossbar cell 260 is provided at row 2 and column 0. Provided at the intersection between and.

最初に、クロスバーセル200を検討すると、これは、構成記憶回路205、伝送回路210、チャネル解放回路215、アービトレーション回路220、および優先順位記憶回路225から構成される。アービトレーション動作モードで、伝送要求は、データ入力経路(図5では、入力バスとも称する)上でアサートされ、それに応じて、ソース0が列0の伝送要求をアサートすることを望む場合は、入力バスのビット0を設定することによってそれを行う。見て分かるように、ビット0の値は、ANDゲート207に入力され、他の入力は、要求チャネル制御信号によって駆動される。アービトレーション動作モード中に、入力バス上で任意のアサートされた伝送要求を発行している場合、ソース回路は、要求チャネル制御信号をアサートする。つまり、ソース0がチャネル0のアサートされた伝送要求を発行している場合、ANDゲート207へのどちらの入力も論理1の値となり、それに応じて、アービトレーション回路220および構成記憶回路205の両方が起動される(構成記憶回路は、ORゲート208を介して起動される)。   Considering first the crossbar cell 200, it consists of a configuration storage circuit 205, a transmission circuit 210, a channel release circuit 215, an arbitration circuit 220, and a priority storage circuit 225. In the arbitration mode of operation, a transmission request is asserted on the data input path (also referred to as the input bus in FIG. 5), and if the source 0 wants to assert the column 0 transmission request accordingly, the input bus Do this by setting bit 0 of. As can be seen, the value of bit 0 is input to AND gate 207, and the other inputs are driven by request channel control signals. During the arbitration mode of operation, if any asserted transmission request is issued on the input bus, the source circuit asserts the request channel control signal. That is, if source 0 has issued an asserted transmission request for channel 0, both inputs to AND gate 207 will have a logic 1 value, and accordingly, both arbitration circuit 220 and configuration memory circuit 205 will Activated (configuration memory circuit is activated via OR gate 208).

見て分かるように、構成記憶回路205は、チャネル0のためのデータ出力経路(図5では、出力バスとも称する)のビット0に接続され、アービトレーション動作モードの終了時に、そこに記憶されるルーティング値を決定するために、出力バスのビット0の値をサンプリングする。しかしながら、その時点の前に、アービトレーション回路220は、出力バスのビット線を選択的にディスチャージするために、アサートされた伝送要求を受信したその列と関連する任意の他のクロスバーセルのアービトレーション回路250、280等と関連して動作する。具体的には、図5で分かるように、クロスバーセル200のアービトレーション回路220は、ビット線0を除く出力バスの他のビット線の全てに接続され、優先順位記憶回路225にプログラムされた優先順位データに依存して、それらのビット線を選択的にディスチャージする。   As can be seen, the configuration storage circuit 205 is connected to bit 0 of the data output path for channel 0 (also referred to as the output bus in FIG. 5) and is stored there at the end of the arbitration mode of operation. To determine the value, the value of bit 0 of the output bus is sampled. However, prior to that point, arbitration circuit 220 may arbitrate any other crossbar cell arbitration circuit 250 associated with that column that received the asserted transmission request to selectively discharge the bit lines of the output bus. 280 and so on. Specifically, as can be seen in FIG. 5, the arbitration circuit 220 of the crossbar cell 200 is connected to all of the other bit lines of the output bus except for the bit line 0, and the priority level programmed in the priority level storage circuit 225. Depending on the data, these bit lines are selectively discharged.

前述のように、アービトレーション回路220の選択的なディスチャージ動作に続いて、構成記憶回路205は、次いで、その関連する出力ビット線の値をサンプリングし、具体的には、そのビット線がまだプリチャージ電圧レベルにある場合は、ソース0がチャネル0へのアクセスを承諾されていることを示すように、構成記憶回路205内に論理1のルーティング値を記憶する。列の中のクロスバーセルのアービトレーション回路によって実装される適応型優先順位スキームの性質のため、アービトレーション動作モードの終了時に、任意の特定の列に対して1つのクロスバーセルだけが、その構成記憶回路を論理1の値に設定し、それに応じて、1つのソース回路だけが、いずれかの時点で特定の宛先回路へのアクセスを承諾され得る。   As described above, following the selective discharge operation of arbitration circuit 220, configuration memory circuit 205 then samples the value of its associated output bit line, specifically, that bit line is still precharged. If it is at the voltage level, the logic 1 routing value is stored in the configuration storage circuit 205 to indicate that source 0 is granted access to channel 0. Due to the nature of the adaptive priority scheme implemented by the crossbar cell arbitration circuit in a column, at the end of the arbitration mode of operation, only one crossbar cell for any particular column has its configuration memory circuit. Set to a logic 1 value, in response, only one source circuit may be granted access to a particular destination circuit at any one time.

アービトレーション動作モードに続いて、スイッチングファブリックは、伝送動作モードに入り、その間、特定のチャネルへのアクセスを承諾された各ソース回路は、入力バス上でその入力データを提供する。故に、ソース0が列0へのアクセスを承諾されたと仮定すると、入力バス上で伝送回路210にそのデータが発行され、構成記憶回路205に論理1の値が記憶されているとすれば、その場合、その入力をチャネル0のための出力バスに接続する。   Following the arbitration mode of operation, the switching fabric enters a transmission mode of operation, during which each source circuit granted access to a particular channel provides its input data on the input bus. Thus, assuming that source 0 has been granted access to column 0, if the data is issued to transmission circuit 210 on the input bus and the value of logic 1 is stored in configuration storage circuit 205, then If so, connect its input to the output bus for channel 0.

前述のように、アービトレーション動作モードでは、チャネルが以前に特定のソースに承諾されている場合、それらを解放することも可能である。したがって、例として、ソース0が以前にチャネル0へのアクセスを承諾されており、それに応じて、構成記憶回路205がそこに記憶された論理1のルーティング値を有する場合、アービトレーション動作モードで、チャネル0のアサートされた解放要求を特定するように、ソース0は、入力バスのビット0の論理1の値とともに、ANDゲート217への解放チャネル制御信号を発行することができる。これは、論理1の値をチャネル解放回路215に入力させ、ORゲート208を介して構成記憶回路を起動させる。この論理1の値に応答して、チャネル解放回路が、出力バスのビット0をディスチャージし、次いで、構成記憶回路205が、出力バスを再度サンプリングし、それによって、論理0の値を構成記憶回路205内に記憶させる。   As described above, in the arbitration mode of operation, it is also possible to release channels if they have previously been granted to a particular source. Thus, by way of example, if source 0 has been previously granted access to channel 0 and accordingly configuration storage circuit 205 has a logic 1 routing value stored therein, in arbitration mode of operation, Source 0 can issue a release channel control signal to AND gate 217 along with a logic one value of bit 0 of the input bus to identify an asserted release request of zero. This causes the value of logic 1 to be input to the channel release circuit 215 and activates the configuration memory circuit via the OR gate 208. In response to this logic 1 value, the channel release circuit discharges bit 0 of the output bus, and then configuration memory circuit 205 resamples the output bus, thereby setting the logic 0 value to the configuration memory circuit. The data is stored in 205.

アサートされた解放要求はまた、それに記憶される優先順位データを自己更新するように、優先順位記憶回路を起動させる。前に論じ、図5に示されるように、優先順位記憶回路は、同じクロスバーセルの構成記憶回路が連結されるビット線以外の、出力バスの各ビット線に連結される。加えて、図10Dを参照して後により詳細に論じるように、優先順位記憶回路は、負荷優先順位信号を受信するが、これは、一実施形態では、自己更新プロセス中に、その値が更新される個々の優先順位記憶素子のうちの少なくともいくつかを識別するために(優先順位記憶回路に連結されるビット線の電圧と組み合わせて)使用される。   The asserted release request also activates the priority storage circuit to self update the priority data stored therein. As discussed previously and shown in FIG. 5, a priority storage circuit is coupled to each bit line of the output bus other than the bit lines to which the same crossbar cell configuration storage circuit is coupled. In addition, as will be discussed in more detail later with reference to FIG. 10D, the priority storage circuit receives a load priority signal, which in one embodiment, updates its value during the self-update process. Used to identify at least some of the individual priority storage elements (in combination with the voltage of the bit line coupled to the priority storage circuit).

一実施形態において、要求チャネル制御信号および解放チャネル制御信号の両方を2ビット信号に符号化することができ、その2ビット信号を用いて、アービトレーション動作モード中に、関連するソース回路が任意のアサートされた伝送要求を発行しているかどうか、任意のアサートされた解放チャネル要求を発行しているかどうか、または任意のアサートされた要求を発行していないかどうかを特定する。   In one embodiment, both the request channel control signal and the release channel control signal can be encoded into a 2-bit signal that is used by the associated source circuit to perform any assertion during the arbitration mode of operation. Determine whether it has issued an issued transmission request, has issued any asserted release channel request, or has not issued any asserted request.

クロスバーセル230および260は、クロスバーセル200と同一の方法で構成されており、したがって、クロスバーセル230の素子235、237、238、240、245、247、250、および255、ならびにクロスバーセル260の素子265、267、268、270、275、277、280、および285は、それぞれ、クロスバーセル200の素子205、207、208、210、215、217、220、および225に対応する。しかしながら、図5から明らかなように、これらの種々の素子が種々のワード線およびビット線に接続される方法は、若干異なる。クロスバーセル200、230、260のそれぞれが列0と関連するので、アサートされた伝送要求およびアサートされた解放要求は、常時、関連する入力バスのビット0に提供され、故に、この目的のために、3つ全てのクロスバーセルがビット0(ワード線0)に接続される。しかしながら、ビット線への接続を検討すると、クロスバーセル200の構成記憶回路205は、出力バスのビット0に接続されているが、クロスバーセル230の構成記憶回路235は、ビット1に接続され、クロスバーセル260の構成記憶回路265は、ビット2に接続されていることが分かる。各クロスバーセルのチャネル解放回路は、関連する構成記憶回路と同じビット線に接続される。一方、アービトレーション回路および優先順位記憶回路は、関連する構成記憶回路に接続されたビット線を除くビット線の全てに接続される。伝送動作モードでは、関連する構成記憶回路のルーティング値が論理1の値に設定されている場合、伝送回路は、入力バス上のデータを関連する出力バスに接続するので、当然、伝送回路はワード線およびビット線の全てに接続される。   Crossbar cells 230 and 260 are configured in the same manner as crossbar cell 200, and therefore, elements 235, 237, 238, 240, 245, 247, 250, and 255 of crossbar cell 230 and elements of crossbar cell 260. 265, 267, 268, 270, 275, 277, 280, and 285 correspond to elements 205, 207, 208, 210, 215, 217, 220, and 225 of crossbar cell 200, respectively. However, as is apparent from FIG. 5, the manner in which these various elements are connected to the various word lines and bit lines is slightly different. Since each of the crossbar cells 200, 230, 260 is associated with column 0, the asserted transmission request and the asserted release request are always provided to bit 0 of the associated input bus, and therefore for this purpose. All three crossbar cells are connected to bit 0 (word line 0). However, considering the connection to the bit line, the configuration memory circuit 205 of the crossbar cell 200 is connected to bit 0 of the output bus, while the configuration memory circuit 235 of the crossbar cell 230 is connected to bit 1 and It can be seen that the configuration memory circuit 265 of the bar cell 260 is connected to bit 2. The channel release circuit of each crossbar cell is connected to the same bit line as the associated configuration memory circuit. On the other hand, the arbitration circuit and the priority storage circuit are connected to all of the bit lines except the bit line connected to the related configuration storage circuit. In the transmission mode of operation, if the routing value of the associated configuration storage circuit is set to a logic one value, the transmission circuit will connect the data on the input bus to the associated output bus, so that the transmission circuit will of course be a word. Connected to all of the lines and bit lines.

図6(図6A及びB)は、図5と同様の図であるが、行0と、列0、列1、および列2との間の交差点にそれぞれ提供される、クロスバーセル200、300、330を示す。クロスバーセル200は、図5を参照して前述した通りであり、クロスバーセル300、330は、同じ方法で構成される。故に、クロスバーセル300の素子305、307、308、310、315、317、320、および325、ならびにクロスバーセル330の素子335、337、338、340、345、347、350、および355は、それぞれ、クロスバーセル200の素子205、207、208、210、215、217、220、および225に対応する。この実施例では、クロスバーセルの全てが同じ行と関連するので、該クロスバーセルは、同一の様態で、それらのそれぞれの出力バスのビット線に接続される。しかしながら、入力バスを検討した時に、チャネル0に対するアサートされた伝送要求または解放要求は、ワード線0に入力される一方で、チャネル1に対するアサートされた伝送または解放要求は、ワード線1に入力され、チャネル2に対するアサートされた伝送または解放要求は、ワード線2に入力される。故に、各クロスバーセルの構成記憶回路、チャネル解放回路、およびアービトレーション回路は、それに応じて、異なる入力ワード線によって駆動される。   FIG. 6 (FIGS. 6A and B) is a view similar to FIG. 5 but with cross-bar cells 200, 300, provided at the intersection between row 0 and column 0, column 1 and column 2, respectively. 330 is shown. The cross bar cell 200 is as described above with reference to FIG. 5, and the cross bar cells 300 and 330 are configured in the same manner. Thus, elements 305, 307, 308, 310, 315, 317, 320, and 325 of crossbar cell 300 and elements 335, 337, 338, 340, 345, 347, 350, and 355 of crossbar cell 330 are respectively Corresponding to elements 205, 207, 208, 210, 215, 217, 220 and 225 of the crossbar cell 200. In this embodiment, since all of the crossbar cells are associated with the same row, the crossbar cells are connected to the bit lines of their respective output buses in the same manner. However, when considering the input bus, an asserted transmission or release request for channel 0 is input to word line 0, while an asserted transmission or release request for channel 1 is input to word line 1. The asserted transmission or release request for channel 2 is input to word line 2. Therefore, the configuration memory circuit, channel release circuit, and arbitration circuit of each crossbar cell are driven by different input word lines accordingly.

図7は、伝送回路およびアービトレーション回路が、各ビット線にどのように接続されているかをより詳細に示す。具体的には、素子420は、個々のビット線と関連する伝送回路の一部を示し、素子440は、個々のビット線と関連するアービトレーション回路の一部を示す。   FIG. 7 shows in more detail how the transmission circuit and the arbitration circuit are connected to each bit line. Specifically, element 420 represents a portion of the transmission circuit associated with the individual bit line, and element 440 represents a portion of the arbitration circuit associated with the individual bit line.

16ビット幅のチャネルを検討すると、アービトレーション回路は、そのクロスバーセルの構成記憶回路410が接続されるビット線を除くビット線の全てと関連するので、16本のビット線のうちの15本が図7に示す様態で接続される。図5および図6を参照して前述したように、構成記憶回路410は、クロスバーセルに提供されると、アサートされた伝送要求またはアサートされた解放要求が存在する場合、そのクロスバーセルに設定される、記憶構成信号を受信し、その設定された記憶構成信号に応答して、接続される特定のビット線上の値をその構成としてサンプリングする。これは、アービトレーション動作モード中に起こり、アービトレーション動作モードの終了時に、これが論理1のルーティング値を構成記憶回路410に記憶させる結果となる場合、クロスバー回路が続いてデータ伝送動作モードに入る時に、伝送回路420のトランジスタ422がオンになることが分かる。故に、対応するワード線上のデータ入力も論理1の値である場合、これは、トランジスタ424をオンにさせ、それに応じて、ビット線426をディスチャージさせ、このビット線は、プリチャージ回路400によって論理1のレベルに予めプリチャージされている。ビット線426のいずれのディスチャージも、感知増幅器回路430によって感知される。   Considering a 16-bit wide channel, the arbitration circuit is associated with all of the bit lines except the bit line to which the crossbar cell configuration memory circuit 410 is connected, so 15 of the 16 bit lines are shown. 7 is connected. As described above with reference to FIGS. 5 and 6, when provided to a crossbar cell, the configuration storage circuit 410 is set to that crossbar cell if there is an asserted transmission request or an asserted release request. The memory configuration signal is received, and in response to the set memory configuration signal, a value on a specific bit line to be connected is sampled as the configuration. This happens during the arbitration mode of operation, and at the end of the arbitration mode of operation, this results in storing the logic 1 routing value in the configuration storage circuit 410, when the crossbar circuit subsequently enters the data transfer mode of operation, It can be seen that the transistor 422 of the transmission circuit 420 is turned on. Thus, if the data input on the corresponding word line is also a logic one value, this turns on transistor 424 and discharges bit line 426 accordingly, which bit line is logic driven by precharge circuit 400. Precharged to a level of 1. Any discharge of bit line 426 is sensed by sense amplifier circuit 430.

アービトレーション動作モードでは、伝送回路を使用せず、その代わりに、アービトレーション回路440を使用して、トランジスタ442によって受信されるANDゲート455からの入力に依存して、ビット線426を選択的にディスチャージする。具体的には、優先順位記憶素子450が論理1の値を記憶し、かつアサートされた伝送要求を対応するワード線上で受信した場合、論理1の値がトランジスタ442に入力され、ビット線426をディスチャージさせる。アービトレーション動作モードが終了するころに、アサートされた伝送要求を受信した別のクロスバーセルのビット線426に接続された任意の構成記憶回路は、そのクロスバーセルに適用可能なルーティング値の値を決定するために、ビット線上の値をサンプリングする。   In the arbitration mode of operation, no transmission circuit is used, instead, arbitration circuit 440 is used to selectively discharge bit line 426 depending on the input from AND gate 455 received by transistor 442. . Specifically, when the priority storage element 450 stores a logic 1 value and receives an asserted transmission request on the corresponding word line, the logic 1 value is input to the transistor 442 and the bit line 426 is turned on. Discharge. At the end of the arbitration mode of operation, any configuration storage circuit connected to the bit line 426 of another crossbar cell that has received the asserted transmission request determines the value of the routing value applicable to that crossbar cell. Therefore, the value on the bit line is sampled.

各関連するアービトレーション素子440には別個の優先順位記憶素子450が提供され、その値は、release_channel信号が存在する場合に更新される一方で、対応するワード線の解放入力も論理1の値である。後に図10Bを参照して論じるように、ビット線426上の負荷priority_b信号および電圧も、優先順位更新プロセス中に使用される。さらに、優先順位記憶素子は、リセット信号を受信するが、設定されると、所定の値(優先順位記憶素子の形態に依存して、1または0)を優先順位記憶素子に書き込ませる。   Each associated arbitration element 440 is provided with a separate priority storage element 450 whose value is updated when the release_channel signal is present, while the corresponding word line release input is also a logic one value. . As will be discussed later with reference to FIG. 10B, the load priority_b signal and voltage on bit line 426 are also used during the priority update process. Further, the priority storage element receives the reset signal, but when set, causes the priority storage element to write a predetermined value (1 or 0 depending on the form of the priority storage element).

図8は、一実施形態による伝送回路および関連する解放回路を示す。16ビットのチャネルを検討すると、1本のビット線が、この様態で各クロスバーセル内に接続される。伝送回路の動作は、図7を参照して論じたものと変わらず、故に、ここでは詳細に論じない。しかしながら、図7のアービトレーション回路440の代わりに、解放回路460が、このビット線462に接続されている。また、クロスバーセルの構成記憶回路410も、ビット線462に接続されていることにも留意されたい。ANDゲート470は、図5および図6においてチャネル解放回路に供給するように示されるANDゲートに対応し、したがって、解放チャネル制御信号がアサートされ、かつ関連する入力ワード線上のビットがアサートされた場合、これは、特定のチャネルのアサートされた解放要求の存在を示し、図8から分かるように、トランジスタ465をオンにして、ビット線462をディスチャージする結果となる。その後に、構成記憶回路410は、ビット線462上の値を再度サンプリングさせるアサートされた記憶構成信号を受信させられ、それによって、論理0のルーティング値がそこに記憶され、したがって、チャネルが解放される。   FIG. 8 illustrates a transmission circuit and associated release circuit according to one embodiment. Considering a 16-bit channel, one bit line is connected in each crossbar cell in this manner. The operation of the transmission circuit is not different from that discussed with reference to FIG. 7, and therefore will not be discussed in detail here. However, a release circuit 460 is connected to the bit line 462 instead of the arbitration circuit 440 of FIG. It should also be noted that the crossbar cell configuration memory circuit 410 is also connected to the bit line 462. AND gate 470 corresponds to the AND gate shown in FIGS. 5 and 6 as supplying a channel release circuit, so that the release channel control signal is asserted and the bit on the associated input word line is asserted. This indicates the presence of an asserted release request for a particular channel and results in turning on transistor 465 and discharging bit line 462, as can be seen from FIG. Thereafter, the configuration storage circuit 410 is caused to receive an asserted storage configuration signal that causes the value on the bit line 462 to be resampled, thereby storing a logic zero routing value there, thus releasing the channel. The

上記の技法を使用すると、図9に概略的に示されるように、パケットスイッチングクロスバーを実装することが可能となる。パケットスイッチング環境において、ソースは、最初に要求を送信し、次いで、承諾された信号を受信するとデータを送信し、要求およびデータは、同じ入力線上で送信される。本発明の実施形態の前述の考察から、アサートされた伝送要求を、その後伝送動作モードで、データを搬送するために使用されるのと同じワード線上で入力することを可能にすることにより、本発明の実施形態のクロスバー回路が、このようなパケットスイッチングの実施形態に容易に役立つことが分かる。図5および図6を参照して前に論じた要求チャネルおよび解放チャネル制御信号は、2ビットの要求/解放入力線500を介して入力することができ、アサートされた伝送要求またはアサートされた解放要求は、関連するデータ入力経路12上で入力される。関連するソース回路が承諾されたことを示すように、アービトレーション動作モード中に、クロスバーセルの中の特定の構成記憶回路が論理1の値を記憶する時、承諾信号が線505上でソース回路へと返される。任意の特定のソース回路が、いずれかの時点で1つの出力チャネルを要求することしかできない、単一の要求の実装では、単一の承諾信号線505だけしか必要としない。しかしながら、マルチキャスティング(1つのソース回路が、任意の時点で複数のチャネル上でデータを同報通信することができる)をサポートする代替の実施形態では、その場合、ソース回路は、いずれかの時点で複数のアサートされた伝送要求を発行することができ、そのような実施形態では、マスターがどのチャネルのアクセスを承諾したのかを識別するために、マルチビットの承諾信号線505を提供することができる。   Using the above technique, it is possible to implement a packet switching crossbar, as shown schematically in FIG. In a packet switching environment, a source first sends a request, then sends data upon receipt of the accepted signal, and the request and data are sent on the same input line. From the foregoing discussion of the embodiments of the present invention, by allowing asserted transmission requests to be subsequently input on the same word line used to carry data in a transmission mode of operation, It can be seen that the crossbar circuit of the embodiment of the invention is readily useful in such packet switching embodiments. The request channel and release channel control signals discussed above with reference to FIGS. 5 and 6 can be input via a two-bit request / release input line 500, asserted transmission request or asserted release. The request is entered on the associated data entry path 12. During the arbitration mode of operation, when a particular configuration storage circuit in the crossbar cell stores a logic one value, an acceptance signal is sent on line 505 to the source circuit to indicate that the associated source circuit has been accepted. Is returned. In a single request implementation where any particular source circuit can only request one output channel at any one time, only a single consent signal line 505 is required. However, in an alternative embodiment that supports multicasting (one source circuit can broadcast data on multiple channels at any point in time), then the source circuit can be In such an embodiment, a multi-bit grant signal line 505 may be provided to identify which channel the master has granted access to, in such an embodiment. it can.

アービトレーション動作モード中は、クロスバーセルのそれぞれも、関連するチャネルが要求中のソースに自由に割り付けられるかどうかを示す、チャネルフリー信号を線510上で受信するが、この信号の使用は、後に図10および11を参照して論じる。図10Dを参照して後により詳細に論じるように、負荷priority_b信号は、経路515上で提供されるが、これは、プリチャージモジュール55によってプリチャージされ、次いで、アサートされた解放要求に応答して、優先順位記憶素子の中の優先順位データが更新された時にディスチャージされる。   During the arbitration mode of operation, each of the crossbar cells also receives a channel free signal on line 510 that indicates whether the associated channel is free to be allocated to the requesting source; 10 and 11 will be discussed. As discussed in more detail later with reference to FIG. 10D, a load priority_b signal is provided on path 515, which is precharged by precharge module 55 and then in response to the asserted release request. Thus, it is discharged when the priority order data in the priority order storage element is updated.

したがって、図9および本発明の実施形態の前の考察から、このパケットスイッチングクロスバーの実装において、プリチャージおよび条件付きディスチャージスキームが、伝送動作モード中にクロスバー回路を通してデータを伝送するために使用されることが理解されるであろう。前述のアービトレーション動作モード中には、コリジョンの検出および解決のためにビット線が再使用され、アサートされた伝送要求を伝送するためにワード線が使用される。2ビットの要求/解放信号は、特定のアービトレーション動作モード中に、伝送要求または解放要求がアサートされるかどうかを特定するために使用することができる。伝送要求がアサートされたと仮定すると、その場合、その要求が要求されたチャネルを獲得することに成功したかどうかをソースに示すために、承諾信号が使用される。   Thus, from the previous discussion of FIG. 9 and embodiments of the present invention, in this packet switching crossbar implementation, a precharge and conditional discharge scheme is used to transmit data through the crossbar circuit during the transmission mode of operation. It will be understood that During the aforementioned arbitration mode of operation, bit lines are reused for collision detection and resolution, and word lines are used to carry asserted transmission requests. The 2-bit request / release signal can be used to specify whether a transmission request or a release request is asserted during a particular arbitration mode of operation. Assuming that a transmission request has been asserted, then a grant signal is used to indicate to the source whether the request has succeeded in acquiring the requested channel.

既存のワード線(入力バス)およびビット線(出力バス)は、前述した機能性の全てを実現するために使用され、それによって、これらの機能性の全てが、最小限のルーティングオーバーヘッドで達成されることを可能にする。   Existing word lines (input buses) and bit lines (output buses) are used to implement all of the functionality previously described, so that all of these functionalities are achieved with minimal routing overhead. Makes it possible to

図10A〜図10Dは、第1の実施形態に従って、各クロスバーセル20内に提供される回路をより詳細に示しており、ソース回路は、一度に単一の伝送要求を発行するだけであってもよい。図7および図8の前の考察から明らかなように、出力経路の各ビット線には、伝送回路を形成するために一対のトランジスタ710、715、720が提供され、これらのトランジスタのうちの一方は、その入力で、対応するワード線上の値を受信し、もう一方のトランジスタは、その入力で、関連する構成記憶素子700のルーティング値を受信する。プリチャージ動作段階中に、ディスチャージ信号は、論理0の値に設定され、条件付きディスチャージ回路705に、構成記憶回路700のコンテンツから各伝送回路のこれらのトランジスタ710、715、720を分離させる。しかしながら、プリチャージ動作が終了して、感知動作が開始したことを示すように、ディスチャージ信号がHighになる時、構成記憶素子700は、今度は、各伝送回路の第2のトランジスタ710、715、720を駆動するために使用される値を提供し、第1のトランジスタで受信される入力データに依存して、関連するビット線の選択的なディスチャージを引き起こすことが分かる。条件付きディスチャージ回路705もWL_b信号を使用し、図10Bは、WL_b信号がどのように発生し、図10Bの回路765がクロスバーセルあたり一度提供されるのかを示す。   10A-10D show in more detail the circuitry provided in each crossbar cell 20 according to the first embodiment, where the source circuit only issues a single transmission request at a time. Also good. As is apparent from the previous discussion of FIGS. 7 and 8, each bit line in the output path is provided with a pair of transistors 710, 715, 720 to form a transmission circuit, one of these transistors. Receives the value on the corresponding word line at its input and the other transistor receives the routing value of the associated configuration storage element 700 at its input. During the precharge phase, the discharge signal is set to a logic zero value, causing the conditional discharge circuit 705 to separate these transistors 710, 715, 720 of each transmission circuit from the contents of the configuration storage circuit 700. However, when the discharge signal goes high, indicating that the precharge operation has ended and the sensing operation has begun, the configuration memory element 700 will now have the second transistors 710, 715, It can be seen that it provides the value used to drive 720 and causes a selective discharge of the associated bit line depending on the input data received at the first transistor. Conditional discharge circuit 705 also uses the WL_b signal, and FIG. 10B shows how the WL_b signal is generated and circuit 765 of FIG. 10B is provided once per crossbar cell.

図10Aの右側に示されるように、ビット線のうちの1つは、ANDゲート732および関連するトランジスタ712によって形成される解放チャネル回路に接続される一方で、他の全てのビット線は、それぞれ、アービトレーション回路および関連する優先順位記憶素子717、742、および722、752に接続される。構成要素730、740、および750のそれぞれは、構成要素760と組み合わせて機能し、プリチャージ動作モード中に、関連するトランジスタ712、717、722を分離する、条件付きディスチャージ回路を提供する。具体的には、プリチャージ動作モード中は、ディスチャージ信号が低くなり、WL信号の値に関わらずブロック760からの出力を低くさせ、その結果、構成要素730、740、および750の出力を低くさせ、それによって、トランジスタ712、717、722をオフにする。   As shown on the right side of FIG. 10A, one of the bit lines is connected to an open channel circuit formed by AND gate 732 and associated transistor 712, while all other bit lines are each , To the arbitration circuit and associated priority storage elements 717, 742 and 722, 752. Each of the components 730, 740, and 750 function in combination with the component 760 to provide a conditional discharge circuit that isolates the associated transistors 712, 717, 722 during the precharge mode of operation. Specifically, during the precharge mode of operation, the discharge signal is low, causing the output from block 760 to be low regardless of the value of the WL signal, resulting in a low output for components 730, 740, and 750. , Thereby turning off transistors 712, 717, 722.

しかしながら、ディスチャージ信号が高くなる時、よってWL信号が高くなる場合、これは、論理1の値を構成要素760から出力させる。したがって、アービトレーション回路ならびに関連する優先順位記憶素子717、742、および722、752を検討すると、関連する記憶素子742、752も論理1の値を記憶する状況でのアサートされた伝送要求の場合、Release_b信号が高くなり(アサートされた解放要求ではなく、アサートされた伝送要求があるため)、したがって、ANDゲート743、753からの出力が高くなり、関連するトランジスタ717、722をそれぞれディスチャージさせ、それによって、前に論じた優先順位スキームが実装される。しかしながら、優先順位記憶素子のうちのいずれかが論理0の値を記憶している場合、またはアサートされた伝送要求が存在しないのでWL信号がアサートされない場合は、対応するトランジスタ717、722はディスチャージしない。   However, when the discharge signal goes high, and thus the WL signal goes high, this causes a logic 1 value to be output from component 760. Thus, considering the arbitration circuit and associated priority storage elements 717, 742, and 722, 752, in the case of an asserted transmission request in a situation where the associated storage elements 742, 752 also store a logic 1 value, Release_b The signal goes high (because there is an asserted transmission request, not an asserted release request), so the output from AND gates 743, 753 goes high, causing the associated transistors 717, 722 to discharge, respectively. The priority scheme discussed above is implemented. However, if any of the priority storage elements stores a logic zero value, or if the WL signal is not asserted because there is no asserted transmission request, the corresponding transistors 717, 722 will not discharge. .

同様に、解放回路712、732を検討すると、アサートされた解放要求が存在する場合、解放信号および入力0のワード線の両方が高く設定された場合、これは、解放トランジスタ712をディスチャージさせ、その後に、構成記憶素子700によってビット線が再サンプリングされ、ルーティング値が0にリセットされる。解放信号が高く設定されている間は、release_b信号が低くなり、それに応じて、解放されている同じビット線に接続された他のクロスバーセルの優先順位記憶素子は、解放トランジスタ712を介して実行されている解放動作に干渉することができない。   Similarly, considering release circuits 712, 732, if there is an asserted release request, if both the release signal and the input 0 word line are set high, this will cause release transistor 712 to discharge and then In addition, the configuration memory element 700 resamples the bit line and resets the routing value to zero. While the release signal is set high, the release_b signal is low, and accordingly, the priority storage elements of other crossbar cells connected to the same bit line being released execute through the release transistor 712. Can not interfere with the release operation.

図10Bは、アサートされた要求チャネルまたは解放チャネルの信号を認めるために使用される回路を示す。それは、要求/解放チャネルの信号が認められた場合にだけ高く設定される、WL信号を生成する。このWL信号は、次いで、構成記憶素子700を起動させるために使用される。同じWL(およびWL_b)信号が、条件付き解放回路705およびアービトレーション回路760を適切に動作させるためにも使用される。   FIG. 10B shows a circuit used to acknowledge an asserted request channel or release channel signal. It generates a WL signal that is set high only if a request / release channel signal is acknowledged. This WL signal is then used to activate the configuration storage element 700. The same WL (and WL_b) signal is also used to properly operate the conditional release circuit 705 and the arbitration circuit 760.

図10Cは、記憶された値を更新させるために、およびその更新された値に依存して承諾信号を発生させるために、構成記憶素子700の感知増幅器およびラッチ回路775に関連して提供される回路を示す。具体的には、センスイネーブル(SE)信号が設定され、かつWL信号が設定される場合、これは、設定されたQSE(認められたSE)信号をANDゲート770に出力させる。QSE信号が設定された場合、これは、対応するビット線上の電流値を感知増幅器およびラッチ回路775にサンプリングさせ、この実施例では、感知増幅器およびラッチ回路は、ビット線0に接続される。   FIG. 10C is provided in connection with the sense amplifier and latch circuit 775 of the configuration storage element 700 to update the stored value and to generate a compliance signal depending on the updated value. The circuit is shown. Specifically, if the sense enable (SE) signal is set and the WL signal is set, this causes the AND gate 770 to output the set QSE (acknowledged SE) signal. If the QSE signal is set, this causes the sense amplifier and latch circuit 775 to sample the current value on the corresponding bit line, which in this embodiment is connected to bit line 0.

承諾信号は、感知増幅器およびラッチ回路775の現在のコンテンツから発生する。具体的には、現在のコンテンツおよびWL信号に基づいて、NANDゲート780が、分離回路785にルーティングされる信号を出力する。分離回路785は、特定の行の中の1つのクロスバーセルだけが、承諾信号を駆動することを確実にする。具体的には、ソース回路が現在要求しようとしている列と関連するクロスバーセルだけが、承諾信号を生じさせることができる。したがって、この実施例では、伝送要求が高く設定され、かつワード線0上の入力が高く設定された場合、これは、論理1の値を、分離回路785の中のより低いトランジスタに提供させ、論理0の値を、より高いトランジスタに提供させ、それによって、インバータをオンにし、承諾信号を伝播させる(感知増幅器およびラッチ回路775が論理1の値を記憶している場合、承諾信号がアサートされる)。しかしながら、そうでない場合は、論理0の値がより下位のトランジスタに提供され、論理1の値がより上位のトランジスタに提供され、それによって、インバータをオフにさせ、いかなる承諾信号も伝播されない。   The acceptance signal is generated from the current contents of the sense amplifier and latch circuit 775. Specifically, the NAND gate 780 outputs a signal routed to the separation circuit 785 based on the current content and the WL signal. Isolation circuit 785 ensures that only one crossbar cell in a particular row drives the acceptance signal. In particular, only the crossbar cell associated with the column that the source circuit is currently requesting can generate an acceptance signal. Thus, in this embodiment, if the transmission requirement is set high and the input on word line 0 is set high, this causes the lower transistor in isolation circuit 785 to provide a logic 1 value, Causes the higher transistor to provide a logic zero value, thereby turning on the inverter and propagating the consent signal (if the sense amplifier and latch circuit 775 stores a logic one value, the consent signal is asserted. ) Otherwise, however, a logic 0 value is provided to the lower transistor and a logic 1 value is provided to the higher transistor, thereby turning off the inverter and not propagating any consent signal.

図10Dは、一実施形態による各優先順位記憶素子742、752の構造を示す。アサートされた解放要求が存在する場合、解放信号および入力0のワード線がどちらも高く設定されると、ANDゲート790は、論理1の値を出力する。ディスチャージ信号も論理1のレベルになる時、これは、ANDゲート791に、論理1の値を出力させ、かつトランジスタ792を介して負荷priority_b信号をディスチャージさせる。   FIG. 10D illustrates the structure of each priority storage element 742, 752 according to one embodiment. If there is an asserted release request, AND gate 790 outputs a logic 1 value when both the release signal and the input 0 word line are set high. When the discharge signal is also at a logic 1 level, this causes the AND gate 791 to output a logic 1 value and to discharge the load priority_b signal through transistor 792.

通常動作中、リセット信号は、論理0の値となり、したがって、reset_b信号は、論理1のレベルとなる。したがって、アサートされた解放要求を受信するクロスバーセルの中の全ての優先順位記憶素子(例えば、前に論じた図4Gに示される行194の中の優先順位記憶素子)について、ANDゲート795は、ディスチャージ信号が高い時に、3つの論理1の入力を受信し、中間の論理1の入力は、ORゲート794を介してANDゲート790の出力に由来する。その結果、トランジスタ796をオンにし、ANDゲート790から供給された論理1の値に基づいて、優先順位記憶素子798に、論理0の値をそれに記憶させる。   During normal operation, the reset signal has a logic zero value, and therefore the reset_b signal has a logic one level. Thus, for all priority storage elements in the crossbar cell that receive an asserted release request (eg, the priority storage element in row 194 shown in FIG. 4G previously discussed), AND gate 795 When the discharge signal is high, three logic 1 inputs are received, with the intermediate logic 1 input coming from the output of AND gate 790 via OR gate 794. As a result, the transistor 796 is turned on, and the logic 0 value is stored in the priority storage element 798 based on the logic 1 value supplied from the AND gate 790.

同様に、アサートされた解放要求によってディスチャージされるビット線に連結される全ての優先順位記憶素子(例えば、前に論じた図4Gに示される列192の中の優先順位記憶素子)について、ANDゲート795は、ディスチャージ信号が高い時に、3つの論理1の入力を受信し、中間の論理1の入力は、NANDゲート793の出力に由来する。具体的には、この時点で、負荷priority_b信号が論理0のレベルであるので、これは、NANDゲート793が、関連するビット線がディスチャージされた時に、論理1の出力だけしか生成しないことを確実にする。その結果、トランジスタ796をオンにし、ANDゲート790から供給された論理0の値に基づいて、優先順位記憶素子798に、論理1の値を記憶させる(優先順位記憶素子が、アサートされた解放要求を発行するソース回路に連結されていないクロスバーセル内に存在することになるので、この出力は、ディスチャージされたビット線に連結される優先順位記憶素子について、論理0の値である)。   Similarly, for all priority storage elements (eg, priority storage elements in column 192 shown in FIG. 4G discussed above) coupled to a bit line that is discharged by an asserted release request, an AND gate 795 receives three logic 1 inputs when the discharge signal is high, with the intermediate logic 1 input coming from the output of NAND gate 793. Specifically, since the load priority_b signal is at a logic 0 level at this point, this ensures that the NAND gate 793 produces only a logic 1 output when the associated bit line is discharged. To. As a result, the transistor 796 is turned on, and a logic 1 value is stored in the priority storage element 798 based on the logic 0 value supplied from the AND gate 790 (the priority storage element receives the asserted release request). This output will be a logic zero value for the priority storage element connected to the discharged bit line) because it will be in a crossbar cell that is not connected to the source circuit that issues.

行194または列192の中にない他の全ての優先順位記憶素子について、ANDゲート795の中間の入力は、論理0の値となり、それに応じて、優先順位の値に対していかなる更新も行われない。   For all other priority storage elements not in row 194 or column 192, the intermediate input of AND gate 795 is a logic zero value, and any updates to the priority value are made accordingly. Absent.

図10Dに示されるように、各優先順位記憶素子は、ブロック798に示される形態、またはブロック799に示される形態のいずれかを取ることができる。通常の使用中、リセット信号が低く、かつreset_b信号が高い時には、形態798のNANDゲートおよび形態799のNORゲートのどちらもインバータとして動作するので、どちらの形態も同じ様態で動作する。しかしながら、リセット動作中に、リセット信号が論理1のレベルに遷移すると、reset_b信号を論理0のレベルに遷移させ、その結果、形態798の優先順位記憶素子は、論理0の値を記憶し、形態799の優先順位記憶素子は、論理1の値を記憶する。したがって、優先順位記憶素子は、リセット信号に応じて元の構成に設定することができ、その後に、チャネルが解放されるたびに、そのチャネルのためのLRG優先順位スキームを実装するように、そのチャネルのための優先順位データが更新される。前述のように実装されるLRGスキームは、クロスバー回路内の各チャネルについて、独立に動作することを理解されるであろう。   As shown in FIG. 10D, each priority storage element can take either the form shown in block 798 or the form shown in block 799. During normal use, when the reset signal is low and the reset_b signal is high, both the NAND gate of form 798 and the NOR gate of form 799 operate as inverters, so both forms operate in the same manner. However, during a reset operation, when the reset signal transitions to a logic 1 level, the reset_b signal transitions to a logic 0 level, so that the priority storage element of form 798 stores a value of logic 0, The 799 priority storage element stores a logic 1 value. Thus, the priority storage element can be set to its original configuration in response to a reset signal, and then each time a channel is released, its priority is implemented to implement the LRG priority scheme for that channel. The priority data for the channel is updated. It will be appreciated that the LRG scheme implemented as described above operates independently for each channel in the crossbar circuit.

図11A〜図11Dは、本発明の代替の実施形態に従って各クロスバーセル内に提供される回路を示しており、各ソースは同時に複数の要求を発行することができる。これは、クロスバー内でマルチキャスティングを実行するための、より効率的な実現形態を可能にする。具体的には、図10A〜図10Dの実施形態において、ソース回路は、一度に1つのチャネルだけしか要求できないので、マルチキャスティングが要求される場合は、複数のチャネルを獲得するために、複数のアービトレーションサイクルを要求する。しかしながら、図11A〜図11Dの実施形態において、ソース回路は、同時に複数のチャネルに対する要求を発行することができ、また潜在的に、1つのアービトレーションサイクルで複数のチャネルを得ることができ、それによって、マルチキャスティングをより効率的に達成することを可能にする。   FIGS. 11A-11D illustrate circuitry provided in each crossbar cell according to an alternative embodiment of the present invention, where each source can issue multiple requests simultaneously. This allows for a more efficient implementation for performing multicasting within the crossbar. Specifically, in the embodiment of FIGS. 10A-10D, the source circuit can only request one channel at a time, so if multicasting is required, multiple sources are required to acquire multiple channels. Request an arbitration cycle. However, in the embodiment of FIGS. 11A-11D, the source circuit can issue requests for multiple channels at the same time, and potentially obtain multiple channels in one arbitration cycle, thereby Making it possible to achieve multicasting more efficiently.

図11A、図11B、および図11Dは、図10A、図10B、および図10Dと同一であり、故に、ここでは詳細に論じない。しかしながら、図11Cに示されるように、分離回路の必要性が全くないので、構成記憶回路の構造は、かなり単純化されている。代わりに、各列と関連して別個の承諾線が提供され、したがって、感知増幅器およびラッチ回路775の現在のコンテンツは、設定されたWL信号が存在する場合、承諾信号を直接的に生成するために使用することができる。具体的には、WL信号が設定された場合、ソース回路は、アサートされた伝送要求を発行し、感知増幅器およびラッチ回路775の現在のコンテンツは、伝送要求が成功したことを示す論理1の値に設定され、次いで、論理1の承諾信号が発行されてソース回路に返される。   FIGS. 11A, 11B, and 11D are identical to FIGS. 10A, 10B, and 10D and are therefore not discussed in detail here. However, as shown in FIG. 11C, since there is no need for an isolation circuit, the structure of the configuration memory circuit is considerably simplified. Instead, a separate consent line is provided in association with each column, so that the current content of the sense amplifier and latch circuit 775 directly generates an acceptance signal when a set WL signal is present. Can be used for Specifically, if the WL signal is set, the source circuit issues an asserted transmission request and the current content of the sense amplifier and latch circuit 775 is a logic 1 value indicating that the transmission request was successful. And then a logic 1 acceptance signal is issued and returned to the source circuit.

図12は、一実施形態による、各クロスバーセル内に提供される構成記憶回路(すなわち、感知増幅器およびラッチ回路)の配設を示す。図10Cおよび図11CのANDゲート770によって発生させたQSE信号は、インバータ850を通過してQSE_b信号を生成する。故に、QSE信号が高くなると、感知増幅器(感知増幅器はトランジスタ805、810、815、820によって形成される)の感知動作を開始するように、PMOSトランジスタ800が開かれる。感知動作の開始時、トランジスタ815および820は、オフにされる。トランジスタ805にルーティングされた入力線がディスチャージし始めると、これは、トランジスタ805をオンにし、中間ノードIをVddに引き上げる。その結果、これは、トランジスタ810をオンにし、短期間の後に感知増幅器内に正のフィードバックループを作成し、その時点で、感知増幅器は、その出力を発生させるために、接地へと遷移する入力信号にはもはや依存しない。   FIG. 12 illustrates an arrangement of configuration memory circuits (ie, sense amplifiers and latch circuits) provided within each crossbar cell, according to one embodiment. The QSE signal generated by AND gate 770 of FIGS. 10C and 11C passes through inverter 850 to generate the QSE_b signal. Thus, when the QSE signal goes high, the PMOS transistor 800 is opened to initiate the sensing operation of the sense amplifier (the sense amplifier is formed by transistors 805, 810, 815, 820). At the start of the sensing operation, transistors 815 and 820 are turned off. When the input line routed to transistor 805 begins to discharge, this turns on transistor 805 and pulls intermediate node I to Vdd. As a result, this turns on transistor 810, creating a positive feedback loop in the sense amplifier after a short period of time, at which point the sense amplifier transitions to ground to generate its output. No longer depends on the signal.

一連のトランジスタ825、830、835は、感知増幅器と、構成要素840および845から構成されるラッチとの間の転送機構として機能する。具体的には、動作の感知段階中に、トランジスタ830がオンになり、ラッチのコンテンツを、感知増幅器の中間ノードIの値によって決定することを可能にする。具体的には、感知増幅器への入力が論理0の値へと遷移する場合、これは、ラッチ内に論理0の値をラッチに記憶するために、中間ノードIをVddへと遷移させ、それによって、トランジスタ835をオンにさせることが分かるであろう。反対に、入力線がディスチャージしない場合、中間ノードの電圧は、論理0レベルに留まり、それによって、トランジスタ825をオンにし、ラッチ内に論理1の値を記憶させる。   A series of transistors 825, 830, 835 serve as a transfer mechanism between the sense amplifier and the latch comprised of components 840 and 845. Specifically, during the sensing phase of operation, transistor 830 is turned on, allowing the contents of the latch to be determined by the value of the sense amplifier's intermediate node I. Specifically, if the input to the sense amplifier transitions to a logic zero value, this causes the intermediate node I to transition to Vdd in order to store the logic zero value in the latch in the latch. Will turn on transistor 835. Conversely, if the input line does not discharge, the voltage at the intermediate node remains at a logic zero level, thereby turning on transistor 825 and storing a logic one value in the latch.

QSE信号が低くなるとすぐにトランジスタ830がオフになり、それによって、感知増幅器出力からラッチが分離されるため、ラッチは、QSE信号が高い期間中にだけ、その入力を更新することが理解されるであろう。   As soon as the QSE signal goes low, transistor 830 turns off, thereby isolating the latch from the sense amplifier output, so it is understood that the latch updates its input only during periods when the QSE signal is high. Will.

図13A〜図13Cは、SE信号およびディスチャージ信号の両方を生成するために一実施形態で使用されるパルス発生器回路を示す。図13Aは、構成要素860によっていくつかの遅延が導入された後に、SE信号からどのようにディスチャージ信号が生成されるかを示す。実際には、図13Aの回路はANDゲートとしての役割を果たし、SE信号と遅延バージョンのSE信号とのANDを行う。   13A-13C show a pulse generator circuit used in one embodiment to generate both the SE signal and the discharge signal. FIG. 13A shows how a discharge signal is generated from the SE signal after some delay is introduced by component 860. In practice, the circuit of FIG. 13A serves as an AND gate and performs an AND between the SE signal and a delayed version of the SE signal.

図13Bは、SE信号を作成するために使用される、リング発振器の設計を示す。発振入力信号が高い時に、これは、リング発振器を起動させてクロック信号を生成し、SE信号は、いくつかの遅延回路870を介したクロック信号に由来する。   FIG. 13B shows a ring oscillator design used to create the SE signal. When the oscillation input signal is high, this activates the ring oscillator to generate the clock signal, and the SE signal is derived from the clock signal through several delay circuits 870.

図13Cに示されように、SE信号が低くなる期間、つまりd1期間は、構成要素870によって決定され、ディスチャージが高くなる期間、つまりd2期間は、図13Aの遅延回路860によって決定される。   As shown in FIG. 13C, the period during which the SE signal is low, that is, the d1 period is determined by the component 870, and the period during which the discharge is high, that is, the d2 period, is determined by the delay circuit 860 in FIG.

電圧Vb_SEおよびVb_Dischargeは、遅延期間d1およびd2を制御するために使用され、具体的には、これらの電圧が低減された場合、それに応じて遅延期間が長くなる。   The voltages Vb_SE and Vb_Discharge are used to control the delay periods d1 and d2, and specifically, when these voltages are reduced, the delay period is lengthened accordingly.

クロックのポジティブエッジでは、データがワード線上に立ち上げられる。この時点では「ディスチャージ」信号が低いため、ビット線はワード線から分離されている。「d1」期間中、データは、ワード線上に留まり、ビット線は、完全にプリチャージされる。「d2」は、ビット線が条件付きでディスチャージされる期間である。同時に、SE信号が高くなり、感知増幅器は、ビット線のサンプリングを開始する。ちょうど感知増幅器が検出するのに十分なだけ、ビット線がディスチャージされる。これは、節電のために行われる。したがって、時間「d2」の後、「ディスチャージ」信号が低くなる一方で、SE信号は高いままである。   At the positive edge of the clock, data is raised on the word line. At this point, since the “discharge” signal is low, the bit line is separated from the word line. During the “d1” period, data remains on the word line and the bit line is fully precharged. “D2” is a period during which the bit line is conditionally discharged. At the same time, the SE signal goes high and the sense amplifier starts sampling the bit line. The bit line is discharged just enough for the sense amplifier to detect. This is done to save power. Thus, after time “d2”, the “discharge” signal goes low while the SE signal remains high.

図14は、図10Bおよび図11Bに記載のchannel_free信号が、一実施形態に従ってどのように生成されるかを概略的に示す。具体的には、示されるように、特定の出力チャネルに接続されたクロスバーセル内の種々の構成記憶回路900、905、910からの出力が、ORゲート902、907、912によってともに論理的にORが行われ、次いで、インバータ915によってその結果が反転される。したがって、構成記憶回路のうちのいずれかが論理1のルーティング値を記憶する場合は、channel_free信号が論理0の値となり、該構成記憶回路の全てが論理0のルーティング値を記憶する場合にだけ、channel_free信号が1に設定されることが分かる。したがって、アービトレーション動作モードの開始時点で、構成記憶回路のうちの1つが既に論理1の値に設定されており、ソース回路が既にそのチャネルのオーナーシップを有することを示している場合、その時点ではどのアサートされた伝送要求も承諾されず、そのチャネルが解放された時にだけ、別のソースが要求を行うことを可能にし、そのチャネルが承諾される。   FIG. 14 schematically illustrates how the channel_free signal described in FIGS. 10B and 11B is generated according to one embodiment. Specifically, as shown, the outputs from the various configuration memory circuits 900, 905, 910 in the crossbar cell connected to a particular output channel are logically ORed together by OR gates 902, 907, 912. And then the result is inverted by inverter 915. Therefore, if any of the configuration storage circuits stores a logic 1 routing value, the channel_free signal will be a logic 0 value and only if all of the configuration storage circuits store a logic 0 routing value. It can be seen that the channel_free signal is set to 1. Thus, at the start of the arbitration mode of operation, if one of the configuration storage circuits is already set to a logic 1 value, indicating that the source circuit already has ownership of the channel, then at that time No asserted transmission request is accepted, and only when the channel is released allows another source to make the request and the channel is granted.

前述の実施形態では、出力データ線が高くプリチャージされるので、静的な高い入力が、クロックサイクルごとにそれらのデータ線をディスチャージさせることになる。図15A〜図15Eは、これを軽減するために使用することができ、それによって、電力消費を低減する、符号化スキームを示す。具体的には、図15Aは、ソースとクロスバーの入力データ経路との間に配置されてもよい、符号化器回路を示し、図15Bは、感知増幅器65の出力と宛先回路との間に配置されてもよい、関連する復号器回路を示す。最初に図15Aの符号化器回路を検討すると、新しいデータの各アイテムは、フリップフロップ600内にラッチされ、古いデータは、NANDゲート605を介してフリップフロップ610に伝播される。次いで、比較器615が新しいデータを古いデータと比較し、差異があればいつでも論理0の値をインバータ620に出力させ、その結果、論理1の値が符号化器回路によって出力される。したがって、提供された入力データから、符号化器は、入力データが論理0の値から論理1の値に、または論理1の値から論理0の値に変化するたびに、論理1の値によって分離される論理0の値を生成する。クロスバーセルの前述の考察から、データ出力線は、このような論理1の値が現れた時にだけディスチャージされ、それによって、プリチャージ動作と関連する電力消費を大幅に低減することを認識されるであろう。   In the embodiment described above, the output data lines are precharged high, so a static high input will cause the data lines to discharge every clock cycle. FIGS. 15A-15E illustrate an encoding scheme that can be used to mitigate this, thereby reducing power consumption. Specifically, FIG. 15A shows an encoder circuit that may be placed between the source and the crossbar input data path, and FIG. 15B shows between the output of the sense amplifier 65 and the destination circuit. Fig. 4 shows an associated decoder circuit that may be arranged. Considering the encoder circuit of FIG. 15A first, each item of new data is latched in flip-flop 600 and the old data is propagated to flip-flop 610 via NAND gate 605. The comparator 615 then compares the new data with the old data and causes a logic 0 value to be output to the inverter 620 whenever there is a difference, so that a logic 1 value is output by the encoder circuit. Thus, from the provided input data, the encoder separates by a logic 1 value whenever the input data changes from a logic 0 value to a logic 1 value or from a logic 1 value to a logic 0 value. To generate a logic 0 value. From the foregoing discussion of the crossbar cell, it can be appreciated that the data output line is only discharged when such a logic 1 value appears, thereby significantly reducing the power consumption associated with precharge operation. I will.

第1のデータアイテムが入力された時には、それに対していかなる以前のデータも比較されず、それに応じて、フリップフロップ610内の初期状態を設定するために、sync信号を使用する。さらに、クロスバーを新しい構成に切り替えるたびに、符号化器ハードウェアを(クロックサイクルを費やさずに)再設定するように、同期化パルスを使用することができる。   When the first data item is input, no previous data is compared to it, and the sync signal is used to set the initial state in flip-flop 610 accordingly. In addition, synchronization pulses can be used to reconfigure the encoder hardware (without consuming clock cycles) each time the crossbar is switched to a new configuration.

対応する復号器回路を図15Bに示す。構成要素630および635の構造は、構成要素660によって図15Cに概略的に示す。示されるように、このような構成要素は、実際に、直列に接続された一連のトランジスタ665、670、675、680から成る。   The corresponding decoder circuit is shown in FIG. 15B. The structure of components 630 and 635 is schematically illustrated in FIG. 15C by component 660. As shown, such a component actually consists of a series of transistors 665, 670, 675, 680 connected in series.

sync_d信号は、sync信号と同じであるが、1クロックサイクルだけ遅延される。sync_d_b信号は、逆sync_d信号である。これらの3つの信号の関係を図15Eに示す。sync信号は、アクティブロー信号であり、したがって、通常動作の下で(回路が新しい構成に切り替えられていない時)、syncおよびsync_dは、高い論理1レベルになる一方で、sync_d_b信号は、低い論理0レベルになることに留意されたい。   The sync_d signal is the same as the sync signal, but is delayed by one clock cycle. The sync_d_b signal is an inverse sync_d signal. The relationship between these three signals is shown in FIG. 15E. The sync signal is an active low signal, therefore, under normal operation (when the circuit is not switched to a new configuration), sync and sync_d are at a high logic 1 level, while the sync_d_b signal is at a low logic level. Note that it is at level 0.

図15Bから分かるように、復号器は、感知増幅器、クロック信号、およびsync_d_b信号から出力を受信し、一連のNANDゲート645、650、655を介して、内部クロック信号をフリップフロップ640に提供する。フリップフロップ640からの出力は、出力を宛先回路に駆動し、感知増幅器を介して受信される符合化した出力から、元の入力データを再作成する。   As can be seen from FIG. 15B, the decoder receives outputs from the sense amplifier, the clock signal, and the sync_d_b signal and provides the internal clock signal to flip-flop 640 via a series of NAND gates 645, 650, 655. The output from flip-flop 640 drives the output to the destination circuit and recreates the original input data from the encoded output received via the sense amplifier.

通常動作において、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がそれを反転した後に)取り込む。   In normal operation, since the sync signal is at a logic 1 level and the sync_d_b signal is at a logic 0 level, component 635 is activated while component 630 is deactivated. Three NAND gates 645, 650, 655 provide a pulse to flip-flop 640 when the sense amplifier detects a transition and transmits a high signal. When a switch to a new configuration occurs, the sync and sync_d signals go low while the sync_d_b signal goes high. Thus, at that time, component 630 is activated while component 635 is deactivated. As a result, instead of toggling the previous data through inverter 635, flip-flop 640 takes the data from the sense amplifier (after component 630 inverts it).

図15Dは、符号化器回路への入力データ、結果として生じる符合化器回路からの符号化データ出力、符号化データが高くなるたびにディスチャージされる、対応するビット線の指示を示し、また、感知増幅器から受信した情報に基づいて、復号器回路によって生成される出力データを示す。出力データが、符号化器に渡された入力データを忠実に再生することが分かる。   FIG. 15D shows the input data to the encoder circuit, the resulting encoded data output from the encoder circuit, the indication of the corresponding bit line that is discharged each time the encoded data is high, and Fig. 4 illustrates output data generated by a decoder circuit based on information received from a sense amplifier. It can be seen that the output data faithfully reproduces the input data passed to the encoder.

前述した実施形態では、クロスバー回路のサイズは、入力バスおよび出力バスのサイズに対応する。したがって、16本のワード線を提供する入力バスおよび16本のビット線を提供する出力バスを検討して、16×16のクロスバー回路を論じてきた。しかしながら、該技法は、入力バスおよび出力バスの幅よりも大きいクロスバーセルのアレイを有するクロスバー回路を用いて動作させるように適合させることもできる(本明細書では、狭チャネル設計と称する)。   In the embodiment described above, the size of the crossbar circuit corresponds to the sizes of the input bus and the output bus. Thus, a 16 × 16 crossbar circuit has been discussed, considering an input bus providing 16 word lines and an output bus providing 16 bit lines. However, the technique can also be adapted to operate with a crossbar circuit having an array of crossbar cells larger than the width of the input and output buses (referred to herein as a narrow channel design).

最初に狭チャネル設計を検討すると、図16はそのような狭チャネル設計を実装するための一実施形態を示す。この特定の実施例では、クロスバーセル20の64×64のアレイがクロスバー内に提供されており、ここでも、プリチャージモジュール55が、クロスバーを通るビット線をプリチャージするために使用されると仮定する。しかしながら、データ入力経路およびデータ出力経路は、わずか16ビットの幅しかなく、故に、単一のサイクルで前述のアービトレーションプロセスを実行することは不可能である。その代わりに、そのような実施形態では、クロスバーをいくつかのセクションに分割することができ、この実施例では、クロスバーが、4つのセクション1010、1020、1030に分割され、カウンタ1040は、現在どのセクションが起動しているのかを識別するために使用される。したがって、そのアービトレーションサイクルにおけるアービトレーション中に、どのセクションを機能させるかを選択するために、アービトレーションサイクルごとにカウンタをインクリメントすることができる。各セクションは、それでも各行に64のクロスバーセルを有するため、データ入力経路1000自体が、アサートされた伝送要求によって個々のデータ出力経路を識別することを可能にしないことは明らかである。したがって、一実施形態では、関連するソース回路によってどのデータ出力経路が要求されているのかを識別するために、伝送要求をアサートする時に、2ビットの付加的な信号1002が提供される。   Considering first a narrow channel design, FIG. 16 shows one embodiment for implementing such a narrow channel design. In this particular embodiment, a 64 × 64 array of crossbar cells 20 is provided in the crossbar, where again the precharge module 55 is used to precharge the bit lines passing through the crossbar. Assume that However, the data input path and data output path are only 16 bits wide, so it is impossible to perform the aforementioned arbitration process in a single cycle. Instead, in such an embodiment, the crossbar can be divided into several sections, in this example the crossbar is divided into four sections 1010, 1020, 1030, and the counter 1040 is Used to identify which section is currently active. Thus, the counter can be incremented every arbitration cycle to select which section to function during the arbitration in that arbitration cycle. Obviously, because each section still has 64 crossbar cells in each row, the data input path 1000 itself does not allow individual data output paths to be identified by asserted transmission requests. Thus, in one embodiment, a 2-bit additional signal 1002 is provided when asserting a transmission request to identify which data output path is requested by the associated source circuit.

したがって、カウンタが00の値を有する時、ソース0〜15からのアサートされた伝送要求だけが検討され、各データ出力経路には、そのデータ出力経路へのアクセスを要求しているソース0〜15の中で最も高い優先順位のソースが、次の伝送サイクルでデータを転送するためのアクセスを承諾される。そのようなアービトレーションおよび伝送シーケンスの後、次いで、カウンタが01にインクリメントされ、次のアービトレーションサイクルでは、ソース16〜31からのアサートされた伝送要求だけが検討される。このプロセスは、各セクションについて順々に繰り返される。その結果、図16の実施例の寸法について、任意の所与のアサートされた伝送要求に対するアービトレーション待ち時間は、1サイクルから4サイクルまで変動することが理解されるであろう。例えば、カウントが00であるアービトレーションサイクルで、ソース0が伝送要求をアサートする場合、その要求はそのサイクルの中ですぐにアービトレートされ、セクション1の中で最も優先順位の高い要求である場合、該要求は承諾される。しかしながら、カウントが01の時にソース0が伝送要求をアサートする場合、カウンタが00に戻る(それに応じて、セクション1の1010がアービトレートされる)時に、次の第4のアービトレーションサイクルまで、その要求は、アービトレーションの候補にさえならない。   Thus, when the counter has a value of 00, only asserted transmission requests from sources 0-15 are considered and each data output path has a source 0-15 requesting access to that data output path. The highest priority source is granted access to transfer data in the next transmission cycle. After such an arbitration and transmission sequence, the counter is then incremented to 01 and only the asserted transmission requests from sources 16-31 are considered in the next arbitration cycle. This process is repeated in turn for each section. As a result, it will be appreciated that for the dimensions of the embodiment of FIG. 16, the arbitration latency for any given asserted transmission request varies from one to four cycles. For example, in an arbitration cycle where the count is 00, if source 0 asserts a transmission request, that request is arbitrated immediately in that cycle, and if it is the highest priority request in section 1, The request is accepted. However, if source 0 asserts a transmission request when the count is 01, when the counter returns to 00 (correspondingly, section 1 1010 is arbitrated), until the next fourth arbitration cycle, the request It ’s not even a candidate for arbitration.

そのような手法の利点は、配線および論理のオーバーヘッドが最小限であり、したがって、該解決法が、アービトレーション待ち時間の変動を許容することができる状況下で、良好な解決法を提供することである。しかしながら、セクションの数が増加するにつれて、最悪の場合のアービトレーション待ち時間も増加することに留意すべきである。   The advantage of such an approach is that it provides a good solution in situations where wiring and logic overhead is minimal and therefore the solution can tolerate variations in arbitration latency. is there. However, it should be noted that the worst-case arbitration latency increases as the number of sections increases.

図17Aおよび図17Bは、クロスバーがここでもセクションに分割されているが、その場合、アービトレーションが階層的に2つのステップで行われる、代替の実施形態を示す。第1のステップでは、セクションの間でアービトレーションが実行され、次いで第2のステップにおいて、アービトレーションは、所与のセクションの中の全てのアサートされた伝送要求の間で実行される。同じビット線群がどちらのアービトレーションステップにも使用される。この実施例では、クロスバーセルは、20’という数字で表され、クロスバーセルのそれぞれは、基本的に前述したように構成されているが、ここでは、各クロスバーセルが2つの感知増幅器有効化ラッチ(SAEL)を含み、第1のSAELは、第1のアービトレーションサイクルで使用され、第2のSAELは、第2のアービトレーションサイクルで使用される。   FIGS. 17A and 17B show an alternative embodiment in which the crossbar is again divided into sections, in which case arbitration is performed in two steps hierarchically. In the first step, arbitration is performed between sections, and then in a second step, arbitration is performed between all asserted transmission requests in a given section. The same bit line group is used for both arbitration steps. In this embodiment, the crossbar cells are represented by the number 20 ', and each of the crossbar cells is basically configured as described above, but here each crossbar cell has two sense amplifier enable latches. (SAEL), the first SAEL is used in the first arbitration cycle, and the second SAEL is used in the second arbitration cycle.

したがって、アービトレーションサイクル1では、セクション1050、1060、1070、1080のそれぞれが検討されるが、所与のセクション内の特定のデータ出力経路に対する個々のクロスバーセル20’は、ボックス1052、1062、1072、1082によって概略的に示されるように、事実上組み合わせて検討される。具体的には、16ビットのチャネルを伴う図17Aの64×64クロスバーの例を検討すると、その場合、4つの別個のセクション1050、1060、1070、1080のそれぞれは、相対的な優先順位を有する。セクション1が最も高い優先順位を有する場合、ソース0〜15からの任意のアサートされた伝送要求が、セクション2、3、および4(すなわち、セクション1060、1070、1080)に対するビット線をディスチャージさせる。その結果、セクション1では第1の組のSAELが論理1の値をラッチし、他のセクションでは第1の組のSAELが論理0の値をラッチする。   Thus, in arbitration cycle 1, each of sections 1050, 1060, 1070, 1080 is considered, but the individual crossbar cells 20 ′ for a particular data output path within a given section can be Considered virtually in combination, as schematically illustrated by 1082. Specifically, considering the example of the 64 × 64 crossbar of FIG. 17A with a 16-bit channel, each of the four separate sections 1050, 1060, 1070, 1080 has a relative priority. Have. If section 1 has the highest priority, any asserted transmission request from source 0-15 causes the bit lines for sections 2, 3, and 4 (ie, sections 1060, 1070, 1080) to be discharged. As a result, in section 1, the first set of SAELs latches logic 1 values, and in the other sections, the first set of SAELs latch logic 0 values.

次のアービトレーションサイクルでは、図17Bに示されるように、セクション0の中の要求だけ(前述したイベントのシーケンスと仮定して)が、アービトレーションのためにビット線を使用する。現在、このセクション1050内で実行されるプロセスは、前述した通りであり、すなわち、ビット線は、プリチャージされ、次いで、各クロスバーセル内に記憶された優先順位情報に従って、選択的にディスチャージされる。図16で前述したように、どの出力経路が、ワード線1000上で16ビット値の入力によって要求されているかを認めるために、追加の2ビット信号1002が使用される。任意の特定のデータ出力線に対する複数の要求については、その場合、ソース0〜15の中で最も優先順位の高い要求がアクセスを承諾され、第2の組のSAELが標準的な様態でビット線を感知する。特定のソースに承諾が与えられたかどうかを判定するために、次いで、クロスバーセル20’のどちらのSAELも検討する必要があり、具体的には、それらの両方が論理1の値を記憶する場合に、承諾信号が生成されてソースへと返される。   In the next arbitration cycle, as shown in FIG. 17B, only the requests in section 0 (assuming the sequence of events described above) use the bit line for arbitration. Currently, the process performed in this section 1050 is as described above, ie the bit lines are precharged and then selectively discharged according to the priority information stored in each crossbar cell. . As described above in FIG. 16, an additional 2-bit signal 1002 is used to recognize which output path is required on the word line 1000 by input of a 16-bit value. For multiple requests for any particular data output line, then the request with the highest priority among the sources 0-15 is granted access, and the second set of SAELs is the bit line in a standard manner. Sense. In order to determine whether consent has been granted for a particular source, then both SAELs in the crossbar cell 20 'need to be considered, specifically if they both store a logic one value. In response, an acceptance signal is generated and returned to the source.

そのような手法は、何らかの付加的な論理を犠牲にして、固定2サイクルのアービトレーション待ち時間を有するが、いかなる付加的な相互接続構造も有さない。1チャネルの中に16本のビット線があることで、潜在的に16のセクション間でアービトレートすることが可能になり、各セクションは16の要求を含む。したがって、アービトレーション待ち時間は、1つのクロスバーについて2つのサイクルで、最高256×256のクロスバーを保持することができる。   Such an approach has a fixed two-cycle arbitration latency at the expense of some additional logic, but does not have any additional interconnect structure. Having 16 bit lines in a channel can potentially arbitrate between 16 sections, each section containing 16 requests. Thus, the arbitration latency can hold up to 256 × 256 crossbars in two cycles for one crossbar.

図17A/図17Bの手法の一実施形態では、2組の優先順位記憶素子を各クロスバーセルに提供することができ、1つの組は、第1のアービトレーションサイクルと関連して使用され(第1の組のSAELが使用される)、1つの組は、第2のアービトレーションサイクルと関連して使用される(第2の組のSAELが使用される)。   In one embodiment of the approach of FIG. 17A / B, two sets of priority storage elements can be provided for each crossbar cell, one set used in conjunction with the first arbitration cycle (first One set is used in conjunction with the second arbitration cycle (the second set SAEL is used).

図18は、データ入力経路に沿って、データ入力値をそれらのデータ入力経路に接続された種々のクロスバーセル20に伝播させるために、ワード線ドライバ1200、1205、1210のシーケンスが使用される、部分的に起動されたネットワークの実施形態を示す。このような部分的に起動されたネットワークがなければ、それが必要とされない状況でデータ入力経路全体に沿ってデータを伝播させる際に、かなりの電力が消費され得る。   FIG. 18 shows that a sequence of word line drivers 1200, 1205, 1210 is used to propagate data input values along the data input paths to the various crossbar cells 20 connected to those data input paths. Fig. 3 shows an embodiment of a partially activated network. Without such a partially activated network, considerable power can be consumed in propagating data along the entire data input path in situations where it is not needed.

しかしながら、データ入力経路に沿って残りのクロスバーセルのそれぞれに記憶されるルーティング値に由来する信号に基づいて、ワード線ドライバのそれぞれが条件付きで起動される、図18に提示される、部分的に起動させたネットワーク手法を使用することによって、節電を達成することができる。具体的には、示されるように、特定のクロスバーセルに記憶されるルーティング値は、他の全てのクロスバーセルに保持されるルーティング値によって、特定の行の中でその右側に論理的にORされ、ワード線ドライバがそのチェーン内で到達する地点におけるその信号の値に依存して、各ワード線ドライバ1200、1205、1210が起動される。   However, based on signals derived from routing values stored in each of the remaining crossbar cells along the data input path, each of the word line drivers is conditionally activated, presented in FIG. Power saving can be achieved by using the network approach activated in Specifically, as shown, the routing value stored in a particular crossbar cell is logically ORed to the right in a particular row by the routing value held in all other crossbar cells. Depending on the value of the signal at the point where the word line driver arrives in the chain, each word line driver 1200, 1205, 1210 is activated.

したがって、前述した実施例において、行0の中の最初の15のクロスバーセルのうちの少なくとも1つは、そのルーティング値が1に設定されており、対応するソースは、出力経路0〜15のうちの1つへのアクセスが承諾されているが、その行のさらに右側にある他のクロスバーセルは、いずれもルーティング値が1に設定されておらず、その場合、ワード線ドライバ1205および1210がどちらも論理0の起動信号を受信する一方で、ワード線ドライバ1200が論理1の起動信号を受信することを示している。図18の下半分の回路に示されるように、ワード線ドライバ(例示を目的として、ワード線ドライバ1200が検討されているが、ワード線ドライバの全てが同様に構成されている)のそれぞれには、ワード線ドライバを選択的に起動するために起動信号が使用される。具体的には、ワード線ドライバ内の主インバータ1260は、起動信号が高い場合にだけ起動され、これは、トランジスタ1250および1255の両方をオンにさせる。起動信号が低い時に、これらのトランジスタはオンにならず、インバータ1260は起動されない。起動されると、インバータ1260および1265は、データ入力経路に沿ってさらに伝播させるために入力データを増幅するように、一緒に作動する。   Therefore, in the embodiment described above, at least one of the first 15 crossbar cells in row 0 has its routing value set to 1, and the corresponding source is one of the output paths 0-15. Access to one of the other crossbar cells, but none of the other crossbar cells to the right of the row has a routing value set to 1, in which case the word line drivers 1205 and 1210 are 2 also shows that the word line driver 1200 receives a logic 1 activation signal while receiving a logic 0 activation signal. As shown in the lower half circuit of FIG. 18, each of the word line drivers (for the purposes of illustration, the word line driver 1200 is considered, but all of the word line drivers are similarly configured) The activation signal is used to selectively activate the word line driver. Specifically, the main inverter 1260 in the word line driver is activated only when the activation signal is high, which turns on both transistors 1250 and 1255. When the activation signal is low, these transistors are not turned on and the inverter 1260 is not activated. When activated, inverters 1260 and 1265 operate together to amplify input data for further propagation along the data input path.

したがって、図18を参照して論じられる実施形態において、その後に残りのクロスバーセルスイッチがオフにされるチャネルを超えて、データがワード線上で駆動されることはない。これは、有用な節電スキームを大きなクロスバーに提供することができ、めったにマルチキャスティングを行わない実装で特に良好な節電をもたらすことができる。   Thus, in the embodiment discussed with reference to FIG. 18, no data is driven on the word line beyond the channel after which the remaining crossbar cell switches are turned off. This can provide a useful power saving scheme for large crossbars, and can result in particularly good power savings in implementations that rarely do multicasting.

実施形態の前述の説明から、このような実施形態は、マルチコアアプリケーションに必要とされ得るような、非常に大きいクロスバーを設計するために使用することができる、新規なクロスバー実装スキームを提供することが分かるであろう。本発明の実施形態のクロスバー回路は、コンフリクトを検出して解決し、それに応じて各クロスバーセル内の構成記憶素子をプログラムするように、アービトレーション動作モード中にデータ出力線を再使用する。提案した本発明の実施形態の実装は、クロスバーの設計が可能な最小の面積を使用する。交差点の数ならびに各交差点に組み込まれる論理の数の両方が増大する、典型的な従来技術の実装とは対照的に、本発明の実施形態によれば、交差点の数だけしか増大しない。   From the foregoing description of the embodiments, such embodiments provide a novel crossbar implementation scheme that can be used to design very large crossbars as may be required for multi-core applications. You will understand. The crossbar circuit of embodiments of the present invention reuses data output lines during the arbitration mode of operation to detect and resolve conflicts and program configuration memory elements in each crossbar cell accordingly. The implementation of the proposed embodiment of the present invention uses the smallest area where a crossbar design is possible. In contrast to typical prior art implementations where both the number of intersections as well as the number of logic incorporated into each intersection is increased, according to embodiments of the present invention, only the number of intersections is increased.

クロスバーセルのアレイのサイズが入力および出力チャネルの幅を超えない実施形態の場合、単一のサイクルでアービトレーションを実行することが可能であり、それによって、アービトレーションを実行する際の遅延オーバーヘッドが最小限に抑えられる。さらに、実施形態は、アービトレーション回路によって、優先順位スキームの各適用の間に、ビット線に記憶される優先順位データを自己更新するように該ビット線を再使用する、優先順位記憶回路を提供し、それによって、LRG優先順位スキーム等の適応型優先順位スキームを実装するための、非常に効率的で、高速で、拡張性のある機構を提供する。   For embodiments where the size of the array of crossbar cells does not exceed the width of the input and output channels, it is possible to perform the arbitration in a single cycle, thereby minimizing the delay overhead when performing the arbitration Can be suppressed. In addition, embodiments provide a priority storage circuit that reuses a bit line by the arbitration circuit to self-update the priority data stored on the bit line during each application of the priority scheme. Thereby providing a highly efficient, fast and scalable mechanism for implementing an adaptive priority scheme such as the LRG priority scheme.

さらに、アービターをクロスバーと統合することにより、その2つの間の通信オーバーヘッドが排除される。   Furthermore, integrating the arbiter with the crossbar eliminates communication overhead between the two.

加えて、前述の実施形態のクロスバーセル構造を採用した時に、各入力データ経路上に入力データを提供するために使用される、伝送回路のサイズも、駆動回路のサイズも、クロスバー回路のサイズが増加した時に、サイズを増加させる必要がない。さらに、単一の入力データ値が複数の出力経路に同報通信される、マルチキャスティングをサポートするために、いかなる付加的なハードウェアまたはサイジングも不要である。   In addition, when the crossbar cell structure of the above-described embodiment is adopted, the size of the transmission circuit, the size of the drive circuit, the size of the crossbar circuit used to provide input data on each input data path When increases, there is no need to increase the size. In addition, no additional hardware or sizing is required to support multicasting where a single input data value is broadcast to multiple output paths.

さらに、前述の実施形態には標準的な構造が採用されるため、ルーティングは、典型的な従来技術の手法よりもかなり直接的になる。   Furthermore, routing is much more straightforward than typical prior art approaches because the standard structure is employed in the above-described embodiments.

本発明の実施形態において、入力は、例えば、マルチプレクシング技法を採用している典型的な従来技術のクロスバーで必要とされ得るような、異なるバスからの同じビットを備えるパケットとしてではなく、バスとしてクロスバーの中に供給される。これは、ワイドバスの相互接続として、本発明の実施形態のクロスバー回路を利用し易くする。   In an embodiment of the present invention, the input is not as a packet with the same bits from different buses, for example as may be required by a typical prior art crossbar employing multiplexing techniques. As supplied in the crossbar. This facilitates the use of the crossbar circuit of the embodiment of the present invention as a wide bus interconnection.

本発明の実施形態のクロスバー回路の設計により、クロスバーを通しての遅延は、サイズとともに直線的に増大する。これは、このような実施形態のクロスバー回路を、128×128または256×256入力/出力のクロスバー等の、非常に大きいクロスバーに容易に使用できるようにする。   Due to the crossbar circuit design of embodiments of the present invention, the delay through the crossbar increases linearly with size. This allows the crossbar circuit of such an embodiment to be easily used for very large crossbars, such as 128 × 128 or 256 × 256 input / output crossbars.

前述のように、本設計は、非常に標準的であり、全てのチャネルにわたる遅延は均一である。さらに、入力は、いずれの水平端部からも供給することができ、出力は、いずれの垂直端部でも利用できる。これは、ルーティングの輻輳を低減することによって、設計フロアプランニングを容易にする。   As mentioned above, this design is very standard and the delay across all channels is uniform. Furthermore, the input can be supplied from any horizontal end and the output can be used at any vertical end. This facilitates design floorplanning by reducing routing congestion.

本発明の実施形態のクロスバー回路の標準ビットセル様アーキテクチャに起因して、クロスバー回路の設計およびレイアウトは、既存のCAD(コンピュータ支援設計)フロープロセスに容易に統合することができる。   Due to the standard bit cell-like architecture of the crossbar circuit of embodiments of the present invention, the design and layout of the crossbar circuit can be easily integrated into an existing CAD (Computer Aided Design) flow process.

従来技術の技法と比較すると、本発明の実施形態のクロスバー回路は、相互接続のサイズがより小さい、高速感知技法を採用したため、より迅速に動作しながらも、消費する電力はより少ない。   Compared to prior art techniques, the crossbar circuit of the embodiments of the present invention employs a high speed sensing technique with smaller interconnect size, so it consumes less power while operating more quickly.

本明細書では、本発明の特定の一実施形態を説明したが、本発明は、それに限定されるものではなく、本発明の範囲内で、多数の変更および追加が行われ得ることは明白であろう。例えば、本発明の範囲を逸脱しない範囲で、以下の従属請求項の特徴の、独立請求項の特徴との種々の組み合わせを行うことができる。   Although a particular embodiment of the present invention has been described herein, the present invention is not limited thereto and it will be apparent that numerous changes and additions may be made within the scope of the invention. I will. For example, various combinations of the features of the following dependent claims with the features of the independent claims can be made without departing from the scope of the present invention.

10 入力データ
12 データ入力経路
20 クロスバーセル
30 ソース回路
40 宛先回路
50 データ出力経路
55 プリチャージモジュール
65 感知増幅器回路
70 出力データ
DESCRIPTION OF SYMBOLS 10 Input data 12 Data input path 20 Crossbar cell 30 Source circuit 40 Destination circuit 50 Data output path 55 Precharge module 65 Sense amplifier circuit 70 Output data

Claims (31)

複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの1つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、
前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの1つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路と、
前記データ入力経路のうちの1つと、前記データ出力経路のうちの1つとの間の各交差点と関連するクロスバーセルであって、各クロスバーセルは、
前記複数のビット線のうちの少なくとも1つの電圧に依存してルーティング値を記憶するように、アービトレーション動作モードでプログラムできる、構成記憶回路であって、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されないことを、第2の値が示すようにプログラムされる、構成記憶回路と、
伝送動作モードで、前記データ入力経路の前記ワード線に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路の前記ビット線上に出力するように、前記第1の値を有する前記ルーティング値に応答する、伝送回路と、
前記関連する交差点の前記データ入力経路に接続された前記ソース回路から前記クロスバーセルによって受信された伝送要求に依存して、前記アービトレーション動作モードで動作する、アービトレーション回路であって、前記ソース回路が、前記関連する交差点において、前記データ入力経路から前記データ出力経路にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルの前記アービトレーション回路と組み合わせて動作して、前記複数のビット線の前記電圧を選択的に修正するように配設され、よって、前記同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路と関連する唯一のクロスバーセルの前記構成記憶回路は、前記第1の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション回路と、
前記適応型優先順位スキームを適用するために、前記複数のビット線のうちのどれが、前記関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、
前記アービトレーション回路による前記適応型優先順位スキームの各適用の間に、前記複数のビット線のうちの少なくとも1つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するように構成される、優先順位記憶回路と、
を備える、クロスバーセルと、
を備える、クロスバー回路。
A plurality of source circuits and a plurality of destination circuits are interconnected, so that data input from any of the plurality of source circuits to a crossbar circuit is output to any of the plurality of destination circuits A crossbar circuit that can
A plurality of data input paths passing through the crossbar circuit, each data input path being connectable to one of the plurality of source circuits and providing a plurality of word lines; Data entry path,
A plurality of data output paths passing through the crossbar circuit traversing the plurality of data input paths, each data output path being connectable to one of the plurality of destination circuits; A plurality of data output paths providing a plurality of bit lines;
A crossbar cell associated with each intersection between one of the data input paths and one of the data output paths, wherein each crossbar cell
To store a routing value in dependence on at least one voltage of the plurality of bit lines can be programmed with arbitration operation mode, a configuration storage circuit, said routing value, the data input path A first value is programmed to indicate that data input to the associated intersection along the word line is output on the bit line of the data output path at the associated intersection, and the routing The value indicates that a data input to the associated intersection along the word line of the data input path is not output on the bit line of the data output path at the associated intersection. A configuration memory circuit, programmed as follows:
Detecting, in a transmission mode of operation, the data input along the word line of the data input path and outputting an indication of the data on the bit line of the data output path at the associated intersection; A transmission circuit responsive to the routing value having a first value;
An arbitration circuit that operates in the arbitration mode of operation depending on a transmission request received by the crossbar cell from the source circuit connected to the data input path of the associated intersection, the source circuit comprising: When the transmission request is asserted at the associated intersection to indicate that it is desired to route data from the data input path to the data output path, the arbitration circuit may apply an adaptive priority scheme. Arranged to operate in combination with the arbitration circuit of another crossbar cell associated with the same data output path to selectively modify the voltages of the plurality of bit lines, and thus the same data output path There are multiple asserted transmission requests The configuration memory circuit of the only crossbar cell associated with the same data output path has its routing value programmed to the first value, thereby according to the adaptive priority scheme An arbitration circuit for resolving conflicts between asserted transmission requests of
Configured to store priority data identifying which of the plurality of bit lines should have their voltages modified by the associated arbitration circuit to apply the adaptive priority scheme A priority storage circuit,
During each application of the adaptive priority scheme by the arbitration circuit, the priority data stored therein is self-updated depending on the voltage of at least one of the plurality of bit lines. A priority storage circuit,
A cross bar cell comprising:
A crossbar circuit comprising:
前記適応型優先順位スキームは、承諾後最長時間経過(LRG)優先順位スキームである、請求項1に記載のクロスバー回路。   The crossbar circuit of claim 1, wherein the adaptive priority scheme is a longest time elapsed after acceptance (LRG) priority scheme. 各データ出力経路は、n本のビット線を提供し、
各構成記憶回路は、それを介して前記ルーティング値が前記構成記憶回路にプログラムされる、前記n本のビット線のうちの1本と関連し、よって、前記同じデータ出力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの前記構成記憶回路は、前記n本のビット線のうちの異なる関連するビット線を有し、
各クロスバーセル内で、前記アービトレーション回路および前記優先順位記憶回路は、そのクロスバーセルの前記構成記憶回路と関連する前記1本のビット線を除くn−1本のビット線と関連し、前記適応型優先順位スキームを適用するために、前記優先順位記憶回路は、それらのn−1本のビット線のうちのどれが、前記アービトレーション回路によってそれらの電圧を修正されるべきかを識別する、請求項1に記載のクロスバー回路。
Each data output path provides n bit lines,
Each configuration memory circuit is associated with one of the n bit lines through which the routing value is programmed into the configuration memory circuit, and thus the highest n associated with the same data output path. For a number of crossbar cells, the configuration memory circuit of those crossbar cells has a different associated bit line of the n bit lines;
Within each crossbar cell, the arbitration circuit and the priority storage circuit are associated with n−1 bit lines except the one bit line associated with the configuration storage circuit of the crossbar cell, and the adaptive type To apply a priority scheme, the priority storage circuit identifies which of those n-1 bit lines should have their voltage modified by the arbitration circuit. The crossbar circuit according to 1.
前記アービトレーション動作モードで、前記適応型優先順位スキームを適用するために、アサートされた伝送要求を受信する前記同じデータ出力経路と関連する任意のクロスバーセルの前記アービトレーション回路が、前記n本のビット線上の前記電圧を選択的に修正した後に、アサートされた伝送要求を受信するクロスバーセルの各構成記憶回路が、前記ルーティング値をプログラムするために、その関連するビット線上の前記電圧をサンプリングするように構成される、請求項3に記載のクロスバー回路。   In the arbitration mode of operation, the arbitration circuit of any crossbar cell associated with the same data output path that receives the asserted transmission request is applied on the n bit lines to apply the adaptive priority scheme. After selectively modifying the voltage, each configuration memory circuit of the crossbar cell that receives the asserted transmission request samples the voltage on its associated bit line to program the routing value. The crossbar circuit according to claim 3 configured. 各クロスバーセルは、
そのクロスバーセルの前記構成記憶回路と関連する前記1本のビット線に連結される、解放回路であって、アサートされた解放要求を受容すると、前記解放回路は、前記ルーティング値として前記第2の値をそのクロスバーセルの前記構成記憶回路に記憶させるレベルに、その1本のビット線上の前記電圧を修正させ、それによって、そのデータ出力経路の再割り当てを可能にするように、前記クロスバーセルに、前記関連するデータ出力経路を解放させる、解放回路をさらに備える、請求項3に記載のクロスバー回路。
Each crossbar cell
A release circuit coupled to the one bit line associated with the configuration memory circuit of the crossbar cell, and upon receiving an asserted release request, the release circuit receives the second value as the routing value; The crossbar cell has a level that causes the value to be stored in the configuration memory circuit of the crossbar cell to modify the voltage on the single bit line, thereby allowing the data output path to be reassigned. The crossbar circuit of claim 3, further comprising a release circuit that releases the associated data output path.
前記解放されたデータ出力経路と関連するそれらのクロスバーセルの中の前記優先順位記憶回路は、前記複数のビット線のうちの少なくとも1つの前記電圧に依存して、それに記憶された前記優先順位データを自己更新するように、前記アサートされた解放要求に応答する、請求項5に記載のクロスバー回路。   The priority storage circuit in those crossbar cells associated with the released data output path depends on the voltage of at least one of the plurality of bit lines and the priority data stored therein The crossbar circuit of claim 5, responsive to the asserted release request to self-update. 各優先順位記憶回路は、複数の優先順位記憶素子を備え、各優先順位記憶素子は、前記複数のビット線のうちの1つと関連し、各優先順位記憶回路内で、前記複数の優先順位記憶素子の電流値は、前記関連するデータ出力経路について、その優先順位記憶回路を含有する前記クロスバーセルに連結された前記ソース回路の相対的優先順位レベルを示し、
前記適応型優先順位スキームは、承諾後最長時間経過(LRG)優先順位スキームであり、
前記解放されたデータ出力経路と関連するそれらのクロスバーセルの前記優先順位記憶回路内で、その電圧が前記解放回路によって修正された前記ビット線と関連するそれらの優先順位記憶素子は、第1の値に設定され、それによって、前記データ出力経路を解放する前記ソース回路を除く各ソース回路の前記相対的優先順位レベルは、増加させられるか、または維持され、
前記アサートされた解放要求を受信した前記解放回路を含有する前記クロスバーセルについて、前記優先順位記憶回路は、第2の値にクリアされたその優先順位記憶素子を有し、それによって、前記データ出力経路を解放する前記ソース回路には、前記他のソース回路よりも低い相対的優先順位が割り当てられる、請求項6に記載のクロスバー回路。
Each priority storage circuit includes a plurality of priority storage elements, each priority storage element being associated with one of the plurality of bit lines, and within each priority storage circuit, the plurality of priority storage elements. A current value of an element indicates a relative priority level of the source circuit coupled to the crossbar cell containing the priority storage circuit for the associated data output path;
The adaptive priority scheme is a longest time elapsed after acceptance (LRG) priority scheme;
Within the priority storage circuit of those crossbar cells associated with the released data output path, those priority storage elements associated with the bit lines whose voltages have been modified by the release circuit are: Set to a value, whereby the relative priority level of each source circuit excluding the source circuit releasing the data output path is increased or maintained;
For the crossbar cell containing the release circuit that has received the asserted release request, the priority storage circuit has its priority storage element cleared to a second value, whereby the data output The crossbar circuit according to claim 6, wherein the source circuit that releases a path is assigned a lower relative priority than the other source circuit.
初期化の時点で、各クロスバーセルの前記優先順位記憶回路は、前記複数のデータ出力経路のそれぞれに関して、前記複数のソース回路の初期の相対的優先順位レベルを提供するように、所定の値に初期化される、請求項1に記載のクロスバー回路。   At the time of initialization, the priority storage circuit of each crossbar cell is set to a predetermined value to provide an initial relative priority level of the plurality of source circuits for each of the plurality of data output paths. The crossbar circuit according to claim 1, which is initialized. 前記ビット線のそれぞれは、第1の電圧レベルにプリチャージされ、
前記アサートされた解放要求を受信すると、前記解放回路は、そのクロスバーセルの前記構成記憶回路と関連する前記1本のビット線上の前記電圧をディスチャージし、
各構成記憶回路は、前記関連する解放回路に対するアサートされた解放要求が存在する場合、前記ルーティング値を前記第2の値に更新するために、その関連するビット線の前記電圧を感知し、続いて、前記解放回路によって前記ディスチャージ動作を実行し、それによって、前記関連するデータ出力経路を解放する、感知増幅器有効化ラッチを備える、請求項5に記載のクロスバー回路。
Each of the bit lines is precharged to a first voltage level;
Upon receipt of the asserted release request, the release circuit discharges the voltage on the one bit line associated with the configuration storage circuit of the crossbar cell;
Each configuration storage circuit senses the voltage on its associated bit line to update the routing value to the second value if there is an asserted release request for the associated release circuit, and subsequently 6. The crossbar circuit of claim 5, further comprising a sense amplifier enable latch that performs the discharge operation by the release circuit, thereby releasing the associated data output path.
各データ入力経路は、n本のワード線を提供し、
前記同じデータ入力経路と関連する最高n個のクロスバーセルの前記解放要求は、その同じデータ入力経路の前記n本のワード線を介して、前記クロスバー回路に入力され、
各解放回路は、前記n本のワード線のうちの1本と関連し、よって、前記同じデータ入力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの前記解放回路は、それを介して前記解放要求を受信する前記n本のワード線のうちの異なる関連するワード線を有する、請求項5に記載のクロスバー回路。
Each data input path provides n word lines,
The release request for up to n crossbar cells associated with the same data input path is input to the crossbar circuit via the n word lines of the same data input path;
Each release circuit is associated with one of the n word lines, so for up to n crossbar cells associated with the same data input path, the release circuit of those crossbar cells 6. The crossbar circuit according to claim 5, comprising a different associated word line of the n word lines receiving the release request via the network.
前記解放要求は、前記アービトレーション動作モードで発行され、制御信号は、前記関連するデータ入力経路の前記n本のワード線が、解放要求または伝送要求を搬送しているかどうかを識別するように、前記アービトレーション動作モードで、前記複数のソース回路によって発行される、請求項10に記載のクロスバー回路。   The release request is issued in the arbitration mode of operation, and a control signal is used to identify whether the n word lines of the associated data input path are carrying a release request or a transmission request. The crossbar circuit of claim 10 issued by the plurality of source circuits in an arbitration mode of operation. 前記ビット線のそれぞれは、前記適応型優先順位スキームを適用するために、第1の電圧レベルにプリチャージされ、次いで、前記アービトレーション動作モード中に、アサートされた伝送要求を受信する前記同じデータ出力経路と関連する任意のクロスバーセルの前記アービトレーション回路は、前記n本のビット線上の前記電圧を選択的にディスチャージする、請求項1に記載のクロスバー回路。   Each of the bit lines is precharged to a first voltage level to apply the adaptive priority scheme and then receives the asserted transmission request during the arbitration mode of operation. The crossbar circuit of claim 1, wherein the arbitration circuit of any crossbar cell associated with a path selectively discharges the voltage on the n bit lines. 各構成記憶回路は、アサートされた伝送要求が存在する場合、その関連するビット線上の前記電圧を感知し、続いて、前記アービトレーション回路によって前記選択的ディスチャージ動作を実行する、感知増幅器有効化ラッチを備える、請求項12に記載のクロスバー回路。   Each configuration storage circuit includes a sense amplifier enable latch that senses the voltage on its associated bit line when an asserted transmission request is present, and subsequently performs the selective discharge operation by the arbitration circuit. The crossbar circuit according to claim 12, comprising: 各データ入力経路は、n本のワード線を提供し、
前記アービトレーション動作モードで、同じデータ入力経路と関連する最高n個のクロスバーセルの前記伝送要求は、その同じデータ入力経路の前記n本のワード線を介して、前記クロスバー回路に入力される、請求項1に記載のクロスバー回路。
Each data input path provides n word lines,
In the arbitration operation mode, the transmission request of up to n crossbar cells associated with the same data input path is input to the crossbar circuit via the n word lines of the same data input path. The crossbar circuit according to claim 1.
各構成記憶回路は、前記n本のワード線のうちの1本と関連し、よって、前記同じデータ入力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの前記構成記憶回路は、それを介して前記伝送要求を受信する前記n本のワード線のうちの異なる関連するワード線を有する、請求項14に記載のクロスバー回路。   Each configuration memory circuit is associated with one of the n word lines, so for up to n crossbar cells associated with the same data input path, the configuration memory circuit of those crossbar cells is 15. A crossbar circuit according to claim 14, comprising different associated word lines of the n word lines through which the transmission request is received. mが2以上の整数である、mn×mn個のクロスバーセルのマトリクスが提供され、
前記マトリクスは、複数のセクションに分割され、
一連のアービトレーション動作は、前記同じデータ出力経路と関連する唯一のクロスバーセルの前記構成記憶回路が、前記第1の値にプログラムされるそのルーティング値を有するように前記適応型優先順位スキームを適用するために使用され、それによって、前記適応型優先順位スキームに従って複数のアサートされた伝送要求間のコンフリクトを解決し、
前記一連の中の各アービトレーション動作について、前記複数のセクションの中の前記セクションのうちの1つまたは複数は、そのアービトレーション動作を受ける、請求項15に記載のクロスバー回路。
a matrix of mn × mn crossbar cells, where m is an integer greater than or equal to 2,
The matrix is divided into a plurality of sections;
A series of arbitration operations apply the adaptive priority scheme such that the configuration memory circuit of the only crossbar cell associated with the same data output path has its routing value programmed to the first value. For resolving conflicts between multiple asserted transmission requests according to the adaptive priority scheme,
The crossbar circuit of claim 15, wherein for each arbitration operation in the series, one or more of the sections in the plurality of sections are subjected to the arbitration operation.
各アービトレーション動作は、単一のセクション上で動作し、よって、前記一連のアービトレーション動作を実行した後には、前記複数のセクションの全てが前記アービトレーション動作を受けている、請求項16に記載のクロスバー回路。   17. The crossbar of claim 16, wherein each arbitration operation operates on a single section, and thus, after performing the series of arbitration operations, all of the plurality of sections are undergoing the arbitration operation. circuit. 前記一連のうちの第1のアービトレーション動作で、前記複数のセクションの全ては、そのルーティング値が前記第1の値にプログラムされる前記構成記憶回路を含有する、前記複数のセクションのうちの1つを識別するために、前記第1のアービトレーション動作を受け、
前記一連のうちの第2のアービトレーション動作で、前記第1のアービトレーション動作によって識別された前記セクションのうちの前記1つは、そのルーティング値が前記第1の値にプログラムされるそのセクション内の前記構成記憶回路を識別するように、前記第2のアービトレーション動作を受ける、請求項16に記載のクロスバー回路。
In a first arbitration operation of the series, all of the plurality of sections include the configuration storage circuit whose routing value is programmed to the first value. To identify the first arbitration operation,
In a second arbitration operation of the series, the one of the sections identified by the first arbitration operation is configured such that the routing value is programmed to the first value in the section. The crossbar circuit of claim 16, wherein the crossbar circuit is subjected to the second arbitration operation to identify a configuration memory circuit.
その構成記憶回路が、前記アービトレーション動作モード中に前記第1の値にプログラムされるそのルーティング値を有する、前記同じデータ出力経路と関連する前記1つのクロスバーセルについて、前記アサートされた伝送要求が承諾されたことを確認するように、承諾信号が前記関連するソース回路にアサートされる、請求項1に記載のクロスバー回路。   The asserted transmission request is accepted for the one crossbar cell associated with the same data output path, the configuration storage circuit having its routing value programmed to the first value during the arbitration mode of operation. The crossbar circuit of claim 1, wherein an acknowledge signal is asserted to the associated source circuit to confirm that it has been done. 前記伝送動作モードで、クロスバーセルと関連する各データ出力経路は、データ伝送前に第1の論理レベルにプリチャージされ、各クロスバーセルの前記伝送回路は、
前記データ出力経路と第2の論理レベルとの間で直列に接続される、第1および第2のスイッチを備え、
前記伝送動作モードで、前記第1のスイッチは、前記関連する構成記憶回路に記憶された前記ルーティング値に依存して開かれるか、または閉じられ、前記第2のスイッチは、前記データ入力経路上での前記データ入力に依存して開かれるか、または閉じられる、請求項1に記載のクロスバー回路。
In the transmission mode of operation, each data output path associated with a crossbar cell is precharged to a first logic level before data transmission, and the transmission circuit of each crossbar cell is
First and second switches connected in series between the data output path and a second logic level;
In the transmission mode of operation, the first switch is opened or closed depending on the routing value stored in the associated configuration memory circuit, and the second switch is on the data input path. The crossbar circuit of claim 1, wherein the crossbar circuit is opened or closed depending on the data input at.
各前記データ入力経路は、前記伝送動作モード中にnビットの入力データ値を搬送するためのn本のワード線を備え、各前記データ出力経路は、前記伝送動作モード中にnビットのデータ値を搬送するためのn本のビット線を備え、少なくとも前記第2のスイッチは、各ビット線について複製される、請求項20に記載のクロスバー回路。   Each data input path comprises n word lines for carrying an n-bit input data value during the transmission operation mode, and each data output path includes an n-bit data value during the transmission operation mode. 21. The crossbar circuit of claim 20, comprising n bit lines for transporting at least the second switch for each bit line. 前記伝送動作モードで、前記ルーティング値が前記第1の値であり、かつ対応するワード線上の入力データビットが前記第1の論理レベルである場合、前記データ出力経路のビット線は、前記第2の論理レベルにプルされる、請求項20に記載のクロスバー回路。 Wherein in the transmission mode of operation, it is said routing value is the first value, when the input data bit or One-enabled word line is the first logic level, the bit lines of the data output path, 21. The crossbar circuit of claim 20, wherein the crossbar circuit is pulled to the second logic level. 各クロスバーセルは、前記ルーティング値に関わらず前記第1のスイッチをオフにする一方で、前記関連するデータ出力経路を前記第1の論理レベルにプリチャージするための、および前記第1のスイッチを前記ルーティング値によって制御し、続いて、前記関連するデータ出力経路を前記第1の論理レベルにプリチャージすることを可能にするための、条件付きディスチャージ回路をさらに備える、請求項22に記載のクロスバー回路。   Each crossbar cell turns off the first switch regardless of the routing value, while precharging the associated data output path to the first logic level, and the first switch 23. The cross of claim 22, further comprising a conditional discharge circuit controlled by the routing value and subsequently allowing the associated data output path to be precharged to the first logic level. Bar circuit. 前記伝送動作モード中に、前記データ出力経路の前記ビット線上のデータ出力を検出し、それによって、前記データ出力経路のビット線上の電圧が前記第2の論理レベルに到達する前に、前記第2の論理レベルへの遷移の検出を可能にする、感知増幅器回路をさらに備える、請求項22に記載のクロスバー回路。 Wherein during the transmission operation mode, the detection of the data outputs of said bit lines of the data output path, whereby, before the voltage on the bit lines of the data output path reaches the second logic level, the 23. The crossbar circuit of claim 22, further comprising a sense amplifier circuit that enables detection of a transition to a second logic level. 前記複数のソース回路のそれぞれと前記複数のデータ入力経路との間の符号化回路と、
前記複数のデータ出力経路のそれぞれと前記複数の宛先回路との間の復号回路と、
をさらに備え、前記符号化回路は、各ソース回路によって提供される入力データを符号化形式に符号化するように、符号化動作を適用し、元の入力データが前記クロスバー回路を通過した場合に、前記データ出力経路を前記第2の論理レベルにプルすることが必要となり得る回数と比較した時に、前記データ出力経路を前記第2の論理レベルにプルし、続いて、それらを前記第1の論理レベルにプリチャージすることが必要である回数を低減し、
前記復号回路は、前記データ出力経路上で符号化データ出力から前記ソース回路によって提供される、前記元の入力データを識別するように、対応する復号動作を適用する、請求項22に記載のクロスバー回路。
An encoding circuit between each of the plurality of source circuits and the plurality of data input paths;
A decoding circuit between each of the plurality of data output paths and the plurality of destination circuits;
The encoding circuit applies an encoding operation so that the input data provided by each source circuit is encoded into an encoding format, and the original input data passes through the crossbar circuit The data output path is pulled to the second logic level when compared to the number of times that it may be necessary to pull the data output path to the second logic level, and then they are Reduce the number of times it is necessary to precharge to a logic level of
Said decoding circuit, the provided by the source circuit from sign-data output at the data output on the path, so as to identify the input data of the original, to apply a corresponding decoding operation, according to claim 22 Crossbar circuit.
前記複数のソース回路は、前記複数のデータ入力経路のいずれかの端部に接続することができる、請求項1に記載のクロスバー回路。   The crossbar circuit according to claim 1, wherein the plurality of source circuits can be connected to one end of the plurality of data input paths. 前記複数の宛先回路は、前記複数のデータ出力経路のいずれかの端部に接続することができる、請求項1に記載のクロスバー回路。   The crossbar circuit according to claim 1, wherein the plurality of destination circuits can be connected to any one end of the plurality of data output paths. 各データ入力経路は、ワード線ドライバによって分離された複数の入力経路部分から成り、
各ワード線ドライバは、前記関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、クロスバーセルの前記構成記憶回路に記憶される前記ルーティング値に依存して起動され、
それによって、各ワード線ドライバは、前記関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、少なくとも1つのクロスバーセルの前記構成記憶回路が、前記第1の値に設定されたルーティング値を有する場合にだけ起動される、請求項1に記載のクロスバー回路。
Each data input path consists of multiple input path parts separated by a word line driver,
Each word line driver is provided along the associated data input path, but depends on the routing value stored in the configuration storage circuit of the crossbar cell, which is further from the source circuit than the word line driver. Is started,
Thereby, each word line driver is provided along the associated data input path, but the configuration storage circuit of at least one crossbar cell that is further from the source circuit than the word line driver is 2. The crossbar circuit of claim 1 that is activated only if it has a routing value set to a value of one.
データ値を記憶するための、複数のメモリデバイスと、
前記複数のメモリデバイスに記憶された複数の前記データ値に、データ処理動作を並列に実行するための、複数のプロセッサと、
前記複数のメモリデバイスのうちのいずれかから前記複数のプロセッサのうちのいずれかに前記データ値をルーティングするための、請求項1に記載のクロスバー回路と、
を備える、データ処理装置。
A plurality of memory devices for storing data values;
A plurality of processors for performing data processing operations in parallel on the plurality of data values stored in the plurality of memory devices;
The crossbar circuit of claim 1 for routing the data value from any of the plurality of memory devices to any of the plurality of processors;
A data processing apparatus.
複数のソース手段と、複数の宛先手段とを相互接続し、よって、前記複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、前記複数のソース手段のうちの1つに接続し、かつ複数のワード線手段を提供するためのものである、複数のデータ入力経路手段と、
前記複数のデータ入力経路手段を横断する前記クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、前記複数の宛先手段のうちの1つに接続し、かつ複数のビット線手段を提供するためのものである、複数のデータ出力経路手段と、
前記データ入力経路手段のうちの1つと、前記データ出力経路手段のうちの1つとの間の各交差点と関連するクロスバーセル手段であって、各クロスバーセル手段は、
前記複数のビット線手段のうちの少なくとも1つの電圧に依存してルーティング値を記憶するための、アービトレーション動作モードでプログラムできる、構成記憶手段であって、前記ルーティング値は、前記データ入力経路手段の前記ワード線手段に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路手段の前記ビット線手段上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路手段の前記ワード線手段に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路手段の前記ビット線手段上に出力されないことを、第2の値が示すようにプログラムされる、構成記憶手段と、
伝送動作モードで、前記データ入力経路手段の前記ワード線手段に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路手段の前記ビット線手段上に出力するように、前記第1の値を有する前記ルーティング値に応答する、伝送回路手段と、
前記関連する交差点の前記データ入力経路手段に接続された前記ソース手段から前記クロスバーセル手段によって受信される伝送要求に依存して、前記アービトレーション動作モードで動作させるための、アービトレーション手段であって、前記ソース手段が、前記関連する交差点において、前記データ入力経路手段から前記データ出力経路手段にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション手段は、適応型優先順位スキームを適用するために、同じデータ出力経路手段と関連する他のクロスバーセル手段の前記アービトレーション手段と組み合わせて動作して、前記複数のビット線手段上の前記電圧を選択的に修正するためのものであり、よって、前記同じデータ出力経路手段の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路手段と関連する唯一のクロスバーセル手段の前記構成記憶手段は、前記第1の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション手段と、
前記適応型優先順位スキームを適用するために、前記複数のビット線手段のうちのどれが、前記関連するアービトレーション手段によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するための、優先順位記憶手段であって、
前記アービトレーション手段による前記適応型優先順位スキームの各適用の間に、前記複数のビット線手段のうちの少なくとも1つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するための、優先順位記憶手段と、
を備えるクロスバーセル手段と、
を備える、クロスバー回路。
A plurality of source means and a plurality of destination means are interconnected so that data input from any of the plurality of source means to a crossbar circuit is output to any of the plurality of destination means A crossbar circuit that can
A plurality of data input path means passing through the crossbar circuit, each data input path means being connected to one of the plurality of source means and providing a plurality of word line means A plurality of data input path means,
A plurality of data output path means passing through the crossbar circuit traversing the plurality of data input path means, each data output path means being connected to one of the plurality of destination means; A plurality of data output path means for providing a plurality of bit line means;
Crossbar cell means associated with each intersection between one of the data input path means and one of the data output path means, each cross bar cell means comprising:
The function of at least one voltage of the plurality of bit line means for storing a routing value can be programmed in the arbitration mode of operation, a configuration storage unit, wherein the routing value, the data input path The first value indicates that data input to the associated intersection along the word line means of the means is output on the bit line means of the data output path means at the associated intersection. And wherein the routing value is a data input to the associated intersection along the word line means of the data input path means on the bit line means of the data output path means at the associated intersection. Configuration storage means programmed as indicated by the second value not being output;
In transmission mode of operation, the data input along the word line means of the data input path means is detected and an indication of the data is output on the bit line means of the data output path means at the associated intersection. Transmission circuit means responsive to the routing value having the first value,
Arbitration means for operating in the arbitration mode of operation depending on a transmission request received by the crossbar cell means from the source means connected to the data input path means of the associated intersection, If the transmission request is asserted to indicate that the source means wants to route data from the data input path means to the data output path means at the associated intersection, the arbitration means For selectively modifying the voltages on the plurality of bit line means, operating in combination with the arbitration means of other crossbar cell means associated with the same data output path means to apply the scheme Therefore, the same data output path If there are multiple asserted transmission requests in a stage, the configuration storage means of the only crossbar cell means associated with the same data output path means has its routing value programmed to the first value. Arbitrating means for resolving conflicts between the plurality of asserted transmission requests according to the adaptive priority scheme;
For storing priority data identifying which of the plurality of bit line means should have their voltages modified by the associated arbitration means to apply the adaptive priority scheme , A priority storage means,
During each application of the adaptive priority scheme by the arbitration means, depending on the voltage of at least one of the plurality of bit line means, for self updating the priority data stored therein Priority storage means;
Cross bar cell means comprising:
A crossbar circuit comprising:
複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができるように、クロスバー回路を動作させる方法であって、前記クロスバー回路は、前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの1つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの1つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路とを有し、前記方法は、
前記データ入力経路のうちの1つと、前記データ出力経路のうちの1つとの間の各交差点と関連する、クロスバーセルを採用するステップと、
アービトレーション動作モードで、ルーティング値を各クロスバーセルにプログラミングするステップであって、前記ルーティング値は、前記複数のビット線のうちの少なくとも1つの電圧に依存してプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されないことを、第2の値が示すようにプログラムされる、ステップと、
伝送動作モードで、前記データ入力経路の前記ワード線に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路の前記ビット線上に出力するように、前記クロスバーセルを、前記第1の値を有する前記ルーティング値に応答させるステップと、
前記アービトレーション動作モードで、前記関連する交差点の前記データ入力経路に接続された前記ソース回路から前記クロスバーセルによって受信される伝送要求に依存して、前記クロスバーセルの中のアービトレーション回路を動作させる、ステップであって、前記ソース回路が、前記関連する交差点において、前記データ入力経路から前記データ出力経路にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルの前記アービトレーション回路と組み合わせて動作して、前記複数のビット線の前記電圧を選択的に修正し、よって、前記同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、前記第1の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、ステップと、
前記適応型優先順位スキームを適用するために、前記複数のビット線のうちのどれが、前記関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを、前記クロスバーセル内の優先順位記憶回路に記憶するステップと、
前記アービトレーション回路による前記適応型優先順位スキームの各適用の間に、前記複数のビット線のうちの少なくとも1つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するように、前記優先順位記憶回路を構成するステップと、
を含む、方法。
A plurality of source circuits and a plurality of destination circuits are interconnected, so that data input from any of the plurality of source circuits to a crossbar circuit is output to any of the plurality of destination circuits A method of operating a crossbar circuit, wherein the crossbar circuit is a plurality of data input paths that pass through the crossbar circuit, each data input path including the plurality of sources. A plurality of data input paths that can be connected to one of the circuits and provide a plurality of word lines, and a plurality of data output paths that pass through the crossbar circuit across the plurality of data input paths Each data output path has a plurality of data output paths that can be connected to one of the plurality of destination circuits and provide a plurality of bit lines; Serial method,
Employing a crossbar cell associated with each intersection between one of the data input paths and one of the data output paths;
In arbitration mode of operation, comprising the steps of programming a route value in each crossbar cell, said routing value is programmed as a function of at least one voltage of the plurality of bit lines, said routing value, As a first value indicates that data input to the associated intersection along the word line of the data input path is output on the bit line of the data output path at the associated intersection. The routing value is programmed so that data input to the associated intersection along the word line of the data input path is not output on the bit line of the data output path at the associated intersection. A step programmed as indicated by a value of 2;
Detecting, in a transmission mode of operation, the data input along the word line of the data input path and outputting an indication of the data on the bit line of the data output path at the associated intersection; Causing a crossbar cell to respond to the routing value having the first value;
Operating the arbitration circuit in the crossbar cell in the arbitration mode of operation in dependence on a transmission request received by the crossbar cell from the source circuit connected to the data input path of the associated intersection. The arbitration circuit is adaptive when the transmission request is asserted to indicate that the source circuit wishes to route data from the data input path to the data output path at the associated intersection. Operating in combination with the arbitration circuit of another crossbar cell associated with the same data output path to selectively modify the voltages of the plurality of bit lines to apply a type priority scheme; Multiple asserts on the same data output path If transmission request exists, the configuration memory circuit only crossbar cells associated with the same data output path has its routing value to be programmed into the first value, whereby said adaptive priority Resolving conflicts between the plurality of asserted transmission requests according to a ranking scheme;
In order to apply the adaptive priority scheme, priority data identifying which of the plurality of bit lines should have their voltages modified by the associated arbitration circuit is stored in the crossbar cell. Storing in the priority storage circuit of
During each application of the adaptive priority scheme by the arbitration circuit, depending on the voltage of at least one of the plurality of bit lines, self-updates the priority data stored therein, Configuring the priority storage circuit;
Including a method.
JP2011252537A 2010-11-18 2011-11-18 Crossbar circuit for applying adaptive priority scheme and method of operating such a crossbar circuit Expired - Fee Related JP5816063B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/926,462 2010-11-18
US12/926,462 US8549207B2 (en) 2009-02-13 2010-11-18 Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry

Publications (2)

Publication Number Publication Date
JP2012114905A JP2012114905A (en) 2012-06-14
JP5816063B2 true JP5816063B2 (en) 2015-11-17

Family

ID=46498556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011252537A Expired - Fee Related JP5816063B2 (en) 2010-11-18 2011-11-18 Crossbar circuit for applying adaptive priority scheme and method of operating such a crossbar circuit

Country Status (1)

Country Link
JP (1) JP5816063B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI617920B (en) * 2013-07-12 2018-03-11 密西根大學董事會 Single cycle arbitration

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05199255A (en) * 1992-01-18 1993-08-06 Mitsubishi Electric Corp Electronic cross point switch device
JP2001053800A (en) * 1999-08-11 2001-02-23 Mitsubishi Heavy Ind Ltd Cross bus switch
US8108585B2 (en) * 2009-02-13 2012-01-31 The Regents Of The Universtiy Of Michigan Crossbar circuitry and method of operation of such crossbar circuitry
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
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

Also Published As

Publication number Publication date
JP2012114905A (en) 2012-06-14

Similar Documents

Publication Publication Date Title
JP5074538B2 (en) Crossbar circuit and method of operating such a crossbar circuit
US8549207B2 (en) Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry
US8255610B2 (en) Crossbar circuitry for applying a pre-selection prior to arbitration between transmission requests and method of operation of such crossbar circuitry
Pande et al. Design of a switch for network on chip applications
Bjerregaard et al. Implementation of guaranteed services in the MANGO clockless network-on-chip
EP0701713B1 (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
US6763426B1 (en) Cascadable content addressable memory (CAM) device and architecture
US7406086B2 (en) Multiprocessor node controller circuit and method
KR100812225B1 (en) Crossbar switch architecture for multi-processor SoC platform
US7076595B1 (en) Programmable logic device including programmable interface core and central processing unit
JP3729943B2 (en) Time-multiplexable logic device
US8108585B2 (en) Crossbar circuitry and method of operation of such crossbar circuitry
Pontes et al. Hermes-A–an asynchronous NoC router with distributed routing
US9003092B2 (en) System on chip bus system and a method of operating the bus system
US8352695B2 (en) Selectable access rates in a memory and memory communication system
JP5816063B2 (en) Crossbar circuit for applying adaptive priority scheme and method of operating such a crossbar circuit
US20080086572A1 (en) Interconnecting initiator devices and recipient devices
US7636817B1 (en) Methods and apparatus for allowing simultaneous memory accesses in a programmable chip system
Plana Contributions to the design of asynchronous macromodular systems
Runge et al. Consideration of the flit size for deflection routing based network-on-chips
Nyathi et al. Multiple clock domain synchronization for network on chip architectures
Kühnle et al. An interconnect strategy for a heterogeneous, reconfigurable SoC
US7149827B1 (en) Methods and apparatus for tristate line sharing
Song et al. Building asynchronous routers with independent sub-channels
Cakir High-radix scalable modular crossbar switches

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150728

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: 20150831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150925

R150 Certificate of patent or registration of utility model

Ref document number: 5816063

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees