JPH01100627A - パイプライン型直列乗算回路 - Google Patents

パイプライン型直列乗算回路

Info

Publication number
JPH01100627A
JPH01100627A JP63236620A JP23662088A JPH01100627A JP H01100627 A JPH01100627 A JP H01100627A JP 63236620 A JP63236620 A JP 63236620A JP 23662088 A JP23662088 A JP 23662088A JP H01100627 A JPH01100627 A JP H01100627A
Authority
JP
Japan
Prior art keywords
cell
data
bit
bits
multiplier
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
Application number
JP63236620A
Other languages
English (en)
Inventor
Philippe Martin
フィリップ・マルタン
Thierry Bonnet
ティーリ・ボネー
Yves Mathieu
イブ・マシュー
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of JPH01100627A publication Critical patent/JPH01100627A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/525Multiplying only in serial-serial fashion, i.e. both operands being entered serially
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明はデジタルデータの2つの同期化ストリーム、即
ち、nビット〔an・・・ak・・・aI〕より成るス
トリームA及びnビット〔bp・・・bk・・−b、、
1より成るストリームB(ここにn、  k及びpは整
数)を、パイプラインモードで各セルにおいて被乗数A
と乗数Bの各ビットの部分積を形成し、その後これらを
クロック周波数Fで順次に加算することにより乗算する
セル型構体を有するパイプラインー5〜 型直列乗算回路であって、次数にの各セルが、データx
k、yk及びキャリCkを受けて、所定瞬時に、次式・ v k= (x Jy k&c k)modulo 2
c ok= (x i+&y i=&c h) /2(
ここに、Ckは所定瞬時に前のクロック周期中同一のセ
ルで決まるデータC0kに等しくなり、その後遅延して
Ck−Cok(d)となる)で示される結果Vk及びキ
ャリC0kを出力する単位1−ビット加算器と、2つの
順次のセルによって取出されたデータを同期化する手段
と、データビット及びキャリc。kを一時的に記憶する
手段とを具えるパイプライン型直列乗算回路に関するも
のである。
2つのデジタルデータを直列乗算するためにはこれらデ
ータの一方の各ビットを乗算回路のセルに記憶し、これ
らビットを第2データのビットにより乗算して、その2
進重みに従って加算された部分積を発生させるようにし
ている。
この種の乗算回路は英国特許GB2166272A号明
細書から既知である。この英国特許明細6一 書には、符号のついたデータで作動し、入力データのビ
ットの数を拡張する必要がある場合に外部フラグを用い
て乗算回路を縦続接続するようにした直列乗算回路が記
載されている。
しかし、上記英国特許明細書には不完全な乗算の実行の
みが記載されている。即ち、結果の最上位部分のみを取
出すことが記載されている。従って、この結果は概算で
ある。これがため、所定の用途に対し解決すべき第1の
問題は計算時間を増大する事なく、演算の正確な結果が
得られるようにする必要があることである。
本発明の目的は上述した問題を解決し得るようにしたパ
イプライン型直列乗算回路を提供することを目的とする
本発明はデジタルデータの2つの同期化ストリーム、即
ち、nビット〔an・・・ak・・・a+)より成るス
トリームA及びnピット〔bp・・・bk・・・b、〕
より成るストリームB(ここにn、k及びpは整数)を
、パイプラインモードで各セルにおいて被乗数Aと乗数
Bの各ビットの部分積を形成し、その後これらをクロッ
ク周波数Fで順次に加算することにより乗算するセル型
構体を有するパイプライン型直列乗算回路であって、次
数にの各セルが、データX k+ Y k及びキャリC
kを受けて、所定瞬時に、次式: %式% (ここに、Ckは所定瞬時に前のクロック周期中同一の
セルで決まるデータC0kに等しくなり、その後遅延し
てCk−〇ok(d)となる)で示される結果Vk及び
キャリC,kを出力する単位1−ビット加算器と、2つ
の順次のセルによって取出されたデータを同期化する手
段と、データビット及びキャリcokを一時的に記憶す
る手段とを具えるものにおいて、前記乗算回路は、信号
Rの制御により2つの連続ビットセグメントで、即ち、
まず最初、最低の2進重みを有するnピットによって形
成されたセグメントL1次いで、最高2進重みを有する
nビット(ここにn>p)によって形成されたセグメン
)Hとで、演算の正確な結果を導出する手段を設け、前
記乗算回路の出力比をF/nとし、この導出手段は、一
時記憶後、同一クロック周期中データC6kとして取出
される次式: %式% で示すデータC1kを発生する手段と、次数にの各セル
によって供給され、次式: %式%() (ここにRk−8(d)は、前記セルにの1クロック周
期だけ遅延され前のセルを経てセルkに供給される信号
である)で示される部分セグメントLk及びHkを決め
る手段とを具え、次数にの前記加算器におけるキャリC
kの再導入を、p−1番目のセルに対してはc k= 
Cak(d )・Rk−+(d)に従って、及びp番目
のセルに対してはCP−b p−Rp−+(d)+R、
−、(d)・c op(d )信号Rk−,(d)によ
って制御し、CIk(d )をに番目のセルのクロック
周期によって遅延されたデータCIkとし、p−1番目
のセルによってデータA及びBにタイプA−bkの演算
を行い、p番目のセルによってタイプA−bpの演算を
行い、使用する符号は(・):AND論理、(+):O
R論理、(X)二乗算、(&):加算とすることを特徴
とする。
解決すべき第2の問題は2つの乗算回路を縦続。
接続することにある。この目的のため、p番目のセルを
変更し、p番目のセルは、次式:%式%() に従ってキャリCpを決めると共にタイプ(A*F)・
bpの演算を行う手段を具え、ここに(*)は排他的−
OR関数を示し、Fはp番目のセルの制御を可能にして
縦続接続の乗算回路を得る信号を示すようにする。これ
がため、乗算回路を数個の群に構成して乗算器構体を形
成し得るようにする。
他の技術的な問題は乗算回路を数個並列に接続して2つ
の乗算の結果の和: (A X B)&(CX D)の
ような演算を行う点にある。この目的のため、本発明は
乗算構体を得るために、並列接続の2個の乗算回路又は
2つの乗算回路群を具え、これら2つの乗算回路又は2
つの乗算回路群によってその2つのセグメントL、及び
L2並びに2つのセグメントH1及びH7を同時に給電
し、セグメントL。
及びL2を第1加算器に加え、セグメントHI及びH,
並びに第1加算器のキャリを第2加算器に加え、これら
加算器の一方によって最低2進重みのビットに相当する
部分を給電し、他方の加算器によって全結果の最高2進
重みのビットに相当する部分を給電し得るようにする。
n−ビットデータA及びp−ビットデータBは処理する
ことができる。好適には、n>pに対し。
乗算回路は任意の入力データのpビットの最小数に等し
い多数のセルを具え簡潔な乗算回路を得るようにする。
次式に対しては通常の代数記号、即ち、(・)二乗算、
(+):加算、(−):減算を用いる。
2つの2進数A及びBは次のビット順序で形成するもの
とする。
A = [a n=・a k−a +]B=[bp・・
・bk・・・b1〕 これら2進数が負である場合には、これら2進数は通常
のように2の補数表記で表すことができる。AとBとの
乗算は(n + p)ビットに符号化された数であり、
これを次式のように示す。
部分積は次式で示すように規定する。
p (o )−。
P (k )−P (k−1)+ A−bk・2に−1
、(1≦k<p)   ・・・ (1) 及び P (p )−P (p−1) −A−b、・2p−蔦
、(k=p) これら積P(k)は2進数の数列であり、これは次式で
示すように書換えることができる。
P(k)=4P、、に=−Pk、、、P1〕−(2)こ
の数列は次数にの各セルに対し次式で示す2つの項に分
解することができる。
L(k)−[Pk・・・ P、]    ・・・ (3
)H<k)−〔p、、に−pt、、、]   ・=  
(4)ここにLkは符号のついていない項に相当し、H
k−11= は符号のついた項に相当する。
項P(k)は次のように書き換えることができる。
P (k )−H(k )・2 k+L (k ’) 
  ・・・  (5)同様に項P(k)は次式のように
書き換えることができる。
P (k )−P (k−1)+ A−bk・2に−1
・・・ (6)即ち、 P (k )−(H(k−1)+ A−b k)・2 
k−’+ L (k−1)・・・ (7) 項H(k−1)+A−b kは2進数列S−[s 、、
、−s 、:]であり、次式で表すことができる。
又は 式(5)と比較し、上記項は次のようになることを確か
めた。
H(k)−[s。4.・・・ s、]  及びL (k
 )−L (k−1)十s 、・2に−1これがため、
項H(k−1) + A−b kを決めることにより数
列Sを決めることができ、その最上位ビットによって次
数にのセルの項H(k)を構成し、項L(k)は係数2
 k−1で重み付けされた最下位ビットS、を加えるこ
とによって項L(k−1)から導出することができる。
この処理を次数にの各セルで行うことができる。第1の
セルに対しては項H(0)及びL(0)をOとする。項
り、、L、、・・・Lpは順序1.2、・・・pのセル
において順次決め、Lに関連する接続バスにおいてp番
目のセルの出力側にこの順序で現れるようにする。項り
、・・・LPを決めると同時に、項り、・・・LPの出
力が終了する際に、乗算回路によってその出力側にHに
関連する接続バスに現れる項H,・・・Hpを決めるよ
うにする。これがため、最終結果の2つのセグメントL
及びHが出力側に順次現れるようになる。
図面につき本発明を説明する。
次の記号、即ち、(・):A N D−論理、(+):
OR−論理、(×)・乗算、(&):加算、(*):排
他的=OR。
(−)二反転を再び用いる。
第1A図は本発明バイブライン型直列乗算回路のセル状
構体を示す。乗算回路はセル108、・・・10k・・
・1しを具える。これらセルは5個の入力端子及び演算
同期用クロック入力端子りを具える。このクロックは全
部のセルに分布される。
入力端子A及びBは、乗算すべきデータ〔an・・・a
t)及び〔bp・・bI〕を夫々示す。両データは入力
端子に最下位ビットと共に供給される。制御信号Rによ
って種々のセル間及びこれらセル自体内の交換を制御す
る。第1セルの場合にはこれらの値を0にセットする。
しかし、入力端子Hは定数を加算する必要がある場合に
は非零値を受けることができる。
セル1は、入力端子A、B及びRに導入されたデータを
遅延してセル2に伝達する。又、これによっても値り、
及びH8を伝達して計算する。この処理は、p番目のセ
ルが最終結果、即ち、最初Lp、次いで、Hpを供給す
るまで継続する。
第1図BはデータA及びBの双方がnビットの長さを有
する場合におけるnセルに対する演算の時間ダイアグラ
ムを示す。全部のセルは期間りの基本クロック周期のn
倍に等しい時間周期に亘って作動する。第1セルは初期
瞬時から作動し、k番目のセルはkxhの遅延後作動を
開始し、n番目のセルはnXhの遅延後作動を開始する
。セルには瞬時kに項Lkの第1ビツトを発生し、瞬時
2kに項Hkの第1ビツトを発生する。
同様に、セルnによって瞬時nに項り、、の第1ビツト
を発生し、瞬時2nに項Hnの第1ビツトを発生する。
第1C図はnビットより成るデータA及びnビットより
成るデータBに対するnセルのこれら作動の時間ダイア
グラムを示す。これは第1B図においてに=pとした場
合に相当する。
セルpは瞬時pに項り、、の第1ビツトを発生し、瞬時
2pに項Hpの第1ビツトを発生する。
第2図は次数にのセル10k及び次数pの最後のセル1
0.を示す論理ダイアグラムである(1≦k<p)。
セル10には次の素子を具える。
・フリップフロップ27にの前段に設けられデータAk
−,を遅延するフリップフロップ21k。
・データB k−1を遅延するフリップフロップ22に
ト データHk−1を遅延するフリップフロップ24にト データL k−+を遅延するフリップフロップ2 ks ・フリップフロップ28にの前段に設けられデータRk
、を遅延するフリップフロップ26に1・信号Rk−,
の制御のもとてデータBk−1のに番目のビット、即ち
、ビットbkをとってくるセレクタ31k。
このビットbkはセルkによって使用すべき次数で周期
nXhに亘ってフリップフロップ23kに記憶する。フ
リップフロップ23にの出力及びフリップフロップ21
にの出力をANDゲート35kに供給してビットbkと
Can・・・a1〕との乗算を行い得るようにする。全
てのフリップフロップはクロック電圧りによって制御す
る。
各セル10には加算器37kを具える。この加算器は3
個の入力端子及び3個の出力端子を有するl−ビット加
算器である。各入力端子に存在するビットをx+  3
’+  rで夫々表わし、各出力端子に夫々存在するビ
ットをvl  cO+  CIで夫々表わす場合には加
算器により発生する結果は一般に次に示す論理式で表わ
すことができる。
x*y=1の場合には。
V”r、Co=X及びc、=r x*y=oの場合には。
v−r、co=x及びC,=X ここに(*)は排他的−OR演算を表わし、(−)は反
転演算を表わす。加算器37にではAND−ゲート35
にの出力をフリップフロップ24にの出力に加算すると
共にキャリckに加算して部分結果vkを供給し得るよ
うにする。又、加算器37kによってキャリC8kを発
生し、これをフリップフロップ29にで遅延する。セレ
クタ32kによって次式で示すキャリCkを供給する。
〜18− c k= c 、h(d)−Rk−+(d )又、加算
器37kによってもデータC6kと同一クロック周期で
次式で示されるデータC1kを供給する。
c Ik= I: x k& y k& c ok′3
modulo 2セレクタ33kによって次式で示すデ
ータHkを供給する。
Hk−vk−Rk−I(d)+cIk(d)・Rk、、
、(d)同様に、セレクタ34kによって次式で示すデ
ータLkを供給する。
L k−v k−Rh−+(d )+ L ++−+(
d )−Rk−1(d )セル10pは次に示すこと以
外はセル10にと同一である。セレクタ32pによって
次式で示すキャリC1を選択する。
c p−Rp−+(d)−b p+ Rp−+(d )
−c op(d)・ フリップフロップ21.の出力を
インバータ36、、に供給し、その出力をAND−ゲー
トに供給する。
・ 2つの乗算回路を直列に接続すると共にデータA及
びBを伝送する必要がある場合(第4図参照)を除いて
、2個のフリップフロップ27p及び22pを省略する
ことができる。
演算機構は次の通りであり、データA及びBに含まれる
4つのビットの場合を例にとって説明する。この場合乗
算回路は4つのセルを具える。第1周期の開始時には、
RO= Oである。
束土岡朋p終了時には: ・ フリップフロップ211は ビットa、を記憶する
・ フリップフロップ22.はビットb、を記憶する。
・ フリップフロップ23.はビットb、を記憶する。
・ フリップフロップ24.はビットH(0)−〇を記
憶する。
・ フリップフロップ251はビットL(0)−〇を記
憶する。
・ フリップフロップ26.によって論理〇−状態に切
換える。
第2周期中ニ ー19= ・ 加算器37.によってaI−bIの計算による演算
を開始する。
第2周期の終了時には: ・ ビットa、はフリップフロップ271の出力まで前
進する。
・ ビットb、はフリップフロップ22.の出力まで前
進する。
・ フリップフロップ23.によって ビットb。
を節約する。
・ フリップフロップ23.はいまだ零状態にある。
第3周期の終了時6嶋: ・ ビットa、はフリップフロップ21.の出力まで前
進する。
・ ビットb、はフリップフロップ22.の出力まで前
進する。
・ フリップフロップ23.によって ビットb。
を節約する。
・ フリップフロップ23.によって ビットb。
を記憶する。
第4周期中: ・ 加算器37.はaI−b、の計算による演算を開始
する。
各セルの計算は次に示すように行う。
第1セル   第2セル 第1周期      00 第2周期    a+b+       。
第3周期    att)+     a+b+ & 
0第4周期    a3b+     atb、 & 
a+bt第5周期    a4b、aab+ & at
bt第6周期      Q     ’a4b+ &
 a3bt第7周期      00&a4b。
第8周期      OO 第9周期      00 第10周期     00 第11周期     OO 第3セル    第4セル 第1周期   00 第2周期   00 第3周期   00 第4周期a+bJO。
第5周期atll+&atbt&o   a、b。
第6周期a3b+&a、bJa+b、1azb1&a+
b。
第7周期a4b+&a3bz&azt)+  83b+
&atbJa+b*第8周期   a4bJa3tl+
  atb+IIIa3bt&a、b3&a+b4第9
周期     a4b3    a+bJa3b+&a
tbt第10周期  Oaab+&a3bt 第11周期  Oatb4 乗算回路の各セルで行われるこれら単位演算をもとにし
て、信号Lk及びHkを次に示すように各セルで構成し
、その状態を第3図に示す。
Δは接続バス73にのデータを示す。
Bは接続バス72にのデータを示す。
Cは接続バス71にのデータを示す。
即ち、セレクタ34k及び33にのヘッドを示す。
これらセレクタは接続バス76にの信号Rk−3(d)
によって作動し、第2図に示す位置はR,、−1に相当
する位置である。計算サイクルの終了時には。
Rk−+は1クロック周期に零となる。これがため所定
ビットを挿入することができ、D及びEで示す構成を得
ることができる。
次数にのセルに対しては、信号Lkの第1にビットのみ
が決まっており、k−p(又はに−n)の残部は零とな
る。本発明によれば計算された項vkの最上位ビットh
IkをデータL k−1に挿入して信号Lkを形成し得
るようにする。この挿入は信号Rによって制御し、ビッ
トh IkがセグメントLkの最上位ビットとなるよう
に行う。
同様に、セルkにより計算されたデータc、にはまず最
初、セル30kによって全て遅延され、データVkに挿
入されて信号Hkを形成する。データC1には信号Hk
の最上位ビットとなる。この状態を第3図のEに示す。
これらの演算を各セルで繰返して乗算回路の出力側に、
A(nビット)及びB(pビット)の乗算の正確な結果
を構成するセグメントL、、次いでセグメントHpが得
られるようにする。この場合の演算はn+pビットに亘
る正確な結果に対してLpを発生するためのpクロック
周期及びHpを発生するためのロクロック周期のみを必
要とする。n〉pの場合にはnサイクル毎に新たな演算
を開始することができる。これがため、出力割合はF 
/ nとなり、ここにFはクロック周波数である。pを
セルの数とする場合にはデータの第1ピツトの導入開始
時と結果の第1ビツトの出力との間の時間遅延周期であ
る待ち時間はpサイクルとなる。
データA及びBは2つの整数とする。或は又、Bを例え
ば1以下の係数とすることができる。この場合には、セ
グメントHpは結果の整数部分を含み、L、は分数を含
む。
上述した2つの乗算回路は、データBをp個のビットか
ら2pビツトに拡張するために直列に接続することがで
きる。第5図に示すダイアグラムから明らかなように、
2個の乗算回路41及び42を並列に作動させて第1の
乗算AXB及び第2の乗算CXDを行ってその結果(A
XB)& (CXD)を得ることができる。
最下位ビットを有するセグメントLをまず最初供給して
加算器43で加算する。同様に、加算器44で最上位ビ
ットを有するセグメントHを加算器43により供給され
るキャリに加算する。
最終結果は2つのセグメントのビットの形態で再び取出
す。
第2図に示す最後のセルのダイアグラムは同一の乗算回
路の入力端子に接続し得ない乗算回路に関連するもので
ある。この可能性を得るために、最後のセルを第4図に
示すダイアグラムに従って変形する必要がある。
フリップフロップ27p及び28.によって、データA
I、及びR2を前のセルの場合と同様に遅延すると共に
所望の箇所に転送する。個の場合外部制御信号によって
演算モードを制御し、数個の乗算回路より成る群の最後
の乗算回路の最後のセルのみが特定の演算モードを有す
るようにする。これがため、前の乗算回路の他の最終セ
ルを外部制御信号Fによって制御して他の全部のセルと
同様に演算し得るようにする。この目的のため、AND
−ゲート51に外部制御信号F及びビットbpを供給す
ると共に排他的OR〜ゲート52に外部制御信号F及び
フリップフロップ21pの出力信号を供給する。外部制
御信号Fが論理Oである場合には、最後のセルは特定の
モードで作動する。外部制御信号Fが論理1である場合
には、このセの特性は他のセル全部の特性と同様になる
かようにして、複数の乗算回路を縦続接続して少なくと
もデータA又はBのビットの数を拡張することができる
これがため、p番目のセルは、次式: %式%() 従ってキャリCpを決めると共にタイプ(A*F)・b
pの演算を行う手段を具え、ここに(*)は排他的−O
R関数を示し、Fはp番目のセルの制御を可能にして縦
続接続の乗算回路を得る信号を示すよすることかできる
【図面の簡単な説明】
第1A図は乗算nXp (n>p)に対し9個のセルを
具える本発明パイプライン型直列乗算回路のセル状構体
を示すブロック回路図、 第1B図はロスnビット乗算に関連する時間ダイアグラ
ムを示す説明図、 第1C図は第1A図のセル状構体に関連する時間ダイア
グラムを示す説明図、 第2図は次数にの1つのセル及び次数pの最終セルを示
す論理回路図、 第3図は本発明によるセグメントL及びHにおけるデー
タの移動を示す説明図 第4図は縦続接続乗算回路を得るために最終セルを変形
して示すブロック回路図、 第5図は演算(AXB)& (CxD)を行うために、
本発明により2つの乗算回路を並列接続した状態を示す
ブロック回路図である。 10に、top  ・・・ セル 21に〜30k ・・・ フリップフロップ21p〜3
0p  ・・・ フリップフロップ31に〜34k  
・・・ セレクタ 31p〜34p  ・・・ セレクタ 35k、35p  ・・・ AND−回路36p  ・
・・ インバータ 37に、37p  ・・・ 加算器 41.42  ・・・ 乗算回路 43.44 ・・・ 加算器 特許出願人 エヌ・ ベー・フィリップス・フルーイラ
ンペンファブリケン 昏 」 一29=

