JP2004248282A - 論理素子、プログラム可能論理装置、データ処理システムおよび論理素子の作成方法 - Google Patents

論理素子、プログラム可能論理装置、データ処理システムおよび論理素子の作成方法 Download PDF

Info

Publication number
JP2004248282A
JP2004248282A JP2004033729A JP2004033729A JP2004248282A JP 2004248282 A JP2004248282 A JP 2004248282A JP 2004033729 A JP2004033729 A JP 2004033729A JP 2004033729 A JP2004033729 A JP 2004033729A JP 2004248282 A JP2004248282 A JP 2004248282A
Authority
JP
Japan
Prior art keywords
multiplexer
output
mode
input
logic element
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
JP2004033729A
Other languages
English (en)
Other versions
JP4537086B2 (ja
Inventor
David Lewis
ルイス デイビッド
Bruce Pedersen
ペダーソン ブルース
Sinan Kaptanoglu
カプタノグル シナン
Andy Lee
リー アンディー
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.)
Altera Corp
Original Assignee
Altera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Altera Corp filed Critical Altera Corp
Publication of JP2004248282A publication Critical patent/JP2004248282A/ja
Application granted granted Critical
Publication of JP4537086B2 publication Critical patent/JP4537086B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/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/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

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)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】 大きなLUT(ルックアップテーブル)または複数の小さなLUTを実現する高速かつ低コストなプログラム可能論理回路素子を提供する。
【解決手段】 論理素子100は記憶素子、MPX(マルチプレクサ)および制御部を含む。MPXは記憶素子に接続される入力104及び次高位MPX(4-LUTs102内)の入力に接続される出力をもつ最高レベルMPX(4-LUTs102内)と第二レベルのMPX106、116の出力に接続される入力および少なくとも1つの出力114をもつ第一レベルMPX110とを含んで複数レベルに段階的に配列される。制御部104、108、112はMPX 4-LUTs102内、MPX106、116、110に接続される。第一動作(非分割)モードでは制御部は第一レベルMPX110の少なくとも1つの出力において第一モード出力114を決定し、第二動作(分割)モードでは制御部は第一レベルでないMPXの選択された出力における複数第二モード出力118、120を決定する。
【選択図】 図1

Description

本発明は、プログラム可能論理装置または他の同様な装置に使用するための論理素子、プログラム可能論理装置、データ処理システムおよび論理素子の作成方法に関する。
プログラム可能論理装置(PLD)(時にはCPLD、PAL、PLA、FPLA、EPLD、EEPLD、LCA、FPGAまたはその他の名前でも呼ばれる)は、特別仕様集積回路の融通性を有する固定集積回路という利点をもたらす周知の集積回路である。この種の論理装置は、技術上周知であり、一般には、ユーザーの固有のニーズに合わせるために電気的にプログラムできる部分を少なくとも一部有する「既製」の装置である。特定用途向け集積回路(ASIC)は、伝統的に固定集積回路であったが、プログラム可能な部分を有するASICを提供することは可能である。すなわち、集積回路装置はASICとPLD両方の質を持つことが可能である。本出願においてPLDという用語は、この種の装置を含めるのに十分に広義のものとみなされる。
PLDは、一般に、時にロジック・アレイ・ブロック(LAB)または「構成可能ロジック・ブロック」CLB)と呼ばれる論理素子のブロックを含む。「論理装置」または「論理セル」など他の名前でも呼ばれる論路素子(LE)は、ルックアップテーブル(LUT)、プロダクトターム(product term)、キャリアウト・チェーン、レジスタ及びその他の素子を含むことができる。
LUTベースの論理素子を含めて論理素子は、一般に論理素子が果たす特定の機能を決定する構成データを保持する構成可能な素子を含む。典型的なLUT回路は、データ(“1”または“0”)を保持するRAMビットを含むことができる。ただし、他のタイプの構成可能素子を使用することができる。例としては、スタティック、磁気、強誘磁性またはダイナミック・ランダム・アクセス・メモリ、電気的消去可能読み出し専用メモリ、フラッシュ、ヒューズ及びアンティヒューズ・プログラム可能接続がある。構成素子のプログラミングは、装置の製造中のマスク・プログラミングによっても行うことができる。マスク・プログラミングは、すでに述べた現場プログラミングの選択肢に比べて不利点があるかも知れないが、一部の高容量の用途においては有益かも知れない。本出願において「記憶素子」という総称は、PLDによって実現される関数を決定するように構成することができるあらゆるプログラム可能素子を意味するために使用される。
上述の通り、PLDは、一般に基本的論理素子としてルックアップテーブル(LUT)を使用して構成される。例えば、K入力ルックアップテーブル(K-LUT)は、一般に2K個のプログラム可能記憶素子及び2K対1のマルチプレクサを含み、マルチプレクサに対するK個の選択入力の制御の下で記憶素子のうちの1つを選択する。このK個の入力は、記憶素子の内容を適切な値に設定することによって特定の要求される論理関数を実現することができるK入力論理関数への入力と考えることができる。
LUTで構成される論理装置のコストと処理速度の間には二律背反の関係がある。一般に、各LUTのコストはKの選択に伴い指数関数的に増大するが、論理装置を構築するために必要とされるLUTの数はKの数が大きくなる場合もっと緩慢に減少する。ただし、Kの値が大きくなると直列のLUTの数は減少して、論理装置をより高速にする。例えば、K=4の場合、単一のLUTを構築するために16個の記憶素子及び16:1のマルチプレクサが必要とされ、K=6の場合、64個の記憶素子及び64:1のマルチプレクサが必要とされる。ある論理装置を構成するために1000個の4-LUTを必要とするが、6-LUTは800個しか必要としないかも知れない。このような仮定の下では、各LUTについて増す複雑さを補うにはLUTの数の減少は不十分なので、6-LUT論理素子を構成するためにはより多くのハードウェアが必要とされる。ただし、6-LUT回路構成に必要なハードウェアの増大は遅延の減少によって相殺される。論理装置を通る最長経路は、4-LUTの10個に対して6-LUTは8個であろう。このように、6-LUTバージョンの回路はより大きくなるかも知れないが、より高速である。さらに6-LUT回路は、PLDにおけるプログラム可能ルーティングの必要を減少する可能性があり、高くなるコストを一部相殺するだろう。
より大きいLUTの効率が不足する1つの理由は、必ずしも全ての論理関数がK個の入力の全てを使用しないことにある。上述の例の場合、800個の6-LUTは、実際には300個の6入力関数、300個の5入力関数、100個の4入力関数及び100個の3入力関数を含むかも知れない。従って、6-LUTに基づく論理素子(LE)は、800個のうち300個においてしか十二分に使用されていない。
従って、本発明は、比較的大きいLUT(ルックアップテーブル)またはその代わりに複数のこれより小さいLUTを実現するように構成できるプログラム可能な構造の論理素子を提供することを目的とする。
図1を参照して本発明の実施態様を以下に説明する。
本発明の1つの実施態様においては、論理素子100は、記憶素子、MPX(マルチプレクサ)及び制御部を含む。マルチプレクサは、記憶素子に接続される入力104および次に高位のマルチプレクサ(4−LUTs102内)の入力に接続される出力を有する最高レベルのマルチプレクサ(4−LUTs102内)と第二のレベルのマルチプレクサ106、116の出力に接続される入力および少なくとも1つの出力114を有する第一のレベルのマルチプレクサ110とを含んで、複数のレベルに段階的に配列される。制御部104、108、112は、マルチプレクサ4−LUTs102内、106、116、110に接続される。第一の動作(非分割)モードにおいて、制御部104、108、112は、第一のレベルのマルチプレクサ110の少なくとも1つの出力における第一モード出力114を決定し、第二の動作(分割)モードにおいて、制御部104、108、112は、第一のレベルではないマルチプレクサ106、116の選択された出力における第二モード出力118、120を決定する。
この実施態様の1つの態様に従えば、論理素子が第一の動作モードのとき、第一モード出力は、制御部の完全な関数を提供する。別の態様に従えば、論理素子が第二の動作モードのとき、各第二モード出力は制御部の適切なサブセットの完全な関数を提供する。別の態様に従えば、論理素子が第二の動作モードのとき、1つまたはそれ以上の制御部は副制御部に分割されて、この分割された制御部に接続される各マルチプレクサにおいて該当の副制御部が各分割された制御部に取って代わる。別の態様に従えば、論理素子は、さらに、論理素子の制御部のうち1つまたはそれ以上に接続される出力および制御-マルチプレクサ入力によって決定される入力を有する1つまたはそれ以上の制御マルチプレクサを含む。動作条件によっては、制御マルチプレクサのうち少なくとも2つは同一の制御-マルチプレクサ入力を受け取る。別の態様に従えば、論理素子は、さらに、フリップ・フロップ回路と結合できる付加的マルチプレクサを含む。別の態様に従えば、論理素子は、さらに、第一の動作モードと第二の動作モードの間で切り替えるために論理素子に接続される1つまたはそれ以上のモード・マルチプレクサを含む。別の態様に従えば、論理素子は、プログラム可能論理装置に含まれ、論理装置自体をデータ処理システムに含めることができる。
本発明の別の実施態様においては、論理素子を作成するための方法は、記憶素子を設けるステップ、マルチプレクサを設けるステップおよび制御部を設けるステップを含む。マルチプレクサは、記憶素子に接続される入力および次に高位のマルチプレクサの入力に接続される出力を有する最高レベルのマルチプレクサと第二のレベルのマルチプレクサの出力に接続される入力および少なくとも1つの出力を有する第一のレベルのマルチプレクサとを含んで段階的に配列される。制御部はマルチプレクサに接続される。第一の動作モードにおいて、制御部は、第一のレベルのマルチプレクサの少なくとも1つの出力における第一モード出力を決定し、第二の動作モードにおいて、制御部は、第一のレベルではないマルチプレクサの選択された出力における第二モード出力を決定する。この実施態様は、他の実施態様に関して上述した態様を含むことができる。別の態様に従えば、この方法は、さらに、論理素子の制御部のうち1つまたはそれ以上に接続される出力と制御-マルチプレクサ入力によって決定される入力とを有する1つまたはそれ以上の制御マルチプレクサを論理素子に付加するステップを含む。別の態様に従えば、この方法は、さらに、第一の動作モードと第二の動作モードの間で切り替えるために論理素子に接続される1つまたはそれ以上のモード・マルチプレクサを論理素子に付加するステップを含む。
図7は、4個の4-LUT702を含む従来の6-LUT700を示している。各4-LUT702は、入力a、b、c及びdの704によって制御される16個の記憶素子及び16:1マルチプレクサを含む。4-LUT702からの出力は2つの2:1マルチプレクサ706への入力となり、マルチプレクサの各々が入力eの708によって制御される。この2つのマルチプレクサからの出力は、最終出力714をもたらすために入力fの712によって制御されるさらなる2:1マルチプレクサ710への入力となる。このようにして、6個の入力z1(a、b、c、d、e、f)のどの関数も実現できる。
図8の(A)は、図7に示される6-LUTのコンポーネントとして使用できる従来の4-LUT800を示している。この4-LUTは、複数の記憶素子819及び4:1マルチプレクサ850、840を含んでいる。各記憶素子819は、1つのデータ・ビット(すなわち、1または)を保持することができ、図に示される通り、各々このビットをマルチプレクサ850の入力に与えるように結合される。各マルチプレクサ850の2つの制御入力はそれぞれ4-LUT800の入力A814及び入力B813に結合される。マルチプレクサ850の各々の出力は、図に示される通り別の4:1マルチプレクサ840の入力に結合される。このマルチプレクサ840の2つの制御入力は、それぞれ、4−LUT800の入力C811及び入力D812に結合される。このマルチプレクサ840の出力は、4−LUT800の最終出力815となる。
当業者は、図8の(A)の4-LUT800のような4-LUTは、4個の入力信号の完全な関数をもたらすことできることが分かるだろう。ここで「完全な」とは、任意の4入力関数を実現するよう4-LUT800を構成するために記憶素子819をプログラムできることを意味するに過ぎない。すなわち、4-LUT800は、当業者に分かるだろうが出力信号Yの815が入力信号Aの814、Bの813、Cの811及びDの812の論理関数全体のうち任意の1つであるようにその記憶素子をプログラミングすることによって(例えば記憶素子に値をロードして)構成することができる。同様に、図7の6-LUTも、その6個の入力信号の完全な関数をもたらすことができる。
図8の(B)は、最終的な4:1マルチプレクサ840を構成する2:1マルチプレクサ841、842の「ツリー」を示している(他の4:1マルチプレクサ850も同様に特徴付けることができる)。マルチプレクサ841、842の制御入力811、812は、4-LUT800の入力に相当する。より高位のマルチプレクサ842(すなわち、記憶素子819により近い)の出力は、出力815により近い次のレベル841にデータを送る。当業者には分かる通り、最終4:1マルチプレクサ840を構成する2:1マルチプレクサ841、842の「ツリー」は、4-LUT800を特徴付けるより大きい2:1マルチプレクサ・ツリーの一部と考えることができる。より一般的に言うと、典型的なLUT回路は、LUT回路の出力に対して相対的な2:1マルチプレクサの「レベル」によって示すことができるマルチプレクサ・ツリーを有する。
例えば、出力815に最も近いマルチプレクサ841は、4-LUT800の2:1マルチプレクサ・ツリー全体において第一のレベルのマルチプレクサと呼ぶことができ、次の2つのマルチプレクサのセット842はツリーの第二のレベルと呼ぶことができる。図8の(B)の構造を図8の(A)に拡大することによって、4-LUT800においては4つのレベルの2:1マルチプレクサがある。4-LUT800は、制御入力が論理入力B813に結合される4つの2:1マルチプレクサ(すなわち各マルチプレクサ850に1つ)を含む第三のレベル、及び制御入力が論理入力A814に結合される8つの2:1マルチプレクサ(すなわち各マルチプレクサ850に2つ)を含む第四のレベルを有する。
当業者には分かる通り、4:1マルチプレクサは、2つの異なるレベルに3つの2:1マルチプレクサ841、842の「ツリー」を有する図に示されるマルチプレクサ840とは異なる方法で実現できる。例えば、各々が2つの制御信号の解読出力によって制御される4つのパスゲートによって4:1マルチプレクサを実現することができる。このような例においては、4つのパスゲートは、相互にレベルによって区別されないが、この4:1マルチプレクサは2つのレベルの2:1マルチプレクシングを効果的に実現するだろう。
図1は、本発明の第一の実施態様に従った分割可能な(以下、分割可能と記す)6-LUT100を示している。従来の6-LUT700と同様、分割可能6-LUT100は、4つの4-LUT102を含む。各4-LUT102は、入力a、b、c及びdの104によって制御される16の記憶素子及び16:1マルチプレクサを含む。4-LUT102からの出力は2つの2:1マルチプレクサ106への入力となり、この2つのマルチプレクサ106は各々入力eの108によって制御される。これらのマルチプレクサ106からの出力は、最終出力114をもたらすために入力f112によって制御されるさらなる2:1マルチプレクサ110の入力となる。このようにして、6つの入力zl(a、b、c、d、e、f)のどの関数でも実現することができる。
従来の6-LUT700と比較すると、分割可能6-LUT100は、4-LUT102のうち2つからの入力を受け取り入力f112の制御を受ける付加的な2:1マルチプレクサ116を含む。6-LUTとして(すなわち非分割(第1)動作モードで)使用される場合、出力信号zlの114は、6つの入力全ての完全な関数であって分割されない。2つの関数として(すなわち、分割(第2)動作モードで)使用される場合、LUT100の上半分から得られる出力z0の118は、a、b、c、d、eの完全な関数をもたらし、追加の2:1マルチプレクサから得られる出力z2の120は、a、b、c、d、fの完全な関数をもたらす。このように、このLUTは、4つの入力a、b、c、dを共有する分割された2つの5入力関数を実現することができる。LUT100が単一の6-LUTとして使用される場合z1関数114をまたLUT100が2つの5-LUTとして使用される場合z0の118及びz2の120を選択するために、分割可能LUTの外部のロジックが使用される。例えば、分割可能6-LUTを1つの5-LUT及び2つの4-LUTの組み合わせとして構成できるように、さらにLUTの分割を続けられることが分かるだろう(これは、例えば、z0の118出力を上の2つの4-LUT102からの該当の出力と置き換えることによって実施することができる)。同様に、1つの5-LUTと1つまたは2つの3-LUTの組み合わせ、または図1に示される構造から最も近い4つの4-LUTの組み合わせを含めて、その他の組み合わせが可能である。
K=6のケースについて図1に示される通り、分割可能K-LUTはK個の入力しか持たないので、2つの(K−1)関数は、K個の入力信号の共通セットを使用しなければならない。すなわち、各(K−1)-LUTは、固有の入力信号を1つしか持たず、(K−2)個の信号を別のLUTと共有する。分割可能LUTの使用の融通性を増すためには、より多くの入力信号を含むことが望ましい。これは、共通信号の一部を早いLUT段階に分割することによって行うことができる。これが分割可能(K,M)-LUTと呼ばれるものであり、ここで、Mは、LUTに追加される付加的な入力信号の数である。
図2は、本発明の別の実施態様に従った分割可能(6,2)-LUTを示している。図1の分割可能6-LUT100と同様、分割可能(6,2)-LUT200は、4つの4-LUT202を含む。各4-LUT202は16個の記憶素子及び16:1マルチプレクサを含む。4-LUT202からの出力は、2つの2:1マルチプレクサ206への入力となり、マルチプレクサ206は各々入力eの208によって制御される。このマルチプレクサ206からの出力は、最終出力214をもたらすために入力fの212によって制御される付加的な2:1マルチプレクサ210への入力となる。付加的な2:1マルチプレクサ216は、4-LUT202のうち2つから入力を受けて、入力fの212によって制御される。
分割可能6-LUT100と比較すると、4つの4-LUT202への入力のうち2つが分割される。すなわち、2つの入力a及びbの204は分割可能6-LUT100における同様の入力104と一致するが、分割可能6-LUT100の入力c及びdの104は分割されて、4-LUT202の上半分のための入力c1及びd1の222及び下半分のための入力c2及びd2の224になる。
従来、LUTへの入力は、最も遅いものから最も速いものの順に列記される(すなわち、a、b、c、d)ので、dは4-LUT202の各々にとって最も速い入力である。最も速い入力が相互に独立するように、LUTへの最も速い入力を分割することが望ましい。LUTが6-LUTとして使用される場合、d1及びd2には同じ入力信号が与えられ(すなわち、d=d1=d2)、同様にc1及びc2には同じ入力信号が与えられる(すなわち、c=c1=c2)。LUTが2つの5-LUTとして使用される場合、上の2つの4-LUTは論理関数z0(a、b、c1、d1、e)を形成し、下の2つの4-LUTは論理関数z2(a、b、c2、d2、f)を形成する。このように2つのLUTの間で共有しなければならない論理信号は2つだけ(a及びb)である。
このように、分割動作モードにおいては、z0(a、b、c1、d1、e)218及びz2(a、b、c2、d2、e)220について5つの入力の完全な関数を実現することができ、c=c1=c2及びd=d1=d2である非分割動作モードにおいては、6つの入力z1(a、b、c、d、e、f)の完全な関数を実現できる。
その代わりに、分割可能(6,2)-LUTは、その入力のうち1つまたはそれ以上に対して関数従属性を持たないようにLUTを構成することによって、3入力関数及び5入力関数など8個以下の異なる入力信号を使用する任意の2つの関数を実現することができる。例えば、(6,2)-LUT200は、入力a及びbの204に対して従属性を持たないように4-LUT202の上半分を構成することによって関数z0(c1、d1、e)218及びz2(a、b、c2、d2、f)を実現することができる。一般化すると、(K,M)-LUTは、K+M以下の異なる入力信号を有する最高K-1個の入力の任意の2つの関数を実現することができる。
分割可能(6,2)-LUT200は、また8つの入力a、b、c1、c2、d1、d2、e及びf208、222、204、224、212をz1214での出力と一緒に使用することによって不完全な論理関数に使用することもできる。この場合、8入力関数z1(a、b、c1、c2、d1、d2、e、f)の一部のセットは実現できるが、一般LUTと異なり、あらゆる8入力関数を実現できるわけではない。ただし、任意関数とともにこの種の関数を含む論理装置を設計することによって、これを活用できるかも知れない。
論理素子の別の態様は、LUTからフリップフロップにデータを送ることができる能力である。従来、LUT出力は、同じ論理素子に含まれるフリップフロップへのデータ入力として使用することができる。また、さまざまな構成情報及び論理信号の制御の下で、フリップフロップへのデータ入力をLUTへの入力の1つとして選択することができる。本発明は、論理素子において1つまたはそれ以上のフリップフロップと分割可能LUTを組み合わせることができるようにする。
図3は、本発明の別の実施態様に従った論理素子300を示している。論理素子300は、分割可能(6,2)-LUT302及び2つのフリップフロップ304a及び304bを含む。(6,2)-LUT302は、入力A、B、C1、C2、D1、D2、E、Fを有し、これらには入力ラインLEIMA、LEIMB、LEIMC1、LEIMC2、LEIMD1、LEIMD2、LEIME及びLEIMF306を通じてデータが送られる。さらに、2つのマルチプレクサ308a、308bが、レジスタ値REG0と共にLEIMC1を多重化し(308a)、レジスタ値REG1と共にLEIMC2を多重化する(308b)ことによって、入力C1及びC2にデータを送る。非分割モードにおいては、LUT302は、単一の出力z1の310をもたらし、分割モードにおいては、LUT302は2つの出力z0の312及びz2の314をもたらす。
LUT302からの出力は、2つのマルチプレクサ316a、316bへの入力となる。これらのマルチプレクサ316a、316bは、別の対のマルチプレクサ318a、318bへの入力を生じ、これらのマルチプレクサは、インバータ回路322a、322b、NORゲート324a、324b及びNANDゲート326a、326bと結合される入力ラインLEIMC1320a及びLEIMC2320bからの入力も受ける。
後者のマルチプレクサ318a、318bからの出力及びライン値LEIMC1の320a及びLEIMC2の320bは、フリップフロップ304a、304bに送られる。フリップフロップは、記憶された値328の組み合わせ及びマルチプレクサ330a、330bからもデータを受け取る。これらのフリップフロップ304a、304bに関連する構造は、現在Altera Corporation(カリフォルニア州サンホセ)が販売しているStratix論理素子に使用される構造と同様である。
第一のフリップフロップ304aからの出力は、LUT出力z0の312及びz1の310と一緒に第一の3つ1組のマルチプレクサ332aに向かい、第一の組の出力LOCAL0、LEOUT0及びLEOUT1の334aを決定する。第二のフリップフロップ304bからの出力は、LUT出力z1の310及びz2の314と一緒に第二の3つ1組のマルチプレクサ332bに向かい、第二の組の出力LOCAL1、LEOUT2及びLEOUT3の334bを決定する。
この論理素子300は、LEから最高4つの信号(すなわち、LEOUT0、LEOUT1、LEOUT2及びLEOUT3)及び内部ルーティングへの2つの信号(すなわちLOCAL0及びLOCAL1)を発するために多重化構造を含んでいる。この図においては、ライン信号LEIMx306は、論理素子の入力に接続される論理信号のソースを意味する。図3の実施態様は、2つのフリップフロップ304a、304bを含んでいる。LUT302は、2つの論理関数を生成することができるので、非分割K-LUTからまたは分割LUTのいずれかからデータをロードできる2つのフリップフロップを持つことが望ましい。
上述の通り、図3に示されるフリップフロップ接続を一般化することができる。関連するフリップフロップ・データ入力をLUT出力にするかLUT入力の1つと共通にすることができ、多様な代替実施態様が可能である。図3に示される実施態様においては、論理配列は、Altera Corporation(カリフォルニア州サンホセ)が現在販売しているStratix論理素子と同様である。
図3の実施態様においては、フリップフロップ304a、304bの各々は、6-LUT出力z1の310または2つの5-LUT出力z0の312及びz2の314のうち1つからロードすることができる。各出力は、6-LUT出力、5-LUT出力またはフリップフロップから選択することができる。また、フリップフロップ出力をLUTに戻してStratix装置と同様クイック・フィードバックするように、マルチプレクサが配備される。この構造を使って、6-LUTは、1つまたは両方のフリップフロップにデータを送ることができ、各5-LUTは1つのフリップフロップにデータを送ることができ、または独立のフリップフロップを、1つの入力を共有する5-LUTとまたは入力を共有しない4-LUTと結合することができる。ただし、この構造は、たとえ8つの入力全部が利用可能でも1つの入力を共有しない限り6-LUTを独立のフリップフロップと結合できない、という限界がある。なぜなら、非分割6−LUTモードにおいては、C1及びC2並びにD1及びD2は両方ともLUTに同一の入力信号を供給しなければならないからである(すなわち、C=C1=C2、D=D1=D2)。図4の実施態様はこの問題に対処している。
図4は、本発明の別の実施態様に従った論理素子400を示している。この論理素子400は、図3の論理素子300と同様であるが、LUT402の入力に付加的な多重化を含む。入力ラインLEIMC1の406及びレジスタ値REG0はマルチプレクサ408aへの入力であり、このマルチプレクサは、LUT402の入力C1にデータを送る。また、入力ラインLEIMC1及びLEIMC2の406は、レジスタ値REG1と共にマルチプレクサ408bへの入力であり、このマルチプレクサはLUT402の入力C2にデータを送る。
論理素子400は、分割可能(6,2)-LUT402及び2つのフリップフロップ404a、404bを含む。(6,2)-LUT402は入力A、B、C1、C2、D1、D2、E、Fを有し、これらの入力には、入力ラインLEIMA、LEIMB、LEIMC1、LEIMC2、LEIMD1、LEIMD2、LEIME及びLEIMFの406を通じてデータが送られる。さらに、2つのマルチプレクサ408a、408bが、レジスタ値REG0と共にLEIMC1を多重化し、レジスタ値REG1と共にLEIMC2を多重化することによって、入力C1及びC2にデータを送る。図3の実施態様と異なり、入力C2にデータを送る第二のマルチプレクサ408bは、入力ラインLEIMC1、入力ラインLEIMC2及びレジスタ値REG1からの入力を受け取る。
前の実施態様300と同様、LUT402は、非分割モードにおいて単一の出力z1の410を、また分割モードにおいて2つの出力z0の412及びz2の414を生じる。また、前の実施態様と同様、回路構成はLEMC1の420a及びLEMC2の420b用の付加的なライン、マルチプレクサ416a、416b、418a、418b、430a、430b、432a、432b、インバータ422a、422b、NORゲート424a、424b、NANDゲート426a、426b、記憶値428及び出力434a、434bを含む。
図4の実施態様は、LUT402が非分割モードで動作するとき付加的な入力信号を有利に活用する。この構造においては、オリジナルの入力を分割することから生じる追加の入力のうち1つ(この場合にはC1)は、対応するマルチプレクサ408bにおいて対応する分割された入力(この場合にはC2)に接続することができる。これによって、6-LUTはC信号を単一のピンC1に導き、これをLUT402においてC1とC2の両方に接続することができる。その結果、別の目的のため、この場合にはデータ信号を完全に独立したフリップフロップ404bに導くために入力ピンC2を使用することができる。これによって、論理素子は、独立フリップフロップ404bと共に任意にフリップフロップ404aにデータを供給できる6-LUTをサポートすることができる。
図4の実施態様においては、6-LUTは、同一のデータをロードするために両方のフリップフロップを使用することによってLUTの入力へのレジスタのクイック・フィードバックと共に6-LUTを使用できるので、結果をC1とC2の両方にフィードバックすることができる。代替実施態様においては、REG0とREG1の両方が、C1及びC2にデータを送るマルチプレクサ408a、408bの一方あるいは両方に入力される。これによって、データを記憶するために単一のフリップフロップを使用し、C1とC2の両方にフィードバックすることができる。さまざまな代替案の相違は、6−LUT402においてクイック・フィードバック・モードのためにどのフリップフロップ404a、404bを使用できるかの選択肢にあり、最適の選択は、実現される論理装置及びPLDにおいて与えられるルーティング構造の融通性によって決まる。一般的にはLUTへの分割入力のうち最遅のものをフリップフロップに送ることが望ましいが、他の入力も同様に使用することができる。
図5は、本発明の別の実施態様に従った論理素子500を示している。この論理素子500は、図3の論理素子300と同様であるが、LUT502への入力に付加的な多重化を含む。入力ラインLEIMC1の506は、LUT502のC1入力にデータを送り、入力ラインLEIMC1及びLEIMC2の506は、レジスタ値REG0と共にマルチプレクサ508aの入力となり、このマルチプレクサは、LUT502のC2入力にデータを送る。入力ラインLEIMD2の506は、LUT502のD2入力にデータを送り、入力ラインLEIMD1及びLEIMD2の506は、レジスタ値REG1と共にマルチプレクサ508bの入力となり、このマルチプレクサはLUT502のD1入力にデータを送る。
論理素子500は、分割可能(6,2)-LUT502及び2つのフリップフロップ504a、504bを含む。(6,2)-LUT502は、入力A、B、C1、C2、D1、D2、E及びFを有し、これらには入力ラインLEIMA、LEIMB、LEIMC1、LEIMC2、LEIMD1、LEIMD2、LEIME及びLEIMF506を通じてデータが送られる。さらに、2つのマルチプレクサ508a、508bは、REG0と共にLEIMC1およびLEIMC2を多重化し、REG1と共にLEIMD1及びLEIMD2を多重化することによって、入力C2及びD1にデータを送る。図3の実施態様と異なり、入力C2にデータを送る第一のマルチプレクサ508aは、入力ラインLEIMC1,入力ラインLEIMC2及びレジスタ値REG0からの入力を受け取り、入力D1にデータを送る第二のマルチプレクサ508bは、入力ラインLEIMD1、入力ラインLEIMD2及びレジスタ値REG1からの入力を受け取る。
図3の実施態様と同様、LUT502は、非分割モードにおいて単一の出力z1の510をもたらし、分割モードにおいて2つの出力z0の512及びz2の514をもたらす。前の実施態様と同様、回路構成は、LEIMC1の520a及びLEIMC2の520b用の追加のライン、マルチプレクサ516a、516b、518a、518b、530a、530b、532a、532b、インバータ522a、522b、NORゲート524a、524b、NANDゲート526a、526b、記憶値528及び出力534a、534bを含む。
図5の実施態様は、フリップフロップ504a、504bをLUTと結合して6-LUT502を2つの独立レジスタ(第一のマルチプレクサ508aにおけるREG0及び第二のマルチプレクサ508bにおけるREG1)と結合できるようにすることによって、融通性を増すことができる。C1/2またはD1/2のどちらでも対応するピンに割り当てられるようにすることによって、C及びDの各々に単一の信号を使用することができる。図5の実施態様においては、C1をLUT入力として使用し、C2をフリップフロップ504bに対するデータ入力として使用できる一方で、D2はLUTに対する別の入力として使用され、D1はフリップフロップ504aへのデータ入力として使用される。どのフリップフロップにどの入力を使用するか、またどの入力信号をLUT入力またはフリップフロップ・データとして使用するかの厳密な選択は、構築される論理装置の特性によって決まる。また、どの入力を分割すべきかの選択は、フリップフロップのパッキング・フレキシビリティの程度に応じて多様である。フリップフロップのパッキング・フレキシビリティを増すために含まれるマルチプレクサが多くなれば、遅延が加わるので、最速の入力より遅い入力を分割するほうが望ましくなるかも知れない。最良の選択は、実現される論理装置及びLUTの設計における遅延の考量によって決まる。
図5の実施態様においては、クイック・フィードバックは、論理素子において使用される単一のフリップフロップによってのみサポートされる。上述の通り、代替実施態様は、2つのクイック・フィードバックをサポートするためにマルチプレクサに追加の入力が付け加えられることによって得られる。
図6は、上述の通り本発明の実施態様を含むPLD610を備えるデータ処理システム600を示している。PLD610は、図に示されるLAB612など複数のロジック・アレイ・ブロック(LAB)を含む(図面を過度に複雑にしないように図にはLABが1つしか示していない)。LAB612は、図に示される論理素子611など複数の論理素子を含む(図面を過度に複雑にしないように図には論理素子は1つしか示していない)。データ処理システム600は、以下のコンポーネントのうち1つまたはそれ以上を含むことができる。プロセッサ640、メモリ650、I/O回路620、及び周辺装置630。これらのコンポーネントは、システム・バス665によってともに結合され、エンドユーザー・システム670内に納められる回路基板660上に配置される。
システム600は、コンピュータ・ネットワーキング、データ・ネットワーキング、器具類、ビデオ処理、デジタル信号処理あるいはプログラム可能または再プログラム可能な論理を使用する利点が望ましいその他の用途など多様な用途において使用できる。PLD610は、多様な論理機能を果たすために使用することができる。例えば、PLD610は、プロセッサ640と協働して機能するプロセッサまたはコントローラとして構成することができる(または、代替実施態様においては、PLD自身が、単独のシステム・プロセッサとして作用することが可能である)。PLD610は、また、システム600において共有資源へのアクセスを仲裁するアービトレータとして使用することもできる。さらに別の例においては、PLD610は、プロセッサ640とシステム600の他のコンポーネントのうちの1つの間のインターフェイスとして構成することができる。システム600は単なる例であることに留意しなければならない。
本発明の一部の実施態様例について上に詳細に説明したが、当業者は、本発明の新規の教示及び利点から実質的に逸脱することなく実施態様例に多くの修正を加えることが可能であることが容易に分かるだろう。従って、これらの修正は全て本発明の範囲内に含まれるものとする。
本発明の実施態様に従った分割可能6-LUT(「6入力ルックアップテーブル」)を示す図である。 本発明の実施態様に従った分割可能(6、2)-LUTを示す図である。 本発明の実施態様に従った2つのフリップフロップを有する分割可能(6、2)-LUTを示す図である。 本発明の実施態様に従った6LUTのサポート及び独立レジスタを有する分割可能(6、2)-LUTを示す図である。 本発明の実施態様に従った6-LUTのサポート及び2つの独立レジスタを有する分割可能(6、2)-LUTを示す図である。 本発明に従った論理装置を実現できるプログラム可能論理装置の例を含むデータ処理システムの例を示す図である。 従来技術の6-LUTを示す図である。 (A)は従来技術の4-LUTを示す図であり、(B)は、(A)に示される4:1マルチプレクサをさらに詳細に示す図である。

Claims (25)

  1. 複数の記憶素子と、
    前記記憶素子に接続される入力および次に高位のレベルのマルチプレクサの入力に接続される出力を有する最高レベルのマルチプレクサと第二のレベルのマルチプレクサの出力に接続される入力および少なくとも1つの出力を有する第一のレベルのマルチプレクサとを含んで複数のレベルに配列される複数のマルチプレクサと、
    前記マルチプレクサに接続される複数の制御部と、
    を備える論理素子において、
    第一の動作モードにおいては、前記制御部が、前記第一のレベルのマルチプレクサの前記少なくとも1つの出力における第一モード出力を決定し、
    第二の動作モードにおいては、前記制御部が、前記第一のレベルではないマルチプレクサの選択された出力における複数の第二モード出力を決定する、
    ことを特徴とする論理素子。
  2. 前記第一の動作モードにおいて、前記第一モード出力が前記制御部の完全な関数を提供する、請求項1に記載の論理素子。
  3. 前記第二の動作モードにおいて、各第二モード出力が前記制御部の適切なサブセットの完全な関数を提供する、請求項2に記載の論理素子。
  4. 前記第二の動作モードにおいて、対応する副制御部が各分割された制御部に接続される各マルチプレクサにおいて前記分割された制御部と置き換わるように、1つまたはそれ以上の制御部が複数の副制御部に分割される、請求項1に記載の論理素子。
  5. 前記論理素子の制御部のうち1つまたはそれ以上に接続される出力及び複数の制御-マルチプレクサ入力によって決定される入力を有する1つまたはそれ以上の制御マルチプレクサを備える、請求項1に記載の論理素子。
  6. 前記制御マルチプレクサの1つまたはそれ以上の入力および段階的に配列される前記マルチプレクサの1つまたはそれ以上の出力に接続される入力を有する1つまたはそれ以上の入力出力マルチプレクサを備える、請求項5に記載の論理素子。
  7. 前記制御マルチプレクサのうち少なくとも2つが同一の制御-マルチプレクサ入力を受け取る、請求項6に記載の論理素子。
  8. 前記制御マルチプレクサの1つまたはそれ以上の入力に接続される入力を有する1つまたはそれ以上のフリップフロップを備える、請求項6に記載の論理素子。
  9. 前記入力出力マルチプレクサの1つまたはそれ以上の出力に接続される入力を有する1つまたはそれ以上のフリップフロップを備える、請求項6に記載の論理素子。
  10. 前記第一の動作モードと前記第二の動作モードの間で切り替えるために前記論理素子に接続される1つまたはそれ以上のモード・マルチプレクサを備える、請求項1に記載の論理素子。
  11. 請求項1に記載の論理素子を備える、プログラム可能論理装置。
  12. 請求項11に記載のプログラム可能論理装置を備える、データ処理システム。
  13. 複数の記憶素子を設けるステップと、
    複数のマルチプレクサを設けるステップであって、前記マルチプレクサが、前記記憶素子に接続される入力および次に高位のレベルのマルチプレクサの入力に接続される出力を有する最高レベルのマルチプレクサと第二のレベルのマルチプレクサの出力に接続される入力および少なくとも1つの出力を有する第一のレベルのマルチプレクサとを含んで複数のレベルに配列される、ステップと、
    複数の制御部を設けるステップであって、前記制御部が前記マルチプレクサに接続される、ステップと、
    を含む論理素子の作成方法において、
    第一の動作モードにおいて、前記制御部が、前記第一のレベルのマルチプレクサの前記少なくとも1つの出力における第一モード出力を決定し、かつ
    第二の動作モードにおいて、前記制御部が、前記第一のレベルではないマルチプレクサの選択された出力における複数の第二モード出力を決定する、
    ことを特徴とする論理素子の作成方法。
  14. 前記第一の動作モードにおいて、前記第一モード出力が前記制御部の完全な関数を提供する、請求項13に記載の方法。
  15. 前記第二の動作モードにおいて、各第二モード出力が前記制御部の適切なサブセットの完全な関数を提供する、請求項14に記載の方法。
  16. 前記第二の動作モードにおいて、対応する副制御部が各分割された制御部に接続される各マルチプレクサにおいて前記分割された制御部と置き換わるように、1つまたはそれ以上の制御部が複数の副制御部に分割される、請求項13に記載の方法。
  17. 前記論理素子の前記制御部のうち1つまたはそれ以上に接続される出力と複数の制御-マルチプレクサ入力によって決定される入力とを有する1つまたはそれ以上の制御マルチプレクサを前記論理素子に追加するステップを含む、請求項13に記載の方法。
  18. 前記制御マルチプレクサの1つまたはそれ以上の入力および段階的に配列される前記マルチプレクサの1つまたはそれ以上の出力に接続される入力を有する1つまたはそれ以上の入力出力マルチプレクサを前記論素子に追加するステップを含む、請求項17に記載の方法。
  19. 前記制御マルチプレクサのうち少なくとも2つが同一の制御-マルチプレクサ入力を受け取る、請求項18に記載の方法。
  20. 前記制御マルチプレクサの1つまたはそれ以上の入力に接続される入力を有する1つまたはそれ以上のフリップフロップを前記論理素子に追加するステップを含む、請求項18に記載の方法。
  21. 前記入力出力マルチプレクサの1つまたはそれ以上の出力に接続される入力を有する1つまたはそれ以上のフリップフロップを前記論理素子に追加するステップを含む、請求項18に記載の方法。
  22. 前記第一の動作モードと前記第二の動作モードとの間で切り替えるために前記論理素子に接続される1つまたはそれ以上のモード・マルチプレクサを前記論理素子に追加するステップを含む、請求項13に記載の方法。
  23. 複数の記憶素子と、
    前記記憶素子に接続される入力および次に高位のマルチプレクサの入力に接続される出力を有する最高レベルのマルチプレクサと第二のレベルのマルチプレクサの出力に接続される入力および少なくとも1つの出力を有する第一のレベルのマルチプレクサとを含んで複数のレベルに配列される複数のマルチプレクサと、
    前記マルチプレクサに接続される複数の制御部と、
    前記論理素子の前記制御部のうち1つまたはそれ以上に接続される出力および複数の制御-マルチプレクサ入力によって決定される入力を有する1つまたはそれ以上の制御マルチプレクサと、
    前記第一の動作モードと前記第二の動作モードとの間で切り替えるために前記論理素子に接続される1つまたはそれ以上のモード・マルチプレクサと、
    を備える、該論理素子において、
    第一の動作モードにおいて、前記制御部が、前記第一のレベルのマルチプレクサの前記少なくとも1つの出力における第一モード出力を決定し、
    第二の動作モードにおいて、前記制御部が、前記第一のレベルではないマルチプレクサの選択された出力における第二モード出力を決定する、
    ことを特徴とする論理素子。
  24. 請求項23に記載の論理素子を備えるプログラム可能論理装置。
  25. 請求項24に記載のプログラム可能論理装置を備えるデータ処理システム。
JP2004033729A 2003-02-10 2004-02-10 論理素子、プログラム可能論理装置、データ処理システムおよび論理素子の作成方法 Expired - Fee Related JP4537086B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/364,310 US6943580B2 (en) 2003-02-10 2003-02-10 Fracturable lookup table and logic element

Publications (2)

Publication Number Publication Date
JP2004248282A true JP2004248282A (ja) 2004-09-02
JP4537086B2 JP4537086B2 (ja) 2010-09-01

Family

ID=32655681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004033729A Expired - Fee Related JP4537086B2 (ja) 2003-02-10 2004-02-10 論理素子、プログラム可能論理装置、データ処理システムおよび論理素子の作成方法

Country Status (4)

Country Link
US (3) US6943580B2 (ja)
EP (1) EP1445864A3 (ja)
JP (1) JP4537086B2 (ja)
CN (3) CN1540865B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007089180A (ja) * 2005-09-22 2007-04-05 Altera Corp 面積効率に優れたフラクチャブルロジックエレメント
JP2012055004A (ja) * 2007-05-21 2012-03-15 Altera Corp 改良された論理セル機能性の複合論理ブロックを有するプログラマブルロジックデバイス
JP2012142662A (ja) * 2010-12-28 2012-07-26 Kumamoto Univ リコンフィギュラブルロジックブロック、並びに、これを用いたプログラマブル論理回路装置、及び、テクノロジマッピング方法
JP2014003597A (ja) * 2012-05-25 2014-01-09 Semiconductor Energy Lab Co Ltd ルックアップテーブル、及びルックアップテーブルを備えるプログラマブルロジックデバイス
JPWO2014132670A1 (ja) * 2013-03-01 2017-02-02 アトナープ株式会社 再構成する情報を生成する装置および方法
JP2020053059A (ja) * 2019-11-07 2020-04-02 株式会社日立製作所 情報処理装置

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7302460B1 (en) * 2003-09-11 2007-11-27 Altera Corporation Arrangement of 3-input LUT's to implement 4:2 compressors for multiple operand arithmetic
US7185035B1 (en) * 2003-10-23 2007-02-27 Altera Corporation Arithmetic structures for programmable logic devices
US7167022B1 (en) 2004-03-25 2007-01-23 Altera Corporation Omnibus logic element including look up table based logic elements
US7486110B2 (en) * 2004-09-24 2009-02-03 Stmicroelectronics Pvt. Ltd. LUT based multiplexers
US7358765B2 (en) * 2005-02-23 2008-04-15 Cswitch Corporation Dedicated logic cells employing configurable logic and dedicated logic functions
US7193436B2 (en) * 2005-04-18 2007-03-20 Klp International Ltd. Fast processing path using field programmable gate array logic units
KR20060128450A (ko) * 2005-06-10 2006-12-14 삼성전자주식회사 표시 장치 및 표시 장치의 구동 장치
US7253658B1 (en) 2005-06-14 2007-08-07 Xilinx, Inc. Integrated circuit providing direct access to multi-directional interconnect lines in a general interconnect structure
US7256612B1 (en) 2005-06-14 2007-08-14 Xilinx, Inc. Programmable logic block providing carry chain with programmable initialization values
US7268587B1 (en) 2005-06-14 2007-09-11 Xilinx, Inc. Programmable logic block with carry chains providing lookahead functions of different lengths
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
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
US7276934B1 (en) 2005-06-14 2007-10-02 Xilinx, Inc. Integrated circuit with programmable routing structure including diagonal interconnect lines
US7193433B1 (en) * 2005-06-14 2007-03-20 Xilinx, Inc. Programmable logic block having lookup table with partial output signal driving carry multiplexer
US7274214B1 (en) 2005-06-14 2007-09-25 Xilinx, Inc. Efficient tile layout for a programmable logic device
US7265576B1 (en) 2005-06-14 2007-09-04 Xilinx, Inc. Programmable lookup table with dual input and output terminals in RAM mode
US7295035B1 (en) * 2005-08-09 2007-11-13 Lattice Semiconductor Corporation Programmable logic device with enhanced logic block architecture
JP4438000B2 (ja) * 2005-11-15 2010-03-24 株式会社半導体理工学研究センター リコンフィギャラブルロジックブロック、リコンフィギャラブルロジックブロックを備えるプログラマブル論理回路装置、および、リコンフィギャラブルロジックブロックの構成方法
US7902864B1 (en) 2005-12-01 2011-03-08 Altera Corporation Heterogeneous labs
US7420390B1 (en) * 2006-01-09 2008-09-02 Altera Corporation Method and apparatus for implementing additional registers in field programmable gate arrays to reduce design size
US7262722B1 (en) * 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
US20080079460A1 (en) * 2006-09-29 2008-04-03 Infineon Technologies Ag Programmable logic cell, configurable cell, configurable cell arrangement, configurable logic array, mask programmable basic cell, mask programmable gate array and method
US7459932B1 (en) * 2007-05-24 2008-12-02 Altera Corporation Programmable logic device having logic modules with improved register capabilities
US7795913B2 (en) * 2007-12-26 2010-09-14 Tier Logic Programmable latch based multiplier
US8514994B1 (en) 2008-10-02 2013-08-20 Altera Corporation Double data rate operation in an integrated circuit
US7948792B1 (en) 2009-04-15 2011-05-24 Altera Corporation Memory and techniques for using same
US7978102B1 (en) * 2010-03-09 2011-07-12 Himax Media Solutions, Inc. Multi-bin CABAC decision bin decoder
CN104617944B (zh) 2010-06-24 2018-03-16 太阳诱电株式会社 半导体装置
CN102147720B (zh) * 2011-03-18 2014-04-09 深圳市国微电子有限公司 用查找表实现多输入逻辑项之间的运算的装置及方法
US9450585B2 (en) * 2011-04-20 2016-09-20 Microchip Technology Incorporated Selecting four signals from sixteen inputs
CN103259528A (zh) * 2012-02-17 2013-08-21 京微雅格(北京)科技有限公司 一种异构可编程逻辑结构的集成电路
US8581624B2 (en) * 2012-03-29 2013-11-12 Altera Corporation Integrated circuits with multi-stage logic regions
US20130278289A1 (en) * 2012-04-18 2013-10-24 Te-Tse Jang Method and Apparatus for Improving Efficiency of Programmable Logic Circuit Using Cascade Configuration
US9007089B2 (en) * 2012-10-21 2015-04-14 Ememory Technology Inc. Integrated circuit design protecting device and method thereof
CN104737450B (zh) * 2012-10-28 2018-01-19 太阳诱电株式会社 可再构成的半导体装置
CN104242913B (zh) * 2013-06-21 2018-01-05 京微雅格(北京)科技有限公司 一种面积优化的fpga互连结构
CN103746686B (zh) * 2014-01-26 2017-07-07 中国电子科技集团公司第五十八研究所 二维可扩展多路复用器的级联结构
US9966960B2 (en) * 2014-12-17 2018-05-08 Silicon Laboratories Inc. Configurable logic circuit including dynamic lookup table
US9705504B1 (en) * 2016-01-13 2017-07-11 Altera Corporation Power gated lookup table circuitry
US10068045B1 (en) * 2016-12-09 2018-09-04 Xilinx, Inc. Programmable logic device design implementations with multiplexer transformations
US11308057B2 (en) * 2016-12-12 2022-04-19 Advanced Micro Devices, Inc. System and method for multiplexer tree indexing
US11625523B2 (en) 2016-12-14 2023-04-11 iCometrue Company Ltd. Logic drive based on standard commodity FPGA IC chips
TWI765944B (zh) 2016-12-14 2022-06-01 成真股份有限公司 標準大宗商品化現場可編程邏輯閘陣列(fpga)積體電路晶片組成之邏輯驅動器
US10447274B2 (en) 2017-07-11 2019-10-15 iCometrue Company Ltd. Logic drive based on standard commodity FPGA IC chips using non-volatile memory cells
US10957679B2 (en) 2017-08-08 2021-03-23 iCometrue Company Ltd. Logic drive based on standardized commodity programmable logic semiconductor IC chips
US10630296B2 (en) 2017-09-12 2020-04-21 iCometrue Company Ltd. Logic drive with brain-like elasticity and integrality based on standard commodity FPGA IC chips using non-volatile memory cells
US10608642B2 (en) * 2018-02-01 2020-03-31 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile radom access memory cells
US10623000B2 (en) 2018-02-14 2020-04-14 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips
US10608638B2 (en) 2018-05-24 2020-03-31 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips
US11309334B2 (en) 2018-09-11 2022-04-19 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile random access memory cells
US10892011B2 (en) 2018-09-11 2021-01-12 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile random access memory cells
US10937762B2 (en) 2018-10-04 2021-03-02 iCometrue Company Ltd. Logic drive based on multichip package using interconnection bridge
US11616046B2 (en) 2018-11-02 2023-03-28 iCometrue Company Ltd. Logic drive based on chip scale package comprising standardized commodity programmable logic IC chip and memory IC chip
US11211334B2 (en) 2018-11-18 2021-12-28 iCometrue Company Ltd. Logic drive based on chip scale package comprising standardized commodity programmable logic IC chip and memory IC chip
US10985154B2 (en) 2019-07-02 2021-04-20 iCometrue Company Ltd. Logic drive based on multichip package comprising standard commodity FPGA IC chip with cryptography circuits
US11227838B2 (en) 2019-07-02 2022-01-18 iCometrue Company Ltd. Logic drive based on multichip package comprising standard commodity FPGA IC chip with cooperating or supporting circuits
US11887930B2 (en) 2019-08-05 2024-01-30 iCometrue Company Ltd. Vertical interconnect elevator based on through silicon vias
US11637056B2 (en) 2019-09-20 2023-04-25 iCometrue Company Ltd. 3D chip package based on through-silicon-via interconnection elevator
US11600526B2 (en) 2020-01-22 2023-03-07 iCometrue Company Ltd. Chip package based on through-silicon-via connector and silicon interconnection bridge

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0525025A (ja) * 1991-07-22 1993-02-02 Kao Corp 毛髪化粧料
JPH09181598A (ja) * 1995-12-18 1997-07-11 At & T Corp フィールドプログラマブルゲートアレイ
JP2001519133A (ja) * 1997-03-24 2001-10-16 ザイリンクス,インコーポレイテッド Fpga繰返し可能相互接続構成体
JP2003018000A (ja) * 2001-06-29 2003-01-17 Handotai Rikougaku Kenkyu Center:Kk ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4935734A (en) * 1985-09-11 1990-06-19 Pilkington Micro-Electronics Limited Semi-conductor integrated circuits/systems
US5343406A (en) 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5233539A (en) * 1989-08-15 1993-08-03 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5267187A (en) 1990-05-10 1993-11-30 Xilinx Inc Logic structure and circuit for fast carry
US5295090A (en) 1992-05-10 1994-03-15 Xilinx, Inc. Logic structure and circuit for fast carry
US5359468A (en) 1991-08-06 1994-10-25 R-Byte, Inc. Digital data storage tape formatter
US5260610A (en) 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5633830A (en) 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
US5260611A (en) 1991-09-03 1993-11-09 Altera Corporation Programmable logic array having local and long distance conductors
US5436575A (en) 1991-09-03 1995-07-25 Altera Corporation Programmable logic array integrated circuits
US5359242A (en) 1993-01-21 1994-10-25 Altera Corporation Programmable logic with carry-in/carry-out between logic blocks
JP2780555B2 (ja) * 1992-01-29 1998-07-30 日本電気株式会社 キャッシュ・メモリ内蔵型マイクロプロセッサ
US5274581A (en) 1992-05-08 1993-12-28 Altera Corporation Look up table implementation of fast carry for adders and counters
US5365125A (en) 1992-07-23 1994-11-15 Xilinx, Inc. Logic cell for field programmable gate array having optional internal feedback and optional cascade
US5483478A (en) 1992-10-16 1996-01-09 Xilinx, Inc. Method and structure for reducing carry delay for a programmable carry chain
US5349250A (en) 1993-09-02 1994-09-20 Xilinx, Inc. Logic structure and circuit for fast carry
US5481206A (en) 1993-09-02 1996-01-02 Xilinx, Inc. Circuit for fast carry and logic
US5546018A (en) 1993-09-02 1996-08-13 Xilinx, Inc. Fast carry structure with synchronous input
US6154053A (en) 1993-09-02 2000-11-28 Xilinx, Inc. Look-ahead carry structure with homogeneous CLB structure and pitch larger than CLB pitch
US5898319A (en) 1993-09-02 1999-04-27 Xilinx, Inc. Method and structure for providing fast conditional sum in a field programmable gate array
US5629886A (en) 1993-09-02 1997-05-13 Xilinx, Inc. Method and structure for providing fast propagation of a carry signal in a field programmable gate array
US6288570B1 (en) 1993-09-02 2001-09-11 Xilinx, Inc. Logic structure and circuit for fast carry
US5689195A (en) 1995-05-17 1997-11-18 Altera Corporation Programmable logic array integrated circuit devices
US5815003A (en) 1994-11-04 1998-09-29 Altera Corporation Programmable logic integrated circuits with partitioned logic element using shared lab-wide signals
US5909126A (en) 1995-05-17 1999-06-01 Altera Corporation Programmable logic array integrated circuit devices with interleaved logic array blocks
US5631576A (en) 1995-09-01 1997-05-20 Altera Corporation Programmable logic array integrated circuit devices with flexible carry chains
US5818255A (en) 1995-09-29 1998-10-06 Xilinx, Inc. Method and circuit for using a function generator of a programmable logic device to implement carry logic functions
US5675262A (en) 1995-10-26 1997-10-07 Xilinx, Inc. Fast carry-out scheme in a field programmable gate array
US5672985A (en) 1995-12-18 1997-09-30 Altera Corporation Programmable logic array integrated circuits with carry and/or cascade rings
US5898602A (en) 1996-01-25 1999-04-27 Xilinx, Inc. Carry chain circuit with flexible carry function for implementing arithmetic and logical functions
US6107822A (en) * 1996-04-09 2000-08-22 Altera Corporation Logic element for a programmable logic integrated circuit
US5724276A (en) 1996-06-17 1998-03-03 Xilinx, Inc. Logic block structure optimized for sum generation
US5999016A (en) 1996-10-10 1999-12-07 Altera Corporation Architectures for programmable logic devices
US6288568B1 (en) 1996-11-22 2001-09-11 Xilinx, Inc. FPGA architecture with deep look-up table RAMs
US6323682B1 (en) 1996-11-22 2001-11-27 Xilinx, Inc. FPGA architecture with wide function multiplexers
US6297665B1 (en) 1996-11-22 2001-10-02 Xilinx, Inc. FPGA architecture with dual-port deep look-up table RAMS
US5889411A (en) 1997-02-26 1999-03-30 Xilinx, Inc. FPGA having logic element carry chains capable of generating wide XOR functions
US5920202A (en) 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US5905385A (en) * 1997-04-01 1999-05-18 Advanced Micro Devices, Inc. Memory bits used to couple look up table inputs to facilitate increased availability to routing resources particularly for variable sized look up tables for a field programmable gate array (FPGA)
US6021423A (en) 1997-09-26 2000-02-01 Xilinx, Inc. Method for parallel-efficient configuring an FPGA for large FFTS and other vector rotation computations
US6191611B1 (en) 1997-10-16 2001-02-20 Altera Corporation Driver circuitry for programmable logic devices with hierarchical interconnection resources
US6118300A (en) 1998-11-24 2000-09-12 Xilinx, Inc. Method for implementing large multiplexers with FPGA lookup tables
US6157209A (en) 1998-12-18 2000-12-05 Xilinx, Inc. Loadable up-down counter with asynchronous reset
US6154052A (en) 1999-02-04 2000-11-28 Xilinx, Inc. Combined tristate/carry logic mechanism
US6150838A (en) 1999-02-25 2000-11-21 Xilinx, Inc. FPGA configurable logic block with multi-purpose logic/memory circuit
US6400180B2 (en) 1999-02-25 2002-06-04 Xilinix, Inc. Configurable lookup table for programmable logic devices
US6407576B1 (en) * 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
US6388466B1 (en) * 2001-04-27 2002-05-14 Xilinx, Inc. FPGA logic element with variable-length shift register capability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0525025A (ja) * 1991-07-22 1993-02-02 Kao Corp 毛髪化粧料
JPH09181598A (ja) * 1995-12-18 1997-07-11 At & T Corp フィールドプログラマブルゲートアレイ
JP2001519133A (ja) * 1997-03-24 2001-10-16 ザイリンクス,インコーポレイテッド Fpga繰返し可能相互接続構成体
JP2003018000A (ja) * 2001-06-29 2003-01-17 Handotai Rikougaku Kenkyu Center:Kk ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007089180A (ja) * 2005-09-22 2007-04-05 Altera Corp 面積効率に優れたフラクチャブルロジックエレメント
JP2012055004A (ja) * 2007-05-21 2012-03-15 Altera Corp 改良された論理セル機能性の複合論理ブロックを有するプログラマブルロジックデバイス
JP2012142662A (ja) * 2010-12-28 2012-07-26 Kumamoto Univ リコンフィギュラブルロジックブロック、並びに、これを用いたプログラマブル論理回路装置、及び、テクノロジマッピング方法
JP2014003597A (ja) * 2012-05-25 2014-01-09 Semiconductor Energy Lab Co Ltd ルックアップテーブル、及びルックアップテーブルを備えるプログラマブルロジックデバイス
JP2017139797A (ja) * 2012-05-25 2017-08-10 株式会社半導体エネルギー研究所 半導体装置
US10229913B2 (en) 2012-05-25 2019-03-12 Semiconductor Energy Laboratory Co., Ltd. Lookup table and programmable logic device including lookup table
JPWO2014132670A1 (ja) * 2013-03-01 2017-02-02 アトナープ株式会社 再構成する情報を生成する装置および方法
JP2020053059A (ja) * 2019-11-07 2020-04-02 株式会社日立製作所 情報処理装置

Also Published As

Publication number Publication date
US6943580B2 (en) 2005-09-13
JP4537086B2 (ja) 2010-09-01
CN104320129A (zh) 2015-01-28
CN1540865A (zh) 2004-10-27
US20060017460A1 (en) 2006-01-26
EP1445864A2 (en) 2004-08-11
US20040155677A1 (en) 2004-08-12
EP1445864A3 (en) 2005-12-14
CN101820278A (zh) 2010-09-01
CN104320129B (zh) 2020-10-23
US7312632B2 (en) 2007-12-25
US7323902B2 (en) 2008-01-29
US20070222477A1 (en) 2007-09-27
CN1540865B (zh) 2010-05-12

Similar Documents

Publication Publication Date Title
JP4537086B2 (ja) 論理素子、プログラム可能論理装置、データ処理システムおよび論理素子の作成方法
US7330052B2 (en) Area efficient fractureable logic elements
US6798240B1 (en) Logic circuitry with shared lookup table
US6501296B2 (en) Logic/memory circuit having a plurality of operating modes
US7030652B1 (en) LUT-based logic element with support for Shannon decomposition and associated method
US7911230B1 (en) Omnibus logic element for packing or fracturing
US6184712B1 (en) FPGA configurable logic block with multi-purpose logic/memory circuit
US6888373B2 (en) Fracturable incomplete look up table for area efficient logic elements
US7185035B1 (en) Arithmetic structures for programmable logic devices
US8217678B1 (en) Fracturable lookup table and logic element
US10686446B2 (en) Power gated lookup table circuitry
US6201408B1 (en) Hybrid product term and look-up table-based programmable logic device with improved speed and area efficiency
JP5523988B2 (ja) プログラマブル論理回路装置およびその回路決定方法
US6211696B1 (en) Hybrid product term and look-up table-based programmable logic device with improved speed and area efficiency
EP1929631A1 (en) Logic modules for semiconductor integrated circuits
US7119575B1 (en) Logic cell with improved multiplexer, barrel shifter, and crossbarring efficiency
US9768784B2 (en) Transformable logic and routing structures for datapath optimization
US7368942B1 (en) Dedicated resource interconnects
US7098687B1 (en) Flexible routing resources in a programmable logic device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091015

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

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

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees