Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3940564B2 - Multiplication circuit - Google Patents
[go: Go Back, main page]

JP3940564B2 - Multiplication circuit - Google Patents

Multiplication circuit Download PDF

Info

Publication number
JP3940564B2
JP3940564B2 JP2001093666A JP2001093666A JP3940564B2 JP 3940564 B2 JP3940564 B2 JP 3940564B2 JP 2001093666 A JP2001093666 A JP 2001093666A JP 2001093666 A JP2001093666 A JP 2001093666A JP 3940564 B2 JP3940564 B2 JP 3940564B2
Authority
JP
Japan
Prior art keywords
circuit
multiplier
data
encoding
partial product
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
JP2001093666A
Other languages
Japanese (ja)
Other versions
JP2002287955A (en
Inventor
直佳 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001093666A priority Critical patent/JP3940564B2/en
Publication of JP2002287955A publication Critical patent/JP2002287955A/en
Application granted granted Critical
Publication of JP3940564B2 publication Critical patent/JP3940564B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、ブース(Booth)のアルゴリズムを用いた乗算回路に係り、特に被乗数データから部分積生成に必要な符号データを出力するエンコード回路の配置位置を改良した乗算回路に関する。
【0002】
【従来の技術】
DSP(Digital Signal Processor)やCPU(Central Processing Unit)などのデジタル半導体集積回路には乗算回路が内蔵されることが多い。
【0003】
この乗算回路の一手法としてブース(Booth)のアルゴリズムを用いることによって、集積度を高めることが行われている。例えば2次のブースのアルゴリズムを用いることにより、部分積の個数を半分にすることができ、これによって乗算回路の小面積化が可能になる。
【0004】
いま、被乗数をX、乗数をYとすると、積ZはX*Yと表される。ここで、Yを2の補数で表現すると、Zは以下の式で表される。
【0005】
【数1】

Figure 0003940564
【0006】
上記(1)式において、y2k、y2k+1、y2k+2は乗数Yのうち隣り合う3ビットのデータであり、この3ビットのデータからエンコード回路を用いて符号データが生成され、この生成された符号データと被乗数Xとが部分積生成回路で乗算されて部分積が生成され、全ての部分積が部分積加算回路で加算されることによりX*Yの演算が行なわれる。
【0007】
図6は、2次のブースのアルゴリズムを用いた従来の乗算回路の概略的な構成を示すブロック図である。先に述べたように、ブースのアルゴリズムを用いた乗算回路は、部分積生成回路、エンコード回路及び部分積加算回路で構成されるが、図6では部分積加算回路の図示を省略している。
【0008】
図示するように、部分積生成回路11は列状に配列された複数の乗算器セル13で構成され、それぞれ1つの部分積生成回路11とエンコード回路12とが対にされ、部分積生成回路11に隣接して対をなすエンコード回路12が配置されて1段の回路が構成され、複数段の回路が縦方向に必要段数分配置される。なお、被乗数X及び乗数Yは複数段の回路の上方からそれぞれ入力されるものとする。
【0009】
例えば、図中、最上段に配置された回路のエンコード回路12には3ビットの乗数データとして“0”、y1 、y2 が入力され、この3ビットの乗数データをエンコードして得られる符号データが対応する部分積生成回路11内の複数の乗算器セル13に並列に入力されて部分積が生成される。同様に、2段目に配置された回路のエンコード回路12には3ビットの乗数データとしてy2 、y3 、y4 が入力され、さらに3段目に配置された回路のエンコード回路12には3ビットの乗数データとしてy4 、y5 、y6 が入力され、それぞれこれら3ビットの乗数データをエンコードして得られる符号データが対応する部分積生成回路11内の複数の乗算器セル13に並列に入力されて部分積が生成される。
【0010】
すなわち、2次のブースのアルゴリズムを用いた場合、各段のエンコード回路12には、縦方向で隣接する2つのエンコード回路で1ビットがオーバーラップした状態で、乗数データが3ビットずつ入力される。
【0011】
ところで、従来の乗算回路では、図示のように、部分積生成回路11とエンコード回路12とからなる各段の回路において、エンコード回路12は全て部分積生成回路11の右側に隣接して配置されている。
【0012】
しかしながら、上記構成でなる従来の乗算回路では、nビットの乗数Yを各部分積生成回路11の右側に配置されたエンコード回路12まで伝達する必要があり、乗数Yのビット数が増えれば増えるほど、乗数Yの広い配線領域が必要になるという問題がある。
【0013】
また、図7に示すように、nビットの乗数YのうちMSB側の3つのデータyn-2、yn-1、yn が入力されるエンコード回路12を含む回路では、これら3ビットの乗数データが、部分積生成回路11とエンコード回路12とからなる回路の外側でエンコード回路12の位置まで引き回され、さらにそれをエンコードした結果が部分積生成回路11のMSB側の乗算器セルまで供給されるという明らかに冗長なデータの移動が起こる。この結果、部分積生成に要する時間の増大を招いてしまうという問題がある。
【0014】
なお、ここでは、従来例としてブースのエンコード回路12を部分積生成回路11の右側に配置した場合について説明したが、逆に左側に配置することも可能であり、この場合には、乗数Yを左側に配置されたエンコード回路12まで引き回す必要が生じ、左右が逆になるだけで、やはり同様の問題が生じる。
【0015】
【発明が解決しようとする課題】
このように、従来の乗算回路では、部分積生成回路と対をなすエンコード回路を全て部分積生成回路に隣接して配置するようにしているので、乗数データを伝える配線長が長くなって配線領域が増大するという問題が生じる。
【0016】
この発明は上記のような事情を考慮してなされたものであり、その目的は、乗数データを伝達する配線の配線長を短くして配線領域の削減を図ることができる乗算回路を提供することである。
【0017】
【課題を解決するための手段】
この発明の乗算回路は、複数ビットのデータからなる乗数データのうちそれぞれ一部のビットのデータが入力されて符号データを出力する複数のエンコード回路と、上記複数のエンコード回路に対応して設けられ、それぞれ列状に配列された複数の乗算器セルからなり、上記乗数データと同一方向もしくは対向する方向から入力される複数ビットのデータからなる被乗数データと上記対応するエンコード回路から出力される符号データとから部分積を生成する複数の部分積生成回路と、上記複数の部分積生成回路で生成された部分積を加算して乗算結果を出力する部分積加算回路とを具備し、上記複数の各エンコード回路は、入力される乗数データのビット位置に適合する位置に配置されていることを特徴とする。
【0018】
従って、複数のエンコード回路の一部は対応する部分積生成回路に隣接する位置に配置され、他の一部は対応する部分積生成回路内の前記複数の乗算器セルの配列の途中に挿入配置される。
【0019】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態を詳細に説明する。
【0020】
図1は、この発明の実施の形態による乗算回路の構成を示すブロック図である。なお、本実施の形態では、従来と同様に2次のブースのアルゴリズムを用いた場合について説明するが、3次、4次など、次数の高いブースのアルゴリズムを用いたものにも同様に実施することができる。
【0021】
この乗算回路は、大きく分けて、部分積生成回路11及びエンコード回路12からなり複数の部分積を生成する乗算アレイ10と、乗算アレイ10で生成される複数の部分積を加算して乗算結果を出力する部分積加算回路20とから構成されている。
【0022】
部分積生成回路11は列状に配列された複数の乗算器セル13で構成されており、それぞれ1つの部分積生成回路11とエンコード回路12とが対にされて1段の回路が構成され、複数段の回路が縦方向に必要段数分配置される。
【0023】
mビットのデータからなる被乗数X及びnビットのデータからなる乗数Yは、乗算アレイ10を構成する複数段の回路の上方からそれぞれ入力される。なお、被乗数X及び乗数YそれぞれのLSB側のビットのデータを伝達する配線は図中の右側に配置され、逆にMSB側のビットのデータを伝達する配線は図中の左側に配置されているとする。
【0024】
ここで、乗算アレイ10を構成する各段の部分積生成回路11とエンコード回路12とからなる回路は、部分積生成回路11で生成する部分積の重み付けを意識して配置されるが、そのまま配置すると、被乗数Xがmビット、乗数YがnビットでX*Yの乗算回路の場合、回路全体のビット幅として(m+n)ビット分必要になり、全体的に横長の回路になってしまう。
【0025】
そこで、面積的な制約がある場合には、図1に示すように、部分積生成回路11とエンコード回路12とからなる回路をある程度の固まり(本例では4回路)毎にブロック分けし、各ブロック毎に部分積生成回路11及びエンコード回路12からなる回路を図中の右方向にシフトして配置する方法が用いられる。
【0026】
さらに、各ブロックB1、B2、…Brにおいて、エンコード回路12は、そのエンコード回路12に入力される乗数データYの3ビットの乗数データを伝達する配線に最も近くなるように、それぞれ3ビットの乗数データのビット位置に適合する位置に配置される。例えば、図中、最上部に位置している第1のブロックB1では、各エンコード回路12は対応する部分積生成回路11の右側に隣接するように配置されている。第1のブロックB1の下段に位置する第2のブロックB2では、各エンコード回路12は、対応する部分積生成回路11内で配列されている複数の乗算器セル13のうち、右側から数えて6番目と7番目の乗算器セル13の間に挿入配置されている。以下、同様にして、各ブロックでは、各エンコード回路12は、それぞれに入力される3ビットの乗数データを伝達する配線に最も近くなるように、対応する部分積生成回路11内の複数の乗算器セル13の配列の途中に挿入配置されている。ちなみに、最下部の第rのブロックBrでは、各エンコード回路12は、対応する部分積生成回路11内で配列されている複数の乗算器セル13のうち、左側から数えて2番目と3番目の乗算器セル13の間に挿入配置されている。
【0027】
また、被乗数Xの配線はx1 〜x7 についてのみ例示している。被乗数Xは各部分積生成回路11内の複数の乗算器セル13に並列に入力される。
【0028】
なお、2次のブースのアルゴリズムを用いたエンコード回路12を設けているので、このエンコード回路12よりも上位ビット側に位置する部分積生成回路11内の乗算器セル13では、図2に示すようにそれぞれの出力を2ビットずつ下位ビット側にシフト(2 bit shift)している。
【0029】
このように構成された乗算回路において、各段の部分積生成回路11から出力される部分積は、2次のブースのエンコード回路12を部分積生成回路11の途中に挿入した分のシフトを行なった後は、従来の乗算回路と同様に部分積加算回路20を用いて部分積の加算を行なうことによって、所望の乗算結果を得ることができる。
【0030】
上記実施の形態の乗算回路では、各エンコード回路12は、それぞれに入力される3ビットの乗数データを伝達する配線に最も近くなるように、入力される乗数データのビット位置に適合する位置に配置されている。
【0031】
このため、従来のように乗数データの配線を長く引き回して各エンコード回路12に入力する必要がない。この結果、乗数Yのビット数が増えても、乗数Yの配線として広い配線領域は不要であり、乗数Yの配線領域を従来よりも削減することができる。
【0032】
また、従来のように乗数データの配線を長く引き回す必要がなくなるので、冗長なデータの移動をなくすことができ、部分積生成にかかる時間の増大も防止することができる。
【0033】
図3は、図1中のエンコード回路12のエンコード状態の一例を示す図である。図3中の「倍数」とは、3ビットの乗数データ(y2k、y2k+1、y2k+2)に基づいて被乗数Xに対して乗算を行なう数値を示しており、この数値は図3中の3ビットの符号データX、2X、NEGによって表される。例えば、図3中の2段目のy2k=y2k+1=“0”、y2k+2=“1”の場合、倍数は−2であり、この倍数は符号データ2Xを“1”にすることで2倍を表し、さらに符号データNEGを“1”にすることでその倍数が負の値であることを表している。
【0034】
図4は、上記図3に示したエンコード状態を実現するエンコード回路12の具体的な回路例を示している。乗数データy2k及びy2k+1がイクスクルーシブ(exclusive)ORゲート31に入力され、このイクスクルーシブORゲート31から符号データXが出力される。また、乗数データy2k、y2k+1がそのまま及び乗数データy2k+2の反転データがANDゲート32に入力され、さらに乗数データy2k、y2k+1それぞれの反転データ及び乗数データy2k+2がANDゲート33に入力され、両ANDゲート32、33の出力がORゲート34に入力され、このORゲート34から符号データ2Xが出力される。乗数データy2k+2はそのまま符合データNEGとして出力される。
【0035】
図5は、図1中の部分積生成回路11内の乗算器セル13の1個分の一構成例を示す回路図である。この乗算器セル13は、2個のANDゲート41、42と、それそれ1個のORゲート43及びイクスクルーシブORゲート44とから構成されている。ANDゲート41には被乗数データxj-1と符号データ2Xとが入力される。また、ANDゲート42には被乗数データxj と符号データXとが入力される。上記両ANDゲート41、42の出力はORゲート43に入力され、さらにこのORゲート43の出力は符合データNEGと共にイクスクルーシブORゲート44に入力される。そして、このイクスクルーシブORゲート44から1ビット分の部分積が出力される。
【0036】
なお、図3に示したエンコード回路12のエンコード状態、図4に示したエンコード回路12の具体的回路構成及び図5に示した乗算器セル13の具体的回路構成は、それぞれあくまでも一例であり、必ずしもこのようにされている必要はない。
【0037】
なお、上記実施の形態では、被乗数X及び乗数Yを、乗算アレイ10を構成する複数段の回路の上方からそれぞれ入力する場合を説明したが、これは例えば被乗数Xは上方から入力し、乗数Yは下方から入力する如く、被乗数Xと乗数Yとを対向する方向から入力するように配線を変更してもよい。
【0038】
さらに上記実施の形態では、図1に示すように、各ブロック内では、部分積生成回路11に対してエンコード回路12を全て同じ位置に配置する場合を説明したが、これはブロック内で異なる位置に配置するようにしてもよい。要するに、それぞれに入力される3ビットの乗数データのビット位置に適合する位置にエンコード回路12を配置すればよい。
【0039】
【発明の効果】
以上説明したようにこの発明によれば、乗数データを伝達する配線の配線長を短くして配線領域の削減を図ることができる乗算回路を提供することができる。
【図面の簡単な説明】
【図1】この発明の実施の形態による乗算回路の構成を示すブロック図。
【図2】図1の乗算回路において1段分の部分積生成回路及びエンコード回路からなる回路を抜き出して示す回路図。
【図3】図1中のエンコード回路のエンコード状態の一例を示す図。
【図4】図3に示したエンコード状態を実現するエンコード回路の具体的な回路例を示す図。
【図5】図1中の部分積生成回路内の乗算器セル1個分の一構成例を示す回路図。
【図6】従来の乗算回路の構成を示すブロック図。
【図7】図6の従来の乗算回路において1段分の部分積生成回路及びエンコード回路からなる回路を抜き出して示す回路図。
【符号の説明】
10…乗算アレイ、
11…部分積生成回路、
12…エンコード回路、
13…乗算器セル、
20…部分積加算回路。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a multiplication circuit using a Booth algorithm, and more particularly to a multiplication circuit in which an arrangement position of an encoding circuit that outputs code data necessary for generating a partial product from multiplicand data is improved.
[0002]
[Prior art]
A digital semiconductor integrated circuit such as a DSP (Digital Signal Processor) or a CPU (Central Processing Unit) often has a built-in multiplication circuit.
[0003]
The integration degree is increased by using a Booth algorithm as one method of the multiplication circuit. For example, by using a secondary Booth algorithm, the number of partial products can be halved, which makes it possible to reduce the area of the multiplication circuit.
[0004]
If the multiplicand is X and the multiplier is Y, the product Z is expressed as X * Y. Here, when Y is expressed in two's complement, Z is expressed by the following equation.
[0005]
[Expression 1]
Figure 0003940564
[0006]
In the above equation (1), y 2k , y 2k + 1 , y 2k + 2 are adjacent 3-bit data in the multiplier Y, and code data is generated from the 3-bit data using an encoding circuit, The generated code data and the multiplicand X are multiplied by the partial product generation circuit to generate a partial product, and all partial products are added by the partial product addition circuit, whereby an X * Y operation is performed.
[0007]
FIG. 6 is a block diagram showing a schematic configuration of a conventional multiplication circuit using a second-order Booth algorithm. As described above, the multiplication circuit using the Booth algorithm is composed of a partial product generation circuit, an encoding circuit, and a partial product addition circuit, but the partial product addition circuit is not shown in FIG.
[0008]
As shown in the figure, the partial product generation circuit 11 is composed of a plurality of multiplier cells 13 arranged in a column, and each of the partial product generation circuit 11 and the encoding circuit 12 is paired. A pair of encoding circuits 12 are arranged adjacent to each other to form a single-stage circuit, and a plurality of stages of circuits are arranged in the vertical direction by the required number of stages. It is assumed that the multiplicand X and the multiplier Y are respectively input from above the plurality of stages of circuits.
[0009]
For example, “0”, y 1 , y 2 are input as 3-bit multiplier data to the encoding circuit 12 of the circuit arranged at the top in the figure, and the code obtained by encoding the 3-bit multiplier data Data is input in parallel to a plurality of multiplier cells 13 in the corresponding partial product generation circuit 11 to generate a partial product. Similarly, y 2 , y 3 , and y 4 are input as 3-bit multiplier data to the encoding circuit 12 of the circuit arranged at the second stage, and further, the encoding circuit 12 of the circuit arranged at the third stage is input to the encoding circuit 12 of the circuit arranged at the third stage. Y 4 , y 5 , and y 6 are input as 3-bit multiplier data, and code data obtained by encoding these 3-bit multiplier data are respectively input to a plurality of multiplier cells 13 in the corresponding partial product generation circuit 11. Partial products are generated by parallel input.
[0010]
That is, when the secondary Booth algorithm is used, the multiplier data is input to the encoding circuit 12 at each stage in a state where 1 bit overlaps between two encoding circuits adjacent in the vertical direction. .
[0011]
By the way, in the conventional multiplication circuit, as shown in the figure, in each stage circuit composed of the partial product generation circuit 11 and the encoding circuit 12, all the encoding circuits 12 are arranged adjacent to the right side of the partial product generation circuit 11. Yes.
[0012]
However, in the conventional multiplication circuit having the above-described configuration, it is necessary to transmit the n-bit multiplier Y to the encoding circuit 12 arranged on the right side of each partial product generation circuit 11, and as the number of bits of the multiplier Y increases, the number increases. There is a problem that a wiring region having a wide multiplier Y is required.
[0013]
Further, as shown in FIG. 7, in a circuit including an encoding circuit 12 to which three data y n-2 , y n-1 , y n on the MSB side of the n-bit multiplier Y are input, The multiplier data is routed to the position of the encoding circuit 12 outside the circuit composed of the partial product generation circuit 11 and the encoding circuit 12, and the result of encoding the data is the multiplier cell on the MSB side of the partial product generation circuit 11. Clearly redundant data movement occurs that is provided. As a result, there is a problem that the time required for partial product generation is increased.
[0014]
Here, the case where the Booth encoding circuit 12 is arranged on the right side of the partial product generation circuit 11 has been described as a conventional example, but conversely, it is also possible to arrange the encoding circuit 12 on the left side. It is necessary to route to the encoding circuit 12 arranged on the left side, and the same problem occurs after the left and right are reversed.
[0015]
[Problems to be solved by the invention]
In this way, in the conventional multiplication circuit, all the encoding circuits paired with the partial product generation circuit are arranged adjacent to the partial product generation circuit, so that the wiring length for transmitting the multiplier data becomes long and the wiring area The problem of increasing is caused.
[0016]
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a multiplication circuit capable of reducing the wiring area by shortening the wiring length of the wiring for transmitting the multiplier data. It is.
[0017]
[Means for Solving the Problems]
A multiplication circuit according to the present invention is provided corresponding to a plurality of encoding circuits that receive a part of bit data of multiplier data composed of a plurality of bits of data and output code data, and the plurality of encoding circuits. , Multiplicand data composed of a plurality of multiplier cells arranged in a row, multi-bit data input from the same direction as or opposite to the multiplier data, and code data output from the corresponding encoding circuit A plurality of partial product generation circuits that generate partial products from the above, and a partial product addition circuit that adds the partial products generated by the plurality of partial product generation circuits and outputs a multiplication result. The encoding circuit is characterized in that it is arranged at a position that matches the bit position of the input multiplier data.
[0018]
Accordingly, a part of the plurality of encoding circuits is arranged at a position adjacent to the corresponding partial product generation circuit, and the other part is inserted in the middle of the arrangement of the plurality of multiplier cells in the corresponding partial product generation circuit. Is done.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0020]
FIG. 1 is a block diagram showing a configuration of a multiplication circuit according to an embodiment of the present invention. In the present embodiment, a case where a secondary booth algorithm is used as in the conventional case will be described, but the same applies to a case where a higher order booth algorithm such as a third order or a fourth order is used. be able to.
[0021]
This multiplication circuit is broadly divided into a multiplication array 10 that includes a partial product generation circuit 11 and an encoding circuit 12 and generates a plurality of partial products, and adds a plurality of partial products generated by the multiplication array 10 to obtain a multiplication result. And a partial product adding circuit 20 for outputting.
[0022]
The partial product generation circuit 11 is composed of a plurality of multiplier cells 13 arranged in a line, and each of the partial product generation circuit 11 and the encoding circuit 12 is paired to form a one-stage circuit. A plurality of stages of circuits are arranged in the vertical direction by the required number of stages.
[0023]
A multiplicand X consisting of m-bit data and a multiplier Y consisting of n-bit data are respectively input from above a plurality of stages of circuits constituting the multiplication array 10. Note that the wiring for transmitting the LSB side bit data of each of the multiplicand X and the multiplier Y is arranged on the right side in the figure, and conversely, the wiring for transmitting the MSB side bit data is arranged on the left side in the figure. And
[0024]
Here, the circuit comprising the partial product generation circuit 11 and the encoding circuit 12 of each stage constituting the multiplication array 10 is arranged in consideration of the weighting of the partial products generated by the partial product generation circuit 11, but is arranged as it is. Then, in the case of an X * Y multiplication circuit with a multiplicand X of m bits and a multiplier Y of n bits, (m + n) bits are required as the bit width of the entire circuit, resulting in a horizontally long circuit as a whole.
[0025]
Therefore, when there is an area limitation, as shown in FIG. 1, the circuit composed of the partial product generation circuit 11 and the encoding circuit 12 is divided into blocks for a certain amount of blocks (four circuits in this example). A method is used in which a circuit composed of the partial product generation circuit 11 and the encoding circuit 12 is shifted and arranged in the right direction in the drawing for each block.
[0026]
Furthermore, in each of the blocks B1, B2,... Br, the encoding circuit 12 is a 3-bit multiplier so as to be closest to the wiring for transmitting the 3-bit multiplier data of the multiplier data Y input to the encoding circuit 12. It is placed at a position that matches the bit position of the data. For example, in the first block B1 located at the top in the drawing, each encoding circuit 12 is arranged adjacent to the right side of the corresponding partial product generation circuit 11. In the second block B2 located in the lower stage of the first block B1, each encoding circuit 12 counts 6 from the right side among the plurality of multiplier cells 13 arranged in the corresponding partial product generation circuit 11. The seventh and seventh multiplier cells 13 are inserted. Similarly, in each block, each encoding circuit 12 has a plurality of multipliers in the corresponding partial product generation circuit 11 so as to be closest to the wiring for transmitting the 3-bit multiplier data input thereto. It is inserted and arranged in the middle of the array of cells 13. Incidentally, in the r-th block Br at the bottom, each encoding circuit 12 has the second and third counting from the left side among the plurality of multiplier cells 13 arranged in the corresponding partial product generation circuit 11. Insertion is arranged between the multiplier cells 13.
[0027]
The wiring of the multiplicand X exemplifies only x 1 ~x 7. The multiplicand X is input in parallel to a plurality of multiplier cells 13 in each partial product generation circuit 11.
[0028]
Since the encoding circuit 12 using the secondary Booth algorithm is provided, the multiplier cell 13 in the partial product generation circuit 11 located on the higher bit side than the encoding circuit 12 is as shown in FIG. Each output is shifted by 2 bits to the lower bit side (2 bit shift).
[0029]
In the multiplication circuit configured as described above, the partial product output from the partial product generation circuit 11 at each stage is shifted by the amount of insertion of the secondary Booth encoding circuit 12 in the partial product generation circuit 11. Thereafter, the desired multiplication result can be obtained by adding the partial products using the partial product adding circuit 20 as in the conventional multiplication circuit.
[0030]
In the multiplication circuit of the above embodiment, each encoding circuit 12 is arranged at a position that matches the bit position of the input multiplier data so as to be closest to the wiring that transmits the 3-bit multiplier data input thereto. Has been.
[0031]
For this reason, it is not necessary to route the wiring of the multiplier data long and input it to each encoding circuit 12 as in the prior art. As a result, even if the number of bits of the multiplier Y is increased, a wide wiring area is not necessary for the wiring of the multiplier Y, and the wiring area of the multiplier Y can be reduced as compared with the related art.
[0032]
Further, since it is not necessary to route the multiplier data wiring for a long time as in the prior art, redundant data movement can be eliminated, and an increase in time required for partial product generation can be prevented.
[0033]
FIG. 3 is a diagram illustrating an example of an encoding state of the encoding circuit 12 in FIG. “Multiple” in FIG. 3 indicates a numerical value for multiplying the multiplicand X based on 3-bit multiplier data (y 2k , y 2k + 1 , y 2k + 2 ). 3 is represented by 3-bit code data X, 2X, NEG. For example, when y 2k = y 2k + 1 = “0” and y 2k + 2 = “1” in the second stage in FIG. 3, the multiple is −2, and this multiple sets the code data 2X to “1”. By double, the code data NEG is set to “1” to indicate that the multiple is a negative value.
[0034]
FIG. 4 shows a specific circuit example of the encoding circuit 12 that realizes the encoding state shown in FIG. Multiplier data y 2k and y 2k + 1 are input to an exclusive OR gate 31, and code data X is output from the exclusive OR gate 31. Further, multiplier data y 2k, y 2k + 1 is directly and multiplier data y 2k + 2 in the inverted data are input to the AND gate 32, further multiplier data y 2k, y 2k + 1 each inverted data and multiplier data y 2k +2 is input to the AND gate 33, the outputs of the AND gates 32 and 33 are input to the OR gate 34, and the code data 2X is output from the OR gate 34. The multiplier data y 2k + 2 is output as it is as code data NEG.
[0035]
FIG. 5 is a circuit diagram showing a configuration example of one multiplier cell 13 in the partial product generation circuit 11 in FIG. The multiplier cell 13 is composed of two AND gates 41 and 42, and one OR gate 43 and an exclusive OR gate 44. The AND gate 41 receives multiplicand data xj-1 and code data 2X. The AND gate 42 receives the multiplicand data xj and the code data X. The outputs of the AND gates 41 and 42 are input to an OR gate 43, and the output of the OR gate 43 is input to an exclusive OR gate 44 together with code data NEG. Then, a partial product for one bit is output from the exclusive OR gate 44.
[0036]
Note that the encoding state of the encoding circuit 12 shown in FIG. 3, the specific circuit configuration of the encoding circuit 12 shown in FIG. 4, and the specific circuit configuration of the multiplier cell 13 shown in FIG. 5 are merely examples. It does not necessarily have to be this way.
[0037]
In the above-described embodiment, the case where the multiplicand X and the multiplier Y are input from above the circuits of the plurality of stages constituting the multiplication array 10 has been described. For example, the multiplicand X is input from above and the multiplier Y is input. As is inputted from below, the wiring may be changed so that the multiplicand X and the multiplier Y are inputted from opposite directions.
[0038]
Further, in the above-described embodiment, as shown in FIG. 1, the case where the encoding circuits 12 are all arranged at the same position with respect to the partial product generation circuit 11 in each block has been described. You may make it arrange | position to. In short, the encoding circuit 12 may be arranged at a position that matches the bit position of the 3-bit multiplier data that is input to each.
[0039]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a multiplication circuit capable of reducing the wiring area by shortening the wiring length of the wiring for transmitting multiplier data.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a multiplication circuit according to an embodiment of the present invention.
2 is a circuit diagram showing an extracted circuit composed of a partial product generation circuit and an encoding circuit for one stage in the multiplication circuit of FIG. 1;
FIG. 3 is a view showing an example of an encoding state of the encoding circuit in FIG. 1;
4 is a diagram showing a specific circuit example of an encoding circuit that realizes the encoding state shown in FIG. 3; FIG.
5 is a circuit diagram showing a configuration example for one multiplier cell in the partial product generation circuit in FIG. 1; FIG.
FIG. 6 is a block diagram showing a configuration of a conventional multiplication circuit.
7 is a circuit diagram showing an extracted circuit composed of a partial product generation circuit and an encoding circuit for one stage in the conventional multiplication circuit of FIG. 6;
[Explanation of symbols]
10 ... multiplication array,
11 ... Partial product generation circuit,
12 ... Encoding circuit,
13 ... multiplier cell,
20: Partial product addition circuit.

Claims (3)

複数ビットのデータからなる乗数データのうちそれぞれ一部のビットのデータが入力されて符号データを出力する複数のエンコード回路と、
上記複数のエンコード回路に対応して設けられ、それぞれ列状に配列された複数の乗算器セルからなり、上記乗数データと同一方向もしくは対向する方向から入力される複数ビットのデータからなる被乗数データと上記対応するエンコード回路から出力される符号データとから部分積を生成する複数の部分積生成回路と、
上記複数の部分積生成回路で生成された部分積を加算して乗算結果を出力する部分積加算回路とを具備し、
上記複数の各エンコード回路は、入力される乗数データのビット位置に適合する位置に配置されていることを特徴とする乗算回路。
A plurality of encoding circuits for outputting code data by inputting a part of bit data among multiplier data composed of a plurality of bits;
Multiplicand data composed of a plurality of multiplier cells provided corresponding to the plurality of encoding circuits and arranged in rows, respectively, and composed of a plurality of bits of data input from the same direction as or opposite to the multiplier data; A plurality of partial product generation circuits for generating partial products from code data output from the corresponding encoding circuit;
A partial product addition circuit for adding the partial products generated by the plurality of partial product generation circuits and outputting a multiplication result,
Each of the plurality of encoding circuits is arranged at a position suitable for a bit position of input multiplier data.
前記複数のエンコード回路のうち、一部は対応する前記部分積生成回路に隣接する位置に配置され、一部は対応する前記部分積生成回路の前記複数の乗算器セルの配列の途中に挿入配置されていることを特徴する請求項1記載の乗算回路。Among the plurality of encoding circuits, a part is arranged at a position adjacent to the corresponding partial product generation circuit, and a part is inserted in the middle of the arrangement of the plurality of multiplier cells of the corresponding partial product generation circuit The multiplication circuit according to claim 1, wherein: 前記複数の各エンコード回路がブース(Booth)のエンコード回路であることを特徴する請求項1または2記載の乗算回路。3. The multiplication circuit according to claim 1, wherein each of the plurality of encoding circuits is a Booth encoding circuit.
JP2001093666A 2001-03-28 2001-03-28 Multiplication circuit Expired - Fee Related JP3940564B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001093666A JP3940564B2 (en) 2001-03-28 2001-03-28 Multiplication circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001093666A JP3940564B2 (en) 2001-03-28 2001-03-28 Multiplication circuit

