(57)【特許請求の範囲】
【請求項１】
電気的にフローティング状態とされたゲート電極を有し、このゲート電極に与えられる入力変数の状態量が設定されているしきい値を越えた時に、その出力を論理反転するしきい素子と、
このしきい素子のゲート電極に容量結合され、前記入力変数を伝搬する第１〜第ｋ（ｋ＞１）の入力変数用端子と、
前記しきい素子の出力端子とゲート電極との間に接続され、この出力端子とゲート電極との間を接続／遮断するスイッチと、
前記しきい素子のゲート電極に容量結合され、前記しきい値を制御する制御変数を伝搬する１以上の制御変数用端子とを備え、
前記制御変数用端子と前記ゲート電極との間の容量値の少なくとも１つは前記入力変数用端子とゲート電極との間の容量値の中の最小容量値よりも小さくされている
ことを特徴とする可変しきい値しきい素子回路。
【請求項２】
請求項１に記載された可変しきい値しきい素子回路において、
前記制御変数用端子として第１の制御変数用端子と第２の制御変数用端子とを有し、
前記第１の制御変数用端子と前記ゲート電極との間の容量値が前記最小容量値とほゞ等しくされ、
前記第２の制御変数用端子と前記ゲート電極との間の容量値が前記最小容量値よりも小さくされている
ことを特徴とする可変しきい値しきい素子回路。
【請求項３】
請求項１に記載された可変しきい値しきい素子回路において、
前記制御変数用端子として唯一の制御変数用端子を有し、
この唯一の制御変数用端子と前記ゲート電極との間の容量値が前記最小容量値よりも小さくされている
ことを特徴とする可変しきい値しきい素子回路。
【請求項４】
請求項２に記載された可変しきい値しきい素子回路において、
前記第１の制御変数用端子を外部に接続される制御変数用入力端子と第１の所定の固定電位との何れか一方に接続する第１の切替スイッチと、
前記第２の制御変数用端子を第２の所定電位と第３の所定電位との何れか一方に接続する第２の切替スイッチと
を備えたことを特徴とする可変しきい値しきい素子回路。
【請求項５】
請求項４に記載された可変しきい値しきい素子回路において、
前記しきい素子の出力端子とゲート電極との間に接続されたスイッチの動作を制御する制御信号を所定時間遅延する遅延回路を有し、
前記第１の切替スイッチおよび第２の切替スイッチは前記遅延回路からの遅延制御信号によってその切替動作が制御される
ことを特徴とする可変しきい値しきい素子回路。
【請求項６】
請求項３に記載された可変しきい値しきい素子回路において、
前記唯一の制御変数用端子を第１の所定の固定電位と第２の所定の固定電位との何れか一方に接続する切替スイッチ
を備えたことを特徴とする可変しきい値しきい素子回路。
【請求項７】
請求項６に記載された可変しきい値しきい素子回路において、
前記しきい素子の出力端子とゲート電極との間に接続されたスイッチの動作を制御する制御信号を所定時間遅延する遅延回路を有し、
前記切替スイッチは前記遅延回路からの遅延制御信号によってその切替動作が制御される
ことを特徴とする可変しきい値しきい素子回路。
【請求項８】
請求項１〜７に記載された可変しきい値しきい素子回路において、
前記しきい素子がＭＯＳトランジスタ回路であることを特徴とする可変しきい値しきい素子回路。
【請求項９】
請求項１に記載された可変しきい値しきい素子回路に適用される回路状態保持方法であって、
前記しきい素子の出力端子とゲート電極との間に接続されたスイッチをオンとし、この出力端子とゲート電極との間を接続状態とする第１のステップと、
この第１のステップの実行後、前記第１〜第ｋの入力変数用端子から所定の組合せの入力変数を、前記最小容量値よりも小さい容量値を持つ容量に接続されている制御変数用端子を除く制御変数用端子に制御変数を、前記最小容量値よりも小さい容量値を持つ容量に接続されている制御変数用端子に第１の所定電位を与える第２のステップと、
この第２のステップの実行後、前記しきい素子の出力端子とゲート電極との間のスイッチをオフとし、この出力端子とゲート電極との間を遮断状態とする第３のステップと、
この第３のステップの実行後、前記最小容量値よりも小さい容量値を持つ容量に接続されている制御変数用端子を除く制御変数用端子を第２の所定電位に接続するとともに、前記最小容量値よりも小さい容量値を持つ容量に接続されている制御変数用端子を第３の所定電位に接続する第４のステップと
を備えたことを特徴とする回路状態保持方法。
【請求項１０】
請求項２に記載された可変しきい値しきい素子回路に適用される回路状態保持方法であって、
前記しきい素子の出力端子とゲート電極との間に接続されたスイッチをオンとし、この出力端子とゲート電極との間を接続状態とする第１のステップと、
この第１のステップの実行後、前記第１〜第ｋの入力変数用端子から所定の組合せの入力変数を、前記第１の制御変数用端子に制御変数を、前記第２の制御変数用端子に第１の所定電位を与える第２のステップと、
この第２のステップの実行後、前記しきい素子の出力端子とゲート電極との間のスイッチをオフとし、この出力端子とゲート電極との間を遮断状態とする第３のステップと、
この第３のステップの実行後、前記第１の制御変数用端子を第２の所定電位に接続するとともに、前記第２の制御変数用端子を第３の所定電位に接続する第４のステップと
を備えたことを特徴とする回路状態保持方法。
【請求項１１】
請求項４に記載された可変しきい値しきい素子回路に適用される回路状態保持方法であって、
前記しきい素子の出力端子とゲート電極との間に接続されたスイッチをオンとし、この出力端子とゲート電極との間を接続状態とする第１のステップと、
この第１のステップの実行後、前記第１〜第ｋの入力変数用端子から所定の組合せの入力変数を入力した状態で、かつ前記制御変数用入力端子に制御変数を入力した状態で、前記第１の切替スイッチを作動させ、前記第１の制御変数用端子を前記制御変数用入力端子に接続するとともに、前記第２の切替スイッチを作動させ、前記第２の制御変数用端子を前記第２の所定電位に接続する第２のステップと、
この第２のステップの実行後、前記しきい素子の出力端子とゲート電極との間のスイッチをオフとし、この出力端子とゲート電極との間を遮断状態とする第３のステップと、
この第３のステップの実行後、前記第１の切替スイッチを作動させ、前記第１の制御変数用端子を前記第１の所定電位に接続するとともに、前記第２の切替スイッチを作動させ、前記第２の制御変数用端子を前記第３の所定電位に接続する第４のステップと
を備えたことを特徴とする回路状態保持方法。
【請求項１２】
請求項６に記載された可変しきい値しきい素子回路に適用される回路状態保持方法であって、
前記しきい素子の出力端子とゲート電極との間に接続されたスイッチをオンとし、この出力端子とゲート電極との間を接続状態とする第１のステップと、
この第１のステップの実行後、前記第１〜第ｋの入力変数用端子から所定の組合せの入力変数を入力した状態で前記切替スイッチを作動させ、前記唯一の制御変数用端子を前記第１の固定電位に接続する第２のステップと、
この第２のステップの実行後、前記しきい素子の出力端子とゲート電極との間のスイッチをオフとし、この出力端子とゲート電極との間を遮断状態とする第３のステップと、
この第３のステップの実行後、前記切替スイッチを作動させ、前記唯一の制御変数用端子を前記第２の所定電位に接続する第４のステップと
を備えたことを特徴とする回路状態保持方法。
【請求項１３】
請求項１〜８の少なくとも１つに記載された可変しきい値しきい素子回路を多段接続して構成したことを特徴とする関数機能再構成可能集積回路。
【請求項１４】
請求項１３に記載された関数機能再構成可能集積回路において、
前記可変しきい値しきい素子回路の段数が２段とされ、
１段目の可変しきい値しきい素子回路は、その第１〜第ｋの入力変数用端子が共通に接続された複数の可変しきい値しきい素子回路により構成され、
２段目の可変しきい値しきい素子回路は、１つの可変しきい値しきい素子回路により構成され、この可変しきい値素子回路の第１〜第ｋの入力変数用端子が１段目の各可変しきい値しきい素子回路の第１〜第ｋの入力変数用端子と共通に接続され、１段目の各可変しきい値しきい素子回路からの出力信号が２段目の可変しきい値しきい素子回路のゲート電極に容量結合された各入力端子に与えられる構造とされている
ことを特徴とする関数機能再構成可能集積回路。
【請求項１５】
請求項１４に記載された関数機能再構成可能集積回路に適用される回路状態保持方法であって、
関数機能を用いて演算を実行する関数機能実行時間とは別に関数機能を構成する関数機能構成時間を設け、
前記関数構成時間を所定の数に分割し、
この分割した各々の時間区分において、各可変しきい値しきい素子回路の回路構成に応じて、請求項１１に記載された回路状態保持方法または請求項１２に記載された回路状態保持方法にしたがって、所定の組合せの可変しきい値しきい素子回路の回路状態を保持するようにした
ことを特徴とする回路状態保持方法。
【請求項１６】
請求項１５に記載された回路状態保持方法において、
前記関数構成時間の分割数を前記関数機能再構成可能集積回路に含まれる可変しきい値しきい素子回路の数としたことを特徴とする回路状態保持方法。
【請求項１７】
請求項１５に記載された回路状態保持方法において、
前記関数構成時間の分割数を前記関数機能再構成可能集積回路に含まれる１段目の可変しきい値しきい素子回路の数のほゞ半分としたことを特徴とする回路状態保持方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、回路作製後であってもしきい値を変更することの可能な可変しきい値しきい素子回路、回路作製後であって関数機能を構成することの可能な関数機能再構成可能集積回路、可変しきい値しきい素子回路に適用される回路状態保持方法および関数機能再構成可能集積回路に適用される回路状態保持方法に関するものである。
【０００２】
【従来の技術】
ＣＭＯＳプロセス技術により作製されるしきい素子（非線形素子）として、例えば特許第２６６２５５９号（文献１）に開示されたニューロンＭＯＳトランジスタ（νＭＯＳトランジスタ）によって構成されたインバータがある。以降、このインバータをνＭＯＳインバータと呼ぶ、
【０００３】
このνＭＯＳインバータのしきい値を可変にする回路と方法については、文献２（T.Shibata and T.Ohmi,"Neuron MOS binary-1ogic integrated circuits-Part I:Design fundamenta1s and soft-hardware-logic circuit implementation,"IEEE Trans.E1ectron Devices,vol.40,no.3,pp.570-576.1993）や文献３（青山一生、澤田宏、名古屋彰、中島和生、ニューロンＭＯＳによる対称関数回路の設計手法、信学技法 CPSY99-90,pp.49-56.1999）に記載されている。
【０００４】
〔しきい値可変機能を備えたしきい素子回路（可変しきい値しきい素子回路）〕図１５は、しきい値可変機能を備えたしきい素子回路（可変しきい値しきい素子回路）として、典型的なｋ入力変数のνＭＯＳインバータ回路を示す回路図である。このνＭＯＳインバータ回路１５００においては、しきい値の可変性を持たないνＭＯＳインバータＩＮＶの電気的にフローティング状態とされたゲート電極（以下、フローティングゲートと呼ぶ）ＦＧに、入力変数用の信号入力端子（以下、入力変数用端子と呼ぶ）input1［１］〜input1［ｋ］、しきい値を制御する制御変数用の入力端子（以下、制御変数用入力端子と呼ぶ）input2、電源電位Ｖddに接続された固定電位端子ＰVdd 、グランド電位に接続された固定電位端子Ｐgnd を容量結合している。
【０００５】
このνＭＯＳインバータ回路１５００においては、任意の値に設定可能な２つのしきい値からいずれか一方を選択し、νＭＯＳインバータＩＮＶのしきい値とすることが可能である。νＭＯＳインバータＩＮＶのしきい値は、制御変数用入力端子input2とフローティングゲートＦＧとの間の容量値Ｃv と、固定電位端子ＰVdd とフローティングゲートＦＧとの間の容量値Ｃvdd と、固定電位端子Ｐgnd とフローティングゲートＦＧとの間の容量値Ｃgnd と、入力変数用端子input1［１］〜input1［ｋ］とフローティングゲートＦＧとの間の容量値Ｃ1 〜Ｃk と、制御変数用入力端子input2に印加する電位Ｖv とによって決まる。制御変数用入力端子input2に印加する電位Ｖv を電源電位Ｖdd（論理値「１」）とするかグランド電位（論理的に値「０」）とするかによって、２つのしきい値から１つを選択することができる。
【０００６】
［回路状態保持機能を備えた可変しきい値しきい素子回路］
文献４（特開２００１−１９６９２０号：関数機能構成データ保持方法及びその方法を用いた集積回路）には、νＭＯＳインバータ回路固有の構造を利用し、設定されたしきい値を保持する方法とその方法を利用した回路構成が開示されている。図１６は回路状態保持機能を備えたｋ入力変数のνＭＯＳインバータ回路の代表的な回路構成を示す図である。
【０００７】
このνＭＯＳインバータ回路１６００においては、フローティングゲートＦＧとグランド側の固定電位端子Ｐgnd との間に、制御端子ctl2からの制御信号Ｖctl2によってオン／オフされるパストランジスタｓｗｎを付加している。また、制御変数用入力端子input2とフローティングゲートＦＧに容量結合される端子（以下、この端子を制御変数用端子と呼ぶ）input2ａとの間にトランスミッションゲートtgin２を設け、制御変数用端子input2ａと電源側の固定電位端子ＰVdd との間にパストランジスタｓｗｐを設けている。トランスミッションゲートtgin２およびパストランジスタｓｗｐは制御端子ctl1からの制御信号Ｖctl1によってオン／オフされる。
【０００８】
このような回路構成とすることにより、制御変数用入力端子input2に与えられる電位Ｖv （以下、この電位Ｖv を構成データと呼ぶ）によって選択されるしきい値を設定し、保持することが可能となる。
【０００９】
〔回路状態保持動作〕
図１６におけるしきい値の保持動作について簡単に説明する。トランスミッションゲートtgin２およびパストランジスタｓｗｎをオン、パストランジスタｓｗｐをオフとした状態で、制御変数用入力端子input2に構成データ（論理値「１」あるいは論理値「０」）を与える。この構成データを与えた状態で、パストランジスタｓｗｎをオフとする。次に、トランスミッションゲートtgin２をオフとすると同時に、パストランジスタｓｗｐをオンとする。これにより、トランスミッションゲートtgin２をオフとする直前の構成データに応じたしきい値が、すなわちνＭＯＳインバータＩＮＶに対して設定されたしきい値が保持される。なお、詳細な保持動作については、先の文献４に記載されているのでここでの説明は省略する。
【００１０】
［状態保持機能を備えた可変しきい値しきい素子回路の回路定数の設定］
しきい値を任意の値に設定可能な回路構成について説明する。ここでは、説明を簡単とするために、図１６において、入力変数用端子input1［１］〜input1［ｋ］とフローティングゲートＦＧとの間の容量値Ｃ1 〜Ｃk は等しいものとする（Ｃ1 〜Ｃk ＝Ｃ）。この時、νＭＯＳインバータ回路１６００の入力変数用端子input1［１］〜input1［ｋ］に入力される入力変数の値の組合せ、即ち、入力状態は、入力変数中の論理的に「１」である入力変数の数、即ち入力状態数Ｚで表すことができる。
【００１１】
従って、ある入力状態数Ｚの前後で、しきい値を可変にすることは、任意の連続する２つの入力状態数の間にしきい値を設定することを意味する。図１７は、νＭＯＳインバータ回路１５００における入力状態数Ｚと規格化フローティングゲート電位Ｕfgとの関係、および規格化フローティングゲート電位Ｕfgに対して設定される規格化フローティングゲートしきい値電位Ｕfth を表す図である。
【００１２】
規格化フローティングゲート電位Ｕfgとは、νＭＯＳインバータＩＮＶのフローティングゲートＦＧヘ入力される全ての信号の電位が論理的に「１」、即ち電源電位である場合のフローティングゲート電位（最大フローティングゲート電位）によってフローティングゲート電位を規格化した値である。同様に、規格化フローティングゲートしきい値電位Ｕfth とは、νＭＯＳインバータＩＮＶが論理反転するフローティングゲート電位Ｕfgの値をフローティングゲートしきい値電位と呼ぶ時、フローティングしきい値電位を最大フローティングゲート電位によって規格化した値である。また、横軸上において、入力状態数Ｚは０からｋまでの（ｋ＋１）個の整数を取る。
【００１３】
各入力状態数Ｚにおけるフローティングゲート電位Ｕfgの値は、図１６に示す入力変数用端子input1［１］〜input1［ｋ］とフローティングゲートＦＧとの間の容量値Ｃ1 〜Ｃk （Ｃ1 〜Ｃk ＝Ｃ）と、制御変数用端子input2ａとフローティングゲートＦＧとの間の容量値Ｃv と、電源側の固定電位端子ＰVdd とフローティングゲートＦＧとの間の容量値Ｃvdd と、グランド側の固定電位端子Ｐgnd とフローティングゲートＦＧとの間の容量値Ｃgnd と、制御変数用入力端子input2に与えられる電位Ｖv （構成データ）によって決まる。
【００１４】
フローティングゲートＦＧに結合される全ての容量値の和Ｃtotal は下記（１）式で表される。
Ｃtotal＝ｋ・Ｃ＋Ｃv ＋Ｃvdd＋Ｃgnd    ・・・・（１）
図１７中のＵin，Ｕv ，Ｕvdd ，Ｕgnd は各々、Ｃ，Ｃv ，Ｃvdd ，Ｃgnd をＣtotal によって規格化した値である。これらの値を用いて、フローティングゲート電位Ｕfgは下記（２）式で表される。
【００１５】
【数１】
0003662877.tif 000002
【００１６】
フローティングゲート電位Ｕfgが［（ΣＶi ）／Ｖdd］、すなわち入力状態数Ｚに対して直線になるためには、フローティングゲートＦＧとνＭＯＳインバータＩＮＶを構成するＰＭＯＳＦＥＴ・Ｑ１およびＮＭＯＳＦＥＴ・Ｑ２との間の容量値の和に対して、Ｃtotal が非常に大きいということが必要であることが知られている。以降、この条件を入力容量値条件と呼ぶ。
【００１７】
また、νＭＯＳインバータ回路１６００において、制御変数用入力端子input2に与えられる電位Ｖv すなわち構成データが論理値「１」または論理値「０」の２値を取ると仮定した場合、その値に応じてＵfgとＺとの関係として図１７に示されるline１またはline０のいずれか一方が実現される。
【００１８】
図１７中のline０及びline１は構成データに応じたＵfgとＺとの関係を表しており、ＵfgとＵfth との交点のＺ軸上の値Ｚith0およびＺith1は２つの選択可能なしきい値を表す。すなわち、Ｚith0およびＺith1が入力変数に対するしきい値となり、line０の特性において、入力状態数ＺがＺith0を越えると、νＭＯＳインバータＩＮＶの出力端子のレベルが論理反転する。line１の特性において、入力状態数ＺがＺith1を越えると、νＭＯＳインバータＩＮＶの出力端子のレベルが論理反転する。
【００１９】
［関数機能再構成可能集積回路］
図１８は図１６に示したνＭＯＳインバータ回路１６００を用いた関数機能再構成可能集積回路の一例（２入力変数可変関数ブロック）を示す図である。この２入力変数可変関数ブロック１８００は、２段論理フィードフォワード型回路であり、１段目は３つのνＭＯＳインバータ回路ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］によって構成され、２段目は１つのνＭＯＳインバータ回路ＳＴＥで構成されている。この２入力変数可変関数ブロック１８００では回路作製後にＡＮＤ，ＯＲ，ＮＡＮＤ，ＮＯＲなどの関数機能を回路上に構成することが可能である。
【００２０】
この２入力変数可変関数ブロック１８００において、２つの入力変数は、入力変数用端子input1［１］，input1［２］から１段目のνＭＯＳインバータ回路ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］のフローティングゲートＦＧ［０］，ＦＧ［１］，ＦＧ［２］、および２段目のνＭＯＳインバータ回路ＳＴＥのフローティングゲートＦＧ［Ｓ］に与えられ、１段目のνＭＯＳインバータ回路ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］の出力値はバッファＢＦ［０］，ＢＦ［１］，ＢＦ［２］により増幅および波形整形され、２段目のνＭＯＳインバータ回路ＳＴＥのフローティングゲートＦＧ［Ｓ］に与えられる。
【００２１】
なお、１段目のνＭＯＳインバータ回路ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］と２段目のνＭＯＳインバータ回路ＳＴＥとの間には、ＳＴＥのフローティングゲートＦＧを初期化する際に全ての入力信号をグランド電位にするために、トランスミッションゲートｔｇｓ０，ｔｇｓ１，ｔｇｓ２とパストランジスタｓｗｉ０，ｓｗｉ１，ｓｗｉ２が挿入されている。
【００２２】
１段目のνＭＯＳインバータ回路ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］のしきい値は、各々入力状態数Ｚ＝０の前後、Ｚ＝１の前後、Ｚ＝２の前後の２つのしきい値のいずれか一方を選択できるように設定されている。この１段目のνＭＯＳインバータ回路ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］のしきい値の設定方法と２段目のνＭＯＳインバータ回路ＳＴＥの初期化方法とを、この回路でＸＯＲ（Exc1usive OR）を実現する場合を例に取り、説明する。
【００２３】
図１９は、ＸＯＲを実現する時の手順と各端子の電位の論理値を表す図である。図１９においては、２入力変数可変関数ブロック１８００における制御端子ctl1の電位をＶctl1、制御端子ctl2の電位をＶctl2、入力変数用端子input1［１］の電位をＶ11、入力変数用端子input1［２］の電位をＶ12、制御変数用入力端子input2［０］の電位をＶ20、制御変数用入力端子input2［１］の電位をＶ21、制御変数用入力端子input2［２］の電位をＶ22、バッファＢＦ［０］の出力端子の電位をＶfte0、バッファＢＦ［１］の出力端子の電位をＶfte1、バッファＢＦ［２］の出力端子の電位をＶfte2、νＭＯＳインバータ回路ＳＴＥの出力値を増幅および波形整形するバッファＢＦ［Ｓ］の出力端子の電位をＶout とし、これら各端子の電位について電源電位である場合には論理値「１」を、グランド電位である場合には論理値「０」を割り当てている。
【００２４】
［手順I］
図１９において、手順Ｉは、ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］，ＳＴＥのフローティングゲートＦＧ［０］，ＦＧ［１］，ＦＧ［２］，ＦＧ［Ｓ］を初期化するとともに関数を構成する期間（関数構成期間）である。Ｖctl1とＶctl2の変化の始点に関しては、Ｖctl2に対してＶctl1はある遅延時間を有するものする。入力変数であるＶ11，Ｖ12の値は「０」に、構成データであるＶ20，Ｖ21，Ｖ22の値はＸＯＲを実現するために「１」，「０」，「１」にする。この手順Ｉにより、νＭＯＳインバータ回路ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］の各々のしきい値は、入力状態数Ｚ＝０、Ｚ＝１、Ｚ＝２を挟んで各々、高、低、高のしきい値に設定・保持される。
【００２５】
［手順II〜IV］
手順II〜IVは関数機能実行期間であり、IIは入力状態数Ｚ＝０の場合、III はは入力状態数Ｚ＝１の場合、IVは入力状態数Ｚ＝２の場合を表している。この期間は、パストランジスタｓｗｐ０，ｓｗｐ１，ｓｗｐ２によって制御変数用端子input2a[0]，input2a［１］，input2a［２］が電源電位に接続されているため、Ｖ20，Ｖ21，Ｖ22は全て論理値「１」とされる。なお、ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］の各々のしきい値は、手順Ｉの構成データの値により、入力状態数Ｚ＝０、Ｚ＝１、Ｚ＝２を挟んで各々、高、低、高のしきい値に保持されている。
【００２６】
これにより、Ｖfte0の論理値は、入力状態数Ｚ＝０，１，２に対して「１」，「０」，「０」となり、Ｖfte1の論理値は、入力状態数Ｚ＝０，１，２に対して「１」，「０」，「０」となり、Ｖfte2の論理値は、入力状態数Ｚ＝０，１，２に対して「１」，「１」，「１」となる。この場合、ＳＴＥの出力の論理値は、入力の多数決の結果の論理反転となり、入力状態数Ｚ＝０，１，２に対してＶout の論理値は「０」，「１」，「０」となる。このようにして、関数構成期間における構成データの設定によって、関数機能実行期間にＸＯＲが実現される。
【００２７】
上述したＸＯＲの実現例で分かるように、図１８に示した２入力変数可変関数ブロック１８００によれば、ＦＴＥ［０］，ＦＴＥ［１］，ＦＴＥ［２］，ＳＴＥのフローティングゲートＦＧ［０］，ＦＧ［１］，ＦＧ［２］，ＦＧ［Ｓ］を初期化する期問に、制御変数用入力端子input2［０］〜input2［２］に入力されている構成データによって決定される回路の状態を保持することによって、任意の対称関数を実現できることができる。
【００２８】
但し、対称関数とはＡＮＤ，ＯＲ，ＮＡＮＤ，ＮＯＲ，ＸＯＲ，ＸＮＯＲ，０，１関数に代表されるように、関数値が入力状態数によって規定される論理関数であり、変数を相互に入れ換えても関数値が不変であるという特徴を持つ。
【００２９】
【発明が解決しようとする課題】
従来の回路状態保持機能を備えた可変しきい値しきい素子回路について、すなわち図１６に示したνＭＯＳインバータ回路１６００について、回路に関する次の２点に着目する。１つは、フローティングゲートしきい値電位Ｕfth を決める回路構成であり、もう１つは、フローティングゲートＦＧと容量結合された端子とフローティングゲートＦＧとの間の容量値（以下、この容量値を単に端子の容量値ということもある）のバラツキ及び入力信号上のノイズやゆらぎである。
【００３０】
フローティングゲートしきい値電位Ｕfth は、νＭＯＳインバータ回路１６００におけるνＭＯＳインバータＩＮＶを構成するＰＭＯＳＦＥＴ・Ｑ１，ＮＭＯＳＦＥＴ・Ｑ２において同じゲート電圧印加時のドレイン電流によって決まる。ドレイン電流には多くのプロセスパラメータが関係するが、あるプロセスを仮定し、ＰＭＯＳＦＥＴ・Ｑ１とＮＭＯＳＦＥＴ・Ｑ２に対して同一ゲート長を適用する場合、ドレイン電流を制御する設計パラメータは各々のゲート幅である。このパラメータは設計時に決定され製造後に変えることは困難である。従って、フローティングゲートしきい値電位Ｕfth を製造後に補正することは困難であり、このフローティングゲートしきい値電位Ｕfth の値が製造時にばらつくと、入力に対するマージンの低下または誤動作を引き起こすことになる。入力信号上のノイズやゆらぎ、フローティングゲートと容量結合された端子の容量値のバラツキによっても誤動作が引き起こされる。
【００３１】
［ノイズや製造バラツキに対する耐性］
任意の入力状態数ｍの前後にしきい値Ｚith1とＺith0とを設定する場合を例に取り、ノイズや製造バラツキに対する耐性との関係を説明する。ここで、入力状態数ｍにおけるフローティングゲートしきい値電位Ｕfth とフローティングゲート電位Ｕfgとの電位差をノイズや製造バラツキに対する耐性と定義し、設計マージンと呼ぶ。設計マージンが大きければ、入力信号のノイズやゆらぎ、またはフローティングゲートに容量結合される端子の容量値のバラツキ、またはフローティングゲートしきい値電位Ｕfth のバラツキなどが生じる際に、誤動作を起こす確率が非常に小さくなる。
【００３２】
文献３には、入力状態数ｍの前後に２つのしきい値Ｚith1とＺith0とを設定する場合、Ｕin，Ｕv ，Ｕvdd ，Ｕgnd を次式のように設定する必要があることが示されている。
Ｕin＝ｍｉｎ［Ｕfth  ／（ｍ＋１／２），Ｕfth  ／（ｋ−ｍ＋１／２）］・・・・（３）
Ｕv＝Ｕin  ・・・・（４）
Ｕvdd＝Ｕfth−（ｍ＋１／２）・Ｕin  ・・・・（５）
Ｕgnd＝１−Ｕfth−（ｋ−ｍ＋１／２）・Ｕin  ・・・・（６）
但し、（３）式において、ｍｉｎ［Ｕfth ／（ｍ＋１／２），Ｕfth ／（ｋ−ｍ＋１／２）］は、Ｕfth ／（ｍ＋１／２），Ｕfth ／（ｋ−ｍ＋１／２）の何れか小さい方の値をとることを意味する。
【００３３】
ここで例として、ｍ＝ｋ、Ｕfth ＝１／２の場合を考える。この時、Ｕin＝Ｕv ＝１／（２ｋ＋１）、Ｕvdd ＝０、Ｕgnd ＝ｋ／（２ｋ＋１）となる。この場合、入力変数用端子input1とフローティングゲートＦＧとの間の容量値（入力変数用端子input1の容量値）Ｃとグランド電位に接続されている固定電位端子Ｐgnd とフローティングゲートＦＧとの間の容量値（固定電位端子Ｐgnd の容量値）Ｃgnd との比は１：ｋであり、入力変数用端子input1の容量値Ｃは固定電位端子Ｐgnd の容量値Ｃgnd と比べて小さいことが判る。
【００３４】
入力容量値条件を満たす最小容量値を用いて設計する時、固定電位端子Ｐgnd ，ＰVdd の容量値Ｃgnd ，Ｃvdd がなくなる、または小さくなれは、入力変数用端子input1の容量値Ｃを大きく取ることが可能になり、設計マージンの増加につながる。しかし、図１６に示した従来のνＭＯＳインバータ回路１６００の回路構成では、固定電位端子Ｐgnd ，ＰVdd の容量値Ｃgnd ，Ｃvdd を０とすることができず、設計マージンを増加させることができない。
【００３５】
以上説明したように、従来の可変しきい値しきい素子回路は、ノイズや製造バラツキに対する耐性が小さいという問題があった。具体的には、可変しきい値しきい素子回路の出力値を決定するフローティングゲートしきい値電位Ｕfth が製造時にばらついた場合に補正するための手段がなく、これが入力に対するマージンの低下または回路の誤動作を引き起こすという問題があった。また、可変しきい値を実現する際に用いる固定電位端子Ｐgnd ，ＰVdd とフローティングゲートＦＧとの間の容量値Ｃgnd ，Ｃvdd が必要であり、この容量値Ｃgnd ，Ｃvdd が大きいために、入力変数用端子input1とフローティングゲートＦＧとの間の実容量値が小さくなり、入力に対するマージンの低下または回路の誤動作を引き起こすという問題があった。また、当然ながら、この可変しきい値しきい素子回路を用いた従来の関数機能再構成可能集積回路、すなわち図１８に示した２入力変数可変関数ブロック１８００においても同様の問題が生じていた。
【００３６】
本発明はこのような課題を解決するためになされたもので、その目的とするところは、入力変数用端子とフローティングゲートとの間の実容量値を大とし、ノイズや製造バラツキに対する耐性である設計マージンを大きくして、フローティングゲートしきい値電位やフローティングゲートに容量結合される端子の容量値のバラツキに起因する誤動作、入力信号のノイズやゆらぎに起因する誤動作を抑制することの可能な可変しきい値しきい素子回路、この可変しきい値しきい素子回路における回路状態保持方法、この可変しきい値しきい素子回路を用いた関数機能再構成可能集積回路、およびこの関数機能再構成可能集積回路における回路状態保持方法を提供することにある。
【００３７】
【課題を解決するための手段】
このような目的を達成するために、本発明の可変しきい値しきい素子回路は、しきい素子の出力端子とゲート電極との間にスイッチを接続し、このスイッチを制御信号に応じてオン／オフすることによってしきい素子の出力端子とゲート電極との間を接続／遮断するようにする一方、しきい素子のゲート電極に容量結合された１以上の制御変数用端子（しきい値を制御する制御変数を伝搬する端子）とゲート電極との間の容量値の少なくとも１つを、ｋ個（ｋ＞１）の入力変数用端子とゲート電極との間の容量値の中の最小容量値よりも小さくしたものである（第１発明）。
【００３８】
例えば、制御変数用端子として第１の制御変数用端子と第２の制御変数用端子とを設け、第１の制御変数用端子とゲート電極との間の容量値を前記最小容量値とほゞ等しくし、第２の制御変数用端子とゲート電極との間の容量値を前記最小容量値よりも小さくする（第２発明）。また、第１の制御変数用端子を外部に接続される制御変数用入力端子と第１の所定の固定電位（例えば、電源電位）との何れか一方に接続する第１の切替スイッチと、第２の制御変数用端子を第２の所定電位（例えば、電源電位）と第３の所定電位（例えば、グランド電位）との何れか一方に接続する第２の切替スイッチとを設ける（第４発明）。
【００３９】
この場合、回路状態保持方法として、次のような方法（第１１発明）を適用する。先ず、しきい素子の出力端子とゲート電極との間に接続されたスイッチをオンとし、この出力端子とゲート電極との間を接続状態にする（第１のステップ）。この第１のステップの実行後、第１〜第ｋの入力変数用端子から所定の組合せの入力変数を入力した状態で、かつ制御変数用入力端子に制御変数（例えば、論理値「１」あるいは論理値「０」）を入力した状態で、第１の切替スイッチを作動させ、第１の制御変数用端子を制御変数用入力端子に接続するとともに、第２の切替スイッチを作動させ、第２の制御変数用端子を第２の所定電位（例えば、電源電位）に接続する（第２のステップ）。この第２のステップの実行後、しきい素子の出力端子とゲート電極との間のスイッチをオフとし、この出力端子とゲート電極との間を遮断状態とし（第３のステップ）、この第３のステップの実行後、第１の切替スイッチを作動させ、第１の制御変数用端子を第１の所定電位（例えば、電源電位）に接続するとともに、第２の切替スイッチを作動させ、第２の制御変数用端子を第３の所定電位（グランド電位）に接続する（第４のステップ）。
【００４０】
あるいは、制御変数用端子として唯一の制御変数用端子を設け、この唯一の制御変数用端子とゲート電極との間の容量値を最小容量値よりも小さくする（第３発明）。また、唯一の制御変数用端子を第１の所定の固定電位（例えば、電源電位）と第２の所定の固定電位（例えば、グランド電位）との何れか一方に接続する切替スイッチを設ける（第６発明）。
【００４１】
この場合、回路状態保持方法として、次のような方法を適用する（第１２発明）。先ず、しきい素子の出力端子とゲート電極との間に接続されたスイッチをオンとし、この出力端子とゲート電極との間を接続状態にする（第１のステップ）。この第１のステップの実行後、第１〜第ｋの入力変数用端子から所定の組合せの入力変数を入力した状態で切替スイッチを作動させ、唯一の制御変数用端子を第１の固定電位（例えば、電源電位）に接続する（第２のステップ）。この第２のステップの実行後、しきい素子の出力端子とゲート電極との間のスイッチをオフとし、この出力端子とゲート電極との間を遮断状態にし（第３のステップ）、切替スイッチを作動させ、唯一の制御変数用端子を第２の所定電位（例えば、グランド電位）に接続する（第４のステップ）。
【００４２】
本発明の可変しきい値素子回路では、従来必要であった固定電位端子Ｐgnd ，ＰVdd とフローティングゲートＦＧとの間の容量値Ｃgnd ，Ｃvdd が不要であり、制御変数用端子とフローティングゲートＦＧとの間の容量値は小さいので、入力変数用端子とフローティングゲートとの間の実容量値を大とし、ノイズや製造バラツキに対する耐性である設計マージンを大きくすることが可能となる。
【００４３】
また、本発明の関数機能再構成可能集積回路は、上述した可変しきい値しきい素子回路を多段接続して構成したものである（第１３発明）。
例えば、上述した可変しきい値しきい素子回路を２段接続して構成し、１段目の可変しきい値しきい素子回路を、その第１〜第ｋの入力変数用端子が共通に接続された複数の可変しきい値しきい素子回路により構成し、２段目の可変しきい値しきい素子回路を、１つの可変しきい値しきい素子回路により構成し、この可変しきい値閾素子回路の第１〜第ｋの入力変数用端子を１段目の各可変しきい値しきい素子回路の第１〜第ｋの入力変数用端子と共通に接続し、１段目の各可変しきい値しきい素子回路からの出力信号を２段目の可変しきい値しきい素子回路のゲート電極に容量結合された各入力端子に与える構造とする（第１４発明）。
【００４４】
また、関数機能を用いて演算を実行する関数機能実行時間とは別に関数機能を構成する関数機能構成時間を設け、関数構成時間を所定の数に分割し、この分割した各々の時間区分において、各可変しきい値しきい素子回路の回路構成に応じて、第１１発明の回路状態保持方法または第１２発明の回路状態保持方法にしたがって、所定の組合せの可変しきい値しきい素子回路の回路状態を保持するようにする（第１５発明）。
【００４５】
例えば、関数構成時間を関数機能再構成可能集積回路に含まれる可変しきい値しきい素子回路の数に分割し、この分割した各々の時間区分において、各可変しきい値しきい素子回路の回路構成に応じて、第１１発明の回路状態保持方法または第１２発明の回路状態保持方法にしたがって、各可変しきい値しきい素子回路の回路状態を保持する（第１６発明）。
あるいは、関数構成時間を関数機能再構成可能集積回路に含まれる１段目の可変しきい値しきい素子回路の数のほゞ半分に分割し、この分割した各々の時間区分において、各可変しきい値しきい素子回路の回路構成に応じて、第１１発明の回路状態保持方法または第１２発明の回路状態保持方法にしたがって、各可変しきい値しきい素子回路の回路状態を保持する（第１７発明）。
【００４６】
【発明の実施の形態】
以下、本発明を図面に基づいて詳細に説明する。
〔実施の形態１：状態保持機能を備えた可変しきい値しきい素子回路（その１）〕
図１はこの発明の一実施の形態を示す状態保持機能を備えたｋ入力変数のνＭＯＳインバータ回路の回路構成を示す図である。同図において、図１６と同一符号は同一或いは同等構成要素を示し、その説明は省略する。
【００４７】
このνＭＯＳインバータ回路１００では、νＭＯＳインバータＩＮＶの出力端子とフローティングゲートＦＧとの間にスイッチ１０１を接続し、スイッチ１０１のオン／オフをスイッチ制御回路Ａ１０９によって制御するようにしている。スイッチ制御回路Ａ１０９には制御端子ctl からの制御信号Ｖctl を与えるようにしている。すなわち、制御信号Ｖctl に応じてスイッチ１０１をオン／オフすることによって、νＭＯＳインバータＩＮＶの出力端子とフローティングゲートＦＧとの間を接続／遮断するようにしている。
【００４８】
また、切替スイッチ１０２と切替スイッチ１０３と遅延制御回路１１０とスイッチ制御回路Ｂ１１１とによって構成されたしきい値制御回路１１２を設け、制御端子ctl からの制御信号Ｖctl を遅延制御回路１１０を介してスイッチ制御回路Ｂ１１１へ与え、スイッチ制御回路Ｂ１１１によって切替スイッチ１０２および１０３の切替動作を制御するようにしている。
【００４９】
切替スイッチ１０２は、コモン端子１０２ｃがνＭＯＳインバータＩＮＶのフローティングゲートＦＧに制御変数用端子１０７を介して容量結合され、第１の切替接点端子１０２ａが制御変数用入力端子input2に接続され、第２の切替接点端子１０２ｂが電源電位に接続されている。スイッチ１０３は、コモン端子１０３ｃがνＭＯＳインバータＩＮＶのフローティングゲートＦＧに制御変数用端子１０８を介して容量結合され、第１の切替接点端子１０３ａがグランド電位に接続され、第２の切替接点端子１０３ｂが電源電位に接続されている。
【００５０】
このνＭＯＳインバータ回路１００には、図１６に示されたνＭＯＳインバータ回路１６００と比較して分かるように、電源電位に接続される固定電位端子Ｐvddがなく、固定電位端子Ｐvdd とフローティングゲートＦＧとの間の容量値Ｃvdd が存在しない。また、グランド電位に接続される固定電位端子Ｐgnd がなく、固定電位端子Ｐgnd とフローティングゲートＦＧとの間の容量値Ｃgnd が存在しない。
【００５１】
なお、制御変数用端子１０８とフローティングゲートＦＧとの間に容量値Ｃv2が存在し、制御変数用端子１０８がしきい値制御回路１１２においてグランド電位に接続されるが、この容量値Ｃv2は後述するように小さく、図１６に示された容量値Ｃgnd とは対応しない。
【００５２】
また、この実施の形態において、入力変数用端子input1［１］〜input1［ｋ］とフローティングゲートＦＧとの間の容量値Ｃ1 〜Ｃk は全て等しくＣとし（Ｃ1 〜Ｃk ＝Ｃ）、入力変数の重みを等しくしている。入力変数の重みを等しくすることは、入力変数によって形成される状態の数、即ち、入力状態数が（ｋ＋１）個であり、対称関数を表すことを意味する。
【００５３】
なお、対称関数でない論理関数を表現するためには、各入力変数の重みを、文献５［青山一生、澤田宏、名古屋彰、ニューロンＭＯＳによる論理関数回路の一設計手法、第１３回回路とシステム（軽井沢ワークショップ）、２０００年］に示される入力ベクトルの識別方法を適用することにより実現可能である。例として、（１≦ｉ≦ｋ）の整数ｉについて、入力変数用端子input1［ｉ］とフローティングゲートＦＧとの間の容量値をＣ・２i-1に設定する方法がある。
【００５４】
本実施の形態では、簡単化のために、対称関数の場合について説明をする。まず、入力状態数の概念を連続量に拡張した量を入力変数の状態量（入力状態量）とする。入力状態量は、物理的には入力変数の電位を連続値を取ることが可能と仮定した場合の入力状態を表す。また、νＭＯＳインバータＩＮＶにおけるしきい値を、第１の入力状態数と第１の入力状態数とは異なる第２の入力状態数との問でνＭＯＳインバータＩＮＶの出力が論理反転をする入力状態量と定義する。また、図１の制御変数用入力端子input2に印加される電位は、論理的に「１」である電位または論理的に「０」である電位のいずれか一方の電位であると仮定する。
【００５５】
回路製造後に、ある入力状態数ｍ（０≦ｍ≦ｋ）と（ｍ＋１）との間に１つ、ｍと（ｍ−１）との間に１つのしきい値を設定するためには、容量値Ｃv1をＣに、容量値Ｃv2の値を０＜Ｃv2＜Ｃにする。原理的にはＣv2の値は上記の範囲内であれば良いが、ノイズマージンと製造バラツキマージンとを確保するためにはＣv2＝０．５Ｃが望ましい。以降、Ｃv2＝０．５Ｃを用いる。なお、入力変数に重みをつける場合には、容量値Ｃv1を入力変数用端子input1［１］〜input1［ｋ］とフローティングゲートＦＧとの間の容量値Ｃ1 〜Ｃkの中の最小容量値Ｃminとほゞ等しくし、この最小容量値Ｃmin よりも容量値Ｃv2を小さくする（例えば、Ｃv2＝０．５Ｃmin とする）。
【００５６】
容量値Ｃv2の容量値Ｃに対する比は、取り得る２つのしきい値の距離に匹敵する。例えば、比が１の場合は、必ずある入力状態数ｍと隣接する入力状態数（ｍ＋１），（ｍ−１）との間にしきい値を設定することができる。また、比が２の場合は、ある入力状態数ｍと（ｍ＋１）との間に１つ、（ｍ−２）と（ｍ−１）との間に１つのしきい値を設定することができる。
【００５７】
［しきい値の設定方法］
次に、しきい値を入力状態数ｍと（ｍ＋１）との間に１つ、及び、（ｍ一１）とｍとの間に１つ設定する方法を説明する。
スイッチ１０１がオンとされている時、すなわちフィードバックループを接続状態としている時、νＭＯＳインバータＩＮＶの出力端子とフローティングゲートＦＧとは接続状態とされ、如何なる入力信号が入力されていても、フローティングゲートＦＧとνＭＯＳインバータＩＮＶの出力は共に電源電位Ｖddとグランド電位０の（１／２）の電位、Ｖdd／２になる。この性質を利用し、次の手順で操作する。
【００５８】
先ず、制御信号Ｖctl を論理値「１」とし、スイッチ制御回路Ａ１０９を介してスイッチ１０１をオンとする（第１ステップ）。次に、入力変数用端子input1［１］〜input1［ｋ］の内のｍ個の電位を論理値「１」に、すなわち入力状態数をｍにする。また、制御変数用入力端子input2の電位を論理値「１」とする。この状態で、遅延制御回路１１０での遅延時間を経て、スイッチ制御回路Ｂ１１１に論理値「１」の制御信号Ｖctl を送り、切替スイッチ１０２および１０３を作動させ、切替スイッチ１０２のコモン端子１０２ｃを切替接点端子１０２ａに接続させ、切替スイッチ１０３のコモン端子１０３ｃを切替接点端子１０３ｂに接続させる（第２ステップ）。
【００５９】
これにより、制御変数用入力端子input2からの論理値「１」の電源電位が、スイッチ１０２の切替接点端子１０２ａ→コモン端子１０２ｃの経路で、フローティングゲートＦＧに容量結合された制御変数用端子１０７に与えられる。また、スイッチ１０３の切替接点端子１０３ｂ→コモン端子１０３ｃの経路で、フローティングゲートＦＧに容量結合された制御変数用端子１０８に電源電位が与えられる。
【００６０】
次に、この入力状態を保ったまま、スイッチ制御回路Ａ１０９への制御信号Ｖctl を論理値「０」とし、スイッチ１０１をオフとし、フィードバックループを遮断する（第３ステップ）。この操作によって、入力状態数がｍであり、制御変数用端子１０７の電位が論理値「１」であり、制御変数用端子１０８がフローティングゲートＦＧに及ぼす効果が論理的に「１／２」である時が、νＭＯＳインバータＩＮＶの出力が論理反転を起こす入力条件となる。
【００６１】
次に、遅延制御回路１１０での遅延時間を経て、スイッチ制御回路Ｂ１１１に論理値「０」の制御信号Ｖctl を送り、切替スイッチ１０２および１０３を作動させ、切替スイッチ１０２のコモン端子１０２ｃを切替接点端子１０２ｂに接続させ、切替スイッチ１０３のコモン端子１０３ｃを切替接点端子１０３ａに接続させる（第４ステップ）。
【００６２】
これにより、切替スイッチ１０２の切替接点端子１０２ｂ→コモン端子１０２ｃの経路で、フローティングゲートＦＧに容量結合された制御変数用端子１０７に電源電位が接続され、また切替スイッチ１０３の切替接点端子１０３ａ→コモン端子１０３ｃの経路で、フローティングゲートＦＧに容量結合された制御変数用端子１０８がグランド電位に接続される。
【００６３】
この操作によって、制御変数用端子１０７には論理値「１」である電源電位が加わり、制御変数用端子１０８には論理値「０」であるグランド電位が加わる。以降、この状態が保持され、入力状態数がｍである場合は、しきい値に達することがなく、入力状態数が（ｍ＋１）の時はしきい値を越え、νＭＯＳインバータＩＮＶの出力が論理反転を起こすようになる。すなわち、上述した第１〜第４ステップの操作により、しきい値が入力状態量ｍ＋０．５に設定され、保持されたことになる。
【００６４】
なお、上述した第２ステップにおいて、切替スイッチ１０２のコモン端子１０２ｃを切替接点端子１０２ａに接続し、制御変数用入力端子input2より論理値「０」であるグランド電位を印加すれば、しきい値を入力状態量ｍ−０．５に設定することができる。
【００６５】
以上説明したように、この実施の形態１の回路と方法を用いることにより、従来必要であった固定電位端子Ｐgnd ，ＰVdd とフローティングゲートＦＧとの間の容量値Ｃgnd ，Ｃvdd を用いることなく、任意の入力状態数の前後にしきい値を設定することが可能になる。この場合、制御変数用端子１０７とフローティングゲートＦＧとの間の容量値Ｃv1および制御変数用端子１０８とフローティングゲートＦＧとの間の容量値Ｃv2は小さく（Ｃv1＝Ｃ、Ｃv2＝０．５Ｃ）、入力変数用端子input1［１］〜input1［ｋ］とフローティングゲートＦＧとの間の実容量値Ｃを大とし、ノイズや製造バラツキに対する耐性である設計マージンを大きくすることが可能となる。これにより、フローティングゲートしきい値電位Ｕfth やフローティングゲートに容量結合される端子の容量値のバラツキに起因する誤動作、入力信号のノイズやゆらぎに起因する誤動作を抑制することが可能となる。
【００６６】
〔実施の形態１の具体的な回路例１〕
図２（ａ）は、２入力変数のνＭＯＳインバータ回路の回路構成を表す図である。このνＭＯＳインバータ回路２００ａは、図１に示したνＭＯＳインバータ回路１００のスイッチ１０１をトランスミッションゲート２ａ１で、切替スイッチ１０２および１０３とスイッチ制御回路Ｂ１１１との持つ機能をトランスミッションゲート２ａ２とＰＭＯＳＦＥＴパストランジスタ２ａ４とインバータ２ａ３で、スイッチ制御回路Ａ１０９をインバータ２ａ５で構成されるスイッチ制御回路２ａ１２で代替した回路である。
【００６７】
このνＭＯＳインバータ回路２００ａにおいて、しきい値を設定する方法は図１のνＭＯＳインバー回路１００で示した方法と全く同じである。例として、このνＭＯＳインバータ回路２００ａにおいて、入力状態数０の前後にしきい値を設定する手順を説明する。
【００６８】
先ず、制御端子ctl0の電位を論理値「１」にする。これによって、トランスミッションゲート２ａ１が接続状態になる（第１ステップ）。また、遅延制御回路２ａ６での遅延時間を経て、トランスミッションゲート２ａ２が接続状態になり、パストランジスタ２ａ４が遮断状態になる。この時、制御変数用端子２ａ１１には論理値「１」が加わる。
【００６９】
次に、入力変数用端子input1［１］とinput1［２］とをグランド電位にすることで入力状態数を０にし、制御変数用入力端子input2を電源電位にし、制御変数用端子２ａ１０に論理値「１」を与える（第２ステップ）。次に、この入力状態を保ったまま、制御端子ctl0の電位を論理値「０」にし、トランスミッションゲート２ａ１を遮断状態とする（第３ステップ）。
【００７０】
この操作によって、入力状態数が０であり、制御変数用端子２ａ１０の論理値が「１」であり、制御変数用端子２ａ１１がフローティングゲートＦＧに及ぼす効果が論理的に「１／２」である時が、νＭＯＳインバータＩＮＶの出力が論理反転を起こす入力条件となる。
【００７１】
この後、遅延制御回路１１０での遅延時間を経て、トランスミッションゲート２ａ２が遮断され、パストランジスタ２ａ４が接続状態になり、制御変数用端子２ａ１０に論理値「１」である電源電位が供給される。また、制御変数用端子２ａ１１は論理値「０」であるグランド電位になる（第４ステップ）。
【００７２】
以降、この状態が保持され、入力状態数が０である場合は、しきい値に達することがなく、入力状態数が１の時はしきい値を越え、νＭＯＳインバータＩＮＶの出力が論理反転を起こすようになる。すなわち、上述した第１〜第４ステップの操作により、しきい値が入力状態量０．５に設定され、保持されたことになる。なお、上述した第２ステップにおいて、制御変数用入力端子input2より論理値「０」であるグランド電位を印加すれば、しきい値を入力状態量−０．５に設定することができる。
【００７３】
〔実施の形態１の具体的な回路例２〕
次に、図２（ａ）とはしきい値を設定する際に制御変数用入力端子input2に与える論理値が異なるが、全く同じ機能を有する回路について説明する。図２（ｂ）は、２入力変数のνＭＯＳインバータ回路の回路構成を表す図である。このνＭＯＳインバータ回路２００ｂは、図１に示したνＭＯＳインバー回路１００の遅延制御回路１１０とスイッチ制御回路Ｂ１１１と切替スイッチ１０３とをパストランジスタ２ｂ１１とインバータ２ｂ１０で代替し、切替スイッチ１０２とスイッチ制御回路Ｂ１１１とをＮＡＮＤ回路２ｂ２で代替した回路である。
【００７４】
但し、機能的には図１に示したνＭＯＳインバー回路１００における制御変数用入力端子input2と切替スイッチ１０２との間にインバータ回路が挿入された回路と同等である。即ち、しきい値を設定する際に制御変数用入力端子input2から入力される電位が図１の回路１００及び図２（ａ）の回路２００ａの場合の論理反転である。
【００７５】
例として、このνＭＯＳインバータ回路２００ｂにおいて、入力状態数１の前後にしきい値を設定する手順を説明する。先ず、制御端子ctl0の電位を論理値「１」にする。これによって、トランスミッションゲート２ｂ１が接続状態になる（第１ステップ）。また、パストランジスタ２ｂ１１及びインバータ２ｂ１０を信号が伝搬する遅延時間を経て、ＮＡＮＤ回路２ｂ２の一端に論理値「１」の電源電位が与えられる。また、この時、制御変数用端子２ｂ９にも論理値「１」である電源電位が加わる。
【００７６】
次に、入力変数用端子input1［１］とinput1［２］とのいずれか一方を電源電位に、他方をグランド電位にすることで、入力状態数を１にする。また、制御変数用入力端子input2をグランド電位にする。これにより、ＮＡＮＤ回路２ｂ２の出力が論理値「１」となり、制御変数用端子２ｂ８に論理値「１」が与えられる（第２ステップ）。次に、この入力状態を保ったまま、制御端子ctl0の電位を論理値「０」にし、トランスミッションゲート２ｂ１を遮断状態とする（第３ステップ）。
【００７７】
この操作によって、入力状態数が１であり、制御変数用端子２ｂ８の論理値が「１」であり、制御変数用端子２ｂ９がフローティングゲートＦＧに及ぼす効果が論理的に「１／２」である時が、νＭＯＳインバータＩＮＶの出力が論理反転を起こす入力条件となる。
【００７８】
この後、パストランジスタ２ｂ１１とインバータ２ｂ１０を信号が伝搬する遅延時間を経て、制御変数用端子２ｂ９が論理値「０」になり、ＮＡＮＤ回路２ｂ２の出力が論理値「１」である電源電位になり、制御変数用端子２ｂ８に論理値「１」が与えられる（第４ステップ）。
【００７９】
以降、この状態が保持され、入力状態数が１である場合は、しきい値に達することはなく、入力状態数が２の時はしきい値を越え、νＭＯＳインバータＩＮＶの出力が論理反転を起こすようになる。すなわち、上述した第１〜第４ステップの操作により、しきい値が入力状態量１．５に設定され、保持されたことになる。なお、上述した第２ステップにおいて、制御変数用入力端子input2より論理値「１」である電源電位を印加すれば、しきい値を入力状態量０．５に設定することができる。
【００８０】
〔実施の形態２：状態保持機能を備えた可変しきい値しきい素子回路（その２）〕
図３は、入力状態数ｍ＞０の前後にしきい値を設定することが可能な状態保持機能を備えたｋ入力変数のνＭＯＳインバータ回路の回路構成を示す図である。このνＭＯＳインバータ回路３００は、図１に示したνＭＯＳインバータ回路１００と類似の構成であるが、図１の回路１００の制御変数用入力端子input2と切替スイッチ１０２と制御変数用端子１０７に相当する回路が存在しないことに特徴がある。
【００８１】
図１の回路１００では、ｍ≧０の入力状態数の前後にしきい値を設定することができた。図１における制御変数用端子１０７とその容量値Ｃv1は、入力状態数が０の場合の負のしきい値（例えば、−０．５）の設定を行う際に必要である。これはｍ＝０より小さい値にしきい値の設定が必要である場合を想定しているためである。入力状態数を０より大きい整数に限定すれば、すなわちｍ＝０の前にしきい値の設定を必要としなければ、回路構成を簡単化することが可能になる。
【００８２】
この実施の形態２においては、ｍ＝０より小さい値にはしきい値を設定することができないが、ｍ＞０の前後にしきい値を設定することができるようにして、回路構成を簡単化している。この実施の形態２においても、実施の形態１と同様に対称関数を対象とする。
【００８３】
［しきい値の設定方法〕
次に、しきい値を入力状態数ｍと（ｍ＋１）との問に１つ、及び、（ｍ−１）とｍとの間に１つ設定する方法を説明する。
まず、しきい値を入力状態数ｍと（ｍ＋１）との問に１つ設定する手順について説明する。但し、ｍ＞０である。
【００８４】
先ず、制御信号Ｖctl を論理値「１」とし、スイッチ制御回路Ａ３０７を介してスイッチ３０１をオンとする（第１ステップ）。次に、入力変数用端子input1［１］〜input1［ｋ］の内のｍ個の電位を論理値「１」に、すなわち入力状態数をｍにする。この状態で、遅延制御回路３０８での遅延時間を経て、スイッチ制御回路Ｂ３０９に論理値「１」の制御信号Ｖctl を送り、切替スイッチ３０２を作動させ、切替スイッチ３０２のコモン端子３０２ｃを切替接点端子３０２ｂに接続させる（第２ステップ）。これにより、スイッチ３０２の切替接点端子３０２ｂ→コモン端子３０２ｃの経路で、フローティングゲートＦＧに容量結合された制御変数用端子３０６に電源電位が与えられる。
【００８５】
次に、この入力状態を保ったまま、スイッチ制御回路３０７への制御信号Ｖctl を論理値「０」とし、スイッチ３０１をオフとし、フィードバックループを遮断する（第３ステップ）。この操作によって、入力状態数がｍであり、制御変数用端子３０６がフローティングゲートＦＧに及ぼす効果が論理的に「１／２」である時が、νＭＯＳインバータＩＮＶの出力が論理反転を起こす入力条件となる。
【００８６】
次に、遅延制御回路３０８での遅延時間を経て、スイッチ制御回路Ｂ３０９に論理値「０」の制御信号Ｖctl を送り、切替スイッチ３０２を作動させ、コモン端子３０２ｃを切替接点端子３０２ａに接続させる（第４ステップ）。これにより、切替接点端子３０２ａ→コモン端子３０２ｃの経路で、フローティングゲートＦＧに容量結合された制御変数用端子３０６がグランド電位に接続される。
【００８７】
この操作によって、制御変数用端子３０６には論理値「０」であるグランド電位が加わる。以降、この状態が保持され、入力状態数がｍである場合は、しきい値に達することがなく、入力状態数が（ｍ＋１）の時はしきい値を越え、νＭＯＳインバータＩＮＶの出力が論理反転を起こすようになる。すなわち、上述した第１〜第４ステップの操作により、しきい値が入力状態量ｍ＋０．５に設定され、保持されたことになる。
【００８８】
次に、しきい値を入力状態数（ｍ−１）とｍとの問に１つ設定する手順について説明する。但し、ｍ＞０である。
【００８９】
先ず、制御信号Ｖctl を論理値「１」とし、スイッチ制御回路Ａ３０７を介してスイッチ３０１をオンとする（第１ステップ）。次に、入力変数用端子input1［１］〜input1［ｋ］の内のｍ−１個の電位を論理値「１」に、すなわち入力状態数をｍ−１にする。この状態で、遅延制御回路３０８での遅延時間を経て、スイッチ制御回路Ｂ３０９に論理値「１」の制御信号Ｖctl を送り、切替スイッチ３０２を作動させ、切替スイッチ３０２のコモン端子３０２ｃを切替接点端子３０２ｂに接続させる（第２ステップ）。これにより、スイッチ３０２の切替接点端子３０２ｂ→コモン端子３０２ｃの経路で、フローティングゲートＦＧに容量結合された制御変数用端子３０６に電源電位が与えられる。
【００９０】
次に、この入力状態を保ったまま、スイッチ制御回路３０７への制御信号Ｖctl を論理値「０」とし、スイッチ３０１をオフとし、フィードバックループを遮断する（第３ステップ）。この操作によって、入力状態数がｍ−１であり、制御変数用端子３０６がフローティングゲートＦＧに及ぼす効果が論理的に「１／２」である時が、νＭＯＳインバータＩＮＶの出力が論理反転を起こす入力条件となる。
【００９１】
次に、遅延制御回路３０８での遅延時間を経て、スイッチ制御回路Ｂ３０９に論理値「０」の制御信号Ｖctl を送り、切替スイッチ３０２を作動させ、コモン端子３０２ｃを切替接点端子３０２ａに接続させる（第４ステップ）。これにより、切替接点端子３０２ａ→コモン端子３０２２ｃの経路で、フローティングゲートＦＧに容量結合された制御変数用端子３０６がグランド電位に接続される。
【００９２】
この操作によって、制御変数用端子３０６には論理値「０」であるグランド電位が加わる。以降、この状態が保持され、入力状態数がｍ−１である場合は、しきい値に達することがなく、入力状態数がｍの時はしきい値を越え、νＭＯＳインバータＩＮＶの出力が論理反転を起こすようになる。すなわち、上述した第１〜第４ステップの操作により、しきい値が入力状態量ｍ−０．５に設定され、保持されたことになる。
【００９３】
以上説明したように、この実施の形態２の回路と方法を用いることにより、従来必要であった固定電位端子Ｐgnd ，ＰVdd とフローティングゲートＦＧとの間の容量値Ｃgnd ，Ｃvdd を用いることなく、ｍ＞０の任意の入力状態数の前後にしきい値を設定することが可能になる。この場合、制御変数用端子３０６とフローティングゲートＦＧとの間の容量値Ｃv2は小さく（Ｃv2＝０．５Ｃ）、入力変数用端子input1［１］〜input1［ｋ］とフローティングゲートＦＧとの間の実容量値Ｃを大とし、ノイズや製造バラツキに対する耐性である設計マージンを大きくすることが可能となる。これにより、フローティングゲートしきい値電位Ｕfth やフローティングゲートに容量結合される端子の容量値のバラツキに起因する誤動作、入力信号のノイズやゆらぎに起因する誤動作を抑制することが可能となる。
【００９４】
［実施の形態２の具体的な回路例］
図４は、整数ｍ＞０の範囲の入力状態数ｍの前後にしきい値を設定することが可能な２入力変数のνＭＯＳインバータ回路の回路構成図である。このνＭＯＳインバータ回路４００は、図３に示したνＭＯＳインバータ回路３００におけるスイッチ制御回路Ａ３０７と遅延制御回路３０８とスイッチ制御回路Ｂ３０９と切替スイッチ３０２とを、インバータ４０３によって構成されたスイッチ制御回路４０７とパストランジスタ４０６とインバータ４０５とによって置換し、スイッチ３０１をトランスミッションゲート４０１に置換した回路である。
【００９５】
このνＭＯＳインバータ回路３００において、入力状態数２の前後にしきい値を設定する手順を説明する。
先ず、制御端子ctl1の電位を論理値「１」にする。これによって、トランスミッションゲート４０１が接続状態になる（第１ステップ）。また、パストランジスタ４０６及びインバータ４０５を信号が伝搬する遅延時間を経て、制御変数用端子４０４は論理値「１」である電源電位になる。
【００９６】
次に、入力変数用端子input1［１］とinput1［２］とに論理値「１」である電源電位を与え、入力状態数を２にする。次に、この状態を保ったまま、制御端子ctl1の電位を論理値「０」にし、トランスミッションゲート４０１を遮断状態とする（第３ステップ）。
【００９７】
この操作によって、入力状態数が２であり、制御変数用端子４０４の論理値が「１」であり、制御変数用端子４０４がフローティングゲートＦＧに及ぼす効果が論理的に「１／２」である時が、νＭＯＳインバータＩＮＶの出力が論理反転を起こす入力条件となる。
【００９８】
この後、パストランジスタ４０６とインバータ４０５を信号が伝搬する遅延時間を経て、制御変数用端子４０４が論理値「０」になる（第４ステップ）。以降、この状態が保持され、入力状態数が２である場合は、しきい値に達することはなく、νＭＯＳインバータＩＮＶは取り得る入力状態数では論理反転を起こさない。すなわち、上述した第１〜第４ステップの操作により、しきい値が入力状態量２より大きな値に設定され、保持されたことになる。なお、上述した第２ステップにおいて、入力状態数を１とすれば、しきい値を入力状態量１．５に設定することができる。
【００９９】
〔実施の形態３：関数機能再構成可能集積回路〕
図５は、ｋ入力変数の任意の対称関数を実現する関数機能再構成可能集積回路の構成図である。この関数機能再構成可能集積回路５００は、実施の形態１で示したνＭＯＳインバータ回路（可変しきい値しきい素子回路）１００を２段接続した構成としている。
【０１００】
この回路５００において、１段目の可変しきい値しきい素子回路は、その入力変数用端子input1〔１〕〜input1〔ｋ〕が共通に接続されたνＭＯＳインバータ回路ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕により構成されている。
【０１０１】
２段目の可変しきい値しきい素子回路は、１つのνＭＯＳインバータ回路ＳＴＥにより構成され、この２段目のνＭＯＳインバータ回路ＳＴＥの入力変数用端子input3〔１〕〜input3〔ｋ〕が１段目のνＭＯＳインバータ回路ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕の入力変数用端子input1〔１〕〜input1〔ｋ〕と共通に接続され、１段目のνＭＯＳインバータ回路ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕からの出力信号が２段目のνＭＯＳインバータ回路ＳＴＥのフローティングゲートＦＧ［Ｓ］に容量結合された入力端子input4〔０〕〜input4〔ｋ〕に与えられる構造とされている。
【０１０２】
なお、２段目のνＭＯＳインバータ回路ＳＴＥの入力変数用端子input3〔１〕〜input3〔ｋ〕の前段には遅延制御回路ＤＥＬ［１］〜ＤＥＬ［ｋ］が設けられ、２段目のνＭＯＳインバータ回路ＳＴＥの入力端子input4〔０〕〜input4〔ｋ〕と１段目のνＭＯＳインバータ回路ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕との間にはバッファ回路ＢＦ［０］〜ＢＦ［ｋ］が設けられている。また、２段目のνＭＯＳインバータ回路ＳＴＥの出力側には、バッファ回路ＢＦ［Ｓ］が設けられている。
【０１０３】
νＭＯＳインバータ回路ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕のしきい値は、（ｋ＋１）個の入力状態数の中から重なることなく１対１対応する１つの入力状態数ｍの前後の２つの値、即ち、（ｍ−１）とｍとの問、ｍと（ｍ＋１）との間の２つの値のいずれか一方を選択できるように設定する。例えば、ＦＴＥ〔０〕，ＦＴＥ〔１〕、．．．ＦＴＥ〔ｋ〕の順に入力状態数０の前後、入力状態数１の前後、．．．、入力状態数ｋの前後にしきい値を選択できるように設定する。本実施の形態では、このような設定がなされているものとする。
【０１０４】
ＳＴＥの基本的回路構成はＦＴＥと同じであるが、ＦＴＥに入力される信号の他にＦＴＥからの出力信号も入力されている点が異なる。任意の対称関数を実現するためには、ＳＴＥにおける入力変数用端子input3〔１〕〜input3〔ｋ〕とフローティングゲートＦＧ［Ｓ］との間の容量値を等しくＣに設定し、またＳＴＥにおける入力端子input4〔０〕〜input4〔ｋ〕とフローティングゲートＦＧとの間の容量値も等しくＣに設定する。また、制御変数用端子５０７とフローティングゲートＦＧとの間の容量値Ｃv1はＣとし、制御変数用端子５０８とフローティングゲートＦＧとの間の容量値Ｃv2は０．５Ｃとする。
【０１０５】
なお、ここで用いるＣは必ずしも実施の形態１、実施の形態２で用いたＣの値と同じである必要はない。また、回路５００中の各ＦＴＥ，ＳＴＥごとにＣの値は異なっても良い。また、バッファ回路ＢＦ［０］〜ＢＦ［ｋ］およびＢＦ［Ｓ］は、νＭＯＳインバータＩＮＶ［１］〜ＩＮＶ［ｋ］およびＩＮＶ［Ｓ］から出力される電位が中間電位であるために、この電位を電源電位とグランド電位との２値に増幅、波形整形するために設けられている。また、遅延制御回路ＤＥＬ［１］〜ＤＥＬ［ｋ］は、ＳＴＥに入力される信号の各々の遅延時間が異なるために発生するハザードを回避、抑制するために設けられている。
【０１０６】
この回路５００では、ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕およびＳＴＥに対してスイッチを制御するための信号を回路外から供給するように、ｃｔｌ［０］〜ｃｔｌ［（ｋ＋１）］までｋ＋２個の制御端子が用意されている。しかしながら、ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕およびＳＴＥにおけるしきい値設定のための時間を異なる時刻に設定できれば良いので、制御端子をｃｔｌ［０］のみにし、ｃｔｌ［０］から入力される制御信号にＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕およびＳＴＥに対応するある遅延時間を与える回路を経て、ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕およびＳＴＥに制御信号を供給する回路構成としても良い。
【０１０７】
〔任意の対称関数を構成する方法〕
実施の形態１で示したように、しきい値を設定するために入力変数を用いる。従って、異なる複数の入力状態数の前後にしきい値を設定する場合は時間軸上で各々のしきい値設定のための時間を設ける必要がある。図６は、関数を構成するための時間を分割して使用することを表す概念図である。ｋ入力変数の任意の対称関数を構成するために関数構成時間は、（ｋ＋１）個のＦＴＥと１個のＳＴＥとのために（ｋ＋２）個の時間区分に分割される。図６中のＦ０区間はＦＴＥ〔０〕のしきい値設定時間区分であり、Ｆ１区間はＦＴＥ〔２〕のためのしきい値設定時間区分である。他のＦＴＥ〔３〕〜ＦＴＥ〔ｋ〕についても同様であり、ＳＴＥに対しても時間区分Ｓ０においてしきい値を設定する。
【０１０８】
制御端子ｃｔｌ［０］〜ｃｔｌ［ｋ］及びｃｔｌ［ｋ十１］から入力される制御信号は各々の時間区分に対してＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕およびＳＴＥにおけるフィードバックループを形成するスイッチｓｗ０〜ｓｗｋ，ｓｗｓを接続状態にする。構成される関数と制御変数用入力端子input2から入力される論理値との関係は、ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕およびＳＴＥのしきい値制御回路１１２及びスイッチ制御回路１０９の回路構成に依存する。以降、実施の形態１で示した具体的な回路例の後者の回路２００ｂを用いて、関数を構成する際の操作手順を説明する。
【０１０９】
先ず、図６のＦ０区間中、制御端子ｃｔｌ［０］に論理値「１」を与える。次に、入力状態数を０にし、制御変数用入力端子input2より電源電位（論理値「１」）または、グランド電位（論理値「０」）を入力する。電源電位を与えた場合をＦ０Ａ状態と呼び、グランド電位を与えた場合をＦ０Ｂ状態と呼ぶ。次に、制御端子ｃｔｌ［０］に論理値「０」を与え、Ｆ０区間を終了する。
【０１１０】
この操作によって、Ｆ０区間以外の時間においては、ＦＴＥ〔０〕に接続されるバッファ回路ＢＦ［０］は、入力状態数が０でありＦ０Ａ状態である場合は論理値「０」を出力し、Ｆ０Ｂ状態である場合は論理値「１」を出力し、入力状態数が１以上である場合は常に論理値「０」を出力する。この手順を各時間区分において他のＦＴＥにも同様に繰り返す。
【０１１１】
次に、ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕のしきい値設定終了後、ＳＴＥのしきい値設定を時間区分Ｓ０において行う。先ず、図６のＳ０区間中、制御端子ｃｔｌ［（ｋ＋１）］に論理値「１」である電源電位を与える。次に、入力状態数をｋにし、制御変数用入力端子input2よりＦＴＥ〔ｋ〕のしきい値設定を行った電位とは論理反転である電位を入力する。即ち、Ｆｋ区間に制御変数用入力端子input2より電源電位を与えた場合はＳ０区間ではグランド電位を、逆も同様である。次に、制御端子ｃｔｌ［（ｋ＋１）］に論理値「０」であるグランド電位を与え、Ｓ０区間を終了する。
【０１１２】
この操作によって、ＳＴＥは入力される論理値が（ｋ＋１＋０．５）の時に論理反転する。時間区分Ｓ０が終了後、ＳＴＥに入力される（２ｋ＋１）個の信号の中、如何なる入力状態数であってもｋ個が論理値「１」であり、ｋ個が論理値「０」であり、残りの１個が論理値「１」または論理値「０」のいずれか一方である。ここで、論理値「１」または論理値「０」のいずれかを取るＦＴＥを関数値決定素子を呼ぶ。また、Ｓ０区間の後の区間では、実施の形態１で示したように、ＳＴＥの制御変数用端子５０７の容量値Ｃv1がＣ、制御変数用端子５０８の容量値Ｃv2が０．５Ｃであり、容量値Ｃv1の容量には、しきい値制御回路１１２〔ｋ＋１〕から電源電位が、容量値Ｃv2の容量には、しきい値制御回路１１２〔ｋ＋１〕からグランド電位が供給される。
【０１１３】
従って、ある入力状態数における回路５００の出力値は、前記の関数値決定素子の出力値の論理的反転の値となる。回路５００では全ての入力状態数において、論理値「１」または論理値「０」を出力可能であるために、任意の対称関数を実現することが可能である。任意の論理関数を実現するためには、実施の形態１で指摘した通り、入力変数に対する重みを変更するだけで良い。以上説明したように、この実施の形態３の回路と方法を用いることにより、任意の対称関数を実現することが可能になる。
【０１１４】
（実施の形態４：関数機能再構成可能集積回路の具体例１）
図７は、２入力変数の任意の対称関数を実現する関数機能再構成可能集積回路の構成図である。この関数機能再構成可能集積回路７００は、実施の形態３で示した図５の回路５００のｋ＝２の場合に相当し、回路５００のＦＴＥ及びＳＴＥのスイッチとスイッチ制御回路としきい値制御回路とを、実施の形態１で示した図２（ｂ）の回路２００ｂのトランスミッションゲートとスイッチ制御回路としきい値制御回路とで置換した回路である。特に、ＦＴＥには回路２００ｂを使用している。バッファ回路ＢＦにはインバータ回路の２段構成を用い、遅延制御回路ＤＥＬにはインバータ回路とパストランジスタの組合せを用いている。
【０１１５】
［任意の対称関数を構成する方法］
図８は、関数構成時間に各入力端子に与えられる電位を表す図である。横軸は時間をnsec単位で表しており、縦軸は各端子の電位を表している。図８中のＶctl0，Ｖctl1，Ｖctl2，Ｖctl3，Ｖin11，Ｖin12，Ｖin2は各々制御端子ｃｔｌ０、ｃｔｌ１、ｃｔｌ２，ｃｔｌ３、入力変数用端子input1［１］，input1［２］、制御変数用入力端子input2の電位を表している。
【０１１６】
関数構成時間は１００nsecであり、４つに分割された各々の時間が図７中のＦＴＥ［０］、ＦＴＥ［１］、ＦＴＥ［２］、ＳＴＥにおけるしきい値の設定に当てられる。ＦＴＥ［０］〜ＦＴＥ［２］およびＳＴＥにおけるフィードバックループが遮断される際に状態変化を起こさないように、入力状態数を決めるＶin11とＶin12、関数構成データを与える制御変数用入力端子input2のＶin2 は制御信号よりも長く同じ状態を保つように入力される。
【０１１７】
なお、本実施の形態では、回路７００中の全ての可変しきい値しきい素子回路におけるフィードバックループが遮断され、フローティングゲートが電気的に高インピーダンスであり、関数構成時間に規定された関数を用いて演算を行う時間を「関数実行時間」と呼ぶ。
【０１１８】
第１の時間区分である０〜２５nsec間に、制御信号中Ｖctl0電位のみを論理値「１」にし、入力状態数を０にする。Ｖin2 を論理値「１」または論理値「０」のいずれか一方にする。論理値「１」を入力した場合は関数実行時間にＦＴＥ［０］の出力は論理値「０」になり、論理値「０」を入力した場合は逆になる。
【０１１９】
第２の時間区分である２５〜５０nsec間に、制御信号中Ｖctl1電位のみを論理値「１」にし、入力状態数を１にする。Ｖin2を論理値「１」または論理値「０」のいずれか一方にする。論理値「１」を入力した場合は関数実行時間にＦＴＥ［１］の出力は論理値「０」になり、論理値「０」を入力した場合は逆になる。
【０１２０】
第３の時間区分である５０〜７５nsec間に、制御信号中Ｖctl2電位のみを論理値「１」にし、入力状態数を２にする。Ｖin2を論理値「１」または論理値「０」のいずれか一方にする。論理値「１」を入力した場合は関数実行時間にＦＴＥ［２］の出力は論理値「０」になり、論理値「０」を入力した場合は逆になる。
【０１２１】
第４の時間区分である７５〜１００nsec間に、制御信号中Ｖctl3電位のみを論理値「１」にし、入力状態数を２にする。Ｖin2 を第３の時間区分与えた論理値とは論理反転の値にする。
【０１２２】
この一連の操作により、関数実行時において、入力状態数が０の場合は、ＦＴＥ［０］の出力値の論理反転が出力される、即ち、第１の時間区分のＶin2 の論理値が出力される。同様に、入力状態数が１の時は第２の時間区分のＶin2 の論理値が、入力状態数が２の時は第３の時間区分のＶin2 の論理値が出力される。このように、制御変数用入力端子input2から与える論理値（構成データ）によって、任意の対称関数を実現することができる。
【０１２３】
［シミュレーション結果］
図９は、図７に示した回路７００に対して図８に示した手順を用いて関数機能の構成を行い、２入力変数対称関数を実行したシミュレーション結果を表す図である。２入力変数で実現可能な８つの対称関数、ＡＮＤ，ＯＲ，ＮＡＮＤ，ＮＯＲ，ＸＯＲ，ＸＮＯＲ，０，１機能を５００nsec単位を１時間区分として実行した。各５００nsec中、初めの１００nsecを図８で示す関数構成時間に当てた。
【０１２４】
次に、ＡＮＤが実現される場合を例に取り説明する。ＡＮＤは、入力状態数が２の場合にのみ論理値「１」を出力し、他の入力状態数の時に論理値「０」を出力するように設定する必要がある。  このため、０〜１００nsec間のＶin2 に対して第１の時間区分において論理値「０」を、第２の時間区分において論理値「０」を、第３の時間区分において論理値「１」を、第４の時間区分において論理値「０」を入力する。他の関数も同様の方法で実現できていることが、図９から判る。
【０１２５】
〔実施の形態５：関数機能再構成可能集積回路の具体例２〕
図１０は、実施の形態１で示した図２（ｂ）の可変しきい値しきい素子回路２００ｂと実施の形態２で示した図４の可変しきい値しきい素子回路４００とを用いた２入力変数の任意の対称関数を実現する関数機能再構成可能集積回路の構成図である。
【０１２６】
この関数機能再構成可能集積回路１０００は、入力状態数０の時の関数決定素子（ＦＴＥ〔０〕）に実施の形態１の図２（ｂ）で示した回路２００ｂを用い、他の入力状態数に対する関数決定素子（ＦＴＥ〔１〕、ＦＴＥ〔２〕）に実施の形態２の図４で示した回路４００を用いる。２段目の可変しきい値しきい素子回路ＳＴＥは、実施の形態４で示した回路と同じである。
【０１２７】
この構成によって、素子数を大幅に削減することが可能になる。この回路構成では、ｋ入力変数の場合にも１より大きい入力状態数に対して、関数決定素子になるしきい素子回路にＦＴＥ〔１〕，ＦＴＥ〔２〕と同様の回路を適用することで容易に拡張できる。
【０１２８】
［任意の対称関数を構成する方法及び回路シミュレーション結果１
図１１は、図１０に示した回路１０００に対して関数機能を実行したシミュレーション結果を表す図である。横軸、縦軸は共に図９と同じである。時間軸を８分割し、各区分で異なる８種類の対称関数が実現されていることが判る。図９との相違点は、８つの時間区分の各々の初めの１００nsecにおけるＶin11，Ｖin12，Ｖin2の値にある。
【０１２９】
１００〜５００nsecの時間に実現されているＡＮＤを例に取り、関数機能の構成方法を説明する。実施の形態４で述べたのと同様に、関数構成時間を４分割し、第１から第４の時間区分とする。第１の時間区分を０〜２５nsecとし、ｃｔｌ０端子のＶctl0電位のみを論理値「１」にする。第２の時間区分を２５〜５０nsecとし、ｃｔｌ１端子のＶctl1電位のみを論理値「１」にする。第３の時間区分を５０〜７５nsecとし、ｃｔｌ２端子のＶctl2電位のみを論理値「１」にする。第４の時間区分を７５〜１００nsecとし、ｃｔｌ３端子のＶctl3電位のみを論理値「１」にする。
【０１３０】
第１の時間区分と第４の時間区分においてしきい値が設定されるＦＴＥ［０］とＳＴＥは第４の実施例の回路７００のものと全く同じであるため、操作手順は同じである。但し、本実施例においては、ＳＴＥのしきい値を設定する際に入力状態数０を用いたため、第４の時間区分において制御変数用入力端子input2から入力される電位の論理値は第１の時間区分で与えられる値の論理反転である。従って、この実施の形態５の特徴は、第２の時間区分と第３の時間区分におけるＶin11，Ｖin12，Ｖin2 の値にある。
【０１３１】
第２の時間区分と第３の時間区分にのみ着目する。また、入力状態数１と入力状態数２に対する関数決定素子を各々ＦＴＥ［１］とＦＴＥ［２］とする。第２の時間区分にＦＴＥ［１］のしきい値の設定を、第３の時間区分にＦＴＥ［２］のしきい値の設定を行う。ＦＴＥ［１］とＦＴＥ［２］とは制御変数用入力端子input2には接続されていないため、これらの２つの区分の間、Ｖin2 は論理値「０」にしてある。ＡＮＤ機能では、回路１０００の出力値は入力状態数１の時に論理値「０」に、入力状態数２の時に論理値「１」になれば良い。従って、第２の時間区分である２５〜５０nsec問に、Ｖin11のみを論理値「１」にし入力状態数を１にする。
【０１３２】
この操作により関数実行時間における入力状態数が１の時にＦＴＥ［１］は論理値「１」を出力し、ＳＴＥは論理値「０」を出力する。次に、第３の時間区分である５０〜７５nsec問に、Ｖin11のみを論理値「１」にし入力状態数を１にする。この操作により、関数実行時間における入力状態数が２の時、ＦＴＥ［２］は論理値「０」を出力し、ＳＴＥは論理値「１」を出力する。即ち、第２の時間区分と第３の時間区分においては、関数実行時間における入力状態数１と２との場合に回路１０００に出力させたい論理値を引いた値を入力状態数として入力することになる。このように、入力状態数を変化させることよって、任意の対称関数を実現することができる。
【０１３３】
〔実施の形態６：関数機能再構成可能集積回路〕
実施の形態６として、図５に示した関数機能再構成可能集積回路５００を用いて、任意の対称関数を実現をする関数構成方法の他の例について説明する。実施の形態３では、図６に記載されているように、（ｋ＋１）個のＦＴＥと１個のＳＴＥとの（ｋ＋２）個の可変しきい値しきい素子回路（以下、単にしきい素子回路という）のしきい値を設定するために、関数構成時間は（ｋ＋２）に分割されていた。
【０１３４】
しきい値設定にある所定の時間Ｔｓが必要であると仮定すると、実施の形態３は関数構成時間として、少なくともＴｓ・（ｋ＋２）時間必要である。実施の形態６に示す方法は、関数構成に必要な時間を、ｋが奇数の場合にＴｓ・〔（ｋ＋１）／２＋１〕時間、ｋが偶数の場合にＴｓ・〔ｋ／２＋２〕時間に短縮する。
【０１３５】
［任意の対称関数を構成する方法］
実施の形態３で述べたように、図５の回路５００の（ｋ＋１）個の１段目のＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕の各々のしきい値制御回路１１２の出力端子ｆco1 の論理値は「０」または「１」のいずれか一方であり、出力端子ｆco1 とフローティングゲートＦＧとの間の容量値は入力変数用端子input1とフローティングゲートＦＧとの間の容量値と等しくＣである。
【０１３６】
入力状態数０の前後にしきい値を設定するしきい素子回路をＦＴＥ〔０〕とし、入力状態数１の前後にしきい値を設定するしきい素子回路をＦＴＥ〔１〕とし、昇順に（ｋ＋１）個のしきい素子回路の全てについて設定が行われるとする。実施の形態３と同様に図２（ｂ）の回路２００ｂを用いて説明すると、実施の形態３では、各入力状態数よりも大きい値にしきい値を設定する場合に、関数構成時間に出力端子ｆco1 の論理値を「１」に、小さい値に設定する場合に論理値を「０」にした。
【０１３７】
つまり、関数構成時間において、入力状態数ｊの前後にしきい値が設定されるしきい素子回路では、容量値Ｃを持つ端子中、しきい値がｊより大きい値に設定される場合は（ｊ＋１）個の端子が論理値「１」であり、しきい値が小さい値に設定される場合はｊ個の端子が論理値「１」である。前者の（ｊ＋１）個の端子が論理値「１」の場合は、入力状態数が（ｊ＋１）であり、出力端子ｆco1 が論理値「０」の場合と等しく、後者のｊ個の端子が論理値「１」である場合は、入力状態数が（ｊ−１）であり、出力端子ｆco1 が論理値「１」である場合と等しい。
【０１３８】
実施の形態３，４，５では、関数構成時間の中でＳＴＥを除く（ｋ＋１）個のＦＴＥのしきい値を設定するために、（ｋ＋１）区分の関数構成時間を用い、各々の区分における入力状態数として、０からｋまでの全ての整数を用いていた。一方、本実施の形態では、上述した性質を利用して、関数構成時間に用いる入力状態数を０からｋまでの偶数値のみとし、奇数の入力状態数は使用しない。即ち、関数構成時間の区間Ｆ０では入力状態数を０にし、関数構成時間の区間Ｆ１では入力状態数を２とし、後も同様に、２ずつ増加させて行く。実施の形態３において、入力状態数が奇数値である時にしきい値を設定していたしきい素子回路のしきい値の設定は、隣り合う入力状態数のいずれか一方の入力状態数において設定することが可能である。すなわち、関数構成時間の１区間において、同時に２つのしきい素子回路にしきい値を設定することが可能である。
【０１３９】
以上説明したように、この実施の形態６の方法を用いることにより、関数構成に必要な時間を、ｋが奇数の場合にＴｓ・〔（ｋ＋１）／２＋１〕時間、ｋが偶数の場合にＴｓ・〔ｋ／２＋２〕時間に短縮することができる。
【０１４０】
以上、本発明を実施の形態１〜６まで順に説明したが、これらの実施の形態１〜６では入力容量値条件を満足していることを前提としていた。すなわち、フローティングゲートＦＧとνＭＯＳインバータＩＮＶを構成するＰＭＯＳＦＥＴ・Ｑ１およびＮＭＯＳＦＥＴ・Ｑ２との間の容量値の和に対して、Ｃtotal が非常に大きいことを条件としていた。
【０１４１】
しかし、本発明を適用した場合、以下に説明する理由から入力容量値条件が不要となり、入力変数用端子input1とフローティングゲートＦＧとの間の容量値は、入力容量値条件に拘束されることなく、ノイズや製造バラツキに対する耐性を確保し得る範囲内においてより小さな値をとることが可能である。これにより、回路を面積的に小さくし、集積度を向上することが可能になる。
【０１４２】
〔入力容量値条件が不要となる理由〕
▲１▼従来の構造における入力容量値条件
図１２は、状態保持が可能なｎ個の入力変数用端子input1を持つνＭＯＳインバータ回路を表す図である。入力変数用端子input1とフローティングゲートＦＧとの間の容量値については、全てＣであるとする。ＭＯＳＦＥＴＱ１，Ｑ２とフローティングゲートＦＧとの間の容量値については、フローティングゲートＦＧとバルク（基板またはウェル）との間の容量値およびフローティングゲートＦＧとドレイン／ソースとの間の容量値を電圧に依存しない定数容量値とする。ＰＭＯＳＦＥＴ・Ｑ１のバルクが電源に接続され、ＮＭＯＳＦＥＴ・Ｑ２のバルクがグランドに接続されているとする。簡単化のために、各ＭＯＳＦＥＴ・Ｑ１，Ｑ２について、フローティングゲートとバルクおよびソースとの容量を１つの容量とみなす。
【０１４３】
フローティングゲートＦＧとドレインとの間の容量について、ＮＭＯＳＦＥＴ・Ｑ２の容量値をＣn1とし、ＰＭＯＳＦＥＴ・Ｑ１の容量値をＣp1とする。また、フローティングゲートＦＧとバルクおよびソースとの間の容量について、ＮＭＯＳＦＥＴ・Ｑ２の容量値をＣn2とし、ＰＭＯＳＦＥＴ・Ｑ１の容量値をＣp2とする。また、フローティングゲートＦＧの電位が電源電位の半分である（Ｖdd＝２）の時に論理反転を起こすとする。
【０１４４】
上述した仮定の下、全ての入力変数用端子input1の電位をグランド電位にし、フローティングゲートＦＧに接続されたスイッチＳＷｘ１Ａを導通させ、フローティングゲート電位もグランド電位にした時のフローティングゲートの電荷量Ｑ0 は次式で表される。
Ｑ0 ＝｛（Ｃp1＋Ｃn1）＋Ｃp2｝（−Ｖdd）    ・・・・（７）
【０１４５】
次に、スイッチＳＷｘ１Ａを遮断した後、ｎ個の入力変数用端子input1中、Ｚが論理値「１」（電源電位）であり、（ｎ−Ｚ）が論理値「０」（グランド電位）である状態を考える。この時、フローティングゲートＦＧの電荷量Ｑ1 は、次式で表される。
【０１４６】
【数２】
0003662877.tif 000003
【０１４７】
但し、Ｖout は出力端子outputの電位であり、ΣＣmos ＝Ｃn1＋Ｃn2＋Ｃp1＋Ｃp2である。電荷量が保存されるために、Ｑ0 ＝Ｑ1 が成り立つ。この時、フローティングゲート電位Ｖfgは次式で表される。
【０１４８】
【数３】
0003662877.tif 000004
【０１４９】
今、ＶfgとＶout とはνＭＯＳインバータＩＮＶの入力と出力の関係にあり、Ｖfg＝Ｖdd／２で論理反転すると仮定している。ＶfgとＶout との関係がＶdd／２近傍で直線であると考えると、αを１より大きい正の定数として次式が成り立つ。
Ｖout ＝−α・Ｖfg＋Ｖdd    ・・・・（１０）
前式を利用すると、Ｖfgは、下記（１１）式により表される。
【０１５０】
【数４】
0003662877.tif 000005
【０１５１】
式（１１）における（Ｃn1＋Ｃp1）は実際には電圧依存性を持ち、正確な値を測定することは難しい。従って、Ｖfgと論理反転する電位とを正確に特定するためには、ＶfgとＺとの関係は線形であることが望ましい。この要請から、Ｃ＞＞（Ｃn1＋Ｃp1）の条件が生じる。また、Ｖfgはグランド電位と電源電位より小さいある電位との間で変化するため、論理反転電位である（Ｖdd／２）に達しない場合がある。これを防ぐための最も緩い条件として、Ｚ＝ｎの時、Ｖfgが（Ｖdd／２）を越えるとして、以下の関係が求まる。
【０１５２】
ｎＣ＞（Ｃn2＋Ｃp2）＋（１＋α）（Ｃn1＋Ｃp1）・・・・（１２）
Ｚがｎ／２の時に、Ｖfg＝Ｖdd／２となるためには、次式が条件となる。
Ｃ＞＞（Ｃn2＋Ｃp2）＋（１＋α）（Ｃn1＋Ｃp1）  ・・・・（１３）
【０１５３】
以上の考察から、入力容量値条件として、次条件が満たされる時にＺとＶfgとの関係が線形になり、Ｚ＝ｎ／２においてＶfg＝Ｖdd／２となる。
Ｃ＞＞Ｃn1＋Ｃp1   ・・・・（１４）
このように、個々の入力変数用端子input1とフローティングゲートＦＧとの間の容量値は、両ＭＯＳＦＥＴ・Ｑ１，Ｑ２のゲートオーバーラップ容量値の和を無視できる程大きい必要がある。このために、入力側の容量はある程度の大きさが必要となる。このために従来の構造では回路の面積が大きくなっていた。
【０１５４】
▲２▼フローティングゲートと出力端子とを接続可能な回路構成における条件
図１３は、図１に記載した回路における入力変数用端子input1とフローティングゲートＦＧとνＭＯＳインバータＩＮＶとフィードバックループ（スイッチ１０１）に着目した図である。各容量値として、図１２に記載の回路と同じ表記を用いる。まず初期状態として、スイッチＳＷ１Ａを導通させ、入力変数用端子input1［１］〜input1［ｎ］の電位をＶdd／２にする。この時のフローティングゲートＦＧの電荷量Ｑ0 は、次式によって示される。
Ｑ0 ＝（Ｖdd／２）（Ｃn2＋Ｃp2）  ・・・・（１５）
【０１５５】
次に、スイッチＳＷ１Ａを遮断し、ｎ個の入力変数用端子input1中のＺ個の電位が電源電位であり、（ｎ−Ｚ）個がグランド電位であるとする。この時のフローティングゲートの電荷量Ｑ1 は、次式によって示される。
【０１５６】
【数５】
0003662877.tif 000006
【０１５７】
ここで、前記の場合と同様にＶfgとＶout との間に式（１７）が成り立つと仮定する。
Ｖout ＝−α・Ｖfg＋（１＋α）（Ｖdd／２）  ・・・・（１７）
Ｑ0 ＝Ｑ1 より次式のようにＶfgが求まる。
【０１５８】
【数６】
0003662877.tif 000007
【０１５９】
式（１８）において、［β＝｛（Ｃn2＋Ｃp2）＋（Ｃn1＋Ｃp1）（１＋α）｝／Ｃ］とすると、式（１９）のように簡単化できる。
【数７】
0003662877.tif 000008
【０１６０】
式（１８）から、βの値に無関係に、Ｚ＝ｎ／２の場合にＶfg＝Ｖdd／２となることが判る。また、式（１７）の条件をＶfgがＶdd／２の近傍であるという仮定を無視して外挿すると、ＶfgはＶdd／２を中心に、｛±１／（１＋β／ｎ）｝（Ｖdd／２）で変化する直線になる。また、Ｚ＝０近傍、Ｚ＝ｎ近傍では、Ｖout は各々Ｖdd、０となるため、同一傾きで、次式で変化する直線になる。
【０１６１】
【数８】
0003662877.tif 000009
【０１６２】
図１４は、前記のように操作した場合のＶfgとＺとの関係を表す図である。図１４から判るように、図１３に記載した回路においてスイッチＳＷ１Ａを導通させた時に設定された電荷量（今回はＺ＝ｎ／２）の前後において、フローティングゲートＦＧとＭＯＳＦＥＴ・Ｑ１，Ｑ２との間の容量値に依存することなく、しきい処理が行われる。従って、入力側の容量値を小さくすることが可能になり、回路面積を小さくすることができる。図１３のようにフローティングゲートＦＧとνＭＯＳインバータＩＮＶとの間を導通と遮断することが可能な構造を有するしきい素子回路は、面積コストを下げ、高集積化を可能とする効果もある。
【０１６３】
なお、νＭＯＳインバータ回路に代表される様々なνＭＯＳトランジスタ回路の信頼性向上のための従来技術の開示例として、特開平７−１６１９４２号公報（文献６）に示された集積回路がある。この集積回路では、νＭＯＳトランジスタ回路の１つの欠点であるフローティングゲート中に蓄積される余剰電荷が引き起こす誤動作の問題を解決するめに、フローティングゲートにスイッチを設けて電荷を除去するようにしている。また、この文献６には、フローティングゲートをスイッチを介して論理回路（νＭＯＳインバータ）の出力端子に接続することが記載されている。しかしながら、この文献６には、関数機能再構成可能集積回路を実現する上で最も重要な回路構成である容量値としきい値との関係についての記述はない。また、状態保持機能も有しておらず、構成データを与えるための入力変数用端子もなく、その構成が全く異なっている。
【０１６４】
【発明の効果】
以上説明したことから明らかなように本発明によれば、しきい素子の出力端子とゲート電極との間にスイッチを接続し、このスイッチをオン／オフすることによってしきい素子の出力端子とゲート電極との間を接続／遮断するようにする一方、しきい素子のゲート電極に容量結合された１以上の制御変数用端子とゲート電極との間の容量値の少なくとも１つを、ｋ個（ｋ＞１）の入力変数用端子とゲート電極との間の容量値の中の最小容量値よりも小さくするようにしたので、入力変数用端子とフローティングゲートとの間の実容量値を大とし、ノイズや製造バラツキに対する耐性である設計マージンを大きくして、フローティングゲートしきい値電位やフローティングゲートに容量結合される端子の容量値のバラツキに起因する誤動作、入力信号のノイズやゆらぎに起因する誤動作を抑制することが可能となる。
又、本発明の回路状態保持方法を用いることによって、可変しきい値しきい素子回路を用いて効果的に任意の対称関数または論理関数を実現することが可能になる。
【図面の簡単な説明】
【図１】  本発明の一実施の形態（実施の形態１）を示す状態保持機能を備えたｋ入力変数のνＭＯＳインバータ回路の回路構成を示す図である。
【図２】  実施の形態１の具体的な回路例を示す図である。
【図３】  入力状態数ｍ＞０の前後にしきい値を設定することが可能な状態保持機能を備えたｋ入力変数のνＭＯＳインバータ回路の回路構成を示す図である。
【図４】  実施の形態２の具体的な回路例を示す図である。
【図５】  ｋ入力変数の任意の対称関数を実現する関数機能再構成可能集積回路（実施の形態３）の構成図である。
【図６】  関数を構成するための時間を分割して使用することを表す概念図である。
【図７】  ２入力変数の任意の対称関数を実現する関数機能再構成可能集積回路（実施の形態４）の構成図である。
【図８】  ２入力変数の任意の対称関数を実現する回路における関数構成時間に各入力端子に与えられる電位を表す図である。
【図９】  ２入力変数の任意の対称関数を実現する回路を用いて関数機能を実行したシミュレーション結果を表す図である。
【図１０】  実施の形態１で示した図２（ｂ）の可変しきい値しきい素子回路と実施の形態２で示した図４の可変しきい値しきい素子回路とを用いた２入力変数の任意の対称関数を実現する関数機能再構成可能集積回路の構成図である。
【図１１】  図１０に示される２入力変数の任意の対称関数を実現する回路を用いて関数機能を実行したシミュレーション結果を表す図である。
【図１２】  状態保持が可能なｎ個の入力変数用端子を持つ従来のνＭＯＳインバータ回路を表す図である。
【図１３】  図１に記載された回路における入力変数用端子とフローティングゲートとνＭＯＳインバータとフィードバックループに着目した図である。
【図１４】  図１３に記載した回路におけるＶfgとＺの関係を表す図である。
【図１５】  従来のしきい値可変機能を備えたｋ入力変数のνＭＯＳインバータ回路を示す回路図である。
【図１６】  従来の回路状態保持機能を備えたｋ入力変数のνＭＯＳインバータ回路の代表的な回路構成を示す図である。
【図１７】  入力状態数Ｚと規格化フローティングゲート電位Ｕfgとの関係、および規格化フローティングゲート電位Ｕfgに対して設定される規格化フローティングゲートしきい値電位Ｕfth を表す図である。
【図１８】  図１６に示したνＭＯＳインバータ回路を用いた関数機能再構成可能集積回路の一例（２入力変数可変関数ブロック）を示す図である。
【図１９】  図１８に示した２入力変数可変関数ブロックによってＸＯＲを実現する時の手順と各端子の電位の論理値を表す図である。
【符号の説明】
１００…νＭＯＳインバータ回路（しきい値しきい素子回路）、１０１…スイッチ、１０２，１０３…切替スイッチ、１０７，１０８…制御変数用端子、１０９…スイッチ制御回路Ａ、１１０…遅延制御回路、１１１…スイッチ制御回路Ｂ、１１２…しきい値制御回路、ＩＮＶ…νＭＯＳインバータ（しきい素子）、ＦＧ…フローティングゲート、input1［１］〜input1［ｋ］…入力変数用端子、input2…制御変数用入力端子、ctl …制御端子、３００…νＭＯＳインバータ回路、３０１…スイッチ、３０２…切替スイッチ、３０６…制御変数用端子、３０７…スイッチ制御回路、３０８…遅延制御回路、３０９…スイッチ制御回路Ｂ、３１２…しきい値制御回路、５００…関数機能再構成可能集積回路、５０７，５０７…制御変数用端子、ＦＴＥ〔０〕〜ＦＴＥ〔ｋ〕…１段目のνＭＯＳインバータ回路、ＳＴＥ…２段目のνＭＯＳインバータ回路、ＢＦ［０］〜ＢＦ［ｋ］，ＢＦ［Ｓ］…バッファ回路、ＤＥＬ［１］〜ＤＥＬ［ｋ］…遅延制御回路、input3〔１〕〜input3〔ｋ〕…ＳＴＥの入力変数用端子、input4〔０〕〜input4〔ｋ〕…ＳＴＥの入力端子、ＩＮＶ［１］〜ＩＮＶ［ｋ］，ＩＮＶ［Ｓ］…νＭＯＳインバータ、ｓｗ０〜ｓｗｋ，ｓｗｓ…スイッチ、１１２［０］〜１１２［ｋ＋１］…しきい値制御回路、１０９［０］〜１０９［ｋ＋１］…スイッチ制御回路。
【図１】
0003662877.tif 000010
【図２】
0003662877.tif 000011
【図３】
0003662877.tif 000012
【図４】
0003662877.tif 000013
【図５】
0003662877.tif 000014
【図６】
0003662877.tif 000015
【図７】
0003662877.tif 000016
【図８】
0003662877.tif 000017
【図９】
0003662877.tif 000018
【図１０】
0003662877.tif 000019
【図１１】
0003662877.tif 000020
【図１２】
0003662877.tif 000021
【図１３】
0003662877.tif 000022
【図１４】
0003662877.tif 000023
【図１５】
0003662877.tif 000024
【図１６】
0003662877.tif 000025
【図１７】
0003662877.tif 000026
【図１８】
0003662877.tif 000027
【図１９】
0003662877.tif 000028