JP2001509337A - フィールドプログラマブルプロセッサアレイ - Google Patents

フィールドプログラマブルプロセッサアレイ

Info

Publication number
JP2001509337A
JP2001509337A JP53175998A JP53175998A JP2001509337A JP 2001509337 A JP2001509337 A JP 2001509337A JP 53175998 A JP53175998 A JP 53175998A JP 53175998 A JP53175998 A JP 53175998A JP 2001509337 A JP2001509337 A JP 2001509337A
Authority
JP
Japan
Prior art keywords
switching section
switching
processing means
row
integrated circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP53175998A
Other languages
English (en)
Other versions
JP2001509337A5 (ja
JP4014116B2 (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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2001509337A publication Critical patent/JP2001509337A/ja
Publication of JP2001509337A5 publication Critical patent/JP2001509337A5/ja
Application granted granted Critical
Publication of JP4014116B2 publication Critical patent/JP4014116B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • 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/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 集積回路は行および列をなす回路エリアのほぼ方形のアレイで構成されたフィールドプログラマブル回路領域を備える。回路エリア12のいくつかは、少なくとも1つのそれぞれの入力信号経路(an,aw、be,bs,hci,vci)におけるデータの操作を実行し、少なくとも1つの出力信号経路(fn,fe,fs,fw,vco,hco)によってデータを送出するためのそれぞれの処理装置を備える。その他の回路エリアはそれぞれのスイッチングセクション14を備え、処理装置およびスイッチングセクションが、各行および各列内において交互に配列されている。スイッチセクションの大部分はそれぞれ、同じ列および同じ行におけるスイッチングセクションに隣接した処理装置の信号経路の一部の間にプログラマブル接続16,18,20を備える集積回路を提供する。

Description

【発明の詳細な説明】 フィールドプログラマブルプロセッサアレイ 技術分野 本発明は、信号経路によって選択的に互いに接続可能な処理装置のアレイであ るフィールドプログラマブルプロセッサアレイに係り、特に、集積回路として提 供されたフィールドプログラマブルプロセッサアレイに関する。 発明の開示 本発明(または、少なくともその好適な実施の態様)の目的は、高密度回路の レイアウト、処理装置間の効率の良い相互接続、および処理装置を相互接続可能 にする自由度のある方法を提供することである。 本発明によって、回路エリアの行および列をなすほぼ方形のアレイとして構成 されたフィールドプログラマブル回路領域を備えた集積回路が得られるが、ある 回路エリアは、少なくとも1つの各入力信号経路でデータの操作を実行して、少 なくとも1つの各出力信号経路でデータを送出するための処理手段である処理装 置(例えば、演算論理装置)を提供し、その他の回路エリアは、スイッチングセ クションを提供し、処理装置およびスイッチングセクションが各行および各列内 において交互に配列されており、スイッチセクションの大部分(好適には、全て )は、同じ列および同じ行のスイッチングセクションに隣接した処理装置におけ る信号経路の少なくとも一部の間でプログラマブル接続する。このように回路を 構成することによって、特に、1つ以上の処理装置が複数ビット入力および/ま たは複数ビット出力を備え、信号経路の少なくともいくつかが各複数ビットバス によって提供される場合、効率の良い局所(local)相互接続によって、高密度な レイアウトを得ることができる。ス イッチングセクションによって提供される第1の接続形態は、互いにほぼ同一線 上または平行にすることが可能な信号経路間で接続され、経路を選択的に縦続に 接続することによってより長い接続を可能にする。この場合と、処理装置の少な くとも1つおよびそれに隣接する処理装置が、それぞれ第1の入力、第2の入力 および出力を備えている場合とにおいては、前記1つの処理装置の出力が、同じ 行の一方向で次の処理装置の第1の入力に接続可能な第1の接続形態、同じ列の 一方向で次の処理装置の第1の入力に接続可能な第1の接続形態、同じ行の反対 の方向で次の処理装置の第2の入力に接続可能な第1の接続形態、および同じ列 の反対の方向で次の処理装置の第2の入力に接続可能な第1の接続形態が望まし い。このようにして、第1の処理装置の出力を、同じ行または列における4つの 隣接する処理装置(「第2の処理装置」)の内、任意の1つに選択的に送ること が可能になり、処理を実行して第1の処理装置に戻すかまたは第2の処理装置に 隣接する他の3つの隣接処理装置の内、任意の1つに送ることが可能になる。 スイッチングセクションによって提供される第2の接続形態は、互いにほぼ直 交可能なこのような信号経路間におけるものである。したがって、この信号経路 の方向を変えることにより、自由度のある経路を指定することができる。この場 合と、処理装置の少なくとも1つおよびそれに隣接する処理装置がそれぞれ、第 1の入力、第2の入力および出力を備えている場合とにおいては、前記1つの処 理装置の出力は、前記一行方向および前記一列方向において対角線状で隣接する 処理装置の第1の入力に対する同じ列内での第2の接続形態、前記反対の行方向 および前記一列方向における対角線状で隣接する処理装置の第1の入力に対する 同じ行内での第2の接続形態、前記反対の行方向および前記反対の列方向におけ る対角線状で隣接する処理装置の第2の入力に対する同じ列内での第2の接続形 態、および前記一行方向および前記反対の列方向における対角線状で隣接する処 理装置の第2の入力に対する同じ行内での第 2の接続形態によって接続可能であることが望ましい。したがって、第1の処理 装置からの出力は、対角線状で隣接する2つの処理装置の第1の入力および対角 線状で隣接する他の2つの処理装置の第2の入力に対して、選択的に経路を指定 することができる。 入力および出力信号経路のほぼ全てが、行または列に対してほぼ平行な方向で 配置されることによって、高密度のレイアウトを実現可能にすることが望ましい 。 集積回路は、さらに、複数のスイッチングセクション間の信号経路を有し、各 スイッチングセクション間の信号経路が同じ行内におけるスイッチングセクショ ンの1番目のセクションから2番目のセクションへ、主にその行にほぼ平行な方 向にまたは主にその列にほぼ平行な方向に延び、各スイッチングセクション間の 各信号経路は第1のスイッチングセクションによってその第1のスイッチングセ クションで他の信号経路とプログラマブル接続され、また第2のスイッチングセ クションによって、その第2のスイッチングセクションで他の信号経路とプログ ラマブル接続され得ることが望ましい。したがって、中距離および長距離接続を 選択的に提供することが可能である。 スイッチングセクション間の信号経路の一形態では、第1のスイッチングセク ションと第2のスイッチングセクションとの間の各行または列にスイッチングセ クションはない。 スイッチングセクション間の信号経路の他の形態では、各行または列で、それ ぞれの第1および第2のスイッチングセクションが、第1のスイッチングセクシ ョンと第2のスイッチングセクションとの間にいくつか(好適には、2の累乗か ら1減算した数)の他のスイッチングセクションを有する。したがって、長距離 接続の場合、必要とされる可能性のある中間スイッチ数が減少し、それによって 生じるであろう伝搬の遅れが短縮される。 スイッチングセクション間の信号経路の別の形態では、各信号経路は、 各行または列に対してほぼ平行な方向に延びるスパイン部分(spine portion)と 、各行または列に対してほぼ直交する方向に延び、スパイン部分と第1および第 2のスイッチングセクションとを相互接続する第1および第2の端部とを備える 。スパイン部分は、スイッチと直接は接続しないので、スパイン部分の導体の物 理的位置の選択には自由度があり、この自由度によって、より密度の高いレイア ウトを実現することができる。前述した別の形態の少なくともいくつかのスイッ チングセクション間の信号経路では、各行または列において、第1および第2の スイッチングセクションは第1のスイッチングセクションと第2のスイッチング セクションとの間にいくつか(好適には、2の累乗から1減算した数)の他のス イッチングセクションを有する。したがって、長距離接続の場合、必要とされる 可能性のある中間スイッチ数が減少し、それによって生じるであろう伝搬の遅れ が短縮される。好適には、前述の別の態様の少なくともいくつかのスイッチング セクション間の信号経路は、各行または列にほぼ直交する方向にそれぞれ延び、 スパイン部分と他のスイッチングセクションとを相互接続する少なくとも1つの タップ部分を備えている。したがって、さらに自由度が高くなる。 少なくともいくつかのスイッチングセクションは、各スイッチングセクション で、信号経路の少なくともいくつかにスイッチングして接続できる入力および出 力を有したレジスタおよび/またはバッファを備える。このため、そのための処 理装置の1つを利用することなく、信号のタイミングの取り直しまたはバッファ リングが可能になる。タイムクリティカル(time critical)信号のタイミングの 取り直しおよびバッファリングによって、より速いクロック速度で構成を実行す ることが可能になり、動作速度が速くなる。 次に以下の図面を用いて、例として、本発明を実施するための最良の態様につ いて説明する。 図面の簡単な説明 図1は、6つのスイッチングセクションおよび6つの演算論理装置の位置を説 明するためのプロセッサアレイの一部を示す図である。 図2は、スイッチングセクションの1つおよび演算論理装置の位置の1つを示 す図1に示される構成の一部を拡大した図である。 図3は、演算論理装置の位置、およびそれらを縦断して延びる「垂直」バスを 示す、図1に示されるプロセッサアレイの一部を縮小した図である。 図4は、図3と同様に、演算論理装置の領域を横断して延びる「水平」バスを 示す図である。 図5は、演算論理装置の1つの領域における図2、図3、および図4のバス間 の相互接続を示す図である。 図6Aは、互いに交差する1対の4ビットバスを接続するスイッチングセクシ ョンの一態様のプログラマブルスイッチの回路構成を詳細に示す図である。 図6Bは、互いに端部間で接する1対の4ビットバスを接続するスイッチング セクションにおける他の態様のプログラマブルスイッチの回路構成を詳細に示す 図である。 図6Cは、桁上げビット(carry bit)バスを接続するスイッチングセクション における他の態様のプログラマブルスイッチの回路構成を詳細に示す図である。 図7は、図5および第6図のプログラマブルスイッチにおいて利用可能な一連 のNORゲートの回路構成を示す図である。 図8は、図7の回路構成に対する修正を示す図である。 図9は、各スイッチングセクションにおける利用可能なバッファおよびレジス タを示す図である。 図10は、スイッチングセクションにおけるプログラマブルスイッチにイネー ブル信号を分配可能な方法を示す概略図である。 図11は、図10に示す構成の回路構成をより詳細に示す図である。 発明を実施するための最良の態様 以下の説明において、「水平」、「垂直」、「北」、「南」、「東」、および 「西」という用語を、相対的な方向の理解を助けるために用いているが、その用 法に、本発明の実施の態様において絶対方向(absolute orientation)の制限を意 味する意図はない。 集積回路内に、本発明の実施の態様を提供するプロセッサアレイが設けられて いる。ある階層(level)では、プロセッサアレイは、その1つが、図1において 太線によって区切られて示された「タイル」10の方形(好適には、正方形)の アレイによって形成される。例えば、16×16、32×32または64×64 のアレイのように、任意の適正な数のタイルを用いることが可能である。各タイ ル10は方形(好適には、正方形)であり、4つの回路エリアに分割される。こ れらのタイルは、(接続を対称にするため)論理的には正方形が望ましいが、物 理的には正方形であることはそれほど重要ではない(これには、タイミングに対 称性をもたらすという多少の利点があるかもしれないが、一般には、それほど重 要ではない)。タイル10において対角線状で向かい合った2つの回路エリア1 2は、2つの演算論理装置(「ALU」)の場所を提供する。タイル10におい て対角線状で向かい合った他の2つの回路エリアは、1対のスイッチングセクシ ョン14の場所を提供する。 図1および図2を参照すると、各ALUは、ALU内に直接接続された第1の 一対の4ビット入力a、ALU内に直接接続された第2の一対の4ビット入力b 、およびALU内に直接接続された4つの4ビット出力fを備えている。また、 各ALUは、独立した一対の1ビット桁上げ入力hci,vciおよびALU内 に直接接続された1対の1ビット桁上げ出力coを備えている。ALUは、入力 信号a,b,hci,vciに対して加算、減算、AND、NAND、OR、N OR、XOR、N XORおよび多重化といった標準的操作を実行して、出力信号f,coを送出す ることが可能であり、さらに、操作結果を記録することも可能である。ALUに 対する命令は、後述の「Hツリー」構造を介してその値を設定することが可能な 各4ビットメモリセルから供給すること、または後述のバスシステムで供給する ことが可能である。 図1および図2に示す階層において、各スイッチングセクション14は、それ を水平方向に横切って延びる8つのバスおよびそれを垂直方向に横切って延びる 8つのバスを備えているため、64個の交点を有した8×8の方形のアレイが形 成されるが、図2には、これらに直交座標で番号が付けられている。X=4の桁 上げバスvcおよびY=3の桁上げバスhcが1ビット幅であり、その他のバス は全て4ビット幅である。多くの交点には、その交点において2つのバスを選択 的に接続することができる4連結(gang)プログラマブルスイッチ16が設けられ ている。交点のいくつかには、バスに対して直角に接続せずに、その交点で端部 と端部とが接する2つのバスを選択的に接続することが可能な4連結プログラマ ブルスイッチ18が設けられている。交点(4,3)には、その交点において直 角に交差する桁上げバスvc,hcを選択的に接続することが可能なプログラマ ブルスイッチ20(例として、図6Cを示す)が設けられている。 次に、スイッチングセクション14の水平バスについて述べる。 Y=0のバスh2sは、プログラマブルスイッチ16によってX=0,1,2 ,5,6の垂直バスに接続可能である。バスh2sは、長さがタイル2個分あり 、交点(4,0)のプログラマブルスイッチ18によって他の全てのスイッチン グセクション14の端部どうしで接続が可能である。 Y=1のALUの入力bから西に延びるバスは、スイッチ16によってX=0 ,1,2,3の垂直バスに接続可能である。また、ALUの出力fから東に延び るバスfwは、スイッチ16によってX=5,6,7 の垂直バスに接続可能である。バスbe,fwの端部は、交点(4,1)でプロ グラマブルスイッチ18によって接続可能である。 Y=2のバスhregsは、プログラマブルスイッチ16によってX=1,2 ,3,5,6,7の垂直バスに接続可能である。 Y=3のバスhcoは、ALUの桁上げ出力coから交点(4,3)のプログ ラマブルスイッチ20に対して西まで延びており、前記プログラマブルスイッチ 20によって、バスhcoは、(a)ALUの桁上げ入力hciまで東に延びる 桁上げバスhci、または(b)ALUの桁上げ入力vciまで南に延びる桁上 げバスvciに接続可能である。 Y=4のバスhregnは、プログラマブルスイッチ16によってX=0,1 ,2,3,5,6の垂直バスに接続可能である。 Y=5のバスh1はX=0,1,2,3,5,6,7の垂直バスに接続可能で ある。バスh1は長さがタイル1個分あり、交点(4,5)で、プログラマブル スイッチ18によって、各スイッチングセクション14の端部どうしで接続可能 である。 Y=6のALUの出力fから西に延びるバスfeは、スイッチ16によってX =0,1,2,3の垂直バスに接続可能である。また、ALUの入力aから東に 延びるバスawは、スイッチ16によって、X=5,6,7の垂直バスに接続可 能である。バスfeおよびawの端部は、交点(4,6)でプログラマブルスイ ッチ18によって接続可能である。 Y=7のバスh2nは、プログラマブルスイッチ16によってX=1,2,3 ,6,7の垂直バスに接続可能である。バスh2nは長さがタイル2個分あり、 交点(4,0)でバスh2sに接続するプログラマブルスイッチ18に対して互 い違いに配置されたプログラマブルスイッチ18によって、交点(4,7)で他 の全てのスイッチングセクション14および端部間の接続が可能である。 次に、スイッチングセクション14の垂直バスについて説明する。 X=0のバスv2wは、プログラマブルスイッチ16によってY=0, 1,4,5,6の水平バスに接続可能である。バスv2wは長さがタイル2個分 あり、交点(0,3)で、プログラマブルスイッチ18によって、他の全てのス イッチングセクション14の端部どうしで接続可能である。 X=1のALUの出力fから南に延びるバスfnは、プログラマブルスイッチ 16によってY=0,1,2の水平バスに接続可能である。また、ALUの入力 bから北に延びるバスbsは、スイッチ16によってY=4,5,6,7の水平 バスと接続可能である。バスfn,bsの端部は、交点(1,3)でプログラマ ブルスイッチ18によって接続可能である。 X=2のバスv1は、Y=0,1,2,4,5,6,7の水平バスに接続可能 である。バスv1は長さがタイル1個分あり、交点(2,3)で、プログラマブ ルスイッチ18によって、各スイッチングセクション14の端部どうしで接続可 能である。 X=3のバスvregwは、プログラマブルスイッチ16によってY=1,2 ,4,5,6,7の水平バスに接続可能である。 X=4のバスvcoが、ALUの桁上げ出力coから交点(4,3)のプログ ラマブルスイッチ20に対して北まで延びており、前記プログラマブルスイッチ 20によって、バスvcoは、(a)ALUの桁上げ入力hciまで東に延びる 桁上げバスhci、または(b)ALUの桁上げ入力vciまで南に延びる桁上 げバスvciに接続可能である。 X=5のバスvregeは、プログラマブルスイッチ16によってY=0,1 ,2,4,5,6の水平バスに接続可能である。 X=6のALUの入力aから南へ延びるバスanは、スイッチ16によってY =0,1,2の水平バスに接続可能である。また、ALUの出力fから北へ延び るバスfsは、プログラマブルスイッチ16によってY=4,5,6,7の水平 バスに接続可能である。バスan,fsの端部は、交点(6,3)でプログラマ ブルスイッチ18によって接続可能 である。 X=7のバスv2eは、プログラマブルスイッチ16によってY=1,2,5 ,6,7の水平バスに接続可能である。バスv2eは長さがタイル2個分であり 、交点(0,3)で、バスv2wを接続するプログラマブルスイッチ18に対し て互い違いに配置されたプログラマブルスイッチ18によって、交点(7,3) で他の全てのスイッチングセクション14および端部間の接続が可能になる。 図2に示すように、バスbs,vco,fsはそれぞれ、スイッチングセクシ ョン14の北へ、ALUの入力b、出力coおよび出力fに接続される。また、 バスfe,hco,beはそれぞれ、スイッチングセクション14の西へ、AL Uの出力f、出力coおよび入力bに接続される。さらに、バスaw,hci, fwはそれぞれ、スイッチングセクション14の東へ、ALUの入力a、入力c iおよび出力fに接続される。さらに、バスfn,vci,anはそれぞれ、ス イッチングセクションの南へ、ALUの出力f、入力ciおよび入力aに接続さ れる。 これらの接続に加えて、バスvregw,vregeは、各プログラマブルス イッチ18を介して、それぞれ、スイッチングセクション14の北へ、ALUの 領域12の4ビット接続点vtsw,vtse(図2に「×」で示す)に接続さ れる。また、バスhregs,hregnは、各プログラマブルスイッチ18を 介して、それぞれ、スイッチングセクション14の西へ、ALUの領域12の4 ビット接続点htse,htne(図2に「×」で示す)に接続される。さらに 、バスhregs,hregnは、各プログラマブルスイッチ18を介して、そ れぞれ、スイッチングセクション14の東へ、ALUの領域12の4ビット接続 点htsw,htnwに接続される。さらに、バスvregw,vregeは、 各プログラマブルスイッチ18を介して、それぞれ、スイッチングセクション1 4の南へ、ALUの領域12の4ビット接続点vtnw,vtneに接続される 。これらの接続点vtnw,vtne,htne, htse,vtse,vtsw,htsw,htnwについては、図3〜図5を 参照して、さらに詳細に後述する。 また、図2に示すように、バスhregn,vrege,hregs,vre gwは、図9を参照してさらに詳細に後述するが、4ビット接続点22(図2に 小さい正方形で示す)を備えている。 図3は、コーナーに丸みが付いた正方形によって示される演算論理装置の領域 間における、ある階層の相互接続を示している。1グループが4つの4ビットバ スv8,v4w,v4e,v16は、ALU領域12の各列を垂直に縦断して延 びている。各グループの最も左のバスv8は、長さがほぼタイル8個分のセグメ ントに分かれている。各グループの最も左から2番目のバスv4wは、長さがほ ぼタイル4個分のセグメントに分かれている。各グループの最も右から2番目の バスv4eは、長さがほぼタイル4個分であるが、最も左から2番目のバスv4 wからタイル2個分だけオフセットしたセグメントに分かれている。各グループ の最も右側のバスv16は、長さがほぼタイル16個分のセグメントに分かれて いる。図4の上部に位置するアレイの上部端および下部端では、セグメントの長 さが、上記で規定した長さよりわずかに長くまたは短くなる可能性がある。 図3および図5を参照すると、一グループをなす4つのバスv8,v4w,v 4e,v16の各グループは、それぞれのALU領域12と交差すると、接続点 htnw,htsw,htse,htneにおいて、4ビットタップ接続が提供 される。バスセグメントの端部は、ALU領域と交差するバスセグメントに接続 するよりも、このような4ビットタップ接続を優先する。 同様に、図4および図5に示すように、一グループにおいて4つの4ビットバ スh8,h4n,h4s,h16がALU領域12の各行を水平に横切って延び ている。各グループの最も上のバスh8は、長さがほぼタイル8個分のセグメン トに分かれている。各グループの最も上から 2番目のバスh4nは、長さがほぼタイル4個分のセグメントに分かれている。 各グループにおける最も下から2番目のバスh4sは、長さがほぼタイル4個分 であるが、最も上から2番目のバスh4nからタイル2個分だけオフセットした セグメントに分かれている。各グループの最も下のバスh16は、長さがほぼタ イル16個分のセグメントに分かれている。図4の左に位置するアレイの左側端 および右側端では、セグメントの長さが、上記で規定した長さよりわずかに長く または短くなる可能性がある。各グループをなすバスh8,h4n,h4s,h 16が各ALU領域12と交差すると、接続点vtnw,vtsw,vtse, vtneにおいて、さらに4ビットタップ接続が提供される。バスセグメントの 端部は、ALUと交差するバスセグメントに対する接続よりもこのような4ビッ トタップ接続を優先する。 図5に示すように、接続点htnw,htsw,htne,htseは、プロ グラマブルスイッチを介して、ALU領域の西および東で、スイッチングセクシ ョンのバスhregn,hregsに接続される。また、接続点vtnw,vt ne,vtsw,vtseは、プログラマブルスイッチを介して、ALU領域の 北および南で、スイッチングセクションのバスvregw,vregeに接続さ れる。 次に、図6Aを参照して、直角に交差する4ビットバス対の間におけるプログ ラマブル接続16について説明する。水平バスの導体は、x0,x1,x2,x 3で表示され、垂直バスの導体は、y0,y1,y2,y3で表示されている。 同じ位のビット(same bit significace)の各導体対の間に、各トランジスタ16 0,161,162,163が設けられている。トランジスタ160,161, 162,163のゲートは、NORゲート16gの出力に共通に接続されており 、NORゲート16gは、その2つの入力として、スイッチグループによる共有 が可能な、単一ビットメモリセルからの反転されたイネーブル信号(図中ではオ ーバー・バー( ̄)を付したENABLEで示す)と、単一メモリビット セル24の反転された内容を受信する。したがって、イネーブル信号が“H”レ ベルで、メモリセル24の内容が“H”レベルの場合のみ、導体x0,x1,x 2,x3が、各トランジスタ160,161,162,163によって、それぞ れ導体y0,y1,y2,y3に接続される。 次に、図6Bを参照して、互いに、一直線上で端部どうしが接する、4ビット バス対の間のプログラマブル接続18について説明する。一方のバスの導体は、 x10,x11,x12,x13で表示され、もう一方のバスの導体は、x20 ,x21,x22,x23で表示されている。同じ位のビットの各導体対の間に 、各トランジスタ180,181,182,183が設けられている。トランジ スタ180,181,182,183のゲートはNORゲート18gの出力に共 通に接続されており、NORゲート18gは、その2つの入力として、スイッチ グループによる共有が可能な、単一ビットメモリセルからの反転されたイネーブ ル信号と、単一メモリビットセル24の反転された内容とを受信する。したがっ て、イネーブル信号が“H”レベルで、メモリセル24の内容が“H”レベルの 場合のみ、導体x10,x11,x12,x13が、各トランジスタ180,1 81,182,183によって、各導体y20,y21,y22,y23に接続 される。 次に、図6Cを参照して、桁上げ導体hco,vco,hci,vci間のプ ログラマブル接続20について説明する。水平桁上げ出力導体hcoは、各トラ ンジスタ20hh,20hvを介して、水平桁上げ入力導体hciおよび垂直桁 上げ入力導体vciに接続されている。さらに、垂直桁上げ出力導体vcoは、 トランジスタ20vv,20vhを介して、垂直桁上げ入力導体vciおよび水 平桁上げ入力導体hciに接続されている。トランジスタ20hh,20vvの ゲートは、インバータ20iの出力とトランジスタ20hv,20vhのゲート に共通の接続が施されており、インバータ20iに対する入力はNORゲート2 0gの出力に接続されている。NORゲート20gは、その2つの入力 として、スイッチグループによる共有が可能な、単一ビットメモリセルからの反 転されたイネーブル信号と、単一メモリビットセル24の反転された内容とを受 信する。したがって、イネーブル信号が“H”レベルの場合、導体hco,vc oはメモリセル24の内容に応じて、導体hci,vciまたは導体vci,h ciに接続される。 NORゲート16g,18g,20gを有する図6A〜図6Cを参照して、前 述のスイッチング可能な接続16,18,20のそれぞれを説明する。図7に示 すように、NORゲート16gは、4つのトランジスタ16g1,16g2,1 6g3,16g4によって形成され、そのうち、トランジスタ16g1,16g 3の2つは、反転されたイネーブル信号に応答し、16g2,16g4の2つは メモリセル24の反転された内容に応答する。本発明の好適な実施の態様の場合 、スイッチング可能な接続16,18,20のグループは、該グループの一部だ けを使用禁止にする必要がなく、共通して使用禁止にすることが可能である。こ のようなグループは、1つのスイッチングセクション14におけるスイッチング 可能な接続の全体、特定のタイルの2つのスイッチングセクション14における スイッチング可能な接続の全体、またはアレイのより広い領域におけるスイッチ ング可能な接続の全体から構成することが可能である。この場合、トランジスタ 16g1は、図8に示すように、グループをなすスイッチング可能な接続16, 18,20の全てに対して共通にすることが可能である。これによって、ゲート に必要なトランジスタの数を25%減らすことが可能になるが、図8に示すよう に、ゲートをリンクする導体をそれ以上必要とする。 当業者には明らかなように、図7および図8に示す構造は、修正を加えて、最 適化することが可能である。例えば、図7および図8の構成は、記憶値およびそ の記憶値の補数の両方を戻すように設計されたメモリセル24を十分に利用した ものではない。このようなメモリセル24から得られる補数を利用することによ って、図8に示す事例のように、イネ ーブル信号と反転されたイネーブル信号の両方を、グループをなすスイッチング 可能な接続の全てに伝送する必要をなくすことが可能になる。 図1および図2を参照して、上述のように、各スイッチングセクション14ご とに、バスhregn,hregs,vregw,vregeは、それぞれの4 ビット接続22によって、レジスタまたはバッファ回路に接続されている。次に 、図9を参照して、この回路についてより詳細に述べる。4つの各接続22は、 マルチプレクサ26のそれぞれの入力に接続されている。マルチプレクサ26は 、レジスタまたはバッファ28に供給される出力として、入力の1つを選択する 。レジスタまたはバッファ28の出力は、それぞれ、バスhregs,vreg w,hregn,vregeに対応する接続22に戻る接続がなされている4つ のトライステート(tri-state)バッファ30s,30w,30n,30eに供給 される。バッファ28が利用される場合、バスhregs,vregw,hre gn,vregeの選択された1つの4ビット信号が増幅されて、バスhreg s,vregw,hregn,vregeの別の選択された1つに供給される。 レジスタ28が利用される場合、バスhregs,vregw,hregn,v regeの選択された1つの4ビット信号が増幅されて、次のアクティブクロッ クエッジ(active clock edge)の後、バスhregs,vregw,hregn ,vregeの任意の選択された1つに供給される。 上述の構成によって、アレイを巡るまたはアレイを横切る信号経路の自由度が 高くなる。メモリセル24を利用してスイッチ16,18,20の適正な設定と 、マルチプレクサ26およびレジスタまたはバッファ28の適正な設定とによっ て、主として、バスv16,h16,v8,h8,v4e,v4w,h4n,h 4sを利用して、アレイの端から特定のALUへ、ALU間、および特定のAL Uからアレイの端へと、かなりの距離にわたって信号を送ることが可能になる。 これらのバスは、スイッチングセクション14によって一列または直角に結合し 、伝搬の 遅れを短縮するためにレジスタまたはバッファ28によって増幅するおよびレジ スタ28によってパイプライン段(pipeline stage)を導入することが可能である 。また、これらのバスは、その全長に沿って部分的にタップを設置することが可 能であり、この結果、特定の処理操作を実行するALUとの配置は、バスの長さ では完全には表されなくなり、信号を2つ以上のALUに分配することが可能に なる。さらに、図1および図2を参照して、図示されたバスより長さの短いバス を利用すれば、スイッチングセクション14とALUとの間の経路指定を行うこ とが可能になり、例えば、バスが水平または垂直に延びていても、同じ行または 列内の1つのALUから隣接するALUまたは対角線状に隣接するALUへと、 主としてより短い距離の送信が可能になる。さらに、レジスタまたはバッファ2 8を利用して、信号を増幅する、またはプログラマブル遅延を信号に加えること が可能である。 上述の構成の場合、メモリセル24は、スイッチングセクション14およびA LU領域12と同じ範囲にわたって、アレイ全域に分布している。各メモリセル 24は、それが制御するマルチプレクサ、レジスタ、またはバッファをスイッチ およびスイッチグループに隣接して配置されている。これによって高回路密度の 実現が可能になる。 次に、メモリセル24のデータの書き込みまたはメモリセル24からのデータ の読み取りを行う方法、プログラマブルスイッチ16,18,20のイネーブル 信号がメモリセルに書き込まれる方法、命令およびおそらくは定数がALUに分 配される方法、およびクロック信号のような他の制御信号がアレイ全域にわたっ て伝送される方法を説明する。これらの機能の全てについて、図10に示す「H ツリー」構造(それ自体は既知である)を用いることが可能である。図10およ び図11を参照すると、例示された図における64の任意の位置にイネーブル信 号を分配するため、イネーブル信号30aおよびそのための6ビットアドレス3 2aがデコーダ34aに供給される。デコーダ34aは、そこからの4 つの分岐(branch)のどれがそのアドレスに通じているかを決定し、そのブランチ における別のデコーダ34bに、4ビットアドレス32bと共に、4つのブラン チ全てにおけるデコーダ34bにイネーブル信号30bを供給する。イネーブル 信号30bを受信すると、デコーダ34bは、そこからの4つのブランチのどれ が要求されるアドレスに通じているかを決定し、4つのブランチ全てにおけるデ コーダ34cに4ビットアドレス32cと共に、そのブランチにおける別のデコ ーダ34cにイネーブル信号30cを供給する。デコーダ34cがイネーブル信 号30cを受信すると、必要とされるアドレスにイネーブル信号34dを供給し 、そこで、イネーブル信号34dを単一ビットメモリセルに記憶することができ る。Hツリー構造の利点は、全ての宛先までの信号経路の長さがほぼ等しいとい う点であり、これは、クロック信号の場合に特に有利である。 上述の構成の大きい利点は、例えば、1つのスイッチングセクション14若し くは一タイル内の2つのスイッチングセクションにおいて、またはサブアレイを なすタイル内のスイッチングセクションにおいて、グループをなすメモリセル2 4の内容が関連スイッチに影響を及さないように、これらのメモリセルのグルー プを、反転されたイネーブル信号によって一括して使用禁止にすることができる という点にある。したがって、該メモリセル24は、アレイの配線の構成に利用 するのではなく、アプリケーションによって「ユーザ」メモリとして利用するこ とができる。 ただ単に例示だけのために、本発明の実施の態様の説明を行ってきたが、本発 明との調和を保って、多くの修正および改良を行うことが可能である。例えば、 上記の実施の態様では、ALUを処理装置として用いているが、ルックアップテ ーブル、プログラマブル論理アレイ、および/またはそれ自体の命令を取り出す ことが可能な自己完結型(self-contained)CPUという他の処理装置を追加また は代替利用することも可能 である。 さらに、アレイ全体がALUおよびスイッチングセクションで満たされている かのように実施の態様の説明を行ってきたが、アレイは他の態様のセクションを 有することも可能である。例えば、サブアレイは、上述のように、ALUおよび スイッチングセクションのタイルの4×4配列から構成することが可能であり、 アレイは、このような4×4アレイをなすようにサブアレイおよびメモリを構成 することもでき、4×4アレイをなすようにサブアレイおよび縮小命令セットコ ンピュータ(RISC)CPUを構成することも可能である。 上述の実施の態様の場合、各ALU領域は正方形であり、各スイッチングセク ションは正方形でALU領域と同じサイズであるが、留意すべきはレジスタバス vregw,vrege,hregn,hregsにおける制御可能なスイッチ 18がALU領域の正方形の輪郭内に侵入している点である。ALU領域はスイ ッチングセクションと同じサイズである必要はなく、それより小さくてもよい。 したがって、例えば1つのスイッチングセクション14から、バスh2sとバス h2nとの間またはバスv2eとバスv2wとの間に延びる対角線状の隣接する スイッチングセクション14まで、水平または垂直方向に1つ以上のバスを直接 通すことが可能である。 上述の実施の態様の場合、各ALUは2つの独立した桁上げ入力vci,hc iと接続対をなす桁上げ出力coとを備えている。必要があれば、ALUは2種 類の桁上げ、すなわちマルチビット加算操作に特に利用可能な隣接するALU間 における高速の桁上げと、自由度のある経路指定が可能であり特にデジタル直列 演算に利用可能な低速の桁上げとを扱うように構成することができる。高速の桁 上げは図面に関連して上述のものと同様に構成することが可能であり、低速の桁 上げは桁上げ導体(carry conductor)と4ビットバスの特定ビットとの間のスイ ッチングセクション14におけるプログラマブルスイッチを用いることが可能で ある。 上述の実施の態様の場合、特定のビット幅、スイッチングセクションのサイズ およびアレイのサイズについて説明してきたが、留意すべきはこれらの値の全て は、適切に変更可能であるという点である。また、プログラマブルスイッチ16 ,18,20について、各スイッチングセクション14の特定の位置に配置され るものとして説明してきたが、必要および所望に応じて別の位置に配置されるこ とも可能である。 上述の実施の態様の場合、アレイは2次元であるが、本発明においては、例え ば上述のアレイにスタック(stack)を設け、隣接する層のスイッチングセクショ ンが互い違いに配置されるようにすることによって、3次元アレイにも適用可能 である。スタックはちょうど2つの層を備えることができるが、好適には少なく とも3つの層を備え、層の数は2の累乗が望ましい。 上述の実施の態様の場合、メモリセル24を、ゲート16g,18g,20g によって、それらが制御するスイッチから分離することができるので、メモリセ ルを他の目的に利用することができる。すなわち、「ユーザプレーン(user plan e)」にあてることが可能になる。しかし、イネーブル信号メモリセルはユーザプ レーンに転送することができない。代替の実施の態様の場合、特定のスイッチン グセクション14のスイッチは、スイッチングセクション14の境界におけるバ スのそれ以外のスイッチによって、アレイの残りの部分から接続を切ることが可 能であり、前記それ以外のスイッチはユーザプレーンに転送できないそれ以外の メモリセルによって制御される。 他の多くの修正および改良を行うことも可能である。
【手続補正書】特許法第184条の8第1項 【提出日】平成11年1月22日(1999.1.22) 【補正内容】 請求の範囲 1.行および列をなす回路エリアのほぼ方形のアレイとして構成されたフィール ドプログラマブル回路領域を備え、 前記回路エリア(12)のいくつかは、少なくとも1つの各入力信号経路(a n,aw、be,bs,hci,vci)におけるデータに対して処理を行ない 、少なくとも1つの各出力信号経路(fn,fe,fs,fw,vco,hco )にデータを供給するための各処理手段をそれぞれ備え、 他の回路エリアは各スイッチングセクション(14)をそれぞれ備え、 前記処理手段および前記スイッチングセクションは、各行および各列内におい て交互に配列され、 前記スイッチセクションの大部分は、同じ列および同じ行の該スイッチングセ クションに隣接した処理手段の前記信号経路の少なくとも一部の間にプログラマ ブル接続(16,18,20)をそれぞれ有する集積回路であって、 複数のスイッチングセクション間の信号経路(h1,h2n,h2s,h4n ,h4s,h8,h16,v1,v2e,v2w,v4e,v4w,v8,v1 6)を備え、該スイッチングセクション間の各信号経路は、同じ行のスイッチン グセクションの各第1のスイッチングセクションから各第2のスイッチングセク ションに、主としてその行にほぼ平行な方向にまたは主としてその列にほぼ平行 な方向に延び、前記スイッチングセクション間の各信号経路は、前記第1のスイ ッチングセクションによってその第1のスイッチングセクションで他の信号経路 とプログラマブル接続可能であり、前記第2のスイッチングセクションによって その第2のスイッチングセクションで他の信号経路とプログラマブル接続が可能 であることを特徴とする集積回路。 2.前記スイッチングセクションの全てが、プログラマブル接続可能に 構成されることを特徴とする請求の範囲第1項記載の集積回路。 3.前記処理手段の少なくとも1つと、該処理手段に隣接した処理手段が、第1 の入力(a)、第2の入力(b)および出力(f)をそれぞれ備えることを特徴 とする請求の範囲第1項または第2項記載の集積回路。 4.前記スイッチングセクションによって提供される第1の接続形態(18)が 、ほぼ同一線上または互いに平行な信号経路間におけるものであることを特徴と する請求の範囲第1項〜第3項のいずれか一項に記載の集積回路。 5.前記一処理手段の出力は、 同じ行の一方向で次の処理手段の第1の入力に、第1の接続形態(交点(4, 6)における18)によって接続可能であり、 同じ列の一方向で次の処理手段の第1の入力に、第1の接続形態(交点(6, 3)における18)によって接続可能であり、 同じ行の反対の方向で次の処理手段の第2の入力に、このような第1の接続形 態(交点(4,1)における18)によって接続可能であり、 同じ列の反対の方向で次の処理装置の第2の入力に、このような第1の接続形 態(交点(1,3)における18)によって接続可能である、 ことを特徴とする請求の範囲第4項記載の集積回路。 6.前記スイッチングセクションによって提供される第2の接続形態(16)が 、互いにほぼ直交する信号経路間におけるものであることを特徴とする請求の範 囲第1項〜第5項のいずれか一項に記載の集積回路。 7.前記一処理手段の出力(f)は、 前記一行方向および前記一列方向で対角線状に隣接する処理手段の第1の入力 に、同じ列内における第2の接続形態(交点(6,6)における16)によって 接続可能であり、 前記反対の行方向および前記一列方向で対角線状に隣接する処理手段の第1の 入力に、同じ行内における第2の接続形態(交点(6,1)における16)によ って接続可能であり、 前記反対の行方向および前記反対の列方向で対角線状に隣接する処理手段の第 2の入力に、同じ列内における第2の接続形態(交点(1,1)における16) によって接続可能であり、 前記一行方向および前記反対の列方向で対角線状に隣接する処理手段の第2の 入力に、同じ行内における第2の接続形態(交点(1,6)における16)によ って接続可能である、 ことを特徴とする請求の範囲第6項記載の集積回路。 8.前記入力および出力信号経路のほぼ全てが、行および列に対してほぼ平行な 方向に向けて配置されていることを特徴とする請求の範囲第1項〜第7項のいず れか一項に記載の集積回路。 9.前記スイッチングセクション間の信号経路(h1,v1)の一形態において 、各行または列で、前記第1のスイッチングセクションと前記第2のスイッチン グセクションとの間にはスイッチングセクションが存在しないことを特徴とする 請求の範囲第1項〜第8項のいずれか一項に記載の集積回路。 10.前記スイッチングセクション間の信号経路(h2n,h2s,h4n,h 4s,h8,h16,v2e,v2w,v4e,v4w,v8,v16)の他の 形態において、各行または列で、前記第1のスイッチングセクションと前記第2 のスイッチングセクションとの間には、他のスイッチングセクションのいくつか が設けられていることを特徴とする請求の範囲第1項〜第9項のいずれか一項に 記載の集積回路。 11.前記スイッチングセクション間の信号経路(h4n,h4s,h8,h1 6,v4e,v4w,v8,v16)の別の形態において、各信号経路が、各行 または列に対してほぼ平行な方向に延びるスパイン部分(h4n,h4s,h8 ,h16,v4e,v4w,v8,v16)と、各行または列に対してほぼ直交 する方向にそれぞれ延び、前記スパイン部分と前記第1のスイッチングセクショ ンおよび前記第2のスイッチングセクションとをそれぞれ相互接続する第1の端 部および第2の端 部(vtne,htne,htse,vtse,vtsw,htsw,htnw ,vtnw)と、を備えることを特徴とする請求の範囲第1項〜第10項のいず れか一項に記載の集積回路。 12.前記スイッチングセクション間の信号経路のさらに別の形態の少なくとも いくつかにおいて、前記第1のスイッチングセクションおよび前記第2のスイッ チングセクションのそれぞれは、各行または列に他のスイッチングセクションの いくつかを備えることを特徴とする請求の範囲第11項記載の集積回路。 13.前記他のスイッチングセクションのいくつかは、それぞれ2の累乗から1 減算した数であることを特徴とする請求の範囲第10項または第12項記載の集 積回路。 14.前記スイッチングセクション間の信号経路のさらに別の形態の少なくとも いくつかが、各行または列に対してほぼ直交する方向に延び、前記スパイン部分 と他のスイッチングセクションのそれぞれとを相互接続する少なくとも1つのタ ップ部分(vtne,htne,htse,vtse,vtsw,htsw,h tnw,vtnw)を備えることを特徴とする請求の範囲第12項または第13 項記載の集積回路。 15.前記スイッチングセクションの少なくともいくつかは、該スイッチングセ クションで、前記信号経路の少なくともいくつかにスイッチング可能にそれぞれ 接続することができる入力および出力を備える各レジスタおよび/またはバッフ ァ(28)をそれぞれ有することを特徴とする請求の範囲第1項〜第14項のい ずれか一項に記載の集積回路。 16.前記処理手段の少なくとも1つが演算論理手段であることを特徴とする請 求の範囲第1項〜第15項のいずれか一項に記載の集積回路。 17.前記処理手段の少なくとも1つが複数ビット入力および/または複数ビッ ト出力を備え、前記信号経路の少なくともいくつかがそれぞれの複数ビットバス によって提供されることを特徴とする請求の範囲第1項〜第16項のいずれか一 項に記載の集積回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヴィルミン,ジャン フランス国 エフ―75116 パリ,リュ・ ドウ・ラ・ツアー,76

Claims (1)

  1. 【特許請求の範囲】 1.行および列をなす回路エリアのほぼ方形のアレイとして構成されたフィール ドプログラマブル回路領域を備え、 前記回路エリア(12)のいくつかは、少なくとも1つの各入力信号経路(a n,aw、be,bs,hci,vci)におけるデータに対して処理を行ない 、少なくとも1つの各出力信号経路(fn,fe,fs,fw,vco,hco )にデータを供給するための各処理手段をそれぞれ備え、 他の回路エリアは各スイッチングセクション(14)をそれぞれ備え、 前記処理手段および前記スイッチングセクションは、各行および各列内におい て交互に配列され、 前記スイッチセクションの大部分は、同じ列および同じ行の該スイッチングセ クションに隣接した処理手段の前記信号経路の少なくとも一部の間にプログラマ ブル接続(16,18,20)をそれぞれ有することを特徴とする集積回路。 2.前記スイッチングセクションの全てが、プログラマブル接続可能に構成され ることを特徴とする請求の範囲第1項記載の集積回路。 3.前記処理手段の少なくとも1つと、該処理手段に隣接した処理手段が、第1 の入力(a)、第2の入力(b)および出力(f)をそれぞれ備えることを特徴 とする請求の範囲第1項または第2項記載の集積回路。 4.前記スイッチングセクションによって提供される第1の接続形態(18)が 、ほぼ同一線上または互いに平行な信号経路間におけるものであることを特徴と する請求の範囲第1項〜第3項のいずれか一項に記載の集積回路。 5.前記一処理手段の出力は、 同じ行の一方向で次の処理手段の第1の入力に、第1の接続形態(交点(4, 6)における18)によって接続可能であり、 同じ列の一方向で次の処理手段の第1の入力に、第1の接続形態(交点(6, 3)における18)によって接続可能であり、 同じ行の反対の方向で次の処理手段の第2の入力に、このような第1の接続形 態(交点(4,1)における18)によって接続可能であり、 同じ列の反対の方向で次の処理装置の第2の入力に、このような第1の接続形 態(交点(1,3)における18)によって接続可能である、 ことを特徴とする請求の範囲第4項記載の集積回路。 6.前記スイッチングセクションによって提供される第2の接続形態(16)が 、互いにほぼ直交する信号経路間におけるものであることを特徴とする請求の範 囲第1項〜第5項のいずれか一項に記載の集積回路。 7.前記一処理手段の出力(f)は、 前記一行方向および前記一列方向で対角線状に隣接する処理手段の第1の入力 に、同じ列内における第2の接続形態(交点(6,6)における16)によって 接続可能であり、 前記反対の行方向および前記一列方向で対角線状に隣接する処理手段の第1の 入力に、同じ行内における第2の接続形態(交点(6,1)における16)によ って接続可能であり、 前記反対の行方向および前記反対の列方向で対角線状に隣接する処理手段の第 2の入力に、同じ列内における第2の接続形態(交点(1,1)における16) によって接続可能であり、 前記一行方向および前記反対の列方向で対角線状に隣接する処理手段の第2の 入力に、同じ行内における第2の接続形態(交点(1,6)における16)によ って接続可能である、 ことを特徴とする請求の範囲第6項記載の集積回路。 8.前記入力および出力信号経路のほぼ全てが、行および列に対してほぼ平行な 方向に向けて配置されていることを特徴とする請求の範囲第1項〜第7項のいず れか一項に記載の集積回路。 9.複数のスイッチングセクション間の信号経路(h1,h2n,h2 s,h4n,h4s,h8,h16,v1,v2e,v2w,v4e,v4w, v8,v16)を備え、該スイッチングセクション間の各信号経路は、同じ行の スイッチングセクションの各第1のスイッチングセクションから各第2のスイッ チングセクションに、主としてその行にほぼ平行な方向にまたは主としてその列 にほぼ平行な方向に延び、前記スイッチングセクション間の各信号経路は、前記 第1のスイッチングセクションによってその第1のスイッチングセクションで他 の信号経路とプログラマブル接続可能であり、前記第2のスイッチングセクショ ンによってその第2のスイッチングセクションで他の信号経路とプログラマブル 接続が可能であることを特徴とする請求の範囲第1項〜第8項のいずれか一項に 記載の集積回路。 10.前記スイッチングセクション間の信号経路(h1,v1)の一形態におい て、各行または列で、前記第1のスイッチングセクションと前記第2のスイッチ ングセクションとの間にはスイッチングセクションが存在しないことを特徴とす る請求の範囲第9項記載の集積回路。 11.前記スイッチングセクション間の信号経路(h2n,h2s,h4n,h 4s,h8,h16,v2e,v2w,v4e,v4w,v8,v16)の他の 形態において、各行または列で、前記第1のスイッチングセクションと前記第2 のスイッチングセクションとの間には、他のスイッチングセクションのいくつか が設けられていることを特徴とする請求の範囲第9項または第10項記載の集積 回路。 12.前記スイッチングセクション間の信号経路(h4n,h4s,h8,h1 6,v4e,v4w,v8,v16)の別の形態において、各信号経路が、各行 または列に対してほぼ平行な方向に延びるスパイン部分(h4n,h4s,h8 ,h16,v4e,v4w,v8,v16)と、各行または列に対してほぼ直交 する方向にそれぞれ延び、前記スパイン部分と前記第1のスイッチングセクショ ンおよび前記第2のスイッチングセクションとをそれぞれ相互接続する第1の端 部および第2の端 部(vtne,htne,htse,vtse,vtsw,htsw,htnw ,vtnw)と、を備えることを特徴とする請求の範囲第9項〜第11項のいず れか一項に記載の集積回路。 13.前記スイッチングセクション間の信号経路のさらに別の形態の少なくとも いくつかにおいて、前記第1のスイッチングセクションおよび前記第2のスイッ チングセクションのそれぞれは、各行または列に他のスイッチングセクションの いくつかを備えることを特徴とする請求の範囲第12項記載の集積回路。 14.前記他のスイッチングセクションのいくつかは、それぞれ2の累乗から1 減算した数であることを特徴とする請求の範囲第11項または第13項記載の集 積回路。 15.前記スイッチングセクション間の信号経路のさらに別の形態の少なくとも いくつかが、各行または列に対してほぼ直交する方向に延び、前記スパイン部分 と他のスイッチングセクションのそれぞれとを相互接続する少なくとも1つのタ ップ部分(vtne,htne,htse,vtse,vtsw,htsw,h tnw,vtnw)を備えることを特徴とする請求の範囲第13項または第14 項記載の集積回路。 16.前記スイッチングセクションの少なくともいくつかは、該スイッチングセ クションで、前記信号経路の少なくともいくつかにスイッチング可能にそれぞれ 接続することができる入力および出力を備える各レジスタおよび/またはバッフ ァ(28)をそれぞれ有することを特徴とする請求の範囲第1項〜第15項のい ずれか一項に記載の集積回路。 17.前記処理手段の少なくとも1つが演算論理手段であることを特徴とする請 求の範囲第1項〜第16項のいずれか一項に記載の集積回路。 18.前記処理手段の少なくとも1つが複数ビット入力および/または複数ビッ ト出力を備え、前記信号経路の少なくともいくつかがそれぞれの複数ビットバス によって提供されることを特徴とする請求の範囲第1項〜第17項のいずれか一 項に記載の集積回路。
JP53175998A 1997-01-29 1998-01-28 フィールドプログラマブルプロセッサアレイ Expired - Lifetime JP4014116B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97300563A EP0858168A1 (en) 1997-01-29 1997-01-29 Field programmable processor array
EP97300563.0 1997-01-29
PCT/GB1998/000262 WO1998033277A1 (en) 1997-01-29 1998-01-28 Field programmable processor arrays

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007165208A Division JP2007329936A (ja) 1997-01-29 2007-06-22 フィールドプログラマブルプロセッサアレイ

Publications (3)

Publication Number Publication Date
JP2001509337A true JP2001509337A (ja) 2001-07-10
JP2001509337A5 JP2001509337A5 (ja) 2006-03-30
JP4014116B2 JP4014116B2 (ja) 2007-11-28

Family

ID=8229199

Family Applications (2)

Application Number Title Priority Date Filing Date
JP53175998A Expired - Lifetime JP4014116B2 (ja) 1997-01-29 1998-01-28 フィールドプログラマブルプロセッサアレイ
JP2007165208A Withdrawn JP2007329936A (ja) 1997-01-29 2007-06-22 フィールドプログラマブルプロセッサアレイ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007165208A Withdrawn JP2007329936A (ja) 1997-01-29 2007-06-22 フィールドプログラマブルプロセッサアレイ

Country Status (5)

Country Link
US (2) US6252792B1 (ja)
EP (1) EP0858168A1 (ja)
JP (2) JP4014116B2 (ja)
DE (1) DE69812898T2 (ja)
WO (1) WO1998033277A1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002029600A2 (de) * 2000-10-06 2002-04-11 Pact Informationstechnologie Gmbh Zellenarordnung mit segmentierterwischenzellstruktur
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
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
EP0858168A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor array
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
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
WO2002013000A2 (de) 2000-06-13 2002-02-14 Pact Informationstechnologie Gmbh Pipeline ct-protokolle und -kommunikation
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
EP1061439A1 (en) 1999-06-15 2000-12-20 Hewlett-Packard Company Memory and instructions in computer architecture containing processor and coprocessor
US6600959B1 (en) * 2000-02-04 2003-07-29 International Business Machines Corporation Method and apparatus for implementing microprocessor control logic using dynamic programmable logic arrays
US6756811B2 (en) * 2000-03-10 2004-06-29 Easic Corporation Customizable and programmable cell array
US6331790B1 (en) * 2000-03-10 2001-12-18 Easic Corporation Customizable and programmable cell array
US7383424B1 (en) 2000-06-15 2008-06-03 Hewlett-Packard Development Company, L.P. Computer architecture containing processor and decoupled coprocessor
WO2002008964A2 (de) * 2000-07-24 2002-01-31 Pact Informationstechnolgie Gmbh Integrierter schaltkreis
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7581076B2 (en) * 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or 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
US20070299993A1 (en) * 2001-03-05 2007-12-27 Pact Xpp Technologies Ag Method and Device for Treating and Processing Data
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
EP2224330B1 (de) 2001-06-20 2012-05-09 Krass, Maren Verfahren und gerät zum partitionieren von grossen rechnerprogrammen
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
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
JP4423953B2 (ja) * 2003-07-09 2010-03-03 株式会社日立製作所 半導体集積回路
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
WO2011061099A1 (en) 2004-04-02 2011-05-26 Panasonic Corporation Reset/load and signal distribution network
EP1974265A1 (de) 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardwaredefinitionsverfahren
CN101517546B (zh) * 2006-08-31 2011-12-07 雅格罗技(北京)科技有限公司 一种用于逻辑阵列的可编程互连网络
WO2010104033A1 (ja) * 2009-03-09 2010-09-16 日本電気株式会社 プロセッサ間通信システム及び通信方法、ネットワークスイッチ、及び並列計算システム
EP2326009A1 (en) 2009-11-20 2011-05-25 Panasonic Corporation Reset/load and signal distribution network
EP2328096A1 (en) 2009-11-27 2011-06-01 Panasonic Corporation Route-through in embedded functional units
EP2360601A1 (en) 2010-02-16 2011-08-24 Panasonic Corporation Programmable logic device with custom blocks
EP2367117A1 (en) 2010-03-10 2011-09-21 Panasonic Corporation Heterogeneous routing network
WO2012016597A1 (en) 2010-08-05 2012-02-09 Panasonic Corporation Overridable elements in reconfigurable logic devices
EP2416241A1 (en) 2010-08-06 2012-02-08 Panasonic Corporation Configurable arithmetic logic unit
WO2012059704A1 (en) 2010-11-04 2012-05-10 Panasonic Corporation Signal propagation control in programmable logic devices

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4236204A (en) 1978-03-13 1980-11-25 Motorola, Inc. Instruction set modifier register
US4698751A (en) 1984-07-13 1987-10-06 Ford Aerospace & Communications Corporation Systolic array for solving cyclic loop dependent algorithms
JPS62192094A (ja) 1986-02-18 1987-08-22 Nec Corp Eprom装置
US4775952A (en) 1986-05-29 1988-10-04 General Electric Company Parallel processing system apparatus
US4766566A (en) 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing
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
US5204556A (en) * 1991-05-06 1993-04-20 Lattice Semiconductor Corporation Programmable interconnect structure for logic blocks
US5291431A (en) 1991-06-03 1994-03-01 General Electric Company Array multiplier adapted for tiled layout by silicon compiler
US5208491A (en) * 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
US5498975A (en) * 1992-11-19 1996-03-12 Altera Corporation Implementation of redundancy on a programmable logic device
US5457644A (en) 1993-08-20 1995-10-10 Actel Corporation Field programmable digital signal processing array integrated circuit
JP3547446B2 (ja) * 1994-02-15 2004-07-28 ジリンクス,インコーポレーテッド フィールドプログラマブルゲートアレーのタイル型構造
US5586277A (en) 1994-03-01 1996-12-17 Intel Corporation Method for parallel steering of fixed length fields containing a variable length instruction from an instruction buffer to parallel decoders
GB2289354B (en) 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Multiple instruction set mapping
US5426379A (en) 1994-07-29 1995-06-20 Xilinx, Inc. Field programmable gate array with built-in bitstream data expansion
JPH08185320A (ja) 1994-12-28 1996-07-16 Mitsubishi Electric Corp 半導体集積回路
US5680597A (en) 1995-01-26 1997-10-21 International Business Machines Corporation System with flexible local control for modifying same instruction partially in different processor of a SIMD computer system to execute dissimilar sequences of instructions
US5493239A (en) 1995-01-31 1996-02-20 Motorola, Inc. Circuit and method of configuring a field programmable gate array
US5659785A (en) 1995-02-10 1997-08-19 International Business Machines Corporation Array processor communication architecture with broadcast processor instructions
US5583450A (en) 1995-08-18 1996-12-10 Xilinx, Inc. Sequencer for a time multiplexed programmable logic device
GB9611994D0 (en) 1996-06-07 1996-08-07 Systolix Ltd A field programmable processor
KR100212142B1 (ko) 1996-09-12 1999-08-02 윤종용 매크로 명령기능을 가진 동기식 반도체 메모리장치와 매크로 명령의 저장 및 실행방법
EP0858168A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor array
US5835746A (en) 1997-04-21 1998-11-10 Motorola, Inc. Method and apparatus for fetching and issuing dual-word or multiple instructions in a data processing system
JP3123977B2 (ja) 1998-06-04 2001-01-15 日本電気株式会社 プログラマブル機能ブロック

Also Published As

Publication number Publication date
DE69812898T2 (de) 2003-12-11
US6252792B1 (en) 2001-06-26
EP0858168A1 (en) 1998-08-12
US20010035772A1 (en) 2001-11-01
JP4014116B2 (ja) 2007-11-28
US6542394B2 (en) 2003-04-01
JP2007329936A (ja) 2007-12-20
DE69812898D1 (de) 2003-05-08
WO1998033277A1 (en) 1998-07-30

Similar Documents

Publication Publication Date Title
JP2001509337A (ja) フィールドプログラマブルプロセッサアレイ
EP0956645B1 (en) Field programmable processor
US6553395B2 (en) Reconfigurable processor devices
US6633181B1 (en) Multi-scale programmable array
US5581199A (en) Interconnect architecture for field programmable gate array using variable length conductors
EP0461798B1 (en) Configurable interconnect structure
US6567969B1 (en) Configurable logic array including lookup table means for generating functions of different numbers of input terms
US5260881A (en) Programmable gate array with improved configurable logic block
US7355442B1 (en) Dedicated crossbar and barrel shifter block on programmable logic resources
US8082526B2 (en) Dedicated crossbar and barrel shifter block on programmable logic resources
US7737724B2 (en) Universal digital block interconnection and channel routing
US5621650A (en) Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses
US20060186919A1 (en) Dedicated logic cells employing configurable logic and dedicated logic functions
US7161384B1 (en) Flexible macrocell interconnect
JP2001500682A (ja) プログラム可能なワード長および幅を有するramブロックと専用アドレスおよびデータラインとを有するfpgaアーキテクチャ
WO1991007015A1 (en) Programmable logic cell and array
US20060186918A1 (en) Dedicated logic cells employing sequential logic and control logic functions
EP0956646B1 (en) Field programmable processor arrays
EP0924625A1 (en) Configurable processor
JP2002305439A (ja) プログラマブル論理回路および半導体装置
WO1998033182A1 (en) Data routing devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060704

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060922

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070622

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070907

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5