JP4638253B2 - ブースアルゴリズムを利用した乗算器のエンコーダ - Google Patents
ブースアルゴリズムを利用した乗算器のエンコーダ Download PDFInfo
- Publication number
- JP4638253B2 JP4638253B2 JP2005036845A JP2005036845A JP4638253B2 JP 4638253 B2 JP4638253 B2 JP 4638253B2 JP 2005036845 A JP2005036845 A JP 2005036845A JP 2005036845 A JP2005036845 A JP 2005036845A JP 4638253 B2 JP4638253 B2 JP 4638253B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- operator
- multiplier
- output
- multiplicand
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Analogue/Digital Conversion (AREA)
- Logic Circuits (AREA)
- Error Detection And Correction (AREA)
Description
ブースアルゴリズムとは、複数ビットの乗数と被乗数との乗算の回数を減らして符号化することによって、乗算速度を向上させる乗算方法である。ブースアルゴリズムを利用するエンコーダは、乗数を利用して演算子を生成するエンコーダセルと、演算子により被乗数を符号化させる部分積セルと、を備える。
図1Bは、ブースアルゴリズムを利用した従来の乗算器の部分積セルを示す図である。
図1A及び図1Bは、加算器や圧縮器を備える乗算器の一部分回路であるエンコーダセル及び部分積セルのみを示している。
エンコーダセル100は、複数ビットの乗数データのうち第1ないし第3乗数データY2j−1、Y2j、Y2j+1をエンコーディングして演算子1X、2X、NEGを選択的に出力する。第1ないし第3乗数データY2j−1、Y2j、Y2j+1と、演算子1X、2X、NEGとは表1のような関係を有する。
演算子1Xは、被乗数Xに“1”を乗算した値であり、演算子2Xは、被乗数Xに“2”を乗算した値であり、演算子NEGは、被乗数Xに正の値または負の値を乗算した値として演算子1X、2Xの符号を定める。
図1Bの部分積セル110は、反転論理積手段NAND11、NAND12、NAND13及び排他的論理和手段XOR12を備える。部分積セル110は、エンコーダセル100から出力される演算子1X、2X、NEGに応答して受信される被乗数データXi、Xi−1の出力経路を選択し、その結果を部分積データPi、2jとして出力する。
ところが、既存の乗算器のエンコーダは、図1A及び図1Bで分かるように、エンコーダセル100でバッファを含んで最大3ゲートの遅延を有し、部分積セル110でも3ゲートの遅延を有し、したがって全体6ゲートの遅延を有する。
そして、1ゲート遅延を有する演算子NEGが、3ゲート遅延を有する他の演算子X、2Xより先に部分積セル100の出力端である排他的論理和手段XOR12に到達することによって、排他的論理和手段XOR12がターンオンされて部分積データPi、2jの発生と関係なく漏れ電流が発生する問題がある。
また、エンコーダが多くのトランジスタを備えて面積が広がり、排他的論理和手段XOR12を出力端に使用して被乗数の2進補修処理如何を決定するので、エンコーダの性能低下を引き起す。
図2Bは、ブースアルゴリズムを利用した従来の他の乗算器の部分積セルを示す図である。
図2A及び図2Bを参照すると、エンコーダセル200は、排他的論理和手段XOR21、論理積手段AND21、論理和手段OR21、反転論理積手段NAND21、反転論理和手段NOR21及びインバータI21〜I27を備える。
図2Bの部分積セル210は、インバータI28、I29及びマルチプレクサMUX21、MUX22、MUX23、MUX24を備える。部分積セル210は、エンコーダセル200から出力される演算子1X、2X、PL、Mに応答して受信される被乗数データXi、Xi−1の出力経路を選択し、その結果を部分積データPi、2j、Pi−1、2jとして出力する。
図2のエンコーダは、演算子PL、Mを使用して少ない数のトランジスタで部分積セル210の符号化過程を向上させる。図2A及び図2Bに示したように、エンコーダセル200がインバータを含んで3ゲートの遅延を有し、部分積セル210が2ゲートの遅延を有する。したがって、図2のエンコーダは、全体5ゲートの遅延を有する。
しかし、演算子PL、Mのために、エンコーダセル200の回路構成が相対的に複雑になり、演算子PL、Mの遅延が他の演算子1X、2Xに比べて1ゲートほどさらに遅延されるので、結果的に乗算器エンコーダの動作速度が遅延される問題がある。
演算子発生部は、乗数データをエンコーディングして複数個の演算子を出力する。部分積データ発生部は、受信された乗数データから演算子の符号を決定し、演算子発生部から複数個の演算子を受信する前に、被乗数データの出力経路を決定する符号選択演算子を発生させ、受信された複数個の演算子に応答して部分積データを出力する。
部分積データ発生方法は、複数個の受信された乗数データをエンコーディングして複数個の演算子を出力する段階、受信された乗数データから演算子の符号を決定し、複数個の演算子を受信する前に、被乗数データの出力経路を決定する符号選択演算子を発生させる段階、及び受信された複数個の演算子に応答して部分積データを出力する段階を備える。
以下、添付された図面を参照して本発明の望ましい実施例を説明することにより、本発明を詳細に説明する。各図面に付された同一参照符号は同一部材を示す。
図4は、図3のエンコーダの複数個の演算子を説明する図表である。
本発明の実施例による乗算器のエンコーダ300は、演算子発生部と部分積データ発生部とを備える。演算子発生部は、乗数データをエンコーディングして複数個の演算子を出力する。
部分積データ発生部は、被乗数データを受信し、乗数データのうち1ビットデータと複数個の演算子に応答して複数ビットの部分積データとを出力する。
乗算器のエンコーダの演算子発生部は、複数個のエンコーディングセルを備える。一般的なエンコーディングセルは、3ビットの乗数データをエンコーディングして演算子を出力し、演算子発生部はこのようなエンコーディングセルを複数個備える。
しかし、本発明の実施例によるエンコーダの演算子発生部のエンコーディングセルは、複数ビットの乗数データのうち隣接した2ビットのデータをエンコーディングして前記複数個の演算子を出力する。
乗算器のエンコーダの部分積データ発生部は、複数個の選択回路を備える。選択回路は、エンコーディングセルから出力される演算子に応答して部分積データを発生させる。
図3には、複数個の選択回路のうち一つが示されている。
以下、図3に示された一つのエンコーディングセル310と一つの選択回路320とを利用して、本発明の実施例によるエンコーダ300の動作を説明する。
エンコーディングセル310は、排他的論理和手段XOR31、反転論理積手段NAND31及び反転論理和手段NOR31を備える。
排他的論理和手段XOR31は、複数ビットの乗数データのうち第1乗数データY2j−1と、第1乗数データY2j−1に隣接した上位ビットである第2乗数データY2jとを排他的論理和して第1演算子1xを出力する。
エンコーディングセル310は、第1ないし第3演算子1x、p2x、n2xを出力するために、バッファB31、B32、B33をさらに具備できる。
第3演算子n2xは、第2演算子p2xに対応する部分積データの2つの補修を部分積データPPi−1、PPiとして表わす。
図3のエンコーディングセル310で分かるように、演算子1x、p2x、n2xは、いずれも1ゲート遅延のみを有する。そして、符号を決定する符号選択演算子SIGNはバッファ遅延のみを有し、他の演算子1x、p2x、n2xが部分積データ発生部の選択回路320に到達する前に、被乗数データの符号及び出力経路を予め決定する。
即ち、本発明の実施例によるエンコーダ300の全体遅延は、バッファを含んで4ゲート遅延のようであるが、実質的には3ゲート遅延のみに部分積データPPi、PPi−1を発生させることができる。
図6は、図3のエンコーディングセルの反転論理和手段、反転論理積手段及び排他的論理和手段の真理表を説明する図である。
図5及び図6を参照すると、エンコーディングセル310の反転論理和手段NOR31は、第1及び第2PMOSトランジスタMP1、MP2と、第1及び第2NMOSトランジスタMN1、MN2とを備える。
第1NMOSトランジスタMN1は、第1出力ノードN1に第1端が連結され、接地電圧VSSに第2端が連結され、ゲートに第1乗数データY2j−1が印加される。第2NMOSトランジスタMN2は、第1出力ノードN1に第1端が連結され、接地電圧VSSに第2端が連結され、ゲートに第2乗数データY2jが印加される。
第3PMOSトランジスタMP3は、電源電圧VDDに第1端が連結され、ゲートに第1乗数データY2j−1が印加され、第2出力ノードN2に第2端が連結される。第4PMOSトランジスタMP4は、電源電圧VDDに第1端が連結され、ゲートに第2乗数データY2jが印加され、第2出力ノードN2に第2端が連結される。
第3NMOSトランジスタMN3は、接地電圧VSSに第1端が連結され、ゲートに第1出力ノードN1が連結され、第2端が第3出力ノードN3に連結される。第4NMOSトランジスタMN4は、第3出力ノードN3に第1端が連結され、ゲートに第1乗数データY2j−1が印加される。
第2出力ノードN2から第2演算子p2xが出力され、第3出力ノードN3から第1演算子1xが出力される。図5の510と表示された部分が、図3のエンコーディングセル310の反転論理和手段XOR31である。
したがって、本発明の実施例では、エンコーダ300の高速動作のために、排他的論理和手段XOR31を別途に構成せずに、反転論理積手段NAND31と反転論理和手段NOR31とを利用して、排他的論理和手段XOR31を実現する。
第1乗数データY2j−1と第2乗数データY2jとがローレベル(即ち、0)である場合、第1出力ノードN1と第2出力ノードN2とは、ハイレバル(即ち、1)信号を発生させる。この時、第5PMOSトランジスタMP5と第3NMOSトランジスタMN3とによって、第3出力ノードN3はローレベル信号を発生させる。
したがって、反転論理積手段NAND31の出力である第2出力ノードN2の出力から2個のトランジスタを利用して、排他的論理和手段XOR31の出力を生成できる。
符号選択演算子SIGNは、バッファB34から出力することができる。そして、部分積データ発生部は複数個の選択回路を備える。
選択回路320は、第1選択部330及び第2選択部340を備える。第1選択部330は、符号選択演算子SIGNに応答して被乗数データのうち2ビットの被乗数データXi、Xi−1と、ゼロデータZERO_Dとの出力経路を選択する。
第1選択部330は、第1マルチプレクサMUX1及び第2マルチプレクサMUX2を備える。第1マルチプレクサMUX1は、符号選択演算子SIGNに応答して被乗数データのうち第1被乗数データXi−1、第1被乗数データXi−1の2つの補修である第1反転被乗数データXi−1b、及びゼロデータZERO_Dの出力経路を選択して、第1ないし第3出力1x1、p2x2、n2x3として発生させる。
図7Bは、図7Aの第2マルチプレクサの構造を説明する図である。
第2マルチプレクサMUX2は、第1インバータI71及び第1ないし第6スイッチSW1〜SW6を備える。
第1インバータI71は、符号選択演算子SIGNを反転させて、反転符号選択演算子I_SIGNを発生させる。第1スイッチSW1は、反転符号選択演算子I_SIGNに応答して第2被乗数データXiを第4出力1x4として発生させるか、または遮断させる。
第4スイッチSW4は、符号選択演算子SIGNに応答して第2反転被乗数データXibを第4出力1x4として発生させるか、または遮断させる。第5スイッチSW5は、符号選択演算子SIGNに応答してゼロデータZERO_Dを第5出力p2x5として発生させるか、または遮断させる。
第6スイッチSW6は、符号選択演算子SIGNに応答して第2反転被乗数データXibを第6出力n2x6として発生させるか、または遮断させる。
したがって、第4出力1x4の値は、第2被乗数データXi(SW1はターンオン、SW4はターンオフ)となり、第5出力p2x5の値も第2被乗数データXi(SW2はターンオン、SW4はターンオフ)となり、第6出力n2x6の値は、図7Bの第3スイッチSW3がオンとなり、第5スイッチSW5がオフとなると分かるように、ゼロデータZERO_Dとなる。
したがって、第4出力1x4の値は第2反転被乗数データXibとなり、第5出力p2x5の値はゼロデータZERO_Dとなり、第6出力n2x6の値は第2反転被乗数データXibとなる。
即ち、符号選択演算子SIGNが“0”である場合、第1マルチプレクサMUX1の第1スイッチSW1と第2スイッチSW2及び第3スイッチSW3が連結され、第4ないし第6スイッチSW4、SW5、SW7は遮断される。
したがって、第1出力1x1の値は第1被乗数データXi−1となり、第2出力p2x2の値も第1被乗数データXi−1となり、第3出力n2x3の値はゼロデータZERO_Dとなる。
したがって、第1出力1x1の値は第1反転被乗数データXi−1bとなり、第2出力p2x2の値はゼロデータZERO_Dとなり、第3出力n2x3の値は第1反転被乗数データXi−1bとなる。
再度説明すれば、出力経路の選択及び選択された出力経路についての被乗数データの発生は、第1または第2マルチプレクサの単に一つの遅延のみを有する。
そして、第1ないし第6出力1x1、p2x2、n2x3、1x4、p2x5、n2x6が発生する時点が、演算子1x、p2x、n2xが出力される時点と同一である。即ち、符号選択演算子SIGNが、演算子1x、p2x、n2xを求める演算過程による遅延時間に影響を与えていない。
図8Bは、図8Aの第4マルチプレクサの構造を説明する図面である。
図3の第3マルチプレクサMUX3は、図8A及び図8Bの第4マルチプレクサMUX4と同一の構造を有し、第2部分積データPPiを発生させる第4マルチプレクサMUX4の動作のみを以下説明する。
第2部分積データPPiを発生させる第4マルチプレクサMUX4の動作は、第1部分積データPPi−1を発生させる第3マルチプレクサMUX3の動作と同一であるということが分かる。
第2インバータI81は、第2演算子p2xを反転させて第2反転演算子I_p2xを発生させる。第7スイッチSW7は、第1演算子1xに応答して第4出力1x4を第2部分積データPPiとして発生させるか、または遮断させる。
第2選択部340は、符号選択演算子SIGNにより第1選択部330から選択された被乗数データを、演算子1x、p2x、n2xに応答して部分積データPPi−1、PPiとして出力する。
第1演算子1xは第4出力1x4の値を選択し、第2反転演算子I_p2xは第2出力p2x2の値を選択し、第3演算子n2xは第3出力n2x3の値を選択して第2部分積データPPiとして出力する。
320 選択回路
330 第1選択部
340 第2選択部
Claims (18)
- 複数ビットの乗数データと複数ビットの被乗数データとを乗算する乗算器のエンコーダにおいて、
前記乗数データをエンコーディングして複数個の演算子を出力する演算子発生部と、
受信された前記乗数データから演算子の符号を決定し、前記演算子発生部から前記複数個の演算子を受信する前に、前記被乗数データの出力経路を決定する符号選択演算子を発生させ、受信された前記複数個の演算子に応答して部分積データを出力する部分積データ発生部と、を備え、
前記複数個の演算子は、少なくとも第1、第2及び第3演算子を備え、
前記演算子発生部は、複数個のエンコーディングセルを備え、
前記それぞれのエンコーディングセルは、
前記複数ビットの乗数データのうち隣接した2ビットの第1乗数データと第2乗数データとを反転論理積して前記第2演算子として出力する反転論理積手段と、
前記第1乗数データと前記第2乗数データとを反転論理和して前記第3演算子として出力する反転論理和手段と、
前記第2演算子、前記第3演算子及び接地電圧を入力され、前記第3演算子に応答して前記第2演算子または前記接地電圧のうちいずれか一つを選択して前記第1演算子として出力する排他的論理和手段と、を備えることを特徴とするエンコーダ。 - 前記第1演算子は、
前記第1乗数データ及び前記第2乗数データを排他的論理和演算した結果と同じであることを特徴とする請求項1に記載のエンコーダ。 - 前記排他的論理和手段は、
前記反転論理和積手段の出力ノードに第1端が連結され、前記排他的論理和手段の出力ノードに第2端が連結され、ゲートに前記第3演算子が印加されるPMOSトランジスタと、
前記接地電圧に第1端が連結され、前記排他的論理和手段の出力ノードに第2端が連結され、ゲートに前記第3演算子が印加されるNMOSトランジスタと、を備えることを特徴とする請求項1に記載のエンコーダ。 - 前記エンコーディングセルの前記反転論理和手段は、
電源電圧に第1端が連結され、ゲートに前記第1乗数データが印加される第1PMOSトランジスタと、
前記第1PMOSトランジスタの第2端に第1端が連結され、ゲートに前記第2乗数データが印加され、第1出力ノードに第2端が連結される第2PMOSトランジスタと、
前記第1出力ノードに第1端が連結され、接地電圧に第2端が連結され、ゲートに前記第1乗数データが印加される第1NMOSトランジスタと、
前記第1出力ノードに第1端が連結され、前記接地電圧に第2端が連結され、ゲートに前記第2乗数データが印加される第2NMOSトランジスタと、を備え、
前記第1出力ノードから前記第3演算子が出力されることを特徴とする請求項1に記載のエンコーダ。 - 前記排他的論理和手段及び前記反転論理積手段は、
前記電源電圧に第1端が連結され、ゲートに前記第1乗数データが印加され、第2出力ノードに第2端が連結される第3PMOSトランジスタと、
前記電源電圧に第1端が連結され、ゲートに前記第2乗数データが印加され、前記第2出力ノードに第2端が連結される第4PMOSトランジスタと、
前記第2出力ノードに第1端が連結され、ゲートに前記第1出力ノードが連結され、第2端が第3出力ノードに連結される第5PMOSトランジスタと、
前記接地電圧に第1端が連結され、ゲートに前記第1出力ノードが連結され、第2端が前記第3出力ノードに連結される第3NMOSトランジスタと、
前記第3出力ノードに第1端が連結され、ゲートに前記第1乗数データが印加される第4NMOSトランジスタと、
前記第2出力ノードに第1端が連結され、ゲートに前記第1乗数データが印加される第5NMOSトランジスタと、
前記第4及び第5NMOSトランジスタの第2端に第1端が連結され、ゲートに前記第2乗数データが印加され、前記接地電圧に第2端が連結される第6NMOSトランジスタと、を備え、
前記第2出力ノードから前記第2演算子が出力され、前記第3出力ノードから前記第1演算子が出力されることを特徴とする請求項1に記載のエンコーダ。 - 前記第1演算子は、
前記被乗数データをそのまま前記部分積データとして表わし、前記第2演算子は、前記被乗数データを上位ビット方向に1ビットずつシフトさせたデータを前記部分積データとして表わし、
前記第3演算子は、前記第2演算子に対応する前記部分積データの2つの補修を前記部分積データとして表わすことを特徴とする請求項1に記載のエンコーダ。 - 前記乗数データは、
前記第2乗数データのビットに隣接した上位ビットである第3乗数データをさらに備え、
前記部分積データ発生部は、複数個の演算子の符号を決定する符号選択演算子として前記第3乗数データを受信することを特徴とする請求項6に記載のエンコーダ。 - 前記部分積データ発生部は、
複数個の選択回路を備え、
前記それぞれの選択回路は、
前記符号選択演算子に応答して、前記被乗数データのうち2ビットの被乗数データとゼロデータとの出力経路を選択する第1選択部と、
前記第1、第2及び第3演算子に応答して前記第1選択部から出力される前記被乗数データ、及び以前選択回路から出力される被乗数データの出力経路を選択して前記部分積データを出力する第2選択部と、を備えることを特徴とする請求項7に記載のエンコーダ。 - 前記第1選択部は、
前記符号選択演算子に応答して前記被乗数データのうち第1被乗数データ、前記第1被乗数データの2つの補修である第1反転被乗数データ、及びゼロデータの出力経路を選択して第1ないし第3出力として発生させる第1マルチプレクサと、
前記符号選択演算子に応答して前記第1被乗数データと隣接した上位ビットである第2被乗数データ、前記第2被乗数データの2つの補修である第2反転被乗数データ、及びゼロデータの出力経路を選択して第4ないし第6出力として発生させる第2マルチプレクサと、を備えることを特徴とする請求項8に記載のエンコーダ。 - 前記第2マルチプレクサは、
前記第2演算子を反転させて、反転された第2演算子を発生させる第1インバータと、
前記第1演算子に応答して前記第4出力を発生させるか、または遮断させる第1スイッチと、
前記第2演算子に応答して前記第2出力を前記第5出力として発生させるか、または遮断させる第2スイッチと、
前記反転符号選択演算子に応答して前記ゼロデータを前記第6出力として発生させるか、または遮断させる第3スイッチと、
前記符号選択演算子に応答して前記第2反転被乗数データを前記第4出力として発生させるか、または遮断させる第4スイッチと、
前記符号選択演算子に応答して前記ゼロデータを前記第5出力として発生させるか、または遮断させる第5スイッチと、
前記符号選択演算子に応答して前記第2反転被乗数データを前記第6出力として発生させるか、または遮断させる第6スイッチと、を備え、
前記第1マルチプレクサは、
前記第2マルチプレクサと同一の構造を有することを特徴とする請求項7に記載のエンコーダ。 - 前記第2選択部は、
前記第1ないし第3演算子に応答して、前記第1マルチプレクサの第1出力及び以前選択回路から出力される被乗数データの出力経路を選択して、第1部分積データとして出力する第3マルチプレクサと、
前記第1ないし第3演算子に応答して前記第2マルチプレクサの第4出力、前記第1マルチプレクサの第2及び第3出力の出力経路を選択して、第2部分積データとして出力する第4マルチプレクサと、を備えることを特徴とする請求項9に記載のエンコーダ。 - 前記第4マルチプレクサは、
前記第2演算子を反転させて第2反転演算子を発生させる第2インバータと、
前記第1演算子に応答して前記第4出力を前記第2部分積データとして発生させるか、または遮断させる第7スイッチと、
前記第2反転演算子に応答して前記第2出力を前記第2部分積データとして発生させるか、または遮断させる第8スイッチと、
前記第3演算子に応答して前記第3出力を前記第2部分積データとして発生させるか、または遮断させる第9スイッチと、を備え、
前記第3マルチプレクサは、
前記第4マルチプレクサと同一の構造を有することを特徴とする請求項11に記載のエンコーダ。 - 複数ビットの乗数データと複数ビットの被乗数データとを乗算する乗算器のエンコーダにおいて、
少なくとも第1、第2及び第3演算子を出力するために、隣接した2ビットの第1及び第2乗数データをエンコーディングする少なくとも一つのエンコーディングセルと、
前記第2乗数データのビットに隣接した上位ビットである第3乗数データを、前記第1、第2及び第3演算子の符号を決定する符号選択演算子として受信し、前記符号選択演算子に応答して2ビットの被乗数データとゼロデータとのための出力経路を選択する第1選択部と、
前記第1、第2及び第3演算子に応答して前記第1選択部から出力される2ビットの前記被乗数データ、及び他の選択回路から出力される前記被乗数データの出力経路を選択して、前記被乗数データを部分積データとして出力する第2選択部と、を備え、
前記少なくとも一つのエンコーディングセルは、
前記複数ビットの乗数データのうち隣接した2ビットの第1乗数データと第2乗数データとを反転論理積して前記第2演算子として出力する反転論理積手段と、
前記第1乗数データと前記第2乗数データとを反転論理和して前記第3演算子として出力する反転論理和手段と、
前記第2演算子、前記第3演算子及び接地電圧を入力され、前記第3演算子に応答して前記第2演算子または前記接地電圧のうちいずれか一つを選択して前記第1演算子として出力する排他的論理和手段と、を備えることを特徴とするエンコーダ。 - 前記第1演算子は、前記被乗数データを前記部分積データとして表わし、
第2演算子は、前記被乗数データを上位ビット方向にシフティングして得たデータを前記部分積データとして表わし、
前記第3演算子は、前記第2演算子に対応する前記部分積データの2つの補数を前記部分積データとして表わすことを特徴とする請求項13に記載のエンコーダ。 - 複数ビットの乗数データと複数ビットの被乗数データとを乗算する乗算器のエンコーダにおいて、
前記エンコーダは、
一つのゲート遅延を利用して前記乗数データをエンコーディングして、複数個の演算子を出力する演算子発生部と、
2つのゲート遅延を利用して受信された前記乗数データから演算子の符号を決定し、前記演算子発生部から前記複数個の演算子を受信する前に、前記被乗数データの出力経路を決定する符号選択演算子を発生させ、受信された前記複数個の演算子に応答して部分積データを出力する部分積データ発生部と、を備え、
前記演算子発生部は、複数個のエンコーディングセルを備え、
前記それぞれのエンコーディングセルは、
前記複数ビットの乗数データのうち隣接した2ビットの第1乗数データと第2乗数データとを反転論理積して前記第2演算子として出力する反転論理積手段と、
前記第1乗数データと前記第2乗数データとを反転論理和して前記第3演算子として出力する反転論理和手段と、
前記第2演算子、前記第3演算子及び接地電圧を入力され、前記第3演算子に応答して前記第2演算子または前記接地電圧のうちいずれか一つを選択して前記第1演算子として出力する排他的論理和手段と、を備え、
前記エンコーダは、3個のゲート遅延を利用して受信された前記乗数データと受信された前記被乗数データとから部分積データを発生させることを特徴とするエンコーダ。 - 乗数データと被乗数データとを乗算する乗算器のエンコーダが部分積データを発生させる方法において、
前記エンコーダは演算子発生部と部分積データ発生部とを備え、
前記演算子発生部が、複数個の受信された前記乗数データをエンコーディングして複数個の演算子を出力する段階と、
前記部分積データ発生部が、受信された前記乗数データから演算子の符号を決定し、前記複数個の演算子を受信する前に、前記被乗数データの出力経路を決定する符号選択演算子を発生させる段階と、
前記部分積データ発生部が、受信された前記複数個の演算子に応答して前記部分積データを出力する段階と、を備え、
前記複数個の演算子は、少なくとも第1、第2及び第3演算子を備え、
前記複数個の演算子を出力する段階は、前記演算子発生部に備えられたエンコーディングセル内の論理演算手段により、
前記複数ビットの乗数データのうち隣接した2ビットの第1乗数データと第2乗数データとを反転論理積して前記第2演算子として出力する段階と、
前記第1乗数データと前記第2乗数データとを反転論理和して前記第3演算子として出力する段階と、
前記第2演算子、前記第3演算子及び接地電圧を入力され、前記第3演算子に応答して前記第2演算子または前記接地電圧のうちいずれか一つを選択して前記第1演算子として出力する段階と、を備えることを特徴とする部分積データ発生方法。 - 乗数データと被乗数データとを乗算する乗算器の演算子発生装置において、
複数ビットの乗数データのうち隣接した第1及び第2乗数データを排他的論理和して、第1演算子を出力する排他的論理和手段を備える少なくとも一つのエンコーディングセルと、
前記第1乗数データと前記第2乗数データとを反転論理積して第2演算子を出力する反転論理積手段と、
前記第1乗数データと前記第2乗数データとを反転論理和して第3演算子を出力する反転論理和手段と、を備え、
前記排他的論理和手段は、
前記第2演算子、前記第3演算子及び接地電圧を入力され、前記第3演算子に応答して前記第2演算子または前記接地電圧のうちいずれか一つを選択して前記第1演算子として出力することを特徴とする演算子発生装置。 - 乗数データと被乗数データとを乗算する乗算器のエンコーダにおいて、
前記エンコーダは、請求項17の演算子発生装置を備えることを特徴とするエンコーダ。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040009628A KR20050081407A (ko) | 2004-02-13 | 2004-02-13 | 부스 알고리즘을 이용한 곱셈기의 인코더 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005228349A JP2005228349A (ja) | 2005-08-25 |
JP4638253B2 true JP4638253B2 (ja) | 2011-02-23 |
Family
ID=34836737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005036845A Expired - Fee Related JP4638253B2 (ja) | 2004-02-13 | 2005-02-14 | ブースアルゴリズムを利用した乗算器のエンコーダ |
Country Status (3)
Country | Link |
---|---|
US (1) | US7519648B2 (ja) |
JP (1) | JP4638253B2 (ja) |
KR (1) | KR20050081407A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797365B2 (en) * | 2006-06-27 | 2010-09-14 | International Business Machines Corporation | Design structure for a booth decoder |
US7797364B2 (en) * | 2006-06-27 | 2010-09-14 | International Business Machines Corporation | Booth decoder apparatus and method |
US8078662B2 (en) | 2006-09-29 | 2011-12-13 | Intel Corporation | Multiplier product generation based on encoded data from addressable location |
KR100953342B1 (ko) * | 2007-12-27 | 2010-04-20 | 주식회사 동부하이텍 | 곱셈기의 인코더 |
KR101861550B1 (ko) * | 2012-02-29 | 2018-05-29 | 삼성전자주식회사 | 다항식 연산을 위한 부분적 발생 장치 및 방법 |
US10756753B2 (en) * | 2018-10-25 | 2020-08-25 | Arm Limited | Data compressor logic circuit |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6225326A (ja) * | 1985-07-25 | 1987-02-03 | Toshiba Corp | 半加算器 |
JPH07160476A (ja) * | 1993-12-09 | 1995-06-23 | Hitachi Ltd | 部分積生成回路 |
US20030120694A1 (en) * | 2001-12-20 | 2003-06-26 | Jieming Qi | Method and apparatus for use in booth-encoded multiplication |
JP2004013709A (ja) * | 2002-06-10 | 2004-01-15 | Texas Instr Japan Ltd | 部分積生成回路および乗算器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970071248A (ko) | 1996-04-10 | 1997-11-07 | 문정환 | 병렬곱셈기 |
US6065032A (en) | 1998-02-19 | 2000-05-16 | Lucent Technologies Inc. | Low power multiplier for CPU and DSP |
US6301599B1 (en) * | 1999-03-29 | 2001-10-09 | Sony Corporation Of Japan | Multiplier circuit having an optimized booth encoder/selector |
US6622154B1 (en) * | 1999-12-21 | 2003-09-16 | Lsi Logic Corporation | Alternate booth partial product generation for a hardware multiplier |
JP2002323346A (ja) | 2001-04-25 | 2002-11-08 | Yaskawa Electric Corp | エンコーダ |
US20030158880A1 (en) * | 2002-02-13 | 2003-08-21 | Ng Kenneth Y. | Booth encoder and partial products circuit |
US6978426B2 (en) * | 2002-04-10 | 2005-12-20 | Broadcom Corporation | Low-error fixed-width modified booth multiplier |
US7308471B2 (en) * | 2003-03-28 | 2007-12-11 | Arithmatica Limited | Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding |
US7308470B2 (en) * | 2003-12-05 | 2007-12-11 | Intel Corporation | Smaller and lower power static mux circuitry in generating multiplier partial product signals |
-
2004
- 2004-02-13 KR KR1020040009628A patent/KR20050081407A/ko not_active Application Discontinuation
-
2005
- 2005-02-11 US US11/054,954 patent/US7519648B2/en not_active Expired - Fee Related
- 2005-02-14 JP JP2005036845A patent/JP4638253B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6225326A (ja) * | 1985-07-25 | 1987-02-03 | Toshiba Corp | 半加算器 |
JPH07160476A (ja) * | 1993-12-09 | 1995-06-23 | Hitachi Ltd | 部分積生成回路 |
US20030120694A1 (en) * | 2001-12-20 | 2003-06-26 | Jieming Qi | Method and apparatus for use in booth-encoded multiplication |
JP2004013709A (ja) * | 2002-06-10 | 2004-01-15 | Texas Instr Japan Ltd | 部分積生成回路および乗算器 |
Also Published As
Publication number | Publication date |
---|---|
JP2005228349A (ja) | 2005-08-25 |
KR20050081407A (ko) | 2005-08-19 |
US20050182814A1 (en) | 2005-08-18 |
US7519648B2 (en) | 2009-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5278783A (en) | Fast area-efficient multi-bit binary adder with low fan-out signals | |
US4953115A (en) | Absolute value calculating circuit having a single adder | |
JP4638253B2 (ja) | ブースアルゴリズムを利用した乗算器のエンコーダ | |
US6240438B1 (en) | Multiplier circuit for reducing the number of necessary elements without sacrificing high speed capability | |
US8495116B2 (en) | Circuit and method converting boolean and arithmetic masks | |
US3970833A (en) | High-speed adder | |
US20010032223A1 (en) | Logic circuits and carry-lookahead circuits | |
US20030120694A1 (en) | Method and apparatus for use in booth-encoded multiplication | |
US6003059A (en) | Carry select adder using two level selectors | |
US6255856B1 (en) | Comparator | |
US6795842B2 (en) | Method and apparatus for comparing two binary numbers with a power-of-two threshold | |
KR100953342B1 (ko) | 곱셈기의 인코더 | |
US7349937B2 (en) | Fast incrementer using zero detection and increment method thereof | |
US7277909B2 (en) | High speed adder | |
JP3663186B2 (ja) | 部分積生成回路および乗算器 | |
KR100567643B1 (ko) | 제로 판정 신호 생성 회로 | |
KR950009684B1 (ko) | 전가산기 | |
KR100223753B1 (ko) | 2비트 전가산기 | |
KR970049455A (ko) | 홀/짝수의 1-비트 가산기 셀을 구비하는 가산기 | |
JP4230234B2 (ja) | 全加算器用のパリティ予測回路 | |
JP2004265204A (ja) | 桁上げ先見回路およびこれを用いた加算回路 | |
Dave et al. | Design and synthesis of flagged binary adders with constant addition | |
CN113778374A (zh) | 算术电路 | |
KR100265619B1 (ko) | 저전력 가산기 | |
KR0154934B1 (ko) | 개선된 2의 보수회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090811 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091111 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100330 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101013 |
|
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: 20101102 |
|
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: 20101125 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4638253 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |