JP3748119B2 - Multi-valued logic circuit - Google Patents
Multi-valued logic circuit Download PDFInfo
- Publication number
- JP3748119B2 JP3748119B2 JP32924795A JP32924795A JP3748119B2 JP 3748119 B2 JP3748119 B2 JP 3748119B2 JP 32924795 A JP32924795 A JP 32924795A JP 32924795 A JP32924795 A JP 32924795A JP 3748119 B2 JP3748119 B2 JP 3748119B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- value
- output
- digit
- comparator
- 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
Links
Images
Landscapes
- Logic Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、回路形式の面では、容量結合で複数の入力が接続され、その重み付き線形和で決まる出力を発生する機能を持つ回路に関し、特にニューロンMOSと呼ばれる回路形式に関する。また、本発明は、機能面からみれば、1つの信号線の電圧レベルを3以上にすることにより、通常の2進の論理回路より高い機能を持つ多値論理回路に関する。
【0002】
【従来の技術】
公知のように、ニューロンMOS回路は、MOSトランジスタのゲートをフローティングとし、それに入力信号を容量的に結合することにより、入力電圧の重み付き線形和に応じて、トランジスタのチャネルが形成することを利用した回路であり、ニューラルネットワーク、FPGA等に用いると、非常に回路が簡単化できるという提案がされている。このようなニューロンMOS回路については、例えば次の文献に詳しい:H.ISHII et al.、”Hardware−Backpropagation Learning of Neuron MOS Neural Networks”、1992 IEDM Tech.Dig.、pp435−pp438。
【0003】
図40に、ニューロンMOS回路の一例を示す。図示の回路は、PチャネルMOSトランジスタとNチャネルMOSトランジスタを用いて、コンプリメンタリー型のソース接地増幅器である。2つのMOSトランジスタは共通のフローティングゲートFGを有し、これに入力信号V1〜Vn(nは任意の整数)を容量結合する。入力電圧V1〜Vnの重み付き線形和で決まるフローティングゲート電位に対して、出力電圧Voutは急峻に立ち下がる特性となる。
【0004】
他方、多値論理回路は、通常バイポーラトランジスタを用いたECL回路やIIL回路を用いて構成される。これらの回路は通常、線形和を取りやすい電流モードで動作する。従って、消費電力が大きいという問題点がある。
近年、ニューロンMOS回路を多値論理回路に適用することが提案されている。ニューロンMOS回路は電圧モードで入力電圧の線形和が簡単にとれるため、これを多値論理回路に適用すれば、消費電力及び回路の簡素化の点で非常に有効であると考えられる。
【0005】
【発明が解決しようとする課題】
しかしながら、図40に示す構成のニューロンMOS回路は、入力電位の僅かな変化に対して、出力電圧がハイレベル(VDD)からローレベル(VSS)に変化する2値出力回路である。
【0006】
この点を解決し、多値出力が可能なニューロンMOS回路が提案されている。
図41は、コンプリメンタリー型のソースフォロワ増幅器である。NチャネルMOSトランジスタのソースとPチャネルMOSトランジスタのソースとが共通に接続され、ここから出力電圧Voutが取り出される。このような多値出力可能なニューロンMOS回路は例えば、次の文献に詳しい:T.Shibata et al.、”Neuron MOS Voltage−Mode Circuit Technology for Multiple−valuedLogic”、IECE TRANS. ELECTRON.、VOL.E76−C、NO.3、MARCH 1993、pp347−pp356。 また、図41に示すニューロンMOS回路を用いて多値メモリを構成することも提案されている(例えば、R.Au et al.、”Neuron−MOS Multiple−Valued Memory Technology for Intelligent Data Processing”、International Conference on Advanced Microelectronic Devices and Processing、pp80−pp85参照)。
【0007】
しかしながら、多値出力可能な図41に示すニューロンMOS回路は、ソースフォロワのためフローティングゲートFGの電位に対して利得がほぼ1であるため、個々の入力V1〜Vnに対しては利得が1より小さくなってしまうという問題点がある。この問題点は、図41に示すニューロンMOS回路で多値論理回路等を構成する上で障害となり、その応用分野が制限されてしまう。
【0008】
従って、本発明は上記従来の問題点を解決し、入力電圧の重み付き線形和に比例した出力を発生し、その重みを任意に設定できる十分な利得を持った低電力消費の多値論理回路を提供することを目的とする。
【0009】
【課題を解決するための手段】
請求項1に記載の発明は、ある数値に対応するように符号化された複数の多値論理信号を入力とし、それらの数値の和に対応する多値論理信号を出力とする回路において、そのk桁(k=0、1、2、...)の演算回路は、桁上げ信号を発生させるための多入力比較器と、k桁の入力とこれらの入力の桁上げ信号とk−1桁の桁上げ信号の重み付き線形電圧加算を行う多入力増幅器とを有し、前記多入力比較器と多入力増幅器はそれぞれ容量結合により対応する入力信号と接続され、前記多入力電圧増幅器の電圧利得が、前記容量結合の容量と負帰還回路の容量との比で決定されることを特徴とする多値論理回路多値論理回路である。
【0010】
請求項1に記載の発明によれば、前記多入力電圧増幅器の電圧利得が、前記容量結合の容量と負帰還回路の容量との比で決定される多値論理回路であるため、この比を適当に選択することで出力を飽和させることなく、入力の重み付き線形和に比例した十分な利得の出力(加算結果)を得ることができる。また、電圧モードで動作するため、低消費電力化が可能となる。
【0011】
請求項2に記載の発明は、請求項1において、前記入力、出力または中間出力の多値論理信号がどの多値レベルにあるかを判定する複数の弁別器と、弁別器の出力を線形加算するための多入力増幅器とを更に有する。すなわち、この弁別器と多入力増幅器とは多値量子化器を構成し、この多値量子化器で量子化することで多値レベルの誤差を補正することができ、この誤差が後段に伝搬して積算されることがない。
【0012】
請求項3に記載の発明は、ある数値に対応するように符号化された複数組の多値論理信号を入力とし、それらの数値の和に対応する多値論理信号を出力とする多値論理回路において、k桁(k=0、1、2、...)の演算回路は桁上げ信号を発生させるための多入力比較器と、k桁の入力の和からその桁の桁上げ信号を引いた値がどの論理値にあるかを判定する多入力比較器とを含み、前記多入力比較器が容量結合によりその入力と接続されることを特徴とする多値論理回路である。これにより、多入力比較器での量子化作用によるレベル判定結果と桁上げ信号とを一度に加算することができ、簡単な構成で誤差の伝搬を防止することができる。
【0013】
請求項4に記載の発明は、請求項3において、k桁の入力の和から桁上げ信号を引いた値を判定する多入力比較器の出力と、k−1桁からの桁上げ信号とを、容量結合により多入力増幅器に接続することで多値出力を得ることを特徴とする多値論理回路である。すなわち、請求項3で得られたレベル判定結果と桁上げ信号とを多入力増幅器で一度に加算する。
【0014】
請求項5に記載の発明は、請求項3において、k桁の入力の和から桁上げ信号を引いた値を判定する多入力比較器の出力と、k−1桁からの桁上げ信号とからなる2値レベルの出力の組を、そのまま又は2値論理演算したものを出力することを特徴とする多値論理回路である。これにより、2値コード化された多値出力が得られる。
【0015】
請求項6に記載の発明は、請求項1ないし5のいずれか一項において、前記多値論理信号は、各桁の重みがR(Rは2以上の自然数)のべきで表され、各桁がN通りの値をとる符号を用い、そのN値に多入力比較器と多入力増幅器の入出力電圧範囲を等分割した電圧レベルに対応することを特徴とする多値論理回路である。
【0016】
請求項7に記載の発明は、請求項6において、前記符号は2M進2M+3値符号(Mは2以上の自然数)、又はN≧R+2(R,Nは自然数でR≧3)を満たすR進N値符号であり、前記桁上げ信号を発生させるための多入力比較器は、k桁の入力の和と一定の数値とを比較する比較器を具備することを特徴とする多値論理回路である。請求項7に記載の発明の多値論理回路は、2M進2M+3値冗長加算器、2M+1進2M+3値冗長加算器、2M進2M+2値冗長加算器等の、N≧R+2を満たすR進N値冗長加算器として機能する。
【0017】
請求項8に記載の発明は、請求項6において、前記多値論理信号は2M進2M+1(Mは自然数)を用い、前記桁上げ信号を発生する多入力比較器は、k桁の入力の和とk−1桁の入力の和の正負を示す数値との和と、所定の2つの数値とを比較する比較器とを有し、前記桁上げ信号は得られる2つの比較結果で表されるとともに、更にk桁の入力の和の正負を示す数値を出力する判定器を有することを特徴とする多値論理回路である。この多値論理回路は2M進2M+1冗長加算器として作用する。
【0018】
請求項9に記載の発明は、請求項6において、前記符号は2M進2M+1値符号(Mは自然数)であり、前記桁上げ信号を発生させるための多入力比較器は、k桁の入力の和の正負を判定する比較器と、その出力とk桁の入力の和とk−1桁の入力の和の正負を示す数値と三者の和と一定の数値とを比較する比較器を具備することを特徴とする多値論理回路である。この多値論理回路は2M進2M+1冗長加算器として作用する。
【0019】
請求項10に記載の発明は、請求項1ないし9のいずれか一項において、前記多入力増幅器は、容量結合により複数の入力と接続されたCMOSインバータ回路に容量を介して出力から負帰還をかけた回路を含むことを特徴とする多値論理回路である。
【0020】
請求項11に記載の発明は、請求項1ないし9のいずれか一項において、前記多入力増幅器は、入出力間を容量で結合したCMOSインバータ回路を含むことを特徴とする多値論理回路である。
【0021】
【発明の実施の形態】
まず、本発明による多値論理回路の基本となる容量結合型多入力増幅器について説明する。
図1は図40に示すニューロンMOS回路に相当する容量結合型多入力増幅器(ニューロンMOSインバータ)を示す等価回路図、図2は図1に示す反転増幅器Aの一構成例であるCMOSインバータ、図3は本発明による多値論理回路の基本となる容量帰還型多入力増幅器である。
【0022】
まず、通常のCMOSインバータ(図2)の入出力特性は
VO =−A(Vi −Vinv )+Vinv (1)
で表される。ここで、Vi は入力電圧、VO は出力電圧、Vinv は入力と出力が同電位となる入力電圧(インバータ電圧)、Aはインバータ電圧Vinv での電圧利得の絶対値である。
【0023】
図1に示すニューロンMOS回路では、ゲート電極はフローティングとなり、入力は容量結合でフローティングゲート電極と結合されている。従って、フローティングゲートの電位Vg は、
【0024】
【数1】
【0025】
で表される。ここで、Vk は入力kの電位、CK は入力kとフローティングゲートの結合容量である。Cg はフローティングゲートとチャネルの容量、Vchはチャネルの実効電位、Cstは浮遊容量、Vstは浮遊容量が結合している部分の実効電位である。また、Ctot はフローティングゲートに結合している全ての容量の和で、
【0026】
【数2】
【0027】
である。
式(1)と式(2)とからニューロンMOSインバータの特性は
【0028】
【数3】
【0029】
となる。ただし、Vinv'は実効インバータ電圧で
である。
【0030】
インバータの電圧利得Aは通常非常に大きいため、各入力に対する電圧利得Ak も
Ak =−ACk /Ctot (6)
と大きい値になる。このため、入力が少し変化すると出力はVDDからVSSに変化してしまい、中間の出力は得られない。従って、ニューロンMOSインバータは式(2)で表される入力の重み付き線形和が一定値(Vinv')以上であるかを弁別する働きを持つが、入力の重み付き線形和に比例した出力を得ることは出来ない。
【0031】
図3に示す容量帰還型多入力増幅器では、1つの入力端子(Lとする)を容量CL を介して出力端子に接続している。この構成において、式(4)は次のようになる。
【0032】
【数4】
【0033】
これを、VO について解くと、
【0034】
【数5】
【0035】
となる。Aが十分大きければ、
【0036】
【数6】
【0037】
である。各入力に対する電圧利得Ak も
Ak =−CK /CL (9)
と容量比だけで決まる値になり、この値を適当に選べば出力を飽和させることなく、入力の重み付き線形和に比例した出力を得ることができる。以下の説明では、出力端子に接続され、負帰還に用いられる容量CL をフィードバック容量CF と呼ぶ場合がある。
【0038】
一方、図41に示すニューロンMOSソースフォロワを用いると、入力の重み付き線形和に比例した出力を得る(多値出力)ことができる。
ソースフォロワの特性は、その入出力間電位差をVthとすると、ほぼ
VO =Vi −Vth (10)
で表されるから、ニューロンMOSソースフォロワの特性は、
【0039】
【数7】
【0040】
となり、各入力に対する電圧利得Ak も
Ak =Ck /Ctot (12)
と容量比だけで決まる値となり、出力を飽和させることなく、入力の重み付き線形和に比例した出力を得ることができる。
【0041】
しかしながら、この電圧利得Ak は全ての入力に対するものを集めても1より小さく、各入力に対しては更に小さい。従って、各入力に対する電圧利得を自由に選べないことが判る。これにより、多値論理回路等を構成する上で障害となるなど、応用分野が制限されてしまう。
【0042】
これに対して、図3に示すフィードバック容量CF 付多入力増幅器では、電圧利得は式(9)で表され、自由に選べることがわかる。
なお、フィードバック容量CF については、前述した文献のうち、イシイらの文献に示されているが、入出力特性は容量比で変化することを示すに留まり、後述する多値論理回路への適用を示唆する記載はない。
【0043】
図3に示す回路構成について、更に説明する。反転増幅器Aとしては、図2に示すCMOSを用い、容量CL を介して負帰還をかけることで、各入力に対する電圧利得を決定している。また、入力の一部を直流電圧源に接続することにより、実効インバータ電圧Vinv を変えることもできる。入力Xをこのための入力とし、他の入力に対する実効インバータ電圧Vinv"を式(8)より求めると、
【0044】
【数8】
【0045】
となり、
【0046】
【数9】
【0047】
が得られる。複数の入力をこの目的で用いる場合は並列容量と容量で重み付けした平均電圧を用いればよい。例えば、Cx1とCx2をそれぞれVDDとVSS(=0)に接続した場合、合成容量Cx1+Cx2、等価電圧VDDCX1/(Cx1+Cx2)とすればよい。
【0048】
次に、図3の構成を利用した種々の基本多値論理回路を説明する。これらの基本多値論理回路は、後述する多値論理回路(多値加算回路)で用いられるものである。なお、以下に説明する基本多値論理回路では、上述の実効インバータ電圧は適当な値に設定されているものとし、インバータ電圧を制御するための直流入力は省略してある。
【0049】
図4は、多値インバータを示す図である。図4に示す構成では、入力容量Cとフィードバック容量CF とを同じ値(CF =C)にすることにより、入力に対する出力の利得を−1にしている。また、実効インバータ電圧は電源電圧VDDの1/2に設定してある。すなわち、出力電圧Vo は
VO =−(Vi −VDD/2)+VDD/2=VDD−Vi
となる。N値(Nは2以上の自然数)信号x(x∈{0、1、2、...、N−1})に電圧レベルx/(N−1)VDDを対応させれば、その否定 ̄xは次の通り書ける。
 ̄x=N−1−x
この否定 ̄xが出力に現れる。
【0050】
図5は、R進反転型D/Aコンバータである(Rは2以上の自然数)。この構成では、入力の容量の比をRのべきに比例するように設定してある(C、RC、R2 C、...、RL-1 C)。これにより、各入力に対する利得は−A、−AR、−AR2 、...、−ARL-1 となる。また、実効インバータ電圧Vinv は次のように調節する。まず、D/Aコンバータの出力Vo は、
VO =−AΣRk-1 (Vk −Vinv )+Vinv
で表される。
【0051】
入力のR値信号
x=ΣRk-1 xk (xk ∈{0、1、2、...、R−1})
の各桁xk に電圧レベルx/(R−1)VDDを対応させれば、
が得られる。特に、
A=(R−1)/(RL −1)、Vinv =VDD/2
とすると、
Vo =VDD(1−1/(RL −1)ΣRk-1 xk )
となり、また
A=(R−1)/RL 、Vinv =VDDRL /(2RL −1)
とすると、
Vo =VDD(1−1/RL ΣRk-1 xk )
となり、入力のR値L桁信号xに応じた出力がほぼフルスケールで得られることが判る。
【0052】
図6は、多入力反転増幅器を複数用いることにより、正の重みも可能にした回路である。前段の反転増幅器の入力容量をC1k(K=1、2、...、L1)、フィードバック容量をC1Fとし、後段の反転増幅器の入力容量をC21(l=0、1、2、...、L2)、フィードバック容量をC2Fとする。そして、前段の反転増幅器の出力が後段の反転増幅器の0番目の入力に容量C2kを介して接続されている。このとき、それぞれの利得が十分大きいとすると、
【0053】
【数10】
【0054】
となり、正負の両方の重みが得られることがわかる。ここで
【0055】
【数11】
【0056】
である。ただし、どのような入力に対しても前段の反転増幅器の出力が飽和しないようにするためには、
C1F≧ΣC1k
とする必要がある。
【0057】
図7は、N値量子化器である。N値の値nを電圧レベルn/(N−1)VDDに対応させる場合、入力の比較器A1 、A2 、AN のしきい値はそれぞれ
(n−1/2)/(N−1)VDD(n∈{1、2、...、N−1})
に設定する。これらの出力を同じ重み(容量C/(N−1))で後段の多入力反転増幅器に入力することにより、N値量子化器を得ることができる。
【0058】
図8は、図7に示すN値量子化器の動作特性を示す図で、(A)は入力電圧Vi に対する比較器A1、A2、A3(図7では省略)、AN の出力電圧を示し、図(B)はN値量子化器の入出力特性を示す。
図9は、R進N値加算器の要部を示す図である(Rは2以上の整数)。すなわち、図9に示す加算器は、各桁の重みがR(Rは2以上の自然数)のべきで表され(すなわち、R進数で)、各桁がN通りの値をとる符号を処理する。このような符号として、各桁が正負の対称な値をとるSD(Signed Digit)符号がある。周知のように、SD符号は冗長性を有する。例えば、4桁の4進SD数は10進数の”10”に対して複数の表現が可能である。((0022)、(1−3−1−2)等)。上記冗長性とは、ある数値が複数通りの表現で表わされる可能性があることを意味している。この点に鑑み、上記加算器は特にR進N値冗長加算器とも呼ばれる。
【0059】
図9において、k桁のxk とyk の加算結果zk は破線で囲まれた部分(加算器の基本演算回路)で行われ、その中間の出力(中間和)wk (=xk +yk =sk +Rck )と、k−1桁からの桁上げ信号ck-1 との和で算出される。すなわち、桁上げ信号の伝搬は1けたのみに限られる。
【0060】
図10は、R進N値冗長加算器の図9の破線で囲まれた部分に相当する回路図である。ただし、R=2M≧4、N=2M+3である。なお、R=2M+1≧3、N=2M+3の場合も同様に構成できる。入力xk とyk を加算した中間和wk から和信号sk と桁上げ信号ck を算出し、そのうちの和信号sk とk−1桁からの桁上げ信号ck-1 との和zk を算出する。
【0061】
比較器A1を含む多入力反転増幅器と、比較器A2を含む多入力反転増幅器とは、入力xk とyk とからk+1桁に伝搬する桁上げ信号ck を生成する。増幅器A4を含む多入力反転増幅器は、和信号sk (=wk −Rck )を算出する。増幅器A3を含む多入力反転増幅器は、和信号sk と、k−1桁からの桁上げ信号ck-1 とから最終的な答えzk を算出する。
【0062】
以下、式を用いて図10の構成及び動作を説明する。
R進N値冗長加算器の入力信号は、次の通り表される。
x=ΣRk xk (xk ∈{−(M+1)、−M、...、M、M+1})
y=ΣRk yk (yk ∈{−(M+1)、−M、...、M、M+1})
入力信号の各桁において、xk とyk の中間和wk を作り、それを和信号sk (sk ∈{−M、−(M−1)、...、−1、0、1、...、M−1、M})と桁上げ信号ck (ck ∈{−1、0、1}に分解する。最終的な答えzk (zk ∈{−(M+1)、−M、...、−1、0、1、...、M、M+1})は、和信号sk と1つ下の桁上げ信号ck-1 の和として得られる。すなわち、
wk =xk +yk =sk +Rck
zk =sk +ck-1
となる。桁上げ信号は、
【0063】
【数12】
【0064】
となる。ただし、R=2Mの場合には、wk =−Mの時ck =−1、wk =Mの時ck =1としてもよい。
桁上げ信号ck は、これを2つの成分αk とβk に分け、xk とyk から生成する。
【0065】
【数13】
【0066】
すなわち、図6に示す増幅器を用いることにより、xk 、yk 、αk 、βk の重み付き線形和としてzk を得る。
なお、容量の決定に際しては、比較器A1及びA2の出力は、−(2M+2)αk 、−(2M+2)βk に対応したレベルであることを考慮する。すなわち、比較器A1からの出力は−(2M+2)αk であり、一方これを受ける容量の重みは入力xk に対しR倍なので、その容量を{R/(2M+2)}C2 に設定する。同様に、比較器A2からの出力は−(2M+2)βk であり、一方これを受ける容量の重みは入力yk に対しR倍なので、その容量を{R/(2M+2)}C2 に設定する。
【0067】
また、増幅器A3の入力容量は次のように設定する。和信号−sk を受ける容量C3 に対し、k−1桁の桁上げ信号ck-1 (−(2M+2)αk-1 +{−(2M+2)βk-1 )は等しい重み付けである。よって、桁上げ信号を受ける容量はそれぞれ{1/(2M+2)}C3 である。
【0068】
図11は、図10に示す2M進2M+3値冗長加算器の中間和wk と信号ck 、sk 、αk 、βk との関係を示す図である。なお、図中、各信号は実線、破線のいずれをも取り得る。
図11に示すように、中間和wk に対し、桁上げ信号ck は±Mの前後で変化する。従って、図10に示す比較器A1 のしきい値を−(M±1/2)、比較器A2 のしきい値を(M±1/2)に設定することで、桁上げ信号ck の値を決定できる。なお、このときのαk とβk は、図11に示す通りである。増幅器A4 の出力−sk はxk +yk −R(αk +βk )に等しいので、図11に示すように変化する。
【0069】
ここで、一例としてM=2の場合を考える。すなわち、4進7値冗長加算器では、
wk =xk +yk =4ck +sk
となる。よって、wk とck 及びsk との関係は図12に示すようになる。wk =±2の場合には、ck 及びsk はいずれの値をも取り得る。従って、例えば比較器A1 とA2 のしきい値を各々−1.5と+1.5に設定することで、桁上げ信号ck の値を決定できる。比較器A1 、A2 の出力は電源電圧VDD又はVS のいずれかの値をとる。VDDは7値(M=2)の+3(=M+1)に相当し、VSSは−3(=−(M+1))に相当する。よって、A1 及びA2 の出力はそれぞれ、−(2M+2)αk 、(2M+2)βk となり、これらを受ける容量は次の通りである。
{R/(2M+2)}C2 =4/(2×2+2)=2/3C2
また、増幅器A3 の入力容量は等しい重み付けであるが、M=2の場合、k−1桁からの桁上げ信号ck-1 は本来の値の6倍なので、桁上げ信号ck-1 を受ける2つの容量は−sk を受ける容量C3 に対しそれぞれ1/6に重み付けされている。
【0070】
図10に示す2M進2M+3冗長加算器の説明においては、各桁が正負の対称な値をとるSD符号を用いる場合を説明したが、2M進2M+2値でxk ∈{−M、...、M、M+1}又はxk ∈{−(M+1)、M、...、M}といった非対称な値を持つ符号や、xk ∈{0、...、2M、2M+1}といった正だけの値を取る符号を用いた場合でも同様の考え方で構成可能である。
【0071】
図13は、図9と同様のR進N値冗長加算器の要部の構成を示す図であるが、図13の構成の場合にはR=2M≧2、N=2M+1の場合である。図9に示す構成と異なり、処理部10でk桁の桁上げ信号ck はk−1桁の中間和wk-1 に関する情報(具体的には、その符号)を参照して決められる。
【0072】
図14は、図13に示すR進N値冗長加算器の破線で囲まれた部分に相当する回路図である。比較器A1を含む多入力反転増幅器と、比較器A2を含む多入力反転増幅器とは、入力xk とyk とk−1桁からの中間和wk-1 の符号(−2Mγk-1 )からk+1桁に伝搬する桁上げ信号ck を生成する。比較器A3 を含む多入力反転増幅器は、入力xk とyk とから、k+1桁に送る中間和wk の符号(−2Mγk )を生成する。増幅器A5を含む多入力反転増幅器は、和信号sk (=wk −Rck )を算出する。増幅器A4を含む多入力反転増幅器は、和信号sk と、k−1桁からの桁上げ信号ck-1 とから最終的な答えzk を算出する。
【0073】
以下、式を用いて図14の構成及び動作を説明する。
図14に示す加算器では、入力信号
x=ΣRk-1 xk (xk ∈{−M、−(M−1)、...、M−1、M})
y=ΣRk-1 yk (yk ∈{−M、−(M−1)、...、M−1、M})
の各桁の入力信号から中間和wk を作成し、それを和信号sk (sk ∈{−M、−(M−1)、...、M−1、M})と桁上げ信号ck (ck ∈{−1、0、1}に分解する。最終的な答えzk (zk ∈{−M、−(M−1)、...、M−1、M})は、和信号sk と1つ下の桁上げ信号ck-1 の和として得られる。この場合には、sk とck-1 の和が定められた範囲に収まるようにするため、桁上げ信号の生成に工夫をする。すなわち、上記範囲に収まるようにするために、|wk |=Mの時には、wk-1 ≦0の場合sk >0となるように、wk-1 の場合sk <0となるようにck を求める。
【0074】
図14の回路構成において、中間和の正負を判断する比較器A3 を設け、入力容量C4 を介して入力xk 、yk を受け取り、その和を基準値を比較する。そして、比較器A3 が出力する比較結果より1つ上の桁の2つの比較器A1 とA2 のしきい値を制御している。比較器A1 とA2 は、k−1桁からの符号を示す信号−2Mγk-1 をインバータINV及び各比較器に接続された入力容量を介して受け取る。信号−2Mγk-1 は電源電圧VDD又はVSSなので、この信号を受ける入力容量は1/2Mに重み付けされている。このようにして、k−1桁の中間和の符号を考慮して、桁上げ信号が生成される。
【0075】
なお、桁上げ信号を受ける増幅器A5の入力容量はR/2M=2M/2M=1の重みである。また、増幅器A4の入力容量は次のように設定する。和信号−sk を受ける容量C3 に対し、k−1桁の桁上げ信号ck-1 (−2Mαk-1 +{−2Mβk-1 })は等しい重み付けである。よって、桁上げ信号を受ける容量はそれぞれ(1/2M)C3 である。
【0076】
図15は、図14に示す2M進2M+1値冗長加算器の中間和wk と信号ck 、sk 、αk 、βk 、γk との関係を示す図である。なお、図中、実線はγk-1 =1/2の場合であり、破線はγk-1 =−1/2の場合である。
図15に示すように、中間和wk に対し、桁上げ信号ck は±Mの前後で変化する。更に、γk は0近傍で変化する。従って、図14に示す比較器A1 のしきい値を−M、比較器A2 のしきい値をMに設定することで、桁上げ信号ck の値を決定できる。なお、このときのαk とβk は、図15に示す通りである。増幅器A5 の出力−sk はxk +yk −R(αk +βk ) に等しいので、図15に示すように変化する。
【0077】
ここで、一例としてM=2の場合を考える。すなわち、4進5値冗長加算器では、
wk =xk +yk =4ck +sk
となる。よって、wk とck 及びsk との関係は図16に示すようになる。wk =±2の場合には、ck 及びsk の値は次の通りである。wk =−2でck =−1の時はsk =2であり、ck =0の時にはsk =−2である。またwk =2でck =0の時にはsk =2であり、ck =1の時にはsk =−2である。よって、wk =±2の場合には、いずれか一方のck とsk を選択する必要がある。
【0078】
いま、γk を次のように設定する。
【0079】
【数14】
【0080】
この場合、桁上げ信号ck のαk とβk を次のように設定する。
【0081】
【数15】
【0082】
以上の通り、比較器A1 とA2 のしきい値を各々−2と+2に設定することで、桁上げ信号ck の値を決定できる。比較器A1 、A2 の出力は電源電圧VDD又はVSSのいずれかの値をとる。VDDは5値(M=2)の+2(=M)に相当し、VSSは−2(=−M)に相当する。一方、R=2MでM=2の時R=4である。よって、増幅器A5の入力容量はすべてC2 に等しい。
【0083】
また、増幅器A4 の入力容量は等しい重み付けであるが、M=2の場合、k−1桁からの桁上げ信号ck-1 は本来の値の4倍なので、桁上げ信号ck-1 を受ける2つの容量は−sk を受ける容量C3 に対しそれぞれ1/4に重み付けされている。
【0084】
以上、図14及び図15に示す冗長加算器を説明した。この説明においては、各桁が正負の対称な値をとるSD符号を用いる場合を説明したが、2M進2M+1値でxk ∈{0、...、2M−1、2M}といった正だけの値を取る符号を用いた場合でも同様の考え方で構成可能である。
【0085】
以上、本発明の実施例を説明した。なお、図10及び図14の構成において、最終的な加算結果zk を入力とする図7に示すような量子化器(電圧zk がどの多値レベルにあるかを判定する複数の弁別器と、弁別器の出力を線形加算するための多入力増幅器)を接続することで、多値レベルの誤差が後段へ積算されることを防止することができる。
【0086】
また、このような量子化器を図10及び図14に示す加算器内部に設けてもよい。例えば、入力xk とyk とをそれぞれ量子化する量子化器を設け、これらの量子化器の出力を図10及び図14に示す入力xk 、yk とする。
また、中間出力−sk を量子化しても良い。sk は2M+1値であるので2M進2M+3値加算器の場合はzk ,xk ,yk を量子化するのに比べ、必要とされる比較器の数が少なくなる利点がある。
【0087】
このように、量子化器を設けることで多値レベルの誤差の積算を防ぐことができる。以下、この点を詳述する。前述した構成の冗長加算器は、その前段部分で重みに応じたレベル(ハイレベル又はローレベル)を出力し、後段部分のフィードバックによるアナログ的動作で多値を出力する。フローティングゲートの電位は分圧で決まるが、増幅器をCMOS回路で構成した場合には電源電圧(VDDやVSS)付近では入力と出力とが線形の関係にない。従って、入力電圧がこの電源電圧付近のレベルにあると、誤差を生じる可能性がある。また容量の作製誤差も出力の後妻の原因となる。このような誤差の発生を防止するために、上述した量子化器が設けられる。
【0088】
量子化器はアナログ的処理において発生する誤差を回避するものであるから、例えばフィードバック容量を有する多入力増幅器の出力に設ける。この場合、量子化器は多入力増幅器の多値出力をレベル判定した後、再度加算する処理を行うので効率が悪い。以下に説明する実施例は、この点を考慮したものである。
【0089】
以下に説明する実施例では、冗長加算器の内部に電圧がどの多値レベルにあるかを判定する機能を有する。
図17〜図20は、2M進2M+3値冗長加算器を説明するための図である。なお、図17〜図20には説明の都合上、一部重複する図を含む。図17はこの冗長加算器の所定部分の信号を表し、(b)はその原理構成を示す図である。なお、図17及び図18は既に説明したものであるが、ここでは−sk を生成する多入力増幅器A3 のフィードバック容量を{M/(M+1)}C、この出力と次段への結合容量を{M/(M+1)}C3 としている。これは、xk 、yk 、zk が2M+3値であるのに対し、sk が2M+1であるので、xk 、yk に対するゲインを(M+1)/Mとして−sk の出力がフルスケールで振れるようにしたためである。容量をそれぞれC2 , C3 としても問題がないし、CMOSインバータ特性によってはむしろフルスケールで振らないほうが良い場合もありうる。
【0090】
図19は、CMOSインバータによるニューロンMOS回路を用いた場合の回路図である。図示する回路では、ニューロンMOSインバータのしきい値をVDD/2と仮定している。符号の+は図17での実線に、−は破線に対応する。図19に示す回路はxk 、yk が多入力増幅器を通してzk に出力されているため、多段に接続するとアナログ的な動作による誤差が蓄積される問題がある。このため、入力、出力又は内部に量子化器を挿入し、多値レベルの再生を行う必要があることは前述した通りである。入力は2つあるので、入力を量子化しようとすると2つの量子化器が必要であり効率的ではない。また、出力のレベルが2M+3値であるのに対してsk は2M+1なので、sk の後に量子化器を挿入するのが最も有利である。量子化器はコンパレータを並列に並べた構成でも良いし、後に説明するようなコンパレータの出力を別のコンパレータに加える構成でも良い。
【0091】
しかし、量子化器はコンパレータでレベルを検出し2値の信号の組とした後、多入力増幅器でその和を取り多値に戻している。そしてsk の後に量子化器を挿入した場合、その出力にまた多入力増幅器で桁上げ信号を加えることになる。これは無駄なので、コンパレータの出力と桁上げ信号を一度に足したほうが有利である。また、sk を生成するための多入力増幅器はフィードバックを外せばコンパレータとして働くので、これを量子化器のコンパレータとして兼用することができる。
【0092】
図20はこのような考えに基づいて構成した2M進2M+3値冗長加算器(図の構成はM=2の場合に相当する)であり、内部に量子化作用を含むため、誤差の累積という問題点はない。この回路ではsk =xk +yk −2M(αk +βk )の信号を2M個(図では4個)のコンパレータCOMP1 、COMP2 、COMP3 、COMP4 に並列に接続することで加算している。各コンパレータの出力及び桁上げ信号αK-1 、βK-1 を最終段の多入力増幅器Aで加算している。各コンパレータの出力及び桁上げ信号αk-1 、βk-1 はすべて±0.5をとる信号と考えることができるので、すべて同じ重みで加える。図20に示す構成では同一構成のコンパレータCOMP1 、COMP2 、COMP3 、COMP4 を4個(=2M)並列に並べ、これらのコンパレータのしきい値設定用入力をVDD又はVSSのどちらかに接続するかでしきい値を変えている。例えば、、コンパレータCOMP1 の7つの入力端子(しきい値設定用入力)のうち3つに電源電圧VSSを印加し、コンパレータCOMP2 では2つの入力端子に電源電圧VSSを印加し、1つに電源電圧VDDを印加している。なお、最上位と最下位のコンパレータCOMP1 とCOMP4 を除いてVDDとVSSに接続されているしきい値設定用入力が両方存在するので、これらを相殺して容量の数を減らすことができる。また、多段構成のコンパレータを用いてもよい。4つのコンパレータCOMP1 、COMP2 、COMP3 、COMP4 のそれぞれの出力信号線は多値増幅器Aの入力に接続されている。この4つの信号線とVDD、VSSとでsK の5値が表される。
【0093】
図19及び図20の最終段の多値増幅器A4 、AはニューロンMOSソースフォロワで置き換えることもできる。その場合には出力レベルが反転するが、冗長多値加算器を用いた乗算器では加算ツリーが規則的な構造をとるため、出力レベルの反転はあまり大きな問題とはならない。
【0094】
図17〜図20に示す回路は2M+1進2M+3値冗長加算器にもそのまま用いることができる。ただし、この場合では符号は+をとり、図中のRは2M+1をとる。
図21〜図24は、2M進2M+1値冗長加算器を説明するための図である。これは、2M進2M+1冗長加算器の原理をそのまま回路化したものである。図21は図15と同一であり、図22は図14の回路構成と実質的に同一である。図23はCMOSインバータによるニューロンMOS回路を用いた場合の回路図である。基本的に、図23は前述した2M進2M+3値冗長加算器と同様の考え方で構成されている。
【0095】
図24は、内部に量子化作用を含む構成の回路図である。図24も前述した2M進2M+3値冗長加算器と同様の考え方で構成されている。図示するように、同一構成のコンパレータCOMP1 、COMP2 、COMP3 、COMP4 を4個(=2M)並列に並べ、これらのコンパレータのしきい値設定用入力をVDD又はVSSのどちらかに接続するかでしきい値を変えている。なお、24の場合には、最終段の多値増幅器AはニューロンMOSソースフォロワで置き換えることはできない。
【0096】
図25〜図28は、2M進2M+2値冗長加算器を説明するための図である。図示の構成は、多値レベルとして−MからM+1までの値をとる場合を想定している。中間和に対して図25に示すようにsk 、ck を発生させれば、sk ∈{−M+1、−M+2....M−1、M}、ck ∈{−1、0、1}となり、その和であるzk はzk ∈{−M、−M+1....M、M+1}となる。このように、2M進2M+3値冗長加算器とほとんど同様の操作で桁上げ信号の伝搬のない加算が可能である。2M進2M+3値冗長加算器との違いは正負に対する対称性を放棄することで、多値レベルを一つ下げていることである。
【0097】
図27及び図28に示す構成は基本的には2M進2M+3値冗長加算器に関する前述の説明と同様である。図25に示すように、しきい値は正負に対して対称でないため、しきい値の設定に注意する必要がある。2M進2M+3値冗長加算器とは異なりsk は2M値であるため、コンパレータCOMP1 、COMP2 、COMP3 の構成は容易になる。最終段の多値増幅器Aは、ニューロンMOSソースフォロワで置き換えることもできる。
【0098】
図29〜図32は、図21〜図24に示す2M進2M+1値冗長加算器を改良した構成を示す図である。前述したように、2M進2M+1値冗長加算器では、一つ下の桁の中間和の正負を表す信号γk-1 に応じて、桁上げ信号発生のためのしきい値を変化させる必要がある。このため、図21〜図24に示す回路では、中間和wk とγk-1 の和をコンパレータA1 、A2 に加えることでαk 、βk を生成している。このことは、wk +γk-1 に対して各信号を考えると、その入出力特性を一定にすることができることを示唆している。
【0099】
図29はこの様子を示している。wk +γk-1 に対してsk +γk-1 は一定の特性となり、しかも2M値であることがわかる。図30はこの原理による加算器を示したもので、コンパレータA1 、A2 だけではなく後段の多入力増幅器A5 にもγk-1 を加えてやることで出力−sk −γk-1 を得ている。そして、最終段の多入力増幅器A4 にもγk-1 を加えてやることで、余分なγk-1 をキャンセルしている。
【0100】
図31及び図32は上記原理に基づく具体的な回路構成である。図21〜図24に示す構成に比べ、sk +γk-1 が2M値であることによりコンパレータCOMP1 、COMP2 、COMP3 の構成が容易になっている。なお、最終段の多値増幅器A4 はニューロンMOSソースフォロワで置き換えることはできない。
【0101】
図33〜図36は図29〜図32に示す2M進2M+1値冗長加算器を更に改良したものである。図29を見ると、αk 、βk 、γk は必ずαk 、βk 、γk の順で立ち上がるので、4通りの組み合わせしかないことがわかる。従って、適切に選択することで、2値の信号2つにまとめることができる可能性がある。図33はこの様子を表したもので、2値信号γk 、αk +βk −γk があれば必要な情報であるγk とck =αk +βk を作り出すことができる。αk +βk −γk を生成するのにαk 、βk のしきい値がwk +γk-1 の正負に対して対称であることを利用することができる。−γk 出力を桁上げ信号発生のためのコンパレータA1 に加えてやることにより、γk が正のときはβK のしきい値で、γk が負のときはαK のしきい値で反転するコンパレータとして動作させることが可能になり、その出力としてαk +βk −γk の反転γk −αk −βk が得られる。
【0102】
図34はこの原理による加算器である。前段の多値増幅器A5 にはwk ,γk-1 ,−γk ,γk −αk −βk を、最終段の多値増幅器A4 へは桁上げ信号αk-1 +βk-1 とγk-1 のキャンセル用信号の和としてγk-1 −αk-1 +βk-1 を−sk に加えればよい。
【0103】
図35及び図36はこの原理に基づく具体的な回路構成である。図29〜図32と比べ桁上げ信号生成の構成が簡単になっている。最終段の多値増幅器A4 は、ニューロンMOSソースフォロワで置き換えることもできる。
図37〜図39は、多値を2値コード化した信号で表す方式を用いた場合の多値加算器を示す図である。
【0104】
上記説明した図17〜図36の多値加算器はいずれも一つの信号線の電圧レベルで直接多値レベルを表す方式を用いている。しかし、図20、図24、図28、図32及び図36に示す多値加算器では、量子化器であるコンパレータの出力も桁上げ信号も2値であり、最終段の多入力増幅器Aで多値レベルに戻す構成となっている。従って、これらの出力を直接外部に取り出せば、2値コード化された多値出力を持つ多値加算器が得られる。この形式の多値加算器を用いる場合には多段に接続することを考えると、入力xk 、yk も同じ2値コードの信号の組を用いることになる。図17〜図36に示す方式では、同じ重みの信号がそれぞれ2M+2、2M+2、2M+1、2M+2、2Mずつあり、これらをC/(2M+2)、C/2M、C/(2M+1)、C/2M、C/2Mという容量を介してコンパレータに接続すればよい。
【0105】
しかしながら、図21〜図24、及び図29〜図32に示す方式では信号の数と容量の積がCにならないことから判るように、これらを適切にまとめることで2値信号の数を減らすことができる。
図37は図24に基づき信号線の数を減らしたものである。ここでは簡単のため、入力xk 、yk の信号線それぞれ1本が容量Cを介して接続されているように示されているが、実際には2M本の信号をC/2Mの容量で接続する。信号線削減による簡単化の原理を以下に説明する。
【0106】
図21から判るように、αk-1 がローレベルのとき(即ち−αk-1 出力がハイレベルのとき)にはγk-1 もローレベルであり、sk の特性は破線の形になる。このとき、sk は2M+1値の内最低のレベルは取りえないため、最低のレベルを検出するコンパレータCOMP4 の出力はローレベルとなる。従って、−αK-1 出力とこのコンパレータの出力が同時にハイレベルになることはない。従って、ORゲートによりこれらの信号をまとめることができる。同様に、−βK-1 出力と最高レベルを検出するコンパレータCOMP1 の出力は同時にローレベルになることはないので、ANDゲートによりこれらの信号をまとめることができる。図37では、出力が反転レベルにならないようにNANDゲートG1 とNORゲートG2 を用い他の出力にインバータINV1 とINV2 を入れている。しかしながら、反転を許すならばORゲートとANDゲートを用いることができ、インバータINV1 、INV2 は不要となる。
【0107】
図38は、図32に基づき信号線の数を減らしたものである。図33で説明したように、γk −αk −βk が2値になるので、γk 、−αk 、−βk をコンパレータAに入れることで2値信号を得ている。ただし、信号の符号を考えるとインバータが必要となる。また、この図の構成ではm=2の場合を想定し、sk +γk-1 が4値になることを利用して多段構成のコンパレータCOMP1 、COMP2 によりsk +γk-1 を量子化している。前段のコンパレータCOMP1 の出力に応じてそれ以降の段COMP2 のしきい値を変化させることにより、逐次比較型A/D変換器と同じような原理で2のべきで重み付けされた2値信号を得ることができる。従って、出力信号3つの重みは図38では下から2、1、1となる。これらの信号線は次段の加算器とC/2、C/4、C/4の容量を介して接続すればよい。
【0108】
この方式のコンパレータは非常に効率のよい量子化が可能なので素子数をかなり低減できるが、遅延段数が増えるという問題点がある。また、このコンパレータが最も効率的なのは量子化レベルが2のべきのときであるが、他の場合でも同様な考え方でコンパレータを構成することは可能である。
【0109】
図39は図36に基づくものである。図33〜図36に示す方式はもともと余分な信号線はないので図36の最終段を除いたものでもよい。しかし、ここでは多段構成のコンパレータを用いて信号線をlog2 (2M)+1本にしたものを示している。M=2では(b)と同様に出力信号3つの重みは下から2、1、1となり、次段の加算器とC/2、C/4、C/4で結合させればよい。この方式では図38と異なり、出力レベルの反転を許せば出力のインバータは不要であり、もともとγk −αk −βk が得られることもあり、非常に簡単な構成で冗長加算器が構成できることがわかる。多段構成のコンパレータを用いることで遅延段数が増加するが、多値出力型で必要な最終段の多入力増幅器が不要となるため、M=2では全体として遅延段数は増加しない。
【0110】
【発明の効果】
以上説明したように、本発明によれば以下の効果が得られる。
請求項1に記載の発明によれば、前記多入力電圧増幅器の電圧利得が、前記容量結合の容量と負帰還回路の容量との比で決定される多値論理回路であるため、この比を適当に選択することで出力を飽和させることなく、入力の重み付き線形和に比例した十分な利得の出力(加算結果)を低消費電力で得ることができる。
【0111】
請求項2に記載の発明によれば、多値量子化器で量子化することで、多値レベルの誤差を補正することができ、この誤差が後段に伝搬して積算されることがない。
請求項3、4に記載の発明によれば、これにより、多入力比較器での量子化作用によるレベル判定結果と桁上げ信号とを一度に加算することができ、簡単な構成で誤差の伝搬を防止することができる。
【0112】
請求項5に記載の発明によれば、2値コード化された多値出力が得られる。
請求項6、7に記載の発明によれば、2M進2M+3値冗長加算器、2M+1進2M+3値冗長加算器、2M進2M+2値冗長加算器等の、N≧R+2を満たすR進N値冗長加算器を提供できる。
【0113】
請求項8、9に記載の発明によれば、2M進2M+1値冗長加算器を提供できる。
【図面の簡単な説明】
【図1】容量結合型多入力増幅器(ニューロンMOSインバータ)を示す等価回路図である。
【図2】図1に示す反転増幅器Aの一構成例であるCMOSインバータを示す回路図である。
【図3】本発明による多値論理回路の基本となる容量帰還型多入力増幅器を示す図である。
【図4】容量帰還型多入力増幅器を用いた多値インバータを示す図である。
【図5】容量帰還型多入力増幅器を用いたR進反転D/A変換器を示す図である。
【図6】容量帰還型多入力増幅器を用いた多入力増幅器を示す図である。
【図7】容量帰還型多入力増幅器を用いたN値量子化器を示す図である。
【図8】図7に示すN値量子化器の動作を示す図である。
【図9】本発明の一実施例によるR進N値冗長加算器(ただし、R=2M≧4、N=2M+3)の要部を示す図である。
【図10】図9の破線で囲んだ部分の構成を示す図である。
【図11】図10に示す構成の動作を示す図である。
【図12】図10に示す回路構成において、M=2の場合の動作を示す図である。
【図13】本発明の別の実施例によるR進N値冗長加算器(ただし、R=2M≧2、N=2M+1)の要部を示す図である。
【図14】図13の破線で囲んだ部分の構成を示す図である。
【図15】図14に示す構成の動作を示す図である。
【図16】図15に示す回路構成において、M=2の場合の動作を示す図である。
【図17】2M進2M+3値冗長加算器を説明するための図(その1)である。
【図18】2M進2M+3値冗長加算器を説明するための図(その2)である。
【図19】2M進2M+3値冗長加算器を説明するための図(その3)である。
【図20】2M進2M+3値冗長加算器を説明するための図(その4)である。
【図21】2M進2M+1値冗長加算器を説明するための図(その1)である。
【図22】2M進2M+1値冗長加算器を説明するための図(その2)である。
【図23】2M進2M+1値冗長加算器を説明するための図(その3)である。
【図24】2M進2M+1値冗長加算器を説明するための図(その4)である。
【図25】2M進2M+2値冗長加算器を説明するための図(その1)である。
【図26】2M進2M+2値冗長加算器を説明するための図(その2)である。
【図27】2M進2M+2値冗長加算器を説明するための図(その3)である。
【図28】2M進2M+2値冗長加算器を説明するための図(その4)である。
【図29】図21〜図24に示す2M進2M+1値冗長加算器を改良した構成を示す図(その1)である。
【図30】図21〜図24に示す2M進2M+1値冗長加算器を改良した構成を示す図(その2)である。
【図31】図21〜図24に示す2M進2M+1値冗長加算器を改良した構成を示す図(その3)である。
【図32】図21〜図24に示す2M進2M+1値冗長加算器を改良した構成を示す図(その4)である。
【図33】図29〜図32に示す2M進2M+1値冗長加算器を更に改良した構成を示す図(その1)である。
【図34】図29〜図32に示す2M進2M+1値冗長加算器を更に改良した構成を示す図(その2)である。
【図35】図29〜図32に示す2M進2M+1値冗長加算器を更に改良した構成を示す図(その3)である。
【図36】図29〜図32に示す2M進2M+1値冗長加算器を更に改良した構成を示す図(その4)である。
【図37】多値を2値コード化した信号で表す方式を用いた場合の多値加算器を示す図(その1)である。
【図38】多値を2値コード化した信号で表す方式を用いた場合の多値加算器を示す図(その2)である。
【図39】多値を2値コード化した信号で表す方式を用いた場合の多値加算器を示す図(その3)である。
【図40】ニューロンMOS回路の一構成例を示す図である。
【図41】ニューロンMOS回路の別の構成例を示す図である。
【符号の説明】
xk 、yk 入力信号
zk 出力信号
ck 桁上げ信号
A、A1 〜A5 CMOSインバータ回路[0001]
BACKGROUND OF THE INVENTION
In terms of circuit form, the present invention relates to a circuit having a function of generating an output determined by a weighted linear sum of a plurality of inputs connected by capacitive coupling, and more particularly to a circuit form called a neuron MOS. Further, the present invention relates to a multi-value logic circuit having a higher function than a normal binary logic circuit by setting the voltage level of one signal line to 3 or more from the functional aspect.
[0002]
[Prior art]
As is well known, the neuron MOS circuit utilizes the fact that the channel of the transistor is formed according to the weighted linear sum of the input voltage by floating the gate of the MOS transistor and capacitively coupling the input signal thereto. There is a proposal that the circuit can be greatly simplified when used in a neural network, FPGA, or the like. Such neuron MOS circuits are detailed in, for example, the following document: ISHII et al. "Hardware-Backpropagation Learning of Neuron MOS Neural Networks", 1992 IEDM Tech. Dig. Pp435-pp438.
[0003]
FIG. 40 shows an example of a neuron MOS circuit. The circuit shown is a complementary source grounded amplifier using a P-channel MOS transistor and an N-channel MOS transistor. The two MOS transistors have a common floating gate FG, and input signals V1 to Vn (n is an arbitrary integer) are capacitively coupled thereto. With respect to the floating gate potential determined by the weighted linear sum of the input voltages V1 to Vn, the output voltage Vout has a characteristic of sharply falling.
[0004]
On the other hand, the multi-level logic circuit is usually configured using an ECL circuit or an IIL circuit using bipolar transistors. These circuits normally operate in a current mode that is easy to obtain a linear sum. Therefore, there is a problem that power consumption is large.
In recent years, it has been proposed to apply a neuron MOS circuit to a multi-value logic circuit. Since the neuron MOS circuit can easily take a linear sum of input voltages in the voltage mode, it can be considered that it is very effective in terms of power consumption and circuit simplification when applied to a multi-value logic circuit.
[0005]
[Problems to be solved by the invention]
However, the neuron MOS circuit having the configuration shown in FIG. 40 has a high output voltage (VDD) To low level (VSS) Is a binary output circuit.
[0006]
There has been proposed a neuron MOS circuit capable of solving this point and capable of multi-value output.
FIG. 41 shows a complementary source follower amplifier. The source of the N channel MOS transistor and the source of the P channel MOS transistor are connected in common, and the output voltage Vout is taken out from this. Such a neuron MOS circuit capable of multi-value output is detailed in, for example, the following document: Shibata et al. "Neuron MOS Voltage-Mode Circuit Technology for Multiple-valued Logic", ICE TRANS. ELECTRON. , VOL. E76-C, NO. 3, MARCH 1993, pp347-pp356. It is also proposed to construct a multi-value memory using the neuron MOS circuit shown in FIG. 41 (for example, R. Au et al., “Neuron-MOS Multiple-Valued Memory Technology for Intelligent Data Processing”, International (See Conference on Advanced Microelectronic Devices and Processing, pp80-pp85).
[0007]
However, since the neuron MOS circuit shown in FIG. 41 capable of multi-value output has a source follower and has a gain of about 1 with respect to the potential of the floating gate FG, the gain is 1 for each of the inputs V1 to Vn. There is a problem that it becomes smaller. This problem becomes an obstacle to constructing a multi-value logic circuit or the like with the neuron MOS circuit shown in FIG. 41, and its application field is limited.
[0008]
Accordingly, the present invention solves the above-mentioned conventional problems, generates an output proportional to a weighted linear sum of input voltages, and has a low power consumption multi-value logic circuit having a sufficient gain capable of arbitrarily setting the weight. The purpose is to provide.
[0009]
[Means for Solving the Problems]
The invention according to
[0010]
According to the first aspect of the present invention, since the voltage gain of the multi-input voltage amplifier is a multi-value logic circuit determined by the ratio of the capacity of the capacitive coupling and the capacity of the negative feedback circuit, this ratio is By selecting appropriately, an output (addition result) having a sufficient gain proportional to the input weighted linear sum can be obtained without saturating the output. Further, since it operates in the voltage mode, power consumption can be reduced.
[0011]
A second aspect of the present invention provides the discriminator according to the first aspect, wherein a plurality of discriminators for determining which multi-level logic signal of the input, output or intermediate output is present, and the output of the discriminator are linearly added. And a multi-input amplifier. In other words, the discriminator and the multi-input amplifier constitute a multi-level quantizer, and the multi-level quantizer can correct the multi-level error by quantizing with the multi-level quantizer. Is not accumulated.
[0012]
According to a third aspect of the present invention, a multi-value logic having a plurality of sets of multi-value logic signals encoded so as to correspond to a certain numerical value as an input and a multi-value logic signal corresponding to the sum of those values as an output is output. In the circuit, the arithmetic circuit of k digits (k = 0, 1, 2,...) Has a multi-input comparator for generating a carry signal and the carry signal of that digit from the sum of the k digit inputs. And a multi-input comparator for determining which logic value the subtracted value is in, and the multi-input comparator is connected to its input by capacitive coupling. Thereby, the level determination result by the quantization effect in the multi-input comparator and the carry signal can be added at a time, and propagation of errors can be prevented with a simple configuration.
[0013]
According to a fourth aspect of the present invention, in the third aspect, the output of the multi-input comparator that determines the value obtained by subtracting the carry signal from the sum of the k-digit inputs, and the carry signal from the k-1 digit. The multi-value logic circuit is characterized in that a multi-value output is obtained by connecting to a multi-input amplifier by capacitive coupling. That is, the level determination result obtained in
[0014]
According to a fifth aspect of the present invention, in the third aspect, from the output of the multi-input comparator for determining a value obtained by subtracting the carry signal from the sum of the k-digit inputs, and the carry signal from the k-1 digit. A multi-level logic circuit is characterized by outputting a set of binary level outputs as it is or a binary logic operation. As a result, a binary-coded multilevel output is obtained.
[0015]
According to a sixth aspect of the present invention, in any one of the first to fifth aspects, the multi-value logic signal is expressed by a weight of each digit being R (R is a natural number of 2 or more), and each digit Is a multi-value logic circuit characterized by using a code having N values and corresponding to a voltage level obtained by equally dividing the input / output voltage range of the multi-input comparator and the multi-input amplifier.
[0016]
According to a seventh aspect of the present invention, in the sixth aspect, the code is a 2M-
[0017]
According to an eighth aspect of the present invention, in the sixth aspect, the multi-value logic signal uses 2M-
[0018]
According to a ninth aspect of the present invention, in the sixth aspect, the code is a 2M-
[0019]
A tenth aspect of the present invention is the multi-input amplifier according to any one of the first to ninth aspects, wherein the multi-input amplifier performs negative feedback from the output to the CMOS inverter circuit connected to the plurality of inputs by capacitive coupling. A multi-valued logic circuit including a multiplied circuit.
[0020]
According to an eleventh aspect of the present invention, in the multi-value logic circuit according to any one of the first to ninth aspects, the multi-input amplifier includes a CMOS inverter circuit in which input and output are coupled by a capacitor. is there.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
First, a capacitively coupled multi-input amplifier that is the basis of a multi-value logic circuit according to the present invention will be described.
FIG. 1 is an equivalent circuit diagram showing a capacitively coupled multi-input amplifier (neuron MOS inverter) corresponding to the neuron MOS circuit shown in FIG. 40, FIG. 2 is a CMOS inverter which is a configuration example of the inverting amplifier A shown in FIG.
[0022]
First, the input / output characteristics of a normal CMOS inverter (Fig. 2) are
VO= -A (Vi-Vinv) + Vinv (1)
It is represented by Where ViIs the input voltage, VOIs the output voltage, VinvIs the input voltage (inverter voltage) where the input and output are at the same potential, A is the inverter voltage VinvIs the absolute value of the voltage gain at.
[0023]
In the neuron MOS circuit shown in FIG. 1, the gate electrode is in a floating state, and the input is coupled to the floating gate electrode by capacitive coupling. Therefore, the potential V of the floating gategIs
[0024]
[Expression 1]
[0025]
It is represented by Where VkIs the potential of input k, CKIs the coupling capacitance between the input k and the floating gate. CgIs the capacitance of the floating gate and channel, VchIs the effective potential of the channel, CstIs the stray capacitance, VstIs the effective potential of the portion where stray capacitance is coupled. CtotIs the sum of all capacitances coupled to the floating gate,
[0026]
[Expression 2]
[0027]
It is.
From the equations (1) and (2), the characteristics of the neuron MOS inverter are
[0028]
[Equation 3]
[0029]
It becomes. However, Vinv 'Is the effective inverter voltage
It is.
[0030]
Since the voltage gain A of the inverter is usually very large, the voltage gain A for each inputkAlso
Ak= -ACk/ Ctot (6)
And a large value. Therefore, if the input changes slightly, the output will be VDDTo VSSTherefore, an intermediate output cannot be obtained. Therefore, in the neuron MOS inverter, the weighted linear sum of the inputs expressed by the equation (2) has a constant value (Vinv ') Although it has a function of discriminating whether it is above, it is impossible to obtain an output proportional to the weighted linear sum of inputs.
[0031]
In the capacitive feedback multi-input amplifier shown in FIG. 3, one input terminal (L) is a capacitor CLIs connected to the output terminal. In this configuration, equation (4) is as follows.
[0032]
[Expression 4]
[0033]
This is VOSolving for
[0034]
[Equation 5]
[0035]
It becomes. If A is large enough,
[0036]
[Formula 6]
[0037]
It is. Voltage gain A for each inputkAlso
Ak= -CK/ CL (9)
A value determined only by the capacitance ratio, and if this value is selected appropriately, an output proportional to the input weighted linear sum can be obtained without saturating the output. In the following description, a capacitor C connected to the output terminal and used for negative feedbackLThe feedback capacity CFSometimes called.
[0038]
On the other hand, when the neuron MOS source follower shown in FIG. 41 is used, an output proportional to a weighted linear sum of inputs can be obtained (multi-value output).
The characteristic of the source follower is that the potential difference between its input and output is VthThen almost
VO= Vi-Vth (10)
Therefore, the characteristics of the neuron MOS source follower are
[0039]
[Expression 7]
[0040]
And the voltage gain A for each inputkAlso
Ak= Ck/ Ctot (12)
Thus, an output proportional to the weighted linear sum of the inputs can be obtained without saturating the output.
[0041]
However, this voltage gain AkIs less than 1 for all inputs, and is even smaller for each input. Therefore, it can be seen that the voltage gain for each input cannot be freely selected. As a result, application fields are limited, such as an obstacle to the construction of a multi-value logic circuit or the like.
[0042]
In contrast, the feedback capacity C shown in FIG.FIn the attached multi-input amplifier, the voltage gain is expressed by the equation (9) and can be freely selected.
Feedback capacity CFIs described in Ishii et al. Among the above-mentioned documents, but only shows that the input / output characteristics change with the capacitance ratio, and there is no description that suggests application to a multi-value logic circuit described later. .
[0043]
The circuit configuration shown in FIG. 3 will be further described. As the inverting amplifier A, the CMOS shown in FIG.LThe voltage gain for each input is determined by applying a negative feedback via. Also, by connecting a part of the input to a DC voltage source, the effective inverter voltage VinvCan also be changed. Input X is the input for this, and the effective inverter voltage V relative to the other inputsinv "Is obtained from equation (8),
[0044]
[Equation 8]
[0045]
And
[0046]
[Equation 9]
[0047]
Is obtained. When a plurality of inputs are used for this purpose, an average voltage weighted by a parallel capacity and a capacity may be used. For example, Cx1And Cx2VDDAnd VSSWhen connected to (= 0), composite capacity Cx1+ Cx2, Equivalent voltage VDDCX1/ (Cx1+ Cx2)And it is sufficient.
[0048]
Next, various basic multilevel logic circuits using the configuration of FIG. 3 will be described. These basic multi-value logic circuits are used in a multi-value logic circuit (multi-value adder circuit) described later. In the basic multi-value logic circuit described below, the above-mentioned effective inverter voltage is set to an appropriate value, and a DC input for controlling the inverter voltage is omitted.
[0049]
FIG. 4 is a diagram illustrating a multi-value inverter. In the configuration shown in FIG. 4, the input capacitance C and the feedback capacitance CFAnd the same value (CF= C), the gain of the output with respect to the input is set to -1. The effective inverter voltage is the power supply voltage VDDIs set to 1/2. That is, the output voltage VoIs
VO=-(Vi-VDD/ 2) + VDD/ 2 = VDD-Vi
It becomes. N level (N is a natural number of 2 or more) signal x (xε {0, 1, 2,..., N−1}) and voltage level x / (N−1) VDDCan be written as follows.
 ̄x = N-1-x
This negation x appears in the output.
[0050]
FIG. 5 shows an R-inverted D / A converter (R is a natural number of 2 or more). In this configuration, the ratio of the input capacitance is set to be proportional to R (C, RC, R2C,. . . , RL-1C). Thus, the gain for each input is -A, -AR, -AR.2,. . . , -ARL-1It becomes. Effective inverter voltage VinvAdjust as follows. First, the output V of the D / A converteroIs
VO= -AΣRk-1(Vk-Vinv) + Vinv
It is represented by
[0051]
Input R value signal
x = ΣRk-1xk (Xk∈ {0, 1, 2,. . . , R-1})
Each digit xkVoltage level x / (R-1) VDDIf
Is obtained. In particular,
A = (R−1) / (RL-1), Vinv= VDD/ 2
Then,
Vo= VDD(1-1 / (RL-1) ΣRk-1xk)
And again
A = (R-1) / RL, Vinv= VDDRL/ (2RL-1)
Then,
Vo= VDD(1-1 / RLΣRk-1xk)
Thus, it can be seen that an output corresponding to the input R value L digit signal x can be obtained almost at full scale.
[0052]
FIG. 6 shows a circuit that allows a positive weight by using a plurality of multi-input inverting amplifiers. The input capacity of the inverting amplifier in the previous stage is C1k(K = 1, 2,..., L1), the feedback capacity is C1FAnd the input capacitance of the subsequent inverting amplifier is Ctwenty one(L = 0, 1, 2,..., L2), the feedback capacity is C2FAnd The output of the preceding inverting amplifier is connected to the 0th input of the succeeding inverting amplifier.2kConnected through. At this time, if each gain is sufficiently large,
[0053]
[Expression 10]
[0054]
It can be seen that both positive and negative weights can be obtained. here
[0055]
## EQU11 ##
[0056]
It is. However, in order not to saturate the output of the preceding inverting amplifier for any input,
C1F≧ ΣC1k
It is necessary to.
[0057]
FIG. 7 shows an N-value quantizer. The value n of N is the voltage level n / (N-1) V.DDInput comparator A1, A2, ANEach threshold is
(N-1 / 2) / (N-1) VDD(Nε {1, 2,..., N−1})
Set to. By inputting these outputs to the subsequent multi-input inverting amplifier with the same weight (capacitance C / (N−1)), an N-value quantizer can be obtained.
[0058]
FIG. 8 is a diagram showing the operating characteristics of the N-value quantizer shown in FIG.iComparators A1, A2, A3 (not shown in FIG. 7), AN(B) shows the input / output characteristics of the N-value quantizer.
FIG. 9 is a diagram illustrating a main part of the R-ary N-value adder (R is an integer of 2 or more). That is, the adder shown in FIG. 9 processes a code in which the weight of each digit is represented by R (R is a natural number greater than or equal to 2) (that is, in R base), and each digit has N values. . As such a code, there is an SD (Signed Digit) code in which each digit has a positive and negative symmetrical value. As is well known, the SD code has redundancy. For example, a 4-digit quaternary SD number can be expressed in a plurality of ways for the decimal number “10”. ((0022), (1-3-1-2), etc.). The above redundancy means that a certain numerical value may be expressed by a plurality of expressions. In view of this point, the adder is also called an R-ary N-value redundant adder.
[0059]
In FIG. 9, k-digit xkAnd ykAddition result zkIs performed in a portion surrounded by a broken line (basic arithmetic circuit of the adder), and an intermediate output (intermediate sum) wk(= Xk+ Yk= Sk+ Rck) And carry signal c from k-1 digitk-1And the sum of In other words, carry signal propagation is limited to only one digit.
[0060]
10 is a circuit diagram corresponding to a portion surrounded by a broken line in FIG. 9 of the R-ary N-value redundant adder. However, R = 2M ≧ 4 and N = 2M + 3. The same configuration can be made when R = 2M + 1 ≧ 3 and N = 2M + 3. Input xkAnd ykIntermediate sum w addedkTo sum signal skAnd carry signal ckAnd the sum signal skAnd k-1 carry signal ck-1Sum z withkIs calculated.
[0061]
The multi-input inverting amplifier including the comparator A1 and the multi-input inverting amplifier including the comparator A2 have the input xkAnd ykCarry signal c propagating to k + 1 digits fromkIs generated. The multi-input inverting amplifier including the amplifier A4 has a sum signal s.k(= Wk-Rck) Is calculated. The multi-input inverting amplifier including the amplifier A3 has a sum signal s.kAnd carry signal c from k-1 digitk-1And the final answer zkIs calculated.
[0062]
Hereinafter, the configuration and operation of FIG. 10 will be described using equations.
The input signal of the R-ary N-value redundant adder is expressed as follows.
x = ΣRkxk (Xk.Epsilon. {-(M + 1), -M,. . . , M, M + 1})
y = ΣRkyk (Yk.Epsilon. {-(M + 1), -M,. . . , M, M + 1})
For each digit of the input signal, xkAnd ykIntermediate sum wkAnd make it a sum signalk(Sk.Epsilon. {-M,-(M-1),. . . , -1, 0, 1,. . . , M-1, M}) and carry signal ck(CkDecompose into ε {-1, 0, 1}. Final answer zk(Zk.Epsilon. {-(M + 1), -M,. . . , -1, 0, 1,. . . , M, M + 1}) is the sum signal skAnd the lower carry signal ck-1Is obtained as the sum of That is,
wk= Xk+ Yk= Sk+ Rck
zk= Sk+ Ck-1
It becomes. The carry signal is
[0063]
[Expression 12]
[0064]
It becomes. However, if R = 2M, wk= When -M ck= -1, wk= When ck= 1.
Carry signal ckIs the two components αkAnd βkDivided into xkAnd ykGenerate from
[0065]
[Formula 13]
[0066]
That is, by using the amplifier shown in FIG.k, Yk, Αk, ΒkZ as the weighted linear sum ofkGet.
When determining the capacity, the outputs of the comparators A1 and A2 are-(2M + 2) α.k,-(2M + 2) βkConsider the level corresponding to That is, the output from the comparator A1 is − (2M + 2) α.kWhile the capacity weight receiving this is the input xkR times the capacity, so that capacity is {R / (2M + 2)} C2Set to. Similarly, the output from the comparator A2 is − (2M + 2) β.kWhile the capacity weight receiving this is the input ykR times the capacity, so that capacity is {R / (2M + 2)} C2Set to.
[0067]
The input capacity of the amplifier A3 is set as follows. Sum signal -skCapacity C to receiveThreeK-1 digit carry signal ck-1(-(2M + 2) αk-1+ {-(2M + 2) βk-1) Are equal weightings. Therefore, the capacity for receiving the carry signal is {1 / (2M + 2)} C, respectively.ThreeIt is.
[0068]
11 shows the intermediate sum w of the 2M-
As shown in FIG. 11, the intermediate sum wkCarry signal ckChanges around ± M. Therefore, the comparator A shown in FIG.1-(M ± 1/2), threshold value of comparator A2By setting the threshold of (M ± 1/2), the carry signal ckCan be determined. In this case, αkAnd βkIs as shown in FIG. Amplifier AFourOutput -skIs xk+ Yk-R (αk+ Βk), It changes as shown in FIG.
[0069]
Here, a case where M = 2 is considered as an example. That is, in the quaternary 7-value redundant adder,
wk= Xk+ Yk= 4ck+ Sk
It becomes. Therefore, wkAnd ckAnd skThe relationship with is as shown in FIG. wkIf c = ± 2, ckAnd skCan take any value. Thus, for example, comparator A1And A2By setting the threshold values of -1.5 and +1.5 respectively, the carry signal ckCan be determined. Comparator A1, A2Output power supply voltage VDDOr VSTakes one of the following values. VDDCorresponds to +3 (= M + 1) of 7 values (M = 2) and VSSCorresponds to −3 (= − (M + 1)). Therefore, A1And A2Output of-(2M + 2) αk, (2M + 2) βkThe capacity to receive these is as follows.
{R / (2M + 2)} C2= 4 / (2 × 2 + 2) = 2 / 3C2
Amplifier AThreeAre equal weights, but when M = 2, the carry signal c from k−1 digitsk-1Is 6 times the original value, so the carry signal ck-1The two capacities that receive are -skCapacity C to receiveThreeAre weighted to 1/6.
[0070]
In the description of the 2M-
[0071]
FIG. 13 is a diagram showing the configuration of the main part of the R-ary N-value redundant adder similar to FIG. 9, but in the configuration of FIG. 13, R = 2M ≧ 2 and N = 2M + 1. Unlike the configuration shown in FIG. 9, the
[0072]
FIG. 14 is a circuit diagram corresponding to a portion surrounded by a broken line in the R-ary N-value redundant adder shown in FIG. The multi-input inverting amplifier including the comparator A1 and the multi-input inverting amplifier including the comparator A2 have the input xkAnd ykAnd k-1 digit intermediate sum wk-1Sign (-2Mγk-1Carry signal c propagating from k) to k + 1 digitskIs generated. Comparator AThreeIs a multi-input inverting amplifier including an input xkAnd ykIntermediate sum w sent to k + 1 digits fromkSign (-2Mγk) Is generated. The multi-input inverting amplifier including amplifier A5 has a sum signal sk(= Wk-Rck) Is calculated. The multi-input inverting amplifier including the amplifier A4 has a sum signal s.kAnd carry signal c from k-1 digitk-1And the final answer zkIs calculated.
[0073]
Hereinafter, the configuration and operation of FIG. 14 will be described using equations.
In the adder shown in FIG. 14, the input signal
x = ΣRk-1xk (Xk.Epsilon. {-M,-(M-1),. . . , M-1, M})
y = ΣRk-1yk (Yk.Epsilon. {-M,-(M-1),. . . , M-1, M})
Intermediate sum w from the input signal of each digitkCreate the sum signal sk(Sk.Epsilon. {-M,-(M-1),. . . , M-1, M}) and carry signal ck(CkDecompose into ε {-1, 0, 1}. Final answer zk(Zk.Epsilon. {-M,-(M-1),. . . , M−1, M}) is the sum signal skAnd the lower carry signal ck-1Is obtained as the sum of In this case, skAnd ck-1In order to keep the sum of the values within a predetermined range, the carry signal is devised. That is, in order to be within the above range, | wkWhen | = M, wk-1S if ≤ 0kW to be> 0k-1In the case ofkC to be <0kAsk for.
[0074]
In the circuit configuration of FIG. 14, a comparator A that determines whether the intermediate sum is positive or negativeThreeInput capacitance CFourInput x viak, YkAnd compare the sum with the reference value. And comparator AThreeTwo comparators A one digit higher than the comparison result output by1And A2The threshold is controlled. Comparator A1And A2Is a signal −2Mγ indicating the sign from the k−1 digitk-1Is received via the inverter INV and the input capacitance connected to each comparator. Signal -2Mγk-1Is the power supply voltage VDDOr VSSTherefore, the input capacity for receiving this signal is weighted to 1 / 2M. In this way, a carry signal is generated in consideration of the k-1 digit intermediate sum code.
[0075]
The input capacity of the amplifier A5 that receives the carry signal has a weight of R / 2M = 2M / 2M = 1. The input capacity of the amplifier A4 is set as follows. Sum signal -skCapacity C to receiveThreeK-1 digit carry signal ck-1(-2Mαk-1+ {-2Mβk-1}) Are equal weightings. Therefore, the capacity to receive the carry signal is (1 / 2M) CThreeIt is.
[0076]
15 shows an intermediate sum w of the 2M-
As shown in FIG.kCarry signal ckChanges around ± M. Furthermore, γkChanges near zero. Therefore, the comparator A shown in FIG.1The threshold of -M, comparator A2By setting the threshold of M to M, the carry signal ckCan be determined. In this case, αkAnd βkIs as shown in FIG. Amplifier AFiveOutput -skIs xk+ Yk-R (αk+ Βk), It changes as shown in FIG.
[0077]
Here, a case where M = 2 is considered as an example. That is, in the quaternary quinary redundant adder,
wk= Xk+ Yk= 4ck+ Sk
It becomes. Therefore, wkAnd ckAnd skThe relationship with is as shown in FIG. wkIf c = ± 2, ckAnd skThe values of are as follows: wk= -2 and ckWhen = 1, sk= 2 and ckS when = 0k= −2. Wk= 2 and ckS when = 0k= 2 and ckS when = 1k= −2. Therefore, wk== ± 2, either ckAnd skIt is necessary to select.
[0078]
Γ nowkIs set as follows.
[0079]
[Expression 14]
[0080]
In this case, the carry signal ckΑkAnd βkIs set as follows.
[0081]
[Expression 15]
[0082]
As described above, comparator A1And A2By setting the threshold values of -2 and +2 respectively, the carry signal ckCan be determined. Comparator A1, A2Output power supply voltage VDDOr VSSTakes one of the following values. VDDCorresponds to +2 (= M) of 5 values (M = 2) and VSSCorresponds to -2 (= -M). On the other hand, when R = 2M and M = 2, R = 4. Therefore, the input capacitance of the amplifier A5 is all C2be equivalent to.
[0083]
Amplifier AFourAre equal weights, but when M = 2, the carry signal c from k−1 digitsk-1Is 4 times the original value, so the carry signal ck-1The two capacities that receive are -skCapacity C to receiveThreeIs weighted to ¼.
[0084]
The redundant adder shown in FIGS. 14 and 15 has been described above. In this description, the case of using an SD code in which each digit has a positive and negative symmetric value has been described.k∈ {0,. . . Even in the case of using a sign that takes only a positive value such as 2M−1, 2M}, the same concept can be used.
[0085]
The embodiments of the present invention have been described above. 10 and 14, the final addition result zkAs input, the quantizer (voltage zkBy connecting multiple discriminators that determine which multi-value level is and a multi-input amplifier for linearly adding the output of the discriminator, the error of the multi-value level is integrated to the subsequent stage. Can be prevented.
[0086]
Further, such a quantizer may be provided inside the adder shown in FIGS. For example, input xkAnd ykAre quantized, and the outputs of these quantizers are input x shown in FIG. 10 and FIG.k, YkAnd
Intermediate output -skMay be quantized. skIs 2M + 1 value, z for 2M-
[0087]
In this way, by providing a quantizer, it is possible to prevent the accumulation of errors of multilevel levels. Hereinafter, this point will be described in detail. The redundant adder having the above-described configuration outputs a level (high level or low level) according to the weight at the preceding stage, and outputs a multi-value by analog operation by feedback at the subsequent stage. Although the potential of the floating gate is determined by the divided voltage, the power supply voltage (VDDOr VSS) There is no linear relationship between input and output in the vicinity. Therefore, if the input voltage is at a level near this power supply voltage, an error may occur. Capacitance manufacturing errors also cause output wives. In order to prevent such an error from occurring, the above-described quantizer is provided.
[0088]
Since the quantizer avoids errors occurring in analog processing, it is provided at the output of a multi-input amplifier having a feedback capacity, for example. In this case, since the quantizer performs a process of adding again after determining the level of the multi-level output of the multi-input amplifier, the efficiency is low. The embodiment described below takes this point into consideration.
[0089]
The embodiment described below has a function of determining which multilevel level the voltage is in the redundant adder.
17 to 20 are diagrams for explaining a 2M-
[0090]
FIG. 19 is a circuit diagram when a neuron MOS circuit using a CMOS inverter is used. In the circuit shown, the threshold value of the neuron MOS inverter is set to VDD/ 2. The sign + corresponds to the solid line in FIG. 17 and the sign − corresponds to the broken line. The circuit shown in FIG.k, YkZ through a multi-input amplifierkTherefore, there is a problem that errors caused by analog operations are accumulated when connected in multiple stages. For this reason, as described above, it is necessary to insert a quantizer at the input, output, or inside to perform multilevel reproduction. Since there are two inputs, trying to quantize the inputs requires two quantizers and is not efficient. In addition, the output level is 2M + 3, whereas skIs 2M + 1, so skIt is most advantageous to insert a quantizer after The quantizer may have a configuration in which comparators are arranged in parallel, or may have a configuration in which an output of a comparator as described later is added to another comparator.
[0091]
However, the quantizer detects the level with a comparator and sets it to a binary signal set, then takes the sum with a multi-input amplifier and returns it to a multi-value. And skIf a quantizer is inserted after, a carry signal is added to the output by a multi-input amplifier. Since this is wasteful, it is advantageous to add the output of the comparator and the carry signal at once. Also, skSince the multi-input amplifier for generating the signal acts as a comparator if feedback is removed, it can also be used as a comparator for the quantizer.
[0092]
FIG. 20 shows a 2M-
[0093]
19 and 20 multistage amplifier A at the final stageFour, A can be replaced by a neuron MOS source follower. In this case, the output level is inverted. However, in the multiplier using the redundant multilevel adder, the addition tree has a regular structure, so that the inversion of the output level is not a big problem.
[0094]
The circuits shown in FIGS. 17 to 20 can be used as they are for the 2M + 1-
FIGS. 21 to 24 are diagrams for explaining a 2M-
[0095]
FIG. 24 is a circuit diagram of a configuration including an internal quantization effect. FIG. 24 also has the same concept as the 2M-
[0096]
25 to 28 are diagrams for explaining a 2M-
[0097]
The configuration shown in FIGS. 27 and 28 is basically the same as that described above regarding the 2M-
[0098]
FIGS. 29 to 32 are diagrams showing an improved configuration of the 2M-
[0099]
FIG. 29 shows this state. wk+ Γk-1Against sk+ Γk-1It can be seen that has a constant characteristic and a 2M value. FIG. 30 shows an adder based on this principle.1, A2Not only multistage input amplifier AFiveAlso γk-1To add output -sk−γk-1Have gained. The final stage multi-input amplifier AFourAlso γk-1To add extra γk-1Has been cancelled.
[0100]
31 and 32 show specific circuit configurations based on the above principle. Compared to the configuration shown in FIGS.k+ Γk-1Is a 2M value, the comparator COMP1, COMP2, COMPThreeThe configuration is easy. The multi-level amplifier A at the final stageFourCannot be replaced by a neuron MOS source follower.
[0101]
FIGS. 33 to 36 show further improvements on the 2M-
[0102]
FIG. 34 shows an adder based on this principle. Multi-level amplifier A in the previous stageFiveWk, Γk-1, -Γk, Γk-Αk-ΒkMulti-level amplifier A in the final stageFourTo carry signal αk-1+ Βk-1And γk-1Γ as the sum of cancellation signalsk-1-Αk-1+ Βk-1-SkAdd to
[0103]
35 and 36 show specific circuit configurations based on this principle. Compared with FIGS. 29 to 32, the structure of the carry signal generation is simplified. Multilevel amplifier A at the last stageFourCan be replaced by a neuron MOS source follower.
FIG. 37 to FIG. 39 are diagrams showing a multi-value adder in the case of using a method in which a multi-value is represented by a binary coded signal.
[0104]
Each of the multi-value adders of FIGS. 17 to 36 described above uses a system that directly expresses a multi-value level with the voltage level of one signal line. However, in the multi-value adders shown in FIGS. 20, 24, 28, 32 and 36, the output of the comparator which is a quantizer and the carry signal are binary, and the multi-input amplifier A in the final stage is binary. It is configured to return to the multi-value level. Therefore, if these outputs are directly taken out, a multi-value adder having a binary-coded multi-value output can be obtained. If this type of multi-value adder is used, considering that it is connected in multiple stages, the input xk, YkThe same binary code signal set is used. In the system shown in FIGS. 17 to 36, there are 2M + 2, 2M + 2, 2M + 1, 2M + 2, and 2M signals of the same weight, which are C / (2M + 2), C / 2M, C / (2M + 1), C / 2M, What is necessary is just to connect to a comparator through the capacity | capacitance of C / 2M.
[0105]
However, as can be seen from the fact that the product of the number of signals and the capacity does not become C in the methods shown in FIGS. Can do.
FIG. 37 is obtained by reducing the number of signal lines based on FIG. For simplicity, input xk, YkAlthough one signal line is connected through a capacitor C, 2M signals are actually connected with a C / 2M capacitor. The principle of simplification by reducing signal lines will be described below.
[0106]
As can be seen from FIG.k-1Is low (ie -αk-1Γ when the output is high)k-1Is also low level, skThe characteristic of is a broken line. At this time, skCannot take the lowest level of 2M + 1 values, so the comparator COMP detects the lowest level.FourOutput becomes low level. Therefore, -αK-1The output and the output of this comparator do not become high level at the same time. Therefore, these signals can be collected by the OR gate. Similarly, -βK-1Comparator COMP that detects output and maximum level1Since these outputs do not go low at the same time, these signals can be combined by an AND gate. In FIG. 37, the NAND gate G is used so that the output does not become an inversion level.1And NOR gate G2To other output to inverter INV1And INV2Is put. However, if inversion is allowed, an OR gate and an AND gate can be used, and the inverter INV1, INV2Is no longer necessary.
[0107]
FIG. 38 is obtained by reducing the number of signal lines based on FIG. As explained in FIG. 33, γk-Αk-ΒkBecomes binary, so γk, -Αk, -ΒkIs input to the comparator A to obtain a binary signal. However, considering the sign of the signal, an inverter is required. Further, in the configuration of this figure, it is assumed that m = 2, and sk+ Γk-1Multi-stage comparator COMP using the fact that becomes 4 values1, COMP2Byk+ Γk-1Is quantized. Previous stage comparator COMP1The subsequent stage COMP according to the output of2By changing the threshold value, it is possible to obtain a binary signal that is power-weighted by 2 on the same principle as the successive approximation A / D converter. Therefore, the weights of the three output signals are 2, 1, 1 from the bottom in FIG. These signal lines may be connected to the adder at the next stage via capacitors C / 2, C / 4, and C / 4.
[0108]
Since this type of comparator can perform very efficient quantization, the number of elements can be considerably reduced, but there is a problem that the number of delay stages increases. The comparator is most efficient when the quantization level should be 2. However, it is possible to construct the comparator in the same way in other cases.
[0109]
FIG. 39 is based on FIG. The method shown in FIGS. 33 to 36 does not have an extra signal line from the beginning, and may be omitted from the final stage of FIG. However, here the signal line is logged using a multi-stage comparator.2(2M) +1 is shown. When M = 2, as in (b), the weights of the three output signals are 2, 1, and 1 from the bottom, and they may be combined with the adder at the next stage at C / 2, C / 4, and C / 4. Unlike FIG. 38, this method does not require an output inverter if output level inversion is allowed.k-Αk-ΒkIt can be seen that a redundant adder can be configured with a very simple configuration. Although the number of delay stages is increased by using a multi-stage comparator, the number of delay stages is not increased as a whole at M = 2 because the final stage multi-input amplifier required for the multi-value output type is not necessary.
[0110]
【The invention's effect】
As described above, according to the present invention, the following effects can be obtained.
According to the first aspect of the present invention, since the voltage gain of the multi-input voltage amplifier is a multi-value logic circuit determined by the ratio of the capacity of the capacitive coupling and the capacity of the negative feedback circuit, this ratio is By selecting appropriately, an output (addition result) having a sufficient gain proportional to the input weighted linear sum can be obtained with low power consumption without saturating the output.
[0111]
According to the second aspect of the present invention, it is possible to correct a multilevel error by quantizing with a multilevel quantizer, and this error is not propagated to the subsequent stage and integrated.
According to the third and fourth aspects of the present invention, it is possible to add the level determination result by the quantizing action in the multi-input comparator and the carry signal at a time, and to propagate the error with a simple configuration. Can be prevented.
[0112]
According to the invention described in
According to the sixth and seventh aspects of the present invention, an R-ary N-value redundant addition satisfying N ≧ R + 2, such as a 2M-
[0113]
According to the eighth and ninth aspects of the invention, a 2M-
[Brief description of the drawings]
FIG. 1 is an equivalent circuit diagram showing a capacitively coupled multi-input amplifier (neuron MOS inverter).
2 is a circuit diagram showing a CMOS inverter which is a configuration example of the inverting amplifier A shown in FIG. 1. FIG.
FIG. 3 is a diagram showing a capacitive feedback type multi-input amplifier which is the basis of a multi-value logic circuit according to the present invention.
FIG. 4 is a diagram showing a multi-value inverter using a capacitive feedback type multi-input amplifier.
FIG. 5 is a diagram showing an R-inverting inversion D / A converter using a capacitive feedback type multi-input amplifier.
FIG. 6 is a diagram showing a multi-input amplifier using a capacitive feedback type multi-input amplifier.
FIG. 7 is a diagram illustrating an N-value quantizer using a capacitive feedback type multi-input amplifier.
8 is a diagram showing an operation of the N-value quantizer shown in FIG.
FIG. 9 is a diagram illustrating a main part of an R-ary N-value redundant adder (where R = 2M ≧ 4, N = 2M + 3) according to an embodiment of the present invention.
10 is a diagram illustrating a configuration of a portion surrounded by a broken line in FIG. 9;
11 is a diagram showing the operation of the configuration shown in FIG.
12 is a diagram showing an operation when M = 2 in the circuit configuration shown in FIG.
FIG. 13 is a diagram illustrating a main part of an R-ary N-value redundant adder (where R = 2M ≧ 2, N = 2M + 1) according to another embodiment of the present invention.
14 is a diagram showing a configuration of a portion surrounded by a broken line in FIG.
15 is a diagram showing the operation of the configuration shown in FIG.
16 is a diagram showing an operation when M = 2 in the circuit configuration shown in FIG.
FIG. 17 is a diagram (No. 1) for describing a 2M-
FIG. 18 is a diagram (No. 2) for describing the 2M-
FIG. 19 is a diagram (No. 3) for explaining the 2M-
FIG. 20 is a diagram (No. 4) for describing the 2M-
FIG. 21 is a diagram (No. 1) for describing a 2M-
FIG. 22 is a diagram (No. 2) for describing the 2M-
FIG. 23 is a diagram (No. 3) for explaining the 2M-
FIG. 24 is a diagram (No. 4) for explaining the 2M-
FIG. 25 is a diagram (No. 1) for describing a 2M-
FIG. 26 is a diagram (No. 2) for describing the 2M-
FIG. 27 is a diagram (No. 3) for describing the 2M-
FIG. 28 is a diagram (No. 4) for explaining the 2M-
29 is a diagram (No. 1) showing a configuration obtained by improving the 2M-
30 is a diagram (No. 2) illustrating a configuration obtained by improving the 2M-
31 is a diagram (No. 3) illustrating a configuration obtained by improving the 2M-
32 is a diagram (No. 4) showing a configuration obtained by improving the 2M-
FIG. 33 is a diagram (No. 1) illustrating a configuration obtained by further improving the 2M-
34 is a diagram (No. 2) showing a configuration obtained by further improving the 2M-
FIG. 35 is a diagram (No. 3) illustrating a configuration obtained by further improving the 2M-
FIG. 36 is a diagram (No. 4) illustrating a configuration obtained by further improving the 2M-
FIG. 37 is a diagram (No. 1) illustrating a multi-value adder in a case where a method of representing a multi-value by a binary coded signal is used.
FIG. 38 is a diagram (No. 2) illustrating a multi-value adder in a case where a method of representing a multi-value by a binary coded signal is used.
FIG. 39 is a diagram (No. 3) illustrating a multi-value adder in a case where a method of representing a multi-value by a binary coded signal is used.
FIG. 40 is a diagram illustrating a configuration example of a neuron MOS circuit.
FIG. 41 is a diagram showing another configuration example of the neuron MOS circuit.
[Explanation of symbols]
xk, Yk input signal
zk Output signal
ck Carry signal
A, A1~ AFive CMOS inverter circuit
Claims (11)
そのk桁(k=0、1、2、...)の演算回路は、桁上げ信号を発生させるための多入力比較器と、k桁の入力とこれらの入力の桁上げ信号とk−1桁の桁上げ信号の重み付き線形電圧加算を行う多入力増幅器とを有し、
前記多入力比較器と多入力増幅器はそれぞれ容量結合により対応する入力信号と接続され、
前記多入力電圧増幅器の電圧利得が、前記容量結合の容量と負帰還回路の容量との比で決定されることを特徴とする多値論理回路。In a circuit that inputs a plurality of multi-valued logic signals encoded to correspond to a certain numerical value and outputs a multi-valued logical signal corresponding to the sum of those numerical values,
The k-digit (k = 0, 1, 2,...) Arithmetic circuit includes a multi-input comparator for generating a carry signal, k-digit inputs, carry signals of these inputs, and k−. A multi-input amplifier that performs weighted linear voltage addition of a one-digit carry signal;
The multi-input comparator and the multi-input amplifier are each connected to a corresponding input signal by capacitive coupling,
A voltage gain of the multi-input voltage amplifier is determined by a ratio of a capacity of the capacitive coupling and a capacity of a negative feedback circuit.
k桁(k=0、1、2、...)の演算回路は桁上げ信号を発生させるための多入力比較器と、k桁の入力の和からその桁の桁上げ信号を引いた値がどの論理値にあるかを判定する多入力比較器とを含み、
前記多入力比較器が容量結合によりその入力と接続されることを特徴とする多値論理回路。In a multi-value logic circuit having a plurality of sets of multi-value logic signals encoded so as to correspond to a certain numerical value as input, and outputting a multi-value logic signal corresponding to the sum of those numerical values,
The arithmetic circuit of k digits (k = 0, 1, 2,...) is a multi-input comparator for generating a carry signal, and a value obtained by subtracting the carry signal of that digit from the sum of k-digit inputs. A multi-input comparator that determines which logic value is
A multi-value logic circuit, wherein the multi-input comparator is connected to its input by capacitive coupling.
更にk桁の入力の和の正負を示す数値を出力する判定器を有することを特徴とする請求項6記載の多値論理回路。The multi-level logic signal uses 2M-ary 2M + 1 (M is a natural number), and the multi-input comparator that generates the carry signal is a numerical value indicating the sign of the sum of k-digit inputs and the sum of k-1 digits And a comparator for comparing two predetermined numerical values, the carry signal is represented by two comparison results obtained, and
7. The multi-value logic circuit according to claim 6, further comprising a determiner that outputs a numerical value indicating the sign of the sum of k-digit inputs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32924795A JP3748119B2 (en) | 1995-03-30 | 1995-12-18 | Multi-valued logic circuit |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7392595 | 1995-03-30 | ||
JP7-73925 | 1995-03-30 | ||
JP32924795A JP3748119B2 (en) | 1995-03-30 | 1995-12-18 | Multi-valued logic circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08329171A JPH08329171A (en) | 1996-12-13 |
JP3748119B2 true JP3748119B2 (en) | 2006-02-22 |
Family
ID=26415067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32924795A Expired - Fee Related JP3748119B2 (en) | 1995-03-30 | 1995-12-18 | Multi-valued logic circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3748119B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005004032A1 (en) * | 2003-07-02 | 2005-01-13 | Advanced Logic Projects Inc. | Function device |
-
1995
- 1995-12-18 JP JP32924795A patent/JP3748119B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08329171A (en) | 1996-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5587668A (en) | Semiconductor devices utilizing neuron MOS transistors | |
JP2819006B2 (en) | Thermometer binary encoding method | |
CN1327618C (en) | Multi-level quantizer with current mode. DEM switch matrices and separate DEM decision logic for multibit sigma delta modulator | |
US5345233A (en) | Digital Σ-Δ modulator | |
KR100449963B1 (en) | An adder circuit and a multiplier circuit including the adder circuit | |
JP2009232461A (en) | Method and apparatus for reducing crosstalk on bus, and method for converting dataword into codeword | |
EP2710735A1 (en) | Compensated current cell to scale switching glitches in digital to analog convertors | |
JPH0428180B2 (en) | ||
TW201933786A (en) | System and methods for mixed-signal computing | |
Thoidis et al. | The circuit design of multiple-valued logic voltage-mode adders | |
JP2523590B2 (en) | Multi-value arithmetic circuit | |
Malmirchegini et al. | Non‐uniform sampling based on an adaptive level‐crossing scheme | |
CN115087988A (en) | Concept for encoding neural network parameters | |
CN117063151A (en) | Charge domain in-memory computing circuit | |
JPH06161713A (en) | Many-value adder | |
JP3748119B2 (en) | Multi-valued logic circuit | |
Khodabandehloo et al. | CVNS-based storage and refreshing scheme for a multi-valued dynamic memory | |
JP3557483B2 (en) | Semiconductor circuit | |
EP0872794A2 (en) | Computational circuit for adding multi-valued numbers | |
JP2004532578A (en) | Dynamic element matching | |
JPH06161712A (en) | Multi-value subtracter | |
US7603398B2 (en) | Data converter and a delay threshold comparator | |
Angus | Tree based lookahead sigma delta modulators | |
Chande et al. | On neural networks for analog to digital conversion | |
Venkata | Ternary and quaternary logic to binary bit conversion CMOS integrated circuit design using multiple input floating gate MOSFETs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091209 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |