(57)【特許請求の範囲】
【請求項１】
複数の制御ゲートを有する絶縁ゲート電界効果トランジスタと、
当該絶縁ゲート電界効果トランジスタから所望の出力を得るために前記制御ゲートに付与する制御信号を生成する手段として、用意した電圧レベル群の各電圧レベルを前記絶縁ゲート電界効果トランジスタに入力したときに所望の出力が得られたときは、当該所望の出力が得られる電圧レベルを前記制御信号として出力し、所望の出力が得られないときは、当該出力結果に基づいて電圧レベルの選択及び／又は変更を行い、この選択及び／又は変更を所望の出力が得られるまで繰り返して前記電圧レベル群を収束させ、所望の出力が得られる電圧レベルを前記制御信号として出力する制御信号生成部と
を有する半導体装置。
【請求項２】
前記絶縁ゲート電界効果トランジスタは、前記複数の制御ゲートの印加電圧に応じて電位が決まる浮遊ゲートを有し、
前記絶縁ゲート電界効果トランジスタの制御ゲートに接続され、前記浮遊ゲートに対し電荷の注入又は抜き取りを制御して前記絶縁ゲート電界効果トランジスタのしきい電圧を設定または変更するしきい電圧制御部を更に有する
請求項１に記載の半導体装置。
【請求項３】
複数の入力信号を、その論理の組み合わせに応じた複数のレベルをとる電圧に変換して出力する入力変換部と、
前記絶縁ゲート電界効果トランジスタを含み、その制御信号入力用の制御ゲートに印加される制御信号と他の制御ゲートに前記入力変換部から印加される変換後の入力信号とに基づいて論理確定信号を生成する確定信号生成部と、
信号入力に前記入力変換部の出力が接続され、制御入力に前記確定信号生成部の出力が接続され、当該制御入力で受けた前記論理確定信号に応じて決まる所定関数の論理演算を前記入力変換部で変換後の入力信号に対して実行する可変演算部と
から構成された論理回路が前記制御信号生成部に接続されている
請求項１に記載の半導体装置。
【請求項４】
前記制御信号生成部は、予め用意した複数の電圧レベルを前記論理回路に入力して得られた演算結果を所望の演算結果と比較する比較部と、
前記比較の結果から演算結果の一致度に応じた発生確率で新たに複数の電圧レベルを選択する選択部と、
選択した電圧レベルを変更する変更部と、
これら比較部，選択部及び変更部を制御して、前記演算，比較，選択及び変更を繰り返しながら所望の前記論理確定信号を得ることができる電圧レベルを特定し、前記制御信号として前記確定信号生成部に向けて出力させる制御部と
を有する請求項３に記載の半導体装置。
【請求項５】
前記確定信号生成部は、前記絶縁ゲート電界効果トランジスタから構成され、前記制御信号と前記変換後の入力信号に応じて決まるしきい電圧で反転する論理確定用可変しきい電圧インバータを有し、
前記可変演算部は、入力した論理確定信号に応じてしきい電圧を複数の段階の何れかに変更することにより所定の論理関数が設定され、前記変換後の入力信号に応じて反転するか否かで所望の演算結果又はその反転出力を出力する演算用可変しきい電圧インバータを有する
請求項３に記載の半導体装置。
【請求項６】
前記演算用と論理確定用の２つの可変しきい電圧インバータ及び前記入力変換部は、第１の電源電圧と第２の電源電圧の間に直列接続されたｐ型チャネルとｎ型チャネルの２つの絶縁ゲート電界効果トランジスタから構成され、
当該２つのトランジスタは、半導体のチャネル形成領域上に形成されたゲート絶縁膜上に延在して当該２つのトランジスタ間で共通接続された浮遊ゲートと、
当該浮遊ゲート又は浮遊ゲートの連結部上に絶縁膜を介して配置され、印加電圧の組み合わせによって浮遊ゲートの電位を多段階に制御して前記出力の電圧レベルを設定し又はしきい電圧を変更する複数の制御ゲートとを有し、
前記入力変換部の２つのトランジスタは、ソース同士を接続した直列接続点から出力をとり出すソースフォロア接続がなされ、
前記演算用と論理確定用の２つの可変しきい電圧インバータは、それぞれドレイン同士を接続した直列接続点から出力をとり出すインバータ接続がなされている
請求項５に記載の半導体装置。
【請求項７】
前記確定信号生成部，前記可変演算部及び前記入力変換部は、第１の電源電圧と第２の電源電圧の間に直列接続されたｐ型チャネルとｎ型チャネルの２つの絶縁ゲート電界効果トランジスタから構成され、
当該２つのトランジスタは、半導体のチャネル形成領域上に形成されたゲート絶縁膜上に延在して当該２つのトランジスタ間で共通接続された浮遊ゲートと、
当該浮遊ゲート又は浮遊ゲートの連結部上に絶縁膜を介して配置され、印加電圧の組み合わせによって浮遊ゲートの電位を多段階に制御して前記出力の電圧レベルを設定し又はしきい電圧を変更する複数の制御ゲートとを有し、
前記入力変換部と、前記確定信号生成部，前記可変演算部の少なくとも一方とが、ソース同士を接続した直列接続点から出力をとり出すソースフォロア接続がなされ、
ソースフォロア接続されていない前記確定信号生成部又は前記可変演算部は、ドレイン同士を接続した直列接続点から出力をとり出すインバータ接続がなされている
請求項３に記載の半導体装置。
【請求項８】
複数の論理回路と、少なくとも前記複数の論理回路間の接続と入力信号の選択を配線接続の有無によってプログラム可能な配線アレイとを有する半導体装置であって、
前記複数の論理回路それぞれは、複数の入力信号を、その論理の組み合わせに応じた複数のレベルをとる電圧に変換して出力する入力変換部と、
制御入力に印加される制御信号と信号入力に前記入力変換部から印加される変換後の入力信号とに基づいて論理確定信号を生成する確定信号生成部と、
信号入力に前記入力変換部の出力が接続され、制御入力に前記確定信号生成部の出力が接続され、当該制御入力で受けた前記論理確定信号に応じて決まる所定関数の論理演算を前記入力変換部で変換後の入力信号に対して実行する可変演算部と
から構成されている半導体装置。
【請求項９】
前記論理回路を構成する絶縁ゲート電界効果トランジスタが、複数の制御ゲートの印加電圧に応じて電位が決まる浮遊ゲートを有し、
前記絶縁ゲート電界効果トランジスタの制御ゲートに接続され、前記浮遊ゲートに対し電荷の注入又は抜き取りを制御して前記絶縁ゲート電界効果トランジスタのしきい電圧を設定または変更するしきい電圧制御部を更に有する
請求項８に記載の半導体装置。
【請求項１０】
前記配線アレイは、配線の接続有無を確定するプログラム素子として、半導体のチャネル形成領域上に、当該チャネル形成領域上とゲート間にそれぞれ絶縁膜を介在させて浮遊ゲートと制御ゲートを順に積層させてなる不揮発性メモリ素子を複数有する
請求項８に記載の半導体記憶装置。
【請求項１１】
前記接続アレイは、前記論理回路ごとの所定関数の論理確定を、配線接続の有無によってプログラムする領域を備える
請求項８に記載の半導体装置。
【請求項１２】
前記論理回路に付与する前記制御信号を生成する手段として、用意した電圧レベル群の各電圧レベルを前記確定信号生成部にに入力したときに所望の出力が得られたときは、当該所望の出力が得られる電圧レベルを前記制御信号として出力し、所望の出力が得られないときは、当該出力結果に基づいて電圧レベルの選択及び／又は変更を行い、この選択及び／又は変更を所望の出力が得られるまで繰り返して前記電圧レベル群を収束させ、所望の出力が得られる電圧レベルを前記制御信号として出力する制御信号生成部を
更に有する請求項８に記載の半導体装置。
【請求項１３】
前記制御信号生成部内で用いられる前記電圧レベルそれぞれが、複数の論理回路の制御信号の確定を一括して行い、かつ前記配線アレイ内の配線接続の論理確定を行うために必要な大きさのビット列から構成されている
請求項１２に記載の半導体装置。
【請求項１４】
前記制御信号生成部が用意すべき前記電圧レベル群，前記選択又は変更の判断基準が少なくとも格納されたメモリ部を有し、
当該メモリ部と前記制御信号生成部の少なくとも一方は、その内部に論理回路を有する場合、当該論理回路部分が前記演算論理が変更可能な論理回路により構成されている
請求項１２に記載の半導体記憶装置。
【請求項１５】
前記制御信号生成部が用意すべき前記電圧レベル群，前記選択又は変更の判断基準が少なくとも格納されたメモリ部を有し、
当該メモリ部、前記制御信号生成部、前記複数の論理回路および前記接続アレイが、単一な半導体基板に集積化されている
請求項１２に記載の半導体記憶装置。
【請求項１６】
複数の制御ゲートを有する絶縁ゲート電界効果トランジスタを含む半導体装置の制御方法であって、
予め用意した複数の電圧レベルを前記絶縁ゲート電界効果トランジスタに入力したときに得られた出力を所望の出力と比較し、
前記比較の結果から出力の一致度に応じた発生確率で電圧レベルを選択及び／又は変更し、
これら比較，選択及び／又は変更を繰り返しながら所望の出力を得るための電圧レベルを特定して、前記制御信号として前記絶縁ゲート電界効果トランジスタに出力する
半導体装置の制御方法。
【請求項１７】
複数の入力信号を、その論理の組み合わせに応じた複数のレベルをとる電圧に変換して出力する入力変換部と、
前記絶縁ゲート電界効果トランジスタを含み、その制御信号入力用の制御ゲートに印加される制御信号と他の制御ゲートに前記入力変換部から印加される変換後の入力信号とに基づいて論理確定信号を生成する確定信号生成部と、
信号入力に前記入力変換部の出力が接続され、制御入力に前記確定信号生成部の出力が接続され、当該制御入力で受けた前記論理確定信号に応じて決まる所定関数の論理演算を前記入力変換部で変換後の入力信号に対して実行する可変演算部と
から構成された論理回路を前記半導体装置内に有する
請求項１６に記載の半導体装置の制御方法。
【請求項１８】
前記論理回路が複数存在して全体の論理回路が構成されている場合に、前記予め用意した電圧レベルとして、論理回路の数に対応し、かつ論理回路間の接続と入力選択に必要な大きさのビット列を用いる
請求項１７に記載の半導体装置の制御方法。
【請求項１９】
前記確定信号生成部として、電圧印加がないときにも一旦設定したしきい電圧が保持できるしきい電圧記憶型インバータを用い、
当該しきい電圧記憶型インバータのしきい電圧を、演算しようとする論理に適した値に設定した後、
前記演算，比較，選択及び／又は変更を繰り返しながら前記電圧レベルの特定を行う
請求項１７に記載の半導体装置の制御方法。
【請求項２０】
前記論理回路の論理確定後に、前記しきい電圧記憶型インバータのしきい電圧を、次回以降行われる論理演算に最適な値に予め設定する
請求項１９に記載の半導体装置の制御方法。
【請求項２１】
前記論理確定後に次の論理演算に備えて行う前記しきい電圧記憶型インバータのしきい電圧の設定は、その後の論理確定において求める論理演算に適した電圧レベルの組み合わせが出来るだけ多くなるように行う
請求項２０に記載の半導体装置の制御方法。
【請求項２２】
前記論理の確定ごとに、その論理確定で特定された電圧レベルを記憶しておき、
新しく論理の確定を行うに際し、これに先立って行う前記しきい電圧記憶型インバータのしきい電圧の設定では、予め記憶された前記電圧レベル群のうち最も使用頻度が高い論理演算を実現する電圧レベルが得られるようなしきい電圧を設定する
請求項１９に記載の半導体装置の制御方法。
【請求項２３】
前記論理の確定ごとに、その論理確定で特定された電圧レベルを記憶しておき、
新しく論理の確定を行うに際し、予め記憶された前記電圧レベルのうち、最も使用頻度が高いものから順に、前記演算，比較，選択及び変更を行う
請求項１７に記載の半導体装置の制御方法。
【請求項２４】
少なくとも前記変換後の入力信号，論理確定信号の内部信号と前記電圧レベルを示す信号とは、３値以上に多値化したものを用いる
請求項１７に記載の半導体装置の制御方法。
【請求項２５】
少なくとも前記変換後の入力信号，論理確定信号の内部信号と前記電圧レベルを示す信号として、アナログ信号を用いる
請求項１７に記載の半導体装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば全てのブール関数の論理演算が可能な汎用論理回路を構成可能な複数の制御ゲートを有する絶縁ゲート電界効果トランジスタと、当該絶縁ゲート電界効果トランジスタに制御信号を付与する制御信号生成部とを有する半導体装置、及び、その制御方法に関する。特定的に、本発明は、例えば、前記論理回路が正しい解を得ることができない場合でも、前記制御信号生成部が、いわゆる遺伝的アルゴリズムにより自律収束的に論理回路から所望の解を得る制御信号を生成して論理回路を正しく動作させ、また複数の論理回路間と入力の接続手段、更に学習機能をを付加することで短時間で複雑な論理計算を正確に実行できる自己進化に適した構成の半導体装置と、その制御方法に関する。
【０００２】
【従来の技術】
コンピューターサイエンス等の分野では、「進化するコンピューター」、「進化するハードウェア」が最近、注目されている。これらは、「遺伝的アルゴリズム」、「人工生命」、さらに最近流行語にもなってきている「複雑性」にも関連し、これらの考え方と相まって発展する様相をみせている。
「進化するハードウェア」とは、これまで機能が固定されていることが前提となっていたシステムのハードウェアに、可変性、プログラム性を持たせ、さらに生命の進化システムを応用した遺伝的アルゴリズム（Genetic Algorithms、以下ＧＡと略す）を用いて、ハードウェアの機能を環境に適応させて進化させようとするものである。
【０００３】
「進化するハードウェア」の基礎的な研究、開発はいくつかの研究機関でなされているが、その中で、代表的なＧＡ適用例として、ＦＰＧＡ（Field Programmable Gate Array ）、ＰＬＤ（Programmabl Logic Device）等がある。
以下、下記文献（１）に示されているＰＬＤを用いたものを説明する。
【０００４】
文献（１）：樋口哲也他：「遺伝的学習によるハードウェア進化の基礎実験」、『遺伝的アルゴリズム』、第１０章、産業図書、１９９３年刊。
【０００５】
この文献では、ＰＬＤの論理確定に遺伝的アルゴリズム（ＧＡ）を用いることにより、所望の組み合わせ回路、順序回路を得る手法を説明している。また、このような手段が将来的に大規模進化システムの基礎となると述べられている。
【０００６】
文献（１）に示されているＰＬＤはＧＡＬ１６Ｖ８と呼ばれているもので、一般的であり、また簡易なものである。このＰＬＤの構成図を図１３に示す。ＰＬＤはアレイ状に配置された接続パターンと論理マクロセル等により構成され、接続の有無、論理機能の選択を制御ビット列の組み合わせで指定することにより、所望の機能を備えた論理回路、すなわちロジックデバイスを得ることができる。入力信号が入る前段のアレイパターンは、各交点にヒューズ、ＥＥＰＲＯＭ等のプログラム素子が設けられ、これらをプログラムすることにより入力信号に対するＡＮＤ論理を選択できる。ＡＮＤがとられた各ラインは、論理マクロセルに入力さら、ＯＲ論理を介した後、フリップフロップ等の選択された回路を経て出力される。つまり、ＰＬＤは、ＡＮＤとＯＲの論理によって構成される加法標準形が基本となり、所望の組み合わせ回路、順序回路等が形成される。
【０００７】
文献（１）では、このＰＬＤの論理機能確定に遺伝的アルゴリズム（ＧＡ）を使い、「進化するハードウェア」システムを構築することを提案している。
具体的には、まず、ＰＬＤの論理を確定する制御ビット列を遺伝子とのアナロジーから染色体とみなし、この染色体をランダムに多数用意する。そして、それぞれの染色体（ビット列）により確定する論理回路について入力パターンと出力の対応を調べ、それぞれの出力結果と所望の出力値を比較し、一致の度合いに応じて染色体の適応度を決定する。一致の度合いが高ければ適応度を高め、低ければ減ずる。そして、適応度の高さに比例する確率で染色体を選択し（自然淘汰）、それらについてビット交叉（交配）、ビットデータ変換（突然変異）を行い、再度、論理出力の比較と適応度評価を行う。このサイクル（世代交代）を何度も繰り返し、最終的に適応度１００、つまり、論理が完全に所望のものと一致する制御ビット列を得る。環境が変化して異なる機能が要求されれば、システムは同じ手法を繰り返し、自律適応的に論理を変更し進化していくことができる。
【０００８】
文献（１）では、以上のシステムの例として、６マルチプレクサのＧＡによる論理確定を紹介しており、１０８ビット長の染色体表現を用い、適応度評価と交叉の２０００サイクルの世代交代で正確な解が得られている。
【０００９】
【発明が解決しようとする課題】
以上の従来技術にとりあげたＰＬＤを用いた「進化するハードウェア」システムでは、いくつか問題がある。
【００１０】
文献（１）でも指摘されているように、現状のＰＬＤはＥＰＲＯＭ、ＥＥＰＲＯＭ等のプログラム素子が用いられているが、書き換え保証回数は１００回程度であり、現実には、とても上記例のような２０００サイクルのＧＡ操作や、さらに長期的な進化プロセス操作を実現することができない。このため、文献（１）の例では、実デバイス（ＰＬＤ）を用いてシステムを検証しているのではなく、制御ビット列のＧＡ操作をコンピューター上でシミュレーションするに留まっている。
【００１１】
また、ＥＰＲＯＭ、ＥＥＰＲＯＭ等のデバイスの書き換えには、紫外線消去、オンボードであっても特別な書き換えモードに入る必要性があるので、ＧＡ操作を行う際に極めて長い時間がかかる。よって、リアルタイムに環境に適応するような自己適応システムの構築は不可能である。
【００１２】
さらに、上述したように、ＰＬＤは基本的に積和論理によって構築される加法標準形が基本となっているが、一般的に加法標準形は最も効率の良い論理式とは言えず、回路に冗長な部分が生じ易い。回路が冗長であることは、ＧＡ操作では染色体の長さが長くなることになり、ＧＡ操作の効率を悪くする。逆に染色体の長さを固定して考えるならば、変化におけるフレキシビリティーが低いことを意味する。
【００１３】
また、下記文献（２）では、上述したコンセプトと同様に、超ＬＳＩの設計用言語ＨＤＬにＧＡを適用し、ＬＳＩの設計を進化的に変化させていく手法を提案している。
【００１４】
文献（２）：辺見均他：「行動型ハードウェアの進化」、『遺伝的アルゴリズム』、第８章、産業図書、１９９５年刊。
【００１５】
しかし、これもシミュレーション上の実験であり、実デバイスを実際にどのように変化させていくかについては、言及されていない。
【００１６】
このように「進化するハードウェア」の実現のために現在提案されたアイデアは、既存のデバイスであるＦＰＧＡやＰＬＤ、またハードウェア記述言語（ＨＤＬ）を用いたものであるが、これらの研究は未だシミュレーションレベルであり、ハードウェアを対象にしながらもソフトウェアの研究に留まっている。
このように、実際の「進化するハードウェアシステム」の実現に際しては上述した問題点や課題が多い。とくに、実際にシステムを構成するデバイスとして、現状にＰＬＤに代わる、より適したデバイスが必要となる。
【００１７】
本発明は、このような実情に鑑みてなされ、遺伝的アルゴリズムによるシステム進化の可能性を充分に発揮できるデバイスの適用と、この適用に際して効率的な制御手法を提案して、遺伝的アルゴリズムによって自律的に進化するハードウェアとして実用的で実現可能な半導体装置と、その論理確定方法を新たに提供することを目的とする。
【００１８】
【課題を解決するための手段】
上述した従来技術の問題点を解決し、上記目的を達成するために、本発明の半導体装置では、演算論理の変更が可能な汎用論理回路を構成する複数の制御ゲートを有するＭＩＳＦＥＴを、いわゆる進化するハードウェアの基本デバイスとして用いている。
【００１９】
すなわち、本発明の半導体装置では、複数の制御ゲートを有する絶縁ゲート電界効果トランジスタと、当該絶縁ゲート電界効果トランジスタから所望の出力を得るために前記制御ゲートに付与する制御信号を生成する手段として、用意した電圧レベル群の各電圧レベルを前記絶縁ゲート電界効果トランジスタに入力したときに所望の出力が得られたときは、当該所望の出力が得られる電圧レベルを前記制御信号として出力し、所望の出力が得られないときは、当該出力結果に基づいて電圧レベルの選択及び／又は変更を行い、この選択及び／又は変更を所望の出力が得られるまで繰り返して前記電圧レベル群を収束させ、所望の出力が得られる電圧レベルを前記制御信号として出力する制御信号生成部とを有する。
【００２０】
また、複数の入力信号を、その論理の組み合わせに応じた複数のレベルをとる電圧に変換して出力する入力変換部と、前記絶縁ゲート電界効果トランジスタを含み、その制御信号入力用の制御ゲートに印加される制御信号と他の制御ゲートに前記入力変換部から印加される変換後の入力信号とに基づいて論理確定信号を生成する確定信号生成部と、信号入力に前記入力変換部の出力が接続され、制御入力に前記確定信号生成部の出力が接続され、当該制御入力で受けた前記論理確定信号に応じて決まる所定関数の論理演算を前記入力変換部で変換後の入力信号に対して実行する可変演算部とから構成された論理回路が、前記制御信号生成部に接続されている。
【００２１】
この場合、前記制御信号生成部は、好適には、予め用意した複数の電圧レベルを前記論理回路に入力して得られた演算結果を所望の演算結果と比較する比較部と、前記比較の結果から演算結果の一致度に応じた発生確率で新たに複数の電圧レベルを選択する選択部と、選択した電圧レベルを変更する変更部と、これら比較部，選択部及び変更部を制御して、前記演算，比較，選択及び変更を繰り返しながら所望の前記論理確定信号を得ることができる電圧レベルを特定し、前記制御信号として前記確定信号生成部に向けて出力させる制御部とを有する。
【００２２】
これら前記入力変換部，確定信号生成部及び可変演算部は、いわゆるνＭＯＳで構築できる。
すなわち、前記入力変換部，確定信号生成部及び可変演算部は、第１の電源電圧と第２の電源電圧の間に直列接続されたｐ型チャネルとｎ型チャネルの２つの絶縁ゲート電界効果トランジスタから構成され、当該２つのトランジスタは、半導体のチャネル形成領域上に形成されたゲート絶縁膜上に延在して当該２つのトランジスタ間で共通接続された浮遊ゲートと、当該浮遊ゲート又は浮遊ゲートの連結部上に絶縁膜を介して配置され、印加電圧の組み合わせによって浮遊ゲートの電位を多段階に制御して前記出力の電圧レベルを設定し又はしきい電圧を変更する複数の制御ゲートとを有する。
【００２３】
前記入力変換部は２つのトランジスタのソース同士を接続した直列接続点から出力をとり出すソースフォロア接続がなされている。一方、確定信号生成部と可変演算部は、ソースフォロア接続としてもよく、また２つのトランジスタのドレイン同士を接続した直列接続点から出力をとり出すインバータ接続としてもよい。
【００２４】
複雑な回路を構築するために好ましい本発明の半導体装置は、前記演算論理を変更可能な複数の論理回路と、当該複数の論理回路間の接続と入力信号の選択を配線接続の有無によってプログラム可能な配線アレイとを有する。この接続アレイは、制御信号生成部により制御させることもできる。この場合、前記制御信号生成部内で用いられる前記電圧レベルそれぞれが、複数の論理回路の制御信号の確定を一括して行い、かつ前記配線アレイ内の配線接続の論理確定を行うために必要な大きさのビット列から構成されている。
【００２５】
前記配線アレイは、配線の接続有無を確定するプログラム素子として、半導体のチャネル形成領域上に、当該チャネル形成領域上とゲート間にそれぞれ絶縁膜を介在させて浮遊ゲートと制御ゲートを順に積層させてなる不揮発性メモリ素子を複数有する。このフローティングゲート（ＦＧ）を有するフラッシュメモリ等の不揮発性メモリ素子は、前述したνＭＯＳと同時形成ができ、製造プロセスの共通性の面から好ましい。
【００２６】
また、上述した確定信号生成部等を構成するインバータ等におけるしきい電圧の変更は、制御信号による制御に代えて、或いは制御信号による制御に加えて、浮遊ゲートへの注入電荷量の制御で行うことができる。
このタイプの本発明の半導体装置では、少なくとも前記論理確定用可変しきい電圧インバータを構成するトランジスタが、半導体のチャネル形成領域上に、当該チャネル形成領域上とゲート間にそれぞれ絶縁膜を介在させて浮遊ゲートと制御ゲートを順に積層させてなる不揮発性メモリ素子から構成されている。また、この場合の制御信号生成部は、前記確定信号生成部を構成する可変しきい電圧インバータを構成するトランジスタの浮遊ゲートに対し電荷の注入と抜き取りを行って当該インバータのしきい電圧を変更するしきい電圧制御部を有する。
【００２７】
本発明の半導体装置の制御方法は、複数の制御ゲートを有する絶縁ゲート電界効果トランジスタを含む半導体装置の制御方法であって、予め用意した複数の電圧レベルを前記絶縁ゲート電界効果トランジスタに入力したときに得られた出力を所望の出力と比較し、前記比較の結果から出力の一致度に応じた発生確率で電圧レベルを選択及び／又は変更し、これら比較，選択及び／又は変更を繰り返しながら所望の出力を得るための電圧レベルを特定して、前記制御信号として前記絶縁ゲート電界効果トランジスタに出力する。
【００２８】
好ましくは、前記絶縁ゲート電界効果トランジスタを確定信号生成部に含む演算論理が変更可能な論理回路を複数有し、これにより全体の論理回路が構成されている場合に、前記予め用意した電圧レベルとして、論理回路の数に対応し、かつ論理回路間の接続と入力選択に必要な大きさのビット列を用いる。
【００２９】
本発明の論理確定方法では、好ましくは、以下に示す幾つかの制御を単独で、或いは組み合わせることによって学習性をもたせることができる。
（１）前記確定信号生成部として、電圧印加がないときにも一旦設定したしきい電圧が保持できるしきい電圧記憶型インバータを用い、当該しきい電圧記憶型インバータのしきい電圧を演算しようとする論理に適した値に設定した後、前記演算，比較，選択及び／又は変更を繰り返しながら前記電圧レベルの特定を行う。
（２）前記論理回路の論理確定後に、前記しきい電圧記憶型インバータのしきい電圧を、次回以降行われる論理演算に最適な値に予め設定する。
（３）前記論理確定後に次の論理演算に備えて行う前記しきい電圧記憶型インバータのしきい電圧の設定は、その後の論理確定において求める論理演算に適した電圧レベルの組み合わせが出来るだけ多くなるように行う。
（４）前記論理の確定ごとに、その論理確定で特定された電圧レベルを記憶しておき、新しく論理の確定を行うに際し、これに先立って行う前記しきい電圧記憶型インバータのしきい電圧の設定では、予め記憶された前記電圧レベル群のうち最も使用頻度が高い論理演算を実現する電圧レベルが得られるようなしきい電圧を設定する。
（５）前記論理の確定ごとに、その論理確定で特定された電圧レベルを記憶しておき、新しく論理の確定を行うに際し、予め記憶された前記電圧レベルのうち、最も使用頻度が高いものから順に、前記演算，比較，選択及び変更を行う。
【００３０】
また、少なくとも前記変換後の入力信号，論理確定信号の内部信号と前記電圧レベルを示す信号とは、３値以上に多値化したもの或いはアナログ信号を用いると、更に効率化が図れて好ましい。
【００３１】
以上述べてきた本発明の半導体装置は、シミュレーションではなく実際に実現可能に具体化され手段によりＧＡ手法を適用した半導体デバイスである。
このＧＡ手法が適用される対象として、本発明の半導体装置ではνＭＯＳ、又はこれを用いた演算論理を変更可能で簡易な構成の論理回路を有する。適用対象が論理回路の場合、ＧＡ手法が所望の論理演算を得るための制御信号の生成に適用され、具体的には、制御信号生成部が実際の演算結果をもとに自律的な過程で制御信号を生成する。
【００３２】
この論理回路とＧＡ手法による論理制御との組み合わせによって、機能を用途に応じて変更／拡大する大規模なＩＣの実現が可能となる。なぜなら、通常の論理回路では機能を固定して、それに最適な配線等の設計的な要素が加味されているので、機能が変更されると設計な最適ポイントが狂って誤動作を誘うが、ＧＡ手法による論理確定では、正常動作が個々の論理回路レベルで確実に保証され、動作精度が格段に高いものとなる。
従来のＧＡ手法の適用例では、ある決まったプログラム状態における機能を正確に動作させるためだけにＧＡ手法が用いられていたのに対し、本発明では、正常動作の確保に加え、機能自体の変更にＧＡ手法が用いられているので、遺伝的アルゴリズム操作における柔軟性、多様性が高い。
【００３３】
この論理確定手法を、複数の論理回路間の接続及び入力選択を含めた論理回路間制御に適用した場合、複数の論理回路からなるブロック全体、或いは集積回路全体で動作精度が高くなり効率が増す。また、簡易な回路（論理回路）を用いており、接続のための接続アレイも簡素である。
加えて、論理回路に汎用性があるので、欠陥があって動作不能な論理回路を他の不使用な論理回路で、必要に応じて機能を変更しながら置換して用いることができ、これにより機能が固定された従来の論理ＩＣ等では不可能であった自動的に欠陥部分を使わないようにする特性、即ち自己欠陥回避性がある。なお、従来の機能変更できるデバイス、例えばＰＬＤでは機能変更を大規模なアレイに依存しており、機能変更に時間がかかるので自己欠陥回避は不可能である。
さらに、周囲の環境変化、例えば温度変化，入力信号の劣化或いはノイズ環境の劣化等があった場合、各論理回路に対し、その環境において所望の演算結果を得ることができる制御信号が付与されるので、誤動作することなく自律的に適応できる、即ち環境適応性がある。たとえば、これらの環境変化によって、従来構成では動作マージンがなくなったり、或いは例えばＮＡＮＤとＡＮＤの論理が逆転して誤動作する場合でも、本発明では論理回路を正しい解を得られるように制御するので、飛躍的に誤動作の確率が低減する。
さらに、先に列挙した幾つかの学習機能の付加と、幾つかの高効率化を進める制御を行うと、回路自体を簡素化できるうえ、予備的な並列処理が付加されて制御信号の変更範囲が制限されるために、同じような論理演算を繰り返すうちに自然と処理速度が向上する。この結果、機能または性能の拡大余地が生まれる。
【００３４】
【発明の実施の形態】
本発明に係る半導体装置及びその制御手法は、これまでのコンピューター等のソフトウェアによってその機能を変更してきたもの、或いはＰＬＤ等のようにメモリアレイに依存した機能変更と異なり、ハードウェア（本発明では、例えば単位論理回路の機能（ロジック））自体を変えることにより、動作の並列性に起因する処理速度の高速化や機能性等の面において、より最適なシステム（半導体装置及びその制御方法）の実現を可能とするものである。
【００３５】
本発明は、「進化するハードウェア」に最適なシステムを半導体デバイスの構造とその制御方法のレベルから提案するものである。すなわち、本発明の半導体装置は、νＭＯＳ、又はνＭＯＳ等からなり演算論理を変更可能な簡素な構成の論理回路を組み込んだハード構成と、そのオペレーション手段を有する。また、本発明の制御方法では、例えば、論理回路の論理確定オペレーション方法のほか、更に動作の効率化ができるνＭＯＳの改良と制御方法、高効率ができる制御方法、或いは自己学習性をもたせた制御方法を新たに提案する。
以下、本発明の実施形態を、図面を参照しながら詳細に説明する。なお、以下の説明では、本発明の半導体装置の制御方法に関し、論理回路の論理確定を内部に備えた制御手段を用いて制御する場合を例として説明する。しかし、本発明の制御方法は、論理確定制御に限定されず、νＭＯＳの特性制御（例えば、しきい電圧の設定／変更制御）等に広く適用可能であり、また、内部手段による制御に限定されず、半導体装置の外部から制御する場合も含むものである。
【００３６】
第１実施形態
図１は、本実施形態に係る半導体装置の要部を示す構成図である。
この半導体装置１は、論理回路１０，ＧＡ操作部２０（本発明の“制御信号生成部”に該当），及びメモリ部３０を有する。
【００３７】
本実施形態では、進化システムを構築する基礎デバイス（論理回路１０）として、下記文献に記載され、東北大学から発表されているνＭＯＳと、それを用いた論理回路（ソフト・ハードウェア回路、以下ＳＨ回路と略す）を用いる。
【００３８】
文献（３）：Shibata,T. and T.Ohmi,“An Intelligent MOS Transistor Feauturing Gate-Level Weighted Sum and Threshold Operations,”,IEDM,1991。
文献（４）：柴田直，「新概念のＭＯＳトランジスタ、単体でニューロン機能など実現」、日経マイクロデバイス、１９９２年１月号、ｐ１０１。
文献（５）：Shibata,T.,T.Ohmi,“Real-Time Rconfigurable Logic Circuits Using Neuron MOSTransistor ”,ISSCC,p236,1993。
【００３９】
〔νＭＯＳ〕
図２に、νＭＯＳの断面構造を示す。
νＭＯＳは、通常のＭＯＳトランジスタのゲート電極を電気的にフローティング状態とし（以下、フローティングゲート、又は単にＦＧと称す）、これと容量結合する複数の制御ゲート（以下、コントロールゲート、又は単にＣＧと称す）を設けた構造となっている。なお、図２において、符号１００は半導体基板、１０２はソース不純物領域、１０４はドレイン不純物領域、１０６はゲート絶縁膜、１０８はゲート間絶縁膜を示す。
フローティングゲートＦＧは、コントロールゲートＣＧに印加される信号に応じて、その電位φf が容量カップリングによって持ち上がり、電位φf がある一定のゲート閾値電圧以上となるとトランジスタがＯＮする。
このとき、フローティングゲート電位φf は、図２（ｂ）に式で示すように、各コントロールゲート印加電圧Ｖ１〜Ｖｎを容量比に応じて重み付けした値の総和によって表される。この特性を利用し、νＭＯＳトランジスタをｎＭＯＳとｐＭＯＳで組み合わせると、Ｄ−Ａ変換器、可変しきい電圧インバータ等さまざまな機能を持った回路を簡単に構成することができる。
【００４０】
〔ＳＨ回路（ソフト・ハードウェア回路）〕
図１の論理回路１０を構成するＳＨ回路は、２ｂｉｔのバイナリ入力信号Ｉ１、Ｉ２に応じてＶｏｕｔを出力する論理演算回路であり、制御信号Ｖａ，Ｖｂ，Ｖｃに応じ、ＡＮＤ，ＯＲ，ＮＡＮＤ，ＮＯＲ等の１６個のブール関数を全て演算できる。
【００４１】
本実施形態の回路構成は、“入力変換部２”（入力部）を構成する２ｂｉｔＤ−Ａ変換器、“可変演算部６”（出力部）を構成する４入力の可変しきい電圧インバータ（演算用可変しきい電圧電圧インバータ８）、“確定信号生成部４”を構成する２入力可変しきい電圧インバータＡ〜Ｃの３つの部分に大別される。それぞれの部分は、いずれも、図１に示すような構成で上記のνＭＯＳトランジスタを使用している。
入力部のＤ−Ａ変換器は、電源電圧Ｖddと接地電位ＧＮＤとの間に直列接続されたｎＭＯＳ２ａとｐＭＯＳ２ｂから構成され、そのフローティングゲートＦＧ２が共通で、またコントロールゲートがＣＧ２１〜ＣＧ２３と３個配置されたνＭＯＳ構成となっている。第１及び第２のコントロールゲートＣＧ２１，ＣＧ２２には、それぞれ入力信号Ｉ１，Ｉ２が印加され、第３のコントロールゲートＣＧ２３は接地されている。
【００４３】
このような構成のＤ−Ａ変換器は、第１及び第２のコントロールゲートＣＧ２１，ＣＧ２２の面積比が１：２となっており、ｎＭＯＳ２ａとｐＭＯＳ２ｂの共通接続されたソースから出力が取り出されたソースフォロア接続となっているので、入力信号Ｉ１，Ｉ２（バイナリ信号）の組み合わせにより（０，Ｖdd／４，２Ｖdd／４，３Ｖdd／４）の４値信号を作り出す。
【００４４】
２入力可変しきい電圧インバータＡ〜Ｃは、図３にインバータＡで代表して示すように、それぞれ電源電圧Ｖddと接地電位ＧＮＤとの間に直列接続されたｐＭＯＳ４ａとｎＭＯＳ４ｂから構成され、そのフローティングゲートＦＧ４が共通で、またコントロールゲートがＣＧ４１，ＣＧ４２と２個配置されたνＭＯＳ構成となっている。第１のコントロールゲートＣＧ４１は、Ｄ−Ａ変換器（入力変更部２）の出力（変換後の入力信号）が印加され、コントロールゲートＣＧ４２は、インバータＡ，Ｂ，Ｃ毎にそれぞれ前記ＧＡ操作部２０からの制御信号Ｖａ，Ｖｂ，Ｖｃが入力される。
【００４５】
このような構成の２入力可変しきい電圧インバータＡ〜Ｃは、フローティングゲートＦＧ４（通常のゲート電極に該当）が共通接続され、かつｐＭＯＳ４ａとｎＭＯＳ４ｂの共通接続されたドレインから出力が取り出されたインバータ接続となっている。また、第１及び第２のコントロールゲートＣＧ４１，ＣＧ４２の面積比が１：１となっていることから、２入力可変しきい電圧インバータＡ〜Ｃの反転電圧Ｖinv(a)〜Ｖinv(c)は、例えばインバータＡではＶinv(a)＝Ｖdd−Ｖａなどとなるように設計されている。したがって、制御信号Ｖａ，Ｖｂ，Ｖｃの値で決まるしきい電圧と、Ｄ−Ａ変換後の入力信号（多値信号）の電圧レベルとの組み合わせに応じて、２入力可変しきい電圧インバータＡ〜Ｃの各出力電圧（以下、論理確定信号ともいう）Ｖ２，Ｖ３，Ｖ４は、それぞれ０またはＶddの値をとる。
【００４６】
一方、４入力の演算用可変しきい電圧インバータ８は、図１に示すように、電源電圧Ｖddと接地電位ＧＮＤとの間に直列接続されたｐＭＯＳ８ａとｎＭＯＳ８ｂから構成され、そのフローティングゲートＦＧ８が共通で、またコントロールゲートがＣＧ▲１▼，ＣＧ▲２▼，ＣＧ▲３▼，ＣＧ▲４▼と４個配置されたνＭＯＳ構成となっている。第１のコントロールゲートＣＧ▲１▼に、Ｄ−Ａ変換器（入力変更部２）の出力電圧Ｖ１（変換後の入力信号）が印加され、コントロールゲートＣＧ▲２▼〜▲４▼には、それぞれ２入力可変しきい電圧インバータＡ，Ｂ，Ｃの論理確定信号Ｖ２，Ｖ３，Ｖ４が印加される。
【００４７】
この４入力可変しきい電圧インバータ８は、フローティングゲートＦＧ８が共通接続され、かつｐＭＯＳ８ａとｎＭＯＳ８ｂの共通接続されたドレインから出力が取り出されたインバータ接続となっている。また、第１〜第４のコントロールゲートＣＧ▲１▼〜ＣＧ▲４▼の面積比が４：２：１：１となっていることから、この各ゲートの結合容量Ｃ１〜Ｃ４は、全容量をＣtot とすると、それぞれＣ１＝Ｃtot ／２，Ｃ２＝Ｃtot ／４，Ｃ３＝Ｃ４＝Ｃtot ／８と表すことができる。コントロールゲートＣＧ▲２▼〜ＣＧ▲４▼によって、当該４入力可変しきい電圧インバータ８のしきい電圧Ｖinv(8)が８通りの組み合わせで容量比としては、０，Ｃtot ／８，２Ｃtot ／８，３Ｃtot ／８，４Ｃtot ／８の５値で制御され、その値は以下の（１）式で与えられる。
【００４８】
【数１】
Ｖinv(8)＝Ｖdd−２（Ｖ２／４＋Ｖ３／８＋Ｖ４／８）    …（１）
【００４９】
この電圧Ｖ２〜Ｖ４で決まり５値をとり得るしきい電圧Ｖinv(8)と、Ｄ−Ａ変換後の入力信号（多値信号）の電圧レベルＶ１との組み合わせに応じて、当該４入力可変しきい電圧インバータ８のＯＮ／ＯＦＦを制御する。４入力可変しきい電圧インバータ８の出力は、インバータ１２を介して出力信号Ｖｏｕｔとして外部に取り出される。
【００５０】
この４入力可変しきい電圧インバータ８は、ＧＡ操作部２０から加える制御信号Ｖａ，Ｖｂ，Ｖｃの値によって生成される論理確定信号Ｖ２〜Ｖ４の組み合わせで演算論理が決定され、入力信号Ｉ１，Ｉ２の２値（“１”と“０”）の組み合わせに対して、出力信号Ｖｏｕｔからは所定の論理による演算結果に合致した電源電圧Ｖdd（“１”に対応）と接地電位（“０”に対応）の組み合わせが得られる。
【００５１】
たとえば、図４（ａ）に示す入力信号（Ｉ１，Ｉ２）と出力信号Ｖｏｕｔと関係において、制御信号（Ｖａ，Ｖｂ，Ｖｃ）が（０，０，Ｖdd）が入力されたとする。
制御信号Ｖａが０のときに、変換後の入力信号Ｖ１が（０，Ｖdd／４，２Ｖdd／４，３Ｖdd／４）の何れに変化しても、論理確定信号Ｖ２〜Ｖ４は全てＶddとなる。また、制御信号ＶａがＶddのときに、変換後の入力信号Ｖ１が（０，Ｖdd／４，２Ｖdd／４，３Ｖdd／４）の何れに変化しても、論理確定信号Ｖ２〜Ｖ４は全て０となる。つまり、入力信号Ｖ１が（０，Ｖdd／４，２Ｖdd／４，３Ｖdd／４）に変化しても、論理確定信号（Ｖ２，Ｖ３，Ｖ４）は（Ｖdd，Ｖdd，０）と一定であり、前記（１）式で示す４入力可変しきい電圧インバータ８のしきい電圧Ｖinv(8)はＶdd／４で変化しない。
この結果、入力信号Ｖ１が“０”のときはインバータ８が反転しないのでＶｏｕｔは“０”となるが、Ｖ１が（Ｖdd／４，２Ｖdd／４，３Ｖdd／４）のときは何れもインバータ８が反転しＶｏｕｔは“１”となる。つまり、入力信号（Ｉ１，Ｉ２）が（０，０）のときのみ出力信号Ｖｏｕｔが“０”で他の組み合わせでは出力信号Ｖｏｕｔが“１”（Ｖdd）をとるＯＲ論理の出力が得られる。
【００５２】
同様に、（Ｖａ，Ｖｂ，Ｖｃ）＝（Ｖdd／４，Ｖdd／４，Ｖdd）ならばＸＯＲ論理、（Ｖａ，Ｖｂ，Ｖｃ）＝（Ｖdd，Ｖdd，０）ならばＡＮＤ論理となる。このようにして得られた（Ｖａ，Ｖｂ，Ｖｃ）の組み合わせと、その時のＶｏｕｔの関係を図４（ｂ）にまとめて示す。
このように、バイナリ２入力（４値）の論理回路１０（ＳＨ回路）では、演算用可変しきい電圧インバータ８を４入力νＭＯＳインバータで構成し、また、それぞれが５値の制御信号（Ｖａ，Ｖｂ，Ｖｃ）からバイナリ信号（論理確定信号）を生成して、これにより４入力νＭＯＳインバータの３つのしきい電圧制御電極を駆動することにより、１６個の関数をすべて表現する出力を得ることができる。
【００５３】
同様に、論理回路をバイナリ３入力（８値）に対応する構成とすれば２５６個の関数が、また、バイナリ４入力（１６値）対応とすれば２万５５３６個の関数を任意に指定し、演算することができる。
【００５４】
〔ＧＡ操作部（制御信号生成部）〕
つぎに、図１におけるＧＡ操作部２０の具体的構成例と、その動作（ＧＡ操作）について説明する。
図５は、ＧＡ操作部２０の具体的構成例を示すブロック図である。
本例のＧＡ操作部２０は、制御信号Ｖａ〜Ｖｃを実際の論理回路に適合した値に確定するものであり、比較部２１、選択部２２、変更部２３、制御部２４および出力部２５から構成されている。
このＧＡ操作部２０は、用意した数値列群から選択した数値列を図１の論理回路１０に入力したときに得られる結果に基づいて、数値列の再選択と変更を行い、これを所望の演算結果が得られる制御信号Ｖａ〜Ｖｃを生成するまで繰り返して数値列群を自律収束させるものである。ＧＡ操作という名称は、これらの一連の動作が、数値列を遺伝子とみたてたときに、そのＤＮＡ配列の適応度を評価し（比較）、適応度に応じた発生確率で数値列を選択し（選択）、ＤＮＡ配列（ビット列）を交叉または変異させ（変更）、再度遺伝子の組み換えを行って再度上記手順を繰り返す遺伝進化の過程に似ていることから付けられたものである。
なお、各構成の詳しい動作は、次に述べるＧＡ操作で説明する。
【００５５】
〔ＧＡ操作〕
図６は、νＭＯＳを用いた進化システムの動作手法を説明するために、１つのＳＨ回路を用いて、遺伝的アルゴリズム（ＧＡ）により、ＳＨ回路の論理を確定していく手順を示すフロー図である。ここでは、一例として、ＯＲ回路の導出について示す。
【００５６】
先の図１に示す２ｂｉｔ入力のＳＨ回路１０では、その論理を確定するのにＶａ，Ｖｂ，Ｖｃのそれぞれに、（０，Ｖdd／４，２Ｖdd／４，３Ｖdd／４，Ｖdd）の５値信号のいずれかを加えることとした。これは、２値に置き換えるとそれぞれの制御信号について３ビット（但し、３値分冗長となる）であり、合計９ビットの情報が必要となる。
【００５７】
本例では、この論理を確定する９ｂｉｔをＧＡにおける染色体とみなす。つまり、制御信号Ｖａ，Ｖｂ，Ｖｃが取り得る値（０，Ｖdd／４，２Ｖdd／４，３Ｖdd／４，Ｖdd）をそれぞれ（０００，００１，０１０，０１１，１００）に対応させ、これらの３端子についての並び（ａａａ，ｂｂｂ，ｃｃｃ）を染色体とする。ここで、ａ〜ｃは“０”又は“１”であり、制御信号はＶａ＝（ａａａ），Ｖｂ＝（ｂｂｂ），Ｖｃ＝（ｃｃｃ）で表される。
そして、図６のステップＳＴ１では、初期状態として、この染色体を何通りか用意する（図６では、４通りのみ例示）。この染色体の抽出は、図５の構成例では、例えば制御部２４がメモリ部３０と出力部２５を制御して、順次行う数値列（染色体）の出力制御で達成される。
【００５８】
ステップＳＴ２では、用意した染色体（制御信号）の適応度Ｓを評価する。具体的に図５の例では、出力部２５から順次出力された数値列（染色体）が論理回路１０に制御信号Ｖａ，Ｖｂ，Ｖｃに分けて各制御端子に入力され、そのときの出力信号Ｖｏｕｔが比較部２１にフィードバックされる。また、制御部２４の制御を受けてメモリ部３０から所望の演算結果（出力信号Ｖｏｕｔ’）が比較部２１に送られる。
比較部２１は、両出力信号Ｖｏｕｔ，Ｖｏｕｔ’を比較して、入力信号の組み合わせに応じた出力信号Ｄ１〜Ｄ４（図４参照）ごとに、一致度を判定する。このとき、出力信号Ｄ１〜Ｄ４が全て一致すれば適応度４、全て一致しなければ適応度０となる。
たとえば、図６に４つ例示する最初の染色体１では、（Ｖａ，Ｖｂ，Ｖｃ）＝（００１，０１１，０１１）であり、図４（ｂ）の真理値表を参照すると、この場合はＮＯＲ出力となるので、所望のＯＲと出力信号Ｄ１〜Ｄ４が何れも一致しないことから、適応度Ｓは“０”と判定される。同様に、図６の染色体２は１出力が一致して適応度１、染色体３は２出力で一致して適応度２、染色体４は３出力で一致して適応度３と判定される。
【００５９】
適応度４の染色体が一つでも存在すれば、この染色体が実際の論理回路１０で所望の演算結果を得るために正しい制御信号として確定し、フローが終了する。
【００６０】
適応度４が存在しない場合は、フローがステップ３に進み、求めた適応度Ｓに応じた確率で染色体の組が選択される。この選択は、図５の制御部を介して適応度情報を受け取った選択部２２により実行される。たとえば、図６の例では、最も適応度が高い染色体４と次に適応度が高い染色体３の組が１／２の確率で選択され、染色体４と三番目に適応度が高い染色体２の組と、染色体２と３の組が、それぞれ１／４の確率で選ばれている。選択後の染色体の組は変更部２３に送られる。この染色体操作により、適応度が低いものほど選択から漏れて自然淘汰され、適応度が高いものほど存在確率が高くなる。
【００６１】
ステップＳＴ４では、例えば図５の変更部２３において、選択後の染色体の組に対しビット交叉またはデータ変異が実行される。本例におけるビット交叉」とは、各染色体の組間で、異なるビットがある場合、そのビットをＶａ〜Ｖｃごとに一つだけ交換することをいう。また、図６の例では具体的に実施していないが、「データ変異」とは、例えば、新しくつくられた新染色体の任意のビットをＶａ〜Ｖｃごとに一つだけ反転することをいう。
ビット交叉またはデータ変異によって、新たな染色体が生成されたことになり、これが図５の出力部２５に送られる。
【００６２】
ステップＳＴ５では、例えば図５の出力部２５において、古い染色体群が新たな染色体群と置き替えられ、最初の世代交代が終了する。次いで、フローが再度、ステップＳＴ２に戻り、適応度Ｓの評価（ＳＴ２），染色体の組選択（ＳＴ３），ビット交叉またはデータ変異（ＳＴ４）のサイクル（世代交代）を、適応度１００％（図６の例では、適応度４）の染色体が得られるまで繰り返す。
適応度１００％の染色体は、メモリ部３０に格納され、必要に応じて制御信号として論理回路の動作に供せられる。
【００６３】
なお、以上の説明はＧＡ適用の一例であり、初期の染色体数、適応度評価法、染色体の選択法、ビット交叉データ変換手法は、使用状況に応じて最適な手段が選ばれる。
また、論理回路の機能の変更は、制御部２４がメモリ部３０から読み出す所望の演算結果を変えるだけで、後は上述した手順を実行することで容易に達成される。
さらに、同じ論理回路に対し論理確定が繰り返され、同じ論理回路は同じ論理関数で用いられることが多い場合では、ステップＳＴ１で数値列を用意する際、使用頻度が高いほうのものから染色体を選ぶようにすると、世代交代のサイクル数が少ない段階で希望の数値列を特定できる。つまり、数値列選択に学習機能を持たせることにより、効率の向上を図るようにすることができる。
【００６４】
本実施形態の半導体装置は、シミュレーションではなく実際に実現可能に具体化された手段によりＧＡ手法を適用した半導体デバイスである。本半導体装置の論理回路は、演算論理を変更可能なものとしては、例えば従来のＰＬＤ等に比べ簡易な構成を有する。また、演算論理の確定が制御信号の変更で済むためリアルタイムで論理を変更しながら動作することが可能である。
本実施形態では、この制御信号の確定にＧＡ手法が適用され、ＧＡ操作部（制御信号生成部）が実際の演算結果をもとに自律的な過程で、実際の論理回路に適合した制御信号を生成する。通常の論理回路では機能を固定して、それに最適な配線等の設計的な要素が加味されているので、機能が変更されると設計の最適ポイントが狂って誤動作を誘うが、ＧＡ手法による論理確定では、正常動作が個々の論理回路レベルで確実に保証され、動作精度が格段に高いものとなる。
また、周囲の環境変化、例えば温度変化，入力信号の劣化或いはノイズ環境の劣化等があった場合、論理回路に対し、その環境において所望の演算結果を得ることができる制御信号が付与されるので、誤動作することなく自律的に適応できる、即ち環境適応性がある。たとえば、これらの環境変化によって、従来構成では動作マージンがなくなったり、或いは例えばＮＡＮＤとＡＮＤの論理が逆転して誤動作する場合でも、本発明では論理回路を正しい解を得られるように制御するので、飛躍的に誤動作の確率が低減する。これに加え、本実施形態では、機能自体の変更にＧＡ手法が適用できるので、遺伝的アルゴリズム操作における柔軟性、多様性が極めて高い。
【００６５】
第２実施形態
上述した第１実施形態では、ＳＨ回路にＧＡを適用する手法を説明することを主目的として１つのＳＨ回路に着目した。この場合、設計，プロセス上の要因、環境要因に対する動作精度が高い利点があったが、それらの要因による誤動作の心配がない場合では、実際に１つのＳＨ回路の論理を確定するビット列は、真理値表から求めたものと一致して容易にわかるので、論理確定のためにわざわざＧＡを使用する利点は薄い。しかし、複数のＳＨ回路を用いて大規模な回路を形成する場合は、所望の回路を確定する全ビット列を得ることは容易でなくなるため、ＧＡによる論理確定手法がより重要となる。
【００６６】
本実施形態では、複数のＳＨ回路と配線接続手段を組み合わせて用いる半導体装置と、その組み合わせ回路をＧＡにより自動構築する手法を説明する。その際、簡単な組み合わせ回路として、マルチプレクサ回路を例示して、その構成と生成（自動構築を含む）動作とを説明する。
【００６７】
図７は、本実施形態の論理回路例としたマルチプレクサを示す図である。また、図８は、図７のマルチプレクサの等価回路図である。
本例のマルチプレクサ４０は、図７に示すように、４つの入力端子にそれぞれ入力される４データＩ１〜Ｉ４の何れかを２つのアドレスビットＡ１，Ａ２の組み合わせで選択的に単一な出力端子から出力する６入力のマルチプレクサ（６マルチプレクサ）である。この６マルチプレクサ４０は、等価回路上では、その初段に各入力信号Ａ１，Ａ２及びＩ１〜Ｉ４をそれぞれ反転する６つのインバータＩＮＶ１〜ＩＮＶ６を有する。インバータＩＮＶ１〜ＩＮＶ６の出力は、制御信号Ａ１，Ａ２、その反転信号Ａ１＿，Ａ２＿、及び入力信号Ｉ１〜Ｉ４の反転信号のうち、３信号を入力する４つのアンド回路ＡＮＤ１〜ＡＮＤ４に接続されている。アンド回路ＡＮＤ１にＡ１＿，Ａ２，Ｉ３＿が入力され、アンド回路ＡＮＤ２にＡ１＿，Ａ２＿，Ｉ４＿が入力され、アンド回路ＡＮＤ３にＡ１，Ａ２，Ｉ１＿が入力され、アンド回路ＡＮＤ４にＡ１，Ａ２＿，Ｉ２＿が入力される。これらアンド回路ＡＮＤ１〜ＡＮＤ４の出力は、最終段のノア回路ＮＯＲに接続されている。
【００６８】
このような構成のマルチプレクサ４０は、（Ａ１，Ａ２）＝（０，０）のとき、４つのＡＮＤ回路のうち出力が１になる可能性があるのはアンド回路ＡＮＤ２のみであり、したがって、入力信号Ｉ４の論理状態に応じて当該マルチプレクサ４０の出力が変化する。つまり、（Ａ１，Ａ２）＝（０，０）のとき入力信号Ｉ４が選択されて出力される。
同様に、（Ａ１，Ａ２）＝（１，０）のとき入力信号Ｉ２が選択され、（Ａ１，Ａ２）＝（０，１）のとき入力信号Ｉ３が選択され、（Ａ１，Ａ２）＝（１，１）のとき入力信号Ｉ１が選択され、それぞれ出力される。
【００６９】
図９には、ＳＨ回路の組み合わせのベースとなる配置パターンを、上記図７及び図８に示す６マルチプレクサ４０を例に示す。
図９中、ＳＨ１〜ＳＨ３は図１で示したのと同様な論理回路（ＳＨ回路）であり、これらＳＨ回路ＳＨ１〜ＳＨ３で図８における最終段のノア回路ＮＯＲを構築している。つまり、ＳＨ１とＳＨ２で２つの２入力ＯＲ回路を並列に設け、その２入力ＯＲ回路の各出力を入力とする単一の２入力ＮＯＲ回路をＳＨ３で実現している。
このような複数のＳＨ回路の配列に対し、各ＳＨ回路に入力するピンを選択する接続アレイが存在する。接続アレイは、その接続パターンをデータ入力ピンとＳＨ回路入力ピンのマトリックスの各交点について指定でき、ＳＨ回路への入力信号は、ＳＨ回路入力ピン上に接続されたピンのＡＮＤ論理となる。つまり、この接続アレイによって、図８の４つのＡＮＤ回路ＡＮＤ１〜ＡＮＤ４と、その入力選択が実現されている。
さらに、各ＳＨ回路間の接続を行うために、各ＳＨ回路の入力ピンには、任意のＳＨ回路の出力からのフィードバックが接続可能であり、これも上記と同様にマトリックス指定できる。
そして、これら入力とは別に各ＳＨ回路の制御端子に入力する制御信号（Ｖａ，Ｖｂ，Ｖｃ）を指定するマトリックスが存在する。このマトリックスは、先に第１実施形態で記述したように、図示しないＧＡ操作部２０によって制御電圧値（０，Ｖdd／４，２Ｖdd／４，３Ｖdd／４，Ｖdd）の中から、ＧＡによる論理確定手法で所望の演算結果（ここでは、図８の回路ロジック）を得るために最適な電圧を選択することができ、これによりＳＨ回路の論理を確定する。図９は、真理値表にしたがった通常の論理確定結果で各ＳＨ回路が動作できる場合を例示している。但し、図９において制御電圧の接続点は実際に接続設定をする手段が設けられているのではなく、単に、ＧＡ操作部２０による制御電圧の選択パターンを示すに過ぎない。これに対し、データ入力ピン、場合によってはフィードバック制御ピンとの接続点は、接続設定をする手段が実際に設けられている。
【００７０】
これらのマトリックスの接続手段は幾つか考えられるが、回路の書き換えを頻繁に行うことを考慮すると、フラッシュメモリ素子型のスイッチが望ましい。フラッシュメモリ素子は、図２に示したνＭＯＳと同様に、フローティングゲート型のＭＯＳ構造をしているので、デバイスの製造上、ＳＨ回路を構成するνＭＯＳと同時に形成することができ、製造コスト等の面において極めて有利である。
また、書き換え方式にもよるが、その書き換え可能回数も１×１０6 回程度、保証でき、この点でも有利である。
【００７１】
このような配置の回路において、各アレイの接続情報の確定とＳＨ回路の制御電圧情報の確定は個別に設けたＧＡ操作部により行ってもよいが、その２つの情報を一つの染色体とみなすと、一つのＧＡ操作部で配線接続と論理関数の確定を同時に行うことができる。
本例の場合、即ち６マルチプレクサの構築では３つのＳＨ回路ブロック（ＳＨ１〜ＳＨ３）を使用することから、これによる染色体数は、データ入力ピンの接続アレイにおいて７２ビット、フィードバックアレイに２４ビット、論理規定ビット２７ビットの計１２３ビットとなる。なお、制御電圧の指定は、各マトリックスの接続の有無で決めるのではなく、先の第１実施形態と同様に、１制御端子につき３ビットでＳＨ回路ごとに９ビット、３個のＳＨ回路合計で２７ビットにより決定される。
【００７２】
このような大きさの染色体を複数用意し、これらに対し先の第１実施形態と同様に図６で示した手順でＧＡ操作を行う。そして、その結果、最終的に図９中の黒点を接続とする回路が解として得られる。
【００７３】
以上の手法を利用すると大規模な進化システムの構築が可能となる。つまり、外部環境の変化に応じて最適なレスポンスを行うデバイス（機能回路ブロック）を必要とする時、このリアルタイムで論理を確定する必要があるデバイス部分を幾つかのＳＨ回路で実現し、機能回路ブロックの出力を基に適応度評価を行うＧＡ操作部等の論理確定部の結果を外部から各ＳＨ回路に与えてやれば、機能回路ブロック全体が自律的に最適な回路構成と出力を探索してくることができる。なお、接続アレイを有する場合、そのマトリックス設定は、通常の不揮発性メモリ素子等を書き込み／消去する制御で達成できることから、ここでの説明は省略する。
【００７４】
上述した本実施形態に係る半導体装置は、従来例に対して以下の利点がある。
まず、本例（図９）とＰＬＤの構成（図１３）を比較してみると、入力部にＡＮＤアレイを用いるところは同様であるが、本実施形態で図示した回路構成は、ＰＬＤの論理マクロに相当するものを、ＳＨ回路に置き換えた構成になっている。
通常、ＰＬＤのプログラミングは、ＡＮＤ論理とＯＲ論理の組み合わせによって回路を構成する加法標準形が基本となっていおり、論理マクロの部分には、ＯＲ論理やＸＯＲ、また、順序回路を構成する時に使用するフリップフロップなどの回路が含まれる。よって、６マルチプレクサのような単純な回路の構成においても、論理マクロのような大きな規模の回路群が必要となってしまう。
しかしながら、本実施形態で図示した回路構成は、その論理マクロ部をＳＨ回路で置き換えており、デバイスのゲート規模を小さく抑えることが可能となる。
【００７５】
本実施形態では、ＳＨ回路が任意のブール関数を設定できることから、全体の回路構成も加法標準形に制限されることはない。よって、最終的な全体の回路構成もＰＬＤの場合に比べ簡略化されたものが形成される。また、それは、遺伝的アルゴリズムを使用した場合に、より少ない染色体数で所望の回路を形成できることを意味し、柔軟性、多様性の高い進化システムの構築が可能となる。
【００７６】
本実施形態では、制御電圧の切り替えを単純に電源切り替え回路を用いているので、ＰＬＤの接続変更に比べて、はるかに高速の切り替えが可能となる。ＰＬＤを用いた進化システムでは、高速なプログラミングが難しいために、リアルタイムに変化していくシステムの構築は困難であったが、本実施形態では、高速でのハードウェアプログラミングが可能となり、リアルタイムに変化していくシステムの構築が可能となる。
【００７７】
最後に、本実施形態における変更可能な事項を幾つか指摘しておく。
【００７８】
まず、上記説明では、１つのＳＨ回路の制御電圧の指定に第１実施形態と同様に９ｂｉｔ（３つのＳＨ回路で合計２７ｂｉｔ）を用いるとしたが、直接、１６個のブール関数の内から１つを選択するようにすると、１つのＳＨ回路について４ｂｉｔ、計１２ｂｉｔで済む。この点は、第１実施形態においても同じである。
また、図９の回路構成例では２入力のＳＨ回路を用いているが、３端子の或いは４端子等、入力端子を多数有する多入力型のＳＨ回路を使用すれば、より簡略化され、さらに、柔軟性、多様性の高いシステムを構築することができる。
【００７９】
本実施形態において図示した回路構成（図９）では、入力部にＡＮＤアレイを用いているが、これらを用いずに、外部入力を直接ＳＨ回路に接続する構成も可能である。また、以上の説明では、図８の各ＡＮＤ回路を接続アレイで実現したが、これを例えば多入力のＡＮＤに関数指定された複数のＳＨ回路で置き替えることもできる。さらに、同様にフィードバック制御も複数のＳＨ回路で置き替えることも原理的には可能である。
【００８０】
上述した説明では組み合わせ回路について言及したに留まっているが、図９の回路構成に対し、さらにフリップフロップ等の回路を組み合わせれば、順序回路の構成も可能となる。
また、図９の回路構成は、接続アレイの接続と、制御電圧を選択することにより、単にＰＬＤもしくはＦＰＧＡ等と同様なプログラマブルデバイスとして使用することも可能である。
【００８１】
第３実施形態
先の第１（及び第２）実施形態では、２入力可変しきい電圧インバータＡ〜Ｃのしきい電圧の設定／変更を制御電圧Ｖａ〜Ｖｃによって行っていたが（図３）、本実施形態では、可変しきい電圧インバータを構成するフローティングゲートＦＧ中に電荷を注入し、もしくはＦＧから電荷を引き抜くことにより、外部からではなく内部状態としてしきい電圧を記憶できるようにした実施形態である。
このフローティングゲートの電荷量により記憶を保持する方法は、現在実用化されているフラッシュメモリやＥＥＰＲＯＭのデータ記憶／消去方法と原理的に同じものである。
【００８２】
図１０（ａ）は、本実施形態に係る２入力可変しきい電圧インバータの平面図、図１０（ｂ）は同断面図である。
この２入力可変しきい電圧インバータ５０では、ｐ型半導体基板５１に形成されたｎウェル５２と、その他のｐ型半導体基板領域との表面部分に素子分離絶縁膜５３が形成されている。ｎウェル５２内の素子分離絶縁膜周囲（ｐＭＯＳの能動領域）と、ｐ型半導体基板内の素子分離絶縁膜周囲（ｎＭＯＳの能動領域）にぞれぞれゲート絶縁膜５４ｐ，５４ｎが形成されている。ゲート絶縁膜５４ｐ，５４ｎ上と、両者間の素子分離領域５３上には共通なフローティングゲートＦＧが積層されている。
【００８３】
このνＭＯＳトランジスタでは、外部からのしきい電圧制御信号は必要としないので図３で示されたＶａ端子は存在しない。その代わりに、フローティングゲートＦＧ上に、その注入電荷量をコントロールする電荷注入制御ゲートＣＧW/E がゲート間絶縁膜５５を介して積層され、また、これと並んでＤ−Ａ変換器からの変換後の入力信号が印加される制御ゲートＣＧが、フローティングゲートＦＧ上にゲート間絶縁膜５６を介して配置されている。なお、第１及び第２実施形態で使用したような通常のνＭＯＳトランジスタでは、フローティングゲート下のゲート絶縁膜の厚さは、通常１０ｎｍ〜２０ｎｍ程度の厚めの膜に設定するが、本実施形態では、フラッシュメモリと同様に１０ｎｍ以下の薄い酸化膜を使用する。
【００８４】
このような構造の２入力可変しきい電圧インバータ５０において、基板を０Ｖに保ち、電荷注入制御ゲートＣＧW/E に正の高電圧（例えば、１８Ｖ程度）を印加すると、基板からフローティングゲートＦＧへ電子が注入される。フローティングゲートＦＧへ電子が注入されると、これが負に帯電し、Ｄ−Ａ変換器からの信号入力端子からみたインバータの見かけ上のしきい電圧は上がることになる。逆に、電荷注入制御ゲートＣＧW/E に負の電圧を印加して、基板に電子を引き抜くか、基板からホール（正電荷）を注入してフローティングゲートＦＧを正に帯電させることにより、見かけ上のしきい電圧は下がる。そこで、電荷注入量をコントロールし、５段階のしきい電圧を設定すると、外部信号を必要としない２入力可変しきい電圧インバータを構成することができる。このしきい電圧は、チップの電源電圧をＯＦＦしても状態が消失しない不揮発性となる。
よって、このようなしきい電圧書き込み操作を、ＳＨ回路の論理の確定段階において行えば、内部状態としてしきい電圧、つまり確定論理を保持することができる。消去操作は、上記書き込みの場合とゲート絶縁膜にかかる電界方向を逆として、同様に行う。
図１１には、このしきい電圧書き込み／消去を行う手段、即ちしきい電圧制御手段５７を、しきい電圧記憶型の２入力可変しきい電圧インバータ５０とともに示す。
【００８５】
本実施形態では、通常の論理関数を確定において、同じ論理関数が連続して用いられる場合等にあっては、一旦論理関数を確定すればその状態が保持できるので、多数のＳＨ回路に共通な書込・消去制御手段５７を設け、必要な箇所の論理関数の書き換えを行う制御ができ、時間的な効率化を図ることができる。また、例えば図示しないＧＡ操作部により、ＳＨ回路で所望の演算結果が得られる論理関数を確定した後に論理関数を固定したいときに、この書込・消去制御手段５７を用いる制御も可能である。
【００８６】
第４実施形態
本実施形態では、上記第３実施形態で示した電荷注入量の調整によるしきい電圧の設定を、先の第１及び第２実施形態で示す制御電圧の印加とともに併用して、論理関数の確定制御を行う場合について示す。
【００８７】
本実施例の可変しきい電圧インバータは、図１０に示される構造と基本的には同じである。ただし、図１０で示した電荷注入制御ゲートＣＧW/E をしきい電圧制御信号の入力制御ゲートと兼用する（以下、兼用コントールゲートと称する）。この切り替えは、各オペレーションごとにスイッチの切り替えによって行われる。
第１及び第２実施形態の２入力可変しきい電圧インバータでは、Ｄ−Ａ変換器（入力変換部２）から変換後の入力信号が入る端子からみたしきい電圧は制御電圧のみによってコントロールされるが、本実施形態では、さらに第３実施形態とと同様にフローティングゲートへの電荷注入を行い、しきい電圧設定のパラメータを増やしている。このようにすると、制御電圧によってコントロールできるしきい電圧に制限を加えることができる。言い換えれば、制御電圧によるしきい電圧の変化を鈍感にしたり敏感にしたりできる。
【００８８】
たとえば、２入力可変しきい電圧インバータのしきい電圧Ｖinv はＶinv ＝Ｖdd−Ｖａと表されるので、しきい電圧を低く（例えばＶdd／４に）設定したい場合は通常、制御電圧Ｖａを高く（３Ｖdd／４に）設定する。しかし、フローティングゲートＦＧに電子を予め注入しておくと、同じバイアス状態でもしきい電圧はさらに高く（例えば、２Ｖdd／４または３Ｖdd／４に）なる。逆にフローティングゲートＦＧに正孔を注入しておくと、同じバイアス状態に対してしきい電圧は低くなる。
【００８９】
このフローティングゲートＦＧへの電荷注入と、制御電圧Ｖａを確定するＧＡ操作は独立して行われる。ＧＡ操作を行う場合は兼用コントロールゲートをしきい電圧を制御する信号印加用端子として、先の第１又は第２実施形態と同様な操作を行う。それに対し、フローティングゲートＦＧへの電荷注入時には、兼用コントロールゲートを電荷注入用の制御端子とし、この制御端子に電子注入の場合は正の高電圧、正孔注入の場合は負の高電圧を印加する。
【００９０】
以上の方法を利用すると、ＳＨ回路を用いた「進化するハードウェア」としての半導体装置に学習機能を付加することができる。
以下、先の第３実施形態で示した６マルチプレクサ回路を例に、学習機能を付加したときの動作を説明する。
【００９１】
ＧＡ操作によって得られた６マルチプレクサ回路（図９）では、最終的にＳＨ１，ＳＨ２はＯＲ論理、ＳＨ３はＮＯＲ論理となる。ＳＨ回路におけるＯＲ論理を例にとると、この論理は通常、制御電圧の組み合わせ（Ｖａ, Ｖｂ, Ｖｃ）＝（０, ０, Ｖdd）によって達成される。これに対し、例えば、２入力可変しきい電圧インバータＡのフローティングゲートＦＧに上記方法により電子を注入し、内部状態としてのしきい電圧をＶdd／４だけ高い方にシフトしておくと、ＯＲ論理は（Ｖａ, Ｖｂ, Ｖｃ）＝（０, ０, Ｖdd）または（Ｖａ, Ｖｂ, Ｖｃ）＝（Ｖdd／４, ０, Ｖdd）の２種類の制御電圧の組む合わせにより達成することができる。また、内部状態を２Ｖdd／４だけ高い方にシフトしておくと、さらに（Ｖａ, Ｖｂ, Ｖｃ）＝（２Ｖdd／４, ０, Ｖdd）の組み合わせが加わる。そして、更に内部状態しきい電圧を高い方にシフトさせ＋Ｖdd以上にしておくと、何れのＶａ値に対してもＯＲ論理となり、Ｖａは論理確定に貢献しなくなる。
同様なことは２入力可変しきい電圧インバータＢについても成り立ち、さらに、Ｃについては、しきい電圧をＶddとすることによりＶｃの貢献をなくすことができる。
よって、２入力可変しきい電圧インバータＡ，Ｂ，Ｃのしきい電圧をそれぞれ＋Ｖdd，＋Ｖdd，＋Ｖddだけ予めシフトしておくと、そのＳＨ回路は制御電圧によらずＯＲ論理に確定することになる。
【００９２】
このように、内部状態のしきい電圧をシフトさせた状態で図６で示したＧＡ操作を行うと、ＯＲ論理等を構成する染色体の組み合わせが多くなり、論理確定までのＧＡサイクル数を少なくすることが可能となる。
したがって、以上の手法をＧＡを用いた「進化するハードウェア」に適応すると、ハードウェアの進化プロセスに学習性を持たせることができる。
【００９３】
「進化するハードウェア」では、外部の環境変化に応じて、ＧＡ操作を繰り返し、最適なハードウェア論理を構築していく。このとき、ＧＡ操作に時間がかかっていると、速く変化する外部環境に対応しきれなくなってくる。文献（１）に記載されたＳＨ回路を用いない従来構成の６マルチプレクサ回路では、およそ２０００サイクルのＧＡ操作が必要となることから、とても外部環境に対応することはできない。
【００９４】
これに対し、本実施形態では、上述したように、ＧＡ操作によって論理が確定した時点で、その結果応じてＳＨ回路内の確定信号生成部において内部状態としてのしきい電圧を予め変化させておくことができる。このため、次回以降のＧＡ操作により、その論理を構成する確率を高くして、同一論理を形成する染色体数が多くなる制御が可能となる。つまり、頻繁に使用する論理に対しては、頻度に応じて論理の固定化の度合いを高めることができ、これによってＧＡ操作に要する時間を短縮することが可能となる。
【００９５】
６マルチプレクサ回路では、上記２入力可変しきい電圧インバータＡ，Ｂのしきい電圧をＶdd／４，２Ｖdd／４又は３Ｖdd／４だけ高い方にシフトさせるという操作により、通常時よりも少ないサイクル数で回路の確定が可能となる。
さらには、図９においてＳＨ１，ＳＨ２の２入力可変しきい電圧インバータＡ，Ｂ，Ｃのしきい電圧をそれぞれ＋Ｖdd，＋Ｖdd，＋Ｖddに設定しておくと、いずれもＯＲ論理に決定される。したがって、ＳＨ３の２入力可変しきい電圧インバータのみ通常の制御電圧印加でＮＯＲ論値を確定すればよく、ＧＡ操作における染色体のビット数を１／３に低減できる。また、ＳＨ３を内部しきい電圧を調整したＯＲ論理とし、インバータを通した後の出力を得れば、全ての論理を可変しきい電圧インバータの内部状態として確定することができる。この場合はＧＡ操作は配線の接続だけで行われることになり、ＧＡ操作時間は極めて短くなる。また、さらに、これらの配線接続についても、通常のＰＬＤと同様にフローティングゲート型セルを利用し、不揮発性記憶として保持すると、６マルチプレクサ回路全体を、不揮発性の状態として確定することができる。
【００９６】
第５実施形態
上述した第１〜第４実施形態までは、ＳＨ回路への入出力は２値、ＳＨ回路内部では４値の信号（０，Ｖdd／４，２Ｖdd／４，３Ｖdd／４）を取り扱い、入力と出力の関係は、ブール関数で表現される範囲に限定されている。それに対し、図１のＳＨ回路において、確定信号生成部４を構成する可変しきい電圧インバータを、入力変換部２と同様なＤ−Ａ変換器で構成するならば、確定信号生成部４経由の信号ルートを含む入力変換部２と可変演算部６間（内部）の信号が全て多値として構成されるようになる。また、可変演算部６をもＤ−Ａ変換器で構成させると、入出力信号を含め全ての信号が多値化される。
【００９７】
このとき、制御信号としては、Ｄ−Ａ変換器の出力レベルを変化させる端子が使用される。この端子への入力電圧を変化させると、Ｄ−Ａ変換器の出力信号は、０ＶとＶddの間で４（変換後の入力信号レベル数）×ｎ（制御信号の変化ステップ数）の電圧レベル数をとり、多値化される。よって、このような構成にすると、出力部のゲートに印加される電圧レベルの多様性を増すことができる。この２入力可変しきい電圧インバータをＤ−Ａ変換器に変更した構成では、Ｄ−Ａ変換器の出力が多値化されるので、図１の構成のように、論理演算用可変しきい電圧インバータ８の制御電極▲２▼〜▲４▼を一本化できるのみならず、多値化の度合いによっては、当該Ｄ−Ａ変換器を一つ設ければよくなり、構成を簡素化できる利点がある。
【００９８】
さらに、ＳＨ回路の可変演算部６のνＭＯＳインバータ（論理演算用可変しきい電圧インバータ８）をＤ−Ａ変換器で構成させると、出力も多値になる。このような多値出力のＳＨ回路を図９のシステムに適用すると、ＳＨ回路間の入出力が多値信号となり、システム内全体で、極めて高い自由度をもった回路網を構築することができる。
さらに、多値レベルを増やす延長線上の手段として、ＳＨ回路内部、または、システム全体の信号をアナログとして取り扱えば、理論的に回路構成の自由度は無限となる。これは、生命体中の信号処理と同様な多様性を構築し得ることを意味し、生命体に近い進化システムを可能にする技術となる。
【００９９】
第６実施形態
本実施形態では、上述した第１〜第５実施形態を統合することで、「進化するハードウェア」を半導体チップ上に構築した場合を示す。
【０１００】
本実施形態の半導体装置（１チップＩＣ）を、図１２に示す。
この半導体装置６０は、大きく３つの部分からなり、上記第１〜５の実施形態のνＭＯＳを用いた進化ハードウェア部６１、ＧＡにより進化ハードウェア部６１を制御するＧＡ操作部６２（図１のＧＡ操作部２０に該当）、及びメモリ部６３から構成される。
【０１０１】
進化ハードウェア部６１は、上述した実施形態で示したＳＨ回路と接続アレイの回路群からなり、実際に自律適応性（環境適応性、自己欠陥回避性、或いは学習性）を発揮し論理を変更しながら進化していく部分である。
ＧＡ操作部６２は、染色体の適応度評価、染色体選択、ビット交叉、データ変換等、第１実施形態で詳しく述べた一連のＧＡ操作を行う。このＧＡ操作部６２内には、ＧＡ操作の制御を行う手段（例えば、図５の制御部２４）として、一般的には、ＭＣＵ，ＣＰＵ，もしくは専用のＤＳＰ等が内蔵されている。
メモリ部６３は、ＧＡ操作を行う染色体データ，適応度判定の基準となる演算結果テーブル或いは操作プログラム等が格納されている。この格納された操作プログラムは、外部から変更が可能である。また、本実施形態では、当該メモリ部６３のメモリ領域のデータ書き換え、又は、進化ハードウェア部６１内のνＭＯＳ或いは接続アレイの接続制御を行う記憶素子の書き換えを行うしきい電圧制御手段が、当該メモリ部６３内に周辺回路として設けられている。
【０１０２】
このメモリ部６３を構成する記憶素子としてフラッシュメモリを用いるならば、νＭＯＳのフローティングゲート構造、また接続アレイ内のスイッチに使用されるフラッシュメモリと同時に形成でき、製造コスト上有利となる。
また、ＧＡ操作部６２、メモリ部６３の周辺回路等も、進化ハードウェア部６１と同様にＳＨ回路と接続アレイにより構築することが可能である。この場合、例えば、その論理を長期的にランダムに変更する、或いはＧＡ操作部等を構成するＳＨ回路の制御は、進化ハードウェア部以外のＳＨ回路を、外部から操作することで達成できる。このとき、進化ハードウェア部６１のみならず、ＩＣ全体が「進化するハードウェア」として機能し、進化的に機能を変化させていくことができるようになる。このようにＩＣ全体が自律適応的に或いは学習性をもって進歩するものは、「進化する半導体チップ」ということができる。また、この半導体チップ内の進化操作に第５実施形態で示したアナログ動作を適用すれば、変化の自由度も無限になる。これは、半導体チップ全体が生命体のようにふるまうことを意味し、将来の「創造性をもつコンピュータ」、「生命体に近いシステム」を構築する中心的デバイスになり得るものである。
【０１０３】
【発明の効果】
本発明の半導体装置及びその論理確定方法によれば、製造上或いは設計上のマージンが不足したり、環境変化があっても誤動作しない可変論理回路を実現できる。とくに、可変論理回路の論理関数確定を制御信号の生成と入力で行っているので、環境変化にリアルタイムで追従できる。この可変論理回路をいわゆるνＭＯＳで構成させると、通常のフローティングゲートを有する不揮発性メモリ素子とのプロセス上の整合性がよく、回路構成が簡素となる。
また、その可変論理回路を複数組み合わせることで、自己欠陥回避しながらる用途に応じて機能を変更する汎用ロジックＩＣが実現できる。νＭＯＳ構成の可変論理回路（いわゆるＳＨ回路）は、制御信号の入力で論理関数の変更ができるので機能変更が、従来の不揮発性メモリ素子へのプログラムで行う場合に比べ高速である。
本発明の半導体装置では学習機能を付加し、更に信号を多値化することによって、使用する制御信号の構成（例えば、ビット数）や回路構成を簡素化しながら効率化を進め、自律的に高速動作することができる。このことによって、本発明の半導体装置は、上記した機能変更の高速性とあいまって機能をリアルタイムに拡大することができる。
【０１０４】
従来のＧＡ手法の適用例では、ある決まったプログラム状態における機能を正確に動作させるためだけにＧＡ手法が用いられていたのに対し、本発明の半導体装置の論理確定方法は、正常動作の確保に加え、機能自体の変更にＧＡ手法が用いられている。また、求める解の発生確率を高める制御であることから最初に与える数値列（遺伝子）が簡素なほうが望ましいが、上記半導体装置を学習機能付加し多値化させると論理確定のサイクルが早まる。これらの意味で、遺伝的アルゴリズム操作における柔軟性、多様性が高い。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る半導体装置の要部を示す構成図である。
【図２】図１の半導体装置に用いられるνＭＯＳの断面構造図とフローティングゲート電位の説明図である。
【図３】図１の半導体装置内に設けられた２入力可変しきい電圧インバータＡの回路図である。
【図４】ＳＨ回路（図１内の論理回路）の入出力関係と、制御信号と出力の組み合わせを示す表である。
【図５】図１内のＧＡ操作部の具体的構成例を示すブロック図である。
【図６】本発明の第１実施形態に係る半導体装置の論理確定の際に、１つのＳＨ回路を用いて、遺伝的アルゴリズム（ＧＡ）により、ＳＨ回路の論理を確定していく手順を示すフロー図である。
【図７】本発明の第２実施形態に係る半導体装置において論理回路例としてマルチプレクサを示す図である。
【図８】図７のマルチプレクサの等価回路図である。
【図９】図７のＳＨ回路の組み合わせのベースとなる配置パターンを、図７及び図８に示す６マルチプレクサ４０を例に示す回路図である。
【図１０】本発明の第３実施形態に係る半導体装置における２入力可変しきい電圧インバータの平面図と断面図である。
【図１１】図１０の２入力可変しきい電圧インバータに、そのしきい電圧制御手段を接続した状態を示す図である。
【図１２】本発明の第６実施形態に係る半導体装置（１チップＩＣ）の概略構成を示すブロック平面図である。
【図１３】従来の遺伝的アルゴリズムの適用例としてＰＬＤの構成を示す図である。
【符号の説明】
【符号の説明】
１，６０…半導体装置、２…入力変換部、４…確定信号生成部、６…可変演算部、８，５０…２入力可変しきい電圧インバータ、１０…論理回路（ＳＨ回路）、１２…インバータ、２０，６２…ＧＡ操作部（制御信号生成部）、２１…比較部、２２…選択部、２３…変更部、２４…制御部、２５…出力部、３０，６３…メモリ部、４０…６マルチプレクサ、５１，１００…半導体基板、５２…ｎウェル、５３…素子分離絶縁膜、５４ｎ，５４ｐ…ゲート絶縁膜、５５，５６…ゲート間絶縁膜、５７…しきい電圧制御手段、６１…進化ハードウェア部、１０２…ドレイン不純物領域、１０４…ソース不純物領域、１０６…ゲート絶縁膜、１０８…ゲート間絶縁膜、ＦＧ…フローティングゲート、ＣＧ…コントロールゲート、Ｖａ〜Ｖｃ…制御信号（又は所定の電圧レベルを有する制御電圧）、Ｉ１，Ｉ２…入力信号、Ｄ１〜Ｄ４，Ｖｏｕｔ…出力信号、Ｖ１…変換後の入力信号、Ｖ２〜Ｖ４…論理確定信号、Ｓ…適応度、φf …フローティングゲート電位。
【図１】
0003760614.tif 000002
【図２】
0003760614.tif 000003
【図３】
0003760614.tif 000004
【図４】
0003760614.tif 000005
【図５】
0003760614.tif 000006
【図６】
0003760614.tif 000007
【図７】
0003760614.tif 000008
【図８】
0003760614.tif 000009
【図９】
0003760614.tif 000010
【図１０】
0003760614.tif 000011
【図１１】
0003760614.tif 000012
【図１２】
0003760614.tif 000013
【図１３】
0003760614.tif 000014