JP3894957B2 - 大きな網目状接続コストを伴う大容量データを管理するための、2次元または多次元プログラマブルセル構造を有するモジュール並びにdfpに対する内部バスシステム - Google Patents
大きな網目状接続コストを伴う大容量データを管理するための、2次元または多次元プログラマブルセル構造を有するモジュール並びにdfpに対する内部バスシステム Download PDFInfo
- Publication number
- JP3894957B2 JP3894957B2 JP53357998A JP53357998A JP3894957B2 JP 3894957 B2 JP3894957 B2 JP 3894957B2 JP 53357998 A JP53357998 A JP 53357998A JP 53357998 A JP53357998 A JP 53357998A JP 3894957 B2 JP3894957 B2 JP 3894957B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- node
- connection
- bus system
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17704—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural details for adapting physical parameters for physical disposition of blocks
Description
技術分野
本発明は、多次元配置されたセル構造を備えたモジュールに対するバスシステムに関する。ここでセルは、従来技術のFPGAセルセル構造(FPGA=Field Programmabe Gate Arrays)、またはDFP(Daten Fluβ Prozessoren)の計算機構とすることができる。接続は勿論、動作中に形成ないし解除され、ここで複数のセルが交互に同じリソースを使用する。データ流の同期とリソース管理は自立的に行われる。
従来の技術
...2次元または多次元プログラマブルFPGA、DPGA(=Dynamically Programmable Gate Arrys)を有するシステム
FPGAおよびDPGAには内部バスシステムが存在する。この内部バスシステムは、すべてに対するグローバル接続を有するか、または大量の論理セルを有するか、またはローカル・ネクストネイバー接続を有する。両方の方式で共通なのは、2つまたは複数の論理セル間の直接接続を取り扱うことである。さらにまさに1つの信号がバスを使用することができる。ただし、多重化構造が多数のローカルセルにおいて制御部と共にコンフィギュレートされる場合は別である。
US−A5521837から、スイッチングエレメント(交換ボックス、SBX)を介して複数のバスセグメントを相互に接続する技術が公知である。接続はプレースツール(placetool)およびルートツール(routetool)により、モジュールのプログラムの前に設定され、いったんコンフィギュレートされる。接続を複数の異なるセルにより交互に使用することは不可能である。SBXは、接続、接続形成および接続解除、および時間同期を管理するための内部機能を有していない。同様に、接続を介したデータ伝送の自動同期も行われない。
...DFPベースのシステム
DE4416881によるDFPベースのシステムには、それ自体すでに説明したバスシステムが存在する。付加的にバスシステムを分離する手段が存在し、これにより複数の分離した使用可能な部分バスが存在する。
問題
通常のバスシステムは、大容量のデータをバイト毎にまたは群分けされた信号の形態で伝送するには適さない。とりわけアルゴリズムを計算するためのモジュールが使用される場合には、多数のデータ(パケット)を、モジュールの個々にコンフィギュレートされた機能領域間で同時に伝送することが必要である。通常の技術では、同じデータを含む2つ(またはそれ以上)の機能ブロックの(バス)接続である各データ経路に対して、直接のポイント・ツー・ポイント接続を形成する必要があり、このポイント・ツー・ポイント接続が専ら上記の機能ブロック間のデータトラフィックを制御する。常に正確に1つのデータパケットだけがバスに存在することができる。網目状接続(ネットワーク)コストは極端に大きい。現在の内部バスの速度は最大バス幅とバス上の信号伝搬時間により制限される。
US−A5521837に記載された技術では、リソースを多重に自動的に使用することはできない。なぜなら、接続は固定的にソフトウェアのランタイムの前に設定されるからである。モジュールは接続を必要に応じて自動的に形成および解除することはできない。専用線路を介するデータ伝送を自動的に同期することは行われない。この種の機能はユーザによるプログラミングに任されたままである。とりわけ接続の自動形成および自動解除に対しては自動同期が必然的に必要になる。これはデータの正確性と無損失を保証するためである。
本発明のよる改善、課題
本発明の課題は、多数の機能ブロック間でデータを伝送することのできるバスシステムを提供することであり、その際に複数のデータパケットが同時に1つのバスに存在できるようにする。ここでバスシステムは種々のデータ形式またはデータ送信側に対して自動的に正しい接続を識別し、これを形成する。
本発明のバスシステムの詳細および有利な構成、並びに特徴は請求項に記載されている。
発明の説明
本発明の概要、側面
水平、垂直、対角または各任意の位置でモジュールに組み込むことのできるバスシステムが説明される。
バスシステムは多数のセグメントに分割され、セグメントの分離はバス制御回路によって行われる。このバス制御回路はノードと称される。ノードは同時にルータの役割も受け継ぐ。すなわちデータのフロー方向の制御を行う。論理セル、またはDFPに通常のPAEセルはノードに接続され、これらはそのデータをノードを介して送受信する。ここで各データパケットには目標アドレスを添付することができる。同じようにバスシステムはルックアップテーブル(以下、ルーティングテーブルと称する)を介して目標アドレスを発生することができる。このためには特に、発生したイベントに基づいて少なくともテーブルのエントリが選択され、所定の受信側がこのエントリ(又は複数のエントリ)によって再コンフィギュレートされる方法を用いることができる。この方法は例えば、DE19654846.2−53から公知である。バスシステムは特に、モジュールの外部端末端子に直接接続するのに適する。接続の形成と解除、並びにデータの同期は自動的に行われる。必要なバスセグメントが瞬時には占有されているため接続形成が失敗すると、後の時点で接続形成が繰り返される。種々のデータ形式またはデータ送信側に基づいて、自動的に異なる接続を形成することができる。
本発明の説明
バスシステム
モジュールには多数のバスが存在し、このバスは水平、垂直、対角または任意の位置でモジュールに配置することができる。ここで個々のバスは1つのモジュール縁部から別のモジュール縁部まで通して分割されるのではなく、多数のバスセグメントに分割される。各バスセグメントは別の使用可能でネットワーク化可能なバスセグメントに依存せず、網目状接続はノードにより引き受けられる。バスシステムには固有のプロトコルを実現することができ、このプロトコルはノードにより管理される。同じように、プロトコルをバスを使用するセルにより管理し、ノードを単なるパッシブスイッチとすることも考えられる。
ノード
ノードは個々のバスセグメント相互の網目状接続に使用する。同じようにバスセグメントへのセルの網目状接続もノードにより引き受けられる。
ノードにはすべての方向のバスセグメントが統合されている。このことは次のことを意味する。
−2次元システムにおいては、バスは北(N)、南(S)、東(E)、西(W)の4方向からノードに導かれる。
−3次元システムにおいては、バスは北(N)、南(S)、東(E)、西(W)、上(T)、下(B)の6方向から導かれる。
−n次元システムにおいては、バスはn方向(次元に応じて、方向が符号により定められる方向ベクトルが存在する⇒次元当たり2つの方向が存在し、これらは方向ベクトルの符号により区別される)からノードに導かれる。
ノード、タイプA
ノード内にはバスシステムが存在し、このバスシステムに外部バスが接続され、従ってこのバスシステムは複数のバスバーからなる。外部の第1バスがゲートを介してバスバーに接続される。別のゲートを介してバスバーは外部の第2バスに接続される。ブロードキャスティング、すなわちデータを複数の受信器に送信することを可能にするため、複数の“第2”バスを内部バスシステムに接続することもできる。
ここでゲートは純粋にパッシブなスイッチとして、バスドライバとして、またはレジスタ/ラッチとして構成することができる。
さらにノードは、これと接続され、コンフィギュレーション可能なエレメント(セル)へアクセスする。これらをノードは場合により隣接する1つまたは複数のバスセグメントと接続する。
ノード、タイプB
タイプAのノードとは異なり内部バスは存在しない。ノードはn個のコンフィギュレーション可能なスイッチからなり、スイッチは各隣接するセグメントを各別の隣接するセグメントと接続することができる。例えば2次元構造の場合、n=6である。
スイッチは単方向または双方向に構成することができ、ここでスイッチはデータを記憶するためのレジスタまたはラッチを有する。
“通常の”ルーティング方法
接続はデータ送信側DSにより初期化される---これはコンフィギュレーション可能なエレメント(論理セル、バスセルまたは外部接続)であり---、このエレメントはデータ受信側DE(これも同じようにコンフィギュレーション可能なエレメントからなる)への接続を必要とする。このためにデータ送信側DSはノードに自分のバス要求を通報する。データ送信側の直後にある第1のノードは開始ノードと称される。この開始ノードは、後に説明するように、内部テーブルからデータ転送に対して必要な次のノードのアドレスを取り出す。
ノードが第1の所要のバスセグメントに応答できる限り(このことは、バスセグメントとノードの内部バスバーが空きである場合には常に可能である)、このノードは接続形成を行い、それ以外の場合このノードはデータ送信側DSの要求を拒絶し、データ送信側DSは後の時点で再度、アクセスを試行する。またはデータ送信側は待機してから、ノードがアクセス要求を受容するまでアクセス要求をさらに維持する。
各後続のノードはさらに次のノードのアドレスをその内部テーブルから取り出し、接続形成を継続する。ノードが接続形成を実行できなければ(所要のバスセグメントがビジーであるか、またはノードのバスバーが空きでない)、このノードは待機状態にジャンプするか、または接続形成を中断し、エラーを開始ノードにフィードバックする。
接続が完全に形成されて初めて、データパケットが伝送され、送信側はデータ交換に対する受領確認信号を受け取る(Ready/Acknowedgeプロトコル)。このことにより、データ転送は自動的にデータ送信側と同期される。接続形成が失敗すると、後の時点で接続形成を繰り返さなければならず、データ送信側は受領確認信号を受け取らない。従ってデータが失われてしまうことはない。
接続が完全に形成されると、この接続はデータ送信側DSが開始ノードへの通報によってこの接続を解除されるまで半永久的に存在する。タイムアウト法を実行することも考えられる。このタイムアウト法では、存在する接続を所定時間後に解除し、とりわけ比較的長時間、データ転送が行われない場合にはバスセグメントを他の接続に対して使用できるようにするため接続を解除する。
拡張されたルーティング方法
これまで説明した接続形成では、アドレスは接続形成フェーズの間だけバスに存在する。データ伝送の間、アドレスはもはや伝送されない。拡張されたルーティング方法では、アドレスは常時別個の線路でデータと共に同時に伝送される。ここでは2つのアドレシングスキーマが存在する。
1.空間座標
アドレスとして目的地の空間座標が通報される。空間座標はシステムの選択された次元に依存する。例えば3次元システムは座標X、Y、Zを使用し、2次元システムはX、Yを使用する。原則的にこの方法は任意の次元のシステムに適用することができる。各座標には方向ベクトルが配属されており、方向ベクトルはデータ/接続形成が正または負の方向に移動するか否かを表す。
データは原点ノードから調整された方向の1つに移動する。ここで相応する方向座標はノード通過の際に次のように変形される。
−正の方向への移動の際に1減算される。
−負の方向への移動の際に1加算される。
目標軸には座標が0であるときに到達し、目標ノードにはすべての座標が0であるときに到達する。
2の補数が発生され、座標が負の数として表示されるか(これに加算される)、または正の数から減算されるかはインプリメント構成に依存する。同じように正に数には、目標位置を表すオーバフローが発生するまで加算することができる。
データの伝搬方向を設定するのに2つのストラテジーがある。
a.統計的方法:データは常に、方向変化が絶対に必要になるまで同じ方向で伝搬する。すなわち、常に同じ方向を維持しようとする。方向変化が必要になるのは、瞬時の方向座標がゼロに等しい場合、すなわちその目標位置に到達した場合である。
座標の目標位置に到達したなら、データは0に等しくない座標方向に移動される。すべての座標がゼロであれば、データの目標ノードに到達する。
b.ダイナミックな方法:データは可能の方向の1つに任意に移動される。ここで運動は常に、方向ベクトルにより設定される方向へ行われる。ここで任意の方向とは、データは常にもっともトラフィックの少ないノードにさらに導通されることを意味する。従って衝突および閉塞のもっとも少ない経路に進むことが常に試みられる。このことによりこの方法は、場合によってはさらに高速になり、システムが大きい場合に適する。
2.アドレスルックアップ
ルックアップアドレスが伝送されると、それぞれ次のノードが各ノードにおいて新たに検出される。このことは後で説明するルーティングテーブルから、ルックアップアドレスのエントリを読み出すことにより行われ、データは次の目標に対して設定される。この経過は、“通常の”ルーティング方法と同じである。
空間座標の利点は、テーブルの探索が必要ないことであり、従って管理コストの小さいことである。アドレス探索の利点は、そのフレキシビリティと、接続の正確な予測性にある。
部分的に2つの方法を相互に組み合わせることも有利である。このためには、2つのアドレス(空間座標とルックアップアドレス)を同時に伝送しなければならない。空間座標がゼロでなければ、データは空間座標に基づいて伝送される。空間座標がゼロになると直ちに、瞬時のルーティングテーブルにてルックアップアドレスの箇所への探索が実行される。このことにより、どのセグメントを介してデータをルックアップ方法または空間座標方法により伝送するかをフレキシブルに調整できる。
拡張されたルーティング方法のバス状態
1.半永久的
接続は、“通常の”ルーティング方法と同じように半永久的に形成することができる。ここでは、第1のデータが通過した各ノードが恒久的に、このデータに配属されたアドレスに従って自由接続される。自由接続は後続のすべてのデータに対して、接続解除が実行されるまで後続のすべてのデータに対して行われる。この種の構成は拡張されたルーティング方法では必ずしも必然ではないが、2つの利点が得られる。
i.データの伝搬時間が格段に低減される。
ii.処理による時間損失が回避される。
2.レジスタード(Registered)
これは通常のバス状態である。到来するデータはまずレジスタに中間記憶される。レジスタへの書き込みの際に、受領確認信号が送信ノードに送付される。データは、レジスタが空であるときだけこれに書き込まされる。すなわち、先行するデータがレジスタに書き込まれていないか、または先行して書き込まれたデータがすでにさらに転送されている場合でだけ書き込まれる。レジスタが空でなければ、レジスタが空になるまで待機され、受領確認信号は形成されない。レジスタは任意アクセスされ、瞬時に最も高い優先度を有するレジスタが伝送される。任意アクセスと伝送は各クロックにより周期的に行われる。この方法はとりわけ、伝送チャネルに多数の異なるソースのデータを時間に制限されずに伝送すべき場合に適する。この方法はソース最適化されると言える。
3.セグメント化
セグメント化された伝送チャネルは、半永久的およびレジスタ指向のノードからなる。ここで伝送チャネルは、箇所毎に速度最適化され、半永久的に、そして他の箇所でソース最適化されて構成される。
ルーティングテーブル
ノードの基本モジュールはルーティングテーブルである。これはDE19654846.2−53に記載されているスイッチングテーブルに類似である。
このようなテーブルの可能な構造を実施例に基づいて説明する。
各セルは有効な接続を示す。ここで複数の接続は同時にアクティブになることができ、最大で空きの内部バスバーと空きの外部バスセグメントの数の接続が存在する。後で説明する監視ロジックは、新たに選択された接続が形成できるか否かの検査を引き受ける。
各行はその2進アドレスを介して問いかけられ、選択される。さらに2進アドレスを有していない特別行がある。この特別行はトリガ信号または状態信号を介して選択される。この信号には、
−rRDYl,rRDYh
−oACK1,oACK2
が所属する。
ここではデータ受信側(rRDY)へのバス接続が、データ送信側行が有効な結果を有するときに常に自動的に形成される。信号oACKの際に、受信/送信経過が交換される。データ受信側が自分のオペランドを処理し、新たなオペランドを処理できるようになると直ちにデータ受信側はそのデータ送信側への接続を形成する。
列「ゲート」には、それぞれの接続に対してアクティブであるゲートがプロットされている。ここではただ1つのゲートをマークし、列「EALU」でコンフィギュレーション可能なエレメント(1つまたは複数の行)への接続を選択することができる。(セルの入力側または出力側への)
列「バス」では、この接続に対して使用される内部バスバーが選択される。ここで値は2進であり、従って前記のテーブルでは全部で4つの内部バスバーを使用することができる。内部バスバーの選択は、優先度デコーダが第1の空きのバスバーを識別し、これを自動的に割り当てることにより省略できる。
列「目標テーブルのエントリ位置」では行のアドレスがノードを制御するテーブルに記録され、接続に収められる。このアドレスには、次のノード内の瞬時の接続に対して必要なルーティング情報がある。
列「伝搬時間」はオプションである。ここには、データ送信側からデータ受信側までの予期される信号伝搬時間をプロットすることができる。この情報は、データスループットの計算のために、またはタイムアウトを発生するために使用することができる。
列「接続形成時間」はオプションである。ここには、次のノードまでの接続の形成のための最大時間(またはデータ送信側からデータ受信側までの接続全体の)をプロットすることができる。この時間を上回ると、タイムアウトを介して接続形成を解除し、バスセグメントおよびノードを別の接続に対して空けることができる。後の時点でデータ送信側は新たに接続形成を試みる。
ルーティングテーブルのエントリは公知の方法に従って、上位のロードロジックによりコンフィギュレートおよび再コンフィギュレートすることができる。
“拡張された”ルーティング方法が使用されるなら、空間座標をルーティングテーブルに追加しなければならない。同じように優先度識別も予期される。
優先度識別は、モジュールの出力に対してチャネルがどの程度重要であるかを指示する。優先度識別が非常に高ければ、チャネルの重要度は高まる。ここで識別は3つの形式に分類される。
1.タイムアウト
識別は、使用されないクロックサイクルがいくつあるとチャネルを解除すべきか、すなわち何サイクル後にDOSCONNECTを発生すべきかを指示する。
2.パケット・サイズ
識別は、データパケットがいくつあるとDISCONNECTを発生すべきか指示する。
3.クロックサイクル
識別は、クロックサイクルがいくつあるとDISCONNECTを発生すべきか指示する。
ここでは3つの可能な形式の1つだけを固定的に実現できる。または付加的な情報によって形式を選択することができる。
優先形式(次のテーブルの優先形式)は後に示されるルーティングテーブルで次のように評価される。
パーマネントは、優先度識別の値を固定的に“パーマネント”として設定することによっても表すことができる。このためには優先度識別の通常の最大値またはゼロが適する。
アービタ
ルーティングテーブルに前置されるのはアービタである。アービタは、接続形成への大量のリクエストからルーティングテーブルを介していくつかの信号を選択する。ここではアービタを通常の優先度ロジックおよび従来技術のラウンド・ロビン・アービタから構成すると有利である。(ラウンド・ロビン・アービタは、タイムディスクの最高優先度を常に次の信号に接続する。このことは、瞬時に最高優先度を有する信号が次の信号として最低の優先度を有するようになり、ついで各アクセスにより次第に高い優先度を得ることを意味する。)ここでは優先度ロジックをそのために使用でき、いくつかの信号、例えばrACX、oRDYに基本的に特に高い(または特に低い)優先度が配属される。ラウンド・ロビン・アービタにより、要求される接続形成(たった今のところ接続形成が不可能であった)が最低の優先度を受け取り、従って他のすべての接続要求が形成されるかまたは検査されるまで待機するようになる。
状態マシン(制御部)
状態マシンはノード内部の経過を制御する。ここで状態マシンは2つに分割される。
−ノードの制御
−バス転送および同期の制御
ここで1つの状態マシンに基づくことができる。
状態マシンは従来技術により実現可能であり、ここで詳細には説明しない。
監視ユニット
監視ユニットはルーティングテーブルに後置接続される。監視ユニットは、アドレシングされた行にエントリされたデータを取りだし、接続形成が可能か否かを検査する。
ここでは特に次の点が検査される。
−空きの内部バスバーが使用できるか。
−要求されたゲートが空きか。
−要求された外部バスセグメントが空きか。
a)検査結果がポジティブであれば、信号ACCEPTが発生され、状態マシン並びに接続形成を要求するユニットに送信される。これは所要の接続形成を通報するためである。
b)検査結果がネガティブであれば、信号REJECTがけいせいされ、状態マシン並びに接続形成を要求するユニットに送信される。これは接続形成の失敗を通報するためである。この信号に上に述べたアービタは応答することができ、その要求の優先度を最低にセットする。
接続解除
既存の接続は種々の基準によって再び解除することができる。もっとも重要な基準にはタイムアウトが属する。
タイムアウト:比較的に長い時間間隔にわたってデータ転送が行われなければ接続は解除される。タイムアウトは簡単に、ロード可能なダウンカウンタにより実現される。カウンタにはデータの各伝送の際に新たに固定の初期値がロードされる。この初期値はタイムアウトまでの時間間隔を表す。データ転送が行われなければ、カウンタは各バスクロックにより1だけカウントダウンする。カウンタがゼロになると、最大時間間隔が経過し、バスは解除される。
データカウンタ:ロード可能なカウンタには、伝送すべきデータの数がロードされる。各データ転送の際にカウンタは1だけカウントダウンする。カウンタがゼロになると、すべてのデータは伝送され、バスは解除される。
同期信号:バス解除は、データ送信側として現れるセルの状態および/または同期信号により制御される。セルが例えば、そのデータ処理を終了したか、またはセルが再コンフィギュレート可能であることを指示すれば、バスが解除される。なぜならこのバスはもはや必要ないからである。これらの信号にはrRDY、oACKが属する。
ここで接続解除は次のように行われる。すなわち、開始ノードから接続解除のための信号が各後続のノードに送信され、受信された信号がそのパートナーノードにさらに送信され、接続が直ちに解除される。
拡張されたルーティング方法では、半永久的バスがRECONFIG同期信号または優先度識別により解除される。接続の端部がノードの優先度識別により検出されると、これからDISCONNECT信号がバスの解除のために発生され、他のすべのノードにさらに伝送される。これらのノードはDISCONNECTに、RECONFIGと同じように応答する。
レジスタ指向ノードでは接続解除が必要ない。なぜなら接続は、ダイナミックに到来するデータによって配属されたアドレスに従い形成されるからである。データをさらに供給した後、接続は自動的に解除され、他の伝送に対して空きとなる。
ブロードキャスティング
従来技術により次のようなバスシステム公知である。すなわちこのバスシステムは、データパケットを複数の受信側に送信することができ、同じようにデータ転送の受領確認を可能にする。同じシステムをここに説明する方法に使用することができる。複数のゲートを1つのバスバーに接続することは問題なしに可能である。ここではルーティングテーブルのただ1つの行だけが使用される。目標ルーティングテーブル「目標テーブルのエントリ位置」内のアドレスはここでは選択された各ルーティングテーブルにおいて必然的に同じでなければならない。
この問題を回避するために、複数のエントリを「目標テーブルのエントリ位置」として使用することができる。例えば各ゲートに対しては別個の「目標テーブルのエントリ位置」が存在することができる。これにより各ゲートに目標ルーティングテーブル内のアドレスが割り当てられる。
受領確認は信号線路を介しておこなれる。この信号線路は、簡単なReadt/Acknowlegeプロトコル、または場合により拡張された複合プロトコルを使用し、オープンコレクタドライバにより駆動され、トランジスタと接続されている。
既存のチップ技術での良好な実現性を可能にするため、受領確認信号はノードにおいてまずマーキングされ、次に論理的に相互に結合される。論理結合は次のノードにさらに伝送される。例えば通過したすべてのノードで受領確認信号のAND結合が行われれば、結果はオープンコレクタ回路の場合と同じである。
ロードロジック(PLU)
DE4416881A1に記載のロードロジックはルーティングテーブルに接続される。このロジックを介してルーティングテーブルはコンフィギュレートおよび再コンフィギュレートすることができる。ルーティングテーブルは1列だけ拡張することができる。この列は、該当する行に示された接続が形成または解除されるときにフィードバックをロードロジックに送信するために使用される。従ってこの列には、接続が形成または解除されるときにPLUへのフィードバックを行うべきか否か、並びにフィードバックはどの形式であるかを表示することができる。フィードバックはゲートを介して行われ、このゲートは調整に応じて接続形成の際または接続解除の際に導通し、オープンコレクタドライバとして接続されたトランジスタへのフィードバックを制御する。
【図面の簡単な説明】
図1は、セルアレイおよびノードを有する2次元のモジュールを示し、
図2は、図1の一部を示し、
図3は、複数の存在するバス接続および新しい接続の構成を示し、
図4は、新しいバス接続の構成を示し、
図5は、接続形成の次のステップを示し、
図6は、2つのバスの衝突を示し、
図7は、衝突後のステップ毎の接続解除を示し、
図8は、衝突後のステップ毎の接続解除を示し、
図9は、衝突後のステップ毎の接続解除を示し、
図10は、衝突後のステップ毎の接続解除を示し、
図11は、解除された接続の、所定の時間間隔後の新たな接続を示し、
図12は、ノードが1つより多くのバスバーを有し、、従って衝突が生じない時の、図6の続きを示し、
図13は、バスセグメントと1つのノードのバスバーとの接続を示し、
図14は、接続形成のデータ伝送を示し、サブ図は、その都度バスサイクルの間隔における接続の状態を示し、
図15は、接続解除のデータ伝送を示し、サブ図は、その都度バスサイクルの間隔における接続の状態を示し、
図16は、ノードの制御ユニットを示し、
図17は、複数のデータ受信側へのブロードキャスティングを示し、
図18は、図16に比して改善されている、衝突検出器を備えたノードの制御ユニットを示し、
図19は、図16に比して改善されている、図18の制御部を備えたルーチングテーブルを示し、
図20は、図18/図19に適合しているバスバーを示し、
図21は、図16に比して改善されている、複数のノードに対するブロードキャスティングを示し、
図22は、図18ないし図21のシーケンス制御を示し、
図23は、拡張されたルーチング方法によるバスノードを示し、
図24は、図23の最適化された変形例を示し、
図25は、同期ユニットを備えたデータレジスタを示し、
図26は、拡張されたルーチング方法による衝突検出器を示し、
図27は、図23〜図26に対する制御ユニットを示し、
図28は、スループットを高める、カスケード接続可能な、図27に対する付属を示し、
図29は、図27に対する制御レジスタを示し(2705)、
図30は、拡張されたルーチング方法に従った相対的な空間座標に関するバス構成を示し、
図31は、拡張されたルーチング方法に従った絶対的な空間座標に関するバス構成を示し、
図32は、空間座標の管理を示し、
図33は、セグメント化されたバス構成を示す。
図面の詳細な記述
図1は概念FPGA、DPGA、DFP(ドイツ特許第4416881号公報)のモジュールを示す。このモジュールは2次元的に対称にコンフィギュレーション可能なセル(0101)から構成されている。この場合、0101はグループに統合され互いに網目状に接続された(ネットワーク化された)多数の異なるコンフィギュレーション可能なセルをも表しうる。セル間にはバスシステムのノード(0102)が存在する。この場合、以下の実施例において複数の接続を形成することになる複数のノードが示されている。データ送信側A(0103)は以下においてデータ受信側A(0104)への接続を形成し、ならびにデータ送信側B(0106)はデータ受信側B(0105)に接続されている。部分的な拡大部分(0107)が図2に示されている。
図2は上記の概念のモジュールの部分図である。図1のコンフィギュレーション可能なセル(0101)が0201によって示されている。多数の線路(個数は任意であり精確には図示されていない)の束(0203)は0201をノード0202に接続する。ノード(0202)はバスセグメント(0205)を介して互いに接続されている。同様にこれらのノードもバスセグメント0206を介してこの拡大図の外部にあるノードに接続している。バスセグメント0206の構成はバスセグメント0205と同じである。選択的な線路束(0204)を介して、コンフィギュレーション可能なセルが複数の異なる線路束を介して複数のノード(0202)に接続しうることが示されている。
図3はランタイム時のモジュールを示す。
ノードZ(0301)間に、
ノードY(0306)間に、
複数の接続が存在する。データ送信側A(0302)はデータ受信側A(0307)への接続を形成しようとする。しかし、この接続は拒否される(REJECT)。というのも、この接続はノードZ(0308)において阻止されるからである。同時にデータ送信側B(0304)はその受信側へのバスセグメント(0305)を形成する。この試みは成功する。というのも、要求されたノード及び必要なバスセグメントは阻止されないからである。
図4は次のバスサイクルを示す。接続Y及びZはその間に解除されている。データ送信側A(0401)は今やバスセグメント(0403)を形成することができる。というのも、ノード(0402)がもはや阻止されていないからである。同時にデータ送信側B(0404)は既存のバスセグメント(0405)をノード(0406)を越えて拡張する。⇒新たなバスセグメント(0407)が形成される。
図5:図3で開始され図4を経て継続されるバス形成は図4と同様に継続される。
図6:データ送信側Bのバスセグメント0602の接続形成は失敗する。ノード0601は使用されており、REJECT信号を送出する。このREJECT信号は接続形成の失敗をシグナリングし、接続の中断をノード0603に惹起する。
図7はデータ送信側A(0701)とデータ受信側A(0702)との間の完全な接続形成を示す。データ送信側Bの接続はさらに解除される。ノード0703はバスセグメント(0704)を介してREJECT信号をノード0705に送出する。続いてセグメント0704が解除される。
図8:データ送信側Aとデータ受信側Aとの間のデータ伝送が開始される。データ送信側Bの接続はさらに解除される。ノード0801はバスセグメント(0802)を介してREJECT信号をノード0803に送出する。続いてセグメント0802が解除される。
図9:データ送信側Aとデータ受信側Aとの間のデータ伝送が継続される。データ送信側Bの最後のセグメントが解除される。ノード0901はバスセグメント(0902)を介してREJECT信号をノード0903に送出する。続いてセグメント0902が解除される。
図10:データ送信側Aとデータ受信側Aとの間のデータ伝送が継続される。データ送信側B(1001)は新たに己のデータ受信側への接続を形成しようと試みるまでしばらく待つ。
図11は複数のバスサイクル後の状態を示す。データ送信側Aとデータ受信側Aとの間のデータ伝送は相変わらず行われている。データ送信側B(1101)は新たに己のデータ受信側への接続を形成しようとの試みを開始する。このデータ送信側B(1101)はノード(1103)へのバスセグメント(1102)を形成する。次のバスサイクルでデータ送信側Aからデータ受信側Aへの接続が解除されれば、データ送信側Bの接続形成は成功する。さもなければ、この接続は図6の場合のように再び失敗する。
図12は、ノード1202が1つより多くの接続を形成できる場合の、つまり、このノードは複数の内部バスバーを有する場合の図6の継続状態を示す。これにより、データ送信側Aの接続は第1のバスバーを介して展開され、データ送信側Bの接続は第2のバスバーを介して展開される。ノード1202はデータ受信側B(1201)へのバスセグメント1203を形成する。
図13はノード内部の網目状接続構造を示す。4つのノード内バスバー1301、1302、1303、1304が存在する。それぞれのゲート群(1308、1309、1310、1311)を介してバスバーはバスセグメント西(1308)、北(1316)、東(1319)、南(1317)に接続される。ゲート1307を介してバスバーはO-REG1/2と接続されている(1314、1315)。ゲート1306を介してR-REGはバスバーに接続されている。この場合、下位R-REGと上位R-REG(1312、1313)がそれぞれ別個に接続される。ゲートはバス1320を介して制御される。この場合、必要なゲートシステム(西、北、東、南)ならびに内部バスバーが与えられる。方向情報を選択されるバスバーの情報とAND演算すること(1325、1326、1327、1328)によって必要なゲート(1321、1322、1323、1324)が選択される。
図14aは接続の形成を示す。この場合データ送信側(1401)はデータ送信側(1402)のノードに第1のデータパケットを伝送する。
図14b:この場合、ノードはルーティングテーブルからrRDYに所属するエントリを選択する。rRDYはデータ送信側においてデータが存在することを示すデータステータス信号である。このエントリに基づいて次のバスセグメントが形成され、この次のノードのルーティングテーブルのアドレスが伝送される。
図14c:最後のノード(1403)、データ受信側ノードは、そのルーティングテーブル内部のエントリのアドレスを受け取る。このエントリは更なるノードを指示しておらず、セルを指示している。よって、このノードは直ぐに選択されたセルへのゲートを活性化する。
図14d:データが1403の活性化されたゲートによって直接受信側セル1404に到達する。
図14e:このセルはoACK信号を受け取ったデータに対する受領確認として送信する。次のバスサイクル(図14f参照)でデータ送信側が引き続いて次ぎのデータパケットを送信する。
図14e〜図14g:セル間の通常のデータ交換が行われる。
図15a:データ送信側(1501)からデータ受信側(1503)へと複数のノードを介するデータ接続が存在する。
図15b:データ送信側(1501)はそのデータ伝送を終了し、DISCONNECT信号を第1のノードに送信する。
図15c:第1のバスセグメントが解除され、このノードはこのDISCONNECT信号を後続に伝送する。
図15d:接続解除が進行する。
図15d:最後のノードがこのDISCONNECTを受け取る。続いてこの最後のノードが同時に直前のノード及びデータ受信側への接続を解除する。
図15e:最後のバスセグメント及びデータ受信側への接続が解除される。
図15fは解除方法を示す。この解除方法においてDISCONNECT線路が全てのノードを貫通している。この場合、このDISCONNECTはクロックサイクルで伝播される。全てのセグメントが同時に切断される。
図15gは図15eに相応する。
図16はノードの制御部を示す。接続形成要求(1601)が優先度デコーダ(1602)を介してルーティングテーブル(1603)に到達する。この優先度デコーダは最高の優先度を有する要求を選択し、ついさきほど失敗した要求は最低の優先度を割り当てられる。優先度ロジックはその要求をステータス信号(例えばコンフィギュレーション可能なセルのステータス信号rRDY、oACK)を介して又はバスセグメント1316、1317、1318、1319を介して受け取る。バスセグメントにデータが印加されており、しかもこのバスセグメントのゲートが活性化されていない場合、データは優先度ロジックによってルーティングテーブルのアドレスとして解釈され、要求と見なされる。ステータス信号が優先度ロジックに印加されている場合(rRDY,oACK)、これらステータス信号はルーティングテーブルのアドレスに伝送される。ルーティングテーブルのアドレスはエントリを選択する。このエントリのデータ(1604)はANDゲート(1605)から成るユニットへとさらに伝送される。この場合、バス選択のバイナリ数(BUS1..0)は2:4デコーダ(1606)を介してセレクト信号に変換される。ANDゲートユニットはこの場合各信号をラッチ(1607)に格納されている同一の信号とAND演算する。これはすなわちルーティングテーブルの信号GATE1がラッチの信号GATE1とAND演算され、ルーティングテーブルの信号GATE2がラッチの信号GATE2とAND演算されること等々を意味する。この場合ラッチの信号は瞬時の網目状接続構造の状態を表す。すなわち、利用されるゲート及び利用されるバスバーがラッチに入力されている。接続要求と瞬時の状態とのAND演算が真のレベルを発生する場合、これは新しい接続要求が瞬時に利用されているリソースを必要とすることを意味する。ORゲート(1608)を介して全ANDゲートが互いに結合される。このORゲートの出力側において真のレベルが発生する場合、接続要求は拒否される(REJECT)(1609)。というのも、必要なリソースが使用中であるからである。このREJECT信号からインバータ(1610)を介してACCEPT信号(1611)が生成される。これらの信号は状態マシン(1612)にさらに伝送される。この状態マシンは従来技術によってインプリメントできる。この状態マシンはこの後で接続の受領又は拒否を制御する。接続要求が拒否されると、この状態マシンはREJECTを優先度デコーダに報知し(1613)、この要求は最低の優先度を与えられる。要求を受領する場合には、新たな状態信号がラッチの後の瞬時の状態信号とOR演算され(1614)、ラッチ(1607)に書き戻される。この場合、ORユニットも前述のANDユニット(1605)と同様に構成されている。1623を介して状態マシンはこのORユニット(1614)又はマスク(1616)がアクティブであるかどうかを制御する。ラッチは1622を介してこの状態マシンによってトリガされる。バス1615を介して新しいセッティングがゲートに到達する。
バス接続の解除は類似のやり方で行われる。勿論、リソースの検査の際に信号REJECTが発生しなくてはならない。というのも、解除されるべきバス接続が存在しなくてはならないからである。このREJECTに基づいて状態マシン1612はORユニット1614ではなくマスク1616を活性化する。解除されるべき接続の接続データは瞬時の網目状接続状態からマスキングアウトされ、ラッチ1607に書き戻される。新しい接続データの書き戻しの前にこの状態マシンは接続の解除のためのDISCONNECT信号を次のノードに送信する。
ゲート1617、1618、1619、1620を介して制御部は直接バスバー1301、1302、1303、1304にアクセスすることができる。これによって状態マシンは制御信号(DISCONNECT)をこれらのバスバーに伝達することもでき、これらのバスバーから制御信号(REJECT,ACCEPT)を受け取ることもでき、これらに反応することもできる。同様にこれらのゲートは「目標テーブルのエントリ位置」を(1621を介して)これらのバスバーに伝送するために使用される。
1624を介してロードロジック(PLU)がルーティングテーブルにアクセスすることができる。
図17は、データ送信側(1701)の複数のデータ受信側(1702)への多数のノード(1707)を介するブロードキャスティングを示している。これら多数のノード(1707)は詳しくは説明しない。バスはわかりやすくするために別個に図示されている。すなわち、受領確認線路(ACK)(1703)及び残りのバス(1704)である。ACKはこの場合否定され、反転オープンコレクタバスドライバに供給される。ACKはプルアップ抵抗1705を介してHにされる。この場合、回路は次のようなケースが生じるように構成されている。すなわち、
相応のバスが制御されない場合には、トランジスタ(1706)のベースにLが印加される。これによりこのトランジスタはバスに負荷をかけない。
相応のバスが制御され、信号が受領確認されない場合には、トランジスタ(1706)のベースにはHが印加される。これは、バスがLにされることを意味する。ブロードキャスティングによる結果が複数のデータ受信側に分配されると、結果データをまだ受領確認しておらずかつ待機サイクルを必要とする全てのノードがバスをLにする。
相応のバスが制御され、信号が受領確認される場合にはトランジスタ(1706)のベースにLが印加される。これはバスに負荷がかからないことを意味する。ブロードキャスティングによる結果が複数のデータ受信側に分配されると、結果データを受領確認しかつ待機サイクルを必要としない全てのノードがバスに負荷をかけない。
バスがその基本状態においてHレベル、すなわち受領確認をとるので、ケース2による非受領確認はこのバスをLにすることによって受領確認を過剰制御していまう。この場合、接続に参加するノード全てが受領確認する場合にバスはようやくHレベル、すなわち受領確認状態になる。従って、ワイヤードAND回路が実現される。
次には次のようなバス形成を有するノードのインプリメント例を示す。
図18は、図13のバスバーの制御を示す。ルーティングテーブルを予め設定するこれまで記述してきた解決法とは対照的に、ロジックが空いているバスバーを自分で決定しアロケートできる。
それぞれ1つの制御ユニット1801が1つのバスバーに割り当てられる。接続形成の間にはルーティングテーブルのアドレス情報をバスバーに接続されたノードに送信するために、制御ユニットはゲート(1801a)及びレジスタ(1801b)から構成される。このレジスタ(1801b)はバスバーの制御を受け継ぐ。1801はバス1813を介してデータを図19に図示された回路を用いてルーティングテーブルから受け取る。1801bを介して相応に割り当てられたバスバーへのアクセスを有するゲートがイネーブルされる。各ゲートは1801bのエントリが割り当てられたイネーブル信号を有する。エントリがセットされていない場合、割り当てられたバスバーは使用されておらず、自由にアクセス要求が付与されうる。この検査は、OR機能(1802)によってゲートへの全てのイネーブル信号に関して実現される。全てのバスバーの1802の結果はアービタ(1803)に供給される。このアービタ(1803)は空いているバスバーのうちの1つを選択し、この空いているバスバーの1801のアドレスバス(1804)を介して応答する。バスバーが空いていない場合には、1803はこのことを1805を介して制御状態マシンにシグナリングする。1801bのエントリそれぞれがバスバーに割り当てられるゲートを示している。位置はどの1801bにおいても同一である。これは、1801bの位置pから常にゲートpのイネーブル信号が存在し、位置p+1においてゲートp+1のイネーブル信号が存在し、位置qにおいてゲートqのイネーブル信号が存在することを意味する。各ゲートpのイネーブル信号を介してOR機能(1806)が実施される場合、この結果はゲートpが空いているか否かを表している。各ゲート毎にこのような検査機能(1807=ゲートp+1、1808、1809=q)を存在する。マスク1810を介して瞬時の接続形成にとって無関係な全てのゲートがマスキングアウトされる。すなわち、無関係なゲートはマスクによって非イネーブルとして伝送される。OR機能(1811)を介してゲートのうちの1つがイネーブルされているかどうかが検出される。全ての無関係なゲートが「非イネーブル」とされているので、瞬時の接続形成に必要不可欠なゲートの状態のみが状態マシンに伝送される(1812)。所望のゲートがイネーブルされている場合、このゲートは瞬時の接続形成では利用されえない。というのも、さもなければ衝突が発生するだろうからである。この接続形成は中断され、拒否されるか又はより後の時点に改めて試行される。
図19にはアクティブなバスの選択のためのアービタ及びルーティングテーブルが図示されている。ノードに接続された各バス(2004、2005、2006)はそのアクセス要求をアービタ(1902)への信号(1901)を介して送信する。このアービタ(1902)がアクセス要求のうちの1つを選択する。デコーダ(1903)を介してマルチプレクサ(1904)が制御され、(コンフィギュレーション可能なセルによる直接アクセスの場合には)選択されたアクセスの番号(1905)か又は選択されたアクセスのルックアップアドレスかのいずれかがルーティングテーブル1906へ伝達される。1906は1905の値に割り当てられたデータを送出する。次のノードに対するルックアップアドレスは直接1813を介して1801aに伝達される。この次のノードのアドレスは10進数にデコードされ、通常ORゲートから構成されているミキサ(1908)を介してバス1813を介して1801bに伝達される。次のノードへのバスが形成されている場合、前のノードへのゲートのイネーブルが可能である。これは、ミキサ1908にある、10進数デコーダ1909を介してデコードされたこ直前のノードのアドレスが、バス1813へ導通接続され、1801bに伝達されることによって行われる。
図20は、バス(2004、2005、2006)を接続するためのバスバー(2001、2002、2003)を示す。マルチプレクサ/デマルチプレクサ(2007)を介してバスが1801bによる制御に従ってバスバーに接続される。この場合、マルチプレクサpには全ての1801bの出力信号pが供給され、マルチプレクサp+1には全ての1801bの出力信号p+1が供給される等々。個々の信号は存在するバスバーを表す。というのも、各々のバスバー制御は精確に多数の信号(px,px+1,..,qx)のうちの1つ(p)を制御するからである。バスバー制御に所属する信号がセットされると、相応のバスバーが2007によって接続される。
タイムアウト発生器(2008)はそれぞれのセグメントの解除及び接続されるバスを制御する。これらのタイムアウト発生器は直接ルーティングテーブル1906によってコンフィギュレートされる。接続は簡潔にするために図面には図示されていない。
各バスバーに割り当てられる1801aはこのバスバーに接続される。
図21ではバスセグメント(2105)がノード(2101)を介して複数のノード(2102、2103、2104)にブロードキャストされる。RDYハンドシェイクはデータと同様に直接各受信側に送信される。マスク(2105、2106)を介して逆方向ACKハンドシェイクがORゲート(2107)及びANDゲート(2108)に接続される。この場合、これらのマスクを介して、どのACKが重要であるか及びACKはブリーリアンOR機能によって伝送されるか又はブリーリアンAND機能によって伝送されるかが選択される。両方の機能はORゲート(2109)を介してまとめられる。ACKが重要でない場合、マスク2105は論理0(Lレベル)を供給し、他方でマスク2106は論理1(Hレベル)を供給する。マスク2105及び2106は別個にルーティングテーブルによってセットされる。接続は簡潔にするために図面には図示されていない。
図22には前述の回路の状態マシンが図示されている。
基本状態は「IDLE」である。「request(アクセス)」が発生しかつバスバー及び選択されるゲートが空いている場合、この「IDLE」からこの状態マシンは出発する。この場合、この状態マシンは前の状態マシンにACKハンドシェイクの送信によってバス形成を確認応答する。この状態マシンはSEND状態に移り、この間にルーティングテーブルのデータは(1801aを介して)次のルーティングテーブルに送信される。状態マシンは、次のルーティングテーブルのACKハンドシェイクが発生した時に又は例えばタイムアウトによってバスに「disconnect信号」が発生した時にようやくこの状態から離れる。「disconnect」の際にこの状態マシンはDISCONNECT状態に移行し、バスを解除する(この状態はかならずしも必要不可欠ではない、インプリメンテーションが直接IDLEに戻る。しかし、この状態はこの例では分かりやすくするために使用されている)。ACKハンドシェイクが発生した時にはIDLE状態に戻り、この場合1909/1908を介して前のルーティングテーブルのゲートは1801bにおいてイネーブルされる。ルーティングテーブルの性能を上げるために、SEND状態の間にACKハンドシェイクを待つことを止めてもよい。このためにはSEND状態の間に次のルーティングテーブルに送信すべきアクセスデータを1801aに格納しなければならない。つまり、1801aはレジスタである。同時に、SEND状態の間に前のルーティングテーブルに関する情報が付加的な1801bに書き込まれなければならない。次のルーティングテーブルのACKハンドシェイクの発生は、無関係に形成される論理において1801aの遮断及び第1の1801bから第2の1801bへの切換接続を惹起する。これは、前のルーティングテーブルのゲートの接続が格納されていることによって惹起される。
以下の図は「拡張された」ルーティング方法によるインプリメンテーション事例を記述する。バスは次のように設けられる。
図23は、スイッチングエレメント1、2、3、4、5、6を有するノードならびにバスB1、B2、B3、B4を示している。この図面は見やすくするために1線路システムとして構成されている。実際にはこれはバスシステムである。このために全ての図はバス線路の数だけ多重化される。これらのスイッチングエレメントは最もシンプルな場合にはトランジスタ(2302)から構成される。図23b)データをバッファすることができるために、このスイッチングエレメントはレジスタ(2302)だけ拡張される。トランジスタT1、T2、T3、T4を介して、伝送Bm⇒Bnか又は伝送Bn⇒Bmかのいずれかが格納されるように双方向性バスBn及びBmはこのレジスタに接続される。選択的にT5を介して双方向性の格納されないデータ伝送が可能である。制御信号S1、S2、S3、S4を介して、スイッチングエレメントのモードは次のように調整される:
図23c)より良好な信号品質を得るためには、入力シュミットトリガ及び出力ドライバ(2303)を使用する。ドライバ(2303)は、制御信号を介してレベルに依存して出力ドライバか又は入力ドライバかのいずれかがイネーブルされるように構成される。双方向性が失われると、専ら単方向性スイッチング過程が実現される:
スイッチングエレメントのモードは次のように調整される。
図23d)チップにおけるより良好なインプリメンテーションの可能性のために入力側及び出力側は異なる線路(Bmi、Bmo、Bni、Bno)に接続される。ドライバ(2304)は単方向性に構成される。ドライバの制御は省かれる。
図24は図23のノードに類似しているノードを示す。このノードの利点はその良好なインプリメンテーションの可能性及びレジスタの管理に存する。図面はわかりやすいように1線路システムとして構成されている。実際にはこれはバスシステムである。このために、全ての図でバス線路の数だけ多重化される。レジスタ及びドライバ(A、B、C、D)はスイッチングエレメント(1、2、3、4、5、6)に前置配置されている。これらのスイッチングエレメントは図24aに示された交差接続回路に低減される。トランジスタT6、T7によって入力側(Imi、Ini)はそれぞれ選択的に制御線路S5、S6により出力側(Imo、Ino)に接続される。図24b〜dはレジスタ及びドライバ(A、B、C、D)の様々な構成形式を示している。
図24bでは、双方向性バスはT8を介してレジスタ2401の入力側として接続されるか又はT9を介して出力側から接続されるかのいずれかである。ノード内バスImoは信号源でる。T8及びT9は制御線路S7を介して制御される。S8を介して制御されるトランジスタ対T10/T11によってレジスタバイパスがスイッチングされ、この結果、半永久モード(quasi-permanenten Modus)が可能になる。レジスタの出力側はノード内バスImiに接続される。このImi及びImoの網目状接続は、図24aのスイッチングエレメントを介して行われる。図24cでは、トランジスタ対T8/T9の代わりにドライバ段(2402)が信号品質の改善のためにバスに接続されている。
図24dでは、チップにおけるより良好なインプリメンテーションの可能性のために、外部バスが単方向性に構成されている。ドライバ2403は単方向性であり、制御信号S7が省かれている。
図25は図24の可能な同期回路を提案している。データ格納のためのレジスタ2401は2501に示されている。レジスタ2502はRDYハンドシェイク信号の格納に、すなわち有効なデータがバスに乃至は2501に存在するという情報の格納に使用される。2501に有効データが存在しない場合、2502の出力側Qは論理0である。有効データが発生する場合(RDYがアクティブでありかつ論理1である場合)、ANDゲート2503を介してレジスタ2501及び2502のイネーブル信号(EN)が発生され、データ及びRDYは立ち上がりクロックパルスエッジによって格納される。(2502の)Qに対する2503の入力側は反転する。新たにデータが発生すると、2502の出力側(Q)は論理1になる。このANDゲートは論理0を送出し、これらレジスタはENを介してイネーブルされない。これらデータがバスを介して伝送されると、出力側ドライバの活性化信号(0E)が2502に対するClearとして使用される。2502のQは論理0になり、新しいデータは次のクロックサイクルによって格納される。線路Din及びDoutは太く記されている。というのもこれはバスシステムだからである。同様に2501も太く記されている。というのも、このレジスタはバスの幅に相応するからである。
レジスタをラッチとして構成し、クロック(CLK)又はハンドシェイク(RDY)のレベルに結合させることも可能である。これによってこの回路は勿論非同期に動作する。これは大きなインプリメンテーション上の問題を引き起こし、それゆえかなりの付加コストを要する。
図26は、接続が形成されうるかどうか、つまりネットワークが空いているかどうかを検出するテストストラテジを示す。スイッチングエレメントが接続されているか又は空いているかの情報を与えるスイッチングエレメント1、2、3、4、5、6のステータス情報は、マトリクス2603に配置される。この場合、90°スイッチングエレメント3、4、5、6はエッジを形成し、180°スイッチングエレメント1及び2は中間位置を形成し二重になっている。スイッチングエレメントを衝突なしに利用するためには、スイッチングエレメントが存在する辺全部が空いていなくてはならない。例えば、1+2、6+4、3+5を利用することができる。これに対して、例えば6+2、6+1、2+5、2+4、2+3等々を利用することは不可能である。
よって、各辺が一度だけ使用されることが保障されテストされなければならない。このためのデータをレジスタ2602が入力側rを介して供給する。このレジスタ2602には瞬時のノードの接続が格納されている。ならびに、ルーティングテーブル2601がデータを供給する。このルーティングテーブル2601は所望の新しいバスのデータを入力側tを介してマトリクスに供給する。
テスト回路は図26aに図示されている。列毎に(2605、2606、2607、2608)我々はORゲート(2609、2610、2611、2612)を介して接続の有無を計算する。この列に接続されたエレメントが存在する場合、各ORゲートは論理1を送出する。各列の結果はそれぞれANDゲートによってそれぞれこの列に存在する新しく形成されるべき接続と結合される。この列が既に使用されておりかつさらに別の接続がこの列で要求されている場合、各ANDゲートは論理1を送出する。全てのANDゲートの出力側がOR演算される(2613)。従って、要求された網目状接続(ネットワーク化)が有効である場合にはテストの結果は2604に論理0を送出し、衝突がある場合には論理1を送出する。
図26の回路は時間単位毎の要求を処理できるにすぎない。時間的な最適化は図27に図示されている。2701を介してバスのアクセス要求が回路に到達する。ルーティングテーブル(2702)は通常のメモリではなく、多数の個別のレジスタ(2711)から構成されている。よって、マルチプレクサ2703を介して全アクセス要求のデータが同時にルーティングテーブルから読み出される。それぞれのアクセス要求のデータはそれぞれ図26のマトリクス(2704)に供給される。このマトリクスはノードの瞬時の接続を有するレジスタ(2705)からの比較データを得る。回路2706は、マトリクス2704への有効なリクエストが存在することを検出するORゲートから構成される。2704の結果はインバータを介してORゲートの出力側にAND結合されている。結果として、有効な既存のアクセスがある場合には論理1が、さもなければ論理0が送出される。各マトリクスはそれぞれ回路2706を有する。これら回路2706の結果はアービタ2707に接続される。このアービタ2707は有効なアクセスのうちの1つを選択する。マルチプレクサ2708は、有効なアクセスのデータがミキサ2709に到達するように接続されている。このミキサ2709は、有効な新しいアクセスを既存の接続に結合しレジスタ2705に格納のために伝送する。
この回路は4つのアクセスの集合から精確に有効なアクセスを選択することができる。マルチプレクサ(2703)、マトリクス(2704)、アービタ幅及びマルチプレクサ幅(2707、2708)ならびにこれらに所属する論理の個数を変化することによって、任意の調整可能なアクセスの集合から有効なアクセスを処理することができる。
しばしば1つより多くの有効なアクセスをアクセスの集合から選択する必要がある。このために、線路2801、2805、2802及び2810が使用される。これら線路2801、2805、2802及び2810は図28の付加回路に接続されており、2つのアクセスの同時選択が可能である。2810が結線されている場合、線路2710は省く。以下に示す原理によって任意の数のアクセスがカスケード接続によって同時に選択される。
2801を介してどのアクセスが「有効」として選択されたか、という情報がデコーダ2803に到達する。この情報はデコードされ、3つのマルチプレクサ2804を介して選択されていないアクセスのアクセスデータのみがマトリクスに供給される。すでに選択されたアクセスを省くことによってマトリクスの個数は1つだけ減少される。
このデコーダは次のテーブルのように動作する:
このテーブルは列「デコーダ」では2802を介して選択される「有効な」バスを示す。列MUX1〜MUX3では、各マルチプレクサが値2802に依存してどのバスを選択するかが示されている。
マトリクス(2811)、論理(2806)及びアービタ(2807)は図27から既知のように動作する。マルチプレクサ2808を介してアービタによって選択されたアクセスのデータがミキサ2809に供給される。これはミキサ2709のように2709の出力データに論理によって図28で選択されたアクセスのデータを加え、生成されるアクセスデータを2810を介してレジスタ2705に供給する。マルチプレクサ2808の入力データはマルチプレクサ2804における接続に基づいてこれらのマルチプレクサ2804の出力側から取り出されなければならない。図28の回路は上記の原理に従って段数を多くしてさらにカスケード接続可能であり、マトリクスの数はカスケード毎にそれぞれ1つずつ減少する。
図29は2602乃至は2705によるレジスタを記述している。ミキサ2709乃至は2809の出力側は2901を介して入力データとしてレジスタに供給される。それぞれレジスタバンク2902a/bがノードのバス(B1、B2、..Bm)のうちの1つを管理する。バンクの部分aにはノードの制御が格納されている。バンクの部分bではバス接続のタイムアウトが定義されている。この部分bはロード可能なカウンタから構成され、このロード可能なカウンタのイネーブル及び再ロードはマルチプレクサ2903を介して部分aにより調整可能に選択される。
カウンタの信号再ロード及びイネーブルは次のように生成される:
この場合、再ロード、すなわちカウンタの新たなロードに対して必要なレジスタは2902bに含まれている。このレジスタは最初にセットされたカウンタ状態を含む。2904はタイムアウトを検出するためにカウンタ状態0について検査する。2904はこの図ではただ理解のためにのみ示されている。インプリメンテーションではカウンタの桁上げ信号(リップルキャリ)が使用される。この桁上げは2902aの内容をクリアする。この2902aはこの後で状態情報「バス空き」を送出し、従ってバスを切り離す。この桁上げから信号としてBUS-DISCONNECTがバスに接続され、残りのバスセグメントを切り離すために使用される。BUS-RECONFはデータと共に供給され、発生すると同様にバスの切り離しを惹起する。ORゲート2905を介してこれら両方の信号は2902に供給され、レジスタ及びカウンタのクリアを惹起する。前記のテーブルによってイネーブル信号が不活性化されカウンタにゼロより大きい値をロードされることにより、タイムアウトが不活性化される。レジスタのデータはバス指向(busoriented)であり、スイッチングエレメント指向ではない。これらのデータは2906を介してミキサ2709及び2809に供給される。各制御信号はm倍(バスの個数)存在し、記号si,mで示され、この場合mはバスを示し、iはスイッチングエレメントの数を示す。データが図26のマトリクスに又は図23/24のノードに供給される前に、これらは次のように写像される。すなわち、数列Tiだけが存在するように写像される。写像規則はこの場合Ti=(Si,1∪ Si,2∪ Si,3∪...∪ Si,m)である。言い換えれば、全てのSi,1〜Si,mがOR演算される。2907がこの機能を引き受け、Tを2908を介してマトリクス及びスイッチングエレメントに供給する。
図30は2つのバス接続の例を示す。コンフィギュレーション可能なエレメント又はコンフィギュレーション可能なエレメント群(3001)にノード3002が割り当てられている。ノード3003はデータをノード3004に伝達する。この接続形成はスタティックである。ノード3005はデータをダイナミックに目標ノード3008に伝達する。この場合、セグメント3006及び3007が使用中である。よって、走行方向はその都度変更される。X/Y座標はそれぞれ通過するノードで示される。この場合、座標は走行方向に応じて同じままに保持され、この結果1だけ大きくなるか1だけ減少する。座標のカウント値に基づいて、走行方向及び目標が発見される。この場合、ノードに入ってくるバスの位置(A、B、C、D)及び(X/Y)運動の正負の符号から運動方向の偏差が計算される。この場合、記述のために方位が使用され、yは南北軸、Xは東西軸を形成する:
到着するバスの走行方向及び方位に基づいて、スイッチングエレメント(1、2、3、4、5、6)のうちのどれを要求するかが計算される。上記の2つの計算は些細なものであり、この結果必要な計算ユニット(XY2ADR)は例えばルックアップテーブルによって構成できる。従って、計算を詳しく論じることはせず、上記のテーブルを参照する。この例におけるアドレス指定は相対的である。
図31は絶対座標を有する同一の例を示す。図30とは対照的に、座標はノードにおいて計算されるのではなく、上位の座標系3101によるノードの座標と比較される。より大(>)、より小(<)及び等しい(=)の比較に基づいて接続形成が制御される。両方の座標(X及びY)がノードの座標に等しい場合、目標に到達している。1つの座標がノードの座標と等しい場合、この座標の目標軸に到達している。
図30及び31に示された例は最適な方向からの偏差を許さない。例えばセグメント3009が図30で使用中である場合、データはもはやこれ以上伝送できない。この使用中の場合には予め設定された方向からの偏差を許すことが可能である。次いで、接続が3010を介して形成される。勿論、無意味なルーティング試行を行わないために、可能な偏差の余地は限定されていなければならない。予め設定された方向からの偏差に対する有意味な限定範囲は+/−1から+/−2までである。
図32a及び32bは、空間座標を評価乃至は修正するためのノード3201の周りの必要な周辺領域を示す。
図32aは、走行方向に相応して相対座標を修正する。正の方向には減算され(3203)、負の方向には加算される(3202)。比較器(3204)は座標が0に到達したかどうかを検査する。
図32bは、比較器3205を用いてノードの座標と絶対座標とを比較する。予め設定された方向からの偏差を可能にするために、比較器3205及び3204が拡張され、これら比較器は座標が偏差領域に存在するかどうかという情報を検査し、送出する(−偏差<座標<偏差)。この情報に基づいて、計算ユニット(XY2ADR)は、予め設定された方向の衝突の際には許容偏差の限界内で運動方向を修正し、偏差を許可又は阻止することができる。この計算も些細なものであり、場合によってはルックアップテーブルの拡張によって実施することができる。次のテーブルには最大許容偏差がAによって示されている:
X及びyの迂回はこの場合あいまいである。つまり、正反対の方位への運動が許可されうる。というのも、同時にk−A<0かつk+A>0、が成り立つからである。これは、所望の場合には、kの正負の符号の逆方向の走行方向を許さないことにより使用できる。k=0の場合、全走行方向が許される。
図33はセグメント化されたバスの特性を示す。この図面の構成は既知の通りである。送信側ノードSaはデータを受信側Eaに送信する。さらに別の送信側ノードSbがEbに送信し、最後のScがEcに送信する。このEcは受信側ノードEbでもある。この場合、セグメント3301及び3302において衝突が発生する。バスの最適な利用のために(原理的に他の経路が可能であることは無視すると)、全てのバスが、セグメント3301及び3302は除いて、半永久的に形成される。これらのセグメントはモード「レジスタード(Registered)」で動作し、調整されるタイムアウトに従ってそれぞれ既存のバスのうちの1つを決める。それぞれのタイムアウトを介して個々のバスの優先度が決定される。重要なバスは大きな「タイムアウト権」、すなわち長いサイクルを得る。他方で重要でないバスには短いサイクルが与えられる。
図23〜27までのノードのこれまでの記述は簡潔にするために4方位への網目状接続(ネットワーク化)だけを示した。しかし、実際にはノードにおいて付加的にそれぞれコンフィギュレーション可能なセル又はコンフィギュレーション可能なセル群が接続されなければならない。このために必要な拡張は図34に図示されている。ノードの記号は図34aにおいて図23に相応し、図34bにおいて図24に相応する。コンフィギュレーション可能なエレメントの接続部はZで示されている。マトリクス2603は図34cでは3401に変更される。接続の変化は図26に相応して行われる。
上記の例は理解しやすいように2次元システムにおいて構成されている。本発明の方法に基づいて相応に複雑な任意の多次元システムが形成可能である。
概念定義
アドレス・ルックアップ アドレスは計算されず、メモリを「探索する」ことによって生成される。
ALU 算術論理ユニット。データの処理のための基本ユニット。このユニットは、加算、減算、状況によっては乗算、除算、級数展開等のような演算を実施することができる。その際、ユニットは整数のユニットまたは浮動小数点ユニットして構成されていることができる。同様にユニットは、AND、ORのような論理演算並びに比較を実施することができる。
形成フェーズ バスセグメント形成するサイクル
アービタ 信号間の権利を分配するためのユニット
双方向 2つの方向におけるデータ伝送(ソース/目標1<−>ソース/目標2)
ブロードキャスト PAEのデータを複数またはすべてのデータ受信側に送信する
バス要求 データ伝送に対するバス接続を形成するという要求(接続要求も)。
バスセグメント 2つのノード間のバスシステムの部分
バス状態 バスが動作する形式および方法。2つの主状態が区別される:
半永久的:バスは連続している線路のように振る舞う。バスは1つのデータパケットによってしか使用できない(それが取り壊されるまで)
レジスタード(Registered):各セグメント間に、データを1クロックサイクルだけ遅延するレジスタが挿入されている。各クロックサイクルにおいて(タイムアウトに依存して)、別のデータパケットを裁定することができる。
これら2つの状態の混合により、両方の利点を相互に接続する状態「セグメント化された(segmented)」が生じる
データ受信側 PAEの結果を引き続き処理する単数または複数のユニット
データ送信側 PAEに対するデータをオペランドとして使用することができる単数または複数のユニット
データ形式 データの種類:記号、数字、浮動小数点数、信号(ブール代数)、等
10進デコーダ 2進数を10進数に変換する
DFP ドイツ連邦共和国特許出願公開第4416881号公報に記載のデータフロープロセッサ。
DISCONNECT タイムアウトカウンタ/発生器によって生成される、バスを取り壊すための信号。バスのすべてのノードにガイドされる。
DPGA 従来のダイナミックにコンフィギュレーション可能なFPGA。
EALU 拡張された算術論理ユニット。ドイツ連邦共和国特許出願公開第4416881号公報に記載のデータ処理装置の作動のために必要とされるまたは効果的である特別機能が拡張されたALU。これは殊にカウンタである。
エレメント 部品として電子モジュールにおいて使用することができる、それ自体独立している、すべての種類の単位に対する集合概念。即ちエレメントには次のものがある:
◎ すべての種類のコンフィギュレーション可能なセル
◎ クラスタ
◎ RAMブロック
◎ ロジック
◎ 計算ユニット
◎ レジスタ
◎ マルチプレクサ
◎ チップのI/Oピン
イネーブル レジスタまたはカウンタのイネーブル。
FPGA プログラミング可能な論理モジュール。従来技術。
ゲート 論理基本機能を実施するトランジスタ群。基本機能は例えば、NAND、NOR、伝送ゲートである。
速度最適化 大抵は半永久的に構成されているバスシステムは高い優先度を有し勝つ別のアクセスによって影響されない。
Hレベル 使用のテクノロジーに依存して、論理1レベル
ノード 複数のバスセグメントを相互に接続しかつ接続形成をアクティブに制御するエレメント、ただしデータ伝送の期間には受動的である。
コンフィギュレーション可能なエレメント コンフィギュレーション可能なエレメントは、特定の機能に対するコンフィギュレーション語によって調整設定することができる、論理モジュールのユニットを表している。従って、コンフィギュレーション可能なエレメントは、すべての種類の、RAMセル、マルチプレクサ、算術論理ユニット、レジスタおよびすべての種類の、内部および外部のネット化記述などである。
コンフィギュレーション可能なセル 論理セル参照
コンフィギュレーション 論理ユニット、(FPGA)セルまたはPAEの機能およびネット化の調整設定(再コンフィギュレーション参照)。
ロードロジック PAEのコンフィギュレーションおよび再コンフィギュレーションのためのユニット。そのタスクに特有に整合されているマイクロコントローラによって構成されてる。
ラッチ 信号を普通、ハイレベルの期間にトランスペアレントに転送しかつローレベルの期間に記憶するメモリエレメント。PAEにおいて部分的に、レベルの機能が正確に反転しているラッチが使用される。この場合、通例のラッチのクロックの前にインバータが切り換えられる。
論理セル DFP、FPGA、DPGAにおいて使用されるコンフィギュレーション可能なセルで、そのコンフィギュレーションに従って簡単な論理または算術タスクを果たすもの。
ルックアップ・テーブル(LUT) 値をアドレスとして得かつ結果を返送するテーブル。例えば数字がアドレスとして指定されかつこの数字のsinusが返送される。
Lレベル 使用のテクノロジーに依存して、論理0レベル
M−PLUREG PAEのネットワーク化がセットされるレジスタ。このレジスタはPLUによって書き込まれる。
マスク ソースのどの信号が転送されかつどの信号が中断される(マスキングアウト)かを指示するビット組み合わせ。
ミキサ 所定の表示規定に従って複数の信号を相互接続するためのユニット。
a)通例は論理演算(AND/OR)が行われ、または
b)信号は1つのバスにまとめられ、その際場合により
c)複数の信号源が複数のマルチプレクサを介して選択的にまとめられる。
オープン・コレクタ トランジスタもコレクタが、プルアップを介してHレベルに引っ張られているバス信号に接続されている回路技術。トランジスタのエミッタはアースに接続されている。トランジスタが切り替わると、バス信号はLレベルに引っ張られる。この方法の利点は、多数のこの種のトランジスタがバスを電気的な衝突なしに制御することがでkることである。その最新号はOR接続されており、所謂ワイアードORが生じる。
PAE 処理するアレイ・エレメント:O−REG,R−REG,R20−MUX,F−PLUREG,M−PLUREG,BM−,SM−,Sync−,ステート・バックおよびパワーユニットを有するEALU。
パートナーノード 所定のノードバスセグメントを介して接しているかまたは形成しようとするノード。
PLU PAEのコンフィギュレーションおよび再コンフィギュレーションのためのユニット。そのタスクに特有に整合されているマイクロコントローラによって構成されてる。
優先度形式 優先度識別符号をどのように評価するかの形式および方法。
優先度デコーダ 最高の優先度を有する信号が転送または解放される。
優先度識別符号 バス接続の優先度レベルの指示(高いないし低い)
優先度ロジック 最高の優先度を有する信号が転送または解放される。
プルダウン バス線路をLレベルに引っ張る抵抗。
プルアップ バス線路をHレベルに引っ張る抵抗。
ソース最適化されている できるだけ多くのデータ送信側(ソース)がバスにアクセスすることができるようにするために、大抵は記録されておりかつ低い優先度を以て構成されているバスシステム。
空間座標 多次元の座標系を用いた点の指示。絶対座標(点の正確なアドレス)または相対座標(原点からの相対距離)を使用することができる。正の方向への移動により座標の数値は高められ、負の方向への移動により座標の数値は低減される。
RECONFIG コンフィギュレーション可能なエレメントによって生成される、エレメントが再コンフィギュレーション可能でありかつそのアクティビティを終了したことを指示する信号。
レジスタバンク 大きさおよび機能が異なる複数のレジスタを1つのグループにまとめること
レジスタ・バイパス レジスタを迂回するための線路、これによりレジスタの同期効果が遮断される。
再ロード 本来セットされている値によりカウンタを新たにロードすること。
ルーチングテーブル 形成すべき接続に関する情報を含んでいるノード内のテーブル。
ラウンド・ロビン・アービタ 順番に信号を次々にイネーブルするアービタ。その時点でイネーブルされた信号は最下位の優先度を得かつチェーンにおける最後のものとしてそれから再びイネーブルされる。アービタはサークルで動作する。
バスバー 複数のバスセグメントがまとめられるバス。
シュミット・トリガ ヒステリシスを介して信号に正確に2つの値の1つを指定しかつこれにより信号品質を改善するウィンドウコンパレータ。
スイッチング・テーブル スイッチング・テーブルは、制御部によって応答されるリングメモリである。スイッチング・テーブルのエントリは任意のコンフィギュレーション語を収容することができる。制御部は命令を実施することができる。スイッチング・テーブルはトリガ信号に応答しかつリングメモリにおけるエントリに基づいてコンフィギュレーション可能なエレメントを再コンフィギュレーションする。
タイムアウト発生器
◎成功裡に行われる接続形成のないクロックサイクル
◎伝送されるデータパケット
◎クロックサイクル
◎伝送のないクロックサイクル
のような、異なった判断基準に従ってタイムアウトを生成するためのユニット
タイムアウト 所定の時間の経過後に、何かが行われる(或る過程が始められるまたは中断される)。
タイムアウト・カウンタ タイムアウト発生器参照
ゲート 信号を転送するまたは阻止するスイッチ。単純な比較:リレー
単方向 1つの方向におけるデータ伝送(ソース−>目標)
再コンフィギュレーション 任意の量のPAEの新しいコンフィギュレーションは任意の残りの量のPAEの期間にその独自の機能を続行する(コンフィギュレーション参照)
接続要求 データ伝送に対するバス接続を形成するという要求。(バス要求も)
セル コンフィギュレーション可能なエレメントと同義語
目標軸 X=0またはX=軸ないしY=0またはY=軸であるX/Y軸はXないしYの目標軸である。
状態マシーン 種々の状態をとることができるロジック。状態間の移行は、種々の入力パラメータに依存している。これらマシーンは複雑な機能を制御するために使用されかつ従来技術に対応している。
慣習的に使用される用語・略語
回路ユニット −UNIT
作動形式 −MODE
マルチプレクサ −MUX
否定された信号 not−
PLUに対するレジスタ、見えている PLUREG
レジスタ内部 REG
シフトレジスタ sft
慣習的に使用される機能
Claims (34)
- DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル又はセル群を接続するためのバスシステムであって、
前記バスシステムは、多数の互いに電気的に独立なバスセグメントから構成され、該バスセグメントはノードを介して分離されている、DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル又はセル群を接続するためのバスシステムにおいて、
a) 前記ノードは前記バスセグメントを自立的に及びデータの処理の間に統合又は分離し(図26〜29)、
a1) 統合のために複数のバスセグメントがゲートを介して前記ノード内に存在するバスバーに統合接続されている(図20)か
又は
a2) 統合は直接スイッチングエレメント(図23)、ドライバ及び/又はレジスタを介して行われ、
b) 各ノードはルックアップテーブル(2601)を有し、該ルックアップテーブルには接続の形成に関する情報が格納されており、
c) 各ノードは、接続が形成されうるか否かを自動的に検査する監視ユニット(2603)を有し、有意義な形成可能な接続を形成するか又は相応の接続が形成されるまでデータ伝達を遅延することを特徴とする、DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル又はセル群を接続するためのバスシステム。 - バス接続は段階的に形成され、データ送信側(0401)はまず最初に該データ送信側に接続されたノード(0402)への接続のみを形成し、該ノードはついで自らのルーティングテーブルを介して自らに隣接するどのノードが接続に必要であるかを検出し、このノードがすでの他の接続に使用されていない限りこのノードに対して接続しているバスセグメントを介して接続を開始し、
このノードがすでに他の接続に使用されている場合には、バス接続の形成を中断又は中止し、
このノードがすでに他の接続に使用されていない場合には、要求されたノードはバス接続の形成を継続する(図4〜12)、請求項1記載のバスシステム。 - バスセグメントはデータパケットを伝達するために形成され、データ送信側はまず最初に該データ送信側に接続されたノードへの接続を形成し、該ノードはついで自らのルーティングテーブルを介して自らに隣接するどのノードが接続のために必要であるかを検出し、バスセグメントがすでに他の接続に使用されていない限りはデータをこの相応のバスセグメントを介して伝送し、バスセグメントがすでに他の接続に使用されている場合には、バス接続の形成を中止し、バスセグメントがすでに他の接続に使用されていない場合には、隣接のノードにおいてこのデータが格納され、新しいデータが受け入れられる(図33)ことを特徴とする請求項1記載のバスシステム。
- データ又は接続のアドレスはノードのルックアップテーブル(2601)において次のノードのアドレスに変換される(2709)ことを特徴とする請求項1から3までのうちの1項記載のバスシステム。
- データ又は接続のアドレスはノードの計算ユニットにおいて計算され、次のノードのアドレスが計算される(図32)か又はルックアップテーブル(2601)を介して前記次のノードのアドレスが生成されることを特徴とする、請求項1から3までのうちの1項記載のバスシステム。
- 接続形成が失敗した場合、この形成を後の時点で改めて試行する(図11)ことを特徴とする請求項1から5までのうちの1項記載のバスシステム。
- 接続形成が成功した後で、ノードはパッシブであり、データ伝送はもっぱらデータ送信側とデータ受信側とによって制御される(図14)ことを特徴とする請求項1から6までのうちの1項記載のバスシステム。
- ノードは自立的にデータを次のノードに伝達し(図33)、自動的に同期を引き継ぐ(図25)ことを特徴とする請求項1から6までのうちの1項記載のバスシステム。
- データ送信側もデータ受信側も接続形成の間にも動作の間にもバスシステムに関する情報を有さず、ノードへのいかなる介入動作も行わない(図30〜31)ことを特徴とする請求項1から8までのうちの1項記載のバスシステム。
- ノード及び該ノードのルーティングテーブルはロードロジック(1624)によってコンフィギュレート及び再コンフィギュレートされることを特徴とする請求項1から9までのうちの1項記載のバスシステム。
- ノードはデータを複数のノードに同時に送信することができ(ブロードキャスティング)、同期信号は受信側ノードに調整可能にブール論理で結合され、さらに調整可能にマスキングされて送信側ノードへ戻される(図21)ことを特徴とする請求項1から10までのうちの1項記載のバスシステム。
- DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル間のデータの伝達のための方法であって、
データの伝達はセグメントごとに多次元バスシステムにおいて行われ、さらにセグメントは任意に統合接続される、DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル間のデータの伝達のための方法において、
データ伝達は自動的に及び自立的にノードによって同期される(図22、図25)ことを特徴とする、DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル間のデータの伝達のための方法。 - バスのセグメントは一貫的な遅延なしのバスシステムに固定的に統合接続される(図14)ことを特徴とする請求項12記載の方法。
- バスのセグメントはレジスタ(3301、3302)によって時間的に遅延されて及び調停されて接続されることを特徴とする請求項12記載の方法。
- 請求項13及び請求項14記載の2つの接続方法が接続において行われることを特徴とする請求項12から14までのうちの1項記載の方法。
- バスの形成はルックアップテーブル(2601)によって制御され、該ルックアップテーブルには接続データが格納されており、各ルックアップテーブルにおいて次のテーブルのエントリが指示されていることを特徴とする請求項12から15までのうちの1項記載の方法。
- 1つのバスの形成は目標の一意的に計算可能な相対アドレス又は絶対アドレスの情報によって行われる(図30)ことを特徴とする請求項12から15までのうちの1項記載の方法。
- 目標軸に到達した場合にのみ既存の形成方向を変更する(図31)ことを特徴とする請求項12から15及び17のうちの1項記載の方法。
- 既存の形成方向において封鎖が現れるやいなや、この既存の形成方向を変更する(図31)ことを特徴とする請求項12から15及び17のうちの1項記載の方法。
- 形成方向とは逆方向に及び目標軸を越えて形成は行われない(図30〜31)ことを特徴とする請求項12から15及び19のうちの1項記載の方法。
- 一定の予め設定された余地の中で偏差が動く限り、形成方向とは逆方向に及び目標軸を越えて形成が行われる(図32)ことを特徴とする請求項12から15及び17のうちの1項記載の方法。
- 請求項16及び請求項17記載の2つの形成方法が接続において行われることを特徴とする請求項12から21までのうちの1項記載の方法。
- 複数の要求が発生する際に、ノード(3301、3302)において要求を調停することを特徴とする請求項12から22までのうちの1項記載の方法。
- 複数の要求が発生する際に、複数の要求が同時に処理される(図27)ことを特徴とする請求項12から23までのうちの1項記載の方法。
- データはバスセグメントを介して次のノードに送信され、該次のノードはデータを確認する(図14)ことを特徴とする請求項12から24までのうちの1項記載の方法。
- データはバスセグメントを介して複数の次のノードに送信され、該次のノードはデータを確認し、確認信号は任意にブール代数で結合される(図21)ことを特徴とする請求項12から24までのうちの1項記載の方法。
- データはバスセグメントを介して複数の次のノードに送信され、該次のノードはデータを確認し、個々の確認信号をマスキングアウトするためのマスクが存在する(図21)ことを特徴とする請求項12から24及び26のうちの1項記載の方法。
- 請求項25及び請求項26記載の2つの伝達方法が接続において行われることを特徴とする請求項12から26までのうちの1項記載の方法。
- 既存のバスは切り離し信号(図22)に基づいて分解され、該切り離し信号はすべての参加しているノードに伝送される(図15f)ことを特徴とする請求項12から28までのうちの1項記載の方法。
- 切り離し信号はタイムアウトに基づいて1つ又は複数のノードによって生成され、すべての参加しているノードに伝送される(図15f)ことを特徴とする請求項12から29までのうちの1項記載の方法。
- タイムアウトはデータが伝達されなかった時間に基づいて行われる(概念説明:タイムアウト発生器)ことを特徴とする請求項12から30までのうちの1項記載の方法。
- タイムアウトは伝達されたデータ量に基づいて行われる(概念説明:タイムアウト発生器)ことを特徴とする請求項12から30までのうちの1項記載の方法。
- タイムアウトは不可能であることを特徴とする請求項12から30までのうちの1項記載の方法。
- 各バスセグメントに対して使用されるタイムアウト方法は請求項31から33に応じて選択されることを特徴とする請求項13から33までのうちの1項記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19704742A DE19704742A1 (de) | 1997-02-11 | 1997-02-11 | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
DE19704742.4 | 1997-02-11 | ||
PCT/DE1998/000456 WO1998035294A2 (de) | 1997-02-11 | 1998-02-11 | Internes bussystem für dfps, sowie bausteine mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen, zur bewältigung grosser datenmengen mit hohem vernetzungsaufwand |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001511326A JP2001511326A (ja) | 2001-08-07 |
JP3894957B2 true JP3894957B2 (ja) | 2007-03-22 |
Family
ID=7819649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53357998A Expired - Fee Related JP3894957B2 (ja) | 1997-02-11 | 1998-02-11 | 大きな網目状接続コストを伴う大容量データを管理するための、2次元または多次元プログラマブルセル構造を有するモジュール並びにdfpに対する内部バスシステム |
Country Status (8)
Country | Link |
---|---|
US (2) | US6405299B1 (ja) |
EP (2) | EP0960374B1 (ja) |
JP (1) | JP3894957B2 (ja) |
AT (1) | ATE256888T1 (ja) |
AU (1) | AU6392498A (ja) |
CA (1) | CA2280057A1 (ja) |
DE (3) | DE19704742A1 (ja) |
WO (1) | WO1998035294A2 (ja) |
Families Citing this family (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
DE19651075A1 (de) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
US6338106B1 (en) * | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
JP3961028B2 (ja) | 1996-12-27 | 2007-08-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等) |
DE19704728A1 (de) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US9092595B2 (en) | 1997-10-08 | 2015-07-28 | Pact Xpp Technologies Ag | Multiprocessor having associated RAM units |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
CN1378665A (zh) | 1999-06-10 | 2002-11-06 | Pact信息技术有限公司 | 编程概念 |
JP2004506261A (ja) | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | パイプラインctプロトコルおよびct通信 |
US6636924B1 (en) * | 2000-08-17 | 2003-10-21 | Koninklijke Philips Electronics N.V. | Multiple port I2C hub |
ATE460020T1 (de) | 2000-09-13 | 2010-03-15 | Stratosaudio Inc | System und verfahren zum bestellen und zur verfügung stellen von medieninhalten, mit verwendung von zusatzdaten die in einem rundfunksignal mitübertragen werden |
ATE437476T1 (de) * | 2000-10-06 | 2009-08-15 | Pact Xpp Technologies Ag | Zellenanordnung mit segmentierter zwischenzellstruktur |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US6624056B2 (en) * | 2000-12-04 | 2003-09-23 | Pts Corporation | Methods and apparatus for providing improved physical designs and routing with reduced capacitive power dissipation |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US20070299993A1 (en) * | 2001-03-05 | 2007-12-27 | Pact Xpp Technologies Ag | Method and Device for Treating and Processing Data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
WO2005045692A2 (en) | 2003-08-28 | 2005-05-19 | Pact Xpp Technologies Ag | Data processing device and method |
US7624204B2 (en) * | 2001-03-22 | 2009-11-24 | Nvidia Corporation | Input/output controller node in an adaptable computing environment |
ATE478381T1 (de) * | 2001-06-20 | 2010-09-15 | Richter Thomas | Verfahren zur bearbeitung von daten |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7594229B2 (en) * | 2001-10-09 | 2009-09-22 | Nvidia Corp. | Predictive resource allocation in computing systems |
US7644279B2 (en) * | 2001-12-05 | 2010-01-05 | Nvidia Corporation | Consumer product distribution in the embedded system market |
WO2003060747A2 (de) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
WO2003067814A2 (en) * | 2002-02-01 | 2003-08-14 | California Institute Of Technology | Hardware-assisted fast router |
WO2003071432A2 (de) | 2002-02-18 | 2003-08-28 | Pact Xpp Technologies Ag | Bussysteme und rekonfigurationsverfahren |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
DE10243322B4 (de) * | 2002-09-18 | 2004-12-02 | Pact Xpp Technologies Ag | Analoge rekonfigurierbare Datenverarbeitungseinrichtung |
US7093255B1 (en) * | 2002-05-31 | 2006-08-15 | Quicksilver Technology, Inc. | Method for estimating cost when placing operations within a modulo scheduler when scheduling for processors with a large number of function units or reconfigurable data paths |
US7620678B1 (en) | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
US7461234B2 (en) * | 2002-07-01 | 2008-12-02 | Panasonic Corporation | Loosely-biased heterogeneous reconfigurable arrays |
US7802108B1 (en) | 2002-07-18 | 2010-09-21 | Nvidia Corporation | Secure storage of program code for an embedded system |
US6816809B2 (en) * | 2002-07-23 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Hardware based utilization metering |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US7210112B2 (en) | 2002-08-21 | 2007-04-24 | California Institute Of Technology | Element placement method and apparatus |
WO2004038599A1 (de) | 2002-09-06 | 2004-05-06 | Pact Xpp Technologies Ag | Rekonfigurierbare sequenzerstruktur |
US7502915B2 (en) * | 2002-09-30 | 2009-03-10 | Nvidia Corporation | System and method using embedded microprocessor as a node in an adaptable computing machine |
US8949576B2 (en) * | 2002-11-01 | 2015-02-03 | Nvidia Corporation | Arithmetic node including general digital signal processing functions for an adaptive computing machine |
US7617100B1 (en) | 2003-01-10 | 2009-11-10 | Nvidia Corporation | Method and system for providing an excitation-pattern based audio coding scheme |
US7237216B2 (en) * | 2003-02-21 | 2007-06-26 | Infineon Technologies Ag | Clock gating approach to accommodate infrequent additional processing latencies |
US7917130B1 (en) | 2003-03-21 | 2011-03-29 | Stratosaudio, Inc. | Broadcast response method and system |
US7285487B2 (en) | 2003-07-24 | 2007-10-23 | California Institute Of Technology | Method and apparatus for network with multilayer metalization |
US8296764B2 (en) * | 2003-08-14 | 2012-10-23 | Nvidia Corporation | Internal synchronization control for adaptive integrated circuitry |
US7425841B2 (en) | 2004-02-14 | 2008-09-16 | Tabula Inc. | Configurable circuits, IC's, and systems |
US7622951B2 (en) * | 2004-02-14 | 2009-11-24 | Tabula, Inc. | Via programmable gate array with offset direct connections |
US7167025B1 (en) * | 2004-02-14 | 2007-01-23 | Herman Schmit | Non-sequentially configurable IC |
US7284222B1 (en) * | 2004-06-30 | 2007-10-16 | Tabula, Inc. | Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit |
US8130825B2 (en) * | 2004-05-10 | 2012-03-06 | Nvidia Corporation | Processor for video data encoding/decoding |
US8018463B2 (en) * | 2004-05-10 | 2011-09-13 | Nvidia Corporation | Processor for video data |
US7282950B1 (en) | 2004-11-08 | 2007-10-16 | Tabula, Inc. | Configurable IC's with logic resources with offset connections |
US7312630B2 (en) * | 2004-06-30 | 2007-12-25 | Tabula, Inc. | Configurable integrated circuit with built-in turns |
US7145361B1 (en) * | 2004-06-30 | 2006-12-05 | Andre Rohe | Configurable integrated circuit with different connection schemes |
TWI256013B (en) * | 2004-10-12 | 2006-06-01 | Uli Electronics Inc | Sound-effect processing circuit |
US7342415B2 (en) * | 2004-11-08 | 2008-03-11 | Tabula, Inc. | Configurable IC with interconnect circuits that also perform storage operations |
US7224181B1 (en) * | 2004-11-08 | 2007-05-29 | Herman Schmit | Clock distribution in a configurable IC |
US7301368B2 (en) * | 2005-03-15 | 2007-11-27 | Tabula, Inc. | Embedding memory within tile arrangement of a configurable IC |
US7573296B2 (en) * | 2004-11-08 | 2009-08-11 | Tabula Inc. | Configurable IC with configurable routing resources that have asymmetric input and/or outputs |
US7268586B1 (en) | 2004-11-08 | 2007-09-11 | Tabula, Inc. | Method and apparatus for accessing stored data in a reconfigurable IC |
US7917559B2 (en) * | 2004-11-08 | 2011-03-29 | Tabula, Inc. | Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations |
US7295037B2 (en) * | 2004-11-08 | 2007-11-13 | Tabula, Inc. | Configurable IC with routing circuits with offset connections |
US7276933B1 (en) | 2004-11-08 | 2007-10-02 | Tabula, Inc. | Reconfigurable IC that has sections running at different looperness |
US20070244958A1 (en) * | 2004-11-08 | 2007-10-18 | Jason Redgrave | Configurable IC's with carry bypass circuitry |
US7743085B2 (en) * | 2004-11-08 | 2010-06-22 | Tabula, Inc. | Configurable IC with large carry chains |
US7259587B1 (en) * | 2004-11-08 | 2007-08-21 | Tabula, Inc. | Configurable IC's with configurable logic resources that have asymetric inputs and/or outputs |
US7317331B2 (en) | 2004-11-08 | 2008-01-08 | Tabula, Inc. | Reconfigurable IC that has sections running at different reconfiguration rates |
US7242216B1 (en) | 2004-11-08 | 2007-07-10 | Herman Schmit | Embedding memory between tile arrangement of a configurable IC |
US7330050B2 (en) * | 2004-11-08 | 2008-02-12 | Tabula, Inc. | Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements |
US7236009B1 (en) * | 2004-12-01 | 2007-06-26 | Andre Rohe | Operational time extension |
DE102005005484A1 (de) * | 2005-02-04 | 2006-08-10 | Deutsche Thomson-Brandt Gmbh | Netzwerkstation sowie Computer-Programm-Produkt, welches in den internen Speicher einer Netzwerkstation ladbar ist |
US7298169B2 (en) * | 2005-03-15 | 2007-11-20 | Tabula, Inc | Hybrid logic/interconnect circuit in a configurable IC |
US20070244959A1 (en) * | 2005-03-15 | 2007-10-18 | Steven Teig | Configurable IC's with dual carry chains |
US7230869B1 (en) | 2005-03-15 | 2007-06-12 | Jason Redgrave | Method and apparatus for accessing contents of memory cells |
US7825684B2 (en) * | 2005-03-15 | 2010-11-02 | Tabula, Inc. | Variable width management for a memory of a configurable IC |
US7392446B1 (en) * | 2005-06-17 | 2008-06-24 | Xilinx, Inc. | Test channel usage reduction |
US7548085B2 (en) * | 2005-07-15 | 2009-06-16 | Tabula, Inc. | Random access of user design states in a configurable IC |
US7375550B1 (en) | 2005-07-15 | 2008-05-20 | Tabula, Inc. | Configurable IC with packet switch configuration network |
US20070094664A1 (en) * | 2005-10-21 | 2007-04-26 | Kimming So | Programmable priority for concurrent multi-threaded processors |
US7765249B1 (en) | 2005-11-07 | 2010-07-27 | Tabula, Inc. | Use of hybrid interconnect/logic circuits for multiplication |
US8463836B1 (en) | 2005-11-07 | 2013-06-11 | Tabula, Inc. | Performing mathematical and logical operations in multiple sub-cycles |
US7372297B1 (en) | 2005-11-07 | 2008-05-13 | Tabula Inc. | Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources |
US7818361B1 (en) | 2005-11-07 | 2010-10-19 | Tabula, Inc. | Method and apparatus for performing two's complement multiplication |
US7262633B1 (en) | 2005-11-11 | 2007-08-28 | Tabula, Inc. | Via programmable gate array with offset bit lines |
US7679401B1 (en) | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
DE102005059522A1 (de) * | 2005-12-13 | 2007-06-14 | Siemens Ag | Kommunikationssystem eines Kraftfahrzeuges und Verfahren zum Aufbau eines drahtlosen ad-hoc Funknetzwerkes |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
US7694083B1 (en) * | 2006-03-08 | 2010-04-06 | Tabula, Inc. | System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture |
US7797497B1 (en) * | 2006-03-08 | 2010-09-14 | Tabula, Inc. | System and method for providing more logical memory ports than physical memory ports |
DE102006012275B4 (de) * | 2006-03-15 | 2007-12-20 | Phoenix Contact Gmbh & Co. Kg | Datenübertragungs- und verarbeitungssystem mit sicherem Erfassen von kritischen Zuständen |
US7669097B1 (en) | 2006-03-27 | 2010-02-23 | Tabula, Inc. | Configurable IC with error detection and correction circuitry |
US7999820B1 (en) | 2006-10-23 | 2011-08-16 | Nvidia Corporation | Methods and systems for reusing memory addresses in a graphics system |
US20080111923A1 (en) * | 2006-11-09 | 2008-05-15 | Scheuermann W James | Processor for video data |
US7930666B1 (en) | 2006-12-12 | 2011-04-19 | Tabula, Inc. | System and method of providing a memory hierarchy |
EP2140548A4 (en) * | 2007-03-20 | 2010-06-09 | Tabula Inc | CONFIGURABLE IC WITH A COUPLING AREA WITH MEMORY ELEMENTS |
US7610566B1 (en) | 2007-03-22 | 2009-10-27 | Tabula, Inc. | Method and apparatus for function decomposition |
US8169789B1 (en) | 2007-04-10 | 2012-05-01 | Nvidia Corporation | Graphics processing unit stiffening frame |
US7987065B1 (en) | 2007-04-17 | 2011-07-26 | Nvidia Corporation | Automatic quality testing of multimedia rendering by software drivers |
US8572598B1 (en) | 2007-04-18 | 2013-10-29 | Nvidia Corporation | Method and system for upgrading software in a computing device |
US8726283B1 (en) | 2007-06-04 | 2014-05-13 | Nvidia Corporation | Deadlock avoidance skid buffer |
US7944453B1 (en) | 2007-06-07 | 2011-05-17 | Nvidia Corporation | Extrapolation texture filtering for nonresident mipmaps |
US7948500B2 (en) * | 2007-06-07 | 2011-05-24 | Nvidia Corporation | Extrapolation of nonresident mipmap data using resident mipmap data |
US8069425B2 (en) | 2007-06-27 | 2011-11-29 | Tabula, Inc. | Translating a user design in a configurable IC for debugging the user design |
US7839162B2 (en) * | 2007-06-27 | 2010-11-23 | Tabula, Inc. | Configurable IC with deskewing circuits |
US8412990B2 (en) * | 2007-06-27 | 2013-04-02 | Tabula, Inc. | Dynamically tracking data values in a configurable IC |
US7652498B2 (en) * | 2007-06-27 | 2010-01-26 | Tabula, Inc. | Integrated circuit with delay selecting input selection circuitry |
US7595655B2 (en) * | 2007-06-27 | 2009-09-29 | Tabula, Inc. | Retrieving data from a configurable IC |
US7501855B2 (en) | 2007-06-27 | 2009-03-10 | Tabula, Inc | Transport network for a configurable IC |
US7579867B2 (en) * | 2007-06-27 | 2009-08-25 | Tabula Inc. | Restructuring data from a trace buffer of a configurable IC |
US8344755B2 (en) * | 2007-09-06 | 2013-01-01 | Tabula, Inc. | Configuration context switcher |
US8990651B2 (en) * | 2007-09-19 | 2015-03-24 | Tabula, Inc. | Integrated circuit (IC) with primary and secondary networks and device containing such an IC |
US8631448B2 (en) | 2007-12-14 | 2014-01-14 | Stratosaudio, Inc. | Systems and methods for scheduling interactive media and events |
US20090177736A1 (en) * | 2007-12-14 | 2009-07-09 | Christensen Kelly M | Systems and methods for outputting updated media |
US8166081B2 (en) | 2008-02-05 | 2012-04-24 | Stratosaudio, Inc. | System and method for advertisement transmission and display |
EP2250749A2 (en) | 2008-02-05 | 2010-11-17 | StratosAudio, Inc. | Systems, methods, and devices for scanning broadcasts |
US8863067B1 (en) | 2008-02-06 | 2014-10-14 | Tabula, Inc. | Sequential delay analysis by placement engines |
JP5110433B2 (ja) * | 2008-03-18 | 2012-12-26 | 公立大学法人高知工科大学 | データ駆動型情報処理装置 |
US8166435B2 (en) * | 2008-06-26 | 2012-04-24 | Tabula, Inc. | Timing operations in an IC with configurable circuits |
US9122809B2 (en) * | 2008-07-01 | 2015-09-01 | Hewlett-Packard Development Company, L.P. | Segmenting bus topology |
WO2010016857A1 (en) * | 2008-08-04 | 2010-02-11 | Tabula, Inc. | Trigger circuits and event counters for an ic |
US8674721B2 (en) | 2008-09-17 | 2014-03-18 | Tabula, Inc. | Controllable storage elements for an IC |
US7877897B2 (en) * | 2008-12-16 | 2011-02-01 | Skechers U.S.A., Inc. Ii | Shoe |
EP2441005A2 (en) | 2009-06-09 | 2012-04-18 | Martin Vorbach | System and method for a cache in a multi-core processor |
US8072234B2 (en) | 2009-09-21 | 2011-12-06 | Tabula, Inc. | Micro-granular delay testing of configurable ICs |
EP2553815A1 (en) | 2010-04-02 | 2013-02-06 | Tabula, Inc. | System and method for reducing reconfiguration power usage |
US8941409B2 (en) | 2011-07-01 | 2015-01-27 | Tabula, Inc. | Configurable storage elements |
US9148151B2 (en) | 2011-07-13 | 2015-09-29 | Altera Corporation | Configurable storage elements |
US20150012903A1 (en) | 2013-07-04 | 2015-01-08 | Tabula, Inc. | Non-intrusive monitoring and control of integrated circuits |
WO2018193354A1 (en) * | 2017-04-17 | 2018-10-25 | Cerebras Systems Inc. | Wavelet representation for accelerated deep learning |
GB2580165B (en) * | 2018-12-21 | 2021-02-24 | Graphcore Ltd | Data exchange in a computer with predetermined delay |
US11089140B2 (en) | 2019-08-01 | 2021-08-10 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including generic encapsulation mode |
US11689386B2 (en) | 2019-08-01 | 2023-06-27 | Vulcan Technologies International Inc. | Intelligent controller and sensor network bus, system and method for controlling and operating an automated machine including a failover mechanism for multi-core architectures |
US11156987B2 (en) | 2019-08-01 | 2021-10-26 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including a message retransmission mechanism |
US11809163B2 (en) | 2019-08-01 | 2023-11-07 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including a message retransmission mechanism |
US11086810B2 (en) | 2019-08-01 | 2021-08-10 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including multi-layer platform security architecture |
US10841230B1 (en) * | 2019-08-01 | 2020-11-17 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method |
US11269795B2 (en) | 2019-08-01 | 2022-03-08 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including a link media expansion and conversion mechanism |
US11263157B2 (en) | 2019-08-01 | 2022-03-01 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including a dynamic bandwidth allocation mechanism |
US11258538B2 (en) | 2019-08-01 | 2022-02-22 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including an error avoidance and correction mechanism |
US11269316B2 (en) | 2019-08-01 | 2022-03-08 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including smart compliant actuator module |
US11327771B1 (en) * | 2021-07-16 | 2022-05-10 | SambaNova Systems, Inc. | Defect repair circuits for a reconfigurable data processor |
Family Cites Families (215)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2067477A (en) * | 1931-03-20 | 1937-01-12 | Allis Chalmers Mfg Co | Gearing |
GB971191A (en) * | 1962-05-28 | 1964-09-30 | Wolf Electric Tools Ltd | Improvements relating to electrically driven equipment |
GB1253309A (en) * | 1969-11-21 | 1971-11-10 | Marconi Co Ltd | Improvements in or relating to data processing arrangements |
DE2057312A1 (de) * | 1970-11-21 | 1972-05-25 | Bhs Bayerische Berg | Planetenradgetriebe mit Lastdruckausgleich |
US3855577A (en) * | 1973-06-11 | 1974-12-17 | Texas Instruments Inc | Power saving circuit for calculator system |
DE2943433A1 (de) | 1979-10-26 | 1981-05-07 | Bayer Ag, 5090 Leverkusen | Verfahren zur herstellung von carbonsaeurehalogeniden |
US4498134A (en) * | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
JPS58151661A (ja) * | 1982-03-04 | 1983-09-08 | Omron Tateisi Electronics Co | メモリ装置 |
US4498172A (en) * | 1982-07-26 | 1985-02-05 | General Electric Company | System for polynomial division self-testing of digital networks |
JPS5936857A (ja) * | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
US4663706A (en) * | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4739474A (en) | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
US4566102A (en) * | 1983-04-18 | 1986-01-21 | International Business Machines Corporation | Parallel-shift error reconfiguration |
US5123109A (en) | 1983-05-31 | 1992-06-16 | Thinking Machines Corporation | Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4870302A (en) | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4761755A (en) | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
US4682284A (en) * | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
DE3681463D1 (de) * | 1985-01-29 | 1991-10-24 | Secr Defence Brit | Verarbeitungszelle fuer fehlertolerante matrixanordnungen. |
US5023775A (en) | 1985-02-14 | 1991-06-11 | Intel Corporation | Software programmable logic array utilizing "and" and "or" gates |
US5247689A (en) * | 1985-02-25 | 1993-09-21 | Ewert Alfred P | Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments |
US4706216A (en) | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US5015884A (en) | 1985-03-29 | 1991-05-14 | Advanced Micro Devices, Inc. | Multiple array high performance programmable logic device family |
US5225719A (en) | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
US4967340A (en) | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
DE3687400T2 (de) * | 1985-11-04 | 1993-07-15 | Ibm | Digitale nachrichtenuebertragungsnetzwerke und aufbau von uebertragungswegen in diesen netzwerken. |
US4852048A (en) * | 1985-12-12 | 1989-07-25 | Itt Corporation | Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion |
US5021947A (en) * | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
GB8612396D0 (en) * | 1986-05-21 | 1986-06-25 | Hewlett Packard Ltd | Chain-configured interface bus system |
US4860201A (en) * | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US4910665A (en) * | 1986-09-02 | 1990-03-20 | General Electric Company | Distributed processing system including reconfigurable elements |
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
FR2606184B1 (fr) * | 1986-10-31 | 1991-11-29 | Thomson Csf | Dispositif de calcul reconfigurable |
US4811214A (en) | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5226122A (en) | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
US5115510A (en) * | 1987-10-20 | 1992-05-19 | Sharp Kabushiki Kaisha | Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information |
US5113498A (en) * | 1987-11-10 | 1992-05-12 | Echelon Corporation | Input/output section for an intelligent cell which provides sensing, bidirectional communications and control |
US5303172A (en) | 1988-02-16 | 1994-04-12 | Array Microsystems | Pipelined combination and vector signal processor |
JPH06101043B2 (ja) * | 1988-06-30 | 1994-12-12 | 三菱電機株式会社 | マイクロコンピュータ |
US4901268A (en) | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
US5204935A (en) | 1988-08-19 | 1993-04-20 | Fuji Xerox Co., Ltd. | Programmable fuzzy logic circuits |
US5353432A (en) | 1988-09-09 | 1994-10-04 | Compaq Computer Corporation | Interactive method for configuration of computer system and circuit boards with user specification of system resources and computer resolution of resource conflicts |
ES2047629T3 (es) * | 1988-09-22 | 1994-03-01 | Siemens Ag | Disposicion de circuito para instalaciones de conmutacion de telecomunicaciones, especialmente instalaciones de conmutacion telefonica de multiplexacion temporal-pcm con campo de acoplamiento central y campos de acoplamiento parcial conectados. |
EP0390907B1 (en) | 1988-10-07 | 1996-07-03 | Martin Marietta Corporation | Parallel data processor |
US5014193A (en) | 1988-10-14 | 1991-05-07 | Compaq Computer Corporation | Dynamically configurable portable computer system |
US5136717A (en) | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
US5081375A (en) | 1989-01-19 | 1992-01-14 | National Semiconductor Corp. | Method for operating a multiple page programmable logic device |
GB8906145D0 (en) | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US5203005A (en) * | 1989-05-02 | 1993-04-13 | Horst Robert W | Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement |
US5109503A (en) | 1989-05-22 | 1992-04-28 | Ge Fanuc Automation North America, Inc. | Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters |
JP2584673B2 (ja) * | 1989-06-09 | 1997-02-26 | 株式会社日立製作所 | テストデータ変更回路を有する論理回路テスト装置 |
CA2021192A1 (en) * | 1989-07-28 | 1991-01-29 | Malcolm A. Mumme | Simplified synchronous mesh processor |
US5212652A (en) | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5233539A (en) | 1989-08-15 | 1993-08-03 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure, input/output structure and configurable logic block |
US5489857A (en) | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
US5128559A (en) | 1989-09-29 | 1992-07-07 | Sgs-Thomson Microelectronics, Inc. | Logic block for programmable logic devices |
JP2968289B2 (ja) | 1989-11-08 | 1999-10-25 | 株式会社リコー | 中央演算処理装置 |
US5522083A (en) | 1989-11-17 | 1996-05-28 | Texas Instruments Incorporated | Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors |
DE58908974D1 (de) * | 1989-11-21 | 1995-03-16 | Itt Ind Gmbh Deutsche | Datengesteuerter Arrayprozessor. |
DE4000673C2 (de) * | 1990-01-11 | 2003-04-24 | Siemens Ag | Verfahren und Anordnung zur Übertragung von Daten in einem aus mehreren Segmenten bestehenden Bussystem |
US5125801A (en) | 1990-02-02 | 1992-06-30 | Isco, Inc. | Pumping system |
US5142469A (en) | 1990-03-29 | 1992-08-25 | Ge Fanuc Automation North America, Inc. | Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller |
US5198705A (en) | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5483620A (en) | 1990-05-22 | 1996-01-09 | International Business Machines Corp. | Learning machine synapse processor system apparatus |
US5193202A (en) * | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
US5111079A (en) | 1990-06-29 | 1992-05-05 | Sgs-Thomson Microelectronics, Inc. | Power reduction circuit for programmable logic device |
SE9002558D0 (sv) | 1990-08-02 | 1990-08-02 | Carlstedt Elektronik Ab | Processor |
US5274593A (en) | 1990-09-28 | 1993-12-28 | Intergraph Corporation | High speed redundant rows and columns for semiconductor memories |
US5144166A (en) | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
US5713037A (en) * | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5734921A (en) * | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5588152A (en) | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5301284A (en) * | 1991-01-16 | 1994-04-05 | Walker-Estes Corporation | Mixed-resolution, N-dimensional object space method and apparatus |
US5301344A (en) | 1991-01-29 | 1994-04-05 | Analogic Corporation | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets |
DE59109046D1 (de) | 1991-02-22 | 1998-10-08 | Siemens Ag | Programmierverfahren für einen Logikbaustein |
JPH04290155A (ja) | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 並列データ処理方式 |
JPH04293151A (ja) | 1991-03-20 | 1992-10-16 | Fujitsu Ltd | 並列データ処理方式 |
US5617547A (en) * | 1991-03-29 | 1997-04-01 | International Business Machines Corporation | Switch network extension of bus architecture |
EP0539595A4 (en) | 1991-04-09 | 1994-07-20 | Fujitsu Ltd | Data processor and data processing method |
US5551033A (en) * | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
CA2109799A1 (en) | 1991-05-24 | 1992-12-10 | Daniel Mark Nosenchuck | Optimizing compiler for computers |
US5659797A (en) | 1991-06-24 | 1997-08-19 | U.S. Philips Corporation | Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface |
US5347639A (en) | 1991-07-15 | 1994-09-13 | International Business Machines Corporation | Self-parallelizing computer system and method |
US5338984A (en) | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
US5260610A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
FR2681791B1 (fr) * | 1991-09-27 | 1994-05-06 | Salomon Sa | Dispositif d'amortissement des vibrations pour club de golf. |
CA2073516A1 (en) | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
US5208491A (en) * | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
FR2686175B1 (fr) | 1992-01-14 | 1996-12-20 | Andre Thepaut | Systeme de traitement de donnees multiprocesseur. |
JP2791243B2 (ja) * | 1992-03-13 | 1998-08-27 | 株式会社東芝 | 階層間同期化システムおよびこれを用いた大規模集積回路 |
US5452401A (en) | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
EP0643855A1 (en) * | 1992-06-04 | 1995-03-22 | Xilinx, Inc. | Timing driven method for laying out a user's circuit onto a programmable integrated circuit device |
US5475803A (en) | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
US5590348A (en) | 1992-07-28 | 1996-12-31 | International Business Machines Corporation | Status predictor for combined shifter-rotate/merge unit |
US5802290A (en) * | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
US5425036A (en) | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
JPH06180653A (ja) | 1992-10-02 | 1994-06-28 | Hudson Soft Co Ltd | 割り込み処理方法および装置 |
US5329179A (en) | 1992-10-05 | 1994-07-12 | Lattice Semiconductor Corporation | Arrangement for parallel programming of in-system programmable IC logical devices |
US5497498A (en) | 1992-11-05 | 1996-03-05 | Giga Operations Corporation | Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation |
US5392437A (en) | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US5361373A (en) | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5428526A (en) | 1993-02-03 | 1995-06-27 | Flood; Mark A. | Programmable controller with time periodic communication |
GB9303084D0 (en) | 1993-02-16 | 1993-03-31 | Inmos Ltd | Programmable logic circuit |
JPH06276086A (ja) | 1993-03-18 | 1994-09-30 | Fuji Xerox Co Ltd | フィールドプログラマブルゲートアレイ |
US5548773A (en) | 1993-03-30 | 1996-08-20 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Digital parallel processor array for optimum path planning |
US5596742A (en) * | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5473266A (en) | 1993-04-19 | 1995-12-05 | Altera Corporation | Programmable logic device having fast programmable logic array blocks and a central global interconnect array |
DE4416881C2 (de) * | 1993-05-13 | 1998-03-19 | Pact Inf Tech Gmbh | Verfahren zum Betrieb einer Datenverarbeitungseinrichtung |
US5349193A (en) | 1993-05-20 | 1994-09-20 | Princeton Gamma Tech, Inc. | Highly sensitive nuclear spectrometer apparatus and method |
US5444394A (en) | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
JPH0736858A (ja) | 1993-07-21 | 1995-02-07 | Hitachi Ltd | 信号処理プロセッサ |
US5457644A (en) | 1993-08-20 | 1995-10-10 | Actel Corporation | Field programmable digital signal processing array integrated circuit |
US5440538A (en) | 1993-09-23 | 1995-08-08 | Massachusetts Institute Of Technology | Communication system with redundant links and data bit time multiplexing |
US5455525A (en) | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
US5535406A (en) | 1993-12-29 | 1996-07-09 | Kolchinsky; Alexander | Virtual processor module including a reconfigurable programmable matrix |
US5680583A (en) | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
US5561738A (en) | 1994-03-25 | 1996-10-01 | Motorola, Inc. | Data processor for executing a fuzzy logic operation and method therefor |
US5430687A (en) | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US5896551A (en) * | 1994-04-15 | 1999-04-20 | Micron Technology, Inc. | Initializing and reprogramming circuitry for state independent memory array burst operations control |
US5426378A (en) | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
US5532693A (en) | 1994-06-13 | 1996-07-02 | Advanced Hardware Architectures | Adaptive data compression system with systolic string matching logic |
JP3365581B2 (ja) | 1994-07-29 | 2003-01-14 | 富士通株式会社 | 自己修復機能付き情報処理装置 |
US5530813A (en) * | 1994-08-04 | 1996-06-25 | Pattern Processing Technology | Field-programmable electronic crossbar system and method for using same |
US5574930A (en) | 1994-08-12 | 1996-11-12 | University Of Hawaii | Computer system and method using functional memory |
US5513366A (en) | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
US5530946A (en) | 1994-10-28 | 1996-06-25 | Dell Usa, L.P. | Processor failure detection and recovery circuit in a dual processor computer system and method of operation thereof |
JPH08137824A (ja) | 1994-11-15 | 1996-05-31 | Mitsubishi Semiconductor Software Kk | セルフテスト機能内蔵シングルチップマイコン |
EP0721157A1 (en) * | 1994-12-12 | 1996-07-10 | Advanced Micro Devices, Inc. | Microprocessor with selectable clock frequency |
US5532957A (en) | 1995-01-31 | 1996-07-02 | Texas Instruments Incorporated | Field reconfigurable logic/memory array |
US5493239A (en) | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US5742180A (en) * | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US5659785A (en) | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5537057A (en) | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5892961A (en) * | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US5675743A (en) | 1995-02-22 | 1997-10-07 | Callisto Media Systems Inc. | Multi-media server |
US5570040A (en) | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5541530A (en) | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5649179A (en) | 1995-05-19 | 1997-07-15 | Motorola, Inc. | Dynamic instruction allocation for a SIMD processor |
US5646544A (en) | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5889982A (en) * | 1995-07-01 | 1999-03-30 | Intel Corporation | Method and apparatus for generating event handler vectors based on both operating mode and event type |
US5559450A (en) | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
US5978583A (en) * | 1995-08-07 | 1999-11-02 | International Business Machines Corp. | Method for resource control in parallel environments using program organization and run-time support |
US5649176A (en) | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
US5583450A (en) | 1995-08-18 | 1996-12-10 | Xilinx, Inc. | Sequencer for a time multiplexed programmable logic device |
US5784313A (en) * | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5652894A (en) | 1995-09-29 | 1997-07-29 | Intel Corporation | Method and apparatus for providing power saving modes to a pipelined processor |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5732209A (en) * | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5936424A (en) * | 1996-02-02 | 1999-08-10 | Xilinx, Inc. | High speed bus with tree structure for selecting bus driver |
US6279077B1 (en) * | 1996-03-22 | 2001-08-21 | Texas Instruments Incorporated | Bus interface buffer control in a microprocessor |
US6173434B1 (en) * | 1996-04-22 | 2001-01-09 | Brigham Young University | Dynamically-configurable digital processor using method for relocating logic array modules |
US5894565A (en) * | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US5892370A (en) * | 1996-06-21 | 1999-04-06 | Quicklogic Corporation | Clock network for field programmable gate array |
US6023742A (en) * | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
US6023564A (en) * | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
US5838165A (en) * | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5859544A (en) * | 1996-09-05 | 1999-01-12 | Altera Corporation | Dynamic configurable elements for programmable logic devices |
US6005410A (en) * | 1996-12-05 | 1999-12-21 | International Business Machines Corporation | Interconnect structure between heterogeneous core regions in a programmable array |
DE19651075A1 (de) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
US6338106B1 (en) * | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654593A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
DE19704044A1 (de) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
US5865239A (en) * | 1997-02-05 | 1999-02-02 | Micropump, Inc. | Method for making herringbone gears |
DE19704728A1 (de) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) * | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US5884075A (en) * | 1997-03-10 | 1999-03-16 | Compaq Computer Corporation | Conflict resolution using self-contained virtual devices |
US6321366B1 (en) * | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US6389379B1 (en) * | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US6047115A (en) * | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US6421817B1 (en) * | 1997-05-29 | 2002-07-16 | Xilinx, Inc. | System and method of computation in a programmable logic device using virtual instructions |
US6011407A (en) * | 1997-06-13 | 2000-01-04 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both |
US5966534A (en) * | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6038656A (en) * | 1997-09-12 | 2000-03-14 | California Institute Of Technology | Pipelined completion for asynchronous communication |
JP4128251B2 (ja) * | 1997-10-23 | 2008-07-30 | 富士通株式会社 | 配線密度予測方法およびセル配置装置 |
US5915123A (en) * | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
DE69737750T2 (de) * | 1997-12-17 | 2008-03-06 | Hewlett-Packard Development Co., L.P., Houston | Erst- und Zweitprozessoren verwendetes Verfahren |
DE19861088A1 (de) * | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6172520B1 (en) * | 1997-12-30 | 2001-01-09 | Xilinx, Inc. | FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA |
US6049222A (en) * | 1997-12-30 | 2000-04-11 | Xilinx, Inc | Configuring an FPGA using embedded memory |
US6034538A (en) * | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
WO1999038071A1 (en) * | 1998-01-26 | 1999-07-29 | Chameleon Systems, Inc. | Reconfigurable logic for table lookup |
DE19807872A1 (de) * | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US6282627B1 (en) * | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
US6202182B1 (en) * | 1998-06-30 | 2001-03-13 | Lucent Technologies Inc. | Method and apparatus for testing field programmable gate arrays |
JP3585800B2 (ja) * | 1999-01-13 | 2004-11-04 | 株式会社東芝 | 情報処理装置 |
US6243808B1 (en) * | 1999-03-08 | 2001-06-05 | Chameleon Systems, Inc. | Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups |
US6298472B1 (en) * | 1999-05-07 | 2001-10-02 | Chameleon Systems, Inc. | Behavioral silicon construct architecture and mapping |
US6347346B1 (en) * | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
US6370596B1 (en) * | 1999-08-03 | 2002-04-09 | Chameleon Systems, Inc. | Logic flag registers for monitoring processing system events |
US6341318B1 (en) * | 1999-08-10 | 2002-01-22 | Chameleon Systems, Inc. | DMA data streaming |
US6288566B1 (en) * | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
US6311200B1 (en) * | 1999-09-23 | 2001-10-30 | Chameleon Systems, Inc. | Reconfigurable program sum of products generator |
US6349346B1 (en) * | 1999-09-23 | 2002-02-19 | Chameleon Systems, Inc. | Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit |
US6519674B1 (en) * | 2000-02-18 | 2003-02-11 | Chameleon Systems, Inc. | Configuration bits layout |
US6539477B1 (en) * | 2000-03-03 | 2003-03-25 | Chameleon Systems, Inc. | System and method for control synthesis using a reachable states look-up table |
US6657457B1 (en) * | 2000-03-15 | 2003-12-02 | Intel Corporation | Data transfer on reconfigurable chip |
JP2004506261A (ja) * | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | パイプラインctプロトコルおよびct通信 |
US6538468B1 (en) * | 2000-07-31 | 2003-03-25 | Cypress Semiconductor Corporation | Method and apparatus for multiple boot-up functionalities for a programmable logic device (PLD) |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US6392912B1 (en) * | 2001-01-10 | 2002-05-21 | Chameleon Systems, Inc. | Loading data plane on reconfigurable chip |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US6792588B2 (en) * | 2001-04-02 | 2004-09-14 | Intel Corporation | Faster scalable floorplan which enables easier data control flow |
US20020143505A1 (en) * | 2001-04-02 | 2002-10-03 | Doron Drusinsky | Implementing a finite state machine using concurrent finite state machines with delayed communications and no shared control signals |
US6999984B2 (en) * | 2001-05-02 | 2006-02-14 | Intel Corporation | Modification to reconfigurable functional unit in a reconfigurable chip to perform linear feedback shift register function |
US20030056091A1 (en) * | 2001-09-14 | 2003-03-20 | Greenberg Craig B. | Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations |
US20030055861A1 (en) * | 2001-09-18 | 2003-03-20 | Lai Gary N. | Multipler unit in reconfigurable chip |
US20030052711A1 (en) * | 2001-09-19 | 2003-03-20 | Taylor Bradley L. | Despreader/correlator unit for use in reconfigurable chip |
-
1997
- 1997-02-11 DE DE19704742A patent/DE19704742A1/de not_active Withdrawn
-
1998
- 1998-02-11 CA CA002280057A patent/CA2280057A1/en not_active Abandoned
- 1998-02-11 DE DE19880128T patent/DE19880128D2/de not_active Expired - Lifetime
- 1998-02-11 AU AU63924/98A patent/AU6392498A/en not_active Abandoned
- 1998-02-11 EP EP98909365A patent/EP0960374B1/de not_active Expired - Lifetime
- 1998-02-11 EP EP03021585A patent/EP1398706A3/de not_active Withdrawn
- 1998-02-11 AT AT98909365T patent/ATE256888T1/de not_active IP Right Cessation
- 1998-02-11 DE DE59810469T patent/DE59810469D1/de not_active Expired - Lifetime
- 1998-02-11 JP JP53357998A patent/JP3894957B2/ja not_active Expired - Fee Related
- 1998-02-11 WO PCT/DE1998/000456 patent/WO1998035294A2/de active IP Right Grant
- 1998-08-28 US US09/145,139 patent/US6405299B1/en not_active Expired - Lifetime
-
2002
- 2002-04-05 US US10/116,986 patent/US7010667B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE59810469D1 (de) | 2004-01-29 |
US7010667B2 (en) | 2006-03-07 |
DE19880128D2 (de) | 2000-01-13 |
JP2001511326A (ja) | 2001-08-07 |
US20030135686A1 (en) | 2003-07-17 |
WO1998035294A2 (de) | 1998-08-13 |
EP1398706A3 (de) | 2006-04-12 |
EP1398706A2 (de) | 2004-03-17 |
WO1998035294A3 (de) | 1998-10-22 |
CA2280057A1 (en) | 1998-08-13 |
US6405299B1 (en) | 2002-06-11 |
EP0960374B1 (de) | 2003-12-17 |
DE19704742A1 (de) | 1998-09-24 |
EP0960374A2 (de) | 1999-12-01 |
AU6392498A (en) | 1998-08-26 |
ATE256888T1 (de) | 2004-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3894957B2 (ja) | 大きな網目状接続コストを伴う大容量データを管理するための、2次元または多次元プログラマブルセル構造を有するモジュール並びにdfpに対する内部バスシステム | |
US10838891B2 (en) | Arbitrating portions of transactions over virtual channels associated with an interconnect | |
US6314487B1 (en) | Adaptive routing controller of a crossbar core module used in a crossbar routing switch | |
US4623996A (en) | Packet switched multiple queue NXM switch node and processing method | |
EP0197103B1 (en) | Load balancing for packet switching nodes | |
US9634866B2 (en) | Architecture and method for hybrid circuit-switched and packet-switched router | |
EP0104802B1 (en) | Five port module as a node in an asynchronous speed independent network of concurrent processors | |
US20070143578A1 (en) | System and method for message passing fabric in a modular processor architecture | |
US6982976B2 (en) | Datapipe routing bridge | |
US11730325B2 (en) | Dual mode interconnect | |
JPH05241947A (ja) | 分散クロスバー・スイッチ・アーキテクチャにおける交換接続の配列。 | |
JP2004536373A (ja) | データ処理方法およびデータ処理装置 | |
EP0104801B1 (en) | Four way arbiter switch for a five port module as a node in an asynchronous speed independent network of concurrent processors | |
Cota et al. | NoC basics | |
US20070299993A1 (en) | Method and Device for Treating and Processing Data | |
EP1187422B1 (en) | Method and device for tunable packet arbitration | |
JP2009043275A (ja) | シーケンスの形成方法 | |
Obaidullah et al. | Reconfigurability of On-chip Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060626 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060927 |
|
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: 20061114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061213 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131222 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |