JP2007089180A - 面積効率に優れたフラクチャブルロジックエレメント - Google Patents

面積効率に優れたフラクチャブルロジックエレメント Download PDF

Info

Publication number
JP2007089180A
JP2007089180A JP2006256398A JP2006256398A JP2007089180A JP 2007089180 A JP2007089180 A JP 2007089180A JP 2006256398 A JP2006256398 A JP 2006256398A JP 2006256398 A JP2006256398 A JP 2006256398A JP 2007089180 A JP2007089180 A JP 2007089180A
Authority
JP
Japan
Prior art keywords
inputs
multiplexer
input
luts
output
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
JP2006256398A
Other languages
English (en)
Other versions
JP5026037B2 (ja
Inventor
Sinan Kaptanoglu
カプタノグル シナン
Bruce B Pedersen
ビー. ペダーセン ブルース
James G Schleicher
ジー. シュライヒャー ジェームス
Jinyong Yuan
ユエン ジンヨン
Michael D Hutton
ディー. ハットン マイケル
David Lewis
ルイス デイビッド
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 JP2007089180A publication Critical patent/JP2007089180A/ja
Application granted granted Critical
Publication of JP5026037B2 publication Critical patent/JP5026037B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Electronic Switches (AREA)

Abstract

【課題】プログラマブルロジックエレメントの面積効率を好適に上げること。
【解決手段】フラクチャブルロジックエレメント(200)は、第一、第二、第三および第四の2入力ルックアップテーブル(2−LUT)(202、204、206、208)を含む。該ロジックエレメントは、また、6個の入力(210、212、214、216、218、220)からなるセットと第一のモードおよび第二のモードで動作するように構成された制御回路(222)とを含む。制御回路(222)が第一のモードで動作するとき、第一の組み合わせ出力が、6個の入力からなるセットの4個の入力と、第一、第二、第三および第四の2−LUTとを使用して生成される。制御回路(222)が第二のモードで動作するとき、第二の組み合わせ出力が、6個の入力からなるセットの3個の入力からなる第一のサブセットと、第一および第二の2−LUTとを使用して生成される。
【選択図】図2

Description

本出願は、プログラマブルロジックデバイスまたは他の同様なデバイスに使用されるロジックエレメントに関する。
プログラマブルロジックデバイス(「PLD」)(CPLD、PAL、PLA、FPLA、EPLD、EEPLD、LCA、FPGAまたは他の名称で呼ばれ得る)は、カスタム集積回路の柔軟性を備えた固定集積回路の利点を提供する周知の集積回路である。このようなデバイスは、業界では周知で、典型的には、ユーザの特定のニーズに合うように電気的にプログラムされ得る部分を少なくとも有する「既製品」デバイスを提供する。特定用途向け集積回路(「ASIC」)は、従来は、固定集積回路であったが、プログラマブルである部分を有するASICを提供することが可能である。このように、集積回路デバイスにとって、集積回路デバイスが、ASICおよびPLDの双方の品質を有するようにすることは可能である。本明細書にて使用されるPLDという用語は、このようなデバイスを含む幅広い意味で考えられる。
PLDは、典型的には、ロジックエレメントのブロックを含み、このロジックエレメントは、ときどき、ロジックアレイブロック(「LAB」)あるいは「コンフィギュラブルロジックブロック」(「CLB」)と称される。「ロジック回路」または「ロジックセル」というような別称もあるロジックエレメント(「LE」)は、ルックアップテーブル(「LUT」)、プロダクトターム、実行チェーン、レジスタおよび他のエレメントを含み得る。
ロジックエレメントは、LUTベースのロジックエレメントも含め、典型的には、構成データを保持するコンフィギュラブルエレメントを含む。コンフィギュラブルエレメントは、ロジックエレメントによって実行される特定の機能を決定する。典型的なLUT回路は、データ(「1」または「0」)を保持するRAMビットを含み得る。しかしながら、他のタイプのコンフィギュラブルエレメントも使用され得る。一部の例には、静的、磁気的、強誘電体あるいは動的なランダムアクセスメモリ、電気的消去可能な読み込み専用メモリ、フラッシュ、ヒューズおよびアンチヒューズのプログラマブル接続を含み得る。構成エレメントのプログラミングは、また、デバイス製造時に、マスクプログラミングを介してもインプリメントされ得る。マスクプログラミングは、先に挙げたフィールドプログラマブルなオプションの一部では不利でもあり得るが、特定の高容量におけるアプリケーションにおいて有用であり得る。本明細書の目的において、「メモリエレメント」は、PLDによってインプリメントされる機能を決定するために構成され得る任意のプログラマブルエレメントを意味して使用される。
上述のように、PLDは、基本ロジックエレメントとして、ルックアップテーブル(LUT)を使用して、構築される。例えば、K−入力ルックアップテーブル(K−LUT)は、典型的には2個のプログラマブルメモリエレメントと、2K〜1個のマルチプレクサツリーを含む。このツリーは、マルチプレクサへのK個の選択入力の制御下にあるストレージエレメントの1つを選択する。これらK個の入力は、K−入力ロジック機能への入力であると考えられ得る。K−入力ロジック機能は、メモリエレメントの中身に適切な値を設定することで、任意の特定の必要とされるロジック機能をインプリメントできる
LUTを備えたロジック回路のコストと速度との間には、トレードオフの関係がある。典型的には、各LUTのコストは、K個の選択によって、指数関数的に大きくなるが、ロジック回路の構築に必要とされるLUTの数は、Kの値が大きければ、よりゆっくりと減少する。しかしながら、大きな値のKに対して直列であると、LUTの数は減らすことができ、ロジック回路をより速くすることができる。例えば、単一のLUTを構築するために、K=4のとき、16個のメモリエレメントと、16:1マルチプレクサが必要とされ、K=6のとき、64個のメモリエレメントと、64:1マルチプレクサが必要とされる。所定のロジック回路は、1000個の4−LUTを必要とし得るが、800個の6−LUTのみを必要とし得る。このような仮定の下、6−LUTを構築するために、さらなるハードウェアが必要とされる。なぜなら、LUTの数を減らすと、各LUTの更なる複雑化を補償するのに十分でないからである。ロジック回路を介する最長の経路は、10個の4−LUTに対し、8個の6−LUTであり得る。このように、回路の6−LUTバージョンは、大きくなり得るが、高速になり得る。さらに、6−LUT回路は、PLDにおいて、プログラマブルなルーティングをさほど要求しないので、コストアップを幾分か抑えられる。
大きなLUTが効率性を欠く理由の一つは、全てのロジック機能が、全てのK個の入力に使用されないからである。上述の例では、800個の6−LUTは、現実には、300個の6−入力機能、300個の5−入力機能、100個の4−入力機能、および、100個の3入力機能を含む。このように、6−LUTに基づくLEは、800個のインスタンスに対し、その最大限界を使用しているのは、300個のインスタンスのみに過ぎない。
このように、プログラマブルな構造を有するロジックエレメントが、比較的大きなLUTあるいは複数の小さなLUTをインプリメントするように構成され得ることに対して、ニーズがある。
好ましい一実施形態において、フラクチャブル(fracturable)ロジックエレメントは、第一、第二、第三および第四の2入力ルックアップテーブル(2−LUT)を含む。各2−LUTは、4つのメモリエレメントを含む。各メモリエレメントは、1データビットを保持するように構成される。フラクチャブルロジックエレメントは、また、6個の入力からなるセットと第一のモードおよび第二のモードで動作するように構成された制御回路とを含む。制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、6個の入力からなるセットの4個の入力と、該第一、第二、第三および第四の2−LUTとを使用して生成される。制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、6個の入力からなるセットの3個の入力からなる第一のサブセットと、第一および第二の2−LUTとを使用して生成される。さらに、制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、6個の入力からなるセットの3個の入力からなる第二のサブセットと、第三および第四の2−LUTとを使用して生成される。第一と第二のサブセットとは、6個の入力からなるセットの重なり合わない(non−intersecting)サブセットである。
本発明は、さらに以下の手段を提供する。
(項目1)
第一、第二、第三および第四の2入力ルックアップテーブル(2−LUT)であって、各2−LUTは4個のメモリエレメントを含み、各メモリエレメントは1データビットを保持するように構成される、第一、第二、第三および第四の2−LUTと、
6個の入力からなるセットと、
第一のモードおよび第二のモードで動作するように構成された制御回路と
を備える、フラクチャブルロジックエレメントであって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該6個の入力からなるセットの4個の入力と、該第一、第二、第三および第四の2−LUTとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該6個の入力からなるセットの3個の入力からなる第一のサブセットと、第一および第二の2−LUTとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該6個の入力からなるセットの3個の入力からなる第二のサブセットと、第三および第四の2−LUTとを使用して生成され、該第一と第二のサブセットとは、該6個の入力からなるセットの重なり合わないサブセットである、フラクチャブルロジックエレメント。
(項目2)
上記6個の入力からなるセットの第一および第四の入力に接続された入力と、上記第一および第二の2−LUTに接続された出力とを有する第一のマルチプレクサと、
上記6個の入力からなるセットの第二および第三の入力に接続された入力と、上記第一および第二の2−LUTに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
上記制御回路は、該第一と第二のマルチプレクサの制御入力に接続され、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第四および第三の入力を、該第一および第二のマルチプレクサから上記第一および第二の2−LUTへの出力として、選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力を、該第一および第二のマルチプレクサから上記第一および第二の2−LUTへの出力として選択する、項目1に記載のフラクチャブルロジックエレメント。
(項目3)
上記第一、第二、第三および第四の2−LUTに接続されたマルチプレクサの階層をさらに備え、
上記制御回路が上記第二のモードで動作するとき、上記第一、第二、第三および第四の入力は、該マルチプレクサの階層によって、該マルチプレクサの階層に対する制御入力として使用される上記6個の入力からなるセットの第五および第六の入力を用いて、多重化される、項目2に記載のフラクチャブルロジックエレメント。
(項目4)
上記マルチプレクサの階層は、
上記第一および第二の2−LUTに接続された入力と、上記第五の入力に接続された制御入力とを有する第三のマルチプレクサと、
上記第三および第四の2−LUTに接続された入力と、上記第五の入力に接続された制御入力とを有する第四のマルチプレクサと、
該第三および第四のマルチプレクサに接続された入力と、上記第六の入力に接続された制御入力とを有する第五のマルチプレクサと
を含む、項目3に記載のフラクチャブルロジックエレメント。
(項目5)
上記第三および第四の2−LUTに接続された入力と、上記第六の入力に接続された制御入力とを有する第六のマルチプレクサと、
上記第四および第五のマルチプレクサの間に接続され、上記第四および第六のマルチプレクサに接続された入力を有する第七のマルチプレクサと、
該第七のマルチプレクサの制御入力に接続された第一のロジックゲートと、
上記第五のマルチプレクサの制御入力に接続され、該第一のロジックゲートおよび上記第六の入力に接続された入力を有する第二のロジックゲートと
をさらに備える、項目4に記載のフラクチャブルロジックエレメント。
(項目6)
以前の(previous)ロジックエレメントと接続されたキャリーチェイン(carry−chain)入力と、次の(subsequent)ロジックエレメントと接続されたキャリーチェイン出力とを有する演算回路をさらに備え、
該演算回路は、上記第一および第二の2−LUTならびに該キャリーチェイン入力からの出力に基づいて、演算和を生成するように構成される、項目1に記載のフラクチャブルロジックエレメント。
(項目7)
キャリーチェイン入力と、上記6個の入力からなるセットの第一および第四の入力とに接続され、該キャリーチェイン入力ならびに該6個の入力からなるセットの第一および第四の入力に基づいて、演算和を生成する、第一の加算器回路と、
上記6個の入力からなるセットの第三および第四の入力とに接続され、該6個の入力からなるセットの第三および第四の入力に基づいて、演算和を生成する、第二の加算器回路と
をさらに備える、項目1に記載のフラクチャブルロジックエレメント。
(項目8)
上記6個の入力からなるセットの4個の入力を使用して、第一の登録出力を生成するために、あるいは、上記6個の入力からなるセットの3個の入力からなる第一のサブセットを使用して、第二の登録出力を生成するために、上記第一、第二、第三および第四の2−LUTの出力に接続されたフリップフロップをさらに備える、項目1に記載のフラクチャブルロジックエレメント。
(項目9)
上記第一および第二の2−LUTの出力に接続された第一の出力ラインと、
上記第一、第二、第三および第四の2−LUTの出力に接続された第二の出力ラインと、
上記フリップフロップに接続された第三の出力ラインと、
該第一、第二および第三の出力ラインに接続された入力を有する第一のマルチプレクサと、
該第一、第二および第三の出力ラインに接続された入力を有する第二のマルチプレクサと
をさらに備える、項目8に記載のフラクチャブルロジックエレメント。
(項目10)
上記第一、第二、第三および第四の2−LUTに接続された入力を有する第一の4:1マルチプレクサと、
上記第一、第二、第三および第四の2−LUTに接続された入力を有する第二の4:1マルチプレクサと
をさらに備える、項目1に記載のフラクチャブルロジックエレメント。
(項目11)
上記6個の入力からなるセットの第五および第一の入力に接続された入力と、第一および第二の2−LUTに接続された出力とを有する第一のマルチプレクサと、
上記6個の入力からなるセットの第二および第四の入力とに接続された入力、第三および第四の2−LUTに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
上記制御回路が上記第一のモードで動作するとき、上記第一の4:1マルチプレクサは、上記6個の入力からなるセットの第一、第二、第五および第六の入力の第一の組み合わせ出力を生成し、上記第二の4:1マルチプレクサは、該6個の入力からなるセットの第一、第二、第三および第四の入力の第一の組み合わせ出力を生成し、
上記制御回路が上記第二のモードで動作するとき、上記第一の4:1マルチプレクサは、上記6個の入力からなるセットの第二、第五および第六の入力の第二の組み合わせ出力を生成し、上記第二の4:1マルチプレクサは、該6個の入力からなるセットの第一、第三および第四の入力の第三の組み合わせ出力を生成する、項目10に記載のフラクチャブルロジックエレメント。
(項目12)
上記第一および第三の入力とに接続された入力を備える第三のマルチプレクサをさらに備え、
上記第一のマルチプレクサが、上記第一の2−LUTに、上記6個の入力からなるセットの第一の入力を出力し、上記第二のマルチプレクサが、上記第四の2−LUTに、上記6個の入力からなるセットの第四の入力を出力し、該第三のマルチプレクサが、上記第三の2−LUTに、上記6個の入力からなるセットの第三の入力を出力するとき、
上記第一の4:1マルチプレクサは、該第一の4:1マルチプレクサ用の制御入力として使用される上記第五および第六の入力を用いて、該第一、第二、第三および第四の入力を多重化する、項目11に記載のフラクチャブルロジックエレメント。
(項目13)
上記第一の4:1マルチプレクサは、2:1マルチプレクサのツリーである、項目10に記載のフラクチャブルロジックエレメント。
(項目14)
項目1に記載のロジックエレメントを備える、プログラマブルロジックデバイス。
(項目15)
項目14に記載のプログラマブルロジックデバイスを包含する、データ処理システム。
(項目16)
第一、第二、第三および第四の2入力ルックアップテーブル(2−LUT)であって、各2−LUTは4個のメモリエレメントを含み、各メモリエレメントは1データビットを保持するように構成される、第一、第二、第三および第四の2−LUTと、
6個の入力からなるセットと、
該6個の入力からなるセットの4個に接続された入力と、該第一、第二、第三および第四の2−LUTの少なくとも2つに接続された出力と有するマルチプレクサのセットと、
該マルチプレクサのセットに接続され、第一のモードおよび第二のモードで動作するように構成された制御回路と
を備える、フラクチャブルロジックエレメントであって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該6個の入力からなるセットの4個の入力と、第一、第二、第三および第四の2−LUTとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該6個の入力からなるセットの3個の入力からなる第一のサブセットと、第一および第二の2−LUTとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該6個の入力からなるセットの3個の入力からなる第二のサブセットと、第三および第四の2−LUTとを使用して生成され、該第一と該第二のサブセットとは、該6個の入力からなるセットの重なり合わないサブセットである、フラクチャブルロジックエレメント。
(項目17)
上記マルチプレクサのセットは、
上記6個の入力からなるセットの第一および第四の入力に接続された入力と、上記第一および第二の2−LUTに接続された出力とを有する第一のマルチプレクサと、
上記6個の入力からなるセットの第二および第三の入力に接続された入力と、上記第一および第二の2−LUTに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
上記制御回路は、該第一および第二のマルチプレクサの制御入力に接続され、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、上記第四および第三の入力を、該第一および第二のマルチプレクサから上記第一および第二の2−LUTへの出力として選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、上記第一および第二の入力を、該第一および第二のマルチプレクサから上記第一および第二の2−LUTへの出力として選択する、項目16に記載のフラクチャブルロジックエレメント。
(項目18)
上記6個の入力からなるセットの第五および第一の入力に接続された入力と、上記第一および第二の2−LUTに接続された出力とを有する第一のマルチプレクサと、
上記6個の入力からなるセットの第二および第四の入力に接続された入力と、上記第三および第四の2−LUTに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
上記制御回路は、該第一および第二のマルチプレクサの制御入力に接続され、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、上記第一および第二の入力を、該第一および第二のマルチプレクサからの出力として選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、上記第五および第四の入力を、該第一および第二のマルチプレクサからの出力として選択する、項目16に記載のフラクチャブルロジックエレメント。
(項目19)
上記第一、第二、第三および第四の2−LUTに接続された入力を有する第一の4:1マルチプレクサと、
上記第一、第二、第三および第四の2−LUTに接続された入力を有する第二の4:1マルチプレクサと
をさらに備え、
上記制御回路が上記第一のモードで動作するとき、該第一の4:1マルチプレクサは、上記6個の入力からなるセットの第一、第二、第五および第六の入力の第一の組み合わせ出力を生成し、該第二の4:1マルチプレクサは、該6個の入力からなるセットの第一、第二、第三および第四の入力の第一の組み合わせ出力を生成し、
上記制御回路が上記第二のモードで動作するとき、該第一の4:1マルチプレクサは、上記6個の入力からなるセットの第二、第五および第六の入力の第二の組み合わせ出力を生成し、該第二の4:1マルチプレクサは、該6個の入力からなるセットの第一、第三および第四の入力の第三の組み合わせ出力を生成する、項目18に記載のフラクチャブルロジックエレメント。
(項目20)
第一、第二、第三および第四の2入力ルックアップテーブル(2−LUT)を形成するステップであって、各2−LUTは4個のメモリエレメントを含み、各メモリエレメントは1データビットを保持するように構成される、ステップと、
6個の入力ラインからなるセットを形成するステップと、
第一のモードおよび第二のモードで動作するように構成された制御回路を形成するステップと
を包含する、フラクチャブルロジックエレメントを製造する方法であって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該6個の入力ラインからなるセットの4個の入力ラインと、該第一、第二、第三および第四の2−LUTとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該6個の入力ラインからなるセットの3個の入力ラインからなる第一のサブセットと、第一および第二の2−LUTとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該6個の入力ラインからなるセットの3個の入力ラインからなる第二のサブセットと、第三および第四の2−LUTとを使用して生成され、該第一と該第二のサブセットとは、該6個の入力ラインからなるセットの重なり合わないサブセットである、方法。
(項目21)
第一のマルチプレクサの入力を上記6個の入力ラインからなるセットの第一および第四の入力ラインに接続するステップと、
該第一のマルチプレクサの出力を上記第一および第二の2−LUTに接続するステップと、
第二のマルチプレクサの入力を上記6個の入力ラインからなるセットの第二および第三の入力ラインに接続するステップと、
該第二のマルチプレクサの出力を上記第一および第二の2−LUTに接続するステップと、
上記制御回路を該第一および第二のマルチプレクサの制御入力に接続するステップと
をさらに包含し、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第四および第三の入力ラインを選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力ラインを選択する、項目20に記載の方法。
(項目22)
第一のマルチプレクサの入力を上記6個の入力ラインからなるセットの第五および第一の入力ラインに接続するステップと、
該第一のマルチプレクサの出力を上記第一および第二の2−LUTに接続するステップと、
第二のマルチプレクサの入力を上記6個の入力ラインからなるセットの第二および第四の入力ラインに接続するステップと、
該第二のマルチプレクサの出力を上記第三および第四の2−LUTに接続するステップと、
上記制御回路を該第一および第二のマルチプレクサの制御入力に接続するステップと
をさらに包含し、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力ラインを選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第五および第四の入力ラインを選択する、項目20に記載の方法。
(項目23)
第一の4:1マルチプレクサの入力を上記第一、第二、第三および第四の2−LUTに接続するステップと、
第二の4:1マルチプレクサの入力を上記第一、第二、第三および第四の2−LUTに接続するステップと
をさらに包含し、
上記制御回路が上記第一のモードで動作するとき、該第一および第二の4:1マルチプレクサは、第一の組み合わせ出力を生成し、
上記制御回路が上記第二のモードで動作するとき、該第一の4:1マルチプレクサは、第二の組み合わせ出力を生成し、該第二の4:1マルチプレクサは、第三の組み合わせ出力を生成する、項目22に記載の方法。
図1を参照すると、例示的な2入力ルックアップテーブル(2−LUT)100が図示されている。2−LUT100は、2:1マルチプレクサ104,106に接続されたメモリエレメント102を含む。特に、各メモリエレメント102は、1データビット(すなわち、1または0)を記憶することができ、各々は、マルチプレクサ104、106の入力に上記ビットを提供するように接続されている。図1に示されているように、マルチプレクサ104,106の制御入力は、入力110に接続されている。マルチプレクサ104、106の出力は、2:1マルチプレクサ108に接続されている。マルチプレクサ108の制御入力は、入力112に接続されている。このため、入力110,112は、メモリエレメント102のうちの任意の1つを2−LUT100の出力114として選択するように使用され得る。
図2を参照すると、フラクチャブルロジックエレメント200の第1の例示的実施形態が示されている。ロジックエレメント200は、4つの2−LUT202,204,206および208と、6つの入力210,212,214,216,218、および220のセットとを含む。各2−LUT202,204,206および208は、4つのメモリエレメントを含む。このため、ロジックエレメント200は、総計16個のメモリエレメントを含み、それらはまたLUTマスクと呼称される。フラクチャブルロジックエレメントに関する追加的な記述としては、2003年2月10日に出願され、「FRACTURABLE LOOKUP TABLE AND LOGIC ELEMENT」と題された米国特許出願シリアル番号10/364,310号を参照されたい。上記特許出願は、参照のため、その全体が本明細書に援用される。
ロジックエレメント200は、第1モードと第2モードとで動作する制御回路222を含む。制御回路222の第1モードにおいて、ロジックエレメント200は、単一の4−LUTとして動作し、ここでは6つの入力のうちの4つが使用され、6つの入力のうちの2つが使用されない。制御回路222の第2のモードにおいて、ロジックエレメント200は、2つの3−LUT(すなわち、3−LUT201と3−LUT203)として動作し、ここでは6つの入力のうち第1のサブセットが第1の3−LUT201に使用され、6つの入力のうちの第2のサブセットが第2の3−LUT203に使用され、第1および第2のサブセットにおける入力は、異なっている。
特に、図2に示されているように、制御回路222は、マルチプレクサ226,228の制御入力に接続された制御ビット224を含む。入力210、216は、マルチプレクサ226に接続されている。入力212,214は、マルチプレクサ228に接続されている。マルチプレクサ226、228の出力は、2−LUT202,204の入力に接続されている。2−LUT202,204の出力は、マルチプレクサ230の入力に接続されている。入力214,216はまた、2−LUT206,208の入力に接続されている。2−LUT206,208の出力は、マルチプレクサ242の入力に接続されている。入力218は、マルチプレクサ246を介してマルチプレクサ230の制御入力に接続されている。入力218はまた、マルチプレクサ242の制御入力に接続されている。マルチプレクサ242の出力は、マルチプレクサ234を介してマルチプレクサ238の入力に接続されている。マルチプレクサ230の出力は、マルチプレクサ238の別の入力に接続されている。入力220は、ロジックゲート240を介してマルチプレクサ238の制御入力に接続されている。
このため、制御回路222が第1モードで動作するとき、制御ビット224は、入力210,212ではなく入力214,216をマルチプレクサ226,228の出力として選択するように、マルチプレクサ226,228を制御する。このため、入力214,216は、2−LUT206,208と同様に2−LUT202,204の入力として使用される。入力218は、2−LUT202,204,206および208の出力の中から選択をするようにマルチプレクサ230,242を制御する。制御ビット224はまた、マルチプレクサ234の出力としてマルチプレクサ242の出力を選択するように、マルチプレクサ234を制御する。入力220は、ロジックゲート240を介することにより、マルチプレクサ230とマルチプレクサ234との間で選択をするようにマルチプレクサ238を制御する。このため、出力ライン234は、4つの入力214,216,218および220の組み合わせ出力を出力する。
制御回路222が第2モードで動作するとき、制御ビット224は、入力214,216ではなく入力210,212をマルチプレクサ226,228の出力として選択するように、マルチプレクサ226,228を制御する。このため、入力210,212は、2−LUT202,204の入力として使用される。入力218は、2−LUT202,204の出力の間で選択をするように、マルチプレクサ246を介してマルチプレクサ230を制御する。このため、出力ライン232は、3つの入力210,212,および218の組み合わせ出力を出力する。
加えて、制御回路222が第2モードで動作するとき、入力214,216は、2−LUT206,208の入力として使用される。入力220は、2−LUT206,208の出力の間で選択をするようにマルチプレクサ236を制御する。制御ビット224は、マルチプレクサ236の出力をマルチプレクサ234の出力として選択する。制御ビット224はまた、ロジックゲート240を介することにより、マルチプレクサ238の出力としてマルチプレクサ234の出力を選択するように、マルチプレクサ238を制御する。このため、出力ライン234は、3つの入力214,216および220の組み合わせ出力を出力する。
本例示的実施形態において、ロジックエレメント200は、1ビット演算を実施するような演算回路243を含んでいる。図2に示されているように、演算回路243は、キャリーチェーン(carry−chain)入力(Cin)244を含んでおり、これは周知のロジックエレメントで生成され、マルチプレクサ246の入力に接続されている。制御ビット248は、入力218とキャリーチェーン入力244との間で選択をするようにマルチプレクサ246を制御する。マルチプレクサ246の出力は、マルチプレクサ230を制御する。このため、演算モードにおいて、マルチプレクサ230は、2−LUT202,204への入力とキャリーチェーン入力244とに基づいて、算術的合計を生成し得る。また図2に示されているように、キャリーチェーン入力244は、以後に続くロジックエレメントに供給されるキャリーチェーン出力(COUT)252を生成するようにマルチプレクサ250を制御する。
本例示的実施形態において、ロジックエレメント200は、出力ライン256上にレジスタ出力を生成するフリップフロップ254を含んでいる。図2に示されているように、フリップフロップ254は、クロック信号258を受信し、フリップフロップ254のデータ入力は、マルチプレクサ260の出力に接続されている。制御ビット262は、入力210,212,218の組み合わせ出力を出力するマルチプレクサ230の出力と、4つの入力214,216,218、および220の組み合わせ出力を出力するマルチプレクサ238の出力との間を選択するように、マルチプレクサ260を制御する。このため、出力ライン256は、3つの入力210,212、および218か、あるいは4つの入力214,216,218、および220のいずれか一方のレジスタ出力を出力する。
図3を参照すると、ロジックエレメント200の第2の例示的実施形態が示されている。ロジックエレメント200の第2の例示的実施形態は、出力ラインの数を3から2に低減して必要なドライバの個数を低減させる3:1マルチプレクサ302,304の追加と共に、第1の例示的実施形態の特徴を含んでいる。図3に示されているように、マルチプレクサ302,304は各々、出力ライン232,234および256に接続されている。このため、マルチプレクサ302,304からの出力ライン306,308上の出力はそれぞれ、出力ライン232,234、および256の間から選択され得る。
図4を参照すると、ロジックエレメント200の第3の例示的実施形態が示されている。ロジックエレメント200の第3の例示的実施形態は、4:1マルチプレキシングモードを実施するロジックゲート402の追加と共に、第1の例示的実施形態の特徴を含んでいる。図4に示されているように、ロジックゲート402は、制御ビット224,404に接続された入力と、ロジックゲート240の入力ならびにマルチプレクサ234の制御入力に接続された出力とを有するORゲートである。
4:1マルチプレキシングモードで動作するため、制御ビット224は、入力210,212を選択するように、制御マルチプレクサ226,228を制御する。入力218は、マルチプレクサ246を介することにより、入力210,212を選択するようにマルチプレクサ230を制御する。入力218はまた、入力214,216の間で選択を行なうようにマルチプレクサ242を制御する。制御ビット404は、マルチプレクサ234への出力としてマルチプレクサ242の出力を選択するように、マルチプレクサ234を制御し、ロジックゲート240を介することにより入力220がマルチプレクサ238を制御するように適切に設定される。このため、入力220は、マルチプレクサ230(入力210,212)とマルチプレクサ234(入力214,216)との間で選択を行なうようにマルチプレクサ238を制御する。2つのSRAM構成ビットを使用し続ける間に、この制御に関する振る舞いが実行可能となるように、複数のマルチプレクサ(例えばマルチプレクサ226)の順序が改変され得ることに注意されたい。
図5を参照すると、ロジックエレメント200の第4の例示的実施形態が示されている。ロジックエレメント200の第4の例示的実施形態は、出力ラインの数を3から2に低減して必要なドライバの個数を低減させるマルチプレクサ302,304の追加と共に、第3の例示的実施形態の特徴を含んでいる。図5に示されているように、マルチプレクサ302,304は各々、出力ライン232,234、および256に接続されている。このため、マルチプレクサ302,304からの出力ライン306,308上の出力はそれぞれ、出力ライン232,234、および256の間から選択され得る。
図6を参照すると、ロジックエレメント200の第5の例示的実施形態が示されている。ロジックエレメント200の第5の例示的実施形態は、第3の例示的実施形態の特徴を含むが、2ビット演算を実施する、加算回路600,602から構成される演算回路243をも有している。ロジックエレメント200の第5の例示的実施形態はまた、第2のフリップフロップ626と第4の出力ライン628とを含んでいる。
加算回路600は、入力210,212に接続された入力を有する排他的OR(XOR)604を含んでいる。マルチプレクサ606の入力は、XOR604の出力と、インバータ608を介することによりXOR604の出力の反転(inverse)とを受信する。マルチプレクサ606の制御入力は、キャリー・チェーン入力244に接続されている。このため、演算モードにおいて、マルチプレクサ606は、入力210,212とキャリー・チェーン入力244とに基づいて、算術的合計を生成し得る。マルチプレクサ610の入力は、マルチプレクサ606とマルチプレクサ230との出力に接続されている。マルチプレクサ610の制御入力は、制御ビット612に接続されている。このため、制御ビット612は、マルチプレクサ606によって生成された和(sum)とマルチプレクサ230の出力との間で選択を行なうようにマルチプレクサ610を制御する。
加算回路602は、入力214,216に接続された入力を有するXOR616を含んでいる。マルチプレクサ618の入力は、XOR616の出力と、インバータ620を介することによりXOR616の出力の反転とを受信する。このため、演算モードにおいて、マルチプレクサ618は、入力214,216に基づいて、算術的合計を生成し得る。マルチプレクサ622の入力は、マルチプレクサ618とマルチプレクサ236との出力に接続されている。マルチプレクサ622の制御入力は、制御ビット624に接続されている。このため、制御ビット624は、マルチプレクサ618によって生成された和とマルチプレクサ236の出力との間で選択を行なうようにマルチプレクサ622を制御する。
本例示的実施形態において、ロジックエレメント200は、出力ライン628上に第2のレジスタ出力を生成する第2のフリップフロップ626を含んでいる。図6に示されているように、フリップフロップ626は、クロック信号258を受信し、フリップフロップ626のデータ入力は、マルチプレクサ630の出力に接続されている。制御ビット632は、マルチプレクサ610の出力とマルチプレクサ238の出力との間で選択を行なうようにマルチプレクサ630を制御する。
図7を参照すると、ロジックエレメント200の第6の実施形態が示されている。本例示的実施形態において、ロジックエレメント200は、2−LUT202,204,206および208のロジックエレメント/LUTマスクを共有する2つの4入力ロジック機能(logic function)を実行するように構成され得る。
図7に示されているように、本例示的実施形態において、第1の4:1マルチプレクサ702は、各2−LUT202,204,206、および208からの入力を受信する。第2の4:1マルチプレクサ704もまた、各2−LUT202,204,206、および208からの入力を受信する。制御回路222は、マルチプレクサ708,710の制御入力に接続された制御ビット706を含んでいる。入力210,218は、マルチプレクサ708の入力に接続されている。マルチプレクサ708の出力は、2−LUT202,204の入力に接続されている。2−LUT202,204の出力は、4:1マルチプレクサ702,704に接続されている。入力218はまた、マルチプレクサ710の入力に接続されている。マルチプレクサ710の出力は、4:1マルチプレクサ702の制御入力に接続されている。入力220は、4:1マルチプレクサ702の別の制御入力に接続されている。
制御回路222はまた、マルチプレクサ714,716の制御入力に接続された制御ビット712を含んでいる。入力212,216は、マルチプレクサ714の入力に接続されている。マルチプレクサ714の出力は、2−LUT206,208の入力に接続されている。2−LUT206,208の出力は、4:1マルチプレクサ702,704に接続されている。入力216は、4:1マルチプレクサ704の制御入力に接続されている。入力214は、4:1マルチプレクサ704の別の制御入力に接続されている。
制御回路222が第1モードで動作するとき、制御ビット706は、マルチプレクサ708の出力として入力218ではなく入力210を選択するように、制御マルチプレクサ708を制御する。制御ビット712は、マルチプレクサ714の出力として入力212を選択するようにマルチプレクサ714を制御する。このように、入力210、212は、2−LUT202,204と同じく2−LUT206,208の入力として使用される。制御ビット706は、マルチプレクサ710の出力として入力218を選択するように、マルチプレクサ710を制御する。このため、4:1マルチプレクサ702は、入力218,220によって制御され、4:1マルチプレクサ702の出力は、4つの入力210,212,218および220の組み合わせ出力となる。加えて、制御ビット712は、マルチプレクサ716の出力として入力216を選択するように、マルチプレクサ716を制御する。このため、4:1マルチプレクサ702は、入力214,216によって制御され、4:1マルチプレクサ704の出力は、4つの入力210,212,214、および216の組み合わせ出力となる。
制御回路222が第2モードで動作するとき、制御ビット706は、マルチプレクサ708の出力として入力210ではなく入力218を選択するように、マルチプレクサ708を制御する。このため、入力212,218は、2−LUT202,204の入力として使用される。入力220は、4:1マルチプレクサ702を制御する。このため、4:1マルチプレクサ702の出力は、3つの入力212,218、および220の組み合わせ出力となる。
加えて、制御回路222が第2モードで動作するとき、制御ビット712は、マルチプレクサ714の出力として入力216を選択するように、マルチプレクサ714を制御する。このため、入力210,216は、2−LUT206,208の入力として使用される。入力214は、4:1マルチプレクサ704を制御する。このため、4:1マルチプレクサ704の出力は、3つの入力210,214、および216の組み合わせ出力となる。
各4:1マルチプレクサ702,704が複数の2:1マルチプレクサのツリーとして実施され得ることが理解される。例えば、図8を参照すると、4:1マルチプレクサ702は、2:1マルチプレクサ802,804,806のツリーとして実施し得る。マルチプレクサ802の入力は、2−LUT202(図7)の出力と、2−LUT206(図7)の出力とにそれぞれ接続されている。マルチプレクサ804の入力は、2−LUT204(図7)の出力と2−LUT208(図7)の出力とにそれぞれ接続されている。マルチプレクサ802,804の制御入力は、入力218に接続されている。マルチプレクサ802,804の出力は、マルチプレクサ806の入力に接続されている。マルチプレクサ806の制御入力は、入力220に接続されている。
共有LUTマスクに関する追加的な記述としては、2004年3月25日に出願され、「OMNIBUS LOGIC ELEMENT」と題された米国特許出願シリアル番号10/810,117号を参照されたい。上記特許出願は、参照のため、その全体が本明細書に援用される。さらに、2003年1月24日に出願され、「LOGIC CIRCUITRY WITH SHARED LOOKUP TABLE」と題された米国特許出願シリアル番号10/351,026号を参照されたい。上記特許出願は、参照のため、その全体が本明細書に援用される。
図9を参照すると、ロジックエレメント200の第7の例示的実施形態が示されている。ロジックエレメント200の第7の実施形態は、4:1マルチプレキシングモードを実施するマルチプレクサ902の追加と共に、第6の例示的実施形態の特徴を含んでいる。図9に示されているように、マルチプレクサ902は、制御ビット904の制御の下、入力210,214を選択する。
4:1マルチプレキシングモードで動作するために、制御ビット706は、入力210を選択するようにマルチプレクサ708を制御する。制御ビット904は、入力214を選択するようにマルチプレクサ902を制御する。制御ビット712は、入力216を選択するようにマルチプレクサ714を制御する。このため、入力210,212,214、および216は、4:1マルチプレクサ702への入力として使用される。入力218,220は、4:1マルチプレクサ702を制御する。
図10を参照すると、例示的なデータ処理システム1000が示されている。データ処理システム1000は、ロジックエレメント200に関する上述されたような実施形態を含み得るPLD1010を含んでいる。PLD1010は、図示されているLAB1012のような複数のロジックアレイブロック(LAB;logic array block)を含んでいる。(過度に複雑にならないようにするため、唯1つのLABのみが示されている)。LAB1012は、ロジックエレメント200のような複数のロジックエレメントを含んでいる。(過度に複雑にならないようにするため、唯1つのロジックエレメントのみが示されている)。データ処理システム1000は、以下のコンポーネントの1つ以上を含み得る:プロセッサ1040、メモリ1050、I/O回路1020、および周辺デバイス1030。これらのコンポーネントは、システムバス1060によって互いに接続されており、エンドユーザシステム1080に含まれる回路基板1070の上に配置されている。
データ処理システム1000は、例えばコンピュータネットワーク、データネットワーク、計測機器、ビデオ処理装置、デジタル信号処理装置、あるいは、プログラマブルロジックまたはリプログラマブルロジックを使用することが望ましいその他任意のアプリケーションのような、多種多様なアプリケーションに使用され得る。PLD1010は、様々な異なるロジック機能を実行するように使用され得る。例えば、PLD1010は、プロセッサか、またはプロセッサ1040と協働するコントローラとして構成され得る(あるいは、代替的な実施形態において、PLDはそれ自身が単独システムプロセッサとして機能する)。PLD1010はまた、システム1000における共有リソースへのアクセスを仲裁するアービーター(arbiter)として使用され得る。さらに別の実施形態において、PLD1010は、プロセッサ1040とシステム1000におけるその他のコンポーネントのうちの1つとの間のインターフェースとして構成され得る。システム1000は、単に例示のためのものであることに注意されたい。
様々な例示的実施形態が記述されてきたが、当業者により様々な改変と代替とがなされ得ることが理解される。
例示的な2入力ルックアップテーブル(2−LUT)に関する回路図である。 例示的なフラクチャブルロジックエレメントの回路図である。 別の例示的なフラクチャブルロジックエレメントの回路図である。 別の例示的なフラクチャブルロジックエレメントの回路図である。 別の例示的なフラクチャブルロジックエレメントの回路図である。 別の例示的なフラクチャブルロジックエレメントの回路図である。 別の例示的なフラクチャブルロジックエレメントの回路図である。 2:1マルチプレクサのツリーとして実装された例示的な4:1マルチプレクサの回路図である。 例示的なフラクチャブルロジックエレメントの回路図である。 例示的なデータ処理システムのブロック図である。
符号の説明
102 メモリエレメント
200 フラクチャブルロジックエレメント
202,204,206,208 2−LUT
210,212,214,216,218,220 入力
222 制御回路
1000 データ処理システム
1010 PLD

Claims (23)

  1. 第一、第二、第三および第四の2入力ルックアップテーブル(2−LUT)であって、各2−LUTは4個のメモリエレメントを含み、各メモリエレメントは1データビットを保持するように構成される、第一、第二、第三および第四の2−LUTと、
    6個の入力からなるセットと、
    第一のモードおよび第二のモードで動作するように構成された制御回路と
    を備える、フラクチャブルロジックエレメントであって、
    該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該6個の入力からなるセットの4個の入力と、該第一、第二、第三および第四の2−LUTとを使用して生成され、
    該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該6個の入力からなるセットの3個の入力からなる第一のサブセットと、第一および第二の2−LUTとを使用して生成され、
    該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該6個の入力からなるセットの3個の入力からなる第二のサブセットと、第三および第四の2−LUTとを使用して生成され、該第一と第二のサブセットとは、該6個の入力からなるセットの重なり合わないサブセットである、フラクチャブルロジックエレメント。
  2. 前記6個の入力からなるセットの第一および第四の入力に接続された入力と、前記第一および第二の2−LUTに接続された出力とを有する第一のマルチプレクサと、
    前記6個の入力からなるセットの第二および第三の入力に接続された入力と、前記第一および第二の2−LUTに接続された出力とを有する第二のマルチプレクサと
    をさらに備え、
    前記制御回路は、該第一と第二のマルチプレクサの制御入力に接続され、
    前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第四および第三の入力を、該第一および第二のマルチプレクサから前記第一および第二の2−LUTへの出力として、選択し、
    前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力を、該第一および第二のマルチプレクサから前記第一および第二の2−LUTへの出力として選択する、請求項1に記載のフラクチャブルロジックエレメント。
  3. 前記第一、第二、第三および第四の2−LUTに接続されたマルチプレクサの階層をさらに備え、
    前記制御回路が前記第二のモードで動作するとき、前記第一、第二、第三および第四の入力は、該マルチプレクサの階層によって、該マルチプレクサの階層に対する制御入力として使用される前記6個の入力からなるセットの第五および第六の入力を用いて、多重化される、請求項2に記載のフラクチャブルロジックエレメント。
  4. 前記マルチプレクサの階層は、
    前記第一および第二の2−LUTに接続された入力と、前記第五の入力に接続された制御入力とを有する第三のマルチプレクサと、
    前記第三および第四の2−LUTに接続された入力と、前記第五の入力に接続された制御入力とを有する第四のマルチプレクサと、
    該第三および第四のマルチプレクサに接続された入力と、前記第六の入力に接続された制御入力とを有する第五のマルチプレクサと
    を含む、請求項3に記載のフラクチャブルロジックエレメント。
  5. 前記第三および第四の2−LUTに接続された入力と、前記第六の入力に接続された制御入力とを有する第六のマルチプレクサと、
    前記第四および第五のマルチプレクサの間に接続され、前記第四および第六のマルチプレクサに接続された入力を有する第七のマルチプレクサと、
    該第七のマルチプレクサの制御入力に接続された第一のロジックゲートと、
    前記第五のマルチプレクサの制御入力に接続され、該第一のロジックゲートおよび前記第六の入力に接続された入力を有する第二のロジックゲートと
    をさらに備える、請求項4に記載のフラクチャブルロジックエレメント。
  6. 以前のロジックエレメントと接続されたキャリーチェイン入力と、次のロジックエレメントと接続されたキャリーチェイン出力とを有する演算回路をさらに備え、
    該演算回路は、前記第一および第二の2−LUTならびに該キャリーチェイン入力からの出力に基づいて、演算和を生成するように構成される、請求項1に記載のフラクチャブルロジックエレメント。
  7. キャリーチェイン入力と、前記6個の入力からなるセットの第一および第四の入力とに接続され、該キャリーチェイン入力ならびに該6個の入力からなるセットの第一および第四の入力に基づいて、演算和を生成する、第一の加算器回路と、
    前記6個の入力からなるセットの第三および第四の入力とに接続され、該6個の入力からなるセットの第三および第四の入力に基づいて、演算和を生成する、第二の加算器回路と
    をさらに備える、請求項1に記載のフラクチャブルロジックエレメント。
  8. 前記6個の入力からなるセットの4個の入力を使用して、第一の登録出力を生成するために、あるいは、前記6個の入力からなるセットの3個の入力からなる第一のサブセットを使用して、第二の登録出力を生成するために、前記第一、第二、第三および第四の2−LUTの出力に接続されたフリップフロップをさらに備える、請求項1に記載のフラクチャブルロジックエレメント。
  9. 前記第一および第二の2−LUTの出力に接続された第一の出力ラインと、
    前記第一、第二、第三および第四の2−LUTの出力に接続された第二の出力ラインと、
    前記フリップフロップに接続された第三の出力ラインと、
    該第一、第二および第三の出力ラインに接続された入力を有する第一のマルチプレクサと、
    該第一、第二および第三の出力ラインに接続された入力を有する第二のマルチプレクサと
    をさらに備える、請求項8に記載のフラクチャブルロジックエレメント。
  10. 前記第一、第二、第三および第四の2−LUTに接続された入力を有する第一の4:1マルチプレクサと、
    前記第一、第二、第三および第四の2−LUTに接続された入力を有する第二の4:1マルチプレクサと
    をさらに備える、請求項1に記載のフラクチャブルロジックエレメント。
  11. 前記6個の入力からなるセットの第五および第一の入力に接続された入力と、第一および第二の2−LUTに接続された出力とを有する第一のマルチプレクサと、
    前記6個の入力からなるセットの第二および第四の入力とに接続された入力、第三および第四の2−LUTに接続された出力とを有する第二のマルチプレクサと
    をさらに備え、
    前記制御回路が前記第一のモードで動作するとき、前記第一の4:1マルチプレクサは、前記6個の入力からなるセットの第一、第二、第五および第六の入力の第一の組み合わせ出力を生成し、前記第二の4:1マルチプレクサは、該6個の入力からなるセットの第一、第二、第三および第四の入力の第一の組み合わせ出力を生成し、
    前記制御回路が前記第二のモードで動作するとき、前記第一の4:1マルチプレクサは、前記6個の入力からなるセットの第二、第五および第六の入力の第二の組み合わせ出力を生成し、前記第二の4:1マルチプレクサは、該6個の入力からなるセットの第一、第三および第四の入力の第三の組み合わせ出力を生成する、請求項10に記載のフラクチャブルロジックエレメント。
  12. 前記第一および第三の入力とに接続された入力を備える第三のマルチプレクサをさらに備え、
    前記第一のマルチプレクサが、前記第一の2−LUTに、前記6個の入力からなるセットの第一の入力を出力し、前記第二のマルチプレクサが、前記第四の2−LUTに、前記6個の入力からなるセットの第四の入力を出力し、該第三のマルチプレクサが、前記第三の2−LUTに、前記6個の入力からなるセットの第三の入力を出力するとき、
    前記第一の4:1マルチプレクサは、該第一の4:1マルチプレクサ用の制御入力として使用される前記第五および第六の入力を用いて、該第一、第二、第三および第四の入力を多重化する、請求項11に記載のフラクチャブルロジックエレメント。
  13. 前記第一の4:1マルチプレクサは、2:1マルチプレクサのツリーである、請求項10に記載のフラクチャブルロジックエレメント。
  14. 請求項1に記載のロジックエレメントを備える、プログラマブルロジックデバイス。
  15. 請求項14に記載のプログラマブルロジックデバイスを包含する、データ処理システム。
  16. 第一、第二、第三および第四の2入力ルックアップテーブル(2−LUT)であって、各2−LUTは4個のメモリエレメントを含み、各メモリエレメントは1データビットを保持するように構成される、第一、第二、第三および第四の2−LUTと、
    6個の入力からなるセットと、
    該6個の入力からなるセットの4個に接続された入力と、該第一、第二、第三および第四の2−LUTの少なくとも2つに接続された出力と有するマルチプレクサのセットと、
    該マルチプレクサのセットに接続され、第一のモードおよび第二のモードで動作するように構成された制御回路と
    を備える、フラクチャブルロジックエレメントであって、
    該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該6個の入力からなるセットの4個の入力と、第一、第二、第三および第四の2−LUTとを使用して生成され、
    該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該6個の入力からなるセットの3個の入力からなる第一のサブセットと、第一および第二の2−LUTとを使用して生成され、
    該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該6個の入力からなるセットの3個の入力からなる第二のサブセットと、第三および第四の2−LUTとを使用して生成され、該第一と該第二のサブセットとは、該6個の入力からなるセットの重なり合わないサブセットである、フラクチャブルロジックエレメント。
  17. 前記マルチプレクサのセットは、
    前記6個の入力からなるセットの第一および第四の入力に接続された入力と、前記第一および第二の2−LUTに接続された出力とを有する第一のマルチプレクサと、
    前記6個の入力からなるセットの第二および第三の入力に接続された入力と、前記第一および第二の2−LUTに接続された出力とを有する第二のマルチプレクサと
    をさらに備え、
    前記制御回路は、該第一および第二のマルチプレクサの制御入力に接続され、
    前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、前記第四および第三の入力を、該第一および第二のマルチプレクサから前記第一および第二の2−LUTへの出力として選択し、
    前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、前記第一および第二の入力を、該第一および第二のマルチプレクサから前記第一および第二の2−LUTへの出力として選択する、請求項16に記載のフラクチャブルロジックエレメント。
  18. 前記6個の入力からなるセットの第五および第一の入力に接続された入力と、前記第一および第二の2−LUTに接続された出力とを有する第一のマルチプレクサと、
    前記6個の入力からなるセットの第二および第四の入力に接続された入力と、前記第三および第四の2−LUTに接続された出力とを有する第二のマルチプレクサと
    をさらに備え、
    前記制御回路は、該第一および第二のマルチプレクサの制御入力に接続され、
    前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、前記第一および第二の入力を、該第一および第二のマルチプレクサからの出力として選択し、
    前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、前記第五および第四の入力を、該第一および第二のマルチプレクサからの出力として選択する、請求項16に記載のフラクチャブルロジックエレメント。
  19. 前記第一、第二、第三および第四の2−LUTに接続された入力を有する第一の4:1マルチプレクサと、
    前記第一、第二、第三および第四の2−LUTに接続された入力を有する第二の4:1マルチプレクサと
    をさらに備え、
    前記制御回路が前記第一のモードで動作するとき、該第一の4:1マルチプレクサは、前記6個の入力からなるセットの第一、第二、第五および第六の入力の第一の組み合わせ出力を生成し、該第二の4:1マルチプレクサは、該6個の入力からなるセットの第一、第二、第三および第四の入力の第一の組み合わせ出力を生成し、
    前記制御回路が前記第二のモードで動作するとき、該第一の4:1マルチプレクサは、前記6個の入力からなるセットの第二、第五および第六の入力の第二の組み合わせ出力を生成し、該第二の4:1マルチプレクサは、該6個の入力からなるセットの第一、第三および第四の入力の第三の組み合わせ出力を生成する、請求項18に記載のフラクチャブルロジックエレメント。
  20. 第一、第二、第三および第四の2入力ルックアップテーブル(2−LUT)を形成するステップであって、各2−LUTは4個のメモリエレメントを含み、各メモリエレメントは1データビットを保持するように構成される、ステップと、
    6個の入力ラインからなるセットを形成するステップと、
    第一のモードおよび第二のモードで動作するように構成された制御回路を形成するステップと
    を包含する、フラクチャブルロジックエレメントを製造する方法であって、
    該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該6個の入力ラインからなるセットの4個の入力ラインと、該第一、第二、第三および第四の2−LUTとを使用して生成され、
    該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該6個の入力ラインからなるセットの3個の入力ラインからなる第一のサブセットと、第一および第二の2−LUTとを使用して生成され、
    該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該6個の入力ラインからなるセットの3個の入力ラインからなる第二のサブセットと、第三および第四の2−LUTとを使用して生成され、該第一と該第二のサブセットとは、該6個の入力ラインからなるセットの重なり合わないサブセットである、方法。
  21. 第一のマルチプレクサの入力を前記6個の入力ラインからなるセットの第一および第四の入力ラインに接続するステップと、
    該第一のマルチプレクサの出力を前記第一および第二の2−LUTに接続するステップと、
    第二のマルチプレクサの入力を前記6個の入力ラインからなるセットの第二および第三の入力ラインに接続するステップと、
    該第二のマルチプレクサの出力を前記第一および第二の2−LUTに接続するステップと、
    前記制御回路を該第一および第二のマルチプレクサの制御入力に接続するステップと
    をさらに包含し、
    前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第四および第三の入力ラインを選択し、
    前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力ラインを選択する、請求項20に記載の方法。
  22. 第一のマルチプレクサの入力を前記6個の入力ラインからなるセットの第五および第一の入力ラインに接続するステップと、
    該第一のマルチプレクサの出力を前記第一および第二の2−LUTに接続するステップと、
    第二のマルチプレクサの入力を前記6個の入力ラインからなるセットの第二および第四の入力ラインに接続するステップと、
    該第二のマルチプレクサの出力を前記第三および第四の2−LUTに接続するステップと、
    前記制御回路を該第一および第二のマルチプレクサの制御入力に接続するステップと
    をさらに包含し、
    前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力ラインを選択し、
    前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第五および第四の入力ラインを選択する、請求項20に記載の方法。
  23. 第一の4:1マルチプレクサの入力を前記第一、第二、第三および第四の2−LUTに接続するステップと、
    第二の4:1マルチプレクサの入力を前記第一、第二、第三および第四の2−LUTに接続するステップと
    をさらに包含し、
    前記制御回路が前記第一のモードで動作するとき、該第一および第二の4:1マルチプレクサは、第一の組み合わせ出力を生成し、
    前記制御回路が前記第二のモードで動作するとき、該第一の4:1マルチプレクサは、第二の組み合わせ出力を生成し、該第二の4:1マルチプレクサは、第三の組み合わせ出力を生成する、請求項22に記載の方法。
JP2006256398A 2005-09-22 2006-09-21 面積効率に優れたフラクチャブルロジックエレメント Expired - Fee Related JP5026037B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/234,538 US7330052B2 (en) 2005-09-22 2005-09-22 Area efficient fractureable logic elements
US11/234,538 2005-09-22

Publications (2)

Publication Number Publication Date
JP2007089180A true JP2007089180A (ja) 2007-04-05
JP5026037B2 JP5026037B2 (ja) 2012-09-12

Family

ID=37492422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006256398A Expired - Fee Related JP5026037B2 (ja) 2005-09-22 2006-09-21 面積効率に優れたフラクチャブルロジックエレメント

Country Status (5)

Country Link
US (1) US7330052B2 (ja)
EP (1) EP1770865B1 (ja)
JP (1) JP5026037B2 (ja)
CN (1) CN1937409B (ja)
DE (1) DE602006016388D1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013004998A (ja) * 2011-06-12 2013-01-07 National Institute Of Advanced Industrial & Technology Cmosインバータを用いたマルチプレクサ、デマルチプレクサ、ルックアップテーブルおよび集積回路
JP5360194B2 (ja) * 2009-03-18 2013-12-04 日本電気株式会社 再構成可能な論理回路
JP2014179975A (ja) * 2013-02-13 2014-09-25 Semiconductor Energy Lab Co Ltd プログラマブルロジックデバイス、及び半導体装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7902864B1 (en) * 2005-12-01 2011-03-08 Altera Corporation Heterogeneous labs
US7812633B1 (en) * 2006-04-03 2010-10-12 Altera Corporation Apparatus and method for the arithmetic over-ride of look up table outputs in a programmable logic device
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
US7394287B1 (en) * 2007-05-21 2008-07-01 Altera Corporation Programmable logic device having complex logic blocks with improved logic cell functionality
US7459932B1 (en) * 2007-05-24 2008-12-02 Altera Corporation Programmable logic device having logic modules with improved register capabilities
US8519740B2 (en) 2012-01-06 2013-08-27 Altera Corporation Integrated circuits with shared interconnect buses
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
US9571103B2 (en) * 2012-05-25 2017-02-14 Semiconductor Energy Laboratory Co., Ltd. Lookup table and programmable logic device including lookup table
WO2015051105A1 (en) * 2013-10-02 2015-04-09 The Penn State Research Foundation Techniques and devices for performing arithmetic
CN103762974B (zh) * 2014-01-26 2016-09-14 无锡中微亿芯有限公司 多功能可配置的六输入查找表结构
EP3157171B1 (en) * 2015-10-15 2020-06-03 Menta Logic block architecture for programmable gate array
US10312918B2 (en) * 2017-02-13 2019-06-04 High Performance Data Storage And Processing Corporation Programmable logic design
US10530397B2 (en) * 2017-07-17 2020-01-07 Texas Instruments Incorporated Butterfly network on load data return
US11256476B2 (en) 2019-08-08 2022-02-22 Achronix Semiconductor Corporation Multiple mode arithmetic circuit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003018000A (ja) * 2001-06-29 2003-01-17 Handotai Rikougaku Kenkyu Center:Kk ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法
JP2004248282A (ja) * 2003-02-10 2004-09-02 Altera Corp 論理素子、プログラム可能論理装置、データ処理システムおよび論理素子の作成方法
JP2004248293A (ja) * 2003-02-11 2004-09-02 Altera Corp 面積効率の高い論理要素のためのフラクチャ可能な不完全ルックアップテーブル

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747480B1 (en) 2002-07-12 2004-06-08 Altera Corporation Programmable logic devices with bidirect ional cascades
US6798240B1 (en) 2003-01-24 2004-09-28 Altera Corporation Logic circuitry with shared lookup table
US7185035B1 (en) * 2003-10-23 2007-02-27 Altera Corporation Arithmetic structures for programmable logic devices
US7176716B2 (en) * 2003-12-24 2007-02-13 Viciciv Technology Look-up table structure with embedded carry logic
US7167022B1 (en) * 2004-03-25 2007-01-23 Altera Corporation Omnibus logic element including look up table based logic elements

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003018000A (ja) * 2001-06-29 2003-01-17 Handotai Rikougaku Kenkyu Center:Kk ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法
JP2004248282A (ja) * 2003-02-10 2004-09-02 Altera Corp 論理素子、プログラム可能論理装置、データ処理システムおよび論理素子の作成方法
JP2004248293A (ja) * 2003-02-11 2004-09-02 Altera Corp 面積効率の高い論理要素のためのフラクチャ可能な不完全ルックアップテーブル

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5360194B2 (ja) * 2009-03-18 2013-12-04 日本電気株式会社 再構成可能な論理回路
JP2013004998A (ja) * 2011-06-12 2013-01-07 National Institute Of Advanced Industrial & Technology Cmosインバータを用いたマルチプレクサ、デマルチプレクサ、ルックアップテーブルおよび集積回路
JP2014179975A (ja) * 2013-02-13 2014-09-25 Semiconductor Energy Lab Co Ltd プログラマブルロジックデバイス、及び半導体装置
US10230368B2 (en) 2013-02-13 2019-03-12 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device and semiconductor device
TWI687051B (zh) * 2013-02-13 2020-03-01 日商半導體能源研究所股份有限公司 可程式邏輯裝置及半導體裝置

Also Published As

Publication number Publication date
US20070063732A1 (en) 2007-03-22
JP5026037B2 (ja) 2012-09-12
DE602006016388D1 (de) 2010-10-07
EP1770865A1 (en) 2007-04-04
EP1770865B1 (en) 2010-08-25
US7330052B2 (en) 2008-02-12
CN1937409B (zh) 2012-01-25
CN1937409A (zh) 2007-03-28

Similar Documents

Publication Publication Date Title
JP5026037B2 (ja) 面積効率に優れたフラクチャブルロジックエレメント
US7030650B1 (en) Fracturable incomplete look up table area efficient logic elements
US7274211B1 (en) Structures and methods for implementing ternary adders/subtractors in programmable logic devices
US7312632B2 (en) Fracturable lookup table and logic element
US7538579B1 (en) Omnibus logic element
US7075333B1 (en) Programmable circuit optionally configurable as a lookup table or a wide multiplexer
US7317330B2 (en) Logic circuitry with shared lookup table
US6864714B2 (en) PLDs providing reduced delays in cascade chain circuits
KR102400967B1 (ko) 집적 회로 내에서 파워를 제어하기 위한 회로들 및 방법들
US7890910B1 (en) Programmable logic device having logic elements with dedicated hardware to configure look up tables as registers
JPH06295233A (ja) プログラム可能な論理装置および再プログラム可能な論理において論理機能を実現する方法
JP2006020329A (ja) プログラマブル論理の特定用途向け集積回路等価物および関連の方法
JP2008289151A (ja) 改良された論理セル機能性の複合論理ブロックを有するプログラマブルロジックデバイス
US7185035B1 (en) Arithmetic structures for programmable logic devices
US8217678B1 (en) Fracturable lookup table and logic element
US7239173B1 (en) Programmable memory element with power save mode in a programmable logic device
US7696783B2 (en) Logic modules for semiconductor integrated circuits
JP5523988B2 (ja) プログラマブル論理回路装置およびその回路決定方法
KR20210084500A (ko) 리프로그래밍 가능 집적 회로 장치의 부분 재구성 동안 안정적인 io 인터페이스를 보장하기 위한 회로 및 방법
US9768784B2 (en) Transformable logic and routing structures for datapath optimization
US6703862B1 (en) Efficient loadable registers in programmable logic devices
JPH09181598A (ja) フィールドプログラマブルゲートアレイ
US7010777B1 (en) Shared lookup table enhancements for the efficient implementation of barrel shifters
US6879184B1 (en) Programmable logic device architecture based on arrays of LUT-based Boolean terms
CN106024056B (zh) 基于复用器的三态内容寻址存储器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

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

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

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5026037

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees