JP4502662B2 - 乗算器−累算器ブロックモード分割 - Google Patents

乗算器−累算器ブロックモード分割 Download PDF

Info

Publication number
JP4502662B2
JP4502662B2 JP2004045202A JP2004045202A JP4502662B2 JP 4502662 B2 JP4502662 B2 JP 4502662B2 JP 2004045202 A JP2004045202 A JP 2004045202A JP 2004045202 A JP2004045202 A JP 2004045202A JP 4502662 B2 JP4502662 B2 JP 4502662B2
Authority
JP
Japan
Prior art keywords
bit
multiplier
multipliers
mode
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004045202A
Other languages
English (en)
Other versions
JP2005235004A (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
Priority to JP2004045202A priority Critical patent/JP4502662B2/ja
Publication of JP2005235004A publication Critical patent/JP2005235004A/ja
Application granted granted Critical
Publication of JP4502662B2 publication Critical patent/JP4502662B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

発明の背景
この発明は乗算器−累算器(アキュムレータ)(“MAC”)ブロックに係り、より具体的には本発明はMACブロック内においてより効率的に乗算器を使用する方式に関する。
MACブロックはデジタル信号処理(“DSP”)ブロックと呼ばれることもあり、一群の乗算器ならびに演算成分等のその他の成分を実行するDSP回路である。MACブロックは多くの異なったタイプのアプリケーションを処理するために使用することができ、それらにはグラフィックアプリケーション、ネットワークアプリケーション、通信アプリケーション、ならびにビデオアプリケーション等が含まれる。MACブロックならびに一般的な乗算器の多様性のため、カリフォルニア州サンノゼ市のアルテラ社等のプログラマブルロジックデバイスの製造社は、プログラマブルロジック回路に加えてMACブロック形式のハードウェアDSP回路も含んだプログラマブルロジックデバイスの生産を近年開始した。プログラマブルロジックデバイスのMACブロックは、ユーザ設計の特定の機能がプログラマブルロジックデバイス上でより少ないスペースを使用して実行されるとともにプログラマブルロジック回路に対してのDSP回路の特性のためにより高速な実行時間で結果が得られる方法を提供するものである。
MACブロックは多数の乗算器および加算器から構成されている。典型的なMACブロック内において1つあるいは複数の乗算器を使用する必要がある場合には、必ずMACブロック全体が特定の操作に対して使用される乗算器の数に基づいた動作モードに転換される。例えば、MACブロックが4個の18ビット×18ビットの乗算器を含んでいて特定の設計が単一の18ビット×18ビット乗算器を必要とする場合、MACブロックは各18ビット×18ビット乗算器が個別にのみ18ビット×18ビット乗算モードで使用される動作モードに転換される。従って残りの3つの乗算器も18ビット×18ビット乗算モードにおける使用に限定される。このことは、MACブロック内における残りの乗算器の使用可能性が非効率的に限定されることをもたらす。
従って、MACブロック内における乗算器が異なった動作モードにおいて同時に使用されるMACブロックを実現することが望まれる。
発明の概要
従って、本発明の対象は、MACブロック内の乗算器の間でモード分割が可能となるMACブロックを提供することである。
本発明のこのまたはその他の対象は、異なったモードが同時に実行される1つあるいは複数のMACブロックを有するプログラマブルロジックデバイスを提供することによって解決される。MACブロックを構成している乗算器およびその他のDSP回路(例えば、加算器等の演算回路)は、任意の特定の時点において異なった動作モードに配分することができる。例えば、好適なMACブロックの構成は4個の18ビット×18ビットの乗算器を含み、1個の18ビット×18ビット乗算器を18ビット×18ビット乗算モードに使用することができ、他の2個の乗算器を2つの18ビット×18ビットの乗算モードの合計を演算するために使用することができる。使用可能なリソースに基づいてこのように任意のモードを同時に実行することができる。
MACブロック内においてどのモードを実行するかを制御するために任意の好適な制御信号および制御回路を使用することができる。例えば制御信号は、特定の乗算器の出力を実行されるモードがその回路を使用するかどうかに基づいて加算器/減算器に入力するかどうかを示すことができる。本発明によれば任意のモードを実行することができるため、任意の好適な制御信号および制御回路を使用し得ることが理解される。同じモードを実行するために異なった制御信号および異なった制御回路を使用し得ることも理解される。
本発明の前述したまたはその他の対象ならびに利点は、添付図面を参照しながら以下に記述する詳細な説明によって明らかにされる。各図中において同一の構成要素は同一の参照符号をもって示されている。
発明の詳細な説明
本発明は、その乗算器、その他の回路、またはその両方を一時点において1つのまたは複数の動作モードに分割することができるMACブロックを提供するものである。MACブロックの1つまたは複数の乗算器を1つのモード(例えば乗算モード)において動作するように指定し、MACブロックの別の1つまたは複数の乗算器を別のモード(例えば乗算モードの和)において動作するように指定することができる。本発明は、単一のMACブロックが異なった数の乗算器を必要とする異なった複数モードをサポートすることを可能にする。例えば、1つのモードにおいて2つの乗算器を使用し、第2のモードにおいては1つの乗算器のみを使用することができる。
本発明は、特に集積DSP回路を含んだプログラマブルロジックデバイスに対して有効である。この種のデバイスの柔軟性が求められているため、MACブロックが同時に複数のモードで動作することを可能にすることによって典型的なプログラマブルロジックデバイス内の使用可能なDSPリソースをより効率的に使用することが可能になる。
MACブロックが複数の異なったモードにて動作し得ることは任意の適宜な回路および任意の適宜な制御信号を使用することによって達成することができる。
本発明に係るMACブロックは任意の好適なモードにおいて動作することができる。例えば、4個の18ビット×18ビット乗算器を有するMACブロックのケースにおいて、36ビット二進数出力として2つの18ビット二進被乗数入力の積または2つのペアの9ビット二進被乗数入力(1つのペアの18ビット数に連結される)の2つの積(1つの36ビット数に連結される)を決定することができるとすると、適宜なモードは、これに限定されるものではないが、例えば18ビット×18ビット乗算器、52ビット累算器、累算器初期化、2つの18ビット×18ビット乗算器の和、4つの18ビット×18ビット乗算器の和、9ビット×9ビット乗算器、2つの9ビット×9ビット乗算器の和、4つの9ビット×9ビット乗算器の和、36ビット×36ビット乗算器、またはその他の適宜なモードとすることができる。列記したモードは、本明細書において時折それぞれモード1−8として呼称され、累算器初期化はモード2Aとされる。これらは、単に本発明に係るMACブロックがサポートすることができるモードの例に過ぎないことが理解される。その他の適宜なモードをサポートすることができる。これらのモードのサポートは、例えばアプリケーションの要求、使用可能な乗算器のサイズ、乗算器の数、またはその他の適宜な要因に基づいて決定することができる。例えば、MACブロックが8個の9ビット×9ビット乗算器を含んでいるとすると、異なった複数モード(例えば9ビット×9ビット乗算器の和)を使用し得ることが明らかである。
MACブロックの多様な乗算器を多様なモードにおいて同時に使用することによって、特定のモードがMACブロックの比較的少数の乗算器を使用してその他乗算器がアイドル状態となる状況を防止することができる。
本発明のいくつかの実施形態において、MACブロックは2つまたは複数のセクションの乗算器群に分割される。セクションによってモードを指定することができ、1つのセクションの全ての乗算器が同一のモードで動作する。この構成はより単純な制御信号の組織を提供し、柔軟性と単純性との間のバランスを達成するものである。セクションは使用すべきモードに基づいて設定される。例えば、MACブロックの全ての乗算器が特定のモードで使用される場合分割は生じない。半数の乗算器が特定のモードに必要とされる場合、MACブロックは2つのセクションに分割され、それぞれが半数の乗算器を有している。この2つのセクションのそれぞれが必要に応じて異なったモードで動作することができる。1つの好適な方式において、1つのセクションをさらに分割することができる。例えば、MACブロックを3つのモードに分割し、そのうち1つのモードが半数の乗算器を使用し、第2のモードが1/4の乗算器を使用し、第3のモードも1/4の乗算器を使用することができる。MACブロックを4つのモードに分割し、それぞれのモードが使用可能な乗算器のうちの1/4を使用することもできる。本発明によれば、任意の好適なモード分割を行うことができる。MACブロックの全ての乗算器が必要とされると、MACブロックは単一のモードで動作する。
簡略化および明瞭化のため、これに限定するものではなくまた一般性を排除するものではないが、ここにおいては本発明を4個の18ビット×18ビットサイズの乗算器によって構成されたMACブロックに関して説明する。この構成の有する典型的な特徴は好適なものであり、本発明の原理は任意の適宜な回路成分の構成を有するその他の好適なMACブロックに適用し得ることが理解される。
図1には前述したMACブロック10の典型的な構成例である回路が示されている。MACブロック10は入力101−108を有し、4個の乗算器11,12,13,14を含んでいる。乗算器11−14のそれぞれが18ビット×18ビット乗算器である。各MACブロック10はさらに多数の加算器/減算器15,16,17および18を含んでおり、これは多様な乗算器11−14の出力の加算および減算ならびに累算器機能を実行することを可能にする。
マルチプレクサ119は多様な乗算器11−14が1つの入力101を共有することを可能にする。同様に、マルチプレクサ109およびレジスタ110は各乗算器入力111,112,121,122,131,132,141,142をレジスタするかあるいはレジスタしないことを可能にする。加えて、レジスタ110は、マルチプレクサ190と共に使用される際、データを直列に入力することを可能にする入力シフトレジスタチェーンを構成することができる。この種の入力シフトレジスタチェーンはさらにその他の異なった専用化された乗算器に拡大することができる。種々の機能は160,165,170,175,180,185,195において出力することができる。
本発明によれば、ユーザの設計が乗算とその他の演算回路を含んでいる場合、“MAC要素”と呼称することができる要素が自動的にMACブロック10としてグループ化される。グループ化されたMACブロック内のMAC要素は、乗算、加算が続く乗算、減算が続く乗算、累算が続く乗算の専用化された機能を実行する。
図2には、垂直に配置された4個の乗算器に基づいたMACブロック構成が示されている。4個の乗算器回路136は並列で動作することが可能なように垂直に積重ねられている。各乗算器回路136はnビット×nビット乗算値を提供するためにnビット×nビット乗算器(例えば18ビット×18ビット乗算器)を備えている。各乗算器回路の入力には被乗数および乗算器動作のためにnビットの情報が付加される。各乗算器回路136は2nビット幅であり得る出力を有することができる。各乗算器回路136は乗算動作の結果である出力流を供給することができる。各nビット×nビット乗算器回路136は2の補数である符号付あるいは非符号付乗算をサポートすることができる。動的な符号付/非符号付制御入力156は、乗算器の符号および乗算器回路136の乗算動作を制御する入力信号を受信することができる。
MACブロック192は3セットのレジスタ回路を含むことができる。MACブロック192は入力レジスタ回路134、パイプラインレジスタ回路、ならびに出力レジスタ回路154を含むことができる。必要であれば、乗算器回路136内、加算−減算−累算回路144内、および/または加算−減算回路140内に追加的なパイプラインレジスタ回路を含むことができる。出力レジスタ回路154は入力レジスタ回路134と略等しい数のレジスタを含むことができる。この出力レジスタ回路154内に含まれるレジスタの数は、MACブロック192の出力をレジスタするために充分なものであり得る(例えばMACブロック192がサポートしている全てのモードに対するMACブロック192の出力のレジスタ)。MACブロック192に対してどの操作または構造が使用されるかに基づいて、またはMACブロック192によって提供される機能の範囲に基づいて、出力レジスタの数は入力レジスタの数より小さくするか、等しくするか、あるいは大きくすることができる。
簡略化と明瞭化のため、パイプラインレジスタ回路は図2およびその他のいくつかの図面には示されていない。前述したように、入力レジスタ回路134、パイプラインレジスタ回路、または出力レジスタ回路154が必要に応じてMACブロック192内に含まれている。独立したクロックおよびクリア信号のセットを入力レジスタ回路134、パイプラインレジスタ回路、または出力レジスタ回路154に供給することができる。入力レジスタ回路134およびパイプラインレジスタ回路に対して2セットのクロックおよびクリア信号158が供給され、出力レジスタ回路154に対しても2セットが供給される。入力レジスタ回路134はスキャンチェーンを含むことができるとともに、FIRフィルタの提供等のある種のデジタル信号処理におけるロジックとしてスキャンチェーンを使用することを可能にするためにスキャンチェーンと共に使用される追加的な回路を含むことができる。入力レジスタ回路134は8n個のデータ入力のための8n個のレジスタ(例えば144個のレジスタ)と、乗算器回路136の符号付/非符号付制御ならびに加算−減算−累算回路144の加算−減算制御のためのq個のレジスタ(例えば4個のレジスタ)を含むことができる。各レジスタは、論理反転を提供するか、必要に応じて、乗算器の入力がnビットより少ない際にレジスタ入力のうちの使用されていないビットを反転するためのプログラム可能な反転能力を有することができる。
出力レジスタ回路154は加算−減算−累算回路144へのフィードバック経路を有することができる。入力レジスタ回路134、パイプラインレジスタ回路、出力レジスタ回路154の3つのセットのレジスタのうちのいずれか1つは、それらの回路内にありランダムアクセスメモリによって制御することができるプログラマブルロジックコネクタ(“PLC”)によってバイパスすることができる。パイプラインレジスタ回路は入力レジスタ回路134と略同数のレジスタを含むことができる。
MACブロック192の左側に示されたインタフェース回路133は、MACブロック192の入力への付加を行うことができ、これは入力レジスタ回路134の入力することができる。入力レジスタ回路134は、それぞれnビットの入力を有するとともに4個の8ビット×8ビット乗算器回路136の入力への付加を行う8個の入力レジスタを含むことができる。
加算−減算−累算回路144は乗算器回路136およびリターン経路161からの入力を受信するための接続を備えることができる。必要であれば、加算−減算−累算回路144は乗算器回路136からの出力を加算器回路140に伝達するように構成することができる。乗算器回路136の出力は、加算−減算−累算回路144および/または加算−減算回路140を介してルート設定することなく、出力選択回路152または出力レジスタ回路154へルート設定することができる。簡略化と明瞭化のため、これに限定するものではなくまた一般性を排除するものではないが、加算−減算回路140はここにおいて主に加算器回路として説明する。加算−減算−累算回路144は、それぞれ2個の2nビット入力の2の補数加算を実行して1個の2n+1ビット出力を形成するよう構成することができる。加算−減算−累算回路144は、それぞれ2個の2nビット入力の2の補数減算を実行して1個の2n+1ビット出力を形成するよう構成することができる。加算−減算−累算回路144はそれぞれ1個の2nビット入力とn+yビットの出力からなる累算を行うよう構成することができる。動的加算/減算制御入力162および164は、加算と減算動作の切換えと複雑な乗算を処理するために使用される加算−減算回路144への入力とすることができる。動的加算/減算制御入力162および164は、複素数を含んだ乗算を含む複雑な乗算のために必要とされ得る。2つの複素数の複素乗算は、時折加算動作と減算動作の両方を含むことがあり得る。
加算−減算−累算回路144の出力は、加算器回路140を介してルート設定することなく、出力選択回路152または出力レジスタ154にルート設定される。必要であれば、加算器回路140は加算−減算−累算回路144からの入力(例えば、2の補数加算のn+1ビット出力、累算のn+yビット出力等)を伝送するよう構成することができる。加算器回路140は加算−減算−累算回路144からの出力の加算結果である出力を有することができる。出力選択回路152は加算器回路140からのものである入力を有することができる。出力選択回路152は、この出力選択回路152の入力のうちのどれを出力レジスタ回路154に伝送するかを選択することができる。出力レジスタ回路154は、MACブロック192の右側に図示されているインタフェース回路133の入力への付加を行うことができる。MAC内の回路を接続するために割り当てられるローカル相互接続リソースの割合は、MACブロック192の左から右へのデジタル信号処理機能の複雑性および変動性の増加に伴って増加する。
図2を参照すると、MACブロック192の“上半分”は、その他の構成要素と共に、このMACブロック192の最上部に示された2個の乗算器136と加算器/減算器144を含むことができる。MACブロック192の“下半分”は、その他の構成要素と共に、このMACブロック192の底部に示された2個の乗算器136と加算器/減算器144を含むことができる。
MACブロック192は、n/2ビット×n/2ビット乗算器に基づいた組織として構成することができる。例えば、図3を参照すると、MACブロック192は、8個のn/2ビット×n/2ビット乗算器からなる乗算器回路136を含むことができる。8個のn/2ビット×n/2ビット乗算器は、図2に示されている乗算器回路136の4個のnビット×nビット乗算器から構成することができる。
必要に応じて、MACブロック192は、pビット×pビット乗算器に基づいた組織を有するとともに1つまたは複数のp/mビット×p/mビット乗算器(ここでp,m,およびp/mはいずれも整数)に基づいた組織を有するように構成し得るよう実施することができる。前述したように、この構造は少なくとも部分的にローカル相互接続リソースの制約に基づいたものである。異なった各組織が選択可能であり、MACブロック192はp/mビット×p/mビット乗算器に基づいた組織のいくつかあるいは全てとして構成することが可能である。
MACブロック192は、4個の加算または減算ユニットを提供するよう構成された加算−減算−累算回路144を備えることができる。各加算または減算ユニットは2個のnビット入力上で加算に基づいた動作を実行しn+1ビットの出力を有することができる。必要に応じて、加算−減算−累算回路144はn/2ビット×n/2ビット乗算器動作の出力を伝送するよう構成することができる。乗算器回路136の出力は、加算−減算−累算回路144または加算器回路140を介してルート設定することなく、出力選択回路152または出力レジスタ回路154へルート設定することができる。加算−減算−累算回路144は、n/2ビット×n/2ビット乗算器動作の典型的な出力ペアの加算(または減算)の結果を形成することができる。
MACブロック192は2つの加算器を提供するよう構成された加算器回路140を含むことができる。必要に応じて、加算器回路140は加算−減算−累算回路144からこの加算器回路140に付加された入力を伝送することができる。加算−減算−累算回路144の出力は、加算器回路140を介してルート設定することなく、出力選択回路152または出力レジスタ154へルート設定することができる。加算器回路140は、加算−減算−累算回路144からの典型的な出力ペアの加算の結果である2つの出力を形成することができる。
MACブロック192のローカル相互接続リソースは、nビット×nビット乗算器に基づいた組織と同様な入力/出力インタフェース回路133と支援回路(例えば乗算器回路136、加算器回路140等)を備えるn/2ビット×n/2ビット乗算器に基づいた組織を実施するよう構成することができる。MACブロック192のローカル相互接続リソースは、n/2ビット×n/2ビット乗算器に基づいた組織内の適宜な相互接続を形成するためのある種の蝶形クロス接続パターンを含むよう構成することができる。
蝶形クロス接続パターンは、入力レジスタ回路134と乗算器回路136との間で相互接続を選択するために形成される。この蝶形クロス接続パターンは、掛け合わされたnビットの入力のペアのn/2次高いビットを有するとともに掛け合わされたnビットの入力のペアのn/2次低いビットを有するように使用することができる。蝶形クロス接続パターンは、乗算器回路136と加算−減算−累算回路144との間で相互接続を選択するために形成される。前述したように、加算−減算−累算回路144は4つの加算(または減算)ユニットを含むように構成することができる。各加算(減算)ユニットは乗算器回路136からの2つのnビット入力を有することができる。蝶形クロス接続パターンは、これらの各加算(減算)ユニットの2つの入力を乗算器回路136の乗算によるより高い次数のビットの乗算の結果とするかあるいは乗算器回路136の乗算によるより低い次数のビットの乗算の結果とするように使用することができる。蝶形クロス接続パターンは、さらに加算−減算−累算回路144と加算器回路140との間の相互接続に使用することもできる。加算器回路140は2個の加算器(例えば、2個の独立した加算器)に分割することができる。蝶形クロス接続パターンは、より高い次数のビット上の動作の結果を加算器回路140の上半分に供給するか、あるいはより低い次数のビット上の動作の結果を加算器回路140の下半分に供給するように使用することができる。n/2ビット×n/2ビット乗算器に基づいた組織において、累算器機能は使用不可能である。MACブロック192のリソースが実質的にn/2ビット×n/2ビット乗算器に基づいた組織の実施を可能にすることに使用され得るため、累算器機能が使用不可能となる。
蝶形クロス接続パターンは、単一の乗算器回路を複数のより小さい乗算器回路に分解する技術の例、複数のより小さな乗算器回路の出力が適宜に合算される(例えばより低い次数のビットをより低い次数のビットに加算する)ようデータを管理する技術の例、またはMACブロックのリソース内の制限を補償するためにデータを管理する技術の例である。この種のクロス接続パターンは、MACブロックのための回路が設置された方式のため、あるいはその回路のために選択された構成のため、接続を処理するために使用することができる。蝶形クロス接続パターンは説明のための例として設けられている。その他の技術を使用することも可能である。例えば、nビット×nビット乗算器回路は、蝶形クロス接続パターンの必要性を解消する別の方式によって分解するか、あるいは別のタイプのクロス接続パターンを必要とする方式によって分解することができる。従って、MACブロック192を形成するために、その他のクロス接続または接続パターンを使用することができる。
MACブロック192の柔軟性または構成可能性により動作モードのセットの構成を補助することができる。必要に応じて、図2のMACブロック192および図3のMACブロック192は、それぞれ独自の動作モードのセットを有する個別のMACブロックの例とすることができる。ある種の実施例において、MACブロック192はnビット×nビット乗算器に基づいた組織あるいはn/2ビット×n/ビット乗算器に基づいた組織を有するか、それぞれと相関したモード動作を有するかの間で選択的に構成することができる。MACブロック192のモードは、ユーザがモードを使用可能にするためにメモリビットを備えて構成することができる。
図4ないし図11は、本発明に係るMACブロックがサポートすることができる種々の例示的なモードの具現が示すブロック線図である。例えば、特定のモードの具現が単一の18ビット×18ビット乗算器を必要とする場合、残りの乗算器は本発明のモード分割特性に従って別のモードを実行するために使用することができる。
図4は、MACブロック内における18ビット×18ビット乗算モードの例示的な具現を示すブロック線図である。図示されているように、単一の18ビット×18ビット乗算の具現は、被乗数および乗数入力400および402と積出力406を有する1個の18ビット×18ビット乗算器404を使用する。典型的なMACブロックにおいて、図示された具現は、単一のMACブロック内において4つの乗数モードを同時に実行することを可能にし、それぞれが使用可能な4つの乗算器のうちの1つを使用する。本発明のモード分割特性に従って、残りの1つの乗算器は、乗算器404を使用して実行する18ビット×18ビット乗算モードと同時にその他の任意のモードを実行するために使用することができる。
図5は、MACブロック内における例示的な52ビット累算モードの具現を示したブロック線図である。図示されているように、単一の52ビット累算モードの具現は、入力500および502と出力506を有する1個の18ビット×18ビット乗算器504を使用する。加算器/減算器508は、レジスタ510内に記録された累計を更新するための加算操作を実行するために使用される。レジスタ510の出力512は、乗算器504の次の出力506と加算するために加算器/減算器508にフィードバックされる。典型的なMACブロックにおいて、図示された具現は2つのこの種の累算モードを単一のMACブロック内において同時に実行することを可能にし、MACブロックが図2のMACブロック192と同様のものを使用する場合各累算モードがそれぞれ使用可能な4つの乗算器のうちの1つを使用する(すなわち、乗算器のうちの2つを消費する)。このことは、図2のMACブロック192内の限定的な専用演算回路のためである。しかしながら、本発明のモード分割特定に従って、残りの乗算器は、既に使用されている専用回路(例えば、18ビット×18ビット乗算モード)に依存しないその他の各モードを累算モードと同時に実行するために使用することができる。
図6は、MACブロック内における2個の18ビット×18ビット乗算器モードの積和の例示的な具現を示すブロック線図である(例えば、上半分または下半分のいずれかの2つの乗算器)。図示されているように、2個の乗算器モードの単一の積和の具現は、入力600,602,604および606を有する2つの乗算器608および610を使用する。積612および614は、出力618を形成する加算器/減算器616の入力となる。典型的なMACブロックにおいて、図示された具現は2つのこの種の2個の乗算器モードの積和を単一のMACブロック内において同時に実行することを可能にし、それぞれが使用可能な4つの乗算器のうちの1つを使用する。本発明に係るモード分割特性に従って、残りの2つの乗算器は、乗算器608および610を使用して実行する2個の乗算器モードの積和の実行と同時にその他の任意のモードを実行するために使用することができる。
図7は、MACブロック内における4個の18ビット×18ビット乗算器モードの積和の例示的な具現を示すブロック線図である。図示されているように、4個の乗算器モードの単一の積和の具現は、入力700,702,704,706,708,710,712および714を有する4個の乗算器716,718,720および722を使用する。乗算器716および718は上半分の乗算器とし、乗算器720および722は下半分の乗算器とすることができる。積724および726は第1のステージの加算器/減算器732の入力となる。積728および730は第1のステージの加算器/減算器734の入力となる。加算器/減算器732および734の出力736および738は、第2のステージの加算器/減算器740への入力となり、これが出力742を形成する。MACブロックの全ての乗算器が図7に示された具現に使用されるため、本発明に従ってその他のモードは同時に実行され得ない。
図8は、MACブロック内における9ビット×9ビット乗算モードの例示的な具現を示すブロック線図である。図示されているように、単一の乗算モードが入力800および802と出力積806とを有する単一の乗算器804を使用する。典型的なMACブロック(例えば図3のMACブロック192)において、図示された具現は8個のこの種の9ビット×9ビット乗算モードを単一のMACブロック内において同時に実行することを可能にする(すなわち、各18ビット×18ビット乗算器がそれぞれ2個の9ビット×9ビット乗算器を実施するように使用される)。本発明のモード分割に従って、残りの3個の18ビット×18ビット乗算器および1個の9ビット×9ビット乗算器は、乗算器804を使用して実行する9ビット×9ビット乗算モードと同時にその他の任意のモードを実行するために使用することができる。その他のモードが9ビット×9ビット乗算器を含む必要はないことが理解される(すなわち、それらは18ビット×18ビット乗算を含むことができる)。
図9は、MACブロック内における2個の9ビット×9ビット乗算器モードの積和の例示的な具現を示すブロック線図である。図示されているように、単一の2個の9ビット×9ビット乗算器モードの積和の具現は、入力900,902,904および906を有する2個の乗算器908および910を使用する(例えば、上半分の2つの18ビット×18ビット乗算器または下半分の2つの18ビット×18ビット乗算器のいずれか)。積912および914は加算器/減算器916への入力となり、これが出力918を形成する。典型的なMACブロック(例えば図3のMACブロック192)において、図示された具現は4つのこの種の2個の9ビット×9ビット乗算モードの積和を単一のMACブロック内において同時に実行することを可能にする(すなわち、各18ビット×18ビット乗算器がそれぞれ2個の9ビット×9ビット乗算器を実施し得るため)。本発明のモード分割に従って、残りの2個の18ビット×18ビット乗算器および2個の9ビット×9ビット乗算器は、乗算器908および910を使用して実行する2個の9ビット×9ビット乗算モードの積和と同時にその他の任意のモードを実行するために使用することができる。
図10は、MACブロック内における4個の9ビット×9ビット乗算器モードの積和の例示的な具現を示すブロック線図である。図示されているように、単一の4個の9ビット×9ビット乗算器モードの積和の具現は、入力1000,1002,1004,1006,1008,1010,1012および1014を有する4個の18ビット×18ビット乗算器1016,1018,1020および1022を使用する。例えば、乗算器1016および1018は上半分の乗算器、乗算器1020および1022は下半分の乗算器とすることができる。積1024および1026は第1のステージの加算器/減算器1032の入力となる。積1028および1030は第1のステージの加算器/減算器1034の入力となる。加算器/減算器1032および1034の出力1036および1038は、第2のステージの加算器/減算器1040への入力となり、これが出力1042を形成する。典型的なMACブロック(例えば図3のMACブロック192)において、図示された具現は2つのこの種の4個の9ビット×9ビット乗算モードの積和を単一のMACブロック内において同時に実行することを可能にする(すなわち、各18ビット×18ビット乗算器がそれぞれ2個の9ビット×9ビット乗算器を実施し得るため)。本発明のモード分割に従って、残りの4個の9ビット×9ビット乗算器は、乗算器1016,1018,1020および1022を使用して実行する4個の9ビット×9ビット乗算モードの積和と同時にその他の任意のモードを実行するために使用することができる。リソース(例えば加算器)の不足が生じた場合特定のモードが図10に示されたモードと同時に実行され得ないことが理解される。
図11は、MACブロック内における36ビット×36ビット乗算モードの例示的な具現を示すブロック線図である。乗算器1104は入力1100および1102と出力積1106を有し、4個の18ビット×18ビット乗算器および加算器から構成されている。MACブロックの全ての乗算器が図11に示された具現に使用されるため、本発明に従ってその他のモードは同時に実行され得ない。
本発明に係るMACブロック内においてその他の任意のモードを実行し得ることが理解される。例えば、乗算器を必要とすることなく、36ビットXORゲート、ANDゲート、ORゲート、またはその他の適宜な論理ゲート等の特定のモードを例えばMACブロックの演算回路を使用して実行することができる。これらのモードは、例えばマイクロプロセッサのビット演算の補助において有用である。また、ある種のモードは“和”に関するものであるが、MACブロックの加算器/減算器回路を用いてその他の任意の演算動作(例えば差分)を使用し得ることが理解される。
例えば、高帯域16ビットおよび32ビット巡回冗長符号(“CRC”)計算等のその他のモードを含むこともできる。CRCは、受信データが送信データと同一であることを保持するために多くの通信プロトコルにおいて使用される。CRC符号化/復号は1つのビットを一時点に符号化するためには比較的単純であるが、複数のビットを同時に符号化すると複雑性が増大する。
12ビット×12ビット乗算を実行するために18ビット×18ビット乗算器全体を必要とするため、リソースの浪費が生じる(例えば、入力/出力が使用される場合96ビットのみ)。本発明によれば、各MACブロックの4個の18ビット×18ビット乗算器は、使用されていないリソースを別のモードに同時に使用することにより、4個のみではなく6個の12ビット×12ビット乗算をサポートすることができる。このことは18ビット×18ビット乗算器から9ビット×9ビット乗算器を実施することと対照的であり、それは18ビット×18ビット乗算器を2個の9ビット×9ビット乗算器に分割することが1つの18ビット×18ビット乗算器内で達成し得るためである。2個の18ビット×18ビット乗算器を3個の12ビット×12ビット乗算器に分割することは、乗算器間でリソースを共有することを含んでいる。このことは複雑なルーティングおよび入力配分を必要とする。
同様な理由のため、24ビット×24ビット乗算は通常36ビット×36ビット乗算内で実行するためにMACブロック全体を必要とするが、これは本発明に従って単一のMACブロックが同時に2つの24ビット×24ビット乗算をサポートすることを可能にすることによってより効率的に達成される。
本発明のモード分割特性は任意の好適な方式によって実施することができる。例えば、1つの好適な方式において、MACブロックは適宜な回路(例えば、乗算器、レジスタ等)を使用して異なったモードを同一のMACブロック内において同時に実行し得るよう構成することができる。同時に実行される各モードに従ってどのようにMACブロックが構成されるかを示すために適宜な各種制御信号を使用することができる。これらの制御信号のいずれかまたは全てをユーザ制御のものとすることができる。
図12は、制御信号1201−1211を有する本発明に係るMACブロック1200を示す概略ブロック線図である。制御信号1201−1211はどのモード(1つまたは複数)においてMACブロックが同時に動作するかを示すことができる。制御信号1201−1211は単に例示的なものである。本発明のモード分割特性を実施するためにその他の適宜な制御信号を使用し得ることが理解される。単純化と明瞭化のため、これに限定するものではなくまた一般性を排除するものではないが、本発明は主にこれらの信号1201−1211に関して説明する。
制御信号1201−1204は“SPLIT”信号であり、これはMACブロック1200の4個の18ビット×18ビット乗算器のそれぞれに対してその乗算器が18ビット×18ビット乗算器として使用されるかあるいは9ビット×9ビット乗算器として使用されるかを示すものである。特定のサイズの乗算器の使用を必要とする任意の適宜なモードを実行するために、任意の適宜な数の制御信号を使用することができる。例えば、特定のモードが4ビット×4ビット乗算器の使用を必要とする場合、追加的なSPLIT信号が使用される。別の好適な方式において、SPLIT信号は特定の乗算器が2個またはより多くのより小さな乗算器(すなわち、2個のより小さい乗算器のみ分割されることと対照的に)として使用されることを示すように使用することができる。
制御信号1205および1208は“SMODE”信号を示しており、これはMACブロックの累算器機能が付勢されるかどうかを示すために使用することができる。従って、制御信号1205および1208は52ビット累算モードを実行するために使用することができる。制御信号1205はMACブロック1200の上半分と関連付け、制御信号1208はMACブロック1200の下半分と関連付けることができる。
制御信号1206および1209は“ZERO”信号を示しており、これはSMODE信号と共にモード2Aが実行されるかどうかを示すことができる。モード2Aはモード2(すなわち図5に関して前述した52ビット累算器モード)において使用される累算器要素を初期化(ゼロ化によって)するために使用される。図2を参照して、制御信号1206および1209は、例えば、加算器/減算器144の上半分または加算器/減算器144の下半分のいずれかの適宜なビットを累算器をゼロ化するためにアースに結合することを誘起する。制御信号1206および1209は、1つの特定の構成において36ビット×36ビット乗算を示すために使用することもできる。すなわち、好適な36ビット×36ビット乗算モードの具現において、加算器/減算器のゼロ化が必要であり得る。
制御信号1207および1210は“MODE3”信号を示しており、これは2個の乗算器(すなわち、MACブロックの上半分の2個または下半分の2個のいずれか)の出力がいつ合算されるかを示すために使用することができる。従って、制御信号1207および1210は、2個の18ビット×18ビット乗算モードの和がいつ実行されるか、または2個の9ビット×9ビットの乗算モードの和がいつ実行されるかを示すために使用することができる。制御信号1207および1210は、それぞれMACブロックの上半分または下半分と関連付けられている。
制御信号1211は“MODE4”信号を示しており、これは4個の乗算器の出力がいつ合算されるかを示すために使用することができる。従って、制御信号1211は、4個の18ビット×18ビット乗算モードの和がいつ実行されるか、または4個の9ビット×9ビットの乗算モードの和がいつ実行されるかを示すために使用することができる。MACブロックの全ての乗算器がこのモードにおいて使用されているため、単一のMODE4信号がMACブロック全体に対して使用される。
以下の表1には、前述した各モードを実行するために使用される前記の各信号が列記されている。A,B,CおよびDはMACブロック内の4個の18ビット×18ビットの乗算器のそれぞれを示しており、AおよびBは上半分の乗算器であり、CおよびDは下半分の乗算器である。RおよびSはMACブロックの上半分および下半分を示している。
Figure 0004502662
表1のモード1−8のそれぞれは、MACブロックの半分内(すなわち上半分または下半分のいずれか)の単一の18ビット乗算器内、あるいはMACブロック全体内のいずれかにおいて実行される。以下の表2にはその柔軟性が列記されている。
Figure 0004502662
特定のモードがMACブロックの半分を必要とする場合、他方の半分は半ブロックモードあるいは単一乗算器モードによって(またはそれら2つのモードによって)使用することができる。特定のモードが単一の乗算器を必要とする場合、残りの乗算器は半ブロックモード、単一乗算器モード、またはそれらの両方によって使用することができる。
本発明に係るMACブロックの特定の構成は特定の重要かつ実用上の制約を有することが理解される。例えば、好適な一構成例において、モード4,7および8は制御信号1201−1204が同じ値に設定されることを必要とする。制御信号1205および1208は、モード4,7および8に対して同じ値に設定する必要がある。制御信号1206および1209は、モード4,7および8に対して同じ値に設定する必要がある。モード3および6は制御信号1201および1202が同じ値に設定され、制御信号1203および1204が同じ値に設定されることを必要とする。これらの制約は例示的なものであり、特定の構成またはMACブロックが使用されるアプリケーション、あるいはその両方に少なくとも部分的に依存する。
本発明に従ってその他の任意のモードが形成あるいは実行され得ることが理解される。さらに、他の任意の制御信号を説明したものに加えてあるいはこれに代えて使用し得ることが理解される。
図13は、本発明に従って構成された1つまたは複数のMACブロックを有するプログラマブルロジックデバイス1300を示した概略ブロック線図である。PLD1300は、このPLD1300がユーザの設計を実行するとともにMACブロック1302がそのユーザ設計を実行することを可能にするための任意の適宜な相互接続回路、メモリ回路、ならびにプログラマブルロジック回路を有することができる。
図14にはデータプロセッシングシステム1400内における本発明に係るPLD1300(すなわち本発明に係るモード分割特性を備えるように構成された少なくとも1つの乗算器を有する)が示されている。データ処理システム1400は、さらに:プロセッサ1402;メモリ1404;I/O回路1406;ならびに周辺機器1408のうちの1つまたは複数を含むことができる。これらの構成要素はシステムバス1410によって互いに結合されるとともにエンドユーザシステム1414内に含まれた回路基板1412上に実装されている。
システム1400は、コンピュータネットワーキング、データネットワーキング、ビデオ処理、デジタル信号処理、またはプログラマブルあるいはリプログラマブルロジックデバイスの利点を活用することが望まれる、広範な適用形態で使用することができる。PLD1300は多様なロジック機能を広範囲に実行するために使用することができる。例えば、PLD1300はプロセッサ1402と組合されて動作するプロセッサまたはコントローラとして構成することができる。PLD1300は、さらにシステム1400内の共有リソースへのアクセスを仲介するアービタとして構成することもできる。さらに別の例として、PLD1300は、プロセッサ1402とシステム1400内の他の構成要素との間のインタフェースとして構成することもできる。
以上のように、モード分割特性を有するMACブロックが提供される。以上の記述は単に本発明の原理を説明したものであり、当業者においては本発明の視点および精神を逸脱することなく種々の設計変更をなし得ることは勿論であり、本発明は請求項の記載によってのみ限定されるものである。
例示的なMACブロックを示す概略構成図である。 4個のnビット×nビット乗算器が4個のnビット×nビット乗算器として実行される例示的なMACブロックを示すブロック線図である。 4個のnビット×nビット乗算器が8個のn/2ビット×n/2ビット乗算器として実行される例示的なMACブロックを示すブロック線図である。 本発明に係る例示的な18ビット×18ビット乗算モード動作を示す概略説明図である。 本発明に係る例示的な52ビットの累算モード動作を示す概略説明図である。 本発明に係る例示的な2個の18ビット×18ビット乗算モード動作の和を示す概略説明図である。 本発明に係る例示的な4個の18ビット×18ビット乗算モード動作の和を示す概略説明図である。 本発明に係る例示的な9ビット×9ビット乗算モード動作を示す概略説明図である。 本発明に係る例示的な2個の9ビット×9ビット乗算モード動作の和を示す概略説明図である。 本発明に係る例示的な4個の9ビット×9ビット乗算モード動作の和を示す概略説明図である。 本発明に係る例示的な36ビット×36ビット乗算モード動作を示す概略説明図である。 本発明に係る例示的な制御信号を有するMACブロックを示すブロック線図である。 少なくとも1つの本発明に係るMACブロックを有する例示的なプログラマブルロジックデバイスを示すブロック線図である。 本発明に係るプログラマブルロジックデバイスを使用する例示的なシステムを示すブロック線図である。

Claims (19)

  1. 第1の動作モードを実行するために使用される第1の乗算器と
    第2の動作モードを同時に実行するために使用される第2の乗算器
    有する乗算器−累算器ブロックにおいて、
    前記第1の乗算器が18ビット×18ビット乗算器であるとともに前記第2の乗算器が18ビット×18ビット乗算器であり、
    前記乗算器−累算器ブロックがさらに2つの追加的な18ビット×18ビット乗算器を有する乗算器−累算器ブロック。
  2. 第1の動作モードを実行する際に使用される追加的な1つまたは複数の乗算器をさらに備える請求項1記載の乗算器−累算器ブロック。
  3. 第2の動作モードを実行する際に使用される追加的な1つまたは複数の乗算器をさらに備える請求項1記載の乗算器−累算器ブロック。
  4. 第1のモードは:18ビット×18ビット乗算、52ビット累算、初期化/ゼロ累算器、2個の18ビット×18ビット乗算の和、4個の18ビット×18ビット乗算の和、9ビット×9ビット乗算、2個の9ビット×9ビット乗算の和、4個の9ビット×9ビット乗算の和、36ビット×36ビット乗算の一群から選択される請求項記載の乗算器−累算器ブロック。
  5. 第1のモードおよび第2のモードを示すために使用される複数の制御信号をさらに有する請求項1記載の乗算器−累算器ブロック。
  6. 加算、減算、ならびに累算のための回路をさらに備える請求項1記載の乗算器−累算器ブロック。
  7. 第3のモードを同時に実行するための第3の乗算器をさらに備える請求項1記載の乗算器−累算器ブロック。
  8. 請求項1記載の乗算器−累算器ブロックを備えるプログラマブルロジックデバイス。
  9. 2つのペアに配分された4個の18ビット×18ビット乗算器と
    前記ペアのうちの1つに結合された第1の演算回路と
    前記ペアのうちの別の1つに結合された第2の演算回路と
    前記乗算器と演算回路とに結合された制御回路とを備え、この制御回路は乗算器−累算器がどの動作モードにおいて動作するかを制御し、前記乗算器−累算器は同時に複数のモードで動作し得る、
    乗算器−累算器ブロック。
  10. 第1の演算回路が加算器、減算器、および累算器回路からなるとともに、第2の演算回路が加算器、減算器、および累算器回路からなる請求項記載の乗算器−累算器ブロック。
  11. 第1の演算回路および第2の演算回路に結合された第2のステージの演算回路をさらに備える請求項記載の乗算器−累算器ブロック。
  12. 制御回路は制御信号を有する請求項記載の乗算器−累算器ブロック。
  13. 制御信号は乗算器のうちの特定の1つが2つまたはそれより多くのより小さい乗算器として使用されるように構成されることを示すための制御信号からなる請求項12記載の乗算器−累算器ブロック。
  14. 制御信号は2つのペアの乗算器のうちの特定のペアの出力が合算されることを示すための制御信号からなる請求項12記載の乗算器−累算器ブロック。
  15. 制御信号は4つの乗算器の出力が合算されることを示すための制御信号からなる請求項12記載の乗算器−累算器ブロック。
  16. 動作モードは:18ビット×18ビット乗算、52ビット累算、初期化/ゼロ累算器、2個の18ビット×18ビット乗算の和、4個の18ビット×18ビット乗算の和、9ビット×9ビット乗算、2個の9ビット×9ビット乗算の和、4個の9ビット×9ビット乗算の和、36ビット×36ビット乗算の一群から選択される請求項記載の乗算器−累算器ブロック。
  17. 請求項記載のプログラマブルロジックデバイスが実装されたプリント回路基板。
  18. プリント回路基板上に装着されるとともにメモリ回路に結合されたメモリをさらに備える請求項17記載のプリント回路基板。
  19. プリント回路基板上に装着されるとともにメモリ回路に結合された処理回路をさらに備える請求項18記載のプリント回路基板。
JP2004045202A 2004-02-20 2004-02-20 乗算器−累算器ブロックモード分割 Expired - Fee Related JP4502662B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004045202A JP4502662B2 (ja) 2004-02-20 2004-02-20 乗算器−累算器ブロックモード分割

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004045202A JP4502662B2 (ja) 2004-02-20 2004-02-20 乗算器−累算器ブロックモード分割

Publications (2)

Publication Number Publication Date
JP2005235004A JP2005235004A (ja) 2005-09-02
JP4502662B2 true JP4502662B2 (ja) 2010-07-14

Family

ID=35017889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004045202A Expired - Fee Related JP4502662B2 (ja) 2004-02-20 2004-02-20 乗算器−累算器ブロックモード分割

Country Status (1)

Country Link
JP (1) JP4502662B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5196905B2 (ja) * 2007-08-03 2013-05-15 三菱電機株式会社 動的再構成可能演算装置および半導体装置
JP5241268B2 (ja) * 2008-02-26 2013-07-17 三菱電機株式会社 動的再構成可能演算装置および半導体装置
JP5197389B2 (ja) * 2009-01-07 2013-05-15 三菱電機株式会社 動的再構成可能な積和演算装置および動的再構成可能プロセッサ
JP6532334B2 (ja) * 2015-07-21 2019-06-19 キヤノン株式会社 並列演算装置、画像処理装置及び並列演算方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000227858A (ja) * 1999-02-04 2000-08-15 Toshiba Corp プロセッサおよびその命令処理方法
JP2001147798A (ja) * 1999-10-01 2001-05-29 Hitachi Ltd データ乗算方法および計算装置
JP2002544587A (ja) * 1999-05-12 2002-12-24 アナログ デバイセス インコーポレーテッド デジタル信号プロセッサ計算コア
JP2003209467A (ja) * 2001-09-18 2003-07-25 Altera Corp マルチプライヤを含んだプログラマブルロジックデバイスならびにそのリソース使用を低減するための構成

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535867A (ja) * 1990-09-06 1993-02-12 Matsushita Electric Ind Co Ltd 画像処理装置
JPH0962656A (ja) * 1995-08-24 1997-03-07 Toshiba Corp 並列計算機
US6530014B2 (en) * 1997-09-08 2003-03-04 Agere Systems Inc. Near-orthogonal dual-MAC instruction set architecture with minimal encoding bits
US7107305B2 (en) * 2001-10-05 2006-09-12 Intel Corporation Multiply-accumulate (MAC) unit for single-instruction/multiple-data (SIMD) instructions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000227858A (ja) * 1999-02-04 2000-08-15 Toshiba Corp プロセッサおよびその命令処理方法
JP2002544587A (ja) * 1999-05-12 2002-12-24 アナログ デバイセス インコーポレーテッド デジタル信号プロセッサ計算コア
JP2001147798A (ja) * 1999-10-01 2001-05-29 Hitachi Ltd データ乗算方法および計算装置
JP2003209467A (ja) * 2001-09-18 2003-07-25 Altera Corp マルチプライヤを含んだプログラマブルロジックデバイスならびにそのリソース使用を低減するための構成

Also Published As

Publication number Publication date
JP2005235004A (ja) 2005-09-02

Similar Documents

Publication Publication Date Title
US7437401B2 (en) Multiplier-accumulator block mode splitting
US8615543B1 (en) Saturation and rounding in multiply-accumulate blocks
US10613831B2 (en) Methods and apparatus for performing product series operations in multiplier accumulator blocks
JP5406331B2 (ja) プログラマブルロジックデバイスのための特殊処理ブロック
US9098332B1 (en) Specialized processing block with fixed- and floating-point structures
JP5956820B2 (ja) 埋込み浮動小数点構造を有するdspブロック
US6369610B1 (en) Reconfigurable multiplier array
US7971172B1 (en) IC that efficiently replicates a function to save logic and routing resources
US7660841B2 (en) Flexible accumulator in digital signal processing circuitry
US8364738B1 (en) Programmable logic device with specialized functional block
JPS6347874A (ja) 算術演算装置
CA2548327A1 (en) Integrated circuit with cascading dsp slices
US8959137B1 (en) Implementing large multipliers in a programmable integrated circuit device
Langhammer et al. Design and implementation of an embedded FPGA floating point DSP block
US11256979B2 (en) Common factor mass multiplication circuitry
JP4502662B2 (ja) 乗算器−累算器ブロックモード分割
WO2007029166A2 (en) Full-adder modules and multiplier devices using the same
US7818361B1 (en) Method and apparatus for performing two's complement multiplication
US9164728B1 (en) Ternary DSP block
EP1052568B1 (en) Three input split-adder
US9606608B1 (en) Low power optimizations for a floating point multiplier
EP1566730B1 (en) Multiplier-accumulator block mode splitting
JP2700876B2 (ja) 並列乗算器
CN1658152B (zh) 乘法器-累加器块模式划分
US8856201B1 (en) Mixed-mode multiplier using hard and soft logic circuitry

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090521

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090618

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090623

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090717

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100114

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees