JP3210420B2 - Multiplication circuit over integers - Google Patents

Multiplication circuit over integers

Info

Publication number
JP3210420B2
JP3210420B2 JP16708392A JP16708392A JP3210420B2 JP 3210420 B2 JP3210420 B2 JP 3210420B2 JP 16708392 A JP16708392 A JP 16708392A JP 16708392 A JP16708392 A JP 16708392A JP 3210420 B2 JP3210420 B2 JP 3210420B2
Authority
JP
Japan
Prior art keywords
bit
bits
integer
full adder
output
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
JP16708392A
Other languages
Japanese (ja)
Other versions
JPH0612236A (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.)
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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

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

【0002】[0002]

【従来の技術】ゲートアレイの設計や基板設計におい
て、小さな桁数の整数上の乗算器は、セルライブラリや
TTL等が用意されているため手軽に構成することがで
きる。しかし、大きな桁数の乗算回路を実現しようとし
た場合には、セルライブラリ等がないので自分で設計し
なければならない。ところが、大きな桁数の乗算器を自
分で設計する場合、小さな桁数の乗算器の回路構成をそ
のまま拡張したのでは、回路構成が非常に複雑になり実
現が難しい。
2. Description of the Related Art In designing a gate array or a substrate, a multiplier on an integer having a small number of digits can be easily configured because a cell library, TTL, and the like are provided. However, when trying to realize a multiplication circuit with a large number of digits, there is no cell library or the like, so that the user has to design it by himself. However, when 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 directly expanded, the circuit configuration becomes extremely 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, an input value is divided for each predetermined bit and
When trying to multiply by several clocks, the input value must be a polynomial
Considering the Galois field (Hiro Miyagawa, Yoshihiro Iwadare, Hideki Imai:
"Coding Theory", Shokodo, 1973, Chapter 4)
In a calculation system without glue, multiplication is performed by a circuit as shown in FIG.
Is known to be performed. * B in FIG.i Is B i 
M bits * m bits using (i = 0,..., N-1) as a multiplier
A multiplier on the Galois field of EX, EX is an EXOR of m bits,
r is an m-bit register.

【0004】しかし、整数上の乗算では、図2のような
分割演算を行うと分割演算した桁毎に桁上がりが生じる
ため、効率的な乗算器を実現することは難しい。
However, in multiplication on integers, when a division operation as shown in FIG. 2 is performed, a carry occurs for each digit obtained by 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 disadvantages, and performs multiplication of large integers by taking into account carry.
The circuit scale is small using a multiplier with a small number of digits.
It is an object of the present invention to provide an integer multiplication circuit having a simple configuration .

【0006】[0006]

【課題を解決するための手段】この課題を解決するため
に、本発明の整数上の乗算回路は、h,m,nを正の整
数とする場合に、nビツトの整数Aと(h×m)ビツト
の整数Bとの乗算を行う整数上の乗算回路であつて、1
ビツト毎にnクロツクに分けて上位桁から入力される整
数Aの各1ビツトに対して、各々が整数Bのそれぞれ異
なるmビツトを並列に乗算するh個の1ビツト×mビツ
トの乗算器と、h個の2ビツトキヤリー付きmビツトフ
ルアダーであって、各々が、前記乗算器の1つの出力
と、1つ下位桁の2ビツトキヤリー付きmビツトフルア
ダーの前回のクロツク時の出力の下位からm+1ビット
以上の部分を1ビット上位にシフトした値と、自分自
身の前回のクロツク時の出力の下位ビツトを1ビット
上位にシフトしたフイードバツク値とを加算する、h個
の2ビツトキヤリー付きmビツトフルアダーと、各々
が、前記2ビツトキヤリー付きmビツトフルアダーの1
つのm+2ビツトの出力を格納し、次のクロックで当該
フルアダーに下位ビツトをフィードバックし、下位か
らm+1ビット目以上の部分を上位の前記2ビツトキヤ
リー付きmビツトフルアダーに出力する、h個のm+2
ビツトのレジスタとを備え、最上の前記m+2ビツト
のレジスタから乗算結果A・Bを上位桁より順次出力す
ることを特徴とする。
In order to solve this problem, a multiplication circuit on integers according to the present invention provides an n-bit integer A and (h × x) when h, m, and n are positive integers. m) a multiplication circuit on an integer for multiplying a bit by an integer B;
H 1-bit × m-bit multipliers for multiplying each 1-bit of the integer A inputted from the upper digit in n clocks for each bit by different m-bits of the integer B respectively in parallel; , H m-bit full adders with 2-bit carry, each one output from the multiplier and m + 1 from the lower end of the previous clock output of the m-bit full adder with 2-bit carry of one lower digit. bit
Adds the value obtained by shifting the above partial eye one bit higher, and fed back value obtained by shifting the lower m bits of the output at the time of his own previous clock in one bit <br/> upper, h pieces of 2 Bitsutokiyari M-bit full adder with m-bit full adder and each of the m-bit full adder with 2-bit carry
One of storing the output of the m + 2 bits, and feedback the lower m bits to the full adder at the next clock, or lower
And it outputs the Luo m + 1 bits or more portions to the 2 Bitsutokiyari with m-bit full adder of the upper, h pieces of m + 2
A multiplying result A and B are sequentially output from the uppermost digit from the m + 2 bit register of the uppermost digit .

