JP2000148447A - 乗算器及びその演算方法 - Google Patents

乗算器及びその演算方法

Info

Publication number
JP2000148447A
JP2000148447A JP11312381A JP31238199A JP2000148447A JP 2000148447 A JP2000148447 A JP 2000148447A JP 11312381 A JP11312381 A JP 11312381A JP 31238199 A JP31238199 A JP 31238199A JP 2000148447 A JP2000148447 A JP 2000148447A
Authority
JP
Japan
Prior art keywords
data
word
bit
carry
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
JP11312381A
Other languages
English (en)
Inventor
Sun Lee Don
スン リー ドン
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.)
SK Hynix Inc
Original Assignee
Hyundai Electronics Industries Co Ltd
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 Hyundai Electronics Industries Co Ltd filed Critical Hyundai Electronics Industries Co Ltd
Publication of JP2000148447A publication Critical patent/JP2000148447A/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/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing
    • 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/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
    • 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/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • 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/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】簡易な回路構成で、ワード乗算及びバイト乗算
を迅速に行い得る乗算器及びその演算方法を提供する。 【解決手段】2つのワードデータX、Yのうちのワード
データXを処理する第1,第2符号化器210、212
と、ワード制御信号Wにより第1,第2符号化器21
0、212からの符号化信号DX、DY、DZ及びワー
ド符号化信号WDX、WDY、WDZとワードデータY
とをワード乗算及びバイト乗算してデータ部分乗算数及
びキャリーデータ部分乗算数を出力する部分乗算数生成
部213と、データ部分乗算数及びキャリーデータ部分
乗算数を上位及び下位の部分乗算数に分割するワリスツ
リー演算部214と、上位及び下位のデータ部分乗算数
及びキャリーデータ部分乗算数を、ワード制御信号Wに
よりワード乗算又はバイト乗算する第1,第2加算器2
16、218と、を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、乗算器及びその乗
算方法に係るもので、詳しくは、nビット及びn/2ビ
ットのデータを乗算し得る乗算器及びその乗算方法に関
するものである。
【0002】
【従来の技術】従来、ワード乗算及びバイト乗算を行う
乗算器は、ロングハンドフォーム(long-hand form)を
用いて2つの数を乗算する回路として構成されていた。
【0003】このようにロングハンドフォームにより2
つの数を乗算するときは、乗数と被乗数との桁数を整合
した後、乗数の各桁数に対して被乗数の各桁数を夫々乗
算し、その乗算結果値を、乗数値の桁数を基準に配列
し、該配列された結果を加算するようになっていた。
【0004】例えば、ロングハンドフォームを利用し
て、18ビットのワードデータA[17:0]と18ビ
ットのワードデータB[17:0]とを乗算するときの
展開式を表すと、数2に示すようになる。
【0005】
【数2】
【0006】ここで、前記バイトデータA[17:9]
及びバイトデータB[17:9]と、バイトデータA
[8:0]及びバイトデータB[8:0]とは、前記ワ
ードデータA[17:0]及びワードデータB[17:
0]を、9ビットの上位バイトと下位バイトとに夫々分
割して表わしたもので、各バイトを計算して展開する式
は周知であるため、説明を省略する。
【0007】従来の乗算器の構成は、図5に示したよう
に、18ビットのワードデータA[17:0]が入力さ
れる入力ポート100と、18ビットのワードデータB
[17:0]が入力される入力ポート104と、前記1
8ビットのワードデータA[17:0]を9ビットの上
位バイトデータA[17:9]と9ビットの下位バイト
データA[8:0]とに分割するポート102と、前記
18ビットのワードデータB[17:0]を9ビットの
上位バイトデータB[17:9]と9ビットの下位バイ
トデータB[8:0]とに分割するポート106と、選
択信号SELが入力される入力ポート108と、前記選
択信号SEL及び前記9ビットの上位バイトデータA
[17:9]が入力されるマルチプレクサ110と、前
記選択信号SEL及び前記9ビットの下位バイトデータ
A[8:0]が入力されるマルチプレクサ114と、前
記9ビットの下位バイトデータB[8:0]及び前記マ
ルチプレクサ110の出力信号が夫々入力される9ビッ
ト乗算器112と、前記9ビットの下位バイトデータA
[8:0]及び下位バイトデータB[8:0]が入力さ
れる9ビット乗算器116と、前記9ビットの上位バイ
トデータA[17:9]及び上位バイトデータB[1
7:9]が入力される9ビット乗算器118と、前記9
ビットの上位バイトデータB[17:9]及び前記マル
チプレクサ114の出力信号が入力される9ビット乗算
器122と、前記各9ビット乗算器の116,118の
出力信号を連結する連結ポート120と、前記各9ビッ
ト乗算器112,122の出力信号を加算する加算器1
24と、該加算器124から出力される19ビットの出
力信号の前に8ビットの‘0’を挿入し、後に9ビット
の‘0’を挿入して、36ビットの出力信号を生成する
連結ポート126と、前記各連結ポート120,126
の出力信号を加算する36ビット加算器128と、該3
6ビット加算器128の出力信号を出力する出力ポート
130と、から構成されていた。
【0008】以下、このように構成された従来の乗算器
の動作を説明する。先ず、入力ポート102に18ビッ
トのワードデータA[17:0]が入力され、入力ポー
ト104に18ビットのワードデータB[17:0]が
入力されると、前記18ビットのワードデータA[1
7:0]は、ポート102で9ビットの上位バイトデー
タA[17:9]と9ビットの下位バイトデータA
[8:0]とに分割され、前記18ビットのワードデー
タB[17:0]は、ポート106で9ビットの上位バ
イトデータB[17:9]と9ビットの下位バイトデー
タB[8:0]とに分割される。
【0009】このとき、選択信号SELがハイレベルで
あると、前記マルチプレクサ110,114が活性化さ
れるため、各9ビット乗算器112,116,118,
122が動作して、18ビット乗算を行う。即ち、9ビ
ット乗算器112は、A[17:9]×B[8:0]の
演算を行い、9ビット乗算器116は、A[8:0]×
B[8:0]の演算を行い、9ビット乗算器118は、
A[17:9]×B[17:9]の演算を行い、9ビッ
ト乗算器122は、A[8:0]×B[17:9]の演
算を行う。
【0010】前記9ビット乗算器118,116から夫
々出力される18ビットの出力信号は、連結ポート12
0を経て、36ビットの出力信号(A[17:9]×B
[17:9]+A[8:0]×B[8:0])が出力さ
れる。
【0011】前記9ビット乗算器112,122から夫
々出力される18ビットの出力信号は、加算器124で
加算されて、19ビットの出力信号(A[17:9]×
B[8:0]+A[8:0]×B[17:9])が出力
される。ここで、前記加算器124から、入力された1
8ビットよりも1ビットが大きい19ビットの出力信号
が出力される理由は、1ビットのキャリー(carry)デ
ータを包含しているためである。
【0012】その後、前記加算器124から出力された
19ビットの出力信号は、連結ポート126にて、該1
9ビットの出力信号の前の8ビット及び後の9ビットに
‘0’が夫々挿入され、36ビットの出力信号になる。
【0013】次いで、前記36ビット加算器128は、
前記連結ポート120,126から夫々出力される36
ビットの出力信号(A[17:9]×B[17:9]+
A[17:9]×B[8:0]+A[8:0]×B[1
7:9]+A[8:0]×B[8:0])を演算して、
36ビットの出力信号Z[35:0]を出力する。
【0014】ここで、便宜上、出力信号の結果値の桁数
を表わす2の乗数は表示しなかった。一方、選択信号S
ELがローレベルであると、前記マルチプレクサ11
0,114は活性化されないため、各9ビット乗算器1
12,122は信号を出力しない。しかし、9ビット乗
算器118,116は活性化されて、A[17:9]×
B[17:9]及びA[8:0]×B[8:0]の乗算
結果を夫々出力する。これらの乗算結果値は、前記連結
ポート120,126を経て、36ビット乗算器128
に伝送される。
【0015】このとき、前記36ビット加算器128の
36ビットの出力信号Z[35:0]のうちの18ビッ
トの上位バイトデータZ[35:18]は、前記9ビッ
ト乗算器118の18ビットの出力信号(A[17:
9]×B[17:9])と同様であり、18ビットの下
位バイトデータZ[17:0]は、前記9ビット乗算器
116の18ビットの出力信号(A[8:0]×B
[8:0])と同様である。
【0016】ここで、便宜上、出力信号の結果値の桁数
を表わす2の乗数は表示しなかった。このようにして、
従来の乗算器は、選択信号SELにより、9ビット又は
18ビットのデータの乗算を行っていた。
【0017】
【発明が解決しようとする課題】然るに、このような従
来の乗算器においては、9ビット又は18ビットの乗算
を行うとき、4個の9ビット乗算器112,116,1
18,122と、1個の18ビット加算器124と、1
個の36ビット加算器128と、を用いているため、演
算の速度が遅く、回路の容積が大きくなるという不都合
な点があった。
【0018】そこで、本発明は、このような従来の課題
に鑑みてなされたもので、回路の構成を簡易化しながら
も、ワード乗算及びバイト乗算を迅速に行い得る乗算器
を提供することを目的とする。
【0019】
【課題を解決するための手段】このような目的を達成す
るため、本発明に係る請求項1に記載の乗算器は、2つ
のワードデータのワード乗算及びバイト乗算を行う乗算
器であって、2つのワードデータのうちの一方のワード
データの下位バイトデータ、第1キャリーデータ及びワ
ード制御信号を入力し、第1〜第3符号化信号の下位ビ
ットデータ及び第1〜第3ワード符号化信号の下位ビッ
トデータを夫々出力する第1符号化器と、前記下位バイ
トデータの最上位ビットを前記ワード制御信号に応じて
第2キャリーデータとして出力する第1ゲート部と、前
記一方のワードデータの上位バイトデータ、ワード制御
信号及び前記第2キャリーデータを入力し、第1〜第3
符号化信号の上位ビットデータ及び第1〜第3ワード符
号化信号の上位ビットデータを夫々出力する第2符号化
器と、前記第1符号化器から出力される第1〜第3符号
化信号の下位ビットデータ及び第1〜第3ワード符号化
信号の下位ビットデータ、並びに前記第2符号化器から
出力される第1〜第3符号化信号の上位ビットデータ及
び第1〜第3ワード符号化信号の上位ビットデータと、
前記2つのワードデータのうちの他方のワードデータと
を用いて、前記ワード制御信号の制御に応じてワード乗
算又はビット乗算を行い、部分乗算数を夫々生成する複
数のサブモジュールから成る部分乗算数生成部と、前記
生成された部分乗算数が入力されて、第1,第2データ
部分乗算数と第1,第2キャリー部分乗算数とを出力す
る演算部と、前記第1データ部分乗算数と第1キャリー
部分乗算数と第3キャリーデータとを加算して、第1出
力信号及び第4キャリーデータを出力する第1加算器
と、前記第4キャリーデータを前記ワード制御信号に応
じて出力する第2ゲート部と、前記第2データ部分乗算
数、第2キャリー部分乗算数及び前記第2ゲート部から
の出力データを入力して第2出力信号及び第5キャリー
データを夫々出力する第2加算器と、を備えて構成され
る。
【0020】請求項2に記載の発明では、前記第1符号
化器は、前記第1〜第3符号化信号の下位ビットデータ
と前記ワード制御信号とを夫々論理積演算して前記第1
〜第3ワード符号化信号の下位ビットデータを生成し、
前記第2符号化器は、前記第1〜第3符号化信号の上位
ビットデータと前記ワード制御信号とを夫々論理積演算
して前記第1〜第3ワード符号化信号の上位ビットデー
タを生成する。
【0021】請求項3に記載の発明では、前記第1符号
化器は、前記一方のワードデータの下位バイトデータを
下位ビットから2ビットずつ入力するデータ入力端子
と、キャリーデータを入力するキャリー入力端子と、前
記第1〜第3符号化信号の下位ビットデータを1ビット
ずつ出力するデータ出力端子とを有する複数の演算器を
備え、初段の演算器のキャリー入力端子には前記第1キ
ャリーデータを入力し、2段目以後の演算器のキャリー
入力端子には前段の演算器のデータ入力端子に入力する
2ビットのビットデータのうちの上位ビットを入力し、
前記各演算器の各データ出力端子から夫々出力する前記
第1〜第3符号化信号の下位バイトデータと前記ワード
制御信号とを夫々論理積演算して前記第1〜第3ワード
符号化信号の下位バイトデータを夫々出力する複数のN
ANDゲートと、から構成され、前記第2符号化器は、
前記一方のワードデータの上位バイトデータの下位ビッ
トから2ビットずつ入力するデータ入力端子と、キャリ
ーデータを入力するキャリー入力端子と、前記第1〜第
3符号化信号の上位ビットデータを1ビットずつ出力す
るデータ出力端子とを有する複数の演算器を備え、初段
の演算器のキャリー入力端子には前記第1ゲート部から
出力する第2キャリーデータを入力し、第2段目以後の
演算器のキャリー入力端子には前段の演算器のデータ入
力端子に入力する2ビットのビットデータのうちの上位
ビットを入力し、前記各演算器の各データ出力端子から
夫々出力する前記第1〜第3符号化信号の上位バイトデ
ータと前記ワード制御信号とを夫々論理積演算して前記
第1〜第3ワード符号化信号の上位バイトデータを夫々
出力する複数のNANDゲートと、から構成される。
【0022】請求項4に記載の発明では、前記各演算器
は、前記キャリー入力端子に入力するデータが0である
ときには、前記データ入力端子に入力する、十進数で
0、1、2、3の値となる2ビットのビットデータを、
十進数で0、1、−2、−1の値として夫々出力し、前
記キャリー入力端子に入力するデータが1であるときに
は、前記データ入力端子に入力する、十進数で0、1、
2、3の値となる2ビットのビットデータを、十進数で
0、1、−1、0の値として出力する。
【0023】請求項5に記載の発明では、前記第1ゲー
ト部及び第2ゲート部はNANDゲートから成ることと
する。請求項6に記載の発明では、前記部分乗算数生成
部は、下記の論理式(A)〜(N)で表される各演算を
行うサブモジュールを夫々備える。
【0024】
【数3】
【0025】尚、DX、DY、DZは、第1、第2、第
3符号化信号を示し、WDX、WDY、WDZは、第
1、第2、第3ワード符号化信号を示し、W及び/W
は、ワード制御信号及びその反転信号を示し、Yi(i
は整数)は前記他方のワードデータの桁数を示す。
【0026】請求項7に記載の発明では、前記演算部
は、ワリスツリー加算器であることとする。請求項8に
記載の発明では、前記2つのワードデータは夫々16ビ
ットであり、前記ワードデータの上位バイトデータ及び
下位バイトデータは夫々8ビットであることとする。
【0027】本発明に係る請求項9に記載の乗算方法
は、2つのワードデータのワード乗算及びバイト乗算を
行う乗算方法であって、第1ワードデータ(X[15:
0])及び第2ワードデータ(Y[15:0])の何れ
か一方のワードデータ(X(Y)[15:0])を上位
バイトデータ(X(Y)[15:8])と下位バイトデ
ータ(X(Y)[7:0])とに分割する段階と、前記
一方のワードデータの下位バイトデータ(X(Y)
[7:0])及び上位バイトデータ(X(Y)[15:
8])を用いて、ワード制御信号がハイレベルであると
きには、第1、第2及び第3符号化信号の上位バイトデ
ータ及び下位バイトデータ(DX[7:4]、DY
[7:4]、DZ[7:4])、(DX[3:0]、D
Y[3:0]、DZ[3:0])と、第1、第2及び第
3ワード符号化信号の上位バイトデータ及び下位バイト
データ(WDX[7:4]、WDY[7:4]、WDZ
[7:4])、(WDX[3:0]、WDY[3:
0]、WDZ[3:0])とを生成し、前記ワード制御
信号がローレベルであるときには、第1、第2及び第3
符号化信号の下位バイトデータ(DX[3:0]、DY
[3:0]、DZ[3:0])と、第1、第2及び第3
ワード符号化信号の下位バイトデータ(WDX[3:
0]、WDY[3:0]、WDZ[3:0])とを生成
する段階と、前記ワード制御信号がハイレベルであると
きには、前記第1、第2及び第3符号化信号の上位バイ
トデータ(DX[7:4]、DY[7:4]、DZ
[7:4])と前記第1、第2、第3ワード符号化信号
の上位バイトデータ(WDX[7:4]、WDY[7:
4]、WDZ[7:4])とを加算し、前記第1、第2
及び第3符号化信号の下位バイトデータ(DX[3:
0]、DY[3:0]、DZ[3:0])と前記第1、
第2、第3ワード符号化信号の下位バイトデータ(WD
X[3:0]、WDY[3:0]、WDZ[3:0])
とを加算して、ワードデータ部分乗算数及びキャリーワ
ード部分乗算数を生成し、前記ワード制御信号がローレ
ベルであるときには、前記第1、第2及び第3符号化信
号の下位バイトデータ(DX[3:0]、DY[3:
0]、DZ[3:0])と前記第1、第2及び第3ワー
ド符号化信号の下位バイトデータ(WDX[3:0]、
WDY[3:0]、WDZ[3:0])とを加算して、
バイトデータ部分乗算数及びキャリーバイト部分乗算数
を生成する段階と、前記ワード制御信号がハイレベルで
あるときには、前記ワードデータ部分乗算数を上位ワー
ドデータ部分乗算数と下位ワードデータ部分乗算数に分
割し、キャリーワード部分乗算数を上位キャリーワード
部分乗算数と下位キャリーワード部分乗算数に分割する
段階と、前記ワード制御信号がハイレベルであるときに
は、前記下位ワードデータ部分乗算数と下位キャリーワ
ード部分乗算数とを加算し、前記上位ワードデータ部分
乗算数と上位キャリーワード部分乗算数とを加算して、
該加算結果をそれぞれ出力し、前記ワード制御信号がロ
ーレベルであるときには、前記バイト部分乗算数とキャ
リーバイト部分乗算数とを加算して、該加算結果を出力
する段階と、を順次行う。
【0028】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて説明する。本実施形態は、16ビットの
第1ワードデータX[15:0]と16ビットの第2ワ
ードデータY[15:0]とを乗算する際に、ワード制
御信号Wの制御により、ワード乗算(X[15:0]×
Y[15:0]=Z[31:0])又はバイト乗算(X
[15:8]×Y[15:8]=Z[31:16]又は
X[7:0]×Y[7:0]=Z[15:0])を行う
乗算器である。
【0029】本実施形態に係る乗算器は、図1に示した
ように、16ビットの第1ワードデータX[15:0]
及び16ビットの第2ワードデータY[15:0]が入
力される各入力ポート200,204と、1ビットのワ
ード制御信号Wが入力される入力ポート206と、前記
入力ポート200から入力された第1ワードデータX
[15:0]を8ビットの上位バイトデータX[15:
8]と8ビットの下位バイトデータX[7:0]とに分
割するポート202と、第1ワードデータX[15:
0]の下位バイトデータX[7:0]及び第1キャリー
データである1ビットのキャリーデータCi1が入力さ
れ、ワード制御信号Wを用いて、第1符号化信号DX
[7:0]の4ビットの下位ビットデータDX[3:
0]、第2符号化信号DY[7:0]の4ビットの下位
ビットデータDY[3:0]及び第3符号化信号DZ
[7:0]の4ビットの下位ビットDZ[3:0]と、
第1ワード符号化信号WDX[7:0]の4ビットの下
位ビットデータWDX[3:0]、第2ワード符号化信
号WDY[7:0]の4ビットの下位ビットデータWD
Y[3:0]及び第3ワード符号化信号WDZ[7:
0]の4ビットの下位ビットデータWDZ[3:0]
と、を夫々出力する第1符号化器210と、前記第1ワ
ードデータX[15:0]の下位バイトデータX[7:
0]の最上位ビットX[7]と前記ワード制御信号Wと
を否定論理積演算して、第2キャリーデータである1ビ
ットのキャリーデータCi2を出力する第1ゲート部と
しての第1NANDゲートND1と、第1ワードデータ
X[15:0]の上位バイトデータX[15:8]及び
キャリーデータCi2が夫々入力され、前記ワード制御
信号Wを用いて、第1符号化信号DX[7:0]の4ビ
ットの上位ビットデータDX[7:4]、第2符号化信
号DY[7:0]の4ビットの上位ビットデータDY
[7:4]及び第3符号化信号DZ[7:0]の4ビッ
トの上位ビットデータDZ[7:4]と、第1ワード符
号化信号WDX[7:0]の4ビットの上位ビットデー
タWDX[7:4]、第2ワード符号化信号WDY
[7:0]の4ビットの上位ビットデータWDY[7:
4]及び第3ワード符号化信号WDZ[7:0]の4ビ
ットの上位ビットデータWDZ[7:4]と、を夫々出
力する第2符号化器212と、前記第2ワードデータY
[15:0]と、8ビットの第1符号化信号DX[7:
0]、8ビットの第2符号化信号DY[7:0]及び8
ビットの第3符号化信号DZ[7:0]と、8ビットの
第1ワード符号化信号WDX[7:0]、8ビットの第
2ワード符号化信号WDY[7:0]及び8ビットの第
3ワード符号化信号WDZ[7:0]と、が夫々入力さ
れて、前記ワード制御信号Wに応じてバイト乗算又はワ
ード乗算を行う部分乗算数生成部(partial product ge
nerating unit)213と、該部分乗算数生成部213
の出力信号が入力されて、32ビットのデータ部分乗算
数S[31:0]及び32ビットのキャリーデータ部分
乗算数C[31:0]を夫々出力するワリスツリー加算
器(Wallace tree adder)214と、該ワリスツリー加
算器214から出力される32ビットのデータ部分乗算
数S[31:0]及び32ビットのキャリーデータ部分
乗算数C[31:0]のうちの16ビットの下位データ
部分乗算数S[15:0]及び16ビットの下位キャリ
ーデータ部分乗算数C[15:0]並びに第3キャリー
データであるキャリーデータCj1が夫々入力されて、
第5キャリーデータであるキャリーデータCj2及び下
位データ乗算数Z[15:0]を夫々出力する第1加算
器216と、ハイレベルの前記ワード制御信号Wによ
り、前記第1加算器216からのキャリーデータCj2
を伝送する第2ゲート部としての第2NANDゲートN
D2と、前記ワリスツリー加算器214から出力される
32ビットのデータ部分乗算数S[31:0]及び32
ビットのキャリーデータ部分乗算数C[31:0]のう
ちの16ビットの上位データ部分乗算数S[31:1
6]及び16ビットの上位キャリーデータ部分乗算数C
[31:16]が夫々入力され、前記第2NANDゲー
トND2の出力信号がキャリー入力端子に入力されて、
第5キャリーデータであるキャリーデータCj3及び上
位データ乗算数Z[31:16]を夫々出力する第2加
算器218と、前記下位データ乗算数Z[15:0]及
び上位データ乗算数Z[31:16]を夫々出力する各
ポート220,222と、を備えて構成されている。
【0030】前記第1符号化器210は、図2に示した
ように、第1ワードデータX[15:0]の8ビットの
下位バイトデータX[7:0]のうちのビットデータX
[0],X[1]がデータ入力端子XL,XHに夫々入
力され、キャリーデータCi1がキャリー入力端子Cに
入力されて、第1符号化信号DX[7:0]のビットデ
ータDX[0]、第2符号化信号DY[7:0]のビッ
トデータDY[0]及び第3符号化信号DZ[7:0]
のビットデータDZ[0]をデータ出力端子から夫々出
力する第1演算器210−1と、第1ワードデータX
[15:0]の8ビットの下位バイトデータX[7:
0]のうちのビットデータX[2],X[3]がデータ
入力端子XL,XHに夫々入力され、前記ビットデータ
X[1]がキャリー入力端子Cに入力されて、第1符号
化信号DX[7:0]のビットデータDX[1]、第2
符号化信号DY[7:0]のビットデータDY[1]及
び第3符号化信号DZ[7:0]のビットデータDZ
[1]をデータ出力端子から夫々出力する第2演算器2
10−3と、前記第1ワードデータX[15:0]の8
ビットの下位バイトデータX[7:0]のうちのビット
データX[4],X[5]がデータ入力端子XL,XH
に夫々入力され、前記ビットデータX[3]がキャリー
入力端子Cに入力されて、第1符号化信号DX[7:
0]のビットデータDX[2]、第2符号化信号DY
[7:0]のビットデータDY[2]及び第3符号化信
号DZ[7:0]のビットデータDZ[2]をデータ出
力端子から夫々出力する第3演算器210−5と、前記
第1ワードデータX[15:0]の8ビットの下位バイ
トデータX[7:0]のうちのビットデータX[6],
X[7]がデータ入力端子XL,XHに夫々入力され、
前記ビットデータX[5]がキャリー入力端子Cに入力
されて、第1符号化信号DX[7:0]のビットデータ
DX[3]、第2符号化信号DY[7:0]のビットデ
ータDY[3]及び第3符号化信号DZ[7:0]のビ
ットデータDZ[3]をデータ出力端子から夫々出力す
る第4演算器210−7と、前記第1演算器210−1
のデータ出力端子に夫々連結され、前記第1演算器21
0−1から出力されるビットデータDX[0],DY
[0],DZ[0]と、ワード制御信号Wとを夫々否定
論理積演算して、第1ワード符号化信号WDX[7:
0]の最下位ビットデータWDX[0]、第2ワード符
号化信号WDY[7:0]の最下位ビットデータWDY
[0]及び第3ワード符号化信号WDZ[7:0]の最
下位ビットデータWDZ[0]を夫々出力する各NAN
DゲートND3−1,ND3−2,ND3−3と、前記
第2演算器210−3から出力されるビットデータDX
[1],DY[1],DZ[1]と、ワード制御信号W
とを夫々否定論理積演算して、第1ワード符号化信号W
DX[7:0]のビットデータWDX[1],第2ワー
ド符号化信号WDY[7:0]のビットデータWDY
[1]及び第3ワード符号化信号WDZ[7:0]のビ
ットデータWDZ[1]を夫々出力する各NANDゲー
トND4−1,ND4−2,ND4−3と、前記第3演
算器210−5から出力されるビットデータDX
[2],DY[2],DZ[2]と、ワード制御信号W
とを夫々否定論理積演算して、第1ワード符号化信号W
DX[7:0]のビットデータWDX[2]、第2ワー
ド符号化信号WDY[7:0]のビットデータWDY
[2]及び第3ワード符号化信号WDZ[7:0]のビ
ットデータWDZ[2]を夫々出力する各NANDゲー
トND5−1,ND5−2,ND5−3と、前記第4演
算器210−7から出力されるビットデータDX
[3],DY[3],DZ[3]と、ワード制御信号W
とを夫々否定論理積演算して、第1ワード符号化信号W
DX[7:0]のビットデータWDX[3]、第2ワー
ド符号化信号WDY[7:0]のビットデータWDY
[3]及び第3ワード符号化信号WDZ[7:0]のビ
ットデータWDZ[3]を夫々出力する各NANDゲー
トND6−1,ND6−2,ND6−3と、から構成さ
れている。
【0031】前記第2符号化器212は、前述の第1符
号化器210と同様に構成されているが、第1ワードデ
ータX[15:0]の8ビットの上位バイトデータX
[15:8]が入力されるようになっている。
【0032】図3は、本実施形態に係る第1符号化器2
10の第1〜第4演算器210−1〜210−7の機能
を表した真理表である。XH及びXLは、各第1〜第4
演算器210−1〜210−7のデータ入力端子XH,
XLに入力される値を表示し、Cは、キャリー入力端子
Cに入力される値を表示し、DX,DY及びDZは、前
記第1〜第4演算器210−1〜210−7から出力さ
れる符号化信号の各ビットデータDX,DY,DZを表
示したものである。尚、DZは、符号を表示しており、
0は‘+’を示し,1は‘−’を示す。
【0033】即ち、図3に示したように、キャリー入力
端子Cに入力されるキャリーデータが無い場合(C=
0)は、前記第1〜第4演算器210−1〜210−7
の各データ入力端子XH,XLに夫々入力されたビット
データの組合せにより、第1〜第4演算器210−1〜
210−7から出力されるビットデータDX,DYは、
十進数(DY×21+DX×1)で、’0、1、−2、
−1’になり、キャリーデータがある場合(C=1)
は、第1〜第4演算器210−1〜210−7から出力
されるビットデータDX,DYは、十進数で、’1、
2、−1、0’になる。
【0034】前記部分乗算数生成部213は、図4に示
したように、前記第1,第2符号化器210,212か
ら出力される第1〜第3符号化信号DX,DY,DZ及
び第1〜第3ワード符号化信号WDX、WDY、WDZ
の各ビットデータと、入力ポート204から出力される
第2ワードデータY[15:0]とを夫々入力して部分
乗算するものであり、15個のサブモジュール(数字及
びアルファベットの’1〜F’が記入された四角形)で
構成される。
【0035】この場合、同じ数字及びアルファベットで
示されるサブモジュールは同じ演算を行い、それらのサ
ブモジュールの幾何学的な配列は、入出力される信号の
桁数を整合する過程で生成されたものである。
【0036】部分乗算数生成部213は、サブモジュー
ル1,2を包含する左上部LUと、サブモジュール3,
4を包含する右上部RUと、サブモジュール4、5、6
を包含する左下部LLと、サブモジュール2のみから成
る右下部RLと、残りのサブモジュール7、8、9、
A、C、D、E、Fからなる部分に大別される。
【0037】また、上述した各部の下のサブモジュール
7、9、Aは、ワード乗算を行うとき動作するサブモジ
ュールである。かつ、サブモジュール7、8は、上位バ
イトデータの乗算の際に動作し、サブモジュールD、8
は、下位バイトデータを乗算する際に動作し、サブモジ
ュールA、Cは、上位バイトデータ乗算の際に補数の処
理を行い、サブモジュールFは、下位バイトデータ乗算
の際に補数の処理を行う。
【0038】図4に示す各サブモジュールの機能を表し
た論理式を数4に示す。
【0039】
【数4】
【0040】(A)は、サブモジュール1を表したもの
で、第1ワードデータの第1ワード符号化信号WDXと
第2ワード符号化信号WDYとを論理和演算して、その
演算結果と第2ワードデータYi_1とを論理積演算す
る。さらに、該論理積演算結果と第3ワード符号化信号
WDZとを排他的論理和演算した後、該論理演算結果と
ワード制御信号Wとを排他的論理和演算し、その演算結
果に該当する機能を遂行する。(B)〜(N)に示した
サブモジュール2〜サブモジュールFも、記載した符号
等に応じた機能を有している。サブモジュールBはサブ
モジュールAと同様の演算を行うが、本実施形態では使
用しない。
【0041】ここで、Yi(iは整数)は第2ワードデ
ータYの桁数に該当する信号であり、Yi_1は、サブ
モジュールの列間の第2ワードデータの桁数の差が1で
あることを意味する。
【0042】次に、本実施形態の乗算器による、2つの
ワードデータX[15:0]、Y[15:0]のバイト
乗算及びワード乗算の動作について説明する。まず、2
つの入力ポート200,204に16ビットの第1ワー
ドデータX[15:0]及び第2ワードデータY[1
5:0]が夫々入力されて、それら第1ワードデータX
[15:0]及び第2ワードデータY[15:0]のう
ちのどちらかのワードデータを8ビットの上位バイトデ
ータX(Y)[15:8]と8ビットの下位バイトデー
タX(Y)[7:0]とに分割する。
【0043】そして、ワード制御信号Wがハイレベルで
あるときには、前記8ビットの下位バイトデータX
(Y)[7:0]及び8ビットの上位バイトデータX
(Y)[15:8]を夫々受けて、一対の4ビットの第
1〜第3符号化信号DX[7:4],DY[7:4],
DZ[7:4]と、他の一対の4ビットの第1〜第3符
号化信号DX[3:0],DY[3:0],DZ[3:
0]と、一対の4ビットの第1〜第3ワード符号化信号
WDX[7:4],WDY[7:4],WDZ[7:
4]と、他の一対の4ビットの第1〜第3ワード符号化
信号WDX[3:0],WDY[3:0],WDZ
[3:0]とを夫々生成する。
【0044】一方、前記ワード制御信号Wがローレベル
であるときには、一対の4ビットの第1〜第3符号化信
号DX[7:4],DY[7:4],DZ[7:4]又
は第1〜第3符号化信号DX[3:0],DY[3:
0],DZ[3:0]と、一対の4ビットの第1〜第3
ワード符号化信号WDX[7:4],WDY[7:
4],WDZ[7:4]又は第1〜第3ワード符号化信
号WDX[3:0],WDY[3:0],WDZ[3:
0]を夫々生成する。
【0045】そして、前記8ビットの第1〜第3符号化
信号DX[7:0],DY[7:0],DZ[7:0]
及び第1〜第3ワード符号化信号WDX[7:0],W
DY[7:0],WDZ[7:0]と、ワード制御信号
Wとにより、前記ワード制御信号Wがハイレベルである
ときにはワード部分乗算数を生成し、前記ワード制御信
号がローレベルであるときにはバイト部分乗算数を生成
する。
【0046】前記部分乗算数結果により、2つの上位デ
ータ部分乗算数S[15:0]と上位キャリーデータ部
分乗算数C[15:0]とを加算して下位データ乗算数
Z[31:16]を出力し、また、上位データ部分乗算
数S[31:16]と下位キャリーデータ部分乗算数C
[31:16]とを加算して下位データ乗算数Z[1
5:0]を出力する。
【0047】次に、ワード乗算及びバイト乗算につい
て、具体的に説明する。先ず、ワード演算について説明
する。即ち、図2に示した、第1ワードデータX[1
5:0]の下位バイトデータX[7:0]及び上位バイ
トデータX[15:8]が夫々入力された第1符号化器
210及び第2符号化器212は、8ビットの第1、第
2及び第3符号化信号DX[7:0],DY[7:
0],DZ[7:0]を夫々出力し、前記ハイレベルの
ワード制御信号W(=1)により、第1、第2及び第3
ワード符号化信号WDX[7:0],WDY[7:
0],WDZ[7:0]を夫々出力する。
【0048】部分乗算数生成部213は、第2ワードデ
ータY[15:0]と、前記第1符号化器210及び第
2符号化器212から出力された前記第1、第2及び第
3符号化信号DX[7:0],DY[7:0],DZ
[7:0]と、前記第1、第2及び第3ワード符号化信
号WDX[7:0],WDY[7:0],WDZ[7:
0]と、前記ハイレベルのワード制御信号Wとを受け
て、表4の論理式に基づいて部分乗算数を生成する。
【0049】このとき、前記第1、第2符号化器21
0,212の出力信号がマイナスである(DZ=1又は
WDZ=1)場合は、各サブモジュールD、E、Fは、
部分乗算数の中の各行の最下位ビット(LSB)に1を
足して、第2ワードデータY[15:0]の補数処理を
行う。
【0050】ワリスツリー加算器214は、生成された
部分乗算数を用いて、上位データ部分乗算数S[31:
16]及び下位データ部分乗算数S[15:0]と、上
位キャリーデータ部分乗算数C[31:16]及び下位
キャリーデータ部分乗算数C[15:0]を夫々出力す
る。
【0051】その後、第1加算器216は、前記下位デ
ータ部分乗算数S[15:0]、下位キャリーデータ部
分乗算数C[15:0]及びキャリーデータCj1を受
けて、下位データ乗算数Z[15:0]及びキャリーデ
ータCj2を夫々出力し、第2加算器218は、前記上
位データ部分乗算数S[31:16]、前記上位キャリ
ーデータ部分乗算数C[31:16]及びキャリーデー
タCj2とハイレベルのワード制御信号Wとの否定論理
積演算結果値を受けて、上位データ乗算数Z[31:1
6]を出力する。
【0052】このようにして、本実施形態では、ワード
制御信号Wがハイレベルのとき、16ビットの第1ワー
ドデータX[15:0]及び16ビットの第2ワードデ
ータY[15:0]とをワード乗算する。
【0053】また、本実施形態では、ワード制御信号W
がローレベルのとき、バイト乗算を行う。即ち、ワード
制御信号Wが0の場合は、第1NANDゲートND1及
び第2NANDゲートND2の出力は0となる。これに
より、第2符号化器212にはキャリーデータCi2が
出力されず、第2加算器218にはキャリーデータCj
2が出力されない。
【0054】従って、第1符号化器210は、第1、第
2及び第3符号化信号DX[3:0],DY[3:
0],DZ[3:0]を夫々出力する。また、第1、第
2及び第3符号化信号DX[3:0],DY[3:
0],DZ[3:0]を受ける部分乗算数生成部213
においては、図4に示すサブモジュールの左上部LU及
び右下部RLは動作しなくなる。しかし、サブモジュー
ルの右上部RU及び左下部LLは、表1に示したような
論理式に従い、右上部RUのサブモジュール3は部分乗
算数の符号を処理し、左下部LLのサブモジュール6は
最下位ビット(LSB)を夫々処理する。
【0055】ワリスツリー加算器214は、前記したよ
うに生成された部分乗算数を受けて、下位データ部分乗
算数S[15:0]と下位キャリーデータ部分乗算数C
[15:0]とを夫々出力する。
【0056】その後、第1加算器216は、前記下位ワ
ード部分乗算数S[15:0]及び下位キャリーデータ
部分乗算数C[15:0]を夫々受けて、下位データ乗
算数Z[15:0]及びキャリーデータCj2を夫々出
力する。
【0057】このようにして、本実施形態では、第1ワ
ードデータX[15:0]の8ビットの下位バイトデー
タX[7:0]と第2ワードデータY[15:0]の8
ビットの下位バイトデータY[7:0]とのバイト乗算
(X[7:0]×Y[7:0])を行う。
【0058】このように、本実施形態に係る乗算器にお
いては、2つのワードデータの何れか一方のワードデー
タを符号化処理した後、該符号化データと他方のワード
データとを用いて、ワード制御信号に応じてワード乗算
又はバイト乗算を行う。
【0059】
【発明の効果】以上説明したように、本発明によると、
1つの回路を用いてワード乗算及びバイト乗算を行うた
め、乗算処理を迅速化し、回路面積を減らし得るという
効果がある。
【0060】また、ワードデータを上位バイトデータと
下位バイトデータとに分割して、入力するワードデータ
を、キャリーデータにより、ワード乗算を行うのか又は
バイト乗算を行うのかを識別した後にワード及びバイト
乗算を行っているため、バイト乗算を迅速に行い得ると
いう効果ある。
【図面の簡単な説明】
【図1】本発明に係る乗算器の一実施形態の構成を示し
たブロック図である
【図2】図1の第1符号化器を示した回路図である。
【図3】第1符号化器の機能を表した真理表である。
【図4】部分乗算数生成部のサブモジュールの配列図で
ある。
【図5】従来の乗算器のブロック図である。
【符号の説明】
210、212:第1、第2符号化器 216、218:第1、第2加算器 213:部分乗算数生成部 214:ワリスツリー加算器

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】2つのワードデータのワード乗算及びバイ
    ト乗算を行う乗算器であって、 2つのワードデータのうちの一方のワードデータの下位
    バイトデータ、第1キャリーデータ及びワード制御信号
    を入力し、第1〜第3符号化信号の下位ビットデータ及
    び第1〜第3ワード符号化信号の下位ビットデータを夫
    々出力する第1符号化器と、 前記下位バイトデータの最上位ビットを前記ワード制御
    信号に応じて第2キャリーデータとして出力する第1ゲ
    ート部と、 前記一方のワードデータの上位バイトデータ、ワード制
    御信号及び前記第2キャリーデータを入力し、第1〜第
    3符号化信号の上位ビットデータ及び第1〜第3ワード
    符号化信号の上位ビットデータを夫々出力する第2符号
    化器と、 前記第1符号化器から出力される第1〜第3符号化信号
    の下位ビットデータ及び第1〜第3ワード符号化信号の
    下位ビットデータ、並びに前記第2符号化器から出力さ
    れる第1〜第3符号化信号の上位ビットデータ及び第1
    〜第3ワード符号化信号の上位ビットデータと、前記2
    つのワードデータのうちの他方のワードデータとを用い
    て、前記ワード制御信号の制御に応じてワード乗算又は
    ビット乗算を行い、部分乗算数を夫々生成する複数のサ
    ブモジュールから成る部分乗算数生成部と、 前記生成された部分乗算数が入力されて、第1,第2デ
    ータ部分乗算数と第1,第2キャリー部分乗算数とを出
    力する演算部と、 前記第1データ部分乗算数と第1キャリー部分乗算数と
    第3キャリーデータとを加算して、第1出力信号及び第
    4キャリーデータを出力する第1加算器と、 前記第4キャリーデータを前記ワード制御信号に応じて
    出力する第2ゲート部と、 前記第2データ部分乗算数、第2キャリー部分乗算数及
    び前記第2ゲート部からの出力データを入力して第2出
    力信号及び第5キャリーデータを夫々出力する第2加算
    器と、を備えて構成されることを特徴とする乗算器。
  2. 【請求項2】前記第1符号化器は、前記第1〜第3符号
    化信号の下位ビットデータと前記ワード制御信号とを夫
    々論理積演算して前記第1〜第3ワード符号化信号の下
    位ビットデータを生成し、 前記第2符号化器は、前記第1〜第3符号化信号の上位
    ビットデータと前記ワード制御信号とを夫々論理積演算
    して前記第1〜第3ワード符号化信号の上位ビットデー
    タを生成することを特徴とする請求項1に記載の乗算
    器。
  3. 【請求項3】前記第1符号化器は、前記一方のワードデ
    ータの下位バイトデータを下位ビットから2ビットずつ
    入力するデータ入力端子と、キャリーデータを入力する
    キャリー入力端子と、前記第1〜第3符号化信号の下位
    ビットデータを1ビットずつ出力するデータ出力端子と
    を有する複数の演算器を備え、初段の演算器のキャリー
    入力端子には前記第1キャリーデータを入力し、2段目
    以後の演算器のキャリー入力端子には前段の演算器のデ
    ータ入力端子に入力する2ビットのビットデータのうち
    の上位ビットを入力し、 前記各演算器の各データ出力端子から夫々出力する前記
    第1〜第3符号化信号の下位バイトデータと前記ワード
    制御信号とを夫々論理積演算して前記第1〜第3ワード
    符号化信号の下位バイトデータを夫々出力する複数のN
    ANDゲートと、から構成され、 前記第2符号化器は、前記一方のワードデータの上位バ
    イトデータの下位ビットから2ビットずつ入力するデー
    タ入力端子と、キャリーデータを入力するキャリー入力
    端子と、前記第1〜第3符号化信号の上位ビットデータ
    を1ビットずつ出力するデータ出力端子とを有する複数
    の演算器を備え、初段の演算器のキャリー入力端子には
    前記第1ゲート部から出力する第2キャリーデータを入
    力し、第2段目以後の演算器のキャリー入力端子には前
    段の演算器のデータ入力端子に入力する2ビットのビッ
    トデータのうちの上位ビットを入力し、 前記各演算器の各データ出力端子から夫々出力する前記
    第1〜第3符号化信号の上位バイトデータと前記ワード
    制御信号とを夫々論理積演算して前記第1〜第3ワード
    符号化信号の上位バイトデータを夫々出力する複数のN
    ANDゲートと、から構成されたことを特徴とする請求
    項2に記載の乗算器。
  4. 【請求項4】前記各演算器は、前記キャリー入力端子に
    入力するデータが0であるときには、前記データ入力端
    子に入力する、十進数で0、1、2、3の値となる2ビ
    ットのビットデータを、十進数で0、1、−2、−1の
    値として出力し、 前記キャリー入力端子に入力するデータが1であるとき
    には、前記データ入力端子に入力する、十進数で0、
    1、2、3の値となる2ビットのビットデータを、十進
    数で0、1、−1、0の値として出力することを特徴と
    する請求項3に記載の乗算器。
  5. 【請求項5】前記第1ゲート部及び第2ゲート部はNA
    NDゲートから成ることを特徴とする請求項1〜請求項
    4のいずれか1つに記載の乗算器。
  6. 【請求項6】前記部分乗算数生成部は、下記の論理式
    (A)〜(N)で表される各演算を行うサブモジュール
    を夫々備えることを特徴とする請求項1〜請求項5のい
    ずれか1つに記載の乗算器。 【数1】 尚、DX、DY、DZは、第1、第2、第3符号化信号
    を示し、WDX、WDY、WDZは、第1、第2、第3
    ワード符号化信号を示し、W及び/Wは、ワード制御信
    号及びその反転信号を示し、Yi(iは整数)は前記他
    方のワードデータの桁数を示す。
  7. 【請求項7】前記演算部は、ワリスツリー加算器である
    ことを特徴とする請求項1〜請求項6のいずれか1つに
    記載の乗算器。
  8. 【請求項8】前記2つのワードデータは夫々16ビット
    であり、前記ワードデータの上位バイトデータ及び下位
    バイトデータは夫々8ビットであることを特徴とする請
    求項1〜請求項7のいずれか1つに記載の乗算器。
  9. 【請求項9】2つのワードデータのワード乗算及びバイ
    ト乗算を行う乗算方法であって、 第1ワードデータ(X[15:0])及び第2ワードデ
    ータ(Y[15:0])の何れか一方のワードデータ
    (X(Y)[15:0])を上位バイトデータ(X
    (Y)[15:8])と下位バイトデータ(X(Y)
    [7:0])とに分割する段階と、 前記一方のワードデータの下位バイトデータ(X(Y)
    [7:0])及び上位バイトデータ(X(Y)[15:
    8])を用いて、ワード制御信号がハイレベルであると
    きには、第1、第2及び第3符号化信号の上位バイトデ
    ータ及び下位バイトデータ(DX[7:4]、DY
    [7:4]、DZ[7:4])、(DX[3:0]、D
    Y[3:0]、DZ[3:0])と、第1、第2及び第
    3ワード符号化信号の上位バイトデータ及び下位バイト
    データ(WDX[7:4]、WDY[7:4]、WDZ
    [7:4])、(WDX[3:0]、WDY[3:
    0]、WDZ[3:0])とを生成し、前記ワード制御
    信号がローレベルであるときには、第1、第2及び第3
    符号化信号の下位バイトデータ(DX[3:0]、DY
    [3:0]、DZ[3:0])と、第1、第2及び第3
    ワード符号化信号の下位バイトデータ(WDX[3:
    0]、WDY[3:0]、WDZ[3:0])とを生成
    する段階と、 前記ワード制御信号がハイレベルであるときには、前記
    第1、第2及び第3符号化信号の上位バイトデータ(D
    X[7:4]、DY[7:4]、DZ[7:4])と前
    記第1、第2、第3ワード符号化信号の上位バイトデー
    タ(WDX[7:4]、WDY[7:4]、WDZ
    [7:4])とを加算し、前記第1、第2及び第3符号
    化信号の下位バイトデータ(DX[3:0]、DY
    [3:0]、DZ[3:0])と前記第1、第2、第3
    ワード符号化信号の下位バイトデータ(WDX[3:
    0]、WDY[3:0]、WDZ[3:0])とを加算
    して、ワードデータ部分乗算数及びキャリーワード部分
    乗算数を生成し、前記ワード制御信号がローレベルであ
    るときには、前記第1、第2及び第3符号化信号の下位
    バイトデータ(DX[3:0]、DY[3:0]、DZ
    [3:0])と前記第1、第2及び第3ワード符号化信
    号の下位バイトデータ(WDX[3:0]、WDY
    [3:0]、WDZ[3:0])とを加算して、バイト
    データ部分乗算数及びキャリーバイト部分乗算数を生成
    する段階と、 前記ワード制御信号がハイレベルであるときには、前記
    ワードデータ部分乗算数を上位ワードデータ部分乗算数
    と下位ワードデータ部分乗算数に分割し、キャリーワー
    ド部分乗算数を上位キャリーワード部分乗算数と下位キ
    ャリーワード部分乗算数に分割する段階と、 前記ワード制御信号がハイレベルであるときには、前記
    下位ワードデータ部分乗算数と下位キャリーワード部分
    乗算数とを加算し、前記上位ワードデータ部分乗算数と
    上位キャリーワード部分乗算数とを加算して、該加算結
    果をそれぞれ出力し、前記ワード制御信号がローレベル
    であるときには、前記バイト部分乗算数とキャリーバイ
    ト部分乗算数とを加算して、該加算結果を出力する段階
    と、を順次行うことを特徴とする乗算方法。
JP11312381A 1998-11-02 1999-11-02 乗算器及びその演算方法 Pending JP2000148447A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019980046832A KR100324313B1 (ko) 1998-11-02 1998-11-02 n비트와n/2비트를연산하는곱셈기
KR46832/1998 1998-11-02

Publications (1)

Publication Number Publication Date
JP2000148447A true JP2000148447A (ja) 2000-05-30

Family

ID=19556927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11312381A Pending JP2000148447A (ja) 1998-11-02 1999-11-02 乗算器及びその演算方法

Country Status (3)

Country Link
US (1) US6460064B1 (ja)
JP (1) JP2000148447A (ja)
KR (1) KR100324313B1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535901B1 (en) * 2000-04-26 2003-03-18 Sigmatel, Inc. Method and apparatus for generating a fast multiply accumulator
US7313585B2 (en) * 2003-08-30 2007-12-25 Hewlett-Packard Development Company, L.P. Multiplier circuit
US7769797B2 (en) 2004-01-20 2010-08-03 Samsung Electronics Co., Ltd. Apparatus and method of multiplication using a plurality of identical partial multiplication modules
US7587443B1 (en) * 2004-03-23 2009-09-08 Altera Corporation Digital signal processor with efficient multi-modal multiplier
US7506017B1 (en) 2004-05-25 2009-03-17 Altera Corporation Verifiable multimode multipliers
KR100935858B1 (ko) 2007-12-05 2010-01-07 한국전자통신연구원 재구성 가능한 산술연산기 및 이를 구비한 고효율 프로세서
US9600235B2 (en) * 2013-09-13 2017-03-21 Nvidia Corporation Technique for performing arbitrary width integer arithmetic operations using fixed width elements
KR102338863B1 (ko) * 2015-09-09 2021-12-13 삼성전자주식회사 연산을 제어하기 위한 장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62229440A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 配列乗算器
JP3637073B2 (ja) * 1993-10-21 2005-04-06 株式会社東芝 倍精度・単精度・内積演算および複素乗算が可能な乗算器
US5446651A (en) * 1993-11-30 1995-08-29 Texas Instruments Incorporated Split multiply operation
US5586070A (en) 1994-08-03 1996-12-17 Chromatic Research, Inc. Structure and method for embedding two small multipliers in a larger multiplier
US5751622A (en) * 1995-10-10 1998-05-12 Chromatic Research, Inc. Structure and method for signed multiplication using large multiplier having two embedded signed multipliers
KR970049460A (ko) * 1995-12-27 1997-07-29 김광호 웰리스 트리를 이용한 고속 승산기
US5880985A (en) * 1996-10-18 1999-03-09 Intel Corporation Efficient combined array for 2n bit n bit multiplications

Also Published As

Publication number Publication date
KR100324313B1 (ko) 2002-06-22
KR20000031035A (ko) 2000-06-05
US6460064B1 (en) 2002-10-01

Similar Documents

Publication Publication Date Title
JPS6217770B2 (ja)
JPS62280930A (ja) デイジタル乗算器
JP2000148447A (ja) 乗算器及びその演算方法
JP3556950B2 (ja) 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法
US5721697A (en) Performing tree additions via multiplication
GB2262637A (en) Padding scheme for optimized multiplication.
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
JP3660075B2 (ja) 除算装置
GB2130774A (en) Circuits for operating on N-digit operands
JPH076024A (ja) 十進数乗算器
JP3190826B2 (ja) 積和演算装置
JP7381426B2 (ja) 演算回路
Abraham et al. An ASIC design of an optimized multiplication using twin precision
JPS62219027A (ja) 桁上げ先見回路
Sandeep et al. Design of area and power Potent Booth multiplier using multiplexer
JP2734438B2 (ja) 乗算装置
JP2777265B2 (ja) 高基数開平演算装置
Vanitha et al. Implementation of 16-Bit Vedic Multiplier Using Modified CSA
Mahima et al. Reconfigurable Rounding based Approximate Multiplier for Floating Point Numbers
JP3106767B2 (ja) 乗算方法及び乗算回路
JP3130797B2 (ja) 積和演算処理方法およびその装置
JP3612950B2 (ja) 演算装置およびその方法
JP2003162410A (ja) リニアフィルタ回路
KR950006583B1 (ko) 승산방법 및 회로
JPH0253819B2 (ja)

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060201