JPH0612236A - Circuit and method for multiplication over integer - Google Patents

Circuit and method for multiplication over integer

Info

Publication number
JPH0612236A
JPH0612236A JP4167083A JP16708392A JPH0612236A JP H0612236 A JPH0612236 A JP H0612236A JP 4167083 A JP4167083 A JP 4167083A JP 16708392 A JP16708392 A JP 16708392A JP H0612236 A JPH0612236 A JP H0612236A
Authority
JP
Japan
Prior art keywords
bit
integer
bits
full adder
register
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.)
Granted
Application number
JP4167083A
Other languages
Japanese (ja)
Other versions
JP3210420B2 (en
Inventor
Keiichi Iwamura
恵市 岩村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP16708392A priority Critical patent/JP3210420B2/en
Priority to EP93304879A priority patent/EP0576262B1/en
Priority to DE69329260T priority patent/DE69329260T2/en
Publication of JPH0612236A publication Critical patent/JPH0612236A/en
Priority to US08/512,620 priority patent/US5524090A/en
Application granted granted Critical
Publication of JP3210420B2 publication Critical patent/JP3210420B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To provide the circuit and method for efficient multiplication considering carry by using a multiplier with the small number of digits in the case of dividing and calculating the large number of digits in the multiplication circuit. CONSTITUTION:In the circuit to multiply an integer A of (n) bits and an integer B of (hXm) bits while defining (h), (m) and (n) as positive integers, the (h) pieces of arithmetic elements composed of the multipliers of 1Xm bits, the full adders of (m) bits and the registers of (m+2) bits are provided corresponding to the (m) bits of the integer B, and the (m) bits of the integer B are multiplied to every one bits of the integer A and outputted to the (m) bit full adders. The full adders add the outputs of the respective multipliers, the high-order 3 bits of the (m) bit full adders at the low-order digit in the case of the last clock from the register at the low-order digit, and feedback value shifting the low-order m-1 bits of the added result at the full adders in the case of the last clock from the same register to the high-order digit by one digit and supplies the high-order 3 bits to the low-order 3 bits of the full adder at the high- order digit, and the content of the m+2 bit register (n) clock later is defined as a multiplied result A.B.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は整数上の乗算回路に関
し、特に小さな桁数の乗算器を用いて大きな桁数の乗算
を行う回路及びその方法に関するものである。本発明
は、大きな桁数の乗算を必要とするRSA暗号(池野信
一,小山謙二:“現代暗号学”,電子情報通信学会,1
986,6章)のような暗号化技術をはじめとして多く
の整数演算に利用することができる。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an integer multiplication circuit, and more particularly to a circuit and method for performing multiplication with a large number of digits by using a multiplier with a small number of digits. The present invention is an RSA cipher that requires multiplication of a large number of digits (Shinichi Ikeno, Kenji Koyama: "Modern Cryptography", IEICE, 1
It can be used for many integer operations, including encryption techniques such as 980, 6).

【0002】[0002]

【従来の技術】ゲートアレイの設計や基板設計におい
て、小さな桁数の整数上の乗算器は、セルライブラリや
TTL等が用意されているため手軽に構成することがで
きる。しかし、大きな桁数の乗算回路を実現しようとし
た場合には、セルライブラリ等がないので自分で設計し
なければならない。ところが、大きな桁数の乗算器を自
分で設計する場合、小さな桁数の乗算器の回路構成をそ
のまま拡張したのでは、回路構成が非常に複雑になり実
現が難しい。
2. Description of the Related Art In a gate array design or substrate design, a multiplier on an integer having a small number of digits can be easily constructed because a cell library, TTL, etc. are prepared. However, when trying to realize a multiplication circuit with a large number of digits, there is no cell library or the like, so it is necessary to design by yourself. However, in the case of designing a multiplier with a large number of digits by itself, if the circuit configuration of the multiplier with a small number of digits is expanded as it is, the circuit configuration becomes very complicated and difficult to realize.

【0003】また、入力値を所定ビツト毎に分割して複
数クロツクで乗算を行おうとする場合、入力値を多項式
と見なすと、ガロア体(宮川洋,岩垂好裕,今井秀樹:
“符号理論”,昭晃堂,1973,4章)のような桁上
がりのない演算系では、図2のような回路によつて乗算
が行われることが知られている。図2中、*Bi はB i
(i=0,…,n−1)を乗数としたmビツト*mビツ
トのガロア体上の乗算器、EXはmビツトのEXOR、
rはmビツトのレジスタである。
Further, the input value is divided into predetermined bits and duplicated.
If you want to multiply by a few clocks, you can
Considering that, Galois body (Hiro Miyakawa, Yoshihiro Iwadari, Hideki Imai:
Carriage such as "Code theory", Shokodo, 1973, Chapter 4)
In an arithmetic system without burrs, multiply by a circuit as shown in Fig. 2.
Is known to take place. In Figure 2, * Bi Is B i 
M bits * m bits with (i = 0, ..., N-1) as a multiplier
The multiplier on the Galois field of G, EX is the EXOR of m bits,
r is an m-bit register.

【0004】しかし、整数上の乗算では、図2のような
分割演算を行うと分割演算した桁毎に桁上がりが生じる
ため、効率的な乗算器を実現することは難しい。
However, in the multiplication on an integer, carrying out a division operation as shown in FIG. 2 causes a carry for each digit of the division operation, so that it is difficult to realize an efficient multiplier.

【0005】[0005]

【発明が解決しようとしている課題】本発明は、上述の
欠点を除去し、乗算回路において大きな桁数の入力値を
分割して演算する場合に、小さな桁数の乗算器を用いて
桁上がりを考慮した効率的な整数上の乗算回路及び乗算
方法を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention eliminates the above-mentioned drawbacks, and when a multiplication circuit divides an input value having a large number of digits for arithmetic operation, a carry with a carry having a small number of digits is used. It is an object of the present invention to provide an efficient integer multiplication circuit and multiplication method in consideration.

【0006】[0006]

【課題を解決するための手段】この課題を解決するため
に、本発明の整数上の乗算回路は、h,m,nを正の整
数とする場合に、nビツトの整数Aと(h×m)ビツト
の整数Bとの乗算を行う整数上の乗算回路であつて、整
数Aが1ビツト毎にnクロツクに分けて上位桁から入力
され、該整数Aの各1ビツトに整数Bの所定のmビツト
を乗算する前記整数Aに対して並列につながれる1ビツ
ト×mビツトの乗算器と、該乗算器の出力と、前回のク
ロツク時の1つ下位桁の2ビツトキヤリー付きmビツト
フルアダーのm,m+1及びm+2の上位3ビツトと、
前回のクロツク時の同じ桁の2ビツトキヤリー付きmビ
ツトフルアダーの下位m−1ビツトを1桁上位にシフト
したフイードバツク値とを加算する前記2ビツトキヤリ
ー付きmビツトフルアダーと、前記2ビツトキヤリー付
きmビツトフルアダーのm+2ビツトの出力を同時に入
出力する、2つの前記2ビツトキヤリー付きmビツトフ
ルアダー間につながれるm+2ビツトのレジスタとを備
え、nクロツク後の前記m+2ビツトのレジスタの内容
を乗算結果A・Bとする。
In order to solve this problem, the multiplication circuit on integers according to the present invention uses n bit integers A and (h × n) when h, m, and n are positive integers. m) A multiplication circuit on an integer which multiplies the bit B by an integer B, wherein the integer A is divided into n clocks for each 1 bit and inputted from the upper digit, and the integer B is assigned to each 1 bit of the integer A. 1-bit × m-bit multiplier connected in parallel to the integer A for multiplying the m-bits, the output of the multiplier, and the m-bit full adder with 2-bit carry of one lower digit at the previous clock. The top 3 bits of m, m + 1 and m + 2 of
The m bit full adder with 2 bit carry and the m bit full adder with 2 bit c A m + 2 bit register connected between the two m-bit full adders with two bit carriers for simultaneously inputting / outputting the m + 2 bit output of the full adder, and multiplying the contents of the m + 2 bit register after n clocks by the result A・ Set to B.

【0007】又、h,m,nを正の整数とする場合に、
nビツトの整数Aと(h×m)ビツトの整数Bとの乗算
を行う整数上の乗算回路であつて、1ビツト×mビツト
の乗算器と2ビツトキヤリー付きmビツトフルアダーと
m+2ビツトのレジスタとからなる演算エレメントを整
数Bの所定のmビツトに対応してh個備え、前記乗算器
には整数Aが1ビツト毎にnクロツクに分けて上位桁か
ら並列に入力され、該整数Aの各1ビツトに整数Bの所
定のmビツトが乗算されて、前記mビツトフルアダーに
出力され、前記mビツトフルアダーでは、前記各乗算器
の出力と、下位桁の前記レジスタからの前回のクロツク
時の下位桁の前記mビツトフルアダーのm,m+1及び
m+2の上位3ビツトと、同じ演算エレメント内の前記
レジスタからの前回のクロツク時の前記mビツトフルア
ダーでの加算結果の下位m−1ビツトを1桁上位にシフ
トしたフイードバツク値とを加算し、前記レジスタは、
前記mビツトフルアダーのm+2ビツトの出力を同時に
保持し、下位m−1ビツトを同じ演算エレメント内の前
記mビツトフルアダーにフイードバツクし、上位3ビツ
トを上位桁の前記mビツトフルアダーの下位3ビツトに
提供し、nクロツク後の前記m+2ビツトのレジスタの
内容を乗算結果A・Bとする。
When h, m, and n are positive integers,
A multiplication circuit on an integer for multiplying an n-bit integer A and a (h × m) -bit integer B, which is a 1-bit × m-bit multiplier, a 2-bit m-bit full adder with m + 2 bits, and a register of m + 2 bits. There are h operation elements consisting of and corresponding to predetermined m bits of the integer B. The integer A is divided into n clocks every 1 bit and inputted in parallel from the upper digit to the multiplier. Each one bit is multiplied by a predetermined m bit of an integer B and output to the m-bit full adder. In the m-bit full adder, the output of each multiplier and the previous clock from the register of the lower digit are output. Of the upper 3 bits of m, m + 1 and m + 2 of the m-bit full adder of the lower digit of the hour and the addition result of the m-bit full adder at the previous clock from the register in the same arithmetic element The lower m-1 bit is added to the feedback value obtained by shifting the lower one by one digit, and the register is
The outputs of the m + 2 bits of the m-bit full adder are simultaneously held, the lower m-1 bits are fed back to the m-bit full adder in the same arithmetic element, and the upper 3 bits are the lower 3 bits of the m-bit full adder of the upper digit. It is provided to the bit and the contents of the register of the m + 2 bit after n clocks are taken as the multiplication result A · B.

【0008】ここで、前記2ビツトキヤリー付きmビツ
トフルアダーは、複数の2入力フルアダーまたはハーフ
アダーによつて実現される。
Here, the m-bit full adder with 2-bit carrier is realized by a plurality of 2-input full adders or half adders.

【0009】又、本発明の整数上の乗算方法は、h,
m,nを正の整数とする場合に、nビツトの整数Aと
(h×m)ビツトの整数Bとの乗算を行う整数上の乗算
方法であつて、1ビツト×mビツトの乗算器と、2ビツ
トキヤリー付きmビツトフルアダーと、該フルアダーの
出力を記憶する整数Bの桁に対応してアドレス配置され
る複数領域を有する少なくともm+2ビツトのメモリと
を備え、(A) 整数Aのn分割された1ビツト(Ai )と
整数Bのh分割されたmビツト(Bj )とを前記1ビツ
ト×mビツトの乗算器で乗算する行程と、(B) 乗算結果
と前記メモリの所定領域(Rj-1 )の上位3ビツトと所
定領域(Rj )の下位m−1ビツトとを前記フルアダー
で加算する行程と、(C) 加算結果を前記メモリの所定領
域(Rj )に記憶する行程とを備え、前記行程(A) 〜
(C) を各Ai(i=n−1,n−2,…,0の順)につい
て、B j のjをn−1から0まで変化させて繰り返し、
全行程終了後の前記メモリの内容を乗算結果A・Bとす
る。
The multiplication method on integers according to the present invention is based on h,
If m and n are positive integers, n bit integer A and
(H × m) Multiplication on an integer that performs multiplication with the bit integer B
The method consists of a 1-bit by m-bit multiplier and a 2-bit multiplier.
Tobitary m-bit full adder and the full adder
The address is arranged corresponding to the digit of the integer B that stores the output
A memory of at least m + 2 bits having a plurality of regions
And (A) an integer A bit divided into n (Ai )When
An m-bit (B divided by h of integer B)j ) And 1 bit
(B) Multiply result with the process of multiplying by the multiplier of x m bits
And a predetermined area (Rj-1 ) Top 3 Bits and Places
Constant area (Rj ) Lower m-1 bits and the full adder
And the result of (C) addition in the specified area of the memory.
Area (Rj ) Is stored in the step (A).
(C) for each AiFor (i = n-1, n-2, ..., 0 order)
B j Of j from n-1 to 0 is repeated,
The contents of the memory after the entire process is set as the multiplication result A / B.
It

【0010】[0010]

【実施例】本実施例ではnビツトの整数Aとh・mビツ
トの整数Bとの乗算器を想定するが、簡単のためにh=
nとして説明する。この限定により一般性が失われるこ
とはない。すなわち、nビツトの整数Aとn・mビツト
の整数Bとし、A・B=Cの演算を実行することを考え
る。ここで、mビツトの2つの整数a,bの乗算a・b
=cを実行する乗算器は公知の構成、例えばセルライブ
ラリやTTL等によつて簡単に実現できる。
In this embodiment, a multiplier of an n-bit integer A and an h · m-bit integer B is assumed, but for simplicity, h =
It will be described as n. This limitation does not lose generality. That is, let us assume that an integer A of n bits and an integer B of n · m bits are used to execute the operation of A · B = C. Here, the multiplication a · b of two integers a and b of m bits
The multiplier for executing = c can be easily realized by a known structure such as a cell library or TTL.

【0011】整数Aを1ビツト毎に、整数Bをmビツト
毎にn分割すると、次のように表せる。
If the integer A is divided by n and the integer B is divided by n, the integer B can be expressed as follows.

【0012】A=An-1 ・2n-1 +An-2 ・2n-2 +…
+A1 ・2+A0 B=Bn-1 ・Xn-1 +Bn-2 ・Xn-2 +…+B1 ・X+
0 ここで、X=2m-1 とし、A,Bについて上位桁からn
分割したビツト系列を、各々Ai ,Bi (i=n−1,
…,0)とする。この場合、整数A,Bは多項式とみな
すことができるので、A・Bは次のように表すことがで
きる。
A = A n-1 · 2 n-1 + A n-2 · 2 n-2 + ...
+ A 1・ 2 + A 0 B = B n-1・ X n-1 + B n-2・ X n-2 + ... + B 1・ X +
B 0 Here, X = 2 m−1, and n is from the upper digit for A and B.
Each of the divided bit sequences is A i , B i (i = n-1,
..., 0). In this case, since the integers A and B can be regarded as polynomials, A · B can be expressed as follows.

【0013】[0013]

【数1】 A・B=An-1 ・B・2n-1 +An-2 ・B・2n-2 +… +A1 ・B・2+A0 ・B ここでは、一般性が失われることはないので、n=4の
場合を考える。
[Formula 1] A · B = A n-1 · B · 2 n-1 + A n-2 · B · 2 n-2 + ... + A 1 · B · 2 + A 0 · B Here, generality is lost Therefore, consider the case of n = 4.

【0014】 A・B=A3 ・(B3 ・X3 +B2 ・X2 +B1 ・X+B0 )・23 +A2 ・(B3 ・X3 +B2 ・X2 +B1 ・X+B0 )・22 +A1 ・(B3 ・X3 +B2 ・X2 +B1 ・X+B0 )・2 +A0 ・(B3 ・X3 +B2 ・X2 +B1 ・X+B0 ) これを、図1のような回路の乗算器で構成する。図1は
i (i=n−1,…,0)が1ビツト単位、Bi がm
ビツト単位のときの乗算回路である。図1は1×mビツ
トの乗算器4個(×B0 〜×B3 )と、2ビツトキヤリ
ー付きmビツトフルアダー4個(+0 〜+3 )と、m+
2ビツトのレジスタ4個(R0 〜R4 )から構成され
る。図1において各レジスタの初期状態はオール“0”
とする。
A · B = A 3 · (B 3 · X 3 + B 2 · X 2 + B 1 · X + B 0 ) · 2 3 + A 2 · (B 3 · X 3 + B 2 · X 2 + B 1 · X + B 0 )・ 2 2 + A 1・ (B 3・ X 3 + B 2・ X 2 + B 1・ X + B 0 ) ・ 2 + A 0・ (B 3・ X 3 + B 2・ X 2 + B 1・ X + B 0 ) This is shown in FIG. It is composed of a multiplier of a circuit such as. In FIG. 1, A i (i = n−1, ..., 0) is 1 bit unit and B i is m.
This is a multiplication circuit in bit units. Figure 1 1 × multiplier 4 m bits and (× B 0 ~ × B 3 ) is provided with with 2 Bitsutokiyari m-bit full adder 4 (+ 0 ~ + 3), m +
It is composed of four 2-bit registers (R 0 to R 4 ). In FIG. 1, the initial state of each register is all “0”.
And

【0015】最初のクロツクでA3 が入力されると、
式の各項の係数A3 ・Bi (i=3,…,0)が各乗算
器から出力され、各フルアダーを通して各々のレジスタ
に格納される。
When A 3 is input at the first clock,
The coefficient A 3 · B i (i = 3, ..., 0) of each term in the equation is output from each multiplier and stored in each register through each full adder.

【0016】次のクロツクでA2 が入力されたとき、
式の各項の係数A2 ・Bi (i=3,…,0)が各乗算
器から出力される。式は式に対して2進数で1桁大
きいので、レジスタ内に格納された値は1ビツト上位に
シフトされて、式の係数を表す各乗算器からの出力と
加算される。従つて、各レジスタの下位m−1ビツトは
1ビツト上位にシフトされて加算器にフイードバツク入
力され、各レジスタのmビツト目は右隣の加算器の最下
位ビツトに入力される。従つて、加算器ではmビツト同
士の加算が行われ、桁上がりがあればm+1ビツトの出
力が行われて再びレジスタに格納される。
When A 2 is input at the next clock,
The coefficients A 2 · B i (i = 3, ..., 0) of each term in the equation are output from each multiplier. Since the expression is one digit larger than the expression by one digit, the value stored in the register is shifted one bit higher and added with the output from each multiplier representing the coefficient of the expression. Therefore, the lower m-1 bit of each register is shifted to the upper one bit and input to the adder in the feedback back, and the m-th bit of each register is input to the lowest bit of the adder on the right side. Therefore, in the adder, addition of m bits is performed, and if there is a carry, m + 1 bits are output and stored again in the register.

【0017】次のクロツクでA1 が入力されたときも、
2 が入力されたときと同様の演算が行われるが、各レ
ジスタのm+1ビツト目の桁上がりビツトがキヤリーと
して右隣の加算器の2桁目に入力される。すなわち、各
レジスタのm+1ビツト目は右隣のレジスタの最下位ビ
ツトと同じ桁を表すので、加算器においては最下位のキ
ヤリービツトではなく2桁目のキヤリービツトとして扱
う必要がある。従つて、加算器からはm+2ビツトの出
力が行われ再びレジスタに格納される。これによつて、
上の〜式までの各項の係数の加算が行われたことに
なる。
When A 1 is input at the next clock,
The same operation as when A 2 is input is performed, but the carry bit of the m + 1th bit of each register is input to the second digit of the adder on the right as a carrier. That is, since the (m + 1) th bit of each register represents the same digit as the least significant bit of the register on the right side, the adder must treat it as the second most significant bit rather than the least significant bit. Therefore, m + 2 bits are output from the adder and stored again in the register. By this,
It means that the addition of the coefficient of each term up to the above formula was performed.

【0018】次のクロツクで最後の入力A0 が入力され
たとき、同様の演算によつて〜式の各項の係数の加
算が行われ、A・Bの乗算が行われたことになる。後は
引続きクロツクわ入力し、最上位桁のレジスタの上位ビ
ツトから乗算結果A・Bを上位桁から出力しても良い
し、各レジスタの内容を読み出して最終乗算結果A・B
を作成しても良い。これによつてAの値が分割入力され
るときA・Bの演算が効率的に行われる。
When the last input A 0 is input at the next clock, the coefficients of the respective terms of the expressions are added by the same calculation, and it means that the multiplication of A and B has been performed. After that, you can continue to input the clock and output the multiplication result A / B from the upper digit of the upper bit of the register of the most significant digit, or you can read the contents of each register to obtain the final multiplication result A / B.
May be created. Thus, when the value of A is divided and input, the calculation of A and B is efficiently performed.

【0019】本例では、整数Aを1ビツトづつ分割し、
n=4として説明したが、一般性を失うことなく、整数
Aをmビツトに分割されたn・mビツトの数とし、nと
hとが異なる任意の整数の乗算にまで拡張される。この
場合には、mビツト×mビツトの乗算器が使用される。
In this example, the integer A is divided by 1 bit,
Although described as n = 4, without loss of generality, the integer A is set to the number of n · m bits divided into m bits, and n and h are extended to arbitrary integer multiplications. In this case, an m-bit by m-bit multiplier is used.

【0020】また、図1においてキヤリーを持つフルア
ダーは、複数の2入力フルアダーとハーフアダーの組合
せによつて実現できることも明かである。また、図1に
おいて右端のレジスタを省いたり、更にフルアダーとレ
ジスタを付け加えても同様の乗算器が構成できるのは明
かである。
It is also apparent that the carrier full adder in FIG. 1 can be realized by a combination of a plurality of two-input full adders and half adders. Further, it is apparent that the same multiplier can be configured by omitting the register at the right end in FIG. 1 or adding a full adder and a register.

【0021】また、図1のような乗算器(×Bj )とフ
ルアダー(+j )とレジスタ(Rj)とからなる同一の
演算素子(エレメント)の繰り返しによる構成は、VL
SI等の大規模回路を構成しやすいという利点もある。
また、複数の領域Rj を有するメモリを使用して、ソフ
トウエアにより上記演算素子に対応する演算を順にある
いは並列に行うことにより、同様の演算結果が得られる
ことは明らかである。尚、本発明は、複数の機器から構
成されるシステムに適用しても、1つの機器から成る装
置に適用しても良い。また、本発明はシステム或は装置
にプログラムを供給することによつて達成される場合に
も適用できることは言うまでもない。
Further, the configuration in which the same arithmetic element (element) consisting of the multiplier (× B j ) and the full adder (+ j ) and the register (R j ) as shown in FIG.
There is also an advantage that it is easy to configure a large-scale circuit such as SI.
Further, it is apparent that the same calculation result can be obtained by using the memory having the plurality of regions R j and performing the calculation corresponding to the above-mentioned calculation elements by software in order or in parallel. The present invention may be applied to a system including a plurality of devices or an apparatus including a single device. Further, it goes without saying that the present invention can be applied to the case where it is achieved by supplying a program to a system or an apparatus.

【発明の効果】本発明により、乗算回路において大きな
桁数の入力値を分割して演算する場合に、小さな桁数の
乗算器を用いて桁上がりを考慮した効率的な整数上の乗
算回路及び乗算方法を提供できる。
According to the present invention, when an input value having a large number of digits is divided and operated in a multiplying circuit, a multiplier having a small number of digits is used, and an efficient integer multiplication circuit considering a carry is provided. A multiplication method can be provided.

【図面の簡単な説明】[Brief description of drawings]

【図1】本実施例の整数上の乗算回路を示す図である。FIG. 1 is a diagram showing an integer multiplication circuit according to the present embodiment.

【図2】公知のガロア体上の多項式の乗算回路を示す図
である。
FIG. 2 is a diagram illustrating a known polynomial multiplication circuit on a Galois field.

【符号の説明】[Explanation of symbols]