Publications (2)

Publication Number Publication Date
JP2002287955A JP2002287955A (en) 2002-10-04
JP3940564B2 true JP3940564B2 (en) 2007-07-04

Family

ID=18947974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001093666A Expired - Fee Related JP3940564B2 (en) 2001-03-28 2001-03-28 Multiplication circuit

Country Status (1)

Country Link
JP (1) JP3940564B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5261738B2 (en) * 2009-01-15 2013-08-14 国立大学法人広島大学 Semiconductor device

Also Published As

Publication number Publication date
JP2002287955A (en) 2002-10-04

Similar Documents

Publication Publication Date Title
KR940002479B1 (en) High speed parallel multiplier
US6029187A (en) Fast regular multiplier architecture
Huang et al. High-performance low-power left-to-right array multiplier design
KR100449963B1 (en) An adder circuit and a multiplier circuit including the adder circuit
GB2365636A (en) Parallel counter and multiplication logic circuit
EP1471420A2 (en) Montgomery modular multiplier and method thereof using carry save addition
JPH0456339B2 (en)
US7590917B2 (en) Parameter generation for interleavers
CN115344528A (en) In-memory computing macro device and electronic device
JP2024509062A (en) Multipliers and adders in systolic arrays
Jaberipur et al. Unified Approach to the Design of Modulo-(2^ n+/-1) Adders Based on Signed-LSB Representation of Residues
US20020103840A1 (en) Apparatus and method for digital multiplication using redundant binary arithmetic
JP3940564B2 (en) Multiplication circuit
US4727507A (en) Multiplication circuit using a multiplier and a carry propagating adder
KR20210027878A (en) Arithmetic circuit, and neural processing unit and electronic apparatus including the same
US6183122B1 (en) Multiplier sign extension
JPH08107366A (en) Inversion circuit of finite field
US7111033B2 (en) Carry save adders
US7620677B2 (en) 4:2 Carry save adder and 4:2 carry save adding method
US20070180014A1 (en) Sparce-redundant fixed point arithmetic modules
Karunakaran et al. Exploration on power delay product of various VLSI multiplier architectures
US12362008B2 (en) Compute-In-Memory architecture using look-up tables
US6981013B1 (en) Low power, minimal area tap multiplier
JP4230234B2 (en) Parity prediction circuit for full adder
Deb et al. FPGA based Matrix Multiplication Accelerator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050311

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070402

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

Free format text: PAYMENT UNTIL: 20100406

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees