JPH10333887A - 積和演算回路 - Google Patents

積和演算回路

Info

Publication number
JPH10333887A
JPH10333887A JP9139907A JP13990797A JPH10333887A JP H10333887 A JPH10333887 A JP H10333887A JP 9139907 A JP9139907 A JP 9139907A JP 13990797 A JP13990797 A JP 13990797A JP H10333887 A JPH10333887 A JP H10333887A
Authority
JP
Japan
Prior art keywords
output
product
circuit
multiplier
value
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
JP9139907A
Other languages
English (en)
Inventor
Yuichi Sato
雄一 佐藤
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP9139907A priority Critical patent/JPH10333887A/ja
Priority to DE19824227A priority patent/DE19824227A1/de
Priority to US09/086,486 priority patent/US6101522A/en
Publication of JPH10333887A publication Critical patent/JPH10333887A/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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (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)【要約】 【課題】 小容量のROMで構成できる積和演算回路を
提供する。 【解決手段】 この積和演算回路は、乗数選択信号A0
〜A2が乗数としてXを選択したときには、第2選択回
路103は、被乗数Ckに乗数Xを乗算した積Ck×X
を選択して出力制御回路104に出力する。このとき、
出力制御回路104は、上記積Ck×Xをシフトせずに
出力する。一方、乗数選択信号A0〜A2が乗数として
(2n)Xを選択したときには、第2選択回路103
は、乗数Xが選択されたときと同様に、被乗数Ckに乗
数Xを乗算した積Ck×Xを選択して出力制御回路10
4に出力するが、出力制御回路104は上記積Ck×X
をnビットだけ左にシフトさせて、(Ck×X)の(2
n)倍の値を出力する。したがって、デ−タ記憶回路1
02に(Ck×X)を記憶しておくだけで、(Ck×
X)の(2n)倍の出力を得ることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ROM(リ−ド・
オンリ・メモリ)回路を中心にして構成された積和演算
回路に関する。
【0002】
【従来の技術】マルチメディアにおいて、画像の圧縮、
伸長は重要である。この画像の圧縮,伸長技術のーつ
に、離散コサイン変換(Discrete Cosine Transform)
を用いた手法がある。この離散コサイン変換を行うに
は、定数との積和演算が必要である。
【0003】積和演算を乗算器と加算器を用いて行う方
法は良く知られている。また、離散コサイン変換での積
和演算では、乗数と被乗数のうちのー方が定数の場合
に、定数の整数倍の値をROM(リード・オンリ・メモ
リ)に記録し、そのROMのアドレスに変数を接続する
ことによりROMから乗算結果を得て、その乗算結果を
累積加算することによって、積和演算を実現する方法も
知られている。
【0004】図7に、レジスタ501とROM502,
503,504と加算器507,508,509で構成し
た積和演算回路を示す。
【0005】レジスタ5O1には乗数Xi(X0〜X
8)が格納されている。乗数X0,X1,X2が格納され
た箇所がROM5O2のアドレスAO,A1,A2に接続
されている。また、乗数X3,X4,X5が格納された箇
所がROM503のアドレスAO,A1,A2に接続され
ている。また、乗数X6,X7,X8が格納された箇所が
ROM504のアドレスAO,A1,A2に接続されてい
る。
【0006】また、被乗数である定数Ck(C0,C1,
…,C16)を選択する信号CSELi(CSEL0,C
SEL1,…)を伝える信号線がROM5O2,ROM5
03,ROM504のA3,A4,A5,A6に接続されて
いる。そして、ROM502,503,504は、被乗数
Ckの0,1,2,3,4,5,6,7倍の値Oj(O0,O
1,…)を格納している。
【0007】そして、この積和演算回路は、次の積和演
算結果Yiを演算する。
【0008】Yi=ΣCk・Xi 図8に示すように、ROM5O2,ROM503,ROM
504は、アドレスA3,A4,A5,A6で16個の被
乗数Ck(k=0,1,…,16)のいずれかを選択でき
るようになっている。また、ROM502〜504は、
アドレスAO,A1,A2で,乗数0,1,2,3,4,5,6,
7のいずれかを選択できる。
【0009】例えば、アドレス(A6,A5,A4,A
3)=(0,0,0,0)で、被乗数C0が選択され、ア
ドレス(A2,A1,AO)=(0,0,1)で、乗数Xi
=1が選択されて、ROM502からC0の1倍の値が
Ojとして出力される。また、アドレス(A6,A5,A
4,A3)=(0,0,0,0)で、アドレス(A2,A1,
AO)=(1,0,1)ならば、被乗数C0と乗数Xi=
5が選択されて、ROM502から被乗数C0の5倍の
値がOjとして出力される。
【0010】このように、ROM502〜504は、被
乗数Ckの0〜7倍の値を記憶しており、アドレスAO
〜A6で被乗数Ckと乗数Xiとを指定して、乗数Xi
と被乗数Ckとの乗算結果Ck×Xi=Ojを出力でき
る。
【0011】この積和演算回路では、加算器507が、
ROM5O2の出力と、シフタ505でROM502の
出力に桁合わせされたROM503の出力とを加算す
る。そして、加算器508は、加算器507の出力と、
シフタ506で加算器507と桁合わせされたROM5
04の出力とを加算する。さらに、加算器509は、加
算器508の出力と、シフタ511で加算器508の出
力に桁合わせされたレジスタ510の出力とを加算す
る。これにより、レジスタ510に累積加算結果Yi=
ΣCk・Xiが格納され、積和演算が達成される。
【0012】
【発明が解決しようとする課題】上記従来の図7に示し
たような積和演算回路の3ビット部分積ROM502,
503,504は、図8に示すように、1個の定数Ck
に対してその定数Ckの0倍の値と、1倍の値と、2倍
の値と、3倍の値と、4倍の値と、5倍の値と、6倍の
値と、7倍の値をROMデータとして記録しておく必要
がある。
【0013】したがって、ROMサイズが大きくなり、
消費電力も大きくなるという問題がある。
【0014】たとえば、4ビット部分積ROMを備える
積和演算回路においては、1個の定数に対しその定数の
0倍の値,1倍の値,…,14倍の値,15倍の値をROM
に記録しておく必要があるので、ROMサイズが一層大
きくなる。
【0015】そこで、この発明の目的は、小さなサイズ
のROMで構成できる積和演算回路を提供することにあ
る。
【0016】
【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明の積和演算回路は、複数の被乗数と
複数の乗数との積を記憶しており、選択された被乗数と
乗数との積信号を出力するデ−タ記憶手段と、上記複数
の被乗数の内の1つを選択して、この選択した被乗数を
含んだ積を上記デ−タ記憶手段から選択する第1選択手
段と、乗数選択信号に応じて、上記複数の乗数の内の1
つを選択して、この選択した乗数を含んだ積の積信号を
上記デ−タ記憶手段から出力された積信号から選択して
出力する第2選択手段と、上記乗数選択信号に応じて、
上記第2選択手段から出力された積信号を、nビットだ
けシフトして出力するか、シフトせずに出力するのかを
選択して出力する第1出力制御手段とを備えたことを特
徴としている。
【0017】この請求項1の発明は、乗数選択信号が乗
数としてXを選択したときには、第2選択手段は、被乗
数Ckに乗数Xを乗算した積Ck×Xを選択して第1出
力制御手段に出力する。すると、上記第1出力制御手段
は、上記積Ck×Xをシフトせずに出力する。
【0018】一方、上記乗数選択信号で乗数として(2
×n)Xを選択したときには、第2選択手段は、乗数X
が選択されたときと同様に、被乗数Ckに乗数Xを乗算
した積Ck×Xを選択して第1出力制御手段に出力する
が、第1出力制御手段は上記積Ck×Xをnビットだけ
左にシフトさせて、(Ck×X)の(2n)倍の値を出
力する。
【0019】したがって、たとえば、Xを奇数としたと
きに、デ−タ記憶手段は被乗数Ckの奇数X倍のデ−タ
Ck×Xを記憶しておくだけで、第1出力制御手段から
Ckの奇数倍のデ−タだけでなく、Ck×Xの(2n
倍のデ−タも出力できる。したがって、デ−タ記憶手段
に記憶させるデ−タ量を削減でき、小さな記憶容量で積
和演算回路を構成でき、消費電力を削減できる。
【0020】なお、上記第1出力制御手段が上記積Ck
×Xをnビットだけ右にシフトさせる場合には、Ck×
Xの(2-n)倍のデ−タを出力できる。
【0021】また、請求項2の発明の積和演算回路は、
請求項1に記載の積和演算回路において、上記第1出力
制御手段から出力された積信号を加算もしくは減算して
出力する第2出力制御手段を備えたことを特徴としてい
る。
【0022】この請求項2の発明は、乗数選択信号が乗
数としてXを選択したときには、第2選択手段で積Ck
×Xを選択し、第1出力制御手段でシフトせずに第2出
力制御手段に出力する。すると、第2出力制御手段は積
Ck×Xを出力する。一方、乗数選択信号が乗数として
2Xを選択したときには、第2選択手段で積Ck×Xを
選択し、第1出力制御手段でこの積Ck×Xを1ビット
だけ左にシフトさせて、(Ck×X)の2倍の値を第2
出力制御手段に出力する。すると、第2出力制御手段
は、積(Ck×X)×2を出力する。
【0023】さらに、乗数として(X+2X)を選択し
たときには、第2選択手段は積Ck×Xを選択し、第1
出力制御手段で積(Ck×X)を1ビット左にシフトさ
せた(Ck×X)の2倍の値と積(Ck×X)とを第2
出力制御手段に出力する。すると、第2出力制御手段
は、(Ck×X)と(Ck×X)×2とを加算して積C
k×Xの3倍の値を出力できる。
【0024】したがって、請求項2の発明によれば、デ
−タ記憶手段に積Ck×Xの1倍の値を記憶させておく
だけで、第2出力制御手段から積Ck×Xの1倍,2倍,
3倍の値を出力できる。したがって、デ−タ記憶手段に
記憶させるデ−タ量を一層削減でき、一層小さな記憶容
量で積和演算回路を構成できる。したがって、消費電力
を一層削減することができる。
【0025】また、上記乗数として(X+2X)を選択
したときに、積(Ck×X)を2ビット左にシフトさせ
た(Ck×X)の4倍の値と、積(Ck×X)とを第1
出力制御手段から出力し、第2出力制御手段で(Ck×
X)×4から(Ck×X)を減算して、積Ck×Xの3
倍の値を出力させることもできる。この場合にも、デ−
タ記憶手段に積Ck×Xの1倍の値を記憶させておくだ
けで、第2出力制御手段から積Ckの1倍,3倍,4倍の
値を出力できる。したがって、デ−タ記憶手段の記憶量
を削減でき、より小さな記憶容量で積和演算回路を構成
でき、消費電力を削減できる。また、請求項3の発明
は、請求項1に記載の積和演算回路において、上記第1
出力制御手段は、乗数選択信号で乗数として0が選択さ
れたときに上記第2選択手段からの積信号の出力を禁止
する出力禁止手段を備えていることを特徴としている。
この請求項3の発明では、乗数選択信号で乗数として0
が選択されたときに、出力禁止手段が第2選択手段から
の積信号の出力を禁止する。したがって、データ記憶手
段に被乗数の0倍のデータを記憶させておかなくても、
被乗数の0倍の値を出力できる。
【0026】
【発明の実施の形態】以下、本発明を図示の実施の形態
に基づいて詳細に説明する。
【0027】〔第1の実施の形態〕図1に、本発明の積
和演算回路の第1の実施の形態を示す。図1には、積和
演算回路の積演算回路100を示している。この積演算
回路100は、図示しない和演算回路に接続されてい
る。この和演算回路は、図7の従来例と同様であるの
で、説明を省略する。
【0028】この積演算回路100は、第1選択手段と
しての選択回路101とデ−タ記録回路102と第2選
択手段としての選択回路103と出力制御回路104を
備えている。
【0029】選択回路101は、4ビットのアドレスA
3,A4,A5,A6をデコードして、16個の被乗数C
k(k=0,1,…15)の中から1個の被乗数Ciを選
択するものである。また、データ記録回路102は、R
OM1,ROM3,ROM5,ROM7を備えている。
【0030】図2に示すように、デ−タ記録回路102
のROM1は16個の乗数Ckの1倍の値(C0〜C1
5)を記憶している。また、ROM3は、乗数Ckの3
倍の値(C0×3〜C15×3)を記憶している。ま
た、ROM5は、乗数Ckの5倍の値(C0×5〜C1
5×5)を記憶している。また、ROM7は、乗数Ck
の7倍の値(C0×7〜C15×7)を記憶している。
【0031】したがって、4ビットのアドレスA3〜A
6を選択回路101に入力することによって、選択回路
101は、16個の被乗数Ckの中から1個の被乗数C
iを選択する。そして、デ−タ記録回路102は、RO
M1から被乗数Ciの1倍の値を選択回路103に出力
し、ROM3から被乗数Ciの3倍の値を選択回路10
3に出力し、ROM5から被乗数Ciの5倍の値を選択
回路103に出力し、ROM7から被乗数Ciの7倍の
値を選択回路103に出力する。
【0032】次に、図3に上記選択回路103と出力制
御回路104の回路構成を示し、図4に出力制御回路1
04の出力O11に関連する部分を詳細に示す。
【0033】図4において、ROM1(Q11)はRO
M1に格納されているデ−タ(C0×1,C1×1,…,
C15×1)の12ビット目のデ−タを表わしている。
すなわち、ROM1(Q11)は乗数Ciの1倍の値の
12ビット目のデ−タを表わしている。また、ROM3
(Q11)は乗数Ciの3倍の値の12ビット目のデ−
タを表わしている。また、ROM5(Q11)は乗数C
iの5倍の値の12ビット目のデ−タを表わしている。
また、ROM7(Q11)は乗数Ciの7倍の値の12
ビット目のデ−タを表わしている。
【0034】また、図4において、A0X,A1X,A2
Xは入力アドレスA0,A1,A2の反転信号を表わして
いる。さらに、H0,H124,H26,H3,H36,H
4,H5,H7はアドレスA0〜A2のデコ−ド信号であ
る。
【0035】上記出力制御回路104は、スイッチS0
とSCとSL1とSL2を有し、このスイッチS0,S
C,SL1,SL2はインバ−タ409に接続されてい
る。インバ−タ409はインバ−タ410に接続されて
いる。上記スイッチS0,SC,SL1,SL2は、図4
(C)に示すNMOSトランジスタまたは図4(D)に
示すNMOSトランジスタとPMOSトランジスタとの
直列接続回路で構成されている。
【0036】そして、スイッチS0のゲ−ト端子にアン
ド回路405の出力が接続されており、スイッチSL1
のゲ−ト端子にアンド回路406の出力が接続されてい
る。また、スイッチSL2のゲ−ト端子にアンド回路4
07の出力が接続されており、スイッチSCのゲ−ト端
子にインバ−タ408の出力が接続されている。
【0037】また、選択回路103のスイッチS11,
S31,S51,S71は、出力制御回路104のスイッ
チSCに並列に接続されている。また、選択回路103
のスイッチS12,S32,S52,S72は、出力制御
回路104のスイッチSL1に並列に接続されている。
また、選択回路103のスイッチS13,S33,S5
3,S73は出力制御回路104のスイッチSL2に並
列接続されている。
【0038】上記スイッチS11,12,13,31,3
2,33,51,52,53,71,72,73は、図4
(C)に示すようなNMOSトランジスタまたは図4
(D)に示すようにNMOSトランジスタとPMOSト
ランジスタが並列に接続された回路で構成されている。
【0039】そして、アンド・オア回路401の出力
が、スイッチS11,S12,S13のゲ−ト端子に接続
されており、アンド・オア回路402の出力が、スイッ
チS31,S32,S33のゲ−ト端子に接続されてい
る。また、アンド回路403の出力が、スイッチS5
1,S52,S53のゲ−ト端子に接続されており、アン
ド回路404の出力がスイッチS71,S72,S73の
ゲ−ト端子に接続されている。
【0040】次に、この実施の形態の積和演算回路の動
作を説明する。
【0041】まず、入力アドレス(A2,A1,A0)=
(0,0,0)の場合は、出力制御回路104のAND回
路405がアクティブになり、スイッチSOがオンす
る。一方、回路406,407,408が非アクティブで
あるので、スイッチSC,SL1,SL2はオフしてい
る。したがって、出力O11にはGNDレベルが出力さ
れる。すなわち、アドレスA3〜A6で選択された定数
にかかわらず、データ0が回路409,410で増幅さ
れて出力O11から出力される。同様に、図3の出力制
御回路104の出力O0,O1,O2,O3,O4,O5,O
6,O7,O8,O9,O10,O12にはすべてデータ0
が出力される。
【0042】次に、入力アドレス(A2,A1,A0)=
(0,0,1)の場合は、選択回路103のAND・OR
回路401がアクティブになり、スイッチS11,S1
2,S13がオンし、スイッチS31〜33,S51〜
53,S71〜73は回路402,403,404が非ア
クティブであるので、オフしている。また、出力制御回
路104内の回路408がアクティブになりスイッチS
Cがオンする一方、回路405,406,407が非アク
ティブであるから、スイッチS0,SL1,SL2はオフ
する。したがって、デ−タROM1(Q11)はスイッ
チS11,SC,回路409,410を通って出力O11
から出力される。
【0043】そして、図3の出力制御回路104の出力
O0には、ROM1(Q0)が出力され、出力O1には
ROM1(Q1)が出力され、出力O2にはROM1
(Q2)が出力される。同様に、出力O3〜O12に
は、ROM1(Q3)〜ROM1(Q12)が出力され
る。したがって、被乗数Ckの1倍の値が出力O0〜O
12に出力される。
【0044】次に、入力アドレス(A2,A1,A0)=
(0,1,0)の場合は、AND・OR回路401がアク
ティブになりスイッチS11〜S13がオンする。一
方、回路402,403,404が非アクティブであるの
で、スイッチS31〜33,S51〜53,S71〜73
はオフしている。また、回路406がアクティブにな
り、スイッチSL1がオンする一方、回路405,40
7,408が非アクティブであるので、スイッチS0,S
C,SL2はオフになる。したがって、データROM1
(Q10)が、スイッチS12,SL1,回路409,4
10を通って、出力O11に出力される。つまり、被乗
数Ckの1倍の値の10ビット目のデ−タが11ビット
目の出力O11に出力される。同様に、出力O10には
Ck×1の9ビット目のデ−タが出力される。同様に、
出力O9〜O1には、8ビット目〜0ビット目のデ−タ
が出力される。そして、出力O0には、0が出力される
ように回路構成されている。また、本実施形態では、出
力O12には、ROM1(Q12)がそのまま出力され
るように構成されている。Q12は定数が負の場合1で
あり、定数が正の場合1である。
【0045】したがって、定数Ckの1倍の値Ck×1
(2進数)が選択され、そのCk×1が1ビット左シフ
トされて出力制御回路104から出力されるので、出力
O11〜O0には定数Ckの2倍の値が出力されること
になる。
【0046】次に、入力アドレス(A2,A1,AO)=
(0,1,1)の場合は、AND・OR回路402がアク
ティブになってスイッチS3がオンする一方、回路40
1,403,404が非アクティブであるので、スイッチ
S11〜13,S51〜53,S71〜73はオフしてい
る。また、回路408がアクティブになってスイッチS
Cがオンする一方、回路405,406,407が非アク
ティブであるので、スイッチS0,SL1,SL2はオフ
になる。
【0047】したがって、データROM3(Q11)が
スイッチS31,SC,回路409,410を通って、出
力O11から出力される。同様に、デ−タROM3(Q
12),ROM3(Q10)〜ROM3(Q0)が出力
O12,出力O10〜出力O0から出力される。これに
より、定数Ckの3倍の値Ck×3が出力O12〜O0
に出力される。
【0048】次に、入力アドレス(A2,A1,A0)=
(1,0,0)の場合は、AND・OR回路401がアク
ティブになりスイッチS11〜13がオンする一方、回
路402,403,404が非アクティブであるのでスイ
ッチS31〜33,S51〜53,S71〜73はオフ
している。また、回路407がアクティブになり、スイ
ッチSL2がオンする一方、回路405,406,408
が非アクティブであるので、スイッチS0,SC,SL1
はオフする。したがって、データROM1(Q9)がス
イッチS13,SL2,回路409,410を通って出力
O11に出力される。同様に、ROM1(Q8)が出力
O10に出力され、ROM1(Q7)〜ROM1(Q
0)が出力O9〜O2に出力される。また、出力O1と
O0には0が出力されるように回路構成されている。こ
れにより、Ckの1倍の値Ck×1が選択され、このC
k×1が2ビット左シフトされて、出力O11〜O0に
出力される。したがって、Ckの4倍の値が出力O12
〜O0に出力される。
【0049】次に、入力アドレス(A2,A1,A0)=
(1,0,1)の場合は、AND回路403がアクティブ
になりスイッチS51〜53がオンする一方、回路40
1,402,404が非アクティブであるから、スイッチS
11〜13,S31〜33,S71〜73はオフしてい
る。また、回路408がアクティブになり、スイッチS
Cがオンする一方、回路405,406,407が非アク
ティブであるので、スイッチS0,SL1,SL2はオフ
している。したがって、データROM5(Q11)がス
イッチS51,SC,回路409,410を通って出力O
11から出力される。同様に、デ−タROM5(Q1
2),ROM5(Q10)〜ROM5(Q0)が出力O
12,O10〜O0から出力される。したがって、定数
Ckの5倍の値Ck×5が選択され、値Ck×5が、出
力O12〜O0から出力される。
【0050】次に、入力アドレス(A2,A1,AO)=
(1,1,0)の場合は、AND・OR回路402がアク
ティブになり、スイッチS31〜33がオンする一方、
回路401,403,404が非アクティブであるので、
スイッチS11〜13,S51〜53,S71〜73はオ
フしている。また、回路406がアクティブになり、ス
イッチSL1がオンする一方、回路405,407,40
8が非アクティブであるので、スイッチS0,SC,SL
2はオフしている。したがって、出力O11にはデータ
ROM3(Q10)がスイッチS32,SL1,回路40
9,410を通って出力O11から出力される。つま
り、被乗数Ckの3倍の値の10ビット目のデ−タが1
1ビット目の出力O11に出力される。同様に、出力O
10〜O1に、Ck×3の9ビット目のデ−タ〜Ck×
3の0ビット目のデ−タが出力される。また、出力O0
には0が出力されるように回路構成されている。
【0051】これにより、被乗数Ckの3倍の値(2進
数)が、1ビット左シフトされて出力O12〜O0に出
力されるので、出力O12〜O0には被乗数Ckの6倍
の値が出力されることになる。
【0052】次に、入力アドレス(A2,A1,AO)=
(1,1,1)の場合は、AND回路404がアクティブ
になり、スイッチS71〜73がオンする一方、回路4
01,402,403が非アクティブであるので、スイッ
チS11〜13,S31〜33,S51〜53はオフして
いる。また、回路408がアクティブになりスイッチS
Cがオンする一方、回路405,406,407が非アク
ティブであるので、スイッチS0,SL1,SL2はオフ
になる。したがって、データROM7(Q11)がスイ
ッチS71,SC,回路409,410を通って、出力O
11から出力される。同様に、ROM7(Q12),R
OM7(Q10)〜ROM7(Q0)が出力O12,O
10〜O0から出力される。こうして、被乗数Ckの7
倍の値Ck×7が選択されて出力O12〜O0から出力
される。
【0053】上述の動作をまとめると次表のようにな
る。
【0054】 入力アドレス 選択回路103の 制御回路104の (A2,A1,A0) 出力 出力 (0,0,0) 非選択 0 (0,0,1) Ck×1 Ck×1×20 (0,1,0) Ck×1 Ck×1×21 (1,0,0) Ck×1 Ck×1×22 (0,1,1) Ck×3 Ck×3×20 (1,1,0) Ck×3 Ck×3×21 (1,0,1) Ck×5 Ck×5×20 (1,1,1) Ck×7 Ck×7×20 このように、この第1の実施の形態によれば、デ−タ記
録回路102のROM1,ROM3,ROM5にそれぞれ
被乗数Ckの1,3,5倍の値を記憶させておくだけで、
被乗数Ckの0,1,2,3,4,5,6,7倍の値を出力制
御回路104から出力できる。したがって、デ−タ記録
回路102の記憶容量を節約でき、消費電力を節約でき
る。
【0055】〔第2の実施の形態〕次に、図5に本発明
の積和演算回路の第2の実施の形態の要部を示す。この
第2実施形態は、第2出力制御手段としての加算器70
7と、この加算器707とデ−タ記録回路102との間
に接続された選択回路701,702を備えている点が
前述の第1の実施形態と異なる。上記選択回路701と
702とが第2選択手段と第1出力制御手段とを構成し
ている。
【0056】上記選択回路701には、デ−タ記録回路
102からのデ−タ(ROM1Qn)と、0とが入力さ
れる。このデ−タ(ROM1Qn)は、選択された被乗
数Ckの1倍の値の(n)ビット目のデ−タである。ま
た、上記選択回路702には、デ−タ記録回路2からの
デ−タROM3QnとROM1Q(n−1)とROM1Q
(n−2)とROM3Q(n−1)と、0とが入力される。
上記ROM3Qnは、選択された被乗数Ckの3倍の値
の(n)ビット目のデ−タであり、ROM1Q(n−1)
は、被乗数Ckの1倍の値の(n−1)ビット目のデ−タ
である。また、上記ROMQ(n−2)は、被乗数Ckの
1倍の値の(n−2)ビット目のデ−タであり、ROM3
Q(n−1)は、被乗数Ckの3倍の値の(n−1)ビット
目のデ−タである。
【0057】この第2の実施の形態の選択回路701と
702は、入力アドレス(A2,A1,A0)に応じて、
デ−タ記録回路102のROM1とROM3から次の
〜に示すようにデ−タを選択する。すなわち、 入力アドレス(A2,A1,A0)=(0,0,0)の
ときには、選択回路701,702は共に0を選択す
る。したがって、加算器707は、0+0を演算して、
被乗数Ckの0倍の値0を出力する。
【0058】 入力アドレス(A2,A1,A0)=
(0,0,1)のときには、選択回路701がROM1
(Qn)を選択し、選択回路702が0を選択する。し
たがって、加算器707は、Ck+0を演算して、被乗
数Ckの1倍の値Ck×1を出力する。
【0059】 入力アドレス(A2,A1,A0)=
(0,1,0)のときには、選択回路701が0を選択
し、選択回路702がROM1(Qn−1)を選択す
る。したがって、加算器707は、0にCk×21を加
算して、被乗数Ckの2倍の値Ck×2を出力する。
【0060】 入力アドレス(A2,A1,A0)=
(0,1,1)のときには、選択回路701が0を選択
し、選択回路702がROM3(Qn)を選択する。し
たがって、加算器707は、0にCk×3を加算して、
被乗数Ckの3倍の値Ck×3を出力する。
【0061】 入力アドレス(A2,A1,A0)=
(1,0,0)では、選択回路701が0を選択し、選択
回路702がROM1(Qn−2)を選択する。したが
って、加算器707は、0にCk×22を加算して、被
乗数Ckの22倍の値Ck×4を出力する。
【0062】 入力アドレス(A2,A1,AO)=
(1,0,1)では、選択回路701がROM1(Qn)
を選択し、選択回路702がROM1(Qn−2)を選
択する。したがって、加算器707は、CkにCk×2
2を加算して、Ck×5を出力する。
【0063】 入力アドレス(A2,A1,AO)=
(1,1,0)では、選択回路701が0を選択し、選択
回路702がROM3(Qn−1)を選択する。したが
って、加算器707は、0にCk×3×21を加算し
て、Ck×6を出力する。
【0064】 入力アドレス(A2,A1,AO)=
(1,1,1)では、選択回路701がROM1(Qn)
を選択し、選択回路702がROM3(Qn−1)を選
択する。したがって、加算器707は、Ck×1にCk
×3×21を加算して、Ck×7を出力する。
【0065】上記〜のような選択回路701,70
2と加算器707の動作により、定数Ckの1倍の値を
記憶した部分積ROM1とCkの3倍の値を記憶した部
分積ROM3を備えるだけで、加算器707の出力とし
て、定数Ckの0倍,1倍,2倍,3倍,4倍,5倍,6倍,
7倍のすべての積を得ることができる。
【0066】この第2の実施の形態では、デ−タ記録回
路102はCk×1を記憶したROM1とCk×3を記
憶したROM3を備えるだけでよいので、ROMサイズ
を一層小さくすることができ、消費電力を少なくでき
る。
【0067】〔第3の実施の形態〕次に、図6に本発明
の積和演算回路の第3の実施の形態を示す。この第3の
実施の形態は、回路902と901が接続された選択回
路903を備えた点だけが、先述の第1の実施の形態と
異なる。
【0068】アンド回路902の出力とアンド・オア回
路901の出力とが選択回路903に接続されている。
【0069】この第3の実施の形態での、入力アドレス
(A2,A1,AO)と回路901,902の出力(RA
1,RA0),選択回路903の出力,制御回路104の
出力との関係を次表に示す。次表に示すように、出力
(RA1,RA0)が(0,0)のときに選択回路903
がCk×1を出力し、出力(RA1,RA0)が(0,
1)のときに選択回路903がCk×3を出力し、出力
(RA1,RA0)が(1,0)のときに選択回路903
がCk×5を出力し、出力(RA1,RA0)が(1,
1)のときに選択回路903がCk×7を出力するよう
に回路構成しておく。
【0070】そうすれば、先述の第1の実施の形態と同
じ制御回路104の動作によって、入力アドレス(A
2,A1,A0)に応じて、選択回路903からの信号が
シフトされて、次表に示すように被乗数Ckの1倍,3
倍,5倍,7倍のデ−タだけでなく、被乗数Ckの0倍,
2倍,4倍,6倍のデ−タを出力することができる。
【0071】したがって、デ−タ記録回路102に記憶
させるデ−タ量を削減でき、記憶容量が小さくてすむの
で、ROMを小さくでき、消費電力を削減できる。 入力アドレス 回路出力 選択回路903 制御回路104 (A2,A1,AO) (RA1,RA0) 出力 出力 (0,0,0) (0,0) Ck×1 0 (0,0,1) (0,0) Ck×1 Ck×1×20 (0,1,0) (0,0) Ck×1 Ck×1×21 (1,0,0) (0,0) Ck×1 Ck×1×22 (0,1,1) (0,1) Ck×3 Ck×3×20 (1,1,0) (0,1) Ck×3 Ck×3×21 (1,0,1) (1,0) Ck×5 Ck×5×20 (1,1,1) (1,1) Ck×7 Ck×7×20
【発明の効果】以上の説明より明かなように、この請求
項1の発明は、乗数選択信号が乗数としてXを選択した
ときには、第2選択手段は、被乗数Ckに乗数Xを乗算
した積Ck×Xを選択して出力制御手段に出力する。す
ると、上記出力制御手段は、上記積Ck×Xをシフトせ
ずに出力する。
【0072】一方、上記乗数選択信号で乗数として(2
n)Xを選択したときには、第2選択手段は、乗数Xが
選択されたときと同様に、被乗数Ckに乗数Xを乗算し
た積Ck×Xを選択して出力制御手段に出力するが、出
力制御手段は上記積Ck×Xをnビットだけ左にシフト
させて、(Ck×X)の(2n)倍の値を出力する。
【0073】したがって、たとえば、Xを奇数としたと
きに、デ−タ記憶手段は被乗数Ckの奇数X倍のデ−タ
Ck×Xを記憶しておくだけで、出力制御手段からCk
の奇数倍のデ−タだけでなく、Ck×Xの(2n)倍の
デ−タも出力できる。したがって、デ−タ記憶手段に記
憶させるデ−タ量を削減でき、小さな記憶容量で積和演
算回路を構成でき、消費電力を削減できる。
【0074】なお、上記出力制御手段が上記積Ck×X
をnビットだけ右にシフトさせる場合には、Ck×Xの
(2-n)倍のデ−タを出力できる。
【0075】また、請求項2の発明の積和演算回路は、
乗数選択信号が乗数としてXを選択したときには、第2
選択手段で積Ck×Xを選択して、第1出力制御手段で
シフトせずに第2出力制御手段に出力する。すると、第
2出力制御手段は積Ck×Xを出力する。一方、乗数選
択信号が乗数として2Xを選択したときには、第2選択
手段は積Ck×Xを選択して、第1出力制御手段はこの
積Ck×Xを1ビットだけ左にシフトさせて、(Ck×
X)の2倍の値を第2出力制御手段に出力する。する
と、第2出力制御手段は、積(Ck×X)×2を出力す
る。
【0076】さらに、乗数として(X+2X)を選択し
たときには、第2選択手段で積Ck×Xを選択し、第1
出力制御手段で積(Ck×X)を1ビット左にシフトさ
せた(Ck×X)の2倍の値と積(Ck×X)とを第2
出力制御手段に出力する。すると、第2出力制御手段
は、(Ck×X)と(Ck×X)×2とを加算して積C
k×Xの3倍の値を出力できる。
【0077】したがって、請求項2の発明によれば、デ
−タ記憶手段に積Ck×Xの1倍の値を記憶させておく
だけで、出力制御手段から積Ck×Xの1倍,2倍,3倍
の値を出力できる。したがって、デ−タ記憶手段に記憶
させるデ−タ量を一層削減でき、一層小さな記憶容量で
積和演算回路を構成できる。したがって、消費電力を一
層削減することができる。
【0078】また、上記乗数として(X+2X)を選択
したときに、積(Ck×X)を2ビット左にシフトさせ
た(Ck×X)の4倍の値と、積(Ck×X)とを第1
出力制御手段から出力し、第2出力制御手段で(Ck×
X)×4から(Ck×X)を減算して、積Ck×Xの3
倍の値を出力させることもできる。この場合にも、デ−
タ記憶手段に積Ck×Xの1倍の値を記憶させておくだ
けで、第2出力制御手段から積Ckの1倍,3倍,4倍の
値を出力できる。したがって、デ−タ記憶手段の記憶量
を削減でき、より小さな記憶容量で積和演算回路を構成
でき、消費電力を削減できる。また、請求項3の発明
は、乗数選択信号で乗数として0が選択されたときに、
出力禁止手段が第2選択手段からの積信号の出力を禁止
する。したがって、データ記憶手段に被乗数の0倍のデ
ータを記憶させておかなくても、被乗数の0倍の値を出
力できる。
【図面の簡単な説明】
【図1】 本発明の積和演算回路の第1実施形態のブロ
ック図である。
【図2】 上記第1実施形態のデータ記録回路に記録さ
れているデ−タの一例を示す図である。
【図3】 上記第1実施形態の選択回路と出力制御回路
を示す回路図である。
【図4】 図3の回路図の部分詳細図である。
【図5】 本発明の第2実施形態を部分的に示す図であ
る。
【図6】 本発明の第3実施形態を示すブロック図であ
る。
【図7】 従来の積和演算回路のブロック図である。
【図8】 従来の積和演算回路のROMに記録されてい
るデ−タを示す図である。
【符号の説明】
100…積演算回路、101…選択回路、102…デ−
タ記録回路、103,701,702,903…選択回
路、104…出力制御回路、S0,SC,SL1,SL
2,S11,S12,S13…スイッチ、S31,S3
2,S33,S51,S52,S53…スイッチ、S7
1,S72,S73…スイッチ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数の被乗数と複数の乗数との積を記憶
    しており、選択された被乗数と乗数との積信号を出力す
    るデ−タ記憶手段と、 上記複数の被乗数の内の1つを選択して、この選択した
    被乗数を含んだ積を上記デ−タ記憶手段から選択する第
    1選択手段と、 乗数選択信号に応じて、上記複数の乗数の内の1つを選
    択して、この選択した乗数を含んだ積の積信号を上記デ
    −タ記憶手段から出力された積信号から選択して出力す
    る第2選択手段と、 上記乗数選択信号に応じて、上記第2選択手段から出力
    された積信号を、nビットだけシフトして出力するか、
    シフトせずに出力するのかを選択して出力する第1出力
    制御手段とを備えたことを特徴とする積和演算回路。
  2. 【請求項2】 請求項1に記載の積和演算回路におい
    て、 上記第1出力制御手段から出力された積信号を加算もし
    くは減算して出力する第2出力制御手段を備えたことを
    特徴とする積和演算回路。
  3. 【請求項3】 請求項1に記載の積和演算回路におい
    て、 上記第1出力制御手段は、乗数選択信号で乗数として0
    が選択されたときに上記第2選択手段からの積信号の出
    力を禁止する出力禁止手段を備えていることを特徴とす
    る積和演算回路。
JP9139907A 1997-05-29 1997-05-29 積和演算回路 Pending JPH10333887A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9139907A JPH10333887A (ja) 1997-05-29 1997-05-29 積和演算回路
DE19824227A DE19824227A1 (de) 1997-05-29 1998-05-29 Produkt-Summen-Rechenschaltung aus klein bemessenem ROM
US09/086,486 US6101522A (en) 1997-05-29 1998-05-29 Product-sum calculation circuit constructed of small-size ROM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9139907A JPH10333887A (ja) 1997-05-29 1997-05-29 積和演算回路

Publications (1)

Publication Number Publication Date
JPH10333887A true JPH10333887A (ja) 1998-12-18

Family

ID=15256416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9139907A Pending JPH10333887A (ja) 1997-05-29 1997-05-29 積和演算回路

Country Status (3)

Country Link
US (1) US6101522A (ja)
JP (1) JPH10333887A (ja)
DE (1) DE19824227A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018180975A (ja) * 2017-04-14 2018-11-15 株式会社半導体エネルギー研究所 半導体装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453332B1 (en) * 1999-08-20 2002-09-17 Winbond Electronics Corp. Method and apparatus for performing plural matrix multiplication operations
US6533800B1 (en) * 2001-07-25 2003-03-18 Coaxia, Inc. Devices and methods for preventing distal embolization using flow reversal in arteries having collateral blood flow
US20070112901A1 (en) * 2005-11-15 2007-05-17 Afshin Niktash Configurable digital filter
US11256979B2 (en) * 2018-03-30 2022-02-22 Intel Corporation Common factor mass multiplication circuitry
US10853034B2 (en) * 2018-03-30 2020-12-01 Intel Corporation Common factor mass multiplication circuitry
US11662980B2 (en) * 2019-11-06 2023-05-30 Flashsilicon Incorporation In-memory arithmetic processors

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4423488A (en) * 1981-01-09 1983-12-27 Harris Corporation Digital filter employing PROM for storing positive and negative impulse response values
GB2095067B (en) * 1981-03-12 1984-10-03 Standard Telephones Cables Ltd Digital filter arrangement
US4566075A (en) * 1982-12-21 1986-01-21 Texas Instruments Incorporated Table lookup multiplier employing compressed data read only memory
FR2557746B1 (fr) * 1983-12-30 1986-04-11 Thomson Csf Filtre numerique a bande passante et phase variables
US4679164A (en) * 1984-12-17 1987-07-07 The United States Of America As Represented By The Secretary Of The Army Digital high speed programmable convolver
US5255216A (en) * 1991-08-16 1993-10-19 International Business Machines Corporation Reduced hardware look up table multiplier
US5262973A (en) * 1992-03-13 1993-11-16 Sun Microsystems, Inc. Method and apparatus for optimizing complex arithmetic units for trivial operands

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018180975A (ja) * 2017-04-14 2018-11-15 株式会社半導体エネルギー研究所 半導体装置

Also Published As

Publication number Publication date
DE19824227A1 (de) 1998-12-03
US6101522A (en) 2000-08-08

Similar Documents

Publication Publication Date Title
KR940002479B1 (ko) 고속 디지탈 병렬승산기(multiplier)
JPH07113886B2 (ja) 演算回路
US4857882A (en) Comparator array logic
JPS6256536B2 (ja)
JPH064271A (ja) 乗算器
JPH10333887A (ja) 積和演算回路
US5303178A (en) Multiplying system based on the Booth's algorithm and generating a positive or negative product in response to a mode signal
US5822231A (en) Ternary based shifter that supports multiple data types for shift functions
US7296049B2 (en) Fast multiplication circuits
US5781462A (en) Multiplier circuitry with improved storage and transfer of booth control coefficients
JP2541758B2 (ja) 剰余算出回路
JPH09114639A (ja) マスクデータ生成回路及びビットフィールド操作回路
JPH10503311A (ja) ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ
JP3515170B2 (ja) 実数または複素数用の乗算器
US6138133A (en) Circuit for calculating the inverse of an arbitrary element of a finite field
JPH0721011A (ja) Mosシフト回路装置
JPS6029977B2 (ja) 2進演算回路
JP2606326B2 (ja) 乗算器
JP3638218B2 (ja) シフト機能付きalu命令を持つマイクロプロセッサ
JP2003099250A (ja) レジスタ読み出し回路及びマイクロプロセッサ
JPS6151237A (ja) 信号発生器
US6578062B1 (en) Method and circuit for digital division
JP2006338215A (ja) ベクトル積和演算回路
KR100265358B1 (ko) 고속의쉬프팅장치
US20130262549A1 (en) Arithmetic circuit and arithmetic method