R…m+2ビツトレジスタ、+…2ビツトキヤリー付き
2mビツトフルアダー、×Bi …Bi (i=0,…,n
−1)を乗数とした1ビツト×mビツトの整数上の乗算
器、*Bi …Bi (i=0,…,n−1)を乗数とした
1ビツト*mビツトのガロア体上の乗算器、EX…mビ
ツトのEXOR、r…mビツトレジスタ
R ... m + 2 bit register, + ... 2m bit full adder with 2 bit carriers, xB i ... B i (i = 0, ..., n)
-1) Multiplier on 1-bit x m-bit integer with multiplier, * B i ... B i (i = 0, ..., n-1) with 1-bit * m-bit on Galois field Multiplier, EX ... m bit EXOR, r ... m bit register

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 h,m,nを正の整数とする場合に、n
ビツトの整数Aと(h×m)ビツトの整数Bとの乗算を
行う整数上の乗算回路であつて、 整数Aが1ビツト毎にnクロツクに分けて上位桁から入
力され、該整数Aの各1ビツトに整数Bの所定のmビツ
トを乗算する前記整数Aに対して並列につながれる1ビ
ツト×mビツトの乗算器と、 該乗算器の出力と、前回のクロツク時の1つ下位桁の2
ビツトキヤリー付きmビツトフルアダーのm,m+1及
びm+2の上位3ビツトと、前回のクロツク時の同じ桁
の2ビツトキヤリー付きmビツトフルアダーの下位m−
1ビツトを1桁上位にシフトしたフイードバツク値とを
加算する前記2ビツトキヤリー付きmビツトフルアダー
と、 前記2ビツトキヤリー付きmビツトフルアダーのm+2
ビツトの出力を同時に入出力する、2つの前記2ビツト
キヤリー付きmビツトフルアダー間につながれるm+2
ビツトのレジスタとを備え、 nクロツク後の前記m+2ビツトのレジスタの内容を乗
算結果A・Bとすることを特徴とする整数上の乗算回
路。
1. When h, m, and n are positive integers, n
A multiplication circuit on an integer which multiplies a bit integer A and a (h × m) bit integer B, wherein the integer A is divided into n clocks for each bit and inputted from the upper digit, and the integer A A 1-bit × m-bit multiplier connected in parallel to the integer A for multiplying each 1-bit by a predetermined m-bit of an integer B, the output of the multiplier, and one lower digit of the last clock. Of 2
The upper 3 bits of m, m + 1 and m + 2 of the m bit full adder with bit carry and the lower m- of the m bit full adder with 2 bit carry of the same digit at the previous clock
M bit full adder with 2 bit carriers and m bit +2 of m bit full adder with 2 bit carriers, which adds 1 bit up to the feedback value
M + 2 connected between the two m-bit full adders with the two bit carriers that simultaneously input and output the bit output
An integer multiplication circuit, comprising: a bit register, wherein the contents of the m + 2 bit register after n clocks are used as the multiplication result A · B.
【請求項2】 h,m,nを正の整数とする場合に、n
ビツトの整数Aと(h×m)ビツトの整数Bとの乗算を
行う整数上の乗算回路であつて、 1ビツト×mビツトの乗算器と2ビツトキヤリー付きm
ビツトフルアダーとm+2ビツトのレジスタとからなる
演算エレメントを整数Bの所定のmビツトに対応してh
個備え、 前記乗算器には整数Aが1ビツト毎にnクロツクに分け
て上位桁から並列に入力され、該整数Aの各1ビツトに
整数Bの所定のmビツトが乗算されて、前記mビツトフ
ルアダーに出力され、 前記mビツトフルアダーでは、前記各乗算器の出力と、
下位桁の前記レジスタからの前回のクロツク時の下位桁
の前記mビツトフルアダーのm,m+1及びm+2の上
位3ビツトと、同じ演算エレメント内の前記レジスタか
らの前回のクロツク時の前記mビツトフルアダーでの加
算結果の下位m−1ビツトを1桁上位にシフトしたフイ
ードバツク値とを加算し、 前記レジスタは、前記mビツトフルアダーのm+2ビツ
トの出力を同時に保持し、下位m−1ビツトを同じ演算
エレメント内の前記mビツトフルアダーにフイードバツ
クし、上位3ビツトを上位桁の前記mビツトフルアダー
の下位3ビツトに提供し、 nクロツク後の前記m+2ビツトのレジスタの内容を乗
算結果A・Bとすることを特徴とする整数上の乗算回
路。
2. When h, m, and n are positive integers, n
A multiplication circuit on an integer that multiplies a bit integer A and a (h × m) bit integer B by a 1-bit × m-bit multiplier and a 2-bit m
An arithmetic element consisting of a bit full adder and a register of m + 2 bits is set to h corresponding to a predetermined m bit of the integer B.
In the multiplier, the integer A is divided into n clocks every 1 bit and inputted in parallel from the upper digit, and each 1 bit of the integer A is multiplied by a predetermined m bit of the integer B to obtain the m Output to the bit-full adder, and in the m-bit full-adder, the output of each of the multipliers,
The upper 3 bits of m, m + 1, and m + 2 of the m bitful adder of the lower digit from the register of the lower digit at the previous clock, and the m bitfull of the last clock from the register in the same arithmetic element. The lower m-1 bit of the addition result in the adder is added with the feedback back value shifted up by one digit, and the register holds the output of the m + 2 bit of the m-bit full adder at the same time, and stores the lower m-1 bit. Feed back to the m-bit full adder in the same arithmetic element, provide the high-order 3 bits to the low-order 3 bits of the high-order m-bit full adder, and multiply the contents of the m + 2 bit register after n clocks by the multiplication result A. A multiplication circuit on an integer, characterized by B.
【請求項3】 前記2ビツトキヤリー付きmビツトフル
アダーは、複数の2入力フルアダーまたはハーフアダー
によつて実現されることを特徴とする請求項1または2
記載の整数上の乗算回路。
3. The m-bit full adder with two bit carriers is realized by a plurality of two-input full adders or half adders.
A multiplication circuit on the described integer.
【請求項4】 h,m,nを正の整数とする場合に、n
ビツトの整数Aと(h×m)ビツトの整数Bとの乗算を
行う整数上の乗算方法であつて、 1ビツト×mビツトの乗算器と、2ビツトキヤリー付き
mビツトフルアダーと、該フルアダーの出力を記憶する
整数Bの桁に対応してアドレス配置される複数領域を有
する少なくともm+2ビツトのメモリとを備え、 (A) 整数Aのn分割された1ビツト(Ai )と整数Bの
h分割されたmビツト(Bj )とを前記1ビツト×mビ
ツトの乗算器で乗算する行程と、 (B) 乗算結果と前記メモリの所定領域(Rj-1 )の上位
3ビツトと所定領域(Rj )の下位m−1ビツトとを前
記フルアダーで加算する行程と、 (C) 加算結果を前記メモリの所定領域(Rj )に記憶す
る行程とを備え、 前記行程(A) 〜(C) を各Ai(i=n−1,n−2,…,
0の順)について、B j のjをn−1から0まで変化さ
せて繰り返し、全行程終了後の前記メモリの内容を乗算
結果A・Bとすることを特徴とする整数上の乗算方法。
4. When h, m, and n are positive integers, n
Multiply the bit integer A by (h × m) bit integer B
Multiplying method on integers, with 1-bit × m-bit multiplier and 2-bit carry
memorize m bit full adder and output of the full adder
Has multiple areas where addresses are arranged corresponding to the digits of integer B
Memory having at least m + 2 bits, and (A) an integer A divided into 1 bit (Ai ) And the integer B
h divided m bits (Bj ) And 1 bit x m bits
Step of multiplying by the multiplier of the bridge, (B) multiplication result and a predetermined area (Rj-1 ) Top
3 bits and predetermined area (Rj ) Lower m-1 bits before
The process of adding with the full adder, and (C) the addition result is stored in a predetermined area (Rj )
And the above steps (A) to (C)i(i = n-1, n-2, ...,
0 order), B j Of j is changed from n-1 to 0
Repeatedly, multiply the contents of the memory after the whole process
A multiplication method on an integer, wherein the result is A · B.
JP16708392A 1992-06-25 1992-06-25 Multiplication circuit over integers Expired - Fee Related JP3210420B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP16708392A JP3210420B2 (en) 1992-06-25 1992-06-25 Multiplication circuit over integers
EP93304879A EP0576262B1 (en) 1992-06-25 1993-06-23 Apparatus for multiplying integers of many figures
DE69329260T DE69329260T2 (en) 1992-06-25 1993-06-23 Device for multiplying integers by many digits
US08/512,620 US5524090A (en) 1992-06-25 1995-08-08 Apparatus for multiplying long integers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16708392A JP3210420B2 (en) 1992-06-25 1992-06-25 Multiplication circuit over integers

Publications (2)

Publication Number Publication Date
JPH0612236A true JPH0612236A (en) 1994-01-21
JP3210420B2 JP3210420B2 (en) 2001-09-17

Family

ID=15843097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16708392A Expired - Fee Related JP3210420B2 (en) 1992-06-25 1992-06-25 Multiplication circuit over integers

Country Status (1)

Country Link
JP (1) JP3210420B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100465874C (en) * 1995-08-31 2009-03-04 英特尔公司 Apparatus for performing multiply-add operations on packed data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7806832B2 (en) 2007-04-30 2010-10-05 The General Electric Company False positive reduction in SPO2 atrial fibrillation detection using average heart rate and NIBP

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100465874C (en) * 1995-08-31 2009-03-04 英特尔公司 Apparatus for performing multiply-add operations on packed data

Also Published As

Publication number Publication date
JP3210420B2 (en) 2001-09-17

Similar Documents

Publication Publication Date Title
EP1293891B1 (en) Arithmetic processor accomodating different finite field size
CN110351087B (en) Pipelined Montgomery modular multiplication operation method
JP4732688B2 (en) Galois field expansion, integration / integration addition, product-sum operation
CA2225899A1 (en) A method and apparatus for finite field multiplication
US6009450A (en) Finite field inverse circuit
US6061706A (en) Systolic linear-array modular multiplier with pipeline processing elements
US3805043A (en) Serial-parallel binary multiplication using pairwise addition
US20140136588A1 (en) Method and apparatus for multiplying binary operands
JP3516503B2 (en) Electronic multiplication and addition apparatus and method
JP3213628B2 (en) An arithmetic unit for multiplying long integers modulo M and an R.M. S. A. converter
JPH08101779A (en) Electronic circuit for modular calculation in finite region
US5734600A (en) Polynomial multiplier apparatus and method
US7607165B2 (en) Method and apparatus for multiplication and/or modular reduction processing
JPH0612236A (en) Circuit and method for multiplication over integer
US20030182343A1 (en) Fast multiplication circuits
JP2000207387A (en) Arithmetic unit and cipher processor
JP3129525B2 (en) Multiplication circuit over integers
EP1504338B1 (en) "emod" a fast modulus calculation for computer systems
EP0534760A2 (en) High speed multiplier device
JP3129526B2 (en) Multiplication circuit over integers
JP3129524B2 (en) Multiplication circuit on integer and multiplication method
Kovac et al. ACE: a VLSI chip for Galois field GF (2/sup m/) based exponentiation
JPH0981541A (en) Accumulator
KR20040055523A (en) APPARATUS OF FIELD MULTIPLICATION OVER GF(p) AND GF(2^m)
JPH0612237A (en) Multiplication circuit over integer

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010615

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

Free format text: PAYMENT UNTIL: 20080713

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080713

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees