(57)【要約】      （修正有）【課題】乗算器−累算器（アッキュムレータ）（”ＭＡＫ”）ブロックに係り、より具体的にはＭＡＣブロック内においてより効率的に乗算器を使用する。【解決手段】プログラマブルロジックデバイスがモード分割特性を有するＭＡＣブロックを含んでいる。異なった各動作モードを同時に実行することができ、これによってＭＡＣブロックの乗算器およびその他のＤＳＰ回路を異なった各動作モードに配分することができる。例えば、１つの乗算器を乗算モードを実行するために使用し、別の２つの乗算器を２つの乗算モードを和を実行するために使用することができる。【選択図】図１
2005235004.tif 000002
【特許請求の範囲】
【請求項１】
第１の動作モードを実行するために使用される第１の乗算器と；
第２の動作モードを同時に実行するために使用される第２の乗算器と：
を有する乗算器−累算器ブロック。
【請求項２】
第１の動作モードを実行する際に使用される追加的な１つまたは複数の乗算器をさらに備える請求項１記載の乗算器−累算器ブロック。
【請求項３】
第２の動作モードを実行する際に使用される追加的な１つまたは複数の乗算器をさらに備える請求項１記載の乗算器−累算器ブロック。
【請求項４】
第１の乗算器が１８ビット×１８ビット乗算器であるとともに第２の乗算器が１８ビット×１８ビット乗算器であり、乗算器−累算器ブロックはさらに２つの追加的な１８ビット×１８ビット乗算器を有する請求項１記載の乗算器−累算器ブロック。
【請求項５】
第１のモードは：１８ビット×１８ビット乗算、５２ビット累算、初期化／ゼロ累算器、２個の１８ビット×１８ビット乗算の和、４個の１８ビット×１８ビット乗算の和、９ビット×９ビット乗算、２個の９ビット×９ビット乗算の和、４個の９ビット×９ビット乗算の和、３６ビット×３６ビット乗算の一群から選択される請求項４記載の乗算器−累算器ブロック。
【請求項６】
第１のモードおよび第２のモードを示すために使用される複数の制御信号をさらに有する請求項１記載の乗算器−累算器ブロック。
【請求項７】
加算、減算、ならびに累算のための回路をさらに備える請求項１記載の乗算器−累算器ブロック。
【請求項８】
第３のモードを同時に実行するための第３の乗算器をさらに備える請求項１記載の乗算器−累算器ブロック。
【請求項９】
請求項１記載の乗算器−累算器ブロックを備えるプログラマブルロジックデバイス。
【請求項１０】
２つのペアに配分された４個の１８ビット×１８ビット乗算器と；
前記ペアのうちの１つに結合された第１の演算回路と；
前記ペアのうちの別の１つに結合された第２の演算回路と；
前記乗算器と演算回路とに結合された制御回路とを備え、この制御回路は乗算器−累算器がどの動作モードにおいて動作するかを制御し、前記乗算器−累算器は同時に複数のモードで動作し得る、
乗算器−累算器ブロック。
【請求項１１】
第１の演算回路が加算器、減算器、および累算器回路からなるとともに、第２の演算回路が加算器、減算器、および累算器回路からなる請求項１０記載の乗算器−累算器ブロック。
【請求項１２】
第１の演算回路および第２の演算回路に結合された第２のステージの演算回路をさらに備える請求項１０記載の乗算器−累算器ブロック。
【請求項１３】
制御回路は制御信号を有する請求項１０記載の乗算器−累算器ブロック。
【請求項１４】
制御信号は乗算器のうちの特定の１つが２つまたはそれより多くのより小さい乗算器として使用されるように構成されることを示すための制御信号からなる請求項１３記載の乗算器−累算器ブロック。
【請求項１５】
制御信号は２つのペアの乗算器のうちの特定のペアの出力が合算されることを示すための制御信号からなる請求項１３記載の乗算器−累算器ブロック。
【請求項１６】
制御信号は４つの乗算器の出力が合算されることを示すための制御信号からなる請求項１３記載の乗算器−累算器ブロック。
【請求項１７】
動作モードは：１８ビット×１８ビット乗算、５２ビット累算、初期化／ゼロ累算器、２個の１８ビット×１８ビット乗算の和、４個の１８ビット×１８ビット乗算の和、９ビット×９ビット乗算、２個の９ビット×９ビット乗算の和、４個の９ビット×９ビット乗算の和、３６ビット×３６ビット乗算の一群から選択される請求項１０記載の乗算器−累算器ブロック。
【請求項１８】
請求項９記載のプログラマブルロジックデバイスが実装されたプリント回路基板。
【請求項１９】
プリント回路基板上に装着されるとともにメモリ回路に結合されたメモリをさらに備える請求項１８記載のプリント回路基板。
【請求項２０】
プリント回路基板上に装着されるとともにメモリ回路に結合された処理回路をさらに備える請求項１９記載のプリント回路基板。
【発明の詳細な説明】
【発明の背景】
【０００１】
この発明は乗算器−累算器（アキュムレータ）（“ＭＡＣ”）ブロックに係り、より具体的には本発明はＭＡＣブロック内においてより効率的に乗算器を使用する方式に関する。
【０００２】
ＭＡＣブロックはデジタル信号処理（“ＤＳＰ”）ブロックと呼ばれることもあり、一群の乗算器ならびに演算成分等のその他の成分を実行するＤＳＰ回路である。ＭＡＣブロックは多くの異なったタイプのアプリケーションを処理するために使用することができ、それらにはグラフィックアプリケーション、ネットワークアプリケーション、通信アプリケーション、ならびにビデオアプリケーション等が含まれる。ＭＡＣブロックならびに一般的な乗算器の多様性のため、カリフォルニア州サンノゼ市のアルテラ社等のプログラマブルロジックデバイスの製造社は、プログラマブルロジック回路に加えてＭＡＣブロック形式のハードウェアＤＳＰ回路も含んだプログラマブルロジックデバイスの生産を近年開始した。プログラマブルロジックデバイスのＭＡＣブロックは、ユーザ設計の特定の機能がプログラマブルロジックデバイス上でより少ないスペースを使用して実行されるとともにプログラマブルロジック回路に対してのＤＳＰ回路の特性のためにより高速な実行時間で結果が得られる方法を提供するものである。
【０００３】
ＭＡＣブロックは多数の乗算器および加算器から構成されている。典型的なＭＡＣブロック内において１つあるいは複数の乗算器を使用する必要がある場合には、必ずＭＡＣブロック全体が特定の操作に対して使用される乗算器の数に基づいた動作モードに転換される。例えば、ＭＡＣブロックが４個の１８ビット×１８ビットの乗算器を含んでいて特定の設計が単一の１８ビット×１８ビット乗算器を必要とする場合、ＭＡＣブロックは各１８ビット×１８ビット乗算器が個別にのみ１８ビット×１８ビット乗算モードで使用される動作モードに転換される。従って残りの３つの乗算器も１８ビット×１８ビット乗算モードにおける使用に限定される。このことは、ＭＡＣブロック内における残りの乗算器の使用可能性が非効率的に限定されることをもたらす。
【０００４】
従って、ＭＡＣブロック内における乗算器が異なった動作モードにおいて同時に使用されるＭＡＣブロックを実現することが望まれる。
【発明の概要】
【０００５】
従って、本発明の対象は、ＭＡＣブロック内の乗算器の間でモード分割が可能となるＭＡＣブロックを提供することである。
【０００６】
本発明のこのまたはその他の対象は、異なったモードが同時に実行される１つあるいは複数のＭＡＣブロックを有するプログラマブルロジックデバイスを提供することによって解決される。ＭＡＣブロックを構成している乗算器およびその他のＤＳＰ回路（例えば、加算器等の演算回路）は、任意の特定の時点において異なった動作モードに配分することができる。例えば、好適なＭＡＣブロックの構成は４個の１８ビット×１８ビットの乗算器を含み、１個の１８ビット×１８ビット乗算器を１８ビット×１８ビット乗算モードに使用することができ、他の２個の乗算器を２つの１８ビット×１８ビットの乗算モードの合計を演算するために使用することができる。使用可能なリソースに基づいてこのように任意のモードを同時に実行することができる。
【０００７】
ＭＡＣブロック内においてどのモードを実行するかを制御するために任意の好適な制御信号および制御回路を使用することができる。例えば制御信号は、特定の乗算器の出力を実行されるモードがその回路を使用するかどうかに基づいて加算器／減算器に入力するかどうかを示すことができる。本発明によれば任意のモードを実行することができるため、任意の好適な制御信号および制御回路を使用し得ることが理解される。同じモードを実行するために異なった制御信号および異なった制御回路を使用し得ることも理解される。
【０００８】
本発明の前述したまたはその他の対象ならびに利点は、添付図面を参照しながら以下に記述する詳細な説明によって明らかにされる。各図中において同一の構成要素は同一の参照符号をもって示されている。
【発明の詳細な説明】
【０００９】
本発明は、その乗算器、その他の回路、またはその両方を一時点において１つのまたは複数の動作モードに分割することができるＭＡＣブロックを提供するものである。ＭＡＣブロックの１つまたは複数の乗算器を１つのモード（例えば乗算モード）において動作するように指定し、ＭＡＣブロックの別の１つまたは複数の乗算器を別のモード（例えば乗算モードの和）において動作するように指定することができる。本発明は、単一のＭＡＣブロックが異なった数の乗算器を必要とする異なった複数モードをサポートすることを可能にする。例えば、１つのモードにおいて２つの乗算器を使用し、第２のモードにおいては１つの乗算器のみを使用することができる。
【００１０】
本発明は、特に集積ＤＳＰ回路を含んだプログラマブルロジックデバイスに対して有効である。この種のデバイスの柔軟性が求められているため、ＭＡＣブロックが同時に複数のモードで動作することを可能にすることによって典型的なプログラマブルロジックデバイス内の使用可能なＤＳＰリソースをより効率的に使用することが可能になる。
【００１１】
ＭＡＣブロックが複数の異なったモードにて動作し得ることは任意の適宜な回路および任意の適宜な制御信号を使用することによって達成することができる。
【００１２】
本発明に係るＭＡＣブロックは任意の好適なモードにおいて動作することができる。例えば、４個の１８ビット×１８ビット乗算器を有するＭＡＣブロックのケースにおいて、３６ビット二進数出力として２つの１８ビット二進被乗数入力の積または２つのペアの９ビット二進被乗数入力（１つのペアの１８ビット数に連結される）の２つの積（１つの３６ビット数に連結される）を決定することができるとすると、適宜なモードは、これに限定されるものではないが、例えば１８ビット×１８ビット乗算器、５２ビット累算器、累算器初期化、２つの１８ビット×１８ビット乗算器の和、４つの１８ビット×１８ビット乗算器の和、９ビット×９ビット乗算器、２つの９ビット×９ビット乗算器の和、４つの９ビット×９ビット乗算器の和、３６ビット×３６ビット乗算器、またはその他の適宜なモードとすることができる。列記したモードは、本明細書において時折それぞれモード１−８として呼称され、累算器初期化はモード２Ａとされる。これらは、単に本発明に係るＭＡＣブロックがサポートすることができるモードの例に過ぎないことが理解される。その他の適宜なモードをサポートすることができる。これらのモードのサポートは、例えばアプリケーションの要求、使用可能な乗算器のサイズ、乗算器の数、またはその他の適宜な要因に基づいて決定することができる。例えば、ＭＡＣブロックが８個の９ビット×９ビット乗算器を含んでいるとすると、異なった複数モード（例えば９ビット×９ビット乗算器の和）を使用し得ることが明らかである。
【００１３】
ＭＡＣブロックの多様な乗算器を多様なモードにおいて同時に使用することによって、特定のモードがＭＡＣブロックの比較的少数の乗算器を使用してその他乗算器がアイドル状態となる状況を防止することができる。
【００１４】
本発明のいくつかの実施形態において、ＭＡＣブロックは２つまたは複数のセクションの乗算器群に分割される。セクションによってモードを指定することができ、１つのセクションの全ての乗算器が同一のモードで動作する。この構成はより単純な制御信号の組織を提供し、柔軟性と単純性との間のバランスを達成するものである。セクションは使用すべきモードに基づいて設定される。例えば、ＭＡＣブロックの全ての乗算器が特定のモードで使用される場合分割は生じない。半数の乗算器が特定のモードに必要とされる場合、ＭＡＣブロックは２つのセクションに分割され、それぞれが半数の乗算器を有している。この２つのセクションのそれぞれが必要に応じて異なったモードで動作することができる。１つの好適な方式において、１つのセクションをさらに分割することができる。例えば、ＭＡＣブロックを３つのモードに分割し、そのうち１つのモードが半数の乗算器を使用し、第２のモードが１／４の乗算器を使用し、第３のモードも１／４の乗算器を使用することができる。ＭＡＣブロックを４つのモードに分割し、それぞれのモードが使用可能な乗算器のうちの１／４を使用することもできる。本発明によれば、任意の好適なモード分割を行うことができる。ＭＡＣブロックの全ての乗算器が必要とされると、ＭＡＣブロックは単一のモードで動作する。
【００１５】
簡略化および明瞭化のため、これに限定するものではなくまた一般性を排除するものではないが、ここにおいては本発明を４個の１８ビット×１８ビットサイズの乗算器によって構成されたＭＡＣブロックに関して説明する。この構成の有する典型的な特徴は好適なものであり、本発明の原理は任意の適宜な回路成分の構成を有するその他の好適なＭＡＣブロックに適用し得ることが理解される。
【００１６】
図１には前述したＭＡＣブロック１０の典型的な構成例である回路が示されている。ＭＡＣブロック１０は入力１０１−１０８を有し、４個の乗算器１１，１２，１３，１４を含んでいる。乗算器１１−１４のそれぞれが１８ビット×１８ビット乗算器である。各ＭＡＣブロック１０はさらに多数の加算器／減算器１５，１６，１７および１８を含んでおり、これは多様な乗算器１１−１４の出力の加算および減算ならびに累算器機能を実行することを可能にする。
【００１７】
マルチプレクサ１１９は多様な乗算器１１−１４が１つの入力１０１を共有することを可能にする。同様に、マルチプレクサ１０９およびレジスタ１１０は各乗算器入力１１１，１１２，１２１，１２２，１３１，１３２，１４１，１４２をレジスタするかあるいはレジスタしないことを可能にする。加えて、レジスタ１１０は、マルチプレクサ１９０と共に使用される際、データを直列に入力することを可能にする入力シフトレジスタチェーンを構成することができる。この種の入力シフトレジスタチェーンはさらにその他の異なった専用化された乗算器に拡大することができる。種々の機能は１６０，１６５，１７０，１７５，１８０，１８５，１９５において出力することができる。
【００１８】
本発明によれば、ユーザの設計が乗算とその他の演算回路を含んでいる場合、“ＭＡＣ要素”と呼称することができる要素が自動的にＭＡＣブロック１０としてグループ化される。グループ化されたＭＡＣブロック内のＭＡＣ要素は、乗算、加算が続く乗算、減算が続く乗算、累算が続く乗算の専用化された機能を実行する。
【００１９】
図２には、垂直に配置された４個の乗算器に基づいたＭＡＣブロック構成が示されている。４個の乗算器回路１３６は並列で動作することが可能なように垂直に積重ねられている。各乗算器回路１３６はｎビット×ｎビット乗算値を提供するためにｎビット×ｎビット乗算器（例えば１８ビット×１８ビット乗算器）を備えている。各乗算器回路の入力には被乗数および乗算器動作のためにｎビットの情報が付加される。各乗算器回路１３６は２ｎビット幅であり得る出力を有することができる。各乗算器回路１３６は乗算動作の結果である出力流を供給することができる。各ｎビット×ｎビット乗算器回路１３６は２の補数である符号付あるいは非符号付乗算をサポートすることができる。動的な符号付／非符号付制御入力１５６は、乗算器の符号および乗算器回路１３６の乗算動作を制御する入力信号を受信することができる。
【００２０】
ＭＡＣブロック１９２は３セットのレジスタ回路を含むことができる。ＭＡＣブロック１９２は入力レジスタ回路１３４、パイプラインレジスタ回路、ならびに出力レジスタ回路１５４を含むことができる。必要であれば、乗算器回路１３６内、加算−減算−累算回路１４４内、および／または加算−減算回路１４０内に追加的なパイプラインレジスタ回路を含むことができる。出力レジスタ回路１５４は入力レジスタ回路１３４と略等しい数のレジスタを含むことができる。この出力レジスタ回路１５４内に含まれるレジスタの数は、ＭＡＣブロック１９２の出力をレジスタするために充分なものであり得る（例えばＭＡＣブロック１９２がサポートしている全てのモードに対するＭＡＣブロック１９２の出力のレジスタ）。ＭＡＣブロック１９２に対してどの操作または構造が使用されるかに基づいて、またはＭＡＣブロック１９２によって提供される機能の範囲に基づいて、出力レジスタの数は入力レジスタの数より小さくするか、等しくするか、あるいは大きくすることができる。
【００２１】
簡略化と明瞭化のため、パイプラインレジスタ回路は図２およびその他のいくつかの図面には示されていない。前述したように、入力レジスタ回路１３４、パイプラインレジスタ回路、または出力レジスタ回路１５４が必要に応じてＭＡＣブロック１９２内に含まれている。独立したクロックおよびクリア信号のセットを入力レジスタ回路１３４、パイプラインレジスタ回路、または出力レジスタ回路１５４に供給することができる。入力レジスタ回路１３４およびパイプラインレジスタ回路に対して２セットのクロックおよびクリア信号１５８が供給され、出力レジスタ回路１５４に対しても２セットが供給される。入力レジスタ回路１３４はスキャンチェーンを含むことができるとともに、ＦＩＲフィルタの提供等のある種のデジタル信号処理におけるロジックとしてスキャンチェーンを使用することを可能にするためにスキャンチェーンと共に使用される追加的な回路を含むことができる。入力レジスタ回路１３４は８ｎ個のデータ入力のための８ｎ個のレジスタ（例えば１４４個のレジスタ）と、乗算器回路１３６の符号付／非符号付制御ならびに加算−減算−累算回路１４４の加算−減算制御のためのｑ個のレジスタ（例えば４個のレジスタ）を含むことができる。各レジスタは、論理反転を提供するか、必要に応じて、乗算器の入力がｎビットより少ない際にレジスタ入力のうちの使用されていないビットを反転するためのプログラム可能な反転能力を有することができる。
【００２２】
出力レジスタ回路１５４は加算−減算−累算回路１４４へのフィードバック経路を有することができる。入力レジスタ回路１３４、パイプラインレジスタ回路、出力レジスタ回路１５４の３つのセットのレジスタのうちのいずれか１つは、それらの回路内にありランダムアクセスメモリによって制御することができるプログラマブルロジックコネクタ（“ＰＬＣ”）によってバイパスすることができる。パイプラインレジスタ回路は入力レジスタ回路１３４と略同数のレジスタを含むことができる。
【００２３】
ＭＡＣブロック１９２の左側に示されたインタフェース回路１３３は、ＭＡＣブロック１９２の入力への付加を行うことができ、これは入力レジスタ回路１３４の入力することができる。入力レジスタ回路１３４は、それぞれｎビットの入力を有するとともに４個の８ビット×８ビット乗算器回路１３６の入力への付加を行う８個の入力レジスタを含むことができる。
【００２４】
加算−減算−累算回路１４４は乗算器回路１３６およびリターン経路１６１からの入力を受信するための接続を備えることができる。必要であれば、加算−減算−累算回路１４４は乗算器回路１３６からの出力を加算器回路１４０に伝達するように構成することができる。乗算器回路１３６の出力は、加算−減算−累算回路１４４および／または加算−減算回路１４０を介してルート設定することなく、出力選択回路１５２または出力レジスタ回路１５４へルート設定することができる。簡略化と明瞭化のため、これに限定するものではなくまた一般性を排除するものではないが、加算−減算回路１４０はここにおいて主に加算器回路として説明する。加算−減算−累算回路１４４は、それぞれ２個の２ｎビット入力の２の補数加算を実行して１個の２ｎ＋１ビット出力を形成するよう構成することができる。加算−減算−累算回路１４４は、それぞれ２個の２ｎビット入力の２の補数減算を実行して１個の２ｎ＋１ビット出力を形成するよう構成することができる。加算−減算−累算回路１４４はそれぞれ１個の２ｎビット入力とｎ＋ｙビットの出力からなる累算を行うよう構成することができる。動的加算／減算制御入力１６２および１６４は、加算と減算動作の切換えと複雑な乗算を処理するために使用される加算−減算回路１４４への入力とすることができる。動的加算／減算制御入力１６２および１６４は、複素数を含んだ乗算を含む複雑な乗算のために必要とされ得る。２つの複素数の複素乗算は、時折加算動作と減算動作の両方を含むことがあり得る。
【００２５】
加算−減算−累算回路１４４の出力は、加算器回路１４０を介してルート設定することなく、出力選択回路１５２または出力レジスタ１５４にルート設定される。必要であれば、加算器回路１４０は加算−減算−累算回路１４４からの入力（例えば、２の補数加算のｎ＋１ビット出力、累算のｎ＋ｙビット出力等）を伝送するよう構成することができる。加算器回路１４０は加算−減算−累算回路１４４からの出力の加算結果である出力を有することができる。出力選択回路１５２は加算器回路１４０からのものである入力を有することができる。出力選択回路１５２は、この出力選択回路１５２の入力のうちのどれを出力レジスタ回路１５４に伝送するかを選択することができる。出力レジスタ回路１５４は、ＭＡＣブロック１９２の右側に図示されているインタフェース回路１３３の入力への付加を行うことができる。ＭＡＣ内の回路を接続するために割り当てられるローカル相互接続リソースの割合は、ＭＡＣブロック１９２の左から右へのデジタル信号処理機能の複雑性および変動性の増加に伴って増加する。
【００２６】
図２を参照すると、ＭＡＣブロック１９２の“上半分”は、その他の構成要素と共に、このＭＡＣブロック１９２の最上部に示された２個の乗算器１３６と加算器／減算器１４４を含むことができる。ＭＡＣブロック１９２の“下半分”は、その他の構成要素と共に、このＭＡＣブロック１９２の底部に示された２個の乗算器１３６と加算器／減算器１４４を含むことができる。
【００２７】
ＭＡＣブロック１９２は、ｎ／２ビット×ｎ／２ビット乗算器に基づいた組織として構成することができる。例えば、図３を参照すると、ＭＡＣブロック１９２は、８個のｎ／２ビット×ｎ／２ビット乗算器からなる乗算器回路１３６を含むことができる。８個のｎ／２ビット×ｎ／２ビット乗算器は、図２に示されている乗算器回路１３６の４個のｎビット×ｎビット乗算器から構成することができる。
【００２８】
必要に応じて、ＭＡＣブロック１９２は、ｐビット×ｐビット乗算器に基づいた組織を有するとともに１つまたは複数のｐ／ｍビット×ｐ／ｍビット乗算器（ここでｐ，ｍ，およびｐ／ｍはいずれも整数）に基づいた組織を有するように構成し得るよう実施することができる。前述したように、この構造は少なくとも部分的にローカル相互接続リソースの制約に基づいたものである。異なった各組織が選択可能であり、ＭＡＣブロック１９２はｐ／ｍビット×ｐ／ｍビット乗算器に基づいた組織のいくつかあるいは全てとして構成することが可能である。
【００２９】
ＭＡＣブロック１９２は、４個の加算または減算ユニットを提供するよう構成された加算−減算−累算回路１４４を備えることができる。各加算または減算ユニットは２個のｎビット入力上で加算に基づいた動作を実行しｎ＋１ビットの出力を有することができる。必要に応じて、加算−減算−累算回路１４４はｎ／２ビット×ｎ／２ビット乗算器動作の出力を伝送するよう構成することができる。乗算器回路１３６の出力は、加算−減算−累算回路１４４または加算器回路１４０を介してルート設定することなく、出力選択回路１５２または出力レジスタ回路１５４へルート設定することができる。加算−減算−累算回路１４４は、ｎ／２ビット×ｎ／２ビット乗算器動作の典型的な出力ペアの加算（または減算）の結果を形成することができる。
【００３０】
ＭＡＣブロック１９２は２つの加算器を提供するよう構成された加算器回路１４０を含むことができる。必要に応じて、加算器回路１４０は加算−減算−累算回路１４４からこの加算器回路１４０に付加された入力を伝送することができる。加算−減算−累算回路１４４の出力は、加算器回路１４０を介してルート設定することなく、出力選択回路１５２または出力レジスタ１５４へルート設定することができる。加算器回路１４０は、加算−減算−累算回路１４４からの典型的な出力ペアの加算の結果である２つの出力を形成することができる。
【００３１】
ＭＡＣブロック１９２のローカル相互接続リソースは、ｎビット×ｎビット乗算器に基づいた組織と同様な入力／出力インタフェース回路１３３と支援回路（例えば乗算器回路１３６、加算器回路１４０等）を備えるｎ／２ビット×ｎ／２ビット乗算器に基づいた組織を実施するよう構成することができる。ＭＡＣブロック１９２のローカル相互接続リソースは、ｎ／２ビット×ｎ／２ビット乗算器に基づいた組織内の適宜な相互接続を形成するためのある種の蝶形クロス接続パターンを含むよう構成することができる。
【００３２】
蝶形クロス接続パターンは、入力レジスタ回路１３４と乗算器回路１３６との間で相互接続を選択するために形成される。この蝶形クロス接続パターンは、掛け合わされたｎビットの入力のペアのｎ／２次高いビットを有するとともに掛け合わされたｎビットの入力のペアのｎ／２次低いビットを有するように使用することができる。蝶形クロス接続パターンは、乗算器回路１３６と加算−減算−累算回路１４４との間で相互接続を選択するために形成される。前述したように、加算−減算−累算回路１４４は４つの加算（または減算）ユニットを含むように構成することができる。各加算（減算）ユニットは乗算器回路１３６からの２つのｎビット入力を有することができる。蝶形クロス接続パターンは、これらの各加算（減算）ユニットの２つの入力を乗算器回路１３６の乗算によるより高い次数のビットの乗算の結果とするかあるいは乗算器回路１３６の乗算によるより低い次数のビットの乗算の結果とするように使用することができる。蝶形クロス接続パターンは、さらに加算−減算−累算回路１４４と加算器回路１４０との間の相互接続に使用することもできる。加算器回路１４０は２個の加算器（例えば、２個の独立した加算器）に分割することができる。蝶形クロス接続パターンは、より高い次数のビット上の動作の結果を加算器回路１４０の上半分に供給するか、あるいはより低い次数のビット上の動作の結果を加算器回路１４０の下半分に供給するように使用することができる。ｎ／２ビット×ｎ／２ビット乗算器に基づいた組織において、累算器機能は使用不可能である。ＭＡＣブロック１９２のリソースが実質的にｎ／２ビット×ｎ／２ビット乗算器に基づいた組織の実施を可能にすることに使用され得るため、累算器機能が使用不可能となる。
【００３３】
蝶形クロス接続パターンは、単一の乗算器回路を複数のより小さい乗算器回路に分解する技術の例、複数のより小さな乗算器回路の出力が適宜に合算される（例えばより低い次数のビットをより低い次数のビットに加算する）ようデータを管理する技術の例、またはＭＡＣブロックのリソース内の制限を補償するためにデータを管理する技術の例である。この種のクロス接続パターンは、ＭＡＣブロックのための回路が設置された方式のため、あるいはその回路のために選択された構成のため、接続を処理するために使用することができる。蝶形クロス接続パターンは説明のための例として設けられている。その他の技術を使用することも可能である。例えば、ｎビット×ｎビット乗算器回路は、蝶形クロス接続パターンの必要性を解消する別の方式によって分解するか、あるいは別のタイプのクロス接続パターンを必要とする方式によって分解することができる。従って、ＭＡＣブロック１９２を形成するために、その他のクロス接続または接続パターンを使用することができる。
【００３４】
ＭＡＣブロック１９２の柔軟性または構成可能性により動作モードのセットの構成を補助することができる。必要に応じて、図２のＭＡＣブロック１９２および図３のＭＡＣブロック１９２は、それぞれ独自の動作モードのセットを有する個別のＭＡＣブロックの例とすることができる。ある種の実施例において、ＭＡＣブロック１９２はｎビット×ｎビット乗算器に基づいた組織あるいはｎ／２ビット×ｎ／ビット乗算器に基づいた組織を有するか、それぞれと相関したモード動作を有するかの間で選択的に構成することができる。ＭＡＣブロック１９２のモードは、ユーザがモードを使用可能にするためにメモリビットを備えて構成することができる。
【００３５】
図４ないし図１１は、本発明に係るＭＡＣブロックがサポートすることができる種々の例示的なモードの具現が示すブロック線図である。例えば、特定のモードの具現が単一の１８ビット×１８ビット乗算器を必要とする場合、残りの乗算器は本発明のモード分割特性に従って別のモードを実行するために使用することができる。
【００３６】
図４は、ＭＡＣブロック内における１８ビット×１８ビット乗算モードの例示的な具現を示すブロック線図である。図示されているように、単一の１８ビット×１８ビット乗算の具現は、被乗数および乗数入力４００および４０２と積出力４０６を有する１個の１８ビット×１８ビット乗算器４０４を使用する。典型的なＭＡＣブロックにおいて、図示された具現は、単一のＭＡＣブロック内において４つの乗数モードを同時に実行することを可能にし、それぞれが使用可能な４つの乗算器のうちの１つを使用する。本発明のモード分割特性に従って、残りの１つの乗算器は、乗算器４０４を使用して実行する１８ビット×１８ビット乗算モードと同時にその他の任意のモードを実行するために使用することができる。
【００３７】
図５は、ＭＡＣブロック内における例示的な５２ビット累算モードの具現を示したブロック線図である。図示されているように、単一の５２ビット累算モードの具現は、入力５００および５０２と出力５０６を有する１個の１８ビット×１８ビット乗算器５０４を使用する。加算器／減算器５０８は、レジスタ５１０内に記録された累計を更新するための加算操作を実行するために使用される。レジスタ５１０の出力５１２は、乗算器５０４の次の出力５０６と加算するために加算器／減算器５０８にフィードバックされる。典型的なＭＡＣブロックにおいて、図示された具現は２つのこの種の累算モードを単一のＭＡＣブロック内において同時に実行することを可能にし、ＭＡＣブロックが図２のＭＡＣブロック１９２と同様のものを使用する場合各累算モードがそれぞれ使用可能な４つの乗算器のうちの１つを使用する（すなわち、乗算器のうちの２つを消費する）。このことは、図２のＭＡＣブロック１９２内の限定的な専用演算回路のためである。しかしながら、本発明のモード分割特定に従って、残りの乗算器は、既に使用されている専用回路（例えば、１８ビット×１８ビット乗算モード）に依存しないその他の各モードを累算モードと同時に実行するために使用することができる。
【００３８】
図６は、ＭＡＣブロック内における２個の１８ビット×１８ビット乗算器モードの積和の例示的な具現を示すブロック線図である（例えば、上半分または下半分のいずれかの２つの乗算器）。図示されているように、２個の乗算器モードの単一の積和の具現は、入力６００，６０２，６０４および６０６を有する２つの乗算器６０８および６１０を使用する。積６１２および６１４は、出力６１８を形成する加算器／減算器６１６の入力となる。典型的なＭＡＣブロックにおいて、図示された具現は２つのこの種の２個の乗算器モードの積和を単一のＭＡＣブロック内において同時に実行することを可能にし、それぞれが使用可能な４つの乗算器のうちの１つを使用する。本発明に係るモード分割特性に従って、残りの２つの乗算器は、乗算器６０８および６１０を使用して実行する２個の乗算器モードの積和の実行と同時にその他の任意のモードを実行するために使用することができる。
【００３９】
図７は、ＭＡＣブロック内における４個の１８ビット×１８ビット乗算器モードの積和の例示的な具現を示すブロック線図である。図示されているように、４個の乗算器モードの単一の積和の具現は、入力７００，７０２，７０４，７０６，７０８，７１０，７１２および７１４を有する４個の乗算器７１６，７１８，７２０および７２２を使用する。乗算器７１６および７１８は上半分の乗算器とし、乗算器７２０および７２２は下半分の乗算器とすることができる。積７２４および７２６は第１のステージの加算器／減算器７３２の入力となる。積７２８および７３０は第１のステージの加算器／減算器７３４の入力となる。加算器／減算器７３２および７３４の出力７３６および７３８は、第２のステージの加算器／減算器７４０への入力となり、これが出力７４２を形成する。ＭＡＣブロックの全ての乗算器が図７に示された具現に使用されるため、本発明に従ってその他のモードは同時に実行され得ない。
【００４０】
図８は、ＭＡＣブロック内における９ビット×９ビット乗算モードの例示的な具現を示すブロック線図である。図示されているように、単一の乗算モードが入力８００および８０２と出力積８０６とを有する単一の乗算器８０４を使用する。典型的なＭＡＣブロック（例えば図３のＭＡＣブロック１９２）において、図示された具現は８個のこの種の９ビット×９ビット乗算モードを単一のＭＡＣブロック内において同時に実行することを可能にする（すなわち、各１８ビット×１８ビット乗算器がそれぞれ２個の９ビット×９ビット乗算器を実施するように使用される）。本発明のモード分割に従って、残りの３個の１８ビット×１８ビット乗算器および１個の９ビット×９ビット乗算器は、乗算器８０４を使用して実行する９ビット×９ビット乗算モードと同時にその他の任意のモードを実行するために使用することができる。その他のモードが９ビット×９ビット乗算器を含む必要はないことが理解される（すなわち、それらは１８ビット×１８ビット乗算を含むことができる）。
【００４１】
図９は、ＭＡＣブロック内における２個の９ビット×９ビット乗算器モードの積和の例示的な具現を示すブロック線図である。図示されているように、単一の２個の９ビット×９ビット乗算器モードの積和の具現は、入力９００，９０２，９０４および９０６を有する２個の乗算器９０８および９１０を使用する（例えば、上半分の２つの１８ビット×１８ビット乗算器または下半分の２つの１８ビット×１８ビット乗算器のいずれか）。積９１２および９１４は加算器／減算器９１６への入力となり、これが出力９１８を形成する。典型的なＭＡＣブロック（例えば図３のＭＡＣブロック１９２）において、図示された具現は４つのこの種の２個の９ビット×９ビット乗算モードの積和を単一のＭＡＣブロック内において同時に実行することを可能にする（すなわち、各１８ビット×１８ビット乗算器がそれぞれ２個の９ビット×９ビット乗算器を実施し得るため）。本発明のモード分割に従って、残りの２個の１８ビット×１８ビット乗算器および２個の９ビット×９ビット乗算器は、乗算器９０８および９１０を使用して実行する２個の９ビット×９ビット乗算モードの積和と同時にその他の任意のモードを実行するために使用することができる。
【００４２】
図１０は、ＭＡＣブロック内における４個の９ビット×９ビット乗算器モードの積和の例示的な具現を示すブロック線図である。図示されているように、単一の４個の９ビット×９ビット乗算器モードの積和の具現は、入力１０００，１００２，１００４，１００６，１００８，１０１０，１０１２および１０１４を有する４個の１８ビット×１８ビット乗算器１０１６，１０１８，１０２０および１０２２を使用する。例えば、乗算器１０１６および１０１８は上半分の乗算器、乗算器１０２０および１０２２は下半分の乗算器とすることができる。積１０２４および１０２６は第１のステージの加算器／減算器１０３２の入力となる。積１０２８および１０３０は第１のステージの加算器／減算器１０３４の入力となる。加算器／減算器１０３２および１０３４の出力１０３６および１０３８は、第２のステージの加算器／減算器１０４０への入力となり、これが出力１０４２を形成する。典型的なＭＡＣブロック（例えば図３のＭＡＣブロック１９２）において、図示された具現は２つのこの種の４個の９ビット×９ビット乗算モードの積和を単一のＭＡＣブロック内において同時に実行することを可能にする（すなわち、各１８ビット×１８ビット乗算器がそれぞれ２個の９ビット×９ビット乗算器を実施し得るため）。本発明のモード分割に従って、残りの４個の９ビット×９ビット乗算器は、乗算器１０１６，１０１８，１０２０および１０２２を使用して実行する４個の９ビット×９ビット乗算モードの積和と同時にその他の任意のモードを実行するために使用することができる。リソース（例えば加算器）の不足が生じた場合特定のモードが図１０に示されたモードと同時に実行され得ないことが理解される。
【００４３】
図１１は、ＭＡＣブロック内における３６ビット×３６ビット乗算モードの例示的な具現を示すブロック線図である。乗算器１１０４は入力１１００および１１０２と出力積１１０６を有し、４個の１８ビット×１８ビット乗算器および加算器から構成されている。ＭＡＣブロックの全ての乗算器が図１１に示された具現に使用されるため、本発明に従ってその他のモードは同時に実行され得ない。
【００４４】
本発明に係るＭＡＣブロック内においてその他の任意のモードを実行し得ることが理解される。例えば、乗算器を必要とすることなく、３６ビットＸＯＲゲート、ＡＮＤゲート、ＯＲゲート、またはその他の適宜な論理ゲート等の特定のモードを例えばＭＡＣブロックの演算回路を使用して実行することができる。これらのモードは、例えばマイクロプロセッサのビット演算の補助において有用である。また、ある種のモードは“和”に関するものであるが、ＭＡＣブロックの加算器／減算器回路を用いてその他の任意の演算動作（例えば差分）を使用し得ることが理解される。
【００４５】
例えば、高帯域１６ビットおよび３２ビット巡回冗長符号（“ＣＲＣ”）計算等のその他のモードを含むこともできる。ＣＲＣは、受信データが送信データと同一であることを保持するために多くの通信プロトコルにおいて使用される。ＣＲＣ符号化／復号は１つのビットを一時点に符号化するためには比較的単純であるが、複数のビットを同時に符号化すると複雑性が増大する。
【００４６】
１２ビット×１２ビット乗算を実行するために１８ビット×１８ビット乗算器全体を必要とするため、リソースの浪費が生じる（例えば、入力／出力が使用される場合９６ビットのみ）。本発明によれば、各ＭＡＣブロックの４個の１８ビット×１８ビット乗算器は、使用されていないリソースを別のモードに同時に使用することにより、４個のみではなく６個の１２ビット×１２ビット乗算をサポートすることができる。このことは１８ビット×１８ビット乗算器から９ビット×９ビット乗算器を実施することと対照的であり、それは１８ビット×１８ビット乗算器を２個の９ビット×９ビット乗算器に分割することが１つの１８ビット×１８ビット乗算器内で達成し得るためである。２個の１８ビット×１８ビット乗算器を３個の１２ビット×１２ビット乗算器に分割することは、乗算器間でリソースを共有することを含んでいる。このことは複雑なルーティングおよび入力配分を必要とする。
【００４７】
同様な理由のため、２４ビット×２４ビット乗算は通常３６ビット×３６ビット乗算内で実行するためにＭＡＣブロック全体を必要とするが、これは本発明に従って単一のＭＡＣブロックが同時に２つの２４ビット×２４ビット乗算をサポートすることを可能にすることによってより効率的に達成される。
【００４８】
本発明のモード分割特性は任意の好適な方式によって実施することができる。例えば、１つの好適な方式において、ＭＡＣブロックは適宜な回路（例えば、乗算器、レジスタ等）を使用して異なったモードを同一のＭＡＣブロック内において同時に実行し得るよう構成することができる。同時に実行される各モードに従ってどのようにＭＡＣブロックが構成されるかを示すために適宜な各種制御信号を使用することができる。これらの制御信号のいずれかまたは全てをユーザ制御のものとすることができる。
【００４９】
図１２は、制御信号１２０１−１２１１を有する本発明に係るＭＡＣブロック１２００を示す概略ブロック線図である。制御信号１２０１−１２１１はどのモード（１つまたは複数）においてＭＡＣブロックが同時に動作するかを示すことができる。制御信号１２０１−１２１１は単に例示的なものである。本発明のモード分割特性を実施するためにその他の適宜な制御信号を使用し得ることが理解される。単純化と明瞭化のため、これに限定するものではなくまた一般性を排除するものではないが、本発明は主にこれらの信号１２０１−１２１１に関して説明する。
【００５０】
制御信号１２０１−１２０４は“ＳＰＬＩＴ”信号であり、これはＭＡＣブロック１２００の４個の１８ビット×１８ビット乗算器のそれぞれに対してその乗算器が１８ビット×１８ビット乗算器として使用されるかあるいは９ビット×９ビット乗算器として使用されるかを示すものである。特定のサイズの乗算器の使用を必要とする任意の適宜なモードを実行するために、任意の適宜な数の制御信号を使用することができる。例えば、特定のモードが４ビット×４ビット乗算器の使用を必要とする場合、追加的なＳＰＬＩＴ信号が使用される。別の好適な方式において、ＳＰＬＩＴ信号は特定の乗算器が２個またはより多くのより小さな乗算器（すなわち、２個のより小さい乗算器のみ分割されることと対照的に）として使用されることを示すように使用することができる。
【００５１】
制御信号１２０５および１２０８は“ＳＭＯＤＥ”信号を示しており、これはＭＡＣブロックの累算器機能が付勢されるかどうかを示すために使用することができる。従って、制御信号１２０５および１２０８は５２ビット累算モードを実行するために使用することができる。制御信号１２０５はＭＡＣブロック１２００の上半分と関連付け、制御信号１２０８はＭＡＣブロック１２００の下半分と関連付けることができる。
【００５２】
制御信号１２０６および１２０９は“ＺＥＲＯ”信号を示しており、これはＳＭＯＤＥ信号と共にモード２Ａが実行されるかどうかを示すことができる。モード２Ａはモード２（すなわち図５に関して前述した５２ビット累算器モード）において使用される累算器要素を初期化（ゼロ化によって）するために使用される。図２を参照して、制御信号１２０６および１２０９は、例えば、加算器／減算器１４４の上半分または加算器／減算器１４４の下半分のいずれかの適宜なビットを累算器をゼロ化するためにアースに結合することを誘起する。制御信号１２０６および１２０９は、１つの特定の構成において３６ビット×３６ビット乗算を示すために使用することもできる。すなわち、好適な３６ビット×３６ビット乗算モードの具現において、加算器／減算器のゼロ化が必要であり得る。
【００５３】
制御信号１２０７および１２１０は“ＭＯＤＥ３”信号を示しており、これは２個の乗算器（すなわち、ＭＡＣブロックの上半分の２個または下半分の２個のいずれか）の出力がいつ合算されるかを示すために使用することができる。従って、制御信号１２０７および１２１０は、２個の１８ビット×１８ビット乗算モードの和がいつ実行されるか、または２個の９ビット×９ビットの乗算モードの和がいつ実行されるかを示すために使用することができる。制御信号１２０７および１２１０は、それぞれＭＡＣブロックの上半分または下半分と関連付けられている。
【００５４】
制御信号１２１１は“ＭＯＤＥ４”信号を示しており、これは４個の乗算器の出力がいつ合算されるかを示すために使用することができる。従って、制御信号１２１１は、４個の１８ビット×１８ビット乗算モードの和がいつ実行されるか、または４個の９ビット×９ビットの乗算モードの和がいつ実行されるかを示すために使用することができる。ＭＡＣブロックの全ての乗算器がこのモードにおいて使用されているため、単一のＭＯＤＥ４信号がＭＡＣブロック全体に対して使用される。
【００５５】
以下の表１には、前述した各モードを実行するために使用される前記の各信号が列記されている。Ａ，Ｂ，ＣおよびＤはＭＡＣブロック内の４個の１８ビット×１８ビットの乗算器のそれぞれを示しており、ＡおよびＢは上半分の乗算器であり、ＣおよびＤは下半分の乗算器である。ＲおよびＳはＭＡＣブロックの上半分および下半分を示している。
【００５６】
【表１】
2005235004.tif 000003
【００５７】
表１のモード１−８のそれぞれは、ＭＡＣブロックの半分内（すなわち上半分または下半分のいずれか）の単一の１８ビット乗算器内、あるいはＭＡＣブロック全体内のいずれかにおいて実行される。以下の表２にはその柔軟性が列記されている。
【００５８】
【表２】
2005235004.tif 000004
【００５９】
特定のモードがＭＡＣブロックの半分を必要とする場合、他方の半分は半ブロックモードあるいは単一乗算器モードによって（またはそれら２つのモードによって）使用することができる。特定のモードが単一の乗算器を必要とする場合、残りの乗算器は半ブロックモード、単一乗算器モード、またはそれらの両方によって使用することができる。
【００６０】
本発明に係るＭＡＣブロックの特定の構成は特定の重要かつ実用上の制約を有することが理解される。例えば、好適な一構成例において、モード４，７および８は制御信号１２０１−１２０４が同じ値に設定されることを必要とする。制御信号１２０５および１２０８は、モード４，７および８に対して同じ値に設定する必要がある。制御信号１２０６および１２０９は、モード４，７および８に対して同じ値に設定する必要がある。モード３および６は制御信号１２０１および１２０２が同じ値に設定され、制御信号１２０３および１２０４が同じ値に設定されることを必要とする。これらの制約は例示的なものであり、特定の構成またはＭＡＣブロックが使用されるアプリケーション、あるいはその両方に少なくとも部分的に依存する。
【００６１】
本発明に従ってその他の任意のモードが形成あるいは実行され得ることが理解される。さらに、他の任意の制御信号を説明したものに加えてあるいはこれに代えて使用し得ることが理解される。
【００６２】
図１３は、本発明に従って構成された１つまたは複数のＭＡＣブロックを有するプログラマブルロジックデバイス１３００を示した概略ブロック線図である。ＰＬＤ１３００は、このＰＬＤ１３００がユーザの設計を実行するとともにＭＡＣブロック１３０２がそのユーザ設計を実行することを可能にするための任意の適宜な相互接続回路、メモリ回路、ならびにプログラマブルロジック回路を有することができる。
【００６３】
図１４にはデータプロセッシングシステム１４００内における本発明に係るＰＬＤ１３００（すなわち本発明に係るモード分割特性を備えるように構成された少なくとも１つの乗算器を有する）が示されている。データ処理システム１４００は、さらに：プロセッサ１４０２；メモリ１４０４；Ｉ／Ｏ回路１４０６；ならびに周辺機器１４０８のうちの１つまたは複数を含むことができる。これらの構成要素はシステムバス１４１０によって互いに結合されるとともにエンドユーザシステム１４１４内に含まれた回路基板１４１２上に実装されている。
【００６４】
システム１４００は、コンピュータネットワーキング、データネットワーキング、ビデオ処理、デジタル信号処理、またはプログラマブルあるいはリプログラマブルロジックデバイスの利点を活用することが望まれる、広範な適用形態で使用することができる。ＰＬＤ１３００は多様なロジック機能を広範囲に実行するために使用することができる。例えば、ＰＬＤ１３００はプロセッサ１４０２と組合されて動作するプロセッサまたはコントローラとして構成することができる。ＰＬＤ１３００は、さらにシステム１４００内の共有リソースへのアクセスを仲介するアービタとして構成することもできる。さらに別の例として、ＰＬＤ１３００は、プロセッサ１４０２とシステム１４００内の他の構成要素との間のインタフェースとして構成することもできる。
【００６５】
以上のように、モード分割特性を有するＭＡＣブロックが提供される。以上の記述は単に本発明の原理を説明したものであり、当業者においては本発明の視点および精神を逸脱することなく種々の設計変更をなし得ることは勿論であり、本発明は請求項の記載によってのみ限定されるものである。
【図面の簡単な説明】
【００６６】
【図１】例示的なＭＡＣブロックを示す概略構成図である。
【図２】４個のｎビット×ｎビット乗算器が４個のｎビット×ｎビット乗算器として実行される例示的なＭＡＣブロックを示すブロック線図である。
【図３】４個のｎビット×ｎビット乗算器が８個のｎ／２ビット×ｎ／２ビット乗算器として実行される例示的なＭＡＣブロックを示すブロック線図である。
【図４】本発明に係る例示的な１８ビット×１８ビット乗算モード動作を示す概略説明図である。
【図５】本発明に係る例示的な５２ビットの累算モード動作を示す概略説明図である。
【図６】本発明に係る例示的な２個の１８ビット×１８ビット乗算モード動作の和を示す概略説明図である。
【図７】本発明に係る例示的な４個の１８ビット×１８ビット乗算モード動作の和を示す概略説明図である。
【図８】本発明に係る例示的な９ビット×９ビット乗算モード動作を示す概略説明図である。
【図９】本発明に係る例示的な２個の９ビット×９ビット乗算モード動作の和を示す概略説明図である。
【図１０】本発明に係る例示的な４個の９ビット×９ビット乗算モード動作の和を示す概略説明図である。
【図１１】本発明に係る例示的な３６ビット×３６ビット乗算モード動作を示す概略説明図である。
【図１２】本発明に係る例示的な制御信号を有するＭＡＣブロックを示すブロック線図である。
【図１３】少なくとも１つの本発明に係るＭＡＣブロックを有する例示的なプログラマブルロジックデバイスを示すブロック線図である。
【図１４】本発明に係るプログラマブルロジックデバイスを使用する例示的なシステムを示すブロック線図である。
【図１】
2005235004.tif 000005
【図２】
2005235004.tif 000006
【図３】
2005235004.tif 000007
【図４】
2005235004.tif 000008
【図５】
2005235004.tif 000009
【図６】
2005235004.tif 000010
【図７】
2005235004.tif 000011
【図８】
2005235004.tif 000012
【図９】
2005235004.tif 000013
【図１０】
2005235004.tif 000014
【図１１】
2005235004.tif 000015
【図１２】
2005235004.tif 000016
【図１３】
2005235004.tif 000017
【図１４】
2005235004.tif 000018
【手続補正書】
【提出日】平成16年4月16日(2004.4.16)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2005235004.tif 000019
【図２】
2005235004.tif 000020
【図３】
2005235004.tif 000021
【図４】
2005235004.tif 000022
【図５】
2005235004.tif 000023
【図６】
2005235004.tif 000024
【図７】
2005235004.tif 000025
【図８】
2005235004.tif 000026
【図９】
2005235004.tif 000027
【図１０】
2005235004.tif 000028
【図１１】
2005235004.tif 000029
【図１２】
2005235004.tif 000030
【図１３】
2005235004.tif 000031
【図１４】
2005235004.tif 000032
【外国語明細書】
2005235004.tif 000033
2005235004.tif 000034
2005235004.tif 000035
2005235004.tif 000036
2005235004.tif 000037
2005235004.tif 000038
2005235004.tif 000039
2005235004.tif 000040
2005235004.tif 000041
2005235004.tif 000042
2005235004.tif 000043
2005235004.tif 000044
2005235004.tif 000045
2005235004.tif 000046
2005235004.tif 000047
2005235004.tif 000048
2005235004.tif 000049
2005235004.tif 000050
2005235004.tif 000051
2005235004.tif 000052
2005235004.tif 000053
2005235004.tif 000054
2005235004.tif 000055
2005235004.tif 000056
2005235004.tif 000057
2005235004.tif 000058
2005235004.tif 000059
2005235004.tif 000060
2005235004.tif 000061
2005235004.tif 000062
2005235004.tif 000063
2005235004.tif 000064
2005235004.tif 000065
2005235004.tif 000066
2005235004.tif 000067
2005235004.tif 000068
2005235004.tif 000069
2005235004.tif 000070
2005235004.tif 000071
2005235004.tif 000072
2005235004.tif 000073
2005235004.tif 000074
2005235004.tif 000075
2005235004.tif 000076