JP3565495B2 - 論理関数機能再構成可能な集積回路およびその設計方法 - Google Patents
論理関数機能再構成可能な集積回路およびその設計方法 Download PDFInfo
- Publication number
- JP3565495B2 JP3565495B2 JP2000080022A JP2000080022A JP3565495B2 JP 3565495 B2 JP3565495 B2 JP 3565495B2 JP 2000080022 A JP2000080022 A JP 2000080022A JP 2000080022 A JP2000080022 A JP 2000080022A JP 3565495 B2 JP3565495 B2 JP 3565495B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- neuron mos
- mos transistor
- capacitance
- inverter
- 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
【発明の属する技術分野】
本発明は、しきい論理を実現する素子で構成されている回路と、その設計とに係り、特に、しきい論理を容易に実装することが可能であるニューロンMOSトランジスタを有する集積回路において、論理関数機能を実現する集積回路の設計方法と、論理関数機能を有する集積回路とに関するものである。
【0002】
【従来の技術】
デバイス製造後に論理機能の書き換えが可能である、FPGA(Field Programmable Gate Array)に代表される再構成可能デバイスを用いたリコンフィギュラブルコンピューティングシステム(RCS=Reconfigurable Computing System)の研究開発が行なわれている。上記リコンフィギュラブルコンピューティングシステム(RCS)は、文献1「末吉敏則、Reconfigurable Computing Systemの現状と課題−Computer Evolutionへ向けて−、信学技報、VLD96−79、CPSY96−91、pp.111−118、1996−12」に示されている。
【0003】
研究開発が進む様々なRCSにおいて、論理機能の再構成を可能にするデバイス部分は、FPGAのような再構成可能デバイスと、メモリ回路とであり、これらの再構成可能デバイスの基本構造についても、多種の提案がなされている。
【0004】
従来、再構成可能デバイスは、製品のプロトタイピングや、多品種少量生産を必要とするASICの代替品として、主に利用されていた。この利用方法においては、システムに組み込む前または、組み込んだ後に一度、必要となる機能を構成することで十分であった。この要求に答える再構成可能デバイスの可変論理部における基本デバイスとしては、主に次のようなデバイスがある。
【0005】
図21は、従来のLUT(Look−Up Table)型の可変論理部の構成を示す図である。
【0006】
第1の例は、図21に示す真理値表を直接実装するLUT(Look−Up Table)型であり、メモリ回路のアドレスに、論理関数の入力変数の組合せである入力ベクトルを対応させ、メモリ回路に保持されている値を出力値とする例である。メモリ回路としては、主にSRAM(Static RAM)が使用されている。
【0007】
図22は、従来のマルチプレクサ(MUX)型の可変論理部の構成を示す図である。
【0008】
第2の例は、図22に示すように、シャノン展開による論理表現を実装するマルチプレクサ(MUX、Multiplexer)型である。
【0009】
第2の例は、マルチプレクサの制御入力に論理変数を対応させ、シャノン展開に基づき、論理関数を実現するものである。一般的には、マルチプレクサの多段接続で構成される。多段接続によって増大する信号伝搬遅延時間を抑制するために、低抵抗であるアンチフィーズによる配線の接続、非接続によって実現される。しかし、一度アンチフィーズによる接続をした後に論理機能を変更することは困難であるという特徴がある。
【0010】
図23は、PLA型の可変論理部の構成を示す図である。
【0011】
第3の例は、図23に示すように、論理関数をAND−ORの論理和形等で表現するPLA(Programable Logic Array)型である。
【0012】
第3の例は、EPROMやEEPROMによる変数の入力線と積項線との接続、非接続によって、論理可変性を実現する。一般的には、多変数のワイヤードANDを行うプログラマブルなAND平面と、積項線と出力線とを固定的に接続したOR平面とによって構成されている。EPROMへのデータの書き込みは、高エネルギーの電子のアバランシェ注入によって行われ、その消去は、紫外線によって行われる。また、EEPROMへの書き込みと消去とは、電流量の小さいトンネル電流で行われる。この特徴のために、いずれのデータ保持用デバイスにおいても、論理機能を再構成するために要する時間は、他の記憶デバイスまたは回路を用いた場合と比較して、非常に長い。
【0013】
これらのデバイスの中で、RCSの機能をさらに向上する条件の1つである論理機能の再構成に要する時間が短いという条件を満たすのは、第1の例に示したSRAMのような書き換え速度の速いメモリ回路や、SRAM以外にはラッチ回路または、DRAMのような回路を用いたLUT型である。
【0014】
この書き換えの高速性という特徴を用いた再構成可能デバイスの代表的例として、DPGA(Dynamically Programmable Gate Array)や、可変論理部であるLUTがラッチ回路によって構成されたDRLE(Dynamically Reconfigurable Logic Engine)がある。
【0015】
なお、上記DPGAは、文献2「Andre DeHon, DPGA−Coupled Microprocessors:Commodity ICs for the Early 21st Century, Proceedings of the IEEE Workshop on FPGAs for Custom Computing Machines, April, 1994」に記載されている。また、上記DRLEは、文献3「T. Fujii, et al., A Dynamically Reconfigurable Logic Engine with a Multi−Context/Multh−Mode Unified−Cell Architecture, ISSCC99, WA 21.3 pp. 360−361, 1999」に記載されている。
【0016】
しかし、LUT型の可変論理部は、真理値表が直接回路に実装されるので、ある特別な性質を有する論理関数のみを使用する場合においても、全ての論理関数を表現する可変論理部を設ける必要があり、k入力変数の可変論理部に実装回路として2k個のメモリセルが必要である。したがってLUT型の可変論理部は、面積コストが高いという問題がある。
【0017】
この問題を解決する手段として、論理LSIの演算部(または、データパス部)において実行される算術演算等で、高頻度で使用される対称関数のみを実現する回路と、制御部において多用されるセレクタ回路と、上記2つの回路の機能を補完する意味で全ての論理関数を実現する回路とを、各々低面積コストで実現し、組み合わせた形で実装する方法が考えられる。
【0018】
このように、複数の基本機能を組み合わせて再構成可能デバイスの基本単位とすることは、従来の再構成可能デバイスにおいては、基本単位が複数のLUTから構成されることに匹敵する。一般的に、現実の再構成可能デバイスの可変論理部の基本単位はこのように構成されている。
【0019】
また、LUT型とPLA型のように、互いに異なる特徴を有するデバイスを組み合わせて1つの可変論理部の基本単位にする方法も提案されている。たとえば、文献4「A. Kaviani and S. Brown, The Hybrid Field−Programmable Archtecture, IEEE Design & Test of Computers, pp.74−83, April−June, 1999」に開示されている。
【0020】
しかし、特殊な性質を有する関数機能のみを実現することは、従来の再構成可能デバイスでは困難である。
【0021】
一方、文献5「青山一生、澤田宏、名古屋彰、中島和生、ニューロンMOSによる対称関数回路の設計手法、信学技法、CPSY99−90、pp.49−56、1999−11」に示されているように、従来の再構成可能デバイスとは、論理を変える原理が異なる再構成可能デバイスである、しきい論理を容易に実装可能なニューロンMOSトランジスタで構成されたニューロンMOS回路によって、対称関数機能を実現することができる。
【0022】
図24は、従来のニューロンMOSトランジスタを用いたCMOS型インバータの構造を示す図であり、図24(1)は、レイアウト図、図24(2)は、図24(1)に記載のX−X’での断面図、図24(3)は、n入力相補型ニューロンMOSインバータ(ニューロンMOSインバータと略す)の回路図である。
【0023】
ここで、「ニューロンMOSトランジスタ」は、図24に示すように、MOSトランジスタのソース領域とドレイン領域とを隔てる領域の上に、フローティングゲートを持ち、そのフローティングゲートとの間で容量結合を持つ複数の入力ゲートとを持つトランジスタである。
【0024】
このニューロンMOSトランジスタは、文献6「Tadashi Shibata and Tadahiro Omi, A Functional MOS Transistor Featuring Gate−Level Weighted Sum and Threshold Operations, IEEE Transactions on Electron Devices, Vol. 39, No. 6, pp. 1444−1445, 1992」に開示されている。
【0025】
図25は、従来のニューロンMOSトランジスタを用いたCMOS型インバータ(ニューロンMOSインバータ)の回路図であり、図25(1)は、トランジスタ記号によって記述された図、図25(2)は、論理記号によって記述された図である。
【0026】
次に、図25に示すニューロンMOSインバータを例にとり、インバータ動作について具体的に説明する。
【0027】
n個の入力端子の各々から入力される信号電位をVi、各入力端子とフローティングゲートとの間の入力ゲート容量の値をCi、フローティングゲートと、NMOSFET、PMOSFETのソース、ドレイン、基板(ウェル)端子との間の容量の値の総和をΣCnmos+ΣCpmosとした場合、次の式(1)
【0028】
【数2】
が成り立つと、各入力ゲート容量に蓄積する電荷量の総和Qfは、
【0029】
【数3】
であり、フローティングゲート電位Vfgは、各入力ゲート容量に蓄積する電荷量の総和Qfにほぼ比例し、次の式(2)で表される。
【0030】
【数4】
フローティングゲート電位Vfgが、ニューロンMOSインバータのフローティングゲートからみた閾値電位Vfthに対して大きければ、ニューロンMOSインバータの出力信号電位Voutは、閾値電位Vfthに対するフローティングゲート電位Vfgの論理的反転の電位になる。
【0031】
上記のように、ニューロンMOSインバータは、「しきい処理」を行うある種の「しきい素子」である。つまり、ニューロンMOSインバータは、全ての入力信号に対するViとCiとの積和演算の結果であるQfと、ほぼ比例の関係にあるフローティングゲート電位Vfgを、閾値電位Vfthによって「しきい処理」を行うある種の「しきい素子」である。
【0032】
次に、入力信号が2値である場合について説明する。
【0033】
入力信号電位Viが、2つの安定な電位{0,Vdd}をとり、入力ゲート容量値Ciを、その最も小さい値によって規格化した値である入力ゲート容量比wiを用いて、Ci=C・wiとした場合、各入力ゲート容量に蓄積する電荷量の総和Qfは次の式(3)、式(4)で表される。
【0034】
【数5】
ニューロンMOSインバータの出力信号を、Voutとし、Vout≧Vfthの電位を、Vhighで表現し、Vout<Vfthの電位を、Vlowで表現する。このときに、ニューロンMOSインバータの出力信号Voutと、各入力ゲート容量に蓄積する電荷量の総和Qfとの関係は、次の式(5)、式(6)で表される。
【0035】
【数6】
このように、入力信号として{0,Vdd}の2値を用いた場合は、xi=1を入力とする入力ゲート容量の容量比の和
【0036】
【数7】
とVfthとによって、ニューロンMOSインバータの出力信号値が決まる。
【0037】
以上、ニューロンMOSインバータの動作について説明した。
【0038】
次に、上記のニューロンMOSトランジスタと、ニューロンMOSトランジスタとを用いた回路に関する公知技術について説明する。
【0039】
ニューロンMOSトランジスタおよび、それを用いた回路の研究開発が近年盛んになされているが、再構成可能デバイスを対象とした報告は少ない。代表的な例としては、文献7「Tadashi Shibata, et al., Real−Time Reconfigurable Logic Circuits Using Neuron MOS Transistors, ISSCC93, FA 15.3, pp. 238−239, 1993」がある。この文献においては、全ての論理関数を実現する回路を作製したという報告がなされているが、回路の設計手法および、回路構成上の特徴に関して、報告されてはいない。
【0040】
また、ニューロンMOS回路による再構成デバイスを設計する際に重要な因子の1つである、入力ゲート電極とフローティング電極との容量の値に関係するニューロンMOSトランジスタの構造に関しては、特開平3−6679号公報において、その基本構造が開示されている。
【0041】
上記公開公報においては、上記入力ゲート電極とフローティングゲート電極との間の容量の値は、文献8「W. S. McCulloch and W. A. Pitts, A Logical Calculus of the Ideas Immanent in Neural Nets, Bull. Match. Biophy., Vol. 5, pp. 115−133, 1992」に記載されているニューロンモデルの重み係数、またはニューロンMOSトランジスタをソースフォロワ型の回路に適用し、D−A(Digital−Analog)変換器を作製する際の重み係数として位置付けられ、再構成可能デバイスにおける入力の状態を識別する因子としての発想は示されていない。
【0042】
【発明が解決しようとする課題】
上記背景において、ニューロンMOS回路による再構成デバイスの可変論理部中に、対称関数機能を実現する回路と、非対称関数を含む全ての論理関数機能を実現する低面積コストの回路とを組み合わせるために、その回路構成とその設計手法との開発が望まれている。
【0043】
本発明は、論理関数の中の対称関数のみならず、任意のk入力変数論理関数を、ニューロンMOS回路を用いて、効率的に実現する方法および本方法を用いて設計した論理関数機能を有するニューロンMOS回路を提供することを目的とするものである。
【0044】
本発明は、基板上に第1の導電型の半導体領域を有し、上記半導体領域内に設けられている第1の導電型とは異なる第2の導電型の半導体であるソース領域とドレイン領域とを有し、上記ソース領域とドレイン領域とを隔てる領域の上に、絶縁膜を介して設けられている電気的にフローティング状態とみなせる状態をとることが可能であるフローティングゲート電極を有し、上記フローティングゲート電極と絶縁膜とを介して、容量結合する複数のゲート電極を有する半導体装置を、ニューロンMOSトランジスタと呼び、また、上記ニューロンMOSトランジスタにおけるフローティングゲート電極が、所定の電位を有する端子に、導通と遮断または電気的に高インピーダンスとの2つの状態をとり得る素子を介して接続されている半導体装置を、スイッチ付ニューロンMOSトランジスタと呼び、上記ニューロンMOSトランジスタ、上記スイッチ付ニューロンMOSトランジスタにおける複数のゲート電極の中で、入力変数が入力されるゲート電極と上記フローティングゲート電極との間の容量を、入力変数用入力ゲート容量と呼び、上記入力変数用入力ゲート容量について、その容量値の小さい順に番号を付け、入力変数の数kを用い、上記各容量値のうちで最も小容量である最小容量値を基準にした容量比を、容量比の集合{w 1 ,w 2 ,…,w i ,…,w k }によって表し、上記容量比の集合における重なりのない要素で構成される任意の数の要素の和が互いに異なるように設計されているニューロンMOSトランジスタ、またはスイッチ付ニューロンMOSトランジスタを有し、上記ニューロンMOSトランジスタ、スイッチ付ニューロンMOSトランジスタは、上記入力変数用入力ゲート容量の比w i が、w i =α i−1 であり、1≦i≦k、1<α<2の正数であるという条件を満たすトランジスタである論理関数機能再構成可能な集積回路である。
【0047】
【発明の実施の形態および実施例】
[アウトライン]
2値を入力変数とする任意のk入力変数論理関数を、集積回路上で実現するためには、集積回路が以下の2つの条件を満たす必要がある。
条件(1):入力変数の組み合わせに対応する異なる2k個の状態を持つ。
条件(2):2k個の状態のそれぞれに対して、2値のいずれか一方を設定できる仕組みを持つ。
【0048】
図25に示す従来のニューロンMOSインバータによって、上記集積回路が構成されている場合、上記条件(1)は、「従来の技術」で説明したように、「フローティングゲートの電位Vfgが異なる2k個の値を持つ」ことであり、上記式(5)中の
【0049】
【数8】
ことである。
【0050】
本発明の各実施例は、上記2つの条件を満たすようにするために、以下のように構成されている。
【0051】
[第1の実施例]
本発明の第1の実施例は、上記条件(1)である
【0052】
【数9】
ような、重みベクトルWの要素wiの決定方法と、その方法を実装したニューロンMOSインバータである。
【0053】
第1の実施例は、ニューロンMOSインバータ上に2k個の状態を作る際の指針を開示したものである。
【0054】
[第2の実施例]
本発明の第2の実施例は、上記第1の実施例における重みベクトルWの要素wiの決定方法を、より具体化し、定式化した方法である。第2の実施例は、ニューロンMOSインバータ上に2k個の状態を作る際の指針を開示したものである。
【0055】
[第3の実施例]
本発明の第3の実施例は、第1の実施例における重みベクトルWの要素wiの最小値に制限がある場合に、
【0056】
【数10】
がより小さくなるような要素wiの決定方法である。ニューロンMOSインバータに実装する際に、
【0057】
【数11】
は入力ゲート電極の面積に相当し、第3の実施例は、上記条件(1)を満たすニューロンMOSインバータを低面積コストで実現する方法である。
【0058】
[第4の実施例]
本発明の第4の実施例は、第1の実施例〜第3の実施例のいずれか1つについて、条件(1)を満たし、また条件(2)における「仕組み」を実現するために、従来技術で紹介した文献5に開示されている対称関数回路を設計する方法を、任意の論理関数の実現する回路を設計する方法に拡張した方法であり、またその方法を用いて設計した集積回路の構成である。つまり、第4の実施例は、任意の論理関数機能を再構成することが可能な集積回路の設計方法と回路構成である。
【0059】
[第5の実施例]
本発明の第5の実施例は、上記第1の実施例〜第3の実施例のいずれか1つを用いることによって、上記条件(1)を満たし、上記条件(2)に挙げた「仕組み」を実現する際に、「仕組み」の制御を多値表現の信号で行う集積回路の設計方法と、回路構成とである。上記第5の実施例は、上記第4の実施例よりも低面積コストで、同機能を得ることができる集積回路とその設計方法である。
【0060】
[第6の実施例]
上記第5の実施例が、物理的なレベルにおいて、複数の2値信号によって多値を表現するのに対して、本発明の第6の実施例は、物理的レベルで多値信号を使用する場合における回路構成である。第6の実施例は、第5の実施例よりも低面積コストで、同機能を得ることができる。
【0061】
次に、上記各実施例について、具体的に説明する。
【0062】
(第1の実施例)
本発明の第1の実施例は、「2k個の入力変数xiの組み合わせを識別できる要素wiを決める方法」と「入力ベクトルを識別できる重みベクトルのニューロンMOSインバータヘの実装」とによって構成されている。
【0063】
[2k個の入力変数xiの組み合わせを識別できる要素wiの決め方]
上記の条件(1)である
【0064】
【数12】
は、「2k個存在する入力変数の組み合わせを識別できる」ことである。初めに、「入力変数の組み合わせ」と「識別できる」の定義について、入力変数が{x1,x2,x3}の3変数である場合を例にとって、具体的に説明する。
【0065】
「入力変数の組み合わせ」は、たとえば3つの入力変数のそれぞれが、論理的に1,0の2値をとる場合、これらの組み合わせは、{0,0,0}、{0,0,1}、{0,1,0}、…、{1,1,1}であり、23個存在し、この23個の組み合わせを、「入力変数の組み合わせ」という。
【0066】
次に、「入力変数の組み合わせを識別できる」ことについて説明する。
【0067】
また、上記組み合わせは、3つの入力変数に対して、互いに直交する座標を設定した場合、3次元空間における3次元立方体の頂点座標のベクトル表現である。以降、このベクトルを「入力ベクトルX」と呼ぶ。また、任意の正数を要素とする(w1,w2,w3)を、「重みベクトルW」と呼ぶ。入力ベクトルXと重みベクトルWとを用いて、
【0068】
【数13】
について、次の式(7)に示すように、内積を用いてベクトルをスカラに変換することができる。
【0069】
【数14】
この表現を用いて換言すれば、「入力変数の組み合わせを識別できる」とは、「入力ベクトルと重みベクトルとの内積の結果であるスカラが互いに異なること」である。
【0070】
ここで、入力ベクトルXは、{0,1}の2値であるので、スカラが互いに異なるためには、{w1、w2、w3}の重なりのない要素で構成される任意の数の要素の和が、互いに異なる必要がある。すなわち、w1≠w2≠w3であり、w1+w2≠w2+w3≠w3+w1である必要がある。具体的な例として、重みベクトルW=(20,21,22)であるとすると、入力ベクトルXを2進表現とみなし、内積によって2進表現から10進表現に変換する場合がある。この場合、8つの入力ベクトルは、0から7までの異なる整数に変換される。
【0071】
次に、「スカラが互いに異なる」ようにできる重みベクトルWが、2のべき乗の要素で構成されるベクトルだけでなく、多数存在する点について説明する。
【0072】
要素が小さい順に番号づけられている重みベクトルWを考え、k=4を例にとると、「スカラが互いに異なる」ためには、w4>w3>w2>w1、w3≠w1+w2、w4≠w1+w3、w4≠w2+w3、w4≠w1+w2+w3、w4+w1≠w3+w2である必要がある。
【0073】
これを満たす具体例は、(w1、w2、w3、w4)=(1、1.1、1.2、1.4)、(w1、w2、w3、w4)=(1、1.2、1.4、1.7)、(w1、w2、w3、w4)=(1、4、6、8)、(w1、w2、w3、w4)=(1、3、9、27)等である。
【0074】
上記説明を、k個の要素によって構成される入力ベクトルの場合について言えば、k個の要素の入力ベクトルを識別できるようにする場合、「{w1、w2、…、wi、…、wk}の中の重なりのない要素で構成される任意の数の要素の和が互いに異なる」必要があると言える([請求項1]に対応)。
【0075】
[入力ベクトルを識別できる重みベクトルのニューロンMOSインバータヘの実装]
上記従来技術で説明したように、上記重みベクトルの要素wiは、ニューロンMOSインバータにおいて、各入力変数に対応する入力ゲート電極とフローティングゲートとの間の入力ゲート容量の容量比に相当する。したがって、ニューロンMOSインバータにおいて、重なりのない要素で構成される任意の数の入力ゲート容量比の和が互いに異なるようにすることによって、入力ベクトルを識別することができる。
【0076】
(第2の実施例)
本発明の第2の実施例は、まず初めに、任意の数の要素の入力ベクトルを識別できることが予め保証される条件と、その条件を満たす重みベクトルとを示し、次に、入力変数の数に制限を加えることによって、入力ベクトルを識別できることが保証される重みベクトルを示し、最後に、上記重みベクトルをニューロンMOSインバータへ実装する実施例である。
【0077】
つまり、上記第2の実施例は、「第1の実施例の重みベクトルを決める方法に制限を加えた条件の提示」と、「制限を加えた条件を満たす重みベクトルの集合」と、「入力変数の数に制限を加えた場合の重みベクトルの集合」と、「ニューロンMOSインバータヘの実装」とによって、構成されている。
【0078】
[第1の実施例の重みベクトルを決める方法に制限を加えた条件]
重みベクトルWのk個の要素の値を小さい順に、{w1,w2,…,wi,…,wk}とすると、i番目の要素wiを、次の式(8)を満たすように設定する。
【0079】
【数15】
上記式(8)は、第1の実施例で示した条件よりも強い制限条件であり、任意の数の要素を持つ入力ベクトルを識別できることを保証している([請求項2]に対応)。
【0080】
[制限を加えた条件を満たす重みベクトルの集合]
次に、上記式(8)を満たす重みベクトルWの要素wiを具体的に示す。
【0081】
まず、上記式(8)を、次の式(9)に変形する。
【0082】
【数16】
上記式(9)を満たす解の1つであるwi=αi−1(α>1)であるときに、上記式(9)は、次の式(10)で表される。
【0083】
上記式(10)で表される関数f(α,i)の符号は、α>1の条件から、関数g(α,i)の符号と一致するので、関数f(α,i)の符号判定は、関数g(α,i)を用いて行うことができる。したがって、次の式(12)が成り立つときに、入力ベクトルを識別することができる。
【0084】
g(α,i)=αi・(α−2)+1>0 (1≦i≦k−1)…式(12)
また、g(α,i)のαに関する1階微分をg’(α,i)と記述すると、i>1において、次の式(13)が成り立つ。
【0085】
【数17】
式(13)が成り立つので、関数g(α,i)は、1<α<2において、少なくとも1つの実根を持ち、α≧2において、任意のiに対して常に正である。このために、次の式(14)を満たす重みベクトルを用いると、任意の数の要素を持つ入力ベクトルを識別することができる([請求項3]に対応)。
【0086】
wi=αi−1(α≧2) …式(14)
[入力変数の数に制限を加えた場合の重みベクトルの集合]
上記式(14)は、任意の数の要素を持つ入力ベクトルが、識別可能な重みベクトルを表しているが、1<α<2であっても、g(α,i)>0であるαが存在することは、iすなわち、入力ベクトルの要素数kに制限を加えることによって、入力ベクトルを識別できることを示している([請求項4]に対応)。
【0087】
図6は、i=1,2,3,4,5である場合、0≦α≦2であるαと、g(α,i)との関係を示す図である。
【0088】
1<α<2である場合に、g(α,i)=0の解は、i=2,3,4,5について、それぞれ、1.6180、1.8393、1.9276、1.9660である。
【0089】
i≦k−1であるので、図6から、要素の数k=2,3,4,5,6である場合、それぞれ、α>1、α>1.6180、α>1.8393、α>1.9276、α>1.9660であれば、式(9)の条件を満たし、原理的には、入力ベクトルを識別できる。
【0090】
明らかに識別できる入力ベクトルに対する重みベクトルとして、(20,21,…,2i−1,…,2k−1)を用いた内積の結果であるスカラをS2とする。また、上記重みベクトルと入力ベクトルとの内積の結果であるスカラをSαとする。
【0091】
図7は、α=1.7,1.9,2.0,2.2である場合において、スカラS2と、αを用いたスカラSαとの関係を示す図である。
【0092】
α≧2では、上記関数g(α,i)>0であり、図7に示す場合、スカラSαは、スカラS2に対して、傾きが0になることのない単調増加関数である。したがって、上記の通り、全ての入力ベクトルに対するスカラSαの中で、等しい値のものは存在しないので、入力ベクトルを互いに識別することができる。
【0093】
図6から、α=1.7、α=1.9である場合、それぞれS2≦7、S2≦15であれば、スカラSαがスカラS2に対して、傾きが0になることのない単調増加関数であるので、入力ベクトルを識別できる。
【0094】
一方、上記範囲外であっても、S2≦31であれば、互いに等しいSαが存在しない。この場合、式(8)を満たしていないが、入力ベクトルを識別できる第1の実施例に相当する([請求項1]に対応)。
【0095】
[ニューロンMOSインバータヘの実装]
上記方法を実回路に実装する場合、実際の容量の値は、製造バラツキ等の製造上の理由によって、上記式で説明した等式を必ずしも満たすとは言えない。また、設計時においても、有効数字の決め方や設計マージンの確保によって、上記説明における等式を必ずしも満たすとは言えない。しかし、このような製造上の理由による値のバラツキや設計時のマージン等の取り方等による値の相違がある場合であっても、上記実施例を適用することができる。すなわち、上記のように製造上の理由による値のバラツキや設計時のマージン等の取り方等による値の相違がある場合も、本発明に属することは明らかである。
【0096】
(第3の実施例)
本発明の第3の実施例は、従来技術で示した重みベクトルの要素の最小値C・w1に下限がある場合に、
【0097】
【数18】
をできるだけ小さくし、入力ベクトルを識別できる重みベクトルを決める方法である。
【0098】
この方法は、ニューロンMOSインバータにおいて、入力ゲート容量値の最小値に下限が存在する場合、入力ゲート容量値の総和をできるだけ小さくし、入力ベクトルを識別することができる入力ゲート容量比を決めることに相当する。
【0099】
[最小値が制限される場合の例と問題点]
最小の入力ゲート容量値に制限が課される場合とは、実回路に実装する際に、容量製造のプロセスにおける容量値のバラツキを抑制する場合等が、考えられる。第2の実施例において、最小容量値がある値によって制限されている場合、入力ゲート容量の比は、ある値のべき乗で増加するので、入力ゲート容量値の総和が非常に大きくなり、面積的コストが高くなるという問題がある。
【0100】
[べき乗の次数を下げる方法]
そこで、面積的コストを低くするためには、べき乗の次数を小さくすることが有効である。ここで、重みベクトルの要素を、値の小さい順に並べると、{w1,w2,…,wi,…,wk}であるとした場合、次の式(15)を満たすように、i番目の要素wiを設定する。ただし、α>1である([請求項5]に対応)。
【0101】
【数19】
式(15)のように設定した場合、次の式(16)が成り立つ。
【0102】
【数20】
第3の実施例は、第2の実施例と同様に、α≧2の場合は、任意のi、すなわち、任意のkにおいて、f’(i)>0となり、入力ベクトルを識別でき、1<α<2であっても、kを制限することによって、f’(i)>0にすることもでき、入力ベクトルを識別できる。
【0103】
[面積コストに対する効果]
次に、上記第2の実施例におけるwi=αi−1の場合と、第3の実施例において、最小の入力ゲート容量値が制限され、ともにw1=1であり、α=2とした場合とにおける重みベクトルの要素の値の総和を、それぞれSum(2)、Sum(3)とすると、第2の実施例における重みベクトルの要素の値の総和Sum(2)が、次の式(17)に示す値になり、第3の実施例における重みベクトルの要素の値の総和Sum(3)は、次の式(18)に示す値になる([請求項6]に対応)。
【0104】
Sum(2)=2k−1 … 式(17)
Sum(3)=1+(2k−1−1)(1+β) …式 (18)
したがって、総和Sum(2)に対する総和Sum(3)の比ηは、次の式(19)で表される。
【0105】
η={1+(2k−1−1)(1+β)}/(2k−1) …式(19)
図8は、k=2,3,4の場合において、重み変調係数βと、総和Sum(2)に対する総和Sum(3)の比ηとの関係を示す図である。
【0106】
すなわち、図8は、第3の実施例における面積コストの低減率を示す図である。β=0.5では、面積コストが、要素の数kに応じて多少変わるが、、77%〜83%程度に面積コストを低減することができる。
【0107】
[ニューロンMOSインバータヘの実装]
上記方法を実回路に実装する場合、実際の容量の値は、製造バラツキ等の製造上の理由によって、上記式で説明した等式を必ずしも満たすとは言えない。また、設計時においても、有効数字の決め方や設計マージンの確保によって、上記説明の等式を必ずしも満たすとは言えない。しかし、このような製造上の理由による値のバラツキや設計時のマージン等の取り方等による値の相違がある場合であっても、上記実施例を適用することができる。すなわち、上記のように製造上の理由による値のバラツキや設計時のマージン等の取り方等による値の相違がある場合も、本発明に属することは明らかである。
【0108】
(第4の実施例)
本発明の第4の実施例は、第1〜第3の実施例において説明した入力ベクトルを識別できる重みベクトル、すなわち、入力ゲート容量比の決め方によって、k個の要素を持つ2k個の入力ベクトルに対して、2値のいずれか一方を設定できるようにした集積回路である。([請求項10]に対応)
[用語の定義]
まず初めに、集積回路の動作を以下で説明する場合に頻繁に用いる用語の定義について説明する。つまり、図25に示すニューロンMOSインバータの動作を説明する用語を定義する。
【0109】
「フローティングゲート閾値電位」は、図25に示すニューロンMOSインバータの出力信号がフローティングゲート電位に対して論理反転をする場合における上記ニューロンMOSインバータのフローティングゲートの電位である。
【0110】
また、「最大フローティングゲート電位」は、入力信号が全て論理的に1であるときのフローティングゲート電位である。
【0111】
「規格化フローティングゲート電位Ufg」は、最大フローティングゲート電位で規格化したフローティングゲート電位である。
【0112】
「規格化フローティングゲート閾値電位Ufth」は、最大フローティングゲート電位で規格化したフローティングゲート閾値電位である。
【0113】
「入力電荷量Qi」は、入力変数が入力される端子の入力ゲート容量に蓄積される電荷量である。
【0114】
「入力閾値電荷量Qith」は、規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthであるときにおける入力電荷量Qiである。
【0115】
[任意の論理関数を実現する集積回路の回路構成]
図1は、本発明の第1の実施例である論理関数機能再構成可能な集積回路IC1を示す構成図である。
【0116】
まず初めに、集積回路IC1の回路構成について説明する。
【0117】
k入力変数論理関数機能を実現する集積回路IC1は、図25に示すニューロンMOSインバータの2段論理で構成され、つまり、プリインバータ101と、メインインバータ100とによって構成されている。
【0118】
プリインバータ101は、1段目のニューロンMOSインバータであり、メインインバータ100は、2段目のニューロンMOSインバータである。
【0119】
プリインバータ101は、2k個設けられている。
【0120】
各プリインバータ101は、k個の入力変数が入力される第1の入力信号端子input1[1]〜input1[k]に接続されている入力ゲート電極と、論理関数機能を構成するデータが入力される第2の入力信号端子input2[1]〜input2[2k]に接続されている入力ゲート電極の中の1つの入力ゲート電極と、プリインバータ101の入力信号からみた閾値を制御する電源またはグランドに代表される固定電位を有する端子に接続されている入力ゲート電極と、出力端子とを有する。
【0121】
また、メインインバータ100は、k個の第1の入力信号端子に接続されている入力ゲート電極と、1段目のプリインバータ101の出力端子に接続されている入力ゲート電極と、出力端子とを有する。
【0122】
[メインインバータ100の設計]
[プリインバータ101に接続された容量比の決め方]
次に、集積回路IC1のメインインバータ100において、プリインバータ101の出力端子に接続されている入力ゲート電極とフローティングゲートとの間の容量の比の設定方法について説明する。
【0123】
ここで、要素の個数k=3であり、入力ベクトルを識別できるようにするための重みベクトル、すなわち、第1の入力信号のための入力ゲート容量の比が、(1,3,5)であるとする。
【0124】
図2は、上記実施例において、要素の個数k=3であり、重みベクトルが(1,3,5)であるときに、メインインバータ100における入力電荷量Qi
【0125】
【数21】
と、規格化フローティングゲート電位Ufgとの関係を示す図である。
【0126】
図2において、横軸は、入力電荷量Qiを示し、縦軸は、規格化フローティングゲート電位Ufgを示す。また、横軸には、各入力ベクトルのQiの位置に入力ベクトルを併記してある。また、図2中、Ctotalは、全ての入力ゲート容量の値の総和である
【0127】
【数22】
を示す。
【0128】
初めに、規格化フローティングゲート閾値電位Ufthを、1/2程度に設定する。第1の入力信号が全て論理的に1であるときに、入力電荷量Qiが最大になる。このときの入力電荷量Qiによる規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthを越えないようにする。
【0129】
次に、入力電荷量Qiが最大である入力ベクトル(x3,x2,x1)=(1,1,1)のときに、23個設けられているプリインバータ101の中で、第8番目のプリインバータ101の出力信号だけが、論理的に1であるときの規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthよりも大きくなるように、プリインバータ101の出力端子に接続されている入力ゲート電極とフローティングゲートとの間の容量の値Cp8を設定する。
【0130】
ただし、入力ベクトル(1,1,1)よりも1つ小さい入力電荷量を持つ入力ベクトル(1,1,0)のときには、同じ入力信号の状態で規格化フローティングゲート電位Ufgは、規格化フローティングゲート閾値電位Ufthよりも小さいようにする。
【0131】
上記入力ベクトル(1,1,1)と上記容量値Cp8との場合と同様に、入力ベクトルが(1,1,0)であるときに、第7番目と第8番目のプリインバータ101の出力信号のみが論理的に1であれば、規格化フローティングゲート電位Ufgは、規格化フローティングゲート閾値電位Ufthよりも大きくなり、入力ベクトルが(1,0,1)であるときには、規格化フローティングゲート電位Ufgは、規格化フローティングゲート閾値電位Ufthよりも小さくなるように、第7番目のプリインバータ101に接続されている入力ゲート容量値Cp7の値を設定する。
【0132】
上記と同様の方法で、入力電荷量が大きい順に、入力ベクトル(1,0,1)、(1,0,0)、(0,1,1)、(0,1,0)、(0,0,1)、(0,0,0)に対応する入力ゲート容量値Cp6、Cp5、Cp4、Cp3、Cp2、Cp1の値を設定する。
【0133】
上記の方法によって、23個のプリインバータ101の出力端子に接続されている入力ゲート容量の容量値を設定する。
【0134】
[任意の論理関数が実現できることの説明]
次に、上記方法によって設定された入力ゲート容量値を持つメインインバータ100が、任意の論理関数を実現することが可能である点について説明する。
【0135】
図2の横軸の入力電荷量Qiについて、所定の入力ベクトルを挟む2つの入力ベクトルが存在する。つまり、所定の入力ベクトルについて、その入力ベクトルの入力電荷量よりも大きい入力電荷量の入力ベクトルと小さい入力電荷量の入力ベクトルとが存在し、これらの3つの入力電荷量の間に他の入力ベクトルの入力電荷量が存在しない。
【0136】
ただし、入力ベクトル(0,0,0)に対しては、入力電荷量Qiが大きい入力ベクトル(0,0,1)のみが存在し、入力ベクトル(1,1,1)に対しては、入力電荷量Qiが小さい入力ベクトル(1,1,0)のみが存在する。
【0137】
この所定の入力ベクトルと入力電荷量Qiが大きい入力ベクトルとの間の1つの入力電荷量Qiと、小さい入力ベクトルとの間の1つのQiとの、どちらか一方において、プリインバータ101が論理反転を起こし、出力信号の論理的値が1から0に変化するという機能を、各プリインバータ101が持ち、この場合、各入力ベクトルにおける規格化フローティングゲート電位Ufgと規格化フローティングゲート閾値電位Ufthとの大小関係は、各入力ベクトルに1対1対応するプリインバータ101の出力信号の論理的1,0の値のみに依存する。
【0138】
図2において、各入力ベクトルにおける黒丸は、規格化フローティングゲート電位Ufgが規格化フローティングゲート閾値電位Ufthよりも大きい場合を示し、各入力ベクトルにおける白丸は、規格化フローティングゲート電位Ufgが規格化フローティングゲート閾値電位Ufthよりも小さい場合を示す。
【0139】
したがって、各プリインバータ101が持つ2つの入力閾値電荷量のうちの一方を選択する制御信号を、論理関数機能を構成するデータとして、プリインバータ101に与えることによって、任意の論理関数を実現することができる。
【0140】
[プリインバータ101の設計]
[2つのQithを持つための容量比の決め方]
次に、プリインバータ101に、2つの入力閾値電荷量Qithを持たせる方法について説明する。
【0141】
図3は、第j番目のプリインバータ101の回路図と、各入力ゲート電極とフローティングゲートとの間の容量値との関係を示す図である。
【0142】
以下では、23個設けられているプリインバータ101のうちで、入力ベクトル(1,0,0)に対応する第5番目のプリインバータ101を使用して説明する。
【0143】
図4は、第5番目のプリインバータ101における入力電荷量Qiと、規格化フローティングゲート電位Ufgとの関係を示す図である。
【0144】
図4において、Ctotalは
【0145】
【数23】
を示す。
【0146】
まず、メインインバータ100と同様に、入力ベクトルを識別可能でるように、5番目のプリインバータ101における第1の入力信号用入力ゲート容量の値C51iを設定する。
【0147】
図4では、各第1の入力信号のための入力ゲート容量の比は、メインインバータ100と同じ容量比に設定されているが、必ずしも同じである必要はなく、入力ベクトルを識別可能できるものであればよい。
【0148】
次に、第2の入力信号が論理的に0であるときに、規格化フローティングゲート電位Ufgが規格化フローティングゲート閾値電位Ufthとなる入力闘値電荷量Qith0が、入力ベクトル(1,0,0)のQiと(1,0,1)のQiとの間になり、同時に、第2の入力信号が論理的に1であるときに、規格化フローティングゲート電位Ufgが規格化フローティングゲート閾値電位Ufthとなる入力閾値電荷量Qith1が、入力ベクトル(1,0,0)のQiと(0,1,1)のQiとの間になるように、5番目のプリインバータ101における第1の入力信号用入力ゲート容量の値C51iと、第2の入力信号用入力ゲート容量の値C520とを設定する。
【0149】
このときに、入力ベクトルが(1,0,0)である場合、プリインバータ101の規格化フローティングゲート電位Ufgがとり得る値は、第2の入力信号が論理的に1であるときにおける規格化フローティングゲート閾値電位Ufthよりも大きい値(図4中の黒丸)と、第2の入力信号が論理的に0であるときにおける規格化フローティングゲート閾値電位Ufthよりも小さい値(図4中の白丸)との2つである。
【0150】
図5は、入力ベクトルと規格化フローティングゲート電位Ufgとが、図4に示す関係であるときに、入力ベクトル(または、入力電荷量Qi)と、プリインバータ101の出力信号の論理的値との関係を示す図である。
【0151】
図5に示すように、入力ベクトル(1,0,0)のQiよりも小さいQiを持つ入力ベクトル(0,1,1)までは、論理的に1であり、逆に、大きいQiを持つ入力ベクトル(1,0,1)では、論理的に0になる。このように、プリインバータ101の上記機能を実現することができる。ここで、出力信号の論理的値は、規格化フローティングゲート電位Ufg、規格化フローティングゲート閾値電位Ufthよりも大きければ0であり、逆に、小さければ、1である。
【0152】
上記説明は、k=3である場合における全ての論理関数を実現する回路の設計方法の説明であるが、kが3以外の任意の値である場合にも、上記と同様の方法によって、全ての論理関数を実現することができる。また、この方法によって、集積回路IC1を設計することができる。
【0153】
[ニューロンMOSインバータとは異なるスイッチ付ニューロンMOSインバータを使用した場合の説明]
上記説明は、図1に示すニューロンMOSインバータによって構成された集積回路IC1の説明である。
【0154】
次に、スイッチ付ニューロンMOSインバータによって構成されている集積回路IC1aについて説明する。
【0155】
図20は、上記論理関数機能再構成可能な集積回路IC1の変形例である論理関数機能再構成可能な集積回路IC1aを示す構成図である。
【0156】
論理関数機能再構成可能な集積回路IC1aは、図1に示す集積回路IC1と類似の回路構成を有する集積回路である。集積回路IC1aは、集積回路IC1において、メインインバータ100の代わりに、メインインバータ110が設けられている点と、プリインバータ101の代わりに、プリインバータ111が設けられている点とのみが異なる。
【0157】
集積回路IC1におけるメインインバータ100とプリインバータ101とは、各フローティングゲートが完全にフローティングの状態であり、いかなる端子にも接続されていない。
【0158】
一方、集積回路IC1aにおけるメインインバータ110とプリインバータ111とは、スイッチ付ニューロンMOSトランジスタを用いたインバータ機能を持つスイッチ付ニューロンMOSインバータである。
【0159】
スイッチ付ニューロンMOSトランジスタは、そのフローティングゲートがNMOSFET等のスイッチ素子の導通、遮断によって、所定の電位を有する端子に接続、遮断を行うことが可能なニューロンMOSトランジスタである。
【0160】
集積回路IC1aにおいて、メインインバータ110は、端子ctlmの信号によって導通、遮断を制御されるメインインバータ初期化用NMOSFET113を介して、所定の電位を有する端子に導通、遮断され、プリインバータ111は、端子ctlpの信号によって制御されるプリインバータ初期化用NMOSFET114を介して所定の電位を有する端子に導通、遮断される。
【0161】
上記以外の点については、集積回路IC1の回路構成とIC1aの回路構成とは同じである。
【0162】
したがって、以降の説明は、図1に示す集積回路IC1で使用されているメインインバータ100、プリインバータ101を使用した回路について行う。なお、同じ設計方法が、集積回路IC1aの回路構成でも使用可能である。
【0163】
(第5の実施例)
第5の実施例は、論理関数構成データを多値表現([請求項7]に対応)することによって、2段論理の論理関数機能再構成可能な集積回路IC1におけるプリインバータ101の数を低減するものである。(その集積回路の設計方法は、請求項11に対応)
[構成データとして多値表現を使用した場合における集積回路の回路構成]
図9は、本発明の実施例である集積回路IC2の回路図であり、上記機能を有する集積回路IC2の回路図である。
【0164】
集積回路IC2は、k入力変数論理関数機能を実現する集積回路であり、第4の実施例における説明と同様に、ニューロンMOSインバータの2段論理によって構成され、つまり、メインインバータ901とプリインバータ902との2段論理によって構成されている。
【0165】
メインインバータ901は、k個の入力変数が入力される第1の入力信号端子input1[1]〜input1[k]に接続される入力ゲート電極と、プリインバータ902の出力端子に接続される入力ゲート電極とを有する。
【0166】
また、プリインバータ902は、第1の入力信号端子の他に、論理関数機能を構成するデータが入力される第2の入力信号端子input2[11]〜input2[hah]と、入力信号からみた閾値を制御する電源またはグランドに代表される固定電位を有する端子に接続される入力ゲート電極とを有する。
【0167】
ここで、第4の実施例と回路構成について比較すると、第4の実施例の集積回路IC1は、ただ1つの第2の入力信号端子を具備する2k個のプリインバータ101を有する回路構成であるが、集積回路IC2は、各プリインバータ101が複数個の第2の入力信号端子を有し、2k個よりも少ないプリインバータ101で回路を構成する。すなわち、図9において、第2の入力端子input2[hah]のhは、プリインバータの数を表しており、2kよりも小さく、ahは、h番目のプリインバータ101における第2の入力信号の数である。
【0168】
また、複数個の第2の入力信号を用いるということは、1つの第2の入力信号を用いる場合に置き換えると、1つの多値信号を用いるということになる。たとえば、2値を使用した場合に、1つの入力信号では、{0,1}の異なる2つの値の表現、すなわち、2値のみを表現できるが、2つの入力信号では、{(0,0)、(0,1)、(1,0)、(1,1)}の異なる4つの値の表現、すなわち、4値の表現が可能になる。
【0169】
[プリインバータ902の設計:入力ゲート容量比の決め方]
次に、図9に示す集積回路IC2におけるプリインバータ902の回路構成によって、入力信号からみた閾値である入力闘値電荷量Qithに関して、任意の複数のQithを生成することが可能であり、この点について説明する。
【0170】
具体例として、k=2であり、2つの第2の入力信号を用いる場合について説明する。
【0171】
図10は、入力信号からみた3つの閾値を有するニューロンMOSインバータINV3を示す回路図である。
【0172】
ニューロンMOSインバータINV3は、2つの第1の入力信号端子input1[1]、input1[2]と、2つの第2の入力信号端子input2[h1]、input2[h2]と、グランドに接続される端子とを有する。各入力ゲート電極とフローティングゲートとの間の入力ゲート容量値は、C11,C12,C2h1,C2h2,Cgndであるとする。入力ゲート容量値C11,C12に関しては、上記第4の実施例で説明したように、C11:C12=1:2とすることによって、入力ベクトルを識別できるようにする。
【0173】
このときに、入力ゲート容量値C11,C12の容量を持つ入力信号端子input1[1]、input1[2]に対応する入力変数を、x1、x2とし、入力電荷量Qiの小さい順に、入力ベクトル(x1,x2)を並べると、(0,0)、(1,0)(0,1)、(1,1)になる。
【0174】
次に、図10に示すニューロンMOSインバータINV3が、入力ベクトル(0,0)と(1,0)との間の領域と、(0,1)と(1,1)との間の領域と、(1,1)よりも大きい領域との3つの領域に、それぞれ1つの入力閾値電荷量Qithを持たせるように、入力ゲート容量値C2h1,C2h2,Cgndを決める方法について説明する。
【0175】
図11は、上記の特性を有するニューロンMOSインバータINV3の入力電荷量と、規格化フローティングゲート電位Ufgとの関係を示す図である。
【0176】
また、規格化フローティングゲート閾値電位Ufthを、1/2近傍に設定してあるとする。
【0177】
また、図11中、Ctotalは、C11+C12+C2h1+C2h2+Cgndを示し、line0は、第1の入力信号以外の入力信号が全て論理的に0である場合における規格化フローティングゲート電位Ufgを示し、line1は、input2[h1]から入力される第2の入力信号が常に論理的に1である場合における規格化フローティングゲート電位Ufgを示し、line2は、input2[h1]とinput2[h2]とから入力される第2の入力信号が共に常に論理的に1である場合における規格化フローティングゲート電位Ufgを示す。
【0178】
入力ベクトル(1,1)よりもQiが大きい領域に、1つのQithを有するので、(C11+C12)/Ctotalを、(1/2)よりも小さくする。つまり、図11に示すニューロンMOSインバータINV3が持つ3つの入力閾値電荷量中、最大の入力閾値電荷量が、入力ベクトルが(1,1)であるときの入力電荷量Qiよりも大きいので、入力ベクトルが(1,1)であるときにおける規格化フローティングゲート電位と等価である(C11+C12)/Ctotalは、規格化フローティングゲート閾値電位Ufth=1/2よりも小さく設定されなければならない。これによって、line0は、入力ベクトル(1,1)のときよりも大きいQiの領域において規格化フローティングゲート閾値電位Ufthと交わる。
【0179】
図11中の直線line0,line1,line2と、規格化フローティングゲート閾値電位Ufthとの交点がQithであり、line0〜line2の規格化フローティングゲート電位Ufgが規格化フローティングゲート閾値電位Ufthよりも小さいQiにおいては、ニューロンMOSインバータの出力信号は論理的に1であり、逆に、大きいQiにおいては、出力信号は論理的に0になる。
【0180】
また、ニューロンMOSインバータINV3の入力閾値電荷量Qithを入力ベクトル(0,1)と(1,1)との間の電荷量Qiに設定したいので、line1と規格化フローティングゲート閾値電位Ufthとの交点が、図11中の入力ベクトル(0,1)と(1,1)との間になるように、C2hi/Ctotalを設定する。
【0181】
これと同様に、入力ベクトル(0,0)と(1,0)との間のQiにおいて、Qithを持たせるために、line2と規格化フローティングゲート閾値電位Ufthとの交点が、図11中の入力ベクトル(0,0)と(1,0)との間になるように、C2h2/Ctotalを設定する。
【0182】
最後に、1−(C11+C12+C2h1+C2h2)/Ctotalを、Cgnd/Ctotalとする。このように、各入力ゲート容量値を決めることによって、任意の入力電荷量Qiに、入力閾値電荷量Qithを設定することができる。
【0183】
[プリインバータ902の入出力特性]
図12は、上記方法によって、入力ゲート容量値を設定した場合におけるニューロンMOSインバータの入出力特性を示す図である。
【0184】
図12において、横軸は、Qiを示し、縦軸は、ニューロンMOSインバータの出力電位Voutを電源電位Vddで規格化した値または、論理的な値を示す。また、図12中、(1,1)、(1,0)、(0,0)は、それぞれ、第2の入力信号端子input2[h1]、input2[h2]からの入力信号の論理的値が、(1,1)、(1,0)、(0,0)であることを示す。
【0185】
図12から判るように、ニューロンMOSインバータに、2つの2値表現を有する第2の入力信号を入力し、各入力ゲート容量の値を上記のように設定し、2つの2値表現の第2の入力信号で表現される4つの値のうちの3つの値(1,1)、(1,0)、(0,0)を使用することによって、異なる3つの閾値を有するニューロンMOSインバータを設計することができる([請求項8]に対応)。
【0186】
[メインインバータ901の回路構成]
次に、上記方法で設計されたニューロンMOSインバータをプリインバータ902として使用し、第1の実施例よりも少ないプリインバータ数で構成された集積回路IC2が任意の論理関数機能を実現できることについて説明し、その具体例として、k=2の場合について説明する。
【0187】
図13は、本発明の実施例である集積回路IC3を示す回路図であり、k=2である場合において、論理関数機能を再構成することが可能な集積回路IC3の回路図である。
【0188】
第4の実施例では、k=2である場合、2k=4個のプリインバータ101を必要とするが、集積回路IC3では、上記の多値表現を用いたプリインバータ902を使用し、3つのプリインバータ902によって、上記と同じ機能を実現する。
【0189】
メインインバータ1300は、入力変数x1、x2が入力される第1の入力信号端子input1[1]、1nput1[2]とフローティングゲートとの間に入力ゲート容量値Cm1,Cm2の容量を持ち、プリインバータ1301、1302、1303の出力端子に接続されている端子とフローティングゲートとの間に入力ゲート容量値Cp1,Cp2,Cp3の容量を持つ。
【0190】
ここで、Cm1:Cm2=1:2として、入力ベクトルを識別できるようにする。また、入力ゲート容量値Cp1,Cp2,Cp3を、次のようにして決める。
【0191】
[メインインバータ1300の入力ゲート容量比の決め方]
第4の実施例では、各入力ベクトルに1対1対応するプリインバータ101を決め、その出力信号の論理的値とメインインバータ100の出力信号の論理的値とを対応づけることによって、任意の論理関数を実現する。
【0192】
集積回路IC3では、4つの入力ベクトルの中で、所定の1つの入力ベクトルに対して1対1対応するプリインバータを、プリインバータ1301、1302、1303の中から決め、この決められたプリインバータの出力信号の論理的値とメインインバータ1300の出力信号の論理的値とを対応づけるが、他の3つの入力ベクトルに対しては、2つのプリインバータの出力信号の論理的値の組み合わせによって、メインインバータ1300の出力信号の論理的値を決める。
【0193】
図14は、図13に示す集積回路IC3のメインインバータ1300におけるQi(または、入力ベクトル)と、規格化フローティングゲート電位Ufgとの関係を示す図である。
【0194】
図14において、横軸の
【0195】
【数24】
は、Qiを示し、(0,0)、(1,0)、(0,1)、(1,1)は、入力変数(x1,x2)に対する入力ベクトルを示し、縦軸は、規格化フローティングゲート電位Ufgを示している。
【0196】
図14において、Ufthは、規格化フローティングゲート閾値電位を示し、Ctotalは、入力ゲート容量値の総和である(Cm1+Cm2+Cp1+Cp2+Cp3)を示している。
【0197】
最大入力電荷量となる入力ベクトル(1,1)において、プリインバータの出力信号の論理的値が全て0であるときにおける規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthを越えないように、Cp1+Cp2+Cp3を設定する。
【0198】
ここで、Cm1を基準としたCm2、Cp1,Cp2,Cp3の比を、wm2,wp1,wp2,wp3とする。図14に示す具体例では、wm2=2,(wp1+wp2+wp3)=4であるとしてある。
【0199】
次に、最小入力電荷量における入力ベクトル(0,0)において、プリインバータ1302、1303の出力信号が論理的に1であるときに、プリインバータ1301の出力信号が論理的に0である場合における規格化フローティングゲート電位Ufgが規格化フローティングゲート閾値電位Ufthよりも小さく、かつ、プリインバータ1301の出力信号が論理的に1である場合の規格化フローティングゲート電位Ufgが規格化フローティングゲート閾値電位Ufthより大きくなるように、wp1と(wp2+wp3)とを設定する。図14に示す具体例では、wp1=1、(wp2+wp3)=3である。
【0200】
また、プリインバータ1301は、1つの第2の入力信号によって、2つのQithとして、入力ベクトル(0,0)よりも小さいQiと、入力ベクトル(0,0)と(1,0)との間のQiとを設定している。
【0201】
最後に、wp2とwp3とを、次のように設定する。
【0202】
入力ベクトル(1,1)において、プリインバータ1303の出力信号のみが論理的に1であり、プリインバータ1301、1302の出力信号が論理的に0であるときの規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthよりも大きく、入力ベクトル(0,1)において、同じ条件の規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthよりも小さくなるようにする。
【0203】
さらに、入力ベクトル(1,0)において、プリインバータ1301、1302、1303の出力信号の論理的値の組み合わせが、(0,1,1)であるときの規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthよりも大きく、(0,1,0)であるときの規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthよりも小さくなり、入力ベクトル(0,1)において、プリインバータ1301、1302、1303の出力信号の論理的値の組み合わせが、(0,1,0)であるときの規格化フローティングゲート電位Ufgが、規格化フローティングゲート閾値電位Ufthよりも大きくなるようにする。
【0204】
以上の条件を満たすように、wp2とwp3とを決める。図14に示す具体例では、wp2=2、wp3=1である。
【0205】
また、プリインバータ1302において、2つの第2の入力信号端子input2[21],input2[22]から、2つの2値信号を入力することによって、4つの閾値として、入力ベクトル(0,0)と(1,0)との間の領域と、入力ベクトル(1,0)と(0,1)との間の領域と、入力ベクトル(0,1)と(1,1)との間の領域と、入力ベクトル(1,1)よりも大きい領域とを設定する。
【0206】
プリインバータ1303において、2つの第2の入力信号端子input2[31]、input2[32]から、2つの2値信号を入力することによって、3つの閾値として、入力ベクトル(0,0)と(1,0)との間の領域と、入力ベクトル(0,1)と(1,1)との間の領域と、入力ベクトル(1,1)よりも大きい領域とを設定する。
【0207】
以上のように、メインインバータ1300の入力ゲート容量の比と、プリインバータ1301、1302、1303の閾値とを決めることによって、要素の数k=2の場合に、任意の論理関数を実現することができる。
【0208】
[具体的な構成データ]
図15は、要素の数k=2である場合における入力変数x1,x2によって実現される16個の論理関数中、8個の論理関数を、図13に示す集積回路IC3によって実現するときに、規格化フローティングゲート電位Ufgと、プリインバータ1302、1303の出力信号の論理的値(Yp2,Yp3)との関係を示す図である。
【0209】
規格化フローティングゲート電位Ufgは、規格化フローティングゲート閾値電位Ufthよりも大きい場合に1と表記し、小さい場合に0と表記する。メインインバータ1300の出力信号の論理的値は、図15の規格化フローティングゲート電位Ufgの論理的反転の値である。
【0210】
集積回路IC3では、図14に示すように、入力ベクトルが(0,0)であるときは、プリインバータ1301の出力信号の論理的値の2値のみでメインインバータ1300の出力信号の論理的値が決まるので、図15では、プリインバータ1301の出力信号の論理的値が0である場合のみを示してある。
【0211】
入力ベクトル(0,0)において、規格化フローティングゲート電位Ufgを規格化フローティングゲート閾値電位Ufthよりも大きくするには、プリインバータ1301の出力信号の論理的値を1にするだけで足りる。他の信号の状態に影響を与えることはない。したがって、図15において8個の論理関数を実現できることは、16個の全ての論理関数を実現できることを意味している。
【0212】
[k=2の場合のまとめ]
上記説明のように、図13に示す集積回路IC3は、要素の数k=2である場合において、16個の任意の論理関数を実現することができ、第1の実施例の集積回路IC1では、要素の数k=2である場合に、4つのプリインバータ101を必要としたが、集積回路IC3では、3つのプリインバータ902によって、集積回路IC1における機能と同じ機能を実現することができる。また、プリインバータの数を低減することによって、論理関数機能再構成可能な集積回路の面積コストを低減することができる。
【0213】
[上記方法が汎用的な方法であることの説明]
次に、上記実施例の設計方法が、要素の数k=2である場合のみに適用可能な特殊な方法ではなく、任意のkに対して、常に、プリインバータ数(3/4)・2kを使用する有効な設計方法であることについて説明する。
【0214】
図16は、集積回路IC3と同様の設計方法を、要素の数k=3に拡張し、設計された集積回路におけるメインインバータの入力ベクトル、または入力電荷量と、規格化フローティングゲート電位Ufgとの関係を示す図である。
【0215】
k入力変数の入力ベクトルは、2k個存在し、この入力ベクトルによって実現できる論理関数は、最大2k個存在する。これらの入力ベクトルに対応する入力電荷量が小さい順に、入力ベクトルを並べ、4つの入力ベクトルを1つのブロックにする。
【0216】
これによって、2k−2個のブロックができる。各ブロックに対して、集積回路IC3で用いた方法と同様の方法を適用することによって、1つのブロックに対して3つのプリインバータを用い、これによって、そのブロックに属する入力ベクトルに対する全ての論理関数を実現することができる。
【0217】
図16において、入力ベクトル(0,0,0)〜(1,1,0)までが1つのブロックであり、入力ベクトル(0,0,1)〜(1,1,1)も1つのブロックである。入力ベクトルと規格化フローティングゲート電位Ufgとの関係が、ブロックを単位とした周期構造を持っていることが判る。
【0218】
[本実施例のまとめ]
上記実施例の方法を用いることによって、任意のk入力変数によって実現可能な2k個の論理関数を、(3/4)・2k個のプリインバータを用いて実現することができる。
【0219】
上記実施例に示すように、2値信号を複数用いて、論理関数機能構成データを多値表現した場合、集積回路における第2の入力信号の総数は、第1の実施例の場合の総数である2kと等しいか、または多いかのいずれかである。プリインバータの数を低減できる一方、第2の入力信号の数が増加し、そのための入力ゲート電極数が増加する。
【0220】
しかし、プリインバータ数を低減する場合の面積に対する効果と、第2の入力信号を入力するための入力ゲート電極数の増加による効果とでは、一般的には前者の効果の方が大きくなる。したがって、上記実施例を用いることによって、論理関数機能再構成可能な集積回路を、低面積コストで実現することができる。
【0221】
(第6の実施例)
第5の実施例である集積回路IC3のプリインバータでは、複数の第2の入力信号を入力することによって、入力信号からみた複数の閾値を、任意の入力電荷量に設定することができる。
【0222】
次に、上記実施例において、第2の入力信号の入力端子を1つにしても、入力信号として、物理的に多値である信号を用いることによって、同様の機能を持たせることが可能であることについて説明する([請求項9]に対応)。
【0223】
[多値電位を使用する場合の集積回路の回路構成:第5の実施例と比較]
図17は、第2の入力信号として多値電位を用いた論理機能再構成可能な集積回路IC4の回路構成を示す図である。
【0224】
集積回路IC4のメインインバータ1700の各入力ゲート容量値と、フローティングゲート閾値電位との設定は、第5の実施例の集積回路IC3と同様である。集積回路IC4は、そのプリインバータ1701における第2の入力信号端子数と、入力信号からみた複数の閾値とを設定する方法において、集積回路IC3とは異なる。
【0225】
[プリインバータの回路構成と動作]
図18は、集積回路IC4のプリインバータ1701の回路構成を示す図である。
【0226】
このプリインバータ1701の回路構成と動作とを、図10に示すニューロンMOSインバータINV3と比較して、2値の複数の第2の入力信号を入力することと、多値電位の1つの第2の入力信号を入力することとが等価であり、全く同じ機能を持たせることができることについて説明する。
【0227】
図18に示すプリインバータ1701の第2の入力信号端子input2[h]に接続される入力ゲート容量の値C2hを、図10に示すニューロンMOSインバータINV3の第2の入力信号を入力する入力ゲート容量の値C2h1、C2h2の和の値C2h1+C2h2にする。
【0228】
図19は、上記入力ゲート容量値を用いた場合におけるプリインバータ1701の入力ベクトル、または入力電荷量Qiと、規格化フローティングゲート電位Ufgとの関係を示す図である。
【0229】
図19中、Ctotal=C11+C12+C2h+Cgndであり、line0は、第2の入力信号端子input2[h]に入力される信号が、論理的に0である場合における規格化フローティングゲート電位Ufgであり、1ine1は、第2の入力信号端子input2[h]に入力される信号が、論理的に1である場合における規格化フローティングゲート電位Ufgである。
【0230】
入力信号が2値である場合は、1ine0とline1との2つの状態しか取ることができないが、多値を利用できる場合は、line0とline1との間の全ての値を取ることが可能である。多値として、論理的に(1/3)を使用することによって、図11と同じQiに、入力閾値電荷量Qithを設定することができる。すなわち、図11と同じQiに、Qithを設定するためには、図18のプリインバータ1701の第2の入力信号として、1、(1/3)、0の3値を用いればよい。
【0231】
上記実施例において、多値電位を第2の入力信号として用いることによって、2値の複数の入力信号を用いた場合と同様の機能を実現することができる。
【0232】
【発明の効果】
本発明の論理関数機能再構成可能な集積回路の設計方法によれば、容易に低面積コストで、任意の論理関数機能を、ニューロンMOS回路に実装することができるという効果を奏する。
【0233】
また、本方法によって設計された集積回路によれば、論理関数機能を再構成することができ、また、面積コストを小さく抑えることができるという効果を奏する。
【図面の簡単な説明】
【図1】k入力変数による2k個の任意の論理関数機能を実現する論理関数機能再構成可能な集積回路の回路構成であり、ニューロンMOSインバータを用いた2段論理による回路構成を示す図である。
【図2】上記実施例において、要素の個数k=3であり、重みベクトルが(1,3,5)であるときに、メインインバータ100における入力電荷量Qiと、規格化フローティングゲート電位Ufgとの関係を示す図である。
【図3】第j番目のプリインバータ101の回路図と、各入力ゲート電極とフローティングゲートとの間の容量値との関係を示す図である。集積回路IC1における第j番目のプリインバータ101の回路図である。
【図4】第5番目のプリインバータ101における入力電荷量Qiと、規格化フローティングゲート電位Ufgとの関係を示す図である。
【図5】入力ベクトルと規格化フローティングゲート電位Ufgとが、図4に示す関係であるときに、入力ベクトル(または、入力電荷量Qi)と、プリインバータ101の出力信号の論理的値との関係を示す図である。
【図6】i=1,2,3,4,5である場合、0≦α≦2であるαと、g(α,i)との関係を示す図である。
【図7】α=1.7,1.9,2.0,2.2の場合におけるS2とSαの関係を示す図である。
【図8】k=2,3,4の場合において、βと、総和Sum(2)に対する総和Sum(3)の比ηとの関係を示す図である。
【図9】本発明の実施例である集積回路IC2の回路図であり、上記機能を有する集積回路IC2の回路図である。
【図10】入力信号からみた3つの閾値を有するニューロンMOSインバータINV3を示す回路図である。
【図11】上記の特性を有するニューロンMOSインバータINV3の入力電荷量と、規格化フローティングゲート電位Ufgとの関係を示す図である。
【図12】上記方法によって、入力ゲート容量値を設定した場合におけるニューロンMOSインバータの入出力特性を示す図である。
【図13】本発明の実施例である集積回路IC3を示す回路図であり、k=2である場合において、論理関数機能を再構成することが可能な集積回路IC3の回路図である。
【図14】図13に示す集積回路IC3のメインインバータ1300におけるQi(または、入力ベクトル)と、規格化フローティングゲート電位Ufgとの関係を示す図である。
【図15】要素の数k=2である場合における入力変数x1,x2によって実現される16個の論理関数中、8個の論理関数を、図13に示す集積回路IC3によって実現するときに、規格化フローティングゲート電位Ufgと、プリインバータ1302、1303の出力信号の論理的値(Yp2,Yp3)との関係を示す図である。
【図16】集積回路IC3と同様の設計方法を、要素の数k=3に拡張し、設計された集積回路におけるメインインバータの入力ベクトル、または入力電荷量と、規格化フローティングゲート電位Ufgとの関係を示す図である。
【図17】第2の入力信号として多値電位を用いた論理機能再構成可能な集積回路IC4の回路構成を示す図である。
【図18】集積回路IC4のプリインバータ1701の回路構成を示す図である。
【図19】上記入力ゲート容量値を用いた場合におけるプリインバータ1701の入力ベクトル、または入力電荷量Qiと、規格化フローティングゲート電位Ufgとの関係を示す図である。
【図20】上記論理関数機能再構成可能な集積回路IC1の変形例である論理関数機能再構成可能な集積回路IC1aを示す構成図である。
【図21】従来のLUT(Look−Up Table)型の可変論理部の構成を示す図である。
【図22】従来のマルチプレクサ(MUX)型の可変論理部の構成を示す図である。
【図23】PLA型の可変論理部の構成を示す図である。
【図24】従来のニューロンMOSトランジスタを用いたCMOS型インバータの構造を示す図であり、図24(1)は、レイアウト図、図24(2)は、図24(1)に記載のX−X’での断面図、図24(3)は、図24(3)は、n入力相補型ニューロンMOSインバータ(ニューロンMOSインバータ)の回路図である。
【図25】従来のニューロンMOSトランジスタを用いたCMOS型インバータ(ニューロンMOSインバータ)の回路図であり、(1)はトランジスタ記号によって記述された図、(2)は論理記号によって記述された図である。
【符号の説明】
IC1、IC1a、IC2、IC3、IC4…論理関数機能再構成可能な集積回路、
100、110、901、1300、1700…メインインバータ、
101、111、902、1301、1302、1303、1701…プリインバータ、
102、112、903…出力バッファ、
113…メインインバータ初期化用NMOSFET、
114…プリインバータ初期化用NMOSFET、
xi…入力変数、
Vfg…フローティングゲート電位、
Qf…各入力ゲート容量に蓄積する電荷量の総和、
Vout…ニューロンMOSインバータの出力信号、
W…重みベクトル、
wi…重みベクトルWの要素、
X…入力ベクトル、
Sα…重みベクトルと入力ベクトルとの内積の結果、
S2…2のべき乗が要素である重みベクトルと入力ベクトルとの内積の結果、
η…総和Sum(2)に対する総和Sum(3)の比、
Ufg…規格化フローティングゲート電位、
Ufth…規格化フローティングゲート閾値電位、
Qi…入力電荷量、
Qith…入力閾値電荷量、
Ctotal…全ての入力ゲート容量の値の総和、
Vdd…電源電位。
Claims (6)
- 基板上に第1の導電型の半導体領域を有し、上記半導体領域内に設けられている第1の導電型とは異なる第2の導電型の半導体であるソース領域とドレイン領域とを有し、上記ソース領域とドレイン領域とを隔てる領域の上に、絶縁膜を介して設けられている電気的にフローティング状態とみなせる状態をとることが可能であるフローティングゲート電極を有し、上記フローティングゲート電極と絶縁膜とを介して、容量結合する複数のゲート電極を有する半導体装置を、ニューロンMOSトランジスタと呼び、
また、上記ニューロンMOSトランジスタにおけるフローティングゲート電極が、所定の電位を有する端子に、導通と遮断または電気的に高インピーダンスとの2つの状態をとり得る素子を介して接続されている半導体装置を、スイッチ付ニューロンMOSトランジスタと呼び、
上記ニューロンMOSトランジスタ、上記スイッチ付ニューロンMOSトランジスタにおける複数のゲート電極の中で、入力変数が入力されるゲート電極と上記フローティングゲート電極との間の容量を、入力変数用入力ゲート容量と呼び、
上記入力変数用入力ゲート容量について、その容量値の小さい順に番号を付け、入力変数の数kを用い、上記各容量値のうちで最も小容量である最小容量値を基準にした容量比を、容量比の集合{w 1 ,w 2 ,…,w i ,…,w k }によって表し、
上記容量比の集合における重なりのない要素で構成される任意の数の要素の和が互いに異なるように設計されているニューロンMOSトランジスタ、またはスイッチ付ニューロンMOSトランジスタを有し、
上記ニューロンMOSトランジスタ、スイッチ付ニューロンMOSトランジスタは、上記入力変数用入力ゲート容量の比wiが、wi=αi−1であり、1≦i≦k、1<α<2の正数であるという条件を満たすトランジスタであることを特徴とする論理関数機能再構成可能な集積回路。 - 基板上に第1の導電型の半導体領域を有し、上記半導体領域内に設けられている第1の導電型とは異なる第2の導電型の半導体であるソース領域とドレイン領域とを有し、上記ソース領域とドレイン領域とを隔てる領域の上に、絶縁膜を介して設けられている電気的にフローティング状態とみなせる状態をとることが可能であるフローティングゲート電極を有し、上記フローティングゲート電極と絶縁膜とを介して、容量結合する複数のゲート電極を有する半導体装置を、ニューロンMOSトランジスタと呼び、
また、上記ニューロンMOSトランジスタにおけるフローティングゲート電極が、所定の電位を有する端子に、導通と遮断または電気的に高インピーダンスとの2つの状態をとり得る素子を介して接続されている半導体装置を、スイッチ付ニューロンMOSトランジスタと呼び、
上記ニューロンMOSトランジスタ、上記スイッチ付ニューロンMOSトランジスタにおける複数のゲート電極の中で、入力変数が入力されるゲート電極と上記フローティングゲート電極との間の容量を、入力変数用入力ゲート容量と呼び、
上記入力変数用入力ゲート容量について、その容量値の小さい順に番号を付け、入力変数の数kを用い、上記各容量値のうちで最も小容量である最小容量値を基準にした容量比を、容量比の集合{w 1 ,w 2 ,…,w i ,…,w k }によって表し、
上記容量比の集合における重なりのない要素で構成される任意の数の要素の和が互いに異なるように設計されているニューロンMOSトランジスタ、またはスイッチ付ニューロンMOSトランジスタを有し、
上記ニューロンMOSトランジスタ、スイッチ付ニューロンMOSトランジスタは、i番目の入力変数用入力ゲート容量の比w i が
上記ニューロンMOSトランジスタ、スイッチ付ニューロンMOSトランジスタは、入力変数用入力ゲート容量比wi=αi−2・(1+β)であり、2≦i≦k、α>1の正数、0<β<1であるという条件を満たすトランジスタであることを特徴とする論理関数機能再構成可能な集積回路。 - 請求項2において、
上記ニューロンMOSトランジスタ、スイッチ付ニューロンMOSトランジスタは、入力変数用入力ゲート容量比wi --=2i一2・(1+β)であり、2≦i≦k、0<β<1であるという条件を満たすトランジスタであることを特徴とする論理関数機能再構成可能な集積回路。 - 請求項1〜請求項3のいずれか1項において、
上記ニューロンMOSトランジスタ、または上記スイッチ付ニューロンMOSトランジスタを含む2段論理の回路のうちで、1段目のニューロンMOSインバータ、または上記スイッチ付ニューロンMOSトランジスタであるプリインバータを有し、
上記プリインバータは、入力信号からみた場合、2つ以上の閾値を有するプリインバータであることを特徴とする論理関数機能再構成可能な集積回路。 - 請求項4において、
上記閾値を制御する複数の2値制御信号が入力される端子を有し、
上記複数の2値制御信号によって、上記2つ以上の閾値を決定することを特徴とする論理関数機能再構成可能な集積回路。 - 請求項4において、
閾値を制御する制御信号が入力される1つの制御信号端子を有し、上記1つの制御信号端子から入力される多値信号、またはアナログ信号によって、上記2つ以上の閾値を決定することを特徴とする論理関数機能再構成可能な集積回路。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000080022A JP3565495B2 (ja) | 2000-03-22 | 2000-03-22 | 論理関数機能再構成可能な集積回路およびその設計方法 |
DE60138432T DE60138432D1 (de) | 2000-01-07 | 2001-01-03 | Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung |
EP01300021A EP1115204B1 (en) | 2000-01-07 | 2001-01-03 | Function reconfigurable semiconductor device and integrated circuit configuring the semiconductor device |
DE60138145T DE60138145D1 (de) | 2000-01-07 | 2001-01-03 | Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung |
DE60133595T DE60133595T2 (de) | 2000-01-07 | 2001-01-03 | Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung |
EP05025870A EP1630686B1 (en) | 2000-01-07 | 2001-01-03 | Function reconfigurable semiconductor device and integrated circuit configuring the semiconductor device |
EP05025869A EP1630685B1 (en) | 2000-01-07 | 2001-01-03 | Function reconfigurable semiconductor device and integrated circuit configuring the semiconductor device |
US09/754,632 US7075827B2 (en) | 2000-01-07 | 2001-01-04 | Function reconfigurable semiconductor device and integrated circuit configuring the semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000080022A JP3565495B2 (ja) | 2000-03-22 | 2000-03-22 | 論理関数機能再構成可能な集積回路およびその設計方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004141722A Division JP4475571B2 (ja) | 2004-05-11 | 2004-05-11 | 論理関数機能再構成可能な集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001266106A JP2001266106A (ja) | 2001-09-28 |
JP3565495B2 true JP3565495B2 (ja) | 2004-09-15 |
Family
ID=18597185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000080022A Expired - Fee Related JP3565495B2 (ja) | 2000-01-07 | 2000-03-22 | 論理関数機能再構成可能な集積回路およびその設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3565495B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5058644B2 (ja) | 2007-03-26 | 2012-10-24 | 株式会社東芝 | ニューロンmosトランジスタ |
-
2000
- 2000-03-22 JP JP2000080022A patent/JP3565495B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001266106A (ja) | 2001-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7075827B2 (en) | Function reconfigurable semiconductor device and integrated circuit configuring the semiconductor device | |
KR102496680B1 (ko) | 디램-기반의 재설정 가능 로직 | |
US6347061B1 (en) | Programmable logic array device with random access memory configurable as product terms | |
KR100789044B1 (ko) | 스핀 의존 전달 특성을 갖는 트랜지스터를 이용한 재구성가능한 논리 회로 | |
Liu et al. | A carry lookahead adder based on hybrid CMOS-memristor logic circuit | |
Medina‐Santiago et al. | Reconfigurable arithmetic logic unit designed with threshold logic gates | |
JP3565495B2 (ja) | 論理関数機能再構成可能な集積回路およびその設計方法 | |
Ragavendran et al. | Low Power and Low Complexity Flip-Flop Design using MIFGMOS | |
KR102130980B1 (ko) | 변조 퀸맥클러스키 알고리즘을 이용한 삼진 논리 합성 장치 및 방법 | |
Sarvaghad-Moghaddam et al. | A multi-objective synthesis methodology for majority/minority logic networks | |
JP4475571B2 (ja) | 論理関数機能再構成可能な集積回路 | |
Ghosh et al. | Design and simulation of nanoelectronic data transfer system with an emphasis on reliability and stability analysis | |
US11354098B2 (en) | Configurable non-volatile arithmetic memory operators | |
Cui et al. | The synthesis method of logic circuits based on the iMemComp gates | |
JP3555110B2 (ja) | 論理関数機能再構成可能集積回路および再構成方法 | |
JP3760614B2 (ja) | 半導体装置及びその制御方法 | |
Choi | Designing the First Many-valued Logic Computer | |
JP3575424B2 (ja) | 関数機能再構成可能半導体装置 | |
JP2007514365A (ja) | 回路素子 | |
WO2020095347A1 (en) | Reconfigurable circuit | |
Li | Neuron-MOS enhanced Differential Current-Switch Threshold Logic | |
JP3485854B2 (ja) | 関数機能再構成可能な集積回路 | |
Flak et al. | Binary cellular neural/nonlinear network with programmable floating-gate neurons | |
JP2001044823A (ja) | ニューロンmos回路における可変閾値生成方法およびその方法を用いたニューロンmos回路 | |
JP2002043927A (ja) | 論理関数機能再構成可能集積回路及び論理関数機能再構成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040511 |
|
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: 20040604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040604 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110618 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120618 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |