(57)【特許請求の範囲】
【請求項１】
１段目のしきい素子と、上記１段目のしきい素子に結合されている２段目のしきい素子とを具備する関数機能再構成可能集積回路であって、
上記１段目のしきい素子は、第１のしきい素子と第２のしきい素子とを有し、上記２段目のしきい素子は、第３のしきい素子を有し、
上記第１のしきい素子は、連続する３つの入力状態数の前後に設定されている少なくとも４つの閾値候補を有し、上記少なくとも４つの閾値候補から１つの閾値候補を選択するためのしきい値選択変数が入力されるしきい素子であり、
上記第２のしきい素子は、１つの入力状態数の前後に設定されている２つの閾値候補を有し、この２つの閾値候補から１つの閾値候補を選択するためのしきい値選択変数が入力されるしきい素子であり、
上記第１のしきい素子の出力端子に対する重みは、所定の値と上記所定の値の２倍との何れか１つに設定され、上記第２のしきい素子の出力端子に対する重みは、上記所定の値の２倍に設定され、上記第１のしきい素子の出力端子と上記第２のしきい素子の出力端子とが上記重みを介して接続され、上記第３のしきい素子は、固定された閾値を有するしきい素子であり、少なくとも１つの入力状態数であるときに、上記第３のしきい素子の出力値が固定されていることを特徴とする関数機能再構成可能集積回路。
【請求項２】
請求項１において、
取り得る入力状態の数Ｎが、Ｎ＝３ｎ＋２、ｎ＝１、２、３、…であるときに、上記第１のしきい素子の数が［（２／３）Ｎ−（１／３）］であり、上記第２のしきい素子の数が１つであることを特徴とする関数機能再構成可能集積回路。
【請求項３】
請求項１または請求項２において、
上記第３のしきい素子の出力端子に接続されているインバータ回路と；
上記第３のしきい素子の出力信号と、上記インバータ回路の出力信号とのうちの一方の出力信号を選択するセレクタ回路と；
を有することを特徴とする関数機能再構成可能集積回路。
【請求項４】
請求項２または請求項３において、
取り得る入力状態の数Ｎのうちで、連続する３つの入力状態数を、１つの第１のグループとし、上記第１のグループをｎ個設定し、余りの連続する２つの入力状態数を第１のグループとは異なる第２のグループとしたときに、
入力状態数が１つの第１のグループである場合の上記第３のしきい素子の出力値が、上記第１のしきい素子に入力されるしきい値選択変数の値に応じて、２つの論理値の何れかに選択され、
入力状態数が上記第２のグループに属する２つの入力状態数のうちの何れか１つである場合の上記第３のしきい素子の出力値が、上記第２のしきい素子に入力されるしきい値選択変数の値に応じて、２つの論理値の何れかに選択されることを特徴とする関数機能再構成可能集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路製造後であっても、関数機能の再構成を行うことが可能であり、しきい素子回路を構成要素とする集積回路に係り、特に、多値構成データを用いる関数機能再構成可能集積回路および関数機能再構成方法に関する。
【０００２】
【従来の技術】
特開２００１−２６６１０６公報に、しきい素子回路を用いた可変論理部（論路関数機能再構成可能な集積回路）とその設計方法とが記載されている。論理関数機能再構成可能な集積回路は、集積回路を製造した後であっても、集積回路の有する論理関数機能を再構成することが可能である集積回路である。
【０００３】
図５は、上記公報に記載されている回路図であり、２段論理フィードフォワードしきい素子回路網に構成データとして多値を用い、任意のｋ入力変数論理関数を実現する回路の構成図である。
【０００４】
しきい素子回路として、ニューロンＭＯＳトランジスタで構成されたインバータ回路（ｖＭＯＳインバータ）が用いられている。
【０００５】
上記従来例によれば、論理関数を構成するデータ（構成データ）を多値化しないときに、任意のｋ入力変数論理関数を、２段論理フィードフォワード回路で実現する場合、１段目のしきい素子回路として、２k個と１個の２段目のしきい素子回路とが必要である。この場合、構成データを多値化することによって、１段目のしきい素子回路の個数が、（３／４）・２k個に低減する。
【０００６】
ここで、入力状態数は、入力変数の論理値と各入力変数に対する重みとの積を、全ての入力変数について、和した結果である積和演算結果であると定義する。この場合、１段目のしきい素子回路の素子数である２kは、上記入力状態数の数である。
【０００７】
図６は、図５に示す回路において、ｖＭＯＳインバータをしきい素子回路で置換した回路であり、連続する４つの入力状態数における回路の出力値Ｙを、３つの１段目のしきい素子回路の出力値（たとえば、Ｘf[1]、Ｘf[2]、Ｘf[3]）に基づいて決定する回路である。図６に示す回路によって、回路中のしきい素子回路の数が、（３／４）・２k＋１になる。
【０００８】
上記のように、２段論理フィードフォワード型しきい素子回路網において、任意のｋ入力変数論理関数を実現するために、構成データとして多値を用いる回路は公知であり、この場合、少なくとも（３／４）・２k＋１個のしきい素子が必要である。
【０００９】
【発明が解決しようとする課題】
上記のように、しきい素子回路を用いた２段論理フィードフォワード型関数機能再構成可能集積回路において、任意のｋ入力変数論理関数を実現するためには、（３／４）・２k＋１個のしきい素子が必要である。
【００１０】
ところで、再構成可能集積回路を高機能化するためには、単位面積当たりの機能をさらに向上させることが望まれている。
【００１１】
本発明は、論理関数機能を再構成することが可能な集積回路において、より少ないしきい素子回路数によって、関数機能再構成可能集積回路を構成することができる関数機能再構成可能集積回路および関数機能再構成方法を提供することを目的とするものである。
【００１２】
【課題を解決するための手段】
本発明は、１段目のしきい素子と、上記１段目のしきい素子に結合されている２段目のしきい素子とを具備する関数機能再構成可能集積回路であって、上記１段目のしきい素子は、第１のしきい素子と第２のしきい素子とを有し、上記２段目のしきい素子は、第３のしきい素子を有し、上記第１のしきい素子は、連続する３つの入力状態数の前後に設定されている少なくとも４つの閾値候補を有し、上記少なくとも４つの閾値候補から１つの閾値候補を選択するためのしきい値選択変数が入力されるしきい素子であり、上記第２のしきい素子は、１つの入力状態数の前後に設定されている２つの閾値候補を有し、この２つの閾値候補から１つの閾値候補を選択するためのしきい値選択変数が入力されるしきい素子であり、上記第１のしきい素子の出力端子に対する重みは、所定の値と上記所定の値の２倍との何れか１つに設定され、上記第２のしきい素子の出力端子に対する重みは、上記所定の値の２倍に設定され、上記第１のしきい素子の出力端子と上記第２のしきい素子の出力端子とが上記重みを介して接続され、上記第３のしきい素子は、固定された閾値を有するしきい素子であり、少なくとも１つの入力状態数であるときに、上記第３のしきい素子の出力値が固定されていることを特徴とする関数機能再構成可能集積回路である。
【００１３】
【発明の実施の形態および実施例】
（第１の実施例）
図１は、本発明の第１の実施例である関数機能再構成可能集積回路１００を示す図である。
【００１４】
関数機能再構成可能集積回路１００は、ｋ入力変数の全ての対称関数の中の（１／２）の関数を実現することができる再構成可能集積回路であり、しきい素子回路を構成要素とする再構成可能集積回路である。
【００１５】
入力状態数は、入力変数の論理値と、その入力変数に対する重みとの積を、全ての入力変数に対して和した積和値であると定義する。この場合に、関数機能再構成可能集積回路１００は、ある入力状態数において、全ての対称関数中の半分の数の対称関数を、従来の回路よりも少ないしきい素子回路によって実現することができる。
【００１６】
以下の説明では、回路構成について説明し、次に、上記しきい素子回路で使用する４つのしきい値候補から、１つのしきい値を選択する方法について説明し、最後に、上記対称関数を実現する回路における入力変数に対する重みを変更するだけで、ある入力変数の数において、全ての論理関数の中の（１／２）の関数を実現することができることについて説明する。
【００１７】
［全ての対称関数の中の（１／２）を実現する回路構成］
関数機能再構成可能集積回路１００は、２(k+1)個存在するｋ入力変数対称関数中、半分の２k個を実現する。
【００１８】
入力状態数Ｚの最大値Ｚmax（ただし、Ｚmax＝ｋ）が、Ｚmax＝３ｎ＋１である場合（取り得る全ての入力状態数の数Ｎが、３ｎ＋２である場合）に、関数機能再構成可能集積回路１００において、（２／３）Ｎ−（１／３）個の１段目の否定出力型しきい素子回路ＦＴＥ［１］〜ＦＴＥ［ｍ］によって、２k個の対称関数を実現することができる。
【００１９】
ただし、ｎ＝（０，１，２，３，…）であり、具体的なＮは、Ｎ＝２，５，８，１１，１４，…である。
【００２０】
否定出力型しきい素子回路は、しきい素子回路の持つしきい値の値と、入力変数と重みとの積の全ての入力変数に対する和である積和値とを比較し、積和値が大きい場合に、論理的０を出力し、積和値が小さい場合に、論理的１を出力するしきい素子回路である。
【００２１】
以後、否定出力型しきい素子回路を、単に「しきい素子回路」と呼ぶ。
【００２２】
この関数機能再構成可能集積回路１００は、特開２００１−２６６１０６公報（発明の名称：論理関数機能再構成可能集積回路およびその設計方法）に記載されている構成である（３／４）Ｎ個のＦＴＥ［ｉ］を用いて構成する場合よりも、少ない素子数によって、ｋ入力変数対称関数の少なくとも半分を実現することができる。
【００２３】
次に、関数機能再構成可能集積回路１００について、具体的に説明する。
【００２４】
関数機能再構成可能集積回路１００において、ｋ個の入力端子１０１〜１０４は、入力変数Ｘ1〜Ｘkを入力する端子であり、１段目のしきい素子回路ＦＴＥ［１］〜ＦＴＥ［ｍ］と、２段目のしきい素子回路ＳＴＥとの全てに接続されている。
【００２５】
任意の入力変数の論理値を置換しても、関数値が不変である対称関数を実現するために、全てのしきい素子回路へ入力される入力変数に乗算される重みｗ1〜ｗkを等しくする。本実施例では、重みｗ1〜ｗkは、等しく１であるとする。
【００２６】
また、１段目のしきい素子回路ＦＴＥ［ｉ］は、複数のしきい値候補を予め持つために、入力変数以外にしきい値を選択するための変数、しきい値選択変数Ｃth[i]を持つ。
【００２７】
１段目のしきい素子回路ＦＴＥ［１］〜ＦＴＥ［ｍ］のそれぞれに対して、しきい値選択変数Ｃth[i]〜Ｃth[m]が入力される。また、しきい値選択変数Ｃth[i]〜Ｃth[m]によって選ばれたしきい値を、それぞれｔｈ1〜ｔｈmとする。
【００２８】
１段目のしきい素子回路ＦＴＥ［１］〜ＦＴＥ［ｍ］の出力端子１１０〜１１３のそれぞれが、２段目のしきい素子回路ＳＴＥに接続されている。この場合、１段目のしきい素子回路ＦＴＥ［１］〜ＦＴＥ［ｍ］の各出力端子に乗算される重みを、ｗf[1]〜ｗf[m]とする。
【００２９】
さらに、２段目のしきい素子回路ＳＴＥのしきい値は、ｔｈsに固定されている。２段目のしきい素子回路ＳＴＥは、積和値と、しきい値ｔｈsとを比較し、この比較結果に応じて、出力端子１０９から出力値Ｙを出力する。関数機能再構成可能集積回路１００におけるｍは、Ｎ、ｋとの間で、次の式（１）の関係にある。
【００３０】
ｍ＝（Ｎ−２）／３×２＋１＝（２／３）Ｎ−１／３＝（２／３）ｋ＋１／３
………式（１）
次に、２k個の対称関数を実現するための、関数機能再構成可能集積回路１００のＦＴＥ［ｉ］のしきい値と、このしきい値に乗算される重みとについて説明する。
【００３１】
第１の例として、ｗf[1]＝２である場合について説明する。
【００３２】
このときに、しきい素子回路ＦＴＥ［２］〜ＦＴＥ［ｍ］の出力端子の半分に対する重みを１とし、残りの半分の端子に対する重みを２とする。ここで、ｍ−１＝２ｎが成り立つので、上記重みの配分は、いかなる入力変数の数ｋに対しても、常に可能である。
【００３３】
ここでは、１段目のしきい素子回路ＦＴＥ［２］の出力端子に対する重みを１とし、１段目のしきい素子回路ＦＴＥ［３］の出力端子に対する重みを２とするように、ＦＴＥ［ｉ］のｉに対して、昇順に、出力端子に対する重みを１、２、１、２、……と、交互に繰り返す。また、１段目のしきい素子回路ＦＴＥ［１］のしきい値ｔｈ1として、次の式（２）に示すいずれか一方を選択できるものとする。
【００３４】
【数１】
0003938697.tif 000002
ただし、ｔｈ1＝０＋０．５において、０．５の部分をαとすれば、０＜α＜１であればよい。本実施例では、動作マージンを考慮して、α＝０．５であるとした。
【００３５】
他の１段目のしきい素子回路ＦＴＥ［ｉ］についても、上記と同様である。他の１段目のしきい素子回路ＦＴＥ［ｉ］のしきい値については、以下のようにする。
【００３６】
まず、１段目のしきい素子回路ＦＴＥ［ｉ］を、２つのグループに分ける。つまり、１段目のしきい素子回路ＦＴＥ［２ｊ］のグループと、１段目のしきい素子回路ＦＴＥ［２ｊ＋１］のグループとに分ける。ｊは、１≦ｊ≦ｎの整数であると定義する。１段目のしきい素子回路ＦＴＥ［２ｊ］とＦＴＥ［２ｊ＋１］とのしきい値として、次の式（３）、式（４）で表される４つの候補から１つを選択する。
【００３７】
【数２】
0003938697.tif 000003
たとえば、１段目のしきい素子回路ＦＴＥ［２］、ＦＴＥ［３］のしきい値ｔｈ2、ｔｈ3として、次の式（５）、（６）に記載されているそれぞれ４つの候補から１つを選択する。
【００３８】
【数３】
0003938697.tif 000004
上記１段目のしきい素子回路ＦＴＥ［ｉ］に対するしきい値の設定によって、１段目のしきい素子回路ＦＴＥ［１］は、入力状態数Ｚ＝１についてのみ、出力値Ｘf[1]＝０，１の２つの論理値のいずれかを、しきい値に依存して選択することができる。入力状態数Ｚ＝０である場合は、出力値Ｘf[1]＝１であり、入力状態数Ｚ＞１である場合は、出力値Ｘf[1]＝０である。
【００３９】
また、１段目のしきい素子回路ＦＴＥ［２ｊ］とＦＴＥ［２ｊ＋１］との出力値Ｘf[2j]、Ｘf[2j+1]は、Ｚ≦（３ｊ−２）である場合、Ｘf[2j]＝１、Ｘf[2j+1]＝１であり、Ｚ＞（３ｊ＋１）である場合、Ｘf[2j]＝０、Ｘf[2j+1]＝０であり、（３ｊ−１）≦Ｚ≦（３ｊ＋１）である場合、Ｘf[2j]＝０，１のように、２つの論理値のいずれか一方を選択することができる。
【００４０】
次に、２段目のしきい素子回路ＳＴＥに着目する。
【００４１】
今、入力状態数を連続量であると仮定し、２段目のしきい素子回路ＳＴＥに入力される変数の値と重みとの積和演算の結果を、Ｓｕｍsとする。
【００４２】
図２は、上記実施例において、２段目のしきい素子回路ＳＴＥにおける入力状態数Ｚと、積和演算結果Ｓｕｍsとの関係を表す図である。
【００４３】
図２中、各入力状態数において取り得る積和演算結果Ｓｕｍsの値を，丸印で示し、黒丸は、積和演算結果Ｓｕｍsがしきい値ｔｈsよりも大きい場合を示す印であり、白丸は、逆に、積和演算結果Ｓｕｍsがしきい値ｔｈsよりも小さい場合を示す印である。
【００４４】
図２から判るように、入力状態数Ｚ＝０以外の入力状態では、選択されるしきい値に応じて、ｔｈsと比較して大小いずれか一方の値を取ることが可能であることが判る。
【００４５】
２段目のしきい素子回路ＳＴＥの出力値としては、図２に示す黒丸の状態が、論理的０として出力され、逆に、白丸の状態が、論理的１として出力される。このために、Ｚ≧１である場合、任意の論理値を出力することができる。入力状態数Ｚ＝０である場合にのみ、論理値が０に固定されているので、ｋ入力変数対称関数における２k個の関数のみを実現することができる。この実現される２k個の関数は、ｋ入力変数に対して実現可能な２(k+1)個の対称関数の半分に当たる。
【００４６】
上記第１の実施例における１段目のしきい素子回路ＦＴＥ［１］の機能を、任意のＦＴＥ［ｉ］に与えることができる例として、ＦＴＥ［ｍ］のしきい値が、次の式（７）で表される値のいずれか１つであり、ｗf[m]＝２である場合について、説明する。
【００４７】
【数４】
0003938697.tif 000005
また、１段目のしきい素子回路ＦＴＥ［ｍ］以外のＦＴＥ［ｉ］のしきい値を、次の式（８）、式（９）のように設定する。ただし、ｈは、１≦ｈ≦ｎを満たす整数であるとする。
【００４８】
【数５】
0003938697.tif 000006
たとえば、１段目のしきい素子回路ＦＴＥ［ｍ−２］、ＦＴＥ［ｍ−１］のしきい値として、次に示す式（１０）、式（１１）に記載の４つの候補から、１つを選択する。
【００４９】
ただし、上記の通り、ｍとｋとの関係は、ｍ＝（２／３）ｋ＋（１／３）であり、また、ｋ＝３ｎ＋１であるので、ｍ−２＝２ｎ−１、ｍ−１＝２ｎであり、ともに、ｈ＝ｎの場合を示している。
【００５０】
【数６】
0003938697.tif 000007
上記第１の例と同様に、２段目のしきい素子回路ＳＴＥにおける積和演算結果としきい値との関係に着目する。
【００５１】
図３は、上記実施例において、２段目のしきい素子回路ＳＴＥにおける入力状態数Ｚと、積和演算結果Ｓｕｍsとの関係を表す図である。
【００５２】
ｋ入力変数対称関数において、入力状態数Ｚがｋである場合のみ、積和演算結果Ｓｕｍsは、固定された値を取る。一方、入力状態数Ｚが、１≦Ｚ≦（ｋ−１）である場合、１段目のしきい素子回路ＦＴＥ［ｉ］のしきい値の値と、２段目のしきい素子回路ＳＴＥのしきい値ｔｈsとを比較し、大小いずれか一方の値を取る。
【００５３】
これによって、２段目のしきい素子回路ＳＴＥの出力値Ｙは、入力状態数Ｚがｋである場合に、論理的１に固定される以外は、ある入力状態数Ｚにおいて、論理的１、論理的０の一方が選択される。
【００５４】
したがって、ｋ入力変数対称関数中の半分である２k個の対称関数を実現することができる。
【００５５】
上記内容をまとめると、次のようになる。
【００５６】
つまり、入力状態数の中の連続する２つの状態における２段目のしきい素子回路ＳＴＥの出力値を、１つの１段目のしきい素子回路ＦＴＥの出力値によって制御する。このときに、１段目のしきい素子回路ＦＴＥの出力値に対する２段目のしきい素子回路ＳＴＥにおける重みを、２とする。これによって、２つの状態の中のいずれか一方の状態において、１段目のしきい素子回路ＦＴＥの出力値が、固定された値になり、他の１つの状態においては、論理的１または論理的０のいずれか一方が、１段目のしきい素子回路ＦＴＥのしきい値によって決定される。
【００５７】
また、上記特性を有する１段目のしきい素子回路ＦＴＥが制御する以外の入力状態数の３つの状態を１グループにし、２つの１段目のしきい素子回路ＦＴＥの出力値によって、その３つの状態における２段目のしきい素子回路ＳＴＥの出力値を制御する。このときに、２つの１段目のしきい素子回路ＦＴＥの中の１つのＦＴＥの出力値に対する重みを１とし、残りの１つの１段目のしきい素子回路ＦＴＥの出力値に対する重みを、２とする。２つの１段目のしきい素子回路ＦＴＥのしきい値は、ともに、４つのしきい値の中から１つが選択される。
【００５８】
これによって、３つの入力状態数のそれぞれにおいて、２段目のしきい素子回路ＳＴＥの出力値を、論理的１または論理的０のいずれか一方に決定することができる。この回路構成によって、ｋ入力変数対称関数の中の２k個の対称関数を実現することができる。また、上記１つの１段目のしきい素子回路ＦＴＥの出力値によって、２段目のしきい素子回路ＳＴＥの出力値が制御される連続する２つの入力状態数は、０≦Ｚ≦ｋのどの入力状態数であってもよい。
【００５９】
本実施例の再構成可能集積回路は、ある入力状態数における値が固定されていてもよい場合において、少ないしきい素子回路によって対称関数を実現することができる。
【００６０】
［複数のしきい値候補の実現方法および回路構成］
１段目のしきい素子回路ＦＴＥは、２つまたは４つのしきい値候補の中から、１つのしきい値を選択できることを仮定している。
【００６１】
次に、４つのしきい値候補から、１つのしきい値を選択する方法について、説明する。
【００６２】
図１に記載されている１段目のしきい素子回路ＦＴＥ［１］〜ＦＴＥ［ｍ］の入力端子１０５〜１０８に、しきい値選択変数Ｃth[i]〜Ｃth[m]を入力する。４つから１つを選ぶことを可能にするために、少なくともしきい値選択変数は、４つの状態を持ち、上記各状態としきい値候補とを１対１に対応させる。これによって、４つの中から１つを選択することができる。
【００６３】
具体的には、しきい値選択変数として多値表現された変数を用いる。多値表現として、物理的に電圧、電流、電荷量等による多値信号を用いる場合と、複数の２値信号の組合せによる多値表現とがある。後者の場合は、２ビットで、４つの状態を表現し、それぞれに、１つのしきい値候補を対応させることになる。
【００６４】
また、任意の連続する入力状態数の間に、４つのしきい値候補を設定できる場合、ある連続する３つの入力状態数における２段目のしきい素子回路ＳＴＥの出力値は、２つの１段目のしきい素子回路ＦＴＥのしきい値によって、任意の値に決めることができる。一方、上記のように１段目のしきい素子回路ＦＴＥのしきい値候補が連続する場合、２つのしきい値候補を有する１段目のしきい素子回路ＦＴＥのしきい値は、連続する３つの入力状態数の前後であれば、いずれの入力状態数の前後にも設定できる。たとえば、図２の場合は、その入力状態数は１であり、図３の場合は（ｋ−１）である。
【００６５】
再構成可能集積回路１００においては、必ずしも全ての対称関数が必要とされるとは限らないので、１つの入力状態数において、出力値が論理的１または論理的０に固定されてもよい場合には、関数機能再構成可能集積回路１００は、単位機能当たりの素子数の低減に対して非常に有効になる。
【００６６】
［全ての論理関数における（１／２）の関数の実現］
関数機能再構成可能集積回路１００における取り得る入力状態数の数Ｎは、Ｎ＝３ｎ＋２で表され、その中のＮ＝８，３２，１２８…は、指数部分が整数である２のべき乗で表すことができる。入力変数の数ｋに対応する全ての論理関数の数は、２の２kである。ここで、２kは、取り得る入力状態数の数を示す。また、しきい素子回路においては、入力変数に対する重みｗiを、２i，ｉ＝０，１，２，３，…ｋ−１に設定することによって、取り得る入力状態数の数を２kにすることができる。
【００６７】
上記のように、関数機能再構成可能集積回路１００の入力変数に対する重みを変更すると、対称関数に対して適用した方法と同様の方法によって、全ての論理関数の（１／２）の論理関数を実現することができる。
【００６８】
（第２の実施例）
図４は、本発明の第２の実施例である関数機能再構成可能集積回路２００を示す回路図である。
【００６９】
関数機能再構成可能集積回路２００は、関数機能再構成可能集積回路１００の出力端子に、インバータ回路２１２と、セレクタ回路（マルチプレクサ回路とも呼ぶ）２１３とを設けた回路であり、これによって、任意の対称関数を実現することができる。
【００７０】
また、第１の実施例で説明したと同様に、関数機能再構成可能集積回路２００を応用することによって、任意の論理関数をも実現することができる。
【００７１】
関数機能再構成可能集積回路１００において対称関数を実現する場合、ある１つの入力状態数においてのみ、出力値の論理値が固定されている。
【００７２】
ここでは、ｋ入力変数対称関数において、出力論理値が１に固定されているとする。
【００７３】
関数機能再構成可能集積回路２００は、関数機能再構成可能集積回路１００の出力端子に相当する端子２１０に、インバータ回路２１２が接続され、端子２１０とインバータ回路２１２の出力端子２１１とを入力端子とするセレクタ回路２１３が接続されている。
【００７４】
端子２０９から入力されたセレクタ信号Ｓの論理値に基づいて、端子２１０の値、端子２１１の値のいずれか一方が選択される。これによって、入力状態数がｋである場合に、論理的１または論理的０のいずれか一方を、関数機能再構成可能集積回路２００の出力値Ｙとして、出力端子２１８が出力することができる。固定されている論理値の論理反転を出力することによって、任意の対称関数を実現することができる。
【００７５】
上記実施例によれば、しきい素子回路に入力される入力変数とその重みとの積和演算結果である入力状態数の数Ｎが、Ｎ＝３ｎ＋２で表される場合に、２段論理しきい素子回路網における１段目のしきい素子回路の数を、［（２／３）Ｎ−（１／３）］とする回路構成によって、１つの入力状態数の場合を除いて、全ての入力状態数における出力値として、論理的１または論理的０を選択することができる。
【００７６】
これは、ｋ入力変数対称関数を実現しようとした場合に、２(k+1)個存在する対称関数中の半分である２k個を実現することを意味し、ｋ入力変数論理関数を実現しようとする場合に、２の２k乗個存在する論理関数中の半分である２の２(k-1)乗個を実現することができることを意味している。
【００７７】
さらに、回路の出力端子に、インバータ回路を接続し、２段目のしきい素子回路の出力端子とインバータ回路の出力端子とを入力端子とするセレクタ回路を追加することによって、任意の対称関数または任意の論理関数を実現することができる。
【００７８】
この回路構成によって、任意の対称関数または論理関数をしきい素子回路網によって実現する際に、回路を構成する素子数を低減することができる。
【００７９】
【発明の効果】
本願発明によれば、論理関数機能を再構成することが可能な集積回路において、少ないしきい素子回路数によって、単位面積当たりの機能を向上させることができるという効果を奏する。
【図面の簡単な説明】
【図１】  本発明の第１の実施例である関数機能再構成可能集積回路１００を示す図である。
【図２】  ２段目のしきい素子回路ＳＴＥにおける入力状態数Ｚと、積和演算結果Ｓｕｍｓとの関係を表す図である。
【図３】  上記実施例において、２段目のしきい素子回路ＳＴＥにおける入力状態数Ｚと、積和演算結果Ｓｕｍｓとの関係を表す図である。
【図４】  本発明の第２の実施例である関数機能再構成可能集積回路２００を示す回路図である。
【図５】  特開２００１−２６６１０６公報に記載されている回路図であり、２段論理フィードフォワードしきい素子回路網に構成データとして多値を用い、任意のｋ入力変数論理関数を実現する回路の構成図である。
【図６】  図６は、図５に示す回路において、ｖＭＯＳインバータをしきい素子回路で置換した回路であり、連続する４つの入力状態数における回路の出力値Ｙを、３つの１段目のしきい素子回路の出力値（たとえば、Ｘｆ［１］、Ｘｆ［２］、Ｘｆ［３］）によって決定する回路である。
【図１】
0003938697.tif 000008
【図２】
0003938697.tif 000009
【図３】
0003938697.tif 000010
【図４】
0003938697.tif 000011
【図５】
0003938697.tif 000012
【図６】
0003938697.tif 000013