JP5073464B2 - プログラマブルロジックデバイスのための大きな乗算器 - Google Patents

プログラマブルロジックデバイスのための大きな乗算器 Download PDF

Info

Publication number
JP5073464B2
JP5073464B2 JP2007311579A JP2007311579A JP5073464B2 JP 5073464 B2 JP5073464 B2 JP 5073464B2 JP 2007311579 A JP2007311579 A JP 2007311579A JP 2007311579 A JP2007311579 A JP 2007311579A JP 5073464 B2 JP5073464 B2 JP 5073464B2
Authority
JP
Japan
Prior art keywords
partial product
multiplication
sum
significant bits
multiplications
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.)
Expired - Fee Related
Application number
JP2007311579A
Other languages
English (en)
Other versions
JP2008146644A (ja
Inventor
ラングハマー マーティン
サーマリンガム クマラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2008146644A publication Critical patent/JP2008146644A/ja
Application granted granted Critical
Publication of JP5073464B2 publication Critical patent/JP5073464B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/52Multiplying; Dividing
    • 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/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers

Landscapes

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

Description

(発明の背景)
本発明は、プログラマブルロジックデバイス(PLD)に関し、より具体的には、大きな乗算を実行するために、このようなデバイスに含まれ得る特殊処理ブロックの使用に関する。
PLDが使用されるアプリケーションが、複雑さを増すにつれて、PLDを設計するために、一般的なプログラマブルロジックリソースのブロックに加え、特殊処理ブロックを含めることが、ますます一般的になってきた。このような特殊処理ブロックは、論理演算または数学演算のような一つ以上の特定のタスクを実行するために、部分的あるいは完全にハードワイヤ接続されたPLD上に回路網の集結を含み得る。特殊処理ブロックはまた、構成可能なメモリ素子のアレイのような一つ以上の特殊構造も含み得る。一般的に、このような特殊処理ブロックでインプリメントされる構造の例は、乗算器、演算論理ユニット(ALU)、バレルシフタ、様々なメモリ素子(例えば、FIFO/LIFO/SIPO/RAM/ROM/CAMブロックおよびレジスタファイル)、AND/NAND/OR/NORアレイなど、またはこれらの組み合わせを含む。
PLD上に提供されている特殊処理ブロックの一つの特に有用なタイプは、デジタル信号処理(DSP)ブロックであり、このブロックは、例えば、オーディオ信号を処理するために使用され得る。このようなブロックはまた、しばしば、乗累算(「MAC」)ブロックとも称される。なぜなら、これらのブロックは、乗算演算と、乗算演算の総計および/または累算とを実行するための構造を含むからである。
例えば、カリフォルニア州San JoseのAltera Corporationより、STRATIX(登録商標)IIの名で販売されているPLDは、複数のDSPブロックを含み、それらのブロックのそれぞれは、4つの18×18乗算器を含む。これらのDSPブロックのそれぞれはまた、加算器およびレジスタ、ならびにプログラマブルコネクタ(例えば、マルチプレクサ)を含み、これらのコネクタは、様々なコンポーネントが異なる方法で構成されることを可能にする。このようなブロックのそれぞれにおいて、乗算器は、4つの個々の18×18乗算器として構成されるのみならず、4つのより小規模な乗算器として、または1つのより大きな乗算器(36×36)として構成され得る。さらに、1つの18×18の複素数乗算(実数部および虚数部のそれぞれに対し、2つの18×18乗算演算に分解する)が実行され得る。
このようなDSPブロックは、36×36と同じ規模の乗算器として構成され得るが、ユーザは、より大きな乗算器を生成することを欲し得る。例えば、36×36乗算器は、IEEE754−1985規格の下で、25×25の単精度の乗算をサポートするものの、二倍精度の乗算に対しては、あまりにも小さい。幾つかのDSPブロックからの乗算器は、二倍精度の乗算をインプリメントするために、一緒に使用され得るものの、乗算器を相互接続するために必要とされるロジックは、今まで、ユーザによって、DSPブロック外部の汎用プログラマブルロジックの中にプログラムされてきた。このため、該ロジックを低速で非効率にし、他の使用に当てられ得る汎用リソースを消費することになる。
(発明の概要)
本発明は、PLDのための特殊処理ブロックに関し、該ブロックは、該ブロック内に、ロジックを提供され、任意の単一の特殊処理ブロック内で実行され得るものよりも大きな乗算の実行を容易にして、PLDの汎用プログラマブルリソースへの依存を低減または排除する。
一つの実施形態において、部分積の全てが特殊処理ブロック内で計算され得るように、追加のシフトリソースが、特殊処理ブロック内に提供されるが、これらの積の最終的な加算は、汎用プログラマブルロジック内の特殊処理ブロックの外部で行われる。別の実施形態において、実質的に全ての加算が、PLDの汎用プログラマブルリソースに依存することなく、実行され得るように、追加のシフトおよび加算のリソースが特殊処理ブロックに追加される。
本発明に従うと、複数の特殊処理ブロックを有するプログラマブルロジックデバイスにおける使用のための、3n×3nの乗算演算を実行する方法であって、該特殊処理ブロックのそれぞれは、四乗算器(four−multiplier)ユニットに配置された少なくとも4つのn×n乗算器を有する、方法が提供される。該方法は、該四乗算器ユニットの第一のユニットで、該n×n乗算器の4つを用いて、2n×2nの乗算を実行するステップと、該四乗算器ユニットの第二のユニットで、該n×n乗算器の1つを用いて、n×nの乗算を実行するステップと、該2n×nの乗算のそれぞれに対して該n×n乗算器のうちの2つを用いて、該四乗算器ユニットの第三のユニットで、第一および第二の2n×nの乗算を実行するステップと、該第三の四乗算器ユニット内で加算のために、該2n×nの乗算のそれぞれの第二の部分積をシフトして、該2n×nの乗算のそれぞれの第二の部分積を該2n×nの乗算のそれぞれの第一の部分積と整列させるステップと、該第一、第二、および第三の四乗算器ユニットからの該乗算の結果を加算するステップとを包含する。
上記方法を実行するように構成されたプログラマブルロジックデバイス、および該プログラマブルロジックデバイスを設定するためのソフトウェアもまた、提供される。
本発明は、さらに、以下の手段を提供する。
(項目1)
複数の特殊処理ブロックを有するプログラマブルロジックデバイスにおける使用のための、3n×3nの乗算演算を実行する方法であって、該特殊処理ブロックのそれぞれは、四乗算器ユニットに配置された少なくとも4つのn×n乗算器を有し、該方法は、
該四乗算器ユニットの第一のユニットで、該n×n乗算器の4つを用いて、2n×2nの乗算を実行するステップと、
該四乗算器ユニットの第二のユニットで、該n×n乗算器の1つを用いて、n×nの乗算を実行するステップと、
該2n×nの乗算のそれぞれに対して該n×n乗算器のうちの2つを用いて、該四乗算器ユニットの第三のユニットで、第一および第二の2n×nの乗算を実行するステップと、
該第三の四乗算器ユニット内で加算のために、該2n×nの乗算のそれぞれの第二の部分積をシフトして、該2n×nの乗算のそれぞれの第二の部分積を該2n×nの乗算のそれぞれの第一の部分積と整列させるステップと、
該第一、第二、および第三の四乗算器ユニットからの該乗算の結果を加算するステップと
を包含する、方法。
(項目2)
上記加算するステップは、上記プログラマブルロジックデバイスの汎用プログラマブルロジックにおいて、上記結果を加算するステップを包含する、項目1に記載の方法。
(項目3)
上記第一および第二の2n×nの乗算を実行するステップは、該第一および第二の2n×nの乗算のうちのそれぞれ個々に対して、
上記第三の四乗算器ユニットにおける一つの該乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するステップと、
上記第三の四乗算器ユニットにおける別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するステップと
を包含し、
上記シフトするステップは、個々の最下位ビットのいずれの部分積もシフトすることなく、それぞれ個々の最上位ビットの部分積を左にシフトするステップを包含し、
該第三の四乗算器ユニット内での上記加算は、部分積のさらなるシフトを排除する、項目2に記載の方法。
(項目4)
上記シフトと、上記さらなるシフトなしでの加算とを実行するように、制御信号を選択するステップをさらに包含する、項目3に記載の方法。
(項目5)
それぞれの上記特殊処理ブロックは、2つの上記四乗算器ユニットを備える、項目1に記載の方法。
(項目6)
上記加算するステップは、実質的に一つの上記特殊処理ブロックで該加算を実行するステップを包含する、項目5に記載の方法。
(項目7)
上記2n×2nの乗算と、上記第一および第二の2n×nの乗算とは、上記第一および第三の四乗算器ユニットを備える上記一つの特殊処理ブロックで実行され、
該2n×2nの乗算と、該第一および第二の2n×nの乗算とを実行するステップは、該2n×2nの乗算と、該第一および第二の2n×nの乗算とのうちのそれぞれ個々の一つに対して、
上記四乗算器ユニットの一つの上記乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するステップと、
該四乗算器ユニットの別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するステップと
を包含し、
上記シフトするステップは、該2n×nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするステップを包含し、上記方法は、
該2n×2nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×2nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするステップと、
該2n×2nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するステップと、
該2n×nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するステップと、
該2n×2nの部分積の該最上位ビットの総計を左にシフトするステップと、
該2n×nの部分積の該総計のそれぞれを右にシフトするステップと、
該n×nの乗算の出力を左にシフトして、該左にシフトされた出力を、該第一および第三の四乗算器ユニットを備える該特殊処理ブロックのうちの該一つに入力するステップと、
該2n×2nの部分積の該左にシフトされた最上位ビットの総計と、該2n×nの部分積の該右にシフトされた総計と、該n×nの乗算の該左にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するステップと
を包含する、項目6に記載の方法。
(項目8)
上記2n×2nの部分積の上記左にシフトされた最上位ビットの総計と、上記2n×nの部分積の上記右にシフトされた総計と、上記n×nの乗算の上記左にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するステップは、
該2n×2nの部分積の該最下位ビットの総計を圧縮するステップと、
該2n×2nの部分積の該左にシフトされた最上位ビットの総計を、該2n×nの部分積の該右にシフトされた総計の第一の総計とともに圧縮するステップと、
該n×nの乗算の該左にシフトされた出力を、該2n×nの部分積の該右にシフトされた総計の第二の総計とともに圧縮するステップと、
該圧縮の結果を加算するステップと
を包含する、項目7に記載の方法。
(項目9)
複数の特殊処理ブロックを有するプログラマブルロジックデバイスであって、該特殊処理ブロックのそれぞれは、四乗算器ユニットに配置された少なくとも4つのn×n乗算器を有し、該プログラマブルロジックデバイスは、3n×3nの乗算演算を実行するように構成され、該プログラマブルロジックデバイスは、
2n×2nの乗算を実行するように構成されている該四乗算器ユニットの第一のユニットの中に、該n×n乗算器のうちの4つと、
n×nの乗算を実行するように構成されている該四乗算器ユニットの第二のユニットの中に、該n×n乗算器のうちの1つと、
該2n×nの乗算のそれぞれに対して、該n×n乗算器の2つを用いて、第一および第二の2n×nの乗算を実行するように構成されている該四乗算器ユニットの第三のユニットと、
該2n×nの乗算のそれぞれの第二の部分積をシフトして該2n×nの乗算のそれぞれの第二の部分積を、該2n×nの乗算のそれぞれの第一の部分積と、該第三の四乗算器ユニット内で加算するために整列させるように構成されているシフタと、
該第一、第二、および第三の四乗算器ユニットからの該乗算の結果を加算するように構成されている回路網と
を備える、プログラマブルロジックデバイス。
(項目10)
上記加算することは、上記プログラマブルロジックデバイスの汎用プログラマブルロジックにおいて、上記結果を加算することを包含する、項目9に記載の構成されたプログラマブルロジックデバイス。
(項目11)
上記プログラマブルロジックデバイスは、上記第一および第二の2n×nの乗算のそれぞれ個々の一つに対して、
上記第三の四乗算器ユニットにおける一つの該乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するステップと、
上記第三の四乗算器ユニットにおける別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するステップと
を実行することによって、該第一および第二の2n×nの乗算を実行するように構成され、該プログラマブルロジックデバイスは、個々の最下位ビットのいずれの部分積もシフトすることなしに、それぞれ個々の最上位ビットの部分積を左にシフトするように構成され、
上記回路網は、部分積のさらなるシフトの排除を追加するように構成されている、項目10に記載の構成されたプログラマブルロジックデバイス。
(項目12)
選択制御信号に応答して、上記シフトおよび上記さらなるシフトなしに、上記加算を実行するために、セレクタをさらに備える、項目11に記載の構成されたプログラマブルロジックデバイス。
(項目13)
それぞれの上記特殊処理ブロックは、2つの上記四乗算器ユニットを備える、項目9に記載の構成されたプログラマブルロジックデバイス。
(項目14)
加算するように構成されている上記回路網は、実質的に一つの上記特殊処理ブロック内に位置する、項目13に記載の構成されたプログラマブルロジックデバイス。
(項目15)
上記一つの特殊処理ブロックは、上記2n×2nの乗算と、上記第一および第二の2n×nの乗算とを実行するように構成された上記第一および第三の四乗算器ユニットを備え、
該第一および第三の四乗算器ユニットのそれぞれにおいて、
該2n×2nの乗算と、該第一および第二の2n×nの乗算との該実行することは、該2n×2nの乗算と、該第一および第二の2n×nの乗算とのそれぞれ個々の一つに対して、
上記四乗算器ユニットの一つの上記乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するステップと、
該四乗算器ユニットの別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するステップと
を包含し、
上記シフタは、該2n×nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするように構成され、上記構成されたプログラマブルロジックデバイスは、
該2n×2nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×2nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするシフタと、
該2n×2nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するように構成されている回路網と、
該2n×nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するように構成されている回路網と、
該2n×2nの部分積の該最上位ビットの総計を左にシフトする第一の左シフト回路網と、
該2n×nの部分積の該総計のそれぞれを右にシフトする右シフト回路網と、
該n×nの乗算の出力を左にシフトして、該左にシフトされた出力を、該第一および第三の四乗算器ユニットを備える該特殊処理ブロックの該一つに入力する第二の左シフト回路網と、
該2n×2nの部分積の該左にシフトされた最上位ビットの総計と、該2n×nの部分積の該右にシフトされた総計と、該n×nの乗算の該左にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するように構成されている回路網と
をさらに備える、項目14に記載の構成されたプログラマブルロジックデバイス。
(項目16)
上記2n×2nの部分積の上記左にシフトされた最上位ビットの総計と、上記2n×nの部分積の上記右にシフトされた総計と、上記n×nの乗算の上記左にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するように構成されている回路網は、
該2n×2nの部分積の該最下位ビットの総計を圧縮する第一の3:2圧縮回路網と、
該2n×2nの部分積の該左にシフトされた最上位ビットの総計を、該2n×nの部分積の該右にシフトされた総計の第一の総計とともに圧縮する4:2圧縮回路網と、
該n×nの乗算の該左にシフトされた出力を、該2n×nの部分積の該右にシフトされた総計の第二の総計とともに圧縮する第二の3:2圧縮回路網と、
該第一および第二の3:2圧縮回路網の出力と、該4:2の圧縮回路網の出力とを加算する加算回路網と
を備える、項目15に記載の構成されたプログラマブルロジックデバイス。
(項目17)
3n×3nの乗算演算を実行するプログラマブルロジックデバイスをプログラマブルに構成する方法を実行するためのマシン実行可能な命令でコード化されたデータ格納媒体であって、該プログラマブルロジックデバイスは、複数の特殊処理ブロックを有し、該特殊処理ブロックのそれぞれは、四乗算器ユニットに配置された少なくとも4つのn×n乗算器を有し、該命令は、
該四乗算器ユニットの第一のユニットの中の該n×n乗算器のうちの4つが、2n×2nの乗算を実行するように構成するための命令と、
該四乗算器ユニットの第二のユニットの中の該n×n乗算器のうちの1つが、n×nの乗算を実行するように構成するための命令と、
該四乗算器ユニットの第三のユニットが、該2n×nの乗算のそれぞれに対して、該n×n乗算器のうちの2つを用いて、第一および第二の2n×nの乗算を実行するように構成するための命令と、
シフタが、該2n×nの乗算のそれぞれの第二の部分積をシフトして、該2n×nの乗算のそれぞれの第二の部分積を、該2n×nの乗算のそれぞれの第一の部分積と、該第三の四乗算器ユニット内で加算するために整列させるように構成するための命令と、
回路網が、該第一、第二、および第三の四乗算器ユニットからの該乗算の結果を加算するように構成するための命令と
を含む、データ格納媒体。
(項目18)
上記加算するように回路網を構成するための命令は、上記プログラマブルロジックデバイスの汎用プログラマブルロジックが、上記結果を加算するように構成するための命令を含む、項目17に記載のデータ格納媒体。
(項目19)
上記プログラマブルロジックデバイスが、上記第一および第二の2n×nの乗算のそれぞれ個々の一つに対して、
該プログラマブルロジックデバイスが、該第三の四乗算器ユニットにおける一つの該乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するように構成するための命令と、
該プログラマブルロジックデバイスが、上記第三の四乗算器ユニットにおける別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するように構成するための命令と、
該プログラマブルロジックデバイスが、個々の最下位ビットのいずれの部分積もシフトすることなしに、それぞれ個々の最上位ビットの部分積を左にシフトすることを実行するように構成する命令と
を含む、該第一および第二の2n×nの乗算を実行するように構成する命令を含み、
加算するように上記回路網を構成する命令は、部分積のさらなるシフトを排除するように構成する、項目18に記載のデータ格納媒体。
(項目20)
上記命令は、セレクタが選択制御信号に応答して、上記シフトおよび上記さらなるシフトなしに、上記加算を実行するように構成される命令をさらに含む、項目19に記載のデータ格納媒体。
(項目21)
上記命令は、プログラマブルロジックデバイスを構成するためであり、それぞれの上記特殊処理ブロックは、2つの上記四乗算器ユニットを備える、項目17に記載のデータ格納媒体。
(項目22)
上記命令は、上記回路網を、実質的に一つの上記特殊処理ブロック内で加算するように構成する、項目21に記載のデータ格納媒体。
(項目23)
上記命令は、上記2n×2nの乗算と、上記第一および第二の2n×nの乗算とを実行するように構成された上記第一および第三の四乗算器ユニットを構成し;
該命令は、該第一および第三の四乗算器ユニットのそれぞれが、該2n×2nの乗算と、該第一および第二の2n×nの乗算とを実行するように構成し、該2n×2nの乗算と、該第一および第二の2n×nの乗算とのそれぞれの個々の一つの乗算に対して、
該命令は、上記四乗算器ユニットの一つの上記乗算器が、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するように構成することと、
該命令は、該四乗算器ユニットの別の一つの該乗算器が、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するように構成することと
を包含し;
該命令は、上記シフタが、該2n×nの乗算のいずれの個々の最下位ビットの部分積もシフトすることなしに、該2n×nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするように構成し;
該命令は、該シフタが該2n×2nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×2nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするように構成し;
該命令は、回路網が、該2n×2nの部分積の最上位ビットの最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するように構成し;
該命令は、回路網が、最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、該2n×nの部分積の最上位ビットの総計および最下位ビットの総計を生成するように構成し;
該命令は、第一の左シフト回路網が、該2n×2nの部分積の該最上位ビットの総計を左にシフトするように構成し;
該命令は、右シフト回路網が、該2n×nの部分積の該総計のそれぞれを右にシフトするように構成し;
該命令は、第二の左シフト回路網が、該n×nの乗算の出力を左にシフトして、該左にシフトされた出力を、該第一および第三の四乗算器ユニットを備える該特殊処理ブロックの該一つに入力するように構成し;
該命令は、回路網が、該2n×2nの部分積の該左にシフトされた最上位ビットの総計と、該2n×nの部分積の該右にシフトされた総計と、該n×nの乗算の該左にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するように構成する、
項目22に記載のデータ格納媒体。
(項目24)
上記2n×2nの部分積の上記左にシフトされた最上位ビットの総計と、上記2n×nの部分積の上記右にシフトされた総計と、上記n×nの乗算の上記左にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するように構成されている回路網を構成するための上記命令は、
第一の3:2圧縮回路網が、該2n×2nの部分積の該最下位ビットの総計を圧縮するように構成する命令と、
4:2圧縮回路網が、該2n×2nの部分積の該左にシフトされた最上位ビットの総計を、該2n×nの部分積の該右にシフトされた総計の第一の総計とともに圧縮するように構成する命令と、
第二の3:2圧縮回路網が、該n×nの乗算の該左にシフトされた出力を、該2n×nの部分積の該右にシフトされた総計の第二の総計とともに圧縮するように構成する命令と、
加算回路網が、該第一および第二の3:2圧縮回路網の出力と、該4:2の圧縮回路網の出力とを加算するように構成する命令と
を含む、項目23に記載のデータ格納媒体。
(摘要)
乗算器と、これらの乗算器の結果を加算するための回路網とを含むプログラマブルロジックデバイス内の複数の特殊処理ブロックは、加算する前に乗算器の結果をシフトするための選択可能な回路網を、該特殊処理ブロックに追加することによって、より大きな乗算器として構成され得る。一つの実施形態において、このことは、最終的な加算を除く全てが、特殊処理ブロック内で行われ、該最終的な加算は、プログラマブルロジック内で行われることを可能にする。別の実施形態において、追加の圧縮および加算の回路網は、最終的な加算でさえも、特殊処理ブロック内で行われることを可能にする。
本発明の上記および他の目的および利点は、添付図面と関連させて、以下の詳細な説明を考慮することによって明らかになる。図面において、同様の参照記号は、図面全体を通じて、同様のパーツを意味する。
(発明の詳細な説明)
ここで、本発明が、54ビット×54ビットの乗算に関連して、図1〜図6を参照して記載される。この乗算は、前述のSTRATIX(登録商標)II PLDのDSPブロックの18ビット乗算器上に、良好にマップし、IEEE754−1985規格の下で、二倍精度の乗算をインプリメントするために使用され得る。しかしながら、本発明は、様々なサイズの特殊処理ブロックとともに使用され得る。
図1は、54ビット×54ビットの乗算10の部分積12の総計11への分解を示し、部分積12は、18ビット×18ビット乗算器を用いてインプリメントされ、積13を算出し得る。第一の被乗数101において、Aは、18の最上位ビットを含み、Bは、36の最下位ビットを含む。第二の被乗数102において、Cは、18の最上位ビットを含み、Dは、36の最下位ビットを含む。(A,B)×(C,D)の結果は、B×D+((A×D+C×B)<<36)+((A×C)<<72)として、計算され得る。ここで、「<<n」は、これと関連する表現の結果が、位置をn箇所だけ左にシフトされることを意味する。
浮動点仮数に要求される中間値は、54ビット乗算を実行するとき、符号を付けられていないこと、すなわち、「01」によって先行された52ビットの仮数を含むことが好ましい。中間値は、図2のように整列され、出力として、36ビットの出力20および3段階の72ビットの加算21を提供する。
前述のSTRATIX(登録商標)II PLDのDSPブロックと、同時係属中で、ともに譲渡された米国特許出願第11/447,329号、同第11/447,370号、同第11/447,472号、同第11/447,474号(いずれも2006年6月5日出願)、同第11/426,403号(2006年6月26日出願)、および同第11/458,361号(2006年7月18日出願)(以上の出願のそれぞれは、そのそれぞれの全体を本明細書に参考として援用される)に記載された改良されたDSPブロックとにおいて、4つの乗算器が1つのユニットに配置され、このユニットは、圧縮器、加算器、シフタ、および乗算器とともに、加算するブロックまたはハーフブロックと称され得、様々な部分積を形成する。
図1および図2に示される現在の問題に適用されるように、このDSPブロックのアーキテクチャは、36ビット×36ビット乗算(B×D)および18ビット×18ビットッ乗算(A×C)をサポートし得るが、このアーキテクチャのマルチプレクサパターンは、2つの18ビット×36ビット乗算(A×DおよびC×B)をともに加算するために必要な接続をサポートし得えない。18ビット×36ビット乗算のそれぞれは、個々にサポートされるが、その結果は、DSPブロックからルーティングされて、PLDの汎用プログラマブルロジックで加算されなくてはならない。これは、汎用プログラマブルロジックと、ルーティングおよび相互接続とのリソースを大量に消費する。
本発明に従うと、DSPブロックの中間マルチプレクサ配列が、上述のDSPブロックに比べると、2つの18ビット×36ビットの乗算の総計が単一の四乗算器ブロック/ハーフブロックで生成されることを可能にするように変更される。結果として、54ビット×54ビットの乗算に必要な部分積の全てが実行され得、単一の四乗算器ブロック/ハーフブロック内で、少なくとも一部は、一緒に総計され得る。
図3および図4に示される第一の好ましい実施形態において、被乗数AとDとのペアに対して、Dは、最上位の半分と最下位の半分とに、すなわち、DHとDLとに分割され得る。積A×Dは、次いで、(A×DH)<<18+A×DLとして表され得る。(A×DH)は、好ましくは、乗算器31によって310で提供され、次いで、信号313の制御下にあるマルチプレクサ312によって選択され、シフタ311によって、18ビット左にシフトされる。A×DLは、好ましくは、乗算器32によって320で提供される。積A×Dは、次いで、好ましくは、加算器33で、部分積310と320とを加算することによって提供される。加算器33は、4:2圧縮器と、一緒に連結される30ビット加算器および24ビット加算器(図示せず)とを含み得る。
被乗数CとBとの第二のペアは、同様に扱われ、(C×BH)<<18+C×BLを提供し得る。(C×BH)は、好ましくは、乗算器33によって330で提供され、次いで、信号333の制御下にあるマルチプレクサ332によって選択され、シフタ331によって、18ビット左にシフトされる。C×BLは、好ましくは、乗算器34によって340で提供される。積C×Bは、次いで、好ましくは、加算器35で、部分積330と340とを加算することによって提供される。加算器35は、4:2圧縮器と、一緒に連結される30ビット加算器および24ビット加算器(図示せず)とを含み得る。
18ビット×36ビットの乗算A×DおよびC×Bの2つの54ビットの総計は、次いで、加算器36で一緒に加算される。加算器36は、4:2圧縮器と、一緒に連結される2つの44ビット加算器(図示せず)とを含み得る。18ビットシフタ37は、この54ビットの加算の目的のために、信号371の制御下にあるマルチプレクサ370によって選択される場合、加算器33の出力を選択的に左にシフトするために提供されるが、合計33(A×D)は、シフトされない。
具体的には、信号313、333、371の制御下にある3つのシフタ311、331、37は、特殊処理ブロック30が、多数の機能のために使用されることを可能にする。例えば、4つの18ビット×18ビットの乗算の総計に対して、信号312、332、371のそれぞれは、好ましくは、そのそれぞれのシフトされていない結果を選択するように設定される。単一の36ビット×36ビットの乗算に対して、信号312、332、371のそれぞれは、好ましくは、そのそれぞれのシフトされた結果を選択するように設定される。また、前述されたように、54ビット×54ビットの乗算の2つの18ビット×36ビット部分積を実行するために、信号312、332のそれぞれは、好ましくは、そのそれぞれのシフトされた結果を選択するように設定される一方、信号371は、好ましくは、そのシフトされていない結果を選択するように設定される。
図4に見られるように、54ビット×54ビットの乗算は、特殊処理ブロック/ハーフブロック40を用いて、36ビット×36ビットの部分積B×Dを実行することと、特殊処理ブロック/ハーフブロック30を用いて、2つの18ビット×36ビットの部分積A×DおよびC×Bを実行して、総計することと、特殊処理ブロック/ハーフブロック41を用いて、単一の18ビット×18ビットの乗算A×Cを実行することによって、実行される。前述の援用される米国特許出願第11/447,472号に説明されているように、ブロック/ハーフブロック41が、この出願に記載されたものの一つである場合、1つの乗算器410のみを使用することは、第二の乗算器411を犠牲にすることを要求するが、ブロック/ハーフブロック41の中の4つの乗算器410〜413のうちの一つのみが使用されていることに留意されたい。しかしながら、この実施形態において、少なくとも乗算器412、413は、他の目的のために利用可能なままであり、他の実施形態において、乗算器411でさえも利用可能であり得る。
図3および図4に示される本発明の実施形態に従って、3つの部分積405、305、および415または部分積の総計は、加算器42によって加算され、加算器42は、好ましくは、特殊処理ブロック40、30、41が一部をなすPLDのプログラマブルロジック内の特殊処理ブロック40、30、41の外側に生成される。
図3および図4の実施形態において、最終的な加算42のために、汎用プログラマブルロジック、ルーティング、および相互接続のリソースを使用する必要が、依然としてある。図5に示される第二の好ましい実施形態50において、54ビット×54ビットの乗算は、PLD上の特殊処理ブロックの中で、そのPLDの汎用プログラマブルロジックに実質的に頼ることなく、実質的に全体で実行され得る。実施形態50において、好ましくは、2つの四乗算器ユニット51、52と、第三の四乗算器ユニット53の一部分が、使用される。好ましくは、これらの四乗算器ユニット51〜53のそれぞれは、前述の援用される米国特許出願第11/447,472号に記載された特殊処理ブロックのハーフブロックに基づき、本明細書に記載されるように改変される。したがって、完全な一つのこのようなブロックと、第二のこのようなブロックの一部分とが、好ましくは、使用される。
実施形態50において、各ハーフブロック51、52(およびハーフブロック53であるが、一つの乗算器530のみが、このハーフブロック53から使用されるので、全てのコンポーネントは、図示されない)は、好ましくは、4つの18ビット×18ビット乗算器510〜513、520〜523を有し、好ましくは、510〜511、512〜513、520〜521、および522〜523のペアで配置され、好ましくは、各ペアのメンバの出力は、ペアのうちの一つのメンバの出力が、それぞれのシフタ55によって18ビット左にシフトされた後に、それぞれの54ビット加算器541〜544によってともに加算されている。シフタ55のうちの1つ以上は、上記の図3および図4の実施形態に場合のように、プログラマブルにバイパス可能(図示せず)であり得るが、この実施形態において、54ビット×54ビットの乗算を実行するためには、シフタ55は、好ましくは、(たとえ、バイパス可能であっても)バイパスされない。
前述の援用される米国特許出願第11/447,472号に記載された特殊処理ブロックにおいて、加算器541の出力と、シフタ545によって18ビット左にシフトされた後の加算器542の出力とは、3:2圧縮器560と、チェーンされた桁上げ/伝播加算器570、571とによって加算される。同様に、加算器543の出力と加算器544の出力とは、3:2圧縮器561と、チェーンされた桁上げ/伝播加算器572、573とによって加算される。本発明に従うと、4:2圧縮器562と、2つの36ビット右シフタ546、547が追加される。幾つかのANDゲート580〜583が、以下に記載されるように、セレクタとして追加されるが、マルチプレクサもまた、その目的のために使用され得、そして、ANDゲート584は、加算器570、571を、加算器572、573と一緒にチェーンにするために追加される。さらに、18ビット右シフタ548およびANDゲート585が、追加され、異なる特殊処理ブロックにあるハーフブロック52、53をブリッジする。シフタ548のようなさらなる18ビット右シフタ(図示せず)およびANDゲート585のようなさらなるANDゲート(図示せず)は、同様の方法で、ハーフブロック51を右にある別のハーフブロック(図示せず)に接続し得る。
54ビット×54ビット乗算モードで使用されていないとき、各特殊処理ブロックは、前述の援用される米国特許出願第11/447,472号に示されるように動作する。そのように、ANDゲート580、582、584、および585のそれぞれの第二の入力(図示せず)は、シフタ546〜548が使用中でなく、2つのハーフブロックの桁上げ/伝播加算器のチェーンが離れたままであるように、「0」である。同様に、ANDゲート581、583のそれぞれの第二の入力(図示せず)は、各部分積がそのそれぞれの3:2圧縮器または4:2圧縮器に直接供給されるように、「1」である。この場合、ANDゲート580の第二の入力が「0」のとき、4:2圧縮器562は、3:2圧縮器560、561のように機能することに留意されたい。
特殊処理ブロックが、54ビット×54ビット乗算モードで使用されているとき、ANDゲート580、582、584、および585のそれぞれの第二の入力(図示せず)は、シフタ546〜548が使用中であり、2つのハーフブロックの桁上げ/伝播加算器チェーンが接続されるように、「1」である。なぜなら、これは、72ビット加算であるので、44ビット加算器571から44ビット加算器572への(ANDゲート584を介する)桁上げは、好ましくは、加算器571の末尾から採られないが、好ましくは、加算器571の29番目のビットから採られる。加算器571の29番目のビットは、加算器570を含むと、73番目のビット位置であり、72ビット加算からの桁上げを表す。桁上げは、2つ以上の特殊処理ブロックに依存するが、この配置は、PLDの汎用プログラマブルロジックに、実質的に依存することなく、部分積の全てを一緒に加算する。
図6は、どのように、4:2圧縮器562が、2つの3:2圧縮器560(または561)から構成され得るかを概略的に示す。
したがって、PLDの2つ以上の特殊処理ブロックを要求する大きな乗算が、PLDの汎用プログラマブルリソースをわずかに使用して、あるいは全く使用せずに、実行され得ることが理解される。
本発明に従うこのような回路網を組み込むPLD280は、多種の電子デバイスに使用され得る。一つの使用の可能性は、図7に示されるデータ処理システム900においてである。データ処理システム900は、以下のコンポーネント、すなわち、プロセッサ281、メモリ282、I/O回路網283、および周辺デバイス284のうちの1つ以上を含み得る。これらのコンポーネントは、システムバス285によって一緒に結合され、エンドユーザシステム287に含まれる回路基板286上に設置される。
システム900は、コンピュータネットワーク化、データネットワーク化、計装、ビデオ処理、デジタル信号処理、あるいはプログラマブルロジックまたは再プログラマブルロジックの使用の利点が望ましい任意の他のアプリケーションのような広範なアプリケーションにおいて使用され得る。PLD280は、様々な異なるロジック機能を実行するために使用され得る。例えば、PLD280は、プロセッサ281と協働するプロセッサまたはコントローラとして構成され得る。PLD280はまた、システム900における共有リソースへのアクセスに対する決定を下すアービタとしても使用され得る。またさらなる別の例において、PLD280は、プロセッサ281とシステム900内の他のコンポーネントの一つとの間のインタフェースとして構成され得る。システム900は、単に例示的なものであることと、本発明の真の範囲および精神は、添付の請求項によって示されるべきであることとは、留意されるべきである。
様々な技術が、上述され、本発明に組み込まれるようなPLD280をインプリメントするために、使用され得る。
本発明に従う方法を実行するための命令は、マシン読み取り可能な媒体上にコード化され、PLDをプログラムするための本発明の方法をインプリメントするために、適切なコンピュータまたは同様のデバイスによって実行され得る。例えば、パーソナルコンピュータは、PLDが接続され得るインタフェースを備え得、このパーソナルコンピュータは、カリフォルニア州San JoseのAltera Corporationより入手可能なQUARTUS(登録商標)IIソフトウェアのような適切なソフトウェアツールを用いて、PLDをプログラムするために、ユーザによって、使用され得る。
図8は、マシン実行可能なプログラムを用いて、コード化され得る磁気データ格納媒体600の断面図を示す。このプログラムは、上述のパーソナルコンピュータ、または他のコンピュータ、あるいは同様のデバイスのようなシステムによって実行され得る。媒体600は、フロッピー(登録商標)ディスケット、またはハードディスク、あるいは磁気テープであり得、これらは、従来型であり得る適切な基板601と、磁気ドメイン(図示せず)を含む片面上または両面上に、従来型であり得る適切なコーティング602とを、有する。この磁気ドメインの極性または配向は、磁気的に変化され得る。この媒体が磁気テープの場合を除くと、媒体600はまた、ディスクドライブまたは他のデータ格納デバイスのスピンドルを受けるために、開口部(図示せず)を有し得る。
媒体600のコーティング602の磁気ドメインは、マシン実行可能なプログラムを、従来型であり得る方法でコード化するために、極性を与えられるか、あるいは配向される。このプログラムは、パーソナルコンピュータ、または他のコンピュータ、あるいは他の同様のシステムのようなプログラミングシステムによって実行するためのものであり、このシステムは、プログラムされるPLDが挿入され得るソケットまたは周辺機器アタッチメントを有し、本発明に従って、特殊処理ブロックがある場合には、そのPLDの特殊処理ブロックを含むPLDの適切な部分を構成する。
図9は、これもまた、そのようなマシン実行可能なプログラムを用いて、コード化され得る光学的に読み取り可能なデータ格納媒体700の断面図を示す。このプログラムは、上述のパーソナルコンピュータ、または他のコンピュータ、あるいは同様のデバイスのようなシステムによって実行され得る。媒体700は、従来型コンパクトディスク読み出し専用メモリ(CD−ROM)、またはデジタルビデオディスク読み出し専用メモリ(DVD−ROM)、あるいは、CD−R、CD−RW、DVD−R、DVD−RW、DVD+R、DVD+RW、またはDVD−RAMのような再書き込み可能な媒体、もしくは光学的に読み取り可能で、磁気光学的に再書き込み可能である磁気光学ディスクであり得る。媒体700は、好ましくは、従来型であり得る適切な基板701と、通常は基板701の片面上または両面上に、従来型であり得る適切なコーティング702とを有し得る。
CDベースの媒体またはDVDベースの媒体の場合、周知のように、コーティング702は、反射性であり、マシン実行可能なプログラムをコード化するために、1つ以上の層上に配置された複数のピット703で刻印される。ピットの配置は、コーティング702からレーザ光を反射することによって読み取られる。好ましくは、実質的に透過性である保護コーティング704が、コーティング702の上に提供される。
磁気光学ディスクの場合、周知のように、コーティング702は、ピット703を有さないが、複数の磁気ドメインを有し、この磁気ドメインの極性または配向は、例えば、レーザ(図示せず)によって、特定の温度を超えて熱せられるとき、磁気的に変化され得る。ドメインの配向は、コーティング702から反射されたレーザ光の極性を測定することによって読み取られ得る。これらのドメインの配置は、上述されたようなプログラムをコード化する。
以上は、本発明の原理の単なる例示であることと、様々な改変が、本発明の範囲および精神から逸脱することなく、当業者によってなされ得ることとが、理解される。例えば、本発明の様々な要素は、所望の数および/または配置で、PLD上に提供され得る。本発明が、例示の目的のために提供され、限定することが目的としない上述された実施形態以外の実施形態によって実行され得ることと、本発明が、添付の請求項によってのみ限定されることとを、当業者は理解する。
図1は、54ビット×54ビット乗算の部分積の和への分解の図である。 図2は、図1の部分積を加算するための配列の図である。 図3は、本発明の第一の好ましい実施形態に使用するための特殊処理ブロックの一部分の概略図である。 図4は、本発明の第一の好ましい実施形態における54ビット×54ビットの乗算の実行の概略図である。 図5は、本発明の第二の好ましい実施形態に使用するための特殊処理ブロックのグループの概略図である。 図6は、図5の実施形態に使用される4:2圧縮器の概略図である。 図7は、本発明を組み込んでいるプログラマブルロジックデバイスを用いる例示的なシステムの簡略ブロック図である。 図8は、本発明に従う方法を実行するためのマシン実行可能な命令のセットでコード化された磁気データ格納媒体の断面図である。 図9は、本発明に従う方法を実行するためのマシン実行可能な命令のセットでコード化された光学的に読み取り可能なデータ格納媒体の断面図である。
符号の説明
30、40、41、51〜53 特殊処理ブロック/ハーフブロック
31〜34、410〜413、510〜513、520〜523 乗算器
33、35、36、42、541〜544、570〜573 加算器
305、310、320、330、340、405、415 部分積
332 マルチプレクサ
37、55、311、331、545〜548 シフタ
313、333、371 信号
560、561 3:2圧縮器
562 4:2圧縮器
572、573 桁上げ/伝播加算器
580〜585 ANDゲート

Claims (24)

  1. 複数の特殊処理ブロックを有するプログラマブルロジックデバイスにおける使用のための、3n×3nの乗算演算を実行する方法であって、該特殊処理ブロックのそれぞれは、四乗算器ユニットに配置された少なくとも4つのn×n乗算器を有し、該方法は、
    該四乗算器ユニットの第一のユニットで、該n×n乗算器の4つを用いて、2n×2nの乗算を実行するステップと、
    該四乗算器ユニットの第二のユニットで、該n×n乗算器の1つを用いて、n×nの乗算を実行するステップと、
    n×nの乗算のそれぞれに対して該n×n乗算器のうちの2つを用いて、該四乗算器ユニットの第三のユニットで、第一および第二の2n×nの乗算を実行するステップと、
    該第三の四乗算器ユニット内で加算のために、該2n×nの乗算のそれぞれの第二の部分積をシフトして、該2n×nの乗算のそれぞれの第二の部分積を該2n×nの乗算のそれぞれの第一の部分積と整列させるステップと、
    該第一、第二、および第三の四乗算器ユニットからの該乗算の結果を加算するステップと
    を包含する、方法。
  2. 前記加算するステップは、前記プログラマブルロジックデバイスの汎用プログラマブルロジックにおいて、前記結果を加算するステップを包含する、請求項1に記載の方法。
  3. 前記第一および第二の2n×nの乗算を実行するステップは、該第一および第二の2n×nの乗算のうちのそれぞれ個々に対して、
    前記第三の四乗算器ユニットにおける一つの該乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するステップと、
    前記第三の四乗算器ユニットにおける別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するステップと
    を包含し、
    前記シフトするステップは、個々の最下位ビットのいずれの部分積もシフトすることなく、それぞれ個々の最上位ビットの部分積を左にシフトするステップを包含し、
    該第三の四乗算器ユニット内での前記加算は、部分積のさらなるシフトを排除する、請求項2に記載の方法。
  4. 前記シフトとさらなるシフトなしでの前記加算とを実行するように、制御信号を選択するステップをさらに包含する、請求項3に記載の方法。
  5. それぞれの前記特殊処理ブロックは、2つの前記四乗算器ユニットを備える、請求項1に記載の方法。
  6. 前記加算するステップは、実質的に一つの前記特殊処理ブロックで該加算を実行するステップを包含する、請求項5に記載の方法。
  7. 前記2n×2nの乗算と、前記第一および第二の2n×nの乗算とは、前記第一および第三の四乗算器ユニットを備える前記一つの特殊処理ブロックで実行され、
    該2n×2nの乗算と、該第一および第二の2n×nの乗算とを実行するステップは、該2n×2nの乗算と、該第一および第二の2n×nの乗算とのうちのそれぞれ個々の一つに対して、
    前記四乗算器ユニットの一つの前記乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するステップと、
    該四乗算器ユニットの別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するステップと
    を包含し、
    前記シフトするステップは、該2n×nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするステップを包含し、前記方法は、
    該2n×2nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×2nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするステップと、
    該2n×2nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するステップと、
    該2n×nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するステップと、
    該2n×2nの部分積の該最上位ビットの総計を左にシフトするステップと、
    該2n×nの部分積の該総計のそれぞれを右にシフトするステップと、
    該n×nの乗算の出力を右にシフトして、該右にシフトされた出力を、該第一および第三の四乗算器ユニットを備える該特殊処理ブロックのうちの該一つに入力するステップと、
    該2n×2nの部分積の該左にシフトされた最上位ビットの総計と、該2n×nの部分積の該右にシフトされた総計と、該n×nの乗算の該右にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するステップと
    さらに包含する、請求項6に記載の方法。
  8. 前記2n×2nの部分積の前記左にシフトされた最上位ビットの総計と、前記2n×nの部分積の前記右にシフトされた総計と、前記n×nの乗算の前記右にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するステップは、
    該2n×2nの部分積の該最下位ビットの総計を圧縮するステップと、
    該2n×2nの部分積の該左にシフトされた最上位ビットの総計を、該2n×nの部分積の該右にシフトされた総計の第一の総計とともに圧縮するステップと、
    該n×nの乗算の該右にシフトされた出力を、該2n×nの部分積の該右にシフトされた総計の第二の総計とともに圧縮するステップと、
    該圧縮の結果を加算するステップと
    を包含する、請求項7に記載の方法。
  9. 複数の特殊処理ブロックを有するプログラマブルロジックデバイスであって、該特殊処理ブロックのそれぞれは、四乗算器ユニットに配置された少なくとも4つのn×n乗算器を有し、該プログラマブルロジックデバイスは、3n×3nの乗算演算を実行するように構成され、該プログラマブルロジックデバイスは、
    2n×2nの乗算を実行するように構成されている該四乗算器ユニットの第一のユニットの中に、該n×n乗算器のうちの4つと、
    n×nの乗算を実行するように構成されている該四乗算器ユニットの第二のユニットの中に、該n×n乗算器のうちの1つと、
    該2n×nの乗算のそれぞれに対して、該n×n乗算器の2つを用いて、第一および第二の2n×nの乗算を実行するように構成されている該四乗算器ユニットの第三のユニットと、
    該2n×nの乗算のそれぞれの第二の部分積をシフトして該2n×nの乗算のそれぞれの第二の部分積を、該2n×nの乗算のそれぞれの第一の部分積と、該第三の四乗算器ユニット内で加算するために整列させるように構成されているシフタと、
    該第一、第二、および第三の四乗算器ユニットからの該乗算の結果を加算するように構成されている回路網と
    を備える、プログラマブルロジックデバイス。
  10. 前記加算することは、前記プログラマブルロジックデバイスの汎用プログラマブルロジックにおいて、前記結果を加算することを包含する、請求項9に記載の構成されたプログラマブルロジックデバイス。
  11. 前記プログラマブルロジックデバイスは、前記第一および第二の2n×nの乗算のそれぞれ個々の一つに対して、
    前記第三の四乗算器ユニットにおける一つの該乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するステップと、
    前記第三の四乗算器ユニットにおける別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するステップと
    を実行することによって、該第一および第二の2n×nの乗算を実行するように構成され、該プログラマブルロジックデバイスは、個々の最下位ビットのいずれの部分積もシフトすることなしに、それぞれ個々の最上位ビットの部分積を左にシフトするように構成され、
    加算するように構成されている前記回路網は、部分積のさらなるシフト排除する、請求項10に記載の構成されたプログラマブルロジックデバイス。
  12. 選択制御信号に応答して、前記シフトと、さらなるシフトなしでの前記加算を実行するために、セレクタをさらに備える、請求項11に記載の構成されたプログラマブルロジックデバイス。
  13. それぞれの前記特殊処理ブロックは、2つの前記四乗算器ユニットを備える、請求項9に記載の構成されたプログラマブルロジックデバイス。
  14. 加算するように構成されている前記回路網は、実質的に一つの前記特殊処理ブロック内に位置する、請求項13に記載の構成されたプログラマブルロジックデバイス。
  15. 前記一つの特殊処理ブロックは、前記2n×2nの乗算と、前記第一および第二の2n×nの乗算とを実行するように構成された前記第一および第三の四乗算器ユニットを備え、
    該第一および第三の四乗算器ユニットのそれぞれにおいて、
    該2n×2nの乗算と、該第一および第二の2n×nの乗算と実行することは、該2n×2nの乗算と、該第一および第二の2n×nの乗算とのそれぞれ個々の一つに対して、
    前記四乗算器ユニットの一つの前記乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するステップと、
    該四乗算器ユニットの別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するステップと
    を包含し、
    前記シフタは、該2n×nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするように構成され、前記構成されたプログラマブルロジックデバイスは、
    該2n×2nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×2nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするシフタと、
    該2n×2nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するように構成されている回路網と、
    該2n×nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するように構成されている回路網と、
    該2n×2nの部分積の該最上位ビットの総計を左にシフトする第一の左シフト回路網と、
    該2n×nの部分積の該総計のそれぞれを右にシフトする右シフト回路網と、
    該n×nの乗算の出力を右にシフトして、該n×nの乗算の右にシフトされた出力を、該第一および第三の四乗算器ユニットを備える該特殊処理ブロックの該一つに入力する第二の右シフト回路網と、
    該2n×2nの部分積の該左にシフトされた最上位ビットの総計と、該2n×nの部分積の該右にシフトされた総計と、該n×nの乗算の該右にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するように構成されている回路網と
    をさらに備える、請求項14に記載の構成されたプログラマブルロジックデバイス。
  16. 前記2n×2nの部分積の前記左にシフトされた最上位ビットの総計と、前記2n×nの部分積の前記右にシフトされた総計と、前記n×nの乗算の前記右にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するように構成されている回路網は、
    該2n×2nの部分積の該最下位ビットの総計を圧縮する第一の3:2圧縮回路網と、
    該2n×2nの部分積の該左にシフトされた最上位ビットの総計を、該2n×nの部分積の該右にシフトされた総計の第一の総計とともに圧縮する4:2圧縮回路網と、
    該n×nの乗算の該右にシフトされた出力を、該2n×nの部分積の該右にシフトされた総計の第二の総計とともに圧縮する第二の3:2圧縮回路網と、
    該第一および第二の3:2圧縮回路網の出力と、該4:2の圧縮回路網の出力とを加算する加算回路網と
    を備える、請求項15に記載の構成されたプログラマブルロジックデバイス。
  17. 3n×3nの乗算演算を実行するプログラマブルロジックデバイスをプログラマブルに構成する方法を実行するためのマシン実行可能な命令でコード化されたデータ格納媒体であって、該プログラマブルロジックデバイスは、複数の特殊処理ブロックを有し、該特殊処理ブロックのそれぞれは、四乗算器ユニットに配置された少なくとも4つのn×n乗算器を有し、該命令は、
    該四乗算器ユニットの第一のユニットの中のn×n乗算器のうちの4つが、2n×2nの乗算を実行するように構成するための命令と、
    該四乗算器ユニットの第二のユニットの中のn×n乗算器のうちの1つが、n×nの乗算を実行するように構成するための命令と、
    該四乗算器ユニットの第三のユニットが、2n×nの乗算のそれぞれに対して、n×n乗算器のうちの2つを用いて、第一および第二の2n×nの乗算を実行するように構成するための命令と、
    シフタが、該2n×nの乗算のそれぞれの第二の部分積をシフトして、該2n×nの乗算のそれぞれの第二の部分積を、該2n×nの乗算のそれぞれの第一の部分積と、該第三の四乗算器ユニット内で加算するために整列させるように構成するための命令と、
    回路網が、該第一、第二、および第三の四乗算器ユニットからの該乗算の結果を加算するように構成するための命令と
    を含む、データ格納媒体。
  18. 前記加算するように回路網を構成するための命令は、前記プログラマブルロジックデバイスの汎用プログラマブルロジックが、前記結果を加算するように構成するための命令を含む、請求項17に記載のデータ格納媒体。
  19. 前記プログラマブルロジックデバイスが、前記第一および第二の2n×nの乗算のそれぞれ個々の一つに対して、
    該プログラマブルロジックデバイスが、前記第三の四乗算器ユニットにおける一つ乗算器を用いて、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するように構成するための命令と、
    該プログラマブルロジックデバイスが、第三の四乗算器ユニットにおける別の一つの該乗算器を用いて、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するように構成するための命令と、
    該プログラマブルロジックデバイスが、個々の最下位ビットのいずれの部分積もシフトすることなしに、それぞれ個々の最上位ビットの部分積を左にシフトすることを実行するように構成する命令と
    を含む、該第一および第二の2n×nの乗算を実行するように構成する命令を含み、
    加算するように前記回路網を構成する命令は、部分積のさらなるシフトを排除する請求項18に記載のデータ格納媒体。
  20. 前記命令は、セレクタが選択制御信号に応答して、前記シフトと、さらなるシフトなしでの前記加算を実行するように構成する命令をさらに含む、請求項19に記載のデータ格納媒体。
  21. 前記命令は、プログラマブルロジックデバイスを構成するためのものであり、それぞれの前記特殊処理ブロックは、2つの前記四乗算器ユニットを備える、請求項17に記載のデータ格納媒体。
  22. 前記命令は、前記回路網、実質的に一つの前記特殊処理ブロック内で加算するように構成する、請求項21に記載のデータ格納媒体。
  23. 前記命令は、前記第一および第三の四乗算器ユニットが、前記2n×2nの乗算と、前記第一および第二の2n×nの乗算とを実行するよう構成し
    該命令は、該第一および第三の四乗算器ユニットのそれぞれが、該2n×2nの乗算と、該第一および第二の2n×nの乗算とを実行するように構成し、該2n×2nの乗算と、該第一および第二の2n×nの乗算とのそれぞれの個々の一つの乗算に対して、
    該命令は、前記四乗算器ユニットの一つ乗算器が、個々の最上位ビットの乗算を実行して、個々の最上位ビットの部分積を形成するように構成することと、
    該命令は、該四乗算器ユニットの別の一つの乗算器が、個々の最下位ビットの乗算を実行して、個々の最下位ビットの部分積を形成するように構成することと
    を包含し
    該命令は、前記シフタが、該2n×nの乗算のいずれの個々の最下位ビットの部分積もシフトすることなしに、該2n×nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするように構成し
    該命令は、該シフタが、該2n×2nの乗算の個々の最下位ビットのいずれの部分積もシフトすることなしに、該2n×2nの乗算のそれぞれ個々の最上位ビットの部分積を左にシフトするように構成し
    該命令は、回路網が、該2n×2nの部分積の最上位ビット部分積および最下位ビットの部分積の各ペアを総計して、最上位ビットの総計および最下位ビットの総計を生成するように構成し
    該命令は、回路網が、該2n×nの部分積の最上位ビットの部分積および最下位ビットの部分積の各ペアを総計して最上位ビットの総計および最下位ビットの総計を生成するように構成し
    該命令は、第一の左シフト回路網が、該2n×2nの部分積の該最上位ビットの総計を左にシフトするように構成し
    該命令は、右シフト回路網が、該2n×nの部分積の該総計のそれぞれを右にシフトするように構成し
    該命令は、第二の左シフト回路網が、該n×nの乗算の出力を右にシフトして、該n×nの乗算の右にシフトされた出力を、該第一および第三の四乗算器ユニットを備える該特殊処理ブロックの該一つに入力するように構成し
    該命令は、回路網が、該2n×2nの部分積の該左にシフトされた最上位ビットの総計と、該2n×nの部分積の該右にシフトされた総計と、該n×nの乗算の該右にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するように構成する、
    請求項22に記載のデータ格納媒体。
  24. 前記2n×2nの部分積の前記左にシフトされた最上位ビットの総計と、前記2n×nの部分積の前記右にシフトされた総計と、前記n×nの乗算の前記右にシフトされた出力と、該2n×2nの部分積の該最下位ビットの総計とを加算するように構成されている回路網を構成するための前記命令は、
    第一の3:2圧縮回路網が、該2n×2nの部分積の該最下位ビットの総計を圧縮するように構成する命令と、
    4:2圧縮回路網が、該2n×2nの部分積の該左にシフトされた最上位ビットの総計を、該2n×nの部分積の該右にシフトされた総計の第一の総計とともに圧縮するように構成する命令と、
    第二の3:2圧縮回路網が、該n×nの乗算の該右にシフトされた出力を、該2n×nの部分積の該右にシフトされた総計の第二の総計とともに圧縮するように構成する命令と、
    加算回路網が、該第一および第二の3:2圧縮回路網の出力と、該4:2の圧縮回路網の出力とを加算するように構成する命令と
    を含む、請求項23に記載のデータ格納媒体。
JP2007311579A 2006-12-05 2007-11-30 プログラマブルロジックデバイスのための大きな乗算器 Expired - Fee Related JP5073464B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/566,982 2006-12-05
US11/566,982 US7930336B2 (en) 2006-12-05 2006-12-05 Large multiplier for programmable logic device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012172915A Division JP5400197B2 (ja) 2006-12-05 2012-08-03 プログラマブルロジックデバイスのための大きな乗算器

Publications (2)

Publication Number Publication Date
JP2008146644A JP2008146644A (ja) 2008-06-26
JP5073464B2 true JP5073464B2 (ja) 2012-11-14

Family

ID=39361807

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007311579A Expired - Fee Related JP5073464B2 (ja) 2006-12-05 2007-11-30 プログラマブルロジックデバイスのための大きな乗算器
JP2012172915A Expired - Fee Related JP5400197B2 (ja) 2006-12-05 2012-08-03 プログラマブルロジックデバイスのための大きな乗算器

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012172915A Expired - Fee Related JP5400197B2 (ja) 2006-12-05 2012-08-03 プログラマブルロジックデバイスのための大きな乗算器

Country Status (4)

Country Link
US (3) US7930336B2 (ja)
EP (2) EP2464010B1 (ja)
JP (2) JP5073464B2 (ja)
CN (1) CN101196806B (ja)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8166091B2 (en) * 2008-11-10 2012-04-24 Crossfield Technology LLC Floating-point fused dot-product unit
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8805916B2 (en) * 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8892620B2 (en) 2009-10-07 2014-11-18 Qsigma, Inc. Computer for Amdahl-compliant algorithms like matrix inversion
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US20110005757A1 (en) * 2010-03-01 2011-01-13 Jeff Hebert Device and method for flowing back wellbore fluids
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9391621B2 (en) * 2013-09-27 2016-07-12 Silicon Mobility Configurable multiply-accumulate
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US11847427B2 (en) 2015-04-04 2023-12-19 Texas Instruments Incorporated Load store circuit with dedicated single or dual bit shift circuit and opcodes for low power accelerator processor
US9817791B2 (en) 2015-04-04 2017-11-14 Texas Instruments Incorporated Low energy accelerator processor architecture with short parallel instruction word
CN104778147B (zh) * 2015-04-14 2017-06-06 飞天诚信科技股份有限公司 一种基于协处理器的数据处理方法
US10503474B2 (en) * 2015-12-31 2019-12-10 Texas Instruments Incorporated Methods and instructions for 32-bit arithmetic support using 16-bit multiply and 32-bit addition
US10401412B2 (en) 2016-12-16 2019-09-03 Texas Instruments Incorporated Line fault signature analysis
US10880272B2 (en) * 2017-04-20 2020-12-29 Wyse Technology L.L.C. Secure software client
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
CN107797962B (zh) * 2017-10-17 2021-04-16 清华大学 基于神经网络的计算阵列
CN108984149B (zh) * 2018-08-07 2023-03-03 电子科技大学 一种高速低功耗的近似4-2压缩器
US10693469B2 (en) 2018-08-31 2020-06-23 Flex Logic Technologies, Inc. Multiplier-accumulator circuit, logic tile architecture for multiply-accumulate, and IC including logic tile array
JP7259862B2 (ja) * 2018-10-11 2023-04-18 日本電気株式会社 情報処理装置、秘密計算方法及びプログラム
US11194585B2 (en) 2019-03-25 2021-12-07 Flex Logix Technologies, Inc. Multiplier-accumulator circuitry having processing pipelines and methods of operating same
US11314504B2 (en) 2019-04-09 2022-04-26 Flex Logix Technologies, Inc. Multiplier-accumulator processing pipelines and processing component, and methods of operating same
US11288076B2 (en) 2019-09-13 2022-03-29 Flex Logix Technologies, Inc. IC including logic tile, having reconfigurable MAC pipeline, and reconfigurable memory
US11455368B2 (en) 2019-10-02 2022-09-27 Flex Logix Technologies, Inc. MAC processing pipeline having conversion circuitry, and methods of operating same
US12015428B2 (en) 2019-11-05 2024-06-18 Flex Logix Technologies, Inc. MAC processing pipeline using filter weights having enhanced dynamic range, and methods of operating same
US11693625B2 (en) 2019-12-04 2023-07-04 Flex Logix Technologies, Inc. Logarithmic addition-accumulator circuitry, processing pipeline including same, and methods of operation
US11960856B1 (en) 2020-01-15 2024-04-16 Flex Logix Technologies, Inc. Multiplier-accumulator processing pipeline using filter weights having gaussian floating point data format
US11442881B2 (en) 2020-04-18 2022-09-13 Flex Logix Technologies, Inc. MAC processing pipelines, circuitry to control and configure same, and methods of operating same
CN111752528B (zh) * 2020-06-30 2021-12-07 无锡中微亿芯有限公司 一种支持高效乘法运算的基本逻辑单元
US11604645B2 (en) 2020-07-22 2023-03-14 Flex Logix Technologies, Inc. MAC processing pipelines having programmable granularity, and methods of operating same
US20220317970A1 (en) * 2021-03-30 2022-10-06 Efinix, Inc. Peripheral tooldual/quad-fracturable digital signal processing block for programmable gate architectures

Family Cites Families (391)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3473160A (en) 1966-10-10 1969-10-14 Stanford Research Inst Electronically controlled microelectronic cellular logic array
US4215407A (en) * 1972-08-22 1980-07-29 Westinghouse Electric Corp. Combined file and directory system for a process control digital computer system
US4215406A (en) * 1972-08-22 1980-07-29 Westinghouse Electric Corp. Digital computer monitored and/or operated system or process which is structured for operation with an improved automatic programming process and system
US6556044B2 (en) * 2001-09-18 2003-04-29 Altera Corporation Programmable logic device including multipliers and configurations thereof to reduce resource utilization
US4179746A (en) 1976-07-19 1979-12-18 Texas Instruments Incorporated Digital processor system with conditional carry and status function in arithmetic unit
US4156927A (en) * 1976-08-11 1979-05-29 Texas Instruments Incorporated Digital processor system with direct access memory
US4212076A (en) * 1976-09-24 1980-07-08 Giddings & Lewis, Inc. Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former
US4484259A (en) 1980-02-13 1984-11-20 Intel Corporation Fraction bus for use in a numeric data processor
US4422155A (en) 1981-04-01 1983-12-20 American Microsystems, Inc. Multiplier/adder circuit
US4521907A (en) * 1982-05-25 1985-06-04 American Microsystems, Incorporated Multiplier/adder circuit
US4494997A (en) * 1983-06-15 1985-01-22 Westinghouse Electric Corp. Ion implant mask and cap for gallium arsenide structures
US4597053A (en) * 1983-07-01 1986-06-24 Codex Corporation Two-pass multiplier/accumulator circuit
US4616330A (en) 1983-08-25 1986-10-07 Honeywell Inc. Pipelined multiply-accumulate unit
US4623961A (en) 1984-03-07 1986-11-18 Westinghouse Electric Corp. Programmable controller having automatic contact line solving
USRE34363E (en) 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4575812A (en) 1984-05-31 1986-03-11 Motorola, Inc. X×Y Bit array multiplier/accumulator circuit
US4736335A (en) 1984-11-13 1988-04-05 Zoran Corporation Multiplier-accumulator circuit using latched sums and carries
US4727508A (en) * 1984-12-14 1988-02-23 Motorola, Inc. Circuit for adding and/or subtracting numbers in logarithmic representation
US4682302A (en) * 1984-12-14 1987-07-21 Motorola, Inc. Logarithmic arithmetic logic unit
JPS61237133A (ja) 1985-04-15 1986-10-22 Nec Corp 演算回路
US4718057A (en) * 1985-08-30 1988-01-05 Advanced Micro Devices, Inc. Streamlined digital signal processor
US4791590A (en) 1985-11-19 1988-12-13 Cornell Research Foundation, Inc. High performance signal processor
US4823295A (en) * 1986-11-10 1989-04-18 Harris Corp. High speed signal processor
US4918637A (en) 1987-01-13 1990-04-17 Hewlett-Packard Company Multichannel decimation/interpolation filter
JPS63182585A (ja) 1987-01-26 1988-07-27 Toshiba Corp テスト容易化機能を備えた論理回路
JP2523590B2 (ja) 1987-03-04 1996-08-14 松下電器産業株式会社 多値演算回路
US4839847A (en) * 1987-04-14 1989-06-13 Harris Corp. N-clock, n-bit-serial multiplier
US4982354A (en) * 1987-05-28 1991-01-01 Mitsubishi Denki Kabushiki Kaisha Digital finite impulse response filter and method
US5142677A (en) 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
FR2621144B1 (fr) * 1987-09-25 1989-12-29 Labo Electronique Physique Multiplieur pipeline serie
JP2639543B2 (ja) 1987-12-02 1997-08-13 日本ビクター株式会社 デジタル・フィルタ装置
US4871930A (en) 1988-05-05 1989-10-03 Altera Corporation Programmable logic device with array blocks connected via programmable interconnect
FR2633467B1 (fr) 1988-06-24 1990-08-24 Thomson Csf Multiplicateur de frequence a rang de multiplication programmable
US5452231A (en) 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
JPH02155045A (ja) 1988-12-07 1990-06-14 Aputo Instr Kk 真理値コンバータ
US4912345A (en) * 1988-12-29 1990-03-27 Sgs-Thomson Microelectronics, Inc. Programmable summing functions for programmable logic devices
IT1235679B (it) 1989-01-25 1992-09-21 Sgs Thomson Microelectronics Dispositivo programmabile integrato di tipo misto, logico ed analogico.
US5046038A (en) 1989-07-07 1991-09-03 Cyrix Corporation Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5255203A (en) 1989-08-15 1993-10-19 Advanced Micro Devices, Inc. Interconnect structure for programmable logic device
US5128559A (en) * 1989-09-29 1992-07-07 Sgs-Thomson Microelectronics, Inc. Logic block for programmable logic devices
US4991010A (en) 1989-11-13 1991-02-05 Eastman Kodak Company Dual-mode image interpolation filter operable in a first mode for storing interpolation coefficients and in a second mode for effecting television standards conversion at a pixel rate
EP0448367B1 (en) 1990-03-20 1998-12-23 Fujitsu Limited High speed digital parallel multiplier
US5267187A (en) 1990-05-10 1993-11-30 Xilinx Inc Logic structure and circuit for fast carry
US5768613A (en) * 1990-07-06 1998-06-16 Advanced Micro Devices, Inc. Computing apparatus configured for partitioned processing
EP0466997A1 (en) 1990-07-18 1992-01-22 International Business Machines Corporation Improved digital signal processor architecture
JPH04256103A (ja) 1991-02-08 1992-09-10 Hitachi Ltd プログラマブルコントローラ
US5122685A (en) * 1991-03-06 1992-06-16 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
JP3345894B2 (ja) 1991-05-08 2002-11-18 日本電気株式会社 浮動小数点乗算器
US5338984A (en) * 1991-08-29 1994-08-16 National Semiconductor Corp. Local and express diagonal busses in a configurable logic array
US5550782A (en) 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
US5371422A (en) 1991-09-03 1994-12-06 Altera Corporation Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements
JPH05252025A (ja) 1991-10-28 1993-09-28 Texas Instr Inc <Ti> 論理モジュールおよび集積回路
JPH05134851A (ja) 1991-11-15 1993-06-01 Fujitsu Ltd 乗算回路出力方式
US5208491A (en) * 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
FR2686175B1 (fr) 1992-01-14 1996-12-20 Andre Thepaut Systeme de traitement de donnees multiprocesseur.
JPH05216624A (ja) 1992-02-03 1993-08-27 Mitsubishi Electric Corp 演算装置
GB9202613D0 (en) 1992-02-07 1992-03-25 Questech Ltd Improvements in and relating to digital filters
US5642437A (en) 1992-02-22 1997-06-24 Texas Instruments Incorporated System decoder circuit with temporary bit storage and method of operation
US5636150A (en) * 1992-08-06 1997-06-03 Sharp Kabushiki Kaisha Data driven type digital filter unit and data driven type information processor including the same
US5497498A (en) * 1992-11-05 1996-03-05 Giga Operations Corporation Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation
US5357152A (en) 1992-11-10 1994-10-18 Infinite Technology Corporation Logic system of logic networks with programmable selected functions and programmable operational controls
US5498975A (en) 1992-11-19 1996-03-12 Altera Corporation Implementation of redundancy on a programmable logic device
JPH06187129A (ja) 1992-12-21 1994-07-08 Hitachi Ltd 半導体装置
EP0606653A1 (en) 1993-01-04 1994-07-20 Texas Instruments Incorporated Field programmable distributed processing memory
US5339263A (en) 1993-01-28 1994-08-16 Rockwell International Corporation Combined decimation/interpolation filter for ADC and DAC
US5424589A (en) * 1993-02-12 1995-06-13 The Board Of Trustees Of The Leland Stanford Junior University Electrically programmable inter-chip interconnect architecture
US5483178A (en) * 1993-03-29 1996-01-09 Altera Corporation Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers
EP0626661A1 (en) 1993-05-24 1994-11-30 Societe D'applications Generales D'electricite Et De Mecanique Sagem Digital image processing circuitry
US5528550A (en) * 1993-05-28 1996-06-18 Texas Instruments Incorporated Apparatus, systems and methods for implementing memory embedded search arithmetic logic unit
US5528549A (en) * 1993-05-28 1996-06-18 Texas Instruments Incorporated Apparatus, systems and methods for distributed signal processing
US5381357A (en) * 1993-05-28 1995-01-10 Grumman Corporation Complex adaptive fir filter
JPH06348455A (ja) 1993-06-14 1994-12-22 Matsushita Electric Ind Co Ltd 乗算における丸め込み方法及び乗算回路
JPH0736858A (ja) * 1993-07-21 1995-02-07 Hitachi Ltd 信号処理プロセッサ
EP0638859B1 (de) * 1993-08-09 1999-09-29 Siemens Aktiengesellschaft Signalverarbeitungseinrichtung
US5457644A (en) 1993-08-20 1995-10-10 Actel Corporation Field programmable digital signal processing array integrated circuit
US5349250A (en) 1993-09-02 1994-09-20 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
US5740404A (en) * 1993-09-27 1998-04-14 Hitachi America Limited Digital signal processor with on-chip select decoder and wait state generator
US5404324A (en) 1993-11-01 1995-04-04 Hewlett-Packard Company Methods and apparatus for performing division and square root computations in a computer
JPH07135447A (ja) 1993-11-11 1995-05-23 Sony Corp ディジタル処理装置
US5644522A (en) * 1993-11-30 1997-07-01 Texas Instruments Incorporated Method, apparatus and system for multiply rounding using redundant coded multiply result
US5961635A (en) 1993-11-30 1999-10-05 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator and mask generator
US6116768A (en) 1993-11-30 2000-09-12 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator
US6098163A (en) 1993-11-30 2000-08-01 Texas Instruments Incorporated Three input arithmetic logic unit with shifter
US5465224A (en) 1993-11-30 1995-11-07 Texas Instruments Incorporated Three input arithmetic logic unit forming the sum of a first Boolean combination of first, second and third inputs plus a second Boolean combination of first, second and third inputs
US5590350A (en) 1993-11-30 1996-12-31 Texas Instruments Incorporated Three input arithmetic logic unit with mask generator
US5446651A (en) 1993-11-30 1995-08-29 Texas Instruments Incorporated Split multiply operation
US5596763A (en) * 1993-11-30 1997-01-21 Texas Instruments Incorporated Three input arithmetic logic unit forming mixed arithmetic and boolean combinations
US5640578A (en) * 1993-11-30 1997-06-17 Texas Instruments Incorporated Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section
US6219688B1 (en) 1993-11-30 2001-04-17 Texas Instruments Incorporated Method, apparatus and system for sum of plural absolute differences
US5485411A (en) 1993-11-30 1996-01-16 Texas Instruments Incorporated Three input arithmetic logic unit forming the sum of a first input anded with a first boolean combination of a second input and a third input plus a second boolean combination of the second and third inputs
US5805913A (en) 1993-11-30 1998-09-08 Texas Instruments Incorporated Arithmetic logic unit with conditional register source selection
AU1555495A (en) 1993-12-23 1995-07-10 State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Portland State University, The Programmable analog array circuit
US5563526A (en) 1994-01-03 1996-10-08 Texas Instruments Incorporated Programmable mixed-mode integrated circuit architecture
JP3097434B2 (ja) 1994-01-25 2000-10-10 ヤマハ株式会社 効果付加用ディジタル信号処理装置
GB9403030D0 (en) 1994-02-17 1994-04-06 Austin Kenneth Re-configurable application specific device
US5451948A (en) 1994-02-28 1995-09-19 Cubic Communications, Inc. Apparatus and method for combining analog and digital automatic gain control in receivers with digital signal processing
US5590305A (en) * 1994-03-28 1996-12-31 Altera Corporation Programming circuits and techniques for programming logic
US5598576A (en) 1994-03-30 1997-01-28 Sigma Designs, Incorporated Audio output device having digital signal processor for responding to commands issued by processor by emulating designated functions according to common command interface
US5563819A (en) 1994-03-31 1996-10-08 Cirrus Logic, Inc. Fast high precision discrete-time analog finite impulse response filter
US5541864A (en) 1994-04-26 1996-07-30 Crystal Semiconductor Arithmetic-free digital interpolation filter architecture
EP0707721B1 (en) * 1994-05-04 2002-01-30 Atmel Corporation Programmable logic device with regional and universal signal routing
US5689195A (en) 1995-05-17 1997-11-18 Altera Corporation Programmable logic array integrated circuit devices
JP3365581B2 (ja) 1994-07-29 2003-01-14 富士通株式会社 自己修復機能付き情報処理装置
JPH08106375A (ja) 1994-10-03 1996-04-23 Ricoh Co Ltd 信号処理演算器
US5652903A (en) 1994-11-01 1997-07-29 Motorola, Inc. DSP co-processor for use on an integrated circuit that performs multiple communication tasks
US5872380A (en) * 1994-11-02 1999-02-16 Lsi Logic Corporation Hexagonal sense cell architecture
US5606266A (en) * 1994-11-04 1997-02-25 Altera Corporation Programmable logic array integrated circuits with enhanced output routing
US5664192A (en) 1994-12-14 1997-09-02 Motorola, Inc. Method and system for accumulating values in a computing device
US5636368A (en) * 1994-12-23 1997-06-03 Xilinx, Inc. Method for programming complex PLD having more than one function block type
EP0721159A1 (en) 1995-01-03 1996-07-10 Texas Instruments Incorporated Multiple-input binary adder
US5581199A (en) 1995-01-04 1996-12-03 Xilinx, Inc. Interconnect architecture for field programmable gate array using variable length conductors
US5892961A (en) * 1995-02-17 1999-04-06 Xilinx, Inc. Field programmable gate array having programming instructions in the configuration bitstream
US5646875A (en) 1995-02-27 1997-07-08 International Business Machines Corporation Denormalization system and method of operation
US5553012A (en) 1995-03-10 1996-09-03 Motorola, Inc. Exponentiation circuit utilizing shift means and method of using same
US5633601A (en) * 1995-03-10 1997-05-27 Texas Instruments Incorporated Field programmable gate array logic module configurable as combinational or sequential circuits
US5572148A (en) 1995-03-22 1996-11-05 Altera Corporation Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
US5570040A (en) 1995-03-22 1996-10-29 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
US5696708A (en) 1995-03-30 1997-12-09 Crystal Semiconductor Digital filter with decimated frequency response
US5644519A (en) 1995-04-07 1997-07-01 Motorola, Inc. Method and apparatus for a multiply and accumulate circuit having a dynamic saturation range
US5808926A (en) 1995-06-01 1998-09-15 Sun Microsystems, Inc. Floating point addition methods and apparatus
US5771186A (en) 1995-06-07 1998-06-23 International Business Machines System and method for multiplying in a data processing system
US5790446A (en) 1995-07-05 1998-08-04 Sun Microsystems, Inc. Floating point multiplier with reduced critical paths using delay matching techniques
US5570039A (en) 1995-07-27 1996-10-29 Lucent Technologies Inc. Programmable function unit as parallel multiplier cell
US5559450A (en) 1995-07-27 1996-09-24 Lucent Technologies Inc. Field programmable gate array with multi-port RAM
US5581501A (en) 1995-08-17 1996-12-03 Altera Corporation Nonvolatile SRAM cells and cell arrays
US5646545A (en) * 1995-08-18 1997-07-08 Xilinx, Inc. Time multiplexed programmable logic device
US5761483A (en) * 1995-08-18 1998-06-02 Xilinx, Inc. Optimizing and operating a time multiplexed programmable logic device
US5784313A (en) 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5721696A (en) 1995-08-28 1998-02-24 Motorola Inc. Method and system for performing an FIR filtering operation
US5859878A (en) * 1995-08-31 1999-01-12 Northrop Grumman Corporation Common receive module for a programmable digital radio
CN100465874C (zh) * 1995-08-31 2009-03-04 英特尔公司 根据指令对数据执行运算的方法、处理器和系统
US6072994A (en) * 1995-08-31 2000-06-06 Northrop Grumman Corporation Digitally programmable multifunction radio system architecture
US7395298B2 (en) 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
JPH0997178A (ja) 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd 飽和演算処理装置および方法
US5729495A (en) * 1995-09-29 1998-03-17 Altera Corporation Dynamic nonvolatile memory cell
US5648732A (en) 1995-10-04 1997-07-15 Xilinx, Inc. Field programmable pipeline array
US5744991A (en) * 1995-10-16 1998-04-28 Altera Corporation System for distributing clocks using a delay lock loop in a programmable logic circuit
US5617058A (en) * 1995-11-13 1997-04-01 Apogee Technology, Inc. Digital signal processing for linearization of small input signals to a tri-state power switch
US5894228A (en) * 1996-01-10 1999-04-13 Altera Corporation Tristate structures for programmable logic devices
US6247036B1 (en) 1996-01-22 2001-06-12 Infinite Technology Corp. Processor with reconfigurable arithmetic data path
US5898602A (en) * 1996-01-25 1999-04-27 Xilinx, Inc. Carry chain circuit with flexible carry function for implementing arithmetic and logical functions
US5754459A (en) * 1996-02-08 1998-05-19 Xilinx, Inc. Multiplier circuit design for a programmable logic device
US5744980A (en) * 1996-02-16 1998-04-28 Actel Corporation Flexible, high-performance static RAM architecture for field-programmable gate arrays
US5764555A (en) 1996-03-13 1998-06-09 International Business Machines Corporation Method and system of rounding for division or square root: eliminating remainder calculation
US6005806A (en) 1996-03-14 1999-12-21 Altera Corporation Nonvolatile configuration cells and cell arrays
US5777912A (en) 1996-03-28 1998-07-07 Crystal Semiconductor Corporation Linear phase finite impulse response filter with pre-addition
US5869979A (en) * 1996-04-05 1999-02-09 Altera Corporation Technique for preconditioning I/Os during reconfiguration
US6154049A (en) 1998-03-27 2000-11-28 Xilinx, Inc. Multiplier fabric for use in field programmable gate arrays
US5986465A (en) 1996-04-09 1999-11-16 Altera Corporation Programmable logic integrated circuit architecture incorporating a global shareable expander
US5949710A (en) 1996-04-10 1999-09-07 Altera Corporation Programmable interconnect junction
US5784636A (en) 1996-05-28 1998-07-21 National Semiconductor Corporation Reconfigurable computer architecture for use in signal processing applications
US5956265A (en) 1996-06-07 1999-09-21 Lewis; James M. Boolean digital multiplier
US5825201A (en) 1996-06-21 1998-10-20 Quicklogic Corporation Programming architecture for a programmable integrated circuit employing antifuses
US5880981A (en) * 1996-08-12 1999-03-09 Hitachi America, Ltd. Method and apparatus for reducing the power consumption in a programmable digital signal processor
US5959891A (en) * 1996-08-16 1999-09-28 Altera Corporation Evaluation of memory cell characteristics
US5838165A (en) 1996-08-21 1998-11-17 Chatter; Mukesh High performance self modifying on-the-fly alterable logic FPGA, architecture and method
US6624658B2 (en) 1999-02-04 2003-09-23 Advantage Logic, Inc. Method and apparatus for universal program controlled bus architecture
KR19980020762A (ko) * 1996-09-11 1998-06-25 김광호 54 x 54 곱셈기
GB2317468B (en) 1996-09-23 2001-01-24 Advanced Risc Mach Ltd Digital signal processing integrated circuit architecture
US5825202A (en) 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US5805477A (en) 1996-09-26 1998-09-08 Hewlett-Packard Company Arithmetic cell for field programmable devices
US5999016A (en) 1996-10-10 1999-12-07 Altera Corporation Architectures for programmable logic devices
JP3790307B2 (ja) 1996-10-16 2006-06-28 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
US5942914A (en) 1996-10-25 1999-08-24 Altera Corporation PLD with split multiplexed inputs from global conductors
US5892962A (en) * 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US6018755A (en) 1996-11-14 2000-01-25 Altocom, Inc. Efficient implementation of an FIR filter on a general purpose processor
US5812562A (en) 1996-11-15 1998-09-22 Samsung Electronics Company, Ltd. Low cost emulation scheme implemented via clock control using JTAG controller in a scan environment
US5835393A (en) 1996-11-19 1998-11-10 Audiologic Hearing Systems, L.P. Integrated pre-adder for a multiplier
US6009451A (en) 1996-11-22 1999-12-28 Lucent Technologies Inc. Method for generating barrel shifter result flags directly from input data
US5841684A (en) 1997-01-24 1998-11-24 Vlsi Technology, Inc. Method and apparatus for computer implemented constant multiplication with multipliers having repeated patterns including shifting of replicas and patterns having at least two digit positions with non-zero values
US5815422A (en) 1997-01-24 1998-09-29 Vlsi Technology, Inc. Computer-implemented multiplication with shifting of pattern-product partials
US5821776A (en) 1997-01-31 1998-10-13 Actel Corporation Field programmable gate array with mask programmed analog function circuits
US5982195A (en) 1997-02-20 1999-11-09 Altera Corporation Programmable logic device architectures
US5999015A (en) 1997-02-20 1999-12-07 Altera Corporation Logic region resources for programmable logic devices
US5931898A (en) 1997-02-25 1999-08-03 Lucent Technologies Inc Finite impulse response filter
US5963050A (en) 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US6150837A (en) 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
US5874834A (en) * 1997-03-04 1999-02-23 Xilinx, Inc. Field programmable gate array with distributed gate-array functionality
US5991898A (en) 1997-03-10 1999-11-23 Mentor Graphics Corporation Arithmetic built-in self test of multiple scan-based integrated circuits
US5991788A (en) * 1997-03-14 1999-11-23 Xilinx, Inc. Method for configuring an FPGA for large FFTs and other vector rotation computations
US5847579A (en) 1997-03-20 1998-12-08 Xilinx, Inc. Programmable logic array with improved interconnect structure
US6020759A (en) * 1997-03-21 2000-02-01 Altera Corporation Programmable logic array device with random access memory configurable as product terms
US6085317A (en) 1997-08-15 2000-07-04 Altera Corporation Reconfigurable computer architecture using programmable logic devices
US5878250A (en) * 1997-04-07 1999-03-02 Altera Corporation Circuitry for emulating asynchronous register loading functions
WO1998053401A1 (en) 1997-05-23 1998-11-26 Altera Corporation Redundancy circuitry for programmable logic devices with interleaved input circuits
US6006321A (en) * 1997-06-13 1999-12-21 Malleable Technologies, Inc. Programmable logic datapath that may be used in a field programmable device
US5970254A (en) 1997-06-27 1999-10-19 Cooke; Laurence H. Integrated processor and programmable data path chip for reconfigurable computing
US5847981A (en) 1997-09-04 1998-12-08 Motorola, Inc. Multiply and accumulate circuit
US5910908A (en) 1997-09-16 1999-06-08 Tektronix, Inc. Fir filter for programmable decimation
JP3479438B2 (ja) 1997-09-18 2003-12-15 株式会社東芝 乗算回路
US5944774A (en) 1997-09-26 1999-08-31 Ericsson Inc. Methods apparatus and computer program products for accumulating logarithmic values
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
US6020755A (en) 1997-09-26 2000-02-01 Lucent Technologies Inc. Hybrid programmable gate arrays
US6069487A (en) * 1997-10-14 2000-05-30 Altera Corporation Programmable logic device circuitry for improving multiplier speed and/or efficiency
US6052327A (en) * 1997-10-14 2000-04-18 Altera Corporation Dual-port programmable logic device variable depth and width memory array
US6157210A (en) 1997-10-16 2000-12-05 Altera Corporation Programmable logic device with circuitry for observing programmable logic circuit signals and for preloading programmable logic circuits
US6107824A (en) 1997-10-16 2000-08-22 Altera Corporation Circuitry and methods for internal interconnection of programmable logic devices
US6144980A (en) 1998-01-28 2000-11-07 Advanced Micro Devices, Inc. Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication
US6223198B1 (en) 1998-08-14 2001-04-24 Advanced Micro Devices, Inc. Method and apparatus for multi-function arithmetic
US6029187A (en) * 1997-10-28 2000-02-22 Atmel Corporation Fast regular multiplier architecture
CA2306835A1 (en) 1997-11-03 1999-05-14 Harris Corporation A field programmable radio frequency communications equipment including a configurable if circuit and method therefor
JP3110401B2 (ja) * 1997-11-11 2000-11-20 松下電器産業株式会社 ディジットシリアル演算装置
US6065131A (en) * 1997-11-26 2000-05-16 International Business Machines Corporation Multi-speed DSP kernel and clock mechanism
JP2003526129A (ja) 1997-12-17 2003-09-02 エリクセントリミティド プログラマブル・アレイにおける乗算器の実現
GB9727414D0 (en) 1997-12-29 1998-02-25 Imperial College Logic circuit
US6055555A (en) 1997-12-29 2000-04-25 Intel Corporation Interface for performing parallel arithmetic and round operations
US6075381A (en) * 1998-01-21 2000-06-13 Micron Electronics, Inc. Programmable logic block in an integrated circuit
US6405229B1 (en) 1998-01-29 2002-06-11 Sanyo Electric Co., Ltd. Digital filters
JP3291461B2 (ja) 1998-01-30 2002-06-10 三洋電機株式会社 デジタルフィルタ
US6094726A (en) 1998-02-05 2000-07-25 George S. Sheng Digital signal processor using a reconfigurable array of macrocells
US6097988A (en) 1998-02-10 2000-08-01 Advanced Micro Devices, Inc. Logic system and method employing multiple configurable logic blocks and capable of implementing a state machine using a minimum amount of configurable logic
US6167415A (en) 1998-02-10 2000-12-26 Lucent Technologies, Inc. Recursive digital filter with reset
US6175849B1 (en) * 1998-02-10 2001-01-16 Lucent Technologies, Inc. System for digital filtering in a fixed number of clock cycles
US6367003B1 (en) * 1998-03-04 2002-04-02 Micron Technology, Inc. Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
US6041339A (en) 1998-03-27 2000-03-21 Ess Technology, Inc. Efficient decimation filtering
US6377970B1 (en) 1998-03-31 2002-04-23 Intel Corporation Method and apparatus for computing a sum of packed data elements using SIMD multiply circuitry
JP3611714B2 (ja) 1998-04-08 2005-01-19 株式会社ルネサステクノロジ プロセッサ
US5968196A (en) 1998-04-21 1999-10-19 Atmel Corporation Configuration control in a programmable logic device using non-volatile elements
US6084429A (en) * 1998-04-24 2000-07-04 Xilinx, Inc. PLD having a window pane architecture with segmented and staggered interconnect wiring between logic block arrays
US7389487B1 (en) 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
US6226735B1 (en) * 1998-05-08 2001-05-01 Broadcom Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements
EP0955576B1 (en) 1998-05-08 2003-08-13 STMicroelectronics S.r.l. High-speed digital accumulator with wide dynamic range
US6140839A (en) 1998-05-13 2000-10-31 Kaviani; Alireza S. Computational field programmable architecture
US5999990A (en) 1998-05-18 1999-12-07 Motorola, Inc. Communicator having reconfigurable resources
US6066960A (en) * 1998-05-21 2000-05-23 Altera Corporation Programmable logic device having combinational logic at inputs to logic elements within logic array blocks
JP2000010762A (ja) 1998-06-19 2000-01-14 Mitsubishi Electric Corp 浮動小数点演算装置
GB2342193B (en) 1998-06-19 2003-06-04 Sgs Thomson Microelectronics Addition circuitry
US6314551B1 (en) 1998-06-22 2001-11-06 Morgan Stanley & Co. Incorporated System processing unit extended with programmable logic for plurality of functions
US6467017B1 (en) 1998-06-23 2002-10-15 Altera Corporation Programmable logic device having embedded dual-port random access memory configurable as single-port memory
US6163788A (en) 1998-06-25 2000-12-19 Industrial Technology Research Institute Programmable finite impulse response processor with scalable dynamic data range
US6073154A (en) * 1998-06-26 2000-06-06 Xilinx, Inc. Computing multidimensional DFTs in FPGA
US6427157B1 (en) 1998-07-31 2002-07-30 Texas Instruments Incorporated Fir filter structure with time- varying coefficients and filtering method for digital data scaling
US6487575B1 (en) 1998-08-31 2002-11-26 Advanced Micro Devices, Inc. Early completion of iterative division
US6321246B1 (en) 1998-09-16 2001-11-20 Cirrus Logic, Inc. Linear phase FIR sinc filter with multiplexing
US6546408B2 (en) 1998-09-16 2003-04-08 Cirrus Logic, Inc. Sinc filter using twisting symmetry
DE69832985T2 (de) 1998-10-06 2006-08-17 Texas Instruments Inc., Dallas Multiplizier-Akkumulatorschaltungen
US7047272B2 (en) 1998-10-06 2006-05-16 Texas Instruments Incorporated Rounding mechanisms in processors
US6571268B1 (en) 1998-10-06 2003-05-27 Texas Instruments Incorporated Multiplier accumulator circuits
US6421698B1 (en) 1998-11-04 2002-07-16 Teleman Multimedia, Inc. Multipurpose processor for motion estimation, pixel processing, and general processing
US6453382B1 (en) 1998-11-05 2002-09-17 Altera Corporation Content addressable memory encoded outputs
US6091261A (en) 1998-11-12 2000-07-18 Sun Microsystems, Inc. Apparatus and method for programmable delays using a boundary-scan chain
US6215326B1 (en) * 1998-11-18 2001-04-10 Altera Corporation Programmable logic device architecture with super-regions having logic regions and a memory region
US6260053B1 (en) 1998-12-09 2001-07-10 Cirrus Logic, Inc. Efficient and scalable FIR filter architecture for decimation
US6591283B1 (en) 1998-12-24 2003-07-08 Stmicroelectronics N.V. Efficient interpolator for high speed timing recovery
US6243729B1 (en) * 1998-12-31 2001-06-05 Texas Instruments Incorporated Digital finite-impulse-response (FIR) filter with a modified architecture based on high order Radix-N numbering
US6366944B1 (en) * 1999-01-15 2002-04-02 Razak Hossain Method and apparatus for performing signed/unsigned multiplication
US6523055B1 (en) 1999-01-20 2003-02-18 Lsi Logic Corporation Circuit and method for multiplying and accumulating the sum of two products in a single cycle
US6107821A (en) 1999-02-08 2000-08-22 Xilinx, Inc. On-chip logic analysis and method for using the same
US6150838A (en) 1999-02-25 2000-11-21 Xilinx, Inc. FPGA configurable logic block with multi-purpose logic/memory circuit
US6823000B1 (en) 1999-02-26 2004-11-23 Texas Instruments Incorporated Method and apparatus for optimal dot product calculation
EP1076931A1 (en) 1999-03-04 2001-02-21 Altera Corporation Programmable logic device with carry-select addition
US6407576B1 (en) * 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
US6323680B1 (en) 1999-03-04 2001-11-27 Altera Corporation Programmable logic device configured to accommodate multiplication
JP2000259394A (ja) 1999-03-09 2000-09-22 Nec Kofu Ltd 浮動小数点乗算器
US6480980B2 (en) 1999-03-10 2002-11-12 Nec Electronics, Inc. Combinational test pattern generation method and apparatus
US6557092B1 (en) * 1999-03-29 2003-04-29 Greg S. Callen Programmable ALU
US6574743B1 (en) * 1999-03-30 2003-06-03 Siemens Energy & Automation Programmable logic controller method, system and apparatus
JP2000353077A (ja) 1999-04-07 2000-12-19 Matsushita Electric Ind Co Ltd 多倍長演算装置
EP1058185A1 (en) 1999-05-31 2000-12-06 Motorola, Inc. A multiply and accumulate apparatus and a method thereof
US6434587B1 (en) 1999-06-14 2002-08-13 Intel Corporation Fast 16-B early termination implementation for 32-B multiply-accumulate unit
US6246258B1 (en) * 1999-06-21 2001-06-12 Xilinx, Inc. Realizing analog-to-digital converter on a digital programmable integrated circuit
US6438570B1 (en) 1999-07-21 2002-08-20 Xilinx, Inc. FPGA implemented bit-serial multiplier and infinite impulse response
US6542000B1 (en) * 1999-07-30 2003-04-01 Iowa State University Research Foundation, Inc. Nonvolatile programmable logic devices
WO2001013562A2 (en) 1999-08-13 2001-02-22 Comsat Corporation A high speed burst-mode digital demodulator architecture
US6801924B1 (en) 1999-08-19 2004-10-05 National Semiconductor Corporation Formatting denormal numbers for processing in a pipelined floating point unit
US6692534B1 (en) 1999-09-08 2004-02-17 Sun Microsystems, Inc. Specialized booth decoding apparatus
US6600788B1 (en) 1999-09-10 2003-07-29 Xilinx, Inc. Narrow-band filter including sigma-delta modulator implemented in a programmable logic device
US6438569B1 (en) 1999-09-20 2002-08-20 Pmc-Sierra, Inc. Sums of production datapath
US6353843B1 (en) 1999-10-08 2002-03-05 Sony Corporation Of Japan High performance universal multiplier circuit
WO2001046795A2 (en) 1999-12-23 2001-06-28 Intel Corporation Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US6600495B1 (en) 2000-01-10 2003-07-29 Koninklijke Philips Electronics N.V. Image interpolation and decimation using a continuously variable delay filter and combined with a polyphase filter
US7062526B1 (en) 2000-02-18 2006-06-13 Texas Instruments Incorporated Microprocessor with rounding multiply instructions
US6687722B1 (en) 2000-03-16 2004-02-03 Agere Systems, Inc. High-speed/low power finite impulse response filter
US6725441B1 (en) * 2000-03-22 2004-04-20 Xilinx, Inc. Method and apparatus for defining and modifying connections between logic cores implemented on programmable logic devices
US6574762B1 (en) * 2000-03-31 2003-06-03 Lsi Logic Corporation Use of a scan chain for configuration of BIST unit operation
US6362650B1 (en) * 2000-05-18 2002-03-26 Xilinx, Inc. Method and apparatus for incorporating a multiplier into an FPGA
US6407694B1 (en) * 2000-06-14 2002-06-18 Raytheon Company General purpose filter
GB2363924A (en) 2000-06-20 2002-01-09 Virata Ltd Processor for FIR filtering
DE60015119D1 (de) 2000-08-01 2004-11-25 St Microelectronics Sa Sättigung in einer Arithmetik-Einheit
US6476636B1 (en) * 2000-09-02 2002-11-05 Actel Corporation Tileable field-programmable gate array architecture
US6732134B1 (en) 2000-09-11 2004-05-04 Apple Computer, Inc. Handler for floating-point denormalized numbers
US6628140B2 (en) 2000-09-18 2003-09-30 Altera Corporation Programmable logic devices with function-specific blocks
US6538470B1 (en) 2000-09-18 2003-03-25 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
JP2002108606A (ja) 2000-09-26 2002-04-12 Toshiba Corp スティッキービット生成回路及び乗算器
EP1417590A2 (en) 2000-10-02 2004-05-12 Altera Corporation (a Delaware Corporation) Programmable logic integrated circuit devices including dedicated processor components
US20020049798A1 (en) 2000-10-24 2002-04-25 Minsheng Wang Adder-saving implementation of digital interpolation/decimation fir filter
EP2031518A2 (en) 2000-10-26 2009-03-04 Cypress Semiconductor Corporation Circuit
US6763367B2 (en) 2000-12-11 2004-07-13 International Business Machines Corporation Pre-reduction technique within a multiplier/accumulator architecture
US6427158B1 (en) 2000-12-14 2002-07-30 Texas Instruments Incorporated FIR decimation filter and method
US6742012B2 (en) 2000-12-27 2004-05-25 Arm Limited Apparatus and method for performing multiplication operations
US6483343B1 (en) 2000-12-29 2002-11-19 Quicklogic Corporation Configurable computational unit embedded in a programmable device
US7020673B2 (en) 2001-01-19 2006-03-28 Sony Corporation Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system
US7181484B2 (en) 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
JP3492638B2 (ja) 2001-02-23 2004-02-03 エヌイーシーコンピュータテクノ株式会社 浮動小数点乗算器
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US6978287B1 (en) 2001-04-04 2005-12-20 Altera Corporation DSP processor architecture with write datapath word conditioning and analysis
US20030088757A1 (en) * 2001-05-02 2003-05-08 Joshua Lindner Efficient high performance data operation element for use in a reconfigurable logic environment
US6963890B2 (en) 2001-05-31 2005-11-08 Koninklijke Philips Electronics N.V. Reconfigurable digital filter having multiple filtering modes
US6889238B2 (en) 2001-06-25 2005-05-03 Lockheed Martin Corporation Parallel decimator adaptive filter and method for all-rate gigabit-per-second modems
EP1271782B1 (en) 2001-06-29 2005-05-18 STMicroelectronics Pvt. Ltd FPGA with at least two different and independently configurable memory structures
US6874079B2 (en) * 2001-07-25 2005-03-29 Quicksilver Technology Adaptive computing engine with dataflow graph based sequencing in reconfigurable mini-matrices of composite functional blocks
US7107305B2 (en) 2001-10-05 2006-09-12 Intel Corporation Multiply-accumulate (MAC) unit for single-instruction/multiple-data (SIMD) instructions
US7430578B2 (en) 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US6924663B2 (en) 2001-12-28 2005-08-02 Fujitsu Limited Programmable logic device with ferroelectric configuration memories
US6700581B2 (en) * 2002-03-01 2004-03-02 3D Labs Inc., Ltd. In-circuit test using scan chains
US7200735B2 (en) 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units
GB0208329D0 (en) 2002-04-11 2002-05-22 Univ York Data processing particularly in communication systems
US6781408B1 (en) 2002-04-24 2004-08-24 Altera Corporation Programmable logic device with routing channels
US7461115B2 (en) 2002-05-01 2008-12-02 Sun Microsystems, Inc. Modular multiplier
US6970012B2 (en) 2002-06-10 2005-11-29 Xilinx, Inc. Programmable logic device having heterogeneous programmable logic blocks
US7401109B2 (en) 2002-08-06 2008-07-15 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Multiplication of multi-precision numbers having a size of a power of two
US7447310B2 (en) 2002-08-06 2008-11-04 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Lean multiplication of multi-precision numbers over GF(2m)
US7464310B2 (en) * 2002-09-30 2008-12-09 Broadcom Corporation Programmable state machine of an integrated circuit
US7103814B2 (en) * 2002-10-25 2006-09-05 International Business Machines Corporation Testing logic and embedded memory in parallel
FI118654B (fi) 2002-11-06 2008-01-31 Nokia Corp Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite
FI118612B (fi) 2002-11-06 2008-01-15 Nokia Corp Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite
US6971083B1 (en) 2002-11-13 2005-11-29 Altera Corporation Method for programming programmable logic device with blocks that perform multiplication and other arithmetic functions
US20040103133A1 (en) 2002-11-27 2004-05-27 Spectrum Signal Processing Inc. Decimating filter
US20040172439A1 (en) * 2002-12-06 2004-09-02 The Research Foundation Of State University Of New York Unified multiplier triple-expansion scheme and extra regular compact low-power implementations with borrow parallel counter circuits
US6774669B1 (en) 2002-12-30 2004-08-10 Actel Corporation Field programmable gate array freeway architecture
US7430656B2 (en) 2002-12-31 2008-09-30 Intel Corporation System and method of converting data formats and communicating between execution units
US7975197B2 (en) 2003-03-31 2011-07-05 Lsi Corporation On-chip scan clock generator for ASIC testing
US7093204B2 (en) 2003-04-04 2006-08-15 Synplicity, Inc. Method and apparatus for automated synthesis of multi-channel circuits
US7689641B2 (en) 2003-06-30 2010-03-30 Intel Corporation SIMD integer multiply high with round and shift
JP3853766B2 (ja) 2003-07-25 2006-12-06 ローム株式会社 論理演算回路および論理演算装置
US7313585B2 (en) 2003-08-30 2007-12-25 Hewlett-Packard Development Company, L.P. Multiplier circuit
US7287051B1 (en) 2003-10-03 2007-10-23 Altera Corporation Multi-functional digital signal processing circuitry
US7084923B2 (en) 2003-10-28 2006-08-01 Clairvoyante, Inc Display system having improved multiple modes for displaying image data from multiple input source formats
US7698358B1 (en) 2003-12-24 2010-04-13 Altera Corporation Programmable logic device with specialized functional block
US7480690B2 (en) 2003-12-29 2009-01-20 Xilinx, Inc. Arithmetic circuit with multiplexed addend inputs
US7567997B2 (en) 2003-12-29 2009-07-28 Xilinx, Inc. Applications of cascading DSP slices
JP4664311B2 (ja) 2003-12-29 2011-04-06 ザイリンクス インコーポレイテッド カスケード接続するdspスライスを備えた集積回路
US7844653B2 (en) 2003-12-29 2010-11-30 Xilinx, Inc. Digital signal processing circuit having a pre-adder circuit
US7472155B2 (en) 2003-12-29 2008-12-30 Xilinx, Inc. Programmable logic device with cascading DSP slices
JP4332036B2 (ja) 2004-01-08 2009-09-16 新日本製鐵株式会社 鋼板の角折れ検出装置及び角折れ検出方法
US7769797B2 (en) 2004-01-20 2010-08-03 Samsung Electronics Co., Ltd. Apparatus and method of multiplication using a plurality of identical partial multiplication modules
US7660841B2 (en) 2004-02-20 2010-02-09 Altera Corporation Flexible accumulator in digital signal processing circuitry
CN1658152B (zh) * 2004-02-20 2012-06-13 阿尔特拉公司 乘法器-累加器块模式划分
US7467176B2 (en) 2004-02-20 2008-12-16 Altera Corporation Saturation and rounding in multiply-accumulate blocks
US7797363B2 (en) * 2004-04-07 2010-09-14 Sandbridge Technologies, Inc. Processor having parallel vector multiply and reduce operations with sequential semantics
JP4554431B2 (ja) 2004-05-18 2010-09-29 ローム株式会社 Dtmf信号生成回路、音信号生成回路、ならびに通信装置
US7409417B2 (en) 2004-05-24 2008-08-05 Broadcom Corporation Polyphase filter with optimized silicon area
US7415542B2 (en) 2004-06-18 2008-08-19 Analog Devices, Inc. Micro-programmable filter engine having plurality of filter elements interconnected in chain configuration wherein engine supports multiple filters from filter elements
US20060020655A1 (en) * 2004-06-29 2006-01-26 The Research Foundation Of State University Of New York Library of low-cost low-power and high-performance multipliers
US7421465B1 (en) 2004-06-30 2008-09-02 Sun Microsystems, Inc. Arithmetic early bypass
US7428566B2 (en) 2004-11-10 2008-09-23 Nvidia Corporation Multipurpose functional unit with multiply-add and format conversion pipeline
US7668896B2 (en) 2004-11-30 2010-02-23 Arm Limited Data processing apparatus and method for performing floating point multiplication
US7298169B2 (en) 2005-03-15 2007-11-20 Tabula, Inc Hybrid logic/interconnect circuit in a configurable IC
US20070083585A1 (en) 2005-07-25 2007-04-12 Elliptic Semiconductor Inc. Karatsuba based multiplier and method
US7230451B1 (en) 2005-08-22 2007-06-12 Altera Corporation Programmable logic device with routing channels
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US7590676B1 (en) 2005-09-27 2009-09-15 Altera Corporation Programmable logic device with specialized multiplier blocks
JP4982080B2 (ja) 2005-12-16 2012-07-25 パナソニック株式会社 デジタルフィルタ
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US7930337B2 (en) 2006-06-27 2011-04-19 Intel Corporation Multiplying two numbers
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7930336B2 (en) * 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8090758B1 (en) 2006-12-14 2012-01-03 Xilinx, Inc. Enhanced multiplier-accumulator logic for a programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8090756B2 (en) 2007-01-29 2012-01-03 International Business Machines Corporation Method and apparatus for generating trigonometric results
JP5134851B2 (ja) 2007-04-10 2013-01-30 清峰金属工業株式会社 銅および銅合金の連続鋳造方法
CN101911499B (zh) 2007-11-16 2013-07-10 泰拉丁公司 用于在采样率转换系统中计算内插因子的方法和装置
US8166090B2 (en) 2007-12-28 2012-04-24 L3 Communications Integrated Systems, L.P. Tiled architecture for stationary-method iterative linear solvers
JP4883190B2 (ja) 2008-01-22 2012-02-22 日本電気株式会社 無線アクセスシステムの送信機及び受信機、無線アクセスシステムの送信方法及び受信方法、並びにプログラム
US8200728B2 (en) 2008-05-29 2012-06-12 Harris Corporation Sine/cosine generator
US8307023B1 (en) * 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8543635B2 (en) 2009-01-27 2013-09-24 Xilinx, Inc. Digital signal processing block with preadder stage
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
JP2019531344A (ja) 2016-09-12 2019-10-31 エスティー アイピー ホールディング エージー 4−メチル−5−(ピラジン−2−イル)−3h−1,2−ジチオール−3−チオンの処方物、ならびにそれらの製造方法及び使用方法
EA202192925A1 (ru) 2019-05-01 2022-03-23 Бёрингер Ингельхайм Интернациональ Гмбх Твердые формы ингибитора glyt1
US11458361B1 (en) 2020-06-05 2022-10-04 Arthur Lee Page Lung exercise apparatus and method

Also Published As

Publication number Publication date
EP2464010A3 (en) 2014-09-03
US9395953B2 (en) 2016-07-19
US20140289293A1 (en) 2014-09-25
US7930336B2 (en) 2011-04-19
EP1936809B1 (en) 2012-03-07
EP2464010B1 (en) 2015-09-30
EP1936809A2 (en) 2008-06-25
US8788562B2 (en) 2014-07-22
US20080133627A1 (en) 2008-06-05
EP1936809A3 (en) 2010-12-01
CN101196806A (zh) 2008-06-11
JP2008146644A (ja) 2008-06-26
US20110161389A1 (en) 2011-06-30
JP2012248208A (ja) 2012-12-13
EP2464010A2 (en) 2012-06-13
CN101196806B (zh) 2012-07-04
JP5400197B2 (ja) 2014-01-29

Similar Documents

Publication Publication Date Title
JP5073464B2 (ja) プログラマブルロジックデバイスのための大きな乗算器
US9063870B1 (en) Large multiplier for programmable logic device
CN114402289B (zh) 多模式运算电路
US10521194B2 (en) Mixed-precision floating-point arithmetic circuitry in specialized processing blocks
US9189200B1 (en) Multiple-precision processing block in a programmable integrated circuit device
JP5069459B2 (ja) プログラマブルロジックデバイスのための特殊処理ブロック
JP5069476B2 (ja) プログラマブルロジックデバイスのための特殊処理ブロック
US6366944B1 (en) Method and apparatus for performing signed/unsigned multiplication
US9600278B1 (en) Programmable device using fixed and configurable logic to implement recursive trees
US8645449B1 (en) Combined floating point adder and subtractor
US7948267B1 (en) Efficient rounding circuits and methods in configurable integrated circuit devices
US9348795B1 (en) Programmable device using fixed and configurable logic to implement floating-point rounding
US8959137B1 (en) Implementing large multipliers in a programmable integrated circuit device
US8412756B1 (en) Multi-operand floating point operations in a programmable integrated circuit device
US8645451B2 (en) Double-clocked specialized processing block in an integrated circuit device
US8468192B1 (en) Implementing multipliers in a programmable integrated circuit device
US8886695B1 (en) Normalization of floating point operations in a programmable integrated circuit device
US8255448B1 (en) Implementing division in a programmable integrated circuit device
JP4502662B2 (ja) 乗算器−累算器ブロックモード分割
JPH08227354A (ja) 演算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120803

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5073464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees