JPH08509344A - Field programmable gate array tiled structure - Google Patents

Field programmable gate array tiled structure

Info

Publication number
JPH08509344A
JPH08509344A JP7521295A JP52129595A JPH08509344A JP H08509344 A JPH08509344 A JP H08509344A JP 7521295 A JP7521295 A JP 7521295A JP 52129595 A JP52129595 A JP 52129595A JP H08509344 A JPH08509344 A JP H08509344A
Authority
JP
Japan
Prior art keywords
tile
line
lines
fpga
tiles
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
JP7521295A
Other languages
Japanese (ja)
Other versions
JP3547446B2 (en
Inventor
タヴァーナ,ダネシュ
ケイ. イー,ウィルソン
エイ. ホーレン,ヴィクター
Original Assignee
ジリンクス,インコーポレーテッド
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 ジリンクス,インコーポレーテッド filed Critical ジリンクス,インコーポレーテッド
Publication of JPH08509344A publication Critical patent/JPH08509344A/en
Application granted granted Critical
Publication of JP3547446B2 publication Critical patent/JP3547446B2/en
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/1778Structural details for adapting physical parameters
    • H03K19/17796Structural details for adapting physical parameters for physical disposition of blocks
    • 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

Abstract

(57)【要約】 隣接論理素子への直接接続と経路指示マトリックス経由の間接接続とを備える論理素予をFPGAにより提供する。論理素子と経路指示マトリックスの一部とをタイルの一部として形成し、複数のタイルを選択可能な大きさのアレーを形成するようにつなぎ合わせる。経路指示マトリックスは、一つのタイルを接続するだけの経路指示線と、いくつかのタイル経由またはチップ全体経由でより長い距離にわたり延びる経路指示線とを含む。この組合せは互いに同一の個々のタイルの形成により達成される。 (57) [Summary] An FPGA is provided with a logic element having direct connection to adjacent logic elements and indirect connection via a routing matrix. The logic elements and part of the routing matrix are formed as part of a tile and the tiles are stitched together to form an array of selectable size. The routing matrix includes routing lines that only connect one tile and routing lines that extend over longer distances through several tiles or through the entire chip. This combination is achieved by forming individual tiles that are identical to each other.

Description

【発明の詳細な説明】 フィールドプログラマブルゲートアレーのタイル型構造 発明の技術分野 この発明は集積回路内に形成されたプログラマブルロジックデバイスに関し、 とくに論理ブロックを繰返しパターンの形に備えるプログラマブルロジックデバ イスの構造に関する。 発明の背景 フィールドプログラマブルゲートアレー(FPGA)はこの技術分野で周知で ある。FPGAはユーザ所望の論理機能をもたらすようにプログラム可能な形で 相互結合配線した回路配置融通性ある論理ブロック(CLB)のアレーを含む。 米国再発行特許第Re.32,363号として再発行された米国特許第4,87 0,302号は周知のFPGA構造を記載しており、ここに参照してこの明細書 に組み入れる。米国特許第4,758,745号、同第5,243,238号、 および公開国際出願WO93/05577もそれ以外のFPGA構造を記載して おり、ここに参照してこの明細書に組み入れる。さらにここに参照してこの明細 書に組み入れるカリフォルニア州95124サンホゼ、ロジックドライブ210 0所在のジリンクス,イ・コーポレーテッド発行のジリンクス社1993年デー タブック「プログラマブル ロジック データ ブック」は多数のFPGA構造 を実動化するいくつかの製品を記載している。 FPGAは汎用デバイス、すなわち複数の機能の任意の一つを発揮できるデバ イスと考えられ、所望の機能を発揮するようエンドユーザがプログラムする。こ の設計融通性のために、汎用FPGAは、多くの用途で使われないままになる多 数の接続用線およびトランジスタを含んでいる。また、FPGAは特定の機能を 発揮するためのプログラム実施を容易にする付加デバイスを含む。これらの付加 デバイスのためにFPGAチップ上の所要表面積が増大して不都合である。この 付加を償うためにFPGAの原価を下げることが営業的に重要である。原価切下 げの一つの方法はFPGAの汎用性を下げること、すなわち使われる頻度の少な い回路配置上のオプションのいくつかを除外することである。しかし、回路配置 上のオプションの削減は、どのオプションが必要になるのか予測できない可能性 のある顧客にとっては、FPGAの価値の下落となる。したがって、回路配置オ プションを最大に保ったまま表面積を削減する必要が生じている。 発明の概要 この発明によるフィールドプログラマブルゲートアレー(FPGA)構造は繰 返し配置可能なタイルを備える。各タイルはプログラム可能な経路指示マトリク スと回路配置融通性ある論理ブロックマトリックスとを含む。回路配置融通性あ る論理ブロックマトリックスはプログラム可能な経路指示マトリックスと隣接タ イル中の回路配置融通性ある論理ブロックマトリックスとにプログラム可能な形 で接続できる。プログラム可能な経路指示マトリックスはタイル隣接のプログラ ム可能な経路指示マトリックスとタイル横断の長尺線とにプログラム可能な形で 接続できる。このようにして、各タイルはロジック、隣接タイルへの接続および 全体の経路指示構造への接続の組合せを備える。複数のこれらタイルをつなぎ合 わせてタイルのアレーを形成し、それによってFPGAチップの機能部を構成す る。この構造により、互いに異なる数のタイルをつなぎ合わせるだけで互いに異 なる大きさのデバイスを製造し、高額の費用と多大の時間のかかる設計努力を不 要にする。また、この発明によると、上記プログラム可能な経路指示マトリック スおよび回路配置融通性ある論理ブロックマトリックスがプログラム可能な相互 接続点(PIP)の数を最小にし、チップ表面積を削減しチップ全体の密度を最 大にする。さらにこの発明によると、PIPの適切な位置づけが所要の経路指示 の融通性を確保し、FPGAの機能性を最大にする。 タイル構造は境界部分でタイルから外部に向かうひと組の信号線を備える。し たがって、例えば、一つのタイルの右側で外に向かう信号線はもう一つのタイル の左側で外に向かう信号線とつながる。一つの実施例においては、互いに隣接す るタイルは同一であって、繰返しパターンを形成している。もう一つの実施例に おいては、隣接するタイルは互いに同一ではないがそれらタイルの少なくとも大 部分がタイル境界部でぴったり合致する信号線を備えている。すなわち、境界部 で合致するモジュール状ユニットのアレーとしてチップを形成でき、複数のチッ プ設計で使えるタイル設計の融通性を容易に高めることができる。 図面の簡単な説明 図1はこの発明による構成部分を含むFPGAチップを示す。 図2Aは図1のFPGAチップの大部分に含まれる単一のコアタイルを示す。 図2Bは図2Aに示した型の四つの隣接コアタイルを示す。 図3Aは図2Aのタイルの一部である回路配置融通性ある論理ブロックマトリ ツクスを示す。 図3Bは回路配置融通性ある論理ブロックの出力線を一つの出力線に接続する すべてのPIPを実動化するマルチプレクサ構造を示す。 図3Cは回路配置融通性ある入力線を駆動するマルチプレクサ構成の一つの実 施例を示す。 図4Aは図3Aのマトリックス4の回路配置可能な論理ブロックを示す。 図4Bは図3Aの三状態バッファブロック302を示す。 図4Cは図3Aの出力イネーブルブロック309を示す。 図4Dは図4AのF,G,HおよびJ関数発生器の参照用テーブルの実施例を 示す。 図4Eは図4AのF,G,HおよびJ関数発生器のもう一つの参照用テーブル の実施例を示す。 図4Fは図4Dまたは4Eの参照用テーブル関数発生器用の一つのカルノーマ ップを示す。 図4Gは図4Dまたは4Eの参照用テーブル関数発生器で実動化できる216の 論理機能の一つを示す。 図5A−5Cは図4Aの回路配置融通性ある論理ブロックを、桁上げ連鎖、縦 続接続可能な復号回路および五入力組合せ機能にそれぞれ適用した例をそれぞれ 示す。 図6は図2Aのプログラム可能な経路指示マトリックスを示す。 図7Aは図6に示したようなこの発明のプログラム可能な経路指示マトリック スにより得られる接続形成可能性の例を示す。 図7Bは図6のプログラム可能な経路指示マトリックスと図2Aまたは2Bの タイル構造との組合せで得られる接続形成可能性の例を示す。 図8はチップの角部の近傍の大域信号パッドから大域信号線すなわちチップの 四つの辺縁に延びコアタイル駆動用の大域線に接続される大域信号線に至る接続 を示す。 図9はこの発明の一つの実施例において長尺線上に設けられた長尺線分割器を 示す。 図10A−10Dはこの発明の一実施例による左側、上側、右側および下側の 辺縁タイルをそれぞれ示す。 図11A−11Dは同実施例の左上側、右上側、右下側および左下側の角部タ イルとをそれぞれ示す。 図12は図11Bで用いられる発振器の一つの実施例の論理図を示す。 図面の詳細な説明 図面全体を通して次の表記を用いてある。すなわち、二つの線の交点にある小 さい黒色の点はそれら二つの互いに交わる線の間の固定の電気的接続を表わす。 二つの線の交点を囲む白ヌキの円はそれら二つの線の間のプログラム可能な接続 (例えばオンになって接続を形成するパストランジスタ)を表わす。白ヌキの円 は二つの線の間の双方向の信号の流れを表わす。二つの線の間の白ヌキの三角形 はその三角形の頂点の指す線に向かう信号の流れとのプログラム可能な接続を表 わす(この場合、信号はもちろん線の長さ全体にわたって存在する。すなわち、 反対向きの三角形も同じ線を指している場合は同一の信号の流れを生ずる)。こ の発明の一つの実施例によると、プログラム可能な接続はプログラム可能な各々 が少なくとも一つのトランジスタから成る相互接続点(PIP)を用いて形成す る。 他の線と交叉しない一つの線に重なっている三角形はその三角形の頂点の指す 方向の信号の流れを生ずるバッファを表わす。大域線ENOUTおよびENLL (図3Aに示す)を除き、タイルまたはマトリックス構造の内部で終端する(す なわち、タイルまたはマトリックスの境界部までは延びていない)線はそのタイ ル内部で物理的に終端する。タイルまたはマトリックスの境界部まで延びる線は 隣接タイル上の線、すなわち二つのタイルの接合に伴って接触状態になる線に接 続される。一つのタイルの辺縁まで延び、従って隣接タイルに達する線のいくつ かはそのタイル境界部で名称が変わる。回路配置融通性ある論理ブロックマトリ ックスおよびプログラム可能な経路指示マトリックスの中の線には同じ参照数字 を付してそれら線の相互間の物理的接続を表わしている。 図1はこの発明によるFPGAチップ100を示す。チップ100の中心部に は導体線で互いに接続した(詳細は後述)複数の同一コアタイル101がある。 チップ100の四辺に沿って、西、北、東および南辺縁タイル103,104, 105および106がそれぞれ配置してある。また、このチップの四隅には四つ の角部タイル113,114,115および116がそれぞれ配置してある。さ らに、チップ100はパッド、すなわち辺縁タイル103,104,105,1 06および角部タイル113−116をパッケージ(チップ100を収容する) の外部ピンに接続するパッドP1−P56を備える。各角部タイルは一つのコア タイル101にも接続されている。図1に示すとおり、辺縁タイルは互いに異な る数のパッドP、すなわち通常は0個から4個のパッド(図10a−10dを参 照して詳述)に接続される。図1には高電圧源パッドVCCおよび低電圧源パッ ドGNDも示してある。チップ全体を通じて電源用および接地用配線(図示して ない)が慣用の手法により設けてある。 図2Aはコアタイル101を示す。コアタイル101はプログラム可能な経路 指示マトリックス201および回路配置融通性ある論理ブロックマトリックス2 02を含む。プログラム可能な経路指示マトリックス201は図6を参照して詳 述し、回路配置融通性ある論理ブロック201は図3Aを参照して詳述する。 プログラム可能な経路指示マトリックス201から西向きに延びるサフィック ス0乃至11付きの12本の線を設けてある。これらの線には1倍長西向き線W 1−W5、W7−W11、および2倍長西向き線DW0およびDW6(詳細は後 述)が含まれる。プログラム可能な経路指示マトリックス201から北向きに延 びる1倍長北線N1−N5、N5−N11および2倍長北線DN0およびDN6 も設けてある。また、東向きに延びる1倍長東線E1−E5およびE7−E11 、および2倍長東線DE0−DE6も設けてある。さらに、南向きに延びる1倍 長南線S1−S5およびS7−S11、および2倍長南線DS0およびDS6が 設 けてある。また、東から西向きにタイル101を横切って2倍長水平線DH0お よびDH6を備える。さらに、北から南向きタイル101を横切って二重長垂直 線DV0およびDV6を備える。 図2Bは図2Aに示したタイル101と同一の回路配置の四つの隣接コアタイ ル101a,101b,101cおよび101dを示す。図2Bにおいては、明 瞭化のために大部分の線には符号を付けてない。上述のとおり、タイル101の 辺縁に延びる線は隣接タイル内の線に接続してある。例えば、プログラム可能な 経路指示マトリックス201bから西向きに延びるタイル101b内の1倍長西 線W1bは隣接タイル101a内の1倍長東線E1aに接続してある。タイル1 01aの2倍長水平線DH6aはタイル101bの2倍長西線DW6bに接続さ れ、さらに図2Bに図示してないがタイル101aのすぐ西側に配置してあるタ イルの2倍長東線DE6に接続されている(したがって、用語「2倍長」を用い る)。タイル101c内のCLBマトリックスから東向きに延びる線Q0cはタ イル101d内のCLBマトリックス202dから西に延びる線QW0dに接続 されている。また、図2には、タイル101から隣接タイルに連続して延びる水 平大域線GH0およびGH1ならびに垂直大域線GV0およびGV1も示してあ る。これら大域線はタイル辺縁の共通線に接続し、GH0などの大域線上の信号 が全タイルに供給されるようにすることもできる。図2Bに示すとおり、垂直大 域線GV0およびGV1、ならびに水平大域線GH0およびGH1はプログラム 可能な経路指示マトリックス201および回路配置融通性ある論理ブロックマト リックス202の両方に接続してある。 図2Aに戻ると、回路配置融通性ある論理ブロック(CLB)マトリックス2 02は出力線Q0−Q3および入力線QW0−QW3により西側タイル(図示し てない)内のCLBマトリックスに接続され、出力線Q0−Q3および入力線Q N0−QN3により北側タイル(図示してない)内のCLBマトリックスに接続 され、出力線Q0−Q3および入力線QE0−QE3により東側タイル内のCL Bマトリックスに接続され、出力線Q0−Q3および入力線QS0−QS3によ り南側タイル(図示してない)のCLBマトリックスに接続されている。出力線 Q0−Q3は同一の信号をCLBマトリックス202から四方向の隣接タイルに 伝達するものであり、したがって同じ名称を与えてある。桁上げ入力線CINお よび桁上け出力線COUT、すなわちタイル101内で垂直に延びる線は隣接タ イル内の桁上げ出力線および桁上げ入力線にそれぞれ接続され、米国特許第5, 349,250号「高速桁上げのためのロジック構造および回路」に詳述したと おり、算術機能部の高速桁上げ経路を形成する。なお、この米国特許はここに参 照してこの明細書に組み入れる。 回路配置融通性ある論理ブロックマトリックス202 図3Aは図2Aの回路配置融通性ある論理ブロック(CLB)マトリックス2 02を示す。CLBマトリックス202はCLB301、三状態バッファブロッ ク302、入力相互接続配線構造303、CLB出力相互接続配線構造304、 帰還相互接続配線構造305、普通の入力相互接続配線構造306、レジスタ制 御用相互接続配線構造307、出力相互接続配線構造308、および出力イネー ブルブロック309を含む。 まばらなPIP分布 プログラム可能な接続は各々が少なくとも一つのトランジスタを有するプログ ラム可能な相互接続点(PIP)を用いて設ける。この分野で周知のとおり、各 トランジスタはチップ基板上の貴重な面積を占める。この発明に従い図3Aを参 照すると、入力相互接続配線構造303、帰還相互接続配線構造305、普通の 入力の相互接続配線構造306およびレジスタ制御用相互接続配線構造307の 内部の水平および垂直の線の大部分はプログラム可能な形の接続はできない。す なわち、これらの構造におけるPIPはまばらであり、まばらな「PIP付き」 である。まばらなPIP分布はPIPの費やすチップ表面積を最小にし、チップ 全体の密度を最大にする。さらにこの発明によると、PIPの適切な配置のしか たによって経路付与の融通性が著しく高まり、相互接続配線構造におけるPIP の数の減少を実効的に償う。 例えば、入力相互接続配線構造303について述べると、PIPの位置はCL B出力相互接続配線構造304からの各出力線から四つの方位の各方向の隣接タ イルの関数発生器F,G,HまたはJの一つへの接続を可能にするように定めて ある。この実施例において、普通の入力相互接続配線構造306はCLB301 への各CLB入力線(J0−J3、JB、H0−H3、HB、G0−G3、CB ,F0−F3およびFB)について四つ乃至六つのPIPを提供する。帰還相互 接続配線構造305は出力線Q0−Q3の一つからCLB301内の関数発生器 入力端子の一つへの直接接続を提供する。図3Aに示したとおり、出力相互接続 配線構造308内の24個のPIPが出力線Q0−Q7をタイル相互接続配線用 線M0−M23に接続している。このようにして、相互接続配線用線M0−M2 3に印加された信号はCLB301とプログラム可能な経路指示マトリックス2 01との間で選択的に転送される(CLB出力相互接続配線構造304、普通の 入力相互接続配線構造306、および出力相互接続配線構造308経由で)。こ の実施例では八つの相互接続配線につき一つ以下の相互接続配線にPIPを設け 、それによってシリコン表面積を最小にしている。にも拘らず、任意の出力線か ら任意の入力線への接続形成可能性はここに設けられたPIPによって確保でき る。 回路配置融通性ある論理ブロック301 回路配置融通性ある論理ブロック(CLB)301を図4Aに示す。この実施 例において、CLB301は四つの関数発生器F,G,HおよびJを含み、これ ら関数発生器の各々はその関数発生器への四つの入力信号と格納値とで決まる出 力信号を生ずる16ビット参照用テーブルを含む。このようにして、関数発生器 Fは線F0−F3に供給される入力信号で決まる出力信号を生じ、関数発生器G はCLB入力線G0−G3に供給される信号で決まる出力信号を生じ、関数発生 器HはCLB入力線H0−H3に供給される信号で決まる出力信号を生じ、関数 発生器JはCLB入力線J0−J3に供給される信号で決まる出力信号を生ずる 。 参照用テーブル 図4D−4Gを参照して参照用テーブル関数発生器の動作を説明する。これら の図は米国再発行特許第Re.34,363号として再発行された米国特許第4 ,870,302号において発明者フリーマンが論じたものであり、この特許を ここに参照してこの明細書に組み入れる。 図4Dは参照用テーブル、すなわちこの実施例では16ビットRAMで構成す る参照用テーブルを示し、このテーブルは四つの入力信号の16種の可能性ある 組合せの任意の一つに応答して出力信号を生じる。より詳細に述べると、入力信 号AおよびBは16ビットRAMの四つの列の任意の一つを選択するようにXデ コーダを制御する。同様に、入力信号CおよびDは16ビットRAMの四つの行 の任意の一つを選択する。この16ビットRAMは選択された行および選択され た列の交点のビットを代表する出力信号を生ずる。そのような交点が16個あり 、したがって、そのようなビットが16ビットある。したがって、16ビットが 216個の可能性ある組合せを生じることになる。すなわち、四入力NORゲート を16ビットRAMでシミュレートする場合は、この参照用テーブルについての カルノーマップは図4Fに示すようになる。図4Fにおいて、第1行(A=0、 B=0を表わす)と第1列(C=0、D=0を表わす)との交点におけるビット 以外のビットはすべて「0〕である。A=1、B=0、C=0、D=0について 論理「1」出力信号を必要とする場合は、論理「1」を第2行と第1列との間の 交点に格納する。A=0、B=0、C=0およびD=0、ならびにA=1、B= 0、C=0およびD=0について論理「1」を要する場合は、第1列と第1行お よび第2行との交点の各々に論理「1」を格納する。参照用テーブルをこのよう にロードすることによって表わされる論理回路を図4Gに示す。すなわち、図4 Dの参照用テーブルは216個の論理機能の任意の一つの精密で単純な実動化を表 わす。 図4Eは16個の選択ビットの任意の一つを生ずるレジスタの構成を示す。左 側縦方向の列の「16個の選択ビット」と表示したレジスタ0−15の各々は論 理「1」または「0」の被選択信号を含んでいる。信号A,B,CおよびDなら びにこれらの補数の適当な組合せを選択することによって、16選択ビットレジ スタ内の16の位置の特定の一つに格納された特定のビットが出力導線OUTに 送出される。すなわち、例えば「1」レジスタ中のビットを出力導線に送出する には信号A,B,C,Dをその表示のある導線に加える。また、16選択ビット レジスタ内の16番目の位置「15」の信号を出力導線に送出するには信号A, 能の任意の一つを提供する。 図4Aに戻ると、参照用テーブルF,G,HおよびJの中のメモリビットは通 常はチップの回路配置の期間中に例えばシフトレジスタ経由で、代替的にはアド レス手段でロードされる。いくつかの実施例では、メモリビットはチップの動作 中にロードし、それによって、動作中のチップを回路再配置する。回路再配置融 通性あるメモリ構成はこの発明と同一譲受人に譲渡されたフリーマンほか(Fr eeman et al)発明の米国特許第5,343,406号「回路配置融 通性ある論理アレー用の分散メモリ構造および分散メモリを使用する方法」に記 載されており、同特許をここに参照してこの明細書に組み入れる。 関数発生器F,G,HおよびJはCLB出力線X,Y,ZおよびVにそれぞれ 出力を生ずる。関数発生器F,G,HおよびJからのこれら出力信号はマルチプ レクサC1,C2,C3およびC4をそれぞれ制御し、累積桁上げ出力COUT を生ずる。マルチプレクサC1は桁上げ入力信号を線C1Nに、入力信号を線F Bにそれぞれ受け、出力信号を線CFに生ずる。マルチプレクサC2はその信号 を線CFに、入力信号を線GBにそれぞれ受け、出力信号を線CGに生ずる。マ ルチプレクサC3およびC4はマルチプレクサC1およびC2と同様に接続する 。マルチプレクサC4はCLB301からの線COUTに出力信号を生ずる。算 術機能の詳細な説明については、この出願と同一の譲受人に譲渡されたバーナー ド イー.ニュウ発明の米国特許第5,349,250号「高速桁上げのための ロジック構造および回路」参照。なお、この特許をここに参照してこの明細書に 組み入れる。 各CLB301は関数発生器F,G,HおよびJのほかに四つの蓄積装置RX ,RY,RZおよびRVを含む。これら蓄積装置RX,RY,RZおよびRVの 各々は主段および従段つきのフリップフロップと、これら主段および従段からの 出力を入力として受ける出力マルチプレクサとを含む。すなわち、デバイスRX ,RY,RZおよびRVはフリップフロップまたはラッチを構成するようにマル チプレクサで回路配置できる。 通常は桁上げ信号への周期的な電圧再供給が必要である。この実施例では、こ の電圧再供給のために、インバータ1121および1122を含む電圧再供給用 バッファを桁上げ経路のマルチプレクサ四つごとまたはCLB301一つごとに 配置する。もう一つの実施例では、電圧再供給用バッファを桁上げ経路のマルチ プレクサ二つごとに設け、CLB一つごとに二つの電圧再供給バッファを設ける ようにする。 この実施例においては、CLB301は関数発生器あたり五つの入力線を含む 。例えば、関数発生器Fを参照すると、CLB入力線F0−F3は関数発生器F に入力信号を供給し、第5のCLB入力線FBはマルチプレクサ制御入力信号を 供給する。関数発生器G,HおよびJも同様に回路配置する。三つの入力線CL K,CEおよびRSTは、クロック信号、クロックイネーブル信号およびリセッ ト信号をレジスタRX,RY,RZおよびRVにそれぞれ供給する。 図4Aに示すとおり、一つの出力信号の四つのグループ、すなわち各々が各関 数発生器に関連づけられている四つのグループがCLB301から生ずる。これ ら三つの出力信号には次のものが含まれる。すなわち; ・関数発生器(CLB出力線X,Y,ZまたはVに設けた)からの直接のレジ スタ格納されてない出力信号。 ・CLB入力信号の、すなわち桁上げ連鎖からの信号、または二つの場合は五 入力関数(CLB出力線XB,YB,ZBまたはVBに生ずる)を供給するマル チプレクサからの信号をもとにした代替のレジスタ格納されてない出力信号。 ・関数発生器または代替的出力信号の信号源の一つ(CLB出力線XQ,YQ ,ZQまたはVQに設けた)によりロードできるレジスタ格納ずみの出力信号。 例えばCLB出力線Xは関数発生器Fからの直接のレジスタ格納なしの出力信号 を受ける。CLB出力線XBはCLB入力線FBの信号またはマルチプレクサS 1の出力信号(マルチプレクサB1の決めるところにより)、すなわち桁上げ出 力信号CFまたはマルチプレクサFGからの五入力関数発生器出力信号(図5C について後述の説明参照)から得られる出力信号を受ける。CLB出力線XQは レジスタRXからのレジスタ格納ずみの出力信号、すなわちD入力信号をマルチ プレクサD1の決めるところにより関数発生器Fから直接に(出力線Xの信号) または線XBの代替的出力信号から得るレジスタRXからの出力信号を受ける。 最後に、出力線KはマルチプレクサPGの選択によりハイまたはロウとなる一定 値信号を供給する。 図4Aの実施例において、マルチプレクサD1−D4は、関数発生器F,G, HおよびJ(CLB出力線X−V)からの出力信号またはマルチプレクサB1− B4からの出力信号をレジスタRX−RVにそれぞれ供給する。マルチプレクサ S1およびS3をマルチプレクサC1およびC3からの桁上げ信号をそれぞれ転 送するようにセットすると、マルチプレクサB1−B4はCLB入力線FB−F Jの入力信号またはマルチプレクサC1−C4の出力信号のどちらかを選択する 。 マルチプレクサC1−C4は算術演算における桁上げ機能に用いられるほかに 広範囲のANDおよびOR機能を発揮する。AND機能を発揮するには、線FB に論理「0」を加えて、CLB出力線X上のF関数発生器出力信号と線C1N上 の桁上げ入力信号とのAND出力を生ずるようにマルチプレクサC1をプログラ ムする。一方、OR機能を発揮するには、CLB入力線FBに論理「1」を加え て、CLB出力線XLの出力信号の補数と線C1N上の桁上げ入力信号とのOR 出力を生ずるようにマルチプレクサC1をプログラムする。真数表構造によると 、OR出力は反転値を真数表にロードすることによって得られる。マルチプレク サC1−C4の機能および論理ブロックとの相互作用については、ここに参照し てこの明細書に組み入れる米国出願第08/116,659号〔M−2565〕 により詳細に述べてある。 CLB301の応用例 図5A−5Cは、CLB301(図4Aを参照して上に詳述)を用いて、桁上 げ連鎖、縦続接続可能なデコーダ回路2、および二つの五入力関数発生器をそれ ぞれ形成する応用例を示す。これらの図において、太線はCLB301の線のう ち特定の選ばれた機能のために用いられたものを表わし、細い点線はその特定機 能のために用いられていないものを表わす。 図5Aにおいて、CLB301は一つの数A3A2A1A0およびB3B2B 1B0の半値和H3H2H1H0(ここでH3,H2,H1およびH0は4ビッ ト半値和の4つのビットである)および桁上げビットC3C2C1C0である。 もう一つのCLB(図示してない)、すなわち図に示したタイルの右または左に 配置するのが好ましいCLBは加算の完結のために用いる。オペランドA3およ びB3をCLB入力線J0−J3の任意の二つに加える。オペランドA2および B2はCLB入力線H0−H3の任意の二つに加える。A1およびA2はCLB 入力線G0−G3の任意の二つに加える。A0およびB0はCLB入力線F0− F3の任意の二つに加える。使われていない線はハイまたはロウに維持する。関 数発生器F,G,HおよびJの各々をXOR機能(入力信号の半値和)の真値テ ーブルでロードする。真数表に使ってない入力線に加えられた値を計算に入れる 。関数発生器Fに加えられたものよりも低次のビットがある場合は、それらビッ トの桁上げ出力は桁上け入力線C1Nを生ずる。マルチプレクサC1,C2,C 3およびC4は関数発生器F,G,HおよびJの出力信号でそれぞれ制御される 。より詳細に述べると、関数発生器出力信号が論理1である(信号AおよびBは 等しくない)場合は、桁上げ入力値はそのビットの桁上げ出力に送られ、関数発 生器出力が論理0である(信号AおよびBが互いに等しい)場合は、信号Aまた は信号Bの値はそのビットの桁上げ出力に送られる。マルチプレクサB1−B4 、S1およびS3は各ビットの桁上げ出力をそのビットの「B」CLB出力線( すなわち、C1B出力線XB,YB,ZBおよびVB)に送出する。各ビットに ついての関数発生器出力信号(CLB出力線X,Y,ZおよびVに生じている) はそのビットについての半値和として供給される。 図5Bに示したもう一つの用途においては、CLB301は縦続接続可能なデ コーダとして動作するように回路配置してある。信号A0−A15の表わす16 ビットアドレスをCLB入力線F0−F3、G0−G3、およびJ0−J3に加 える。CLB入力線FB,GB,HBおよびJBは接地してある。各関数発生器 F,G,HおよびJの各々の16ビットは所定アドレスの一部を反映するのに一 つの論理「1」を含む。論理1信号を桁上げ入力線CINに加える。四つの関数 発生器F,G,HおよびJ全部が論理1をそれぞれ出力する(すなわちアドレス 「一致」を表わす)場合は、マルチプレクサC1−C4全部が論理1を送出して 桁上げ出力線COUTに論理1信号を生ずる。 図5Cに示したもう一つの用途では、CLB301は五つの入力信号の各々の 二つの関数を生ずる。関数発生器FおよびGは五つの入力信号の第1の関数をC LB出力線XBに生じ、関数発生器HおよびJは五つの入力信号の第2の関数を CLB出力線2Bに生ずる。この第1の関数については、四つの入力信号A0− A3が両方の関数発生器FおよびGへのCLB入力線に供給され、第5の入力信 号A4がFBに供給される。入力信号A4によってマルチプレクサFGは関数 発生器Fまたは関数発生器Gの出力信号を選択する。この実施例において、マル チプレクサS1はマルチプレクサFGの出力信号を選択するようにメモリセルで プログラムされ、マルチプレクサB1はマルチプレクサS1の出力信号を選択す るようにメモリセルでプログラムされる。このようにして、関数発生器Fおよび Gからの五入力関数発生器出力信号がCLB出力線XBに生ずる。同様にして、 関数発生器HおよびJへの五つの入力信号B0−B5の関数がCLB出力線に生 ずる。 二つの関連関数発生器FおよびGへの適切な真数表のローディングが五つの入 力信号の所望の関数を生ずる。より詳細に述べると、一つの実施例においては、 関数発生器FおよびGに32ビット参照用テーブル(すなわち二つの16ビット 参照用テーブル)を格納する。このようにして、多数の関数が互いに異なる値を 関数発生器真数表形成用のメモリセルと制御マルチプレクサFGおよびHJとに ロードすることによって代替的に生ずる。 三状態バッファ302 図4Bは三状態バッファB4−B7を含む三状態バッファブロック302(図 3A)の概略図を示す。線の名称は図3Aに用いたものと同一である。ANDゲ ートA4−A7からの出力信号が三状態バッファB4−B7をそれぞれ制御する 。例えばANDゲートA5が論理0出力信号を生ずると、バッファB5がイネー ブルされ、線TQ5にバッファ経由の出力信号、すなわち線Q5への対応入力信 号と合致する信号を生ずる。一方、ANDゲートA5に論理1出力信号を生ずる と、バッファ5がディスエーブルされ、出力端子に高インピーダンスを生ずる。 ANDゲートA4−A7からの出力信号はORゲートOR1からの出力信号で大 域的に決まるか、メモリセルMM4−MM7によって個別的にそれぞれ決まる。 メモリセルMM4,MM7が論理0を蓄積している場合は、ANDゲートA4− A7の出力信号もORゲートOR1からの信号と関係なく論理0になる。ORゲ ートOR1は、ENLL信号がロウの場合、または線TSの信号がハイの場合は 、ハイの出力を生ずる。図3Aに戻ると、三状態線TSの信号はタイル相互接続 配線用線M16−M23の任意のものからプログラム可能な形で選ばれる。 ENLL信号はすべてのタイル101のすべてのバッファ302に供給される 大域信号である。このENLL信号は、コンテンション、すなわち入力信号を同 一の長尺線に接続するための種々のTS線が回路配置中に予測不可能な形で切り 換わる際に生ずるコンテンションの防止のために、回路配置中および回路配置の あと他の信号がイネーブルされる際にはロウに保たれる。 バッファB4−B7を動作中に長尺線への信号の供給用に電圧再供給バッファ (常にイネーブルされている)として用いる場合は、メモリセルMM4−MM7 には回路配置の期間中ロウの値をロードしておく。すなわち、回路配置の期間中 はANDゲートA4−A7でバッファB4−B7をイネーブルすることになる。 しかし、信号TQ4−TQ7を長尺線に送り込む入力信号Q4−Q7は回路配置 期間中は図4Cを参照して次に述べるとおり共通の信号を担っているので、コン テンションは生じない。 出力イネーブルブロック309 出力イネーブルブロック309内のバッファは、これらバッファにより駆動さ れる線コンテンションを生じないように、デバイスの回路配置中にディスエーブ ルされる。図4Cはブロック309の構造を示す。出力イネーブルブロック30 9内の各バッファは2入力ANDゲートを含む。各ANDの一つの入力は大域イ ネーブル信号ENOUTで駆動される。もう一つの入力には線Q0′−Q7′が 備えてあり、この線にCLB301(図3A)からの出力信号が供給される。回 路配置中はこれらの線Q0−Q7に予想外の線が接続され得る。したがって、コ ンテンション防止のために、ENOUT信号を回路配置中ロウに保って、線Q0 −Q7への出力信号全部がロウになりそれ以外の線の予想外の接続がコンテンシ ョンを生じないようにする。 隣接入力マトリックス303 図3Aを参照すると、この発明の実施例における隣接CLB301への接続は 直接接続によるものはなくすべてPIP経由である。例えば、入力信号は入力相 互接続配線構造303からCLB301に選択的に供給される。各入力線QS0 −QS3は一つの関数発生器のCLB入力線の一つに接続可能である。この実施 例において、線QS0は関数発生器FのCLB入力線F1に接続可能であり、線 QS1は関数発生器GのCLB入力線G1に接続可能であり、線QS2は関数発 生器HのCLB入力線H1に接続可能であり、線QS3は関数発生器JのCLB 入力線J1に接続可能である。各関数発生器F,G,HおよびJは入力信号に基 づき任意の関数を生ずるように回路配置可能であるので、一つの関数発生器の任 意の入力端子とその関数発生器の適宜ロードした参照用テーブルとに特定の信号 を供給できる。したがって、どの入力信号がどの関数発生器入力端子に供給可能 であるかは重要でない。 入力線QW0への信号はCLB入力線F0およびFBの両方を駆動する。同様 に、入力線QW1への信号はCLB入力線G0およびGBを駆動し、入力線QW 2への信号はCLB入力線H0およびHBを駆動し、入力線QW3への信号はC LB入力線J0およびJBを駆動する。入力線QE0,QE1、QE2およびQ E3への各信号も二つのCLB入力線を駆動する。より詳細に述べると、入力線 QE0への信号はCLB入力線F1およびFBを駆動し、入力線QE1への信号 は線G1およびGBを駆動し、入力線QE1への信号は線H1およびHBを駆動 し、入力線QE3への信号は線J1およびJBを駆動する。 入力線QN0−QN3およびQS0−QS3の各1への信号はCLB入力線一 つだけを駆動する。詳細に述べると、入力線QN0への信号はCLB入力線F0 を駆動し、入力線QN1への信号はCLB入力線G0を駆動し、線QN2への信 号はCLB入力線H0を駆動し、線QN3への信号はCLB入力線J0を駆動す る。入力線QS0への信号はCLB入力線F1を駆動し、入力線QS1への信号 はCLB入力線G1を駆動し、入力線QS3への信号はCLB入力線J1を駆動 する。この実施例は、各入力線QE0−QE3およびQW0−QW3の各々がプ ログラム可能な形で二つのCLB入力線に接続されているので、多数の信号の水 平方向の流れにとくに望ましい。この発明の他の実施例は異なる数および位置の プログラム可能な接続を備え、異なる信号の流れに最適化されている。 出力マトリックス304 CLB301はCLB出力線X,XQ,XB,Y,YQ,YB,Z,ZQ,Z B,V,VQおよびVBに出力信号を生ずる。また、CLB301は、桁上げ出 力線COUTに信号を生ずるか、桁上げ入力線CINへの信号を上側タイル内の 次のCLBに転送するかを決める。CLB出力線X,XQ,XB,Y,YQ, YB,Z,ZQ,ZB,V,VQ,VBおよびK上のPIPはCLB相互接続配 線構造304を通じて出力線Q0−Q7の任意の数を駆動するように選択的にプ ログラムされている。CLB相互接続配線構造304は全面的なPIP分布を備 えている(すなわち、CLB301の13の出力信号のうち桁上げ出力線COU Tへの信号を除く任意のものが出力線Q0−Q7の任意のものを駆動できる)。 相互接続配線構造304が上記以外の線の駆動用の出力信号にもバッファをかけ ていることに注目されたい。相互接続配線構造304の全体のPIP形成には1 08個(13×8)のPIPを要する。これと対照的に、構造303,305, 306および307は、まばらにPIPを設けても全部で200個のPIPを用 いる。タイル相互接続配線用線M0−M23からの特定の入力信号へのアクセス へのCLB301の融通性は次の点によって確保される。すなわち: ・任意のCLB出力信号がタイル相互接続配線用線M0−M23の任意のもの に供給されるようにCLB出力相互接続配線構造304に全面的にPIPを分布 させる。 ・各線M0−M23が各近接経路指示マトリックス201内の少なくとも一つ の線M0−M23に接続されるように、プログラム可能な経路指示マトリックス 201にPIPを分布させてある。 ・一つのCLBの各出力線を各近接CLBの少なくとも一つの入力線に接続で きるようにCLBマトリックス202にPIPを分布させてある。 ・関数発生器F,G,HおよびJを参照用テーブルとして形成し、各参照用テ ーブルへの全入力信号を相互交換可能にしている。 ・さらに、五入力関数を除き、関数発生器F,G,HおよびJを相互交換可能 にしている。 このように、この発明によると、上述のPIPまばら分布構造303,305, 306および307がチップ表面積を著しく削減し融通性を最大にする。 出力線Q0−Q3への信号は隣接タイル内のCLBの入力線を駆動する。例え ば、図2Aの二つのコアタイル101を図2Bに示すように横に並べて配置する ことにより、コアタイル101bの左側辺縁での出力線Q0はタイル101aの 右側辺縁の入力線QE0に接続される。他の線もこれに対応して接続される。し たがって、図2A,2Bおよび3と組み合わせて参照すると、CLBマトリック ス202c(図2B参照)内のCLB301のCLB出力線X(図3A)は、出 力線、すなわちコアタイル101c内のCLBマトリックスすなわちコアタイル 101d内のCLBマトリックス202dの入力線QW0dに接続されたマトリ ックス202cから東に(他の方向にも)延びる出力線Q0cにプログラム可能 な形で接続されている。PIPが(上述のとおり)入力線QW0をCLB301 のCLB入力線F0およびFBに接続するように備えられている。このようにし て、CLBマトリックス202c内のCLB301の出力線からCLBマトリッ クス202d内のCLB301の入力線に至る経路を、一つの実施例では二つの トランジスタから成る二つのPIPを用いるだけで形成している。 図3Bに示したもう一つの実施例におけるCLB出力相互接続配線構造304 内のPIPでは、CLB出力線への信号は二つのトランジスタを通過する必要が ある(信号K、すなわち一定電圧または接地信号は四つのトランジスタを通過す ることに注目されたい)。図3BはCLB301の12個のCLB出力線(X, XQ,XB,Y,YQ,YB,Z,ZQ,ZB,V,VQ,VB)と一つの電源 /接地出力信号線Kとを出力線Q0に接続するPIPすべてを実動化するマルチ プレクサ構造400を示す。マルチプレクサ構造400はメモリセル、すなわち 12個のトランジスタから成る第1のトランジスタバンク351を制御して、そ のバンクからどのトランジスタも選択されなかった場合に信号Kを選択するメモ リセル31,32および33を含む。メモリセル31,32および33の一つに 格納された論理1はバンク351内の三つの信号のグループの各々から一つの信 号を選択する。メモリセル31,32および33のすべてが論理0を格納してい る場合は、信号Kがノード30に生ずる。第2段では、メモリセル34および3 5がANDゲート、AND1−AND4を制御して、出力線VQ,ZQ,YQお よびXQの一つから出力信号を選択しその選択した信号を出力線Q0に供給する ようにする。メモリセル31,32および33が論理0を格納していて信号Kを 選択する場合は、メモリセル34および35は信号をノード30に供給するよう にプログラムしなければならない。すなわち、より長い経路を辿る一定値K以外 の全信号に対して各経路にトランジスタニつだけが必要となるので、13個の PIPを5個のメモリおよび16個のトランジスタだけで実動化する。線Kへの 信号は切換信号ではないので信号経路を長くしても悪影響を受けない。マルチプ レクサ構造、すなわちCLB301の13個の出力信号の一つを選択して所定の 出力線を駆動するマルチプレクサ構造400が出力線Q0−Q7の各々に設けて ある。これら13個の出力信号のいずれにも出力線Q0−Q7の駆動は不可能で あるが、マルチプレクサ構造400は13個の出力信号のうち二つ以上を選択で きない。このようにして、出力線Q0−Q7でのコンテンションを回避している 。マルチプレクサ構造400のもう一つの実施例では、各々が一つのトランジス タを制御する13個のメモリセルが備えてある。このようにして各経路の所要ト ランジスタは1個だけとし、信号速度を高めている。しかし、この実施例はシリ コン表面積を増加させることに注目されたい。 帰還相互接続配線構造305 図3Aに戻ると、帰還相互接続構造305は出力線Q0−Q3を回路配置融通 性ある論理ブロックマトリックス202内のCLB入力線F2,G2,H2およ びJ2に選択的に接続する。この実施例においてはCLB301からの出力信号 はCLB301内の関数発生器F,G,HおよびJの選択されたCLB入力線に 帰還できる。帰還相互接続配線構造305はカウンタ(それ自身の信号を帰還す る)またはシフトレジスタ(隣接回路の信号を要する)を支援するPIPパター ンを備える。上記PIPパターンは、CLB入力信号線F2,G2,H2および J2への信号と、CLB入力信号線F0,G0,H0,J0,F1,G1,H1 およびJ1への信号、すなわち入力線QW0およびQN3などCLBマトリック ス202への他の入力線にも供給される信号との間のコンテンションを防止する 。この発明の他の実施例は帰還相互接続配線構造305にPIPの異なる組合せ を備える。 通常の入力マトリックス306 通常の入力マトリックス306はタイル相互接続配線用線M0−M23に入力 信号を受け、またこれら入力信号をCLB入力線F0−F3,FB,G0−G3 ,GB、H0−H3,HB,JO−J3およびJBに供給するPIPを備える。 PIPパターンにより、この通常の入力相互接続配線構造306内の任意のタイ ル相互接続配線用線M0−M23への信号が各関数発生器F,G,HおよびJの 一つの入力線を駆動できるようにする。関数発生器入力信号は相互に交換可能で あるので(参照用テーブル入力は相互に交換可能)、タイル相互接続配線用線M 0−M23は関数発生器の二つ以上の入力線に結合する必要はない。この通常の 入力相互接続配線構造306の実施例においては、各CLB入力線FB,GB, HBおよびJBが六つのタイル相互接続配線用線M0−M23の一つにある信号 で駆動されるようにPIPが備えられている。 この実施例におけるもう一つの基準として、CLB入力線のいずれも9個以上 のPIPを備えていない。すなわち、図3Cを参照すると、マルチプレクサ構造 401は3個のメモリセル36,37および38のみを用いていて、第1のトラ ンジスタバンク361制御用に可能性ある八つの信号の一つを選択する。より詳 細に述べると、メモリセル38は入力線QW0とQN0,M15とM14,M9 とM8,M7とM6への対信号の各々の一つを選択する。メモリセル36および 37はANDゲートAND5−AND8の入力端子への信号を生じ、これら信号 によりCLB入力線F0への単一の信号の選択のための第二のトランジスタバン ク362を制御する。 この発明のこの実施例において、PIPのパターンは五つの入力の関数をもた らす(図5Cに関連して上述)。例えば、タイル相互接続配線用線M18または M19への信号は入力線FBを駆動し、タイル相互接続配線用線M14またはM 15への信号は線F0およびG0を駆動し、タイル相互接続配線用線M12また はM13への信号は線F1およびG1を駆動し、タイル相互接続配線用線M16 またはM17への信号は入力線F2およびG2を駆動し、タイル相互接続配線用 線M20またはM21は入力線F3およびG3を駆動する。この回路配置におい て、五入力関数は備えずみのPIPパターンにより容易に実動化できる。 図3Aおよび図6を参照してこの発明をさらに述べると、PIPにより、長尺 水平線LH0−LH7および長尺垂直線LV0−LV7、ならびに大域(水平お よび垂直)線GH0,GH1,GV0,GV1からレジスタRV,RZ,RYお よびRXへの接続が関数発生器J,H,GおよびFを経由することなく可能にな る。より詳細に述べると、長尺水平線LH0−LH7および長尺垂直線LV0− LV7ならびに大域水平線GH0,GH1および大域垂直線GV0,GV1をタ イル相互接続配線用線M0−M23(図6)に選択的に結合する。これらタイル 相互接続配線用線は、CLB入力線FB,GB,HBおよびJBに結合した場合 は、関数発生器F,G,HおよびJをそれぞれバイパスし、信号を(中間マルチ プレクサ経由で)レジスタRX,RY,RZ,RVにそれぞれ供給する。大域線 GH0,GH1,GV0およびGV1もレジスタ制御用相互接続配線構造307 経由でレジスタRX,RY,RZおよびRVに選択的に結合されている。タイル 相互接続配線用線M0−M23すべてを一つのCLB入力線FB,GB,HBま たはJBに接続するとともに各長尺線から一つのタイル相互接続配線用線M0− M23(図6に関連して後述)への接続を設けることによって、これら長尺線お よび大域線への信号が所要のレジスタを駆動することを確実にする。この発明に おいては、このPIPパターンにより、長尺線および大域線すべてへの信号が通 常の入力相互接続配線構造306経由で関数発生器F,G,HおよびJへの入力 線を駆動することが可能になる。 出力相互接続配線マトリックス308 この実施例において、出力線Q4−Q7はプログラム可能な相互接続配線マト リックス201(図2A)への出力信号をタイル相互接続配線用線M0−M11 または線TQ4−TQ7経由で供給する。出力線Q0−Q3はタイル相互接続配 線用線M12−M13の選ばれた一つに出力信号を供給する。図3Aに示した実 施例においては、出力相互接続配線構造308は各出力線Q0−Q7への信号が タイル相互接続配線用線M0−M23三つ以下を駆動することを可能にする。C LB出力相互接続配線構造304の全面的PHP分布がCLB301の任意の出 力線をタイル相互接続配線用線M0−M23の任意のものに接続することを可能 にする。通常の入力相互接続配線構造306は出力線Q0−Q3への選ばれた帰 還信号をCLB301に供給する。 レジスタ制御用相互接続配線構造307 クロック線CLK、クロックイネーブル線、リセット線および三状態線TSを 、選ばれたタイル相互接続配線用線M0−M23への供給信号(プログラム可能 な経路指示マトリックス201からの)により駆動できる。また、低スキュー制 御 のためにクロック線CLKを大域水平線GH0およびGH1への信号または大域 垂直線GV0およびGV1からの信号により直接に制御する。 コンテンションなし この発明によると、所定のCLB入力線上の一つのPIPがオンにプログラム された場合、そのCLB入力線上の他のPIPはオンになってはならない。例え ば、入力線QW0とCLB入力線F0との交点のPIPをオンにプログラムする と(すなわち、入力線QW0への信号がCLB入力線F0を駆動する)、タイル 相互接続配線用線M6,M7,M8,M9,M14,M15および入力線QN0 上のPIPはオフの状態に留まり、CLB入力線F0上のコンテンションなしを 確実にする。通常は、コンテンションの防止は、一つの入力線上のどのPIPを オンにするかを選ぶ簡便なデコード方法の利用、または一つの入力線上で二つ以 上のPIPがオンになるのを避けるためのメモリセルプログラム用ソフトウエア 内のルールの利用によって達成される。他の実施例では、代替的な入力選択手段 が可能である。例えば、一つの実施例では、各PIPをオンにするか否かを特定 するように一つのメモリセルをロードする。 プログラム可能な経路指示マトリックス 図6は図2Aのプログラム可能な経路指示マトリックス201を示す。図6で はCLBマトリックス202内のすべてのPIPを一つの線への信号の流れを表 わす三角形で示してあるが、プログラム可能な経路指示マトリックス201内の 大部分のPIPは両方の線への信号の流れを表わす白ヌキの円で示してある。例 外は、線TQ4乃至TQ7(図3Aの三状態バッファブロック302からの出力 線)を長尺水平線LH0−LH7および長尺垂直線LV0−LV7に接続するP IP、および大域信号線GH0,CH1,GV0,GV1からの信号をタイル相 互接続配線用線M0乃至M3に送るPIPである。 プログラム可能な経路指示マトリックス201には、大域線、長尺線、2倍長 線および1倍長線が延びている。これら線の各々が、選ばれたタイル相互接続配 線用線M0−M23に接続される。プログラム可能な経路指示マトリックス20 1は、近接タイル内のプログラム可能な経路指示マトリックスへの接続を、四つ の方位方向に延びる1倍長線、すなわち1倍長北線N1−N11、1倍長東線E 1−E11、1倍長南線S1−S11および1倍長西線W1−W11経由で形成 する。タイル1枚隔たったプログラム可能な経路指示マトリックスへの接続は、 2倍長北線DN0およびDN6、2倍長東線DE0およびDE6、2倍長南線お よび2倍長西線DW0およびDW6(図2A参照)で形成する。タイルを横切っ て延びる長尺垂直線LV0−LV7および長尺水平線LH0−LH7の各々はタ イル相互接続配線用線M0−M23の一つに接続可能である。 図6に示したPIPの特定のパターンはまばらであるが信号転送性には優れて いる。より詳細に述べると、プログラム可能な経路指示マトリックス201はこ の実施例では124個のPIPを含むに留まり、図6中の線全部の各々をもう一 つの線に接続した場合に生ずる約4200個のPIPに比べてまばらである。し かし、このPIPパターンは、十分な中間PIPを用いれば任意の線を他の任意 の線に接続できることを確実にする。例えば、図6に示すとおり、西線W1は東 線E1に二つのPIP、すなわちタイル相互接続配線用線M1をこれら二つの線 に接続する二つのPIPをオンにすることによって接続可能である。これと対照 的に、西線W1と東線E2との間の接続には8個のPIPと9個の線とを要する 。すなわち、西線W1をタイル相互接続配線用線M1、東線E1、タイル相互接 続配線用線M20、西線W9、タイル相互接続配線用線M9、北線N9、タイル 相互接続配線用線M21、および東線E2を通じて接続することを要する。この 長さの経路は通常は望ましくないが、遅延が問題でない用途もある。それらの用 途では、そのような経路を利用できることが設計の完成を可能にする。PIP二 つだけの単純な経路が、線N1,S1,E1およびW1をタイル相互接続配線用 線M1へ、線N2,S2,E2およびW2をタイル相互接続配線用線M2ほかへ 相互接続配線用線M5経由でそれぞれ接続するのに利用できる。タイル相互接続 配線用線M6は2倍長線DN6,DS6,DE6およびDW6に接続される。タ イル相互接続配線用線M7乃至M11は北、南、東および西に延びる対応番号の 1倍長線に接続される。 タイル相互接続配線用線M12−M13は動作速度の低下を最小に留めて信号 転送融通性を高める交叉接続パターンを実動化し、まばらなPIP分布が貴重な チップ表面積節約を達成する。例えば、タイル相互接続配線用線M12は2倍長 北線DN0、南線S3、東線E5、西線W1に接続され、タイル相互接続配線用 線M15は北線N3、東線E8、2倍長南線DS6、および西線W4に接続され る。このようにして、この発明はPIPの数を最小にする所定パターンを提供し 、任意の線を他の任意の線に接続することを可能にする。すなわち、この発明は シリコン表面積を最小化したまま経路を常に提供することを確実にする。 経路指示マトリックスモデル タイル相互接続配線用線M0−M23の各々は五つまたは六つの他の線に接続 可能である。すなわち、図7Aに示すとおり、タイル相互接続配線用線M0−M 23の各々は五つまたは六つの尖端のある星印で表わしてある。このモデルにお いて、8個のタイル相互接続配線用線M0乃至M7は、北線N0−N3、東線E 0−E3、南線S0−S3および西線W0−W3の選ばれた一つにプログラム可 能な形で接続される。タイル相互接続配線用線M0乃至M3は同じ数字サフィッ クスの北、南、東および西線に接続可能である。タイル相互接続配線用線M4乃 至M7は北、南、東、西線のスタガーした一つに接続可能である。このようにし て、タイル相互接続配線用線M0−M3は同サフィックスの北、東、南および西 線の相互接続手段を提供し、相互接続配線用線M4−M7は四方位方向からの線 の交叉接続の機会を提供する。また、タイル相互接続配線用線M0−M7は、プ ログラム可能な経路指示マトリックス201を回路配置融通性ある論理ブロック マトリックス202(図3A)に接続する手段を提供する。 経路指示マトリックスおよび論理ブロックの接続可能性モデル 図7Bはこの発明の「星状構成」を示す。星状構成では、各CLBは特定の星 状部(すなわち、プログラム可能な経路指示マトリックス)、すなわち他の星状 部201およびそれを経由してさらに他のCLB301に延びる線が放射状に出 ている星状部201と関連づけてある。図7Bでは2倍長線および1倍長線が示 してある。他の実施例では、これ以外の長さの線が星状構成に用いてある。この ように、この発明の星状構成は関連のCLBと本装置の他の部分との良好な接続 可能性を確実にする。 大域相互接続配線構造 図8はチップ100(図1)の角部近傍に配置された大域信号パッドP113 ,P114,P115およびP116からチップ100の四つの辺の近傍に通常 配置される大域信号線GTL,GTR,GBRおよびCBLにそれぞれ至る固定 接続を示す。各大域信号線はコアタイル101の各行または列経由で垂直または 水平に延びる複数の線にプログラム可能な形で接続できる。例えば、左上の大域 信号線GTLは大域垂直線GV1−a乃至GV1−nにPIP PV1−a乃至 PV1−nをそれぞれ経由して、すなわちコアタイル101の各列あたり一つの PIPを割り当てて接続できる。右上の大域信号線GTRはPIP PH0−a 乃至PH0−nをそれぞれ経由して、すなわちコアタイル101の各列あたり一 つのPIPを割り当てて、大域水平線GH0−aに接続できる。右下の大域信号 線GBRはGV0−n経由で大域垂直線GV0−a乃至GV0−nに接続できる 。最後に、左下の大域信号線GBLは大域水平線GH1−a乃至GH1−nに接 続可能である。GVまたはGHで始まる参照符号を付けた大域垂直線および大域 水平線は、図2A,3および7に関連して述べたとおり、大域接続線の通り抜け るコアタイル101内のプログラム可能な経路指示マトリックス201およびC LBマトリックス202に接続可能である。 図8にも示すとおり、チップ100(図1)の辺縁タイル経由で延びる長尺線 LV0L,LV7L,LH0T,LH7T,LV0R,LV7R,LH0Bおよ びLH7B(図8には簡略化のために示してないが図10A乃至10Dには示し てある)も上記大域線に接続可能である。より詳しく述べると、右下の大域信号 線GBRはPIP PGBR0およびPGBR7経由で下側水平長尺線LH0B およびLHTBへの信号で駆動できる。左下の大域信号線GBLはPIP PG BL0およびPGBL7経由で左下バッファBBL経由の左垂直長尺線LV0L およびLV7Lへの信号で駆動できる。チップの上辺および右辺には等価の接続 が設けてある。左、上、右および下側長尺線はPIP PBR7などのPIP経 由で互いに接続可能である。長尺線LV0L,LV7Lなどはチップ周辺の任意 のパッドからの信号で駆動されるので(図10A−10Dに関連して後に述べる 辺縁タイル103−106経由で)、どのパッドも大域信号を供給できる。さら にコアタイルのいずれも、辺縁タイル103−106経由で大域信号を供給でき る。 選択自由の長尺線分割器 図1乃至9は部分的に線経由で配置可能な長尺線分割器を含むこの発明の一実 施例を示す。各々が上側辺縁タイル104、六つのコアタイル101、および下 側辺縁タイル106から成るタイル列二つを図9に示す。長尺垂直線LV0−L V7がコアタイル101全部を横断し、二つの列の各々において辺縁タイル10 4および106で終端する。長尺垂直線LV0−LV7は辺縁タイル104およ び106内のタイル相互接続配線用線M0−M15および線TQ0−TQ3の選 ばれた一つに図10A−10Dに関連して従来のとおり接続可能である。さらに 、図2Aおよび図6について上に述べたとおり、長尺線LV0−LV7はプログ ラム可能な経路指示マトリックス201内の選択された線に接続可能である。簡 略化のために、水平長尺線LH0−LH7は図9には示してないが図2Aおよび 図6には示してある。 図9に示した実施例において、三つの上側コアタイル101内の垂直長尺線L V0−LV7は長尺線分割器LLSにより三つの下側コアタイル101内の部分 から分離されている。部分拡大図は、一つの実施例における長尺線分割器LLS が制御ゲートCGへのロウ電圧によりオフになるn型トランジスタを含み、これ によって垂直長尺線を上側および下側セグメントに分割していることを示してい る。長尺線分割器LLSは大型チップの実施例において、上側および下側長尺線 をチップ上の位置によって互いに別々に駆動できるようにするために通常用いる 。図1に示すとおり、水平長尺線LH0−LH7もチップ100の中心で長尺線 分割器LLSにより分割されている。他の実施例においては、長尺線の分割器L LSおよびLLSAなどのいくつかの長尺線分割器と同じ長尺線沿いに設けるか 、長尺線分割器LLSBを一つの辺縁タイル内の長尺線の一端と隣接辺縁タイル 内の長尺線の一端との間に設け、これら長尺線をプログラム可能な形で互いに接 続する。 図2Aの実施例用の辺縁タイル 図10A−10Dは図2Aに示した辺縁タイルをより詳細に示す。より詳細に述べ ると、図10A−10Dは左側辺縁タイル103、上側辺縁タイル104、右側辺縁タイル 105、および下側辺縁タイル106をそれぞれ示す。これらの実施例における各辺縁 タイルはパッドPV、PZ、PY、およびPXの少なくとも一つに通常接続されるが、必 ず接続される訳ではない。図1を参照して下により詳細に述べる他の実施例では 、どのパッドにも接続されていない辺縁タイルが少なくとも一つある。 図10Aにおいて、四つのパッドPV、PZ、PY、およびPXが入力/出力(I/O)デ バイスIOBV、IOBZ、IOBY、およびIOBXをそれぞれ経て辺縁タイル103に接続され ている。I/OデバイスIOBV、IOBZ、IOBY、およびI0BXの各々は三つの線により辺 縁タイル103に接続される。例えば、I/OデバイスIOBVはI/O入力線IV、I/O出力線 OV、および三状態線TSVにより辺縁タイル106に接続される。出力線OVによりパッ ドP42に供給される出力信号はI/O三状態線TSVにより制御されることに注目され たい。同様の線がI/OデバイスIOBZ、IOBY、およびIOBXにも備えられている。 PIP全分布のI/O入力相互接続配線構造1001によって、I/O入力線IV、IZ、IY、 およびIXへのI/O入力線への信号で辺縁タイル入力線QIN0-QIN3を駆動できる。隣 接の出力相互接続配線構造1004によって、コアタイル101から出力線QE0-QE3への 信号のパッドPV、PZ、PY、およびPXへの供給が可能になる。I/O出力相互接続配 線構造1002によって、隣接コアタイルからの信号(辺縁タイル103では北線N0-N7 、南線S0-S7、ならびに東線E1-E5およびE7-E11から供給)、並びに長尺線LH0-LH 7およびLV0-LV7および2倍長線DH0、DH6への信号のパッドへの供給が可能になる 。I/O出力相互接続配線構造1002はほぼ完全なPIP分布を備えており、チップ内部 の他の点から左側辺縁タイル103に入来する信号を、チップの他の部分から左側 辺縁タイル103に至る線と辺縁タイル相互接続配線用線M0-M15の一組との間のま ばらな通常の相互接続配線構造1006にも拘わらず、パッドPV、PX、PY、およびPZ の任意のものに導く。 中間相互接続配線構造1003はタイル相互接続配線用線M0-M15M0-M15の一つから くる信号を辺縁タイル入力線QIN0-QIN3の一つに導き、対応の出力線Q0乃至Q3に バッファ経由で導き、三状態バッファブロック302経由で対応線TQ0-TQ3に供給す る。次に、信号を水平長尺線LH0-LH7および垂直長尺線LV0-LV7に供給することが でき る。このように辺縁タイル入力線QIN0-QIN3への信号は出力線Q0−Q3を直接に、 線TQ0-TQ3を三状態バッファブロック302経由で駆動する。 帰還相互接続配線構造1005は出力線Q0−Q3への信号がタイル相互接続配線用線 、すなわち北線N0-N7、南線S0-S7、東線E1-E11、2倍長線DE0、DE6、DH0およびD H6に選択的に接続されるとともに長尺線LV0-LV7に接続された相互接続配線用線M 0-M15を駆動するようにする。このようにして、辺縁タイル103は、チップ100お よび隣接コアタイル101チップへの外部接続を有するパッドへの接続、および隣 接辺縁タイル(または下に詳述する隣接角部タイル)への接続を可能にする。パ ッドPV、PZ、PY、およびPXは図1に示すパッドP42、41、40および39をそれぞれ 示す。 図10B、10C、および10Dは辺縁タイル104、105、および106をそれぞれ示す 。これらタイルは向きを除いて同一構造であり図10Aに示したものと同一の参照 数字を付けてあるので、図10B、10C、およびI0Dに示したインタフェース構造 の詳細はここには記載しない。 オプションのパッド用のI/Oインタフェース 図10Cは接続ずみおよび未接続のパッドの組合せを示し、それによってマスク レベルで実現可能な融通性を図解する。 この実施例において、一つの未接続のパッドPZおよび接続ずみのパッドPV、PY 、PXは、図1においてパッドP6、P7およびP8(辺縁タイル105に接続されている )で表した回路配置を実働化する。図1に示すとおり、各辺縁タイルには所定数 のパッドが接続されている。例えば、パッドP17は辺縁タイル106に接続された唯 一のパッドである。したがって、図10Dに示すとおり、パッドPV、PZ、PY、およ びPXのうちの一つだけ(この実施例ではパッドPV)が辺縁タイル106に接続され ている。 図10Cに戻ると、パッドPZおよびそれの入力/出力バッファ構造IOBZは除去さ れ、チップ上のパッドの合計数の削減によってチップ全体を小さくしている。入 力線IZおよび出力線OZは、実施例によっては外部タイル105の外側になる領域で 短絡させてある。このようにして、全タイル105を、パッドPV、PZ、PY、およびP Xの数に関わりなく、同様にレイアウトする。図1に戻ると、パッドP6、P7およ びP8は一つの辺縁タイル105に接続してある。図10Dにおいては、パッドPYおよ び関連の構造IOBYおよびESDYは備えられていない。すなわち、図10Dの実施例は 図1のパッドP26乃至P28を表している。この発明の他の実施例では、他のパッド は四つ のパッド全部に除去がおよぶまで除去される。例えば、図1はパッドの接続を全 く受けないいくつかの辺縁タイルを含んでいる(辺縁タイル103のうちの二つ、 辺縁タイル104のうちの一つ、および辺縁タイル105の一つにはパッドは一つも接 続されていない)。 角部タイル 図11A乃至11Dはチップ100(図1)の四つの角部タイル113、114、115および 116をそれぞれ示す。図11AはIEEE 1149.1に適合した慣用の境界走査ブロックBS CANを含む。同ブロックについては、カリフォルニア州 95124、サンホゼ、ロジ ック ドライブ 2100所在の ジリンクス インコーポレーテッド(Xilinx Inc .)発行 ルイス モラレス(Luis Morales)著のジリンクス社応用ノート「X C4000 デバイスにおける境界走査」に詳細に記載されており、ここにそのノー ト全体を参照してこの明細書に組み入れる。図11Aにおいては、左上角部タイル 113は、1倍長東線E0-E7から1倍長南線S0-S7にそれぞれ至る固定接続、および 長尺水平線LH0-LH7から長尺垂直線LV0-LV7にそれぞれ至るプログラム可能な接続 を含む。さらに、図11Aは境界走査ブロックBSCANのプログラム可能な接続を上 記1倍長線および長尺線に供給する相互接続配線構造1101の一つの実施例を示す 。角部タイル113は大域クロック信号SGCK1を供給する外部ピンP43へのプログラ ム可能な接続を含む。 図11Bに示した角部タイル114はその回路配置が角部タイル113(図11A)と同 一である。より詳細に述べると、タイル114(図11B)は1倍長西線W0-W7を1倍 長南線S0-S7にそれぞれ接続する固定接続と、長尺水平線LH0-LH7を長尺垂直線LV 0-LV7にそれぞれ接続するプログラム可能な接続とを含む。図11Aおよび図11B の両方において長尺垂直線LV0は長尺水平線LH0に接続されるが、タイル113およ び114のレイアウトのためにこれらの線は図の別の位置に描かれており、したが って角部タイル113および114は図11Aおよび図11Bで外観が異なっている。角部 タイル114はクロック信号SGCK4供給用のクロック入力ピンP1を含む。角部タイル 114は、チップ100の回路配置中にビット計数に用いられる慣用の発振/計数回路 DIVと上述の1倍長線および長尺線との間のプログラム可能な接続を提供する相 互接続配線構造1102を含む。一つの実施例においては、回路DIVは、チップ内蔵 発振器またはカウンタ分周器を提供するためにチップ動作中に用いられる。回路 DIVは内部発 振器信号またはユーザの供給する信号を分周するように回路配置される。角部タ イル114は境界走査更新信号、すなわち標準の境界走査回路の一部の出力(この 回路の大部分はタイル113内に位置する)信号BSUPDをさらに含む。この実施例に おいて、信号BSUPDは、西線W2およびW3(したがって西線S2およびS3)および長 尺水平線LH2およびLH3(したがって長尺垂直線LV2およびLV3)にプログラム可能 な形で供給される。 図12は図11Bの発振器/カウンタ回路DIVを実働化する回路の一つの実施例を 示す。二つの出力タップOSCIおよびOSC2が備えてあり、これら発振器は原入力周 波数の分周出力である12の周波数を生ずるように回路配置できる。内部発振器OS CはNANDゲート1231に発振器信号を供給する。NANDゲート1231はメモリセルOSCRU Nによりイネーブルされる。イネーブルされると、発振器OSCからの出力信号はマ ルチプレクサ1201に供給される。 メモリセル1202は、マルチプレクサ1201が内部発振器OSCからの出力信号を供 給するか、1倍長西線W0-W3の一つへの信号(1倍長南線SO-SWへの信号とそれぞ れ等しい。図11B参照)、または長尺水平線LH0−LH3の一つへの信号(長尺垂直 線LV0−LV3への信号と等しい)を供給するかを決める。マルチプレクサ1201はフ リップフロップ1214乃至1220による分周にかけられる出力信号を供給する。 マルチプレクサ1225および1226はフリップフロップ1227および1228のデータ入 力端子への分周比選択入力をそれぞれ供給する。これらフリップフロップの出力 はタップOSC1およびOSC2への信号として供給される。フリップフロップ1227およ び1228は原入力信号からクロックを受け、マルチプレクサ1225および1226からの 出力信号のスキューを低下させる。マルチプレクサ1225はメモリセルOSC1A およびOSC1Bによる制御を受けて、切換信号、すなわち4、16、64または256で分 周したマルチプレクサ1201からの入力信号となり得る信号を供給する。メモリセ ル1203内の設定に応じて、マルチプレクサ1204はマルチプレクサ1201からの原ク ロック信号出力を送出でき、またはフリップフロップ1213からの出力である分周 信号(原周波数を512で分周したもの)を供給できる。マルチプレクサ1204をマ ルチプレクサ1201の出力信号を出力するように設定した場合は、原クロック信号 が2、8、32または128で分周された形でマルチプレクサ1226から供給される。 マルチプレクサ1204がフリップフロップ1213からの分周信号を供給するように設 定されて いる場合は、マルチプレクサ1226はマルチプレクサ1201への原入力信号の周波数 を1024、4,096、16,384または65,536で分周した出力を供給する。このように、 出力タップOSC1およびOSC2への信号は多数の異なる選択周波数で発振するようプ ログラムされる。 図11Cは右下角部タイル115を示す。角部タイル115は長尺水平線LH0-LH7およ び長尺垂直線LV0-LV7をプログラム可能な形でそれぞれ接続し、北線N0-N7を西線 W0-W7に接続する。角部タイル115は、プログラム可能な相互接続配線構造、すな わち立上げブロックSTARTUPを北線N0-N7(したがって西線W0-W7)および長尺垂 直線LV0-LV7(したがって長尺水平線LH0-LH7)にプログラム可能な形で接続する 相互接続配線構造1103をさらに含む。立上げブロックSTARTUPは信号を逐次配列 しチップ100(図1)の作動開始に伴う立上げ機能のタイミングを制御する。 立上げ機能の期間には、回路配置モードから動作モードに動くのに三つに事態 が必要である。すなわち、大域三状態信号端子GSRへの信号の放出、大域リセッ ト信号端子GSRへの信号の放出、および負荷完結端子DONEへの信号(全ての回路 配置ビットがFPGA内の適切な位置にロードされたことを表示する)の放出である 。立上げブロックSTARTUPは、これらの信号の放出の順序およびこれら信号のタ イミング(例えば、各信号間をクロックサイクル一つ、二つまたは三つ分だけ互 いに分離するなど)をユーザがプログラムすることを可能にする。 図11Dは1倍長線および長尺線を他の三つの各部タイルと同様に接続して構成 した左下タイル116を示す。左下角部タイル116は読戻しユニットRDBKも備える。 読戻しブロックRDBKはユーザが回路配置メモリの内容を任意のデータ線に読み出 し、また読戻しユニットRDBKのデータ線端子経由で任意の外部接続ピンに読み出 すことを可能にする。読戻しユニットRDBK内のトリガー端子TRIGは、回路配置デ ータ1行分を回路配置メモリからその回路配置メモリをロードした同じシフトレ ジスタにコピーすることをトリガーする信号のためのものである。クロック端子 CLKへの信号は前記データの線DATAへのシフトアウトを制御する。読み出し中端 子RIPへの信号は、データのシフトアウト中にトリガー端子TRIGからのもう一つ の信号をチップが送出することを防ぐ。この回路においては、各部タイル116へ の当初の回路配置経路に応じて、チップ全体用の回路配置データがチップの動作 中に外部ピンの任意の一つにチップからシフトアウトされる。 これまでの説明から、この発明のこれ以外の多数の実施例が当業者には明らか になろう。例えば、上の説明はコアタイルを方形または正方形にする実施例に関 しているが、もう一つの実施例では六つの辺を有するタイルを含む。 上述のとおり、コアタイルは同一である必要はない。論理内容の互いに異なる 一組のタイル設計も提供できる。タイル設計が共通境界制約に従う場合は、タイ ル設計を種々のパターンで組み合わせることによりチップを形成できる。好結果 を得るには、各タイル設計がタイル内で良い信号分布を備えなければならない。 タイルの経路指示マトリックスは入来信号を論理ブロック入力端子に効率的に分 散させ、論理ブロック出力信号をタイル周縁に導かなければならない。RAMメモ リだけでロジックを含まないタイルもあり、ロジックもメモリもなしで経路指示 手段を含むタイルもある。さらに、入力/出力パッドを物理的に内部に含むタイ ルも設計でき、そのパッド付きタイルの設計はロジックへの分散アクセスを達成 する他のタイル設計と組み合わせることができる。それら他の実施例もこの発明 の範囲内に含めることを意図するものである。この発明を特許請求の範囲に記載 する。Detailed Description of the Invention            Field programmable gate array tiled structure TECHNICAL FIELD OF THE INVENTION   The present invention relates to programmable logic devices formed in integrated circuits, In particular, a programmable logic device with logic blocks in the form of a repeating pattern Regarding the structure of the chair. BACKGROUND OF THE INVENTION   Field programmable gate arrays (FPGAs) are well known in the art. is there. FPGA is programmable to provide the desired logic functionality to the user It includes an array of flexible logic blocks (CLBs) that are interconnected and interconnected. US Reissue Patent No. Re. Reissued US Pat. No. 4,873,32,363 No. 0,302 describes a well-known FPGA structure, which is hereby incorporated by reference. Be incorporated into. U.S. Pat. Nos. 4,758,745, 5,243,238, And published international application WO 93/05577 also describes other FPGA structures. , Which is incorporated herein by reference. Further reference here California 95124 San Jose Logic Drive 210 Zerox, Xilinx Day, 1993, issued by Lee Corporation Tabuk "Programmable Logic Data Book" has many FPGA structures It describes several products that will be used for production.   FPGA is a general-purpose device, that is, a device that can perform any one of multiple functions. It is considered a chair and is programmed by the end user to perform the desired function. This Because of its design flexibility, general-purpose FPGAs often remain unused in many applications. Includes a number of connecting lines and transistors. In addition, FPGA has a specific function Includes an additional device that facilitates the execution of the program to exercise. These additions This is disadvantageous because the device requires a large surface area on the FPGA chip. this It is commercially important to reduce the cost of FPGA to compensate for the addition. Cost reduction One of the ways to reduce the versatility of FPGA is to use it less frequently. This is to exclude some of the circuit layout options. But the circuit layout The reduction in options above may not be predictable as to which option will be needed For some customers, the value of the FPGA will decline. Therefore, the circuit layout There is a need to reduce the surface area while maximizing the option. Summary of the invention   The field programmable gate array (FPGA) structure according to the present invention is repeated. It has tiles that can be placed back. Each tile is a programmable routing matrix And a logic block matrix having flexible circuit arrangement. Circuit layout flexibility The logical block matrix consists of a programmable routing matrix and adjacent Circuit layout in a flexible logic block matrix and programmable form You can connect with. Programmable routing matrix Programmable routing matrix and long lines across tiles Can be connected. This way, each tile has logic, connections to adjacent tiles, and With a combination of connections to the entire routing structure. Joining these tiles together Together to form an array of tiles, which constitutes the functional part of the FPGA chip. It This structure makes them different by simply connecting different numbers of tiles together. Manufacturing devices of different sizes without the expense and time-consuming design efforts. I need it. Also according to the invention, the programmable routing matrix Programmable logic block matrix Minimize the number of connection points (PIPs), reduce the chip surface area and maximize the overall chip density. Make big Further, according to the present invention, the proper positioning of the PIP is required for the routing. To maximize the functionality of the FPGA.   The tile structure comprises a set of signal lines going out of the tile at the boundaries. Shi So, for example, the signal line going out on the right side of one tile is It connects to the signal line going to the outside on the left side of. In one embodiment, they are adjacent to each other. The tiles are the same and form a repeating pattern. In another example In addition, adjacent tiles are not identical to each other, but The portions are provided with signal lines that closely match at the tile boundaries. That is, the boundary The chips can be formed as an array of modular units that match in You can easily increase the flexibility of the tile design that can be used in the design. Brief description of the drawings   FIG. 1 shows an FPGA chip including components according to the present invention.   FIG. 2A shows a single core tile included in most of the FPGA chip of FIG.   FIG. 2B shows four adjacent core tiles of the type shown in FIG. 2A.   FIG. 3A is a circuit arrangement flexible logic block matrix that is part of the tile of FIG. 2A. Show the tusks.   FIG. 3B shows connecting the output lines of a logic block having a flexible circuit arrangement to one output line. 1 shows a multiplexer structure that implements all PIPs.   FIG. 3C shows one implementation of a multiplexer configuration that drives a flexible input line. An example is shown.   FIG. 4A shows the circuit-configurable logic blocks of the matrix 4 of FIG. 3A.   FIG. 4B shows the tri-state buffer block 302 of FIG. 3A.   FIG. 4C shows the output enable block 309 of FIG. 3A.   FIG. 4D is an embodiment of the lookup table for the F, G, H and J function generators of FIG. 4A. Show.   FIG. 4E is another lookup table for the F, G, H and J function generators of FIG. 4A. An example of is shown.   FIG. 4F is a carnoma for the lookup table function generator of FIG. 4D or 4E. Shows the   4G can be implemented with the lookup table function generator of FIG. 4D or 4E.16of Indicates one of the logical functions.   FIGS. 5A-5C show the logical block having the circuit arrangement flexibility of FIG. Example of application to continuous connection decoding circuit and five-input combination function Show.   FIG. 6 shows the programmable routing matrix of FIG. 2A.   FIG. 7A is a programmable routing matrix of the present invention as shown in FIG. An example of the possibility of connection formation obtained by   FIG. 7B illustrates the programmable routing matrix of FIG. 6 and FIG. 2A or 2B. An example of connection formation possibility obtained in combination with a tile structure will be shown.   Figure 8 shows the global signal line near the corner of the chip Connection to the global signal line that extends to the four edges and is connected to the global line for driving the core tile Is shown.   FIG. 9 shows a long line divider provided on a long line in one embodiment of the present invention. Show.   10A-10D show left, upper, right and lower sides according to one embodiment of the present invention. The margin tiles are shown respectively.   11A to 11D are the upper left corner, the upper right corner, the lower right corner, and the lower left corner of the embodiment. Ill and respectively.   FIG. 12 shows a logic diagram of one embodiment of the oscillator used in FIG. 11B. Detailed description of the drawings   The following notations are used throughout the drawings. That is, the small value at the intersection of the two lines The solid black dots represent the fixed electrical connection between the two intersecting lines. The white circle surrounding the intersection of two lines is a programmable connection between the two lines. (For example, a pass transistor that turns on to form a connection). White circle Represents a bidirectional signal flow between two lines. White triangle between two lines Represents the programmable connection with the signal flow going to the line pointed by the vertex of the triangle. Forget (in this case the signal is of course present over the length of the line, ie If the opposite triangles also point to the same line, the same signal flow will occur). This According to one embodiment of the invention, the programmable connections are each programmable Is formed using an interconnection point (PIP) consisting of at least one transistor It   A triangle that overlaps one line that does not intersect another line points to the vertex of that triangle Represents a buffer that produces a directional signal flow. Global lines ENOUT and ENLL Terminate inside the tile or matrix structure (except shown in FIG. 3A). That is, the line does not extend to the boundaries of the tile or matrix. Physically terminate inside the module. Lines that extend to the boundaries of a tile or matrix Connects to a line on an adjacent tile, that is, a line that comes into contact with the joining of two tiles. Continued. How many lines extend to the edge of one tile and thus reach adjacent tiles The name is changed at the tile boundary. Circuit layout Flexible logic block matrix And the lines in the programmable routing matrix have the same reference numbers. The lines are attached to indicate the physical connection between these lines.   FIG. 1 shows an FPGA chip 100 according to the present invention. In the center of the chip 100 Has a plurality of identical core tiles 101 connected to each other by conductor lines (details will be described later). Along the four sides of the chip 100, west, north, east and south edge tiles 103, 104, 105 and 106 are arranged respectively. There are four in the four corners of this chip. Corner tiles 113, 114, 115 and 116 are respectively arranged. It In addition, the chip 100 is a pad, i.e., the edge tile 103, 104, 105, 1 06 and corner tiles 113-116 packaged (to accommodate chip 100) Pad P1-P56 connected to the external pins of. Each corner tile has one core It is also connected to the tile 101. As shown in Figure 1, the margin tiles are different from each other. Number of pads P, typically 0 to 4 pads (see FIGS. 10a-10d). Will be described in detail). FIG. 1 shows a high voltage source pad VCC and a low voltage source pad. De GND is also shown. Power and ground wiring throughout the chip (shown No) is provided by a conventional method.   FIG. 2A shows the core tile 101. Core tile 101 is a programmable path Instruction matrix 201 and circuit block flexible logic block matrix 2 Including 02. The programmable routing matrix 201 is described in detail with reference to FIG. As described above, the circuit layout flexible logic block 201 will be described in detail with reference to FIG. 3A.   Sufficts extending west from programmable routing matrix 201 Twelve lines with lines 0 to 11 are provided. These lines are 1X long westward lines W 1-W5, W7-W11, and double west lines DW0 and DW6 (details later Statement) is included. Extend north from programmable routing matrix 201 The double long north lines N1-N5, N5-N11 and double long north lines DN0 and DN6 Is also provided. In addition, the 1-fold length East lines E1-E5 and E7-E11 extending eastward , And double length east line DE0-DE6 are also provided. Furthermore, 1 times extending to the south Chonan line S1-S5 and S7-S11, and double Chonan line DS0 and DS6 Setting There is a mark. In addition, the double length horizontal line DH0 And DH6. In addition, double-long vertical across north-to-south tile 101 With lines DV0 and DV6.   FIG. 2B shows four adjacent core ties having the same circuit arrangement as the tile 101 shown in FIG. 2A. 10a, 101b, 101c and 101d. In FIG. 2B, Most lines are unsigned for clarity. As mentioned above, for tile 101 The lines that extend to the edges are connected to the lines in adjacent tiles. For example, programmable West of tile 101b extending west from the routing matrix 201b. Line W1b is connected to the 1x long east line E1a in the adjacent tile 101a. Tile 1 The double length horizontal line DH6a of 01a is connected to the double length horizontal line DH6b of tile 101b. In addition, although not shown in FIG. 2B, the tile placed immediately west of the tile 101a. Is connected to the double-length east line DE6 (hence the term "double-length") ). The line Q0c extending east from the CLB matrix in tile 101c is Connected to line QW0d extending west from CLB matrix 202d in file 101d Has been done. Further, in FIG. 2, the water that continuously extends from the tile 101 to the adjacent tiles. Also shown are the flat global lines GH0 and GH1 and the vertical global lines GV0 and GV1. It These global lines are connected to the common line at the edge of the tile, and signals on the global line such as GH0 are connected. Can be supplied to all tiles. As shown in Fig. 2B, vertical large Lines GV0 and GV1 and horizontal global lines GH0 and GH1 are programmed Possible routing matrix 201 and circuit layout flexible logic block mat It is connected to both of the lix 202.   Returning to FIG. 2A, the circuit block flexible logic block (CLB) matrix 2 02 is the western tile (shown in the figure) due to the output lines Q0-Q3 and the input lines QW0-QW3. Connected to the CLB matrix inside the output line Q0-Q3 and the input line Q Connect to CLB matrix in north tile (not shown) by N0-QN3 The output lines Q0-Q3 and the input lines QE0-QE3 cause CL in the east tile. It is connected to the B matrix and is connected by output lines Q0-Q3 and input lines QS0-QS3. Connected to the CLB matrix on the south tile (not shown). Output line Q0-Q3 send the same signal from CLB matrix 202 to adjacent tiles in four directions. It is communicated and is therefore given the same name. Carry input line CIN And carry output line COUT, that is, a line extending vertically in tile 101, is Connected to the carry output line and the carry input line in the cable, respectively. 349, 250 "Logic structure and circuit for high-speed carry" And forms a high-speed carry path for the arithmetic function unit. This U.S. patent is here Incorporated herein by reference. Circuit block flexible logic block matrix 202   FIG. 3A is a circuit block flexible logic block (CLB) matrix 2 of FIG. 2A. 02 is shown. CLB matrix 202 is CLB301, tri-state buffer block 302, input interconnection wiring structure 303, CLB output interconnection wiring structure 304, Return interconnection wiring structure 305, ordinary input interconnection wiring structure 306, resistor system Custom interconnect wiring structure 307, output interconnect wiring structure 308, and output enable It includes a bull block 309. Sparse PIP distribution   Programmable connections are programs with at least one transistor each Provided using a Ramtable Interconnect Point (PIP). As is well known in the art, each Transistors occupy valuable area on the chip substrate. See FIG. 3A in accordance with this invention. In comparison, the input interconnection wiring structure 303, the feedback interconnection wiring structure 305, Of the input interconnection wiring structure 306 and the register control interconnection wiring structure 307; Most of the internal horizontal and vertical lines do not have programmable connections. You That is, the PIPs in these structures are sparse and sparse "with PIPs" Is. Sparse PIP distribution minimizes chip surface area consumed by PIP Maximize overall density. Further, according to the present invention, only proper placement of PIP This significantly increases the flexibility of route provision, and PIP in interconnection wiring structure Effectively compensate for the decrease in the number of.   For example, referring to the input interconnection wiring structure 303, the position of PIP is CL. From each output line from the B-output interconnect wiring structure 304, an adjacent tag in each of four directions is provided. To allow connection to one of the function generators F, G, H or J is there. In this embodiment, the conventional input interconnect wiring structure 306 is the CLB 301. CLB input lines to (J0-J3, JB, H0-H3, HB, G0-G3, CB , F0-F3 and FB). Mutual return The connection wiring structure 305 is a function generator in the CLB 301 from one of the output lines Q0-Q3. Provides a direct connection to one of the input terminals. Output interconnection, as shown in Figure 3A Twenty-four PIPs in wiring structure 308 route output lines Q0-Q7 for tile interconnect wiring. It is connected to the lines M0-M23. In this way, the interconnection wiring lines M0-M2 Signal applied to 3 is CLB 301 and programmable routing matrix 2 01 selectively (CLB output interconnect wiring structure 304, conventional Via input interconnect wiring structure 306 and output interconnect wiring structure 308). This In one embodiment, no more than one PIP is provided for every eight interconnect lines. , Thereby minimizing the silicon surface area. Nevertheless, is it an arbitrary output line? The possibility of forming a connection to any input line can be secured by the PIP provided here. It Circuit arrangement flexible logic block 301   A circuit layout flexible logic block (CLB) 301 is shown in FIG. 4A. This practice In the example, CLB 301 includes four function generators F, G, H and J, which Each of the function generators has an output determined by the four input signals to the function generator and the stored value. It contains a 16-bit lookup table that produces the force signal. In this way, the function generator F produces an output signal which depends on the input signals applied to the lines F0-F3, and the function generator G Generates an output signal determined by the signals supplied to the CLB input lines G0-G3, and the function generation The container H produces an output signal which is determined by the signals applied to the CLB input lines H0-H3, Generator J produces an output signal determined by the signals applied to CLB input lines J0-J3. . Reference table   The operation of the lookup table function generator will be described with reference to FIGS. 4D-4G. these Figure is a US reissue patent No. Re. U.S. Pat. No. 4, reissued as 34,363. , 870, 302, which was invented by the inventor Freeman. Incorporated herein by reference.   FIG. 4D shows a reference table, that is, a 16-bit RAM in this embodiment. Shows a look-up table, which has 16 possible 4 input signals. An output signal is produced in response to any one of the combinations. More specifically, the input signal Nos. A and B are used to select any one of the four columns of 16-bit RAM. Control the coder. Similarly, the input signals C and D are four rows of 16-bit RAM. Select any one of. This 16-bit RAM has a selected row and selected Produces an output signal representative of the bits at the intersections of the columns. There are 16 such intersections , Therefore, there are 16 such bits. Therefore, 16 bits Two16Will result in a number of possible combinations. That is, four-input NOR gate When simulating with a 16-bit RAM, The Carnot map is as shown in Figure 4F. In FIG. 4F, the first row (A = 0, Bit at the intersection of B = 0) and the first column (representing C = 0, D = 0) All bits other than 0 are 0. For A = 1, B = 0, C = 0, D = 0 If a logic "1" output signal is required, then a logic "1" is placed between the second row and the first column. Store at the intersection. A = 0, B = 0, C = 0 and D = 0, and A = 1, B = If a logic "1" is required for 0, C = 0 and D = 0, then the first column and first row And store a logic "1" at each of the intersections with the second row. Look up the table like this The logic circuit represented by the loading is shown in FIG. 4G. That is, FIG. The reference table for D is 216Represent a precise and simple realization of any one of I forgot.   FIG. 4E shows the organization of the register that yields any one of the 16 select bits. left Each of registers 0-15 labeled "16 select bits" in the vertical column is side by side. The selected signal of logic "1" or "0" is included. For signals A, B, C and D By selecting the appropriate combination of these complements, The particular bit stored in the particular one of the 16 positions in the Sent out. That is, for example, send the bit in the "1" register to the output lead. Signal A, B, C, D is applied to the marked conductor. Also, 16 selection bits To send the signal at the 16th position "15" in the register to the output conductor, signal A, Providing any one of the Noh.   Returning to FIG. 4A, the memory bits in the lookup tables F, G, H and J are common. Usually during the circuit layout of a chip, for example via a shift register, or Loaded by less means. In some embodiments, memory bits are chip behaviors. Load, thereby relocating the working chip. Circuit rearrangement The memory structure with faculty is Freeman et al. (Fr. eeman et al) US Pat. "Distributed Memory Structures for Faithful Logical Arrays and Methods of Using Distributed Memory". , Which is incorporated herein by reference.   The function generators F, G, H and J are connected to CLB output lines X, Y, Z and V, respectively. Produces output. These output signals from the function generators F, G, H and J are Lexa C1, C2, C3 and C4 are controlled respectively, and cumulative carry output COUT Cause The multiplexer C1 outputs the carry input signal to the line C1N and the input signal to the line F1. B respectively receives and produces an output signal on the line CF. The multiplexer C2 outputs the signal On the line CF, the input signal on the line GB, and the output signal on the line CG. Ma The multiplexers C3 and C4 are connected similarly to the multiplexers C1 and C2. . Multiplexer C4 produces an output signal on line COUT from CLB 301. Arithmetic For a detailed description of the surgical function, please refer to the burner assigned to the same assignee as this application. Day. New invention US Patent No. 5, 349, No. 250 for high speed carry See Logic Structure and Circuit. In addition, This patent is referred to here Incorporate.   Each CLB 301 is a function generator F, G, Four storage devices RX in addition to H and J , RY, Includes RZ and RV. These storage devices RX, RY, Of RZ and RV Each is a flip-flop with main and slave stages, From these masters and slaves An output multiplexer that receives an output as an input. That is, Device RX , RY, RZ and RV are configured to form flip-flops or latches. The circuit can be arranged with a chipplexer.   Periodic resupply of voltage to the carry signal is usually required. In this example, This To re-supply the voltage of For voltage resupply including inverters 1121 and 1122 Buffer every four multiplexers on carry path or every CLB301 Deploy. In another embodiment, The voltage resupply buffer is a carry path Provided for every two Plexers, Provide two voltage resupply buffers for each CLB To do.   In this example, CLB301 contains 5 input lines per function generator . For example, Referring to the function generator F, CLB input lines F0-F3 are function generators F Supply the input signal to The fifth CLB input line FB receives the multiplexer control input signal Supply. Function generator G, H and J are similarly arranged in the circuit. Three input lines CL K, CE and RST are Clock signal, Clock enable signal and reset Register signal RX, RY, Supply to RZ and RV respectively.   As shown in FIG. 4A, Four groups of one output signal, That is, each The four groups associated with the number generator originate from CLB 301. this The three output signals include: Ie;   .Function generator (CLB output line X, Y, Direct cash register from Z or V) Output signal not stored.   ・ CLB input signal Ie the signal from the carry chain, Or five for two Input function (CLB output line XB, YB, Supply to ZB or VB) Alternate unregistered output signal based on the signal from the chipplexer.   .Function generator or one of the sources of alternative output signals (CLB output line XQ, YQ , Registered output signal that can be loaded by (provided on ZQ or VQ). For example, the CLB output line X is a direct output signal from the function generator F without register storage. Receive. The CLB output line XB is the signal of the CLB input line FB or the multiplexer S. 1 output signal (as determined by multiplexer B1), That is, carry out Force signal CF or a five-input function generator output signal from multiplexer FG (FIG. 5C). The output signal obtained from (see below) is received. CLB output line XQ An output signal from the register RX, which has been stored in the register, That is, the D input signal is Directly from the function generator F (signal of the output line X) according to the decision of the plexer D1. Or it receives the output signal from the register RX which is derived from the alternative output signal on the line XB. Finally, The output line K becomes high or low depending on the selection of the multiplexer PG. Supply a value signal.   In the example of FIG. 4A, The multiplexers D1-D4 are Function generator F, G, Output signal from H and J (CLB output line X-V) or multiplexer B1- The output signals from B4 are supplied to the registers RX-RV, respectively. Multiplexer S1 and S3 convert the carry signals from multiplexers C1 and C3, respectively. When set to send, The multiplexers B1-B4 are CLB input lines FB-F Select either the input signal of J or the output signal of multiplexers C1-C4 .   The multiplexers C1-C4 are used for carry function in arithmetic operation. Exhibits a wide range of AND and OR functions. To demonstrate the AND function, Line FB Add a logic "0" to CLB output F function generator output signal on line X and line C1N The multiplexer C1 is programmed to produce an AND output with the carry input signal of To on the other hand, To exert the OR function, Add logic "1" to CLB input line FB hand, OR of the complement of the output signal of the CLB output line XL and the carry input signal on the line C1N Program multiplexer C1 to produce the output. According to the exact table structure , The OR output is obtained by loading the inverse value into the exact table. Multiplex Regarding the functions of the C1 to C4 and the interaction with the logic block, See here United States Application No. 08/116, incorporated herein by reference. No. 659 [M-2565] In more detail. Application example of CLB301   5A-5C, Using CLB301 (detailed above with reference to FIG. 4A), Carry Chain, Decoder circuit 2, which can be cascaded, And two five-input function generators it An application example of forming each is shown. In these figures, The thick line is the line of CLB301 Represents what was used for a particular selected function, The thin dotted line is the specific machine Represents something not used for Noh.   In FIG. 5A, CLB301 is a single number A3A2A1A0 and B3B2B Half-value sum H3H2H1H0 of 1B0 (where H3 H2 H1 and H0 are 4 bits 4 bits of sum of half-values) and carry bit C3C2C1C0. Another CLB (not shown), Ie to the right or left of the tile shown CLB, which is preferably arranged, is used for completion of addition. Operand A3 and And B3 to any two of the CLB input lines J0-J3. Operand A2 and B2 is added to any two of CLB input lines H0-H3. A1 and A2 are CLB Add to any two of input lines G0-G3. A0 and B0 are CLB input lines F0- Add to any two of F3. Keep unused lines high or low. Seki Number generator F, G, Each of H and J is a true value test of the XOR function (half-value sum of input signals). Load with a cable. The value added to the input line not used in the antilog table is included in the calculation. . If there are lower order bits than those added to the function generator F, then Those bit The carry output of the switch produces the carry input line C1N. Multiplexer C1, C2 C 3 and C4 are function generators F, G, Controlled by H and J output signals respectively . More specifically, The function generator output signal is a logic 1 (signals A and B are Not equal) The carry input value is sent to the carry output for that bit, Function If the genital output is a logic 0 (signals A and B are equal to each other), Signal A again The value of signal B is sent to the carry output of that bit. Multiplexer B1-B4 , S1 and S3 carry the carry output of each bit to the "B" CLB output line ( That is, C1B output line XB, YB, ZB and VB). For each bit Function generator output signal (CLB output line X, Y, Occurs in Z and V) Is supplied as the half-value sum for that bit.   In another application shown in FIG. 5B, CLB301 is a device that can be cascaded. The circuit is arranged to operate as a coder. 16 represented by signals A0-A15 The bit address is CLB input line F0-F3, G0-G3, And J0-J3 Get CLB input line FB, GB, HB and JB are grounded. Each function generator F, G, The 16 bits of each of H and J are set to reflect a part of a predetermined address. Contains one logic "1". Apply a logic 1 signal to the carry input line CIN. Four functions Generator F, G, H and J all output logic 1 respectively (ie address "Matches") All multiplexers C1-C4 send out a logic 1 Produces a logic one signal on the carry output line COUT.   In another application shown in Figure 5C, CLB301 is for each of the five input signals Yields two functions. The function generators F and G represent the first function of the five input signals as C Occurs on the LB output line XB, The function generators H and J generate a second function of the five input signals. Occurs on CLB output line 2B. For this first function, Four input signals A0- A3 is fed to the CLB input lines to both function generators F and G, 5th input signal No. A4 is supplied to FB. The multiplexer FG functions according to the input signal A4. Select the output signal of the generator F or the function generator G. In this example, Maru The chipplexer S1 is a memory cell for selecting the output signal of the multiplexer FG. Programmed, The multiplexer B1 selects the output signal of the multiplexer S1. Are programmed in the memory cell. In this way Function generator F and The five input function generator output signal from G appears on the CLB output line XB. Similarly, The functions of the five input signals B0-B5 to the function generators H and J are generated on the CLB output line. Cheat.   The loading of the appropriate antilogarithm tables into the two related function generators F and G requires five inputs. Produces the desired function of the force signal. More specifically, In one embodiment, 32-bit lookup table for function generators F and G (ie two 16-bit lookup tables) Reference table). In this way Many functions have different values For memory cell for function generator antilogarithmic table formation and control multiplexers FG and HJ Alternately caused by loading. Tri-state buffer 302   FIG. 4B illustrates a tri-state buffer block 302 (FIG. 4) that includes tri-state buffers B4-B7. 3A) shows a schematic diagram. The line names are the same as those used in FIG. 3A. AND Ge The output signals from the gates A4-A7 control the three-state buffers B4-B7, respectively. . For example, if AND gate A5 produces a logic 0 output signal, Buffer B5 is enable Bull, Output signal via buffer on line TQ5, That is, the corresponding input signal to line Q5 Produces a signal that matches the signal. on the other hand, Produces a logical 1 output signal to AND gate A5 When, Buffer 5 is disabled, It creates a high impedance at the output terminals. The output signals from the AND gates A4-A7 are the output signals from the OR gate OR1 and are large. Is it decided regionally, It is individually determined by the memory cells MM4 to MM7. Memory cell MM4 If MM7 is storing a logic 0, AND gate A4- The output signal of A7 also becomes logic 0 regardless of the signal from the OR gate OR1. OR The OR1 is If the ENLL signal is low, Or if the signal on line TS is high , Produces a high output. Returning to FIG. 3A, Signals on tri-state line TS are tile interconnects Programmably selected from any of the wiring lines M16-M23.   The ENLL signal is provided to all buffers 302 in all tiles 101 It is a global signal. This ENLL signal is Contention, That is, the same input signal Various TS lines for connecting to one long wire are cut unpredictably during circuit layout. To prevent contention that occurs when switching During circuit placement and It will remain low when other signals are subsequently enabled.   Voltage resupply buffer for supplying a signal to a long line while operating the buffers B4 to B7 When used as (always enabled), Memory cells MM4-MM7 Is loaded with a low value during the circuit arrangement period. That is, During circuit placement Will enable buffers B4-B7 with AND gates A4-A7. But, Input signals Q4-Q7 for sending signals TQ4-TQ7 to a long wire are circuit arrangement During the period, it carries a common signal as described below with reference to FIG. 4C, Con There is no tension. Output enable block 309   The buffer in the output enable block 309 is Driven by these buffers In order not to generate line contention, Disable during device placement Will be FIG. 4C shows the structure of block 309. Output enable block 30 Each buffer in 9 includes a 2-input AND gate. One input of each AND is global It is driven by the enable signal ENOUT. The other input has lines Q0'-Q7 ' Prepared, The output signal from CLB 301 (FIG. 3A) is supplied to this line. Times Unexpected lines may be connected to these lines Q0-Q7 during road placement. Therefore, Ko To prevent contention, Keep the ENOUT signal low during circuit layout, Line Q0 -All of the output signals to Q7 go low, and unexpected connection of other lines is inconsistent. So that it does not occur. Adjacent input matrix 303   Referring to FIG. 3A, The connection to the adjacent CLB 301 in the embodiment of the present invention is There is no direct connection, all via PIP. For example, Input signal is the input phase The CLB 301 is selectively supplied from the interconnection wiring structure 303. Each input line QS0 -QS3 can be connected to one of the CLB input lines of one function generator. This practice In the example, The line QS0 can be connected to the CLB input line F1 of the function generator F, line QS1 can be connected to the CLB input line G1 of the function generator G, Line QS2 is a function It can be connected to CLB input line H1 of Genki H, The line QS3 is the CLB of the function generator J It can be connected to the input line J1. Each function generator F, G, H and J are based on the input signal Therefore, the circuit can be arranged to generate an arbitrary function. One function generator Signals specific to the desired input terminal and its appropriately loaded lookup table for the function generator Can be supplied. Therefore, Which input signal can be supplied to which function generator input terminal It doesn't matter.   The signal on input line QW0 drives both CLB input lines F0 and FB. As well To The signal to input line QW1 drives CLB input lines G0 and GB, Input line QW The signal to 2 drives CLB input lines H0 and HB, The signal to the input line QW3 is C Drive the LB input lines J0 and JB. Input line QE0, QE1, QE2 and Q Each signal to E3 also drives two CLB input lines. More specifically, Input line The signal to QE0 drives CLB input lines F1 and FB, Signal to input line QE1 Drives lines G1 and GB, Signal to input line QE1 drives lines H1 and HB Then The signal on input line QE3 drives lines J1 and JB.   The signal to each 1 of the input lines QN0-QN3 and QS0-QS3 is the same as the CLB input line. Drive only one. In detail, The signal to the input line QN0 is the CLB input line F0. Drive The signal to the input line QN1 drives the CLB input line G0, Belief to line QN2 Drive the CLB input line H0, Signal to line QN3 drives CLB input line J0 It The signal to the input line QS0 drives the CLB input line F1, Signal to input line QS1 Drives the CLB input line G1, Signal to input line QS3 drives CLB input line J1 To do. This example Each of the input lines QE0-QE3 and QW0-QW3 Since it is connected to the two CLB input lines in a programmable manner, Multiple signal water Especially desirable for horizontal flow. Other embodiments of the invention include different numbers and locations. With programmable connection, Optimized for different signal flows. Output matrix 304   CLB301 is CLB output line X, XQ, XB, Y, YQ, YB, Z, ZQ, Z B, V, Produces output signals on VQ and VB. Also, CLB301 is Carry out Generate a signal on the force line COUT, The signal to the carry input line CIN in the upper tile Decide whether to transfer to the next CLB. CLB output line X, XQ, XB, Y, YQ, YB, Z, ZQ, ZB, V, VQ, PIP on VB and K is for CLB interconnection Selectively drive through line structure 304 to drive any number of output lines Q0-Q7. Has been programmed. CLB interconnect wiring structure 304 has full PIP distribution (That is, Carry output line COU among 13 output signals of CLB301 Anything except the signal to T can drive any of the output lines Q0-Q7). The interconnection wiring structure 304 also buffers output signals for driving lines other than the above. Please note that 1 for PIP formation of the entire interconnection wiring structure 304 It requires 08 (13 × 8) PIPs. In contrast to this, Structure 303, 305, 306 and 307 are Even if sparsely installed PIPs, a total of 200 PIPs are used There is. Access to specific input signals from tile interconnect wiring lines M0-M23 The flexibility of the CLB 301 in the is secured by the following points. Ie:   .Arbitrary CLB output signal is any of the tile interconnection wiring lines M0-M23 Distributed PIP over CLB output interconnect wiring structure 304 to be supplied to Let   Each line M0-M23 is at least one in each proximity routing matrix 201 To be connected to the lines M0-M23 of Programmable routing matrix PIPs are distributed in 201.   ・ Each output line of one CLB can be connected to at least one input line of each adjacent CLB. The PIPs are distributed in the CLB matrix 202 so that the   .Function generator F, G, Form H and J as reference tables, Each reference text All input signals to the cable are interchangeable.   ·further, Except for the five-input function, Function generator F, G, Interchangeable H and J I have to. in this way, According to this invention, The PIP sparse distribution structure 303, 305, 306 and 307 significantly reduce chip surface area and maximize flexibility.   The signals on output lines Q0-Q3 drive the CLB input lines in adjacent tiles. example If The two core tiles 101 of FIG. 2A are arranged side by side as shown in FIG. 2B. By The output line Q0 on the left side edge of the core tile 101b is It is connected to the input line QE0 on the right side edge. The other lines are correspondingly connected. Shi Therefore, 2A, When referred to in combination with 2B and 3, CLB matrix The CLB output line X (FIG. 3A) of the CLB 301 in the slot 202c (see FIG. 2B) is Out Lines of force, That is, the CLB matrix in the core tile 101c, that is, the core tile Matrices connected to input line QW0d of CLB matrix 202d in 101d Programmable to output line Q0c extending east from box 202c (and in other directions) Are connected in a simple manner. PIP connects input line QW0 (as described above) CLB301 Of the CLB input lines F0 and FB. Like this hand, From the CLB 301 output line in the CLB matrix 202c to the CLB matrix The path to the CLB 301 input line in box 202d, In one embodiment, two It is formed only by using two PIPs composed of transistors.   CLB output interconnect wiring structure 304 in another embodiment shown in FIG. 3B. In PIP inside, The signal to the CLB output line must pass through two transistors Yes (Signal K, Ie a constant voltage or ground signal will pass through four transistors Please note that). FIG. 3B shows the 12 CLB output lines (X, XQ, XB, Y, YQ, YB, Z, ZQ, ZB, V, VQ, VB) and one power supply / Multi that connects all the ground output signal lines K to the output line Q0 and activates all PIPs A plexer structure 400 is shown. The multiplexer structure 400 is a memory cell, Ie Control the first transistor bank 351 consisting of 12 transistors, So Note that selects signal K if no transistor is selected from the bank Resel 31, 32 and 33 are included. Memory cell 31, One of 32 and 33 The stored logic one is one signal from each of the three groups of signals in bank 351. Select the issue. Memory cell 31, 32 and 33 all store a logical 0 If Signal K appears at node 30. In the second stage, Memory cells 34 and 3 5 is an AND gate, Control AND1-AND4, Output line VQ, ZQ, YQ And an output signal from one of XQ and supplies the selected signal to the output line Q0. To do. Memory cell 31, 32 and 33 store a logic 0 and signal K If you choose Memory cells 34 and 35 supply signals to node 30. Must be programmed to. That is, Other than a constant value K that follows a longer route Since we only need two transistors on each path for all signals in 13 Implement the PIP with only 5 memories and 16 transistors. To line K Since the signal is not a switching signal, lengthening the signal path will not be adversely affected. Multip Lexa structure, That is, one of the 13 output signals of CLB301 is selected and A multiplexer structure 400 for driving the output lines is provided for each of the output lines Q0-Q7. is there. It is impossible to drive the output lines Q0-Q7 for any of these 13 output signals. But The multiplexer structure 400 can select two or more of the 13 output signals. I can't. In this way Avoiding contention on output lines Q0-Q7 . In another embodiment of multiplexer structure 400, Each one There are 13 memory cells that control the data. In this way, the required route for each route There is only one transistor, The signal speed is increasing. But, This example is Note that increasing the con surface area. Return interconnection wiring structure 305   Returning to FIG. 3A, The feedback interconnection structure 305 allows the output lines Q0-Q3 to be arranged in a circuit arrangement. CLB input line F2 in the logical block matrix 202 G2 H2 and And J2 selectively. In this embodiment, the output signal from CLB301 Is a function generator F in CLB301, G, To the selected CLB input line of H and J I can return. The feedback interconnection wiring structure 305 is a counter (which feeds back its own signal). Or a shift register (needs signals from adjacent circuits) to support a PIP pattern Equipped. The PIP pattern is CLB input signal line F2 G2 H2 and Signal to J2, CLB input signal line F0, G0, H0, J0, F1, G1, H1 And the signal to J1, That is, CLB matrix such as input lines QW0 and QN3 To prevent contention with signals supplied to other input lines to the switch 202. . Another embodiment of this invention is a different combination of PIPs in the return interconnection wiring structure 305. Equipped with. Normal input matrix 306   The normal input matrix 306 is input to the tile interconnection wiring lines M0-M23. Receive the signal, In addition, these input signals are applied to CLB input lines F0-F3, FB, G0-G3 , GB, H0-H3 HB, It has a PIP that feeds JO-J3 and JB. Depending on the PIP pattern, Any tie in this normal input interconnect wiring structure 306 The signals to the interconnection wiring lines M0-M23 are transmitted to the respective function generators F, G, Of H and J Allows one input line to be driven. The function generator input signals are interchangeable Yes (reference table entries are interchangeable), Tile interconnection wiring line M 0-M23 need not be coupled to more than one input line of the function generator. This normal In an embodiment of the input interconnect wiring structure 306, Each CLB input line FB, GB, HB and JB signals on one of the six tile interconnect wiring lines M0-M23 Is equipped with a PIP so as to be driven by.   As another criterion in this example, 9 or more CLB input lines Not equipped with PIP. That is, Referring to FIG. 3C, Multiplexer structure 401 is three memory cells 36, Using only 37 and 38, First tiger Select one of eight possible signals for controlling the bank 361 of registers. More detailed In detail, The memory cell 38 has input lines QW0 and QN0, M15 and M14, M9 And M8, Select one of each pair of signals to M7 and M6. Memory cell 36 and 37 generates a signal to the input terminals of AND gates AND5-AND8, These signals Allows a second transistor bank for the selection of a single signal on CLB input line F0. Control 362.   In this embodiment of the invention, PIP pattern has a function of 5 inputs (Described above in connection with FIG. 5C). For example, Tile interconnection wiring line M18 or The signal to M19 drives the input line FB, Tile interconnection wiring line M14 or M The signal to 15 drives lines F0 and G0, Tile interconnection wiring line M12 or Signal to M13 drives lines F1 and G1, Tile interconnection wiring line M16 Or a signal to M17 drives input lines F2 and G2, For tile interconnect wiring Line M20 or M21 drives input lines F3 and G3. This circuit layout smells hand, The five-input function can be easily implemented by the PIP pattern provided.   To further describe the invention with reference to FIGS. 3A and 6, With PIP, long Horizontal lines LH0-LH7 and long vertical lines LV0-LV7, And global (horizontal And vertical) line GH0, GH1, GV0, From GV1 to register RV, RZ, RY And the connection to RX is a function generator J, H, Made possible without going through G and F It More specifically, Long horizontal line LH0-LH7 and long vertical line LV0- LV7 and global horizon GH0, GH1 and global vertical GV0, GV1 Il interconnect wiring lines M0-M23 (FIG. 6). These tiles The interconnection wiring line is CLB input line FB, GB, When combined with HB and JB Is Function generator F, G, Bypass H and J respectively, Signal (intermediate multi Register RX, via Plexer) RY, RZ, Supply to each RV. Global line GH0, GH1, GV0 and GV1 are also interconnect wiring structures 307 for register control Via register RX, RY, It is selectively bound to RZ and RV. tile All of the interconnection wiring lines M0 to M23 are connected to one CLB input line FB, GB, HB Or from one long line to one tile interconnection wiring line M0- By providing a connection to M23 (discussed below in connection with FIG. 6), These long lines And the signals to the global lines drive the required registers. To this invention Anyway, With this PIP pattern, Signals for all long lines and global lines Function generator F via the usual input interconnection wiring structure 306, G, Input to H and J It becomes possible to drive the line. Output interconnect wiring matrix 308   In this example, Output lines Q4-Q7 are programmable interconnect wiring mats The output signals to the lix 201 (FIG. 2A) are transmitted to the tile interconnection wiring lines M0 to M11. Or supplied via line TQ4-TQ7. Output lines Q0-Q3 are tile interconnections The output signal is supplied to the selected one of the lines M12 to M13. The fruit shown in Figure 3A In the example, The output interconnection wiring structure 308 provides signals to the output lines Q0-Q7. It is possible to drive up to three tile interconnect wiring lines M0-M23. C The overall PHP distribution of the LB output interconnection wiring structure 304 is an arbitrary output of the CLB 301. It is possible to connect the force lines to any of the tile interconnect wiring lines M0-M23 To The normal input interconnect wiring structure 306 is selected to the output lines Q0-Q3. The return signal is supplied to the CLB 301. Register control interconnection wiring structure 307   Clock line CLK, Clock enable line, Reset line and tri-state line TS , Supply signals (programmable to selected tile interconnect wiring lines M0-M23) (From the routing matrix 201). Also, Low skew system You Clock line CLK to the global horizontal lines GH0 and GH1 for the signal or global It is directly controlled by the signals from the vertical lines GV0 and GV1. No contention   According to this invention, Program one PIP on a given CLB input line If done, No other PIP on that CLB input line should be turned on. example If Program PIP on the intersection of input line QW0 and CLB input line F0 And (ie The signal to the input line QW0 drives the CLB input line F0), tile Interconnection wiring line M6 M7, M8, M9, M14, M15 and input line QN0 The upper PIP remains off, No contention on CLB input line F0 Assure. Normally, To prevent contention, Which PIP on one input line Use a simple decoding method to choose whether to turn on, Or two or more on one input line Memory cell programming software to avoid turning on the PIP above This is achieved by using the rules in. In another embodiment, Alternative means of input selection Is possible. For example, In one embodiment, Specify whether to turn on each PIP To load one memory cell. Programmable routing matrix   FIG. 6 shows the programmable routing matrix 201 of FIG. 2A. In Figure 6 Represents the signal flow to one line for all PIPs in CLB matrix 202. Although it is shown as a triangular shape, In the programmable routing matrix 201 Most PIPs are shown as open circles that represent the signal flow to both lines. An example outside is, Lines TQ4 through TQ7 (output from tri-state buffer block 302 of FIG. 3A) Line) to the long horizontal lines LH0-LH7 and the long vertical lines LV0-LV7. IP, And the global signal line GH0, CH1, GV0, Signal from GV1 is tile phase The PIP is sent to the interconnection wiring lines M0 to M3.   The programmable routing matrix 201 includes Global line, Long line, Double length The line and the 1 × long line extend. Each of these lines Selected tile interconnections It is connected to the lines M0-M23. Programmable routing matrix 20 1 is Connect to programmable routing matrix in proximity tiles, four A double length line extending in the azimuth direction, In other words, 1x Chohoku Line N1-N11, 1x Choto Line E 1-E11, Formed via 1-fold long south line S1-S11 and 1-fold long west line W1-W11 To do. Connection to a programmable routing matrix one tile apart Double Long North Line DN0 and DN6, Double length East Line DE0 and DE6, Double Nannan Line And double length western lines DW0 and DW6 (see FIG. 2A). Across tiles Each of the long vertical lines LV0-LV7 and the long horizontal lines LH0-LH7 that extend in Can be connected to one of the interconnection wiring lines M0-M23.   Although the specific pattern of PIP shown in FIG. 6 is sparse, it has excellent signal transferability. There is. More specifically, Programmable routing matrix 201 In this example, the number of PIPs included is 124, One for each of the lines in Figure 6 It is sparse compared to the approximately 4200 PIPs that result when connected to one line. Shi Scarecrow This PIP pattern is Any line with any intermediate PIP can be Make sure you can connect to the wire. For example, As shown in FIG. West line W1 is east Two PIPs on line E1, That is, the tile interconnection wiring line M1 is connected to these two lines. It is possible to connect by turning on the two PIPs connected to. Contrast to this By the way The connection between the West Line W1 and the East Line E2 requires 8 PIPs and 9 lines . That is, West line W1 to tile interconnection wiring line M1, East line E1, Tiles Continuation wiring line M20, West line W9, Tile interconnection wiring line M9, North line N9, tile Interconnection wiring line M21, And it is necessary to connect through the east line E2. this Length paths are usually undesirable, but In some applications, delay is not an issue. For those By the way, The availability of such a route enables the completion of the design. PIP two Only one simple route, Line N1, S1, E1 and W1 for tile interconnect wiring To line M1, Line N2 S2 E2 and W2 to tile interconnection wiring line M2 and others It can be used to connect to each other via the interconnection wiring line M5. Tile interconnection The wiring line M6 is a double length line DN6. DS6 Connected to DE6 and DW6. Ta Ill interconnection wiring lines M7 to M11 are north, South, Of corresponding numbers that extend east and west It is connected to a 1x long line.   The tile interconnection wiring lines M12-M13 are designed to minimize the decrease in operating speed and The cross connection pattern that enhances the transfer flexibility is put into practice, Sparse PIP distribution is valuable Achieve chip surface area savings. For example, Tile interconnection wiring line M12 is double length North line DN0, South Line S3, East line E5, Connected to the West Line W1, For tile interconnect wiring Line M15 is the north line N3, East line E8, Double Chonan Line DS6, And connected to the west line W4 It In this way The present invention provides a predetermined pattern that minimizes the number of PIPs. , Allows any wire to be connected to any other wire. That is, This invention Ensure that the path is always provided while minimizing the silicon surface area. Routing matrix model   Each of the tile interconnect wiring lines M0-M23 is connected to five or six other lines It is possible. That is, As shown in FIG. 7A, Tile interconnection wiring line M0-M Each of the 23's is represented by an asterisk with five or six tips. For this model And The eight tile interconnection wiring lines M0 to M7 are North line N0-N3, East Line E 0-E3, Programmable on selected one of South Line S0-S3 and West Line W0-W3 Connected in an effective manner. The tile interconnection wiring lines M0 to M3 have the same numerical suffix. North of the cousin South, It is possible to connect to the East and West lines. Tile interconnection wiring line M4 To M7 is north, South, east, Can be connected to one of the West Line staggers. Like this hand, Tile interconnection wiring lines M0-M3 are north of the suffix, east, South and west Provide a means of interconnecting wires, The interconnection wiring lines M4-M7 are lines from four directions. To provide the opportunity for cross-connecting. Also, The tile interconnection wiring lines M0-M7 are The Programmable routing matrix 201 is a logical block with circuit arrangement flexibility Means are provided for connecting to the matrix 202 (FIG. 3A). Routing matrix and logic block connectivity model   FIG. 7B illustrates the "star configuration" of the present invention. In a star configuration, Each CLB is a specific star Features (ie, Programmable routing matrix), Ie other star Radial lines extending from the part 201 to the other CLB 301 via the part 201. It is associated with the star-shaped portion 201 that is open. Double and single length lines are shown in FIG. 7B. I have. In another embodiment, Other lengths of lines are used for the star configuration. this like, The star configuration of this invention provides a good connection between the associated CLB and the rest of the device. Ensure the possibility. Global interconnection wiring structure   FIG. 8 shows a global signal pad P113 arranged near the corner of the chip 100 (FIG. 1). , P114, Normally from P115 and P116 to the four sides of the chip 100. Global signal line GTL to be placed, GTR, Fixed to GBR and CBL respectively Indicates a connection. Each global signal line runs vertically or via each row or column of core tile 101. Programmably connectable to multiple horizontal lines. For example, Global upper left The signal line GTL is connected to the global vertical lines GV1-a to GV1-n by PIP PV1-a to GV1-a. Via PV1-n, One for each row of core tiles 101 PIP can be assigned and connected. The global signal line GTR on the upper right is PIP PH0-a. Through PH0-n, One for each row of core tiles 101 Assign two PIPs, It can be connected to the global horizon GH0-a. Lower right global signal The line GBR can be connected to the global vertical lines GV0-a to GV0-n via GV0-n. . Finally, The lower left global signal line GBL is connected to the global horizontal lines GH1-a to GH1-n. It is possible to continue. Global verticals and globals with reference signs beginning with GV or GH The horizon is 2A, As mentioned in connection with 3 and 7, Through the global connection line Programmable routing matrix 201 and C in core tile 101 It can be connected to the LB matrix 202.   As shown in FIG. Long lines that extend through the edge tiles of chip 100 (FIG. 1) LV0L, LV7L, LH0T, LH7T, LV0R, LV7R, LH0B and And LH7B (not shown in FIG. 8 for simplicity but not shown in FIGS. 10A-10D). Is also connectable to the above global line. More specifically, Lower right global signal The line GBR is a lower horizontal long line LH0B via PIP PGBR0 and PGBR7. And can be driven by a signal to LHTB. The global signal line GBL at the lower left is PIP PG Left vertical long line LV0L via bottom left buffer BBL via BL0 and PGBL7 And can be driven by a signal to LV7L. Equivalent connection on top and right side of chip Is provided. left, Up, The right and lower long lines are PIP traces such as PIP PBR7. They can be connected to each other for any reason. Long line LV0L, LV7L etc. are arbitrary around the chip Is driven by signals from the pads of the pad (discussed below in connection with FIGS. 10A-10D). Via the margin tiles 103-106), Any pad can supply a global signal. Furthermore To any of the core tiles, Global signals can be provided via the margin tiles 103-106 It Selectable long line divider   1-9 illustrate one embodiment of the present invention that includes an elongated line divider that can be partially lined. An example is shown. Each of the upper edge tiles 104, Six core tiles 101, And below Two tile rows consisting of the side edge tiles 106 are shown in FIG. Long vertical line LV0-L V7 crosses all core tiles 101, Marginal tiles 10 in each of the two rows Terminate at 4 and 106. The long vertical lines LV0-LV7 are the margin tiles 104 and Of the tile interconnection wiring lines M0-M15 and TQ0-TQ3 in The exposed one can be connected as is conventional in connection with FIGS. 10A-10D. further , As mentioned above with respect to FIGS. 2A and 6, Long lines LV0-LV7 are progress A selectable line in the ramable routing matrix 201 can be connected. Simple For abbreviation, The horizontal long lines LHO-LH7 are not shown in FIG. It is shown in FIG.   In the embodiment shown in FIG. Vertical long lines L in the three upper core tiles 101 V0-LV7 is a part in three lower core tiles 101 by the long line divider LLS. Is separated from. The enlarged view is Long line splitter LLS in one embodiment Includes an n-type transistor which is turned off by a low voltage applied to the control gate CG, this Shows that the vertical long line is divided into upper and lower segments by It The long line divider LLS is a large chip embodiment, Upper and lower long lines Normally used to allow the two to be driven independently of each other by their position on the chip . As shown in Figure 1, The horizontal long lines LH0 to LH7 are also long lines at the center of the chip 100. It is divided by the divider LLS. In another embodiment, Long wire divider L Is it installed along the same long line as some long line dividers such as LS and LLSA? , The long line divider LLSB has one end of the long line in one edge tile and an adjacent edge tile. Provided between one end of the long wire inside, These long lines are connected to each other in a programmable manner. To continue. Marginal tile for the example of FIG. 2A   10A-10D show the edge tile shown in FIG. 2A in more detail. Stated in more detail Then, 10A-10D show the left edge tile 103, Upper edge tile 104, Right edge tile 105, And the lower edge tile 106, respectively. Edges in these examples Tiles are pad PV, PZ, PY, And usually connected to at least one of the PX, Must It does not mean that it is not connected. In another embodiment, described in more detail below with reference to FIG. , There is at least one border tile that is not connected to any pad.   In FIG. 10A, Four pad PV, PZ, PY, And PX are input / output (I / O) Vice IOBV, IOBZ, IOBY, And connected to the margin tile 103 via IOBX respectively ing. I / O device IOBV, IOBZ, IOBY, And each of I0BX is an edge with three lines Connected to edge tile 103. For example, I / O device IOBV is I / O input line IV, I / O output line OV, And connected to the marginal tile 106 by a tri-state line TSV. Output line OV Note that the output signal supplied to P42 is controlled by the I / O tri-state line TSV. I want to. Similar lines are I / O devices IOBZ, IOBY, It is also equipped with IOBX.   With the PIP full distribution I / O input interconnection wiring structure 1001, I / O input line IV, IZ, IY, Signals on the I / O input lines to and IX can drive the edge tile input lines QIN0-QIN3. next to By the output interconnect wiring structure 1004 of the connection, From core tile 101 to output lines QE0-QE3 Signal pad PV, PZ, PY, And PX can be supplied. I / O output interconnection By the line structure 1002, Signals from adjacent core tiles (north line N0-N7 for edge tile 103) , South Line S0-S7, And east lines E1-E5 and E7-E11), And long wire LH0-LH 7 and LV0-LV7 and double length wire DH0, It is possible to supply the signal to DH6 to the pad . The I / O output interconnect wiring structure 1002 has a nearly complete PIP distribution, Inside the chip The signal coming from the other point to the left edge tile 103, Left side from the rest of the tip Between the line leading to the edge tile 103 and the set of edge tile interconnect wiring lines M0-M15. Despite the loose normal interconnect wiring structure 1006, Pad PV, PX, PY, And PZ Lead to any of.   Intermediate interconnect wiring structure 1003 starts from one of the tile interconnect wiring lines M0-M15M0-M15 Guide the incoming signal to one of the edge tile input lines QIN0-QIN3, For the corresponding output lines Q0 to Q3 Guide through the buffer, Supply to corresponding lines TQ0-TQ3 via tri-state buffer block 302 It next, It is possible to supply signals to horizontal long lines LH0-LH7 and vertical long lines LV0-LV7. Can It In this way, the signals to the edge tile input lines QIN0-QIN3 are directly output lines Q0-Q3, Drive lines TQ0-TQ3 via tri-state buffer block 302.   In the feedback interconnection wiring structure 1005, the signals to the output lines Q0-Q3 are tile interconnection wiring lines. , Ie the north line N0-N7, South Line S0-S7, East Line E1-E11, Double length line DE0, DE6, DH0 and D Interconnect wiring line M selectively connected to H6 and connected to long lines LV0-LV7 Drive 0-M15. In this way The margin tiles 103 are 100 chips And a pad connection with external connection to the adjacent core tile 101 chip, And next to Allows connection to tangential edge tiles (or adjacent corner tiles detailed below). Pa Dead PV, PZ, PY, And PX are the pads P42 shown in FIG. 41, 40 and 39 respectively Show.   Figure 10B, 10C, And 10D is the margin tile 104, 105, And 106 respectively . These tiles have the same structure except for orientation and are the same references as shown in Figure 10A. Because the numbers are attached, Figure 10B, 10C, And interface structure shown in I0D Details of are not described here. I / O interface for optional pad   FIG. 10C shows a combination of connected and unconnected pads, Thereby mask Illustrate the flexibility that can be achieved at the level.   In this example, One unconnected pad PZ and connected pad PV, PY , PX is In FIG. 1, pad P6, P7 and P8 (connected to margin tile 105) ) Put the circuit layout shown in () into operation. As shown in Figure 1, A certain number on each edge tile Pad is connected. For example, Pad P17 is only connected to edge tile 106. It is one pad. Therefore, As shown in Figure 10D, Pad PV, PZ, PY, And And only one of the PXs (pad PV in this example) is connected to the margin tile 106. ing.   Returning to FIG. 10C, Pad PZ and its input / output buffer structure IOBZ are removed. And The entire chip is made smaller by reducing the total number of pads on the chip. Entering The force line IZ and the output line OZ are In an area that is outside the outer tile 105 in some embodiments. It is short-circuited. In this way All tiles 105, Pad PV, PZ, PY, And P Regardless of the number of X Layout in the same way. Returning to FIG. Pad P6, P7 and And P8 are connected to one marginal tile 105. In FIG. 10D, Pad PY and And related structures IOBY and ESDY are not provided. That is, The example of FIG. 10D is 2 represents the pads P26 to P28 of FIG. In another embodiment of the invention, Other pads Is four Are removed until the entire pad is removed. For example, Figure 1 shows all pad connections Includes some margin tiles that are not affected (two of the margin tiles 103, One of the margin tiles 104, And one of the edge tiles 105 has no pad. Not continued). Corner tiles   11A-11D show four corner tiles 113 of chip 100 (FIG. 1), 114, 115 and 116 are shown respectively. FIG. 11A shows IEEE 1149. Conventional boundary scan block BS conforming to 1 Including CAN. The block is located in Logistics, San Jose, California 95124. CK Drive 2100 located at Xilinx Inc. . Published by Luis Morales, Xilinx application note "X" Boundary Scan in C4000 Devices ", which is described here. Are incorporated herein by reference in their entirety. In Figure 11A, the upper left corner tile 113 is a fixed connection from the 1x Cho-East line E0-E7 to the 1x Cho-South line S0-S7 respectively, and Programmable connections from long horizontal lines LH0-LH7 to long vertical lines LV0-LV7 respectively including. In addition, FIG. 11A shows a programmable connection of the boundary scan block BSCAN. An example of an interconnect wiring structure 1101 for supplying a single-length wire and a long wire is shown. . Corner tile 113 is a program to external pin P43 which supplies global clock signal SGCK1. Including connection   The circuit layout of the corner tile 114 shown in FIG. 11B is the same as that of the corner tile 113 (FIG. 11A). Is one. More specifically, tile 114 (Fig. 11B) is 1x longer than the West Line W0-W7. Fixed connections that connect to the south south lines S0-S7 respectively, and long horizontal lines LH0-LH7 to long vertical lines LV 0-includes programmable connections to LV7 respectively. 11A and 11B In both, the long vertical line LV0 is connected to the long horizontal line LH0, but tiles 113 and Due to the layout of the Therefore, the corner tiles 113 and 114 have different appearances in FIGS. 11A and 11B. Corner The tile 114 includes a clock input pin P1 for supplying the clock signal SGCK4. Corner tiles 114 is a conventional oscillator / counter circuit used for bit counting during the circuit arrangement of the chip 100. Phases that provide programmable connections between DIVs and the above-mentioned single and long lines Includes interconnect wiring structure 1102. In one embodiment, the circuit DIV is on-chip Used during chip operation to provide an oscillator or counter divider. circuit DIV originates internally Circuitry is arranged to divide the oscillator signal or the user-supplied signal. Corner part File 114 is a boundary scan update signal, that is, an output of a portion of a standard boundary scan circuit (this Most of the circuitry is located in tile 113) and further includes signal BSUPD. In this embodiment , The signals BSUPD are West lines W2 and W3 (hence West lines S2 and S3) and Programmable on horizontal horizontal lines LH2 and LH3 (hence vertical vertical lines LV2 and LV3) Supplied in various forms.   FIG. 12 shows an embodiment of a circuit for implementing the oscillator / counter circuit DIV of FIG. 11B. Show. Two output taps OSCI and OSC2 are provided, and these oscillators are The circuit can be arranged to produce twelve frequencies which are frequency divided outputs. Internal oscillator OS C supplies the oscillator signal to NAND gate 1231. NAND gate 1231 is a memory cell OSCRU Enabled by N. When enabled, the output signal from the oscillator OSC is Supplied to the Luxplexer 1201.   In the memory cell 1202, the multiplexer 1201 provides the output signal from the internal oscillator OSC. Or signal to one of the 1x long west lines W0-W3 (the signal to the 1x long south line SO-SW and each Equal. (See Fig. 11B), or a signal to one of the long horizontal lines LH0-LH3 (long vertical) Supply equal to the signal on lines LV0-LV3). The multiplexer 1201 is It provides an output signal that is subjected to frequency division by lip flops 1214-1220.   Multiplexers 1225 and 1226 are the data inputs for flip-flops 1227 and 1228. Supply the division ratio selection input to the input terminals. The output of these flip-flops Are provided as signals to taps OSC1 and OSC2. Flip-flop 1227 and And 1228 are clocked from the original input signal and output from multiplexers 1225 and 1226. Reduce the skew of the output signal. The multiplexer 1225 is a memory cell OSC1A And under the control of OSC1B, the switching signal is divided by 4, 16, 64 or 256. A signal that can be an input signal from the multiplexed multiplexer 1201 is supplied. Memories Multiplexer 1204 is the original clock from multiplexer 1201 depending on the settings in module 1203. Can output lock signal output, or frequency division that is output from flip-flop 1213 A signal (the original frequency divided by 512) can be supplied. Multiplexer 1204 The original clock signal when the output signal of the multiplexer 1201 is set to be output. Are supplied from the multiplexer 1226 in the form of being divided by 2, 8, 32 or 128. The multiplexer 1204 is designed to supply the divided signal from the flip-flop 1213. Fixed 1212, the multiplexer 1226 determines the frequency of the original input signal to multiplexer 1201. The output is divided by 1024, 4,096, 16,384 or 65,536. in this way, The signals to the output taps OSC1 and OSC2 are tuned to oscillate at many different selected frequencies. Is programmed.   FIG. 11C shows the lower right corner tile 115. Corner tiles 115 are long horizontal lines LH0-LH7 and And long vertical lines LV0-LV7 are connected in a programmable manner, and the north line N0-N7 is connected to the west line. Connect to W0-W7. Corner tiles 115 are programmable interconnect wiring structures, Wachi start up block STARTUP on the north line N0-N7 (hence the west line W0-W7) and long hanging Programmably connect to straight lines LV0-LV7 (hence long horizontal lines LH0-LH7) Further included is an interconnect wiring structure 1103. Start-up block STARTUP sequentially arranges signals It controls the timing of the startup function that accompanies the start of operation of the chip 100 (FIG. 1).   During the start-up function, there are three things to do from the circuit layout mode to the operation mode. is necessary. That is, the signal is emitted to the global tri-state signal terminal GSR and the global reset Signal to the signal terminal GSR and signal to the load complete terminal DONE (all circuits Placement bit indicates that it was loaded in the proper location in the FPGA) . The start-up block STARTUP determines the sequence of emission of these signals and the timing of these signals. Imming (for example, one, two, or three clock cycles between each signal Allows the user to program (eg, separate).   Fig. 11D is constructed by connecting 1x long lines and long lines in the same way as the other three tiles. The lower left tile 116 is shown. The lower left corner tile 116 also includes a readback unit RDBK. Readback block RDBK allows the user to read the contents of the circuit layout memory to any data line. Read out to any external connection pin via the data line terminal of read-back unit RDBK. It is possible to do. The trigger terminal TRIG in the read-back unit RDBK is The same shift record that loads one row of data from the circuit layout memory into the circuit layout memory. It is for a signal that triggers copying to a register. Clock terminal The signal on CLK controls the shift out of the data on line DATA. Read middle edge The signal to the child RIP is the other from the trigger terminal TRIG during the data shift-out. To prevent the chip from sending the signal. In this circuit, to each part tile 116 The circuit layout data for the entire chip operates according to the initial circuit layout route of Shifted out of the chip to any one of the external pins.   Many other embodiments of this invention will be apparent to those skilled in the art from the foregoing description. Would. For example, the above description relates to an embodiment where the core tile is square or square. However, another embodiment includes a tile having six sides.   As mentioned above, the core tiles need not be identical. Different logical contents A set of tile designs can also be provided. If your tile design complies with common boundary constraints, Chips can be formed by combining various designs in various patterns. Good results To obtain, each tile design must have a good signal distribution within the tile. The tile routing matrix efficiently splits incoming signals to logic block input terminals. Must be spread and the logic block output signal must be directed to the tile perimeter. RAM memo There are tiles that do not include logic but only route, and route without logic and memory Some tiles include means. In addition, a tie that physically contains the input / output pads inside. Can also be designed, and its padded tile design achieves distributed access to logic Can be combined with other tile designs. The other embodiments are also the present invention. Is intended to be included within the scope of. This invention is described in the claims. To do.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),JP (72)発明者 ホーレン,ヴィクター エイ. アメリカ合衆国 カリフォルニア州 95070 サラトガ、ショート ヒル コー ト 14000─────────────────────────────────────────────────── ─── Continued front page    (81) Designated countries EP (AT, BE, CH, DE, DK, ES, FR, GB, GR, IE, IT, LU, M C, NL, PT, SE), JP (72) Inventor Horen, Victor A.             United States California             95070 Saratoga, Short Hill Co             14000

Claims (1)

【特許請求の範囲】 1.複数のコアタイルを有するFPGA構造であって、各コアタイルが 回路配置融通性ある論理ブロックマトリックスと、 プログラム可能な経路指示マトリックスと、 前記回路配置融通性ある論理ブロックを隣接コアタイル内の他の回路配置融通 性ある論理ブロックマトリックスに接続する接続手段と、 前記回路配置融通性ある論理ブロックを前記プログラム可能な経路指示マトリ ックスに接続するマトリックス間接続線と、 前記プログラム可能な経路指示マトリックスを隣接コアタイル内のプログラム 可能な経路指示マトリックスに接続する経路指示線と を含むFPGAタイル構造。 2.前記コアタイルが互いに同一である請求項1記載のFPGAタイル構造。 3.一つのコアタイルがもう一つのコアタイルと異なっている請求項1記載のFP GAタイル構造。 4.前記隣接コアタイルが前記コアタイルの北、南、東、および西側に配置して ある請求項1記載のFPGAタイル構造。 5.前記コアタイルを通じて水平方向に延びる複数の長尺線をさらに含み、それ ら複数の長尺線の少なくとも一つが前記マトリックス間接続線の少なくとも一つ に結合されている請求項1記載のFPGAタイル構造。 6.前記コアタイルを通じて垂直方向に延びる複数の長尺線をさらに含み、それ ら複数の長尺線の少なくとも一つが前記マトリックス間接続線の少なくとも一つ に結合されている請求項5記載のFPGAタイル構造。 7.前記回路配置融通性ある論理ブロックマトリックスおよび前記プログラム可 能な経路指示マトリックスに結合された大域水平線をさらに含む請求項6記載の FPGAタイル構造。 8.前記回路配置融通性ある論理ブロックマトリックスおよび前記プログラム可 能な経路指示マトリックスに結合された大域垂直線をさらに含む請求項7記載の FPGAタイル構造。 9.多種長線をさらに含み、それら多種長線が前記隣接コアタイル内にないプロ グラム可能な経路指示マトリックスを結合している請求項8記載のFPGAタイル構 造。 10.前記多種長線が2倍長線である請求項9記載のFPGAタイル構造。 11.前記接続手段が桁上げ出力線および桁上げ入力線を含み、前記桁上げ出力線 が隣接コアタイル内の桁上げ入力線に結合されている請求項1記載のFPGAタイル 構造。 12.前記桁上げ入力線が隣接コアタイル内の桁上げ出力線に結合されている請求 項11記載のFPGAタイル構造。 13.前記接続手段が、 前記回路配置融通性ある論理ブロックマトリックスへの複数の入力線と、 前記回路配置融通性ある論理ブロックマトリックスからの複数の出力線と を含み、前記複数の入力線の少なくとも一つが隣接コアタイル内の前記複数の出 力線の一つに結合され、前記複数の出力線の少なくとも一つが隣接コアタイル内 の前記複数の入力線の一つに結合されている 請求項9記載のFPGAタイル構造。 14.前記回路配置融通性ある論理ブロックマトリックスが 前記複数の入力線に入力相互接続配線構造を通じてプログラム可能な形で接続 された複数の論理ブロック入力線と、 前記複数の出力線に出力相互接続配線構造を通じてプログラム可能な形で接続 された複数の論理ブロック出力線と を含む請求項13記載のFPGAタイル構造。 15.前記回路配置融通性ある論理ブロックマトリックスが前記複数の論理ブロッ ク入力線と前記複数の論理ブロック出力線との間に結合された回路配置融通性あ る論理ブロックをさらに含む請求項14記載のFPGAタイル構造。 16.前記出力相互接続配線構造が前記入力相互接続配線構造よりも多くの相互接 続点分布を有する請求項15記載のFPGAタイル構造。 17.前記入力相互接続構造がまばらな相互接続点分布を有する請求項16記載のFP GAタイル構造。 18.前記出力相互接続構造が十分な相互接続点分布を有する請求項17記載のFPGA タイル構造。 19.前記回路配置融通性ある論理ブロックマトリックスが前記出力線を前記論理 ブロック入力線にプログラム可能な形で接続する帰還相互接続配線構造をさらに 含む請求項15記載のFPGAタイル構造。 20.前記回路配置融通性ある論理ブロックマトリックスが前記マトリックス間接 続線を前記論理ブロック入力線にプログラム可能な形で接続する通常の相互接続 配線構造をさらに含む請求項19記載のFPGAタイル構造。 21.前記マトリックス間接続線の少なくとも一つがバッファを含む請求項20記載 のFPGAタイル構造。 22.前記回路配置融通性ある論理ブロックが複数の関数発生器を含み、それら関 数発生器の各々が前記論理ブロック入力線のサブセットに結合されている請求項 20記載のFPGAタイル構造。 23.前記回路配置融通性ある論理ブロックが複数のマルチプレクサを含み、前記 複数の関数発生器の少なくとも一つが前記複数のマルチプレクサの少なくとも一 つに信号を供給する請求項22記載のFPGAタイル構造。 24.前記回路配置融通性ある論理ブロックが複数のレジスタ手段をさらに含み、 前記複数のマルチプレクサの少なくとも一つが前記複数のレジスタの少なくとも 一つに信号を供給する請求項23記載のFPGAタイル構造。 25.少なくとも一つの関数発生器が一つの論理ブロック出力線に結合されている 請求項24記載のFPGAタイル構造。 26.少なくとも一つのマルチプレクサが一つの論理ブロック出力線に接続されて いる請求項25記載のFPGAタイル構造。 27.少なくとも一つのレジスタが一つの論理ブロック出力線に結合されている請 求項26記載のFPGAタイル構造。 28.少なくとも一つのマルチプレクサが前記桁上げ出力線に結合されている請求 項27記載のFPGAタイル構造。 29.少なくとも一つのマルチプレクサが前記桁上げ入力線に結合されている請求 項28記載のFPGAタイル構造。 30.前記回路配置融通性ある論理ブロックがマルチプレクサ群をさらに含み、そ れらマルチプレクサ群の各々が前記複数の関数発生器の一つに結合されている請 求項22記載のFPGAタイル構造。 31.前記回路配置融通性ある論理ブロックが複数のレジスタ手段をさらに含み、 各マルチプレクサ群が前記複数のレジスタ手段の一つに信号を供給する請求項30 記載のFPGAタイル構造。 32.各関数発生器が一つの論理ブロック出力線に結合されている請求項31記載の FPGAタイル構造。 33.各マルチプレクサ群の少なくとも一つのマルチプレクサが一つの論理ブロッ ク出力線に結合されている請求項32記載のFPGAタイル構造。 34.各レジスタが一つの論理ブロック出力線に結合されている請求項33記載のFP GAタイル構造。 35.少なくとも一つのマルチプレクサが前記回路配置融通性ある論理ブロックの 桁上げ出力線に結合されている請求項34記載のFPGAタイル構造。 36.少なくとも一つのマルチプレクサが前記回路配置融通性ある論理ブロックの 桁上げ入力線に結合されている請求項35記載のFPGAタイル構造。 37.前記出力相互接続配線構造が第1の複数のトランジスタを含み、各トランジ スタが一つの論理ブロック出力線に備えられている請求項20記載のFPGAタイル構 造。 38.前記出力相互接続配線構造が第1の複数のメモリデバイスを含み、各メモリ デバイスが前記複数のトランジスタのサブセットの状態を制御する請求項35記載 のFPGAタイル構造。 39.前記出力相互接続配線構造が第2の複数のトランジスタを含み、それら第2 の複数のトランジスタの各々が前記複数の論理ブロック出力線のサブセットと一 つの出力線との間に結合されている請求項38記載のFPGAタイル構造。 40.前記出力相互接続配線構造が前記第2の複数のトランジスタの状態を制御す る第2の複数のメモリデバイスをさらに含む請求項39記載のFPGAタイル構造。 41.前記入力相互接続配線構造および前記通常の相互接続配線構造が第1の複数 のトランジスタを含み、それら第1の複数のトランジスタが前記複数のマトリッ クス間接続線のサブセットおよび前記複数の入力線のサブセットに備えてある請 求項20記載のFPGAタイル構造。 42.前記入力相互接続配線構造および前記通常の相互接続配線構造が前記第1の 複数のトランジスタの状態を制御する少なくとも一つのメモリデバイスを含む請 求項41記載のFPGAタイル構造。 43.前記入力相互接続配線構造および前記通常の相互接続配線構造が第2の複数 のトランジスタを含み、これら第2の複数のトランジスタの各々が前記複数のマ トリックス間接続線のサブセットまたは前記複数の入力線の追加のサブセットと 一つの論理ブロック入力線との間に結合されている請求項41記載のFPGAタイル構 造。 44.前記入力相互接続配線構造および前記通常の相互接続配線構造が、前記第2 の複数のトランジスタの状態を制御する第2の複数のメモリデバイスをさらに含 む請求項43記載のFPGAタイル構造。 45.前記プログラム可能な経路指示マトリックスが前記経路指示線を前記マトリ ックス間接続線に結合するプログラム可能な相互接続配線構造を含む請求項20記 載のFPGAタイル構造。 46.前記プログラム可能な相互接続配線構造が、前記コアタイルを通って水平に 延びる前記複数の長尺線を前記マトリックス間接続線にさらに結合する請求項45 記載のFPGAタイル構造。 47.前記プログラム可能な相互接続配線構造が、前記コアタイルを通って垂直に 延びる前記複数の長尺線を前記マトリックス間接続線にさらに結合する請求項46 記載のFPGAタイル構造。 48.前記プログラム可能な相互接続配線構造が前記多種長線を前記マトリックス 間接続線にさらに結合する請求項47記載のFPGAタイル構造。 49.前記プログラム可能な相互接続配線構造が前記大域水平線を前記マトリック ス間接続線にさらに結合する請求項48記載のFPGAタイル構造。 50.前記プログラム可能な相互接続配線構造が前記大域垂直線を前記マトリック ス間接続線にさらに結合する請求項49記載のFPGAタイル構造。 51.前記長尺線、すなわち前記コアタイルを横切って水平または垂直に延びる前 記長尺線の少なくとも一方が長尺線分割器を含み、その長尺線分割器が前記少な くとも一つの長尺線の伝導を阻止する手段を含む請求項6記載のFPGAタイル構造 。 52.前記伝導を阻止する手段がトランジスタを含む請求項51記載のFPGAタイル構 造。 53.前記トランジスタがn型トランジスタである請求項52記載のFPGAタイル構造 。 54.複数の辺縁タイルをさらに含み、各辺縁タイルが少なくとも一つの別の辺縁 タイルおよび一つのコアタイルに結合されている請求項20記載のFPGAタイル構造 。 55.各辺縁タイルが入力/出力(I/O)デバイスにさらに結合されている請求項5 4記載のFPGAタイル構造。 56.前記I/Oデバイスが前記チップへの外部接続を提供するパッドに接続されて いる請求項55記載のFPGAタイル構造。 57.前記パッドに静電気放電デバイスを接続してある請求項56記載のFPGAタイル 構造。 58.前記辺縁タイルが前記I/Oデバイスを前記経路指示線、前記入力線、前記出 力線、および前記多種長線に接続する手段を含む請求項56記載のFPGAタイル構造 。 59.前記結合手段が前記大域水平線または前記大域垂直線を前記I/Oデバイスに 結合する請求項58記載のFPGAタイル構造。 60.前記結合手段が第1の相互接続配線構造を含む請求項56記載のFPGAタイル構 造。 61.複数の角部タイルをさらに含み、各角部タイルが二つの隣接辺縁タイルに接 続されている請求項54記載のFPGAタイル構造。 62.前記角部タイルが、前記コアタイルを横切って水平に延びる前記複数の長尺 線を、前記コアタイルを横切って垂直に延びる前記複数の長尺線に接続する請求 項61記載のFPGAタイル構造。 63.前記角部タイルが前記複数の経路指示線の第1のサブセットを前記複数の経 路指示線の第2のサブセットにさらに接続する請求項61記載のFPGAタイル構造。 64.前記角部タイルが、前記コアタイルを横切って水平に延びる前記複数の長尺 線および前記複数の経路指示線の前記第1のサブセットを選択された回路にプロ グラム可能な形で接続する角部タイル相互接続配線構造を含む請求項61記載のFP GAタイル構造。 65.前記選択された回路が境界走査ブロックである請求項64記載のFPGAタイル構 造。 66.前記選択された回路が発振/カウンタ回路である請求項64記載のFPGAタイル 構造。 67.前記選択された回路が立上げブロックである請求項64記載のFPGAタイル構造 。 68.前記選択された回路が読戻しユニットである請求項64記載のFPGAタイル構造 。 69.前記辺縁タイルが、前記コアタイルを横切って水平に延びる前記長尺線の少 なくとも一つに外部ピンをプログラム可能な形で接続する手段をさらに含む請求 項61記載のFPGAタイル構造。 70.各々が回路配置融通性ある論理ブロックマトリックスおよびプログラム可能 な経路指示マトリックスを含む複数の対構成構造と、 前記回路配置融通性ある論理ブロックマトリックスを前記プログラム可能な経 路指示マトリックスに接続する複数の接続線と、 前記プログラム可能な経路指示マトリックスを他の対構成構造内の他のプログ ラム可能な経路指示マトリックスと を含むFPGAタイル構造。 71.一つの対構成構造内の前記回路配置融通性ある論理ブロックマトリックスを 他の対構成構造内の複数の回路配置可能な論理ブロックマトリックスに前記プロ グラム可能な経路指示マトリックスを用いることなく接続する手段をさらに含む 請求項70記載のFPGAタイル構造。 72.前記接続する手段が、 第1のプログラム可能な経路指示マトリックスを隣接のプログラム可能な経路 指示マトリックスに接続する複数の1倍長線と、 前記第1のプログラム可能な経路指示マトリックスを非隣接のプログラム可能 な経路指示マトリックスに接続する複数の2倍長線と を含む請求項70記載のFPGAタイル構造。 73.各々が複数の隣接のプログラム可能な経路指示マトリックスにプログラム可 能な形で接続できる複数の長尺線 をさらに含む請求項70記載のFPGAタイル構造。 74.複数の信号線と、 信号線一つにつき一つ設けられた第1の複数のトランジスタと、 前記複数のトランジスタの状態を制御する少なくとも一つのメモリデバイスと 、 前記第1の複数のトランジスタのサブセットに各々が接続された第2の複数の トランジスタと、 前記第2の複数のトランジスタの状態を、それら第2の複数のトランジスタの どれが出力線に信号を供給するかを決めるように制御する手段と を含む相互接続配線構造。 75.前記第1の複数のトランジスタの一つのサブセットに直列に接続された第3 の複数のトランジスタをさらに含む請求項74記載の相互接続配線構造。 76.前記少なくとも一つのメモリデバイスが複数のメモリデバイスを含み、各メ モリデバイスが前記第3の複数のトランジスタの一つの状態を制御する請求項75 記載の相互接続配線構造。 77.前記複数のメモリデバイスが前記第1の複数のトランジスタに信号を、前記 第3の複数のトランジスタに前記信号の補数をそれぞれ供給する請求項76記載の 相互接続配線構造。 78.複数の信号線と、 信号線一つにつき一つ設けられた第1の複数のトランジスタと、 前記第1の複数のトランジスタの状態を、前記第1の複数のトランジスタの第 1のグループに信号を供給するとともに前記第1の複数のトランジスタの第2の グループにその信号の補数を供給するように制御する第1のメモリデバイスと、 各々が前記第1の複数のトランジスタのサブセットに結合された第2の複数の トランジスタと、 前記第2の複数のトランジスタの状態を、前記第2の複数のトランジスタの第 1のグループに信号を供給するとともに前記第2の複数のトランジスタの第2の グループにその信号の補数を供給するように制御する第2のメモリデバイスと、 前記第2の複数のトランジスタのサブセットに各々が接続された第3の複数の トランジスタと、 前記第3の複数のトランジスタの状態を、前記第3の複数のトランジスタの第 1のグループに信号を供給し前記第3の複数のトランジスタの第2のグループに その信号の補数を供給するように制御する第3のメモリデバイス とを含み、前記第3の複数のトランジスタの一つが出力線に信号を生ずる相互接 続配線構造。 79.タイル型FPGA構造であって、 各々が回路配置融通性ある論理ブロックマトリックスおよび関連のプログラム 可能な経路指示マトリックスを含み行および列状に形成された複数のコアタイル と、 前記複数のコアタイルの北側、東側、南側および西側周辺に形成された複数の 辺縁タイルと、 前記複数の辺縁タイルに近接して形成された複数の角部タイルと を含むタイル型FPGA構造。 80.前記コアタイルならびに前記北側および南側周辺に形成された前記辺縁タイ ルの各行を通じて延びる複数の水平長尺線をさらに含む請求項79記載のタイル型 FPGA構造。 81.前記コアタイルならびに前記東側および西側周辺に形成された前記辺縁タイ ルの各列を通じて延びる複数の垂直長尺線をさらに含む請求項80記載のタイル型 FPGA構造。 82.前記北側および南側周辺に形成された前記辺縁タイルを通じて延びる前記水 平長尺線が前記東側および西側周辺に形成された前記辺縁タイルの各列を通じて 延びる複数の垂直長尺線に、前記複数の角部タイルにより結合されている請求項 81記載のタイル型FPGA構造。 83.コアタイル、辺縁タイル、または角部タイルの各々が少なくとも二つの線を 含み、一つの角部タイルが東線に結合された北線を含み、もう一つの角部タイル が東線に結合された南線を含み、もう一つの角部タイルが南線に結合された西線 を含み、さらにもう一つの角部タイルが西線に結合された北線を含み、前記南側 周辺の一つの辺縁タイルが東線および西線に結合された北線を含み、前記西側周 辺のもう一つの辺縁タイルが北線および南線に結合された東線を含み、前記北側 周辺のもう一つの辺縁タイルが東線および西線に結合された南線を含み、前記東 側周辺のさらにもう一つの辺縁タイルが北線および南線に結合された東線を含み 、コアタイルが東線、南線、および西線に結合された北線を含み、角部タイルの 前記西線が前記北側周辺または前記南側周辺に形成された辺縁タイルの前記東線 に結合され、角部タイルの前記東線が前記北側周辺または前記南側周辺に形成さ れた辺縁タイルの前記西線に結合され、角部タイルの前記南線が前記東側周辺ま た は前記西側周辺に形成された辺縁タイルの前記北線に結合され、角部タイルの前 記北線が前記東側周辺または前記西側周辺に形成された辺縁タイルの前記南線に 結合され、前記北側周辺に形成された辺縁タイルの前記南線がコアタイルの前記 北線に結合され、前記東側周辺に形成された辺縁タイルの前記西線がコアタイル の前記東線に結合され、前記南側周辺に形成された辺縁タイルの前記北線がコア タイルの前記南線に結合され、前記西側周辺に形成された辺縁タイルの前記東線 がコアタイルの前記西線に結合されている請求項82記載のタイル型FPGA構造。 84.各辺縁タイルが通常の相互接続配線構造を含み、前記複数の水平長尺線と前 記少なくとも二つの線とが前記通常の相互接続配線構造にプログラム可能な形で 接続されている請求項83記載のタイル型FPGA構造。 85.少なくとも一つのパッドをさらに含み、その少なくとも一つのパッドを辺縁 タイルの前記通常の相互接続配線構造にプログラム可能な形で接続した請求項84 記載のタイル型FPGA構造。 86.複数のパッドをさらに含み、各パッドを辺縁タイルの前記通常の相互接続配 線構造にプログラム可能な形で接続した請求項85記載のタイル型FPGA構造。 87.前記少なくとも一つのパッドをパッド相互接続配線構造経由で前記通常の相 互接続配線構造にプログラム可能な形で接続した請求項85記載のタイル型FPGA構 造。 88.前記通常の相互接続配線構造および前記パッド相互接続配線構造の両方がプ ログラム可能な相互接続点(PIP)を含む請求項87記載のタイル型FPGA構造。 89.前記パッド相互接続配線構造が前記通常の相互接続配線構造よりも多くのPI Pを備える請求項88記載のタイル型FPGA構造。 90.前記パッド相互接続配線構造が実質的に全面的にPIPを備える請求項89記載 のタイル型FPGA構造。 91.前記通常の相互接続配線構造が前記PIPをまばらに備える請求項90記載のタ イル型FPGA構造。 92.タイル型FPGA構造を形成する方法であって、 回路配置融通性ある論理ブロックマトリックスをコアタイル内に形成する過程 と、 プログラム可能な経路指示マトリックスをコアタイル内に形成する過程と、 前記回路配置融通性ある論理ブロックマトリックスおよび前記プログラム可能 な経路指示マトリックスを結合する過程と、 前記回路配置融通性ある論理ブロックマトリックスを近接コアタイル内の回路 配置融通性ある論理ブロックマトリックスに結合する過程と、 前記プログラム可能な経路指示マトリックスをもう一つのコアタイル内のプロ グラム可能な経路指示マトリックスに結合する過程と を含む方法。 93.前記もう一つのコアタイルが前記コアタイル内の前記プログラム可能な経路 指示マトリックスに近接している請求項92記載のタイル型FPGA構造の形成方法。 94.前記もう一つのコアタイルが前記コアタイル内の前記プログラム可能な経路 指示マトリックスに近接していない請求項92記載のタイル型FPGA構造の形成方法 。[Claims] 1. An FPGA structure with multiple core tiles, where each core tile is   A circuit block flexible logic block matrix,   Programmable routing matrix,   The above-mentioned circuit arrangement flexible logic block is used to accommodate another circuit arrangement in an adjacent core tile. Connection means for connecting to a logical logic block matrix,   The circuit layout flexible logic block is connected to the programmable routing matrix. Inter-matrix connecting line connecting to the   Program the programmable routing matrix in adjacent core tiles With routing lines that connect to possible routing matrices FPGA tile structure containing. 2. The FPGA tile structure according to claim 1, wherein the core tiles are identical to each other. 3. The FP of claim 1, wherein one core tile is different from another core tile. GA tile structure. 4. The adjacent core tiles are located on the north, south, east, and west sides of the core tiles. The FPGA tile structure according to claim 1. 5. Further comprising a plurality of elongated lines extending horizontally through the core tile, At least one of the plurality of long wires is at least one of the inter-matrix connecting wires. The FPGA tile structure of claim 1 coupled to. 6. Further comprising a plurality of elongated lines extending vertically through the core tile, At least one of the plurality of long wires is at least one of the inter-matrix connecting wires. The FPGA tile structure of claim 5 bonded to. 7. The circuit arrangement flexible logic block matrix and the programmable 7. The method of claim 6 further comprising a global horizon coupled to the active routing matrix. FPGA tile structure. 8. The circuit arrangement flexible logic block matrix and the programmable 8. The method of claim 7, further comprising a global vertical line coupled to the active routing matrix. FPGA tile structure. 9. A multi-length line is further included, the multi-length line not being in the adjacent core tile. 9. The FPGA tile structure of claim 8 having a grammable routing matrix associated with it. Build. Ten. The FPGA tile structure according to claim 9, wherein the various long lines are double length lines. 11. The connecting means includes a carry output line and a carry input line, and the carry output line The FPGA tile of claim 1 in which is coupled to a carry input line in an adjacent core tile. Construction. 12. The carry input line is coupled to a carry output line in an adjacent core tile. The FPGA tile structure according to item 11. 13. The connection means is   A plurality of input lines to the circuit layout flexible logic block matrix;   A plurality of output lines from the circuit layout flexible logic block matrix; Wherein at least one of the plurality of input lines is in the plurality of outputs in adjacent core tiles. Coupled to one of the force lines and at least one of the plurality of output lines is in an adjacent core tile Is coupled to one of the plurality of input lines of The FPGA tile structure according to claim 9. 14. The circuit layout flexible logic block matrix   Programmably connect to the plurality of input lines through an input interconnection wiring structure Multiple logic block input lines,   Programmably connect to the plurality of output lines through an output interconnection wiring structure Multiple logic block output lines 14. The FPGA tile structure of claim 13 including. 15. The circuit layout flexible logic block matrix is used for the plurality of logic block matrices. Circuit layout flexibility coupled between the input line and the plurality of logic block output lines. 15. The FPGA tile structure of claim 14, further comprising a logic block that includes: 16. The output interconnection wiring structure has more interconnections than the input interconnection wiring structure. 16. The FPGA tile structure of claim 15 having a sequency distribution. 17. The FP of claim 16, wherein the input interconnect structure has a sparse interconnect distribution. GA tile structure. 18. 18. The FPGA of claim 17, wherein the output interconnection structure has a sufficient distribution of interconnection points. Tile structure. 19. The circuit layout flexible logic block matrix connects the output lines to the logic Additional feedback interconnect wiring structure for programmable connection to block input lines 16. The FPGA tile structure of claim 15 including. 20. The circuit layout flexible logic block matrix is the matrix indirect. Conventional interconnections that connect the connection to the logic block input lines in a programmable manner 20. The FPGA tile structure of claim 19, further comprising a wiring structure. twenty one. 21. At least one of the inter-matrix connection lines includes a buffer. FPGA tile structure. twenty two. The circuit layout flexible logic block includes a plurality of function generators, The number generators are each coupled to a subset of the logic block input lines. 20 FPGA tile structure. twenty three. The circuit layout flexible logic block includes a plurality of multiplexers, At least one of the plurality of function generators includes at least one of the plurality of multiplexers; 23. The FPGA tile structure of claim 22, which provides a signal to one. twenty four. The circuit layout flexible logic block further comprises a plurality of register means, At least one of the plurality of multiplexers is at least one of the plurality of registers. 24. The FPGA tile structure of claim 23, which supplies signals to one. twenty five. At least one function generator is coupled to one logic block output line The FPGA tile structure of claim 24. 26. At least one multiplexer connected to one logic block output line 26. The FPGA tile structure according to claim 25. 27. A contract in which at least one register is coupled to one logic block output line. FPGA tile structure according to claim 26. 28. At least one multiplexer is coupled to the carry output line The FPGA tile structure according to Item 27. 29. At least one multiplexer is coupled to the carry input line. The FPGA tile structure according to Item 28. 30. The circuit layout flexible logic block further includes a group of multiplexers. Each of these multiplexer groups is coupled to one of the plurality of function generators. FPGA tile structure according to claim 22. 31. The circuit layout flexible logic block further comprises a plurality of register means, 30. Each multiplexer group supplies a signal to one of the plurality of register means. The described FPGA tile structure. 32. The method of claim 31, wherein each function generator is coupled to one logic block output line. FPGA tile structure. 33. At least one multiplexer in each multiplexer group is a logic block. 33. The FPGA tile structure of claim 32 coupled to an output line. 34. The FP of claim 33, wherein each register is coupled to one logic block output line. GA tile structure. 35. At least one multiplexer of the circuit layout flexible logic block The FPGA tile structure of claim 34 coupled to the carry output line. 36. At least one multiplexer of the circuit layout flexible logic block 36. The FPGA tile structure of claim 35 coupled to a carry input line. 37. The output interconnection wiring structure includes a first plurality of transistors, each transition 21. The FPGA tile structure according to claim 20, wherein the star is provided for one logic block output line. Build. 38. The output interconnect wiring structure includes a first plurality of memory devices, each memory 36. A device controls the state of a subset of the plurality of transistors. FPGA tile structure. 39. The output interconnection wiring structure includes a second plurality of transistors, the second plurality of transistors Each of the plurality of transistors of the plurality of transistors is associated with a subset of the plurality of logic block output lines. 39. The FPGA tile structure of claim 38 coupled between two output lines. 40. The output interconnect wiring structure controls the state of the second plurality of transistors. 40. The FPGA tile structure of claim 39, further comprising a second plurality of memory devices that include: 41. The input interconnection wiring structure and the normal interconnection wiring structure are a first plurality. Of transistors, the first plurality of transistors being the plurality of matrices. Contracts provided for a subset of inter-connector lines and a subset of the plurality of input lines. FPGA tile structure according to claim 20. 42. The input interconnection wiring structure and the ordinary interconnection wiring structure are the first interconnection wiring structure. A contract including at least one memory device for controlling the states of a plurality of transistors The FPGA tile structure according to claim 41. 43. The input interconnection wiring structure and the normal interconnection wiring structure are a second plurality. Of transistors and each of the second plurality of transistors comprises a plurality of transistors. With a subset of inter-trix connection lines or an additional subset of said plurality of input lines The FPGA tile structure of claim 41 coupled to one logic block input line. Build. 44. The input interconnection wiring structure and the normal interconnection wiring structure are the second interconnection wiring structure. Further comprising a second plurality of memory devices controlling the states of the plurality of transistors of the The FPGA tile structure according to claim 43. 45. The programmable routing matrix routes the routing lines to the matrix. 21. Includes a programmable interconnect wiring structure that couples to inter-ix connection lines. Installed FPGA tile structure. 46. The programmable interconnect wiring structure runs horizontally through the core tile. 45. The plurality of elongated lines extending further coupled to the inter-matrix connecting lines. The described FPGA tile structure. 47. The programmable interconnect wiring structure extends vertically through the core tile. 47. The plurality of elongated lines extending further coupled to the inter-matrix connecting lines. The described FPGA tile structure. 48. The programmable interconnect wiring structure comprises the multi-type long lines in the matrix. 48. The FPGA tile structure of claim 47, further coupled to inter-connect lines. 49. The programmable interconnect wiring structure connects the global horizon to the matrix. 49. The FPGA tile structure of claim 48, further coupled to inter-line connection lines. 50. The programmable interconnect wiring structure connects the global vertical line to the matrix. 50. The FPGA tile structure of claim 49, further coupled to an interline connection line. 51. Before the long lines, ie, extending horizontally or vertically across the core tiles At least one of the long lines includes a long line divider, and the long line divider is The FPGA tile structure of claim 6 including means for blocking the conduction of at least one long line. . 52. 52. The FPGA tile structure of claim 51, wherein the means for blocking conduction comprises a transistor. Build. 53. 53. The FPGA tile structure of claim 52, wherein the transistor is an n-type transistor. . 54. Further including a plurality of edge tiles, each edge tile having at least one other edge edge The FPGA tile structure of claim 20 combined with a tile and a core tile. . 55. The edge tiles are further coupled to input / output (I / O) devices. FPGA tile structure described in 4. 56. The I / O device is connected to a pad that provides an external connection to the chip 56. The FPGA tile structure of claim 55. 57. The FPGA tile of claim 56, wherein an electrostatic discharge device is connected to the pad. Construction. 58. The edge tile connects the I / O device to the routing line, the input line, and the output line. 57. The FPGA tile structure of claim 56 including force lines and means for connecting to said multi-length lines. . 59. The coupling means connects the global horizontal line or the global vertical line to the I / O device. 59. The FPGA tile structure of claim 58, which is bonded. 60. 57. The FPGA tile structure of claim 56, wherein said coupling means comprises a first interconnect wiring structure. Build. 61. It further includes a plurality of corner tiles, each corner tile touching two adjacent edge tiles. 55. The FPGA tile structure of claim 54, which is continued. 62. The plurality of elongated strips in which the corner tiles extend horizontally across the core tiles. Connecting a line to the plurality of elongate lines extending vertically across the core tile. The FPGA tile structure according to Item 61. 63. The corner tiles define a first subset of the plurality of routing lines into the plurality of tracks. 62. The FPGA tile structure of claim 61, further connecting to a second subset of route indicators. 64. The plurality of elongated strips in which the corner tiles extend horizontally across the core tiles. A line and the first subset of the plurality of routing lines to a selected circuit. 62. The FP of claim 61 including a corner tile interconnect wiring structure that connects in a grammable manner. GA tile structure. 65. The FPGA tile structure of claim 64, wherein the selected circuit is a boundary scan block. Build. 66. 66. The FPGA tile of claim 64, wherein the selected circuit is an oscillator / counter circuit. Construction. 67. The FPGA tile structure of claim 64, wherein the selected circuit is a startup block. . 68. 65. The FPGA tile structure of claim 64, wherein the selected circuit is a readback unit. . 69. The margin tiles are smaller than the long lines that extend horizontally across the core tiles. Claims further comprising means for programmable connection of external pins to at least one The FPGA tile structure according to Item 61. 70. Logic block matrix and programmable, each with flexible circuit layout A plurality of paired constructions including different routing matrices,   The circuit layout flexible logic block matrix A plurality of connecting lines that connect to the route matrix,   The programmable routing matrix can be used for other programs in other pair constructions. Ramable routing matrix and FPGA tile structure containing. 71. The circuit arrangement flexible logic block matrix in one pair configuration structure The logic block matrix capable of arranging a plurality of circuits in another pair structure is provided with the program. Further includes means for connecting without using a Gramtable Routing Matrix 71. The FPGA tile structure of claim 70. 72. The means for connecting is   The first programmable routing matrix to the adjacent programmable routes A plurality of single length lines connected to the instruction matrix,   Non-adjacent programmable of the first programmable routing matrix Multiple double-length lines that connect to different routing matrices 71. The FPGA tile structure of claim 70, including. 73. Programmable into multiple contiguous programmable routing matrices, each Multiple long wires that can be connected in any suitable form 71. The FPGA tile structure of claim 70, further comprising: 74. Multiple signal lines,   A first plurality of transistors provided for each signal line;   At least one memory device for controlling the states of the plurality of transistors; ,   A second plurality of transistors each connected to a subset of the first plurality of transistors. A transistor,   The states of the second plurality of transistors are compared with those of the second plurality of transistors. Means to control to determine which provides the signal to the output line Interconnect wiring structure including. 75. A third connected in series to a subset of the first plurality of transistors 75. The interconnect wiring structure of claim 74, further comprising a plurality of transistors of. 76. The at least one memory device includes a plurality of memory devices, each memory device 75. A memory device controls the state of one of the third plurality of transistors. The interconnection wiring structure described. 77. The plurality of memory devices send signals to the first plurality of transistors; 77. The complement of the signal is provided to a third plurality of transistors, respectively. Interconnect wiring structure. 78. Multiple signal lines,   A first plurality of transistors provided for each signal line;   The state of the first plurality of transistors is changed to the first state of the first plurality of transistors. Supplying a signal to a group of one of the second plurality of transistors of the first plurality of transistors. A first memory device controlling the group to provide the complement of that signal;   A second plurality of transistors, each coupled to a subset of the first plurality of transistors. A transistor,   The state of the second plurality of transistors is changed to the state of the second plurality of transistors. Supplying a signal to a group of one of the second plurality of transistors A second memory device controlling the group to provide the complement of that signal;   A third plurality of transistors each connected to a subset of the second plurality of transistors. A transistor,   The state of the third plurality of transistors is changed to the state of the third plurality of transistors. Supplying a signal to one group to the second group of the third plurality of transistors Third memory device controlling to provide the complement of the signal And one of the third plurality of transistors produces a signal on the output line. Continued wiring structure. 79. It has a tiled FPGA structure,   Logic block matrix and associated program, each of which is flexible in circuit layout Multiple core tiles formed in rows and columns containing possible routing matrices When,   A plurality of core tiles formed on the north, east, south and west sides of the core tiles. Margin tiles,   A plurality of corner tiles formed adjacent to the plurality of edge tiles; Tile-type FPGA structure including. 80. The core tile and the marginal ties formed around the north and south sides 80. The tile type of claim 79, further comprising a plurality of horizontal elongated lines extending through each row of FPGA structure. 81. The core tile and the marginal ties formed around the east and west sides 81. The tile type of claim 80, further comprising a plurality of vertical elongated lines extending through each row of FPGA structure. 82. The water extending through the margin tiles formed around the north and south sides Through each row of the margin tiles where a flat long line is formed around the east and west sides The vertical tiles that extend are joined by the plurality of corner tiles. The tiled FPGA structure described in 81. 83. Each core tile, edge tile, or corner tile has at least two lines Contains, one corner tile contains the north line joined to the east line, and another corner tile Includes the south line connected to the east line, and another corner tile is the west line connected to the south line And another corner tile includes a north line joined to the west line, said south side One of the perimeter tiles on the periphery includes the north line joined to the east and west lines, Another edge tile of a side includes an east line joined to a north line and a south line, said north side Another peripheral edge tile includes a south line joined to the east and west lines, said east line Yet another edge tile around the side includes the east line joined to the north and south lines , The core tiles include the north line joined to the east, south, and west lines, The east line of the marginal tile in which the west line is formed around the north side or the south side And the east line of the corner tile is formed around the north side or the south side. Joined to the west line of the edge tiles, and the south line of the corner tiles to the east side. Was Is connected to the north line of the edge tiles formed on the west side, and is in front of the corner tiles. The north line is on the south line of the marginal tiles formed around the east side or the west side. The south line of the edge tiles that are combined and formed around the north side is the core tile. The west line of the marginal tiles formed on the east side is connected to the north line and the west line is the core tile. Is connected to the east line of the, and the north line of the edge tiles formed around the south side is the core The east line of the marginal tile that is joined to the south line of tiles and is formed around the west side 83. The tiled FPGA structure of claim 82, wherein is bonded to the west line of the core tile. 84. Each edge tile includes a normal interconnect wiring structure, and the plurality of horizontal long lines and front Note that at least two wires are programmable in the usual interconnection wiring structure. 84. The tiled FPGA structure of claim 83 connected. 85. Further comprising at least one pad, the at least one pad being bordered 85. Programmably connected to the conventional interconnect wiring structure of tiles. The tiled FPGA structure shown. 86. A plurality of pads are further included, each pad including the conventional interconnect arrangement of the edge tiles. 86. The tiled FPGA structure of claim 85 connected programmably to a line structure. 87. The at least one pad is connected to the normal phase via a pad interconnection wiring structure. 86. The tiled FPGA structure of claim 85, wherein the tiled FPGA structure is programmablely connected to the interconnect wiring structure. Build. 88. Both the regular interconnect wiring structure and the pad interconnect wiring structure are 88. The tiled FPGA structure of claim 87, including programmable interconnect points (PIPs). 89. The pad interconnect wiring structure has more PI than the normal interconnect wiring structure. 89. The tiled FPGA structure of claim 88, comprising P. 90. 89. The pad interconnect wiring structure comprises PIP substantially entirely. Tiled FPGA structure. 91. The tag of claim 90, wherein the conventional interconnect wiring structure sparsely comprises the PIPs. Ill-type FPGA structure. 92. A method of forming a tiled FPGA structure comprising:   A process for forming a flexible logic block matrix in a core tile. When,   Forming a programmable routing matrix within the core tile,   The circuit layout flexible logic block matrix and the programmable The process of combining different routing matrices,   The circuit layout flexible logic block matrix to a circuit in a proximity core tile A process of connecting to a logical block matrix with configuration flexibility,   The programmable routing matrix is added to another core tile The process of binding to a Gram-enabled routing matrix and Including the method. 93. The other core tile is the programmable path within the core tile. 93. The method of forming a tiled FPGA structure of claim 92 adjacent to an instruction matrix. 94. The other core tile is the programmable path within the core tile. 93. A method of forming a tiled FPGA structure according to claim 92, which is not proximate to an instruction matrix .
JP52129595A 1994-02-15 1995-02-07 Tile type structure of field programmable gate array Expired - Lifetime JP3547446B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US19691494A 1994-02-15 1994-02-15
US22213894A 1994-04-01 1994-04-01
US08/196,914 1994-04-01
US08/222,138 1994-04-01
PCT/US1995/001554 WO1995022205A1 (en) 1994-02-15 1995-02-07 Tile based architecture for fpga

Publications (2)

Publication Number Publication Date
JPH08509344A true JPH08509344A (en) 1996-10-01
JP3547446B2 JP3547446B2 (en) 2004-07-28

Family

ID=26892384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52129595A Expired - Lifetime JP3547446B2 (en) 1994-02-15 1995-02-07 Tile type structure of field programmable gate array

Country Status (3)

Country Link
EP (1) EP0698312A1 (en)
JP (1) JP3547446B2 (en)
WO (1) WO1995022205A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424171B1 (en) 1998-10-30 2002-07-23 Nec Corporation Base cell and two-dimensional array of base cells for programmable logic LSI
JP2011527543A (en) * 2008-07-09 2011-10-27 ユニベルシテ ピエール エ マリー キュリー(パリ シズエム) Programmable gate array and interconnect switch and logic unit of such array
JP2012055004A (en) * 2007-05-21 2012-03-15 Altera Corp Programmable logic device including complex logic block with improved logic cell functionality
JP2016513363A (en) * 2013-02-08 2016-05-12 ザ トラスティーズ オブ プリンストン ユニヴァーシティ Dynamically reconfigurable FPGA architecture with fine grain structure

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689195A (en) 1995-05-17 1997-11-18 Altera Corporation Programmable logic array integrated circuit devices
US5900743A (en) * 1995-05-17 1999-05-04 Altera Corporation Programmable logic array devices with interconnect lines of various lengths
US5543732A (en) * 1995-05-17 1996-08-06 Altera Corporation Programmable logic array devices with interconnect lines of various lengths
US5909126A (en) * 1995-05-17 1999-06-01 Altera Corporation Programmable logic array integrated circuit devices with interleaved logic array blocks
US5963049A (en) 1995-05-17 1999-10-05 Altera Corporation Programmable logic array integrated circuit architectures
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5646545A (en) * 1995-08-18 1997-07-08 Xilinx, Inc. Time multiplexed programmable logic device
US5835998A (en) * 1996-04-04 1998-11-10 Altera Corporation Logic cell for programmable logic devices
US5742181A (en) * 1996-06-04 1998-04-21 Hewlett-Packard Co. FPGA with hierarchical interconnect structure and hyperlinks
US5880597A (en) * 1996-09-18 1999-03-09 Altera Corporation Interleaved interconnect for programmable logic array devices
US5977793A (en) * 1996-10-10 1999-11-02 Altera Corporation Programmable logic device with hierarchical interconnection resources
US6300794B1 (en) 1996-10-10 2001-10-09 Altera Corporation Programmable logic device with hierarchical interconnection resources
US5999016A (en) * 1996-10-10 1999-12-07 Altera Corporation Architectures for programmable logic devices
EP0858168A1 (en) * 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor array
EP0858167A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor device
US6127844A (en) 1997-02-20 2000-10-03 Altera Corporation PCI-compatible programmable logic devices
US5999015A (en) * 1997-02-20 1999-12-07 Altera Corporation Logic region resources for programmable logic devices
US7148722B1 (en) 1997-02-20 2006-12-12 Altera Corporation PCI-compatible programmable logic devices
US5982195A (en) * 1997-02-20 1999-11-09 Altera Corporation Programmable logic device architectures
US6184710B1 (en) 1997-03-20 2001-02-06 Altera Corporation Programmable logic array devices with enhanced interconnectivity between adjacent logic regions
US6107825A (en) * 1997-10-16 2000-08-22 Altera Corporation Input/output circuitry for programmable logic devices
US6121790A (en) 1997-10-16 2000-09-19 Altera Corporation Programmable logic device with enhanced multiplexing capabilities in interconnect resources
US6107824A (en) 1997-10-16 2000-08-22 Altera Corporation Circuitry and methods for internal interconnection of programmable logic devices
US6084427A (en) * 1998-05-19 2000-07-04 Altera Corporation Programmable logic devices with enhanced multiplexing capabilities
DE69841256D1 (en) 1997-12-17 2009-12-10 Panasonic Corp Command masking for routing command streams to a processor
WO1999031574A1 (en) 1997-12-17 1999-06-24 Hewlett-Packard Company Implementation of multipliers in programmable arrays
DE69827589T2 (en) 1997-12-17 2005-11-03 Elixent Ltd. Configurable processing assembly and method of using this assembly to build a central processing unit
US6215326B1 (en) 1998-11-18 2001-04-10 Altera Corporation Programmable logic device architecture with super-regions having logic regions and a memory region
US6507216B1 (en) 1998-11-18 2003-01-14 Altera Corporation Efficient arrangement of interconnection resources on programmable logic devices
US6407576B1 (en) 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
US6874136B2 (en) * 2002-01-10 2005-03-29 M2000 Crossbar device with reduced parasitic capacitive loading and usage of crossbar devices in reconfigurable circuits
US7768314B2 (en) 2004-05-12 2010-08-03 National University Corporation Okayama University Integrated circuit with multidimensional switch topology
US9239360B2 (en) * 2014-01-28 2016-01-19 Texas Instruments Incorporated DFT approach to enable faster scan chain diagnosis

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255203A (en) * 1989-08-15 1993-10-19 Advanced Micro Devices, Inc. Interconnect structure for programmable logic device
US5220213A (en) * 1991-03-06 1993-06-15 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5241224A (en) * 1991-04-25 1993-08-31 Altera Corporation High-density erasable programmable logic device architecture using multiplexer interconnections
US5260610A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5260611A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic array having local and long distance conductors

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424171B1 (en) 1998-10-30 2002-07-23 Nec Corporation Base cell and two-dimensional array of base cells for programmable logic LSI
JP2012055004A (en) * 2007-05-21 2012-03-15 Altera Corp Programmable logic device including complex logic block with improved logic cell functionality
JP2011527543A (en) * 2008-07-09 2011-10-27 ユニベルシテ ピエール エ マリー キュリー(パリ シズエム) Programmable gate array and interconnect switch and logic unit of such array
JP2016513363A (en) * 2013-02-08 2016-05-12 ザ トラスティーズ オブ プリンストン ユニヴァーシティ Dynamically reconfigurable FPGA architecture with fine grain structure

Also Published As

Publication number Publication date
WO1995022205A1 (en) 1995-08-17
EP0698312A1 (en) 1996-02-28
JP3547446B2 (en) 2004-07-28

Similar Documents

Publication Publication Date Title
JPH08509344A (en) Field programmable gate array tiled structure
US5883525A (en) FPGA architecture with repeatable titles including routing matrices and logic matrices
JP3480784B2 (en) Programmable gate array with improved memory allocation
US7068070B2 (en) Customizable and programmable cell array
US5157618A (en) Programmable tiles
JP3509047B2 (en) Programmable array interconnect network
US7342416B2 (en) Tileable field-programmable gate array architecture
US5521529A (en) Very high-density complex programmable logic devices with a multi-tiered hierarchical switch matrix and optimized flexible logic allocation
US6888375B2 (en) Tileable field-programmable gate array architecture
US6838904B1 (en) Enhanced CPLD macrocell module having selectable bypass of steering-based resource allocation
US6331790B1 (en) Customizable and programmable cell array
US4124899A (en) Programmable array logic circuit
US5825202A (en) Integrated circuit with field programmable and application specific logic areas
US6621298B2 (en) Variable grain architecture for FPGA integrated circuits
US6181163B1 (en) FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals
EP0332419A2 (en) Integrated circuit
US6769109B2 (en) Programmable logic array embedded in mask-programmed ASIC
US20020070756A1 (en) Floor plan for scalable multiple level tab oriented interconnect architecture
JPH04225621A (en) Integrated circuit
KR20040004631A (en) Integrated circuit device
US6150841A (en) Enhanced macrocell module for high density CPLD architectures
JP3313849B2 (en) Programmable logic device
US6693452B1 (en) Floor planning for programmable gate array having embedded fixed logic circuitry
CN103828239B (en) Integrated circuit
US6870396B2 (en) Tileable field-programmable gate array architecture

Legal Events

Date Code Title Description
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: 20040406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040414

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090423

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090423

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100423

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100423

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110423

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120423

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120423

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term