JP2002246894A - 論理関数機能再構成可能集積回路および再構成方法 - Google Patents

論理関数機能再構成可能集積回路および再構成方法

Info

Publication number
JP2002246894A
JP2002246894A JP2001039033A JP2001039033A JP2002246894A JP 2002246894 A JP2002246894 A JP 2002246894A JP 2001039033 A JP2001039033 A JP 2001039033A JP 2001039033 A JP2001039033 A JP 2001039033A JP 2002246894 A JP2002246894 A JP 2002246894A
Authority
JP
Japan
Prior art keywords
input
threshold
function
threshold element
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001039033A
Other languages
English (en)
Other versions
JP3555110B2 (ja
Inventor
Kazuo Aoyama
一生 青山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001039033A priority Critical patent/JP3555110B2/ja
Publication of JP2002246894A publication Critical patent/JP2002246894A/ja
Application granted granted Critical
Publication of JP3555110B2 publication Critical patent/JP3555110B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】 しきい素子を用いた再構成可能デバイスの可
変論理部において、使用する素子数を低減することがで
きる方法とその方法を実現する回路を提供することを目
的とするものである。 【解決手段】 任意の論理関数を実現するしきい素子回
路網であって、上記しきい素子を複数段結合する構造を
有し、論理関数機能を構成するデータとして、多値表現
されたデータを用いることを特徴とする論理関数機能再
構成可能集積回路である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、集積回路製造後で
あっても、論理関数機能を再構成することが可能である
集積回路に係り、特に、論理関数の再構成を可能にする
可変論理部として、しきい素子回路網を使用する集積回
路において、素子数の低減方法とその方法を実現する回
路の構成とに関するものである。
【0002】
【従来の技術】デバイス製造後に論理関数機能の書き換
えが可能であるFPGA(Field Programmable Gate Ar
ray)に代表される再構成可能デバイスを用いたリコン
フィギュラブルコンピューテイングシステム(RCS:
Reconfigurable Computing System)の研究開発が、文
献1「末吉敏則、Reconfigurable Computing Systemの
現状と課題−Computer Evolutionへ向けて−、信学技
報、VLD96−79,CPSY96−91,pp.1
11−118.1996−12」に示すように行われて
いる。
【0003】上記研究開発が進む様々なRCSにおい
て、論理関数機能の再構成を可能にしているデバイス部
分は、論理関数機能の可変性を実現する可変論理部とメ
モリ回路とを基本回路し、これらの基本回路の構成につ
いても、様々な提案がされている。
【0004】従来、再構成可能デバイスは、製品のプロ
トタイピングや多品種少量生産を必要とするASICの
代替品として、主に利用されている。この利用方法にお
いては、システムに組み込む前または、組み込んだ後
に、一度、必要となる機能を構成することで十分であ
る。
【0005】この要求に応える再構成可能デバイスの可
変論理部における基本デバイスとしては、真理値表をS
RAM(Static-RAM)等のメモリ回路に直接実装するL
UT(Look-Up Table)型、マルチプレクサのカスケー
ド接続構造と接続切り替え素子であるアンチフィーズと
を用いて論理関数を表現する方法を実装するマルチプレ
クサ(MUX、Multiplexer)型、論理関数をAND−
ORの論理和形(積和形)等で表現し、論理関数機能を
保持するEEPROM等を使用するPLA(Programabl
e Logic Array)型がある。
【0006】一方、可変論理部の性能と機能の向上とを
目的として、上記のデバイスとは異なるしきい素子を用
いた可変論理部も提案されている。
【0007】上記しきい素子を用いた可変論理部は、た
とえば、文献2「青山一生、澤田宏、名古屋彰、中島和
生、ニューロンMOSによる対称関数回路の設計手法、
信学技法、CPSY99−90,pp.49−56.1
999−11」、文献3「青山一生、澤田宏・名古屋彰
・ニューロンMOSによる論理関数回路の一設計手法、
第13回 回路とシステム(軽井沢)ワークショップ、
Apri1、2000」に記載されている。文献2と文
献3とには、ニューロンMOSインバータを用いた回路
レベルが記述されている。
【0008】ここでは、回路固有の特性ではなく、論理
関数機能の可変性に焦点を当てるために、ニューロンM
OSインバータを、否定出力型しきい素子とみなし、ニ
ューロンMOSインバータを用いた可変論理部に関する
従来技術を、論理素子レベルで説明する。
【0009】図17は、2段論理フィードフォワード回
路を示す図である。
【0010】上記文献2では、対称関数機能を持つ可変
論理部を、図17に示す2段論理フィードフォワード回
路を用いて、自動設計する手法について記載している。
【0011】対称関数とは、入力変数の任意の置換に対
して、出力値が不変である論理関数であり、算術演算や
論理演算を行なう回路において多用されている。たとえ
ば、AND、OR、NAND、NOR、Exclusi
ve−OR(XOR)、Exclusive−NOR
(XNOR)は、全て対称関数である。
【0012】ここでは、図17に示す2段論理フィード
フォワード回路が、対称関数機能を実現することを、1
段目のしきい素子の動作と、2段目のしきい素子の動作
とを用いて、説明する。
【0013】図17に示すような否定出力型しきい素子
を用いた回路に、論理的に「1」または「0」をとる入
力変数X1〜Xkが入力され、各入力変数に掛けられる重
みを1とする。さらに、
【0014】
【数1】
【0015】が入力状態数ξであると定義する。
【0016】また、1段目の(k+1)個の否定出力型
しきい素子の「入力閾値」thi、(1≦i≦k+1)
を、制御変数cfgiによって、{i−(3/2)、i
−(1/2)}のいずれか一方を選択できるとする。
【0017】ここでは、cfgiが論理的1であるとき
に、小さい値、すなわちthi=i−(3/2)であ
り、cfgiが論理的0であるときに、大きい値、thi
=i−(1/2)である。
【0018】ここで用いた「入力閾値」は、入力変数と
その重みとの積和値からみた閾値のことである。たとえ
ば、入力変数以外に重み1を持つ1つの制御変数cfg
iが、しきい素子に入力されている場合、このしきい素
子の全ての入力値と重みとの積和値Sumは、次の式
(1)、式(2)で表される。
【0019】
【数2】
【0020】上記積和値Sumが大小比較され、出力値
が決定される場合における比較対象の値を、閾値と呼
び、(Sum−cfgi)の比較対象の値を、「入力閾
値」と呼ぶ。したがって、入力閾値は、制御変数の値に
よって変化する。
【0021】上記入力閾値を持つ場合、1段目のi番目
の否定出力型しきい素子の出力Yiは、式(3)にな
る。
【0022】
【数3】
【0023】2段目の1つの否定出力型しきい素子の閾
値は、th=k+(1/2)に設定され、しきい素子に
入力される値に対する重みwは、1に設定されている。
【0024】図18は、2段目の否定出力型しきい素子
の入力状態数に対する入力の和の関係を表す図である。
【0025】図18において、その横軸は、入力状態数
であるξを示し、その縦軸は、入力変数と重みとの積
【0026】
【数4】
【0027】と、1段目の否定出力型しきい素子の出力
値と重みとの積と
【0028】
【数5】
【0029】の和を表している。
【0030】2段目の否定出力型しきい素子は、縦軸の
値を、閾値であるk+(1/2)と比較し、その大小関
係に応じて出力する。
【0031】図18中、白抜き丸印(○)は、Y(ξ+1)
=0である場合、すなわち、図17における、cfg(
ξ+1)=1である場合を表し、塗りつぶし丸印(●)
は、Y(ξ+1)=1である場合、すなわち、cfg(ξ+1)
=0である場合を表す。
【0032】図18より、図17中2段目の否定出力型
しきい素子は、○印である場合、入力の和が閾値よりも
小さいので、論理的1を出力し、●印である場合、入力
の和が閾値より大きいので、論理的0を出力する。
【0033】入力状態数がξであるときにおける入出力
関係式は、式(4)になる。ただし、2段目の否定出力
型しきい素子の出力値をZとした。
【0034】
【数6】
【0035】式(4)から判るように、図17の回路で
は、ある1つの入力状態数に、ある1つの1段目の否定
出力型しきい素子の出力値を対応させ、取り得る2つの
出力値(1,0)を、その否定出力型しきい素子に入力
される1つの制御変数によって選択可能にすることによ
り、ある入力状態数のときに、論理的1または論理的0
を選択的に出力できるようにしている。ある入力状態数
において選択的に出力値を決定できることは、任意の対
称関数を実現できることを意味している。
【0036】この回路と方法とを用いる場合、入力状態
数と、1段目の否定出力型しきい素子の数とを一致させ
る必要がある。したがって、任意のk入力変数対称関数
を実現するためには、入力状態数と等しい(k+1)の
否定出力型しきい素子が、1段目に必要である。
【0037】一方、上記文献3には、否定出力型しきい
素子を用いて、任意の論理関数を実現するための2通り
の回路構成と方法とが記載されている。
【0038】まず、論理関数を実現するには、対称関数
の場合と異なり、入力変数の置換に対して、異なる出力
値を与えられることが必要であり、このためには、入力
状態として、対称関数を実現する際に用いた入力変数中
の論理的1である変数の数である入力状態数ではなく、
入力ベクトルを用いる必要があると述べられている。
【0039】入力ベクトルをしきい素子の入力状態とし
て用いる典型的な方法として、入力変数に対する重みw
として、2のべき乗を用いる方法が示されている。この
ときに、入力状態数は、論理関数用に新たに式(5)の
ように定義し直され、k入力変数論理関数の入力状態数
は、0〜2k-1である2k個の整数となる。
【0040】
【数7】
【0041】論理関数を実現する第1の方法は、上記任
意の対称関数を実現する場合と同様の方法で、1段目
に、入力状態数の数と同数である2k個の否定出力型し
きい素子を用い、そのそれぞれの出力値に、各入力状態
数であるときにおける2段目の否定出力型しきい素子の
出力値を対応させる方法である。
【0042】上記第1の方法は、入力変数の数に応じて
指数関数的に増加する2k個の否定出力型しきい素子
を、1段目に必要とする。
【0043】図19は、論理関数を実現する第2の方法
を実現する回路構成を示す図である。
【0044】この第2の方法が、上記第1の方法と異な
る点は、(1)1段目の否定出力型しきい素子として、
1つの制御信号によって、2つの入力閾値から1つの入
力閾値を選択できる否定出力型しきい素子のみならず、
2つの制御信号によって、4つの入力閾値から1つの入
力閾値を選択できる否定出力型しきい素子を用いた点、
(2)1段目の否定出力型しきい素子の出力に乗算され
る重みwyiとして、異なる値である{1,2}のどちら
かを用いることができる点、である。
【0045】これらの点によって、連続する4つの入力
状態数を、3つの否定出力型しきい素子の出力値に対応
付けることが可能になり・任意のk入力変数論理関数を
実現する際に、1段目の否定出力型しきい素子として、
(3/4)・2k個の素子が必要になる。
【0046】上記従来例では、k入力変数の任意の対称
関数を実現するには、2段論理フィードフォワード型回
路構成の1段目の否定出力型しきい素子を、(k+1)
個必要であり、任意の論理関数を実現するには、少くと
も(3/4)・2k個が必要である。
【0047】回路規模の低減のためには、任意の対称関
数と、任意の論理関数とを実現する際に使用する否定出
力型しきい素子の数をできる限り少くする方法が望まれ
ている。
【0048】
【発明が解決しようとする課題】従来の否定出力型しき
い素子用いた2段論理フィードフォワード回路による可
変論理部では、任意の対称関数を実現する際に、1段目
に(k+1)個の否定出力型しきい素子が必要であり、
論理関数を実現する際には、1段目に少なくとも(3/
4)・2k個の否定出力型しきい素子が必要である。
【0049】本発明は、しきい素子を用いた再構成可能
デバイスの可変論理部において、使用する素子数を低減
することができる方法とその方法を実現する回路を提供
することを目的とするものである。
【0050】
【課題を解決するための手段】本発明は、しきい素子回
路網に入力される入力ベクトルの1次元表示である入力
状態数について、3つの入力状態数を1つのグループと
し、各グループのそれぞれの入力状態数であるときにお
けるしきい素子回路網の出力値と、2つのしきい素子の
出力値とを対応付け、上記2つのしきい素子の出力値を
上記しきい素子に入力する多値表現された関数機能構成
データによって制御することによって、しきい素子回路
網におけるしきい素子数を低減するものである。
【0051】従来技術である任意のk入力変数対称関数
を実現する場合と、任意のk入力変数論理関数を実現す
る場合とについて、一般的である2段論理しきい素子回
路網を用いて説明する。
【0052】任意のk入力変数対称関数を実現する場
合、各入力状態数であるときにおける出力値と、2段論
理回路の1段目の1つのしきい素子の出力値とを対応付
けるので、入力状態数である(k+1)個のしきい素子
が、1段目に必要であり、2段目のしきい素子をも含め
ると、少なくとも(k+2)個のしきい素子が必要であ
る。
【0053】任意のk入力変数論理関数を実現する場
合、上記任意の対称関数を実現する方法と同じ方法を採
用すると、1段目のしきい素子として、入力状態数と同
数の2 k個のしきい素子が必要になり、2段目のしきい
素子をも含めると、少なくとも(2k+1)個のしきい
素子が必要である。
【0054】また、入力状態数をグループ化する方法と
して、入力状態数が2のべき乗であるので、4=22
の入力状態数を1つのグループとし、各グループのそれ
ぞれの入力状態数であるときにおけるしきい素子回路網
の出力値と、1段目の3つのしきい素子の出力値とを対
応付け、しきい素子数を、(2k・3/4+1)個に低
減する方法が提案されている。
【0055】本発明は、入力状態数をグループ化する際
に、3つの入力状態数を1つのグループにし、余りの発
生を許容するものである。このようにしたので、本発明
は、任意の数の入力状態数に適用することができる。
【0056】
【発明の実施の形態および実施例】[アウトライン]本
発明は、しきい素子回路網を用いた論理関数機能再構成
可能デバイスに関して、任意の論理関数、または、任意
の対称関数を実現する際に必要となるしきい素子数を低
減する回路である。
【0057】本発明の第1の実施例は、任意の論理関数
を実現する際に、素子数を低減する実施例であり、本発
明の第2の実施例は、任意の対称関数を実現する際に、
素子数を低減する実施例であり、第1、2の実施例とも
に、しきい素子を用いた論理レベルで説明する。本発明
の第3の実施例は、回路レベルで説明し、具体的な回路
例を挙げる。
【0058】以下の説明では、int[x/y]は、実
数x,y(y≠0)によるx/yの整数部分であり、m
od[x/y]は、実数x,y(y≠0)によるx/y
の余りの整数である。なお、0≦mod[x/y]<y
である。
【0059】[第1の実施例]第1の実施例は、任意の
論理関数を実現する回路において、複数ビットによる多
値表現を用い、しきい素子数を低減する方法と回路構成
である。
【0060】従来方法は、約2k個または約(3/4)
・2k個のしきい素子を必要とする。第1の実施例は、
必要なしきい素子数を、約(2/3)・2k個に低減す
ることができ、正確には、必要なしきい素子数を、in
t[(2/3)・2k]+mod[2k/3]+1個に低
減することができる。
【0061】[第2の実施例]第2の実施例は、任意の
対称関数を実現する回路において、複数ビットによる多
値表現を用い、しきい素子数を低減する方法と回路構成
である。
【0062】従来方法は、(k+2)個のしきい素子を
必要とする。第2の実施例は、必要なしきい素子数を、
約(2/3)・(k+1)個に低減し、正確には、in
t[(2/3)・(k+1)]+mod[(k+1)/
3]+1個に低減する。
【0063】[第3の実施例]」第3の実施例は、しき
い素子の実装対象と、実回路レベルにおいて任意の論理
関数とを、int[(2/3)・2k]+mod[2k
3]+1個のしきい素子によって実現する回路である。
この回路は、第2の実施例を参照することによって、任
意の対称関数にも適用可能なように変更できる。
【0064】第3の実施例におけるしきい素子の具体的
な実装対象は、複数の入力ゲート(信号が入力される端
子)と、過渡的に電気的絶縁状態にすることが可能な端
子とが、容量を介して直列接続され、上記電気的絶縁状
態にすることが可能な端子の電位を入力値とする非線形
素子によって構成されるしきい素子(たとえば、ニュー
ロンMOSインバータ)である。
【0065】上記実施例では、任意の論理関数または任
意の対称関数を実現するために、制御変数の多値表現を
行い、素子数を低減している。
【0066】多値の表現方法として、多ビット化(第2
の実施例であり、これは空間上に分散された2値信号の
組合せによって多値を表現したとも言える)、多電位を
用いて信号の振幅上に多値を表現する方法や、Pulse Wi
dth Modulation(PWM)を用い、2値信号を時間軸上
に分散し、多値を表現する方法でも、上記と同様の効果
を得ることができる。
【0067】また、時間軸上での展開は、PWMのみな
らず、Pulse Density Moduration(PDM)を使った場
合も、上記と同様である。
【0068】[第1の実施例] [k入力変数論理関数を実現するための回路構成に対す
る要求]k入力変数論理関数を実現するためには、k個
の入力変数で構成される2k個の入力ベクトルが、しき
い素子の入力としてみたときに、互いに異なることが必
要であり、かつ、互いに区別された各入力ベクトルに対
する出力値として、論理的「1」または「0」を選択的
に与えることが可能であることが必要である。上記2つ
の要請を満たすときに、k入力変数によって構成される
k個の入力ベクトルに対する2q個(ただし、q=
k、つまり、2の2のk乗個、たとえばk=3であれ
ば28=256個)の論理関数を実現することができ
る。
【0069】しきい素子上で、2k個の入力ベクトルを
互いに区別する(入力ベクトルを識別可能にする)ため
に、各入力変数に対して異なる重みを用いる。
【0070】たとえば、入力ベクトル{X1,X2,…,
i,…,Xk}に対する重みを{w x1,wx2,…,
xi,…,wxk}とすると、wxi=2i-1とすることに
よって、入力ベクトルは識別可能になる。このときに、
入力変数と重みとの積和値
【0071】
【数8】
【0072】は、式(6)を満たす整数値であり、この
積和値を、入力状態数(ξ)と呼ぶ。
【0073】
【数9】
【0074】入力ベクトルを識別可能にする方法は、w
xi=2i-1とする方法だけに限定されない。たとえば、
xi=αi-1、(α>2)とする方法でもよい。しか
し、上記実施例においては、簡単化のために、wxi=2
i-1を用いる。
【0075】[任意の論理関数を実現する回路の一般的
構成]図1は、本発明の第1の実施例である集積回路
(論理関数機能再構成可能集積回路100)の構成を示
すブロック図である。
【0076】集積回路100は、k入力変数の任意の論
理関数を、{int[(2/3)・2k]+mod[2k
/3]}+1個の否定出力型しきい素子(以下、これを
「しきい素子」という)によって実現する2段論理フィ
ードフォワード型回路である。
【0077】集積回路100は、1段目のn={int
[(2/3)・2k]+mod[2k/3]}個のしきい
素子THG1〜THGnと、2段目の1つのしきい素子
THG0とによって構成されている。ただし、int
(2/3)・2kは、(2/3)・2kの整数部分を表
し、mod[2k/3]は、2k/3の余りの整数を表
す。
【0078】図19に示す従来の2段論理フィードフォ
ワード回路では、連続する4つの入力状態数に、3つの
1段目のしきい素子の出力を対応付けることによって、
任意のk入力変数論理関数を、(3/4)・2k+1個
のしきい素子数を用いて実現できる。
【0079】一方、上記第1の実施例では、連続する3
つの入力状態数に、2つの1段目のしきい素子の出力を
対応付けることによって、任意の論理関数を実現する。
k入力変数の入力状態数の個数は、2kであり、3つの
入力状態数を1つのグループにした場合、必ず余りが出
る。
【0080】上記実施例は、余りが存在することを許容
する方法である。この余りの入力状態数mod[2k
3]に対して、それぞれ1段目のしきい素子の出力を対
応付ける。このために、上記実施例におけるしきい素子
数は、1段目のしきい素子数int[(2/3)・
k]+mod[2k/3]に、2段目のしきい素子数1
を加えた値になる。しきい素子数は、mod[2k
3]が1または2であるので、k≦3では、従来方法と
同数であるが、k≧4では、上記実施例の方法によっ
て、しきい素子数を低減することができる。
【0081】次に、各しきい素子の持つ特徴である入力
と、「入力閾値」と、出力とについて一般的な部分につ
いて説明する。
【0082】ここで、「閾値」と「入力閾値」とは、従
来技術で説明したのと同じ定義で用いる。1段目のしき
い素子は、全ての入力変数と、入力閾値を制御するため
の制御変数とを入力とする。入力変数に乗算される重み
については、上記の通り、入力ベクトルを識別可能なよ
うに設定される。1段目のしきい素子には、2つの入力
閾値から1つの入力閾値を選択できるものと、4つの入
力閾値から1つの入力閾値を選択できるものとの2つの
種類がある。
【0083】また、2つの種類のしきい素子は共に、1
つの閾値を持つ否定出力型しきい素子であるので、入力
の積和値が入力閾値を越えるまでは、論理的「1」を出
力し、一旦入力閾値を越えると、論理的「0」を出力
し、再び「1」を出力することはないという特徴を持
つ。2段目のしきい素子は、全ての入力変数と、1段目
の全てのしきい素子からの出力値とを入力とする。閾値
は、予め決められた1つの値である。
【0084】次に、上記実施例における具体的回路構成
を説明する前に、回路構成を分類する。
【0085】1段目のしきい素子数におけるmod[2
k/3]は、1または2であるので、集積回路100の
具体的構成は、図2に示すmod[2k/3]=1であ
る場合と、図3に示すmod[2k/3]=2である場
合との2通りに分類される。
【0086】[mod[2k/3]=1の場合:A]図
2は、mod[2k/3]=1である場合における回路
構成を示す図である。
【0087】まず、初めに1段目のしきい素子の構成に
ついて述べ、次に、その動作について説明する。
【0088】1段目の全てのしきい素子の出力値と全て
の入力変数とを入力とする2段目のしきい素子の構成を
示し、最後に、2段目のしきい素子の動作に着目し、任
意の論理関数を実現できることについて説明する。
【0089】[A:1段目のしきい素子の構成]今、m
od[2k/3]=1であるから、2k−1=3・mとな
る整数mが存在する。入力状態数ξに関して、値の小さ
い順に連続する3つの入力状態数を1組にすると、ξ
は、m個の組と1つの入力状態数とに分けられる。連続
する3つの入力状態数のそれぞれにおいて、集積回路1
00の出力値として論理的「1」または「0」を、2つ
の1段目のしきい素子の出力値によって選択できるとき
に、m個の組の入力状態数に対応付けられるしきい素子
数は、2・m個になる。
【0090】一方、1つの入力状態数における集積回路
100の出力値として、「1」と「0」とを選択できる
ように、1つのしきい素子の出力値を対応付ける。この
ときに、1段目のしきい素子数は、(2m+1)個にな
る。今、1段目のしきい素子を番号付けし、THG1
THG2,…,THG(2j-1),THG(2j),…,THG
(2m+1)、(1≦j≦m)とする。
【0091】図4は、k入力変数論理関数を実現する回
路における1段目のしきい素子THG(2j-1)を表す図で
ある。
【0092】THG(2j)も、THG(2j-1)と同じ構成で
ある。THG(2j-1)には、全ての入力変数X1〜Xkと、
制御変数cfg(2j-1)1、cfg(2j-1)2とが入力され
る。また、入力値に乗算される重みは、入力変数Xi
対して、wxi=2i-1であり、制御変数cfg(2j-1)1
対する重みwc(2j-1)1を、wc(2j-1)1=2とし、cfg
( 2j-1)2に対する重みwc(2j-1)2を、wc(2j-1)2=1と
する。また、閾値th(2j- 1)は、th(2j-1)=(3j−
1/2)であるとする。なお、出力値は、Y(2j-1)で表
される。
【0093】図5は、1段目のしきい素子THG(2m+1)
を表す図である。
【0094】しきい素子THG(2j-1)と同じく、全ての
入力変数を入力とし、それぞれに対する重みも同じであ
る。しかし、制御変数が、cfg(2m+1)1だけである点
が、異なる。また、制御変数cfg(2m+1)1に対する重
みwc(2m+1)1は、wc(2m+1)1=1である。閾値th
(2m+1)は、th(2m+1)=(3m+1/2)に設定され、
出力値は、Y(2m+1)で表される。
【0095】[A:1段目のしきい素子の動作]次に、
THG(2j-1)とTHG(2m+1)との動作について順に説明
する。
【0096】図4で示したTHG(2j-1)に関して、入力
状態数ξをSumxと表現し直すと、全ての入力と、重
みの積和値Sumと、Sumxとの関係は、式(8)と
なる。
【0097】
【数10】
【0098】式(8)において、(3j−7/2)<S
umx<(3j−1/2)の場合は、cfg(2j-1)1
cfg(2j-1)2との値に依存して出力値が決まる。
【0099】ここで、式(8)の関係を、j=1を具体
例として説明する。
【0100】図6は、入力状態数SumxとSumとの
関係を表す図である。
【0101】縦軸のSumは、全ての入力が論理的
「0」であるときの値である「0」と、全ての入力が論
理的「1」であるときの値である「2k+2」との間の
値を取る。閾値th1は、(2+1/2)であるので、
Sumxが3以上の領域B1においては、式(8)に示
すように、Sumx>(2+1/2)を満たし、制御変
数の値に依存せず、Sumは、常に閾値を越え、出力値
は、Y1=0となる。
【0102】一方、Sumx=0、1、2である領域A
1では、制御変数の値に依存して、Sumと閾値との関
係は異なる。
【0103】Sumx=0である場合は、cfg11とc
fg12との値が共に1である場合に、Sumは閾値を越
え、Sumx=1である場合は、cfg11の値が1であ
れば、Sum閾値を越え、Sumx=2の場合は、cf
11とcfg12との少なくとも一方が1であれば、Su
mは閾値を越える。各入力状態数のときの2つの制御変
数cfg11、cfg12の値と、Sumおよび出力値Y1
との関係を、図20にまとめてある。
【0104】図7は、図20に示す関係中の入力状態数
Sumxと出力値Y1との関係を示す図である。
【0105】領域B1では、Sumが閾値よりも大きい
ので、常に論理的「0」出力になる。一方、領域A1で
は、図20に示すように、4つの場合を取ることができ
る。
【0106】図20中の#4は、図7の「a」に対応す
る。すなわち、制御変数の値の和だけで閾値を越えてい
るので、如何なる入力状態数であっても、閾値を越える
ため、出力値が0になる。図20の#3は、「b」に対
応し、#2は、「c」に対応し、#1は、「d」に対応
する。
【0107】上記のように、j=1である場合における
しきい素子THG1は、4つの異なる場合を持つ。つま
り、入力状態数Sumxが0以上で出力値が0になる場
合と、Sumx=1で始めて出力値が0になる場合と、
Sumx=2で始めて出力値が0になる場合と、Sum
x=3で始めて出力値が0になる場合との4つの異なる
場合を持つ。
【0108】式(8)から判るように、上記具体的な例
は、THG(2j-1)、THG(2j)の場合に容易に拡張でき
る。THG(2j-1)とTHG(2j)とについても、上記と同
様に、始めて0を出力する入力状態数が4通り存在す
る。
【0109】次に、図5に示すTHG(2m+1)の動作につ
いて、説明する。
【0110】THG(2j-1)の場合と同じく、全ての入力
変数と、重みwc(2m+1)1=1が乗算された制御変数cf
(2m+1)1とが入力であり、閾値th(2m+1)が、th
(2m+1)=(3m+1/2)=(2k−1/2)に設定さ
れている。
【0111】k入力変数である場合、入力状態数Sum
xの最大値は、2k-1であるので、全ての入力変数が論
理的「1」であっても、Sumxだけでは閾値を越えな
い。制御変数cfg(2m+1)1が論理的「1」であるとき
に、初めてSumは、閾値を越える。Y(2m+1)とSum
との関係は、式(9)で表される。
【0112】
【数11】
【0113】以上、しきい素子THG(2m+1)の出力値Y
(2m+1)は、入力状態数(2k−1)において、cfg
(2m+1)1の値に依存し、論理的「1」、「0」のいずれ
か一方を選択的に取ることを説明した。
【0114】[A:12段目のしきい素子の構成]次
に、2段目のしきい素子THG0の入力と閾値と出力と
について説明する。
【0115】図2に示すように、THG0には、全ての
入力変数と、全ての1段目のしきい素子の出力値とが入
力される。入力変数の重みwxiを、wxi=2i-1とす
る。一方、1段目のしきい素子THG(2j-1)の出力値Y
(2j-1)の重み、THG(2j)の出力値Y(2j)の重み、TH
(2m+1)の出力値Yの重みを、それぞれwy(2j-1)、wy
(2j)、wy(2m+1)としたときに、wy(2j-1)=2、w
y(2j)=1、wy(2m+1)=1のように設定する。このとき
に、THG0に入力される値と、重みの積和値Sumと
は、入力状態数をSumxとし、1段目のしきい素子の
出力値と重みとの積和値をSumyとし、出力値が、制
御変数とは無関係に論理的1または0を取ることができ
ると仮定すると、式(10)に示すように、0以上(2
k+1−1)以下の整数値となる。
【0116】
【数12】
【0117】ここで、2段目のしきい素子THG0の閾
値を、Sumの取り得る値の最大値である(2k+1
1)の(1/2)である(2k−(1/2))と設定す
る。
【0118】[A:2段目のしきい素子を用いた任意の
論理関数実現の説明]次に、図2に示す回路構成の2段
目のしきい素子THG0の動作を説明し、最後に、任意
の論理関数を実現できることについて説明する。
【0119】図8は、2段目のしきい素子THG0にお
いて、入力される入力変数X1〜Xkと、重みwx1〜wxk
との積和値である入力状態数Sumxに対する全ての入
力値に対する積和値(Sum=Sumx+Sumy)の
関係を示す図である。
【0120】入力状態数の小さい順に、3つの連続する
入力状態数、たとえば、j=1に対応するSumx=
0、1、2に注目する。
【0121】上記のように、1段目のしきい素子は、選
択された1つの入力閾値を持つ否定出力のしきい関数を
実現する素子であるので、一度論理的「0」を出力した
しきい素子の出力値を、再び論理的「1」を出力するよ
うに設定することができない。ここで、この特徴を有す
るしきい素子が、論理的「0」を出力する最も小さい入
力状態数を、「0出力状態数」と定義する。このとき
に、1段目のしきい素子THG1とTHG2とを除く全て
のしきい素子の閾値は、3よりも大きくなるので、0出
力状態数は3以上である。
【0122】このために、入力状態数Sumxが0、
1、2である場合、THG1、THG2を除く、全ての1
段目のしきい素子は、論理的「1」を出力する。したが
って、2段目のしきい素子THG0の入力の積和値の中
で、1段目のしきい素子の出力による積和値Sumy
は、式(14)によって表され、全ての入力の積和値S
umは、式(15)で表される。また、式(15)は、
図8中の閾値近傍の階段型の実線で表されている。
【0123】
【数13】
【0124】Sumは、THG0の閾値である(2k−1
/2)と大小比較され、出力値が決定される。Sumと
(2k−1/2)との差を、ΔSumとすると、ΔSu
mは、式(16)で表される。
【0125】
【数14】
【0126】今、ΔSum>0である場合を、ΔSum
の論理値が「1」であると呼び、逆に、ΔSum<0で
ある場合を、論理値が「0」であると呼ぶ。ΔSumの
論理値が1であるときに、THG0の出力値Zは、Z=
0になり、ΔSumの論理値が0であるときに、Z=1
になる。式(16)から、ΔSumの論理値を制御する
のは、Y1とY2との値であることが判る。
【0127】ここで、Y1、Y2と、入力状態数Sumx
との関係について説明する。
【0128】上記のように、1段目のしきい素子THG
1とTHG2と0出力状態数は、0より小と、0と1との
間と、1と2との間と、2と3との間との4つの区間の
うちのいずれか1つに設定されることができる。
【0129】図21は、3つの入力状態数0、1、2を
1組とした場合に実現できる8つのΔSumの状態を、
2つのしきい素子の出力値Y1、Y2を制御することによ
って実現する方法を示す図である。
【0130】図21において、Y1の0出力状態数が0
である場合は、式(16)におけるSumx=0、1、
2の3つの入力状態数の全てにおいて、Y1=0にな
り、Y1の0出力状態数が2である場合は、Sumx=
0、1であれば、Y1=1であり、Sumx=2であれ
ば、Y1=0になることを意味している。他の場合も、
これから類推できる。
【0131】次に、図21の#5を用いてTHG0の動
作の具体例を示す。
【0132】図9は、図21の#5の場合を示す図であ
る。
【0133】Y1の0出力状態数が1であり、Y2の0出
力状態数が2であるので、Sumx=0では、Y1=Y2
=1であり、式(16)から、ΔSum=1/2>0に
なり、ΔSumの論理値は1になる。
【0134】Sumx=1では、Y1=0、Y2=1であ
り、ΔSum=−1/2<0になり、ΔSumの論理値
は0になる。Sumx=2では、Y1=0、Y2=0であ
り、ΔSum=−1/2<0になり、ΔSumの論理値
は0になる。
【0135】このように、入力状態数Sumx=0、
1、2であるときのΔSumの論理値(1,0,0)を
実現することができる。また、これは、THG0の出力
値が、Sumx=0、1、2に対して、(0,1,1)
であることを意味している。図21で示した8つの状態
は、3入力変数に対する任意の論理関数に対応している
とも言える。
【0136】次に、上記j=1である場合の説明を、j
=hとして一般化する。
【0137】式(18)の連続する3つの入力状態数S
umxに対して、上記説明と同様に、2つの1段目のし
きい素子の出力Y(2h-1)とY(2h)との値によって、選択
的に任意のΔSumの論理値を設定できることについ
て、説明する。
【0138】 3・(h−1)≦Sumx<3・h 1≦h≦m ……式(17) このSumxの領域では、1段目のしきい素子THG
(2h-1)とTHG(2h)との2つの出力値Y(2h-1)、Y(2h)
だけが、制御変数に依存し、他のしきい素子の出力値
は、制御変数とは独立に決まることを示す。
【0139】上記のように、THG(2h-1)とTHG(2h)
との閾値は、それぞれth(2h-1)=(3h−1/2)、
th(2h)=(3h−1/2)である。このために、TH
(2 h-1)とTHG(2h)とに対する入力を、それぞれSu
(2h-1)とSum(2h)にすると、式(7)と同じく、式
(18)、式(19)で表される。
【0140】 Sum(2h-1)=2・cfg(2h-1)+cfg(2h-1)+Sumx …式(18) Sum(2h)=2・cfg(2h)1+cfg(2h)2+Sumx …式(19) 0≦2・cfg(2h-1)+cfg(2h-1)≦3であるので、
式(18)の領域のSumxに対して、(Sum(2h-1)
−th(2h-1))は、cfg(2h-1)とcfg(2h)との値に
依存し、正の値、負の値のいずれか一方を選択的に取る
ことが可能である。これは、Sumxがこの領域にある
ときに、THG(2h-1)の出力値Y(2h-1)を制御変数の値
に依存し、論理的1、0のいずれか一方にすることがで
きることを意味する。また、Sum(2h)−th(2h)に対
しても、これと同じことが言える。
【0141】一方、j<hのしきい素子THG(2j-1)
THG(2j)に対する入力は、Sumxが、式(18)の
領域では、Sumx自身が閾値よりも大きいので、制御
変数が如何なる値であっても、出力値は常に論理的0で
ある。逆に、j>hのしきい素子では、Sumxが式
(18)の領域では、制御変数が如何なる値であって
も、閾値を越えることがないので、出力値は、常に論理
的に1である。
【0142】以上、連続する3つの入力状態数の場合に
ついて説明した。
【0143】Sumxが式(18)の領域の3つの連続
する入力状態数であるときに、しきい素子THG(2h-1)
とTHG(2h)との2つのしきい素子の出力値だけが、す
なわち、2つのしきい素子に入力される制御変数の組合
せが、2段目のしきい素子THG0の入力と閾値(2k
1/2)との大小関係を決めることになる。
【0144】次に、mod[2k/3]=1の余りの1
つの入力状態数について、2段目のしきい素子THG
(2m+1)の入力値と重みの積和値とが、選択的に閾値の大
小関係を変えることが可能であることについて説明す
る。
【0145】最大入力状態数(2k−1)を余りの1つ
としたので、図2中のしきい素子THG(2m+1)以外の1
段目のしきい素子THG1〜THG(2m)の出力値は、全
て論理的「0」である。また、Y(2m+1)に重みとして乗
算される値は、wy(2m+1)=1であるから、入力状態数
Sumx=2k−1であるときのSumの値は、式(2
0)になる。
【0146】 Sum=Y(2m+1)+(2k−1) ……式(20) THG0の閾値は(2k−1/2)であるので、式(2
0)から判るように、しきい素子THG(2m+1)の出力値
(2m+1)に依存して、Sumの値は、論理的1、0を選
択的に取ることが可能である。
【0147】以上、余りの入力状態数の場合にも、TH
0の入力が、選択的に論理的1または0を取ることが
できることを説明した。
【0148】上記方法と回路構成とによって、k入力変
数の際の任意の入力状態数のそれぞれにおいて、THG
0の入力は、選択的に論理的1または0を取ることがで
きる。これは、THG0に、選択的に論理的1または0
に出力させることが可能であることを意味し、図2に示
す回路構成を用いて、それぞれの入力状態数に対して、
論理的1または0を出力させることができることを意味
している。この機能によって、図2に示す回路は、任意
のk入力変数論理関数を実現することが可能になる。
【0149】上記実施例では、余りの入力状態数を、最
大の入力状態数の場合として説明しているが、3つの入
力状態数による組みを、他の入力状態から独立して取り
扱うことが可能である点、式(20)で表される1つの
否定出力型しきい素子を用いた場合も、0出力状態数を
設定することで他の入力状態への影響を排除できる点か
ら、余りの入力状態数を、任意の入力状態数に設定する
ことも可能である。
【0150】[mod[2k/3]=2である場合:
B]次に、図3の回路図に示すmod[2k/3]=2
である場合について、mod[2k/3]=1である場
合との相違点に焦点を当て説明する。
【0151】入力状態数0から2k−2までを、小さい
順に連続する3つの入力状態数を1つの組にし、2k
2=3・m、(1≦j≦m)とする。この中の1つの組
において、8つの状態を2つのしきい素子を用いて選択
的に実現する方法は、mod[2k/3]で既に説明し
た方法と同じであり、上記の場合と異なる点は、余りの
入力状態数(2k−2,2k−1)が2つある点である。
【0152】上記実施例では、2つの余りの入力状態数
に対して、mod[2k/3]=1の場合と同じく、他
の入力状態数から独立して、選択的に論理的1または0
を出力できるようにする。
【0153】[B:1段目のしきい素子の構成と動作]
余りの入力状態数に対応する1段目のしきい素子を、T
HG(2m+1)とTHG(2 m+1)とする。THG(2m+1)の構成
は、図5に示すmod[2k/3]=1である場合のし
きい素子の構成と同じであるが、閾値th(2m+1)=(3
・m+1/2)=(2k−3/2)である点は、注意を
要する。THG(2m+2)の構成は、THG( 2m+1)と類似で
あるが、制御変数としてcfg(2m+2)1を与える点と、
閾値th(2 m+2)としてth(2m+2)=(3・m+3/2)
=(2k−1/2)を与える点と、出力値としてY
(2m+2)を与える点とが異なる。
【0154】2つのしきい素子の動作原理は、上記のm
od[2k/3]=1である場合のTHG(2m+1)と同様
であり、mod[2k/3]=2である場合のTHG
(2m+1)の出力値は、入力状態数Sumx=2k−2であ
るときに、論理的1または0を、cfg(2m+1)1の値に
よって選択的に取ることができ、THG(2m+2)の出力値
は、入力状態数Sumx=2k−1のときに、論理的1
または0をcfg(2m+2)1の値によって選択的に取るこ
とができる [B:2段目のしきい素子の構成と動作]ここで、mo
d[2k/3]=2である場合の2段目のしきい素子T
HG0の構成と動作とについて説明する。
【0155】THG0には、全ての入力変数と重みとの
積和値と、全ての1段目のしきい素子の出力値と重みと
の積和値との和が入力される。入力変数と重みとの積和
値に関しては、mod[2k/3]=1である場合と同
じである。また、1段目のしきい素子THG1から、T
HG(2m)の出力値と重みとの積和値についても、mod
[2k/3]=1である場合と同様である。
【0156】入力状態数Sumx≦2kである場合は、
THG1から、THG(2m)のしきい素子によって、Su
mが制御され、mod[2k/3]=1である場合の動
作から類推できる。また、Sumx=2k+1とSum
x=2k+2との場合のSumは、式(21)で表され
る。
【0157】 Sum=Y(2m+1)+Y(2m+2)+(2k−2) …式(21) Y(2m+1)は、Sumx=2m+2=2k−1では、常に
論理的0を出力し、逆に、Y(2m+2)は、Sumx=2m
+1=2k−2では、常に論理的1を出力するため、こ
の2つの入力状態数におけるSumは、式(22)で表
される。
【0158】
【数15】
【0159】閾値が(2k−1/2)であるので、式
(22)から次のことが判る。Sumx=2m+1であ
る場合、Y(2m+1)=1であれば、Sumは閾値を越え、
出力値Z=0になり、Y(2m+1)=0であれば、Sumは
閾値よりも小さく、出力値Z=1になる。Sumx=2
m+2である場合、Y(2m+2)=1であれば、Sumは閾
値を越え、出力値Z=0になり、Y(2m+2)=0であれ
ば、Sumは閾値よりも小さく、出力値Z=1となる。
このように、Y(2m+1)、Y(2m+2)の値に応じて出力値Z
が決定される。
【0160】以上、mod[2k/3]=2である場合
の2段目のしきい素子の入出力特性について説明し、任
意の入力状態数のときに、論理的「1」または「0」を
選択可能であることを示した。
【0161】[まとめ=第1の実施例]以上、上記実施
例で説明した1段目のしきい素子と2段目のしきい素子
とを用いた2段論理フィードフォワード回路構成で、
{int[(2/3)・2k]+mod[2k/3]+
1}個の否定出力型しきい素子によって、任意のk入力
変数論理関数を実現できる。
【0162】図10は、入力変数の数kに対する1段目
のしきい素子数について、従来技術である、2k個のし
きい素子を用いる方法と、(3/4)・2k個のしきい
素子を用いる方法と、上記実施例の方法とを比較した図
である。
【0163】上記実施例では、最も少いしきい素子数に
よって、任意の論理関数を実現できる。
【0164】[第2の実施例]第1の実施例は、任意の
論理関数を実現する回路である。
【0165】第2の実施例は、任意の対称関数を実現す
る{int[(2/3)・(k+1)]+mod[(k
+1)/3]+1}個の否定出力型しきい素子を用いた
2段論理フィードフォワード回路である。
【0166】[k入力変数対称関数を実現するための回
路構成に対する要求]対称関数は、入力変数の任意の置
換に対して、出力値が不変である関数であるので、入力
ベクトルの識別は、入力変数の中で論理的1である入力
変数の数によって行うことができる。
【0167】すなわち、入力状態数は、入力変数中の論
理的1である変数の数を意味する。たとえば、(X1
2,X3)の3入力変数の場合、(X1,X2,X3)=
(1、0、0)と、(X1,X2,X3)=(0、1、
0)とは、X1とX2とを置換することによって同じベク
トルになるので、この2つの入力ベクトルは識別される
必要はない。したがって、k入力変数である場合、入力
状態数は0からkまでの(k+1)個の整数値になる。
しきい素子上では、全ての入力変数に対する重みを等し
く設定することによって、上記特性を実現することがで
きる。上記実施例においては、入力変数に対する重みw
xiを全て等しくwxi=1にする。
【0168】[任意の対称関数実現する回路構成]第1
の実施例と同様に、連続する3つの入力状態数を1つの
組にまとめると、mod[(k+1)/3]の値によっ
て3つの場合、 (1)(k+1)=3m、 (2)(k+1)=3m+1、 (3)(k+1)=3m+2、 に分類することができる。
【0169】上記(2)、(3)の場合は、それぞれ第
1の実施例で、図2と図3とを用いて説明した場合と、
入力変数に乗算される重みが異なる以外は、同様であ
る。上記(1)の場合は、余りが存在しない場合であ
り、この場合の実現方法と回路構成とは、余りが存在す
る場合から容易に類推できる。
【0170】[1段目のしきい素子の構成と動作]第1
の実施例で説明したように、1段目のしきい素子には、
4つの連続する入力状態数を、選択的に0出力状態数に
設定できるしきい素子と、mod[(k+1)/3]≠
0の場合に用いる2つの入力状態数とのどちらか一方を
選択的に0出力状態数に設定できるしきい素子の2種類
がある。
【0171】図11は、連続する4つの入力状態数の中
のいずれか1つの入力状態数を、選択的に0出力状態数
とすることが可能なしきい素子の構成を表す図である。
【0172】図4のしきい素子とは、入力変数に対する
重みwxiが異なる。図11に示すしきい素子THG
(2j-1)は、(1≦j≦m)のときに用いられる。また、
THG(2 j)も、THG(2j-1)と同じ入力変数と重みwxi
であり、閾値も同じく、th(2j)=(3j−1/2)で
あり、2つの制御変数として、cfg(2j)1、cfg
(2j)2を持ち、それぞれの重みが2と1とである。この
しきい素子の動作については、第1の実施例で既に説明
してある。
【0173】図12は、連続する2つの入力状態数のい
ずれか1つの入力状態数を、選択的に0出力状態数とす
ることが可能なしきい素子の構成を表す図である。
【0174】図5に示すしきい素子とは、入力変数に対
する重みwxiが異なる。mod[(k+1)/3]=2
である場合は、図12に示すTHG(2m+1)の他に、TH
(2 m+2)も用いられる。THG(2m+2)の構成は、図12
に示すTHG(2m+2)と類似であるが、制御変数としてc
fg(2m+2)1を用い、その重みとしてwc(2m+2)1=1を
用い、しきい値th(2m+2)=3m+3/2=k+1/2
として、出力値Y(2m+ 2)を用いる。このしきい素子の動
作については、第1の実施例で既に説明している。
【0175】[2段目のしきい素子の構成と動作]2段
目のしきい素子の構成は、第1の実施例における2段目
のしきい素子の構成と類似であるが、3つの入力状態数
を1つのグループとして全入力状態数を分割するmと入
力変数kとの関係と、閾値とが、第1の実施例とは異な
る。
【0176】まず、入力変数kと(k+1)個存在する
入力状態数を分割するmとの関係について説明する。
【0177】第1の実施例における関係は、int[2
k/3]=mであり、実施例におけるmとkとの関係
は、上記の通り、int[(k+1)/3]=mであ
る。
【0178】次に、閾値について説明する。
【0179】第1の実施例では、2段目のしきい素子に
入力される値Sumの最大値は、(2k+1−1)であ
り、閾値は、その1/2である(2k−1/2)として
いる。
【0180】一方、第2の実施例における2段目のしき
い素子へ入力される値Sumの最大値について、図13
を用いて説明する。
【0181】図13は、mod[(k+1)/3]=1
である場合における2段目のしきい素子THG0の構成
を表す図である。
【0182】2段目のしきい素子には、k入力変数の全
てが重み1を乗算され入力され、1段目のしきい素子の
出力値にも2または1の重みが乗算され入力される。1
段目のしきい素子Y(2j-1)には、重みwy(2j-1)=2が
乗算され、2(2j)には、重みwy(2j)=1が乗算され、
(2m+1)には、重みwy(2m+1)=1が乗算される。ただ
し、1≦j≦mである。したがって、THG0に入力さ
れる値Sumの最大値は、k+(k+1)=(2・k+
1)である。第1の実施例と同様、最大値の1/2であ
る(k+1/2)を閾値th0とする。
【0183】図14は、任意のk入力変数対称関数を実
現する2段論理フィードフォワード回路における入力状
態数Sumxと、2段目のしきい素子の入力値と、重み
の積和値Sumとの関係を表す図である。
【0184】図14は、第1の実施例における図8に類
似の図である。横軸は、入力状態数であるSumxを示
し、縦軸は、しきい素子に入力される値Sumを表して
いる。Sumの最大値は、2k+1であり、閾値は、k
+1/2である。図中、斜線部分は、Sumにおける入
力状態数Sumxの寄与分を表し、実線は、1段目のし
きい素子の出力値であって、かつ、制御変数から独立し
て決まる出力値に重みが乗算された値を表している。
【0185】点線は、1段目のしきい素子の出力値にお
いて、その値が制御変数に依存して決まる場合のSum
を表している。第1の実施例における図20に示すもの
と同様に、j=1である場合の3つの入力状態数Sum
x=0,1,2を例にとる。このときに、1段目のしき
い素子の出力値Y1とY2とに重みが乗算された値である
2・Y1とY2との2つの値の組合せによって、Sumx
=0,1,2の各入力状態数においてSumと、閾値で
あるk+1/2との大小関係を選択的に決定することが
できる。これと同様のことが、任意のjにも適用でき
る。また、mod[(k+1)/3]≠0である場合
も、第1の実施例と同様である。
【0186】上記に示した、重みと閾値とを用いること
によって、第1の実施例と同様の手法を適用することが
でき、任意の対称関数を実現することができる。
【0187】[まとめ=第2の実施例]以上、第2の実
施例で説明した1段目のしきい素子と、2段目のしきい
素子とを用いた2段論理フィードフォワード回路構成
で、{int[(2/3)・(k+1)]+mod
[(k+1)/3]+1}個の否定出力型しきい素子に
よって、任意のk入力変数対称関数を実現することがで
きる。
【0188】[第3の実施例]第3の実施例は、第1の
実施例と第2の実施例とで使用した否定出力型しきい素
子を実装する実回路である。
【0189】[しきい素子を実装する回路の一般的構
成]図15は、図4に示す否定出力型しきい素子の回路
図である。
【0190】図4のk入力変数X1〜Xkはそれぞれ、図
15における容量値Cx1=1・α〜Cxk=2k-1・αを
持つ容量の一方の端子に、電位Vx1〜Vxkとして入力さ
れ、図4の制御変数cfg(2j-1)1、cfg(2j-1)2は、
それぞれ、図15における容量値Cc(2j-1)1=2・α
と、Cc(2j-1)2=1・αとを持つ容量の一方の端子に、
電位Vc(2j-1)1とVc2j-1)2として入力される。
【0191】図4中の各入力に対する重みは、図15中
の容量値に対応している。また、図4中の閾値th
(2j-1)を実現するために、図15では、固定電位に一方
の端子が接続されている容量を用いる。一方の端子が電
源電位に接続されている容量値C vddの容量と、グラン
ド電位に接続されている容量値Cgndの容量とである。
これらの容量の他方の端子は、それぞれ端子fltgに
接続され、端子fltgはインバータ回路INVの入力
端子になる。
【0192】図15は、複数の容量の並列接続と、その
並列に接続された容量とインバータ回路の直列接続とに
よって構成された否定出力型しきい素子を表す図であ
る。
【0193】[しきい素子の実装に用いるインバータ回
路としてCM0Sインバータを用いる構成]図16は、
図15に示すインバータ回路INVを、CM0Sインバ
ータで置換した回路を示す図である。
【0194】複数の容量の一方の端子は、入力端子とし
て用いられ、他方の端子は、フローティングゲートであ
るfltgに接続されている。このフローティングゲー
トfltgは、PM0SFETとNM0SFETとから
成るCM0Sインバータの入力ゲートでもある。
【0195】[しきい素子回路の動作]図16に示す回
路が、図4に示す否定出力型しきい素子と同じ機能であ
ることを説明する。
【0196】初めに、フローティングゲートfltg
は、金属またはPoly−Siのように金属に準ずる性
質を持ち、フローティングゲートfltgと入力端子と
の間の容量値の総和は、フローティングゲートfltg
とPM0SFETまたはNM0SFETとの間の容量の
総和に比べて、非常に大きくなるように設定され、フロ
ーティングゲートの初期状態での電荷量は0、すなわ
ち、電気的に中性であるとする。このときに、フローテ
ィングゲートfltgの電位Yfltgは、式(23)で表
される。
【0197】
【数16】
【0198】式(23)では、容量値は容量比で代替さ
れ、図4で示すしきい素子の重みと等しい。ここで、新
たにCvdd/α=wvdd、Cgnd/α=wgndとする。ま
た、入力される電位Vxiと、Vc(2j-1)i電源電位Vdd
たはグランド電位0の2値のいずれか一方であるとき
に、式(23)を電源電位で規格化することによって、
xiとVc(2j-1)iとは、それぞれ図4中のxiとcfg
(2j-1)iとに等しくなる。また、Vfltg/Vdd=Ufltg
とすることによって、Ufltgは、式(24)で表され
る。
【0199】
【数17】
【0200】式(24)は、式(25)のように変形で
きる。
【0201】次に、CM0Sインバータが論理反転をす
るフローティングゲート電位をフローティングゲートし
き閾値電位Vfthとし、電源電位で規格化した値をUfth
とする。PM0SFETとNM0SFETとのゲート幅
を調整することによって、U fth=1/2にする。ま
た、UfthとUfltgとインバータの出力値Uy(2j-1)=V
y (2j-1)/Vddとの関係は、式(26)であるとする。
ただし、Uy(2j-1)>1/2のときの値を、論理値を用
いてY(2j-1)=1で表し、Uy(2j-1)<1/2のときの
値を、論理値を用いてY(2j-1)=0で表す。
【0202】
【数18】
【0203】式(25)を用いて(Ufltg−Ufth)を
変形すると、式(27)になる。
【0204】 Ufltg−Ufth=Sumx+2・cfg(2j-1)1+cfg(2j-1)2−{2k-1+1 +(wgnd−wvdd)/2} …式(27) 式(27)において、式(28)が成立するように、w
vddとwgndを選択する。
【0205】 2k-1+1+(wgnd−wvdd)/2=3・j−1/2 …式(28) このときに、式(26)は、第1の実施例で示した式
(8)と同じ(再び以下に示す)になり、図4で示した
しきい素子の動作を表すことになる。
【0206】
【数19】
【0207】以上、否定出力型しきい素子の実装回路の
構成と動作について説明した。
【0208】
【発明の効果】本発明によれば、しきい素子回路網を用
いて任意の対称関数を実現することができるという効果
を奏する。
【0209】また、本発明によれば、任意の論理関数を
実現する際に、3つの連続する入力状態数を、1つのグ
ループにし、各グループの各入力状態数のときの出力値
と回路中の2つのしきい素子の出力値とを対応付けるこ
とによって、各入力状態数のときの出力値とあるしきい
素子の出力値とを対応付ける従来の方法と比較して、し
きい素子回路網中に含まれるしきい素子数を約2/3に
低減することができるという効果を奏する。
【図面の簡単な説明】
【図1】任意のk入力変数論理関数を実現する{int
[2k/3]+mod[2k/3]+1}個の否定出力型
しきい素子で構成される2段論理フィードフォワード回
路を表す図である。
【図2】図1の回路でmod[2k/3]=1の場合を
表す回路図である。
【図3】図1の回路でmod[2k/3]=2の場合を
表す回路図である。
【図4】任意のk入力変数論理関数を実現する図1の2
段論理フィードフォワード回路における1段目の否定出
力型しきい素子THG(2j-1)、(1≦j≦2k−mod
[2k/3])の構成を表す図である。
【図5】任意のk入力変数論理関数を実現する図2の2
段論理フィードフォワード回路における1段目の否定出
力型しきい素子THG(2m+1)、(3m=2k−1)の構
成を表す図である。
【図6】図2の回路における1段目の否定出力型しきい
素子への入力値と重みの積和値Sumと入力状態数Su
mxとの関係を表す図である。
【図7】図2の回路における1段目の否定出力型しきい
素子THG1について、2つの制御変数の値の組合せに
よって入力状態数Sumxに対する出力値Y1の変化が
異なることを表す図である。
【図8】図2の回路における2段目のしきい素子THG
0において、入力される入力変数X1〜Xkと重みwx1
xkとの積和値である入力状態数Sumxに対する全て
の入力値に対する積和値(Sum=Sumx+Sum
y)の関係を示した図である。
【図9】図2の回路において、入力状態数が0、1、2
において、Y1とY2とについて初めて論理的0を出力す
る入力状態数(0出力状態数)がそれぞれ1と2である
場合の2段目のしきい素子THG0への入力値と重みの
積和値Sumとしきい値の関係を表す図である。
【図10】入力変数の数kに対する1段目のしきい素子
数について、従来技術である、2 k個のしきい素子を用
いる方法と、(3/4)・2k個のしきい素子を用いる
方法と、第1の実施例の方法とを比較した図である。
【図11】任意のk入力変数対称関数を実現するしきい
素子で構成された2段論理フィードフォワード回路にお
ける1段目のしきい素子中、連続する4つの入力状態数
の中のいずれか1つの入力状態数を選択的に0出力状態
数とすることが可能なしきい素子の構成を表す図であ
る。
【図12】任意のk入力変数対称関数を実現するしきい
素子で構成された2段論理フィードフォワード回路にお
ける1段目のしきい素子中、連続する2つの入力状態数
の中のいずれか1つの入力状態数を選択的に0出力状態
数とすることが可能なしきい素子の構成を表す図であ
る。
【図13】mod[(k+1)/3]=1の場合の任意
のk入力変数対称関数を実現する2段論理フィードフォ
ワード回路における2段目のしきい素子THG0の構成
を表す図である。
【図14】任意のk入力変数対称関数を実現する2段論
理フィードフォワード回路における入力状態数Sumx
と2段目のしきい素子の入力値と重みの積和値Sumと
の関係を表す図である。
【図15】図4で示した否定出力型しきい素子の実装対
象となる回路図である。
【図16】図15のインバータ回路をCMOSインバー
タによって実現した回路図である。
【図17】従来の任意のk入力変数対称関数を実現する
否定出力型しきい素子を用いた2段論理フィードフォワ
ード回路図である。
【図18】従来の任意のk入力変数対称関数を実現する
否定出力型しきい素子を用いた2段論理フィードフォワ
ード回路における2段目の否定出力型しきい素子への入
力値と重みの積和値と入力状態数の関係を表す図であ
る。
【図19】従来の任意のk入力変数論理関数を実現する
否定出力型しきい素子を用いた2段論理フィードフォワ
ード回路の構成を表す図である。
【図20】3つの入力状態数0、1、2を1組とした場
合に実現できる8つのΔSumの状態を、2つのしきい
素子の出力値Y1、Y2を制御することによって実現する
方法を示す図である。
【図21】入力状態数0、1、2において選択的にΔS
umを決定するY1、Y2との組み合わせを示す図であ
る。
【符号の説明】
100…論理関数機能再構成可能集積回路、 Sumx…入力状態数、 Y…出力値、 th…閾値、 cfg…制御変数、 THG…しきい素子。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 任意の論理関数を実現するしきい素子回
    路網であって、 上記しきい素子を複数段結合する構造を有し、 論理関数機能を構成するデータとして、多値表現された
    データを用いることを特徴とする論理関数機能再構成可
    能集積回路。
  2. 【請求項2】 任意の対称関数を実現するしきい素子回
    路網であって、 上記しきい素子を複数段結合する構造を有し、 対称関数機能を構成するデータとして、多値表現された
    データを用いることを特徴とする論理関数機能再構成可
    能集積回路。
  3. 【請求項3】 請求項1または請求項2において、 関数機能を構成するデータを多値表現するために、上記
    しきい素子回路網中の少なくとも1つのしきい素子に対
    して、2つ以上の関数機能を構成するデータを入力する
    端子を有することを特徴とする論理関数機能再構成可能
    集積回路。
  4. 【請求項4】 請求項1〜請求項3のいずれか1項にお
    いて、 上記しきい素子は、否定出力型しきい素子であることを
    特徴とする論理関数機能再構成可能集積回路。
  5. 【請求項5】 請求項1〜請求項4のいずれか1項にお
    いて、 上記しきい素子が、複数の容量を有し、 上記容量の一方の端子に、入力変数と関数機能を構成す
    るデータとが入力され、上記容量の他方の端子が、互い
    に接続され、1つの端子となる構造を有し、 上記1つの端子の電位が、しきい処理を行う非線形素子
    の入力値となる構造を有することを特徴とする論理関数
    機能再構成可能集積回路。
  6. 【請求項6】 請求項5において、 上記しきい処理を行う非線形素子は、MOSトランジス
    タを用いたインバータであることを特徴とする論理関数
    機能再構成可能集積回路。
  7. 【請求項7】 任意の論理関数を実現するしきい素子回
    路網であって、上記しきい素子を複数段結合する構造を
    有し、論理関数機能を構成するデータとして、多値表現
    されたデータを用いる論理関数機能再構成可能集積回路
    における再構成方法であって、 入力ベクトルを1次元表示し、それぞれ区別した値を、
    入力状態数と呼ぶときに、 連続する3つの入力状態数を、1つのグループとし、 上記グループのそれぞれの入力状態数であるときのしき
    い素子網の出力値と、上記しきい回路網中の2つのしき
    い素子の出力値とを対応付け、 上記2つのしきい素子の出力値と、それぞれのしきい素
    子に入力される関数構成データの値とを対応付け、 上記関数構成データの値を変更することによって、任意
    の論理関数を実現することを特徴とする論理関数機能再
    構成方法。
  8. 【請求項8】 任意の対称関数を実現するしきい素子回
    路網であって、上記しきい素子を複数段結合する構造を
    有し、対称関数機能を構成するデータとして、多値表現
    されたデータを用いる論理関数機能再構成可能集積回路
    における再構成方法であって、 入力ベクトルを1次元表示し、それぞれ区別した値を、
    入力状態数と呼ぶときに、 連続する3つの入力状態数を、1つのグループとし、 上記グループのそれぞれの入力状態数であるときのしき
    い素子網の出力値と、しきい回路網中の2つのしきい素
    子の出力値とを対応付け、 上記2つのしきい素子の出力値と、それぞれのしきい素
    子に入力される関数構成データの値とを対応付け、 関数構成データの値を変更することによって、任意の対
    称関数を実現することを特徴とする対称関数機能再構成
    方法。
