JP2002538652A - 多目的論理/メモリ回路を具備するfpga形態特定可能論理ブロック - Google Patents

多目的論理/メモリ回路を具備するfpga形態特定可能論理ブロック

Info

Publication number
JP2002538652A
JP2002538652A JP2000601740A JP2000601740A JP2002538652A JP 2002538652 A JP2002538652 A JP 2002538652A JP 2000601740 A JP2000601740 A JP 2000601740A JP 2000601740 A JP2000601740 A JP 2000601740A JP 2002538652 A JP2002538652 A JP 2002538652A
Authority
JP
Japan
Prior art keywords
input
signal
logic
write
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000601740A
Other languages
English (en)
Other versions
JP4319786B2 (ja
Inventor
ラルフ ディー. ウィッティグ,
サンダララジャラオ モーハン,
リチャード エイ. カルベリー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of JP2002538652A publication Critical patent/JP2002538652A/ja
Application granted granted Critical
Publication of JP4319786B2 publication Critical patent/JP4319786B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17792Structural details for adapting physical parameters for operating speed

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Static Random-Access Memory (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 行及び列の形態に配列したプログラム可能要素のアレイを使用した8入力ルックアップテーブル(LUT)を実現するプログラム可能論理装置(PLD)の形態特定可能論理ブロック(CLB)において使用される論理/メモリ回路(LMC)。該アレイの1つの列(例えば、16個のプログラム可能要素)からビット値を読取るためにデコーダが使用されている。1実施例においては、より高速の読取動作を簡単化させるために別個の読取ビット線が設けられている。選択したビット値を出力端子へパスさせるために16対1マルチプレクサ/デマルチプレクサ回路が使用されている。プログラム可能要素の該アレイは、コンフィギュレーションモード期間中にコンフィギュレーション線から、及びマルチプレクサ/デマルチプレクサ回路を介して相互接続資源上を送信されたデータによって両方でプログラム可能である。1実施例においては、該アレイのプログラム可能要素は積項発生回路に対して対毎に接続されている。積項回路によって発生された積項はマクロセル回路へパスされてプログラム可能アレイ論理(PAL)論理演算を実施する。別の実施例においては、CLBが4個のLMC及び乗算器回路を有しており、大量の論理を局所的に実現し、それによりPLD内の汎用相互接続資源を介しての送信と関連する信号遅延を回避している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明はプログラム可能論理装置に関するものであって、更に詳細には、フィ
ールドプログラマブルゲートアレイのコンフィギュアラブル(configur
able)即ち形態特定可能な論理ブロックに関するものである。
【0002】
【従来の技術】
図1(A)は基本的なフィールドプログラマブルゲートアレイ(FPGA)1
00を示した概略図であって、それは1つのタイプのプログラム可能論理装置(
PLD)である。FPGA100は入力/出力ブロック(IOB)IOB−1乃
至IOB−16によって取囲まれている形態特定可能論理ブロック(CLB)C
LB−1,1乃至CLB−4,4からなるアレイ、及びCLB及びIOBの行と
列との間に延在している垂直相互接続セグメント120と水平相互接続セグメン
ト121とを包含しているプログラム可能相互接続資源を有している。各CLB
は形態特定可能な組合わせ回路及びユーザの論理機能(関数)の一部を実現する
ためにプログラムされているオプションとしての出力レジスタを有している。プ
ログラム可能相互接続資源の相互接続セグメントは、論理機能部分をリンクさせ
るCLB間に信号経路を発生させるための種々のスイッチを使用して形態特定さ
れる。各IOBは同様に形態特定されて、FPGA100の関連するピン(不図
示)を装置入力ピン、装置出力ピン、又は入力/出力ピンのいずれかとして選択
的に利用する。著しく簡単化してあるが、FPGA100は、通常、カリフォル
ニア州サンノゼのザイリンクス、インコーポレイテッドによって製造されている
FPGAと一貫性を有している。
【0003】 図1(B)乃至1(D)は、FPGA100のプログラム可能相互接続資源と
関連している種々のスイッチの例を示した概略図である。図1(B)は6態様セ
グメント対セグメントスイッチ122の1例を示しており、それはメモリセルM
1乃至M6内に格納されているコンフィギュレーション(configurat
ion)即ち形態特定データに従って垂直配線セグメント120(1)及び12
0(2)及び水平配線セグメント121(1)及び121(2)を選択的に接続
させる。一方、水平及び垂直配線セグメント120及び121が交点において断
線しない場合には、単一のトランジスタが接続を行う。図1(C)はセグメント
対CLB/IOB入力スイッチ123の1例を示しており、それはメモリセルM
7及びM8内に格納されているコンフィギュレーションデータに従って、CLB
(又はIOB)入力配線110(1)を1つ又はそれ以上の相互接続配線セグメ
ントへ選択的に接続させる。図1(D)はCLB/IOB対セグメント出力スイ
ッチ124の1例を示しており、それはメモリセルM9乃至M11内に格納され
ているコンフィギュレーションデータに従って、CLB(又はIOB)の出力配
線115(1)を1つ又はそれ以上の相互接続配線セグメントへ選択的に接続す
る。
【0004】 第一FPGAが1980年代に発明されて以来、FPGAが特定の機能をより
効率的に実現することを可能とする基本的なFPGA回路に関する変形がなされ
て来ている。例えば、汎用相互接続線を使用することなしに且つ高速で隣接する
CLBを接続させることを可能とするために特別相互接続線が付加されている。
更に、FPGAが演算機能又はある幅広の論理機能を実現するべく形態特定され
る場合に高速のキャリィ信号伝送を可能とするハードウエアが隣接するCLB間
に配置されている。最後にCLBと関連する回路は幾つかの変形がなされ、それ
は各CLBが特別の機能をより効率的に実現することを可能としている。このよ
うなCLBの修正は本発明にとって特に重要である。
【0005】 図2(A)はザイリンクス、インコーポレイテッドによって製造されているX
C4000(商標)シリーズのFPGAにおいて使用されている従来のCLB2
00を示した簡単化した概略図である。CLB200は、第一4入力ルックアッ
プテーブル(LUT)F、第二4入力LUT G、3入力LUT H、1組のL
UT出力マルチプレクサ(MUX)210、オプションの出力レジスタFF−1
及びFF−2、及びCLB200内における信号のルーチング即ち経路付けを行
うための付加的な回路を有している。LUT FはFPGAの相互接続資源から
送信されるデータ入力信号F1−F4を受取る。同様に、LUT Gはデータ入
力信号G1乃至G4を受取る。LUT F及びGの動作について以下に詳細に説
明する。8個のデータ入力信号F1乃至F4及びG1乃至G4に加えて、CLB
200は、クロック信号CLK、データ/制御信号H1,DIN/H2,SR/
H0,ECを受取る。CLB200と関連している種々のプログラム可能要素を
選択的に形態特定させることによって、CLB200はユーザの論理機能の割り
当てた部分と一貫性を有するデータ及び制御信号に応答して出力信号を発生する
【0006】 図2(B)はCLB200において4入力LUT F及びGを実現することが
可能な回路を示した概略図である。各4入力LUTは、16個のメモリビットM
0乃至M15及びMUX構造240を具備するメモリ回路230を有している。
メモリビットM0乃至M15の各々のプログラムした状態はライン235を介し
てMUX構造240へ送信される。MUX構造240はメモリビットのうちの1
つのプログラムした状態を4入力信号(F1乃至F4か又はG1乃至G4)に応
答して出力端子245へ選択的に通過させる。機能について説明すると、MUX
構造240は該4入力信号によって制御される一連の2入力MUXを有している
。4入力信号の各組合わせはメモリ回路230のメモリビットM0乃至M15の
うちの1つの内容をLUTが出力させる一時的なアドレスを発生する。
【0007】 図2(C)はメモリ回路230のメモリビットM0を示した簡単化した回路図
である(図2(B)参照)。メモリビットM0は夫々パストランジスタ232及
び233を介してBIT及びBIT b(反転ビット)線へ接続しているラッチ
231を形成するために端部同志を接続した第一及び第二インバータと、ラッチ
231と出力線235−1との間に接続されている第三インバータ234とを有
している。パストランジスタ232及び233はWRITE(書込)制御線によ
って制御される。コンフィギュレーション即ち形態特定モード期間中、WRIT
E線は高へ移行され且つデータがBIT及びBIT b線を介してラッチへ送信
される。その後の動作期間中、該ラッチによって格納されるデータビットが第三
インバータ234を介して送信され且つ出力線235−1へ印加され、それは該
データビットをMUX構造240へ送信する。
【0008】 CLB200の4入力LUT F及びGは多くの論理機能を実現するために極
めて有用なものであることが判明した。然しながら、4個又はそれ以上のCLB
を介して信号を伝送することを必要とするある大きな論理機能を実現する場合に
問題が発生する。図3は6個のCLBを有するFPGAの一部300を示した簡
単化した概略図である。部分300と関連する相互接続資源は、選択したCLB
の間でデータ信号を伝送させるための信号経路310を与えるべくプログラムさ
れている。特に、信号経路310は、CLB−1,1のLUT Fへ送信される
入力信号、CLB−1,2のLUT Fへ送信されるCLB−1,1のLUT
Fからの出力信号、CLB−2,2LUT Gへ送信されるCLB−1,2のL
UT Fからの出力信号、CLB−2,3のLUT G及びHへ送信されるCL
B−2,2のLUT−Gからの出力信号、及びCLB−2,3のLUT Hから
の出力信号の伝送経路を定義している。
【0009】 信号経路310は、典型的に、ユーザの論理機能と関連する多数の信号経路の
うちの1つを表している。例えば、付加的な入力信号をCLB−1,1のLUT
Fへ送信させるためにその他の信号経路が使用される(これらの付加的な信号
経路はCLB−1,1から延在する短い線によって省略した態様で表示してある
)。これらの付加的な信号経路によって使用される相互接続資源は示しておらず
従って信号経路310が明白に識別される。
【0010】 PLDのCLB、IOB、相互接続資源の種々のコンポーネントは信号遅延を
導入し、それはPLDを介しての信号を遅延させる。例えば、信号がFPGAと
関連する種々のスイッチを介して通過する場合に遅延が導入される(上述した図
1(B)乃至1(D)参照)。典型的に、FPGAのCLBを介しての信号の伝
播によって更に大きな遅延が発生される。上述したように、各4入力LUT F
/Gからの出力信号は4入力信号によってアドレスされる選択されたメモリセル
から4個のMUXを介して通過される。各4入力LUTの4個のMUXを介して
の送信と関連する遅延は約1ナノ秒(ns)である。付加的な遅延が、その後、
LUT出力MUX210によって発生される。
【0011】 PLDユーザは、しばしば、ターゲットPLDにおいて実現される論理機能に
おける1つ又はそれ以上の信号経路に関してタイミング制限を課す場合がある。
これらのタイミング制限、即ち「拘束条件」は特定の経路に沿って信号が伝播す
るのに許容される最大期間を定義する。信号経路は、それが回路の最大クロック
レートを制限する場合に、「クリチカル」パスと呼称される。幾つかの信号は比
較的数の少ないCLBを介して送信される場合があり、その場合には比較的短い
伝播遅延を経験する。逆に、その他の信号は比較的多数のCLBを介して送信さ
れ、その場合に比較的大きな遅延を経験し、且つこれらの信号のうちの1つは、
しばしば、クリチカルパス上にある。従って、信号がクリチカルパスに沿って進
行するCLBの数を最小とすることが重要である。
【0012】 複数個のCLBを介しての信号送信と関連する伝播遅延を最小とさせる1つの
アプローチは、ユーザの論理機能の多くの部分を実現することが可能な大型の汎
用論理回路を与えることである。上述したように、FPGAのCLBが小さな論
理回路(例えば、4入力LUT)を有している場合には、ユーザの論理機能はこ
れらの小さな論理回路で実現することが可能な比較的小さな論理部分に区画化さ
れねばならない。大きな論理機能を複数個の小さな論理部分へ区画化することは
論理機能の1つ又はそれ以上の経路がユーザのタイミング高速条件を満足するこ
とに失敗する場合がある。大きな論理回路を提供することによって、配置及び経
路付けソフトウエアがユーザの論理機能を伝播遅延が最小であるように大きな論
理回路で効率的に実現させることが可能なより大きな論理部分へ区画化すること
が可能である。
【0013】 大きな汎用論理回路がプログラム可能論理アレイ(PLA)又はプログラム可
能アレイ論理(PAL)回路の経路の形態で幾つかのPLDにおいて提供されて
いる。LUTと異なり、PLA及びPAL回路は論理機能を実現するためにAN
D/OR論理構成を利用する。PLA及びPAL回路は、典型的に、LUTより
も高速なワイドな即ち幅広な論理機能を実現するものであるが、それらはこのA
ND/OR論理構成によって制限されている。一般的には、LUTは同等の寸法
を有するPLA及びPAL回路よりもより複雑な論理機能を実現することが可能
である。
【0014】
【発明が解決しようとする課題】
必要とされているものは、制限された量の空間を使用しながら、LUT論理構
成を使用して大きな論理機能を実現することを可能とするFPGA用のCLBで
ある。更に必要とされているものは、LUT又はPLA/PALのいずれかとし
て動作させることが可能であり、それにより論理機能の一部をこれらの論理回路
タイプのいずれかで選択的にユーザが実現することを可能とするFPGA用の論
理/メモリ回路である。
【0015】
【課題を解決するための手段】
本発明は、プログラム可能要素(メモリセル)の同一のアレイを使用して高容
量ルックアップテーブル(LUT)動作及びRAM動作の両方を実現することが
可能なプログラム可能論理装置(PLD)のコンフィギャラブル即ち形態特定可
能論理ブロック(CLB)において使用される多目的論理/メモリ回路(LMC
)に関するものである。幾つかの実施例においては、プログラム可能要素のアレ
イは、又、高速プログラム可能アレイ論理(PAL)動作を実施するために使用
される。プログラム可能要素の同一のアレイがLUT、RAM又はPAL動作の
ために選択的に使用されるので、本発明のLMCは、ユーザの論理機能を高効率
の態様で実現することが可能な高度に多様性のある論理回路を提供する。
【0016】 本発明の1実施例によれば、LMCが、プログラム可能要素の同一の16×1
6アレイを使用して、8入力ルックアップテーブル(LUT)か又は256ビッ
トRAMのいずれかを実現する。第一組の4入力信号が該アレイの1つの列内に
格納されているワード(即ち、16個のプログラム可能要素)をアドレスするた
めに使用され、且つ第二組の4入力信号が選択されたワードからの1個又はそれ
以上のビットを1組の出力端子へ通過させるために使用される。その結果得られ
る8入力LUTは従来の16ビットLUTよりも実質的により大きな容量を与え
、従って、最小の付加的な空間を占有しながら、ユーザの論理機能の実質的によ
り大きな部分を実現することが可能である。更に、より大きな論理機能を単一の
8入力LUTにおいて実現することが可能であるので、複数個の16ビットLU
T間での信号の送信に関連する伝播遅延を回避することが可能である。更に、1
実施例においては、独立した読取ビット線が読取動作期間中の容量を最小とする
ために使用され、それによりより速い動作速度を提供している。
【0017】 本発明の別の実施例によれば、入力信号をアレイの書込ビット線へ直接送信す
るためにPAL入力信号制御回路を使用している。これらの入力信号は、プログ
ラム可能要素内に格納されているビット値と共に、積項を発生する積項発生回路
へ送信される。LMCは、又、積項に応答して積の和の項を発生するマクロセル
が設けられている。この積の和の項はPAL動作期間中に選択的に送信され、そ
れによりユーザが高速のPAL回路を使用して速度に影響され易い論理を実現す
ることのオプションを可能としている。
【0018】 別の実施例においては、CLBは4個のLMC及びLMCへの入力信号及びそ
れからの出力信号に対してルーチング即ち経路付けするためのスイッチ回路を有
している。乗算機能を実施するために乗算回路も設けられている。4個の大きな
汎用LMC及び比較的小さな特別目的乗算器回路を単一のCLB内に設けること
によって、ユーザの論理機能の大きな部分をCLB内において実現することが可
能であり、それによりPLDの汎用相互接続資源を介しての信号の送信に関連す
る伝播遅延を回避している。更に別の実施例においては、CLBは高速論理を実
現するためにLMCと乗算回路を具備する専用のPAL回路の両方を組み込んで
いる。
【0019】 更に別の実施例においては、LMCは書込動作期間中にハードワイヤードデコ
ーダによってアドレスされる4個の列のプログラム可能要素を具備する論理/メ
モリアレイを有している。該ハードワイヤードデコーダによって発生される読取
アドレス信号によって制御される一連のパストランジスタを介して各プログラム
可能要素からビット値が読取られ、それによりLUT及びRAM動作期間中にお
ける動作速度が増加される。更に、各読取ビット線へ接続されるプログラム可能
要素の数を4へ制限することによって、最小の容量が読取ビット線へ付与され、
それにより更に動作速度が増加される。
【0020】
【発明の実施の形態】
図4は標準のFPGA技術と一貫性を有する態様で相互接続資源420を介し
て選択的に接続される複数個の実質的に同一なコンフィギャラブル即ち形態特定
可能な論理ブロック(CLB)410を具備しているFPGA(PLD)400
の一部を示している。
【0021】 各CLB410は8入力論理/メモリ回路(LMC)430及びレジスタ回路
(FF)440を有している。各LMC430は相互接続資源420から8個の
データ入力信号を受取り且つ1乃至4個のデータ出力信号を発生する。LMC4
30からの出力信号は相互接続資源420へ直接的に送信されるか、又はレジス
タ回路440を介して送信される。
【0022】 相互接続資源420は、例えば、相互接続線セグメント及び従来のFPGA1
00(図1(A)参照)に関して上述したようなスイッチング回路を有している
。以下に説明する1実施例においては、相互接続資源420の各チャンネルは、
80個の並列相互接続線を有しており、それから入力信号が各CLB410に対
して選択的に経路付けされ、且つそれに対して各CLB410は出力信号を送信
する。その他の実施例においては、相互接続資源420の各チャンネルは異なる
数の相互接続線を有することが可能である。
【0023】 本発明によれば、各LMC430はプログラム可能要素からなるアレイ及び論
理又はメモリ機能のいずれかを実現するためにユーザが定義したコンフィギュレ
ーションデータによってプログラムされるその他のコンフィギャラブル即ち形態
特定可能な回路を有している。例えば、本発明の第一実施例においては、各LM
C430は(a)最大でn個の入力信号の任意に定義されたブール関数(機能)
を実現するためにプログラム可能要素からなるアレイを選択的にプログラムさせ
るn入力ルックアップテーブル(即ち、関数発生器)としてか、又は(b)入力
信号によってアドレスされるメモリワードと関連するビット値をプログラム可能
要素からなるアレイが格納する2nビットのランダムアクセスメモリ(RAM)
としてのいずれかで動作すべくコンフィギャラブル即ち形態特定可能である。別
の実施例においては、LMC430は、又、積の和の論理動作を実施するための
n入力プログラム可能論理アレイ(PLA)回路として選択的に動作すべく形態
特定可能である。この別の実施例においては、プログラム可能要素アレイは、相
互接続資源420を介してLMC430へ送信される入力信号に応答して1個又
はそれ以上の積項(P項)を発生するANDアレイとして使用される。選択され
たP項はORゲートへ経路付けされ、積の和の論理動作を実施する。LMC43
0の種々の実施例について以下に詳細に説明する。
【0024】 以下の説明においては、各LMC430は8個のデータ入力端子を有しており
且つ256個のプログラム可能要素を具備する論理/メモリアレイを有している
。LMC430は異なる(より大きな又はより小さな)数の入力及び異なる数の
プログラム可能要素を具備するアレイを好適に有することが可能であるが、LM
C430を8個の入力端子と256個のプログラム可能要素で形成することによ
ってある種の利点が与えられる。第一に、LMC430がLUTとして使用され
る場合には、4個又はそれ以上の4入力LUT F/Gを必要とするある論理機
能は単一のLMC430によってより短い時間で実現することが可能であり、そ
れによりこれらの論理機能を実現するために必要とされる相互接続資源の数を著
しく減少させる。8入力LUTをプログラムする技術は、Steve Wilt
on著「SMAP:埋込型メモリアレイを具備するFPGAにおける面積減少用
の異種技術マッピング(SMAP: Heterogeneous Techn
ology Mapping for Area Reduction in
FPGAs with Embedded Memory Arrays)」、
1998年2月出版、フィールドプログラマブルゲートアレイに関するACM/
SIGTAインターナショナルシンポジウムにおいて記載されているものと同様
であり、それはブロックRAMにおける組合わせ論理のマッピングについて記載
している。第二に、LMC430がRAM回路として使用される場合には、25
6ビット論理/メモリ回路は高効率の態様で結合させることが可能である。LM
C430を8入力256プログラム可能要素回路として形成することのこれら及
びその他の利点については以下の特定的な実施例において記載する。
【0025】第一実施例 図5(A)乃至5(D)は本発明の第一実施例に基づくLMC430−1を示
している。LMC430−1は、8入力LUTか又は256ビットRAMのいず
れかとして選択的に使用することが可能なプログラム可能要素からなるアレイを
有している。従って、このプログラム可能要素からなるアレイは、最大で8入力
信号を有するユーザの論理機能(関数)の部分を格納するために使用することが
可能である。そうであるから、LMC430−1は、従来の4入力(16ビット
)LUTよりもユーザの論理機能の著しくより大きな部分を格納すべく形態特定
することが可能であり、それにより信号伝播時間を減少させることによってある
適用例においては動作速度が増加される。
【0026】 論理機能部分を実現することに加えて、LMC430−1は、又、256ビッ
トRAMとして使用することも可能である。各LMC430−1と関連するメモ
リ容量(即ち、256ビット)は典型的なブロックRAM回路よりも小さいが、
従来の4入力16ビットLUTのものよりも著しく大きい。更に、大型のメモリ
回路を形成するために従来の16ビットLUTを使用することは実際的ではない
。何故ならば、このようなメモリ回路を動作させるのに必要なオーバーヘッド(
即ち、相互接続資源)は高過ぎるからである。これらのオーバーヘッド拘束条件
は256ビットの局所化のためにLMC430−1においては減少されている。
更に、ブロックRAM構造と比較して、LMC430−1は不使用のメモリ容量
を最小としながら異なる寸法のメモリを実現するためにより多くの柔軟性を提供
している。 図5(A)はLMC430−1の基本的な回路コンポーネントを示したブロッ
ク図である。LMC430−1はデコーダ510、論理/メモリ(プログラム可
能要素)アレイ520、LMCマルチプレクサ/デマルチプレクサ(MUX/D
EMUX)530を有している。第一組の入力信号が相互接続資源420(図4
参照)から入力端子503へ送信され、且つ第二組の入力信号が入力端子505
へ送信される。コンフィギュレーション(形態特定)信号がコンフィギュレーシ
ョンバス(不図示)からコンフィギュレーションワード線507及びコンフィギ
ュレーションビット線549を介して論理/メモリアレイ520へ送信される。
出力信号は出力端子535を介してLMC MUX/DEMUX530から送信
される。データ(ビット値)信号がデータ入力端子DIN及びLMC MUX/
DEMUX530を介して、相互接続資源420から論理/メモリアレイ520
へ書込まれる。
【0027】 デコーダ510は入力端子503上で4個の入力信号を受取り、且つそこから
、出力線513を介して16個の書込アドレス信号を発生し且つ読取ワード線5
18を介して16個の読取アドレス信号を発生する。出力線513上の16個の
書込アドレス信号はメモリ書込モード期間中に論理/メモリアレイ520へ選択
的に送信される(例えば、FPGA400の「通常」動作期間中に、相互接続資
源420を介してデータが論理/メモリアレイ520へ書込まれる場合)。一方
、コンフィギュレーション(スタートアップ即ち始動)モード期間中に、コンフ
ィギュレーションワード線507を介して16個のコンフィギュレーションアド
レス信号が論理/メモリアレイ520へ送信される。マルチプレクサ515はデ
コーダ510からの書込アドレス信号か又はコンフィギュレーションアドレス信
号のいずれかを選択的に論理/メモリアレイ520をアドレスする単一の組の書
込ワード線517上に配置させる。
【0028】 図5(C)は入力端子503−1及び503−2上で受取られた2個の入力信
号をデコードする簡単化したデコーダ510を示している。各入力信号は反転さ
れ、且つ反転及び非反転入力信号の選択された対が8個のNORゲートN1乃至
N8の入力端子へ印加される。更に、書込制御信号WRITEが反転され且つラ
イン512を介してNORゲートN1,N3,N5,N7へ送信される。選択し
た対の入力信号及びWRITE制御信号に応答して、NORゲートN1,N3,
N5,N7は出力線513上に書込アドレス信号を発生し、それは論理/メモリ
アレイ520内の4個の列のプログラム可能要素ヘ印加される。例えば、NOR
ゲートN1はWRITE制御信号及び入力端子503−1及び503−2におい
て受取られた反転入力信号に応答して、ライン513−1上に書込アドレス信号
を発生する。この書込アドレス信号は図5(A)に示したマルチプレクサ515
の一部を形成するスイッチ回路515Aを介して書込ワード線517−1へ印加
される。同様に、選択した対の入力信号に応答して、NORゲートN2,N4,
N6,N8は読取ワード線518上に読取アドレス信号を発生し、それは論理/
メモリアレイ520内の同一の4個の列のプログラム可能要素ヘ印加される。例
えば、NORゲートN2は入力端子503−1及び503−2において受取られ
た反転入力信号に応答して、読取ワード線518−1上に読取アドレス信号を発
生する。スイッチ回路515Aはライン519上を非反転形態で且つライン51
9−B上を反転した形態で送信されるコンフィギュレーション信号CFGによっ
て制御される。以下に詳細に説明するように、スイッチ回路515Aはメモリ書
込モードにおいて(即ち、コンフィギュレーション信号CFGが論理低である場
合)NORゲートN1,N3,N5,N7によって発生される書込アドレス信号
をパス即ち通過させる。図5(A)に示したように、4個の入力端子を受取り且
つ16個の読取アドレス信号及び16個の書込アドレス信号を発生するようにデ
コーダ510の修正は図5(C)に示した開示に鑑み容易に達成される。
【0029】 図5(B)は論理/メモリアレイ520の簡単化した表示を示している。論理
/メモリアレイ520は16個の行と16個の列とに配列された256個のプロ
グラム可能要素540を有している。例えば、第一行は第一プログラム可能要素
540−1及び第二プログラム可能要素540−2を有しており、且つ16番目
の行は第三プログラム可能要素540−3及び第四プログラム可能要素540−
4を有している。同様に、第一列は第一プログラム可能要素540−1及び第三
プログラム可能要素540−3を有しており、且つ16番目の列は第二プログラ
ム可能要素540−2及び第四プログラム可能要素540−4を有している。各
プログラム可能要素540は16個の書込ワード線517のうちの関連する1つ
から書込アドレス信号を受取り、且つ16個の読取ワード線518のうちの関連
する1つから読取アドレス信号を受取る。更に、各プログラム可能要素540は
関連する書込ビット線545、反転書込ビット線545−B、読取ビット線52
5へ接続している。例えば、コンフィギュレーション(形態特定)モード期間中
に、プログラム可能要素540−1は書込ワード線517−1上で受取られた高
アドレス信号に応答して、書込ビット線545−1及び反転書込ビット線545
−1−b(パストランジスタ548を介してコンフィギュレーションビット線5
49から、図5(C)参照)上で受取られたデータ信号によってプログラムされ
る。対照的に、LUT動作又はメモリ読取モード期間中に、プログラム可能要素
540−1は読取ワード線518−1上で受取られた高アドレス信号に応答して
、読取/書込制御回路527を介して読取ビット線525−1上を格納したデー
タ信号を送信する。最後に、メモリ書込動作期間中に、書込ビット線545−1
、反転書込ビット線545−1 b、読取/書込制御回路527を介して、LM
C MUX/DEMUX530(図5(A)参照)からプログラム可能要素54
0−1へ送信される。
【0030】 再度図5(C)を参照すると、論理/メモリアレイ520のプログラム可能要
素540−1に関する詳細について説明する。プログラム可能要素540−1は
ビット値を格納するためのラッチを有しており、且つそのビット値のプログラム
可能要素540−1への書込及びそのビット値のプログラム可能要素540−1
からの読取を制御する制御回路を有している。特に、プログラム可能要素540
−1は第一インバータ541及び第二インバータ542を有しており、それらは
端部同志が接続されてラッチを形成している。このラッチは、夫々、パストラン
ジスタ543及び544を介して書込ビット線545−1及び反転書込ビット線
545−1 bヘ接続している。パストランジスタ543及び544のゲートは
書込ワード線517−1へ接続している。従って、高書込アドレス信号が書込ワ
ード線517−1へ印加されると、書込ビット線545−1及び反転書込ビット
線545−1 b上を送信されるビット値が該ラッチ内に格納される。該ラッチ
は、又、第三パストランジスタ547を介して第三インバータ546を介して読
取ビット線525−1へ接続している。パストランジスタ547のゲートは読取
ワード線518−1へ接続している。従って、高読取アドレス信号が読取ワード
線518−1へ印加されると、該ラッチ内に格納されているビット値は読取ビッ
ト線525−1へ送信される。
【0031】 図5(C)に示したように、論理/メモリアレイ520は、又、LMC430
−1の動作モードを制御する幾つかの制御信号を受取る。
【0032】 デコーダ510を参照して上に説明したように、コンフィギュレーション(形
態特定)信号CFGはコンフィギュレーション即ち形態特定及びメモリ書込モー
ド期間中に書込ワード線517上のアドレス信号のソース即ち供給源を制御する
。即ち、メモリ書込モード期間中(即ち、コンフィギュレーション信号CFGが
低であり且つWRITE信号が高である場合)、ライン513上に発生される書
込アドレス信号はマルチプレクサ515(図5(A)参照)の第一スイッチ51
5Aを介して書込ワード線517上へ送信される。例えば、CFGが低である場
合に、NORゲートN1によって発生される信号はスイッチ515A−1を介し
て書込ワード線517−1上へ送信される。この低CFG信号は、又、マルチプ
レクサ515の第二スイッチ515Bへ(論理/メモリアレイ520の底部に示
してある)をターンオフさせ、従って書込ワード線517−1はコンフィギュレ
ーションワード線507−1から分離される。逆に、コンフィギュレーションモ
ード期間中にCFG信号が高であり、それにより第一スイッチ515A−1がタ
ーンオフされ且つ第二スイッチ515Bがターンオンされて書込ワード線517
−1をコンフィギュレーションアドレス線507−1へ接続させる。
【0033】 書込ワード線517を制御することに加えて、CFG信号は、WRITE信号
及びREAD信号と共に、書込ビット線545及び反転書込ビット線545−b
を制御するために使用される。即ち、メモリ書込モード期間中(即ち、CFG信
号が低であり、WRITE信号が高であり、且つREAD信号が低である場合)
、データ(ビット値)信号がLMC MUX/DEMUX530(図5(A)参
照)から読取/書込制御回路527を介して書込ビット線545及び反転書込ビ
ット線545−b上へ送信される。例えば、反転データ値はLMC MUX/D
EMUX530から反転書込ビット線545−1 bヘ送信され、且つ高WRI
TE信号は該データ値を書込ビット線545−1上へパスさせる。このデータ値
は、次いで、高アドレス信号が書込ワード線517−1上に送信される場合にプ
ログラム可能要素540−1へパスされ、そのことはパストランジスタ543及
び544をターンオンさせる。このメモリ書込動作期間中に、低CFG信号はパ
ストランジスタ548をターンオフさせ、それにより書込ビット線545−1及
び反転書込ビット線545−1 bをコンフィギュレーションビット線549−
1及び反転コンフィギュレーションビット線549−1 bから分離させる。L
UT動作又はメモリ読取モード期間中、CFG信号は低に止まり、WRITE信
号は低であり、且つREAD信号は高であり、それによりデータ(ビット値)信
号を、読取ワード線518−1上を送信される高アドレス信号に応答して、メモ
リセル540−1からパス即ち通過させる。最後に、コンフィギュレーションモ
ード期間中(即ち、CFG信号が高であり、WRITE信号及びREAD信号の
両方が低である)、パストランジスタ548はターンオンされて書込ビット線5
45−1及び反転書込ビット線545−1 bを、夫々、コンフィギュレーショ
ンビット線549−1及び反転コンフィギュレーションビット線549−1
からのデータ信号を受取るべく接続させる。
【0034】 図5(D)はLMC MUX/DEMUX530の1実施例を示した簡単化し
た概略図である。LMC MUX/DEMUX530は16対1でマルチプレク
サ回路531、16対1マルチプレクサ/デマルチプレクサ回路532、プログ
ラム可能出力回路534を有している。
【0035】 メモリ書込モード期間中、デマルチプレクサ回路531はパストランジスタ5
33−1を介して入力端子DINから受取ったデータ信号の反転したものを受取
り、且つその反転したデータ信号を反転書込ビット線545 bのうちの選択し
た1つへ送信する。デマルチプレクサ回路531は一連の2出力デマルチプレク
サP1−P8,Q1−Q4,R1,R2,Sを有しており、選択端子が入力端子
505上を送信される入力信号を受取る(図5(A))。デマルチプレクサSは
反転データ信号を受取り且つそれを第一選択信号に従ってデマルチプレクサR1
か又はデマルチプレクサR2のいずれかへパスする。同様に、デマルチプレクサ
R1又はデマルチプレクサR2はその反転データ信号をデマルチプレクサQ1乃
至Q4のうちの1つへパスすべく制御され、それは、次いで、該反転データ信号
をデマルチプレクサP1乃至P8へパスし、それは該反転データ信号を反転書込
ビット線545 bのうちの1つへパスする。
【0036】 同様に、メモリ書込モード期間中、マルチプレクサ/デマルチプレクサ回路5
32はパストランジスタ533−2を介して入力端子DINから受取ったデータ
信号を受取り、且つそのデータ信号を書込ビット線545のうちの選択した1つ
へ送信する(読取/書込制御回路527を介して、図5(C)参照)。マルチプ
レクサ/デマルチプレクサ回路532は一連の2入力マルチプレクサ/デマルチ
プレクサP11乃至P18,Q11乃至Q14,R11,R12,S11を有し
ており、選択端子は入力端子505を介して送信された入力信号を受取る(図5
(A))。デマルチプレクサS11はデータ信号を受取り且つそれを第一選択信
号に従ってデマルチプレクサR11か又はデマルチプレクサR12のいずれかへ
パスする。同様に、デマルチプレクサR11又はデマルチプレクサR12はその
データ信号をデマルチプレクサQ11乃至Q14のうちの1つへパスすべく制御
され、それは該データ信号をデマルチプレクサP11乃至P18へパスし、それ
は該データ信号を書込ビット線545のうちの1つへパスする。
【0037】 LUT動作又はメモリ読取モード期間中、マルチプレクサ/デマルチプレクサ
回路532は読取ビット線525上を送信されたデータ(ビット値)信号のうち
の1つ又はそれ以上を出力端子535のうちの1つ又はそれ以上へ送信する(読
取/書込制御回路527を介し、図5(C)参照)。特に、入力端子505(図
5(A))上で受取られた第一入力信号に応答して、マルチプレクサP11乃至
P18は読取ビット線525からの全部で8個のデータ信号をマルチプレクサQ
11乃至Q14へパスする。各マルチプレクサQ11乃至Q14はマルチプレク
サP11乃至P18によってパスされた8個のデータ値のうちの2つを受取り、
且つ第二入力信号に応答して該2つのデータ値のうちの選択した1つをパスする
。各マルチプレクサR11及びR12はマルチプレクサQ11乃至Q14によっ
てパスされた4個のデータ値のうちの2つを受取り、且つ第三アドレス信号に応
答して該2つのデータ値のうちの選択した1つをパスする。最後に、2入力マル
チプレクサS11はマルチプレクサR11及びR12によってパスされた2つの
データ値を受取り且つ第四アドレス信号に応答して該2つのデータ値のうちの選
択した1つをパスする。
【0038】 LMC430−1からの出力信号はプログラム可能出力回路534を介して出
力端子535−1乃至535−4上に送信される。プログラム可能出力回路53
4は出力端子535−1乃至535−4上を格納されたデータ信号のうちの1つ
、2つ又は4つを送信するためにコンフィギュレーションデータによって制御さ
れる。特に、格納されているデータ信号のうちの4個をLMC430−1から送
信する場合には、マルチプレクサT,U,VがメモリセルM−T,M−U,M−
Vによって制御されて、マルチプレクサQ12,Q13,Q14を介して送信さ
れた信号を夫々出力端子535−2,535−3,535−4へパスする(マル
チプレクサQ11を介してパスされた信号は直接的に出力端子535−1へ印加
される)。一方格納されているデータ信号のうちの2つがLMC430−1から
送信される場合には、マルチプレクサT及びVがメモリセルM−T及びM−Vに
よって制御されて、マルチプレクサR11及びR12を介して送信された信号を
夫々出力端子535−2及び535−4へパスする(出力端子535−1及び5
35−3へパスされた信号はCLB出力制御回路によって無視される)。最後に
、格納されているデータ信号のうちのただ1つがLMC430−1から送信され
る場合には、マルチプレクサUがメモリセルM−Uによって制御されて、マルチ
プレクサS11を介して送信された信号を出力端子535−3へパスする(出力
端子535−1,535−2,535−4へパスされた信号はCLB出力制御回
路によって無視される)。
【0039】 図5(D)においては一連の2対1マルチプレクサとして示してあるが、マル
チプレクサ回路に精通した当業者が理解するように、16対1マルチプレクサ回
路531及びマルチプレクサ/デマルチプレクサ回路532の機能は、例えば、
1個又はそれ以上の4対1マルチプレクサ又はマルチプレクサ/デマルチプレク
サで実現することが可能である。
【0040】 上述したように、LMC430−1は、8入力LUTか又は256ビットRA
Mのいずれかを形成するために、論理/メモリアレイ520のプログラム可能要
素を選択的に使用する。例えば、LMC430−1が8入力LUTとして使用さ
れる場合には、プログラム可能要素は、最大で8入力信号の任意のブール関数を
実現するために使用される。これらの8個の入力信号のうちで、入力端子503
上で受取られる4個の入力信号はデコーダ510へ送信され、それは、選択され
た列内に格納されているデータ(ビット値)が読取ビット線525上を送信され
るように、論理/メモリアレイ520における選択した列のプログラム可能要素
をアドレスする。入力端子505上で受取られた残りの4個の入力信号はLMC
MUX/DEMUX530へ送信され、読取ビット線525上の該信号の1つ
、2つ又は4つを出力端子535へ選択的にパスする。同様に、論理/メモリ回
路430−1がRAM回路として使用される場合には、論理/メモリアレイ52
0のプログラム可能要素は、各ワードが16個のビットを有している16個のワ
ードの情報を格納するために使用される。最初の4個の入力信号503は選択し
たワード(列)をアドレスし、且つ残りの4個の入力信号505は選択したワー
ドに関連するデータビットの出力端子535上へのシリアル送信を制御する。
【0041】 論理/メモリアレイ520内に格納されている1個、2個、または4個の格納
されているデータ信号をパスするためにLMC MUX/DEMUX530を選
択的に形態特定することによって、ユーザは、最大で8個の入力項を有している
任意の単一の論理機能(関数)部分、最大で7個の入力項を有している幾つかの
対の論理機能(関数)部分、及び6個の入力項を有している幾つかの組の4個の
論理機能(関数)部分を実現するためにLMC430を使用することが可能であ
る。更に、LMC MUX/DEMUX530は、単一のシリーズの16個のビ
ットとして、8個のビットからなる2つのグループとして、又は4個のビットか
らなる4個のグループとしてメモリデータを送信するように形態特定することが
可能である。
【0042】第二実施例 図6(A)乃至6(D)は本発明の第二実施例に基づくLMC430−2を示
している。LMC430−1(図5(A))と同様に、LMC430−2のプロ
グラム可能要素は8入力LUTか又は256ビットRAMのいずれかとして選択
的に使用することが可能である。然しながら、これらの動作モードに加えて、L
MC430−2は8入力プログラム可能アレイ論理(PAL)回路として又は連
想記憶装置(CAM)として選択的に動作させることが可能である。PAL動作
期間中、LUT及びRAM動作のために使用される同一のプログラム可能要素を
使用してLUT及びRAM動作のために使用されるのと同一の入力端子上で受取
られる入力信号に応答して複数個の積項を発生するために使用される。これらの
積項はマクロセルにおいて選択的にOR処理されて積の和の項を形成する。上述
したように、PLA/PAL回路を使用する論理エミュレーションは、通常、L
UT論理動作よりも一層高速である。従って、LMC430−2は、ユーザがそ
の論理機能を高密度LUTフォーマットか又は高速PALフォーマットのいずれ
かで実現することを可能とする。更に、同一のプログラム可能要素及び入力端子
が両方のPAL及びLUT動作に対して使用され、それによりPLD用の高度に
柔軟性があり且つ空間効率的な形態特定可能論理ブロックが提供される。この柔
軟性は、積項発生回路がCAM動作を与えるように選択的に形態特定することに
よって更に向上される。
【0043】 図6(A)を参照すると、LMC430−2はデコーダ610、論理/メモリ
アレイ(L/M ARRAY)620、LMCマルチプレクサ/デマルチプレク
サ(MUX/DEMUX)(スイッチ回路)630、マクロセル660、PAL
入力(PAL IN)制御回路670を有している。LMC430−1(図5(
A))のデコーダ510と同様に、デコーダ610は第一組の入力端子603上
の4個の入力信号を受取るべく接続されており、且つ論理/メモリアレイ620
へ送信される16個の書込アドレス信号を発生する。論理/メモリアレイ620
は、又、コンフィギュレーションバス(不図示)からコンフィギュレーションア
ドレス線607を介して16個のコンフィギュレーションアドレス信号を受取る
。制御回路(後に説明する)が、メモリ書込動作期間中にデコーダ610によっ
て発生された書込アドレス信号を書込ワード線617へ印加するか、又はコンフ
ィギュレーションモード期間中にコンフィギュレーションアドレス線607上の
コンフィギュレーションアドレス信号を書込ワード線617へ印加させるために
設けられている。デコーダ610は、又、読取ワード線618上に16個の読取
アドレス信号を発生し、それらはLUT動作及びメモリ読取モード期間中に使用
され、プログラム可能要素640(図6(C))に格納されているビット値が読
取ビット線625上に書込まれる。LMC MUX/DEMUX630は入力端
子605によって受取られる入力信号に応答し、それはLUT動作及びメモリ読
取モード期間中に、選択された読取ビット線625からのビット値を出力端子6
35へ送信する。更に、LMC MUX/DEMUX630は、メモリ書込モー
ド期間中に、入力信号に応答してデータ入力端子DINからの入力データ値を選
択した書込ビット線645及び反転書込ビット線645 bへ送信する。
【0044】 LMC430−2は積項発生回路(後に説明する)、マクロセル660、PA
L入力制御回路670を有しているという点においてLMC430−1(図5(
A))と異なっている。PAL及びCAM動作期間中、PAL入力制御回路67
0は入力端子603及び605において受取った入力信号を論理/メモリアレイ
620の書込ビット線645上へパスする。更に、論理/メモリアレイ620は
積項発生回路を有しており、それは、書込ビット線645上の入力信号及び論理
/メモリアレイ620のプログラム可能要素内に格納されているビット値に応答
して積項を発生する。CAM動作期間中、これらの積項は、又、該入力信号が論
理/メモリアレイ620の1つの列内に整列しているメモリセル内に格納されて
いる値と一致することを表す。これらの積項はライン628を介してマクロセル
660へ送信され、それは積の和の項を発生し、それはマクロセル出力線665
を介してLMC MUX/DEMUX630ヘ送信される。以下に説明するよう
に、LMC MUX/DEMUX630は出力制御回路を有しており、それは、
選択した読取ビット線625を介して送信されたビット値か又はマクロセル63
0によって発生された積の和の項のいずれかをパスする。従ってLMC430−
2は、LUTフォーマットか又はPALフォーマットのいずれかを使用して、ユ
ーザが論理を選択的に実現することを可能とする。PAL動作は、典型的に、L
UT動作よりもより高速であるので、この付加的な柔軟性はLMC430−2を
小さな論理部分の速度が重要である適用例に対して有用なものとしている。LM
C430−2のこの柔軟性は、CAM動作を選択的に実施することによって更に
向上される。
【0045】 図6(B)は簡単化したデコーダ610を示しており、それは入力端子603
−1及び603−2上で受取った2つの入力信号をデコードし、且つ書込ワード
線617−1乃至617−4上で書込アドレス信号を発生し且つ読取ワード線6
18−1乃至618−4上で読取アドレス信号を発生する。各入力信号は反転さ
れ、且つ選択した対の反転及び非反転入力信号が8個のNORゲートN1乃至N
8の入力端子へ印加される。更に、書込制御信号WRITEが反転され且つライ
ン612を介してNORゲートN1,N3,N5,N7へ送信される。選択した
対の入力信号及びWRITE制御信号に応答して、NORゲートN1,N3,N
5,N7は書込アドレス信号を発生し、それは論理/メモリアレイ620内の4
個の列のプログラム可能要素ヘ印加される。例えば、NORゲートN1はWRI
TE制御信号及び入力端子603−1及び603−2において受取った反転入力
信号に応答して書込アドレス信号を発生する。この書込アドレス信号はスイッチ
回路615Aを介して書込ワード線617−1へ印加される。同様に、選択した
対の入力信号に応答して、NORゲートN2,N4,N6,N8は出力線618
−1乃至618−4上に読取アドレス信号を発生し、それらは論理/メモリアレ
イ620内の同一の4個の列のプログラム可能要素ヘ印加される。スイッチ回路
615Aは、メモリ書込モードにおいてNORゲートN1,N3,N5,N7に
よって発生された書込アドレス信号をパスするためにライン619及びライン6
19 b上のコンフィギュレーション(形態特定)信号CFGによって制御され
る。図6(A)に示したように、4個の入力端子を受取り且つ16個の読取アド
レス信号及び16個の書込アドレス信号を発生するためにデコーダ610の修正
は図6(B)に示した開示に鑑み容易に達成される。
【0046】 再度図6(A)を参照すると、論理/メモリアレイ620は2つのグループに
分割されている16個の行と16個の列とに配列された256個のプログラム可
能要素を有しており、第一グループの8個の列(PAL/LUT/RAM CO
L)621はPAL/CAM、LUT、RAM動作を実施し、且つ第二グループ
の8個の列(LUT/RAM COLS)622はLUT及びRAM動作のため
にのみ使用される。第一グループ621の各列は8個の対を形成するために配列
された16個のプログラム可能要素を有している(以下において「PAL/CA
Mセル」と呼称する)。第一グループ621の1つの列からの代表的な対のプロ
グラム可能要素を図6(C)に示してあり以下に説明する。第二グループ622
のプログラム可能要素は、基本的に、図5(C)に示したプログラム可能要素5
40−1と同一である。従って、第二グループ622内に設けられるプログラム
可能要素の説明は割愛する。
【0047】 論理/メモリアレイ620は論理/メモリアレイ520(図5(C)参照)に
おいて使用されるものと同様の態様でCFG、WRITE、READ制御信号を
使用する。
【0048】 コンフィギュレーション信号CFGは図5(C)を参照して上に説明したのと
同様の態様で、コンフィギュレーション及びメモリ書込モード期間中、書込ワー
ド線617上のアドレス信号のソース即ち供給源を制御する。例えば、メモリ書
込モード(CFGが低)期間中、デコーダ610によって発生される信号はスイ
ッチ615A−1(図6(B)参照)を介して書込ワード線617−1上へパス
される。逆に、コンフィギュレーションモード期間中CFG信号は高であり、そ
れにより第一スイッチ615A−1をターンオフさせ且つ第二スイッチ615B
−1(図6(C)参照)をターンオンさせて書込ワード線617−1をコンフィ
ギュレーションアドレス線607−1へ接続させる。
【0049】 WRITE信号及びREAD信号は、又、CFG信号と共に、書込ビット線6
45及び反転書込ビット線645 bを制御するために使用される。例えば、L
MC MUX/DEMUX630(図6(A)参照)から送信されたデータ値は
WRITE信号が高である場合に書込ビット線645−1又は書込線645−2
上へパスされ、且つREAD信号が高である場合にはデータ値は読取ビット線6
25−1又は625−2からLMC MUX/DEMUX630ヘパスされる。
最後に、コンフィギュレーションモード期間中(即ち、CFG信号が高であり、
且つWRITE信号及びREAD信号の両方が低である場合)、パストランジス
タ645はターンオンされて書込ビット線645−1及び645−2及び反転書
込ビット線645−1 b及び645−2 bを接続させてコンフィギュレーシ
ョンビット線649−1及び649−2及び反転コンフィギュレーションビット
線649−1 b及び649−2 bからデータ信号を受取る。
【0050】 CFG,WRITE,READ制御信号に加えて、LMC430−2はPAL
イネーブル(PAL ENBL)制御信号を使用して、PAL及びCAM動作期
間中、PAL入力制御回路670(図6(A)参照)をして入力端子603から
の入力信号を書込ビット線645上へ印加させる。図6(C)を参照すると、P
AL入力制御回路670−1は第一パストランジスタ671、インバータ673
、第二パストランジスタ675を有している。PAL ENBLが高である場合
には、PAL入力制御回路670−1は選択的に入力端子603−1からの入力
信号を直接的に書込ビット線645−1ヘパスし、且つインバータ673を介し
て反転書込ビット線645−1 bへパスする。PAL ENBLが低である場
合には、パストランジスタ671及び675はターンオフされ、それにより入力
端子603−1上の入力信号が書込ビット線645−1及び反転書込ビット線6
45−1 bへパスされることを防止する。
【0051】 図6(C)は1個のPAL/CAMセル及び論理/メモリアレイ620の関連
する回路を示している。PAL/CAMセルは論理/メモリアレイ620の1つ
の列内において順番に配列されている関連する対のプログラム可能要素640−
1及び640−2から形成されている。各プログラム可能要素640−1及び6
40−2はビット値を格納するためのラッチ、該ラッチへの書込及びそれからの
読取を制御する制御回路を有している。特に、プログラム可能要素640−1は
第一インバータ641−1及び第二インバータ642−1を有しており、それら
の端部同志は接続されて第一ラッチを形成しており、且つプログラム可能要素6
40−2は第一インバータ641−2及び第二インバータ642−2を有してお
り、それらは端部同志が接続されて第二ラッチを形成している。プログラム可能
要素640−1の第一ラッチは、夫々、パストランジスタ643−1及び644
−1を介して書込ビット線645−1及び反転書込ビット線645−1 bへ接
続している。パストランジスタ643−1及び644−1のゲートは書込ワード
線617−1へ接続している。プログラム可能要素640−2の第二ラッチは、
夫々、パストランジスタ643−2及び644−2を介して書込ビット線645
−2及び反転書込ビット線645−2 bへ接続している。パストランジスタ6
43−2及び644−2のゲートは書込ワード線617−1へ接続している。従
って、高書込アドレス信号が書込ワード線617−1へ印加されると、書込ビッ
ト線645−1及び645−2上及び反転書込ビット線645−1 b及び64
5−2 b上に送信されるビット値は、夫々、プログラム可能要素640−1及
び640−2の第一及び第二ラッチ内に格納される。これらのラッチは、又、第
三パストランジスタ647−1及び647−2を介し第三インバータ646−1
及び646−2を介して夫々読取ビット線625−1及び625−2へ接続して
いる。パストランジスタ647−1及び647−2のゲートは読取ワード線61
8−1へ接続している。従って、高読取アドレス信号が読取ワード線618−1
へ印加されると、プログラム可能要素640−1及び640−2のラッチによっ
て格納されているビット値が夫々読取ビット線625−1及び625−2へ送信
される。
【0052】 PAL入力回路670−1から書込ビット線645−1及び反転書込ビット線
645−1 b上へ送信される入力信号に応答し、且つPAL/CAMセル(例
えば、プログラム可能要素640−1及び640−2)内に格納されている値に
応答して、積項が積項回路によって発生される。該積項回路は複数個のPAL/
CAMセル論理回路680及び1個又はそれ以上のANDゲート687を有して
いる。
【0053】 図6(C)に示したように、各PAL/CAMセル論理回路680は、ノード
681(プログラム可能要素640−1の内側に示してある)ヘ接続している第
一入力端子とプログラム可能要素640−2へ接続している第二入力端子とを具
備している2入力NORゲートである。ノード681は第一パストランジスタ6
82を介して書込ビット線645−1へ接続しており、且つ第二パストランジス
タ683を介して反転書込ビット線645−1 bへ接続している。第一パスト
ランジスタ682及び第二パストランジスタ683のゲートは、夫々、プログラ
ム可能要素640−1のラッチによって格納されている非反転及び反転値によっ
て制御される。例えば、インバータ641−1及び642−1によって形成され
るラッチが論理低値(即ち、論理低信号はインバータ642−1の出力において
発生される)を格納している場合には、ノード681は反転書込ビット線645
−1 bへ接続される。逆に、インバータ641−1及び642−1によって形
成されるラッチが論理高値(即ち、論理高信号はインバータ642−1の出力に
おいて発生される)を格納している場合には、ノード681は書込ビット線64
5−1へ接続される。従って、PAL/CAMセル論理回路680は、プログラ
ム可能要素640−1及び640−2のプログラムされている即ち書込まれてい
る状態及び入力端子603−1上のPAL入力信号(それは書込ビット線645
−1及び反転書込ビット線645−1 b上を送信される)に基づいてPAL/
CAMセル出力信号を発生する。このPAL/CAMセル出力信号はAND回路
687へ送信される。
【0054】 AND回路687はPAL/CAMセル論理回路680から及びプログラム可
能要素640−1及び640−2を含む列内に配列されているその他のPAL/
CAMセル及び関連する論理回路(不図示)からのPAL/CAMセル出力信号
を受取る。これらのPAL/CAMセル出力信号は、マクロセル660へP項線
628−1を介して送信されるP項信号を発生するためにAND回路687によ
って(反転した形態で)使用される。
【0055】 マクロセル660は、論理/メモリアレイ620のその他の列からの3個又は
7個の付加的なP項信号と共に、P項線628−1からのP項信号を受取るOR
ゲート663を有している。マクロセル660はこれらのP項信号に応答して積
の和の項を発生し、それはマクロセル出力線665を介してLMC MUX/D
EMUX630ヘ送信される。
【0056】 論理/メモリアレイ620はコンフィギュレーション(形態特定)モード、メ
モリ読取(即ち、LUT動作又はRAM読取)モード、メモリ書込モード、PA
L動作モード、及びCAM動作モードにおいて動作するためにコンフィギュレー
ション(形態特定)信号によって制御される。第二グループ622(即ち、LU
T/RAM COLS)の動作は、基本的に、論理/メモリアレイ520に関し
て上述したものと基本的に同一であり、従って、ここで繰返し説明することはし
ない。第一グループ621の動作(即ち、PAL/LUT/RAM COLS)
は図6(C)を参照して以下に説明する。
【0057】 コンフィギュレーション(形態特定)モード期間中に、CFG制御信号は高で
あり、且つWRITE及びPLA ENBL制御信号は低である(READ信号
は高又は低のいずれかであり、即ち「don’t care」である)。高CF
G信号はスイッチ回路615A−1(図6(B)参照)をターンオフさせ、且つ
スイッチ回路615B−1をターンオンさせ、従ってアドレス信号がコンフィギ
ュレーションアドレス線607−1から書込ワード線617−1上へ送信される
。更に、高CFG信号はパストランジスタ648をターンオンさせて、書込ビッ
ト線645及び645 bを夫々コンフィギュレーションビット線649及び6
49 bヘ接続させる。注意すべきことであるが、低WRITE信号はLMC
MUX/DEMUX630から書込ビット線645−1,645−1 b,64
5−2,645−2 bへ信号がパスされることを防止する。更に注意すべきこ
とであるが、低PLA ENBL信号は入力端子603−1から書込ビット線6
45−1及び645−2へ入力信号の送信を防止する。この状態において、デー
タ値が同時的に書込ビット線645−1及び645−1 bを介して書込可能要
素640−1へ及び書込ビット線645−2及び645−2 bを介してプログ
ラム可能要素640−2へ送信される。プログラム可能要素640−1及び64
0−2は、その後のデータ書込処理が実施されるまで(又は、パワーがターンオ
フされるまで)これらのデータ値を維持する。
【0058】 メモリ書込モード期間中、WRITE信号は高であり且つCFG,READ,
PAL ENBL信号は低である。高WRITE信号はNORゲートN1,N3
,N5,N7(図6(B)参照)をイネーブルさせて、入力端子603−1及び
603−2によって受取られた入力信号に応答して書込ビット線617−1乃至
617−4上にアドレス信号を発生する。高WRITE信号は、又、読取/書込
制御回路627−1及び627−2ヘ印加されて書込ビット線645−1及び6
45−2をLMC MUX/DEMUX630ヘ接続させる。注意すべきことで
あるが、低CFG信号はスイッチ回路615A−1(図6(B)参照)をターン
オンさせ、且つスイッチ回路615B−1をターンオフさせる。更に、低CFG
信号はパストランジスタ648をターンオフさせる。この状態において、データ
信号DINはLMC MUX/DEMUX630の動作に応答して(後に説明す
る)LMC MUX/DEMUX630から選択した書込ビット線645−1又
は645−2(及び選択した反転書込ビット線645−1 b又は645−2 b)ヘ送信される。メモリ読取(LUT動作又はRAM読取)モード期間中、R
EAD信号は高であり、且つCFG,WRITE,PAL ENBL信号は低で
ある。高READ信号は読取/書込制御回路627−1及び627−2へ印加さ
れて読取ビット線625−1及び625−2をLMC MUX/DEMUX63
0ヘ接続させる。低WRITE信号はNORゲートN1,N3,N5,N7(図
6(B)参照)をディスエーブルさせ、且つ低CFG信号はスイッチ回路615
B−1をターンオフさせる。更に、低CFG信号はパストランジスタ648をタ
ーンオフさせる。この状態において、プログラム可能要素640−1及び640
−2内に格納されているビット値は読取ワード線618−1上をデコーダ610
から送信された高読取アドレス信号に応答して読取ビット線625−1及び62
5−2上を送信される。以下に説明するように、該格納されているビット値は読
取ビット線625−1及び625−2を介してLMC MUX/DEMUX63
0ヘ送信される。
【0059】 PAL及びCAM動作モード期間中、PAL ENBL信号は高であり、且つ
WRITE及びCFG信号は低である(READは「don’t care」で
ある)。高PAL ENBL信号はPAL入力制御回路670−1のパストラン
ジスタ671及び675をターンオンさせ、それにより入力端子603−1から
書込ビット線645−1へ入力信号をパスし、且つ入力信号の反転した形態を反
転書込ビット線645−1 bヘパスする。プログラム可能要素640−2によ
って格納されている値はプログラム可能要素640−1及び640−2によって
形成されているPAL/CAMセルをイネーブル又はディスエーブルさせる。プ
ログラム可能要素640−2が論理低値を格納している場合(即ち、論理高値が
インバータ641−2の出力において発生される)、この論理低値はPAL/C
AMセル論理回路680をして、プログラム可能要素640−1内に格納されて
いる値及び書込ビット線645−1及び645−1 b上の入力信号に拘わらず
に、低出力信号を発生させる。プログラム可能要素640−2が論理高値を格納
している場合には、PAL/CAMセル論理回路680は、プログラム可能要素
640−1内に格納されている値及び書込ビット線645−1上を非反転形態で
送信された入力信号及び反転書込ビット線645−1 b上のその反転した形態
によって決定される出力信号を発生する。プログラム可能要素640−1及び6
40−2内に格納されている両方の値が論理高値である場合には、PAL/CA
Mセル論理回路680から送信される信号は書込ビット線645−1からの非反
転入力信号である。プログラム可能要素640−1が論理低値を格納しており且
つプログラム可能要素640−2が論理高値を格納している場合には、PAL/
CAMセル論理回路680から送信される信号は反転書込ビット線645−1 bからの反転入力信号である。例えば、PAL/CAMセル論理回路680は、
両方のプログラム可能要素640−1及び640−2が高(論理1)値を格納し
ており且つ書込線645−1上の非反転入力信号が論理高である場合には、AN
Dゲート687へ低(論理0)信号を送信する。PAL/CAMセル論理回路6
80は、プログラム可能要素640−1が低(論理0)値を格納しており、プロ
グラム可能要素640−2が高(論理1)値を格納しており、且つ書込ビット線
645−1上の非反転入力信号が低である場合には、ANDゲート687へ高(
論理1)信号を送信する。
【0060】 注意すべきことであるが、CAM動作モードはPAL動作の1つのタイプであ
って、その場合には8ビット「ワード」がPAL/CAMセルの列の各々に格納
される。例えば、図6(C)を参照して、例示したPAL/CAMセルの両方の
プログラム可能要素640−1及び640−2が論理高値を格納しており、且つ
プログラム可能要素640−1及び640−2を包含する列内の各PAL/CA
Mセルの論理高値を格納しているものと仮定する。入力端子603−1乃至60
3−4から送信された4個の入力信号及び入力端子605から送信された4個の
入力端子の両方が論理高値である場合には、8個の「マッチ(match)」(
論理低)信号がPAL/CAMセル論理回路(図6(C)におけるPAL/CA
Mセル論理回路680と同様)からANDゲート687へ送信され、それはマク
ロセル660へ「マッチ」信号を送信する。P項線628上に送信される4個(
又は8個)のP項信号のうちの少なくとも1つが高であるので、マクロセル66
0は積の和「マッチ」(論理高)信号をLMC MUX/DEMUX630ヘ送
信する。逆に、格納されている8ビットワードのうちのいずれもが入力信号とマ
ッチ即ち一致しない場合には、P項線628上に送信されたP項信号のうちのい
ずれもが高ではなく、且つマクロセル660は積の和「マッチなし(no−ma
tch)」(論理低)信号をLMC MUX/DEMUX630ヘ送信する。
【0061】 図6(D)はLMC MUX/DEMUX630の実施例を示した簡単化した
概略図である。LMC MUX/DEMUX530(上に説明した)と同様に、
はLMC MUX/DEMUX630は16対1デマルチプレクサ回路631,
16対1マルチプレクサ/デマルチプレクサ回路632、プログラム可能出力回
路634を有している。デマルチプレクサ回路631は2入力マルチプレクサP
1−P8,Q1−Q4,R1,R2,Sを有しており、選択端子は入力端子60
5上に送信された入力信号を受取る。第二マルチプレクサ回路632は一連の2
入力マルチプレクサP11−P18,Q11−Q14,R11,R12,S11
を有しており、選択端子は入力端子645上に送信された入力信号を受取る。
【0062】 メモリ書込モード期間中、デマルチプレクサ回路631はパストランジスタ6
33−1を介してデータ信号DINの反転したものを受取り、且つ入力端子60
5上に送信された入力信号に従ってデマルチプレクサ回路631の2入力マルチ
プレクサP1−P8,Q1−Q4,R1,R2,Sを介してその反転データ信号
を反転書込ビット線645 bのうちの1つへ送信する。同様に、マルチプレク
サ/デマルチプレクサ回路632はパストランジスタ633−2を介してデータ
信号DINを受取り、且つそのデータ信号を書込ビット線645のうちの選択し
た1つへ送信する(読取/書込制御回路627を介して、図6(C)参照)。
【0063】 メモリ読取(LUT動作又はRAM読取)モード期間中、マルチプレクサ/デ
マルチプレクサ回路632はプログラム可能出力回路634を介し出力端子63
5−1乃至635−4のうちの1つ又はそれ以上へ読取ビット線625からデー
タ(ビット値)信号のうちの1つ又はそれ以上を送信する。プログラム可能出力
回路634はコンフィギュレーションデータによって制御されて、格納されてい
るデータ信号のうちの1つ、2つ、又は4つを出力端子635−1乃至635−
4へ送信する。特に、格納されているデータ信号のうちの4個がLMC430−
2から送信される場合には、マルチプレクサT,U,V,WがメモリセルM−T
,M−U,M−V,M−Wによって制御されてマルチプレクサQ11,Q12,
Q13,Q14を介して送信された信号を夫々出力端子635−1,635−2
,635−3,635−4へパスする。一方、格納されているデータ信号のうち
の2個がLMC430−2から送信される場合には、マルチプレクサT及びVが
メモリセルM−T及びM−Vによって制御されてマルチプレクサR11及びR1
2を介して送信された信号を夫々出力端子635−1及び635−3へパスする
(出力端子635−2及び635−4へパスされた信号は無視される)。最後に
、格納されているデータ信号のうちの単に1つがLMC430−2から送信され
る場合には、マルチプレクサUがメモリセルM−Uによって制御されてマルチプ
レクサS11を介して送信された信号を出力端子635−2へパスさせる(出力
端子635−1,635−3,635−4へパスされる信号は無視される)。
【0064】 PLA/CAM動作モード期間中、典型的にLMC430−2から出力される
ビット値のみがマクロセル660によって発生される積の和(マッチ/マッチな
し)値である。積の和の値は、メモリセルM−Uによって制御されるマルチプレ
クサWを介して出力端子635−4へパスされる(出力端子635−1,635
−2,635−3へパスされる信号は無視される)。
【0065】 上に説明したように、LMC430−2は8入力LUTか又は8入力PALの
いずれかを使用して論理を実現するために論理/メモリアレイ620のプログラ
ム可能要素を選択的に使用することが可能である。従って、ユーザはLUT動作
の高密度及び柔軟性とPAL動作の速度との間で選択することが可能である。こ
の能力は、ユーザが、例えば、LUT動作を使用して選択した大きな又は複雑な
機能を実現しながら、幾つかのLMC内においてPAL動作を使用するより小さ
な又は速度が重要な論理グループを実現することを可能とする。両方の動作が同
一のプログラム可能要素を使用して実施されるので、LMC430−2のアレイ
を組込んだPLDは広範な範囲の論理適用例に対して使用することが可能である
【0066】第三実施例 図7(A)乃至7(D)は本発明の第三実施例に基づくLMC430−3を示
している。LMC430−1(図5(A))及びLMC430−2(図6(A)
)と同様に、LMC430−3のプログラム可能要素は8入力LUTとしてか又
は256ビットRAMとして選択的に使用することが可能である。更に、LMC
430−2(図6(A))と同様に、LMC430−3は選択的に8入力プログ
ラム可能アレイ論理(PAL)回路として動作することが可能であり、それによ
りユーザがその論理機能を高密度LUTフォーマットか又は高速PAL/CAM
フォーマットのいずれかで実現することを可能としている。更に、同一のプログ
ラム可能要素及び入力端子が両方のPAL/CAM及びLUT動作に対して使用
され、それによりPLD用の高度に柔軟性があり且つ空間効率的なコンフィギャ
ラブル即ち形態特定可能な論理ブロックを提供している。
【0067】 図7(A)を参照すると、LMC430−3はデコーダ710、論理/メモリ
アレイ(L/M ARRAY)720、LMCマルチプレクサ/デマルチプレク
サ(MUX/DEMUX)(スイッチ回路)730、マクロセル760、PAL
入力(PAL IN)制御回路770を有している。デコーダ710は第一組の
入力端子703を介して4個の入力信号を受取るべく接続されており、且つアド
レス線717を介して論理/メモリアレイ720へ送信される16個のアドレス
信号を発生する。論理/メモリアレイ720は、又、ライン707を介してコン
フィギュレーションバス(不図示)から16個のコンフィギュレーションアドレ
ス信号を受取る。LMC MUX/DEMUX730は入力端子705によって
受取られた入力信号に応答して、LUT動作及びメモリ読取モード期間中に選択
したビット線745からのビット値を出力端子735へ送信する。LMC MU
X/DEMUX730は、メモリ書込モード期間中に、入力信号に応答してデー
タ入力端子DINからの入力データ値を選択したビット線745及び反転ビット
線745 bへ送信する。
【0068】 更に、LMC430−3は積項発生回路(以下に説明する)、マクロセル76
0、PAL入力制御回路770を有している。PAL及びCAM動作期間中、P
AL入力制御回路770は入力端子703及び705において受取られた入力信
号を論理/メモリアレイ720のビット線745上へパスする。更に、論理/メ
モリアレイ720は積項発生回路を有しており、それはビット線745上の入力
信号及び論理/メモリアレイ720のプログラム可能要素内に格納されているビ
ット値に応答して積項を発生する。これらの積項はP項線728を介してマクロ
セル760へ送信され、それはマクロセル出力線765を介してLMC MUX
/DEMUX730ヘ送信される積の和の項を発生する。以下に説明するように
、LMC MUX/DEMUX730は出力制御回路を有しており、それは選択
したビット線745を介して送信されたビット値か又はマクロセル760によっ
て発生された積の和の項のいずれかをパスさせる。従って、LMC430−3は
ユーザがLUTフォーマットか又はPAL/CAMフォーマットのいずれかを使
用して選択的に論理を実現することを可能とする。PAL動作は典型的にLUT
動作よりも一層高速であるので、この付加された柔軟性はLMC430−3を小
さな論理部分の速度が重要である場合の適用例に対して有用なものとさせる。
【0069】 図7(B)は簡単化したデコーダ710を示しており、それは入力端子703
−1及び703−2上で受取られた2個の入力信号をデコードし、且つワード線
717−1乃至717−4上に読取/書込アドレス信号を発生する。各入力信号
が反転され、且つ選択された対の反転及び非反転入力信号が4個のNORゲート
N1,N3,N5,N7の入力端子へ印加される。更に、読取/書込制御信号R
EAD/WRITEが反転され且つライン712を介してNORゲートN1,N
3,N5,N7へ送信される。選択された対の入力信号及びREAD/WRIT
E制御信号に応答して、NORゲートN1,N3,N5,N7は読取/書込アド
レス信号を発生し、該信号は論理/メモリアレイ720における4つの列のプロ
グラム可能要素ヘ印加される。例えば、NORゲートN1はREAD/WRIT
E制御信号及び入力端子703−1及び703−2において受取られた反転入力
信号に応答してアドレス信号を発生する。このアドレス信号はスイッチ回路71
5Aを介してワード線717−1へ印加される。スイッチ回路715Aはライン
719及びライン719 b上のコンフィギュレーション信号CFGによって制
御されてメモリ書込モードにおいてNORゲートN1,N3,N5,N7によっ
て発生されたアドレス信号をパスする。図7(A)に示したように、4個の入力
端子を受取り且つ16個の読取/書込アドレス信号を発生するようにデコーダ7
10の修正は図7(B)に示した開示に鑑み容易に達成される。
【0070】 再度図7(A)を参照すると、論理/メモリアレイ720は2つのグループに
分割されている16個の行と16個の列とに配列されている256個のプログラ
ム可能要素を有している。第一グループの8個の列(PAL/LUT/RAM
COLS)721はPAL/CAM,LUT,RAM動作を実施し、且つ第二グ
ループの8個列(LUT/REM COLS)722はLUT及びRAM動作の
ためにのみ使用される。第一グループ721の各列は8個の対を形成するために
配列されている16個のプログラム可能要素を有している(以後「PAL/CA
Mセル」と呼称する)。第一グループ721の1つの列からの代表的な対のプロ
グラム可能要素を図7(C)に示してあり且つ以下に説明する。第二グループ7
22のプログラム可能要素は、高速メモリ読取回路(即ち、インバータ546、
トランジスタ547、読取ビット線525−1、図5(C)参照)なしでのプロ
グラム可能要素540−1に類似している。従って、第二グループ722内に設
けられるプログラム可能要素の説明は割愛する。
【0071】 論理/メモリアレイ620(図6(C)参照)と同様に、論理/メモリアレイ
720はビット線745及び745 bへ印加される信号を制御するためにコン
フィギュレーションCFG制御信号及びPALイネーブル(PAL ENBL)
制御信号を使用し、且つメモリ読取及びメモリ書込の両方の動作期間中にワード
線717上に送信されたアドレス信号を制御するためにデコーダ710において
READ/WRITE制御信号を使用する。注意すべきことであるが、論理/メ
モリアレイ620によって使用される別個のREAD及びWRITE制御信号は
論理/メモリアレイ720においては使用されていない。
【0072】 コンフィギュレーション信号CFGが、LMC430−2(図6(C)参照)
に関して上述したのと同様の態様で、コンフィギュレーションモード期間中に、
ワード線717上のアドレス信号のソース即ち供給源を制御する。例えば、メモ
リ書込モード(CFGが低であり且つREAD/WRITEが高)期間中、デコ
ーダ710によって発生される信号はスイッチ715A−1(図7(B)参照)
を介してワード線717−1上へパスされる。逆に、CFG信号はコンフィギュ
レーションモード期間中に高であり、それにより第一スイッチ715A−1をタ
ーンオフさせ且つ第二スイッチ715B−1(図7(C)参照)をターンオンさ
せてワード線717−1をコンフィギュレーションアドレス線707−1へ接続
させる。CFG信号は、又、ビット線745及び反転ビット線745 bを制御
するために使用される。例えば、メモリ書込モード期間中、CFGが低であり且
つLMC MUX/DEMUX730(図7(A)参照)から送信されたデータ
値はビット線745−1上へパスされる。LUT動作又はRAM読取モード期間
中、データ値はビット線745−1からLMC MUX/DEMUX730ヘパ
スされる。対照的に、コンフィギュレーションモード期間中(即ち、CFG信号
が高)、パストランジスタ748はターンオンされてビット線735−1及び7
45−2及び反転ビット線745−1 b及び745−2 bを接続させてコン
フィギュレーションビット線749−1及び749−2及び反転コンフィギュレ
ーションビット線749−1 b及び749−2 bからデータ信号を受取る。
【0073】 PALイネーブル(PAL ENBL)制御信号は、PAL入力制御回路77
0(図7(A)参照)をして入力端子703からの入力信号をPAL動作期間中
にビット線745上へ印加させる。図7(C)を参照すると、PAL入力制御回
路770−1は、PAL入力制御回路670−1(図6(C)参照)を参照して
上に説明した態様で動作するパスゲート及びインバータを有している。
【0074】 図7(C)は論理/メモリアレイ720の1個のPAL/CAMセル及び関連
する回路を示している。PAL/CAMセルは論理/メモリアレイ720の1つ
の列において順番に配列されている一対のプログラム可能要素740−1及び7
40−2から形成されている。プログラム可能要素740−1及び740−2の
各々はビット値を格納するためのラッチ、及び該ラッチへの書込及びそれからの
読取を制御する制御回路を有している。特にプログラム可能要素740−1は第
一インバータ741−1及び第二インバータ742−1を有しており、それらは
端部同志を接続して第一ラッチを形成しており、且つプログラム可能要素740
−2は第一インバータ741−2及び第二インバータ742−2を有しており、
それらは端部同志を接続して第二ラッチを形成している。プログラム可能要素7
40−1の第一ラッチは、夫々、パストランジスタ743−1及び744−1を
介してビット線745−1及び反転ビット線745−1 bへ接続している。パ
ストランジスタ743−1及び744−1のゲートはワード線717−1へ接続
している。プログラム可能要素740−2の第二ラッチは、夫々、パストランジ
スタ743−2及び744−2を介してビット線745−2及び反転ビット線7
45−2 bへ接続している。パストランジスタ743−2及び744−2のゲ
ートもワード線717−1へ接続している。従って、高アドレス信号がワード線
717−1へ印加されると、ビット値はビット線745−1及び745−2及び
反転ビット線745−1 b及び745−2 bから送信されて夫々プログラム
可能要素740−1及び740−2の第一及び第二ラッチ内へ格納されるか、又
は第一及び第二ラッチから読取られてこれらのビット線上へ送信される。
【0075】 積項は、ビット線745−1及び745−1 b及びPAL/CAMセル(即
ち、関連する対のプログラム可能要素)ヘ接続されている積項回路によって発生
される。この積項回路は、複数個のPAL/CAMセル論理回路780及び1個
又はそれ以上のANDゲート787を有している。図7(C)に示したように、
各PAL/CAMセル論理回路780は、ノード781(プログラム可能要素7
40−1の内側に示してある)ヘ接続している第一入力端子とプログラム可能要
素740−2へ接続している第二入力端子とを具備している2入力NORゲート
である。ノード781は第一パストランジスタ783を介して書込ビット線74
5−1へ接続しており、且つ第二パストランジスタ782を介して反転ビット線
745−1 bへ接続している。第一パストランジスタ783及び第二パストラ
ンジスタ782のゲートは、夫々、プログラム可能要素740−1のラッチによ
って格納されている反転及び非反転値によって制御される。図6(C)を参照し
て上に説明した対応する回路と同様に、PAL/CAMセル論理回路780は、
プログラム可能要素740−1及び740−2のプログラムされている状態、及
び入力端子703−1上のPAL入力信号に基づいてPAL/CAMセル出力信
号を発生する(それは、書込ビット線745−1及び反転書込ビット線745−
b上を送信される)。PAL/CAMセル出力信号はAND回路787へ送
信され、それは、又、プログラム可能要素740−1及び740−2と同一の列
内のその他のプログラム可能要素からのその他のPAL/CAMセル論理回路(
不図示)からのPAL/CAMセル出力信号を受取る。これのPAL/CAMセ
ル出力信号は、P項線728−1を介してマクロセル760へ送信されるP項信
号を発生するためにAND回路787によって使用される(反転した形式で)。
【0076】 マクロセル760は、論理/メモリアレイ720のその他の列からの3個又は
7個の付加的なP項信号と共に、P項線728−1からのP項信号を受取るOR
ゲート763を有している。マクロセル760はマクロセル出力線765を介し
てLMC MUX/DEMUX730ヘ送信されるこれらのP項信号に応答して
積の和の項を発生する。
【0077】 論理/メモリアレイ720は、コンフィギュレーションモード、メモリ読取(
即ち、LUT動作又はRAM読取)モード、メモリ書込モード、及びPAL/C
AM動作モードで動作するためにコンフィギュレーション信号によって制御され
る。第二グループ722の動作(即ち、LUT/RAM COLS)は、論理/
メモリアレイ520に関して上に説明したのと基本的に同一であり、従ってここ
で繰り返し説明することはしない。第一グループ721の動作(即ち、PAL/
LUT/RAM COLS)は図7(C)を参照して以下に説明する。
【0078】 コンフィギュレーション即ち形態特定モード期間中、CFG制御信号は高であ
り且つPLA ENBL制御信号は低である(READ/WRITEは「don
’t care」である)。高CFG信号はスイッチ回路715A−1(図7(
B)参照)をターンオフさせ、且つスイッチ回路715B−1をターンオンさせ
、従ってアドレス信号がコンフィギュレーションアドレス線707−1からワー
ド線717−1上へ送信される。更に、高CFG信号はパストランジスタ748
をターンオンさせてビット線745及び745 bをコンフィギュレーションビ
ット線749及び749 bへ接続させる。注意すべきことであるが、低PLA
ENBL信号は、入力端子703−1からビット線745−1及び745−1 bへの入力信号の送信を防止する。この状態において、データ値が、同時的に
、ビット線745−1及び745−1 bを介してプログラム可能要素740−
1へ送信され、且つビット線745−2及び745−2 bを介してプログラム
可能要素740−2へ送信される。プログラム可能要素740−1及び740−
2は、その後のデータ書込処理が実施されるまで(又はパワーがターンオフされ
るまで)これらのデータ値を維持する。
【0079】 メモリ書込モード期間中、CFG及びPAL ENBL信号は低であり、且つ
READ/WRITE制御信号は高である。低CFG信号はスイッチ回路715
A−1(図7(B)参照)をターンオンさせ、且つスイッチ回路715B−1を
ターンオフさせる。高READ/WRITE信号によってイネーブルされると、
NORゲートN1,N3,N5,N7(図7(B)参照)は入力端子703−1
及び730−2によって受取られる入力信号に応答してワード線717−1乃至
717−4上にアドレス信号を発生する。注意すべきことであるが、低CFG信
号はパストランジスタ748をターンオフさせる。この状態において、データ信
号DINはLMC MUX/DEMUX730(後に説明する)の動作に応答し
て、LMC MUX/DEMUX730から選択したビット線745−1又は7
45−2(及び選択した反転ビット線745−1 b又は745−2 b)ヘ送
信される。
【0080】 メモリ読取(LUT動作又はRAM読取)モード期間中、CFG及びPAL
ENBL制御信号は低であり、且つREAD/WRITE制御信号は高である。
READ/WRITE信号は、NORゲートN1,N3,N5,N7(図7(B
)参照)をして、入力端子703−1及び703−2によって受取られる入力信
号に応答して、ワード線717−1乃至717−4上にアドレス信号を発生させ
る。低CFGはスイッチ回路715A−1をターンオンさせ、且つスイッチ回路
715B−1をターンオフさせる。更に、低CFG信号はパストランジスタ74
8をターンオフさせる。この状態において、プログラム可能要素740−1及び
740−2内に格納されているビット値は、ワード線717−1を介してデコー
ダ710から送信される高アドレス信号に応答して、ビット線745−1及び7
45−2上に送信される。以下に説明するように、格納されているビット値はビ
ット線745−1及び745−2を介してLMC MUX/DEMUX730ヘ
送信される。
【0081】 PAL/CAM動作モード期間中、PAL ENBL信号は高であり、且つC
FG信号は低である(READ/WRITEは「don’t care」である
)。高PAL ENBL信号はPALイネーブル制御回路770−1をターンオ
ンさせ、それにより入力信号を入力端子703−1からビット線745−1へパ
スさせ、かつ入力信号の反転したものを反転ビット線745−1 bヘパスさせ
る。ビット線745−1及び745−1 b上の入力信号はプログラム可能要素
740−1内に格納されている値に従ってPAL/CAMセル論理回路780の
第一入力端子へ送信される。プログラム可能要素740−2内に格納されている
値はPAL/CAMセル論理回路780の第二入力端子へ送信される。PAL/
CAMセル論理回路780は、プログラム可能要素740−1及び740−2内
に格納されているビット値に依存し、且つビット線745−1及び745−1 b上に送信される真及び補元PAL入力信号に応答して高(論理1)信号又は低
(論理0)信号のいずれかを発生する。PAL/CAMセル論理回路780によ
って実施される論理は、PAL/CAMセル論理回路680を参照して上に説明
したものと同一である。
【0082】 図7(D)は、LMC MUX/DEMUX730の1つの実施例を示した簡
単化した概略図である。LMC MUX/DEMUX730はLMC MUX/
DEMUX630(上に説明した)と基本的に同一であり、その唯一の差異は、
マルチプレクサ/デマルチプレクサ732が単にビット線745に接続されてい
るに過ぎないという点である(即ち、読取/書込制御回路は存在しない)。従っ
て、LMC MUX/DEMUX730の動作の説明は割愛する。
【0083】第四実施例 図8(A)乃至8(D)は本発明の第四実施例に基づくCLB800を示した
概略図である。CLB800は第一スイッチ回路(INPUT MUX)820
、4個の論理/メモリ回路(LMC)430−A乃至430−D、第二スイッチ
回路(OUTPUT MUX)860、レジスタ回路(FF)870、CLB出
力マルチプレクサ回路875を有している。CLB800はCLB800に隣接
して位置されている相互接続資源(不図示)の80個の相互接続線から最大で2
4個の入力信号を受取る。これらの入力信号はCLB入力端子810を介して第
一スイッチ回路820へ送信され、それは、又、フィードバック線885を介し
て最大で12個のフィードバック信号を受取る。第一スイッチ回路820はLM
C入力線830を介してLMC430−A乃至430−Dへこれらの入力及びフ
ィードバック信号のうちのいずれか8個をルーチング即ち経路付けさせるために
プログラム可能なスイッチ要素を有している。第一スイッチ回路820は、例え
ば、LMC430−Aが第一グループの8個の入力信号を受取り且つLMC43
0−Bが第二の完全に異なるグループの8個の入力信号を受取るように、これら
の入力信号を選択的に経路付けする。
【0084】 各LMC430−A乃至430−DはLMC430−1(図5(A)参照)、
LMC430−2(図6(A)参照)、又はLMC430−3(図7(A)参照
)と一貫したプログラム可能な回路を有している。従って各LMC430−A乃
至430−DへLMC入力線830を介して送信される8個の入力信号のグルー
プは、第一組の4個の入力信号と第二組の4個の入力信号とを包含している。各
LMC430−A乃至430−Dは、選択したワードが論理/メモリアレイのビ
ット線上に送信されるように、第一組の入力信号によってアドレス可能な複数個
のデータワードを格納するための論理/メモリアレイを有している。各LMC4
30−A乃至430−Dは、又、第二組の入力信号に応答して選択したビット線
からLMC出力線850へ選択したデータ値をパスするためのスイッチ回路を有
している。例えば制御信号CFG,PAL ENBL,READ,WRITE等
の付加的な信号、及びデータ入力信号DINは周りの相互接続線から直接的にL
MCへ送信されるか、又は付加的なLMC入力線(不図示)上に送信される。L
MC出力線850を介してLMC430−A乃至430−Dから送信される選択
したデータ値は第二スイッチ回路(OUTPUT MUX)860へ送信される
。第二スイッチ回路860はLMC430−A乃至430−Dから送信される選
択したデータ値を12本の出力線865へパスする。CLB800がユーザによ
って組合わせ論理回路として使用されるか又は状態マシンとして使用されるかに
依存して、出力線865上のデータ信号は、夫々、CLB出力マルチプレクサ回
路875の第一端子か、又はレジスタ回路(FFs)870を介して第二端子へ
送信される。CLB出力マルチプレクサ回路875は、相互接続線(不図示)上
へ送信するためにCLB出力端子880へ、又は第一スイッチ回路820へ送り
戻すためにフィードバック線885へこれらの組の信号のうちの1つをパスする
【0085】 図8(B),8(C),8(D)はCLB800の部分を更に詳細に示した概
略図である。
【0086】 図8(B)は第一スイッチ回路820を示したブロック図である。第一スイッ
チ回路820は4個のスイッチブロック820−A乃至820−Dを有しており
、各スイッチブロックは8個のマルチプレクサ回路(MXC)を有している。例
えば、スイッチブロック820−AはMXC A−1乃至MXC A−8を有し
ている。各スイッチブロック820−A乃至820−DはCLB入力端子810
を介して相互接続資源から入力信号を受取り且つフィードバック線885を介し
てフィードバック信号を受取る。各スイッチブロック820−A乃至820−D
の各MXCはCLB入力端子810又はフィードバック線885から関連するL
MC入力線830へ選択した信号をパスするためのプログラム可能なスイッチン
グ要素を有している。例えば、MXC A−1は、入力端子810又はフィード
バック線885のいずれかから選択した1つの信号をLMC入力線830−1へ
パスするようにプログラムすることが可能である。
【0087】 図8(C)はスイッチブロック820−A乃至820−Dの全てのMXCの代
表的なものであるMXC A−1のプログラム可能なスイッチ要素を示した簡単
化した概略図である。MXC A−1はCLB入力端子810上で24個の入力
信号を受取り且つフィードバック線885上で12個のフィードバック信号を受
取る。これらの24個の入力端子810及び12個のフィードバック線885は
4つのグループにまとめられており、且つ各グループはパストランジスタ812
を介して共通ノードへプログラミングによって接続される。例えば、4個の入力
端子810−1乃至810−4からなる1つのグループは共通ノード815へ接
続している。入力端子810−1はパストランジスタ812−1を介して共通ノ
ード815へ接続しており、且つ入力端子810−2乃至810−4は同様に制
御される。第一組の4個のメモリ要素Ma乃至Mdはパストランジスタ812の
ゲートへ接続しており且つ各グループの4個の入力端子から1個の信号をパスす
るためにユーザによってプログラムされる。例えば、入力端子810−1からの
入力信号は、パストランジスタ812−1をターンオンさせるようにメモリ要素
Maをプログラミングすることによって共通ノード815へパスされる(メモリ
要素Mb乃至Mdはそれらの関連するパストランジスタをターンオフするように
プログラムされる)。各共通ノードはメモリ要素Me乃至Mmによって制御され
る関連するパストランジスタを介して出力ノード817へ接続される。例えば、
共通ノード815はメモリ要素Meによって制御されるパストランジスタ816
を介して出力ノード817へ接続している。従って、MXC A−1は、出力ノ
ード817を介して24個の入力端子810及び12個のフィードバック線88
5のうちの選択した1つをLMC入力線830−1へ経路付けさせるためにメモ
リ要素Ma乃至Mmをプログラミングすることによって選択的に制御される。
【0088】 図8(D)は、CLB800の第二スイッチ回路860、レジスタ回路870
、CLB出力マルチプレクサ回路875を示した概略図である。簡単に図8(A
)を参照すると、各LMC430−A乃至430−DはLMC出力線850を介
して第二スイッチ回路860へ送信される1個、2個又は4個の出力信号を発生
する。図8(D)に戻ると、第二スイッチ回路860は、各OMXCが16個全
てのLMC出力信号を受取るように、LMC出力線850へ接続されている12
個の出力マルチプレクサ回路(OMXC)860−1乃至860−12を有して
いる。各OMXC860−1乃至860−12は、選択したLMC出力信号を関
連する出力線865へパスさせるようにプログラムされている16対1マルチプ
レクサを有している。出力線865はレジスタ回路870へ及びCLB出力マル
チプレクサ回路875の1組の入力端子へ供給される。レジスタ回路870はフ
リップフロップFF−1乃至FF−12を有しており、その各々は関連する出力
線865を介してパスされる信号を受取るべく接続されているデータ端子を有し
ている。フリップフロップFF−1乃至FF−12はCLB出力マルチプレクサ
回路875の第二組の入力端子へ接続している出力端子を有している。CLB出
力マルチプレクサ回路875は12個の2対1マルチプレクサZ1乃至Z12を
有しており、それらは関連する出力線865を介して直接的に送信された選択し
たLMC出力信号か、又は関連するフリップフロップFF−1乃至FF−12か
ら送信されたレジスタされた信号のいずれかをパスするためにコンフィギュレー
ションメモリセルMによって制御される。CLB出力マルチプレクサ回路875
によってパスされた信号は関連するフィードバック線及び相互接続資源へ送信さ
れる。
【0089】 CLB800は、従来技術において使用されている16ビットLUTが最小の
付加的な空間を占有しながら実質的により大きな論理機能部分を実現する4個の
256ビットLMC430によって置換されているという点において従来のCL
Bにない利点を提供している。LUT(即ち、LMC)の寸法を増加させると論
理レベルの数が減少され、従って論理機能は多数の16ビットLUTを使用して
可能である場合よりもより速い速度で実施される。更に、256ビットLMCを
形成するために必要な付加的な空間は各LMCによって実現されるユーザ論理の
付加的な量によってオフセットされる。
【0090】第五実施例 図9(A)乃至9(C)は本発明の第五実施例に基づくCLB900を示した
概略図である。CLB900は、CLB800の第二スイッチ回路860及びC
LB出力マルチプレクサ回路875がCLB900においては使用されていない
という点がCLB800(図8A(参照))と異なっている。これらの出力制御
回路が存在しないことを補償するために、CLB800によって与えられる12
個と比較して、周りの相互接続資源(不図示)ヘCLB900から出力信号を送
信するために24個の出力端子が設けられている。出力端子の数を増加させるこ
とは相互接続資源との接続を与えるために付加的なプログラム可能回路が必要と
なるが、これらの出力制御回路を取除くことは信号遅延を減少させ、それにより
より速い動作速度の利点を提供する。
【0091】 CLB900はスイッチ回路(INPUT MUX)920、4個の論理/メ
モリ回路(LMC)430−A乃至430−D、レジスタ回路(FFs)970
−1乃至970−4を有している。CLB900は最大で24個の入力信号を入
力端子910上で受取り、それらはホストPLD上のCLB900に隣接して位
置されている相互接続資源(不図示)の相互接続線へプログラミングによって接
続されている。これらの入力信号はスイッチ回路920へ送信され、それは、又
、フィードバックラインバス985上の8個のフィードバック信号を受取る。ス
イッチ回路920はLMC入力線930−A乃至930−Dを介してLMC43
0−A乃至430−Dへこれらの入力及びフィードバック信号のうちのいずれか
8個をルーチング即ち経路付けするためのプログラム可能なスイッチ要素を有し
ている。
【0092】 各LMC430−A乃至430−Dは本発明のLMC、例えばLMC430−
1(図5(A)参照)、LMC430−2(図6(A)参照)、又はLMC43
0−3(図7(A)参照)とを一貫性のあるプログラム可能回路を有している。
従って、各LMC430−A乃至430−DはLMC入力線910―A乃至91
0−Dを介して受取った入力信号に応答して、CLB出力端子950−1乃至9
50−4上に最大で4個の出力信号を供給するためのスイッチ回路を有している
。例えば制御信号CFG,PAL ENBL,READ,WRITE及びデータ
入力信号DINなどの付加的な信号が周りの相互接続線から直接的にLMC43
0−A乃至430−Dへ送信されるか、又は付加的なLMC入力線(不図示)上
に送信される。フィードバック線対985−A乃至985−Dは関連する出力端
子950−1乃至950−4からフィードバック信号の経路付けを行う。例えば
、フィードバック信号はCLB出力端子950−1を構成する4本のライン(線
)のうちの2つからフィードバック線対985−Aを介して送信される。フィー
ドバック線対965−A乃至985−Dはスイッチ回路920へ接続されている
フィードバック線バス985を形成する。CLB900がユーザによって組合わ
せ論理として使用される場合には、CLB出力端子950−1乃至950−4上
のデータ信号は直接的に相互接続線(不図示)ヘ送信される。対照的に、CLB
900が状態マシンとして使用される場合には、各CLB出力端子950−1乃
至950−4と関連する4本のラインのうちの2つの上の信号がレジスタ回路(
FFs)970−1乃至970−4へ送信され、それはレジスタされた出力信号
をCLBレジスタ済出力端子975−1乃至975−4上に送信する。
【0093】 図9(B)及び9(C)はスイッチ回路(INPUT MUX)920の付加
的な詳細を示した概略図である。
【0094】 図9(B)はスイッチ回路920のブロック図である。スイッチ回路920は
4個のスイッチブロック920−A乃至920−Dを有しており、各スイッチブ
ロックは8個のマルチプレクサ回路(MXC)を有している。例えば、スイッチ
ブロック920−AはMXC A−11乃至MXC A−18を有している。各
スイッチブロック920−A乃至920−Dは、夫々、関連するCLB入力端子
910−A乃至910−Dを介して相互接続資源から24個の入力信号を受取り
、且つフィードバック線バス985を介して6個のフィードバック信号を受取る
。各スイッチブロック920−A乃至920−Dの各マルチプレクサ回路MXC
は、CLB入力端子910−A乃至910−Dからの選択した信号又はフィード
バック線バス985からのフィードバック信号をLMC入力線930−A乃至9
30−Dの関連するライン(線)へパスさせるプログラム可能なスイッチング要
素を有している。例えば、MXC A−11はCLB入力端子910−Aの24
本の線からか又はフィードバック線バス985の6本のフィードバック線からの
1個の信号をLMC入力線930−A1へパスさせるべくプログラム可能であり
、それは、次いで、LMC430−A(図9(A)参照)ヘ送信される。
【0095】 注意すべきことであるが、フィードバック線バス985の8本のフィードバッ
ク線のうちの6本のみが各スイッチブロック920−A乃至920−Dに対して
経路付けされる。図示例においては、LMCのうちの1つからの出力信号はその
LMCによってフィードバックとして使用されていない。従って、1個のLMC
の出力端子へ接続されているフィードバック線バス985のフィードバック線対
はそのLMCと関連しているスイッチブロックに対してフィードバックされるこ
とはない。例えば、図9(B)に示したように、スイッチブロック920−Aは
フィードバック線対985−B,985−C,985−D、(夫々、LMC43
0−B,430−C,430−Dによって発生される)からのフィードバック信
号を受取る。従って、フィードバック線対985−Aはスイッチブロック920
−Aに対して送信されることはない。同様に、スイッチブロック920−Bはフ
ィードバック線対985−A,985−C,985−Dからのフィードバック信
号を受取り、スイッチブロック920−Cはフィードバック線対985−A,9
85−B,985−Dからのフィードバック信号を受取り、且つスイッチブロッ
ク920−Dはフィードバック線対985−A,985−B,985−Cからの
フィードバック信号を受取る。
【0096】 図9(C)はスイッチブロック920−A乃至920−Dの全てのマルチプレ
クサ回路を代表するMXC A−11のプログラム可能なスイッチ要素を示した
簡単化した概略図である。MXC A−11はCLB入力端子910−A上の2
4個の入力信号及びフィードバック線対985−B,985−C,985−Dか
らの6個のフィードバック信号を受取る。これら24個の入力信号はパストラン
ジスタ912を介して4つのグループで送信される。第一組の4個のメモリ要素
Ma乃至Mdはパストランジスタ912のゲートへ接続されており且つ各グルー
プの4個の入力信号から1個の信号をパスさせるべくユーザによってプログラム
される。同様に、6個のフィードバック信号がパストランジスタ912を介して
2個のグループ毎に送信される。メモリ要素Ma及びMbはこれらのパストラン
ジスタを制御して各グループの2個のフィードバック信号から1個の信号をパス
させる。これらのグループの内の1つからのフィードバック信号又は選択した入
力信号がメモリ要素Me乃至Mmによって制御される関連するパストランジスタ
を介してLMC入力線930−A1へパスされる。従って、MXC A−11は
メモリ要素Ma乃至Mmをプログラミングすることによって選択的に制御されて
、入力端子910−Aからの24個の入力信号及びフィードバック線対985−
B,985−C,985−Dからの6個のフィードバック信号のうちの選択した
1つをLMC入力線930−A1を介してLMC430−Aへ経路付けさせる。
【0097】 再度図9(A)を参照すると、各LMC430−A乃至430−Dは周りの相
互接続資源(不図示)ヘCLB出力端子950−1乃至950−4を介して送信
される1個、2個、又は4個の出力信号を発生する。一方、各CLB出力端子9
50−1乃至950−4からの2個の信号をCLBレジスタ済出力端子975−
1乃至975−4を介してレジスタ回路970−1乃至970−4から送信され
るレジスタ済の出力信号としてCLB900から供給することが可能である。
【0098】第六実施例 CLB800及びCLB900は論理/メモリ機能を実施するために4個のL
MC430を有しているが、回路寸法における増加を最小としながら付加的な論
理能力を与えるためにLMCと関連して特別目的回路及びその他の論理回路を使
用することが可能である。
【0099】 図10は本発明の第六実施例に基づくCLB1000を示したブロック図であ
る。CLB800(図8(A)参照)と同様に、CLB1000は第一スイッチ
回路(INPUT MUX)1020、4個の論理/メモリ回路(LMC)43
0−A乃至430−D、第二スイッチ回路(OUTPUT MUX)1060、
レジスタ回路(FFs)1070、CLB出力マルチプレクサ回路1075を有
している。更に、CLB1000は4×4アレイ乗算器回路1090を有してお
り、それは第一スイッチ回路1020から全部で8個の入力信号を受取り且つ第
二スイッチ回路1060へ送信される8個の出力信号を発生する。適宜の4×4
アレイ乗算器回路は、例えば、Neil Weste及びKamran Esh
raghian著「CMOS VLSI設計の原理(Principles o
f CMOS VLSI Design)」、第二版、アジソンウエズリィ出版
社、1993、545−547頁に記載されている。乗算器回路はLMC430
の汎用回路よりも実質的に寸法がより小さく、しばしば、DSP適用例において
使用される。乗算器回路1090を与えることによって、CLB1000は3倍
以上これらの適用例に対する乗算速度を改善する。
【0100】第七実施例 図11は本発明の第七実施例に基づくCLB1100を示したブロック図であ
る。CLB1000(図10)と同様に、CLB1100は、汎用論理演算を実
施するための論理/メモリ回路(LMC)430−A及び430−Bを有してお
り、且つ乗算演算を実施するための4×4アレイ乗算器回路1190を有してい
る。この第七実施例においては、LMC430−A及び430−Bは、例えば、
LUT及びRAM機能のみを実施するLMC430−1(図5(A)参照)を使
用して実現される。更に、AND−OR論理形式を使用して論理関数部分を実現
するために2個の専用のPAL回路1195−1及び1195−2が設けられて
いる。専用のPAL回路は公知であり、且つ、上述したように、典型的にLUT
回路よりも一層高速である。大容量のLMC430と高速の専用のPAL回路の
両方を単一のCLB1100内に組込むことによって、高速且つ大容量の両方の
論理機能を実現することが可能な高度に多様性のあるPLDが製造される。
【0101】第八実施例 上述したように、LMC430−1(図5(A))、430−2(図6(A)
)、430−3(図7(A))の論理/メモリアレイは16×16マトリクス(
行列)に配列されている256個のプログラム可能要素を有している。この配列
は任意の8入力論理機能の高容量LUT実現を与えるものであるが、それは、又
、これらのLMCの動作速度を減少させる。特に、各ビット線へ接続されている
16個のプログラム可能要素は各ビット線上に顕著な負荷を形成する。上述した
ように、LMC430−1(図5(C)参照)及び430−2(図6(C)参照
)の論理/メモリアレイにおいて開示した「高速読取」構成はLMC430−3
(図7(C)参照)によって与えられるものよりも比較的高速な動作速度を発生
する。然しながら、この「高速読取」構成を使用した場合であっても、各「高速
読取」ビット線上に16個のプログラム可能要素によって発生される負荷は信号
遅延に対して顕著に貢献する。従って、動作速度を更に増加させるために、論理
/メモリアレイ内の各ビット線からプログラム可能要素を除去することが可能で
ある。論理/メモリアレイからプログラム可能要素を取除くことはLUT及びR
AM容量を犠牲にするものであるが、その結果発生する動作速度における増加は
高速論理実現のために極めて有益的なものである。
【0102】 図12(A)乃至12(C)は本発明の第八実施例に基づくLMC430−4
を示している。LMC430−2(図6(A))と同様に、LMC430−4の
プログラム可能要素はLUT、RAM又はPAL/CAMとして選択的に使用す
ることが可能である。然しながら、LMC430−2と異なり、LMC430−
4の論理/メモリアレイは16個の行と4個の列とに配列された64ビットを有
するに過ぎない。そうであるから、LMC430−4は6入力LUT動作(LM
C430−2の8入力LUT動作と対比される)を実現することが可能であり、
且つ64ビットRAM動作(256ビットと対比される)を実現することが可能
である。然しながら、論理/メモリアレイの各行内のプログラム可能要素の数を
減少させることによって、各読取ビット線に印加される容量は著しく小さく、そ
れによりメモリ読取(LUT動作及びRAM読取)モード期間中の動作速度が増
加される。更に、列の数を4へ減少させることによって、メモリ読取モード期間
中における動作速度を更に増加させるためにハードワイヤードデコーダを使用す
ることが可能である。
【0103】 図12(A)を参照すると、LMC430−4はデコーダ1210、ハードワ
イヤードデコーダ(LARD DEC)1216、論理/メモリアレイ1220
、LMCマルチプレクサ/デマルチプレクサ(MUX/DEMUX)(スイッチ
回路)1230、マクロセル1260、PAL入力(PAL IN)制御回路1
270を有している。デコーダ1210が第一組の4個の入力端子1203から
2個の入力信号を受取るべく接続されており、且つ書込ワード線1217上に4
個の書込アドレス信号を発生し、それらは論理/メモリアレイ1220のプログ
ラム可能要素の列へ送信される。ハードワイヤードデコーダ1216も入力端子
1230から同一の2つの入力信号を受取るべく接続されており、且つ読取ワー
ド線1218上に8個の読取アドレス信号を発生し、2個の読取アドレス信号は
論理/メモリアレイ1220の各列へ送信される。論理/メモリアレイ1220
は、又、コンフィギュレーションバス(不図示)から線1207を介して4個の
コンフィギュレーション(形態特定)アドレス信号を受取る。制御回路(後に説
明する)が、メモリ書込動作期間中にデコーダ1210によって発生されたアド
レス信号を書込ワード線1217上に印加させるか、又はコンフィギュレーショ
ンモード期間中にコンフィギュレーションアドレス信号を書込ワード線1217
上へ印加させるために設けられている。LMC MUX/DEMUX1230は
入力端子1205によって受取られる入力信号に応答して、選択した読取ビット
線1225からのビット値をメモリ読取モード期間中に出力端子1235へパス
させる。更に、LMC MUX/DEMUX1230は該入力信号に応答して、
メモリ書込モード期間中に、データ入力端子DINからの入力データ値を選択し
た書込ビット線1245及び反転書込ビット線1245 bへ送信する。
【0104】 図12(B)は、入力端子1203−1及び1203−2上で受取った2つの
入力信号をデコードする簡単化したデコーダ1210及びハードワイヤードデコ
ーダ1216を示している。各入力信号は反転され、且つ選択された対の反転及
び非反転入力信号がデコーダ1210の4個のNORゲートN1,N3,N5,
N7の入力端子へ印加され、それは、又、反転WRITE制御信号を受取る。選
択した対の入力信号及びWRITE制御信号に応答して、NORゲートN1,N
3,N5,N7は書込アドレス信号を発生し、該信号はスイッチ回路1215を
介して論理/メモリアレイ1220におけるプログラム可能要素の4つの列へ印
加される。反転及び非反転入力信号は、又、ハードワイヤードデコーダ1216
によって使用されて、該デコーダは反転及び非反転入力信号の選択した対を読取
線1218−1乃至1218−8を介して論理/メモリアレイ1220における
プログラム可能要素の4つの列へ供給する。
【0105】 再度図12(A)を参照すると、論理/メモリアレイ1220は16個の行と
4個の列とに配列された64個のプログラム可能要素を有している。各列は8個
の対を形成すべく配列された16個のプログラム可能要素を有している(以後「
PAL/CAMセル」と呼称する)。論理/メモリアレイ1220の1つの列か
らの代表的な対のプログラム可能要素を図12(C)に示してある。論理/メモ
リアレイ1220の残りの対のプログラム可能要素は基本的に図12(C)に示
した対と同一である。
【0106】 図12(C)は論理/メモリアレイ1220の1つの列において順番に配列さ
れているプログラム可能要素1240−1及び1240−2によって形成される
1個のPAL/CAMセルを示している。図6(C)を参照して上に説明したプ
ログラム可能要素640−1及び640−2と同様に、各プログラム可能要素1
240−1及び1240−2は、ビット値を格納するためのラッチ、及び書込ビ
ット線1245−1,1245−1 b,1245−2,1245−2 bから
各ラッチへビット値を書込むための処理を制御するための制御回路を有している
。更に、プログラム可能要素1240−1及び1240−2は、夫々、ビット値
を読取ビット線1225−1及び1225−2上へ駆動する第三インバータ12
46−1及び1246−2を有している。ゲートが読取ワード線1218−1及
び1218−2へ夫々接続されている2個の直列パストランジスタ1247−1
A及び1247−1Bによってメモリ読取動作が制御されるという点においてプ
ログラム可能要素1240−1はプログラム可能要素640−1(図6(C))
と異なっている。特に、プログラム可能要素1240−1のラッチによって格納
されているビット値は、読取ワード線1218−1及び1218−2の両方へ高
アドレス信号が印加された場合にのみ読取ビット線1225−1へ送信され、そ
れによりパストランジスタ1247−1A及び1247−1Bの両方をターンオ
ンさせる。簡単に図12(B)を参照すると、読取ワード線1218−1及び1
218−2は、入力端子1203−1及び1203−2の両方において受取られ
る入力信号が低である場合にのみ、高アドレス信号を受取る(即ち、読取ワード
線1218−1及び1218−2へ印加される反転入力信号が高)。同様に、プ
ログラム可能要素1240−2に対するメモリ読取動作は、ゲートが読取ワード
線1218−1及び1218−2へ夫々接続されている2個の直列パストランジ
スタ1247−2A及び1247−2Bによって制御される。
【0107】 論理/メモリアレイ1220は単に4個の列のプログラム可能要素を有してい
るに過ぎないので、ハードワイヤードデコーダ1216の訂正及びメモリ読取動
作用の第二パストランジスタの付加は論理/メモリアレイ1220に対して著し
い複雑性を導入させることはない。更に、ハードワイヤードデコーダ1216に
よって除去されるデコーダ遅延はビット値を直列パストランジスタを介して送信
させることによって発生される付加的な遅延よりも一層大きく、それにより正味
の動作速度の増加が得られる。LMC430−4の動作速度は、単に4個のプロ
グラム可能要素が各ビット線へ接続されているのに過ぎないので、更に増加され
る。従って、LMC430−4は16×16論理/メモリアレイを具備するLM
Cによって与えられるものよりもメモリ読取(LUT動作及びRAM読取)モー
ドにおいて著しくより速い動作速度で動作する。
【0108】 プログラム可能要素1240−1及び1240−2の修正されたメモリ読取動
作以外、LMC430−4の動作はLMC430−2を参照して上述したものと
同様である。更に、LMC MUX/DEMUX1230は基本的LMC MU
X/DEMUX630(図6(D)参照)と同一である。従って、LMC MU
X/DEMUX1230及びコンフィギュレーション、PAL/CAM、及びメ
モリ書込モードの説明は割愛する。
【0109】 本発明をその幾つかの好適実施例を参照してかなり詳細に説明したが、その他
の実施例も可能である。例えば、別の実施例においては、LMC430−1のメ
モリセルは16×4マトリクス(上述したLMC430−4において使用したも
のと同様)として配列させ、且つハードワイヤードデコーダ(ハードワイヤード
デコーダ1216と同様、図12(B)参照)を包含するデコーダ構成が提供さ
れる。ハードワイヤードデコーダ1216をLMC340−1の高速メモリ読取
回路と結合させることによって、極めて高速の読取動作を実施する論理/メモリ
回路が提供される。更に別の実施例においては、CLB800又は900は24
個を超える入力信号を受取ることが可能である。更に、本明細書に記載したLM
Cは、9個又はそれ以上の入力のLUTをサポートするためにより大きな数のプ
ログラム可能要素を具備する論理/メモリアレイを有することが可能であるが、
このようなLMCは9(又はそれ以上)入力LUTを使用するために論理機能を
区画化することに関連する問題のために下限最適である。更に、CLB1000
及び1100において使用した乗算器回路の1:1入力対出力比の代わりに、2
:1入力対出力比を具備する加算器回路、又は別の特別目的回路を使用すること
が可能である。従って、特許請求の範囲の精神及び範囲は本明細書に含まれる好
適実施例の記載に制限されるべきものではない。
【図面の簡単な説明】
【図1】 (A)は簡単化した従来のFPGAの一部を示した概略図、(B
)は(A)のFPGAにおける信号の経路付けのために使用されるスイッチ回路
を示した概略図、(C)は(A)のFPGAにおける信号の経路付けのために使
用されるスイッチ回路を示した概略図、(D)は(A)のFPGAにおける信号
の経路付けのために使用されるスイッチ回路を示した概略図。
【図2A】 従来のFPGAのCLBを示した簡単化した概略図。
【図2B】 図2Aに示したCLBの4入力LUTを示した簡単化した概略
図。
【図2C】 図2Bに示した4入力LUTのメモリセルを示した簡単化した
概略図。
【図3】 幾つかの4入力LUTを介しての信号の経路付けのために使用さ
れるクリチカルパスを示し且つ従来のFPGAの一部を示した簡単化した概略図
【図4】 本発明に基づいて形成した論理/メモリ回路(LMC)を含む簡
単化したPLDを示したブロック図。
【図5A】 本発明の第一実施例に基づくLMCの一部を示した概略図。
【図5B】 本発明の第一実施例に基づくLMCの一部を示した概略図。
【図5C】 本発明の第一実施例に基づくLMCの一部を示した概略図。
【図5D】 本発明の第一実施例に基づくLMCの一部を示した概略図。
【図6A】 本発明の第二実施例に基づくLMCの一部を示した概略図。
【図6B】 本発明の第二実施例に基づくLMCの一部を示した概略図。
【図6C】 本発明の第二実施例に基づくLMCの一部を示した概略図。
【図6D】 本発明の第二実施例に基づくLMCの一部を示した概略図。
【図7A】 本発明の第三実施例に基づくLMCの一部を示した概略図。
【図7B】 本発明の第三実施例に基づくLMCの一部を示した概略図。
【図7C】 本発明の第三実施例に基づくLMCの一部を示した概略図。
【図7D】 本発明の第三実施例に基づくLMCの一部を示した概略図。
【図8A】 本発明の第四実施例に基づくCLBを示した概略図。
【図8B】 本発明の第四実施例に基づくCLBを示した概略図。
【図8C】 本発明の第四実施例に基づくCLBを示した概略図。
【図8D】 本発明の第四実施例に基づくCLBを示した概略図。
【図9A】 本発明の第五実施例に基づくCLBを示した概略図。
【図9B】 本発明の第五実施例に基づくCLBを示した概略図。
【図9C】 本発明の第五実施例に基づくCLBを示した概略図。
【図10】 本発明の第六実施例に基づくCLBを示した概略図。
【図11】 本発明の第七実施例に基づくCLBを示したブロック図。
【図12A】 本発明の第八実施例に基づくLMCの一部を示した概略図。
【図12B】 本発明の第八実施例に基づくLMCの一部を示した概略図。
【図12C】 本発明の第八実施例に基づくLMCの一部を示した概略図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カルベリー, リチャード エイ. アメリカ合衆国, カリフォルニア, ロ ス ガトス, グレンウッド ドライブ 23965 Fターム(参考) 5B015 KA21 KA31 KB36 PP08 5F064 AA08 BB03 BB06 BB07 BB12 BB13 BB16 FF04 FF52 5J042 BA09 CA14 CA15 CA20 CA27 DA04 【要約の続き】 実施例においては、CLBが4個のLMC及び乗算器回 路を有しており、大量の論理を局所的に実現し、それに よりPLD内の汎用相互接続資源を介しての送信と関連 する信号遅延を回避している。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数個の形態特定可能論理ブロック及び前記形態特定論理ブ
    ロックへ信号を送信する相互接続資源とを有しているプログラム可能論理装置に
    おいて、各形態特定可能論理ブロックが論理/メモリを有しており、それが、 前記相互接続資源から第一組の入力信号を受取るための第一複数個の入力端子
    、 前記第一複数個の入力信号に応答してアドレス信号を発生するデコーダ、 複数個のビット値を格納するためのプログラム可能要素と、前記アドレス信号
    を受取るために前記デコーダへ接続しているワード線と、前記アドレス信号に応
    答して前記プログラム可能要素ヘビット値を送信するビット線とを具備している
    アレイ、 前記第一複数個の入力端子へ接続しており前記第一組の入力信号を1つのグル
    ープのビット線へ選択的に送信する入力制御回路、 前記グループのビット線を介して送信される前記第一組の入力信号及び前記プ
    ログラム可能要素内に格納されているビット値に応答して複数個の積項を発生す
    る積項回路、 を有しているプログラム可能論理装置。
  2. 【請求項2】 請求項1において、 前記入力制御回路が第一入力端子と第一ビット線との間に接続している第一パ
    ストランジスタと、前記第一入力端子へ接続しているインバータ入力端子を具備
    しているインバータと、前記インバータの出力端子と第二ビット線との間に接続
    している第二パストランジスタとを有しており、 前記第一及び第二パストランジスタが、第一動作モード期間中に入力信号が前
    記第一及び第二ビット線へ通過されるようにターンオンし、且つ第二動作モード
    期間中に前記入力信号が前記第一及び第二ビット線から分離されるようにターン
    オフするために制御信号によって制御される、 プログラム可能論理装置。
  3. 【請求項3】 請求項1において、前記論理/メモリ回路が、更に、 第二組の入力信号を受取るための第二複数個の入力端子、 前記相互接続資源から書込ビット値を受取るためのデータ入力端子、 前記ビット線へ接続しているマルチプレクス/デマルチプレクス回路、 を有しており、前記マルチプレクス/デマルチプレクス回路が、第一モードにお
    いて前記第二組の入力信号に応答して前記プログラム可能要素から読取った選択
    したビット値を通過させ、且つ第二モードにおいて前記第二組の入力信号に応答
    して選択したビット線へ前記データ入力端子からの書込ビット値を通過させるべ
    く選択的に制御可能であるプログラム可能論理装置。
  4. 【請求項4】 請求項1において、前記論理/メモリ回路が、更に、前記複
    数個の積項に応答して積の和の値を発生するマクロセル回路を有しているプログ
    ラム可能論理装置。
  5. 【請求項5】 請求項1において、前記デコーダが、 第一入力信号を受取るための第一入力端子、 第二入力信号を受取るための第二入力端子、 書込制御信号を受取るための書込制御端子、 前記第一及び第二入力信号及び前記書込制御信号に応答して第一書込アドレス
    信号を発生する第一論理ゲート、 前記第一及び第二入力信号に応答して第一読取アドレス信号を発生する第二論
    理ゲート、 を有しているプログラム可能論理装置。
  6. 【請求項6】 請求項1において、前記入力制御回路が第一ビット線上へ第
    一入力信号を選択的に印加させるための第一トランジスタと、前記第一信号の反
    転した信号を第二ビット線上へ印加する第二トランジスタとを有しており、 前記アレイが、 第一ビット値を格納するためのラッチを具備している第一プログラム可能要
    素、 前記第一ビット線へ接続している第一端子と、ノードへ接続している第二端
    子と、前記第一プログラム可能要素のラッチへ接続しているゲートとを具備して
    いる第一パストランジスタ、 前記第二ビット線へ接続している第一端子と、前記ノードへ接続している第
    二端子と、前記第一プログラム可能要素のラッチへ接続しているゲートとを具備
    しているパストランジスタ、 第二ビット値を格納するためのラッチを具備している第二プログラム可能要
    素、 を有しており、且つ前記積項回路が、 前記ノードへ接続している第一入力端子と、前記第二プログラム可能要素の
    ラッチへ接続している第二入力端子とを具備しているセル論理回路、 前記セル論理回路によって発生される出力信号に応答して積項を発生するA
    ND回路、 を有している、プログラム可能論理装置。
  7. 【請求項7】 請求項1において、 前記デコーダが第一入力信号と、第二入力信号と、書込制御信号とに応答して
    第一書込アドレス信号を発生し、 前記アレイが、更に、前記第一入力信号及び第二入力信号に応答して第一読取
    アドレス信号及び第二読取アドレス信号を発生するハードワイヤードデコード回
    路を有している、 プログラム可能論理装置。
  8. 【請求項8】 請求項7において、前記デコーダが、更に、 前記第一入力信号を送信する第一線、 前記第一入力信号を反転させる第一インバータ、 前記第一インバータへ接続しており前記反転した第一入力信号を送信する第二
    線、 前記第二入力端子を送信する第三線、 前記第二入力信号を反転させる第二インバータ、 前記第二インバータへ接続しており前記反転した第二入力信号を送信する第四
    線、 前記書込制御信号を受取る書込制御端子、 前記第一及び第二入力信号及び前記書込制御信号に応答して第一書込アドレス
    信号を発生する第一論理ゲート、 を有しているプログラム可能論理装置。
  9. 【請求項9】 請求項7において、 前記アレイのプログラム可能要素が行と列との形態に配列されており、各行の
    プログラム可能要素が関連する書込ビット線と関連する読取ビット線とへ接続し
    ており、各列のプログラム可能要素が関連する書込ワード線と関連する対の読取
    ワード線とに接続しており、 前記第一書込アドレス信号が第一書込ワード線上へ送信され、 前記第一読取アドレス信号が第一読取ワード線上へ送信され、 前記第二読取アドレス信号が第二読取ワード線上へ送信される、 プログラム可能論理装置。
JP2000601740A 1999-02-25 1999-09-21 多目的論理/メモリ回路を具備するfpga形態特定可能論理ブロック Expired - Lifetime JP4319786B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/258,024 1999-02-25
US09/258,024 US6150838A (en) 1999-02-25 1999-02-25 FPGA configurable logic block with multi-purpose logic/memory circuit
PCT/US1999/021993 WO2000051239A1 (en) 1999-02-25 1999-09-21 Fpga configurable logic block with multi-purpose logic/memory circuit

Publications (2)

Publication Number Publication Date
JP2002538652A true JP2002538652A (ja) 2002-11-12
JP4319786B2 JP4319786B2 (ja) 2009-08-26

Family

ID=22978780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000601740A Expired - Lifetime JP4319786B2 (ja) 1999-02-25 1999-09-21 多目的論理/メモリ回路を具備するfpga形態特定可能論理ブロック

Country Status (5)

Country Link
US (4) US6150838A (ja)
EP (1) EP1163725B1 (ja)
JP (1) JP4319786B2 (ja)
DE (1) DE69904241T2 (ja)
WO (1) WO2000051239A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118507B1 (ko) 2003-12-30 2012-03-12 쌘디스크 코포레이션 대형 소거 블록을 갖는 비휘발성 메모리 시스템의 관리
JP2012055004A (ja) * 2007-05-21 2012-03-15 Altera Corp 改良された論理セル機能性の複合論理ブロックを有するプログラマブルロジックデバイス
JP2012235499A (ja) * 2004-07-02 2012-11-29 Altera Corp プログラマブル論理の特定用途向け集積回路等価物および関連の方法
KR20130135113A (ko) * 2012-05-30 2013-12-10 가부시키가이샤 한도오따이 에네루기 켄큐쇼 프로그래머블 로직 디바이스
JP2015057872A (ja) * 2013-09-16 2015-03-26 太陽誘電株式会社 再構成可能な論理デバイス
KR20160073335A (ko) * 2014-12-16 2016-06-24 삼성전자주식회사 공간 다중화를 지원하는 디램 기초의 재설정 가능 논리 장치
US9425800B2 (en) 2013-04-02 2016-08-23 Taiyo Yuden Co., Ltd. Reconfigurable logic device
US9514259B2 (en) 2012-11-20 2016-12-06 Taiyo Yuden Co., Ltd. Logic configuration method for reconfigurable semiconductor device
US9628084B2 (en) 2015-02-18 2017-04-18 Taiyo Yuden Co., Ltd. Reconfigurable logic device
US9685920B2 (en) 2014-11-13 2017-06-20 Taiyo Yuden Co., Ltd. Reconfigurable operational amplifier

Families Citing this family (213)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3616518B2 (ja) * 1999-02-10 2005-02-02 日本電気株式会社 プログラマブルデバイス
US6400180B2 (en) 1999-02-25 2002-06-04 Xilinix, Inc. Configurable lookup table for programmable logic devices
US6396302B2 (en) * 1999-02-25 2002-05-28 Xilinx, Inc. Configurable logic element with expander structures
US6686767B1 (en) * 1999-05-07 2004-02-03 Morphics Technology Inc. Apparatus and method for controlling a three-state bus
KR100516693B1 (ko) * 2003-04-02 2005-09-22 주식회사 하이닉스반도체 불휘발성 프로그래머블 로직 회로
US6756811B2 (en) * 2000-03-10 2004-06-29 Easic Corporation Customizable and programmable cell array
US6331790B1 (en) * 2000-03-10 2001-12-18 Easic Corporation Customizable and programmable cell array
US6373279B1 (en) * 2000-05-05 2002-04-16 Xilinx, Inc. FPGA lookup table with dual ended writes for ram and shift register modes
US6288937B1 (en) * 2000-05-10 2001-09-11 Lattice Semiconductor Corporation Decoded generic routing pool
JP3472527B2 (ja) * 2000-05-16 2003-12-02 松下電器産業株式会社 論理回路モジュール及びこれを用いた半導体集積回路の設計方法並びに半導体集積回路
JP2002074862A (ja) * 2000-08-25 2002-03-15 Toshiba Corp データ処理方法及び装置及び記録媒体及び再生方法及び装置
US6754686B1 (en) * 2000-10-13 2004-06-22 Xilinx, Inc. Literal sharing method for fast sum-of-products logic
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7325123B2 (en) * 2001-03-22 2008-01-29 Qst Holdings, Llc Hierarchical interconnect for configuring separate interconnects for each group of fixed and diverse computational elements
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US7249242B2 (en) 2002-10-28 2007-07-24 Nvidia Corporation Input pipeline registers for a node in an adaptive computing engine
US7433909B2 (en) 2002-06-25 2008-10-07 Nvidia Corporation Processing architecture for a reconfigurable arithmetic node
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US7624204B2 (en) * 2001-03-22 2009-11-24 Nvidia Corporation Input/output controller node in an adaptable computing environment
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US6677779B1 (en) * 2001-03-29 2004-01-13 Atheros Communications, Inc. Flexible control interface for integrated circuit
US6388466B1 (en) 2001-04-27 2002-05-14 Xilinx, Inc. FPGA logic element with variable-length shift register capability
US6970951B2 (en) * 2001-05-04 2005-11-29 Texas Instruments Incorporated Method and device for providing and external interface using a programmed configuration bit in flash memory
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US6618434B2 (en) * 2001-05-31 2003-09-09 Quicksilver Technology, Inc. Adaptive, multimode rake receiver for dynamic search and multipath reception
JP3613396B2 (ja) 2001-06-25 2005-01-26 日本電気株式会社 機能ブロック
US20030068038A1 (en) * 2001-09-28 2003-04-10 Bedros Hanounik Method and apparatus for encrypting data
US7463544B1 (en) * 2001-10-15 2008-12-09 Altera Corporation Device programmable to operate as a multiplexer, demultiplexer, or memory device
US7046635B2 (en) 2001-11-28 2006-05-16 Quicksilver Technology, Inc. System for authorizing functionality in adaptable hardware devices
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US6986021B2 (en) * 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7644279B2 (en) * 2001-12-05 2010-01-05 Nvidia Corporation Consumer product distribution in the embedded system market
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US7398503B2 (en) * 2002-01-31 2008-07-08 Cadence Design Systems, Inc Method and apparatus for pre-tabulating sub-networks
US6765408B2 (en) * 2002-02-11 2004-07-20 Lattice Semiconductor Corporation Device and method with generic logic blocks
DE60321453D1 (de) * 2002-03-18 2008-07-17 Nxp Bv Auf nachschlagtabellen basierte rekonfigurierbare logische architektur
US6732354B2 (en) * 2002-04-23 2004-05-04 Quicksilver Technology, Inc. Method, system and software for programming reconfigurable hardware
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7620678B1 (en) 2002-06-12 2009-11-17 Nvidia Corporation Method and system for reducing the time-to-market concerns for embedded system design
US7802108B1 (en) 2002-07-18 2010-09-21 Nvidia Corporation Secure storage of program code for an embedded system
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US6833730B1 (en) 2002-08-30 2004-12-21 Xilinx, Inc. PLD configurable logic block enabling the rapid calculation of sum-of-products functions
US7194615B2 (en) * 2002-09-17 2007-03-20 Nokia Corporation Reconfigurable apparatus being configurable to operate in a logarithmic scale
US7502915B2 (en) * 2002-09-30 2009-03-10 Nvidia Corporation System and method using embedded microprocessor as a node in an adaptable computing machine
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8949576B2 (en) * 2002-11-01 2015-02-03 Nvidia Corporation Arithmetic node including general digital signal processing functions for an adaptive computing machine
US6813754B2 (en) * 2002-11-05 2004-11-02 Lattice Semiconductor Corporation Placement processing for programmable logic devices
US8276135B2 (en) 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US6798240B1 (en) * 2003-01-24 2004-09-28 Altera Corporation Logic circuitry with shared lookup table
US6943580B2 (en) * 2003-02-10 2005-09-13 Altera Corporation Fracturable lookup table and logic element
US7800401B1 (en) 2003-02-10 2010-09-21 Altera Corporation Fracturable lookup table and logic element
US6888373B2 (en) * 2003-02-11 2005-05-03 Altera Corporation Fracturable incomplete look up table for area efficient logic elements
US7111273B1 (en) * 2003-07-03 2006-09-19 Xilinx, Inc. Softpal implementation and mapping technology for FPGAs with dedicated resources
US8296764B2 (en) 2003-08-14 2012-10-23 Nvidia Corporation Internal synchronization control for adaptive integrated circuitry
US7174432B2 (en) 2003-08-19 2007-02-06 Nvidia Corporation Asynchronous, independent and multiple process shared memory system in an adaptive computing architecture
US7185035B1 (en) 2003-10-23 2007-02-27 Altera Corporation Arithmetic structures for programmable logic devices
US7565388B1 (en) 2003-11-21 2009-07-21 Altera Corporation Logic cell supporting addition of three binary words
US7317264B2 (en) * 2003-11-25 2008-01-08 Eaton Corporation Method and apparatus to independently control contactors in a multiple contactor configuration
US7019557B2 (en) * 2003-12-24 2006-03-28 Viciciv Technology Look-up table based logic macro-cells
US7176716B2 (en) * 2003-12-24 2007-02-13 Viciciv Technology Look-up table structure with embedded carry logic
US7071732B1 (en) 2003-12-09 2006-07-04 Xilinx, Inc. Scalable complex programmable logic device with segmented interconnect resources
US7171633B1 (en) * 2003-12-12 2007-01-30 Altera Corporation Estimating quality during early synthesis
US7336097B2 (en) * 2003-12-24 2008-02-26 Viciciv, Inc. Look-up table structure with embedded carry logic
US7176713B2 (en) * 2004-01-05 2007-02-13 Viciciv Technology Integrated circuits with RAM and ROM fabrication options
US7193440B1 (en) 2004-02-14 2007-03-20 Herman Schmit Configurable circuits, IC's, and systems
US7157933B1 (en) 2004-02-14 2007-01-02 Herman Schmit Configurable circuits, IC's, and systems
US7126373B1 (en) 2004-02-14 2006-10-24 Herman Schmit Configurable logic circuits with commutative properties
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US7167025B1 (en) 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7284222B1 (en) 2004-06-30 2007-10-16 Tabula, Inc. Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit
US7126381B1 (en) 2004-02-14 2006-10-24 Herman Schmit VPA interconnect circuit
US7109752B1 (en) 2004-02-14 2006-09-19 Herman Schmit Configurable circuits, IC's, and systems
US7193432B1 (en) 2004-02-14 2007-03-20 Herman Schmit VPA logic circuits
US7167022B1 (en) 2004-03-25 2007-01-23 Altera Corporation Omnibus logic element including look up table based logic elements
US7075332B1 (en) * 2004-06-08 2006-07-11 Xilinx, Inc. Six-input look-up table and associated memory control circuitry for use in a field programmable gate array
US7061271B1 (en) 2004-06-08 2006-06-13 Xilinx, Inc. Six-input look-up table for use in a field programmable gate array
US7084664B1 (en) * 2004-06-14 2006-08-01 Alter Corporation Integrated circuits with reduced interconnect overhead
US7439766B2 (en) 2004-06-30 2008-10-21 Tabula, Inc. Configurable logic circuits with commutative properties
US7408382B2 (en) 2004-06-30 2008-08-05 Tabula, Inc. Configurable circuits, IC's, and systems
US7193438B1 (en) 2004-06-30 2007-03-20 Andre Rohe Configurable integrated circuit with offset connection
US7145361B1 (en) 2004-06-30 2006-12-05 Andre Rohe Configurable integrated circuit with different connection schemes
US7449915B2 (en) 2004-06-30 2008-11-11 Tabula Inc. VPA logic circuits
US7312630B2 (en) 2004-06-30 2007-12-25 Tabula, Inc. Configurable integrated circuit with built-in turns
US7282950B1 (en) 2004-11-08 2007-10-16 Tabula, Inc. Configurable IC's with logic resources with offset connections
US7084665B1 (en) 2004-07-22 2006-08-01 Altera Corporation Distributed random access memory in a programmable logic device
US7116131B1 (en) 2004-09-15 2006-10-03 Xilinx, Inc. High performance programmable logic devices utilizing dynamic circuitry
US7486110B2 (en) * 2004-09-24 2009-02-03 Stmicroelectronics Pvt. Ltd. LUT based multiplexers
US7342415B2 (en) 2004-11-08 2008-03-11 Tabula, Inc. Configurable IC with interconnect circuits that also perform storage operations
US7743085B2 (en) 2004-11-08 2010-06-22 Tabula, Inc. Configurable IC with large carry chains
US7917559B2 (en) 2004-11-08 2011-03-29 Tabula, Inc. Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations
US7276933B1 (en) 2004-11-08 2007-10-02 Tabula, Inc. Reconfigurable IC that has sections running at different looperness
US7224181B1 (en) 2004-11-08 2007-05-29 Herman Schmit Clock distribution in a configurable IC
US7268586B1 (en) 2004-11-08 2007-09-11 Tabula, Inc. Method and apparatus for accessing stored data in a reconfigurable IC
US7242216B1 (en) 2004-11-08 2007-07-10 Herman Schmit Embedding memory between tile arrangement of a configurable IC
US7295037B2 (en) 2004-11-08 2007-11-13 Tabula, Inc. Configurable IC with routing circuits with offset connections
US7301368B2 (en) * 2005-03-15 2007-11-27 Tabula, Inc. Embedding memory within tile arrangement of a configurable IC
US7573296B2 (en) 2004-11-08 2009-08-11 Tabula Inc. Configurable IC with configurable routing resources that have asymmetric input and/or outputs
US7259587B1 (en) 2004-11-08 2007-08-21 Tabula, Inc. Configurable IC's with configurable logic resources that have asymetric inputs and/or outputs
US7317331B2 (en) 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7330050B2 (en) 2004-11-08 2008-02-12 Tabula, Inc. Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements
US7496879B2 (en) * 2004-12-01 2009-02-24 Tabula, Inc. Concurrent optimization of physical design and operational cycle assignment
US7236009B1 (en) 2004-12-01 2007-06-26 Andre Rohe Operational time extension
US7428721B2 (en) 2004-12-01 2008-09-23 Tabula, Inc. Operational cycle assignment in a configurable IC
US7218141B2 (en) * 2004-12-07 2007-05-15 Altera Corporation Techniques for implementing hardwired decoders in differential input circuits
US20060200603A1 (en) * 2005-03-01 2006-09-07 Naoto Kaneko Dynamic resource allocation for a reconfigurable IC
US7224182B1 (en) 2005-03-15 2007-05-29 Brad Hutchings Hybrid configurable circuit for a configurable IC
US7230869B1 (en) 2005-03-15 2007-06-12 Jason Redgrave Method and apparatus for accessing contents of memory cells
US7298169B2 (en) * 2005-03-15 2007-11-20 Tabula, Inc Hybrid logic/interconnect circuit in a configurable IC
US7530033B2 (en) 2005-03-15 2009-05-05 Tabula, Inc. Method and apparatus for decomposing functions in a configurable IC
US7825684B2 (en) 2005-03-15 2010-11-02 Tabula, Inc. Variable width management for a memory of a configurable IC
US7310003B2 (en) 2005-03-15 2007-12-18 Tabula, Inc. Configurable IC with interconnect circuits that have select lines driven by user signals
US7804719B1 (en) 2005-06-14 2010-09-28 Xilinx, Inc. Programmable logic block having reduced output delay during RAM write processes when programmed to function in RAM mode
US7233168B1 (en) 2005-06-14 2007-06-19 Xilinx, Inc. Methods of setting and resetting lookup table memory cells
US7202697B1 (en) 2005-06-14 2007-04-10 Xilinx, Inc. Programmable logic block having improved performance when functioning in shift register mode
US7193433B1 (en) 2005-06-14 2007-03-20 Xilinx, Inc. Programmable logic block having lookup table with partial output signal driving carry multiplexer
US7375552B1 (en) 2005-06-14 2008-05-20 Xilinx, Inc. Programmable logic block with dedicated and selectable lookup table outputs coupled to general interconnect structure
US7265576B1 (en) 2005-06-14 2007-09-04 Xilinx, Inc. Programmable lookup table with dual input and output terminals in RAM mode
US7205790B1 (en) 2005-06-14 2007-04-17 Xilinx, Inc. Programmable integrated circuit providing efficient implementations of wide logic functions
US7218139B1 (en) 2005-06-14 2007-05-15 Xilinx, Inc. Programmable integrated circuit providing efficient implementations of arithmetic functions
US7215138B1 (en) 2005-06-14 2007-05-08 Xilinx, Inc. Programmable lookup table with dual input and output terminals in shift register mode
US20070081396A1 (en) * 2005-10-06 2007-04-12 Gordon Tarl S System and method for multi-use eFuse macro
US7765249B1 (en) 2005-11-07 2010-07-27 Tabula, Inc. Use of hybrid interconnect/logic circuits for multiplication
US7372297B1 (en) 2005-11-07 2008-05-13 Tabula Inc. Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources
US7818361B1 (en) 2005-11-07 2010-10-19 Tabula, Inc. Method and apparatus for performing two's complement multiplication
US8463836B1 (en) 2005-11-07 2013-06-11 Tabula, Inc. Performing mathematical and logical operations in multiple sub-cycles
US7489162B1 (en) 2005-12-01 2009-02-10 Tabula, Inc. Users registers in a reconfigurable IC
US7902864B1 (en) * 2005-12-01 2011-03-08 Altera Corporation Heterogeneous labs
US7679401B1 (en) 2005-12-01 2010-03-16 Tabula, Inc. User registers implemented with routing circuits in a configurable IC
US7461362B1 (en) 2005-12-01 2008-12-02 Tabula, Inc. Replacing circuit design elements with their equivalents
US7405462B2 (en) * 2006-01-31 2008-07-29 Hewlett-Packard Development Company, L.P. FPGA architecture at conventional and submicron scales
US7518400B1 (en) 2006-03-08 2009-04-14 Tabula, Inc. Barrel shifter implemented on a configurable integrated circuit
US7797497B1 (en) 2006-03-08 2010-09-14 Tabula, Inc. System and method for providing more logical memory ports than physical memory ports
US7609085B1 (en) 2006-03-08 2009-10-27 Tabula, Inc. Configurable integrated circuit with a 4-to-1 multiplexer
US7694083B1 (en) 2006-03-08 2010-04-06 Tabula, Inc. System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture
US7504858B1 (en) 2006-03-08 2009-03-17 Tabula, Inc. Configurable integrated circuit with parallel non-neighboring offset connections
US7529992B1 (en) 2006-03-27 2009-05-05 Tabula, Inc. Configurable integrated circuit with error correcting circuitry
US7669097B1 (en) 2006-03-27 2010-02-23 Tabula, Inc. Configurable IC with error detection and correction circuitry
US7812635B1 (en) * 2006-05-08 2010-10-12 Altera Corporation Programmable logic device architecture with the ability to combine adjacent logic elements for the purpose of performing high order logic functions
WO2008013098A1 (fr) * 2006-07-27 2008-01-31 Panasonic Corporation Circuit intégré à semi-conducteurs, appareil de conversion de programmes et appareil de mappage
US20080024165A1 (en) * 2006-07-28 2008-01-31 Raminda Udaya Madurawe Configurable embedded multi-port memory
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930666B1 (en) 2006-12-12 2011-04-19 Tabula, Inc. System and method of providing a memory hierarchy
US7587697B1 (en) 2006-12-12 2009-09-08 Tabula, Inc. System and method of mapping memory blocks in a configurable integrated circuit
US8422668B1 (en) * 2006-12-15 2013-04-16 Spansion Llc Table lookup operation on masked data
EP2140548A4 (en) 2007-03-20 2010-06-09 Tabula Inc CONFIGURABLE IC WITH A COUPLING AREA WITH MEMORY ELEMENTS
US7610566B1 (en) 2007-03-22 2009-10-27 Tabula, Inc. Method and apparatus for function decomposition
US7987065B1 (en) 2007-04-17 2011-07-26 Nvidia Corporation Automatic quality testing of multimedia rendering by software drivers
US7970129B2 (en) * 2007-04-19 2011-06-28 Spansion Llc Selection of a lookup table with data masked with a combination of an additive and multiplicative mask
EP2201569A4 (en) * 2007-09-06 2011-07-13 Tabula Inc CONFIGURATION CONTEXT SWITCH
US8863067B1 (en) 2008-02-06 2014-10-14 Tabula, Inc. Sequential delay analysis by placement engines
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8166435B2 (en) 2008-06-26 2012-04-24 Tabula, Inc. Timing operations in an IC with configurable circuits
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
JP5140029B2 (ja) * 2009-03-30 2013-02-06 太陽誘電株式会社 半導体装置
US7982496B1 (en) 2009-04-02 2011-07-19 Xilinx, Inc. Bus-based logic blocks with optional constant input
US7948265B1 (en) 2009-04-02 2011-05-24 Xilinx, Inc. Circuits for replicating self-timed logic
US7746103B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Multi-mode circuit in a self-timed integrated circuit
US7746109B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Circuits for sharing self-timed logic
US7746101B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Cascading input structure for logic blocks in integrated circuits
US7746102B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Bus-based logic blocks for self-timed integrated circuits
US8706793B1 (en) 2009-04-02 2014-04-22 Xilinx, Inc. Multiplier circuits with optional shift function
US9411554B1 (en) 2009-04-02 2016-08-09 Xilinx, Inc. Signed multiplier circuit utilizing a uniform array of logic blocks
US9002915B1 (en) 2009-04-02 2015-04-07 Xilinx, Inc. Circuits for shifting bussed data
US7746110B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Circuits for fanning out data in a programmable self-timed integrated circuit
US7746105B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Merging data streams in a self-timed programmable integrated circuit
US7746108B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Compute-centric architecture for integrated circuits
US7746112B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Output structure with cascaded control signals for logic blocks in integrated circuits, and methods of using the same
US8527572B1 (en) 2009-04-02 2013-09-03 Xilinx, Inc. Multiplier architecture utilizing a uniform array of logic blocks, and methods of using the same
US7746104B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Dynamically controlled output multiplexer circuits in a programmable integrated circuit
US7733123B1 (en) 2009-04-02 2010-06-08 Xilinx, Inc. Implementing conditional statements in self-timed logic circuits
US7746106B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Circuits for enabling feedback paths in a self-timed integrated circuit
US7746111B1 (en) 2009-04-02 2010-06-29 Xilinx, Inc. Gating logic circuits in a self-timed integrated circuit
US8255702B1 (en) 2009-12-03 2012-08-28 Altera Corporation Programmable logic device with improved security
EP2526494B1 (en) 2010-01-21 2020-01-15 SVIRAL, Inc. A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations
JP5336398B2 (ja) * 2010-02-01 2013-11-06 ルネサスエレクトロニクス株式会社 半導体集積回路、半導体集積回路の構成変更方法
US8959251B2 (en) * 2010-02-15 2015-02-17 Alcatel Lucent Implementation of switches in a communication network
WO2011123151A1 (en) 2010-04-02 2011-10-06 Tabula Inc. System and method for reducing reconfiguration power usage
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8242806B1 (en) * 2010-07-01 2012-08-14 Altera Corporation Methods and systems for managing a write operation
US8402164B1 (en) 2010-10-27 2013-03-19 Xilinx, Inc. Asynchronous communication network and methods of enabling the asynchronous communication of data in an integrated circuit
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9583190B2 (en) 2011-11-11 2017-02-28 Altera Corporation Content addressable memory in integrated circuit
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US9230091B2 (en) * 2012-06-20 2016-01-05 Microsoft Technology Licensing, Llc Managing use of a field programmable gate array with isolated components
US9424019B2 (en) 2012-06-20 2016-08-23 Microsoft Technology Licensing, Llc Updating hardware libraries for use by applications on a computer system with an FPGA coprocessor
US9298438B2 (en) 2012-06-20 2016-03-29 Microsoft Technology Licensing, Llc Profiling application code to identify code portions for FPGA implementation
US8898480B2 (en) 2012-06-20 2014-11-25 Microsoft Corporation Managing use of a field programmable gate array with reprogammable cryptographic operations
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
JP6272713B2 (ja) * 2013-03-25 2018-01-31 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス及び半導体装置
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
CN105745843B (zh) 2013-09-20 2019-06-14 阿尔特拉公司 用于信号处理的混合架构
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US10268605B1 (en) 2014-04-30 2019-04-23 Altera Corporation Hybrid architecture for signal processing and signal processing accelerator
WO2016109571A1 (en) * 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
CN105515568A (zh) * 2015-12-04 2016-04-20 深圳市同创国芯电子有限公司 基于flash的fpga配置控制方法、装置、flash以及fpga
US10312918B2 (en) * 2017-02-13 2019-06-04 High Performance Data Storage And Processing Corporation Programmable logic design
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
US10990290B2 (en) 2017-05-15 2021-04-27 Alibaba Group Holding Limited High-volume, low-latency data processing in flexibly configured local heterogeneous computing environments
US10366001B1 (en) * 2017-09-15 2019-07-30 Xilinx, Inc. Partitioning memory blocks for reducing dynamic power consumption
US10128851B1 (en) * 2017-11-27 2018-11-13 Intel Corporation Techniques for programming circuits using mode decoding

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706216A (en) 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5633830A (en) * 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
US5414377A (en) 1992-12-21 1995-05-09 Xilinx, Inc. Logic block with look-up table for configuration and memory
GB9303084D0 (en) * 1993-02-16 1993-03-31 Inmos Ltd Programmable logic circuit
US5362999A (en) * 1993-03-18 1994-11-08 Xilinx, Inc. EPLD chip with hybrid architecture optimized for both speed and flexibility
US5473266A (en) 1993-04-19 1995-12-05 Altera Corporation Programmable logic device having fast programmable logic array blocks and a central global interconnect array
US5815726A (en) 1994-11-04 1998-09-29 Altera Corporation Coarse-grained look-up table architecture
GB9604496D0 (en) * 1996-03-01 1996-05-01 Xilinx Inc Embedded memory for field programmable gate array
US6160419A (en) * 1997-11-03 2000-12-12 Altera Corporation Programmable logic architecture incorporating a content addressable embedded array block
US6020759A (en) * 1997-03-21 2000-02-01 Altera Corporation Programmable logic array device with random access memory configurable as product terms
US6144573A (en) * 1998-06-26 2000-11-07 Altera Corporation Programmable logic devices with improved content addressable memory capabilities

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118507B1 (ko) 2003-12-30 2012-03-12 쌘디스크 코포레이션 대형 소거 블록을 갖는 비휘발성 메모리 시스템의 관리
JP2014131365A (ja) * 2004-07-02 2014-07-10 Altera Corp プログラマブル論理の特定用途向け集積回路等価物および関連の方法
JP2012235499A (ja) * 2004-07-02 2012-11-29 Altera Corp プログラマブル論理の特定用途向け集積回路等価物および関連の方法
JP2012055004A (ja) * 2007-05-21 2012-03-15 Altera Corp 改良された論理セル機能性の複合論理ブロックを有するプログラマブルロジックデバイス
KR101985549B1 (ko) 2012-05-30 2019-06-03 가부시키가이샤 한도오따이 에네루기 켄큐쇼 프로그래머블 로직 디바이스
KR102091350B1 (ko) 2012-05-30 2020-03-19 가부시키가이샤 한도오따이 에네루기 켄큐쇼 프로그래머블 로직 디바이스
JP2014007737A (ja) * 2012-05-30 2014-01-16 Semiconductor Energy Lab Co Ltd プログラマブルロジックデバイス
KR20190064538A (ko) * 2012-05-30 2019-06-10 가부시키가이샤 한도오따이 에네루기 켄큐쇼 프로그래머블 로직 디바이스
KR20130135113A (ko) * 2012-05-30 2013-12-10 가부시키가이샤 한도오따이 에네루기 켄큐쇼 프로그래머블 로직 디바이스
US9680476B2 (en) 2012-05-30 2017-06-13 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
US9514259B2 (en) 2012-11-20 2016-12-06 Taiyo Yuden Co., Ltd. Logic configuration method for reconfigurable semiconductor device
US9425800B2 (en) 2013-04-02 2016-08-23 Taiyo Yuden Co., Ltd. Reconfigurable logic device
JP2015057872A (ja) * 2013-09-16 2015-03-26 太陽誘電株式会社 再構成可能な論理デバイス
US9685920B2 (en) 2014-11-13 2017-06-20 Taiyo Yuden Co., Ltd. Reconfigurable operational amplifier
KR20160073324A (ko) * 2014-12-16 2016-06-24 삼성전자주식회사 디램-기반의 재설정 가능 로직
KR20160073334A (ko) * 2014-12-16 2016-06-24 삼성전자주식회사 재설정 가능 논리 장치
KR20160073335A (ko) * 2014-12-16 2016-06-24 삼성전자주식회사 공간 다중화를 지원하는 디램 기초의 재설정 가능 논리 장치
KR102438730B1 (ko) 2014-12-16 2022-08-31 삼성전자주식회사 공간 다중화를 지원하는 디램 기초의 재설정 가능 논리 장치
KR102440132B1 (ko) 2014-12-16 2022-09-05 삼성전자주식회사 재설정 가능 논리 장치
KR102496680B1 (ko) * 2014-12-16 2023-02-06 삼성전자주식회사 디램-기반의 재설정 가능 로직
US9628084B2 (en) 2015-02-18 2017-04-18 Taiyo Yuden Co., Ltd. Reconfigurable logic device

Also Published As

Publication number Publication date
DE69904241T2 (de) 2003-09-11
EP1163725B1 (en) 2002-11-27
US20010043082A1 (en) 2001-11-22
US6288569B1 (en) 2001-09-11
US6150838A (en) 2000-11-21
EP1163725A1 (en) 2001-12-19
US6501296B2 (en) 2002-12-31
DE69904241D1 (de) 2003-01-09
US6208163B1 (en) 2001-03-27
JP4319786B2 (ja) 2009-08-26
WO2000051239A1 (en) 2000-08-31

Similar Documents

Publication Publication Date Title
JP2002538652A (ja) 多目的論理/メモリ回路を具備するfpga形態特定可能論理ブロック
US6184712B1 (en) FPGA configurable logic block with multi-purpose logic/memory circuit
US5850152A (en) Programmable logic array integrated circuit devices
JP3471088B2 (ja) 改良されたプログラマブル論理セルアレイアーキテクチャ
US6020759A (en) Programmable logic array device with random access memory configurable as product terms
US5894228A (en) Tristate structures for programmable logic devices
US6191611B1 (en) Driver circuitry for programmable logic devices with hierarchical interconnection resources
US5986465A (en) Programmable logic integrated circuit architecture incorporating a global shareable expander
US5761099A (en) Programmable logic array integrated circuits with enhanced carry routing
US5559450A (en) Field programmable gate array with multi-port RAM
US6128770A (en) Configurable logic array including IOB to longlines interconnect means for providing selectable access to plural longlines from each IOB (input/output block)
US6812738B1 (en) Vector routing in a programmable logic device
US6127843A (en) Dual port SRAM memory for run time use in FPGA integrated circuits
US5530378A (en) Cross point interconnect structure with reduced area
US20050122132A1 (en) Configuration memory implementation for lut-based reconfigurable logic architectures
US6356110B1 (en) Multifunction memory array in a programmable logic device
WO1996010295A1 (en) Combined programmable logic array and array logic
US20040017221A1 (en) Field programmable device
US6326808B1 (en) Inversion of product term line before or logic in a programmable logic device (PLD)
US7071731B1 (en) Programmable Logic with Pipelined Memory Operation
GB2333872A (en) Programmable logic array
WO1999059088A2 (en) A programmable logic device with macrocell controlled by a pla

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090529

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4319786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term