Claims (1)

  1. 【特許請求の範囲】 1、デジタルデータの2つの同期化ストリーム、即ち、
    nビット〔a_n・・・a_k・・・a_1〕より成る
    ストリームA及びpビット〔b_p・・・b_k・・・
    b_1〕より成るストリームB(ここにn、k及びpは
    整数)を、パイプラインモードで各セルにおいて被乗数
    Aと乗数Bの各ビットの部分積を形成し、その後これら
    をクロック周波数Fで順次に加算することにより乗算す
    るセル型構体を有するものであって、次数にの各セルが
    、データx_k、y_k及びキャリc_kを受けて、所
    定瞬時に、次式: v_k=(x_k&y_k&c_k)modulo2c
    _o_k=(x_k&y_k&c_k)/2(ここに、
    c_kは所定瞬時に前のクロック周期中同一のセルで決
    まるデータc_o_kに等しくなり、その後遅延してc
    _k=c_o_k(d)となる)で示される結果v_k
    及びキャリc_o_kを出力する単位1−ビット加算器
    と、2つの順次のセルによって取出されたデータを同期
    化する手段と、データビット及びキャリc_o_kを一
    時的に記憶する手段とを具えるパイプライン型直列乗算
    回路において、前記乗算回路は、信号Rの制御により2
    つの連続ビットセグメントで、即ち、まず最初、最低の
    2進重みを有するpビットによって形成されたセグメン
    トL、次いで、最高2進重みを有するnビット(ここに
    n>p)によって形成されたセグメントHとで、演算の
    正確な結果を導出する手段を設け、前記乗算回路の出力
    比をF/nとし、この導出手段は、一時記憶後、同一ク
    ロック周期中データc_o_kとして取出される次式: c_1_k=(x_k&y_k&c_o_k)modu
    lo2で示すデータc_1_kを発生する手段と、次数
    kの各セルによって供給され、次式: L_k=L_k_−_1(d)・R_k_−_1(d)
    +v_k・@R@_k_−_1(d)H_k=v_k・
    R_k_−_1(d)+c_1_k(d)・@R@_k
    _−_1(d)(ここにR_k_−_1(d)は前記セ
    ルkの1クロック周期だけ遅延され前のセルを経てセル
    kに供給される信号である)で示される部分セグメント
    L_k及びH_kを決める手段とを具え、次数kの前記
    加算器におけるキャリc_kの再導入を、p−1番目の
    セルに対してはc_k=c_o_k(d)・R_k_−
    _1(d)に従って、及びp番目のセルに対してはc_
    p=b_p・@R@_p_−_1(d)+R_p_−_
    1(d)・c_o_p(d)信号R_k_−_1(d)
    によって制御し、c_1_k(d)をk番目のセルのク
    ロック周期によって遅延されたデータc_1_kとし、
    p−1番目のセルによってデータA及びBにタイプA・
    b_kの演算を行い、p番目のセルによってタイプ@A
    @・b_pの演算を行い、使用する符号は(・):AN
    D論理、(+):OR論理、(x):乗算、(&):加
    算とすることを特徴とするパイプライン型直列乗算回路
    。 2、n個のセルを具え、一時記憶手段によって各セルの
    乗数Bのビットを遅延するようにしたことを特徴とする
    請求項1に記載のパイプライン型直列乗算回路。 3、p個のセルを具え、一時記憶手段によって各セルの
    被乗数Aのビットを遅延するようにしたことを特徴とす
    る請求項1に記載のパイプライン型直列乗算回路。 4、p番目のセルは、次式: c_p=F・b_p・@R@_p_−_1(d)+R_
    p_−_1(d)・c_o_p(d)に従ってキャリc
    _pを決めると共にタイプ(A*F)・b_pの演算を
    行う手段を具え、ここに(*)は排他的−OR関数を示
    し、Fはp番目のセルの制御を可能にして縦続接続の乗
    算回路を得る信号を示すようにしたことを特徴とする請
    求項1〜3の何れかの項に記載のパイプライン型直列乗
    算回路。 5、請求項4に記載の乗算回路を数個直列接続した乗算
    回路群を具え、これら乗算回路群を縦続接続して少なく
    ともデータA又はBのいずれかのビットの数を拡張する
    ようにしたことを特徴とする乗算器構体。 6、並列接続の2個の乗算回路又は請求項1〜5の何れ
    かの項に記載の2つの乗算回路群を具え、2つの乗算回
    路又は2つの乗算回路群によってその2つのセグメント
    L_1及びL_2並びに2つのセグメントH_1及びH
    _2を同時に給電し、セグメントL_1及びL_2を第
    1加算器に加え、セグメントH_1及びH_2並びに第
    1加算器のキャリを第2加算器に加え、これら加算器の
    一方によって最低2進重みのビットに相当する部分を給
    電し、他方の加算器によって全結果の最高2進重みのビ
    ットに相当する部分を給電するようにしたことを特徴と
    する乗算器構体。
JP63236620A 1987-09-25 1988-09-22 パイプライン型直列乗算回路 Pending JPH01100627A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8713291 1987-09-25
FR8713291A FR2621144B1 (fr) 1987-09-25 1987-09-25 Multiplieur pipeline serie

Publications (1)

Publication Number Publication Date
JPH01100627A true JPH01100627A (ja) 1989-04-18

Family

ID=9355233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63236620A Pending JPH01100627A (ja) 1987-09-25 1988-09-22 パイプライン型直列乗算回路

Country Status (4)

Country Link
US (1) US4994997A (ja)
EP (1) EP0309037A1 (ja)
JP (1) JPH01100627A (ja)
FR (1) FR2621144B1 (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556044B2 (en) 2001-09-18 2003-04-29 Altera Corporation Programmable logic device including multipliers and configurations thereof to reduce resource utilization
FR2705475B1 (fr) * 1993-05-19 1995-07-28 France Telecom Multiplieur exempt de débordement interne, notamment multiplieur bit-série, et procédé pour empêcher un débordement interne d'un multiplieur.
JP3203454B2 (ja) * 1993-08-26 2001-08-27 日本プレシジョン・サーキッツ株式会社 乗算器
US5784011A (en) * 1996-06-14 1998-07-21 Lsi Logic Corporation Multiplier circuit for performing inverse quantization arithmetic
US6397241B1 (en) 1998-12-18 2002-05-28 Motorola, Inc. Multiplier cell and method of computing
FR2789245A1 (fr) * 1999-01-28 2000-08-04 Suisse Electronique Microtech Circuit de calcul programmable base sur l'arithmetique en ligne
US6438570B1 (en) * 1999-07-21 2002-08-20 Xilinx, Inc. FPGA implemented bit-serial multiplier and infinite impulse response
KR100460764B1 (ko) * 2000-05-31 2004-12-09 매그나칩 반도체 유한회사 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8266198B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US7913203B1 (en) 2007-11-23 2011-03-22 Altera Corporation Method and apparatus for designing a system on multiple field programmable gate array device types
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8805916B2 (en) * 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) * 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) * 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9459832B2 (en) 2014-06-12 2016-10-04 Bank Of America Corporation Pipelined multiply-scan circuit
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3956622A (en) * 1974-12-20 1976-05-11 Bell Telephone Laboratories, Incorporated Two's complement pipeline multiplier
JPS58201141A (ja) * 1982-05-20 1983-11-22 Matsushita Electric Ind Co Ltd 乗算装置
EP0197122B1 (en) * 1984-10-16 1992-08-12 The Commonwealth Of Australia A cellular floating-point serial-pipelined multiplier
GB2166272B (en) * 1984-10-27 1988-06-29 Stc Plc Serial multiplier circuit
JPS61177544A (ja) * 1985-02-04 1986-08-09 Nippon Telegr & Teleph Corp <Ntt> 直列乗算装置

Also Published As

Publication number Publication date
US4994997A (en) 1991-02-19
FR2621144A1 (fr) 1989-03-31
EP0309037A1 (fr) 1989-03-29
FR2621144B1 (fr) 1989-12-29

Similar Documents

Publication Publication Date Title
JPH01100627A (ja) パイプライン型直列乗算回路
US5448639A (en) Digital signature device
US4891781A (en) Modulo arithmetic processor chip
US5210710A (en) Modulo arithmetic processor chip
US5751619A (en) Recurrent adrithmetical computation using carry-save arithmetic
US4156922A (en) Digital system for computation of the values of composite arithmetic expressions
JPH08263316A (ja) モンゴメリ法によるモジュラ乗算の実施方法
JPS62194577A (ja) 複素乗算器及び複素乗算方法
US4939687A (en) Serial-parallel multipliers using serial as well as parallel addition of partial products
JP3345894B2 (ja) 浮動小数点乗算器
JP2722412B2 (ja) モンゴメリ法によるモジュラ操作の実行に伴うエラー訂正パラメータの算出方法
US7607165B2 (en) Method and apparatus for multiplication and/or modular reduction processing
EP0281303A2 (en) Modulo arithmetic processor chip
JPH0793295A (ja) 非線形関数を近似する方法およびシステム
US5948051A (en) Device improving the processing speed of a modular arithmetic coprocessor
US5031137A (en) Two input bit-serial multiplier
US5150321A (en) Apparatus for performing serial binary multiplication
US6004022A (en) Product sum operation apparatus
KR0154792B1 (ko) 비트 시리얼 기법을 이용한 미분기
RU2797164C1 (ru) Конвейерный умножитель по модулю
JP3461706B2 (ja) ディジットシリアル乗算器
JPS6222178A (ja) 2つの複素数の乗算のための乗算器
JP3123060B2 (ja) ディジタル演算回路
JP2001005642A (ja) 乗算器
JP3412368B2 (ja) ビットシリアル2乗演算回路