JP2001039033A 2001-02-15 2001-02-15 論理関数機能再構成可能集積回路および再構成方法 Expired - Fee Related JP3555110B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001039033A JP3555110B2 (ja) 2001-02-15 2001-02-15 論理関数機能再構成可能集積回路および再構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001039033A JP3555110B2 (ja) 2001-02-15 2001-02-15 論理関数機能再構成可能集積回路および再構成方法

Publications (2)

Publication Number Publication Date
JP2002246894A true JP2002246894A (ja) 2002-08-30
JP3555110B2 JP3555110B2 (ja) 2004-08-18

Family

ID=18901903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001039033A Expired - Fee Related JP3555110B2 (ja) 2001-02-15 2001-02-15 論理関数機能再構成可能集積回路および再構成方法

Country Status (1)

Country Link
JP (1) JP3555110B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6949780B2 (en) 2001-06-06 2005-09-27 Matsushita Electric Industrial Co., Ltd. Semiconductor device
CN102545882A (zh) * 2012-01-05 2012-07-04 福州大学 基于set/mos混合结构的可重构阈值逻辑单元

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2762547C1 (ru) * 2021-04-02 2021-12-21 федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" Пороговый модуль

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6949780B2 (en) 2001-06-06 2005-09-27 Matsushita Electric Industrial Co., Ltd. Semiconductor device
CN102545882A (zh) * 2012-01-05 2012-07-04 福州大学 基于set/mos混合结构的可重构阈值逻辑单元

Also Published As

Publication number Publication date
JP3555110B2 (ja) 2004-08-18

Similar Documents

Publication Publication Date Title
JP7012073B2 (ja) プログラマブル集積回路上のバイナリニューラルネットワーク
US7075827B2 (en) Function reconfigurable semiconductor device and integrated circuit configuring the semiconductor device
CN111052153B (zh) 使用半导体存储元件的神经网络运算电路及动作方法
Raghuvanshi et al. Logic synthesis and a generalized notation for memristor-realized material implication gates
WO2008079964A1 (en) Dynamically configurable logic gate using a nonlinear element
US3912914A (en) Programmable switching array
WO2017200088A1 (ja) ニューラルネットワーク回路及びニューラルネットワーク集積回路
JP2021039477A (ja) 演算装置及び積和演算システム
JP2002246894A (ja) 論理関数機能再構成可能集積回路および再構成方法
Kohut et al. Decomposition of Boolean Function Sets for Boolean Neural Networks
Khan Cost Reduction in Nearest Neighbour Based Synthesis of Quantum Boolean Circuits.
JP2017211972A (ja) ニューラルネットワーク回路及びニューラルネットワーク集積回路
Słowik et al. Evolutionary design and optimization of combinational digital circuits with respect to transistor count
KR19980042174A (ko) 바이너리 시스템의 학습방법
Chande et al. On neural networks for analog to digital conversion
Al-Nsour et al. Implementation of programmable digital sigmoid function circuit for neuro-computing
JP3938697B2 (ja) 関数機能再構成可能集積回路
Vijayakumari et al. An improved design of combinational digital circuits with multiplexers using genetic algorithm
Wang et al. Design method for unbalanced ternary logic family based on binary memristors
Babakov et al. Structural representation of synthesis methods of finite state machine with datapath of transitions
JP3565495B2 (ja) 論理関数機能再構成可能な集積回路およびその設計方法
Sasao LUT Cascade Realization of Threshold Functions and Its Application to Implementation of Ternary Weight Neural Networks
Todinca et al. VHDL framework for modeling fuzzy automata
Aoyama et al. A threshold logic-based reconfigurable logic element with a new programming technology
Aoyama Design methods for symmetric function generators based on threshold elements

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040405

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: 20040430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040430

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: 20090521

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090521

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100521

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100521

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110521

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees