JPS6238938A - ROM type multiplier - Google Patents
ROM type multiplierInfo
- Publication number
- JPS6238938A JPS6238938A JP60179007A JP17900785A JPS6238938A JP S6238938 A JPS6238938 A JP S6238938A JP 60179007 A JP60179007 A JP 60179007A JP 17900785 A JP17900785 A JP 17900785A JP S6238938 A JPS6238938 A JP S6238938A
- Authority
- JP
- Japan
- Prior art keywords
- rom
- partial
- multiplier
- product
- capacity
- 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.)
- Pending
Links
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、ROM’i使用して乗算器を実現するRO
M形乗形容算器り、中でもROMg量を大幅に削減した
ROM形乗形容算器するものである。[Detailed Description of the Invention] [Industrial Application Field] This invention provides an RO that implements a multiplier using ROM'i.
This is a ROM type multiplication type container with a significantly reduced amount of ROMg among M type multiplication types.
第4図は最も単純なROM形乗形容算器す図である。図
において、2連符号の被乗数Xと乗数YとがROM (
’1oo)のアドレス端子に接続され、アドレ ゛
ス値に対応する積Pが所定のアクセス時間後に出力端子
から得られる。すなわち、p=x−yの積結果がROM
(11oo)にデータとして収納されており、被乗数
Xと乗数YとはROMのアドレス信号として入力する構
成となっている。FIG. 4 is a diagram of the simplest ROM type multiplicative container. In the figure, the multiplicand X and multiplier Y of the double code are ROM (
'1oo), and the product P corresponding to the address value is obtained from the output terminal after a predetermined access time. In other words, the product result of p=x-y is stored in ROM
(11oo) as data, and the multiplicand X and multiplier Y are configured to be input as ROM address signals.
例えば、X=233=ゝゝ11101001”とY=1
91:=010111111”との積Pを得る場合、Y
を下位アドレスとしx全上位アドレスとした合成アドレ
ス=″1110100110111111“をROMの
アドレス端子(16本)に入力する。このとき、ROM
にはあらかじめp=x−yのすべての乗算結果を16ビ
ツトで収納してあれば、積P=X−Y=’ゝ10101
10111010111″を得ることができる。For example, X=233=ゝゝ11101001'' and Y=1
91:=010111111”, Y
A composite address = ``1110100110111111'' where is the lower address and x all upper addresses is input to the address terminals (16) of the ROM. At this time, the ROM
If all the multiplication results of p=x-y are stored in 16 bits in advance, the product P=X-Y='ゝ10101
10111010111'' can be obtained.
これがROM形乗形容算器作概要である。This is an outline of the operation of a ROM type multiplicative container.
ところで、波乗&X及び乗数Yが8ビツト(0≦X≦2
55. O≦Y≦255)のとき、出力データは16ビ
ツトになシ、アドレス数は211 ×28 == 2t
6となる。従つで、総ROM容量T、は、T、 = 1
6 X2′6=10485’76ビツトとなる。これは
1Mビットであり、ROM容量としては大きな数値であ
る。次に、X及びYが16ビツトのときのROM容量容
量上求めれば、Tb−32ビツトX2 X2 =2
となる。この数値は実現不可能である。By the way, the wave &X and the multiplier Y are 8 bits (0≦X≦2
55. When O≦Y≦255), the output data is 16 bits and the number of addresses is 211 × 28 == 2t.
It becomes 6. Therefore, the total ROM capacity T, is T, = 1
6X2'6=10485'76 bits. This is 1M bits, which is a large value for a ROM capacity. Next, if we calculate from the ROM capacity when X and Y are 16 bits, Tb - 32 bits X2 X2 = 2
becomes. This number is not achievable.
従来のROM形乗算器は以上のように構成されているの
で、直観的で使用しやすい回路でありながら、そのRO
M容量が膨大であるので、実現できないか、もしくは実
現できても実用的でない問題点があった。Since the conventional ROM type multiplier is configured as described above, it is an intuitive and easy-to-use circuit, but its RO
Since the M capacity is enormous, there is a problem that it cannot be realized, or even if it can be realized, it is not practical.
この発明は上記のような問題点を解消するためになされ
たもので、ROM容量を大幅に削減した実用的なROM
形乗算器を得ることを目的とする。This invention was made to solve the above problems, and it is a practical ROM with significantly reduced ROM capacity.
The purpose is to obtain a shaped multiplier.
この発明に係るROM形乗算器では、被乗数X及び乗数
Yの少なくとも一方の数値を複数個の部分数値に分割し
、Xの各部分数値とYの各部分数値とのすべての組み合
わせによる部分積をそれぞれROMで求め、これらの部
分積を加算器で合成加算して、積P=X−Yi求めるよ
うにしたものでおる。In the ROM type multiplier according to the present invention, at least one of the multiplicands X and the multiplier Y is divided into a plurality of partial values, and partial products of all combinations of each partial value of X and each partial value of Y are Each of these partial products is obtained using a ROM, and these partial products are combined and added using an adder to obtain the product P=X-Yi.
この発明では被乗数X及び乗数Yの数値をそれぞれ部分
数値に分割し、これらを用いて部分積をROMで求める
ようにしたので、ROMに要求されるビット容量は大幅
に減少する。In this invention, the numerical values of the multiplicand X and the multiplier Y are each divided into partial numerical values, and these are used to calculate the partial products in the ROM, so that the bit capacity required for the ROM is significantly reduced.
第1図はこの発明の一実施例を示すブロック構成図で、
被乗数X及び乗数Yがともに8ビツトの場合で
X ” X 7 ・2 ”Xa ・2 +X s ・2
+X 4 ・2 ’ +Xs ・2””)[2・22
”)CI’ ” +X6=(x 712”+xa ・2
”+x6 ・2+X4) ・2’”(xa ・23+X
2 ・2”+x 1・2+XQ)=X −2’+X
の形で表わし、同様にQ L
Y−YU”’ +YL −c表りす。FIG. 1 is a block diagram showing an embodiment of the present invention.
When the multiplicand X and the multiplier Y are both 8 bits,
+X 4 ・2' +Xs ・2””) [2・22
")CI'" +X6=(x 712"+xa ・2
"+x6 ・2+X4) ・2'"(xa ・23+X
2 ・2”+x 1・2+XQ)=X −2'+X
Similarly, it is expressed in the form Q L Y-YU"' +YL-c.
そして、積p=x−yは
P=X−Y=XU4.・28+XtI+YL−2’+X
L−Y、+2’+XL−YLとなQ14つの部分積X[
1”[1,XC1”L#XL”’II及びXl・Yを求
めてそれぞれ所要の桁上げをして加算すればよい。And the product p=x-y is P=X-Y=XU4.・28+XtI+YL-2'+X
Q14 partial products X[
1''[1,
第1図において、第1のROM(以下[ROM IJと
いう。) (101)〜第4のROM(ROM4)(1
04)はそれぞれ部分積X、・Yワ、XII−YL、X
L−YU、x、・YLのデータを収納したROMであり
、それぞれのROMアドレス端子には4ビツトのXLI
、xL、YU、YLが図のように合成アドレスとして結
線されている。ROM1個当シのアドレス数は2−25
6であり、部分積出力データはそれぞれ8ビツトである
。これらの部分積出力ブータラx。−YUのデータは8
ビツトの桁上げを実行し、X、・YL及びXL−YUは
4ビツトの桁上げを実行してxL ’ YLと全加算器
(li’UI、L ADDER)(105)で加算を実
行すれば積Pが得られる。In FIG. 1, a first ROM (hereinafter referred to as ROM IJ) (101) to a fourth ROM (ROM4) (1
04) are the partial products X, ・Ywa, XII-YL, and X, respectively.
This is a ROM that stores data of L-YU, x, ・YL, and each ROM address terminal has a 4-bit XLI
, xL, YU, and YL are connected as a composite address as shown in the figure. Number of addresses per ROM is 2-25
6, and each partial product output data is 8 bits. These partial products output bootara x. -YU's data is 8
Execute a bit carry, X, YL and XL-YU execute a 4-bit carry, and add xL'YL and the full adder (li'UI, L ADDER) (105). The product P is obtained.
この場合のROM容量容量上、4個合計で、’I’ =
2’X2’X(8ビツト)×4C個)=8192ピット
となる。これは従来比で、1/(12B)の数値であり
、大幅なROM容量の削減が達成できる。In this case, due to the ROM capacity, the total of 4 pieces is 'I' =
2'X2'X (8 bits) x 4C) = 8192 pits. This is a value of 1/(12B) compared to the conventional one, and a significant reduction in ROM capacity can be achieved.
次に実際の数値で検証する。Next, verify with actual numbers.
X=233. Y−191の乗算を仮定すれば、XU=
8(1)+ 4(1)+ 2(1)+ 1 (0)
= 14XL=8(1)+4(0)+2(0)+4(1
)=9yO= 8(1)+ 4(o)+ 2(1)+
Ut)= 11YL= 8(1) +4(1)+ 2(
1)+ 1(1)二15こむで、(1)=ゝゝH″=ゝ
ゝ3−1/(o)=111// にIt□ l/
となり、XU−YU=14X11=154 、 XU−
YL=14X15=2.10 、X −Y =9X1
1=99 、XL−YL=9X15=135
・U
がROMの出力データとして8ビツトで得られる。X=233. Assuming multiplication of Y-191, XU=
8 (1) + 4 (1) + 2 (1) + 1 (0)
= 14XL=8(1)+4(0)+2(0)+4(1
)=9yO=8(1)+4(o)+2(1)+
Ut) = 11YL = 8(1) +4(1)+2(
1) + 1 (1) 215 times, (1)=ゝゝH''=ゝゝ3-1/(o)=111// becomes It□ l/, XU-YU=14X11=154, XU −
YL=14X15=2.10, X-Y=9X1
1=99, XL-YL=9X15=135
・U can be obtained as 8-bit ROM output data.
とtLら02進符号’ili’UL、L ADDER(
lI19テ、/Jl算スレば、積Pが得られる。この課
程を次に示す。and tL et al. 0 binary code 'ili' UL, L ADDER (
If you calculate lI19te, /Jl, you will get the product P. This process is shown below.
XtI−YO= 10011010←8ビツトシ
フト−X −Y : 11010010←2
2.−X L−YtI =
01100 01 1+−、、ト−XL−YL=+)
10000111P =
1010110111010111積Pの2連符号は
P = 2” (1) + 2 ”@+ 213(1)
+ 212(0) + 2 ”(1)+2”(1)+
2’(0) + 28(1)+ 27(1)+ 26(
1)+ 25(o)+ 2’(1)−1−z3(o)+
2”(1)+ 2’(1)+2°(1)となる。これ
は10進表示でP=44503となシ、P=X−Y=2
33X191=44503と一致する。従って、本発明
のアルゴリズムは成立する。第1図の回路は、同一のR
OM’i4個並列に使用する構成となっているが、RO
M’i1個だけ使用し4回のアクセフ、f実行して順次
にxU−yU、 x、、yL、 xL−yff、 xL
−x。XtI-YO= 10011010←8 bit shift-X-Y: 11010010←2
2. −X L−YtI =
01100 01 1+-, XL-YL=+)
10000111P =
1010110111010111 The double code of the product P is P = 2” (1) + 2”@+ 213 (1)
+ 212 (0) + 2 ” (1) + 2” (1) +
2' (0) + 28 (1) + 27 (1) + 26 (
1) + 25(o)+ 2'(1)-1-z3(o)+
2"(1) + 2'(1) + 2°(1). This is expressed as P=44503 in decimal notation, P=X-Y=2
Matches 33X191=44503. Therefore, the algorithm of the present invention is valid. The circuit of FIG.
The configuration is to use four OM'i in parallel, but the RO
Using only one M'i, execute 4 access fs and sequentially xU-yU, x,, yL, xL-yff, xL
-x.
を求める方式でもROM形乗算器が実現できる。第2図
にこの方式によるこの発明の他の実施例を示す。図にお
いて、(106)はxII・YUj x[1”LI X
L”ITIXL−xLの合成アドレスを生成するセレク
ター、(107)はROM出力データを一時記憶するD
FE’、 (108)はセレクター(106)とDF
F(107)とを同期させて順次に4回のROMアクセ
スを実行させる制御回路である。その動作は、まずれ・
YLの合成アドレス信号がセレクター(1Oa )の出
力に選択され、このアドレス値に対応したデータが所定
のアクセス時間後にROM l (lol)から出力さ
れ、この出力データをD F F (10’7)のD]
i’li’lに記憶させる。A ROM type multiplier can also be realized using the method of determining . FIG. 2 shows another embodiment of the invention based on this system. In the figure, (106) is xII・YUj x[1”LI
Selector (107) that generates the composite address of L”ITIXL-xL is D that temporarily stores ROM output data.
FE', (108) is the selector (106) and DF
This is a control circuit that synchronizes with F (107) and sequentially executes four ROM accesses. The operation is first
The YL composite address signal is selected as the output of the selector (1Oa), and data corresponding to this address value is output from the ROM l (lol) after a predetermined access time, and this output data is used as D F F (10'7). D]
i'li'l memorize it.
同様にしてxL”Uの値’1DFF2に、xU ’ Y
Lの値をDF1i’3に記憶させ、最後にxU・YUの
値を得る。これらのデータをFULL ADDER(1
05)に入力して合成式に従って加算すれは、求める値
が得られる〇の容量で乗算器が実現できる。このとき、
同一のROM14回アクセスするため、積P’ilH得
るまでの時間は第1図のそれの約4倍だけ必要となる。Similarly, the value of xL"U is set to '1DFF2, xU 'Y
The value of L is stored in DF1i'3, and finally the values of xU and YU are obtained. These data are FULL ADDER (1
05) and add them according to the composition formula, a multiplier can be realized with a capacity of 〇 that can obtain the desired value. At this time,
Since the same ROM is accessed 14 times, the time required to obtain the product P'ilH is approximately four times that in FIG. 1.
今まで、8×8ビット乗算器について説明してきたが、
次に、nXnビットをそれぞれNとMとで分割して部分
積の生成を行い、部分積の合成加算で積Pを求める場合
の理論的なROM容量について説明する。第3図に分割
の様子を示す。波乗′#、XをN分割、乗数Y′f:M
分割すると仮定する。このときの]分割アドレス空間は
21 X 2Mのアドレス数で構成され、1アドレス当
シのデータービット数は(−+−)となる。1分割アド
レス空間のH−M倍M
が全空間になるので、必要ROM容量T、は、T、=(
2irxaM)x(−+−)X(N−M)M
となる。この式に、n=8.N=M=2f代入すれは、
T、=(2X2 )X(4+4)X(4)=2 =
8192ビットとなシ、第1図の実施例の説明中の数値
と一致する。Until now, we have explained about the 8x8 bit multiplier, but
Next, a description will be given of the theoretical ROM capacity when nXn bits are divided into N and M to generate partial products, and product P is obtained by combining and adding the partial products. Figure 3 shows the division. Wave multiplier '#, divide X into N, multiplier Y'f: M
Assume that it is divided. At this time, the divided address space consists of 21×2M addresses, and the number of data bits per address is (-+-). Since the total space is HM times M of one divided address space, the required ROM capacity T, is T, = (
2irxaM)x(-+-)X(N-M)M. In this equation, n=8. Substituting N=M=2f,
T, =(2X2)X(4+4)X(4)=2=
8192 bits, which corresponds to the numerical value in the description of the embodiment of FIG.
ここで、n=46.N=M=4の条件では、T、=(2
X2 )X(4+4)X16=32768ビツトになる
。従って、32.’768キロビットのROM容量で1
6X16ビツトのROM形乗算器が実現できることにな
る。もちろん、27112図に示した回路構成を16ビ
ツト対応に拡張させれば、2k bitのROM容量で
実現できるが、乗算速度が遅くなる欠点をもつ。Here, n=46. Under the condition N=M=4, T,=(2
X2)X(4+4)X16=32768 bits. Therefore, 32. 1 with a ROM capacity of 768 kilobits
A 6×16 bit ROM type multiplier can be realized. Of course, if the circuit configuration shown in FIG. 27112 is expanded to support 16 bits, it can be realized with a ROM capacity of 2 kbits, but this has the disadvantage of slow multiplication speed.
以上に説明したように、nXnビット乗算器を、
ROMで実現することができるが、ROM容量を増大
させればランダム・ロジック回路を削減できると共に高
速乗算速度を得ることができる。一方、ROM容量を減
少させればランダムのロジック回路が増加し乗算速度が
遅くなる特性をもつ。従って、使用目的に応じてROM
容量を決定する必要がある。As explained above, the nXn bit multiplier is
Although it can be implemented with a ROM, increasing the ROM capacity can reduce random logic circuits and provide high multiplication speeds. On the other hand, if the ROM capacity is reduced, the number of random logic circuits will increase and the multiplication speed will become slower. Therefore, depending on the purpose of use, ROM
Capacity needs to be determined.
なお、上記実施例ではアドレス数を4ピット単位で分割
しているが、目的、使用デバイスの特性および回路規模
、乗算速度などを考慮して任意に分割すればよい。In the above embodiment, the number of addresses is divided into units of 4 pits, but it may be divided arbitrarily in consideration of the purpose, characteristics of the device used, circuit scale, multiplication speed, etc.
また、第2図の変形としてDI”F(10′7)とFU
LL(9) 、、1ADDE
R(105)とを累積加算器に置換してもよい。Also, as a modification of Fig. 2, DI"F (10'7) and FU
LL(9) ,,1ADDE
R(105) may be replaced with an accumulative adder.
最後に、nXnビット乗算器に限らず、一般的なα×β
ビット乗算器も本発明の主旨ea用して同様に実現でき
る。Finally, not limited to nXn bit multipliers, but general α×β
A bit multiplier can also be similarly implemented using the gist of the present invention.
以上のように、この発明によれば被乗数Xおよび乗数Y
の少なくとも一方を複数の数値の和に分解し、分解した
複数の数値の組合せの数だけROMを用いて部分積を求
め、最後に複数の部分積の合成加算を実行して積p=x
−yを得る構成としたので、ROM容量の大幅な削減が
達成でき、実用的な’ROMROM乗算器れる効果があ
る。As described above, according to the present invention, the multiplicand X and the multiplier Y
decompose at least one of them into the sum of multiple numbers, use ROM to find partial products as many times as there are combinations of the decomposed multiple numbers, and finally perform synthetic addition of the multiple partial products to obtain the product p=x
-y, it is possible to achieve a significant reduction in ROM capacity, which has the effect of making it a practical ROMM multiplier.
第1図はこの発明の一実施例になるROM形乗算器を示
すブロック構成図、第2図はこの発明の他の実施例を示
すブロック構成図、第3図はこの発明における部分積へ
の分割の一形態を示す図、第4図は従来のROM乗算器
を示すブロック図でおる。
図において、(101)〜(105)はROM、 (1
05)は、、 (10
加算器である。
なお、図中同一符号は同一または相当部分を示す。FIG. 1 is a block diagram showing a ROM type multiplier according to an embodiment of the invention, FIG. 2 is a block diagram showing another embodiment of the invention, and FIG. FIG. 4, which shows one form of division, is a block diagram showing a conventional ROM multiplier. In the figure, (101) to (105) are ROM, (1
05) is an adder. Note that the same reference numerals in the figures indicate the same or corresponding parts.
Claims (1)
部分数値の和の形に分解し、上記被乗数の各部分数値と
上記乗数の各部分数値とのすべての組合わせで得られる
データをアドレス信号としてROMに入力し、あらかじ
め各アドレスデータに対応して収納されている上記アド
レス入力信号たる両部分数値の積を部分積として当該R
OMの出力データとして求め、これらの部分積を合成加
算して上記被乗数及び乗数の積を求めるようにしたこと
を特徴とするROM形乗算器。(1) Decompose the value of at least one of the multiplicand and the multiplier into the sum of multiple partial values, and send data obtained from all combinations of each partial value of the multiplicand and each partial value of the multiplier to an address signal. is input into the ROM as the address input signal, and the product of the partial numerical values of the address input signal stored in advance corresponding to each address data is used as the partial product to obtain the corresponding R.
A ROM-type multiplier characterized in that the product of the multiplicand and the multiplier is obtained by obtaining the output data of an OM and combining and adding these partial products.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60179007A JPS6238938A (en) | 1985-08-14 | 1985-08-14 | ROM type multiplier |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60179007A JPS6238938A (en) | 1985-08-14 | 1985-08-14 | ROM type multiplier |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6238938A true JPS6238938A (en) | 1987-02-19 |
Family
ID=16058481
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60179007A Pending JPS6238938A (en) | 1985-08-14 | 1985-08-14 | ROM type multiplier |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6238938A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0457112A (en) * | 1990-06-26 | 1992-02-24 | Mitsubishi Electric Corp | Arithmetic unit |
| US5617346A (en) * | 1994-06-07 | 1997-04-01 | Matsushita Electric Industrial Co., Ltd. | Multiplication device using semiconductor memory |
-
1985
- 1985-08-14 JP JP60179007A patent/JPS6238938A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0457112A (en) * | 1990-06-26 | 1992-02-24 | Mitsubishi Electric Corp | Arithmetic unit |
| US5617346A (en) * | 1994-06-07 | 1997-04-01 | Matsushita Electric Industrial Co., Ltd. | Multiplication device using semiconductor memory |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4555768A (en) | Digital signal processing system employing logarithms to multiply and divide | |
| US3670956A (en) | Digital binary multiplier employing sum of cross products technique | |
| CA2225899A1 (en) | A method and apparatus for finite field multiplication | |
| US4130878A (en) | Expandable 4 × 8 array multiplier | |
| US4745570A (en) | Binary multibit multiplier | |
| US4366549A (en) | Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one | |
| US5148381A (en) | One-dimensional interpolation circuit and method based on modification of a parallel multiplier | |
| CA1219955A (en) | Digital multiplying circuit | |
| JPH0713741A (en) | Alpha compositing calculator | |
| EP0034241B1 (en) | Non-recursive digital filter | |
| US4164022A (en) | Electronic digital arctangent computational apparatus | |
| JPS6238938A (en) | ROM type multiplier | |
| US5477479A (en) | Multiplying system having multi-stages for processing a digital signal based on the Booth's algorithm | |
| JPH02287874A (en) | Product sum arithmetic unit | |
| US5787031A (en) | Divider and multiplier/divider using said divider | |
| US4584561A (en) | Method of residue to analog conversion | |
| JPH0331005B2 (en) | ||
| JP2737933B2 (en) | Division device | |
| US4584563A (en) | Method of residue to analog conversion | |
| US5148388A (en) | 7 to 3 counter circuit | |
| JPH07134646A (en) | Multiplier for real number or complex number | |
| US4584564A (en) | Residue to analog converter | |
| US3805042A (en) | Multiplication of a binary-coded number having an even radix with a factor equal to half the radix | |
| JPS60138640A (en) | Writing system of register file | |
| US5367700A (en) | System for multiplying digital input data in a multiplier circuit |