JP3662887B2 - 可変しきい値しきい素子回路、関数機能再構成可能集積回路、しきい値リフレッシュ方法および関数機能構成方法 - Google Patents
可変しきい値しきい素子回路、関数機能再構成可能集積回路、しきい値リフレッシュ方法および関数機能構成方法 Download PDFInfo
- Publication number
- JP3662887B2 JP3662887B2 JP2002016948A JP2002016948A JP3662887B2 JP 3662887 B2 JP3662887 B2 JP 3662887B2 JP 2002016948 A JP2002016948 A JP 2002016948A JP 2002016948 A JP2002016948 A JP 2002016948A JP 3662887 B2 JP3662887 B2 JP 3662887B2
- Authority
- JP
- Japan
- Prior art keywords
- threshold
- function
- circuit
- variable
- terminal
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
この発明は、しきい値を安定的に保持する機能を有する可変しきい値しきい素子回路、この可変しきい値しきい素子回路を用いて構成され回路作製後であっても関数機能を構成することの可能な関数機能再構成可能集積回路、前記可変しきい値しきい素子回路に適用されるしきい値リフレッシュ方法および前記関数機能再構成可能集積回路に適用される関数機能構成方法に関するものである。
【0002】
【従来の技術】
CMOSプロセス技術により作製されるしきい素子(非線形素子)として、例えば文献1(特許第2662559号:半導体装置)に開示されたニューロンMOSトランジスタ(νMOSトランジスタ)によって構成されたインバータがある。図12に文献1に記載されたC−νMOS(Complementary MOS )インバータを示す。以降、このインバータをνMOSインバータと呼ぶ。
【0003】
νMOSインバータを構成するνMOSトランジスタQ1,Q2はフローティングゲートデバイスである。すなわち、図12において、νMOSトランジスタQ1,Q2は電気的にフローティング状態とされたゲート電極(フローティングゲート)FGを有し、このフローティングゲートFGに信号入力端子inptut〔1〕〜inptut〔3〕が容量結合されている。フローティングゲートデバイスは、EEPROMやFEEPROM(Flash EEPROM)の中でも使用されているように、不揮発性メモリを構成することが可能である。
【0004】
一方、フローティングゲートデバイスはその製造過程においてフローティングゲートに電荷が残留したり、デバイスの動作時にフローティングゲートに電荷が注入されることによって、フローティングゲートに存在する電荷量が必ずしも電気的中性でなかったり、変化したりすることが知られている。これらの余剰電荷を除去する方法としては、UV(ultraviolet photons )照射や高電圧の印加による電荷制御がある。これらの方法は典型的なCMOS論理回路に付加的な周辺回路や高電位を必要とし、また、高速に余剰電荷を除去することが難しいという問題もある。
【0005】
CMOS論理回路と整合性が良く、高速性も確保できる方法の1つにフローティングゲート制御がある。図13に文献2(特開平7−161942号公報(特願平5−302918号:半導体集積回路)に開示されたフローティングゲート制御されるνMOSインバータを示す。
このνMOSインバータにおいては、フローティングゲートFGとグランドとの間にスイッチSW1を設け、信号入力端子inptut〔1〕〜inptut〔3〕とフローティングゲートFGとの間に切換スイッチSWa〜SWcを設け、切換スイッチSWa〜SWcの第1の切換接点端子aを信号入力端子inptut〔1〕〜inptut〔3〕に接続し、切換スイッチSWa〜SWcの第2の切換接点端子bをグランドに接続し、切換スイッチSWa〜SWcのコモン端子をフローティングゲートFGに容量結合している。
このνMOSインバータでは、スイッチSW1や切換スイッチSWa〜SWcのオン/オフを制御することによって、フローティングゲートFGの余剰電荷を除去する。以降、このスイッチSW1が接続されたフローティングゲートFGを制御型フローティングゲートと呼ぶ。
【0006】
図13に示されたνMOSインバータでは、スイッチSW1をCMOS回路で構成するために、その要素はMOSトランジスタになる。実際、上述した文献2では、スイッチSW1の例としてパストランジスタが用いられている。MOSトランジスタは遮断時であっても、ソースからドレインへのサブスレッショルド電流とPN接合逆飽和電流というリーク電流を持つ。このために、フローティングゲートFGは、過渡的には浮遊状態とみなせるが、定常状態における電気的浮遊状態は完全なものではない。即ち、スイッチSW1を設けることによって、νMOSトランジスタQ1,Q2が不揮発性メモリの構成要素とならなくなる。まとめると、フローティングゲートデバイスのフローティングゲート中の電荷量を一定に保持し、かつ、高速書き換えを行うために、制御型フローティングゲートを用いる場合、フローティングゲートデバイスはもはや不揮発性メモリの構成要素としては機能しない。
【0007】
〔しきい値可変機能を備えたしきい素子回路(可変しきい値しきい素子回路)〕図14は、しきい値可変機能を備えたしきい素子回路(可変しきい値しきい素子回路)として動作する、典型的なk入力変数の可変しきい値しきい素子回路を示す回路図である。この可変しきい値しきい素子回路140においては、標準的なCMOSインバータのゲートFGに、入力変数用の信号入力端子(以下、入力変数用端子と呼ぶ)input1〔1〕〜input1〔k〕、しきい値を選択するしきい値選択用の入力端子(以下、しきい値選択用端子と呼ぶ)input2、電源電位Vddに接続された固定電位端子Pvdd 、グランド電位に接続された固定電位端子Pgnd を容量結合している。
【0008】
可変しきい値しきい素子回路140のしきい値は、しきい値選択用端子input2とフローティングゲートFGとの間の容量値Cv と、固定電位端子Pvdd とフローティングゲートFGとの間の容量値Cvdd と、固定電位端子Pgnd とフローティングゲートFGとの間の容量値Cgnd と、入力変数用端子input1〔1〕〜input1〔k〕とフローティングゲートFGとの間の容量値C1 〜Ck と、しきい値選択用端子input2に印加する電位Vv とによって決まる。この可変しきい値しきい素子回路140においては、しきい値選択用端子input2に印加する電位Vv を電源電位Vdd(論理値「1」)とするかグランド電位(論理値「0」)とするかによって、入力変数の組合せが形成する入力状態上の任意の値にしきい値を設定することが可能である。
【0009】
〔回路状態保持機能を備えた可変しきい値しきい素子回路〕
文献3(特開2001−196920号:関数機能構成データ保持方法及びその方法を用いた集積回路)には、フローティングゲートデバイス固有の構造を利用し、設定されたしきい値を保持する方法とその方法を利用した回路構成が開示されている。図15は回路状態保持機能を備えたk入力変数の可変しきい値しきい素子回路の代表的な回路構成を示す図である。
【0010】
この可変しきい値しきい素子回路150においては、フローティングゲートFGとグランド側の固定電位端子Pgnd との間に、状態制御端子ctl2からの制御信号によってオン/オフされるNMOS型のパストランジスタswnを付加している。また、しきい値選択用端子input2とフローティングゲートFGに容量結合される端子(以下、この端子をしきい値選択用入力端子と呼ぶ)input2aとの間にトランスミッションゲートtgin2を設け、しきい値選択用入力端子input2aと電源側の固定電位端子Pvdd との間にPMOS型のパストランジスタswpを設けている。また、状態制御端子ctl1とトランスミッションゲートtgin2との間にインバータinv1を設けている。トランスミッションゲートtgin2およびパストランジスタswpは状態制御端子ctl1からの制御信号によってオン/オフされる。
【0011】
このような回路構成とすることにより、しきい値選択用端子input2に与えられる電位Vv (以下、この電位Vv を構成データと呼ぶ)によって選択されるしきい値を設定し、保持することが可能となる。
【0012】
〔回路状態保持動作〕
図15におけるしきい値の保持動作について簡単に説明する。先ず、状態制御端子ctl2を論理値「1」である電源電位にし、パストランジスタswnを導通ささせ、フローティングゲートFGの電位をグランド電位にする。次に、状態制御端子ctl1を電源電位にし、パストランジスタswpを遮断し、トランスミッションゲートtgin2を導通させる。この時、入力変数用端子input1〔1〕〜input1〔k〕から入力される入力変数は全て論理値「0」であるグランド電位にする。
【0013】
今、第1の状態制御端子ctl1と第2の状態制御端子ctl2とが論理値「1」である時を初期化時と呼ぶ。また、完全フローティングゲートを持つ図14の可変しきい値しきい素子回路140のしきい値選択用端子input2から論理値「1」が入力された場合のフローティングゲートFGの電位を第1のフローティングゲート電位と呼び、同様に、論理値「0」が入力された場合の電位を第2のフローティングゲート電位と呼ぶ。
【0014】
初期化時に前記の操作を行い、しきい値選択用端子input2に論理値「0」を入力し続ける。この時、フローティングゲートFGに容量結合するしきい値選択用入力端子input2aにはしきい値選択用端子input2の入力と同様に論理値「0」が与えられる。即ち、フローティングゲートFGがグランド電位の時に論理値「0」の入力変数と構成データとが与えられる。この入力状態を保ったままで、第1の状態制御端子ctl1と第2の状態制御端子ctl2との入力を論理値「1」から論理値「0」に切り替える。第1の状態制御端子ctl1と第2の状態制御端子ctl2とが論理値「0」の時を関数演算時と呼ぶ。
【0015】
関数演算時に、パストランジスタswnが遮断され、フローティングゲートFGは高インピーダンス状態になり、過渡的にはほぼフローティング状態(電気的に浮遊状態)になる。同時に、トランスミッションゲートtgin2は遮断され、パストランジスタswpが導通し、しきい値選択用入力端子input2aには論理値「1」である電源電位が印加される。このため、フローティングゲートFG上で電荷の再分配が生じ、フローティングゲートFGは第1のフローティングゲート電位になる。
【0016】
同様に、初期化時にしきい値選択用端子input2に論理値「1」である電源電位を与えた場合、関数演算時には、初期化時と同じ電源電位がしきい値選択用入力端子input2aに与えられるために、フローティングゲートFGは第2のフローティングゲート電位となる。
【0017】
このように、初期化時に構成データとして与える論理値に依存して、関数演算時のフローティングゲート電位が決まる。つまり、初期化時に入力された構成データが関数演算時に保持されることを意味している。この構成データの保持動作とそれに必要な要素を次に述べる。
【0018】
初期化時にフローティングゲート電位がグランド電位に固定されているために、構成データである所定の電位がしきい値選択用入力端子input2aに与えられた時、フローティングゲートFGにグランド側から電荷の注入が起こる。
【0019】
次に、関数演算時には注入された電荷がフローティングゲートFG中に保持され、入力変数の論理値によって電荷再分配が生じ、フローティングゲート電位が決まる。構成データの保持に必要な要素は2つあり、1つは、フローティングゲートFGに接続されたある端子からの電荷の注入であり、他の1つは、フローティングゲートFGが高インピーダンスの時に、注入された電荷が保持されることである。
【0020】
〔関数機能再構成可能集積回路〕
図16は、図15に示した可変しきい値しきい素子回路150を用いた2入力変数の場合の任意の対称関数を実現する関数機能再構成可能集積回路(2入力変数可変関数回路)を示す図である。この2入力変数可変関数回路160は、2段論理フィードフォワード型回路であり、1段目は3つの可変しきい値しきい素子回路FTE〔1〕,FTE〔2〕,FTE〔3〕によって構成され、2段目は1つの可変しきい値しきい素子回路STEによって構成されている。
【0021】
この2入力変数可変関数回路160において、2つの入力変数は、入力変数用端子input1〔1〕,input1〔2〕から1段目の可変しきい値しきい素子回路FTE〔1〕,FTE〔2〕,FTE〔3〕のフローティングゲートFG〔1〕,FG〔2〕,FG〔3〕、および2段目の可変しきい値しきい素子回路STEのフローティングゲートFG〔S〕に与えられ、1段目の可変しきい値しきい素子回路FTE〔1〕,FTE〔2〕,FTE〔3〕の出力値はバッファBF〔1〕,BF〔2〕,BF〔3〕により増幅および波形整形され、2段目の可変しきい値しきい素子回路STEのフローティングゲートFG〔S〕に与えられる。
【0022】
なお、1段目の可変しきい値しきい素子回路FTE〔1〕,FTE〔2〕,FTE〔3〕と2段目の可変しきい値しきい素子回路STEとの間には、STEのフローティングゲートFG〔S〕を初期化する際に全ての入力信号をグランド電位にするために、トランスミッションゲートtgs1,tgs2,tgs3とパストランジスタswi1,swi2,swi3が挿入されている。
【0023】
また、FTE〔1〕,FTE〔2〕,FTE〔3〕,STEにおいて、各入力変数用端子とフローティングゲートとの間の容量値は等しく設定されている。また、STEにおいては、FTE〔1〕,FTE〔2〕,FTE〔3〕の出力値が与えられる端子とフローティングゲートとの間の容量値は、入力変数が与えられる端子とフローティングゲートとの間の容量値と等しく設定されている。この設定によって、STEの入力状態、即ち、入力変数と重みとの積和は、「0」,「1」,「2」の3つになる。この入力状態に対応する数を入力変数の状態数(入力状態数)と呼ぶ。また、この入力変数の状態数の上位の言葉として、入力変数の状態量(入力状態量)を用いる。
【0024】
FTE〔1〕を例に取ると、FTE〔1〕とSTEとの間には、STEのフローティングゲートFG〔S〕を初期化する際に全ての入力端子の入力信号をグランド電位にするために、トランスミッションゲートtgs1とパストランジスタswi1が挿入されている。FTE〔2〕,FTE〔3〕についても同様である。STEにも、FTE〔1〕,FTE〔2〕,FTE〔3〕と同様に初期化時と関数演算時の2つの期間を用いる。
【0025】
初期化時には、第1の状態制御端子ctl1と第2の状態制御端子ctl2とに論理値「1」を与え、フローティングゲートFG〔S〕に接続されたパストランジスタswsを導通させる。同時に、トランスミッションゲートtgs1が遮断され、パストランジスタswi1が導通し、バッファBF〔1〕を介して、論理値「0」であるグランド電位が容量結合されたフローティングゲートFG〔S〕に与えられる。また、入力変数として状態数「0」を与える場合、全ての入力が論理値「0」である。この状態を保ったままで、第1の状態制御端子ctl1と第2の状態制御端子ctl2とに論理値「1」を与えることで、関数演算時の状態を形成できる。
【0026】
次に、可変しきい値によって任意の関数が実現可能であることをXOR(Exclusive-OR )を実現する場合を例に取り、説明する。FTE〔1〕,FTE〔2〕,FTE〔3〕のしきい値は、各々入力状態数0の前後、1の前後、2の前後の2つのしきい値のいずれか一方を選択できるように設定できる。FTE〔1〕,FTE〔2〕,FTE〔3〕において、初期化時に構成データとして論理値「0」を与えた場合に小さい方のしきい値を選択でき、逆に論理値「1」を与えた場合に大きい方のしきい値が選択される。
【0027】
FTE〔1〕のしきい値として、入力状態数0より大きく1より小さい値を選択し、FTE〔2〕のしきい値として、入力状態数1より小さく0より大きい値を選択し、FTE〔3〕のしきい値として、入力状態数2より大きい値を選択する。この時、FTE〔1〕の出力の論理値は、入力状態数0,1,2に対して「1」,「0」,「0」であり、FTE〔2〕の出力の論理値は、入力状態数0,1,2に対して「1」,「0」,「0」であり、FTE〔3〕の出力の論理値は、入力状態数0,1,2に対して「1」,「1」,「1」である。
【0028】
入力状態数が0,1,2の各々の場合、STEの5つの入力端子中、論理値「1」である端子の数は、各々3,2,3となる。STEの出力値は入力の多数決の結果の論理反転であるから、入力状態数0,1,2に対して出力値は「0」,「1」,「0」となり、XORを実現している。これは、各入力状態数の前後にしきい値を持つFTE、入力状態数が0であればFTE〔1〕、入力状態数が1であればFTE〔2〕、入力状態数が2であればFTE〔3〕について、初期化時に構成データとして与えた論理値の論理反転が出力されることを意味している。
【0029】
上述したXORの実現例で分かるように、図16に示した2入力変数可変関数回路160によれば、FTE〔1〕,FTE〔2〕,FTE〔3〕,STEのフローティングゲートFG〔1〕,FG〔2〕,FG〔3〕,FG〔S〕を初期化する期間にしきい値選択用端子input2〔1〕〜input2〔3〕に入力されている構成データによって決定される回路の状態を保持することによって、任意の対称関数を実現できる。
【0030】
但し、対称関数とは、AND,OR,NAND,NOR,XOR,XNOR,0,1関数に代表されるように、関数値が入力状態数によって規定される論理関数であり、変数を相互に入れ換えても関数値が不変であるという特徴を持つ。
【0031】
【発明が解決しようとする課題】
〔回路状態保持可能な機能を備えた可変しきい値しきい素子回路の問題点〕
図15に示された可変しきい値しきい素子回路150において、回路状態を保持するために必要な2つの要素は、すなわちフローティングゲートFGへの電荷の注入と注入された電荷の保持は、フローティングゲートFGに接続されるスイッチであるパストランジスタswnを操作することによって一時的に達成される。
【0032】
しかしながら、パストランジスタswnは状態制御端子ctl2が論理値「0」のグランド電位であっても、サブスレッショレド電流と、ドレイン端子と基板(またはウェル)との間にあるPN接合逆飽和電流という2つのリーク電流を持つ。このため、フローティングゲートFGに保持されている電荷量は経時変化する。そして、この変化はしきい値を他の値に変える。即ち、しきい値の保持期間が有限であり、時間の経過に伴い徐々にしきい値が変化し、このしきい値の変化がしきい値処理回路INVの経時的誤動作という問題を引き起こす。
【0033】
〔関数機能再構成可能集積回路の問題点〕
図16に示された2入力変数可変関数回路160において、実現される関数機能は、初期化時にFTE〔1〕,FTE〔2〕,FTE〔3〕に入力される構成データの論理値によって定まるしきい値によって決められている。このしきい値の保持状態は上述したように経時変化を起こす。このために、2入力変数可変関数回路160においては、時間経過に伴い実現される関数が変化し、当初実現していた機能の実現ができなくなるという問題、つまり、経時的誤動作の問題が起きる。
【0034】
本発明はこのような課題を解決するためになされたもので、その目的とするところは、簡単な回路構成でしきい値を安定的に保持し、経時的誤動作の問題を解消することの可能な可変しきい値しきい素子回路、この可変しきい値しきい素子回路に適用されるしきい値リフレッシュ方法、この可変しきい値しきい素子回路を用いた関数機能再構成可能集積回路およびこの関数機能再構成可能集積回路に適用される関数機能構成方法を提供することにある。
【0035】
【課題を解決するための手段】
このような目的を達成するために、本発明の可変しきい値しきい素子回路は、電気的にフローティング状態とされたゲート電極を有し、このゲート電極に与えられる入力変数の状態量が、設定されているしきい値を越えた時にその出力を論理反転するしきい素子と、このしきい素子のゲート電極に容量結合され、入力変数を伝搬する第1〜第k(k>1)の入力変数用端子と、しきい素子のゲート電極と第1の端子との間に接続され、このゲート電極と第1の端子との間を接続/遮断する第1のスイッチと、しきい値を選択する構成データを保持する構成データ保持回路と、しきい素子のゲート電極に容量結合されたしきい値選択用入力端子と、このしきい値選択用入力端子と構成データ保持回路の出力端子との間に接続され、しきい値選択用入力端子と構成データ保持回路の出力端子との間を接続/遮断する第2のスイッチと、第1のスイッチおよび第2のスイッチのオン/オフを制御し、しきい素子のゲート電極に蓄積されている電荷の初期化および構成データ保持回路に保持されている構成データを用いてのしきい値の再設定を行うリフレッシュ手段とを設けたものである(第1発明)。
【0036】
この発明によれば、リフレッシュ手段によって、第1のスイッチおよび第2のスイッチのオン/オフが制御され、しきい素子のゲート電極に蓄積されている電荷の初期化が行われるとともに、構成データ保持回路に保持されている構成データを用いてのしきい値の再設定(しきい値のリフレッシュ)が行われる。
このしきい値の再設定は、所定の時間間隔で行うようにしてもいし(第2発明)、現在設定されているしきい値の変動を監視し、このしきい値の変動が所定値を超えた場合に行うようにしてもよい(第3発明)。
また、第1の端子は電源電位やグランド電位などの固定電位に接続された端子としてもよいし(第4,第5発明)、しきい素子の出力端子としてもよい(第6発明)。
【0037】
また、本発明のしきい値リフレッシュ方法(第9発明)は、上述した可変しきい値しきい素子回路において、しきい値のリフレッシュを行う場合、第1のスイッチをオンとし、しきい素子のゲート電極と第1の端子との間を接続し(第1のステップ)、第1〜第kの入力変数用端子から所定の入力変数の組合せを入力し(第2のステップ)、第2のスイッチをオンとし、しきい値選択用入力端子と構成データ保持回路の出力端子との間を接続し(第3のステップ)、この第1のステップ,第2のステップおよび第3のステップの実行後、第1のスイッチおよび第2のスイッチをオフとすることによって(第4のステップ)、しきい素子のゲート電極に蓄積されている電荷の初期化および構成データを用いてのしきい値の再設定を行うようにしたものである。
【0038】
なお、第1のスイッチをオンとし、しきい素子のゲート電極と第1の端子との間を接続し(第1のステップ)、第1〜第kの入力変数用端子から所定の入力変数の組合せを入力し(第2のステップ)、第2のスイッチをオフとし、しきい値選択用入力端子と構成データ保持回路の出力端子との間を遮断し(第3のステップ)、この第1のステップ,第2のステップおよび第3のステップの実行後、第1のスイッチをオフ、第2のスイッチをオンとすることによって(第4のステップ)、しきい素子のゲート電極に蓄積されている電荷の初期化および構成データを用いてのしきい値の再設定を行うようにしてもよい(第10発明)。
【0039】
また、本発明の関数機能再構成可能集積回路(第7発明)は、多段接続された可変しきい値しきい素子回路の少なくとも1つを本発明の可変しきい値しきい素子回路としたものである。
例えば、可変しきい値しきい素子回路を2段接続して構成し、1段目の可変しきい値しきい素子回路を、その第1〜第kの入力変数用端子が共通に接続された複数の可変しきい値しきい素子回路により構成し、2段目の可変しきい値しきい素子回路を、1つの可変しきい値しきい素子回路により構成し、この可変しきい値しきい素子回路の第1〜第kの入力変数用端子を1段目の各可変しきい値しきい素子回路の第1〜第kの入力変数用端子と共通に接続し、1段目の各可変しきい値しきい素子回路からの出力信号を2段目の可変しきい値しきい素子回路のゲート電極に容量結合された各入力端子に与える構造とする。
このような構造において、例えば初段の可変しきい値しきい素子回路の少なくとも1つに、上述した本発明の可変しきい値しきい素子回路を用いる。なお、初段の可変しきい値しきい素子回路の全てに、上述した本発明の可変しきい値しきい素子回路を用いるようにしてもよい(第8発明)。
【0040】
また、本発明の関数機能構成方法は、初段の可変しきい値しきい素子回路の全てに本発明の可変しきい値しきい素子回路を用いた関数機能再構成可能集積回路において、初段の可変しきい値しきい素子回路のしきい素子のゲート電極と第1の端子との間を第1のスイッチによって遮断している期間に、その可変しきい値しきい素子回路の第1〜第kの入力変数用端子の一部に同じ入力変数を入力することによって部分対称関数機能を実現するようにしたものである(第11発明)。
【0041】
また、本発明の関数機能構成方法は、初段の可変しきい値しきい素子回路のしきい素子のゲート電極と第1の端子との間を前記第1のスイッチによって遮断している期間に、その可変しきい値しきい素子回路の第1〜第kの入力変数用端子のうち、(k+1)≧2m を満たす正の整数mにより表される2j-1 個(jはj≦mを満たす正の整数)の端子に対して同じ入力変数を入力することによってm入力変数論理関数を実現するようにしたものである(第12発明)。
【0042】
また、本発明の関数機能構成方法は、初段の可変しきい値しきい素子回路のしきい素子のゲート電極と第1の端子との間を第1のスイッチによって遮断している期間に、その可変しきい値しきい素子回路の第1〜第kの入力変数用端子の全てに同じ入力変数を入力することによって配線機能を実現するようにしたものである(第13発明)。
これにより、関数機能として、任意の対象関数のみならず、部分対称関数、任意の論理関数、配線機能などの機能を実現することができる。
【0043】
【発明の実施の形態】
以下、本発明を図面に基づいて詳細に説明する。
〔実施の形態1:リフレッシュ機能を備えた可変しきい値しきい素子回路(その1)〕
図1はこの発明の一実施の形態を示すリフレッシュ機能を備えたk入力変数の可変しきい値しきい素子回路の回路構成を示す図である。同図において、図15と同一符号は同一或いは同等構成要素を示し、その説明は省略する。
【0044】
この可変しきい値しきい素子回路100は、主な構成要素として、しきい値処理回路INVと、メモリ回路MEMと、スイッチSW1〜SW6と、リフレッシュ回路REFとを有し、端子P1,P2やしきい値調整用端子input3が設けられている。しきい値処理回路INVは、文献4(特開2001−044823号公報(特願平−11−210801号))に開示されている可変しきい値生成方法と同様の方法によって設計されており、しきい値処理回路INV中のインバータ回路IVはフローティングゲートを入力ゲートとする標準的なCMOSインバータ回路によって構成される。このインバータ回路IVが本発明でいうしきい素子に対応する。
【0045】
この可変しきい値しきい素子回路100において、メモリ回路MEMはしきい値選択用端子input2としきい値選択用入力端子input2aとの間に設けられており、しきい値選択用端子input2とメモリ回路MEMの入力端子Pinとの間にスイッチSW3が、メモリ回路MEMの出力端子Pout としきい値選択用入力端子input2aとの間にスイッチSW2が設けられている。
【0046】
また、端子P2とフローティングゲートFGとの間には、スイッチSW1が設けられている。スイッチSW1を導通状態にし、フローティングゲートFGを端子P2に接続すると、フローティングゲートFGの電位が端子P2の電位に固定される。しきい値処理回路INVの製造過程においてフローティングゲートFGに残留する電荷と、しきい値処理回路INVが動作する際にフローティングゲートFGに注入される電荷とは、しきい値に影響を与える。スイッチSW1を導通状態にし、フローティングゲートFGを端子P2に接続するという操作は、これらの電荷のしきい値に与える影響を除去することを可能とする。
【0047】
しきい値調整用端子input3としきい値調整用入力端子input3aとの間にはスイッチSW5が設けられている。しきい値調整用入力端子input3aはしきい値処理回路INVのフローティングゲートFGに容量結合されている。端子P1としきい値選択用入力端子input2aとの間にはスイッチSW4が設けられおり、端子P2としきい値調整用入力端子input3aとの間にはスイッチSW6が設けられている。スイッチSW2とスイッチSW4とは導通と遮断に関して互いに逆の動作をする。すなわち、スイッチSW2が導通状態とされると、スイッチSW4は遮断状態とされる。スイッチSW5とスイッチSW6も導通と遮断に関して互いに逆の動作をする。
【0048】
リフレッシュ回路REFは、後述するリフレッシュ機能の実行に際して、スイッチSW1,SW2,SW4〜SW6のオン/オフ動作の制御や入力変数用端子input1〔1〕〜input1〔4〕への所定の組合せの変数の入力を行う。
【0049】
〔図1の具体的な回路例A:構成〕
図2は図1の可変しきい値しきい素子回路100の具体的な回路例(回路例A)を示す図である。この可変しきい値しきい素子回路200では、図1のメモリ回路MEMをラッチ回路LATに、スイッチSW1をNMOS型のパストランジスタswn1に、スイッチSW3をNMOS型のパストランジスタswn2に置き換えている。また、スイッチSW2,SW4〜SW6に代えて、トランスミッションゲートtgin2やインバータinv1,パストランジスタswn3,遅延回路DELYなどを設けている。なお、この回路例Aでは、フローティングゲートFGをパストランジスタswn1を介してグランド電位に接続しているが、電源電位に接続するようにしてもよい。また、フローティングゲートFGの接続先は固定電位であればよく、グランド電位や電源電位に限られるものでもない。
【0050】
また、状態制御端子ctl1を設け、この状態制御端子ctl1からの制御信号をパストランジスタswn1へ与えるようにしている。また、状態制御端子ctl1からの制御信号を遅延回路DELYを介し、トランスミッションゲートtgin2やインバータinv1,パストランジスタswn3へ与えるようにしている。また、状態制御端子ctl2を設け、この状態制御端子ctl2からの制御信号をパストランジスタswn2へ与えるようにしている。
【0051】
この可変しきい値しきい素子回路200において、リフレッシュ回路REFは、後述するリフレッシュ機能の実行に際して、状態制御端子ctl1への制御信号の生成や入力変数用端子input1〔1〕〜input1〔4〕への所定の組合せの変数の入力を行う。
【0052】
ラッチ回路LATは以下の理由で重要である。フローティングゲートFGに存在する電荷量が、パストランジスタswn1のサブスレッショルド電流またはPN接合逆飽和電流などのリーク電流によって、パストランジスタswn1が遮断状態であっても経時的に変化する。これはしきい値の変化に通じる。この経時変化分を補正するために、ラッチ回路LATにしきい値を設定するための構成データを保持する。
【0053】
このラッチ回路LATにおける構成データの保持により、後述するように、所定の時間間隔で、または、しきい値変動(フローティングゲートFG中の電荷量変動または、フローティングゲートFGの電位変動)を検知するセンサ回路(図示せず)と連動し定期的に、ラッチ回路LATから構成データを読み出し、フローティングゲートFGの初期化を行うことによって、正しいしきい値を保持することが可能となる。
【0054】
この可変しきい値しきい素子回路200では、簡単化のために入力変数の数は4つとし、入力変数用端子input1〔1〕〜input1〔4〕とフローティングゲートFGとの間の容量C1 〜C4 の値は全て等しくCとしている。文献4に開示されているように、C1 〜C4 =Cの場合、入力変数によって作られる異なる入力状態数は、入力変数中で論理値「1」を取る変数の数である0,1,2,3のように4つとなる。
【0055】
また、しきい値選択用入力端子input2aとフローティングゲートFGとの間の容量(しきい値選択容量)Cv1の値も容量C1 〜C4 と等しくCとする。これによって、入力状態数Zと「Z±1」との間に、しきい値選択用入力端子input2aの論理値によって決まるしきい値を設けることができる。容量Cv1の値がCでない場合は、しきい値選択用入力端子input2aの2つの論理値に応じて決まるしきい値間の入力状態数上の距離が1ではなくなり、Cに乗算される値に応じた距離になる。
【0056】
更に、この可変しきい値しきい素子回路200では、しきい値選択用入力端子input2aの値に応じて決まる2つのしきい値が入力状態数「0<Z<1」と「1<Z<2」とにあるとする。これを実現するためにしきい値調整用入力端子input3aとフローティングゲートFGとの間の容量(しきい値調整容量)Cv2の値を2Cとする。
【0057】
また、しきい値処理回路INVにおけるインバータ回路IVの論理しきい値は「1/2」とする。状態制御端子ctl1からの制御信号を論理値「1」とし、パストランジスタswn1を導通させることによって、フローティングゲートFG中に含まれる残留電荷をグランドに逃すことができ、しきい値処理回路INV中のインバータ回路IVの論理しきい値を一定に保つことができる。
【0058】
しきい値選択用端子input2とラッチ回路LATとの間に、状態制御端子ctl2の電位によって制御されるパストランジスタswn2を設け、ラッチ回路LATの出力端子Pout としきい値選択用入力端子input2aとの間にトランスミッションゲートtgin2を設けている。トランスミッションゲートtgin2は遅延回路DELYの出力電位と、この出力電位をインバータinv1によって反転したしきい値調整用入力端子input3aとの電位によって、その導通及び遮断が制御される。
【0059】
〔回路例Aの動作〕
図2に示した可変しきい値しきい素子回路200の動作上の主な特徴は、しきい関数演算中にラッチ回路LATに保持されているしきい値を選択する構成データが、しきい値処理回路INVに供給し続けられること、しきい値を選択する構成データの書き換えはフローティングゲートFGを初期化する期間においてのみ可能であること、フローティングゲートFGの初期化およびしきい値の再設定(しきい値のリフレッシュ)が定期的に行われること、である。
【0060】
以下、図3に示すフローチャートを参照しながら、図2に示された可変しきい値しきい素子回路200の特徴的な動作について説明する。可変しきい値しきい素子回路200の動作は、フローティングゲートFGの初期化と、しきい値を選択するための構成データの書き換えと、しきい関数演算との3つの操作に分類できる。
【0061】
まず、状態制御端子ctl1とctl2とにグランド電位を与えることによって、パストランジスタswn1とswn2とを遮断状態にする(ステップ301)。この場合、遅延回路DELYの出力電位は所定時間遅れて論理値「0」となり、これによりトランスミッションゲートtgin2がオンとされ、ラッチ回路LATに保持されている構成データがしきい値処理回路INVへ供給される。また、インバータinv1の出力が論理値「1」となることから、しきい値調整用入力端子input3aが論理値「1」とされる。
【0062】
この状態は、図1の回路において、スイッチSW1,SW3がオフ、スイッチSW2,SW5がオン、スイッチSW4,SW6がオフとされた状態に対応する。但し、この場合、図1の回路の端子P1,P2は共にグランド電位に接続され、しきい値調整用端子input3には論理値「1」が与えられているものとする。以下、図2の回路と図1の回路とを対応させる場合、端子P1,P2,input3はこの状態に設定されているものとする。
【0063】
〔フローティングゲートの初期化およびしきい値のリフレッシュ〕
リフレッシュ回路REFは、所定の時間間隔で、または、しきい値変動(フローティングゲートFG中の電荷量変動または、フローティングゲートFGの電位変動)を検知するセンサ回路(図示せず)と連動し定期的に、リフレッシュ機能を実行する。このリフレッシュ機能の実行により、フローティングゲートFGに蓄積されている電荷の初期化とラッチ回路LATに保持されている構成データを用いてのしきい値の再設定が行われる。
【0064】
リフレッシュ回路REFは、リフレッシュ機能の実行命令が出されると(ステップ302のYES)、状態制御端子ctl1に電源電位を印加する。すなわち、状態制御端子ctl1への制御信号を論理値「1」とする。また、入力変数用端子input1〔1〕〜input1〔4〕へグランド電位を印加する(ステップ303)。
【0065】
状態制御端子ctl1への制御信号が論理値「1」とされると、パストランジスタswn1がオンとされ、フローティングゲートFGがグランド電位とされる。また、状態制御端子ctl1からの制御信号は、所定時間遅れて遅延回路DELYから出力される。これにより、トランスミッションゲートtgin2がオフとされ、パストランジスタswn3がオンとされ、しきい値選択用入力端子input2aがグランド電位になる。この場合、しきい値選択容量Cv1の両端の電位は共にグランド電位となり、しきい値選択容量Cv1に電荷は誘起されない。
【0066】
また、遅延回路DELYからの論理値「1」の出力電位はインバータ回路inv1によって反転され、しきい値調整用入力端子input3aに供給される。この場合、しきい値調整容量Cv2の両端の電位は共にグランド電位となり、しきい値調整容量Cv2に電荷は誘起されない。この状態を図1に示された回路で言えば、スイッチSW1がオン、スイッチSW2,SW5がオフ、スイッチSW4,SW6がオンとされた状態に対応する。
【0067】
この状態において、入力変数用端子input1〔1〕〜input1〔4〕にはグランド電位が設定されており、しきい値処理回路INVの全ての入力端子の電位はグランド電位になり、同時にフローティングゲートFGの電位もグランド電位であるため、フローティングゲートFGには電荷は誘起されず、製造上フローティングゲートFGに生じた電荷と回路動作によってフローティングゲートFGに注入された電荷とをグランドに逃すことができ、フローティングゲートFGに蓄積されれている電荷の初期化が行われる。
【0068】
この後、リフレッシュ回路REFは、状態制御端子ctl1へグランド電位を印加する(ステップ304)。これにより、パストランジスタswn1がオフとされ、フローティングゲートFGがグランド電位から切り離される。また、遅延回路DELYの出力電位が所定時間遅れて論理値「0」となり、パストランジスタswn3がオフ、トランスミッションゲートtgin2がオンとされ、ラッチ回路LATに保持されている構成データがしきい値処理回路INVへ供給される。また、インバータinv1の出力が論理値「1」となることから、しきい値調整用入力端子input3aのレベルも論理値「1」とされる。
【0069】
これにより、フローティングゲートFGに蓄積されている電荷の初期化の終了と同時に、ラッチ回路LATに保持されている構成データを用いてのしきい値の再設定が行われる。この状態は、図1の回路において、スイッチSW1がオフ、スイッチSW2,SW5がオン、スイッチSW4,SW6がオフとされた状態に対応する。
【0070】
〔構成データの書き換え〕
フローティングゲートFGの初期化を行っている期間には、しきい値を選択する構成データの書き換えを行うことが可能である。フローティングゲートFGの初期化を行っている期間中には、トランスミッションゲートtgin2が遮断状態にあり、ラッチ回路LATの構成データはしきい値処理回路INVには供給されておらず、ラッチ回路LATの状態変化はしきい値処理回路INVに影響しない。
【0071】
状態制御端子ctl2の電位を電源電位にし(ステップ306)、パストランジスタswn2を導通状態にし、しきい値選択用端子input2からデータを入力することによって(ステップ307)、ラッチ回路LATに保持される構成データを書き換えることができる。
【0072】
選択可能な2つのしきい値の中で、入力状態数「0<Z<1」にあるしきい値を選択する場合は、しきい値選択用端子input2から入力するデータを論理値「1」、即ち、電源電位とし、「1<Z<2」にあるしきい値を選択する場合は、しきい値選択用端子input2から入力するデータを論理値「0」、即ち、グランド電位にする。データ入力が終了した後に(ステップ308のYES)、状態制御端子ctl2をグランド電位にし(ステップ309)、パストランジスタswn2を遮断する。これによって構成データの書き換えが終了する。
【0073】
〔しきい値関数演算〕
フローティングゲートFGの初期化を行なっていない期間には、しきい関数演算を行うことが可能である。この場合、状態制御端子ctl1がグランド電位になっているため、パストランジスタswn1は遮断状態であり、フローティングゲートFGは他の入力端子と電気的に高インピーダンスで接続されているので、過渡的には電気的浮遊状態とみなせる。
【0074】
また、状態制御端子ctl1がグランド電位であるため、しきい値調整用入力端子input3aは電源電位になり、しきい値調整容量Cv2には電荷が誘起される。また、トランスミッションゲートtgin2が導通状態であり、ラッチ回路LATに保持されている構成データがしきい値選択用入力端子input2aに供給される。また、入力変数用端子input1〔1〕〜input1〔4〕に変数を入力することによって(ステップ311)、各容量C1 〜C4 に電荷が誘起される。
【0075】
この誘起電荷によって、フローティングゲートFG上にも逆極性の電荷が誘起される。フローティングゲートFGにおいて電荷量が保存されるため、電荷の再分配が起こり、フローティングゲートFGの電位が決まる。この電位がインバータ回路IVの入力となり、しきい処理がなされる(ステップ312)。
【0076】
〔図1の具体的な回路例B:構成〕
図4は図1の可変しきい値しきい素子回路100の具体的な別の回路例(回路例B)を示す図である。この可変しきい値しきい素子回路400では、図1のメモリ回路MEMをラッチ回路LATに、スイッチSW1をNMOS型のパストランジスタswn1に、スイッチSW3をNMOS型のパストランジスタswn2に置き換えている。また、スイッチSW2,SW4〜SW6に代えて、トランスミッションゲートtgin2やインバータinv1,PMOS型のパストランジスタswp1,遅延回路DELYなどを設けている。なお、この回路例Bでは、フローティングゲートFGをパストランジスタswn1を介してグランド電位に接続しているが、電源電位に接続するようにしてもよい。また、フローティングゲートFGの接続先は固定電位であればよく、グランド電位や電源電位に限られるものでもない。
【0077】
また、状態制御端子ctl1を設け、この状態制御端子ctl1からの制御信号をパストランジスタswn1へ与えるようにしている。また、状態制御端子ctl1からの制御信号を遅延回路DELYを介し、トランスミッションゲートtgin2やインバータinv1,パストランジスタswp1へ与えるようにしている。また、状態制御端子ctl2を設け、この状態制御端子ctl2からの制御信号をパストランジスタswn2へ与えるようにしている。
【0078】
なお、この可変しきい値しきい素子回路400におけるしきい値処理回路INVにおいても、図2に示した可変しきい値しきい素子回路200と同様、入力変数用端子input1〔1〕〜input1〔4〕とフローティングゲートFGとの間の容量C1 〜C4 の値およびしきい値選択容量Cv1を全て等しくCとし、しきい値調整容量Cv2の値を2Cとしている。また、しきい値処理回路INV中のインバータ回路IVの論理しきい値も「1/2」としている。
【0079】
回路400と回路200との相違点は、回路400中のトランスミッションゲートtgin2の制御信号が回路200中のトランスミッションゲートtgin2の制御信号の論理反転である点と、回路200ではしきい値選択用入力端子input2aに接続されるスイッチとしてグランド電位に接続されるNMOS型のパストランジスタswn3を用いているのに対し、回路400ではしきい値選択用入力端子input2aに接続されるスイッチとして電源電位に接続されるPMOS型のパストランジスタswp1を用いている点との2点である。
【0080】
この回路構成は、文献5(特開2001−196920号公報(特願2000−5942号))に開示されている回路と類似であり、ラッチ回路LATを含む点において異なる。本実施の形態の可変しきい値しきい素子回路400では、関数演算期間にしきい値選択用入力端子input2aに常に電源電位を与え、フローティングゲートFGの初期化時にラッチ回路LATに保持されている構成データをしきい値選択用入力端子input2aに与える。この動作により、フローティングゲート初期化期間よりも時間的に長い関数演算期間を構成データの書き換えに用いることが可能になる。
【0081】
図5は、図4に示した可変しきい値しきい素子回路400中の回路部401を置換する回路部401’を示す図である。回路部401’は、トランスミッションゲートtgin2とパストランジスタswp1とを制御する制御信号が、他の信号端子とは独立した状態制御端子ctl3から与えられる点において、回路部401とは異なる。
【0082】
回路部401では、トランスミッションゲートtgin2及びパストランジスタswp1が、パストランジスタswn1を制御する信号と同じ信号源である状態制御端子ctl1からの制御信号によって同期して制御されていた。回路部401’において、トランスミッションゲートtgin2とパストランジスタswp1とは、フローティングゲートFGの初期化を制御するパストランジスタswn1とは非同期で制御されるため、関数演算期間であってもトランスミッションゲートtgin2を導通させ、パストランジスタswp1を遮断することが可能である。これは、しきい値選択用端子input2から入力される信号、または、ラッチ回路LATに保持されている構成データのいずれか一方を入力変数として処理できることを意味している。
【0083】
〔回路例Bの動作〕
図4に示された可変しきい値しきい素子回路400の動作上の主な特徴は、ラッチ回路LATに保持されているしきい値を選択する構成データがフローティングゲートFGを初期化する際に用いられ、しきい関数演算中にはしきい値選択用入力端子input2aには電源電位が供給されること、しきい値を選択する構成データの書き換えが関数演算期間においてのみ可能であること、フローティングゲートFGの初期化およびしきい値の再設定(しきい値のリフレッシュ)が定期的に行われることである。
【0084】
以下、図6に示すフローチャートを参照しながら、図4に示された可変しきい値しきい素子回路400の特徴的な動作について説明する。可変しきい値しきい素子回路400の動作は、フローティングゲートFGの初期化と、しきい値を選択するための構成データの書き換えと、しきい関数演算との3つの操作に分類できる。
【0085】
まず、状態制御端子ctl1にグランド電位を与えることによって、パストランジスタswn1を遮断状態にする(ステップ601)。この場合、遅延回路DELYの出力電位は所定時間遅れて論理値「0」となり、これによりトランスミッションゲートtgin2がオフとされ、パストランジスタswp1がオンとされ、しきい値選択用入力端子input2aが論理値「1」となる。また、インバータinv1の出力が論理値「1」となることから、しきい値調整用入力端子input3aも論理値「1」となる。
【0086】
この状態は、図1示された回路において、スイッチSW1がオフ、スイッチSW2,SW6がオフ、スイッチSW4,SW5がオンとされた状態に対応する。但し、この場合、図1の回路の端子P1は電源電位に接続され、端子P2はグランド電位に接続され、しきい値調整用端子input3には論理値「1」が与えられているものとする。以下、図4の回路と図1の回路とを対応させる場合、端子P1,P2,input3はこの状態に設定されているものとする。
【0087】
〔フローティングゲートの初期化およびしきい値のリフレッシュ〕
リフレッシュ回路REFは、所定の時間間隔で、または、しきい値変動(フローティングゲートFG中の電荷量変動または、フローティングゲートFGの電位変動)を検知するセンサ回路(図示せず)と連動し定期的に、リフレッシュ機能を実行する。このリフレッシュ機能の実行により、フローティングゲートFGに蓄積されている電荷の初期化と、ラッチ回路LATに保持されている構成データを用いてのしきい値の再設定が行われる。
【0088】
リフレッシュ回路REFは、リフレッシュ機能の実行命令が出されると(ステップ603のYES)、状態制御端子ctl1に電源電位を印加する。また、入力変数用端子input1〔1〕〜input1〔4〕へグランド電位を印加する(ステップ604)。
【0089】
状態制御端子ctl1への制御信号が論理値「1」とされると、パストランジスタswn1がオンとされ、フローティングゲートFGがグランド電位とされる。同時に、状態制御端子ctl1からの制御信号は、所定時間遅れて遅延回路DELYから出力される。これにより、トランスミッションゲートtgin2がオンとされ、パストランジスタswp1がオフとされ、しきい値選択用入力端子input2aにラッチ回路LATに保持されている構成データが供給される。また、遅延回路DELYからの論理値「1」の出力電位がインバータ回路inv1によって反転され、しきい値調整用入力端子input3aに論理値「0」が供給される。この状態は、図1に示された回路において、スイッチSW1がオン、スイッチSW2,SW6がオン、スイッチSW4,SW5がオフとされた状態に対応する。
【0090】
この状態において、入力変数用端子input1〔1〕〜input1〔4〕にはグランド電位が設定されており、しきい値選択用入力端子input2aの電位はラッチ回路LATに保持されている構成データに応じた電位となり、しきい値調整用入力端子input3aの電位はグランド電位になり、同時にフローティングゲートFGの電位もグランド電位になる。これにより、フローティングゲートFGに蓄積されている電荷の初期化としきい値の再設定が行われる。
【0091】
本回路400は、図2に示した回路200とはしきい値選択がなされる期間において異なり、回路200が関数演算期間にしきい値選択用入力端子input2aに与えられている電位によってしきい値選択がなされるのに対して、回路400では、フローティングゲート初期化時にしきい値選択用入力端子input2aに与えられる電位によって選択される。
【0092】
選択可能な2つのしきい値の中で、入力状態数「0<Z<1」にあるしきい値を選択する場合は、ラッチ回路LATが保持するデータを論理値「0」、即ち、グランド電位とし、「1<Z<2」にあるしきい値を選択する場合は、ラッチ回路LATが保持するデータを論理値「1」、即ち、電源電位にする。フローティングゲートFGの電位が安定するだけの時間の後、リフレッシュ回路REFは、状態制御端子ctl1をグランド電位にする(ステップ605)。
【0093】
これにより、パストランジスタswn1がオフとされ、フローティングゲートFGがグランド電位から切り離される。また、遅延回路DELYの出力電位が所定時間遅れて論理値「0」となり、トランスミッションゲートtgin2がオフ、パストランジスタswp1がオンとされ、しきい値選択用入力端子input2aの電位が電源電位すなわち論理値「1」とされる。また、インバータinv1の出力が論理値「1」となることから、しきい値調整用入力端子input3aのレベルも論理値「1」とされる。
【0094】
これにより、フローティングゲートFGに蓄積されている電荷の初期化とラッチ回路LATに保持されている構成データを用いてのしきい値の再設定が終了する。この状態は、図1に示された回路において、スイッチSW1がオフ、スイッチSW2,SW6がオフ、スイッチSW4,SW5がオンの状態に対応する。
【0095】
〔しきい値関数演算〕
フローティングゲートFGの初期化を行なっていない期間には、しきい関数演算を行うことが可能である。この場合、状態制御端子ctl1がグランド電位になっているため、パストランジスタswn1は遮断状態であり、フローティングゲートFGは他の入力端子と電気的に高インピーダンスで接続されているので、過渡的には電気的浮遊状態とみなせる。
【0096】
また、状態制御端子ctl1がグランド電位であるため、しきい値調整用入力端子input3aは電源電位になり、しきい値調整容量Cv2には電荷が誘起される。また、トランスミッションゲートtgin2が遮断状態であり、パストランジスタswp1が導通状態であり、電源電位がしきい値選択用入力端子input2aに供給される。また、入力変数用端子input1〔1〕〜input1〔4〕に変数を入力することによって(ステップ611)、各容量C1 〜C4 に電荷が誘起される。
【0097】
この誘起電荷によって、フローティングゲートFG上にも逆極性の電荷が誘起される。フローティングゲートFGにおいて電荷量が保存されるため、電荷の再分配が起こり、フローティングゲートFGの電位が決まる。この電位がインバータ回路IVの入力となり、しきい処理がなされる(ステップ612)。
【0098】
〔構成データの書き換え〕
この回路400においては、しきい値演算を行っている期間に、しきい値を選択する構成データの書き換えを行うことが可能である。しきい値演算を行っている期間中には、トランスミッションゲートtgin2が遮断状態にあり、ラッチ回路LATの構成データはしきい値処理回路INVには供給されておらず、ラッチ回路LATの状態変化はしきい値処理回路INVに影響しない。
【0099】
状態制御端子ctl2の電位を電源電位にし(ステップ606)、パストランジスタswn2を導通状態にし、しきい値選択用端子input2からデータを入力することによって(ステップ607)、ラッチ回路LATに保持される構成データを書き換えることができる。
【0100】
選択可能な2つのしきい値の中で、入力状態数「0<Z<1」にあるしきい値を選択する場合は、しきい値選択用端子input2から入力するデータを論理値「0」、即ち、グランド電位とし、「1<Z<2」にあるしきい値を選択する場合は、しきい値選択用端子input2から入力するデータを論理値「1」、即ち、電源電位にする。このデータの与え方は、回路200の場合の論理反転である。これは、フローティングゲート初期化時に与えた電位と関数演算時に与えられる電位との差分が実際の電位として加わるためである。データ入力が終了した後に(ステップ608のYES)、状態制御端子ctl2をグランド電位にし(ステップ609)、パストランジスタswn2を遮断する。これによって構成データの書き換えが終了する。
【0101】
〔実施の形態2:リフレッシュ機能を備えた可変しきい値しきい素子回路(その2)〕
図7はこの発明の他の実施の形態を示すリフレッシュ機能を備えたk入力変数の可変しきい値しきい素子回路の回路構成を示す図である。同図において、図15と同一符号は同一或いは同等構成要素を示し、その説明は省略する。
【0102】
この可変しきい値しきい素子回路700は、主な構成要素として、しきい値処理回路INVと、メモリ回路MEMと、スイッチSW1,SW3,SW7,SW8と、リフレッシュ回路REFとを有している。図1に示した回路100とは、しきい値処理回路INVの出力端子OUTとフローティングゲートFGとの間にスイッチSW1が設けられている点において、大きく異なる。なお、しきい値処理回路INVを用いた可変しきい値生成方法は、実施の形態1で引用した文献4に開示されている方法とは異なっている。
【0103】
まず初めに、回路700の特徴的な構成を述べる。スイッチSW1によって、しきい値処理回路INVのフローティングゲートFGと出力端子OUTとの導通、遮断の接続状態を制御することができる。
また、しきい値選択用入力端子input2aは、スイッチSW8の切り換えによって、電源電位とメモリ回路MEMの出力端子Pout とのいずれか一方に接続される。即ち、スイッチSW8は、しきい値選択用入力端子input2aの値をメモリ回路MEmに保持されている構成データと論理値「1」との間で切り替える役割を果たす。
また、しきい値調整用入力端子input3aは、スイッチSW7の切り換えによって、グランド電位と電源電位とのいずれか一方に接続される。即ち、スイッチSW7は、しきい値調整用入力端子input3aの値を論理値「0」と論理値「1」との間で切り替える役割を果たす。
【0104】
また、メモリ回路MEMの入力端子Pinとしきい値選択用端子input2との間にスイッチSW3が設けられている。これによって、メモリ回路MEMに保存されている値は、端子input2の値からは独立になる。メモリ回路MEMによって、しきい値を設定するための電位(構成データ)を保持することが可能になる。加えて、後述する手続きを周期的に繰り返すことにより、フローティングゲートFG上の電荷量の変動に伴うしきい値の変動を補正することが可能になる。
【0105】
次に、しきい値処理回路INVにおける可変しきい値生成方法を簡単に説明する。実現する関数は、実施の形態1の場合と同様に任意の対称関数とする。任意の対称関数を実現する回路は、しきい値処理回路INVの入力変数に対する重みを変更することによって、任意の論理関数を実現する回路に容易に拡張される。また、実現可能な2つのしきい値の中からいずれか一方を選択できるとし、前記2つのしきい値は、実施の形態1の場合と同様に、ある入力状態数とその前後の入力状態数との間にあるとする(以降、ある入力状態数の前後にある、と略す)。
【0106】
この2つのしきい値候補の入力状態数上の距離も重みの大きさを変更することによって容易に調整できる。実施の形態1と同様に、k個の入力変数用端子input1〔1〕〜input1〔k〕とフローティングゲートFGとの間の容量C1 〜Ck の値を全て等しくCとし、しきい値選択用入力端子input2aとフローティングゲートFGとの間の容量(しきい値選択容量)Cv1の値を容量C1 〜Ck の値と等しくCとし、しきい値調整用入力端子input3aとフローティングゲートFGとの間の容量(しきい値調整容量)Cv2の値を0.5Cとする。但し、容量Cv2の値は、0<Cv2<Cであれば良いが、動作マージンを確保するため、0.5Cとしている。
【0107】
図8はしきい値を設定する際の操作手順を示すフローチャートである。なお、ここではその原理を説明するために、メモリ回路MEMが設けられておらず、スイッチSW8にはしきい値選択用端子input2がダイレクトに接続されているものとする。
【0108】
今、入力状態数jと「j+1」との間「j+1/2」にしきい値を設定すると仮定する。第1に、スイッチSW1を導通状態にする。スイッチSW8によりしきい値選択用端子input2としきい値選択用入力端子input2aを接続し、スイッチSW7により電源電位にしきい値調整用入力端子input3aを接続し、入力状態数をjにする(ステップ802)。
【0109】
第2に、しきい値選択用端子input2に論理値「0」であるグランド電位を印加する(ステップ804)。第3に、スイッチSW1を遮断する(ステップ805)。これによって、前記の電位状態の時にフローティングゲートFGが電源電位とグランド電位との「1/2」電位になる。
【0110】
第4に、所定の時間の後、スイッチSW8によって電源電位にしきい値選択用入力端子input2aを接続し、スイッチSW7によってしきい値調整用入力端子input3aをグランド電位に接続する(ステップ807)。以上の手続きによって、しきい値を「j+1/2」に設定することができる。
【0111】
一方、しきい値を「j−1/2」に設定する場合は、前記第2の手続きにおいて、しきい値選択用端子input2に電源電位を印加する(ステップ805)。また、前記第1の手続きにおいて(ステップ802)、入力状態数jを「0≦Z≦k」のある値に設定することによって、任意の入力状態数の前後にしきい値を設定することが可能になる。これにより可変しきい値しきい素子が実現できる。
【0112】
〔図7の具体的な回路例C:構成〕
図9は図7の可変しきい値しきい素子回路700の具体的な回路例(回路例C)を示す図である。この可変しきい値しきい素子回路900では、図7のメモリ回路MEMがラッチ回路LATに、スイッチSW1がトランスミッションゲートtg1に、スイッチSW3がNMOS型のパストランジスタswn2に置き換えられている。しきい値処理回路INVの入力端子とフローティングゲートFGとの間の容量の値は図7の回路700で用いられる容量の値と同じである。また、簡単化のために入力変数の数は4つとしてある。
【0113】
トランスミッションゲートtg1は状態制御端子ctl1の電位とctl1に接続されるインバータinv3の出力電位との2つの電位によって制御される。回路700中のスイッチSW7は回路900中には存在せず、状態制御端子ctl1の値が代替として使用される。また、状態制御端子ctl1の論理値が「1」から「0」に変化する際、トランスミッションゲートtg1が完全に遮断状態になるまでしきい値処理回路INVに対する入力の値が変化するのを防ぐために、遅延回路DELYを設けてある。回路700中のスイッチSW8は、トランスミッションゲートtgin2とPMOS型のパストランジスタswp1によって置換されている。
【0114】
トランスミッションゲートtgin2は遅延回路DELYの出力電位とその出力電位をインバータinv1によって論理反転した電位によって制御され、パストランジスタswp1は遅延回路DELYの出力電位によって制御される。また、ラッチ回路LATの入力端子Pinとしきい値選択用端子input2との間のスイッチは、NMOS型のパストランジスタswn2によって実現されている。パストランジスタswn2は、状態制御端子ctl2の電位によって制御される。状態制御端子ctl2の状態と状態制御端子ctl1の状態とは同期していても良いが、非同期にすることによって回路900の持つ機能を向上することができる。
【0115】
更に、回路900では状態制御端子ctl1の値と遅延回路DELYの出力値とはある遅延時間を持った同期信号であるが、遅延回路DELYを削除し、この遅延回路DELYの出力端子Paを独立した端子とすることによっても同じ機能を果たすことができる。また、状態制御端子ctl1と独立させた端子Paを非同期で操作することによって、フローティングゲートFGが電気的浮遊状態である時に、トランスミッションゲートtgin2を導通状態にすることが可能になり、新しい機能が追加される。
【0116】
〔回路例Cの動作〕
図9に示された可変しきい値しきい素子回路900の動作上の主な特徴は、図6に示した可変しきい値しきい素子回路600と同様であり、ラッチ回路LATに保持されているしきい値を選択する構成データがフローティングゲートFGを初期化する際に用いられ、しきい関数演算中にはしきい値選択用入力端子input2aには電源電位が供給されること、しきい値を選択する構成データの書き換えが関数演算期間においてのみ可能であること、フローティングゲートFGの初期化およびしきい値の再設定(しきい値のリフレッシュ)が定期的に行われることである。
【0117】
以下、図10に示すフローチャートを参照しながら、図9に示された可変しきい値しきい素子回路900の特徴的な動作について説明する。可変しきい値しきい素子回路900の動作は、フローティングゲートFGの初期化と、しきい値を選択するための構成データの書き換えと、しきい関数演算との3つの操作に分類できる。
【0118】
まず、状態制御端子ctl1にグランド電位を与えることによって、トランスミッションゲートtg1を遮断状態にする(ステップ101)。この場合、遅延回路DELYの出力電位は所定時間遅れて論理値「0」となり、これによりトランスミッションゲートtgin2がオフとされ、パストランジスタswp1がオンとされ、しきい値選択用入力端子input2aが論理値「1」となる。また、遅延回路DELYの出力が論理値「0」となることから、しきい値調整用入力端子input3aも論理値「0」となる。この状態は、図7に示された回路において、スイッチSW1がオフ、スイッチSW7がグランド電位側、スイッチSW8が電源電位側とされた状態に対応する。
【0119】
〔フローティングゲートの初期化およびしきい値のリフレッシュ〕
リフレッシュ回路REFは、所定の時間間隔で、または、しきい値変動(フローティングゲートFG中の電荷量変動または、フローティングゲートFGの電位変動)を検知するセンサ回路(図示せず)と連動し定期的に、リフレッシュ機能を実行する。このリフレッシュ機能の実行により、フローティングゲートFGに蓄積されている電荷の初期化と、ラッチ回路LATに保持されている構成データを用いてのしきい値の再設定が行われる。
【0120】
リフレッシュ回路REFは、リフレッシュ機能の実行命令が出されると(ステップ103のYES)、状態制御端子ctl1に電源電位を印加するまた、入力変数用端子input1〔1〕〜input1〔4〕のj個の端子に電源電圧を印加する(ステップ104)。すなわち、j個の入力変数を論理値「1」とし、入力状態数をjに設定する。
【0121】
状態制御端子ctl1への制御信号が論理値「1」とされると、トランスミッションゲートtg1がオンとされ、フローティングゲートFGがグランド電位とされる。同時に、状態制御端子ctl1からの制御信号は、遅延回路DELYより所定時間遅れて出力される。これにより、トランスミッションゲートtgin2がオンとされ、パストランジスタswp1がオフとされ、ラッチ回路LATの出力端子Poutとしきい値選択用入力端子input2aとの間が導通状態とされ、ラッチ回路LATに保持されている構成データがしきい値処理回路INVへ供給される。また、遅延回路DELYを介する状態制御端子ctl1からの制御信号により、しきい値調整用入力端子input3aが論理値「1」とされる。この状態は、図7に示された回路において、スイッチSW1がオン、スイッチSW7が電源電位側、スイッチSW8がメモリ回路MEMの出力端子Pout とされた状態に対応する。
【0122】
この状態において、入力変数用端子input1〔1〕〜input1〔4〕にはj個の端子に電源電位が設定されており、しきい値選択用入力端子input2aの電位はラッチ回路LATに保持されている構成データに応じた電位となり、しきい値調整用入力端子input3aの電位は電源電位となり、ローティングゲートFGの電位は「1/2」電位となる。これにより、フローティングゲートFGに蓄積されている電荷の初期化としきい値の再設定が行われる。
【0123】
フローティングゲートFGの電位が安定するだけの時間の後、リフレッシュ回路REFは、状態制御端子ctl1をグランド電位にする(ステップ105)。これにより、トランスミッションゲートtg1がオフとされ、フローティングゲートFGが出力端子から切り離される。また、遅延回路DELYの出力電位が所定時間遅れて論理値「0」となり、トランスミッションゲートtgin2がオフ、パストランジスタswp1がオンとされ、しきい値選択用入力端子input2aの電位が電源電位すなわち論理値「1」とされる。また、しきい値調整用入力端子input3aのレベルが論理値「0」とされる。これにより、フローティングゲートFGに蓄積されている電荷の初期化と、ラッチ回路LATに保持されている構成データを用いてのしきい値の再設定が終了する。この状態は、図7に示された回路において、スイッチSW1がオフ、スイッチSW7がグランド電位側、スイッチSW8が電源電位側に接続された状態に対応する。
【0124】
〔しきい値関数演算〕
フローティングゲートFGの初期化を行なっていない期間には、しきい関数演算を行うことが可能である。この場合、状態制御端子ctl1がグランド電位になっているため、トランスミッションゲートtg1は遮断状態であり、フローティングゲートFGは他の入力端子と電気的に高インピーダンスで接続されているので、過渡的には電気的浮遊状態とみなせる。
【0125】
また、状態制御端子ctl1がグランド電位であるため、しきい値調整用入力端子input3aはグランド電位になる。また、トランスミッションゲートtgin2が遮断状態であり、パストランジスタswp1が導通状態であり、電源電位がしきい値選択用入力端子input2aに供給される。
【0126】
この状態で、入力変数用端子input1〔1〕〜input1〔4〕に変数を入力することによって(ステップ111)、各容量C1 〜C4 に電荷が誘起され、この誘起電荷によってフローティングゲートFG上に逆極性の電荷が誘起され、フローティングゲートFGにおいて電荷量が保存されるため、電荷の再分配が起こり、フローティングゲートFGの電位が決まる。この電位がインバータ回路IVの入力となり、しきい処理がなされる。
【0127】
〔構成データの書き換え〕
しきい値演算を行っている期間には、しきい値を選択する構成データの書き換えを行うことが可能である。しきい値演算を行っている期間中には、トランスミッションゲートtgin2が遮断状態にあり、ラッチ回路LATの構成データはしきい値処理回路INVには供給されておらず、ラッチ回路LATの状態変化はしきい値処理回路INVに影響しない。
【0128】
状態制御端子ctl2の電位を電源電位にし(ステップ106)、パストランジスタswn2を導通状態にし、しきい値選択用端子input2からデータを入力することによって(ステップ107)、ラッチ回路LATに保持される構成データを書き換えることができる。データ入力が終了した後に(ステップ108のYES)、状態制御端子ctl2をグランド電位にし(ステップ109)、パストランジスタswn2を遮断する。これによって構成データの書き換えが終了する。
【0129】
[具体的な回路例Cにおけるトランスミッションゲートの適用制約条件と代替回路]
回路700のスイッチSW1に対してトランスミッションゲートを適用するにはある条件がある。まずこの条件を示し、次に条件を満たさない場合の代替回路を示す。
【0130】
注意すべき点は、フローティングゲート電位と電源電位またはグランド電位との間の大小関係である。トランスミッションゲートのウェル(または基板)が基板バイアス回路に接続されており、トランスミッションゲートのNMOSトランジスタのP型ウェルが電源電位よりも適度な高電位されており、または、トランスミッションゲートtg1のPMOSトランジスタのN型ウェルがグランド電位よりも適度な低電位に設定されている場合は以下の考察から除外される。
【0131】
フローティングゲートの電位が電源電位とグランド電位に対して大きいまたは小さい場合、トランスミッションゲートのPMOSまたはNMOSトランジスタの少なくともいずれか一方のウェルとフローティングゲートとがPN接合順方向バイアスになり、リーク電流が流れるという問題が起こる。この問題が発生する条件を導く。
【0132】
今、回路900と同じ回路構成であり、入力変数の数が4個からk個に一般化された回路を考える。この回路のフローティングゲートの初期化実行時において、入力状態jの前後「j±1/2」にしきい値を設定し、しきい関数演算実行時に入力状態数がZであると仮定する。また、フローティングゲートとMOSトランジスタとの間の容量値は一括してCmos で表され、グランド電位に接続されており、入力端子とフローティングゲートとの間の容量値Cより小さいと仮定する。
【0133】
電源電位をVdd、フローティングゲート電位をVfg、フローティングゲート初期化時のフローティングゲートの電荷量をQ0 、しきい関数演算時のフローティングゲートの電荷量をQ1 とする。この時、次式が成り立つ。
【0134】
【数1】
【0135】
電荷保存(Q0 =Q1 )より、フローティングゲート電位は次のように表される。
【0136】
【数2】
【0137】
従って、Vfg>VddとVfg<0の各々の場合について以下の不等式が成り立つ。
【0138】
【数3】
【0139】
なお、上述した式(1)〜(5)の「プラス・マイナス(±)」,「マイナス・プラス」の符号は、設定されるしきい値「j±1/2」の符号にそれぞれ対応する。
【0140】
不等式(4)が成立する条件の場合は、トランスミッションゲート中のフローティングゲートに接続されているPMOSトランジスタのソース/ドレインとウェルとの間のPN接合が順方向バイアスになり、PN接合電流が流れフローティングゲートFGの電荷量は保持されなくなり、しきい値は変化する。
【0141】
従って、不等式(4)の条件が成り立つ場合は、トランスミッションゲートではなく、NMOSパストランジスタを用いる。一方、不等式(5)が成立する場合は、トランスミッションゲート中のNMOSトランジスタのPN接合が順方向バイアスになるため、PMOSパストランジスタを用いる。例えば、j=0でありしきい値を±(1/2)に設定する場合、Zは演算によってはZ=kとなることがあるため、k>3の回路においてはNMOSパストランジスタを用いるべきである。kが固定されている場合は、大雑把な目安として、しきい値設定時の入力状態数と演算時の入力状態数の差の絶対値が「k/2」よりも大きくなる可能性のある回路はP型またはN型のいずれか一方のパストランジスタを使用するべきである。
【0142】
〔実施の形態3:関数機能再構成可能集積回路〕
実施の形態3では、実施の形態1と実施の形態2で示した可変しきい値しきい素子回路を構成要素とする関数機能際構成可能集積回路の回路構成と関数機能を実現する操作手順とについて説明する。実施の形態1と実施の形態2とでは、異なる回路構成と異なるしきい値設定方法とを持つ可変しきい値しきい素子回路を示したが、実施の形態3ではそれらの代表として、実施の形態2で示した具体的な回路例Cの構成要素とした場合についてのみ述べる。他の可変しきい値しきい素子回路についても同様の方法または容易に類推可能な方法によって、関数機能再構成可能集積回路は構成され、操作される。
【0143】
〔回路構成〕
図11は、k入力変数の関数機能再構成可能集積回路の構成図である。この回路1100は、2段論理回路であり、1段目に実施の形態2で示した可変しきい値しきい素子回路FTE〔1〕〜FTE〔n〕を、2段目に実施の形態2で示した可変しきい値しきい素子回路と類似の可変しきい値しきい素子回路STEを設けている。なお、この例では、n=k+1とされている。すなわち、1段目にk+1個のFTEが用いられている。なお、この例ではFTE〔1〕〜FTE〔n〕を全て実施の形態2で示した可変しきい値しきい素子回路としたが、実施の形態1で示した可変しきい値しきい素子回路を混ぜてもよい。また、FTE〔1〕〜FTE〔n〕の全てに本発明の可変しきい値しきい素子回路を用いなくてもよく、FTE〔1〕〜FTE〔n〕の一部に本発明の可変しきい値しきい素子回路を用いるようにしてもよい。
【0144】
更に、FTE〔1〕〜FTE〔n〕の後段にバッファ回路BF〔1〕〜BF〔n〕を設け、STEの後段にバッファ回路BF〔S〕を設け、出力電位の増幅と波形整形とを行うようにしている。また、図9の回路900中のパストランジスタswn2はトランスミッションゲートtgi21〜tgi2nに置換し、入力変数用端子input1〔1〕〜input1〔k〕をSTEのフローティングゲートFG〔S〕に遅延制御回路DEL〔1〕〜DEL〔k〕を介して容量結合している。
【0145】
FTE〔1〕〜FTE〔n〕のしきい値は、「k+1」個の入力状態数の中から重なることなく1対1対応する1つの入力状態数jの前後の2つの値、即ち、「j−1」とjとの間、jと「j+1」との間の2つの値のいずれか一方を選択できるように設定する。
【0146】
例として、FTE〔1〕、FEE〔2〕、...FTE〔n〕の順に入力状態数「0」の前後、入力状態数「1」の前後、...、入力状態数「k」の前後に設定する。以降、前記設定がなされているとする。STEの基本的回路構成はFTEと同じであるが、FTEに入力される信号の他にFTEからの出力信号も入力されている点が異なる。
【0147】
STEは入力として、k個の入力変数と、「k+1」個のFTEの出力値と、容量Cv1〔S〕と容量Cv2〔S〕とに入力されるしきい値制御信号との4種類を持つ。今、容量Cv1〔S〕及び容量Cv2〔S〕を除く、STEの入力端子とフローティングゲートFG〔S〕との間の「2k+1」個の容量の値を全て等しくCとし、容量Cv1〔S〕の値をCとし、容量Cv2〔S〕の値を0.5Cとする。
【0148】
また、STEのフローティングゲートFG〔S〕と出力端子OUT〔S〕との間にスイッチとしてトランスミッションゲートtg1〔S〕を用いる。実施の形態2で説明したように、ここでも式(4)、(5)が適用される条件の時は、トランスミッションゲートtg1〔S〕をパストランジスタに置換する必要がある。しかしながら、STEは、しきい値が「k+1/2」に設定され、しきい値近傍での動作が多いため、STEのフローティングゲートFG〔S〕と出力端子OUT〔S〕との間のスイッチはトランスミッションゲートでも良い。
【0149】
このトランスミッションゲートtg1〔S〕と容量Cv1〔S〕と容量Cv2〔S〕とは実施の形態2の可変しきい値しきい素子回路において示した方法と同様の方法で端子ctl1〔S〕,ctl3〔S〕の信号によって制御される。また、FTE〔1〕〜FTE〔n〕およびSTEの後段に設けられているバッファ回路BF〔1〕〜BF〔n〕およびBF〔S〕は、FTE〔1〕〜FTE〔n〕およびSTEから出力される電位が中間電位であるために、この電位を電源電位とグランド電位との2値に増幅、波形整形するために設けられている。また、遅延制御回路DEL〔1〕〜DEL〔k〕は、STEに入力される信号の各々の遅延時間が異なるために発生するハザードを回避、抑制するために設けられている。
【0150】
〔任意の対称関数を構成する方法〕
図11の関数機能再構成可能集積回路1100を用いて、任意のk入力変数対称関数を実現するための操作について述べる。まず初めに、FTE〔1〕〜FTE〔n〕のしきい値の設定を順番に行う。ここでは、FTE〔1〕からFTE〔n〕までの「k+1」個のしきい素子回路のしきい値を「0±1/2」から「k±1/2」までの順で設定する。
【0151】
FTEのしきい値設定時には入力状態数を用いるため、FTEのしきい値の設定を同時に行うことはできず、時間軸上に時間区分0、時間区分1、時間区分2、...、時間区分「k−1」、時間区分kまでの「k+1」個の時間区分において逐次的に、実施の形態2に記載の方法を用いて行う。
【0152】
例えば、対称関数の1つであるk入力XOR(Exclusive-OR)を実現する場合は以下のように操作する。時間区分0においてしきい値設定されるFTE〔1〕のしきい値を、input2〔1〕をグランド電位にすることによって、「0±1/2」に設定する。時間区分1においてしきい値設定されるFTE〔2〕のしきい値を、input2〔2〕を電源電位にすることによって、 「1−1/2」に設定する。
【0153】
時間区分2においてしきい値設定されるFTE〔3〕のしきい値を、input2〔3〕をグランド電位にすることによって、「2+1/2」に設定する。この操作、即ち、時間区分jのjが奇数の場合はしきい値を「j−1/2」に、偶数の場合はしきい値を「j+1/2」に設定するという操作を時間区分kまで繰り返す。時間区分kにおいて、しきい値の設定が終了した後、状態制御端子ctl2の電位をグランド電位にし、input2〔1〕〜input2〔n〕からのFTE〔1〕〜FTE〔n〕への入力を遮断する。
【0154】
次に、FTE〔1〕〜FTE〔n〕への「k+1」個のしきい値の設定が終了した後、STEのしきい値を「k+1/2」に設定する。第1に、入力状態数をFTE〔n〕のしきい値を設定した時と同じくkのままにしておく。次に、状態制御端子ctl1〔S〕とctl3〔S〕の電位を電源電位にし、トランスミッションゲートtg1〔S〕を導通させ、フローティングゲートFG〔S〕の電位を電源電位の半分の「Vdd/2」にし、トランスミッションゲートtg2〔S〕を導通させ、input2〔n〕から入力されていた電位を容量Cv1〔S〕に与える。
【0155】
一般的に、input2〔n〕の電位が論理値「1」であれ、論理値「0」であれ、容量Cv1〔S〕に与えられる電位は、しきい値を「k±1/2」に設定されたFTE〔n〕の出力電位とは論理反転の電位になる。この操作により、入力状態数kの時、STEの入力の中で、入力変数用端子inptu1〔1〕〜inptu1〔k〕に接続されているk個の容量に与えられる電位は電源電位(論理値「1」)であり、「0+1/2」のしきい値を持つFTE〔1〕から昇順にk個のFTEの出力値はグランド電位(論理値「0」)であり、「k+1」番目のFTE〔n〕の出力値と容量Cv1〔S〕に与えられる論理値のいずれか一方が論理値「1」であり、容量Cv2〔S〕に与えられる論理値が「1」である。
【0156】
従って、2(k+1)個の容量値Cの容量の中で、論理値「1」を入力される容量が「k+1」個、論理値「0」を入力される容量が「k+1」個、0.5Cの容量値の容量に与えられる論理値が「1」である。次に、状態制御端子ctl1〔S〕をグランド電位にすることによって、STEのフローティングゲートFG〔S〕と出力端子OUT〔S〕との間が遮断される。次に、状態制御端子ctl3〔S〕をグランド電位にすることによって、トランスミッションゲートtg2〔S〕が遮断され、PMOSパストランジスタswp1〔S〕が導通し、容量Cv1〔S〕に与えられる電位は電源電位で固定される。この手順によって、STEのしきい値を「k+1/2」に設定することができる。
【0157】
これにより、関数機能再構成可能集積回路1100は、入力状態数が奇数の時は論理値「1」を出力し、偶数の時は論理値「0」を出力することができる。即ち、XORを実現できる。
要するに、入力状態数jにおいて出力値が論理値「1」である関数を実現する場合は、時間区分jにおいて対象となるFTE〔j+1〕のしきい値を「j−1/2」に設定するために、端子input2〔j+1〕の電位を電源電位にする、ことである。以上説明したように、本実施例の回路と方法を用いることにより、任意の対称関数を実現することが可能になる。
【0158】
〔任意の論理関数を構成する方法〕
入力変数に対して対称性を持たない非対称関数を必要とする場合がある。ここでは、非対称関数を含む全ての論理関数を実現する方法について述べる。前記の対称関数を実現する関数機能再構成可能集積回路1100を用いて、(k+1)≧2m を満たす正の整数mにより表される2j-1 個(jはj≦mを満たす正の整数)の端子に対して同じ入力変数を入力することによってm入力変数論理関数を実現することができる。
【0159】
前記の条件が成り立つ場合、関数機能再構成可能集積回路1100の入力変数用端子input1の数kは、少なくとも20 ,21 ,22 ,・・・,2(m-1) の数の端子を持つm個の部分集合からなる。この分類に従い、各部分集合の端子を1つの端子に結合しまとめる。これにより、前記部分集合に属する端子には、m個の変数が入力されることになる。例えば、2(m-1) 個の端子は1つにまとめられ、この端子に入力される変数に対する重みは、20 個の端子がまとめられた端子の重みの2(m-1) 倍である。この重みづけによって、m個の入力変数が形成する2m 個の入力ベクトルが各々識別可能になる。即ち、入力ベクトルに対する2進数・10進数変換が行われる。
【0160】
前記任意の対称関数を実現する方法と同様の手続きによって、各入力ベクトルに対する出力値に論理値「1」または論理値「0」を選択的に設定することができるため、m入力変数の任意の論理関数を実現できる。ここでは、「端子を1つにする」と表現したが、実際に複数の回路1100を結合する際に、端子を物理的に結合しても良いし、同じ変数を各端子に入力するという方法でも良い。
【0161】
例題として、k=7の場合を挙げる。条件式を満たす最大のmであるm=3を選ぶ。回路1100の入力変数用端子input1〔1〕からinput1〔k〕までを順に、端子「1」、端子「2」、端子「3」、...、端子「7」とする。端子「2と」端子「3」とを1つの端子にし、端子「2A」とする。端子「4」,「5」,「6」,「7」を1つの端子として端子「3A」とする。この時、端子「1」とフローティングゲートFG〔S〕との間の容量値をCとすると、端子「2A」との間の容量値は2Cとなり、端子「3A」との間の容量値は4Cとなる。各端子に入力される入力変数をx1,x2,x3とすると、i=1〜3として計算されるCΣ(2i-1 ・xi)がしきい素子回路の積和の結果となり、これは、2進10進変換であり、異なる入力ベクトルを異なる10進数にマッピングしている。これによって入力ベクトルが識別可能になる。
【0162】
〔部分対称関数を構成する方法〕
部分対称関数は、入力変数中のある変数の値と別の変数の値を置換しても関数値が変化しない関数である。全ての入力変数に対して前記の関係が成り立つ場合にその関数は完全対称関数(対称関数)と呼ばれる。前記任意の論理関数を実現した場合と同じ手法を用いて、ある端子Aと別の端子Bとを結合し、端子Cとする。端子Aと端子Bとは複数の端子でも良い。この時、端子Cに対する重みは明らかに単独の端子の重みとは異なる。このように、入力変数の重みとして複数の値が存在する時、重みの等しい端子に入力される変数に対してのみ、変数値を置換しても関数値は不変である。この場合、重みの等しい端子に入力される変数に対して対称であり、部分対称関数となる。
【0163】
〔メモリ回路を構成する方法〕
図11の関数機能再構成可能集積回路1100はメモリ回路として機能する。任意の対称関数を実現する場合は、しきい値を安定的に保持するためにラッチ回路を使用していた。回路1100は見方を変えると、入力状態数をアドレス選択信号として、選択信号に対応するFTEのラッチ回路LATに保持されているデータまたはその論理反転を出力していると言える。例えば、入力状態数が0の場合は、しきい値が「0±1/2」に設定されているFTE〔1〕のラッチ回路LAT〔1〕に保持されているデータを出力している。このようにメモリ回路としても使用できる。
【0164】
〔配線機能を実現する方法〕
配線機能は、入力値と出力値との論理値が等しい関数機能である。図11の関数機能再構成可能集積回路1100の入力変数用端子input1〔1〕〜input1〔k〕のk個の端子を1つにする。または、1つの端子とみなせるように、全ての入力変数用端子に同じ入力変数を入力する。これは回路1100の入力状態数がZ=0またはZ=kのいずれか一方であることを意味する。
【0165】
今、回路1100のFTE〔1〕〜FTE〔n〕のしきい値を任意の対称関数を実現するための方法と同じ方法で設定する。この時、回路1100のFTEのしきい値をZ=jの前後に設定するとし、j=0の前後にしきい値を持つFTEをFTE〔1〕として、jの昇順にFTE〔2〕、...、j=kにFTE〔n〕を対応させる。このしきい値設定によって、入力状態数0の場合は、FTE〔1〕の出力値の論理反転が回路1100の出力値となり、入力状態数kの場合は、FTE〔n〕の出力値の論理反転が回路1100の出力値となる。
【0166】
従って、FTE〔1〕のしきい値を「0+1/2」に設定するために、FTE〔1〕のフローティングゲートFG〔1〕の初期化時にinput2〔1〕から論理値「0」であるグランド電位を入力し、FTE〔n〕のしきい値を「k−1/2」に設定するために、FTE〔n〕のフローティングゲートFG〔n〕の初期化時にinput2〔n〕から論理値「1」である電源電位を入力することによって、入力変数が論理値「0」の場合、回路1100の出力値は論理値「0」になり、入力変数が論理値「1」の場合、回路1100の出力値は論理値「1」となり、配線機能を達成できる。但し、前記2つのFTE〔1〕,FTE〔n〕以外のFTEのしきい値は「j±1/2」のどちらが選択されていても良い。
【0167】
〔リフレッシュ機能〕
実施の形態1と実施の形態2で述べたように、フローティングゲートを他の端子に接続する回路構成の可変しきい値しきい素子回路は、フローティングゲートに電荷を蓄積することによって、一時的に可変しきい値しきい素子回路のしきい値を保持すると同時に、余剰電荷などを除去することが可能である。
【0168】
しかしながら、関数機能再構成可能集積回路として利用する場合には、一旦、関数機能を規定した後は次に関数機能を変更するまで、前記関数機能を保持していることが要求される。この要求を満たすために、各可変しきい値しきい素子回路にラッチ回路が設けられた。ここでは、このラッチ回路に保持されているデータによって、しきい処理回路のフローティングゲートに蓄積されている電荷をリフレッシュ(しきい値設定時の状態に回復すること)する手順について、図11の関数機能再構成可能集積回路1100を例に取り、述べる。
【0169】
現在の回路1100の状態は関数演算を行っている状態であると仮定する。この時、FTE〔1〕〜〔n〕のしきい値処理回路INV〔1〕〜〔n〕のフローティングゲートFG〔1〕〜〔n〕とその出力端子OUT〔1〕〜〔n〕との間のスイッチ(パストランジスタまたはトランスミッションゲート)、STEのしきい値処理回路INV〔S〕のフローティングゲートFG〔S〕とその出力端子OUT〔S〕との間のスイッチ(パストランジスタまたはトランスミッションゲート)は遮断されている。
【0170】
また、トランスミッションゲートtgi21〜tgi2nによって、しきい値選択用端子input2〔1〕〜input2〔n〕とラッチ回路LAT〔1〕〜LAT〔n〕との間は遮断されており、FTE〔1〕〜FTE〔n〕のラッチ回路LAT〔1〕〜LAT〔n〕としきい値処理回路INV〔1〕〜INV〔n〕との間にあるトランスミッションゲートtgin21〜tgin22は遮断され、このトランスミッションゲートtgin21〜tgin22の一方の端子に接続されているPMOSパストランジスタswp1〔1〕〜swp1〔n〕が導通している。
【0171】
まず初めに、関数演算を一時的に中止する。次に、FTE〔1〕〜FTE〔n〕のしきい値を、任意の対称関数を実現する方法において説明した方法と類似の方法を用いて、順次再設定する。状態制御端子ctl2の電位はグランド電位に固定したままで、FTE〔1〕〜〔n〕のラッチ回路LAT〔1〕〜〔n〕に保存している構成データを利用する。
【0172】
時間区分0において、入力状態数を0にし、状態制御端子ctl1〔1〕を電源電位にし、状態制御端子ctl3〔1〕を電源電位にし、ラッチ回路LAT〔1〕の構成データを読み込んでいる時に、フローティングゲートFG〔1〕の電位を(Vdd/2)にする。この操作を時間区分kまで順次繰り返す。
最後に、STEのしきい値の再設定を前記と同様の方法で行う。このSTEのしきい値の再設定後、再び関数演算を開始する。この一連の操作により、フローティングゲートFG〔1〕〜〔n〕およびFG〔S〕のリフレッシュが完了する。
【0173】
以上詳しく説明したように、図11に示す関数機能再構成可能集積回路1100は、FTE〔1〕〜〔n〕およびSTEのしきい値の安定的な保持がリフレッシュ機能により可能になっており、関数機能として、任意の対称関数、任意の論理関数、部分対称関数、メモリ機能、配線機能などの機能を実現できる。
【0174】
【発明の効果】
以上説明したことから明らかなように本発明によれば、リフレッシュ手段によって、第1のスイッチおよび第2のスイッチのオン/オフが制御され、しきい素子のゲート電極に蓄積されている電荷の初期化が行われるとともに、構成データ保持回路に保持されている構成データを用いてのしきい値の再設定(しきい値のリフレッシュ)が行われるものとなり、このしきい値のリフレッシュを所定の時間間隔で行ったり、しきい値の変動が所定値を超えた場合に行うなどすることによって、しきい値を安定的に保持し、経時的誤動作の問題を解消することができる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態(実施の形態1)を示すリフレッシュ機能を備えたk入力変数の可変しきい値しきい素子回路の回路構成を示す図である。
【図2】 図1の可変しきい値しきい素子回路の具体的な回路例(回路例A)を示す図である。
【図3】 図2に示した回路例Aの特徴的な動作を説明するためのフローチャートである。
【図4】 図1の可変しきい値しきい素子回路の具体的な別の回路例(回路例B)を示す図である。
【図5】 図4に示した回路例Bにおける回路部401を置換する回路部401’を示す図である。
【図6】 図4に示した回路例Bの特徴的な動作を説明するためのフローチャートである。
【図7】 この発明の他の実施の形態(実施の形態2)を示すリフレッシュ機能を備えたk入力変数の可変しきい値しきい素子回路の回路構成を示す図である。
【図8】 図7に示した可変しきい値しきい素子回路においてしきい値を設定する際の操作手順を示すフローチャートである。
【図9】 図7の可変しきい値しきい素子回路の具体的な回路例(回路例C)を示す図である。
【図10】 図7に示した回路例Cの特徴的な動作を説明するためのフローチャートである。
【図11】 実施の形態2で示した具体的な回路例Cを構成要素とするk入力変数の関数機能再構成可能集積回路の構成図である。
【図12】 文献1に開示されたνMOSインバータを示す回路図である。
【図13】 文献2に開示されたフローティングゲート制御されるνMOSインバータを示す回路図である。
【図14】 従来のしきい値可変機能を備えたk入力変数の可変しきい値しきい素子回路を示す回路図である。
【図15】 従来の回路状態保持機能を備えたk入力変数の可変しきい値しきい素子回路の代表的な回路構成を示す図である。
【図16】 図15に示した可変しきい値しきい素子回路を用いた関数機能再構成可能集積回路(2入力変数可変関数回路)を示す図である。
【符号の説明】
INV…しきい値処理回路、FG…フローティングゲート、IV…インバータ回路、input1〔1〕〜input1〔k〕…入力変数用端子、input2…しきい値選択用端子、input2a…しきい値選択用入力端子、input3…しきい値調整用端子、input3a…しきい値調整用入力端子、SW1〜SW8…スイッチ、MEM…メモリ回路、P1,P2…端子、REF…リフレッシュ回路、swn1,swn2…NMOS型のパストランジスタ、tgin2…トランスミッションゲート、inv1,inv2,inv3…インバータ回路、ctl1,ctl2…状態制御端子、LAT…ラッチ回路、swp1…PMOS型のパストランジスタ、100,200,400,700,900…可変しきい値しきい素子回路、FTE〔1〕〜FTE〔n〕…1段目の可変しきい値しきい素子回路、STE…2段目の可変しきい値しきい素子回路、FG〔1〕〜FG〔n〕,FG〔S〕…フローティングゲート、BF〔1〕〜BF〔n〕,BF〔S〕…バッファ回路、DEL〔1〕〜DEL〔k〕…遅延制御回路、INV〔1〕〜INV〔3〕,INV〔S〕…しきい値処理回路、DELY〔1〕〜DELY〔n〕,DELY〔S〕…遅延回路、LAT〔1〕〜LAT〔n〕…ラッチ回路、1100…関数機能再構成可能集積回路。
Claims (13)
- 電気的にフローティング状態とされたゲート電極を有し、このゲート電極に与えられる入力変数の状態量が、設定されているしきい値を越えた時にその出力を論理反転するしきい素子と、
このしきい素子のゲート電極に容量結合され、前記入力変数を伝搬する第1〜第k(k>1)の入力変数用端子と、
前記しきい素子のゲート電極と第1の端子との間に接続され、このゲート電極と第1の端子との間を接続/遮断する第1のスイッチと、
前記しきい値を選択する構成データを保持する構成データ保持回路と、
前記しきい素子のゲート電極に容量結合されたしきい値選択用入力端子と、
このしきい値選択用入力端子と前記構成データ保持回路の出力端子との間に接続され、しきい値選択用入力端子と構成データ保持回路の出力端子との間を接続/遮断する第2のスイッチと、
前記第1のスイッチおよび第2のスイッチのオン/オフを制御し、前記しきい素子のゲート電極に蓄積されている電荷の初期化および前記構成データ保持回路に保持されている構成データを用いての前記しきい値の再設定を行うリフレッシュ手段と
を備えたことを特徴とする可変しきい値しきい素子回路。 - 請求項1に記載された可変しきい値しきい素子回路において、前記リフレッシュ手段は、所定の時間間隔で前記しきい値の再設定を行うことを特徴とする可変しきい値しきい素子回路。
- 請求項1に記載された可変しきい値しきい素子回路において、前記リフレッシュ手段は、現在設定されている前記しきい値の変動を監視し、このしきい値の変動が所定値を超えた場合に前記しきい値の再設定を行うことを特徴とする可変しきい値しきい素子回路。
- 請求項1〜3の何れか1項に記載された可変しきい値しきい素子回路において、前記第1の端子が固定電位に接続された端子であることを特徴とする可変しきい値しきい素子回路。
- 請求項4において、前記固定電位が電源電位およびグランド電位の何れか一方であることを特徴とする可変しきい値しきい素子回路。
- 請求項1〜3の何れか1項に記載された可変しきい値しきい素子回路において、前記第1の端子が前記しきい素子の出力端子であることを特徴とする可変しきい値しきい素子回路。
- 可変しきい値しきい素子回路を多段接続して構成された関数機能再構成可能集積回路において、
多段接続された可変しきい値しきい素子回路の少なくとも1つが請求項1〜6の何れか1項に記載された可変しきい値しきい素子回路とされている
ことを特徴とする関数機能再構成可能集積回路。 - 可変しきい値しきい素子回路を多段接続して構成された関数機能再構成可能集積回路において、
複数の可変しきい値しきい素子回路によって初段の可変しきい値しきい素子回路が構成され、
この初段の可変しきい値しきい素子回路の全てが請求項1〜6の何れか1項に記載された可変しきい値しきい素子回路とされている
ことを特徴とする関数機能再構成可能集積回路。 - 請求項1に記載された可変しきい値しきい素子回路に適用されるしきい値リフレッシュ方法であって、
前記第1のスイッチをオンとし、前記しきい素子のゲート電極と第1の端子との間を接続する第1のステップと、
前記第1〜第kの入力変数用端子から所定の入力変数の組合せを入力する第2のステップと、
前記第2のスイッチをオンとし、前記しきい値選択用入力端子と前記構成データ保持回路の出力端子との間を接続する第3のステップと、
前記第1のステップ,第2のステップおよび第3のステップの実行後、前記第1のスイッチおよび前記第2のスイッチをオフとする第4のステップと
を有することを特徴とするしきい値リフレッシュ方法。 - 請求項1に記載された可変しきい値しきい素子回路に適用されるしきい値リフレッシュ方法であって、
前記第1のスイッチをオンとし、前記しきい素子のゲート電極と第1の端子との間を接続する第1のステップと、
前記第1〜第kの入力変数用端子から所定の入力変数の組合せを入力する第2のステップと、
前記第2のスイッチをオフとし、前記しきい値選択用入力端子と前記構成データ保持回路の出力端子との間を遮断する第3のステップと、
前記第1のステップ,第2のステップおよび第3のステップの実行後、前記第1のスイッチをオフ、前記第2のスイッチをオンとする第4のステップと
を有することを特徴とするしきい値リフレッシュ方法。 - 請求項8に記載された関数機能再構成可能集積回路に適用される関数機能構成方法であって、
前記初段の可変しきい値しきい素子回路のしきい素子のゲート電極と第1の端子との間を前記第1のスイッチによって遮断している期間に、
その可変しきい値しきい素子回路の第1〜第kの入力変数用端子の一部に同じ入力変数を入力することによって部分対称関数機能を実現するようにした
ことを特徴とする関数機能構成方法。 - 請求項8に記載された関数機能再構成可能集積回路に適用される関数機能構成方法であって、
前記初段の可変しきい値しきい素子回路のしきい素子のゲート電極と第1の端子との間を前記第1のスイッチによって遮断している期間に、
その可変しきい値しきい素子回路の第1〜第kの入力変数用端子のうち、(k+1)≧2m を満たす正の整数mにより表される2j-1 個(jはj≦mを満たす正の整数)の端子に対して同じ入力変数を入力することによってm入力変数論理関数を実現するようにした
ことを特徴とする関数機能構成方法。 - 請求項8に記載された関数機能再構成可能集積回路に適用される関数機能構成方法であって、
前記初段の可変しきい値しきい素子回路のしきい素子のゲート電極と第1の端子との間を前記第1のスイッチによって遮断している期間に、
その可変しきい値しきい素子回路の第1〜第kの入力変数用端子の全てに同じ入力変数を入力することによって配線機能を実現するようにした
ことを特徴とする関数機能構成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002016948A JP3662887B2 (ja) | 2002-01-25 | 2002-01-25 | 可変しきい値しきい素子回路、関数機能再構成可能集積回路、しきい値リフレッシュ方法および関数機能構成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002016948A JP3662887B2 (ja) | 2002-01-25 | 2002-01-25 | 可変しきい値しきい素子回路、関数機能再構成可能集積回路、しきい値リフレッシュ方法および関数機能構成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003218690A JP2003218690A (ja) | 2003-07-31 |
JP3662887B2 true JP3662887B2 (ja) | 2005-06-22 |
Family
ID=27652818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002016948A Expired - Fee Related JP3662887B2 (ja) | 2002-01-25 | 2002-01-25 | 可変しきい値しきい素子回路、関数機能再構成可能集積回路、しきい値リフレッシュ方法および関数機能構成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3662887B2 (ja) |
-
2002
- 2002-01-25 JP JP2002016948A patent/JP3662887B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003218690A (ja) | 2003-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100789044B1 (ko) | 스핀 의존 전달 특성을 갖는 트랜지스터를 이용한 재구성가능한 논리 회로 | |
US5740110A (en) | Dynamic nonvolatile memory cell | |
US7245536B1 (en) | Precision non-volatile CMOS reference circuit | |
KR20070026436A (ko) | 재기록 가능 전자식 퓨즈 | |
WO1992016971A1 (en) | Semiconductor device | |
Teimoory et al. | A hybrid memristor-CMOS multiplier design based on memristive universal logic gates | |
US6664846B1 (en) | Cross coupled N-channel negative pump | |
US8306178B2 (en) | vMOS multi-valued counter unit | |
CN109164863A (zh) | Sonos栅端控制电压产生电路 | |
JP3662887B2 (ja) | 可変しきい値しきい素子回路、関数機能再構成可能集積回路、しきい値リフレッシュ方法および関数機能構成方法 | |
CN109102834B (zh) | 用于闪存页编程的数据锁存电路、页数据锁存器及方法 | |
KR20040001984A (ko) | 펌핑 회로 | |
WO1995018488A1 (fr) | Circuit a semi-conducteurs | |
CN107431487B (zh) | 基于紧凑ReRAM的FPGA | |
US11354098B2 (en) | Configurable non-volatile arithmetic memory operators | |
US7463061B1 (en) | Apparatus and method for reducing leakage of unused buffers in an integrated circuit | |
US8988104B2 (en) | Multiple-time configurable non-volatile look-up-table | |
JP3485849B2 (ja) | 関数機能構成データ保持方法及びその方法を用いた集積回路 | |
Aoyama | A reconfigurable logic circuit based on threshold elements with a controlled floating gate | |
JP3668186B2 (ja) | 可変しきい値しきい素子回路、関数機能再構成可能集積回路および回路状態保持方法 | |
CN113342309B (zh) | 可规划的非易失性算术存储器运算子 | |
JP3760614B2 (ja) | 半導体装置及びその制御方法 | |
Tsiolakis et al. | Design and simulation of NAND gates made of single electron devices | |
JP3580543B2 (ja) | 多値変数を用いる関数機能再構成可能集積回路および入力変数多値化方法 | |
JP2002289833A (ja) | 電子回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050127 |
|
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: 20050322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050324 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |