[go: up one dir, main page]

JP2006518143A - プログラマブルロジックセルのアレイを有する電子回路 - Google Patents

プログラマブルロジックセルのアレイを有する電子回路 Download PDF

Info

Publication number
JP2006518143A
JP2006518143A JP2006502586A JP2006502586A JP2006518143A JP 2006518143 A JP2006518143 A JP 2006518143A JP 2006502586 A JP2006502586 A JP 2006502586A JP 2006502586 A JP2006502586 A JP 2006502586A JP 2006518143 A JP2006518143 A JP 2006518143A
Authority
JP
Japan
Prior art keywords
programmable logic
input
output
circuit
carry
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.)
Withdrawn
Application number
JP2006502586A
Other languages
English (en)
Inventor
カタルツィナ、レイェテン‐ノバック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006518143A publication Critical patent/JP2006518143A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Logic Circuits (AREA)

Abstract

本電子回路は、マルチビットオペランドモードおよび多重化モードで動作するように構成することのできる複数のプログラマブルロジックユニットを備えた、プログラマブルロジックセルを有する。プログラマブルロジックユニットは、入力回路と出力回路との間に並列に結合される。マルチビットオペランド処理モードでは、入力回路は、複数のロジック入力端のうちの異なる複数のロジック入力からのロジック入力信号を複数のプログラマブルロジックユニットに供給するように構成される。複数のプログラマブルロジックユニットは、少なくともマルチビットオペランドモードではキャリーチェーンに沿った複数の連続的な位置に結合されて、キャリーチェーンからの複数の桁上げ信号を処理する。出力回路は、マルチビットオペランドモードで、複数のプログラマブルロジックユニットからの複数の出力を並列に渡す。複数のプログラマブルロジックユニットは、複数の同じ構成ビットを共有する複数のルックアップテーブルを有する。複数のプログラマブルロジックユニットはまた、多重化動作モードで動作するように構成されたときにおいては、複数の受領済み入力信号のうちの1つを渡すためのマルチプレクサを有することもできる。

Description

本発明は、プログラマブルロジックセルのアレイを有する電子回路に関する。
プログラマブルロジックセルは、回路設計者が、集積回路など量産された電子回路の個別インスタンス(individual instance)のロジック機能を備えさせることを可能にする。これにより、実用的な回路の設計から生産までの時間間隔が短縮され、少量単位の製品の生産と、プロトタイピングとにかかる製造コストが削減される。
一実装形態の一例では、プログラマブルセルは、セルの入力信号によってアドレス指定されるメモリを含み、メモリは、入力信号値の各組合せに対する事前プログラム済み出力信号を、これらの値によってアドレス指定されるそれぞれのアドレスに記憶している。メモリは、様々な入力信号に応じて生成される出力信号を検索するためのLUT(ルックアップテーブル)機能を有すると言われる。
十分なメモリ空間を含むロジック機能であれば、どんなロジック機能をLUTと共に実装することもできる。しかし実際には、限られた数(通常はわずか4つ)の入力を必要とするロジック機能だけが、プログラマブルロジックセルを有する回路中でLUTと共に実装される。このようなLUTは、16個のメモリ位置(positions)を必要とする。これにより、4入力ビットのランダムロジック機能のプログラミングが可能である。多くの場合、4入力ビット機能を備えたこのようなセルを有する回路で十分である。このようなセルのアレイであって、セルの出力が他のセルの入力に結合されるセルアレイを有する回路は、設計者がより複雑なロジック機能を実装することを可能にする。
設計者らはますます、プログラマブルロジックセルのアレイの一部が加算などの信号処理演算の実施に使用されるロジック機能を実装しつつある。多くの信号処理演算は、より幅の広い入力オペランドの多くのビットがそれぞれ桁上げ作用によって出力結果中の多くのビットに影響を及ぼす可能性があるという性質を有する。しかし、4ビット入力LUTを使用してこのような幅の広い依存が実現されるときは、非常に非効率的な実装形態が得られる。
Xilinx(商標)は、そのVirtex(商標)ファミリのプログラマブルロジックデバイスにおいて、4ビット入力LUTセルのアレイにキャリーチェーン(carry chain) を追加することによってこの問題に対処した。図1に、このようなデバイスのプログラマブルロジックセルを示す。このセルは、LUT機能を実施する4入力ルックアップテーブル10と、桁上げ入力および桁上げ出力を有する桁上げ回路12とを備える。メモリ10の出力は桁上げ回路12に結合され、桁上げ回路12は、桁上げ入力信号をLUTの出力信号と組み合わせて、桁上げ出力信号を形成する。排他的論理和ゲート14を使用して、桁上げ入力信号とLUTの出力信号とから、セルの出力信号が形成される。セルの桁上げ入力および桁上げ出力は、アレイ中の隣接するセル(図示せず)の桁上げ出力および桁上げ入力に結合されて、キャリーチェーンが形成される。キャリーチェーンは、ある4ビット入力LUTの出力から別の4ビット入力LUTの出力への桁上げ機能を実施する。この結果、桁上げ機能を実装するためにLUTを割り振る必要がない。これにより、この回路を使用していくつかの信号処理演算を含むロジック機能が実装されるとき、かなりの数のLUTが節約される。
それにもかかわらず、専用の信号処理回路に比べて、ランダムロジック機能も実装できるこのようなより汎用の回路中で信号処理機能を実装することは、依然としてはるかに効率が劣る。この効率を改善することができれば望ましいであろう。
とりわけ、本発明の一目的は、構成ビットの数が削減された、信号処理演算の実施を可能にするプログラマブルロジックセルのアレイを有する電子回路を提供することである。
本発明による電子回路が請求項1に記載されている。この電子回路は、並列に結合された複数のプログラマブルロジックユニットを有するプログラマブルロジックセルを備える。プログラマブルロジックユニットは、入力回路からの複数のジック入力信号を受け取るように結合された複数の入力端を有するとともに出力を有するコンフィギュアブル(configurable)なルックアップテーブル回路を備え、コンフィギュアブルなルックアップテーブルは、所定数の構成ビットに従う入出力機能を有する。プログラマブルロジックユニットはまた、ルックアップテーブル回路の出力に接続された入力を有するとともに出力を有する制御可能なインバータ/非インバータ回路を備え、インバータ/非インバータは、入力桁上げ信号によって制御可能である。所定数の構成ビットは、プログラマブルロジックセル中の複数のプログラマブルロジックユニットのルックアップテーブルを制御する。これは、ロジックセルによって必要とされる構成ビットの数、したがって必要とされるメモリのサイズを低減する利点を有する。
一実施形態では、プログラマブルロジックユニットはさらに補助マルチプレクサを備え、補助マルチプレクサは、ルックアップテーブル回路の出力とインバータ/非インバータ回路の出力とを受け取るように結合された複数の入力端を有し、複数のプログラマブルロジックユニットからの複数の出力信号を提供する。
別の実施形態では、プログラマブルロジックユニットはさらにマルチプレクサを備え、マルチプレクサは、入力回路からのロジック入力信号を受け取るように結合された入力を有し、マルチプレクサモードで動作するように構成されたときに第1の制御信号の制御下でマルチプレクサ出力信号を提供する。この実施形態で述べた構成は、データパス機能に加えて多重化機能も提供する利点を有する。
本発明のこれらおよび他の目的および有利な態様について、図を使用して述べる。
図2に、並列構成のプログラマブルロジックユニット24a〜dと、キャリーチェーン28とを有するプログラマブルロジックセルを示す。ロジックセルは、入力信号A0〜3およびB0〜3を受け取る。キャリーチェーン28は、桁上げ入力Cinおよび桁上げ出力Coutを有し、チェーンに沿った一連の位置でプログラマブルロジックユニットに結合される。
各プログラマブルロジックユニット24a〜dは、選択ロジック403、例えば4:1マルチプレクサを備え、選択ロジック403は、入力信号の所与の組AnBnに応じて出力信号Oを提供するように構成されたルックアップテーブル400の一部を形成する。各プログラマブルロジックユニットの出力は、構成メモリ404に記憶された構成ビットによって決定される。本発明によれば、構成メモリ404は複数のプログラマブルロジックユニット24a〜dによって共有され、それにより、ロジックセルがデータパス機能のマッピングに向けて最適化されることを可能にする。構成ビットをプログラムすることによって、ロジックセルの機能を構成することができる。構成ビットは、プログラムロジックユニット24a〜dが様々な入力信号値に応じてどの出力信号値を生成することになるかを決定する。
マルチビットオペランド処理モードでは、各プログラマブルロジックユニット24a〜dは、異なる有効レベルに関連つけられている。入力回路22は、異なるオペランドからのビットを表す信号を各プログラマブルロジックユニット24a〜dに渡すように構成され、各ビットは、そのプログラマブルロジックユニット24a〜dに関連する有効レベル(シグニフィカントレベル)に対応している。各プログラマブルロジックユニット24a〜dは、これらの信号に応じて、そのプログラマブルロジックユニット24a〜dに関連する有効レベルで結果のビットを計算し、キャリーチェーン28から受け取ったより下位のレベル(ロアーシグニフィカントレベル)からの桁上げ入力信号Cinを考慮して、桁上げ出力信号Coutを、より上位のレベル(ハイアーシグニフィカントレベル)で使用されるようにキャリーチェーンに出力する。マルチビットオペランドモードでは、すべてのプログラマブルロジックユニット24a〜dは、構成メモリ404中の構成ビットを共有しているため、それらの入力信号および出力信号の間で同じ関係となるように構成される。各プログラマブルロジックユニット24a〜dからの計算されたビット「O」は、出力信号として並列で出力回路(図示せず)に渡される。
キャリーチェーン28は、桁上げ信号を計算し、これらの桁上げ信号を、あるプログラマブルロジックユニット24a〜dから別のプログラマブルロジックユニット24a〜dに渡す。キャリーチェーン28は、キャリーチェーン28が桁上げ信号を決定するのに桁上げ入力Cinからの桁上げ入力信号を使用するかどうかを制御するように構成される。ロジックセルが、より大きいオペランドのより上位のビットである入力信号を処理する場合、セルは、このような桁上げ入力信号を使用して、より下位のオペランドを処理する別のセルの桁上げ出力信号を受け取るように構成される。
2マルチビットオペランド信号処理演算の様々な有効レベルの計算を実施するためのプログラマブルロジックユニットであって、それぞれが共有の構成ビットに基づくプログラマブルロジックユニットを使用することによって、マルチビットオペランド信号処理の実施をサポートするのに必要な構成ビットの数が最小限に抑えられる。図2の例では、4つの2入力プログラマブルロジックユニット24a〜dがあるので、任意の2オペランド信号処理演算の任意の4つの有効レベルを定義するのに必要な構成ビットは4つだけである。対照的に、1つのプログラマブルロジックユニットにつき4つの構成ビットが利用される状況を考えてみると、4つの2入力プログラマブルロジックユニットを有するロジックセルの場合では16個の構成ビットが必要になり、あるいは図1に示した従来技術によるロジックユニットの場合では64個の構成ビットが必要になる。
図2には追加のゲート50および52も示してあるが、これらのゲートは、プログラマブルロジックユニット24が、外部で補数を形成することのない算術減算と、1ビット乗算+累算(multiplication-plus-accumulation)例えばマルチビット乗算における1ステップとしての)とを実施することを可能にする。減算の実施は、LUTユニット400と、信号入力AnとBnのうち引かなければならないオペランドのビットを受け取る方の信号入力との間に、排他的論理和ゲート50を追加することによって容易になる。排他的論理和ゲート50の入力の一方に減算制御信号SUBが供給され、それにより、入力信号は論理的に反転される。加算が必要なときは、減算制御信号は0に設定される。この目的で、ロジックセル中のすべてのプログラマブルロジックユニットに共通の減算制御信号が使用されてもよい。減算信号は、ロジックセルの構成ビットによって制御されてもよく、あるいはロジックセルの外部からの信号によって制御されてもよい。減算の場合、ロジックハイ桁上げ入力信号が、最下位レベルに関連するプログラマブルロジックユニットに加えられる。
乗算+累算(multiplication plus accumulation)の実施は、LUTユニット400と、信号入力AとBのうち掛けられなければならないオペランドのビットを受け取る方の信号入力との間に、ANDゲート52を追加し、このANDゲートの入力の一方に係数信号MULを供給することによってサポートされる。この目的で、ロジックセル中のすべてのプログラマブルロジックユニットに共通の係数信号MULが使用されてもよい。加算が必要なときは、係数信号は1に設定される。
図2には、ANDゲート52と排他的論理和ゲート50とが組み合わさって設けられているのが示してあるが、減算または乗算が必要でないときはどちらかが省略されてもよいことは、当業者には容易に理解されるであろう。また、乗算および減算は、回路中の異なる位置にある排他的論理和ゲート50の均等物によって、および/または異なる構成のLUTユニット400によって、代替方法で実施できることも理解されるであろう。
図3に、プログラマブルロジックユニット24と、キャリーチェーン28の一部42とをさらに詳細に示す。プログラマブルロジックユニット24は、前に図2で述べたように機能するLUTユニット400を備える。プログラマブルロジックユニット24は、排他的論理和ゲート402も備える。プログラマブルロジックユニット24の信号入力A、Bは、LUTユニット400の入力に結合される。LUTユニット400の出力は、排他的論理和ゲート402の入力に結合される。第1の排他的論理和ゲート402の第2の入力は、キャリーチェーン28からの桁上げ入力信号Cinを受け取るように結合され、排他的論理和ゲート402の出力は、出力信号O1を形成する。マルチプレクサ405が、XORゲート402からの出力O1と、LUT400からの出力O2とを受け取る。マルチプレクサ405は、構成メモリ(図示せず)からの構成ビット407の制御下で、出力信号Oを生成する。
マルチビットオペランド処理モードでの動作中、LUTユニット400は、前に図2で述べたように、共有の構成ビットを使用して、コンフィギュアブルな入出力機能を実現する。このマルチビットオペランド処理モードでは、プログラマブルロジックユニット24の出力Oにおいてデータパス出力信号O1が利用可能になる。あるいは、幅の広いブール関数が実施されている場合は、マルチプレクサ405はLUT400の直接出力O2を選択する。
XORゲート402は他の方法で実装されてもよいことに留意されたい。例えば、XORゲート402は、第1の入力でルックアップテーブルの出力を受け取り、第2の出力でルックアップテーブルの出力の反転バージョンを受け取る2:1マルチプレクサで置き換えられてもよく、このマルチプレクサは桁上げ入力信号Cinによって制御される。
図4に、マルチビットオペランド処理機能に加えてマルチプレクサ機能も扱うことのできる代替実施形態を示す。プログラマブルロジックユニットは、LUT400と、XORゲート402と、構成ビット407によって制御されるマルチプレクサ405とを備え、これらは、図3に示した本発明の対応する機構と同じ機能を有する。加えて、プログラマブルロジックユニットは、多重化動作モードで使用される別のマルチプレクサ406も備える。プログラマブルロジックユニット24の信号入力A、Bは、LUTユニット400に並列に配置されたマルチプレクサ406(例えば2ビットLUT用の2:1マルチプレクサ)の入力に結合される。マルチプレクサ406は、ロジックセルの補助信号である制御信号Xによって制御される。各プログラマブルロジックユニット24は、同じ制御信号Xを受け取ることが好ましい。したがって、プログラマブルロジックユニット24は、マルチビットオペランド処理モードで動作するように構成されたときは第1の出力信号ODを生成し(すなわち、マルチプレクサ405はLUTユニット400からの信号O1と、幅の広いブール関数を処理するように構成されたときの信号O2とのどちらかを出力する)、マルチプレクサとして機能するように構成されたときは第2の出力信号ORを生成する。したがって、マルチプレクサとして動作するように構成されたときは、出力信号ORはLUTユニット400およびXORゲート402を迂回する。マルチプレクサ406をプログラマブルロジックユニット24中に設けることにより、ロジックセルは、データパス機能または算術機能に加えて多重化動作に向けて構成することもできる。
図5に、図3に示したプログラマブルロジックユニット24a〜dを有するロジックセル20の一実装形態を示す。各プログラマブルロジックユニット24a〜dは、入力信号21を受け取り、すべてのプログラマブルロジックユニット24a〜d間で共有される構成ビット(図示せず)に従って出力信号Oを生成する。出力信号Oは、出力回路26のスイッチング回路268に渡され、スイッチング回路268は出力信号27を生成する。
図6に、図4に示したプログラマブルロジックユニット24a〜dを有するロジックセル20の一実装形態を示す。マルチビットオペランド処理モードで構成されたときは、各プログラマブルロジックユニット24a〜dは、入力信号21を受け取り、すべてのプログラマブルロジックユニット24a〜d間で共有される構成ビット(図示せず)に従って出力信号ODを生成する。出力信号ODは、出力回路26のスイッチング回路268に渡され、スイッチング回路268は出力信号27を生成する。マルチプレクサモードで動作するように構成されたときは、複数のプログラマブルロジックユニット24a〜dは、信号ORを生成して出力する。出力信号ORは、制御信号Xによって選択された、入力信号21のうちの1つである。マルチプレクサモードでは、出力信号ORは、出力回路26中の第1のマルチプレクサ段264a、bの入力に渡される。第1のマルチプレクサ段は、制御信号Yによって制御される。別のマルチプレクサ266が、マルチプレクサ264a、264bからの出力信号を受け取るように接続され、制御信号Zの制御下で、マルチプレクサ出力信号をスイッチング回路268に提供する。
実際には、適用例において2つのタイプのマルチプレクサがみられる可能性がある。すなわち、複数のシングルビット入力を受け入れて1つのシングルビット出力を生成するランダムロジックマルチプレクサ(例えば8:1マルチプレクサ)と、マルチビット入力を受け入れてマルチビット出力を生成するデータパスマルチプレクサ(例えば4ビット2:1マルチプレクサ)とである。
ロジックセルは、8つの主入力信号に加えて3つまでの補助信号X、Y、およびZを使用して、両方のタイプのマルチプレクサを備えるようにコンフィギュアブルである。3つの補助信号X、Y、およびZは、ロジックセル上にマッピングされたロジックマルチプレクサのための選択信号として使用される。3つの信号は、最大の場合である1ビット8:1マルチプレクサの場合に対処するために必要である。他のマルチプレクサ構成では、必要な補助信号はより少ない。
制御信号Xは、データパスモードとマルチプレクサモードとの間で共有できることに留意されたい。データパスモードでは、制御信号Xは、キャリーチェーン28に桁上げ入力信号Cinを与え、マルチプレクサモードでは、制御信号Xは、図4のマルチプレクサ406を制御するのに使用される。同様にして、マルチプレクサモードの制御信号YおよびZも、マルチビットオペランド処理モードの制御信号MULおよびSUBと共有することができる。また、制御信号は、専用の補助制御信号から得られてもよく、あるいは複数の主入力信号から取られてもよいことにも留意されたい。
図5および6に示したロジックセルは、4つの処理要素を備え、それにより4ビットデータパス機能の実装を可能にする。しかし、ロジックセル中の処理要素(ビットスライスbit-slices)の数は任意でよいことに留意されたい。例として、各セルが例えば32ビットの完全ワードを処理するようにすることができる。
図7に、図3のプログラマブルロジックユニットを使用して構成されたロジックセルであって、プログラマブルロジックユニットの入力にXORゲート50a〜dがあって減算を可能にするロジックセルの例示的な一実装形態を示す。プログラマブルロジックユニット24a〜dは、プログラマブルロジックユニット24a〜d間で共有される構成ビット404によって制御される。マルチプレクサ405a〜dは、別の構成ビット407によって制御される。減算信号SUBは、構成ビットと外部動的信号とのどちらかに接続される。したがって、最悪の場合でも、ロジックセル20を制御するのに必要な構成ビットは6つだけであることがわかり、これは通常の算術ロジックユニットを制御するのに必要な構成ビットの数よりも少ない。図7の機能は、図4のプログラマブルロジックユニットが組み込まれて追加のマルチプレクサマッピング機能が与えられた場合に、あるいは図2のANDゲート52a〜dを使用して乗算器マッピング機能が提供された場合に、さらに改善することができる。
上述した本発明は、データパス機能のマッピングに向けて最適化されたロジックセルを提供し、それにより、構成メモリのサイズを縮小し、再コンフィギュアブルなシステムオンチップ(SoC)適用例で使用するのに適した構成メモリにする。したがって、このロジックセルは、データパス最適化された組込みFPGAの基本ロジックブロックとして使用することができ、あるいはプロセッサコア内のコンフィギュアブルな機能ユニットとして使用することができる。また、従来のスタンドアロンFPGAの実装形態に適用することもできる。さらに、パラメータ化可能なALUの実装形態に使用することもでき、必要な構成メモリがより少ないことと、より多くのフレキシビリティ(すなわちマルチプレクサならびに減算機能および/または乗算器機能をマッピングするのが追加で可能である)を提供するようにコンフィギュアブルであることとの利点を有する。
従来技術のプログラマブルロジックセルを示す図である。 本発明によるプログラマブルロジックユニットのアレイを示す図である。 マルチプレクサ機能を提供するように適応された図2のプログラマブルロジックユニットをさらに詳細に示す図である。 マルチプレクサ機能を提供するように適応された図2のプログラマブルロジックユニットの代替実施形態を示す図である。 図3によるプログラマブルロジックユニットのアレイを実装したロジックセルを示す図である。 図4によるプログラマブルロジックユニットのアレイを実装したロジックセルを示す図である。 図3に示したプログラマブルロジックユニットを使用して構成された本発明のロジックセルを示す図である。

Claims (16)

  1. 複数のプログラマブルロジックセルを備えたアレイを有する電子回路であって、
    各前記セルは、並列に結合され、且つ、入力回路からの入力信号を受け取るように接続された、複数のプログラマブルロジックユニットを備え、前記複数のプログラマブルロジックユニットはマルチビットオペランド処理モードで動作するようにコンフィギュアブルであり、
    各プログラマブルロジックユニットは、前記入力回路からの複数の前記ロジック入力信号を受け取るように結合された入力端を有するとともに出力端を有するコンフィギュアブルなルックアップテーブル回路を備え、前記コンフィギュアブルなルックアップテーブルは、所定数の構成ビットに従って入出力機能を行い、
    さらに、各プログラマブルロジックユニットは、前記ルックアップテーブル回路の前記出力に接続された入力端を有するとともに出力端を有する、制御可能なインバータ/非インバータ回路を備え、前記インバータ/非インバータは入力桁上げ信号によって制御可能であり、
    前記所定数の構成ビットは、前記プログラマブルロジックセル中の複数のプログラマブルロジックユニットの複数の前記ルックアップテーブルを制御する、電子回路。
  2. 前記プログラマブルロジックユニットはさらに補助マルチプレクサを備え、前記補助マルチプレクサは、前記ルックアップテーブル回路の出力と前記インバータ/非インバータ回路の出力とを受け取るように結合された複数の入力端を有し、前記プログラマブルロジックユニットからの出力信号を出力する、請求項1に記載の電子回路。
  3. 前記補助マルチプレクサは構成メモリからの構成情報によって制御される、請求項2に記載の電子回路。
  4. 前記プログラマブルロジックユニットはさらにマルチプレクサを備え、前記マルチプレクサは、前記入力回路からの複数の前記ロジック入力信号を受け取るように結合された複数の入力端を有し、マルチプレクサモードで動作するように構成されており、第1の制御信号Xの制御下でマルチプレクサ出力信号を提供する、請求項1に記載の電子回路。
  5. 出力回路をさらに備え、前記出力回路は、複数のプログラマブルロジックユニットからの複数の前記マルチプレクサ出力信号を受け取るための第1のマルチプレクサ段を備え、前記第1のマルチプレクサ段は第2の制御信号Yによって制御される、請求項4に記載の電子回路。
  6. 前記出力回路は別の多重化段を備え、前記別の多重化段は、前記第1のマルチプレクサ段中のマルチプレクサの複数の出力を受け取るようにコンフィギュアブルであり、第3の制御信号Zの制御下で出力信号を出力する、請求項5に記載の電子回路。
  7. 前記マルチプレクサモードの前記第1、第2、第3の制御信号X、Y、Zのうちの少なくとも1つは、前記マルチビットオペランド処理モードで使用される制御信号と共有される、請求項6に記載の電子回路。
  8. 桁上げ入力端および桁上げ出力端をさらに備え、キャリーチェーンが前記桁上げ入力と前記入力回路と前記桁上げ出力との間に結合され、
    前記プログラマブルロジックユニットは、少なくとも前記マルチビットオペランドモードでは前記キャリーチェーンに沿った連続的な位置に結合されて、前記キャリーチェーンからの桁上げ信号を処理し、前記マルチビットオペランドモードでは前記プログラマブルロジックユニットからの複数の出力を並列に渡す、請求項1に記載の電子回路。
  9. 前記セルは、少なくとも前記キャリーチェーンの桁上げ出力決定動作を制御するように構成された減算制御回路を備え、前記キャリーチェーンは、前記キャリーチェーンに沿った各位置の入力信号と桁上げ入力信号とから桁上げ出力信号を決定し、前記減算制御回路による制御は、少なくとも加算に適した決定と減算に適した決定との間で、減算制御信号の制御下で、前記桁上げ出力決定を切り替える、請求項1に記載の電子回路。
  10. 前記セルは、各プログラマブルロジックユニットはそれぞれの乗算回路を備え、前記乗算回路は、前記プログラマブルロジックユニットの複数の前記入力信号のうち少なくとも1つを被乗数に掛けた後で、前記少なくとも1つの入力信号を前記プログラマブルロジックユニットの入力端に供給するように、結合された、請求項1に記載の電子回路。
  11. 各前記プログラマブルロジックユニットは、複数の前記ロジック入力端からの信号のための2つのユニット入力端を有し、各プログラマブルロジックユニットは、複数の前記ロジック入力端の、いずれかの2入力ビットロジック機能を独立して実施するようにコンフィギュアブルである、請求項1に記載の電子回路。
  12. 前記キャリーチェーン回路は、コンフィギュアブルな結合を複数の前記位置と前記セルの前記桁上げ入力端との間に有し、それにより、構成メモリからの構成情報の制御下で、前記キャリーチェーンへの桁上げ入力信号と、標準信号とのどちらかをコンフィギュアブルに供給する、請求項1に記載の電子回路。
  13. 前記キャリーチェーン回路は複数のコンフィギュアブルな結合を有し、各結合は、前記位置のうちのそれぞれ1つの位置と、前記プログラマブルロジックユニットのうちのそれぞれ1つのプログラマブルロジックユニットとの間に結合され、それにより、構成メモリからの構成情報の制御下で、前記位置から前記プログラマブルロジック回路への桁上げ信号と、前記キャリーチェーンを介した伝搬の結果ではない別の信号とのどちらかをコンフィギュアブルに供給する、請求項1に記載の電子回路。
  14. 前記インバータ/非インバータ回路は排他的論理和回路を備える、請求項1に記載の電子回路。
  15. 前記インバータ/非インバータ回路はマルチプレクサを備え、前記マルチプレクサは、第1の入力で前記ルックアップテーブルの出力を受け取り、第2の入力で前記ルックアップテーブルの前記出力の反転バージョンを受け取り、前記マルチプレクサは前記桁上げ信号によって制御される、請求項1に記載の電子回路。
  16. マルチビットオペランド信号処理機能を実施するように構成され、各前記プログラマブルロジックユニットは、前記キャリーチェーンからの桁上げ入力信号の影響を受ける同じ入出力関係を提供するように構成され、前記出力回路は、前記プログラマブルロジックユニットからの複数の出力信号を並列に出力する、請求項1に記載の電子回路。
JP2006502586A 2003-02-19 2004-02-12 プログラマブルロジックセルのアレイを有する電子回路 Withdrawn JP2006518143A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03100383 2003-02-19
PCT/IB2004/050108 WO2004075403A2 (en) 2003-02-19 2004-02-12 Electronic circuit with array of programmable logic cells

Publications (1)

Publication Number Publication Date
JP2006518143A true JP2006518143A (ja) 2006-08-03

Family

ID=32892951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006502586A Withdrawn JP2006518143A (ja) 2003-02-19 2004-02-12 プログラマブルロジックセルのアレイを有する電子回路

Country Status (9)

Country Link
US (1) US7271617B2 (ja)
EP (1) EP1597825B1 (ja)
JP (1) JP2006518143A (ja)
KR (1) KR101067727B1 (ja)
CN (1) CN100576355C (ja)
AT (1) ATE364260T1 (ja)
DE (1) DE602004006841T2 (ja)
TW (1) TW200505163A (ja)
WO (1) WO2004075403A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015231205A (ja) * 2014-06-06 2015-12-21 国立大学法人静岡大学 フィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7471643B2 (en) 2002-07-01 2008-12-30 Panasonic Corporation Loosely-biased heterogeneous reconfigurable arrays
US7461234B2 (en) 2002-07-01 2008-12-02 Panasonic Corporation Loosely-biased heterogeneous reconfigurable arrays
WO2007098804A1 (en) * 2006-02-28 2007-09-07 Mentor Graphics Corp. Memory-based trigger generation scheme in an emulation environment
US9450585B2 (en) 2011-04-20 2016-09-20 Microchip Technology Incorporated Selecting four signals from sixteen inputs
US20120268162A1 (en) * 2011-04-21 2012-10-25 Microchip Technology Incorporated Configurable logic cells
CN103257842B (zh) * 2012-02-17 2016-05-04 京微雅格(北京)科技有限公司 一种加法进位信息输出的方法和一种加法器
US9515656B2 (en) * 2013-11-01 2016-12-06 Semiconductor Energy Laboratory Co., Ltd. Reconfigurable circuit, storage device, and electronic device including storage device
CN103580678B (zh) * 2013-11-04 2016-08-17 复旦大学 一种基于fgpa的高性能查找表电路
CN105589981B (zh) * 2014-10-22 2019-04-09 京微雅格(北京)科技有限公司 基于fpga的优化布局结构的加法器的工艺映射方法
US9954533B2 (en) * 2014-12-16 2018-04-24 Samsung Electronics Co., Ltd. DRAM-based reconfigurable logic
CN106528920B (zh) * 2016-09-27 2019-07-26 京微齐力(北京)科技有限公司 一种级联查找表的工艺映射方法
CN107885485B (zh) * 2017-11-08 2021-07-06 无锡中微亿芯有限公司 一种基于超前进位实现快速加法的可编程逻辑单元结构
CN108182303B (zh) * 2017-12-13 2020-08-28 京微齐力(北京)科技有限公司 基于混合功能存储单元的可编程器件结构
KR101986206B1 (ko) * 2018-01-03 2019-06-05 연세대학교 산학협력단 비휘발성 메모리 소자를 이용한 가변 입출력 구조의 룩업 테이블 회로
US10482209B1 (en) 2018-08-06 2019-11-19 HLS Logix LLC Field programmable operation block array
CN109992255B (zh) * 2019-03-07 2022-06-24 中科亿海微电子科技(苏州)有限公司 具有进位链结构的双输出查找表及可编程逻辑单元
CN114489563B (zh) * 2021-12-13 2023-08-29 深圳市紫光同创电子有限公司 一种电路结构

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288570B1 (en) * 1993-09-02 2001-09-11 Xilinx, Inc. Logic structure and circuit for fast carry
US5546018A (en) * 1993-09-02 1996-08-13 Xilinx, Inc. Fast carry structure with synchronous input
US6427156B1 (en) * 1997-01-21 2002-07-30 Xilinx, Inc. Configurable logic block with AND gate for efficient multiplication in FPGAS
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
US5963050A (en) * 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US6157209A (en) * 1998-12-18 2000-12-05 Xilinx, Inc. Loadable up-down counter with asynchronous reset
US6278290B1 (en) * 1999-08-13 2001-08-21 Xilinx, Inc. Method and circuit for operating programmable logic devices during power-up and stand-by modes
US6466052B1 (en) * 2001-05-15 2002-10-15 Xilinx, Inc. Implementing wide multiplexers in an FPGA using a horizontal chain structure
US6617876B1 (en) * 2002-02-01 2003-09-09 Xilinx, Inc. Structures and methods for distributing high-fanout signals in FPGAs using carry multiplexers
US6937064B1 (en) * 2002-10-24 2005-08-30 Altera Corporation Versatile logic element and logic array block
EP1606878A1 (en) * 2003-02-19 2005-12-21 Koninklijke Philips Electronics N.V. Electronic circuit with array of programmable logic cells
US7193433B1 (en) * 2005-06-14 2007-03-20 Xilinx, Inc. Programmable logic block having lookup table with partial output signal driving carry multiplexer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015231205A (ja) * 2014-06-06 2015-12-21 国立大学法人静岡大学 フィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法

Also Published As

Publication number Publication date
KR101067727B1 (ko) 2011-09-28
WO2004075403A3 (en) 2004-11-04
US7271617B2 (en) 2007-09-18
EP1597825B1 (en) 2007-06-06
TW200505163A (en) 2005-02-01
KR20050106014A (ko) 2005-11-08
US20060158218A1 (en) 2006-07-20
DE602004006841D1 (de) 2007-07-19
WO2004075403A2 (en) 2004-09-02
ATE364260T1 (de) 2007-06-15
CN100576355C (zh) 2009-12-30
CN1751361A (zh) 2006-03-22
EP1597825A2 (en) 2005-11-23
DE602004006841T2 (de) 2008-02-07

Similar Documents

Publication Publication Date Title
US7196541B2 (en) Electronic circuit with array of programmable logic cells
US7971172B1 (en) IC that efficiently replicates a function to save logic and routing resources
JP3862658B2 (ja) 再構成可能な論理デバイス
JP2006518143A (ja) プログラマブルロジックセルのアレイを有する電子回路
US7660841B2 (en) Flexible accumulator in digital signal processing circuitry
JPH02242425A (ja) プログラム可能論理ユニット及び信号プロセッサ
EP1597826B1 (en) Electronic circuit with array of programmable logic cells
CN107885485B (zh) 一种基于超前进位实现快速加法的可编程逻辑单元结构
US20060097750A1 (en) Electronic circuit with array of programmable logic cells
US20250103296A1 (en) Adder circuit using lookup tables
US7167021B1 (en) Logic device logic modules having improved arithmetic circuitry
US7617269B2 (en) Logic entity with two outputs for efficient adder and other macro implementations
US20060109027A1 (en) Programmable logic cell
US8463836B1 (en) Performing mathematical and logical operations in multiple sub-cycles
US7818361B1 (en) Method and apparatus for performing two's complement multiplication
US7765249B1 (en) Use of hybrid interconnect/logic circuits for multiplication
US20120280710A1 (en) Reuse of constants between arithmetic logic units and look-up-tables
Amagasaki et al. A variable grain logic cell architecture for reconfigurable logic cores

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070208

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070511

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080220