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
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.プログラマブル特定用途向け回路を含む集積回路。 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に記載の方法。
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001506785A (ja) * | 1996-12-20 | 2001-05-22 | ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング | Dfp用のioおよびメモリバスシステムならびにプログラミング可能な2次元または多次元のセル構造を有するユニット |
Families Citing this family (109)
| 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)
| 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 | 信号処理装置 |
-
1994
- 1994-12-13 JP JP7516799A patent/JPH09509797A/ja active Pending
- 1994-12-13 WO PCT/US1994/013909 patent/WO1995016993A1/en not_active Ceased
- 1994-12-13 DE DE69430320T patent/DE69430320T2/de not_active Expired - Fee Related
- 1994-12-13 EP EP95904802A patent/EP0734573B1/en not_active Expired - Lifetime
-
1997
- 1997-04-10 US US08/827,671 patent/US5835405A/en not_active Expired - Lifetime
Cited By (1)
| 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 |