【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+1
ビット目以上の部分を1ビット上位にシフトした値と、
同じ演算エレメント内の前記レジスタからの前回のクロ
ツク時の前記mビツトフルアダーでの加算結果の下位
ビツトを1ビット上位にシフトしたフイードバツク値と
を加算し、前記レジスタは、前記mビツトフルアダーの
m+2ビツトの出力を同時に保持し、下位ビツトを同
じ演算エレメント内の前記mビツトフルアダーにフイー
ドバツクし、下位からm+1ビット目以上の部分を上位
桁の前記mビツトフルアダーに提供し、最上の前記演
算エレメント内の前記m+2ビツトのレジスタから乗算
結果A・Bを上位桁より順次出力することを特徴とす
る。
When h, m, and n are positive integers,
An integer multiplication circuit for multiplying an n-bit integer A by an (h × m) -bit integer B, comprising a 1-bit × m-bit multiplier, an m-bit full adder with a 2-bit carry, and an m + 2 bit register H are provided corresponding to a predetermined m bits of the integer B, and the integer A is divided into n clocks for each bit and input in parallel from the upper digit to the multiplier A. 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 of the multipliers and the previous clock from the register of the lower digit are read. M + 1 from the lower end of the m-bit full adder of the lower digit of the hour
The value obtained by shifting the bit or more portions to one bit higher,
Lower m of the result of addition in the m-bit full adder at the previous clock from the register in the same arithmetic element
Adding the fed back value shifted to one bit higher the bit, the register, the m-bit full adder of m + 2 bits of the output holding time, fed back to the lower m bits in said m-bit full adder in the same calculation element that is, to provide the lower (m + 1) th bit or more portions to the m-bit full adder of the upper digit, and sequentially output from the high-order digit of the m + 2 from bit registers multiplication result a · B in the calculation element of the most significant It is characterized by.

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

【0009】[0009]

【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等によつて簡単に実現できる。
DESCRIPTION OF THE PREFERRED EMBODIMENTS In this embodiment, a multiplier of an integer A of n bits and an integer B of hm bits is assumed.
It is described as n. This limitation does not cause loss of generality. That is, it is assumed that an integer A of n bits and an integer B of nm bits are used, and the calculation of AB = C is executed. Here, multiplication a · b of two integers a and b of m bits
= C can be easily realized by a known configuration such as a cell library or TTL.

【0011】整数Aを1ビツト毎に、整数Bをmビツト
毎にn分割すると、次のように表せる。
If the integer A is divided by 1 bit and the integer B is divided by n every m bits, it 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+B0 ここで、X=2 m とし、A,Bについて上位桁からn分
割したビツト系列を、各々Ai ,Bi (i=n−1,
…,0)とする。この場合、整数A,Bは多項式とみな
すことができるので、A・Bは次のように表すことがで
きる。
[0012] 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, and the bit sequence obtained by dividing A and B into n from the upper digit is A i , B i (i = n−1,
..., 0). In this case, since the integers A and B can be regarded as polynomials, AB 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の
場合を考える。
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 + 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 ) It consists of a multiplier with a circuit like FIG. 1 shows that A i (i = n−1,..., 0) is one bit unit and B i is m
This is a multiplication circuit in a bit unit. 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 ( R0 to R4). 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 of 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ビツト上位に
シフトされて、式の係数を表す各乗算器からの出力と
加算される。従つて、各レジスタの下位ビツトは1ビ
ツト上位にシフトされた状態で加算器にフイードバツク
入力され、各レジスタのm+1ビツト目以上1ビツト
上位にシフトされた状態で、右隣の加算器に入力され
る。従つて、加算器では1ビットずれたmビツト同士の
加算が行われ、桁上がりがあればm+2ビツトの出力が
行われて再びレジスタに格納される。
When A 2 is input at the next clock,
The coefficients A 2 · B i (i = 3,..., 0) of each term of the equation are output from each multiplier. Since the expression is one digit greater than the expression in binary, the value stored in the register is shifted up one bit and added to the output from each multiplier representing the coefficients of the expression. Accordance connexion, the lower m bits of the register is fed back input to the adder while being shifted one bit higher, of each register m + 1 bit th or more is 1 bit
After being shifted to the higher order, it is input to the adder on the right. Accordingly, the adder performs addition of m bits shifted by 1 bit. If there is a carry, m + 2 bits are output and stored in the register again.

【0017】次のクロツクでA1 が入力されたときも、
2 が入力されたときと同様の演算が行われる。すなわ
、各レジスタのm+1ビツト目の桁上がりビツトがキ
ヤリーとして右隣の加算器の下位から2ビット目に入力
され、各レジスタのm+2ビツト目の桁上がりビツトが
キヤリーとして右隣の加算器の下位から3ビット目に入
力される。すなわち、各レジスタのm+1ビツト目は右
隣のレジスタの最下位ビツトと同じビット位置を表すの
で、加算器においては最下位のキヤリービツトではなく
下位から2ビット目のキヤリービツトとして扱い、各レ
ジスタのm+2ビツト目は右隣のレジスタの下位から2
ビツト目と同じビット位置を表すので、加算器において
は下位から3ビット目のキヤリービツトとして扱う必要
がある。従つて、加算器からはm+2ビツトの出力が行
われ再びレジスタに格納される。これによつて、上の
〜式までの各項の係数の加算が行われたことになる。
[0017] When A 1 is entered in the next clock also,
Operation similar to that when A 2 is input is made. Sand
Chi, m + 1 bit th carry bit of each register is input to the second bit from the lower right of the adder as the carry, the m + 2 bit-th carry bit of each register
Enter the third bit from the lower end of the adder on the right as a carry.
Ru is a force. That is, since the (m + 1) th bit of each register indicates the same bit position as the least significant bit of the register on the right, the adder does not have the least significant carry bit.
Treats as Kiyaribitsuto the second bit from the lower, each record
The m + 2th bit of the register is 2
Since it represents the same bit position as the bit,
It is necessary cormorant treated as Kiyaribitsuto of the third bit from the lower. Accordingly, the adder outputs m + 2 bits and stores it in the register again. As a result, the addition of the coefficients of the terms up to the above equation has been performed.

【0018】次のクロツクで最後の入力A0 が入力され
たとき、同様の演算によつて〜式の各項の係数の加
算が行われ、A・Bの乗算が行われたことになる。後は
引続きクロツクわ入力し、最上位桁のレジスタの上位ビ
ツトから乗算結果A・Bを上位桁から出力しても良い
し、各レジスタの内容を読み出して最終乗算結果A・B
を作成しても良い。これによつてAの値が分割入力され
るときA・Bの演算が効率的に行われる。
[0018] When the next last input A 0 in clock is input, it is performed addition of coefficients of the terms of Yotsute to Formula similar operation, so that the multiplication of A · B were made. Thereafter, the clock is continuously input, and the multiplication results A and B may be output from the upper digit from the upper bit of the register of the highest digit, or the contents of each register may be read and the final multiplication results A and B may be output.
May be created. Thus, when the value of A is divided and input, the calculation of AB 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 one bit,
Although described as n = 4, without loss of generality, the integer A is assumed to be the number of nm bits divided into m bits, and is extended to multiplication of any integer in which n and h are different. In this case, an m-bit × m-bit multiplier is used.

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

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

【発明の効果】本発明によれば大きな整数の乗算を、
桁上がりを考慮しながら小さな桁数の乗算器を用いて、
回路規模が小さく構成の簡単な整数上の乗算回路を提供
することができる。
I to the present invention lever, a large integer multiplication,
Using a multiplier with a small number of digits while considering carry,
Provides an integer multiplication circuit with a small circuit size and simple configuration
It can be.

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

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

【図2】公知のガロア体上の多項式の乗算回路を示す図
である。
FIG. 2 is a diagram showing 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, + ... 2 m bit full adder with 2-bit carry, xB i ... B i (i = 0, ..., n
Multiplier on a 1-bit × m-bit integer with a multiplier of −1), and a 1-bit * m-bit Galois field with a multiplier of * B i ... B i (i = 0,..., N−1) Multiplier, EX ... m bit EXOR, r ... m bit register

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 310 G06F 7/60 WPI(DIALOG)──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int. Cl. 7 , DB name) G06F 7/52 310 G06F 7/60 WPI (DIALOG)

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 h,m,nを正の整数とする場合に、n
ビツトの整数Aと(h×m)ビツトの整数Bとの乗算を
行う整数上の乗算回路であつて、 1ビツト毎にnクロツクに分けて上位桁から入力される
整数Aの各1ビツトに対して、各々が整数Bのそれぞれ
異なるmビツトを並列に乗算するh個の1ビツト×mビ
ツトの乗算器と、 h個の2ビツトキヤリー付きmビツトフルアダーであっ
て、各々が、前記乗算器の1つの出力と、1つ下位桁の
2ビツトキヤリー付きmビツトフルアダーの前回のクロ
ツク時の出力の下位からm+1ビット目以上の部分を1
ビット上位にシフトした値と、自分自身の前回のクロツ
ク時の出力の下位ビツトを1ビット上位にシフトした
フイードバツク値とを加算する、h個の2ビツトキヤリ
ー付きmビツトフルアダーと、 各々が、前記2ビツトキヤリー付きmビツトフルアダー
の1つのm+2ビツトの出力を格納し、次のクロックで
当該フルアダーに下位ビツトをフィードバックし、
位からm+1ビット目以上の部分を上位の前記2ビツト
キヤリー付きmビツトフルアダーに出力する、h個のm
+2ビツトのレジスタとを備え、 最上の前記m+2ビツトのレジスタから乗算結果A・
Bを上位桁より順次出力することを特徴とする整数上の
乗算回路。
1. When h, m, and n are positive integers, n
An integer multiplying circuit for multiplying an integer A of bits and an integer B of (h × m) bits. The multiplication circuit is divided into n clocks for each bit, and each one bit of the integer A input from the upper digit is divided into n clocks. On the other hand, there are h number of 1-bit × m-bit multipliers for multiplying different m-bits of the integer B in parallel, and h number of m-bit full adders with 2-bit carry, each of which is the multiplier. one output of the one lower digit of 2 Bitsutokiyari with m-bit full previous lower from m + 1 bits or more portions of the output at the clock of the adder 1
A value shifted in bit higher, adds the fed back value obtained by shifting the lower m bits of the output at the time of his own previous clock in one bit higher, and h pieces of 2 Bitsutokiyari with m-bit full adder, each, the 2 Bitsutokiyari with m bits to store the output of one of m + 2 bits of the full adder, and feedback the lower m bits to the full adder at the next clock, the lower
Output of the m + 1-th bit or more from the m-bit full adder with 2-bit carry to the upper m bits,
And a register of +2 bits, the multiplication result A · from the m + 2 bits of the registers most significant
A multiplication circuit for integers, wherein B is sequentially output from an upper digit.
【請求項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+1ビット目
上の部分を1ビット上位にシフトした値と、同じ演算エ
レメント内の前記レジスタからの前回のクロツク時の前
記mビツトフルアダーでの加算結果の下位ビツトを1
ビット上位にシフトしたフイードバツク値とを加算し、 前記レジスタは、前記mビツトフルアダーのm+2ビツ
トの出力を同時に保持し、下位ビツトを同じ演算エレ
メント内の前記mビツトフルアダーにフイードバツク
し、下位からm+1ビット目以上の部分を上位桁の前記
mビツトフルアダーに提供し、 最上の前記演算エレメント内の前記m+2ビツトのレ
ジスタから乗算結果A・Bを上位桁より順次出力するこ
とを特徴とする整数上の乗算回路。
2. When h, m, and n are positive integers, n
A multiplication circuit on an integer for multiplying an integer A of bits and an integer B of (h × m) bits, comprising a 1-bit × m-bit multiplier and m with 2-bit carry
An arithmetic element having a bit full adder and a register of m + 2 bits is assigned an
The integer A is divided into n clocks for each bit and inputted in parallel from the upper digit in parallel from the upper digit, and each one bit of the integer A is multiplied by a predetermined m bit of the integer B to obtain the m. Output to a bit full adder, wherein in the m bit full adder, the output of each of the multipliers is:
A value shifted last the lower digit the m-bit full backward from m + 1-th bit than <br/> on parts of the adders during clock in one bit higher from the register of lower digit, said in the same calculation element The lower m bits of the addition result in the m-bit full adder at the time of the previous clock from the register are set to 1
Adding the fed back value shifted to bit higher, said register, said m holds bit full adder of m + 2 bits of the output at the same time, and fed back to the lower m bits in said m-bit full adder in the same calculation element, the lower To the (m + 1) th bit or more from the m + 2 bit register in the most significant digit of the arithmetic element, and the multiplication results A and B are sequentially output from the most significant digit. Multiply circuit over integers.
【請求項3】 前記2ビツトキヤリー付きmビツトフル
アダーは、複数の2入力フルアダーまたはハーフアダー
によつて実現されることを特徴とする請求項1または2
記載の整数上の乗算回路。
3. The m-bit full adder with two-bit carry is realized by a plurality of two-input full adders or half adders.
Multiplication circuit on integers as described.
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 JPH0612236A (en) 1994-01-21
JP3210420B2 true 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
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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2139564C1 (en) * 1995-08-31 1999-10-10 Интел Корпорейшн Packed data multiplying-and-adding device

Cited By (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

Also Published As

Publication number Publication date
JPH0612236A (en) 1994-01-21

Similar Documents

Publication Publication Date Title
EP1293891B2 (en) Arithmetic processor accomodating different finite field size
US5764554A (en) Method for the implementation of modular reduction according to the Montgomery method
CA2225899A1 (en) A method and apparatus for finite field multiplication
JP2744091B2 (en) Data processing method and apparatus for calculating multiplicative reciprocal element of finite field
US6009450A (en) Finite field inverse circuit
US6061706A (en) Systolic linear-array modular multiplier with pipeline processing elements
US6917956B2 (en) Apparatus and method for efficient modular exponentiation
JP3213628B2 (en) An arithmetic unit for multiplying long integers modulo M and an R.M. S. A. converter
US8244790B2 (en) Multiplier and cipher circuit
JPH08101779A (en) Electronic circuit for modular calculation in finite region
JP3210420B2 (en) Multiplication circuit over integers
US5912904A (en) Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method
US20030182343A1 (en) Fast multiplication circuits
KR100480997B1 (en) APPARATUS OF FIELD MULTIPLICATION OVER GF(p) AND GF(2^m)
JP2000207387A (en) Arithmetic unit and cipher processor
EP1504338B1 (en) &#34;emod&#34; a fast modulus calculation for computer systems
EP1455270A2 (en) Method and apparatus for basis conversion in finite field and a multiplier
JP3129525B2 (en) Multiplication circuit over integers
Lu et al. A programmable VLSI architecture for computing multiplication and polynomial evaluation modulo a positive integer
JPH05197525A (en) Method and circuit for negating operand
JP3129526B2 (en) Multiplication circuit over integers
JPH03661B2 (en)
KR100946256B1 (en) Scalable Dual-Field Montgomery Multiplier On Dual Field Using Multi-Precision Carry Save Adder
JP3129524B2 (en) Multiplication circuit on integer and multiplication method
EP0281303A3 (en) Modulo arithmetic processor chip

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