JPH09509797A - プログラマブル論理デバイスに於ける特定用途向けモジュール - Google Patents

プログラマブル論理デバイスに於ける特定用途向けモジュール

Info

Publication number
JPH09509797A
JPH09509797A JP7516799A JP51679995A JPH09509797A JP H09509797 A JPH09509797 A JP H09509797A JP 7516799 A JP7516799 A JP 7516799A JP 51679995 A JP51679995 A JP 51679995A JP H09509797 A JPH09509797 A JP H09509797A
Authority
JP
Japan
Prior art keywords
integrated circuit
circuit
application specific
programmable
signal
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.)
Pending
Application number
JP7516799A
Other languages
English (en)
Inventor
ツイ、サイラス・ワイ
シェンカー、カピル
チァン、アルバート・エル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lattice Semiconductor Corp
Original Assignee
Lattice Semiconductor Corp
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 Lattice Semiconductor Corp filed Critical Lattice Semiconductor Corp
Publication of JPH09509797A publication Critical patent/JPH09509797A/ja
Pending legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03K—PULSE TECHNIQUE
    • H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736—Structural details of routing resources
    • H03K19/17744—Structural details of routing resources for input/output signals
    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03K—PULSE TECHNIQUE
    • H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733—Controllable logic circuits
    • H03K19/1735—Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • H03K19/1736—Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03K—PULSE TECHNIQUE
    • H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03K—PULSE TECHNIQUE
    • H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724—Structural details of logic blocks
    • H03K19/17732—Macroblocks

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)
  • Static Random-Access Memory (AREA)

Abstract

(57)【要約】 複数の汎用論理ブロック(203a〜203l)と1または複数の特定用途向けブロック(203b)を含むプログラマブル論理デバイス(200)を提供する構造及び方法。このような特定用途向けブロックは、例えばレジスタファイルやメモリアレイ(420)として、特有の機能を果たす。一実施例では、特定用途向けブロックは、1または複数のシングルポートメモリアレイ、先入れ先出し(FIFO)メモリ、またはデュアルポートメモリアレイのいずれかとなるようにプログラム可能である。別の実施例では、特定用途向けブロックは、レジスタファイル、複数のカウンタ、複数のタイマ、またはシフトレジスタとなるように構成することができる。特定用途向けブロックは、その入力及び出力信号をマルチプレクスするためのプログラマブル論理アレイと共に使用することができる。汎用論理ブロックと特定用途向けブロックとの間を結ぶ、グローバルルーティングリソースを用いた相互接続がプログラマブル論理デバイス内に組み込まれており、組み込まれていない場合に汎用論理ブロックだけを用いたのでは実現困難な機能を果たす。

Description

【発明の詳細な説明】 プログラマブル論理デバイスに於ける特定用途向けモジュール発明の背景 1.発明の属する技術分野 本発明は、プログラマブル論理デバイス(programmable logic device)の設 計に関する。特に、特定用途向けモジュール(application-specific module) を含むプログラマブル論理デバイスの設計に関する。 2.関連技術の説明 高密度のプログラマブル論理アレイの2つの例として、オレゴン州ヒルズボロ のLattice Scmiconductor Corporationから提供されているプログラマブル大規 模集積(programmable Large Scale Integration:pLSI)デバイス及びイン −システムプログラマブル大規模集積(in-system programmable Large Scale I ntegration:ispLSI)デバイスがある。ispLSIデバイスは、その使 用に於いて回路板から取り外すことなく再プログラム可能である。イン−システ ムプログラム技術については、1989年8月8日にTurnerらに付与された“In -system Programmable Logic Device with Four Dedicated Terminals”という タイトルの米国特許第4,855,954号明細書、1988年8月2日にTurn erらに付与された“Programmable Logic Device”というタイトルの米国特許第 4,761,768号明細書、及び1990年1月23日にTurnerらに付与され た“Programmable Logic Device Configurable I/O Cell”というタイトルの米 国特許第4,896,296号明細書で議論されている。これらの米国特許明細 書中で議論されているイン−システムプログラム技術は本出願に引証として加え られる。プログラマブル論理デバイスは、揮発性メモリ技術と不揮発性メモリ技 術(例えば電気的消去可能プログラマブル読出し専用メモリ、即ち、E2PRO M)のどち らでも実現することができる。 第1図は、従来技術のデバイス100を示すブロック図である。デバイス10 0は、pLSIデバイスまたはispLSIデバイスの何れとすることもできる 。第1図に示されているように、デバイス100は、24個の汎用論理ブロック (generic logic block:GLB)A0〜A7、B0〜B7、C0〜C7、及び D0〜D7を含む。各GLBは複数の入力端子、論理関数を実現するための論理 アレイ、及び複数の出力端子を含む。GLBの入力端子の信号は、ルーティング プール(routing pool)101から送られてくるか、または入力/出力(I/O )ピンから直接送られてくる。I/Oピンは、第1図に於いて、デバイスの周縁 部に示されている(例えばI/Oピン102a)。GLBの出力端子の信号は、 出力ルーティングプール103とルーティングプール101のどちらにも送られ るように経路を定めることができる。出力ルーティングプール103は、GLB のグループとI/Oピンのグループとの間で信号のルーティングをする。pLS Iデバイス100の各I/Oピンは、入力/出力セル(“I/Oセル”)に対応 付けられている。I/Oセルは、I/Oピンを、入力ピン、出力ピンまたは双方 向ピンの何れかとするようにプログラム可能である。 ルーティングプール101は、GLB間の相互接続をするための相互接続リソ ース(interconnection resource)である。ルーティングプール101は、GL Bの出力端子とI/Oピンの両方から入力信号を受け取り、受け取った信号をG LBの入力端子へ供給する。ルーティングプール101は、pLSIデバイス1 00内の任意のGLB対の間を接続する働きをする。 第1図には、4つのGLBグループA0〜A7、B0〜B7、C0〜C7、及 びD0〜D7が図示されている。各GLBグループは、その出 力ルーティングプール、関連するI/Oセル、及び関連するI/Oピンと共に“ マクロブロック”と呼ばれる構造を形成する。従来技術では、各I/Oセルにて 受信された信号は、ルーティングプール101の一入力端子へと送られる。また 、グローバルルーティングプール(global routing pool)に送られる更に2つ の信号を受信するため、更に2つの入力ピンがメガブロック毎に設けられている 。 従来技術では、プログラマブル論理デバイス上の全ての論理関数は、GLBに よって具現される。GLBは非常にフレキシブルであるが、メモリ素子(例えば 、レジスタやランダムアクセスメモリ)は、プログラマブル論理デバイス内で容 易に構成することはできない。また、多くの頻繁に現れる論理回路は、GLBで も構成可能であるが、カスタム回路で形成するとより効率的であり、それによっ てシリコン面積の効率及びスピードを改善することができる。発明の要約 本発明によると、複数のプログラマブル論理ブロックと、1または複数の特定 用途向け論理ブロックとを有するプログラマブル論理デバイスが提供される。こ のようなプログラマブル論理デバイスでは、プログラマブル論理ブロックは、通 常、所定の数の論理ゲートと、入力/出力ピンに接続された所定の数の入力及び 出力端子を含んでおり、それらはコンフィギュレーション回路(configuration circuit)によって構成され、論理関数を実現する。本発明によると、予め定め られた論理関数を実行するための特定用途向け回路がプログラマブル論理デバイ ス内に設けられる。特定用途向け回路は、プログラマブル論理デバイスの入力及 び出力ピンに接続された所定の数の入力及び出力端子を具備し得る。更に、プロ グラマブル論理デバイスには、プログラマブル論理ブロックと特定用途向け回路 とをプログラム可能に相互接続するプログラマブル相互接 続リソースが設けられる。イン−システムプログラム機能は、プログラマブル論 理アレイ内に持たせることができる。更に、本発明は、揮発性または不揮発性メ モリ技術のどちらを用いても実現することができる。 一実施例では、プログラマブル相亙接続リソースは、相互接続ラインのスイッ チマトリクスを含む。この実施例では、プログラマブルインタフェース相互接続 ブロックが、特定用途向け回路とプログラマブル相互接続リソースとの間に設け られる。プログラマブルインタフェース相互接続ブロックは、特定用途向け回路 の入力及び出力端子の各々を、スイッチマトリクスの1または複数の相互接続ラ インに割り当てる。更に特定用途向け回路は、スイッチマトリクスから受け取っ た入力信号をプログラム可能に選択するゲートアレイを含む。 本発明の一側面によると、特定用途向け回路はコンフィギュレーション回路を 含む。コンフィギュレーション回路は、特定用途向け回路が、多くの構成の中の 一つに構成されるように設けられる。一実施例では、特定用途向け回路は、ワー ドサイズと全アレイサイズの両方について構成変更可能なデュアルポートメモリ アレイを含む。この実施例では、メモリアレイは、更に1または複数のメモリア レイにプログラム可能に分割することができる。この実施例では、制御回路は、 デュアルポートメモリアレイのメモリワードが先入れ先出し式にアクセスされる ように働く。この制御回路は、メモリアレイへのアクセスに用いられるアドレス を生成するための読出し及び書込みカウンタを含む。ステータス信号論理回路に よって、前記メモリアレイ内の有効なデータの量が定性的に示される。 別の実施例では、特定用途向け回路は、プログラム可能なサイズの複数のレジ スタを含む。これらのレジスタは、パラレルまたはシリアル入力データ信号、パ ラレルまたはシリアル入力データ信号、または他のバ リエーションの入力及び出力データ信号を有するように独立して構成することが できる。別の方法として、この実施例の特定用途向け回路は、(i)プログラム 可能なサイズのシフトレジスタ、1または複数のカウンタ、或いは1または複数 のタイマを具現するように構成することもできる。 詳細な説明と添付の図面から、本発明をよりよく理解することができるだろう 。図面の簡単な説明 第1図は、論理回路を構成するための複数の汎用論理ブロック(GLB)を有 する従来技術のプログラマブル論理デバイスを示す。 第2a図は、本発明に基づきプログラマブル論理デバイス200が特定用途向 けモジュール209a及び209bを具備する、本発明の実施例を示す。 第3図は、ローカルルーティングプール(local routing pool:LRP)20 2a及び202bを相互に接続するグローバルルーティングプール(global rou ting pool:GRP)201を示す。 第4a図は、第2a図のASB209aを実現するのに適したASB400の ブロック図である。 第4b図は、第4a図のメモリ回路420のブロック図である。 第4c図は、ASB400がSRAM構造またはFIFOメモリ構造のいずれ の場合にも、LRPからASB400へと信号をルーティングする相互接続ライ ンの2つのグループA0及びA1を提供するANDアレイ470及び471を示 す。 第4d図は、ASB400の出力信号をLRPへとルーティングするインタフ ェース相互接続ブロック(interface interconnection block:IIB)490 を示す。 第5a図は、第2a図のASB209bを実現するのに適したASB500の ブロック図である。 第5b(i)図〜第5b(vi)図は、ASB500が取り得る様々な構成を 示す。 第5c図は、LRPからASB500へと信号をルーティングする相互接続ラ インの2つのグループA0及びA1を提供するANDアレイ570及び571を 示す。 第5d図は、ASB500の出力信号をLRPへとルーティングするインタフ ェース相互接続ブロック(IIB)を示す。 第6a図は、ASB500のレジスタバンク0、2、4、及び6の一つを実現 するのに適した回路600を示す。 第6b図は、ASB500のレジスタバンク1、3、5、及び7の一つを実現 するのに適した回路650を示す。好適実施例の詳細な説明 第2a図は、本発明の一実施例に於ける、プログラマブル論理デバイス200 のブロック図である。プログラマブル論理デバイス200は、6個の“メガブロ ック”203a〜2031を含み、2つの特定用途向けモジュール(“ASB” )203a及び203bを含んでいる。各メガブロックは4つの汎用論理ブロッ ク(“GLB”)と、一つの出力ルーティングプールと、16個のI/Oセルを 含んでいる。更に、プログラマブル論理デバイス200は、クロック分配構造2 06(図示せず)と、2つのローカルルーティングプール(“LRP”)と、一 つのグローバルルーティングプール(“GRP”)201を含んでいる。LRP 202aはメガブロック203a〜203c及び相互接続ブロック(“IIB” )208間を接続し、LRP202bはメガブロック203d〜203f及びI IB208間を接続する。GRP201はLRP20 2aと202bの間を接続する。この階層的ルーティング法(即ち、ローカル及 びグローバルルーティングプールの使用)については、1993年9月1日にTs uiらにより出願され、本出願の譲受人でもあるLattice Semiconductor Corporat ionに譲渡された“Structure and Method for Implementing Hierachical Routi ng Pools in a Programmable Logic Device”というタイトルの同時係属米国特 許出願第08/115,723号明細書に詳細に議論されている。この同時継続 特許出願第08/115,723号の開示内容は本出願に引証として加えられる 。 クロック信号分配ネットワーク206は5つの外部クロック信号を5つの専用 クロックピン上に受信する。クロック分配ネットワーク206へのクロック入力 信号として更なる信号を生成するようにGLBを構成することもできる。5つの クロック信号(例えばGLBまたはASBのような論理ブロック内で生成された 3つのクロック信号と、I/Oセルから受信された2つのクロック信号)は、ク ロック分配ネットワーク206からプログラマブル論理デバイス200の任意の GLB、ASBまたはI/Oセルへ送ることができる。 第2b図は、プログラマブル論理デバイス200内のGLBの典型的な構造2 50を示す。第2b図に示されているように、各GLBは、24個の入力端子( まとめて符号257が付されている)、8個の出力端子01〜07、及びAND アレイ256を有している。入力端子257は、GLB250をサポートするL RP(即ち、LRP202a)からANDアレイ256への信号を担う。AND アレイ256は、(a)LRP202aにサポートされるGLBの出力信号、( b)LRP202aにサポートされるGLBを含むメガブロック内のI/Oセル からの出力信号、及び(c)GRP201を介して受信される出力信号を受信す る。GRP201を介して受信される信号には、LRP202bにサポ ートされるGLBの出力信号、及びLRP202bにサポートされるGLBを含 むメガブロック内のI/Oセルからの出力信号が含まれる。また、ANDアレイ 256はGLB250の積項共有アレイ(product-term sharing array:PTS A)251a及び251bからの4つの内部“高速フィードバック”信号も受信 する。 ANDアレイ256は、20個の積項からなる2つのグループを生成する。論 理的真及び補数形式の両方で供給される各積項信号は、ANDアレイ256に受 信される入力信号を任意の数含む論理積である。第2b図に於いて、20個の積 項信号からなる第1のグループはPTSA251aに受信され、20個の積項信 号からなる第2のグループはPTSA251bに受信される。積項共有アレイ2 51a及び251bのような積項共有アレイについては、1991年5月6日に 出願され、1992年7月14日にJ.Shenらに付与され、Lattice Semiconducto r Corporationに譲渡された“Programmable Logic Device Providing Product T erm Sharing and Steering to the Outputs of the Programmable Logic Device ”というタイトルの米国特許第5,130,574号明細書に詳細に説明されて いる。この米国特許第5,130,574号明細書は本出願に引証として加えら れる。 出力段252aは、PTSA251aの組合せ出力信号または一時的に保持さ れた出力信号のいずれかを生成するべく様々なプログラマブル論理関数機能を提 供する出力論理マクロセルを含んでいる。出力段252aに於いて使用されるこ のタイプの論理マクロセルは、1991年5月6日に出願され1993年3月2 日にJ.Shenらに付与された“Output Logic Macrocell with Enhanced Functiona l Capabilities”というタイトルの米国特許第5,191,243号明細書で詳 細に議論されている。米国特許第5,191,243号明細書は引証として本出 願に加え られる。 マルチプレクサ253a〜253dの出力信号は、出力信号00〜03として 出力される。出力信号00〜03は、LRP202aに送り戻されるか、或いは GLB250のメガセルの出力ルーティングプールを介して関連するI/Oセル へ送ることもできる。 第2c図は、プログラマブル論理デバイス200(第2a図)のメガブロック 203dに関連する出力ルーティングプール204dを示す。第2c図に示され ているように、メガブロック203dのGLBA0〜A3はスイッチマトリクス 270に接続されている。スイッチマトリクス270は、GLBA0〜A3から 32個の出力信号を受信し、16個の出力信号をI/Oピン205d−0〜20 5d−15に出力する。GLBA0〜A3の32個の出力信号の各々は、4つの I/Oセルにルーティングされる。これらのI/Oセルは各々、入力ピン、出力 ピン、或いは双方向ピンとして独立に構成することができる。入力ピンとして構 成された場合、受信された入力信号はバス271を介してLRP202bへと送 られる。 より高速の接続を得るため、各GLBに於いて、4つの出力端子にI/Oセル へのプログラマブルバイパス信号経路が各々設けられる。これらのバイパス接続 を第2d図に示す。 LRP202a及びLRP202bは、IIB208及びメガブロック203 a〜203fをサポートする相互接続リソースである。IIB208は、ASB 209a及び209bの出力信号を第2a図に示すようにLRP202aへとル ーティングするルーティングリソース(routing risource)である。ASB20 9a及び209bへの入力信号は、LRP202aから直接ASB209a及び 209bへとルーティングすることができる。第3図は、LRP202a、LR P202b、及び GRP201を具現する構造300のブロック図である。第3図に示されている ように、各LRPは、(i)そのLRPがサポートするGLBに関連するI/O セルから入力信号を受信する96個の入力端子(まとめて参照符号302aまた は302bで示す)と、(ii)そのLRPがサポートするGLB及びASBか らの8個の出力信号から入力信号を受信する192個の入力端子(まとめて参照 符号301aまたは301bで示す)と、(iii)他方のLRPからの信号を GRP201から受信するための96個の入力端子(まとめて参照符号303a または303bで示す)と、(iv)そのLRPが受信した288個の入力信号 の各々をそのLRPがサポートするGLB及びASBの96個の入力端子へとル ーティングするための192個の出力端子(まとめて参照符号305aまたは3 05bで示す)とを有する。LRP202a及び202bは各々、Kapil Shanka rにより1991年5月6日に出願され、1993年4月26日に特許され、本 出願の譲受人でもあるLattice Semiconductor Corporationに譲渡された米国特 許第5,204,556号(タイトル“Programmable Interconnect Structure for Logic Blocks”)明細書で議論されている相互接続構造に基づいて実現する ことができる。米国特許第5,204,556号明細書は本出願に引証として加 えられる。LRP202aは、GRP201を通じてLRP202bへと信号を ルーティングするための96個の出力端子を備えている。同様に、LRP202 bは、GRP201を通じてLRP202aへと信号をルーティングするための 96個の出力端子を備えている。 GRP201はLRP202aと202bを相互接続する。性能を向上するた め、相互接続305a及び305bにはバッファが設けられている(それぞれ、 まとめて参照符号304A及び304Bで示す)。LRP202aと202bを 相互接続するのにGRP201を用いること により、LRP202bによってサポートされるASBとGLBとの間の接続及 びLRP202bによってサポートされるASBとGLBとの間の接続は維持さ れ、LRP202a及び202bに受信される信号の総数の一部のみがルーティ ングされる。その結果、シリコン面積の大幅な削減が達成される。構造300は 、同じLRPによってサポートされるGLB内で相互接続された論理回路を優先 的に実現することにより最適に使用することができ、それによってGRP201 を介したLRP間の伝送を必要とする信号の数が低減される。このような条件の 下で、GLB間の信号またはGLBとASBとの間の信号は、LRPを介して伝 送される。この相互接続回路は、単一ルーティングプールシステムに於ける代替 手段よりも小さい。このようにして、プログラマブル論理デバイス内のGLBの 増加にも関わらず、相互接続回路を通じた伝送に於ける信号の遅れは概ね小さく 保たれる。LRPに於ける負荷が小さくなっている(サポートするGLBの数が 少なくなっている)ため、交流スイッチング電流も概ね小さく保たれる。LRP 202a及びLRP202b、及びGRP201は各々、この構造に於ける標準 回路であり、各LRP内またはGRP201を介する信号の遅れは予測可能であ り、一貫している。 本実施例ではASB209a及び209bは、それぞれメモリモジュール及び レジスタモジュールである。この実施例ではASB209aは、(i)単一のシ ングルポートスタティックランダムアクセスメモリ(SRAM)、(ii)2つ のシングルポートSRAM、(iii)デュアルポートSRAM、及び(iv) 先入れ先出し(FIFO)メモリの中の一つとすることができる。第4a図は、 第2a図のメモリモジュールASB209aを実現するのに適したASB400 のブロック図である。ASB400はメモリ回路420を有している。メモリ回 路420は、 2つのポート“A”及び“B”からアクセスすることができる。この実施例では 、ASB400のメモリアレイは、512×9メモリアレイまたは256×18 メモリアレイのどちらかとして編成することができる。 ASB400のポートA及びBは各々、18個のデータI/O信号、8個のア ドレス信号、一つのビジー信号、一つのチップ選択信号、及び2つの読出し/書 込み制御信号を含む。アドレス信号はASB400がSRAMとして構成された とき主として用いられる。FIFOメモリとして構成された場合、“フル”、“ 概ねフル”、“空”及び“概ね空”の4つのステータス信号がASB400によ って生成される。FIFOメモリとして構成された場合、ASB400はリセッ ト信号も受信する。 ポートAはプログラマブルデバイスのI/Oピンからアクセスすることができ る。第4a図に示されているように、I/Oセル0〜17は、プログラマブル論 理デバイスの18個の対応するピンを通じてアクセスすることのできる18ビッ トデータバスを形成している。GLBで生成されるか或いはグローバル出力イネ ーブル信号として受信される出力イネーブル信号は、LRPから信号を受信する 相互接続ラインの2つのグループA0及びA1の一方からI/Oセルへと供給さ れる(A0及びA1は、以下に述べるようにLRPの信号線をASB400内へ とルーティングするのに用いられる2つのANDアレイ470及び471の出力 ラインである)。プログラマブル論理デバイス200用の出力イネーブル信号に ついては、Ju Shenらによって1993年9月1日に出願され、Lattice Semicon ductor Corporationに譲渡された同時係属特許出願第08/115,475号( タイトル“Output Enable Structure and Method for a Programmable Logic De vice”)明細書に記載されている。この同時継続特許出願は本出願に引証として 加えられる。I/Oセル0に対して選択され用いられる出力イネーブル信号は、 I/Oセル0によっ てI/Oセル1〜17の各々に供給される。 ASB400のポートAに於いて、I/Oセル0〜17に於いて受信された入 力信号は、データ入力信号として、バス412aによりメモリ回路420へ伝え られる。メモリ回路420から出力されるデータ出力信号は、バス410aによ ってI/Oセル0〜17へと送られる。ASB400は、9ビットのデータパス (data path)または18ビットのデータパスのどちらかを有するように構成す ることができる。9ビットデータパスが望まれる場合、I/Oセル9〜17は他 の入力/出力の目的に用いることができる。ポートAを通じてアクセスしようと するメモリセルが、ポートBでペンディングとなっているメモリアクセスによっ て同時にアクセスされるとき、ASB400によって生成されるビジー信号は、 ポートAが“ビジー”であることを示す。このビジー信号は、リード404aを 介してI/Oセル18へ送られる。ASB400がSRAMとして使用されるよ うに構成される場合、I/Oセル19〜26はメモリアドレスを受信するための 8ビットバスを形成する。メモリアドレスはバス411aを介してメモリ回路4 20へと送られる。ASB400がFIFOメモリとして使用されるように構成 される場合、I/Oセル19はリセット信号を受信し、リセット信号はリード4 21によってメモリ回路420へと送られる。また、I/Oセル20〜23は、 それぞれリード406〜409を介してメモリ回路420から4つのステータス 信号“フル”、“概ねフル”、“空”及び“概ね空”を受信する。メモリ回路4 20は、関連するLRPからASB400へと相互接続ライングループA0を介 して送られてくる内部生成されたリセット信号を受信することもできる。ASB 400は、リード421上のリセット信号またはLRPを介して送られてくるリ ード417上のリセット信号のどちらかを選択するようにプログラムすることも できる。SRAMとし て構成される場合、ASB400は読出し/書込み制御信号及びチップ選択信号 をそれぞれ(i)I/Oセル27〜29からリード413c、414c、及び4 15cを介して、あるいは(ii)LRPからリード413a、414a、及び 415aを介して受信する。 メモリ回路420の出力信号(例えばポートBのデータ出力信号)は、LRP へのインタフェースを提供するIIB490へと送られる。メモリ回路420の これらの出力信号は、ポートBのデータ出力信号(バス410)、ポートA及び Bに対するビジー信号(それぞれリード404a、404b)、“フル”信号( リード406)、“概ねフル”信号(リード407)、“概ね空”信号(リード 408)、及び“空”信号(リード409)である。 メモリ回路420のポートBのI/O信号は、ポートAのI/O信号と類似し ている。しかしながら、ポートBに於ける信号はLRPを通してルーティングさ れているため、プログラマブル論理デバイス200のGLBに接続することがで きる。従ってメモリ回路420はGLBに於いて実現される論理関数をサポート するのに用いることができる。従って、メモリ回路420は多くの応用に対して 効果のあるオンチップメモリを提供する。 第4b図は、第4a図のメモリ回路420の実施形態を示す。第4b図に示さ れているように、メモリ回路420はポートAまたはポートBからアクセスする ことのできるデュアルポートSRAM425を含んでいる。ASB400がSR AMとして構成される場合、マルチプレクサ440、442、及び443は、( i)バス452のポートAアドレス信号、(ii)リード451上の読出し/書 込み制御信号、及びリード450上のチップ選択信号を選択するようにプログラ ムされる。バス452上のアドレス信号は、第4a図に示したバス411a上の 信号であ る。バス451上の読出し/書込み制御信号は、第4a図のリード413a、4 13c、414aまたは414cの読出し/書込み制御信号の一つとすることが できる。第4a図の読出し書込み制御信号によって、ASB400がI/Oピン に於いて9ビットデータパスを有するかあるいは18ビットデータパスを有する かも選択される。データパスの幅の選択は、マルチプレクサ430によってなさ れる。マルチプレクサ430はデュアルポートSRAM425の入力/出力信号 を18ビットデータパス(バス460及び461)、または9ビットデータパス (バス460または461のどちらか。プログラマブル論理デバイス200のプ ログラミングによって決定される)へとルーティングする。リード450上のチ ップ選択信号は、第4a図のリード415cまたは415aの何れかの信号とす ることができる。ASB400がSRAMとして構成される場合のポートBの信 号は、ポートAの信号について上述したのと同様に供給される。 ASB400がデュアルポートSRAMとして構成される場合、一方のポート に対するビジー信号は、そのポートに於いて遅れて試みられるメモリアクセスに よって、そのとき他方のポートでアクセスされているメモリアドレスと同じメモ リアドレスがアクセスされるとき生成される。ビジー信号は、アービトレーショ ン論理回路(arbitration logic circuit)429によって生成される。この論 理回路429は、ポートAとBの両方のチップ選択信号がオン状態になったとき 、ポートAとBに於けるアドレスを比較する。ポートAに於けるビジー信号は、 ポートAに於けるチップ選択信号がポートBに於けるチップ選択信号より遅れて いるときオン状態となる。その逆も成り立つ。 ASB400が2つのシングルポートSRAMとして構成される場合、各SR AMは128×18ビットまたは256×9ビットのいずれかで ある。デュアルポートSRAM425のアドレス空間をポートA及びBの一方を 通じて各々独立してアクセス可能な2つのシングルポートSRAMに分割するた め、マルチプレクサ441及び437はポートA及びBに供給されるアドレスの ビット7を逆の値に固定する。 ASB400がFIFOメモリとして構成される場合、ポートA及びBの一方 が選択され、FIFOメモリの“読出し”ポート(即ち出力ポート)となり、他 方のポートがFIFOメモリの書込みポート(即ち入力ポート)となる。読出し カウンタ427はFIFOメモリの読出しアドレスを生成する。この読出しアド レスはマルチプレクサ432または433によってマルチプレクサ436(ポー トB)またはマルチプレクサ440(ポートA)の何れかに送られる。同様に、 書込みカウンタ428はFIFOメモリの“書込み”アドレスを生成する。FI FOメモリの“書込み”アドレスはマルチプレクサ432または433によって マルチプレクサ436(ポートB)またはマルチプレクサ440(ポートA)の 何れかに送られる。FIFOとして構成されている場合、読出しカウンタ427 及び書込みカウンタ428を制御するため、ポートA及びBの書込みイネーブル 信号が、それぞれリード451及び454を介してフラグ論理回路426へ送ら れる。フラグ制御論理回路426は、“フル”、“空”、“概ね空”及び“概ね フル”状態を検出する。“概ねフル”及び“概ね空”状態は各々、FIFOメモ リに格納されている有効なデータの数が、それぞれの状態に対するプログラム可 能な閾値に達したとき生成される。 第4c図は、ANDアレイ470及び471を示す。ASB400がSRAM として構成されている場合、ASB400がFIFOメモリとして構成されてい る場合の何れの場合も、ANDアレイ470及び471によって、LRPからA SB400へと信号をルーティングする相互 接続ラインの2つのグループA0及びA1が構成される。各構成に於けるグルー プA0及びA1内の相互接続ラインの割り当てを、各ANDアレイの左側の対応 するコラムに示す。 第4d図は、ASB400の出力信号をLRPへとルーティングするインタフ ェース相互接続ブロック(IIB)490を示す。第4d図に示されているよう に、IIB490への各入力信号は4本のLRPラインの一つにルーティングす ることができる。 第5a図は、第2a図のASB209bを実現するのに使用することができる ASB500のブロック図である。ASB500は、(i)8個のレジスタを含 み得るレジスタファイル、(ii)4つのカウンタを含み得るカウンタバンク、 (iii)4つのモジューロカウンタ(“タイマ”)を含み得るタイマバンク、 及び(iv)シフトレジスタとして構成することができる。ASB500は、多 様な長さの中の一つを有するシフトレジスタを形成するように構成することがで きる。シフトレジスタとして構成される場合、ASB500は、シリアル入力シ リアル出力シフトレジスタ、シリアル入力パラレル出力シフトレジスタ、或いは パラレル入力シリアル出力シフトレジスタとすることができる。 第5a図に示されているように、ASB500は8つのレジスタバンク501 A〜501Fを含んでいる。各レジスタバンクは、4、8、12または16ビッ ト幅とすることができる。ASB500は、プログラマブル論理デバイス200 のI/Oピンから、及び2つのANDアレイ570及び571から相互接続ライ ンの2つのグループA0及びA1を介して入力信号を受信する。ASB500は 、インタフェース相互接続ブロック(IIB)590を介して関連するLRPへ 出力信号を供給するとともに、プログラマブル論理デバイス200のI/Oピン へも出力信号を供給する。 第5a図に示されているように、ブロック502は、ASB500のI/Oセ ルで使用される出力イネーブル信号を選択するための論理回路を含んでいる。A SB500のI/Oセルは、ASB500の選択された入力及び出力信号をプロ グラマブル論理デバイス200のI/Oピンに関係付ける。この実施例では、出 力用に構成されたASB500のI/Oセルを制御するべく、ブロック502は 2つのグローバル出力イネーブル信号と一つの積項出力イネーブル信号から出力 イネーブル信号を選択するように構成することができる。 第5a図に示されているように、I/Oセル503はI/Oピンからイネーブ ル信号を受信する。リード513上に出力され、構成マルチプレクサ(configur ing multiplexer)514によってレジスタバンク501a〜501hへとルー ティングされるこのイネーブル信号によって、I/Oセル505a〜505pに 関連するI/Oピン上に受信されたデータは、選択されたレジスタにパラレルに ロードされる。ASB500がシフトレジスタモードでシリアル入力用に構成さ れている場合、I/Oセル504は、関連するI/Oピンに於いてシリアル入力 信号を受信する。リード512上に供給されるこのシリアル入力信号は、構成マ ルチプレクサ516によってレジスタバンク501a〜501hにルーティング される。ASB500に於いて、パラレルデータ入力及び/または出力とするた め、I/Oセル505a〜505pを用いて、関連するI/Oピンを、入力ピン 、出力ピンまたは双方向ピンとして構成することができる。I/Oセル505a 〜505pに関連するI/Oピンにて受信される入力信号は、内部データバス5 11上に供給される。同様に、I/Oセル505a〜505pに関連するI/O ピン上に供給される出力信号は、内部データバス509から送られる。ASB5 00がシリアル出力を出力するように構成されている場合、I/Oセル506が 関連 するI/Oセルに於いてシリアル出力信号を供給する。ASB500がカウンタ またはタイマバンクとして構成されている場合、I/Oセル507は4個までの “カウントキャリーアウト(count carry out)”または“ターミナルカウント (terminal count)”信号を供給する。カウンタモードの場合、“カウントキャ リーアウト”信号を用いて、複数のプログラマブル論理デバイスASBをカスケ ード接続し、より大きなカウンタを形成することができる。タイマモードの場合 、タイマが予め定められたカウント値に達すると、ターミナルカウント信号がオ ン状態となる。レジスタバンク501a〜501hの出力信号(詳述すると、シ リアル出力信号508、パラレルデータ出力バス509及びカウントキャリーア ウト信号510)は、IIBまたは“premux”590に供給され、関連す るLRPへ送られる。 パラレル入力またはパラレル出力用に構成されている場合、相互接続ライング ループA0上に受信される3ビット信号の値に基づいて、デマルチプレクサ51 7によって、レジスタバンク501a〜501hの一つが選択される。相互接続 ライングループA0も、I/Oピンから受信されるパラレルロードイネーブル信 号512及びリード513上のシリアル入力信号の代わりに、マルチプレクサ5 14及び516を適切に構成することによって選択可能なパラレルロードイネー ブル信号及びシリアル入力信号を供給する。更にグループA0は、(a)シリア ル入力または出力のためのリード518上の“シフトイネーブル”信号、(b) カウンタまたはタイマモードに於けるカウンタのバラレルローディングのための バス519上の4つの“プリロード”信号、(c)バス520上の4つの“キャ リーイン”または“カウントホールド”信号(カウンタモードでは“キャリーイ ン”信号、タイマモードでは“カウントホールド”制御信号);及び(d)リー ド521上の積項クロック信号(pr oduct term clock signal)も供給する。カウンタモードに於いて、各オン状態 となった“キャリーイン”信号は、次のクロック周期に於いて関連するカウンタ を増加または減少させる。タイマモードに於いて、各“カウントホールド”信号 は、次のクロック周期のあいだ関連するタイマのカウント値が増加または減少す るのを阻止する。 第5a図の実施例は、5つのクロック信号(3つのグローバルクロック信号の 任意の一つ、I/Oセルから受信されるクロック信号、内部ロジックによって生 成される積項クロック信号)の中の一つを使用するように構成することができる 。 第5b(i)〜第5b(vi)図に、ASB500の様々な構成を示す。第5 b(i)図は、それぞれバス523及び509上のパラレルデータ入力、パラレ ルデータ出力用に構成されたASB500を示す。3ビット選択ライン524に よって、8つの16ビットレジスタバンクの中からアドレス指定されるレジスタ バンクが選択される。リード525上のイネーブル信号は、選択されたレジスタ バンク内へのバス523上のデータの書込みをイネーブルする。この実施例では 、入力バス523は、真または補数論理フォーマットを供給するように構成する ことができる。補数フォーマットは、I/Oセル505a〜505pから受信さ れる入力信号をマルチプレクサ515によって反転すること或いはANDアレイ 570の反転された出力信号を選択することによって供給される。 第5b(ii)図は、バラレルデータ入力、パラレル/シリアルデータ出力に 対して構成されたASB500を示す。この構成では、2以上の隣接したレジス タバンクによって、20乃至128ビットの範囲の任意のサイズのシフトレジス タを、4ビット刻みで構成することができる。一つのレジスタバンタしか使用し ない場合は、当然であるが、シフトレ ジスタは、4ビット、8ビット、12ビット、または16ビットとすることがで きる。この構成では、各レジスタバンクは第5b(i)図に示した構成について 上述したのと概ね同じ様にして、パラレルに読出しまたはロードを行うことがで きる。シフトレジスタの最上位側に位置するレジスタバンクを、4ビット、8ビ ット、12ビットまたは16ビットシフトレジスタスライスとして構成すること ができるが、このときシフトレジスタの残りのレジスタバンクは各々16ビット 幅に設定される。リード518上のシフトイネープル信号がオン状態になると、 シフトレジスタ内のピットはクロック周期ごとに1ビットだけシフトされ、最下 位ビットがシフトレジスタからシリアル出力リード508上に出力される。この 実施例では、リード525上のイネーブル信号に優先権が与えられている。即ち 、リード525上のイネーブル信号とリード518上のシフトイネーブル信号の 両方がオン状態となった場合、選択されたレジスタバンクのバラレルデータロー ドが実行される。 第5b(iii)図は、パラレル/シリアルデータ入力、パラレルデータ出力 用に構成されたASB500を示す。この実施例では、2以上の隣接するレジス タバンクによって、20乃至128ビットの範囲の任意のサイズのシフトレジス タを、4ビット刻みで構成することができる。一つのレジスタバンクしか使用し ない場合は、当然であるが、シフトレジスタは、4ビット、8ビット、12ビッ トまたは16ビットとすることができる。シフトレジスタの最上位側に位置する レジスタバンクを、4ビット、8ビット、12ビットまたは16ビットシフトレ ジスタスライスとして構成することができるが、このときシフトレジスタの残り のレジスタバンクは各々16ビット幅に設定される。リード518上のシフトイ ネーブル信号がオン状態になると、シリアルデータ入力ライン523上のビット がシフトレジスタ内に最上位ビットとしてシフトされる。 パラレルデータ読込み及びデータ書込みは、第5b(i)図の構成について上述 したのと概ね同様にして実行される。この実施例では、第5b(ii)図の構成 と同様に、リード525上のイネーブル信号がリード518上のシフトイネーブ ル信号に対し優先する。 第5b(iv)図は、パラレル/シリアルデータ入力、パラレル/シリアルデ ータ出力用に構成されたASB500を示す。この構成では、2以上の隣接する レジスタバンクによって、20乃至128ビットの範囲の任意のサイズのシフト レジスタを、4ビット刻みで構成することができる。シフトレジスタの最上位側 に位置するレジスタバンクは、4ビット、8ビット、12ビットまたは16ビッ トシフトレジスタスライスとして構成することができるが、このときシフトレジ スタの残りのレジスタバンクは各々16ビット幅に設定される。一つのレジスタ バンクしか使用しない場合は、当然であるが、シフトレジスタは、4ビット、8 ビット、12ビットまたは16ビットとすることができる。リード518上のシ フトイネーブル信号がオン状態になると、リード523上のビットがシフトレジ スタ内に最上位ビットとしてシフトされるとともに、最下位ビットがシフトレジ スタからリード508上にシリアルデータ出力ビットとして出力される。この実 施例では、第5b(ii)図の構成と同様に、リード525上のイネーブル信号 がリード518上のシフトイネーブル信号に対し優先する。 第5b(v)図は、カウンタ動作用に構成されたASB500を示す。この実 施例では、カウンタ機能はレジスタバンク1、3、5及び7にのみ具備される。 従って、ASB500は、4つの4、8、12、または16ビットカウンタにす ることができる。別の形態として、2以上の隣接するレジスタバンクによって、 20乃至64ビットの範囲の任意のサイズのより大きなアップ/ダウンカウンタ を4ビット刻みで形成するこ ともできる。そのような大きなカウンタでは、最上位側のレジスタバンクは4ビ ット、8ビット、12ビットまたは16ビットカウンタとして構成され、より大 きなカウンタの残りのレジスタバンクは各々16ビット幅に設定される。この構 成では、リード525上のイネーブル信号がオン状態になったとき、選択された レジスタバンクへのパラレルロードが実行される。別の方法では、リード519 上のカウントプリロード信号がオン状態になったとき、選択されたカウンタは隣 接するレジスタバンクの内容をロードする。例えば、リード519上の信号がオ ン状態になったとき、レジスタバンク1のカウンタは、レジスタバンク0の内容 をパラレルにロードする。バス520上のカウント“キャリーイン”信号がオン 状態になると、このカウント“キャリーイン”信号に関連するカウンタは、アッ プカウンタにプログラムされているか或いはダウンカウンタにプログラムされて いるかに応じて、増加または減少する。また、バス510上の“キャリーアウト ”信号に対応して、カウンタがアップカウンタにプログラムされているか或いは ダウンカウンタにプログラムされているかに応じて、各カウンタに於けるオーバ フローまたはアンダフロー状態が認識される。 第5b(vi)図は、タイマ動作用に構成されたASB500を示す。タイマ は、ターミナルカウントに達したとき“巻き戻らない”カウンタである。この実 施例では、レジスタバンク1、3、5及び7のみがタイマ機能を具備し得る。第 5b(v)図のカウンタ構成と同様に、ASB500内の隣接する2以上のタイ マを、20乃至64ビットの範囲の任意の幅のタイマが4ビット刻みで形成され るよう構成することができる。別の形態として、ASB500内の各タイマを、 4、8、12または16ビットタイマとして個々に構成することもできる。この 実施例では、プログラム時に、各タイマに対しプリセット値(preset value)を 指定 することができる。リード518上のスタート信号がロジックロードにセットさ れると、プリセット値が選択されたカウンタにロードされ、タイマ動作が開始さ れる。 第5c図は、LRPからASB500へと信号をルーティングする相互接続ラ インの2つのグループA0及びA1を提供するANDアレイ570及び571を 示す。グループA0及びA1に於ける相互接続ラインの割り当ては、各ANDア レイの左側のコラム内に示されている。 第5d図は、ASB500の出力信号をLRP内へとルーティングするインタ フェース相互接続ブロック(IIB)590を示す。第5d図に示されているよ うに、IIB590への各入力信号は、4つのLRPラインの一つにルーティン グされ得る。 第6a図は、本実施例に於けるレジスタバンク0、2、4及び6の一つを実現 するのに適した回路600を示す。第6a図に示されているように、16個のD 型フリップフロップを含む16ビットレジスタ601によって、レジスタバンク に記憶能力が与えられる。バス602上の16個の出力信号は、レジスタバンク の共通出力リード(即ち第5a図のバス509)に供給されるとともに、次に上 位のレジスタバンクの入力リードにも供給され得る(即ち回路600がレジスタ バンク0を具現している場合、回路600の出力リードはレジスタバンク1の入 力リードに対し入力信号を供給する)。また、バス602は、シフト論理ブロッ ク610へも入力信号を供給する。シフト論理ブロック610は、“シリアルイ ン”ビットとして、(a)前のレジスタバンクからのリード603上の最下位ビ ットと、(b)レジスタバンクの共通シリアル入力ピンであるリード523(第 5a図)上の信号の内、一方を選択する。シフト動作に於いてシリアルインビッ トは、出力バス602上の値に、適当な4ビット境界に於いて挿入される。例え ば、レジスタバンクが12 ビットシフトレジスタとして構成されている場合、シリアルビットはマルチプレ クサ605aによってバス602上の値のビット11に挿入され、結果としてシ フトされた値がバス606上に出力される。バス606上の値の残りの11ビッ ト(即ちビット0〜11)は、シフタ604b、604c、及び604dを用い るとともに、マルチプレクサ605b及び605cをそれぞれバス602のビッ ト8及び4を受信するように設定することにより、バス602のビット0〜11 をシフトすることによって得られる。 レジスタ601への入力信号は、マルチプレクサ607によって3つの供給源 から選択される。3つの供給源とは、(a)バス602、(b)バス606及び (C)バス522である。バス602の信号は、リード518上のシフトイネー ブル信号とリード525上のイネーブル信号が両方ともオン状態でない場合に選 択される。バス606の信号は、リード518上のシフトイネーブル信号がオン 状態のとき選択され、バス522上の信号はリード525上のイネーブル信号が オン状態のとき選択される。第6a図に示されているように、ゲート611及び 612によって、リード525上の信号がリード518上のシフトイネーブル信 号に対し優先することが保証されている。 レジスタ601用のクロック信号は、マルチプレクサ613によって5つの供 給源から選択される。マルチプレクサ613によって選択されたクロック信号か ら、マルチプレクサ614は更に2つの位相のうち一方を選択する。リード61 5上に供給されるグローバルリセット信号は、レジスタ601をイニシャライズ する。 第6b図は、本発明に於けるレジスタバンク1、3、5及び7の一つを実現す るのに適した回路650を示してしる。第6a図の回路600と第6b図の回路 650の相互参照を容易にするため、回路600と6 50内の同様の要素には同じ参照符号を付す。従って、理解されるように、16 ビットレジスタ601、シフト論理ブロック610、クロック信号選択用のマル チプレクサ613及び614は、回路600と650の両方に於いて実質的に同 一である。 回路650では、データバス522、バス602及びシフトバス606からの 入力信号の受信に加え、レジスタ601は、更に2つの入力信号供給源から、マ ルチプレクサ651を介して、受信することができる。これらの2つの入力信号 供給源とは、バス654上の“プリロードデータ(preload data)”と、バス6 56上のネクストカウント信号(next count signal)である。バス656のネ クストカウント信号は、カウンタロジック670からの出力信号である。マルチ プレクサ662は、プリロードデータバス654として、バス603上に受信さ れる前のレジスタバンクの出力信号の16ビットデータか、或いはマルチプレク サ655を設定することによりプログラム時に構成されたプリセット値の何れか を選択する。マルチプレクサ655は、16個の2対1マルチプレクサを含んで いる。これらのマルチプレクサは、16ビットの値が出力されるように、各々独 立してプログラムされる。バス654上のデータは、リード519a上の“プリ ロード”信号(第5a図のバス519上のピット)がオン状態のとき選択される 。 バス656上の“ネクストカウント”信号は、回路650がカウンタまたはタ イマモードのとき選択される。マルチプレクサ657がバス675としてバス6 02上の信号を選択するか、あるいはそれらの補数信号を選択するかに依存して 、カウントロジック670はアップカウンタまたはダウンカウンタを具現する。 入力リード520a上のカウント“キャリーイン”信号(第5a図のバス520 のビット)がオン状態のとき、増分器(incrementer)658はマルチプレクサ 657からの出力値 を増加し、バス656上にその出力値として16ビットのネクストカウント信号 を出力する。回路661は適当なオーバフローまたはアンダフロー状態(即ちバ ス675上のビットが全て1)を検出し、リード510a上に“カウントキャリ ーアウト”信号(第5a図に於けるバス510のビット)を出力する。回路65 0がタイマとして構成されている場合、カウント“キャリーアウト”信号は、“ ターミナルカウント”信号となる。タイマモードの場合、ターミナルカウントに 達すると、ゲート660は、マルチプレクサ659の出力信号としてバス602 上の信号を“ネクストカウント”信号として選択する。 上述した詳細な説明は本発明の特定の実施形態を例示するためになされたもの であり、本発明を限定することを意図したものではない。本発明の範囲を逸脱す ることなく様々な変形変更が可能である。本発明は以下の請求の範囲によって画 定される。
【手続補正書】特許法第184条の8 【提出日】1995年12月15日 【補正内容】 第1図に示されているように、デバイス100は、32個の汎用論理ブロック( generic logic block:GLB)A0〜A7、B0〜B7、C0〜C7、及びD 0〜D7を含む。各GLBは複数の入力端子、論理関数を実現するための論理ア レイ、及び複数の出力端子を含む。GLBの入力端子の信号は、ルーティングプ ール(routing pool)101から送られてくるか、または入力/出力(I/O) ピンから直接送られてくる。I/Oピンは、第1図に於いて、デバイスの周縁部 に示されている(例えばI/Oピン102a)。GLBの出力端子の信号は、出 力ルーティングプール103とルーティングプール101のどちらにも送られる ように経路を定めることができる。出力ルーティングプール103は、GLBの グループとI/Oピンのグループとの間で信号のルーティングをする。pLSI デバイス100の各I/Oピンは、入力/出力セル(“I/Oセル”)に対応付 けられている。I/Oセルは、I/Oピンを、入力ピン、出力ピンまたは双方向 ピンの何れかとするようにプログラム可能である。 ルーティングプール101は、GLB間の相互接続をするための相互接続リソ ース(interconnection resource)である。ルーティングプール101は、GL Bの出力端子とI/Oピンの両方から入力信号を受け取り、受け取った信号をG LBの入力端子へ供給する。ルーティングプール101は、pLSIデバイス1 00内の任意のGLB対の間を接続する働きをする。 第1図には、4つのGLBグループA0〜A7、B0〜B7、C0〜C7、及 びD0〜D7が図示されている。各GLBグループは、その出力ルーティングプ ール、関連するI/Oセル、及び関連するI/Oピンと共に“メガブロック”と 呼ばれる構造を形成する。従来技術では、各I/Oセルにて受信された信号は、 ルーティングプール101の一入力 端子へと送られる。また、グローバルルーティングプール(global routing poo l)に送られる更に2つの信号を受信するため、更に2つの入力ピンがメガブロ ック毎に設けられている。 従来技術では、プログラマブル論理デバイス上の全ての論理関数は、GLBに よって具現される。GLBは非常にフレキシブルであるが、メモリ素子(例えば 、レジスタやランダムアクセスメモリ)は、プログラマブル論理デバイス内で容 易に構成することはできない。また、多くの頻繁に現れる論理回路は、GLBで も構成可能であるが、カスタム回路で形成するとより効率的であり、それによっ てシリコン面積の効率及びスピードを改善することができる。 更に特定用途向け回路は、スイッチマトリクスから受け取った入力信号をプログ ラム可能に選択するゲートアレイを含む。 本発明の一側面によると、特定用途向け回路はコンフィギュレーション回路を 含む。コンフィギュレーション回路は、特定用途向け回路が、多くの構成の中の 一つに構成されるように設けられる。一実施例では、特定用途向け回路は、ワー ドサイズと全アレイサイズの両方について構成変更可能なデュアルポートメモリ アレイを含む。この実施例では、メモリアレイは、更に1または複数のメモリア レイにプログラム可能に分割することができる。この実施例では、制御回路は、 デュアルポートメモリアレイのメモリワードが先入れ先出し式にアクセスされる ように働く。この制御回路は、メモリアレイへのアクセスに用いられるアドレス を生成するための読出し及び書込みカウンタを含む。ステータス信号論理回路に よって、前記メモリアレイ内の有効なデータの量が定性的に示される。 別の実施例では、特定用途向け回路は、プログラム可能なサイズの複数のレジ スタを含む。これらのレジスタは、パラレルまたはシリアル入力データ信号、パ ラレルまたはシリアル出力データ信号、または他のバリエーションの入力及び出 力データ信号を有するように独立して構成することができる。別の方法として、 この実施例の特定用途向け回路は、(i)プログラム可能なサイズのシフトレジ スタ、(ii)1または複数のカウンタ、或いは(iii)1または複数のタイ マを具現するように構成することもできる。 詳細な説明と添付の図面から、本発明をよりよく理解することができるだろう 。図面の簡単な説明 第1図は、論理回路を構成するための複数の汎用論理ブロック(GL B)を有する従来技術のプログラマブル論理デバイスを示す。 第2a図は、本発明に基づきプログラマブル論理デバイス200が特定用途向 けモジュール203a及び203bを具備する、本発明の実施例を示す。 第3図は、ローカルルーティングプール(local routing pool:LRP)20 2a及び202bを相互に接続するグローバルルーティングプール(global rou ting pool:GRP)201を示す。 第4a図は、第2a図のASB203aを実現するのに適したASB400の ブロック図である。 第4b図は、第4a図のメモリ回路420のブロック図である。 第4c図は、ASB400かSRAM構造またはFIFOメモリ構造のいずれ の場合にも、LRPからASB400へと信号をルーティングする相互接続ライ ンの2つのグループA0及びA1を提供するANDアレイ470及び471を示 す。 第4d図は、ASB400の出力信号をLRPへとルーティングするインタフ ェース相互接続ブロック(interface interconnection block:IIB)490 を示す。 第5a図は、第2a図のASB203bを実現するのに適したASB500の ブロック図である。 第5b(i)図〜第5b(vi)図は、ASB500が取り得る様々な構成を 示す。 第5c図は、ASB500の様々な構成の下でLRPからASB500へと信 号をルーティングする相互接続ラインの2つのグループA0及びA1を提供する ANDアレイ570及び571を示す。 第5d図は、ASB500の出力信号をLRPへとルーティングするインタフ ェース相互接続ブロック(IIB)を示す。 第6a図は、ASB500のレジスタバンク0、2、4、及び6の一 つを実現するのに適した回路600を示す。 第6b図は、ASB500のレジスタバンク1、3、5、及び7の一つを実現 するのに適した回路650を示す。好適実施例の詳細な説明 第2a図は、本発明の一実施例に於ける、プログラマブル論理デバイス200 のブロック図である。プログラマブル論理デバイス200は、12個の“メガブ ロック”203a〜203lを含み、2つの特定用途向けモジュール(“ASB ”)203a及び203bを含んでいる。 ANDアレイ256は、(a)LRP202aにサポートされるGLBの出力信 号、(b)LRP202aにサポートされるGLBを含むメガブロック内のI/ Oセルからの出力信号、及び(c)GRP201を介して受信される出力信号を 受信する。GRP201を介して受信される信号には、LRP202bにサポー トされるGLBの出力信号、及びLRP202bにサポートされるGLBを含む メガブロック内のI/Oセルからの出力信号が含まれる。また、ANDアレイ2 56はGLB250の積項共有アレイ(product-term sharing array:PTSA )251a及び251bからの4つの内部“高速フィードバック”信号も受信す る。 ANDアレイ256は、20個の積項からなる2つのグループを生成する。論 理的真及び補数形式の両方で供給される各積項信号は、ANDアレイ256に受 信される入力信号を任意の数含む論理積である。第2b図に於いて、20個の積 項信号からなる第1のグループはPTSA251aに受信され、20個の積項信 号からなる第2のグループはPTSA251bに受信される。積項共有アレイ2 51a及び251bのような積項共有アレイについては、1991年5月6日に 出願され、1992年7月14日にJ.Shenらに付与され、Lattice Semiconducto r Corporationに譲渡された“Programmable Logic Device Providing Product T erm Sharing and Steering to the Outputs of the Programmable Logic Device ”というタイトルの米国特許第5,130,574号明細書に詳細に説明されて いる。この米国特許第5,130,574号明細書は本出願に引証として加えら れる。 出力段252aは、PTSA251aの組合せ出力信号または一時的に保持さ れた出力信号のいずれかを生成するべく様々なプログラマブル論理関数機能を提 供する出力論理マクロセルを含んでいる。出力段25 2aに於いて使用されるこのタイプの論理マクロセルは、1991年5月6日に 出願され1993年3月2日にJ.Shenらに付与された“Output Logic Macrocell with Enhanced Functional Capabilities”というタイトルの米国特許第5,1 91,243号明細書で詳細に議論されている。米国特許第5,191,243 号明細書は引証として本出願に加えられる。 マルチプレクサ253a〜253dの出力信号は、出力信号00〜03として 出力される。出力信号00〜03は、LRP202aに送り戻されるか、或いは GLB250のメガセルの出力ルーティングプールを介して関連するI/Oセル ヘ送ることもできる。 第2c図は、プログラマブル論理デバイス200(第2a図)のメガブロック 203dに関連する出力ルーティングプール204dを示す。第2c図に示され ているように、メガブロック203dのGLBA0〜A3はスイッチマトリクス 270に接続されている。スイッチマトリクス270は、GLBA0〜A3から 32個の出力信号を受信し、16個の出力信号をI/Oピン205d−0〜20 5d−15に出力する。GLBA0〜A3の32個の出力信号の各々は、4つの I/Oセルにルーティングされる。これらのI/Oセルは各々、入力ピン、出力 ピン、或いは双方向ピンとして独立に構成することができる。入力ピンとして構 成された場合、受信された入力信号はバス271を介してLRP202bへと送 られる。 より高速の接続を得るため、各GLBに於いて、4つの出力端子にI/Oセル へのプログラマブルバイパス信号経路が各々設けられる。これらのバイパス接続 を第2d図に示す。 LRP202a及びLRP202bは、IIB208及びメガブロック203 a〜203fをサポートする相互接続リソースである。IIB208は、ASB 203a及び203bの出力信号を第2a図に示すようにLRP202aへとル ーティングするルーティングリソース(routing risource)である。ASB20 3a及び203bへの入力信号は、LRP202aから直接ASB203a及び 203bへとルーティングすることができる。第3図は、LRP202a、LR P202b、及びGRP201を具現する構造300のブロック図である。第3 図に示されているように、各LRPは、(i)そのLRPがサポートするGLB に関連するI/Oセルから入力信号を受信する96個の入力端子(まとめて参照 符号302aまたは302bで示す)と、(ii)そのLRPがサポートするG LB及びASBからの8個の出力信号から入力信号を 受信する192個の入力端子(まとめて参照符号301aまたは301bで示す )と、(iii)他方のLRPからの信号をGRP201から受信するための1 92個の入力端子(まとめて参照符号303aまたは303bで示す)と、(i v)そのLRPが受信した288個の入力信号の各々をそのLRPがサポートす るGLB及びASBの192個の入力端子へとルーティングするための192個 の出力端子(まとめて参照符号305aまたは305bで示す)とを有する。 LRP202a及び202bは各々、Kapil Shankarにより1991年5月6日 に出願され、1993年4月26日に特許され、本出願の譲受人でもあるLattic e Semiconductor Corporationに譲渡された米国特許第5,204,556号( タイトル“Programmable Interconnect Structure for Logic Blocks”)明細書 で議論されている相互接続構造に基づいて実現することかできる。米国特許第5 ,204,556号明細書は本出願に引証として加えられる。LRP202aは 、GRP201を通じてLRP202bへと信号をルーティングするための96 個の出力端子を備えている。同様に、LRP202bは、GRP201を通じて LRP202aへと信号をルーティングするための96個の出力端子を備えてい る。 GRP201はLRP202aと202bを相互接続する。性能を向上するた め、相互接続305a及び305bにはバッファが設けられている(それぞれ、 まとめて参照符号304A及び304Bで示す)。LRP202aと202bを 相互接続するのにGRP201を用いることにより、LRP202aによってサ ポートされるASBとGLBとの間の接続及びLRP202bによってサポート されるASBとGLBとの間の接続は維持され、LRP202a及び202bに 受信される信号の総数の一部のみがルーティングされる。その結果、シリコン面 積の大幅な削減が達成される。構造300は、同じLRPによってサポートされ るGLB内で相互接続された論理回路を優先的に実現することにより最適に使用 することができ、それによってGRP201を介したLRP間の伝送を必要とす る信号の数が低減される。このような条件の下で、GLB間の信号またはGLB とASBとの間の信号は、LRPを介して伝送される。この相互接続回路は、単 一ルーティングプールシステムに於ける代替手段よりも小さい。このようにして 、プログラマブル論理デバ イス内のGLBの増加にも関わらず、相互接続回路を通じた伝送に於ける信号の 遅れは概ね小さく保たれる。LRPに於ける負荷が小さくなっている(サポート するGLBの数が少なくなっている)ため、交流スイッチング電流も概ね小さく 保たれる。LRP202a及びLRP202b、及びGRP201は各々、この 構造に於ける標準回路であり、各LRP内またはGRP201を介する信号の遅 れは予測可能であり、一貫している。 本実施例ではASB203a及び203bは、それぞれメモリモジュール及び レジスタモジュールである。この実施例ではASB209aは、(i)単一のシ ングルポートスタティックランダムアクセスメモリ(SRAM)、(ii)2つ のシングルポートSRAM、(iii)デュアルポートSRAM、及び(iv) 先入れ先出し(FIFO)メモリの中の一つとすることができる。第4a図は、 第2a図のメモリモジュールASB209aを実現するのに適したASB400 のブロック図である。ASB400はメモリ回路420を有している。メモリ回 路420は、2つのポート“A”及び“B”からアクセスすることができる。こ の実施例では、ASB400のメモリアレイは、512×9メモリアレイまたは 256×18メモリアレイのどちらかとして編成することができる。 ASB400のポートA及びBは各々、18個のデータI/O信号、8個のア ドレス信号、一つのビジ一信号、一つのチップ選択信号、及び2つの読出し/書 込み制御信号を含む。アドレス信号はASB400がSRAMとして構成された とき主として用いられる。FIFOメモリとして構成された場合、“フル”、“ 概ねフル”、“空”及び“概ね空”の4つのステータス信号がASB400によ って生成される。FIFOメモリとして構成された場合、ASB400はリセッ ト信号も受信する。 ポートAはプログラマブルデバイスのI/Oピンからアクセスすることができ る。第4a図に示されているように、I/Oセル0〜17は、プログラマブル論 理デバイスの18個の対応するピンを通じてアクセスすることのできる18ビッ トデータバスを形成している。GLBで生成されるか或いはグローバル出力イネ ーブル信号として受信される出力イネーブル信号は、LRPから信号を受信する 相互接続ラインの2つのグループA0及びA1の一方からI/Oセルへと供給さ れる(A0及びA1は、以下に述べるようにLRPの信号線をASB400内へ とルーテ ィングするのに用いられる2つのANDアレイ470及び471の出力ラインで ある)。プログラマブル論理デバイス200用の出力イネーブル信号については 、Ju Shenらによって1993年9月1日に出願され、Lattice Semiconductor C orporationに譲渡された同時係属特許出願第08/115,475号(タイトル “Output Enable Structure and Method for a Programmable Logic Device”) 明細書に記載されている。 この同時継続特許出願は本出願に引証として加えられる。I/Oセル0に供給さ れる出力イネーブル信号は、I/Oセル0によってI/Oセル1〜17の各々に 供給される。 ASB400のポートAに於いて、I/Oセル0〜17に於いて受信された入 力信号は、データ入力信号として、バス412aによりメモり回路420へ伝え られる。メモリ回路420から出力されるデータ出力信号は、バス410bによ ってI/Oセル0〜17へと送られる。ASB400は、9ビットのデータパス (data path)または18ビットのデータパスのどちらかを有するように構成す ることができる。9ビットデータパスが望まれる場合、I/Oセル9〜17は他 の入力/出力の目的に用いることができる。ポートAを通じてアクセスしようと するメモリセルが、ポートBでペンディングとなっているメモリアクセスによっ て同時にアクセスされるとき、ASB400によって生成されるビジー信号は、 ポートAが“ビジー”であることを示す。このビジー信号は、リード404aを 介してI/Oセル18へ送られる。ASB400がSRAMとして使用されるよ うに構成される場合、I/Oセル19〜26はメモリアドレスを受信するための 8ビットバスを形成する。メモリアドレスはバス411aを介してメモリ回路4 20へと送られる。ASB400がFIFOメモリとして使用されるように構成 される場合、I/Oセル19はリセット信号を受信し、リセット信号はリード4 21によってメモリ回路420へと送られる。また、I/Oセル20〜23は、 それぞれリード406〜409を介してメモリ回路420から4つのステータス 信号“フル”、“概ねフル”、“空”及び“概ね空”を受信する。メモリ回路4 20は、関連するLRPからASB400へと相互接続ライングループA0を介 して送られてくる内部生成されたリセット信号を受信することもできる。ASB 400は、リード421上のリセット信 号またはLRPを介して送られてくるリード417上のリセット信号のどちらか を選択するようにプログラムすることもできる。SRAMとして構成される場合 、ASB400は読出し/書込み制御信号及びチップ選択信号をそれぞれ(i) I/Oセル27〜29からリード413c、414c、及び415cを介して、 あるいは(ii)LRPからリード413a、414a、及び415aを介して 受信する。 メモリ回路420の出力信号(例えばポートBのデータ出力信号)は、LRP へのインタフェースを提供するIIB490へと送られる。 メモリ回路420のこれらの出力信号は、ポートBのデータ出力信号(バス41 0)、ポートA及びBに対するビジー信号(それぞれリード404a、404b )、“フル”信号(リード406)、“概ねフル”信号(リード407)、“概 ね空”信号(リード408)、及び“空”信号(リード409)である。 メモリ回路420のポートBのI/O信号は、ポートAのI/O信号と類似し ている。しかしながら、ポートBに於ける信号はLRPを通してルーティングさ れているため、プログラマブル論理デバイス200のGLBに接続することがで きる。従ってメモリ回路420はGLBに於いて実現される論理関数をサポート するのに用いることができる。従って、メモリ回路420は多くの応用に対して 効果のあるオンチップメモリを提供する。 第4b図は、第4a図のメモリ回路420の実施形態を示す。第4b図に示さ れているように、メモリ回路420はポートAまたはポートBからアクセスする ことのできるデュアルポートSRAM425を含んでいる。ASB400がSR AMとして構成される場合、マルチプレクサ440、442、及び443は、( i)バス452のポートAアドレス信号、(ii)リード451上の読出し/書 込み制御信号、及び(iii)リード450上のチップ選択信号を選択するよう にプログラムされる。バス452上のアドレス信号は、第4a図に示したバス4 11a上の信号である。バス451上の読出し/書込み制御信号は、第4a図の リード413a、413c、414aまたは414cの読出し/書込み制御信号 の一つとすることができる。第4a図の読出し書込み制御信号によって、ASB 400がI/Oピンに於いて9ビットデータパスを有するかあるいは18ビット データパスを有するかも選択される。データパスの幅の選択は、マルチプレクサ 430によってなされる。マルチプ レクサ430はデュアルポートSRAM425の入力/出力信号を18ビットデ ータパス(バス460及び461)、または9ビットデータパス(バス460ま たは461のどちらか。プログラマブル論理デバイス200のプログラミングに よって決定される)へとルーティングする。リード450上のチップ選択信号は 、第4a図のリード415cまたは415aの何れかの信号とすることができる 。ASB400がSRAMとして構成される場合のポートBの信号は、ポートA の信号について上述したのと同様に供給される。 ASB400がデュアルポートSRAMとして構成される場合、一方のポート に対するビジー信号は、そのポートに於いて遅れて試みられるメモリアクセスに よって、そのとき他方のポートでアクセスされているメモリアドレスと同じメモ リアドレスがアクセスされるとき生成される。ビジー信号は、アービトレーショ ン論理回路(arbitration logic circuit)429によって生成される。この論 理回路429は、ポートAとBの両方のチップ選択信号がオン状態になったとき 、ポートAとBに於けるアドレスを比較する。ポートAに於けるビジー信号は、 ポートAに於けるチップ選択信号がポートBに於けるチップ選択信号より遅れて いるときオン状態となる。その逆も成り立つ。 ASB400が2つのシングルポートSRAMとして構成される場合、各SR AMは128×18ビットまたは256×9ビットのいずれかである。デュアル ポートSRAM425のアドレス空間をポートA及びBの一方を通じて各々独立 してアクセス可能な2つのシングルポートSRAMに分割するため、マルチプレ クサ441及び437はポートA及びBに供給されるアドレスのビット7を逆の 値に固定する。 ASB400がFIFOメモリとして構成される場合、ポートA及びBの一方 が選択され、FIFOメモリの“読出し”ポート(即ち出力ポート)となり、他 方のポートがFIFOメモリの“書込み”ポート(即ち入力ポート)となる。読 出しカウンタ427はFIFOメモリの読出しアドレスを生成する。この読出し アドレスはマルチプレクサ432または433によってマルチプレクサ436( ポートB)またはマルチプレクサ440(ポートA)の何れかに送られる。同様 に、書込みカウンタ428はFIFOメモリの“書込み”アドレスを生成する。 FIFOメモリの“書込み”アドレスはマルチプレクサ432または433によ ってマルチプレクサ436(ポートB)またはマルチプレクサ440 (ポートA)の何れかに送られる。FIFOとして構成されている場合、読出し カウンタ427及び書込みカウンタ428を制御するため、ポートA及びBの書 込みイネーブル信号が、それぞれリード451及び454を介してフラグ論理回 路426へ送られる。フラグ制御論理回路426は、“フル”、“空”、“概ね 空”及び“概ねフル”状態を検出する。 ASB500のI/Oセルは、ASB500の選択された入力及び出力信号をプ ログラマブル論理デバイス200のI/Oピンに関係付ける。この実施例では、 出力用に構成されたASB500のI/Oセルを制御するべく、ブロック502 は2つのグローバル出力イネーブル信号と一つの積項出力イネーブル信号から出 力イネーブル信号を選択するように構成することができる。 第5a図に示されているように、I/Oセル503はI/Oピンからイネーブ ル信号を受信する。リード513上に出力され、構成マルチプレクサ(configur ing multiplexer)514によってレジスタバンク501a〜501hへとルー ティングされるこのイネーブル信号によって、I/Oセル505a〜505pに 関連するI/Oピン上に受信されたデータは、選択されたレジスタにパラレルに ロードされる。ASB500がシフトレジスタモードでシリアル入力用に構成さ れている場合、I/Oセル504は、関連するI/Oピンに於いてシリアル入力 信号を受信する。リード512上に供給されるこのシリアル入力信号は、構成マ ルチプレクサ516によってレジスタバンク501a〜501hにルーティング される。ASB500に於いて、パラレルデータ入力及び/または出力とするた め、I/Oセル505a〜505pを用いて、関連するI/Oピンを、入力ピン 、出力ピンまたは双方向ピンとして構成することができる。I/Oセル505a 〜505pに関連するI/Oピンにて受信される入力信号は、内部データバス5 11上に供給される。同様に、I/Oセル505a〜505pに関連するI/O ピン上に供給される出力信号は、内部データバス509から送られる。ASB5 00がシリアル出力を出力するように構成されている場合、I/Oセル506が 関連するI/Oセルに於いてシリアル出力信号を供給する。ASB500がカウ ンタまたはタイマバンクとして構成されている場合、I/Oセル5 07は4個までの“カウントキャリーアウト(count carry out)”または“タ ーミナルカウント(terminal count)”信号を供給する。カウンタモードの場合 、“カウントキャリーアウト”信号を用いて、複数のプログラマブル論理デバイ スASBをカスケード接続し、より大きなカウンタを形成することができる。タ イマモードの場合、タイマが予め定められたカウント値に達すると、ターミナル カウント信号がオン状態となる。レジスタバンク501a〜501hの出力信号 (詳述すると、シリアル出力信号508、パラレルデータ出力バス509及びカ ウントキャリーアウト信号510)は、IIBまたは“premux”590に 供給され、関連するLRPへ送られる。 パラレル入力またはパラレル出力用に構成されている場合、相互接続ライング ループA0上に受信される3ビット信号の値に基づいて、デマルチプレクサ51 7によって、レジスタバンク501a〜501hの一つが選択される。相互接続 ライングループA0も、I/Oピンから受信されるパラレルロードイネーブル信 号512及びリード513上のシリアル入力信号の代わりに、マルチプレクサ5 14及び516を適切に構成することによって選択可能なパラレルロードイネー ブル信号及びシリアル入力信号を供給する。更にグループA0は、(a)シリア ル入力または出力のためのリード518上の“シフトイネーブル”信号、(b) カウンタまたはタイマモードに於けるカウンタのバラレルローディングのための バス519上の4つの“プリロード”信号、(c)バス520上の4つの“キャ リーイン”または“カウントホールド”信号(カウンタモードでは“キャリーイ ン”信号、タイマモードでは“カウントホールド”制御信号)、及び(d)リー ド521上の積項クロック信号(product term clock signal)も供給する。カ ウンタモードに於いて、各オン状態となった“キャリーイン”信号は、次のクロ ック周期に於いて関連するカウンタを増加または減少させる。タイマモードに於 いて、各“カウントホールド”信号は、次のクロック周期のあいだ関連するタイ マのカウント値が増加または減少するのを阻止する。 第5a図の実施例は、5つのクロック信号(3つのグローバルクロック信号の 任意の一つ、I/Oセルから受信されるクロック信号、内部ロジックによって生 成される積項クロック信号)の中の一つを使用するように構成することができる 。 第5b(i)〜第5b(vi)図に、ASB500の様々な構成を示す。第5 b(i)図は、それぞれバス523及び509上のパラレルデータ入力、パラレ ルデータ出力用に構成されたASB500を示す。3 ビット選択ライン524によって、8つの16ビットレジスタバンクの中からア ドレス指定されるレジスタバンクが選択される。リード525上のイネーブル信 号は、選択されたレジスタバンク内へのバス523上のデータの書込みをイネー ブルする。この実施例では、入力バス523は、真または補数論理フォーマット を供給するように構成することができる。補数フォーマットは、I/Oセル50 5a〜505pから受信される入力信号をマルチプレクサ515によって反転す ること或いはANDアレイ570の反転された出力信号を選択することによって 供給される。 リード518上のシフトイネーブル信号がオン状態になると、シリアルデータ入 力ライン523上のビットがシフトレジスタ内に最上位ビットとしてシフトされ る。パラレルデータ読込み及びデータ書込みは、第5b(i)図の構成について 上述したのと概ね同様にして実行される。この実施例では、第5b(ii)図の 構成と同様に、リード525上のイネーブル信号がリード518上のシフトイネ ーブル信号に対し優先する。 第5b(iv)図は、パラレル/シリアルデータ入力、パラレル/シリアルデ ータ出力用に構成されたASB500を示す。この構成では、2以上の隣接する レジスタバンクによって、20乃至128ビットの範囲の任意のサイズのシフト レジスタを、4ビット刻みで構成することができる。シフトレジスタの最上位側 に位置するレジスタバンクは、4ビット、8ビット、12ビットまたは16ビッ トシフトレジスタスライスとして構成することができるが、このときシフトレジ スタの残りのレジスタバンクは各々16ビット幅に設定される。一つのレジスタ バンクしか使用しない場合は、当然であるが、シフトレジスタは、4ビット、8 ビット、12ビットまたは16ビットとすることができる。リード518上のシ フトイネーブル信号がオン状態になると、リード523上のビットがシフトレジ スタ内に最上位ビットとしてシフトされるとともに、最下位ビットがシフトレジ スタからリード508上にシリアルデータ出力ビットとして出力される。この実 施例では、第5b(ii)図の構成と同様に、リード525上のイネーブル信号 がリード518上のシフトイネーブル信号に対し優先する。 第5b(v)図は、カウンタ動作用に構成されたASB500を示す。この実 施例では、カウンタ機能はレジスタバンク1、3、5及び7にのみ具備される。 従って、ASB500は、4つの4、8、12、または16ビットカウンタにす ることができる。別の形態として、2以上の隣 接するレジスタバンクによって、20乃至64ビットの範囲の任意のサイズのよ り大きなアップ/ダウンカウンタを4ビット刻みで形成することもできる。その ような大きなカウンタでは、最上位側のレジスタバンクは4ビット、8ビット、 12ビットまたは16ビットカウンタとして構成され、より大きなカウンタの残 りのレジスタバンクは各々16ビット幅に設定される。この構成では、リード5 25上のイネーブル信号がオン状態になったとき、選択されたレジスタバンクへ のパラレルロードが実行される。 別の方法では、リード519上のカウントプリロード信号がオン状態になったと き、選択されたカウンタは隣接するレジスタバンクの内容をロードする。例えば 、リード519上の信号がオン状態になったとき、レジスタバンク1のカウンタ は、レジスタバンク0の内容をパラレルにロードする。バス520上のカウント “キャリーイン”信号がオン状態になると、このカウント“キャリーイン”信号 に関連するカウンタは、アップカウンタにプログラムされているか或いはダウン カウンタにプログラムされているかに応じて、増加または減少する。また、バス 510上の“キャリーアウト”信号に対応して、カウンタがアップカウンタにプ ログラムされているか或いはダウンカウンタにプログラムされているかに応じて 、各カウンタに於けるオーバフローまたはアンダフロー状態が認識される。 第5b(vi)図は、タイマ動作用に構成されたASB500を示す。タイマ は、ターミナルカウントに達したとき“巻き戻らない”カウンタである。この実 施例では、レジスタバンク1、3、5及び7のみがタイマ機能を具備し得る。第 5b(v)図のカウンタ構成と同様に、ASB500内の隣接する2以上のタイ マを、20乃至64ビットの範囲の任意の幅のタイマが4ビット刻みで形成され るよう構成することができる。別の形態として、ASB500内の各タイマを、 4、8、12または16ビットタイマとして個々に構成することもできる。この 実施例では、プログラム時に、各タイマに対しプリセット値(preset value)を 指定することができる。リード518上のスタート信号がロジックロードにセッ トされると、プリセット値か選択されたカウンタにロードされ、タイマ動作が開 始される。 第5c図は、LRPからASB500へと信号をルーティングする相互接続ラ インの2つのグループA0及びA1を提供するANDアレイ5 70及び571を示す。グループA0及びA1に於ける相互接続ラインの割り当 ては、各ANDアレイの左側のコラム内に示されている。 第5d図は、ASB500の出力信号をLRP内へとルーティングするインタ フェース相互接続ブロック(IIB)590を示す。 第5d図に示されているように、IIB590への各入力信号は、4つのLRP ラインの一つにルーティングされ得る。 第6a図は、本実施例に於けるレジスタバンク0、2、4及び6の一つを実現 するのに適した回路600を示す。第6a図に示されているように、16個のD 型フリップフロップを含む16ビットレジスタ601によって、レジスタバンク に記憶能力が与えられる。バス602上の16個の出力信号は、レジスタバンク の共通出力リード(即ち第5a図のバス509)に供給されるとともに、次に上 位のレジスタバンクの入力リードにも供給され得る(即ち回路600がレジスタ バンク0を具現している場合、回路600の出力リードはレジスタバンク1の入 力リードに対し入力信号を供給する)。また、バス602は、シフト論理ブロッ ク610へも入力信号を供給する。シフト論理ブロック610は、“シリアルイ ン”ビットとして、(a)前のレジスタバンクからのリード603上の最下位ビ ットと、(b)レジスタバンクの共通シリアル入力ピンであるリード523(第 5a図)上の信号の内、一方を選択する。シフト動作に於いてシリアルインビッ トは、出力バス602上の値に、適当な4ビット境界に於いて挿入される。例え ば、レジスタバンクが12ビットシフトレジスタとして構成されている場合、シ リアルビットはマルチプレクサ605aによってバス602上の値のビット11 に挿入され、結果としてシフトされた値がバス606上に出力される。バス60 6上の値の残りの11ビット(即ちビット0〜11)は、シフタ604b、60 4c、及び604dを用いるとともに、マルチプレクサ605b及び605cを それぞれバス602のビット8及び4を受信するように設定することにより、バ ス602のビット0〜11をシフトすることによって得られる。 レジスタ601への入力信号は、マルチプレクサ607によって3つ の供給源から選択される。3つの供給源とは、(a)バス602、(b)バス6 06及び(C)バス522である。バス602の信号は、リード518上のシフ トイネーブル信号とリード525上のイネーブル信号が両方ともオン状態でない 場合に選択される。バス606の信号は、リード518上のシフトイネーブル信 号がオン状態のとき選択され、バス522上の信号はリード525上のイネーブ ル信号がオン状態のとき選択される。第6a図に示されているように、ゲート6 11及び612によって、リード525上の信号がリード518上のシフトイネ ーブル信号に対し優先することが保証されている。 レジスタ601用のクロック信号は、マルチプレクサ613によって5つの供 給源から選択される。マルチプレクサ613によって選択されたクロック信号か ら、マルチプレクサ614は更に2つの位相のうち一方を選択する。リード61 5上に供給されるグローバルリセット信号は、レジスタ601をイニシャライズ する。 第6b図は、本発明に於けるレジスタバンク1、3、5及び7の一つを実現す るのに適した回路650を示してしる。第6a図の回路600と第6b図の回路 650の相互参照を容易にするため、回路600と650内の同様の要素には同 じ参照符号を付す。従って、理解されるように、16ビットレジスタ601、シ フト論理ブロック610、クロック信号選択用のマルチプレクサ613及び61 4は、回路600と650の両方に於いて実質的に同一である。 回路650では、データバス522、バス602及びシフトバス606からの 入力信号の受信に加え、レジスタ601は、更に2つの入力信号供給源から、マ ルチプレクサ651を介して、データを受信することができる。これらの2つの 入力信号供給源とは、バス654上の“プリロードデータ(preload data)”と 、バス656上のネクストカウント信号(next count signal)である。バス6 56のネクストカウント信号は、カウンタロジック670からの出力信号である 。マルチプレクサ662は、プリロードデータバス654として、バス603上 に受信される前のレジスタバンクの出力信号の16ビットデータか、或いはマル チプレクサ655を設定することによりプログラム時に構成されたプリセット値 の何れかを選択する。マルチプレクサ655は、16個の2対1マルチプレクサ を含んでいる。これらのマルチプレクサは、16ビットの値が出力されるように 、各々独立してプログラムされる。バス654上のデータは、リード519a上 の“プリロード”信号(第5a図のバ ス519上のピット)がオン状態のとき選択される。 バス656上の“ネクストカウント”信号は、回路650がカウンタまたはタ イマモードのとき選択される。マルチプレクサ657かバス675としてバス6 02上の信号を選択するか、あるいはそれらの補数信号を選択するかに依存して 、カウントロジック670はアップカウンタまたはダウンカウンタを具現する。 入力リード520a上のカウント“キャリーイン”信号(第5a図のバス520 のビット)がオン状態のとき、増分器(incrementer)658はマルチプレクサ 657からの出力値を増加し、バス656上にその出力値として16ビットのネ クストカウント信号を出力する。回路661は適当なオーバフローまたはアンダ フロー状態(即ちバス675上のビットが全て1)を検出し、リード510a上 に“カウントキャリーアウト”信号(第5a図に於けるバス510のビット)を 出力する。回路650がタイマとして構成されている場合、カウント“キャリー アウト”信号は、“ターミナルカウント”信号となる。タイマモードの場合、タ ーミナルカウントに達すると、ゲート660は、マルチプレクサ659の出力信 号としてバス602上の信号を“ネクストカウント”信号として選択する。 上述した詳細な説明は本発明の特定の実施形態を例示するためになされたもの であり、本発明を限定することを意図したものではない。本発明の範囲を逸脱す ることなく様々な変形変更が可能である。本発明は以下の請求の範囲によって画 定される。請求の範囲 1.論理回路を構成するための汎用プログラマブル論理ゲートを有する汎用プロ グラマブル論理回路と、 予め定められた用途に対しカスタマイズされた複数の構成の中の一つに構成変 更可能な回路であるプログラマブル特定用途向け回路とを含むプログラマブル論 理集積回路。 2.前記プログラマブル論理ブロックと前記特定用途向け回路とを相互接続する ためのプログラマブル相互接続リソースを更に含むことを特徴とする請求項1に 記載の集積回路。 3.前記プログラマブル相互接続リソースが更に相互接続ラインのスイッチマト リクスを含んでおり、前記特定用途向け回路が複数の入力及び出力端子を含んで おり、前記集積回路が更に前記特定用途向け回路と前記プログラマブル相互接続 リソースとの間にプログラマブルインタフェース相互接続ブロックを含んでおり 、前記プログラマブル相互接続ブロックは前記特定用途向け回路の前記入力及び 出力端子を1または複数の前記相互接続ラインに割り当てることを特徴とする請 求項2に記載の集積回路。 4.複数の入力及び出力端子と、 前記集積回路の前記入力端子を前記特定用途向け回路の前記入力端子に選択的 に接続し、前記特定用途向け回路に入力信号が供給されるようにするプログラマ ブル入力リソースとを更に含むことを特徴とする請求項1に記載の集積回路。 5.前記特定用途向け回路か、該特定用途向け回路が複数の構成の中の一つに構 成されるのを可能とするコンフィギュレーション回路を含んでいることを特徴と する請求項1に記載の集積回路。 6.前記集積回路がイン−システムプログラム可能であることを特徴と する請求項5に記載の集積回路。 7.前記集積回路が不揮発性メモリ技術を用いて実現されていることを特徴とす る請求項5に記載の集積回路。 8.前記集積回路が揮発性メモリ技術を用いて実現されていることを特徴とする 請求項5に記載の集積回路。 9.前記特定用途向け回路がメモリアレイを含んでいることを特徴とする請求項 5に記載の集積回路。 10.前記集積回路がイン−システムプログラム可能であることを特徴とする請 求項1に記載の集積回路。 11.前記集積回路が不揮発性メモリ技術を用いて実現されていることを特徴と する請求項1に記載の集積回路。 12.前記集積回路が揮発性メモリ技術を用いて実現されていることを特徴とす る請求項1に記載の集積回路。 13.前記特定用途向け回路がプログラム可能に構成変更可能なメモリアレイを 含んでいることを特徴とする請求項1に記載の集積回路。 14.前記特定用途向け回路がプログラム可能に構成変更可能なメモリアレイを 含んでいることを特徴とする請求項2に記載の集積回路。 15.前記特定用途向け回路がプログラム可能に構成変更可能なメモリアレイを 含んでいることを特徴とする請求項3に記載の集積回路。 16.前記メモリアレイが複数のワードサイズから選択されたプログラム可能な ワードサイズを有していることを特徴とする請求項13に記載の集積回路。 17.前記メモリアレイが、更に1または複数のメモリアレイにプログラム可能 に分割可能であることを特徴とする請求項13に記載の集積回路。 18.前記メモリアレイがデュアルポートメモリアレイを含んでいるこ とを特徴とする請求項13に記載の集積回路。 19.前記デュアルポートメモリアレイ内のメモリワードに先入れ先出し式にア クセスするための制御回路を更に含むことを特徴とする請求項18に記載の集積 回路。 20.前記メモリアレイ内の有効なデータの量を定性的に示すためのステータス 信号論理回路を更に含むことを特徴とする請求項19に記載の集積回路。 21.前記制御回路が、前記デュアルポートメモリアレイにアクセスするための アドレスを生成する読出しカウンタ及び書込みカウンタを含んでいることを特徴 とする請求項20に記載の集積回路。 22.前記特定用途向け回路がプログラム可能に構成変更可能なメモリアレイを 含んでいることを特徴とする請求項5に記載の集積回路。 23.前記メモリアレイが複数のワードサイズから選択されたプログラム可能な ワードサイズを有していることを特徴とする請求項22に記載の集積回路。 24.前記メモリアレイが、更に1または複数のメモリアレイにプログラム可能 に分割可能であることを特徴とする請求項13に記載の集積回路。 25.前記メモリアレイがデュアルポートメモリアレイを含んでいることを特徴 とする請求項22に記載の集積回路。 26.前記デュアルポートメモリアレイ内のメモリワードに先入れ先出し式にア クセスするための制御回路を更に含むことを特徴とする請求項22に記載の集積 回路。 27.前記メモリアレイ内の有効なデータの量を定性的に示すためのステータス 信号論理回路を更に含むことを特徴とする請求項23に記載の集積回路。 28.前記制御回路が、前記デュアルポートメモリアレイにアクセスするための アドレスを生成する読出しカウンタ及び書込みカウンタを含んでいることを特徴 とする請求項27に記載の集積回路。 29.前記特定用途向け回路が複数のレジスタを含んでいることを特徴とする請 求項1に記載の集積回路。 30.前記特定用途向け回路が、前記レジスタの一つをシフトレジスタに構成す るためのロジックコンフィギュレーション回路を更に含んでいることを特徴とす る請求項29に記載の集積回路。 31.前記特定用途向け回路が、前記レジスタの一つをカウンタに構成するため のロジックコンフィギュレーション回路を更に含んでいることを特徴とする請求 項29に記載の集積回路。 32.前記特定用途向け回路が、前記レジスタの一つをタイマに構成するための ロジックコンフィギュレーション回路を更に含んでいることを特徴とする請求項 29に記載の集積回路。 33.前記特定用途向け回路が複数のレジスタを含んでいることを特徴とする請 求項2に記載の集積回路。 34.前記特定用途向け回路が複数のレジスタを含んでいることを特徴とする請 求項3に記載の集積回路。 35.前記特定用途向け回路が複数のレジスタを含んでいることを特徴とする請 求項5に記載の集積回路。 36.前記特定用途向け回路が、前記レジスタの一つをシフトレジスタに構成す るためのロジックコンフィギュレーション回路を更に含んでいることを特徴とす る請求項34に記載の集積回路。 37.前記特定用途向け回路が、前記レジスタの一つをカウンタに構成するため のロジックコンフィギュレーション回路を更に含んでいることを特徴とする請求 項34に記載の集積回路。 38.前記特定用途向け回路が、前記レジスタの一つをタイマに構成するための ロジックコンフィギュレーション回路を更に含んでいることを特徴とする請求項 34に記載の集積回路。 39.前記前記特定用途向け回路が複数のカウンタを含んでいることを特徴とす る請求項1に記載の集積回路。 40.前記前記特定用途向け回路が複数のカウンタを含んでいることを特徴とす る請求項2に記載の集積回路。 41.前記前記特定用途向け回路が複数のカウンタを含んでいることを特徴とす る請求項3に記載の集積回路。 42.前記タイマが前記集積回路の外部の供給源から初期値を受け取るように接 続されていることを特徴とする請求項38に記載の集積回路。 43.前記タイマが前記レジスタの中の別のレジスタから初期値を受け取るよう に接続されていることを特徴とする請求項38に記載の集積回路。 44.前記タイマがプログラム可能なロード値を受け取るように接続されている ことを特徴とする請求項38に記載の集積回路。 45.集積回路に於いて、 プログラマブル特定用途向け回路を設ける過程と、 前記特定用途向け回路が複数の構成の中の一つに構成されるのを可能とするコ ンフィギュレーション回路を設ける過程とを含むことを特徴とする方法。 46.複数のプログラマブル論理ブロックを設ける過程と、 前記プログラマブル論理ブロックと前記特定用途向け回路とを相互接続するた めのプログラマブル相互接続リソースを設ける過程とを更に含むことを特徴とす る請求項45に記載の方法。 47.プログラマブル相互接続リソースを設ける前記過程によって相互 接続ラインのスイッチマトリクスが設けられ、前記特定用途向け回路には複数の 入力及び出力端子が設けられており、前記方法が更に前記特定用途向け回路と前 記プログラマブル相互接続リソースとの間にプログラマブルインタフェース相互 接続ブロックを設ける過程を含み、前記プログラマブル相互接続ブロックは前記 特定用途向け回路の前記入力及び出力端子を1または複数の前記相互接続ライン に割り当てることを特徴とする請求項46に記載の方法。 48.前記集積回路に複数の入力及び出力端子を設ける過程と、 前記集積回路の前記入力端子を前記特定用途向け回路の前記入力端子に選択的 に接続し、前記特定用途向け回路に入力信号が供給されるようにするためのプロ グラマブル入力リソースを設ける過程とを更に含むことを特徴とする請求項47 に記載の方法。 49.前記集積回路がイン−システムプログラム可能に提供されることを特徴と する請求項45に記載の方法。 50.前記集積回路が不揮発性メモリ技術を用いて実現されることを特徴とする 請求項45に記載の方法。 51.前記集積回路が揮発性メモリ技術を用いて実現されることを特徴とする請 求項45に記載の方法。 52.特定用途向け回路を設ける前記過程によって、プログラム可能に構成変更 可能なメモリアレイが提供されることを特徴とする請求項45に記載の方法。 53.特定用途向け回路を設ける前記過程によって、プログラム可能に構成変更 可能なメモリアレイが提供されることを特徴とする請求項46に記載の方法。 54.前記メモリアレイが、複数のワードサイズから選択されたプログラム可能 なワードサイズを具備することを特徴とする請求項52に記載 の方法。 55.プログラム可能に構成変更可能なメモリアレイを提供する前記過程によっ て、更に1または複数のメモリアレイにプログラム可能に分割可能なメモリアレ イが提供されることを特徴とする請求項52に記載の方法。 56.プログラム可能に構成変更可能なメモリアレイを提供する前記過程によっ て、デュアルポートメモリアレイが提供されることを特徴とする請求項52に記 載の方法。 57.前記デュアルポートメモリアレイのメモリワードに先入れ先出し式にアク セスするための制御回路を設ける過程を更に含むことを特徴とする請求項56に 記載の方法。 58.前記メモリアレイ内の有効なデータの量を定性的に示すためのステータス 信号論理回路を設ける過程を更に含むことを特徴とする請求項56に記載の方法 。 59.制御回路を設ける前記過程によって、前記デュアルポートメモリアレイに アクセスするためのアドレスを生成する読出しカウンタ及び書込みカウンタが提 供されることを特徴とする請求項58に記載の方法。 60.特定用途向け回路を設ける前記過程によって、複数のレジスタが提供され ることを特徴とする請求項45に記載の方法。 61.特定用途向け回路を設ける前記過程が、前記レジスタの一つをシフトレジ スタに構成するためのロジックコンフィギュレーション回路を設ける過程を更に 含むことを特徴とする請求項60に記載の方法。 62.特定用途向け回路を設ける前記過程が、前記レジスタの一つをカウンタに 構成するためのロジックコンフィギュレーション回路を設ける過程を更に含むこ とを特徴とする請求項60に記載の方法。 63.特定用途向け回路を設ける前記過程が、前記レジスタの一つをタ イマに構成するためのロジックコンフィギュレーション回路を設ける過程を更に 含むことを特徴とする請求項60に記載の方法。 64.特定用途向け回路を設ける前記過程によって、複数のカウンタが提供され ることを特徴とする請求項45に記載の方法。 65.前記タイマが前記集積回路の外部の供給源から初期値を受け取ることを特 徴とする請求項63に記載の方法。 66.前記タイマが前記レジスタの中の別のレジスタから初期値を受け取ること を特徴とする請求項63に記載の方法。 67.前記タイマがプログラム可能なロード値を受け取ることを特徴とする請求 項63に記載の方法。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チァン、アルバート・エル アメリカ合衆国カリフォルニア州94303・ パロアルト・バウティスタコート 930 【要約の続き】

Claims (1)

  1. 【特許請求の範囲】 1.プログラマブル特定用途向け回路を含む集積回路。 2.複数のプログラマブル論理ブロックと、 前記プログラマブル論理ブロックと前記特定用途向け回路とを相互接続するた めのプログラマブル相互接続リソースとを更に含むことを特徴とする請求項1に 記載の集積回路。 3.前記プログラマブル相互接続リソースが更に相互接続ラインのスイッチマト リクスを含んでおり、前記特定用途向け回路が複数の入力及び出力端子を含んで おり、前記集積回路が更に前記特定用途向け回路と前記プログラマブル相互接続 リソースとの間にプログラマブルインタフェース相互接続ブロックを含んでおり 、前記プログラマブル相互接続ブロックは前記特定用途向け回路の前記入力及び 出力端子を1または複数の前記相互接続ラインに割り当てることを特徴とする請 求項2に記載の集積回路。 4.複数の入力及び出力端子と、 前記集積回路の前記入力端子を前記特定用途向け回路の前記入力端子に選択的 に接続し、前記特定用途向け回路に入力信号が供給されるようにするプログラマ ブル入力リソースとを更に含むことを特徴とする請求項1に記載の集積回路。 5.前記特定用途向け回路が、該特定用途向け回路が複数の構成の中の一つに構 成されるのを可能とするコンフィギュレーション回路を含んでいることを特徴と する請求項1に記載の集積回路。 6.前記集積回路がイン−システムプログラム可能であることを特徴とする請求 項5に記載の集積回路。 7.前記集積回路が不揮発性メモリ技術を用いて実現されていることを特徴とす る請求項5に記載の集積回路。 8.前記集積回路が揮発性メモリ技術を用いて実現されていることを特徴とする 請求項5に記載の集積回路。 9.前記特定用途向け回路がメモリアレイを含んでいることを特徴とする請求項 5に記載の集積回路。 10.前記集積回路がイン−システムプログラム可能であることを特徴とする請 求項1に記載の集積回路。 11.前記集積回路が不揮発性メモリ技術を用いて実現されていることを特徴と する請求項1に記載の集積回路。 12.前記集積回路が揮発性メモリ技術を用いて実現されていることを特徴とす る請求項1に記載の集積回路。 13.前記特定用途向け回路がプログラム可能に構成変更可能なメモリアレイを 含んでいることを特徴とする請求項1に記載の集積回路。 14.前記特定用途向け回路がプログラム可能に構成変更可能なメモリアレイを 含んでいることを特徴とする請求項2に記載の集積回路。 15.前記特定用途向け回路がプログラム可能に構成変更可能なメモリアレイを 含んでいることを特徴とする請求項3に記載の集積回路。 16.前記メモリアレイが複数のワードサイズから選択されたプログラム可能な ワードサイズを有していることを特徴とする請求項13に記載の集積回路。 17.前記メモリアレイが、更に1または複数のメモリアレイにプログラム可能 に分割可能であることを特徴とする請求項13に記載の集積回路。 18.前記メモリアレイがデュアルポートメモリアレイを含んでいることを特徴 とする請求項13に記載の集積回路。 19.前記デュアルポートメモリアレイ内のメモリワードに先入れ先出し式にア クセスするための制御回路を更に含むことを特徴とする請求項 18に記載の集積回路。 20.前記メモリアレイ内の有効なデータの量を定性的に示すためのステータス 信号論理回路を更に含むことを特徴とする請求項19に記載の集積回路。 21.前記制御回路が、前記デュアルポートメモリアレイにアクセスするための アドレスを生成する読出しカウンタ及び書込みカウンタを含んでいることを特徴 とする請求項20に記載の集積回路。 22.前記特定用途向け回路がプログラム可能に構成変更可能なメモリアレイを 含んでいることを特徴とする請求項5に記載の集積回路。 23.前記メモリアレイが複数のワードサイズから選択されたプログラム可能な ワードサイズを有していることを特徴とする請求項22に記載の集積回路。 24.前記メモリアレイが、更に1または複数のメモリアレイにプログラム可能 に分割可能であることを特徴とする請求項13に記載の集積回路。 25.前記メモリアレイがデュアルポートメモリアレイを含んでいることを特徴 とする請求項22に記載の集積回路。 26.前記デュアルポートメモリアレイ内のメモリワードに先入れ先出し式にア クセスするための制御回路を更に含むことを特徴とする請求項22に記載の集積 回路。 27.前記メモリアレイ内の有効なデータの量を定性的に示すためのステータス 信号論理回路を更に含むことを特徴とする請求項23に記載の集積回路。 28.前記制御回路が、前記デュアルポートメモリアレイにアクセスするための アドレスを生成する読出しカウンタ及び書込みカウンタを含んでいることを特徴 とする請求項27に記載の集積回路。 29.前記特定用途向け回路が複数のレジスタを含んでいることを特徴とする請 求項1に記載の集積回路。 30.前記特定用途向け回路が、前記レジスタの一つをシフトレジスタに構成す るためのロジックコンフィギュレーション回路を更に含んでいることを特徴とす る請求項29に記載の集積回路。 31.前記特定用途向け回路が、前記レジスタの一つをカウンタに構成するため のロジックコンフィギュレーション回路を更に含んでいることを特徴とする請求 項29に記載の集積回路。 32.前記特定用途向け回路が、前記レジスタの一つをタイマに構成するための ロジッタコンフィギュレーション回路を更に含んでいることを特徴とする請求項 29に記載の集積回路。 33.前記特定用途向け回路が複数のレジスタを含んでいることを特徴とする請 求項2に記載の集積回路。 34.前記特定用途向け回路が複数のレジスタを含んでいることを特徴とする請 求項3に記載の集積回路。 35.前記特定用途向け回路が複数のレジスタを含んでいることを特徴とする請 求項5に記載の集積回路。 36.前記特定用途向け回路が、前記レジスタの一つをシフトレジスタに構成す るためのロジックコンフィギュレーション回路を更に含んでいることを特徴とす る請求項34に記載の集積回路。 37.前記特定用途向け回路が、前記レジスタの一つをカウンタに構成するため のロジックコンフィギュレーション回路を更に含んでいることを特徴とする請求 項34に記載の集積回路。 38.前記特定用途向け回路が、前記レジスタの一つをタイマに構成するための ロジックコンフィギュレーション回路を更に含んでいることを特徴とする請求項 34に記載の集積回路。 39.前記前記特定用途向け回路が複数のカウンタを含んでいることを特徴とす る請求項1に記載の集積回路。 40.前記前記特定用途向け回路が複数のカウンタを含んでいることを特徴とす る請求項2に記載の集積回路。 41.前記前記特定用途向け回路が複数のカウンタを含んでいることを特徴とす る請求項3に記載の集積回路。 42.前記タイマが前記集積回路の外部の供給源から初期値を受け取るように接 続されていることを特徴とする請求項38に記載の集積回路。 43.前記タイマが前記レジスタの中の別のレジスタから初期値を受け取るよう に接続されていることを特徴とする請求項38に記載の集積回路。 44.前記タイマがプログラム可能なロード値を受け取るように接続されている ことを特徴とする請求項38に記載の集積回路。 45.集積回路に於いて、 プログラマブル特定用途向け回路を設ける過程と、 前記特定用途向け回路が複数の構成の中の一つに構成されるのを可能とするコ ンフィギュレーション回路を設ける過程とを含むことを特徴とする方法。 46.複数のプログラマブル論理ブロックを設ける過程と、 前記プログラマブル論理ブロックと前記特定用途向け回路とを相互接続するた めのプログラマブル相互接続リソースを設ける過程とを更に含むことを特徴とす る請求項45に記載の方法。 47.プログラマブル相互接続リソースを設ける前記過程によって相互接続ライ ンのスイッチマトリクスが設けられ、前記特定用途向け回路には複数の入力及び 出力端子が設けられており、前記方法が更に前記特定用途向け回路と前記プログ ラマブル相互接続リソースとの間にプログラ マブルインタフェース相互接続ブロックを設ける過程を含み、前記プログラマブ ル相互接続ブロックは前記特定用途向け回路の前記入力及び出力端子を1または 複数の前記相互接続ラインに割り当てることを特徴とする請求項45に記載の方 法。 48.前記集積回路に複数の入力及び出力端子を設ける過程と、 前記集積回路の前記入力端子を前記特定用途向け回路の前記入力端子に選択的 に接続し、前記特定用途向け回路に入力信号が供給されるようにするためのプロ グラマブル入力リソースを設ける過程とを更に含むことを特徴とする請求項47 に記載の方法。 49.前記集積回路がイン−システムプログラム可能に提供されることを特徴と する請求項45に記載の方法。 50.前記集積回路が不揮発性メモリ技術を用いて実現されることを特徴とする 請求項45に記載の方法。 51.前記集積回路が揮発性メモリ技術を用いて実現されることを特徴とする請 求項45に記載の方法。 52.特定用途向け回路を設ける前記過程によって、プログラム可能に構成変更 可能なメモリアレイが提供されることを特徴とする請求項45に記載の方法。 53.特定用途向け回路を設ける前記過程によって、プログラム可能に構成変更 可能なメモリアレイが提供されることを特徴とする請求項46に記載の方法。 54.前記メモリアレイが、複数のワードサイズから選択されたプログラム可能 なワードサイズを具備することを特徴とする請求項52に記載の方法。 55.プログラム可能に構成変更可能なメモリアレイを提供する前記過程によっ て、更に1または複数のメモリアレイにプログラム可能に分割 可能なメモリアレイが提供されることを特徴とする請求項52に記載の方法。 56.プログラム可能に構成変更可能なメモリアレイを提供する前記過程によっ て、デュアルポートメモリアレイが提供されることを特徴とする請求項52に記 載の方法。 57.前記デュアルポートメモリアレイのメモリワードに先入れ先出し式にアク セスするための制御回路を設ける過程を更に含むことを特徴とする請求項56に 記載の方法。 58.前記メモリアレイ内の有効なデータの量を定性的に示すためのステータス 信号論理回路を設ける過程を更に含むことを特徴とする請求項56に記載の方法 。 59.制御回路を設ける前記過程によって、前記デュアルポートメモリアレイに アクセスするためのアドレスを生成する読出しカウンタ及び書込みカウンタが提 供されることを特徴とする請求項58に記載の方法。 60.特定用途向け回路を設ける前記過程によって、複数のレジスタが提供され ることを特徴とする請求項45に記載の方法。 61.特定用途向け回路を設ける前記過程が、前記レジスタの一つをシフトレジ スタに構成するためのロジックコンフィギュレーション回路を設ける過程を更に 含むことを特徴とする請求項60に記載の方法。 62.特定用途向け回路を設ける前記過程が、前記レジスタの一つをカウンタに 構成するためのロジックコンフィギュレーション回路を設ける過程を更に含むこ とを特徴とする請求項60に記載の方法。 63.特定用途向け回路を設ける前記過程が、前記レジスタの一つをタイマに構 成するためのロジックコンフィギュレーション回路を設ける過程を更に含むこと を特徴とする請求項60に記載の方法。 64.特定用途向け回路を設ける前記過程によって、複数のカウンタが 提供されることを特徴とする請求項45に記載の方法。 65.前記タイマが前記集積回路の外部の供給源から初期値を受け取ることを特 徴とする請求項63に記載の方法。 66.前記タイマが前記レジスタの中の別のレジスタから初期値を受け取ること を特徴とする請求項63に記載の方法。 67.前記タイマがプログラム可能なロード値を受け取ることを特徴とする請求 項63に記載の方法。
JP7516799A 1993-12-13 1994-12-13 プログラマブル論理デバイスに於ける特定用途向けモジュール Pending JPH09509797A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US166,483 1988-03-10
US16648393A 1993-12-13 1993-12-13
PCT/US1994/013909 WO1995016993A1 (en) 1993-12-13 1994-12-13 Application specific modules in a programmable logic device

Publications (1)

Publication Number Publication Date
JPH09509797A true JPH09509797A (ja) 1997-09-30

Family

ID=22603498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7516799A Pending JPH09509797A (ja) 1993-12-13 1994-12-13 プログラマブル論理デバイスに於ける特定用途向けモジュール

Country Status (5)

Country Link
US (1) US5835405A (ja)
EP (1) EP0734573B1 (ja)
JP (1) JPH09509797A (ja)
DE (1) DE69430320T2 (ja)
WO (1) WO1995016993A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001506785A (ja) * 1996-12-20 2001-05-22 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング Dfp用のioおよびメモリバスシステムならびにプログラミング可能な2次元または多次元のセル構造を有するユニット

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5883850A (en) * 1991-09-03 1999-03-16 Altera Corporation Programmable logic array integrated circuits
US20020130681A1 (en) * 1991-09-03 2002-09-19 Cliff Richard G. Programmable logic array integrated circuits
US6759870B2 (en) 1991-09-03 2004-07-06 Altera Corporation Programmable logic array integrated circuits
US5550782A (en) * 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
US5457410A (en) 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6462578B2 (en) 1993-08-03 2002-10-08 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5815726A (en) * 1994-11-04 1998-09-29 Altera Corporation Coarse-grained look-up table architecture
US5757207A (en) * 1995-03-22 1998-05-26 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
US6049223A (en) * 1995-03-22 2000-04-11 Altera Corporation Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
EP1294098A3 (en) 1995-05-03 2004-11-03 Btr, Inc. Scalable multiple level interconnect architecture
US5850564A (en) * 1995-05-03 1998-12-15 Btr, Inc, Scalable multiple level tab oriented interconnect architecture
IL116792A (en) * 1996-01-16 2000-01-31 Chip Express Israel Ltd Customizable integrated circuit device
US6107822A (en) * 1996-04-09 2000-08-22 Altera Corporation Logic element for a programmable logic integrated circuit
US5977791A (en) 1996-04-15 1999-11-02 Altera Corporation Embedded memory block with FIFO mode for programmable logic device
US5715197A (en) 1996-07-29 1998-02-03 Xilinx, Inc. Multiport RAM with programmable data port configuration
US6034547A (en) * 1996-09-04 2000-03-07 Advantage Logic, Inc. Method and apparatus for universal program controlled bus
US6624658B2 (en) * 1999-02-04 2003-09-23 Advantage Logic, Inc. Method and apparatus for universal program controlled bus architecture
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US6150837A (en) * 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
US5874834A (en) * 1997-03-04 1999-02-23 Xilinx, Inc. Field programmable gate array with distributed gate-array functionality
US6020760A (en) 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
US6011744A (en) 1997-07-16 2000-01-04 Altera Corporation Programmable logic device with multi-port memory
US6034857A (en) 1997-07-16 2000-03-07 Altera Corporation Input/output buffer with overcurrent protection circuit
US6020755A (en) 1997-09-26 2000-02-01 Lucent Technologies Inc. Hybrid programmable gate arrays
US6052327A (en) * 1997-10-14 2000-04-18 Altera Corporation Dual-port programmable logic device variable depth and width memory array
US6288970B1 (en) 1997-10-16 2001-09-11 Altera Corporation Programmable logic device memory array circuit having combinable single-port memory arrays
US6191611B1 (en) 1997-10-16 2001-02-20 Altera Corporation Driver circuitry for programmable logic devices with hierarchical interconnection resources
US6467017B1 (en) 1998-06-23 2002-10-15 Altera Corporation Programmable logic device having embedded dual-port random access memory configurable as single-port memory
AU2348800A (en) 1998-11-24 2000-06-13 Innovasic, Inc. Fully programmable and configurable application specific integrated circuit
US6262933B1 (en) 1999-01-29 2001-07-17 Altera Corporation High speed programmable address decoder
US6486702B1 (en) 1999-07-02 2002-11-26 Altera Corporation Embedded memory blocks for programmable logic
DE19946752A1 (de) 1999-09-29 2001-04-12 Infineon Technologies Ag Rekonfigurierbares Gate-Array
US6320412B1 (en) 1999-12-20 2001-11-20 Btr, Inc. C/O Corporate Trust Co. Architecture and interconnect for programmable logic circuits
JP2001350505A (ja) * 2000-06-08 2001-12-21 Dennoo:Kk 制御装置
EP1311945A1 (en) * 2000-08-22 2003-05-21 Jean-Paul Theis A configurable register file with multi-range shift register support
US6362997B1 (en) * 2000-10-16 2002-03-26 Nvidia Memory system for use on a circuit board in which the number of loads are minimized
EP1220107A3 (en) * 2000-10-26 2005-01-05 Cypress Semiconductor Corporation Programmable digital device
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6720796B1 (en) 2001-05-06 2004-04-13 Altera Corporation Multiple size memories in a programmable logic device
US6605962B2 (en) 2001-05-06 2003-08-12 Altera Corporation PLD architecture for flexible placement of IP function blocks
US7076595B1 (en) * 2001-05-18 2006-07-11 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US6586966B1 (en) 2001-09-13 2003-07-01 Altera Corporation Data latch with low-power bypass mode
US6566906B1 (en) 2001-09-18 2003-05-20 Altera Corporation Specialized programmable logic region with low-power mode
US6937062B1 (en) 2001-09-18 2005-08-30 Altera Corporation Specialized programmable logic region with low-power mode
US7420392B2 (en) * 2001-09-28 2008-09-02 Xilinx, Inc. Programmable gate array and embedded circuitry initialization and processing
US6781407B2 (en) 2002-01-09 2004-08-24 Xilinx, Inc. FPGA and embedded circuitry initialization and processing
US6798239B2 (en) * 2001-09-28 2004-09-28 Xilinx, Inc. Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6983405B1 (en) 2001-11-16 2006-01-03 Xilinx, Inc., Method and apparatus for testing circuitry embedded within a field programmable gate array
US6996758B1 (en) 2001-11-16 2006-02-07 Xilinx, Inc. Apparatus for testing an interconnecting logic fabric
US6886092B1 (en) 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US6820248B1 (en) 2002-02-14 2004-11-16 Xilinx, Inc. Method and apparatus for routing interconnects to devices with dissimilar pitches
US6754882B1 (en) 2002-02-22 2004-06-22 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US6976160B1 (en) 2002-02-22 2005-12-13 Xilinx, Inc. Method and system for controlling default values of flip-flops in PGA/ASIC-based designs
US6693452B1 (en) 2002-02-25 2004-02-17 Xilinx, Inc. Floor planning for programmable gate array having embedded fixed logic circuitry
US6934922B1 (en) 2002-02-27 2005-08-23 Xilinx, Inc. Timing performance analysis
US7007121B1 (en) 2002-02-27 2006-02-28 Xilinx, Inc. Method and apparatus for synchronized buses
US6839874B1 (en) 2002-02-28 2005-01-04 Xilinx, Inc. Method and apparatus for testing an embedded device
US7111217B1 (en) 2002-02-28 2006-09-19 Xilinx, Inc. Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC)
US7187709B1 (en) 2002-03-01 2007-03-06 Xilinx, Inc. High speed configurable transceiver architecture
US7088767B1 (en) 2002-03-01 2006-08-08 Xilinx, Inc. Method and apparatus for operating a transceiver in different data rates
US7111220B1 (en) 2002-03-01 2006-09-19 Xilinx, Inc. Network physical layer with embedded multi-standard CRC generator
US6961919B1 (en) 2002-03-04 2005-11-01 Xilinx, Inc. Method of designing integrated circuit having both configurable and fixed logic circuitry
US6973405B1 (en) 2002-05-22 2005-12-06 Xilinx, Inc. Programmable interactive verification agent
US6970012B2 (en) * 2002-06-10 2005-11-29 Xilinx, Inc. Programmable logic device having heterogeneous programmable logic blocks
US6772405B1 (en) 2002-06-13 2004-08-03 Xilinx, Inc. Insertable block tile for interconnecting to a device embedded in an integrated circuit
US20040018711A1 (en) * 2002-07-08 2004-01-29 Madurawe Raminda U. Methods for fabricating three dimensional integrated circuits
US7112994B2 (en) * 2002-07-08 2006-09-26 Viciciv Technology Three dimensional integrated circuits
US20040004239A1 (en) * 2002-07-08 2004-01-08 Madurawe Raminda U. Three dimensional integrated circuits
US7064018B2 (en) * 2002-07-08 2006-06-20 Viciciv Technology Methods for fabricating three dimensional integrated circuits
US6992503B2 (en) 2002-07-08 2006-01-31 Viciciv Technology Programmable devices with convertibility to customizable devices
US20040004251A1 (en) * 2002-07-08 2004-01-08 Madurawe Raminda U. Insulated-gate field-effect thin film transistors
US7312109B2 (en) * 2002-07-08 2007-12-25 Viciciv, Inc. Methods for fabricating fuse programmable three dimensional integrated circuits
US7673273B2 (en) * 2002-07-08 2010-03-02 Tier Logic, Inc. MPGA products based on a prototype FPGA
US7064579B2 (en) * 2002-07-08 2006-06-20 Viciciv Technology Alterable application specific integrated circuit (ASIC)
US7129744B2 (en) * 2003-10-23 2006-10-31 Viciciv Technology Programmable interconnect structures
US7085973B1 (en) 2002-07-09 2006-08-01 Xilinx, Inc. Testing address lines of a memory controller
US7099426B1 (en) 2002-09-03 2006-08-29 Xilinx, Inc. Flexible channel bonding and clock correction operations on a multi-block data path
US7092865B1 (en) 2002-09-10 2006-08-15 Xilinx, Inc. Method and apparatus for timing modeling
US8643162B2 (en) 2007-11-19 2014-02-04 Raminda Udaya Madurawe Pads and pin-outs in three dimensional integrated circuits
US7812458B2 (en) * 2007-11-19 2010-10-12 Tier Logic, Inc. Pad invariant FPGA and ASIC devices
US7084666B2 (en) * 2002-10-21 2006-08-01 Viciciv Technology Programmable interconnect structures
US7111110B1 (en) 2002-12-10 2006-09-19 Altera Corporation Versatile RAM for programmable logic device
US7082592B1 (en) 2003-06-16 2006-07-25 Altera Corporation Method for programming programmable logic device having specialized functional blocks
US7421014B2 (en) * 2003-09-11 2008-09-02 Xilinx, Inc. Channel bonding of a plurality of multi-gigabit transceivers
US7030651B2 (en) * 2003-12-04 2006-04-18 Viciciv Technology Programmable structured arrays
US7698358B1 (en) 2003-12-24 2010-04-13 Altera Corporation Programmable logic device with specialized functional block
US7176713B2 (en) * 2004-01-05 2007-02-13 Viciciv Technology Integrated circuits with RAM and ROM fabrication options
US7190190B1 (en) 2004-01-09 2007-03-13 Altera Corporation Programmable logic device with on-chip nonvolatile user memory
KR100564611B1 (ko) * 2004-02-14 2006-03-29 삼성전자주식회사 하드 디스크 드라이브의 완충 구조체
US6975139B2 (en) * 2004-03-30 2005-12-13 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US7489164B2 (en) * 2004-05-17 2009-02-10 Raminda Udaya Madurawe Multi-port memory devices
US7460529B2 (en) * 2004-07-29 2008-12-02 Advantage Logic, Inc. Interconnection fabric using switching networks in hierarchy
US8044437B1 (en) * 2005-05-16 2011-10-25 Lsi Logic Corporation Integrated circuit cell architecture configurable for memory or logic elements
US7423453B1 (en) 2006-01-20 2008-09-09 Advantage Logic, Inc. Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric
US7486111B2 (en) * 2006-03-08 2009-02-03 Tier Logic, Inc. Programmable logic devices comprising time multiplexed programmable interconnect
US7634596B2 (en) * 2006-06-02 2009-12-15 Microchip Technology Incorporated Dynamic peripheral function remapping to external input-output connections of an integrated circuit device
US20090128189A1 (en) * 2007-11-19 2009-05-21 Raminda Udaya Madurawe Three dimensional programmable devices
US7635988B2 (en) * 2007-11-19 2009-12-22 Tier Logic, Inc. Multi-port thin-film memory devices
US7573293B2 (en) * 2007-12-26 2009-08-11 Tier Logic, Inc. Programmable logic based latches and shift registers
US7602213B2 (en) * 2007-12-26 2009-10-13 Tier Logic, Inc. Using programmable latch to implement logic
US7573294B2 (en) * 2007-12-26 2009-08-11 Tier Logic, Inc. Programmable logic based latches and shift registers
US7795913B2 (en) * 2007-12-26 2010-09-14 Tier Logic Programmable latch based multiplier
US8230375B2 (en) 2008-09-14 2012-07-24 Raminda Udaya Madurawe Automated metal pattern generation for integrated circuits
US7999570B2 (en) 2009-06-24 2011-08-16 Advantage Logic, Inc. Enhanced permutable switching network with multicasting signals for interconnection fabric
US8159268B1 (en) 2010-11-16 2012-04-17 Raminda Udaya Madurawe Interconnect structures for metal configurable integrated circuits
US8159265B1 (en) 2010-11-16 2012-04-17 Raminda Udaya Madurawe Memory for metal configurable integrated circuits
US8159266B1 (en) 2010-11-16 2012-04-17 Raminda Udaya Madurawe Metal configurable integrated circuits

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5755625A (en) * 1980-09-22 1982-04-02 Nippon Telegr & Teleph Corp <Ntt> Programmable logic array
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
JPH0787032B2 (ja) * 1985-07-08 1995-09-20 日本電気アイシ−マイコンシステム株式会社 半導体記憶装置
US4855803A (en) * 1985-09-02 1989-08-08 Ricoh Company, Ltd. Selectively definable semiconductor device
US4872137A (en) * 1985-11-21 1989-10-03 Jennings Iii Earle W Reprogrammable control circuit
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5220213A (en) * 1991-03-06 1993-06-15 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
JPH04317222A (ja) * 1991-04-17 1992-11-09 Hitachi Ltd 信号処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001506785A (ja) * 1996-12-20 2001-05-22 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング Dfp用のioおよびメモリバスシステムならびにプログラミング可能な2次元または多次元のセル構造を有するユニット

Also Published As

Publication number Publication date
WO1995016993A1 (en) 1995-06-22
US5835405A (en) 1998-11-10
EP0734573A1 (en) 1996-10-02
EP0734573B1 (en) 2002-04-03
DE69430320D1 (de) 2002-05-08
DE69430320T2 (de) 2002-10-10
EP0734573A4 (en) 1997-12-17

Similar Documents

Publication Publication Date Title
US5835405A (en) Application specific modules in a programmable logic device
US6069490A (en) Routing architecture using a direct connect routing mesh
US6810513B1 (en) Method and apparatus of programmable interconnect array with configurable multiplexer
US7248073B2 (en) Configurable logic element with expander structures
US6400180B2 (en) Configurable lookup table for programmable logic devices
US6492834B1 (en) Programmable logic device with highly routable interconnect
JP3477313B2 (ja) プログラマブル・アレイ、プログラマブル・アレイを構成する方法及びシステム
US6396303B1 (en) Expandable interconnect structure for FPGAS
US6392438B1 (en) Programmable logic array integrated circuit devices
US9912336B2 (en) Three dimensional integrated circuits
US5243238A (en) Configurable cellular array
EP2645574B1 (en) Integrated circuits with multi-stage logic regions
US7205589B2 (en) Semiconductor devices fabricated with different processing options
US6888371B2 (en) Programmable interface for field programmable gate array cores
US6294928B1 (en) Programmable logic device with highly routable interconnect
US20050218929A1 (en) Field programmable gate array logic cell and its derivatives
JP3269526B2 (ja) プログラマブルロジックlsi
WO1999048004A1 (en) Sram bus architecture and interconnect to an fpga
JPH07504797A (ja) 論理積項の縦続接続および改良したフリップフロップ利用を伴うマクロセル
WO1996035261A1 (en) Scalable multiple level interconnect architecture
GB2318663A (en) Hierarchical interconnect for programmable logic devices
US6255847B1 (en) Programmable logic device
US20130278289A1 (en) Method and Apparatus for Improving Efficiency of Programmable Logic Circuit Using Cascade Configuration
US20030025132A1 (en) Inputs and outputs for embedded field programmable gate array cores in application specific integrated circuits
US7768430B1 (en) Look-up table based memory