以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
この実施の形態は、二変数三値論理演算を行う三値論理関数回路である。特に、この三値論理関数回路は、33^2=19683種類存在する全ての二変数三値論理関数回路を実現するために必要となる基本回路の種類を著しく削減し、17種類の一変数三値論理関数回路のみを用いて、組織的に実現することができる指針を与えるものである。また、この三値論理関数回路は、全ての三値論理素子を一変数三値論理関数回路のみを用いて構成することにより、立ち上がり及び立ち下がりのスイッチング時間の非対称性を著しく小さくすることができるものである。さらに、この三値論理関数回路は、MOS(Metal Oxide Semiconductor)トランジスタを用いて構成されるトランスファーゲートにおいて制御信号との間でトランスファーゲート論理を構成することにより、トランスファーゲートの制御に必要となる論理関数回路数を削減し、全ての二変数三値論理関数回路を実現するために必要となるトランジスタ数を著しく削減することができるものである。さらにまた、この三値論理関数回路は、一変数論理関数回路を構成するMOSトランジスタの閾値電圧を最適化し、論理関数回路の動作速度の向上及び波形の対称性の向上を図ることができるものである。
まず、この三値論理関数回路の説明に先立って、本発明を明確化すべく、本願出願人が既に出願している特願2005−001866の概略について説明する。
本願出願人は、先に出願した特願2005−001866において、33^2=19683種類存在する全ての二変数三値論理関数回路を実現するために必要となる基本回路の種類を著しく削減し、17種類の一変数三値論理関数回路のみを用いて、組織的に実現することができる指針を与えている。以下、同出願にかかる発明を前発明と称し、前発明にかかる三値論理関数回路を前発明三値論理関数回路と称するものとする。
具体的には、前発明三値論理関数回路は、図1に示すように、p型MOSトランジスタとn型MOSトランジスタとから構成された3つのトランスファーゲートT1,T2,T3を備える。すなわち、この前発明三値論理関数回路は、入力に応じて導通又は遮断する3つのトランスファーゲートT1,T2,T3を備え、これら3つのトランスファーゲートT1,T2,T3を導通又は遮断することにより、出力端子Yから出力される値が決定される。具体的には、前発明三値論理関数回路は、トランスファーゲートT1によって入力a=−1に対する出力を選択し、トランスファーゲートT2によって入力a=0に対する出力を選択し、トランスファーゲートT3によって入力a=1に対する出力を選択するように構成される。
トランスファーゲートT1の2つの制御端子C−T1,D−T1には、それぞれ、入力a=(−1,0,1)に対して出力(1,−1,−1)を得る一変数三値論理関数回路C1と、これと相補対称な一変数三値論理関数回路D1とが接続される。また、トランスファーゲートT2の2つの制御端子C−T2,D−T2には、それぞれ、入力a=(−1,0,1)に対して出力(−1,1,−1)を得る一変数三値論理関数回路C2と、これと相補対称な一変数三値論理関数回路D2とが接続される。さらに、トランスファーゲートT3の2つの制御端子C−T3,D−T3には、それぞれ、入力a=(−1,0,1)に対して出力(−1,−1,1)を得る一変数三値論理関数回路C3と、これと相補対称な一変数三値論理関数回路D3とが接続される。
また、トランスファーゲートT1,T2,T3の入力端子には、それぞれ、入力bに対して出力を得る一変数三値論理関数回路B1,B2,B3が接続され、これらトランスファーゲートT1,T2,T3の出力端子Y−T1,Y−T2,Y−T3は、当該前発明三値論理関数回路の出力端子Yとしてワイヤードオア接続される。
このような前発明三値論理関数回路は、二変数三値論理関数を実現するために、一方の入力bを3つの一変数三値論理関数回路B1,B2,B3に入力し、これら一変数三値論理関数回路B1,B2,B3の出力を、他方の入力aに応じて生成される制御信号に基づいて制御される3つのトランスファーゲートT1,T2,T3に与えることにより、当該入力aに応じて、トランスファーゲートT1,T2,T3を排他的に選択し、その結果、二変数三値論理関数の結果を得るものである。
したがって、前発明三値論理関数回路においては、入力aからトランスファーゲートT1,T2,T3の制御信号を得ることから、3組6個の一変数三値論理関数回路C1,D1,C2,D2,C3,D3が必要となる。
なお、入力bに対して出力を得る一変数三値論理関数回路B1,B2,B3、及び入力aに対して出力を得る3組6個の一変数三値論理関数回路C1,D1,C2,D2,C3,D3の実現法は、特表2002−517937号公報に開示された方法と同様の方法による。ここで、一変数三値論理関数は、27種類存在するが、前発明三値論理関数回路においては、17種類の一変数三値論理関数回路のみを用いて、組織的に実現することができる。
本発明の実施の形態として示す三値論理関数回路は、このような前発明三値論理関数回路を改良したものである。すなわち、前発明三値論理関数回路は、全ての二変数三値論理関数回路を実現するために必要となる基本回路の種類を著しく削減し、17種類の一変数三値論理関数回路及び3つのMOSトランスファーゲートを用いて組織的に実現することができる指針を与えるとともに、全ての三値論理素子を一変数三値論理関数回路のみを用いて構成することにより、立ち上がり及び立ち下がりのスイッチング時間の非対称性を著しく小さくすることができることを示したものである。
これに対して、本発明の実施の形態として示す三値論理関数回路は、3つのMOSトランスファーゲートにおいて制御信号との間でトランスファーゲート論理を構成することにより、トランスファーゲートの制御に必要となる論理関数回路数を6個から4個に削減し、全ての二変数三値論理関数回路を実現するために必要となるトランジスタ数を著しく削減する。また、この三値論理関数回路は、入力aに対して出力を得る一変数三値論理関数回路の実現法において、当該一変数論理関数回路を構成するMOSトランジスタの閾値電圧を最適化し、論理関数回路の動作速度の向上と、波形の対称性の向上とを図る。
以下、このような三値論理関数回路について説明する。
三値論理関数回路は、図2に示すように、p型MOSトランジスタとn型MOSトランジスタとから構成された3つのトランスファーゲートT1,T2,T3を備える。すなわち、この三値論理関数回路は、前発明三値論理関数回路と同様に、入力に応じて導通又は遮断する3つのトランスファーゲートT1,T2,T3を備え、これら3つのトランスファーゲートT1,T2,T3を導通又は遮断することにより、出力端子Yから出力される値が決定される。具体的には、三値論理関数回路は、トランスファーゲートT1によって入力a=−1に対する出力を選択し、トランスファーゲートT2によって入力a=0に対する出力を選択し、トランスファーゲートT3によって入力a=1に対する出力を選択するように構成される。
トランスファーゲートT1の2つの制御端子C−T1,D−T1には、それぞれ、入力a=(−1,0,1)に対して出力(1,−1,−1)を得る一変数三値論理関数回路C1と、これと相補対称な一変数三値論理関数回路D1とが接続される。また、トランスファーゲートT3の2つの制御端子C−T3,D−T3には、それぞれ、入力a=(−1,0,1)に対して出力(−1,−1,1)を得る一変数三値論理関数回路C3と、これと相補対称な一変数三値論理関数回路D3とが接続される。
ここで、トランスファーゲートT2は、4つの制御端子C−T2a,C−T2b,D−T2a,D−T2bを有する。これらトランスファーゲートT2の4つの制御端子C−T2a,C−T2b,D−T2a,D−T2bには、それぞれ、一変数三値論理関数回路D1と、一変数三値論理関数回路D3と、一変数三値論理関数回路C3と、一変数三値論理関数回路C1とが接続される。すなわち、三値論理関数回路においては、入力a=(−1,0,1)に対して出力(1,−1,−1)を得る一変数三値論理関数回路C1の出力を、トランスファーゲートT1の制御端子C−T1とともに、トランスファーゲートT2の制御端子D−T2bに接続し、入力a=(−1,0,1)に対して出力(−1,1,1)を得る一変数三値論理関数回路D1の出力を、トランスファーゲートT1の制御端子D−T1とともに、トランスファーゲートT2の制御端子C−T2aに接続する。また、三値論理関数回路においては、入力a=(−1,0,1)に対して出力(−1,−1,1)を得る一変数三値論理関数回路C3の出力を、トランスファーゲートT3の制御端子C−T3とともに、トランスファーゲートT2の制御端子D−T2aに接続し、入力a=(−1,0,1)に対して出力(1,1,−1)を得る一変数三値論理関数回路D3の出力を、トランスファーゲートT3の制御端子D−T3とともに、トランスファーゲートT2の制御端子C−T2bに接続する。
また、トランスファーゲートT1,T2,T3の入力端子には、それぞれ、入力bに対して出力を得る一変数三値論理関数回路B1,B2,B3が接続され、これらトランスファーゲートT1,T2,T3の出力端子Y−T1,Y−T2,Y−T3は、当該三値論理関数回路の出力端子Yとしてワイヤードオア接続される。
このようなトランスファーゲートT1,T2,T3のうち、トランスファーゲートT1,T3は、それぞれ、図3(a)に示すように、正の閾値電圧を有するエンハンスメント型のn型MOSトランジスタntと、負の閾値電圧を有するエンハンスメント型のp型MOSトランジスタptとを並列に接続して構成される。正の閾値電圧を有するn型MOSトランジスタntは、例えば0.2ボルトといった通常のエンハンスメント型トランジスタよりも小さな閾値電圧を有するものとする。また、負の閾値電圧を有するエンハンスメント型のp型MOSトランジスタptも同様に、例えば−0.2ボルトといった通常のエンハンスメント型トランジスタよりも絶対値が小さな閾値電圧を有するものとする。n型MOSトランジスタntの制御端子C−T1(C−T3)は、制御入力1でオン状態となるとともに、制御入力−1でオフ状態となり、p型MOSトランジスタptの制御端子D−T1(D−T3)は、制御端子C−T1(D−T1)と相補対称であり、制御入力−1でオン状態となるとともに、制御入力1でオフ状態となる。
一方、トランスファーゲートT2は、図3(b)に示すように、正の閾値電圧を有するエンハンスメント型のn型MOSトランジスタnt1,nt2を直列に接続したスイッチ対と、負の閾値電圧を有するエンハンスメント型のp型MOSトランジスタpt1,pt2を直列に接続したスイッチ対とを、並列に接続して構成される。正の閾値電圧を有するエンハンスメント型のn型MOSトランジスタnt1,nt2は、例えば0.2ボルトといった通常のエンハンスメント型トランジスタよりも小さな閾値電圧を有する。また、負の閾値電圧を有するエンハンスメント型のp型MOSトランジスタpt1,pt2も同様に、例えば−0.2ボルトといった通常のエンハンスメント型トランジスタよりも絶対値が小さな閾値電圧を有するものとする。
このようなトランスファーゲートT2において、制御端子C−T2aは、直列の関係にあるn型MOSトランジスタnt1に接続され、制御端子C−T2bは、n型MOSトランジスタnt2に接続される。また、制御端子D−T2aは、直列の関係にあるp型MOSトランジスタpt1に接続され、制御端子D−T2bは、p型MOSトランジスタpt2に接続される。
さらに、制御端子C−T2aには、入力a=(−1,0,1)に対して出力(−1,1,1)を得る一変数三値論理関数回路D1の出力が接続され、制御端子C−T2bには、入力a=(−1,0,1)に対して出力(1,1,−1)を得る一変数三値論理関数回路D3の出力が接続される。ここで、トランスファーゲートT2においては、制御端子C−T2aによって制御されるスイッチとしてのn型MOSトランジスタnt1と、制御端子C−T2bによって制御されるスイッチとしてのn型MOSトランジスタnt2とは、直列に接続されていることから、制御信号(−1,1,1)と制御信号(1,1,−1)との論理積(AND)である(−1,1,−1)によって制御されるのと等価である。すなわち、n型MOSトランジスタnt1,nt2からなるスイッチ対は、制御入力0のときにのみオン状態となるとともに、制御入力−1,1でオフ状態となる。
また、制御端子D−T2aには、入力a=(−1,0,1)に対して出力(−1,−1,1)を得る一変数三値論理関数回路C3の出力が接続され、制御端子D−T2bには、入力a=(−1,0,1)に対して出力(1,−1,−1)を得る一変数三値論理関数回路C1の出力が接続される。ここで、トランスファーゲートT2においては、制御端子D−T2aによって制御されるスイッチとしてのp型MOSトランジスタpt1と、制御端子D−T2bによって制御されるスイッチとしてのp型MOSトランジスタpt2とは、直列に接続されていることから、制御信号(−1,−1,1)と制御信号(1,−1,−1)との負論理の論理積(NOR)である(1,−1,1)によって制御されるのと等価である。すなわち、p型MOSトランジスタpt1,pt2からなるスイッチ対は、制御入力0のときにのみオン状態となるとともに、制御入力−1,1でオフ状態となる。
以上より、トランスファーゲートT2は、制御入力0のときにのみオン状態となるとともに、制御入力−1,1でオフ状態となる動作を行う。
また、三値論理関数回路において、一変数三値論理関数回路B1,B2,B3は、それぞれ、入力b=(−1,0,1)に対して、(p,q,r)、(s,t,u)、(x,y,z)を与えるのものとする。ただし、p,q,r,s,t,u,x,y,zは、それぞれ、−1,0,1のいずれかの値をとるものである。このような三値論理関数回路によって実現することができる二変数三値論理関数は、次表1に示すように与えられる。
一変数三値論理関数回路は、次表2に示す27種類の一変数三値論理関数のいずれかを実現するものである。先に図2に示した制御端子C−T1,D−T1,C−T2a,C−T2b,D−T2a,D−T2b,C−T3,D−T3のそれぞれに接続される三値論理関数回路C1,D1,C3,D3は、それぞれ、関数f19,f09,f03,f25を実現するものである。
これら一変数三値論理関数のうち、関数f01は、恒等的に−1であり、関数f14は、恒等的に0であり、関数f27は、恒等的に1であることから、特別な回路は不要である。
また、関数f02とf26、関数f03とf25、関数f04とf24、関数f05とf23、関数f06とf22、関数f07とf21、関数f08とf20、関数f09とf19、関数f10とf18、関数f11とf17、関数f12とf16、関数f13とf15は、それぞれ、互いに相補対称な関係にある。このうち、関数f06は、(−1,0,1)を入力とし、(−1,0,1)を出力とする。すなわち、関数f06は、出力=入力であり、通過(Through)である。また、関数f22は、(−1,0,1)を入力とし、(1,0,−1)を出力とする。すなわち、関数f22は、出力=入力の否定であることから、二値論理のインバータに相当する。したがって、MOSトランジスタによって実現すべき一変数三論理関数回路は、関数f15〜f26の12種類ということになる。関数f02〜f04、関数f06〜f13は、それぞれ、これらと相補対称な関数f26〜f24、関数f22〜f15の後段にインバータを設けることによって実現することができる。なお、論理関数によっては、出力が−1,0,1の三値のうち二値しかとならい場合には、インバータf22ではなく、簡易な回路で実現することができる。これについては、後述するものとする。
つぎに、これら12種類の一変数三論理関数回路の具体的な実現法について説明する。
三値を、(−1,0,1)とする。3種類のソース論理値−1,0,1があり、それぞれの入力端子と出力端子との間に、図4(a)乃至図4(c)に示すように、スイッチを設ける構成を考える。なお、論理値−1には、−1ボルトを仮定し、論理値0には、0ボルトを仮定し、論理値1には、+1ボルトを仮定する。
まず、ソース論理値が−1の場合を考える。
MOSトランジスタのソース電極を−1ボルトに接続したとき、ゲート電圧を+1ボルトとすると、ゲート・ソース間電圧Vgsは、2ボルトとなる。このとき、MOSトランジスタがオン状態となるためには、図5(a)に示すように、エンハンスメント型のn型MOSトランジスタを用い、閾値電圧を1.5ボルトとすればよい。このエンハンスメント型のn型MOSトランジスタを、NEと略記するものとする。
また、MOSトランジスタのソース電極を−1ボルトに接続したとき、ゲート電圧を0ボルトとすると、ゲート・ソース間電圧Vgsは、1ボルトとなる。このとき、MOSトランジスタがオン状態となるためには、図5(b)に示すように、エンハンスメント型のn型MOSトランジスタを用い、閾値電圧を0.5ボルトとすればよい。このスイッチは、閾値電圧が0.5ボルトであることから、入力0(Vgs=1.0)と入力1(Vgs=2.0)との両方の場合にオン状態となる。このエンハンスメント型のn型MOSトランジスタを、neと略記するものとする。
なお、これらをまとめると、次表3に示すようになる。
つぎに、ソース論理値が1の場合を考える。
MOSトランジスタのソース電極を+1ボルトに接続したとき、ゲート電圧を−1ボルトとすると、ゲート・ソース間電圧Vgsは、−2ボルトとなる。このとき、MOSトランジスタがオン状態となるためには、図6(a)に示すように、エンハンスメント型のp型MOSトランジスタを用い、閾値電圧を−1.5ボルトとすればよい。このエンハンスメント型のp型MOSトランジスタを、PEと略記するものとする。
また、MOSトランジスタのソース電極を+1ボルトに接続したとき、ゲート電圧を0ボルトとすると、ゲート・ソース間電圧Vgsは、−1ボルトとなる。このとき、MOSトランジスタがオン状態となるためには、図6(b)に示すように、エンハンスメント型のp型MOSトランジスタを用い、閾値電圧を−0.5ボルトとすればよい。このスイッチは、閾値電圧が−0.5ボルトであることから、入力0(Vgs=−1.0)と入力1(Vgs=−2.0)との両方の場合にオン状態となる。このエンハンスメント型のp型MOSトランジスタを、peと略記するものとする。
なお、これらをまとめると、次表4に示すようになる。
つぎに、ソース論理値が0の場合を考える。
MOSトランジスタのソース電極を0ボルトに接続したとき、ゲート電圧を+1ボルトとすると、ゲート・ソース間電圧Vgsは、1ボルトとなる。このとき、MOSトランジスタがオン状態となるためには、図7(a)に示すように、エンハンスメント型のn型MOSトランジスタを用い、閾値電圧を0.5ボルトとすればよい。このエンハンスメント型のn型MOSトランジスタは、図5(b)を用いて定義したエンハンスメント型のn型MOSトランジスタneである。
また、MOSトランジスタのソース電極を0ボルトに接続したとき、ゲート電圧を−1ボルトとすると、ゲート・ソース間電圧Vgsは、−1ボルトとなる。このとき、MOSトランジスタがオン状態となるためには、図7(b)に示すように、エンハンスメント型のp型MOSトランジスタを用い、閾値電圧を−0.5ボルトとすればよい。このエンハンスメント型のp型MOSトランジスタは、図6(b)を用いて定義したエンハンスメント型のp型MOSトランジスタpeである。
さらに、MOSトランジスタのソース電極を0ボルトに接続したとき、ゲート電圧を0ボルトとすると、ゲート・ソース間電圧Vgsは、0ボルトとなる。このとき、MOSトランジスタがオン状態となるためには、図7(c)に示すように、ディプリーション型のn型MOSトランジスタ(又はp型MOSトランジスタ)を用い、閾値電圧を−0.5ボルト(又は+0.5ボルト)とすればよい。このディプリーション型のn型MOSトランジスタ(又はp型MOSトランジスタ)を、nd(pd)と略記するものとする。
ディプリーション型のn型MOSトランジスタndを用いた場合には、スイッチは、入力0(Vgs=0.0)と入力1(Vgs=1.0)との両方の場合にオン状態となる。また、スイッチは、ディプリーション型のp型MOSトランジスタpdを用いた場合には、入力0(Vgs=0.0)と入力−1(Vgs=−1.0)との両方の場合にオン状態となる。
なお、これらをまとめると、次表5に示すようになる。
上表5から、ソース論理値が0である場合には、入力0である場合にのみ出力0を出力する回路として、次表6及び図8に示すように、ソース論理値0の入力端子と出力端子との間に、ディプリーション型のn型MOSトランジスタndと、ディプリーション型のp型MOSトランジスタpdとを直列に接続して挿入すればよいことがわかる。
また、上表5から、ソース論理値が0である場合には、入力−1,1のいずれの場合にも出力0を出力する回路として、次表7及び図9に示すように、ソース論理値0の入力端子と出力端子との間に、エンハンスメント型のn型MOSトランジスタneと、エンハンスメント型のp型MOSトランジスタpeとを並列に接続して挿入すればよいことがわかる。
ここで、このような回路において、MOSトランジスタのバックゲート電極(基盤バイアス)の接続について説明する。
バックゲート電極は、通常、電源に接続される。負電圧を給電する電源に接続されるn型MOSトランジスタNE,ne,nt、及び正電圧を給電する電源に接続されるp型MOSトランジスタPE,pe,ptについては、この方法でよい。しかしながら、0ボルトを電源とするMOSトランジスタnd,nt,ne,pd,pt,peのバックゲート電極を、0ボルトの電源に接続した場合には、出力端子の電圧が正又は負となっている場合には、バックゲート電極とドレイン電極との間に形成される接合ダイオードを通じて大電流が流れてしまう。例えば、n型MOSトランジスタnd,nt,neについては、出力端子電圧が負の場合には、ソース電圧とドレイン電圧との逆転が生じ、バックゲート電極とドレイン電極との間に形成されるPN接合を通じて順方向電流が流れてしまう。また、p型MOSトランジスタpd,pt,peについては、出力端子電圧が正の場合には、ソース電圧とドレイン電圧との逆転が生じ、ソース電極とバックゲート電極とドレイン電極との間に形成されるPN接合を通じて順方向電流が流れてしまう。
このような現象の発生を防止するために、0ボルトの電源に接続されるMOSトランジスタであっても、n型MOSトランジスタは、負電圧を給電する電源に接続するとともに、p型MOSトランジスタは、正電圧を給電する電源に接続する。これにより、出力端子の電圧が正又は負になった場合であっても、バックゲート電極とドレイン電極との間にPN接合を通じた順方向電流が流れる事態を回避することができる。
したがって、三値論理関数回路においては、トランスファーゲートT1,T3を構成するエンハンスメント型のn型MOSトランジスタntのバックゲート電極を、負電圧を給電する電源に接続するとともに、エンハンスメント型のp型MOSトランジスタptのバックゲート電極を、正電圧を給電する電源に接続する。同様に、三値論理関数回路においては、トランスファーゲートT2を構成するエンハンスメント型のn型MOSトランジスタnt1,nt2のバックゲート電極を、負電圧を給電する電源に接続するとともに、エンハンスメント型のp型MOSトランジスタpt1,pt2のバックゲート電極を、正電圧を給電する電源に接続する。
さて、上表2に示した27種類の一変数三値論理関数は、以下のように分類することができる。
上表2のうち、1段のCMOS(Complementary MOS)回路によって実現することができるものは、入力xに対して、論理関数f(x)が、f(−1)≧f(0)≧f(1)となる関係にある場合のみである。以下、このような関数を、反転関数(reverse function)と称するものとする。すなわち、反転関数とは、入力xの大小関係と論理関数f(x)の大小関係が逆転したものである。反転関数は、上表2に示した27種類の一変数三値論理関数のうち、関数f10,f13,f19,f22,f23,f25,f26である。これを分類1とする。
上表2に示した27種類の一変数三値論理関数のうち、関数f02〜f05、関数f07〜f09、関数f15〜f18、関数f20,f21,f24は、反転関数でないことから、1段のCMOS回路によっては実現することができない。これら一変数三値論理関数のうち、関数f02〜f05、関数f07〜f09は、それぞれ、関数f26〜f23、関数f21〜f19と相補対称な関係にあることから、原理的には、関数f26〜f19を実現し、その後段にインバータf22を設ければよい。これを分類2とする。
また、関数f15は、反転関数f13と相補対称であり、さらに、関数f18は、反転関数f10と相補対称であることから、反転関数f13,f10のそれぞれの後段にインバータf23を設ければよい。これも分類2とする。
さらに、上表2に示した27種類の一変数三値論理関数のうち、関数f11とf17、関数f12とf16は、それぞれ、相補対称な関係にあるが、反転関数ではないことから、1段のCMOS回路によっては実現することができない。ここでは、関数f11,f12は、それぞれ、2段のCMOS回路によって実現するものとする。これを分類3とする。
さらにまた、関数f17,f16は、それぞれ、関数f11,f12の後段にインバータを設けることによって実現することもできるが、3段のCMOS回路となってしまう。そこで、関数f11とf17、関数f12とf16の相補対称性に着目すると、直接2段のCMOS回路によって実現することができる。これを分類3’とする。
また、残りの関数f20,f21,f24は、反転関数でないことから、2段のCMOS回路によって実現する。これも分類3とする。さらに、関数f08,f07,f04は、それぞれ、関数f20,f21,f24との相補対称性から、直接2段のCMOS回路によっても実現することができる。これも分類3’とする。
以上より、実現すべき回路は、分類1に分類された反転回路であるf10,f13,f19,f22,f23,f25,f26の7種類、及び分類3に分類された反転回路ではないf11,f12,f20,f21,f24の5種類の合計12種類である。さらに、これら12種類の回路の他に、相補対称性から直接2段のCMOS回路によって実現できる分類3’に分類された関数f04,f07,f08,f16,f17の5種類を加えた合計17種類を実現すればよい。
分類2とした関数f02〜f09のうち、残りは、関数f02,f03,f05,f09である。このうち、関数f02=(−1,−1,0)は、関数f26=(1,1,0)の後段にインバータf13=(0,0,−1)を設けることによって実現することができる。また、関数f03=(−1,−1,1)は、関数f25=(1,1,−1)の後段にインバータf19=(1,−1,−1)を設けることによって実現することができる。さらに、関数f05=(−1,0,0)は、関数f23=(1,0,0)の後段にインバータf13=(0,0,−1)を設けることによって実現することができる。さらにまた、関数f09=(−1,1,1)は、関数f19=(1,−1,−1)の後段にインバータf25=(1,1,−1)を設けることによって実現することができる。
なお、これら関数f02,f03,f05,f09には、それぞれ、6通りの実現法がある。このうち、最も一般的なインバータf22=(1,0,−1)を用いるものを除くと、4通りの実現法がある。例えば、関数f03は、後段のインバータをf25=(1,1,−1)としてもよい。また、特表2002−517937号公報に記載された回路においては、前段の素子を関数f25=(1,1,−1)又は関数f19=(1,−1,−1)のいずれかに統一している。
以上をまとめると、次表8が得られる。
このように分類される各関数は、以下のようにして実現することができる。
まず、分類1に分類された1段のCMOS回路によって実現することができる7種類の反転関数f10,f13,f19,f22,f23,f25,f26の実現法について説明する。
関数f10は、(−1,0,1)を入力とし、(0,−1,−1)を出力とする。したがって、関数f10は、図10に示すように、ソース論理値0について、入力−1である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタpeを入力bで駆動するとともに、ソース論理値−1について、入力0,1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタneを入力bで駆動することにより、実現することができる。
また、関数f13は、(−1,0,1)を入力とし、(0,0,−1)を出力とする。したがって、関数f13は、図11に示すように、ソース論理値0について、入力−1,0である場合にオン状態となるように、ディプリーション型のp型MOSトランジスタpdを入力bで駆動するとともに、ソース論理値−1について、入力1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタNEを入力bで駆動することにより、実現することができる。
さらに、関数f19は、(−1,0,1)を入力とし、(1,−1,−1)を出力とする。したがって、関数f19は、図12に示すように、ソース論理値1について、入力−1である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタPEを入力bで駆動するとともに、ソース論理値−1について、入力0,1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタneを入力bで駆動することにより、実現することができる。
さらにまた、関数f22は、(−1,0,1)を入力とし、(1,0,−1)を出力とする。したがって、関数f22は、図13に示すように、ソース論理値1について、入力−1である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタPEを入力bで駆動するとともに、ソース論理値0について、入力0である場合にオン状態となるように、ディプリーション型のn型MOSトランジスタndとディプリーション型のp型MOSトランジスタpdとの直列回路を入力bで駆動し、さらに、ソース論理値−1について、入力1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタNEを入力bで駆動することにより、実現することができる。
また、関数f23は、(−1,0,1)を入力とし、(1,0,0)を出力とする。したがって、関数f23は、図14に示すように、ソース論理値1について、入力−1である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタPEを入力bで駆動するとともに、ソース論理値0について、入力0,1である場合にオン状態となるように、ディプリーション型のn型MOSトランジスタndを入力bで駆動することにより、実現することができる。
さらに、関数f25は、(−1,0,1)を入力とし、(1,1,−1)を出力とする。したがって、関数f25は、図15に示すように、ソース論理値1について、入力−1,0である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタpeを入力bで駆動するとともに、ソース論理値−1について、入力1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタNEを入力bで駆動することにより、実現することができる。
さらにまた、関数f26は、(−1,0,1)を入力とし、(1,1,0)を出力とする。したがって、関数f26は、図16に示すように、ソース論理値1について、入力−1,0である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタpeを入力bで駆動するとともに、ソース論理値0について、入力1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタneを入力bで駆動することにより、実現することができる。
このように、分類1に分類された7種類の反転関数f10,f13,f19,f22,f23,f25,f26は、1段のCMOS回路によって実現することができる。
つぎに、分類3に分類された1段のCMOS回路によっては実現することができない5種類の関数f11,f12,f20,f21,f24の実現法について説明する。これらの関数f11,f12,f20,f21,f24は、入力(−1,0,1)を二値(1,1,−1)に変換する付加回路f25が入力側に必要であり、2段のCMOS回路となる。なお、以下では、エンハンスメント型のn型MOSトランジスタnt及びp型MOSトランジスタptは、それぞれ、通常の閾値電圧よりも絶対値が小さな閾値電圧を有するエンハンスメント型MOSトランジスタを示し、例えばそれぞれの閾値電圧を0.2ボルト、−0.2ボルトとする。
関数f11は、(−1,0,1)を入力とし、(0,−1,0)を出力とする。したがって、関数f11は、図17に示すように、入力bを反転関数f25=(1,1,−1)に通してその出力を¬bとし、ソース論理値0について、入力−1,1である場合にオン状態となるように、2つのエンハンスメント型のp型MOSトランジスタpeの並列回路を挿入し、一方のp型MOSトランジスタpe1を入力bで駆動するとともに、他方のp型MOSトランジスタpe2を入力bの反転出力¬bで駆動するように構成される。そして、関数f11は、ソース論理値−1について、入力0である場合にオン状態となるように、2つのエンハンスメント型のn型MOSトランジスタne,NEの直列回路を挿入し、一方のn型MOSトランジスタneを入力bで駆動するとともに、他方のn型MOSトランジスタNEを入力bの反転出力¬bで駆動することにより、実現することができる。なお、この関数f11の動作は、次表9に示すとおりである。
また、関数f12は、(−1,0,1)を入力とし、(0,−1,1)を出力とする。したがって、関数f12は、図18に示すように、入力bを反転関数f25=(1,1,−1)に通してその出力を¬bとし、ソース論理値0について、入力−1である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタpeを入力bで駆動するように構成される。また、関数f12は、ソース論理値−1について、入力0である場合にオン状態となるように、2つのエンハンスメント型のn型MOSトランジスタne,NEの直列回路を挿入し、一方のn型MOSトランジスタneを入力bで駆動するとともに、他方のn型MOSトランジスタNEを入力bの反転出力¬bで駆動するように構成される。そして、関数f12は、ソース論理値1について、入力1である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタPEを入力bの反転出力¬bで駆動することにより、実現することができる。なお、この関数f12の動作は、次表10に示すとおりである。
さらに、関数f20は、(−1,0,1)を入力とし、(1,−1,0)を出力とする。したがって、関数f20は、図19に示すように、入力bを反転関数f25=(1,1,−1)に通してその出力を¬bとし、ソース論理値1について、入力−1である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタPEを入力bで駆動するように構成される。また、関数f20は、ソース論理値−1について、入力0である場合にオン状態となるように、2つのエンハンスメント型のn型MOSトランジスタne,NEの直列回路を挿入し、一方のn型MOSトランジスタneを入力bで駆動するとともに、他方のn型MOSトランジスタNEを入力bの反転出力¬bで駆動するように構成される。そして、関数f20は、ソース論理値0について、入力1である場合にオン状態となるように、エンハンスメント型のp型MOSトランジスタpeを入力bの反転出力¬bで駆動することにより、実現することができる。なお、この関数f20の動作は、次表11に示すとおりである。
ここで、ソース論理値0に接続されたエンハンスメント型のp型MOSトランジスタとして、通常のエンハンスメント型のp型MOSトランジスタpeを用いているが、本願出願人は、通常のエンハンスメント型のp型MOSトランジスタpeの代わりに、当該p型MOSトランジスタpeの閾値電圧よりも絶対値が小さな負の閾値電圧を有するエンハンスメント型のp型MOSトランジスタptを用いることにより、動作速度や波形の対称性についての特性が良好になることを確認している。すなわち、関数f20は、ソース論理値0に接続されたエンハンスメント型のp型MOSトランジスタとして、通常のエンハンスメント型のp型トランジスタpeを用いてもよいが、その通常の閾値電圧よりも絶対値が小さな負の閾値電圧を有するエンハンスメント型のp型MOSトランジスタptを用いることにより、当該三値論理関数回路の動作速度の向上及び波形の対称性の向上を図ることができる。
さらにまた、関数f21は、(−1,0,1)を入力とし、(1,−1,1)を出力とする。したがって、関数f21は、図20に示すように、入力bを反転関数f25=(1,1,−1)に通してその出力を¬bとし、ソース論理値1について、入力−1,1である場合にオン状態となるように、2つのエンハンスメント型のp型MOSトランジスタPEの並列回路を挿入し、一方のp型MOSトランジスタPE1を入力bで駆動するとともに、他方のp型MOSトランジスタPE2を入力bの反転出力¬bで駆動するように構成される。そして、関数f21は、ソース論理値−1について、入力0である場合にオン状態となるように、2つのエンハンスメント型のn型MOSトランジスタne,NEの直列回路を挿入し、一方のn型MOSトランジスタneを入力bで駆動するとともに、他方のn型MOSトランジスタNEを入力bの反転出力¬bで駆動することにより、実現することができる。なお、この関数f21の動作は、次表12に示すとおりである。
また、関数f24は、(−1,0,1)を入力とし、(1,0,1)を出力とする。したがって、関数f24は、図21に示すように、入力bを反転関数f25=(1,1,−1)に通してその出力を¬bとし、ソース論理値1について、入力−1,1である場合にオン状態となるように、2つのエンハンスメント型のp型MOSトランジスタPEの並列回路を挿入し、一方のp型MOSトランジスタPE1を入力bで駆動するとともに、他方のp型MOSトランジスタPE2を入力bの反転出力¬bで駆動するように構成される。そして、関数f24は、ソース論理値0について、入力0である場合にオン状態となるように、ディプリーション型のn型MOSトランジスタndとエンハンスメント型のn型MOSトランジスタneとの直列回路を挿入し、一方のn型MOSトランジスタndを入力bで駆動するとともに、他方のn型MOSトランジスタneを入力bの反転出力¬bで駆動することにより、実現することができる。なお、この関数f24の動作は、次表13に示すとおりである。
ここで、ソース論理値0に接続されたエンハンスメント型のn型MOSトランジスタとして、通常のエンハンスメント型のn型MOSトランジスタneを用いているが、本願出願人は、通常のエンハンスメント型のn型MOSトランジスタneの代わりに、当該n型MOSトランジスタneの閾値電圧よりも絶対値が小さな正の閾値電圧を有するエンハンスメント型のn型MOSトランジスタntを用いることにより、動作速度や波形の対称性についての特性が良好になることを確認している。すなわち、関数f24は、ソース論理値0に接続されたエンハンスメント型のn型MOSトランジスタとして、通常のエンハンスメント型のn型トランジスタneを用いてもよいが、その通常の閾値電圧よりも絶対値が小さな正の閾値電圧を有するエンハンスメント型のn型MOSトランジスタntを用いることにより、当該三値論理関数回路の動作速度の向上及び波形の対称性の向上を図ることができる。
このように、分類3に分類された5種類の関数f11,f12,f20,f21,f24は、2段のCMOS回路によって実現することができる。
つぎに、分類3に分類された反転関数でない5種類の関数f11,f12,f20,f21,f24の相補対称回路として、分類3’に分類された5種類の関数f17,f16,f08,f07,f04の実現法について説明する。これらの関数f17,f16,f08,f07,f04は、反転関数でない関数と同様に、入力(−1,0,1)を二値(1,−1,−1)に変換する付加回路f19が入力側に必要であり、2段のCMOS回路となる。
関数f17は、(−1,0,1)を入力とし、(0,1,0)を出力とする。したがって、関数f17は、図22に示すように、入力bを反転関数f19=(1,−1,−1)に通してその出力を¬bとし、ソース論理値0について、入力−1,1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタneとディプリーション型のn型MOSトランジスタndとの並列回路を挿入し、一方のn型MOSトランジスタneを入力bで駆動するとともに、他方のn型MOSトランジスタndを入力bの反転出力¬bで駆動するように構成される。そして、関数f17は、ソース論理値1について、入力0である場合にオン状態となるように、2つのエンハンスメント型のp型MOSトランジスタpe,PEの直列回路を挿入し、一方のp型MOSトランジスタpeを入力bで駆動するとともに、他方のp型MOSトランジスタPEを入力bの反転出力¬bで駆動することにより、実現することができる。なお、この関数f17の動作は、次表14に示すとおりである。
また、関数f16は、(−1,0,1)を入力とし、(0,1,−1)を出力とする。したがって、関数f16は、図23に示すように、入力bを反転関数f19=(1,−1,−1)に通してその出力を¬bとし、ソース論理値0について、入力−1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタneを入力bの反転出力¬bで駆動するように構成される。また、関数f16は、ソース論理値1について、入力0である場合にオン状態となるように、2つのエンハンスメント型のp型MOSトランジスタpe,PEの直列回路を挿入し、一方のp型MOSトランジスタpeを入力bで駆動するとともに、他方のp型MOSトランジスタPEを入力bの反転出力¬bで駆動するように構成される。そして、関数f16は、ソース論理値−1について、入力1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタNEを入力bで駆動することにより、実現することができる。なお、この関数f16の動作は、次表15に示すとおりである。
ここで、ソース論理値0に接続されたエンハンスメント型のn型MOSトランジスタとして、通常のエンハンスメント型のn型MOSトランジスタneを用いているが、本願出願人は、通常のエンハンスメント型のn型MOSトランジスタneの代わりに、当該n型MOSトランジスタneの閾値電圧よりも絶対値が小さな正の閾値電圧を有するエンハンスメント型のn型MOSトランジスタntを用いることにより、動作速度や波形の対称性についての特性が良好になることを確認している。すなわち、関数f16は、ソース論理値0に接続されたエンハンスメント型のn型MOSトランジスタとして、通常のエンハンスメント型のn型トランジスタneを用いてもよいが、その通常の閾値電圧よりも絶対値が小さな正の閾値電圧を有するエンハンスメント型のn型MOSトランジスタntを用いることにより、当該三値論理関数回路の動作速度の向上及び波形の対称性の向上を図ることができる。
さらに、関数f08は、(−1,0,1)を入力とし、(−1,1,0)を出力とする。したがって、関数f08は、図24に示すように、入力bを反転関数f19=(1,−1,−1)に通してその出力を¬bとし、ソース論理値−1について、入力−1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタNEを入力bの反転出力¬bで駆動するように構成される。また、関数f08は、ソース論理値1について、入力0である場合にオン状態となるように、2つのエンハンスメント型のp型MOSトランジスタpeの直列回路を挿入し、一方のp型MOSトランジスタpe1を入力bで駆動するとともに、他方のp型MOSトランジスタpe2を入力bの反転出力¬bで駆動するように構成される。そして、関数f08は、ソース論理値0について、入力1である場合にオン状態となるように、エンハンスメント型のn型MOSトランジスタneを入力bで駆動することにより、実現することができる。なお、この関数f08の動作は、次表16に示すとおりである。
さらにまた、関数f07は、(−1,0,1)を入力とし、(−1,1,−1)を出力とする。したがって、関数f07は、図25に示すように、入力bを反転関数f19=(1,−1,−1)に通してその出力を¬bとし、ソース論理値−1について、入力−1,1である場合にオン状態となるように、2つのエンハンスメント型のn型MOSトランジスタNE,neの並列回路を挿入し、一方のn型MOSトランジスタNEを入力bで駆動するとともに、他方のn型MOSトランジスタneを入力bの反転出力¬bで駆動するように構成される。そして、関数f07は、ソース論理値1について、入力0である場合にオン状態となるように、2つのエンハンスメント型のp型MOSトランジスタPE,peの直列回路を挿入し、一方のp型MOSトランジスタpeを入力bで駆動するとともに、他方のp型MOSトランジスタPEを入力bの反転出力¬bで駆動することにより、実現することができる。なお、この関数f07の動作は、次表17に示すとおりである。
また、関数f04は、(−1,0,1)を入力とし、(−1,0,−1)を出力とする。したがって、関数f04は、図26に示すように、入力bを反転関数f19=(1,−1,−1)に通してその出力を¬bとし、ソース論理値−1について、入力−1,1である場合にオン状態となるように、2つのエンハンスメント型のn型MOSトランジスタNEの並列回路を挿入し、一方のn型MOSトランジスタNE1を入力bで駆動するとともに、他方のn型MOSトランジスタNE2を入力bの反転出力¬bで駆動するように構成される。そして、関数f04は、ソース論理値0について、入力0である場合にオン状態となるように、ディプリーション型のp型MOSトランジスタpdとエンハンスメント型のp型MOSトランジスタpeとの直列回路を挿入し、一方のp型MOSトランジスタpdを入力bで駆動するとともに、他方のp型MOSトランジスタpeを入力bの反転出力¬bで駆動することにより、実現することができる。なお、この関数f04の動作は、次表18に示すとおりである。
ここで、ソース論理値0に接続されたエンハンスメント型のp型MOSトランジスタとして、通常のエンハンスメント型のp型MOSトランジスタpeを用いているが、本願出願人は、通常のエンハンスメント型のp型MOSトランジスタpeの代わりに、当該p型MOSトランジスタpeの閾値電圧よりも絶対値が小さな正の閾値電圧を有するエンハンスメント型のp型MOSトランジスタptを用いることにより、動作速度や波形の対称性についての特性が良好になることを確認している。すなわち、関数f04は、ソース論理値0に接続されたエンハンスメント型のp型MOSトランジスタとして、通常のエンハンスメント型のp型トランジスタpeを用いてもよいが、その通常の閾値電圧よりも絶対値が小さな負の閾値電圧を有するエンハンスメント型のp型MOSトランジスタptを用いることにより、当該三値論理関数回路の動作速度の向上及び波形の対称性の向上を図ることができる。
このように、分類3’に分類された5種類の関数f17,f16,f08,f07,f04は、2段のCMOS回路によって実現することができる。
つぎに、分類2に分類された6種類の関数f02,f03,f05,f09,f15,f18の実現法について説明する。これらの関数f02,f03,f05,f09,f15,f18は、それぞれ、上述したように、関数f26,f25,f23,f19,f13,f10の後段にインバータを設けることによって実現することができる。
すなわち、関数f02は、(−1,0,1)を入力とし、(−1,−1,0)を出力とする。したがって、関数f02は、図27に示すように、関数f26=(1,1,0)の後段にインバータf13=(0,0,−1)を設けることによって実現することができる。
また、関数f03は、(−1,0,1)を入力とし、(−1,−1,1)を出力とする。したがって、関数f03は、図28に示すように、関数f25=(1,1,−1)の後段にインバータf19=(1,−1,−1)を設けることによって実現することができる。
さらに、関数f05は、(−1,0,1)を入力とし、(−1,0,0)を出力とする。したがって、関数f05は、図29に示すように、関数f23=(1,0,0)の後段にインバータf13=(0,0,−1)を設けることによって実現することができる。
さらにまた、関数f09は、(−1,0,1)を入力とし、(−1,1,1)を出力とする。したがって、関数f09は、図30に示すように、関数f19=(1,−1,−1)の後段にインバータf25=(1,1,−1)を設けることによって実現することができる。
また、関数f15は、(−1,0,1)を入力とし、(0,0,1)を出力とする。したがって、関数f15は、図31に示すように、関数f13=(0,0,−1)の後段にインバータf23=(1,0,0)を設けることによって実現することができる。
さらに、関数f18は、(−1,0,1)を入力とし、(0,1,1)を出力とする。したがって、関数f18は、図32に示すように、関数f10=(0,−1,−1)の後段にインバータf23=(1,0,0)を設けることによって実現することができる。
このように、分類2に分類された6種類の関数f02,f03,f05,f09,f15,f18は、相補対称回路とインバータとによって実現することができる。
さて、以下では、このような一変数三値論理関数を用いた二変数三値論理演算を行う三値論理関数回路の具体的構成について説明する。先に図2に示した三値論理関数回路としては、具体的には図33に示すようなものを構成することができる。なお、同図中、トランスファーゲートT2は、先に図3(b)に示したものを上下反転したものであることに注意されたい。
すなわち、この三値論理関数回路においては、トランスファーゲートT1の制御端子C−T1及びトランスファーゲートT2の制御端子C−T2bに接続される一変数三値論理関数回路C1として、先に図12に示した関数f19を用いるとともに、トランスファーゲートT1の制御端子D−T1及びトランスファーゲートT2の制御端子D−T2aに接続される一変数三値論理関数回路D1として、先に図30に示した関数f09を用いればよい。また、この三値論理関数回路においては、トランスファーゲートT3の制御端子C−T3及びトランスファーゲートT2の制御端子C−T2aに接続される一変数三値論理関数回路C3として、先に図28に示した関数f03を用いるとともに、トランスファーゲートT3の制御端子D−T3及びトランスファーゲートT2の制御端子D−T2bに接続される一変数三値論理関数回路D3として、先に図15に示した関数f25を用いればよい。
ここで、この三値論理関数回路において、関数f09として構成される一変数三値論理関数回路D1は、上述したように、関数f19の後段にインバータf25を設けたものであることから、一変数三値論理関数回路C1の出力をインバータf25に接続すれば実現することができる。同様に、この三値論理関数回路において、関数f03として構成される一変数三値論理関数回路C3は、上述したように、関数f25の後段にインバータf19を設けたものであることから、一変数三値論理関数回路D3の出力をインバータf19に接続すれば実現することができる。したがって、三値論理関数回路は、図34に示すように簡略化することができる。
すなわち、この三値論理関数回路においては、トランスファーゲートT1の制御端子C−T1に接続される一変数三値論理関数回路C1として、先に図12に示した関数f19を用いるとともに、この一変数三値論理関数回路C1の後段に一変数三値論理関数回路D1’としての先に図15に示した関数f25を接続し、これをトランスファーゲートT1の制御端子D−T1及びトランスファーゲートT2の制御端子C−T2aに接続する。また、この三値論理関数回路においては、トランスファーゲートT3の制御端子D−T3に接続される一変数三値論理関数回路D3として、先に図15に示した関数f25を用いるとともに、この一変数三値論理関数回路D3の後段に一変数三値論理関数回路C3’としての先に図12に示した関数f19を接続し、これをトランスファーゲートT3の制御端子C−T3及びトランスファーゲートT2の制御端子D−T2aに接続する。
このような三値論理関数回路においては、図33に示した構成に比べ、必要な素子数を削減することができる。また、この三値論理関数回路においては、後述するように、任意の入力パターンに対して遅延時間を等しくすることができる。
このように、三値論理関数回路においては、使用する関数の相補対称性を利用して、回路の簡略化を図ることができる。
また、論理演算を行うにあたっては、入力に対する出力が同一となる一変数三値論理関数を用い、縮退した演算を行う場合が多々ある。すなわち、上表1に示した二変数三値論理関数において、同一の要素からなる行又は列が存在するような関数に基づいた演算を行う場合がある。三値論理関数回路においては、このような縮退した二変数三値論理演算についても対応することができる。
まず、上表1に示した二変数三値論理関数において、入力a=−1に対する出力(p,q,r)と、入力a=0に対する出力(s,t,u)とが等しいとき、すなわち、(p,q,r)=(s,t,u)であるとき、上表1は、次表19に示すようになる。
このような縮退した二変数三値論理演算を行う三値論理関数回路は、図33に示した構成を変形し、図35に示すように構成することができる。
すなわち、この三値論理関数回路においては、図33に示した3つのトランスファーゲートT1,T2,T3のうち、入力a=−1に対して一変数三値論理関数回路B1=(p,q,r)を出力するトランスファーゲートT1と、入力a=0に対して一変数三値論理関数回路B2=(s,t,u)を出力するトランスファーゲートT2とのそれぞれの役割を統合して1つのトランスファーゲートT12とする。なお、統合したトランスファーゲートT12は、トランスファーゲートT1と同一の回路である。そして、この三値論理関数回路においては、一変数三値論理関数回路C1,C2の論理和をとった一変数三値論理関数回路C12をトランスファーゲートT12の一方の制御端子C−T12に接続するとともに、一変数三値論理関数回路D1,D2の論理積をとった一変数三値論理関数回路D12を当該トランスファーゲートT12の他方の制御端子D−T12に接続する。ここで、一変数三値論理関数回路C12は、関数f25=(1,1,−1)として構成され、一変数三値論理関数回路D12は、関数f25と相補対称な関数f03=(−1,−1,1)として構成される。
また、この三値論理関数回路において、残りの一変数三値論理関数回路B3が接続されるトランスファーゲートT3の制御端子C−T3,D−T3に供給される制御信号は、それぞれ、(−1,−1,1)及び(1,1,−1)であるが、これらは、関数f03,f25に他ならない。そのため、この三値論理関数回路においては、トランスファーゲートT12の制御端子D−T12に入力される制御信号をトランスファーゲートT3の制御端子C−T3に入力するとともに、トランスファーゲートT12の制御端子C−T12に入力される制御信号をトランスファーゲートT3の制御端子D−T3に入力する。
このように、(p,q,r)=(s,t,u)である縮退した二変数三値論理演算を行う三値論理関数回路を構成することができる。
つぎに、上表1に示した二変数三値論理関数において、入力a=0に対する出力(s,t,u)と、入力a=1に対する出力(x,y,z)とが等しいとき、すなわち、(s,t,u)=(x,y,z)であるとき、上表1は、次表20に示すようになる。
このような縮退した二変数三値論理演算を行う三値論理関数回路は、図33に示した構成を変形し、図36に示すように構成することができる。
すなわち、この三値論理関数回路においては、図33に示した3つのトランスファーゲートT1,T2,T3のうち、入力a=0に対して一変数三値論理関数回路B2=(s,t,u)を出力するトランスファーゲートT2と、入力a=1に対して一変数三値論理関数回路B3=(x,y,z)を出力するトランスファーゲートT3とのそれぞれの役割を統合して1つのトランスファーゲートT23とする。なお、統合したトランスファーゲートT23は、トランスファーゲートT3、すなわち、トランスファーゲートT1と同一の回路である。そして、この三値論理関数回路においては、一変数三値論理関数回路C2,C3の論理和をとった一変数三値論理関数回路C23をトランスファーゲートT23の一方の制御端子C−T23に接続するとともに、一変数三値論理関数回路D2,D3の論理積をとった一変数三値論理関数回路D23を当該トランスファーゲートT23の他方の制御端子D−T23に接続する。ここで、一変数三値論理関数回路C23は、関数f09=(−1,1,1)として構成され、一変数三値論理関数回路D23は、関数f09と相補対称な関数f19=(1,−1,−1)として構成される。
また、この三値論理関数回路において、残りの一変数三値論理関数回路B1が接続されるトランスファーゲートT1の制御端子C−T1,D−T1に供給される制御信号は、それぞれ、(1,−1,−1)及び(−1,1,1)であるが、これらは、関数f19,f09に他ならない。そのため、この三値論理関数回路においては、トランスファーゲートT23の制御端子D−T23に入力される制御信号をトランスファーゲートT1の制御端子C−T1に入力するとともに、トランスファーゲートT23の制御端子C−T23に入力される制御信号をトランスファーゲートT1の制御端子D−T1に入力する。
このように、(s,t,u)=(x,y,z)である縮退した二変数三値論理演算を行う三値論理関数回路を構成することができる。
つぎに、上表1に示した二変数三値論理関数において、入力a=1に対する出力(x,y,z)と、入力a=−1に対する出力(p,q,r)とが等しいとき、すなわち、(x,y,z)=(p,q,r)であるとき、上表1は、次表21に示すようになる。
このような縮退した二変数三値論理演算を行う三値論理関数回路は、図33に示した構成を変形し、図37に示すように構成することができる。
すなわち、この三値論理関数回路においては、図33に示した3つのトランスファーゲートT1,T2,T3のうち、入力a=1に対して一変数三値論理関数回路B3=(x,y,z)を出力するトランスファーゲートT3と、入力a=−1に対して一変数三値論理関数回路B1=(p,q,r)を出力するトランスファーゲートT1とのそれぞれの役割を統合して1つのトランスファーゲートT31とする。なお、統合したトランスファーゲートT31は、トランスファーゲートT3、すなわち、トランスファーゲートT1と同一の回路である。そして、この三値論理関数回路においては、一変数三値論理関数回路C3,C1の論理和をとった一変数三値論理関数回路C31をトランスファーゲートT31の一方の制御端子C−T31に接続するとともに、一変数三値論理関数回路D3,D1の論理積をとった一変数三値論理関数回路D31を当該トランスファーゲートT31の他方の制御端子D−T31に接続する。ここで、一変数三値論理関数回路C31は、関数f21=(1,−1,1)として構成され、一変数三値論理関数回路D31は、関数f21と相補対称な関数f07=(−1,1,−1)として構成される。
また、この三値論理関数回路において、残りの一変数三値論理関数回路B2が接続されるトランスファーゲートT2については、先に図3(b)に示した直列のスイッチではなく、トランスファーゲートT3,T1を統合したトランスファーゲートT31と同一の回路でよい。これをトランスファーゲートT2’とすると、三値論理関数回路において、トランスファーゲートT2’の制御端子C−T2’,D−T2’に供給される制御信号は、それぞれ、(−1,1,−1)及び(1,−1,1)であるが、これらは、関数f07,f21に他ならない。そのため、この三値論理関数回路においては、トランスファーゲートT31の制御端子D−T31に入力される制御信号をトランスファーゲートT2’の制御端子C−T2’に入力するとともに、トランスファーゲートT31の制御端子C−T31に入力される制御信号をトランスファーゲートT2’の制御端子D−T2’に入力する。
このように、(x,y,z)=(p,q,r)である縮退した二変数三値論理演算を行う三値論理関数回路を構成することができる。
以上のような縮退した三値論理関数回路は、図38に示すように一般化して表現することができる。
まず、一方の入力bの論理値−1,0,1に応じて出力を得る3つの一変数三値論理関数回路B1,B2,B3のいずれか2つが同一である場合には、これら同一の一変数三値論理関数回路Bi,Bjを1つに統合して一変数三値論理関数回路Bijとし、残りの一変数三値論理関数回路をBkとする。
続いて、他方の入力aの論理値−1,0,1に応じて、導通状態になる3つのトランスファーゲートT1,T2,T3のうち、一変数三値論理関数回路Bi,Bjに接続するトランスファーゲートTi,Tjを1つに統合してトランスファーゲートTijとし、このトランスファーゲートTijを統合した一変数三値論理関数回路Bijと接続する。また、残りの一変数三値論理関数回路Bkに接続するトランスファーゲートをTkとし、トランスファーゲートTijの2つの制御端子をC−Tij,D−Tijとするとともに、トランスファーゲートTkの2つの制御端子をC−Tk,D−Tkとする。なお、このとき、トランスファーゲートTkがトランスファーゲートT2である場合には、トランスファーゲートT2’とするのはいうまでもない。
さらに、統合したトランスファーゲートTijの制御端子C−Tijに接続される一変数三値論理関数回路を、一変数三値論理関数回路Ci,Cjの論理和をとったCijとするとともに、制御端子D−Tijに接続される一変数三値論理関数回路を、一変数三値論理関数回路Di,Djの論理積をとったDijとする。
そして、残りのトランスファーゲートTkの一方の制御端子C−Tkを、一変数三値論理関数回路Dijの出力に接続するとともに、他方の制御端子D−Tkを、一変数三値論理関数回路Cijの出力に接続する。
このようにすることにより、図38に示すような一般化した縮退した三値論理関数回路を構成することができる。
なお、このような縮退した三値論理関数回路についても簡略化することができる。
すなわち、図38に示した構成において、入力bに接続される一変数三値論理関数回路Bij,Bkが相補対称な関係にあり、トランスファーゲートTijの制御端子T−Cij,T−Dijに接続される一変数三値論理関数回路Cij,Dijの出力が相補対称な関係にあることに着目すると、一変数三値論理関数回路Dij,Cijのいずれかの代わりに、一変数三値論理関数回路Cij,Dijのいずれかの反転回路を用いればよいことがわかる。したがって、縮退した三値論理関数回路は、図39又は図40に示すように簡略化することができる。
まず、一変数三値論理関数回路Cijを残す構成の場合には、図39に示すように、統合したトランスファーゲートTijの制御端子C−Tijに接続される一変数三値論理関数回路を、一変数三値論理関数回路Ci,Cjの論理和をとったCijとするとともに、制御端子D−Tijに接続される一変数三値論理関数回路を、一変数三値論理関数回路Cijの出力を反転するインバータD’ij(=f25)とする。
そして、残りのトランスファーゲートTkの一方の制御端子C−Tkを、インバータD’ijの出力に接続するとともに、他方の制御端子D−Tkを、一変数三値論理関数回路Cijの出力に接続する。
一方、一変数三値論理関数回路Dijを残す構成の場合には、図40に示すように、統合したトランスファーゲートTijの制御端子D−Tijに接続される一変数三値論理関数回路を、一変数三値論理関数回路Di,Djの論理積をとったDijとするとともに、制御端子C−Tijに接続される一変数三値論理関数回路を、一変数三値論理関数回路Dijの出力を反転するインバータC’’ij(=f25)とする。
そして、残りのトランスファーゲートTkの一方の制御端子C−Tkを、一変数三値論理関数回路Dijの出力に接続するとともに、他方の制御端子D−Tkを、インバータC’’ijの出力に接続する。
このように、縮退した三値論理関数回路を簡略化して構成することができる。
さて、以上のように、複数の一変数三値論理関数回路と3つのトランスファーゲートとを用いた全ての二変数三値論理関数を実現する三値論理関数回路の構成について説明したが、かかる三値論理関数回路は、n型MOSトランジスタ及びp型MOSトランジスタを双方とも用いながらも、立ち上がりスイッチング時間と立ち下がりスイッチング時間とを対称とする構成が可能である。以下、これについて説明する。
まず、実現しなければならない上述した17種類の一変数三値論理関数回路のうち、7種類の反転回路f10,f13,f19,f22,f23,f25,f26について説明する。
これらの反転回路は、三値インバータである関数f22を除き、いずれもn型MOSトランジスタとp型MOSトランジスタとのソース端子が、それぞれ、異なる2つのソース論理、すなわち、異なる2つの電源に接続されるとともに、ドレイン端子が結合されて出力端子となっており、二値のCMOSインバータと同様の構造をしている。
ここで、スイッチング時間の非対称性は、n型MOSトランジスタとp型MOSトランジスタとのキャリア移動度の差に起因することが知られている。二値のCMOSインバータにおいては、これらn型MOSトランジスタとp型MOSトランジスタとのキャリア移動度の差によるスイッチング時間の非対称性を補償するように、n型MOSトランジスタとp型MOSトランジスタとのそれぞれのチャンネルを形成するゲートの幅を調整し、n型MOSトランジスタとp型MOSトランジスタとの導通時の抵抗(オン抵抗)を等しくすることにより、立ち上がりのスイッチング時間と立ち下がりのスイッチング時間とを等しくすることが可能である。
そこで、三値論理関数回路においても、二値の場合と同様に、関数f22の三値インバータを除く反転回路について、n型MOSトランジスタとp型MOSトランジスタとのゲート幅を調整することにより、立ち上がりのスイッチング時間と立ち下がりのスイッチング時間とを等しくすることができる。
一方、関数f22の三値インバータにおいては、−1,+1の2つのソース論理値に加え、ソース論理値0に対して直列に接続されたディプリーション型のn型MOSトランジスタとp型MOSトランジスタとが存在する。このトランジスタは、出力端子が−1又は+1であるとき、0に引き込む作用を奏する。この立ち上がり又は立ち下がり時間は、直列に接続されたディプリーション型のn型MOSトランジスタとp型MOSトランジスタとのオン抵抗に依存するが、このオン抵抗は、n型MOSトランジスタとp型MOSトランジスタとのそれぞれのゲート幅を調整することにより、設計目標値にすることが可能である。したがって、三値論理関数回路においては、反転回路f22についても、ソース論理値1,−1に接続されたn型MOSトランジスタとp型MOSトランジスタとの立ち上がりのスイッチング時間と立ち下がりのスイッチング時間とを等しくすることができる。なお、MOSトランジスタのオン抵抗は、ゲート幅に反比例することから、三値論理関数回路においては、直列に接続されたディプリーション型のn型MOSトランジスタとp型MOSトランジスタのゲート幅を、通常のMOSトランジスタのゲート幅の2倍とすればよい。
つぎに、5種類の非反転回路f11,f12,f20,f21,f24、及びその相補対称回路f17,f16,f08,f07,f04の場合に関するスイッチング時間の非対称性の除去方法について説明する。
まず、非反転回路f11,f12,f20,f21,f24は、その構成により、非反転回路f11,f21,f24と、非反転回路f12,f20とに大別される。前者は、図41に示すように、ソース論理値Aに並列に接続された2つのp型MOSトランジスタP1,P2と、ソース論理値Bに直列に接続された2つのn型MOSトランジスタN1,N2とから構成される。一方、後者は、図42に示すように、ソース論理値Aに接続されたp型MOSトランジスタP1と、ソース論理値Cに接続されたp型MOSトランジスタP2と、ソース論理値Bに直列に接続された2つのn型MOSトランジスタN1,N2とから構成される。
図41に示す前者の構成からなる非反転回路f11,f21,f24において、並列に接続されたp型MOSトランジスタのうち一方のp型MOSトランジスタP2と、直列に接続されたn型MOSトランジスタのうち一方のn型MOSトランジスタN2は、それぞれ、入力bを反転する反転回路を介して得られた反転出力¬bによって駆動されるのに対して、他方のp型MOSトランジスタP1及びn型MOSトランジスタN1は、入力bによって直接駆動される。
ここで、直列に接続されたn型MOSトランジスタN1,N2においては、n型MOSトランジスタN1が入力bによって直接駆動されたとしても、反転出力¬bによって駆動されるn型MOSトランジスタN2が遅延してオン状態とされることから、オン状態となるタイミングは、n型MOSトランジスタN2によって決定されることになる。
一方、並列に接続されたp型MOSトランジスタP1,P2においては、p型MOSトランジスタP1が入力bによって直接駆動されることから、オン状態となるタイミングは、反転回路による遅延時間だけ早くなることになる。
したがって、非反転回路f11,f21,f24においては、入力(−1,0,1)に対する出力(X,Y,X)のうち、入力−1に対する出力Xが、他の入力0,1に対する出力Y,Xよりも、反転回路による遅延時間分だけ早くなる。
そこで、これら非反転回路f11,f21,f24においては、かかる出力の非対称性を除去するために、入力bによって直接駆動されるp型MOSトランジスタP1の応答速度を遅くする。具体的には、非反転回路f11,f21,f24においては、オン抵抗を大きくすればよい。ただし、非反転回路f11,f21,f24においては、他の回路に影響を与えないために、ゲート容量を一定に保つ必要がある。
ここで、オン抵抗は、ゲート長に比例し、且つゲート幅に反比例する。一方、ゲート容量は、ゲート面積、すなわち、ゲート長とゲート幅との積に比例する。
したがって、非反転回路f11,f21,f24においては、p型MOSトランジスタP1について、ゲート面積を一定に保つことを条件として、ゲート長を長くするとともに、ゲート幅を狭くするように構成する。
これにより、非反転回路f11,f21,f24においては、スイッチング時間の非対称性を解消することができる。なお、MOSトランジスタにおける消費電力は、ゲート容量に比例する。この点、非反転回路f11,f21,f24においては、p型MOSトランジスタP1のゲート長及びゲート幅を変化させた場合であっても、ゲート容量を一定に保つことから、消費電力に変化はない。
一方、図42に示す後者の構成からなる非反転回路f12,f20において、入力bによって直接駆動されるトランジスタは、ソース論理値Aに接続されたp型MOSトラジスタP1である。非反転回路f12,f20においては、このp型MOSトラジスタP1がオン状態となるタイミングが、入力bを反転する反転回路を介して得られた反転出力¬bによって駆動されるn型MOSトラジスタN2やp型MOSトラジスタP2に比べて、当該反転回路による遅延時間分だけ早くなる。
そこで、これら非反転回路f12,f20においては、かかる出力の非対称性を除去するために、上述したように、入力bによって直接駆動されるp型MOSトランジスタP1について、ゲート面積を一定に保つことを条件として、ゲート長を長くするとともに、ゲート幅を狭くするように構成し、その応答速度を遅くする。
これにより、非反転回路f12,f20においては、スイッチング時間の非対称性を解消することができる。なお、この非反転回路f12,f20においても、p型MOSトランジスタP1のゲート容量を一定に保つことから、消費電力に変化はない。
つぎに、非反転回路f11,f12,f20,f21,f24の相補対称回路f17,f16,f08,f07,f04の場合に関するスイッチング時間の非対称性の除去方法について説明する。
相補対称回路f17,f16,f08,f07,f04は、非反転回路f11,f12,f20,f21,f24と同様に、その構成により、相補対称回路f17,f07,f04と、相補対称回路f16,f08とに大別される。前者は、先に図41に示した非反転回路f11,f21,f24と同様であり、後者は、先に図42に示した非反転回路f12,f20と同様である。したがって、これら相補対称回路f17,f16,f08,f07,f04においては、非反転回路f11,f12,f20,f21,f24と同様の方法により、立ち上がりのスイッチング時間と立ち下がりのスイッチング時間との非対称性を除去することができる。なお、これら相補対称回路f17,f16,f08,f07,f04においても、p型MOSトランジスタP1のゲート容量を一定に保つことから、消費電力に変化はない。
以上のように、三値論理関数回路においては、n型MOSトランジスタ及びp型MOSトランジスタを双方とも用いながらも、立ち上がりスイッチング時間と立ち下がりスイッチング時間とを対称とすることができる。
ところで、三値論理関数回路においては、このようにして立ち上がりのスイッチング時間と立ち下がりスイッチング時間との非称性を除去することができるが、これら立ち上がりスイッチング時間と立ち下がりスイッチング時間とが等しくなった場合であっても、入力パターンの変化によって遅延時間の差異が生じる可能性がある。
しかしながら、三値論理関数回路においては、任意の入力パターンに対して、遅延時間を等しくすることが保証することができる。以下、その理由について説明する。
まず、先に図33に示した構成からなる三値論理関数回路について説明する。
この三値論理関数回路において、トランスファーゲートT1の制御端子C−T1及びトランスファーゲートT2の制御端子C−T2bを駆動する一変数三値論理関数回路C1、並びにトランスファーゲートT3の制御端子D−T3及びトランスファーゲートT2の制御端子D−T2bを駆動する一変数三値論理関数回路D3は、それぞれ、反転回路f19,f25である。これら反転回路f19,f25は、それぞれ、先に図12及び図15に示したように、1段のトランジスタの回路によって実現することができる。したがって、2段のトランジスタの回路を必要とする非反転回路やその相補対称回路よりも遅延時間が短い。
しかしながら、トランスファーゲートT1の制御端子D−T1及びトランスファーゲートT2の制御端子D−T2aを駆動する一変数三値論理関数回路D1、並びにトランスファーゲートT3の制御端子C−T3及びトランスファーゲートT2の制御端子C−T2aを駆動するC3は、それぞれ、非反転回路f09,f03であり、2段の反転回路、すなわち、2段のトランジスタによって構成されることから、反転回路よりも遅延時間が大きくなる。
結局、3つのトランスファーゲートT1,T2,T3が導通又は遮断されるタイミングは、遅延時間が大きな制御信号によって決定される。したがって、三値論理関数回路においては、これらトランスファーゲートT1,T2,T3を通過する信号の遅延時間が、入力パターンにかかわらず2段のトランジスタによって構成される回路から決定され、一定となる。
また、トランスファーゲートT1,T2,T3自身について考えると、トランスファーゲートT1,T3は、1段のパストランジスタのスイッチであるが、トランスファーゲートT2は、2段のパストランジスタのスイッチであり、一般には、2段のパストランジスタのスイッチのスイッチング時間の方が長くなる。
しかしながら、三値論理関数回路においては、各スイッチがオン状態となったときのオン抵抗を等しくしておけば、実効的にスイッチング時間の差をなくすことができる。なお、三値論理関数回路においては、各スイッチのオン抵抗を等しくするために、トランスファーゲートT1,T3のパストランジスタのゲート長を、標準のゲート長の2倍とすればよい。
つぎに、先に図34に示した簡略化した構成からなる三値論理関数回路について説明する。
図34に示した三値論理関数回路は、図33に示した三値論理関数回路における一変数三値論理関数回路D1の代わりに、一変数三値論理関数回路C1に反転回路f25を直列接続するとともに、一変数三値論理関数回路C3の代わりに、一変数三値論理関数回路D3に反転回路f25を直列接続したものであることから、一変数三値論理関数回路D1,C3から、その共通部分である一変数三値論理関数回路C1,D3の構成を括り出したものである。
このような三値論理関数回路における動作タイミングは、図33に示した三値論理関数回路と全く同様であり、3つのトランスファーゲートT1,T2,T3を通過する信号の遅延時間が、入力パターンにかかわらず2段のトランジスタによって構成される回路から決定され、一定となる。
以上説明したように、本発明の実施の形態として示す三値論理関数回路は、3つのトランスファーゲートT1,T2,T3と、これらトランスファーゲートT1,T2,T3を導通又は遮断する複数の一変数三値論理関数回路とを用いて構成される。このような三値論理関数回路における動作について、先に図33に示した構成を用いて説明すると、以下のようになる。
まず、三値論理関数回路においては、入力aが−1である場合には、一変数三値論理関数回路C1によって1を出力し、その信号と相補対称な出力を得る一変数三値論理関数回路D1によって−1を出力する。また、この三値論理関数回路においては、入力aが−1である場合には、一変数三値論理関数回路C3によって−1を出力し、その信号と相補対称な出力を得る一変数三値論理関数回路D3によって1を出力する。これら一変数三値論理関数回路C1の出力と一変数三値論理関数回路D1の出力は、トランスファーゲートT1を導通状態にする一方で、一変数三値論理関数回路C3の出力と一変数三値論理関数回路D3の出力は、トランスファーゲートT3を遮断状態にする。さらに、一変数三値論理関数回路C1の出力と一変数三値論理関数回路D3の出力は、トランスファーゲートT2を遮断状態にする。この結果、三値論理関数回路においては、トランスファーゲートT1のみが導通状態となり、入力bに接続される一変数三値論理関数回路B1=(p,q,r)の出力を選択する。
したがって、この三値論理関数回路の出力Yは、入力bの値−1,0,1に応じて、p,q,rとなる。
また、三値論理関数回路においては、入力aが0である場合には、一変数三値論理関数回路C1によって−1を出力し、その信号と相補対称な出力を得る一変数三値論理関数回路D1によって1を出力する。さらに、この三値論理関数回路においては、入力aが0である場合には、一変数三値論理関数回路C3によって−1を出力し、その信号と相補対称な出力を得る一変数三値論理関数回路D3によって1を出力する。これら一変数三値論理関数回路C1の出力と一変数三値論理関数回路D1の出力は、トランスファーゲートT1を遮断状態にし、また、一変数三値論理関数回路C3の出力と一変数三値論理関数回路D3の出力は、トランスファーゲートT3を遮断状態にする。さらにまた、三値論理関数回路においては、一変数三値論理関数回路D1の出力と一変数三値論理関数回路D3の出力とがともに1であり、一変数三値論理関数回路C1の出力と一変数三値論理関数回路C3の出力とがともに−1であることから、トランスファーゲートT2が導通状態となる。この結果、三値論理関数回路においては、トランスファーゲートT2のみが導通状態となり、入力bに接続される一変数三値論理関数回路B2=(s,t,u)の出力を選択する。
したがって、この三値論理関数回路の出力Yは、入力bの値−1,0,1に応じて、s,t,uとなる。
さらに、三値論理関数回路においては、入力aが1である場合には、一変数三値論理関数回路C1によって−1を出力し、その信号と相補対称な出力を得る一変数三値論理関数回路D1によって1を出力する。また、この三値論理関数回路においては、入力aが1である場合には、一変数三値論理関数回路C3によって1を出力し、その信号と相補対称な出力を得る一変数三値論理関数回路D3によって−1を出力する。これら一変数三値論理関数回路C1の出力と一変数三値論理関数回路D1の出力は、トランスファーゲートT1を遮断状態にする一方で、一変数三値論理関数回路C3の出力と一変数三値論理関数回路D3の出力は、トランスファーゲートT3を導通状態にする。さらに、一変数三値論理関数回路D1の出力と一変数三値論理関数回路C3の出力は、トランスファーゲートT2を遮断状態にする。この結果、三値論理関数回路においては、トランスファーゲートT3のみが導通状態となり、入力bに接続される一変数三値論理関数回路B3=(x,y,z)の出力を選択する。
したがって、この三値論理関数回路の出力Yは、入力bの値−1,0,1に応じて、x,y,zとなる。
これにより、三値論理関数回路においては、上表1に示した全ての二変数三値論理関数を実現可能であることが示された。
このように、三値論理関数回路においては、33^2=19683種類存在する全ての二変数三値論理関数回路を個別に実現する必要がなく、3つのトランスファーゲートT1,T2,T3と、その制御端子に接続される4種類の一変数三値論理関数回路f19,f09,f03,f25と、3つの任意の一変数三値論理関数B1,B2,B3とによって構成することができる。
ここで、3つのトランスファーゲートT1,T2,T3のうち、1つのトランスファーゲートT2は、パストランジスタを直列に接続し、これらパストランジスタのゲート端子に接続される4種類の一変数三値論理関数の出力との論理をとる。
また、任意の一変数三値論理関数回路は、上表8に示したように、27種類のうち、7種類の反転回路f10,f13,f19,f22,f23,f25,f26、5種類の非反転回路f11,f12,f20,f21,f24、及びこれらの相補対称回路f04,f07,f08,f16,f17の合計17種類のみを実現すればよい。
さらに、関数f02,f03,f05,f09,f15,f18は、それぞれ、関数f26,f13の直列接続、関数f25,f19の直列接続、関数f23,f13の直列接続、関数f19,f25の直列接続、関数f13,f23の直列接続、関数f10,f23の直列接続によって実現することができる。
なお、27種類の一変数三値論理関数回路のうち、関数f01は、恒等的に−1であり、関数f14は、恒等的に0であり、関数f27は、恒等的に1であり、関数f06は、入力がそのまま出力となることから、これら4種類については特に実現する必要がない。
以上のように、三値論理関数回路においては、全ての二変数三値論理関数を、3つのトランスファーゲートT1,T2,T3と、17種類の一変数三値論理関数回路とによって組織的に実現することができる。
これら17種類の一変数三値論理関数回路は、スイッチング動作時以外は、全てのトランジスタがオフ状態となり、電流が流れないことから、通常のCMOS二値論理関数回路と同様に、消費電力を極めて小さくすることができる。
なお、0.1μmCMOSテクノロジによる実現を仮定し、論理値1には0.3ボルトを対応させ、論理値0には0ボルトを対応させ、論理値−1には−0.3ボルトを対応させた場合におけるエンハンスメント型及びディプリーション型の各MOSトランジスタのチャンネルドープ量を求めると、次表22に示すようになった。
このように、上述した各MOSトランジスタは、現実に実現可能であり、三値論理関数回路を十分に実現することが可能である。
また、三値論理関数回路においては、全ての三値論理素子を一変数三値論理関数回路とトランスファーゲートとのみを用いて構成することができることから、立ち上がり及び立ち下がりのスイッチング時間の非対称性を著しく小さくすることができる。
実際に、このスイッチング時間の非対称性の除去効果について確かめるために、次表23に示す三値のXOR論理関数を実現するXOR論理関数回路を構成し、回路シミュレータによる実験を行った。
なお、本発明の実施の形態として示す三値論理関数回路を適用した三値のXOR論理関数回路は、図43に示すように構成される。すなわち、このXOR論理関数回路は、先に図33に示した回路における一変数三値論理関数回路C1として関数f19=(1,−1,−1)を用い、一変数三値論理関数回路D1として関数f09=(−1,1,1)を用い、一変数三値論理関数回路C3として関数f03=(−1,−1,1)を用い、一変数三値論理関数回路D3として関数f25=(1,1,−1)を用い、さらに、一変数三値論理関数回路B1として関数f20=(1,−1,0)を設けるとともに、一変数三値論理関数回路B3として関数f16=(0,1,−1)を設け、一変数三値論理関数回路B2を、入力がそのまま出力となる関数f06=(−1,0,1)とすることによって当該一変数三値論理関数回路B2は設けない構成とされる。
このような三値のXOR論理関数回路に対して、回路シミュレータによって図44(a)及び図44(b)に示すようなパターンからなる入力a,bを与えたときの出力波形を求めた。この結果、XOR論理関数回路の出力波形は、図44(c)に示すようになった。
この結果から明らかなように、本発明の実施の形態として示す三値論理関数回路によるXOR論理関数回路は、立ち上がり及び立ち下がり双方とも、スイッチング時間が略対称となり、従来のように、立ち上がり及び立ち下がり双方とも、スイッチング時間が大きく非対称となることがない。
このように、本発明の実施の形態として示す三値論理関数回路においては、立ち上がり及び立ち下がりのスイッチング時間の非対称性を著しく小さくすることができる。
なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述した実施の形態では、XOR論理関数回路に適用した例について説明したが、本発明は、加算回路等、これ以外の回路にも適用可能であることは勿論であり、いわゆる公開鍵暗号化を行うためのハードウェアや大規模乗算器等に適用して好適である。
このように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。