JP3894957B2 - 大きな網目状接続コストを伴う大容量データを管理するための、2次元または多次元プログラマブルセル構造を有するモジュール並びにdfpに対する内部バスシステム - Google Patents

大きな網目状接続コストを伴う大容量データを管理するための、2次元または多次元プログラマブルセル構造を有するモジュール並びにdfpに対する内部バスシステム Download PDF

Info

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
Application number
JP53357998A
Other languages
English (en)
Other versions
JP2001511326A (ja
Inventor
フォアバッハ マーティン
ミュンヒ ローベルト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PACT XPP Technologies AG
Original Assignee
PACT XPP Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PACT XPP Technologies AG filed Critical PACT XPP Technologies AG
Publication of JP2001511326A publication Critical patent/JP2001511326A/ja
Application granted granted Critical
Publication of JP3894957B2 publication Critical patent/JP3894957B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17704Logic 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/1778Structural details for adapting physical parameters
    • H03K19/17796Structural 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である。
Figure 0003894957
スイッチは単方向または双方向に構成することができ、ここでスイッチはデータを記憶するためのレジスタまたはラッチを有する。
“通常の”ルーティング方法
接続はデータ送信側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に記載されているスイッチングテーブルに類似である。
このようなテーブルの可能な構造を実施例に基づいて説明する。
Figure 0003894957
各セルは有効な接続を示す。ここで複数の接続は同時にアクティブになることができ、最大で空きの内部バスバーと空きの外部バスセグメントの数の接続が存在する。後で説明する監視ロジックは、新たに選択された接続が形成できるか否かの検査を引き受ける。
各行はその2進アドレスを介して問いかけられ、選択される。さらに2進アドレスを有していない特別行がある。この特別行はトリガ信号または状態信号を介して選択される。この信号には、
−rRDYl,rRDYh
−oACK1,oACK2
が所属する。
ここではデータ受信側(rRDY)へのバス接続が、データ送信側行が有効な結果を有するときに常に自動的に形成される。信号oACKの際に、受信/送信経過が交換される。データ受信側が自分のオペランドを処理し、新たなオペランドを処理できるようになると直ちにデータ受信側はそのデータ送信側への接続を形成する。
列「ゲート」には、それぞれの接続に対してアクティブであるゲートがプロットされている。ここではただ1つのゲートをマークし、列「EALU」でコンフィギュレーション可能なエレメント(1つまたは複数の行)への接続を選択することができる。(セルの入力側または出力側への)
列「バス」では、この接続に対して使用される内部バスバーが選択される。ここで値は2進であり、従って前記のテーブルでは全部で4つの内部バスバーを使用することができる。内部バスバーの選択は、優先度デコーダが第1の空きのバスバーを識別し、これを自動的に割り当てることにより省略できる。
列「目標テーブルのエントリ位置」では行のアドレスがノードを制御するテーブルに記録され、接続に収められる。このアドレスには、次のノード内の瞬時の接続に対して必要なルーティング情報がある。
列「伝搬時間」はオプションである。ここには、データ送信側からデータ受信側までの予期される信号伝搬時間をプロットすることができる。この情報は、データスループットの計算のために、またはタイムアウトを発生するために使用することができる。
列「接続形成時間」はオプションである。ここには、次のノードまでの接続の形成のための最大時間(またはデータ送信側からデータ受信側までの接続全体の)をプロットすることができる。この時間を上回ると、タイムアウトを介して接続形成を解除し、バスセグメントおよびノードを別の接続に対して空けることができる。後の時点でデータ送信側は新たに接続形成を試みる。
ルーティングテーブルのエントリは公知の方法に従って、上位のロードロジックによりコンフィギュレートおよび再コンフィギュレートすることができる。
“拡張された”ルーティング方法が使用されるなら、空間座標をルーティングテーブルに追加しなければならない。同じように優先度識別も予期される。
優先度識別は、モジュールの出力に対してチャネルがどの程度重要であるかを指示する。優先度識別が非常に高ければ、チャネルの重要度は高まる。ここで識別は3つの形式に分類される。
1.タイムアウト
識別は、使用されないクロックサイクルがいくつあるとチャネルを解除すべきか、すなわち何サイクル後にDOSCONNECTを発生すべきかを指示する。
2.パケット・サイズ
識別は、データパケットがいくつあるとDISCONNECTを発生すべきか指示する。
3.クロックサイクル
識別は、クロックサイクルがいくつあるとDISCONNECTを発生すべきか指示する。
ここでは3つの可能な形式の1つだけを固定的に実現できる。または付加的な情報によって形式を選択することができる。
優先形式(次のテーブルの優先形式)は後に示されるルーティングテーブルで次のように評価される。
Figure 0003894957
パーマネントは、優先度識別の値を固定的に“パーマネント”として設定することによっても表すことができる。このためには優先度識別の通常の最大値またはゼロが適する。
Figure 0003894957
アービタ
ルーティングテーブルに前置されるのはアービタである。アービタは、接続形成への大量のリクエストからルーティングテーブルを介していくつかの信号を選択する。ここではアービタを通常の優先度ロジックおよび従来技術のラウンド・ロビン・アービタから構成すると有利である。(ラウンド・ロビン・アービタは、タイムディスクの最高優先度を常に次の信号に接続する。このことは、瞬時に最高優先度を有する信号が次の信号として最低の優先度を有するようになり、ついで各アクセスにより次第に高い優先度を得ることを意味する。)ここでは優先度ロジックをそのために使用でき、いくつかの信号、例えば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へのフィードバックを行うべきか否か、並びにフィードバックはどの形式であるかを表示することができる。フィードバックはゲートを介して行われ、このゲートは調整に応じて接続形成の際または接続解除の際に導通し、オープンコレクタドライバとして接続されたトランジスタへのフィードバックを制御する。
Figure 0003894957
【図面の簡単な説明】
図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回路が実現される。
次には次のようなバス形成を有するノードのインプリメント例を示す。
Figure 0003894957
図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への切換接続を惹起する。これは、前のルーティングテーブルのゲートの接続が格納されていることによって惹起される。
以下の図は「拡張された」ルーティング方法によるインプリメンテーション事例を記述する。バスは次のように設けられる。
Figure 0003894957
図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を介して、スイッチングエレメントのモードは次のように調整される:
Figure 0003894957
図23c)より良好な信号品質を得るためには、入力シュミットトリガ及び出力ドライバ(2303)を使用する。ドライバ(2303)は、制御信号を介してレベルに依存して出力ドライバか又は入力ドライバかのいずれかがイネーブルされるように構成される。双方向性が失われると、専ら単方向性スイッチング過程が実現される:
スイッチングエレメントのモードは次のように調整される。
Figure 0003894957
図23d)チップにおけるより良好なインプリメンテーションの可能性のために入力側及び出力側は異なる線路(Bmi、Bmo、Bni、Bno)に接続される。ドライバ(2304)は単方向性に構成される。ドライバの制御は省かれる。
Figure 0003894957
図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つだけ減少される。
このデコーダは次のテーブルのように動作する:
Figure 0003894957
このテーブルは列「デコーダ」では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により調整可能に選択される。
Figure 0003894957
カウンタの信号再ロード及びイネーブルは次のように生成される:
Figure 0003894957
この場合、再ロード、すなわちカウンタの新たなロードに対して必要なレジスタは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は東西軸を形成する:
Figure 0003894957
到着するバスの走行方向及び方位に基づいて、スイッチングエレメント(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によって示されている:
Figure 0003894957
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
慣習的に使用される機能
Figure 0003894957
Figure 0003894957

Claims (34)

  1. FP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル又はセル群を接続するためのバスシステムであって、
    前記バスシステムは、多数の互いに電気的に独立なバスセグメントから構成され、該バスセグメントはノードを介して分離されている、DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル又はセル群を接続するためのバスシステムにおいて、
    a) 前記ノードは前記バスセグメントを自立的に及びデータの処理の間に統合又は分離し(図26〜29)、
    a1) 統合のために複数のバスセグメントがゲートを介して前記ノード内に存在するバスバーに統合接続されている(図20)か
    又は
    a2) 統合は直接スイッチングエレメント(図23)、ドライバ及び/又はレジスタを介して行われ、
    b) 各ノードはルックアップテーブル(2601)を有し、該ルックアップテーブルには接続の形成に関する情報が格納されており、
    c) 各ノードは、接続が形成されうるか否かを自動的に検査する監視ユニット(2603)を有し、有意義な形成可能な接続を形成するか又は相応の接続が形成されるまでデータ伝達を遅延することを特徴とする、DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル又はセル群を接続するためのバスシステム。
  2. バス接続は段階的に形成され、データ送信側(0401)はまず最初に該データ送信側に接続されたノード(0402)への接続のみを形成し、該ノードはついで自らのルーティングテーブルを介して自らに隣接するどのノードが接続に必要であるかを検出し、このノードがすでの他の接続に使用されていない限りこのノードに対して接続しているバスセグメントを介して接続を開始し、
    このノードがすで他の接続に使用されている場合には、バス接続の形成を中断又は中止し、
    このノードがすで他の接続に使用されていない場合には、要求されたノードはバス接続の形成を継続する(図4〜12)、請求項1記載のバスシステム。
  3. バスセグメントはデータパケットを伝達するために形成され、データ送信側はまず最初に該データ送信側に接続されたノードへの接続を形成し、該ノードはついで自らのルーティングテーブルを介して自らに隣接するどのノードが接続のために必要であるかを検出し、バスセグメントがすでに他の接続に使用されていない限りはデータをこの相応のバスセグメントを介して伝送し、バスセグメントがすでに他の接続に使用されている場合には、バス接続の形成を中止し、バスセグメントがすでに他の接続に使用されていない場合には、隣接のノードにおいてこのデータが格納され、新しいデータが受け入れられる(図33)ことを特徴とする請求項1記載のバスシステム。
  4. データ又は接続のアドレスはノードのルックアップテーブル(2601)において次のノードのアドレスに変換される(2709)ことを特徴とする請求項1から3までのうちの1項記載のバスシステム。
  5. データ又は接続のアドレスはノードの計算ユニットにおいて計算され、次のノードのアドレスが計算される(図32)か又はルックアップテーブル(2601)を介して前記次のノードのアドレスが生成されることを特徴とする、請求項1から3までのうちの1項記載のバスシステム。
  6. 接続形成が失敗した場合、この形成を後の時点で改めて試行する(図11)ことを特徴とする請求項1から5までのうちの1項記載のバスシステム。
  7. 接続形成が成功した後で、ノードはパッシブであり、データ伝送はもっぱらデータ送信側とデータ受信側とによって制御される(図14)ことを特徴とする請求項1から6までのうちの1項記載のバスシステム。
  8. ノードは自立的にデータを次のノードに伝達し(図33)、自動的に同期を引き継ぐ(図25)ことを特徴とする請求項1から6までのうちの1項記載のバスシステム。
  9. データ送信側もデータ受信側も接続形成の間にも動作の間にもバスシステムに関する情報を有さず、ノードへのいかなる介入動作も行わない(図30〜31)ことを特徴とする請求項1から8までのうちの1項記載のバスシステム。
  10. ノード及び該ノードのルーティングテーブルはロードロジック(1624)によってコンフィギュレート及び再コンフィギュレートされることを特徴とする請求項1から9までのうちの1項記載のバスシステム。
  11. ノードはデータを複数のノードに同時に送信することができ(ブロードキャスティング)、同期信号は受信側ノードに調整可能にブール論理で結合され、さらに調整可能にマスキングされて送信側ノードへ戻される(図21)ことを特徴とする請求項1から10までのうちの1項記載のバスシステム。
  12. FP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル間のデータの伝達のための方法であって、
    データの伝達はセグメントごとに多次元バスシステムにおいて行われ、さらにセグメントは任意に統合接続される、DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル間のデータの伝達のための方法において、
    データ伝達は自動的に及び自立的にノードによって同期される(図22、図25)ことを特徴とする、DFP並びに概念FPGA、DPGAなどの2次元又は多次元プログラマブルセル構造を有するモジュールにおける個々のセル間のデータの伝達のための方法。
  13. バスのセグメントは一貫的な遅延なしのバスシステムに固定的に統合接続される(図14)ことを特徴とする請求項12記載の方法。
  14. バスのセグメントはレジスタ(3301、3302)によって時間的に遅延されて及び調停されて接続されることを特徴とする請求項12記載の方法。
  15. 請求項13及び請求項14記載の2つの接続方法が接続において行われることを特徴とする請求項12から14までのうちの1項記載の方法。
  16. バスの形成はルックアップテーブル(2601)によって制御され、該ルックアップテーブルには接続データが格納されており、各ルックアップテーブルにおいて次のテーブルのエントリが指示されていることを特徴とする請求項12から15までのうちの1項記載の方法。
  17. 1つのバスの形成は目標の一意的に計算可能な相対アドレス又は絶対アドレスの情報によって行われる(図30)ことを特徴とする請求項12から15までのうちの1項記載の方法。
  18. 目標軸に到達した場合にのみ既存の形成方向を変更する(図31)ことを特徴とする請求項12から15及び17のうちの1項記載の方法。
  19. 既存の形成方向において封鎖が現れるやいなや、この既存の形成方向を変更する(図31)ことを特徴とする請求項12から15及び17のうちの1項記載の方法。
  20. 形成方向とは逆方向に及び目標軸を越えて形成は行われない(図30〜31)ことを特徴とする請求項12から15及び19のうちの1項記載の方法。
  21. 一定の予め設定された余地の中で偏差が動く限り、形成方向とは逆方向に及び目標軸を越えて形成が行われる(図32)ことを特徴とする請求項12から15及び17のうちの1項記載の方法。
  22. 請求項16及び請求項17記載の2つの形成方法が接続において行われることを特徴とする請求項12から21までのうちの1項記載の方法。
  23. 複数の要求が発生する際に、ノード(3301、3302)において要求を調停することを特徴とする請求項12から22までのうちの1項記載の方法。
  24. 複数の要求が発生する際に、複数の要求が同時に処理される(図27)ことを特徴とする請求項12から23までのうちの1項記載の方法。
  25. データはバスセグメントを介して次のノードに送信され、該次のノードはデータを確認する(図14)ことを特徴とする請求項12から24までのうちの1項記載の方法。
  26. データはバスセグメントを介して複数の次のノードに送信され、該次のノードはデータを確認し、確認信号は任意にブール代数で結合される(図21)ことを特徴とする請求項12から24までのうちの1項記載の方法。
  27. データはバスセグメントを介して複数の次のノードに送信され、該次のノードはデータを確認し、個々の確認信号をマスキングアウトするためのマスクが存在する(図21)ことを特徴とする請求項12から24及び26のうちの1項記載の方法。
  28. 請求項25及び請求項26記載の2つの伝達方法が接続において行われることを特徴とする請求項12から26までのうちの1項記載の方法。
  29. 既存のバスは切り離し信号(図22)に基づいて分解され、該切り離し信号はすべての参加しているノードに伝送される(図15f)ことを特徴とする請求項12から28までのうちの1項記載の方法。
  30. 切り離し信号はタイムアウトに基づいて1つ又は複数のノードによって生成され、すべての参加しているノードに伝送される(図15f)ことを特徴とする請求項12から29までのうちの1項記載の方法。
  31. タイムアウトはデータが伝達されなかった時間に基づいて行われる(概念説明:タイムアウト発生器)ことを特徴とする請求項12から30までのうちの1項記載の方法。
  32. タイムアウトは伝達されたデータ量に基づいて行われる(概念説明:タイムアウト発生器)ことを特徴とする請求項12から30までのうちの1項記載の方法。
  33. タイムアウトは不可能であることを特徴とする請求項12から30までのうちの1項記載の方法。
  34. 各バスセグメントに対して使用されるタイムアウト方法は請求項31から33に応じて選択されることを特徴とする請求項13から33までのうちの1項記載の方法。
JP53357998A 1997-02-11 1998-02-11 大きな網目状接続コストを伴う大容量データを管理するための、2次元または多次元プログラマブルセル構造を有するモジュール並びにdfpに対する内部バスシステム Expired - Fee Related JP3894957B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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