JP2018133016A - Neural network system - Google Patents
Neural network system Download PDFInfo
- Publication number
- JP2018133016A JP2018133016A JP2017027585A JP2017027585A JP2018133016A JP 2018133016 A JP2018133016 A JP 2018133016A JP 2017027585 A JP2017027585 A JP 2017027585A JP 2017027585 A JP2017027585 A JP 2017027585A JP 2018133016 A JP2018133016 A JP 2018133016A
- Authority
- JP
- Japan
- Prior art keywords
- transistor
- potential
- current
- circuit
- memory cell
- 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.)
- Withdrawn
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 132
- 230000015654 memory Effects 0.000 claims abstract description 371
- 239000004065 semiconductor Substances 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims description 128
- 238000012545 processing Methods 0.000 claims description 58
- 230000015572 biosynthetic process Effects 0.000 claims description 10
- 229910052710 silicon Inorganic materials 0.000 claims description 3
- 239000010703 silicon Substances 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract 1
- 210000004027 cell Anatomy 0.000 description 278
- 210000002569 neuron Anatomy 0.000 description 40
- 239000003990 capacitor Substances 0.000 description 35
- 238000010586 diagram Methods 0.000 description 34
- 238000004364 calculation method Methods 0.000 description 26
- 230000008859 change Effects 0.000 description 21
- 238000000034 method Methods 0.000 description 20
- 238000007667 floating Methods 0.000 description 11
- 230000014509 gene expression Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 3
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 3
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 3
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000007599 discharging Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 229910052751 metal Inorganic materials 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 239000011701 zinc Substances 0.000 description 3
- 101100018694 Rattus norvegicus Il24 gene Proteins 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012212 insulator Substances 0.000 description 2
- 102000003898 interleukin-24 Human genes 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000001151 other effect Effects 0.000 description 2
- 229910052684 Cerium Inorganic materials 0.000 description 1
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- 229910052779 Neodymium Inorganic materials 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 229910052733 gallium Inorganic materials 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 229910052738 indium Inorganic materials 0.000 description 1
- APFVFJFRJDLVQX-UHFFFAOYSA-N indium atom Chemical compound [In] APFVFJFRJDLVQX-UHFFFAOYSA-N 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 229910052746 lanthanum Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- JBQYATWDVHIOAR-UHFFFAOYSA-N tellanylidenegermanium Chemical compound [Te]=[Ge] JBQYATWDVHIOAR-UHFFFAOYSA-N 0.000 description 1
- 229910052719 titanium Inorganic materials 0.000 description 1
- 229910052727 yttrium Inorganic materials 0.000 description 1
- 229910052726 zirconium Inorganic materials 0.000 description 1
Images
Landscapes
- Memory System (AREA)
- Logic Circuits (AREA)
- Dram (AREA)
Abstract
Description
本発明の一態様は、ニューラルネットワークシステムに関する。 One embodiment of the present invention relates to a neural network system.
また、本発明の一形態は半導体装置に関する。なお、本発明の一形態は上記の技術分野に限定されない。本明細書等で開示する発明の技術分野は、物、方法、または、製造方法に関するものである。または、本発明の一形態は、プロセス、マシン、マニュファクチャ、または、組成物(コンポジション・オブ・マター)に関するものである。 One embodiment of the present invention relates to a semiconductor device. Note that one embodiment of the present invention is not limited to the above technical field. The technical field of the invention disclosed in this specification and the like relates to an object, a method, or a manufacturing method. Alternatively, one embodiment of the present invention relates to a process, a machine, a manufacture, or a composition (composition of matter).
なお、本明細書等において半導体装置とは、半導体特性を利用することで機能しうる装置全般を指す。表示装置、発光装置、記憶装置、電気光学装置、蓄電装置、半導体回路及び電子機器は、半導体装置を有する場合がある。 Note that in this specification and the like, a semiconductor device refers to any device that can function by utilizing semiconductor characteristics. A display device, a light-emitting device, a memory device, an electro-optical device, a power storage device, a semiconductor circuit, and an electronic device may include a semiconductor device.
近年、人工ニューラルネットワーク((Arttificial Nueral Network;以下ANNまたは単にニューラルネットワークともいう))に関する研究が活発である。 In recent years, research on artificial neural networks (Artificial Neural Network; hereinafter also referred to as ANN or simply neural network) has been active.
例えば特許文献1では、ニューラルネットワークエンジンと、ノイマン型マイクロプロセッサと、を組み合わせたニューラルネットワークシステムについて開示している。特許文献1のニューラルネットワークシステムでは、ニューラルネットワークエンジンにおいてネットワーク構成情報と当該ネットワーク構造に対する重み情報の設定または更新を行う。当該構成とすることで、回路資源の削減とともに、様々な用途に適したネットワーク構造に再構成することができる。
For example,
ANNにおいて、大規模なデータ処理をハードウェアの回路資源で処理する場合、回路リソースの大型化を要する。 In the ANN, when large-scale data processing is performed with hardware circuit resources, the circuit resources need to be enlarged.
しかしながら、回路リソースの大型化は、消費電力の増大を招く虞がある。また、データ処理が小規模となる場合、回路リソースに無駄が生じてしまう。 However, an increase in circuit resources may increase power consumption. In addition, when data processing is small, circuit resources are wasted.
本発明の一態様は、消費電力を増大させることなく回路リソースを有効に活用できる、ニューラルネットワークシステムを提供することを課題の一とする。または本発明の一態様は、新規なニューラルネットワークシステムを提供することを課題の一とする。 An object of one embodiment of the present invention is to provide a neural network system that can effectively use circuit resources without increasing power consumption. Another object of one embodiment of the present invention is to provide a novel neural network system.
なお、これらの課題の記載は、他の課題の存在を妨げるものではない。なお、本発明の一態様は、これらの課題の全てを解決する必要はないものとする。なお、これら以外の課題は、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、明細書、図面、請求項などの記載から、これら以外の課題を抽出することが可能である。 Note that the description of these problems does not disturb the existence of other problems. Note that one embodiment of the present invention does not have to solve all of these problems. Issues other than these will be apparent from the description of the specification, drawings, claims, etc., and other issues can be extracted from the descriptions of the specification, drawings, claims, etc. It is.
本発明の一態様は、第1の集積回路および第2の集積回路を用いて入力データを処理するニューラルネットワークシステムであって、第1の集積回路は、第1のプログラマブルロジックデバイスと、第1の演算部と、第1のメモリ部と、を有し、第2の集積回路は、第2のプログラマブルロジックデバイスと、第2の演算部と、第2のメモリ部と、を有し、第1の演算部と、第2の演算部と、第1のメモリ部と、第2のメモリ部と、は、それぞれ第1トランジスタを有し、第1トランジスタは、チャネル形成領域に酸化物半導体を有し、第1のプログラマブルロジックデバイスは、第2のプログラマブルロジックデバイスに電気的に接続され、第1のプログラマブルロジックデバイスおよび第2のプログラマブルロジックは、コンフィギュレーションを切り替えることで、ニューラルネットワークにおける推論を実行する機能を有するニューラルネットワークシステムである。 One embodiment of the present invention is a neural network system that processes input data using a first integrated circuit and a second integrated circuit, the first integrated circuit including: a first programmable logic device; The second integrated circuit includes a second programmable logic device, a second arithmetic unit, and a second memory unit, and a second memory unit. The first arithmetic unit, the second arithmetic unit, the first memory unit, and the second memory unit each include a first transistor, and the first transistor includes an oxide semiconductor in a channel formation region. And the first programmable logic device is electrically connected to the second programmable logic device, and the first programmable logic device and the second programmable logic are configured Deployment By switching a neural network system having a function of executing the inference in the neural network.
本発明の一態様において、第1の演算部または第2の演算部は、ニューラルネットワークにおける学習を実行する機能を有するニューラルネットワークシステムが好ましい。 In one embodiment of the present invention, the first calculation unit or the second calculation unit is preferably a neural network system having a function of executing learning in a neural network.
本発明の一態様において、第1のメモリ部または第2のメモリ部は、学習によって得られた重み係数を保持する機能を有するニューラルネットワークシステムが好ましい。 In one embodiment of the present invention, the first memory unit or the second memory unit is preferably a neural network system having a function of holding a weighting coefficient obtained by learning.
本発明の一態様において、第1のプログラマブルロジックデバイスまたは第2のプログラマブルロジックデバイスは、第1のメモリ部または第2のメモリ部に保持された重み係数の情報を含むコンフィギュレーションデータの更新を行うニューラルネットワークシステムが好ましい。 In one embodiment of the present invention, the first programmable logic device or the second programmable logic device updates configuration data including information on weighting factors held in the first memory unit or the second memory unit. A neural network system is preferred.
本発明の一態様において、第1の演算部と、第2の演算部と、第1のメモリ部と、第2のメモリ部と、は、第2トランジスタを有し、第2トランジスタは、チャネル形成領域にシリコンを含み、第1トランジスタが設けられる層は、第2トランジスタが設けられる層と重ねて配置されるニューラルネットワークシステムが好ましい。 In one embodiment of the present invention, the first calculation unit, the second calculation unit, the first memory unit, and the second memory unit include a second transistor, and the second transistor is a channel. A layer including silicon in the formation region and provided with the first transistor is preferably a neural network system arranged to overlap the layer provided with the second transistor.
なおその他の本発明の一態様については、以下で述べる実施の形態における説明、および図面に記載されている。 Note that other aspects of the present invention are described in the description and drawings in the following embodiments.
本発明の一態様は、消費電力を増大させることなく回路リソースを有効に活用できる、ニューラルネットワークシステムを提供することができる。または本発明の一態様は、新規なニューラルネットワークシステムを提供することができる。 One embodiment of the present invention can provide a neural network system that can effectively use circuit resources without increasing power consumption. One embodiment of the present invention can provide a novel neural network system.
なお、これらの効果の記載は、他の効果の存在を妨げるものではない。なお、本発明の一態様は、これらの効果の全てを有する必要はない。なお、これら以外の効果は、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、明細書、図面、請求項などの記載から、これら以外の効果を抽出することが可能である。 Note that the description of these effects does not disturb the existence of other effects. Note that one embodiment of the present invention need not have all of these effects. It should be noted that the effects other than these are naturally obvious from the description of the specification, drawings, claims, etc., and it is possible to extract the other effects from the descriptions of the specification, drawings, claims, etc. It is.
以下、実施の形態について図面を参照しながら説明する。但し、実施の形態は多くの異なる態様で実施することが可能であり、趣旨およびその範囲から逸脱することなくその形態および詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は、以下の実施の形態の記載内容に限定して解釈されるものではない。 Hereinafter, embodiments will be described with reference to the drawings. However, the embodiments can be implemented in many different modes, and it is easily understood by those skilled in the art that the modes and details can be variously changed without departing from the spirit and scope thereof. . Therefore, the present invention should not be construed as being limited to the description of the following embodiments.
なお本明細書等において、「第1」、「第2」、「第3」という序数詞は、構成要素の混同を避けるために付したものである。従って、構成要素の数を限定するものではない。また、構成要素の順序を限定するものではない。また例えば、本明細書等の実施の形態の一において「第1」に言及された構成要素が、他の実施の形態、あるいは特許請求の範囲において「第2」に言及された構成要素とすることもありうる。また例えば、本明細書等の実施の形態の一において「第1」に言及された構成要素を、他の実施の形態、あるいは特許請求の範囲において省略することもありうる。 In the present specification and the like, the ordinal numbers “first”, “second”, and “third” are given to avoid confusion between components. Therefore, the number of components is not limited. Further, the order of the components is not limited. Further, for example, a component referred to as “first” in one embodiment of the present specification or the like is a component referred to as “second” in another embodiment or in the claims. It is also possible. In addition, for example, the constituent elements referred to as “first” in one embodiment of the present specification and the like may be omitted in other embodiments or in the claims.
なお図面において、同一の要素または同様な機能を有する要素、同一の材質の要素、あるいは同時に形成される要素等には同一の符号を付す場合があり、その繰り返しの説明は省略する場合がある。 Note that in the drawings, the same element, an element having a similar function, an element of the same material, an element formed at the same time, or the like may be denoted by the same reference numeral, and repeated description thereof may be omitted.
なお、本明細書においてニューラルネットワークとは、生物の神経回路網を模し、学習によってニューロンどうしの結合強度を決定し、問題解決能力を持たせるモデル全般を指す。ニューラルネットワークは入力層、中間層(隠れ層ともいう)、出力層を有する。ニューラルネットワークのうち、2層以上の中間層を有するものをディープラーニング(またはディープニューラルネットワーク)という。 In this specification, the term “neural network” refers to all models that imitate the neural network of a living organism, determine the connection strength between neurons by learning, and have problem solving ability. The neural network has an input layer, an intermediate layer (also referred to as a hidden layer), and an output layer. A neural network having two or more intermediate layers is called deep learning (or deep neural network).
また、本明細書において、ニューラルネットワークについて述べる際に、既にある情報からニューロンとニューロンの結合強度(重み係数とも言う)を決定することを「学習」と呼ぶ場合がある。 In this specification, when describing a neural network, determining the connection strength (also referred to as a weighting factor) between neurons from existing information may be referred to as “learning”.
また、本明細書において、学習によって得られた結合強度を用いてニューラルネットワークを構成し、そこから新たな結論を導くことを「推論」と呼ぶ場合がある。 Further, in this specification, the construction of a neural network using the connection strength obtained by learning and deriving a new conclusion therefrom may be referred to as “inference”.
(実施の形態1)
本実施の形態では、人工ニューラルネットワーク(ANN)の機能に基づいて入力されるデータの演算処理を行うためのシステムである、ニューラルネットワークシステムの構成について説明する。
(Embodiment 1)
In the present embodiment, a configuration of a neural network system, which is a system for performing arithmetic processing of data input based on the function of an artificial neural network (ANN), will be described.
図1(A)は、ニューラルネットワークシステムを説明するためのブロック図である。ニューラルネットワークシステム10は、複数の集積回路11によって構成される。集積回路11は、配線またはネットワークを介して、互いに電気的に接続される。
FIG. 1A is a block diagram for explaining a neural network system. The
図1(A)は、複数の集積回路11の一例として、集積回路11[1]および集積回路11[2]を図示している。集積回路11[1]は、プログラマブルロジックデバイス20[1]、メモリ部30[1]および演算部40[1]を有する。集積回路11[2]は、プログラマブルロジックデバイス20[2]、メモリ部30[2]および演算部40[2]を有する。
FIG. 1A illustrates an integrated circuit 11 [1] and an integrated circuit 11 [2] as an example of the plurality of
なおプログラマブルロジックデバイス20[1]、20[2]は、OSトランジスタを有するFPGAである。なお、本明細書において、OSトランジスタを有するFPGAをOS−FPGAと呼称する。 The programmable logic devices 20 [1] and 20 [2] are FPGAs having OS transistors. Note that in this specification, an FPGA having an OS transistor is referred to as an OS-FPGA.
OS‐FPGAは、SRAMで構成されるFPGAよりもメモリの面積を小さくすることができる。そのため、コンテキスト切り替え機能を追加しても面積増加が少ない。また、OS‐FPGAはブースティングによりデータやパラメータを高速に伝えることができる。なお、OS−FPGAの詳細は後述する実施の形態4で説明を行う。 The OS-FPGA can reduce the area of the memory compared to the FPGA configured with the SRAM. Therefore, even if a context switching function is added, the area increase is small. The OS-FPGA can transmit data and parameters at high speed by boosting. Details of the OS-FPGA will be described in a fourth embodiment described later.
プログラマブルロジックデバイス20[1]は、入出力部を介して他の集積回路(例えば集積回路11[2])が有するプログラマブルロジックデバイス(例えばプログラマブルロジックデバイス20[2])との接続を切り替える機能を有する。プログラマブルロジックデバイス20[1]は、回路構成の設定に応じて、異なるデータ処理を行う機能を有する。具体的には、人工ニューラルネットワークでの推論に用いる重み係数(パラメータ)および入出力されるデータ数を切り替えて、推論を実行する。 The programmable logic device 20 [1] has a function of switching connection with a programmable logic device (for example, the programmable logic device 20 [2]) included in another integrated circuit (for example, the integrated circuit 11 [2]) via the input / output unit. Have. The programmable logic device 20 [1] has a function of performing different data processing according to the setting of the circuit configuration. Specifically, the inference is executed by switching the weighting coefficient (parameter) used for inference in the artificial neural network and the number of input / output data.
プログラマブルロジックデバイス20[2]は、入出力部を介して他の集積回路(例えば集積回路11[1])が有するプログラマブルロジックデバイス(例えばプログラマブルロジックデバイス20[1])との接続を切り替える機能を有する。プログラマブルロジックデバイス20[2]は、回路構成の設定に応じて、異なるデータ処理を行う機能を有する。具体的には、人工ニューラルネットワークでの推論に用いる重み係数(パラメータ)および入出力されるデータ数を切り替えて、推論を実行する。 The programmable logic device 20 [2] has a function of switching connection with a programmable logic device (for example, the programmable logic device 20 [1]) included in another integrated circuit (for example, the integrated circuit 11 [1]) via the input / output unit. Have. The programmable logic device 20 [2] has a function of performing different data processing according to the circuit configuration setting. Specifically, the inference is executed by switching the weighting coefficient (parameter) used for inference in the artificial neural network and the number of input / output data.
人工ニューラルネットワークとしては、解決したい課題に応じて、ディープニューラルネットネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、自己符号化器、深層ボルツマンマシン(DBM)、深層信念ネットワーク(DBN)などの演算を実行することができる。 As an artificial neural network, depending on the problem to be solved, a deep neural network (DNN), a convolutional neural network (CNN), a recursive neural network (RNN), a self-encoder, a deep Boltzmann machine (DBM), a deep belief Operations such as a network (DBN) can be executed.
プログラマブルロジックデバイス20[1]、20[2]は、データ処理の切り替えに合わせて、入出力部の設定を切り替える機能を有する。具体的には、入出力されるデータ数が入出力部のプログラマブルIOの数より多い場合、別の集積回路11が有するプログラマブルロジックデバイス20と並列にデータ処理を行うように、入出力部の設定を切り替える機能を有する。
The programmable logic devices 20 [1] and 20 [2] have a function of switching input / output unit settings in accordance with switching of data processing. Specifically, when the number of input / output data is larger than the number of programmable IOs in the input / output unit, the setting of the input / output unit is performed so that data processing is performed in parallel with the
メモリ部30[1]は、演算部40[1]で実行するプログラム、およびプログラマブルロジックデバイス20[1]で用いる重み係数の情報を含むコンフィギュレーションデータを保持する機能を有する。メモリ部30[1]は、一例として、NOSRAM31[1]およびDOSRAM32[1]を有する。NOSRAM31[1]およびDOSRAM32[1]はOSトランジスタを用いて形成する。 The memory unit 30 [1] has a function of holding configuration data including information about weighting coefficients used by the program executed by the arithmetic unit 40 [1] and the programmable logic device 20 [1]. As an example, the memory unit 30 [1] includes a NOSRAM 31 [1] and a DOSRAM 32 [1]. NOSRAM 31 [1] and DOSRAM 32 [1] are formed using OS transistors.
メモリ部30[2]は、演算部40[2]で実行するプログラム、およびプログラマブルロジックデバイス20[2]で用いる重み係数の情報を含むコンフィギュレーションデータを保持する機能を有する。メモリ部30[2]は、一例として、NOSRAM31[2]およびDOSRAM32[2]を有する。NOSRAM31[2]およびDOSRAM32[2]はOSトランジスタを用いて形成する。 The memory unit 30 [2] has a function of holding configuration data including information about weighting coefficients used in the program executed by the arithmetic unit 40 [2] and the programmable logic device 20 [2]. As an example, the memory unit 30 [2] includes a NOSRAM 31 [2] and a DOSRAM 32 [2]. NOSRAM 31 [2] and DOSRAM 32 [2] are formed using OS transistors.
ニューラルネットワークの計算に用いられる重み係数の情報を含むコンフィギュレーションデータは、一旦、メモリ部30[1]、30[2]に保持することができる。上記コンフィギュレーションデータは、演算部40[1]、40[2]を介して、集積回路11[1]、11[2]の外部に設けられたメモリに保持してもよいが、内部に設けられたメモリ部30[1]、30[2]の方が、より高速且つ低消費電力に上記パラメータにアクセス(読み出しおよび書き込み)することができる。 Configuration data including information on weighting factors used for calculation of the neural network can be temporarily held in the memory units 30 [1] and 30 [2]. The configuration data may be held in a memory provided outside the integrated circuits 11 [1] and 11 [2] via the arithmetic units 40 [1] and 40 [2]. The memory units 30 [1] and 30 [2] thus configured can access (read and write) the parameters at higher speed and with lower power consumption.
なお、DOSRAM(登録商標)とは、「Dynamic Oxide Semiconductor RAM」の略称であり、1T(トランジスタ)1C(容量)型のメモリセルを有するRAMを指す。DOSRAMは、OSトランジスタのオフ電流が低いことを利用したメモリである。 Note that DOSRAM (registered trademark) is an abbreviation for “Dynamic Oxide Semiconductor RAM” and refers to a RAM having 1T (transistor) 1C (capacitance) type memory cells. DOSRAM is a memory that utilizes the low off-state current of an OS transistor.
DOSRAM32[1]、32[2]は、OSトランジスタを用いて形成されたDRAMである。DOSRAM32[1]、32[2]は、OSトランジスタを含むメモリセルと、Siトランジスタを含む読み出し回路部を有する。上記メモリセルと読み出し回路部は、積層された異なる層に設けることができるため、DOSRAM32[1]、32[2]は、全体の回路面積を小さくすることができる。なお、DOSRAMの詳細は後述する実施の形態3で説明を行う。
The DOSRAMs 32 [1] and 32 [2] are DRAMs formed using OS transistors. The DOSRAMs 32 [1] and 32 [2] each include a memory cell including an OS transistor and a reading circuit portion including a Si transistor. Since the memory cell and the reading circuit portion can be provided in different stacked layers, the entire circuit area of the DOSRAMs 32 [1] and 32 [2] can be reduced. The details of DOSRAM will be described in
ニューラルネットワークを用いた大規模並列計算は、入力データが1000を超えることがある。上記入力データをSRAMに格納する場合、SRAMはバス幅や回路面積に制限があり、記憶容量が小さいため、上記入力データを小分けにして格納せざるを得ない。DOSRAM32[1]、32[2]は、限られた回路面積でも積層することが可能であるため、メモリセルを高集積に配置することが可能である。 In large-scale parallel computation using a neural network, input data may exceed 1000. When storing the input data in the SRAM, the SRAM has a limited bus width and circuit area, and has a small storage capacity. Therefore, the input data must be stored in small portions. Since the DOSRAMs 32 [1] and 32 [2] can be stacked even with a limited circuit area, memory cells can be arranged highly integrated.
また、NOSRAM(登録商標)とは「Nonvolatile Oxide Semiconductor RAM」の略称であり、ゲインセル型(2T型、3T型)のメモリセルを有するRAMを指す。NOSRAMは、OSトランジスタのオフ電流が低いことを利用したメモリである。 NOSRAM (registered trademark) is an abbreviation of “Nonvolatile Oxide Semiconductor RAM” and refers to a RAM having gain cell type (2T type, 3T type) memory cells. NOSRAM is a memory that utilizes the low off-state current of the OS transistor.
NOSRAM31[1]、31[2]はOSトランジスタを用いたメモリである。NOSRAM31は、フラッシュメモリや、ReRAM(Resistive Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)などの他の不揮発性メモリと比べて、データを書き込む際の消費電力が小さい。また、フラッシュメモリやReRAMのように、データを書き込む際に素子が劣化することもなく、データの書き込み可能回数に制限が無い。また、フラッシュメモリやReRAMのように、素子が劣化することに伴うセル間のばらつきの問題もない。また、フラッシュメモリやReRAMのような2端子のメモリとは異なり、書き込みおよび読み出しのための回路が複雑にならない。なお、NOSRAMの詳細は後述する実施の形態3で説明を行う。
NOSRAM 31 [1] and 31 [2] are memories using OS transistors. The
また、NOSRAM31[1]、31[2]は、1ビットの2値データの他に、2ビット以上の多値データを保持することができる。NOSRAM31[1]、31[2]は多値データを保持することで、1ビット当たりのメモリセル面積を小さくすることができる。 Further, the NOSRAMs 31 [1] and 31 [2] can hold multi-value data of 2 bits or more in addition to 1-bit binary data. The NOSRAMs 31 [1] and 31 [2] hold multi-value data, so that the memory cell area per bit can be reduced.
また、NOSRAM31[1]、31[2]は、デジタルデータの他にアナログデータを保持することができる。NOSRAM31[1]、31[2]は、アナログデータのまま保持することができるため、D/A変換回路やA/D変換回路が不要である。そのため、NOSRAM31[1]、31[2]は周辺回路の面積を小さくすることができる。 The NOSRAMs 31 [1] and 31 [2] can hold analog data in addition to digital data. Since NOSRAM 31 [1] and 31 [2] can hold analog data as they are, a D / A conversion circuit and an A / D conversion circuit are unnecessary. Therefore, NOSRAM 31 [1], 31 [2] can reduce the area of the peripheral circuit.
演算部40[1]は、メモリ部30[1]に保持されたプログラムに基づいて、データ処理を実行する機能を有する。具体的には、入力されるデータをもとに人工ニューラルネットワークでの学習で得られる重み係数の情報を含むコンフィギュレーションデータを見積もり、メモリ部30[1]に保持する。演算部40[1]は、一例として、プロセッサ41[1]およびアナログ演算回路42[1]を有する。プロセッサ41[1]としては、CPU(Central Processing Unit)の他、GPU(Graphics Processing Unit)がある。 The arithmetic unit 40 [1] has a function of executing data processing based on a program held in the memory unit 30 [1]. Specifically, configuration data including weight coefficient information obtained by learning with an artificial neural network is estimated based on input data, and stored in the memory unit 30 [1]. As an example, the arithmetic unit 40 [1] includes a processor 41 [1] and an analog arithmetic circuit 42 [1]. As the processor 41 [1], there is a GPU (Graphics Processing Unit) in addition to a CPU (Central Processing Unit).
演算部40[2]は、メモリ部30[2]に保持されたプログラムに基づいて、データ処理を実行する機能を有する。具体的には、入力されるデータをもとに人工ニューラルネットワークでの学習で得られる重み係数の情報を含むコンフィギュレーションデータを見積もり、メモリ部30[2]に保持する。演算部40[2]は、一例として、プロセッサ41[2]およびアナログ演算回路42[2]を有する。プロセッサ41[1]としては、CPUの他、GPUがある。 The arithmetic unit 40 [2] has a function of executing data processing based on a program held in the memory unit 30 [2]. Specifically, the configuration data including information on the weighting coefficient obtained by learning with the artificial neural network is estimated based on the input data, and stored in the memory unit 30 [2]. As an example, the arithmetic unit 40 [2] includes a processor 41 [2] and an analog arithmetic circuit 42 [2]. The processor 41 [1] includes a GPU in addition to the CPU.
アナログ演算回路42[1]、42[2]はOSトランジスタを用いて形成する。OSトランジスタを用いたアナログ演算回路42[1]、42[2]は、アナログメモリを有し、推定及び学習に必要な積和演算を、低消費電力で実行することが可能になる。なお、OSトランジスタを用いた積和演算回路の詳細は、後述する実施の形態5で説明を行う。 The analog arithmetic circuits 42 [1] and 42 [2] are formed using OS transistors. The analog operation circuits 42 [1] and 42 [2] using OS transistors have analog memories, and can perform product-sum operations necessary for estimation and learning with low power consumption. Note that details of the product-sum operation circuit using the OS transistor will be described in Embodiment 5 described later.
上述した集積回路11を有するニューラルネットワークシステムは、多数の機能をより有効に機能させるためにソフトウェア処理とハードウェア処理を複合化させることができる。具体的には、演算部でソフトウェア処理、プログラマブルロジックデバイスでハードウェア処理を実行させることができる。
The neural network system having the integrated
そのため集積回路11では、条件分岐等のハードウェア処理での実装が困難な複雑な処理をソフトウェア処理で実行させるとともに、ソフトウェア処理では困難な並列処理をハードウェアで実行させることができる。従って、大規模なデータ処理を効率良く実行することができる。集積回路11を有するニューラルネットワークシステムでは、適材適所で回路を利用することにより、ニューラルネットワークシステムの処理性能の更なる向上を図ることができる。
Therefore, the
集積回路11を構成する各回路は、同じチップ内に混載されているため高速に伝送可能である。加えて、別の集積回路と連動してデータ処理を行うことで、ニューラルネットワークシステムの拡張・縮小を容易に行うことができる。つまり別の集積回路11の回路リソースを活用して並列のデータ処理を行うことが可能にする。そのため、複数の集積回路11を並列に接続することで大規模なデータを同時に処理可能といったことができ、大規模データの短時間での処理等を可能にすることができる。
Since the circuits constituting the
集積回路11[1]と集積回路11[2]とを区別しない場合、集積回路11と呼ぶ。他の要素(プログラマブルロジックデバイス20、メモリ部30、演算部40など))についても同様である。
When the integrated circuit 11 [1] and the integrated circuit 11 [2] are not distinguished, they are referred to as an
図1(B)は、図1(A)で説明した、集積回路11が有するプログラマブルロジックデバイス20、メモリ部30、および演算部40の各ブロックを図示している。また図1(B)では、プログラマブルロジックデバイス20の詳細として、プログラマブルエリア21にある入出力ブロック22およびコア23を図示している。
FIG. 1B illustrates each block of the
プログラマブルエリア21は、複数の入出力ブロック22およびコア23を有する。プログラマブルエリア21は、回路ブロックともいう。プログラマブルロジックデバイス20は、プログラマブルエリアである回路ブロックを複数有する構成とすることもできる。この場合、複数の回路ブロックごとに異なる機能を実現するためのコンフィギュレーションデータを保持し、プログラマブルロジックデバイス同士の接続状態、およびデータを処理する機能を有せしめることができる。
The
プログラマブルロジックデバイス20同士の接続状態、およびデータを処理する機能は、複数組のコンフィギュレーションデータによって設定される。コンフィギュレーションデータは、複数組のコンフィギュレーションメモリに格納される。コンフィギュレーションメモリは、コンテキストに応じて、入出力ブロック22およびコア23の設定を行う。この設定を切り替えることで、上述したデータを処理する機能を設定するとともに、コンテキストの切り替えによってデータを処理する機能を瞬時に切り替える、所謂マルチコンテキスト方式を実現可能な構成とすることができる。コア23はプログラマブルロジックエレメント(PLE)およびプログラマブルスイッチ(PRS)、入出力ブロック22はプログラマブルIO(PIO)を有する。
The connection state between the
集積回路11では、プログラマブルロジックデバイス20、メモリ部30、および演算部40を1つのダイ(チップ)の上に設けることができる。そのため、ニューラルネットワークシステム10は、高速且つ低消費電力に、ニューラルネットワークの計算を実行することができる。またプログラマブルロジックデバイス20、メモリ部30、および演算部40は、同じ製造プロセスで作製することができる。そのため、ニューラルネットワークシステム10は、低コストで作製することができる。
In the
図2(A)は、ニューラルネットワークシステム10を構成するブロックの他、コントローラ50を図示している。ニューラルネットワークシステム10の集積回路11が有するプログラマブルロジックデバイス20は、個別の集積回路にある演算部で制御することも可能であるが、コントローラ50で統合的に制御することもできる。
FIG. 2A illustrates the
コントローラ50は、入力データ(DATA)に応じて、コンフィギュレーション、コンテキストの切り替え(CONTEXT)、または使わない集積回路11へのパワーゲーティング(PG)等を行うことができる。集積回路11は、ゲーティング用のスイッチを有していてもよい。コントローラ50は、集積回路11のクロックゲーティング等を行う構成としてもよい。コントローラ50で統合的にニューラルネットワークシステム10を制御する構成とすることで、システム全体での低消費電力化を図ることができる。
The
コントローラ50は、例えば図2(B)のように各集積回路11を連動して動作させる。図2(B)ではコンテキスト0乃至コンテキスト3の4つの回路構成を切り替える場合に、ニューラルネットワークシステム10の集積回路の状態を模式的に示したブロック図である。
The
図2(B)において、集積回路11_Aはプログラマブルロジックデバイス20、メモリ部30、および演算部40等の回路リソースを活用してデータ処理を行う集積回路を表している。また集積回路11_Bはプログラマブルロジックデバイス20、メモリ部30、および演算部40等の回路リソースを活用しない集積回路を表している。つまり集積回路11_Bは、積極的にパワーゲーティングあるいはクロックゲーティングをすることで消費電力の低減を図ることができる集積回路である。なお図2(B)では、ニューラルネットワークシステム10を構成する集積回路として16個を図示している。
In FIG. 2B, an integrated circuit 11_A represents an integrated circuit that performs data processing by utilizing circuit resources such as the
図2(B)のコンテキスト0では、6個が集積回路11_Aであり、10個が集積回路11_Bである。図2(B)のコンテキスト1では、8個が集積回路11_Aであり、8個が集積回路11_Bである。図2(B)のコンテキスト2では、4個が集積回路11_Aであり、12個が集積回路11_Bである。図2(B)のコンテキスト3では、16個が集積回路11_Aであり、集積回路11_Bはない。コンテキストの切り替え、あるいはコンフィギュレーションデータを動的再構成することで図2(B)の各状態は、互いに切り替えることができる。
In the
図2(B)に示すようにコンテキストの切り替え、あるいはコンフィギュレーションデータの動的再構成によって集積回路11_Aの個数を選択することで、限られたピン数の入出力部を有するプログラマブルロジックデバイスを有する集積回路において、入力データの並列数の変化に応じた入出力端子数の増減を図ることができる。 As shown in FIG. 2B, by selecting the number of integrated circuits 11_A by context switching or dynamic reconfiguration of configuration data, a programmable logic device having a limited number of input / output units is provided. In the integrated circuit, the number of input / output terminals can be increased or decreased in accordance with the change in the parallel number of input data.
例えば図3(A)は、図2(B)のコンテキスト0の状態に対応する6個の集積回路11_Aが有するプログラマブルエリア21を図示している。なお図3(A)では、プログラマブルエリア21の入出力ブロック22のピン数を100個としている。つまり、ニューラルネットワークシステム10では、600個のピン数を有する入出力ブロック22としてデータd0乃至d599を並列で一括して処理することができる。
For example, FIG. 3A illustrates the
また図3(B)は、図2(B)のコンテキスト1の状態に対応する10個の集積回路11_Aが有するプログラマブルエリア21を図示している。なお図3(B)では、図3(A)と同様に、プログラマブルエリア21の入出力ブロック22のピン数を100個としている。つまり、ニューラルネットワークシステム10では、1000個のピン数を有する入出力ブロック22としてデータd0乃至d999を並列で一括して処理することができる。
FIG. 3B illustrates the
図3(A)、(B)に例示するように本発明の一態様であるニューラルネットワークシステムでは、コンテキストの切り替えによって集積回路11_Aの個数を選択することができる。そのため、限られたピン数の入出力部を有するプログラマブルロジックデバイスを有する集積回路において、入力データの並列数の変化に応じた入出力部の増減を図ることができる。 As illustrated in FIGS. 3A and 3B, in the neural network system which is one embodiment of the present invention, the number of integrated circuits 11_A can be selected by context switching. Therefore, in an integrated circuit having a programmable logic device having an input / output unit with a limited number of pins, the number of input / output units can be increased or decreased according to a change in the parallel number of input data.
なお図3(A)、(B)では図示していないが、図2(B)で図示した集積回路11_Bは、データ処理を担わない回路リソースとなる。集積回路11_Bは、パワーゲーティング等を適用することで低消費電力化を図ることができる。 Although not illustrated in FIGS. 3A and 3B, the integrated circuit 11_B illustrated in FIG. 2B is a circuit resource that does not perform data processing. The integrated circuit 11_B can achieve low power consumption by applying power gating or the like.
なお本発明の一態様であるニューラルネットワークシステムでは、コンテキストの切り替えや動的再構成を活用することで回路動作を継続しながらプログラマブルロジックデバイスあたりのプログラマブルエリア数を増やすことで、回路リソースの増大を図ることができる。つまり入出力ブロック22のピン数を増やし、入力されるデータの並列数を増やすことができる。
In the neural network system according to one aspect of the present invention, the circuit resources can be increased by increasing the number of programmable areas per programmable logic device while continuing the circuit operation by utilizing context switching and dynamic reconfiguration. Can be planned. That is, the number of pins of the input /
例えば、図4(A)に図示するようにプログラマブルロジックデバイス20はプログラマブルエリア21A乃至21Dの4個を有する。複数のプログラマブルエリア21A乃至21Dを有する構成とすることで、コンテキストの切り替えを入出力ブロック22のピン数の増加を図ることができる。
For example, as shown in FIG. 4A, the
なお本発明の一態様であるニューラルネットワークシステムでは、ニューラルネットワークシステムをさらに複数組み合わせることでより巨大なシステムにすることも可能である。 Note that in the neural network system which is one embodiment of the present invention, a larger system can be obtained by further combining a plurality of neural network systems.
例えば、図4(B)に図示するようにニューラルネットワークシステム10は、複数のニューラルネットワークシステム10で構成される巨大ニューラルネットワークシステム70に組み込むことができる。当該構成とすることで、ニューラルネットワークシステムのインターフェースを有するプログラマブルロジックデバイス20の数が増加するため、入出力ブロック22のピン数の増加を図ることができる。
For example, as illustrated in FIG. 4B, the
なお巨大ニューラルネットワークシステム70において、ニューラルネットワークシステム10同士は、ネットワークを介して接続される構成としてもよい。なおネットワークは、それぞれに通信モジュールを設け、無線または有線による通信を行う構成とすればよい。通信モジュールは、アンテナを介して通信を行うことができる。例えばWorld Wide Web(WWW)の基盤であるインターネット、イントラネット、エクストラネット、PAN(Personal Area Network)、LAN(Local Area Network)、CAN(Campus Area Network)、MAN(Metropolitan Area Network)、WAN(Wide Area Network)、GAN(Global Area Network)等のコンピュータネットワークに各電子装置を接続させ、通信を行うことができる。無線通信を行う場合、通信プロトコル又は通信技術として、LTE(Long Term Evolution)、GSM(Global System for Mobile Communication:登録商標)、EDGE(Enhanced Data Rates for GSM Evolution)、CDMA2000(Code Division Multiple Access 2000)、W−CDMA(登録商標)などの通信規格、またはWi−Fi(登録商標)、Bluetooth(登録商標)、ZigBee(登録商標)等のIEEEにより通信規格化された仕様を用いることができる。
In the huge
図4(A)、(B)の構成とすることで、外部のセンサ等で得られたアナログ信号を別々のニューラルネットワークシステムで処理することができる。例えば、生体情報のように、脳波、脈拍、血圧、体温等といった情報を脳波センサ、脈波センサ、血圧センサ、温度センサといった各種センサで取得し、別々のニューラルネットワークシステムでアナログ信号を処理することができる。別々のニューラルネットワークシステムのそれぞれで信号の処理、または学習を行うことで一つのニューラルネットワークシステムあたりの情報処理量を少なくできる。そのため、より少ない演算量で信号の処理、または学習を行うことができる。その結果、認識精度を高めることができる。それぞれのニューラルネットワークシステムで得られた情報から、複雑に変化する生体情報の変化を瞬時に統合的に把握することができるといったことが期待できる。 4A and 4B, analog signals obtained by an external sensor or the like can be processed by separate neural network systems. For example, like biological information, information such as brain waves, pulse, blood pressure, body temperature is acquired by various sensors such as brain wave sensors, pulse wave sensors, blood pressure sensors, temperature sensors, and analog signals are processed by separate neural network systems. Can do. The amount of information processing per one neural network system can be reduced by performing signal processing or learning in each of the different neural network systems. Therefore, signal processing or learning can be performed with a smaller amount of calculation. As a result, recognition accuracy can be increased. From the information obtained by each neural network system, it can be expected that changes in biological information that change in a complex manner can be instantly and comprehensively grasped.
図5は、ニューラルネットワークシステム10の動作を説明するためのフローチャートである。
FIG. 5 is a flowchart for explaining the operation of the
ニューラルネットワークシステム10の動作は、例えば、コンフィギュレーション動作(初期化、リコンフィギュレーション含む)、学習動作、推定動作で構成される。
The operation of the
なお以下の動作の説明において、プログラマブルロジックデバイス20の回路構成を切り替える際、コンフィギュレーションデータを更新する動的再構成を一例として挙げて説明する。プログラマブルロジックデバイス20が複数のプログラマブルエリアを有する場合、動的再構成の他、マルチコンテキスト方式によるコンテキストの切り替えと組み合わせて回路構成の切り替えを行うことも可能である。
In the following description of the operation, a dynamic reconfiguration for updating configuration data when switching the circuit configuration of the
始めに初期化動作(ステップS101)を行う。初期化動作において、各集積回路は、システム外部のコントローラ60等よりコンフィギュレーションデータや機械学習に用いる重み係数の初期値をメモリ部30に書き込む動作を行う。重み係数の初期値は、機械学習によって得られた値、あるいは乱数等によって与えられる。
First, an initialization operation (step S101) is performed. In the initialization operation, each integrated circuit performs an operation of writing configuration data and initial values of weighting factors used for machine learning to the
次いで、コンフィギュレーション動作(ステップS102)を行う。各集積回路は、演算部40の制御でメモリ部30からコンフィギュレーションデータを読み出し、プログラマブルロジックデバイス20のコンフィギュレーション動作を実行する。コンフィギュレーション実行完了後、プログラマブルロジックデバイスがコンフィギュレーションデータに基づいた回路構成となる。このコンフィギュレーション動作によって、集積回路間でのプログラマブルロジックデバイス20を介した相互接続による回路網が構築される。
Next, a configuration operation (step S102) is performed. Each integrated circuit reads configuration data from the
次いで学習データの有無(ステップS103)に応じて、学習動作または推定動作の判定が行われる。学習動作に移行するフラグ信号は、外部からニューラルネットワークシステム10への入力信号、コンフィギュレーション可能なプログラマブルロジックデバイス20の出力信号、演算部40の学習プログラム起動による出力信号等、で供給可能である。
Next, the learning operation or the estimation operation is determined according to the presence or absence of learning data (step S103). The flag signal that shifts to the learning operation can be supplied as an input signal to the
学習データがある場合、学習動作を行うためのリコンフィギュレーション動作(ステップS104)を行う。演算部40の制御でメモリ部30からコンフィギュレーションデータを読み出し、プログラマブルロジックデバイス20のリコンフィギュレーション動作を実行する。リコンフィギュレーション実行完了後、プログラマブルロジックデバイスがコンフィギュレーションデータに基づいた回路構成となる。このコンフィギュレーション動作によって、演算部40に学習データが入力される回路網が構築される。
If there is learning data, a reconfiguration operation (step S104) for performing the learning operation is performed. The configuration data is read from the
次いで学習動作(ステップS105)を行う。学習動作は、演算部40におけるソフトウェア処理によって行う。各集積回路は、演算部40の制御でメモリ部30から学習動作に必要なプログラム、および重み係数の初期値を読み出し、学習データに応じた重み係数を演算する。
Next, a learning operation (step S105) is performed. The learning operation is performed by software processing in the
次いで学習終了(ステップS106)となる。学習終了は、学習データの停止等によって移行する。 Next, learning ends (step S106). The learning ends when the learning data is stopped.
次いで学習データ保存(ステップS107)を行う。演算部40は、学習によって演算部40で得られた重み係数をメモリ部30に保存する。
Next, learning data is stored (step S107). The
次いで別の学習データの有無(ステップS108)に応じて、学習動作の継続の判定が行われる。学習動作に移行するフラグ信号は、外部からニューラルネットワークシステム10への入力信号、コンフィギュレーション可能なプログラマブルロジックデバイス20の出力信号、演算部40の学習プログラム起動による出力信号等、で供給可能である。
Next, it is determined whether or not to continue the learning operation according to the presence or absence of other learning data (step S108). The flag signal that shifts to the learning operation can be supplied as an input signal to the
別の学習データがある場合、学習動作を行うためのリコンフィギュレーション動作(ステップS109)を行う。演算部40の制御でメモリ部30からコンフィギュレーションデータを読み出し、プログラマブルロジックデバイス20のリコンフィギュレーション動作を実行する。リコンフィギュレーション実行完了後、プログラマブルロジックデバイスがコンフィギュレーションデータに基づいた回路構成となる。このコンフィギュレーション動作によって、演算部40に学習データが入力される回路網が構築される。
If there is another learning data, a reconfiguration operation (step S109) for performing the learning operation is performed. The configuration data is read from the
次いで学習動作(ステップS110)を行う。学習動作は、演算部40におけるソフトウェア処理によって行う。各集積回路は、演算部40の制御でメモリ部30から学習動作に必要なプログラム、および重み係数の初期値を読み出し、学習データに応じた重み係数を演算する。
Next, a learning operation (step S110) is performed. The learning operation is performed by software processing in the
次いで学習終了(ステップS111)となる。学習終了は、学習データの停止等によって移行する。 Next, the learning ends (step S111). The learning ends when the learning data is stopped.
次いで学習データ保存(ステップS112)を行う。演算部40は、学習によって演算部40で得られた重み係数をメモリ部30に保持させる。
Next, learning data storage (step S112) is performed. The
以降、ステップS103乃至ステップS112を繰り返すことで、学習データに応じた複数の重み係数を取得することが可能である。 Thereafter, by repeating Steps S103 to S112, it is possible to acquire a plurality of weighting factors according to the learning data.
次いで推定動作を説明する。推定動作を行うためのリコンフィギュレーション動作(ステップS113)を行う。各集積回路は、演算部40の制御でメモリ部30から学習動作に必要なプログラム、および学習によって見積もられた重み係数を読み出し、プログラマブルロジックデバイス20のリコンフィギュレーション動作を実行する。リコンフィギュレーション実行完了後、プログラマブルロジックデバイスがコンフィギュレーションデータに基づいた回路構成となる。このリコンフィギュレーション動作によって、プログラマブルロジックデバイス20に推定データが入力される回路網が構築される。
Next, the estimation operation will be described. A reconfiguration operation (step S113) for performing the estimation operation is performed. Each integrated circuit reads the program necessary for the learning operation and the weighting factor estimated by the learning from the
次いで推定動作(ステップS114)を行う。推定動作は、プログラマブルロジックデバイス20におけるハードウェア処理によって行う。各集積回路は、プログラマブルロジックデバイス20に設定された重み係数の情報を含むコンフィギュレーションデータに応じて、推定データから予想される出力データを出力する。
Next, an estimation operation (step S114) is performed. The estimation operation is performed by hardware processing in the
次いで別の推定データの有無(ステップS115)に応じて、推定動作の継続の判定が行われる。推定動作に移行するフラグ信号は、外部からニューラルネットワークシステム10への入力信号、コンフィギュレーション可能なプログラマブルロジックデバイス20の出力信号等、で供給可能である。別の推定データがない場合、終了する。
Next, the continuation of the estimation operation is determined according to the presence / absence of other estimation data (step S115). The flag signal that shifts to the estimation operation can be supplied as an input signal to the
別の推定データがある場合、別の推定動作を行うためのリコンフィギュレーション動作(ステップS116)を行う。各集積回路は、演算部40の制御でメモリ部30から学習動作に必要なプログラム、および学習によって見積もられた重み係数を読み出し、プログラマブルロジックデバイス20のリコンフィギュレーション動作を実行する。リコンフィギュレーション実行完了後、プログラマブルロジックデバイスがコンフィギュレーションデータに基づいた回路構成となる。このリコンフィギュレーション動作によって、プログラマブルロジックデバイス20に推定データが入力される回路網が構築される。
If there is another estimation data, a reconfiguration operation (step S116) for performing another estimation operation is performed. Each integrated circuit reads the program necessary for the learning operation and the weighting factor estimated by the learning from the
次いで推定動作(ステップS117)を行う。推定動作は、プログラマブルロジックデバイス20におけるハードウェア処理によって行う。各集積回路は、プログラマブルロジックデバイス20に設定された重み係数の情報を含むコンフィギュレーションデータに応じて、推定データから予想される出力データを出力する。
Next, an estimation operation (step S117) is performed. The estimation operation is performed by hardware processing in the
次いで別の推定データの有無(ステップS118)に応じて、推定動作の継続の判定が行われる。推定動作に移行するフラグ信号は、外部からニューラルネットワークシステム10への入力信号、コンフィギュレーション可能なプログラマブルロジックデバイス20の出力信号等、で供給可能である。別の推定データがない場合、終了する。
Next, the continuation of the estimation operation is determined according to the presence / absence of other estimation data (step S118). The flag signal that shifts to the estimation operation can be supplied as an input signal to the
以降、ステップS113乃至ステップS118を繰り返すことで、推定データから予想される出力データを取得することが可能である。 Thereafter, it is possible to obtain output data expected from the estimated data by repeating Steps S113 to S118.
図5で説明したステップS103乃至ステップS112で行う学習データに応じた複数の重み係数を取得する動作、ステップS113乃至ステップS118で行う推定データから予想される出力データを取得する動作は、図6および図7に示すブロック図で模式的に説明することができる。 The operation of acquiring a plurality of weighting factors according to the learning data performed in steps S103 to S112 described in FIG. 5 and the operation of acquiring output data expected from the estimation data performed in steps S113 to S118 are illustrated in FIG. This can be schematically described with reference to the block diagram shown in FIG.
図6(A)、(B)では、集積回路11を図示している。集積回路11が有する各構成は、図1(B)と同様である。
6A and 6B, the
図6(A)では、ステップS103乃至ステップS112で行う学習データに応じた複数の重み係数を取得する動作を太線破線の矢印71乃至72で図示している。
In FIG. 6A, operations for acquiring a plurality of weighting factors according to the learning data performed in steps S103 to S112 are indicated by thick dashed
図6(A)において矢印71は、コンフィギュレーション動作(リコンフィギュレーション動作)に相当する。つまり、図5で説明したステップS104、S108に相当する動作を表している。コンフィギュレーション動作によって、所定の集積回路11内の演算部40にデータが入力されるようプログラマブルロジックデバイス20による回路網が構築される。
In FIG. 6A, an
図6(A)において矢印72は、学習動作に相当する。つまり、図5で説明したステップS105乃至S107、S110乃至S112に相当する動作を表している。学習動作によって、所定の集積回路11内の演算部40でソフトウェア処理による演算処理を行い、プログラマブルロジックデバイス20による推定動作を行うための重み係数を取得する。演算部40で得られた重み係数は、メモリ部30で保持する。
In FIG. 6A, an
図6(B)では、ステップS113乃至ステップS118で行う推定データに応じた出力データを出力する動作を太線破線の矢印74乃至75で図示している。
In FIG. 6B, the operation of outputting the output data corresponding to the estimated data performed in steps S113 to S118 is indicated by thick dashed
図6(B)において矢印74は、コンフィギュレーション動作(リコンフィギュレーション動作)に相当する。つまり、図5で説明したステップS113、S116に相当する動作を表している。コンフィギュレーション動作によって、所定の集積回路11内のプログラマブルロジックデバイス20がメモリ部30に保持された重み係数の情報を含むコンフィギュレーションデータに応じて設定されるよう回路網が構築される。
In FIG. 6B, an
図6(B)において矢印75は、推定動作に相当する。つまり、図5で説明したステップS114、S117に相当する動作を表している。推定動作によって、所定の集積回路11内のプログラマブルロジックデバイス20でハードウェア処理による演算処理を行う。得られた出力信号は、外部に出力される。
In FIG. 6B, an
図7(A)、(B)では、図6(A)、(B)で模式的に説明した動作を、複数の集積回路として集積回路11[1]、11[2]を図示している。集積回路11[1]、11[2]が有する各構成は、図1(A)と同様である。 7A and 7B show the integrated circuits 11 [1] and 11 [2] as a plurality of integrated circuits, with the operations schematically described in FIGS. 6A and 6B. . Each structure of the integrated circuits 11 [1] and 11 [2] is similar to that illustrated in FIG.
図7(A)において矢印71[1]、71[2]は、コンフィギュレーション動作(リコンフィギュレーション動作)に相当する。コンフィギュレーション動作によって、複数の集積回路11[1]、11[2]内の演算部40[1]、40[2]にデータが入力されるようプログラマブルロジックデバイス20[1]、20[2]による回路網が構築される。 In FIG. 7A, arrows 71 [1] and 71 [2] correspond to a configuration operation (reconfiguration operation). Programmable logic devices 20 [1], 20 [2] so that data is input to the arithmetic units 40 [1], 40 [2] in the plurality of integrated circuits 11 [1], 11 [2] by the configuration operation. A circuit network is constructed.
図7(A)において矢印72[1]、72[2]は、学習動作に相当する。学習動作によって、複数の集積回路11[1]、11[2]の演算部40[1]、40[2]でソフトウェア処理による演算処理を行い、プログラマブルロジックデバイス20[1]、20[2]による推定動作を行うための重み係数を取得する。演算部40[1]、40[2]で得られた重み係数は、メモリ部30[1]、30[2]で保持する。 In FIG. 7A, arrows 72 [1] and 72 [2] correspond to learning operations. By the learning operation, the arithmetic units 40 [1] and 40 [2] of the plurality of integrated circuits 11 [1] and 11 [2] perform arithmetic processing by software processing, and the programmable logic devices 20 [1] and 20 [2]. The weighting coefficient for performing the estimation operation by is acquired. The weighting coefficients obtained by the arithmetic units 40 [1] and 40 [2] are held in the memory units 30 [1] and 30 [2].
図7(B)において矢印74[1]、74[2]は、コンフィギュレーション動作(リコンフィギュレーション動作)に相当する。コンフィギュレーション動作によって、所定の集積回路11[1]、11[2]内のプログラマブルロジックデバイス20[1]、20[2]がメモリ部30[1]、30[2]に保持された重み係数の情報を含むコンフィギュレーションデータに応じて設定されるよう回路網が構築される。 In FIG. 7B, arrows 74 [1] and 74 [2] correspond to a configuration operation (reconfiguration operation). Weighting coefficients held by the programmable logic devices 20 [1], 20 [2] in the predetermined integrated circuits 11 [1], 11 [2] in the memory units 30 [1], 30 [2] by the configuration operation The circuit network is constructed so as to be set according to the configuration data including the information.
図7(B)において矢印75[1]、75[2]は、推定動作に相当する。推定動作によって、所定の集積回路11[1]、11[2]内のプログラマブルロジックデバイス20[1]、20[2]でハードウェア処理による演算処理を行う。得られた出力信号は、外部に出力される。 In FIG. 7B, arrows 75 [1] and 75 [2] correspond to the estimation operation. By the estimation operation, arithmetic processing by hardware processing is performed in the programmable logic devices 20 [1] and 20 [2] in the predetermined integrated circuits 11 [1] and 11 [2]. The obtained output signal is output to the outside.
以上のように、複数の集積回路11を有するニューラルネットワークシステムは、多数の機能をより有効に機能させるためにソフトウェア処理とハードウェア処理を複合化させることができる。具体的には、演算部でソフトウェア処理、プログラマブルロジックデバイスでハードウェア処理を実行させることができる。
As described above, a neural network system having a plurality of
そのため集積回路11では、条件分岐等のハードウェア処理での実装が困難な複雑な処理をソフトウェア処理で実行させるとともに、ソフトウェア処理では困難な並列処理をハードウェアで実行させることができる。従って、大規模なデータ処理を実行することができる。集積回路11を有するニューラルネットワークシステムでは、適材適所で回路を利用することにより、ニューラルネットワークシステムの処理性能の更なる向上を図ることができる。
Therefore, the
集積回路11を構成する各回路は、同じチップ内に混載されているため高速に伝送可能である。加えて、別の集積回路と連動してデータ処理を行うことで、ニューラルネットワークシステムの拡張・縮小を容易に行うことができる。つまり別の集積回路11の回路リソースを活用して並列のデータ処理を行うことが可能にする。そのため、複数の集積回路11を並列に接続することで大規模なデータを同時に処理可能といったことができ、大規模データの短時間での処理等を可能にすることができる。
Since the circuits constituting the
以上、本実施の形態に示す構成、方法などは、他の実施の形態に示す構成、方法などと適宜組み合わせて用いることができる。 The structures, methods, and the like described in this embodiment can be combined as appropriate with any of the structures, methods, and the like described in the other embodiments.
(実施の形態2)
本実施の形態は、上記実施の形態に示すニューラルネットワークシステムが組み込まれたICの一例を示す。
(Embodiment 2)
This embodiment shows an example of an IC in which the neural network system described in the above embodiment is incorporated.
上記実施の形態に示すニューラルネットワークシステムは、CPU等のSiトランジスタでなるプロセッサとOSトランジスタを用いたアナログ演算回路とを有する演算部と、OS−FPGAと、DOSRAM、NOSRAMを有するメモリ部を、1のダイに集積することができる。 The neural network system described in the above embodiment includes an arithmetic unit including a processor such as a CPU such as a CPU and an analog arithmetic circuit using an OS transistor, a memory unit including an OS-FPGA, DOSRAM, and NOSRAM. Can be integrated on the die.
図8に、ニューラルネットワークシステムを組み込んだICの一例を示す。図8に示すニューラルネットワークシステムIC7000は、リード7001及び回路部7003を有する。回路部7003には、本実施の形態で示した各種の回路が1のダイに設けられている。回路部7003は積層構造をもち、Siトランジスタ層7031、配線層7032、OSトランジスタ層7033に大別される。OSトランジスタ層7033をSiトランジスタ層7031に積層して設けることができるため、ニューラルネットワークシステムIC7000の小型化が容易である。
FIG. 8 shows an example of an IC incorporating a neural network system. A neural
図8では、ニューラルネットワークシステムIC7000のパッケージにQFP(Quad Flat Package)を適用しているが、パッケージの態様はこれに限定されない。
In FIG. 8, QFP (Quad Flat Package) is applied to the package of the neural
CPU等のSiトランジスタでなるプロセッサとOSトランジスタを用いたアナログ演算回路とを有する演算部と、OS−FPGAと、DOSRAM、NOSRAMを有するメモリ部は、全て、Siトランジスタ層7031、配線層7032およびOSトランジスタ層7033に形成することができる。すなわち、上記ニューラルネットワークシステムを構成する素子は、同一の製造プロセスで形成することが可能である。そのため、本実施の形態に示すICは、構成する素子が増えても製造プロセスを増やす必要がなく、上記ニューラルネットワークシステムを低コストで組み込むことができる。
An arithmetic unit including a processor such as a CPU such as a CPU and an analog arithmetic circuit using an OS transistor, and a memory unit including an OS-FPGA, DOSRAM, and NOSRAM are all included in an
(実施の形態3)
本実施の形態では、上記実施の形態に示すニューラルネットワークシステムに搭載可能なOSメモリについて説明する。本実施の形態では、OSメモリの一例として、DOSRAMおよびNOSRAMについて説明する。
(Embodiment 3)
In this embodiment, an OS memory that can be installed in the neural network system described in the above embodiment will be described. In the present embodiment, DOSRAM and NOSRAM will be described as examples of the OS memory.
<<DOSRAM1400>>
図9(A)−図9(C)を参照して、DOSRAMについて説明する。
<<
With reference to FIGS. 9A to 9C, the DOSRAM will be described.
図9(A)に示すDOSRAM1400は、コントローラ1405、行回路1410、列回路1415、MC−SAアレイ1420を有する。行回路1410はデコーダ1411、ワード線ドライバ1412、列セレクタ1413、センスアンプドライバ1414を有する。列回路1415はグローバルセンスアンプアレイ1416、入出力回路1417を有する。グローバルセンスアンプアレイ1416は複数のグローバルセンスアンプ1447を有する。MC−SAアレイ1420はメモリセルアレイ1422、センスアンプアレイ1423、グローバルビット線GBLL、GBLRを有する。
A
(MC−SAアレイ1420)
MC−SAアレイ1420は、メモリセルアレイ1422をセンスアンプアレイ1423上に積層した積層構造をもつ。グローバルビット線GBLL、GBLRはメモリセルアレイ1422上に積層されている。DOSRAM1400では、ビット線の構造に、ローカルビット線とグローバルビット線とで階層化された階層ビット線構造が採用されている。
(MC-SA array 1420)
The MC-
メモリセルアレイ1422は、N個(Nは2以上の整数)のローカルメモリセルアレイ1425<0>―425<N−1>を有する。図9(B)に示すように、ローカルメモリセルアレイ1425は、複数のメモリセル1445、複数のワード線WL、複数のビット線BLL、BLRを有する。図9(B)の例では、ローカルメモリセルアレイ1425の構造はオープンビット線型であるが、フォールデッドビット線型であってもよい。
The memory cell array 1422 includes N (N is an integer of 2 or more) local
図9(A)に示すメモリセル1445は、OSトランジスタMO45、容量素子C45を有する。OSトランジスタMO45は容量素子C45の充放電を制御する機能をもつ。OSトランジスタMO45のゲートはワード線に電気的に接続され、バックゲートは配線BGLに電気的に接続され、第1端子はビット線BLLまたはBLRに電気的に接続され、第2端子は容量素子C45の第1端子に電気的に接続されている。容量素子C45の第2端子は配線PCLに電気的に接続されている。配線CSL、BGLは電圧を供給するための電源線である。
A
配線BGLの電圧によって、OSトランジスタMO45の閾値電圧を変更することができる。例えば、端子B2の電圧は固定電圧(例えば、負の定電圧)であってもよいし、DOSRAM1400の動作に応じて、端子B2の電圧を変化させてもよい。
The threshold voltage of the OS transistor MO45 can be changed by the voltage of the wiring BGL. For example, the voltage at the terminal B2 may be a fixed voltage (for example, a negative constant voltage), or the voltage at the terminal B2 may be changed according to the operation of the
OSトランジスタMO45のバックゲートをOSトランジスタMO45のゲート、ソース、またはドレインに電気的に接続してもよい。あるいは、OSトランジスタMO45にバックゲートを設けなくてもよい。 The back gate of the OS transistor MO45 may be electrically connected to the gate, source, or drain of the OS transistor MO45. Alternatively, the OS transistor MO45 may not have a back gate.
センスアンプアレイ1423は、N個のローカルセンスアンプアレイ1426<0>―426<N−1>を有する。ローカルセンスアンプアレイ1426は、1のスイッチアレイ1444、複数のセンスアンプ1446を有する。センスアンプ1446には、ビット線対が電気的に接続されている。センスアンプ1446は、ビット線対をプリチャージする機能、ビット線対の電圧差を増幅する機能、この電圧差を保持する機能を有する。スイッチアレイ1444は、ビット線対を選択し、選択したビット線対とグローバルビット線対と間を導通状態にする機能を有する。
The
ここで、ビット線対とは、センスアンプによって、同時に比較される2本のビット線のことをいう。グローバルビット線対とは、グローバルセンスアンプによって、同時に比較される2本のグローバルビット線のことをいう。ビット線対を一対のビット線と呼ぶことができ、グローバルビット線対を一対のグローバルビット線と呼ぶことができる。ここでは、ビット線BLLとビット線BLRが1組のビット線対を成す。グローバルビット線GBLLとグローバルビット線GBLRとが1組のグローバルビット線対をなす。以下、ビット線対(BLL,BLR)、グローバルビット線対(BLL,BLR)とも表す。 Here, the bit line pair refers to two bit lines that are simultaneously compared by the sense amplifier. A global bit line pair refers to two global bit lines that are simultaneously compared by a global sense amplifier. A bit line pair can be called a pair of bit lines, and a global bit line pair can be called a pair of global bit lines. Here, the bit line BLL and the bit line BLR form one bit line pair. Global bit line GBLL and global bit line GBLR form a pair of global bit lines. Hereinafter, the bit line pair (BLL, BLR) and the global bit line pair (BLL, BLR) are also represented.
(コントローラ1405)
コントローラ1405は、DOSRAM1400の動作全般を制御する機能を有する。コントローラ1405は、外部からの入力されるコマンド信号を論理演算して、動作モードを決定する機能、決定した動作モードが実行されるように、行回路1410、列回路1415の制御信号を生成する機能、外部から入力されるアドレス信号を保持する機能、内部アドレス信号を生成する機能を有する。
(Controller 1405)
The
(行回路1410)
行回路1410は、MC−SAアレイ1420を駆動する機能を有する。デコーダ1411はアドレス信号をデコードする機能を有する。ワード線ドライバ1412は、アクセス対象行のワード線WLを選択する選択信号を生成する。
(Row circuit 1410)
The
列セレクタ1413、センスアンプドライバ1414はセンスアンプアレイ1423を駆動するための回路である。列セレクタ1413は、アクセス対象列のビット線を選択するための選択信号を生成する機能をもつ。列セレクタ1413の選択信号によって、各ローカルセンスアンプアレイ1426のスイッチアレイ1444が制御される。センスアンプドライバ1414の制御信号によって、複数のローカルセンスアンプアレイ1426は独立して駆動される。
The
(列回路1415)
列回路1415は、データ信号WDA[31:0]の入力を制御する機能、データ信号RDA[31:0]の出力を制御する機能を有する。データ信号WDA[31:0]は書き込みデータ信号であり、データ信号RDA[31:0]は読み出しデータ信号である。
(Column circuit 1415)
The
グローバルセンスアンプ1447はグローバルビット線対(GBLL,GBLR)に電気的に接続されている。グローバルセンスアンプ1447はグローバルビット線対(GBLL,GBLR)間の電圧差を増幅する機能、この電圧差を保持する機能を有する。グローバルビット線対(GBLL,GBLR)へのデータの書き込み、および読み出しは、入出力回路1417によって行われる。
The
DOSRAM1400の書き込み動作の概要を説明する。入出力回路1417によって、データがグローバルビット線対に書き込まれる。グローバルビット線対のデータは、グローバルセンスアンプアレイ1416によって保持される。アドレスが指定するローカルセンスアンプアレイ1426のスイッチアレイ1444によって、グローバルビット線対のデータが、対象列のビット線対に書き込まれる。ローカルセンスアンプアレイ1426は、書き込まれたデータを増幅し、保持する。指定されたローカルメモリセルアレイ1425において、行回路1410によって、対象行のワード線WLが選択され、選択行のメモリセル1445にローカルセンスアンプアレイ1426の保持データが書き込まれる。
An outline of the writing operation of the
DOSRAM1400の読み出し動作の概要を説明する。アドレス信号によって、ローカルメモリセルアレイ1425の1行が指定される。指定されたローカルメモリセルアレイ1425において、対象行のワード線WLが選択状態となり、メモリセル1445のデータがビット線に書き込まれる。ローカルセンスアンプアレイ1426によって、各列のビット線対の電圧差がデータとして検出され、かつ保持される。スイッチアレイ1444によって、ローカルセンスアンプアレイ1426の保持データの内、アドレスが指定する列のデータが、グローバルビット線対に書き込まれる。グローバルセンスアンプアレイ1416は、グローバルビット線対のデータを検出し、保持する。グローバルセンスアンプアレイ1416の保持データは入出力回路1417に出力される。以上で、読み出し動作が完了する。
An outline of the reading operation of the
容量素子C45の充放電によってデータを書き換えるため、DOSRAM1400は原理的には書き換え回数に制約はなく、かつ、低エネルギーで、データの書き込みおよび読み出しが可能である。また、メモリセル1445の回路構成が単純であるため、大容量化が容易である。よって、DOSRAM1400は大容量のデータを高頻度で書き換えるメモリ装置、例えば、画像処理に利用されるフレームメモリに好適である。
Since data is rewritten by charging / discharging the capacitive element C45, the
OSトランジスタMO45はOSトランジスタである。OSトランジスタはオフ電流が極めて小さいため、容量素子C45から電荷がリークすることを抑えることができるので、DOSRAM1400は保持時間がDRAMに比べて非常に長いため、リフレッシュレート頻度を低減できる。従って、DOSRAM1400はフレッシュ動作に要する電力を削減できる。
The OS transistor MO45 is an OS transistor. Since the OS transistor has an extremely small off-state current, it is possible to suppress charge leakage from the capacitor C45. Therefore, since the
MC−SAアレイ1420が積層構造であることよって、ローカルセンスアンプアレイ1426の長さと同程度の長さにビット線を短くすることができる。ビット線を短くすることで、ビット線容量が小さくなり、メモリセル1445の保持容量を低減することができる。また、ローカルセンスアンプアレイ1426にスイッチアレイ1444を設けることで、長いビット線の本数を減らすことができる。以上の理由から、DOSRAM1400のアクセス時に駆動する負荷が低減される。
Since the MC-
以上のことから、DOSRAM1400を上記実施の形態に示すDOSRAM32に用いることで、ニューラルネットワークシステムの消費電力を低減することができる。
From the above, the power consumption of the neural network system can be reduced by using the
<<NOSRAM>>
図10および図11を参照してNOSRAMについて説明する。ここでは、1のメモリセルで多値データを記憶する多値NOSRAMについて説明する。
<< NOSRAM >>
The NOSRAM will be described with reference to FIGS. Here, a multi-level NOSRAM that stores multi-level data in one memory cell will be described.
図10に示すNOSRAM1600は、メモリセルアレイ1610、コントローラ1640、行ドライバ1650、列ドライバ1660、出力ドライバ1670を有する。
A
メモリセルアレイ1610は複数のメモリセル1611、複数のワード線WWL、RWL、ビット線BL、ソース線SLを有する。ワード線WWLは書き込みワード線であり、ワード線RWLは読み出しワード線である。NOSRAM1600では、1のメモリセル1611で3ビット(8値)のデータを記憶する。
The
コントローラ1640は、NOSRAM1600全体を統括的に制御し、データWDA[31:0]の書き込み、データRDA[31:0]の読み出しを行う。コントローラ1640は、外部からのコマンド信号(例えば、チップイネーブル信号、書き込みイネーブル信号など)を処理して、行ドライバ1650、列ドライバ1660および出力ドライバ1670の制御信号を生成する。
The
行ドライバ1650は、アクセスする行を選択する機能を有する。行ドライバ1650は、行デコーダ1651、およびワード線ドライバ1652を有する。
The
列ドライバ1660は、ソース線SLおよびビット線BLを駆動する。列ドライバ1660は、列デコーダ1661、書き込みドライバ1662、DAC(デジタル‐アナログ変換回路)1663を有する。
The
DAC1663は3ビットのデジタルデータをアナログ電圧に変換する。DAC1663は32ビットのデータWDA[31:0]を3ビットごとに、アナログ電圧に変換する。
The
書き込みドライバ1662は、ソース線SLをプリチャージする機能、ソース線SLを電気的に浮遊状態にする機能、ソース線SLを選択する機能、選択されたソース線SLにDAC1663で生成した書き込み電圧を入力する機能、ビット線BLをプリチャージする機能、ビット線BLを電気的に浮遊状態にする機能等を有する。
The
出力ドライバ1670は、セレクタ1671、ADC(アナログ‐デジタル変換回路)1672、出力バッファ1673を有する。セレクタ1671は、アクセスするソース線SLを選択し、選択されたソース線SLの電圧をADC1672に送信する。ADC1672は、アナログ電圧を3ビットのデジタルデータに変換する機能を持つ。ソース線SLの電圧はADC1672において、3ビットのデータに変換され、出力バッファ1673はADC1672から出力されるデータを保持する。
The
<メモリセル>
図11(A)はメモリセル1611の構成例を示す回路図である。メモリセル1611は2T型のゲインセルであり、メモリセル161はワード線WWL、RWL、ビット線BL、ソース線SL、配線BGLに電気的に接続されている。メモリセル1611は、ノードSN、OSトランジスタMO61、トランジスタMP61、容量素子C61を有する。OSトランジスタMO61は書き込みトランジスタである。トランジスタMP61は読み出しトランジスタであり、例えばpチャネル型Siトランジスタで構成される。容量素子C61はノードSNの電圧を保持するための保持容量である。ノードSNはデータの保持ノードであり、ここではトランジスタMP61のゲートに相当する。
<Memory cell>
FIG. 11A is a circuit diagram illustrating a structural example of the
メモリセル1611の書き込みトランジスタがOSトランジスタMO61で構成されているため、NOSRAM1600は長時間データを保持することが可能である。
Since the write transistor of the
図11(A)の例では、ビット線は、書き込みと読み出しで共通のビット線であるが、図11(B)に示すように、書き込みビット線WBLと、読み出しビット線RBLとを設けてもよい。 In the example of FIG. 11A, the bit line is a common bit line for writing and reading. However, as shown in FIG. 11B, a writing bit line WBL and a reading bit line RBL may be provided. Good.
図11(C)−図11(E)にメモリセルの他の構成例を示す。図11(C)−図11(E)には、書き込み用ビット線と読み出し用ビット線を設けた例を示しているが、図11(A)のように書き込みと読み出しで共有されるビット線を設けてもよい。 FIG. 11C to FIG. 11E show other configuration examples of the memory cell. FIGS. 11C to 11E show an example in which a write bit line and a read bit line are provided. However, as shown in FIG. May be provided.
図11(C)に示すメモリセル1612は、メモリセル1611の変形例であり、読み出しトランジスタをnチャネル型トランジスタ(MN61)に変更したものである。トランジスタMN61はOSトランジスタであってもよいし、Siトランジスタであってもよい。
A
メモリセル1611、1612において、OSトランジスタMO61はバックゲートの無いOSトランジスタであってもよい。
In the
図11(D)に示すメモリセル1613は、3T型ゲインセルであり、ワード線WWL、RWL、ビット線WBL、RBL、ソース線SL、配線BGL、PCLに電気的に接続されている。メモリセル1613は、ノードSN、OSトランジスタMO62、トランジスタMP62、トランジスタMP63、容量素子C62を有する。OSトランジスタMO62は書き込みトランジスタである。トランジスタMP62は読み出しトランジスタであり、トランジスタMP63は選択トランジスタである。
A
図11(E)に示すメモリセル1614は、メモリセル1613の変形例であり、読み出しトランジスタおよび選択トランジスタをnチャネル型トランジスタ(MN62、MN63)に変更したものである。トランジスタMN62、MN63はOSトランジスタであってもよいし、Siトランジスタであってもよい。
A
メモリセル1611−1614に設けられるOSトランジスタは、バックゲートの無いトランジスタでもよいし、バックゲートが有るトランジスタであってもよい。
The OS transistor provided in the
容量素子C61の充放電によってデータを書き換えるため、NOSRAM1600は原理的には書き換え回数に制約はなく、かつ、低エネルギーで、データの書き込みおよび読み出しが可能である。また、長時間データを保持することが可能であるので、リフレッシュ頻度を低減できる。よって、DOSRAM1400は大容量のデータを高頻度で書き換えるメモリ装置、例えば、画像処理に利用されるフレームメモリに好適である。
Since data is rewritten by charging / discharging the capacitive element C61, the
NOSRAM1600を上記実施の形態に示すNOSRAM31に用いることで、ニューラルネットワークシステムの消費電力を低減することができる。
By using the
(実施の形態4)
本実施の形態では、上実施の形態に示すニューラルネットワークシステムに搭載可能なOS−FPGAについて、図12乃至図16を用いて説明を行う。
(Embodiment 4)
In this embodiment, an OS-FPGA that can be installed in the neural network system described in the above embodiment will be described with reference to FIGS.
<OS−FPGAの構成例>
図12はOS−FPGAのブロック図である。OS−FPGA100は、コントローラ110、および回路ブロック101A乃至101Dを有する。図12では回路ブロックとして4つを例示している。回路ブロック101A乃至101Dは、それぞれマルチコンテキスト方式を実現できるOS−FPGAとして機能する。
<Configuration example of OS-FPGA>
FIG. 12 is a block diagram of the OS-FPGA. The OS-
回路ブロック101A乃至101Dは、それぞれ、プログラマブルエリア111、ワードドライバ112、データドライバ113を有する。プログラマブルエリア111は、入出力ブロック(以下、IOB117)、コア118を有する。プログラマブルエリア111は、回路ブロック101A乃至101Dごとに異なる機能を実現するためのコンフィギュレーションデータを記憶し、データを処理する機能を有する。
The circuit blocks 101A to 101D each have a
データを処理する機能は、複数組のコンフィギュレーションデータによって設定される。コンフィギュレーションデータは、複数組のコンフィギュレーションメモリに格納される。コンフィギュレーションメモリは、コンテキストに応じて、プログラマブルロジックエレメント(PLE)およびプログラマブルスイッチ(PRS)、プログラマブルIO(PIO)の設定を行う。この設定を切り替えることで、上述したデータを処理する機能を設定するとともに、コンテキストの切り替えによってデータを処理する機能を瞬時に切り替える、所謂マルチコンテキスト方式を実現可能な構成とすることができる。回路ブロック101A乃至101Dは、動的再構成が可能である。コンテキストの切り替えは、コントローラ110によって制御される。
The function of processing data is set by a plurality of sets of configuration data. Configuration data is stored in a plurality of sets of configuration memories. The configuration memory sets a programmable logic element (PLE), a programmable switch (PRS), and a programmable IO (PIO) according to the context. By switching this setting, it is possible to realize a so-called multi-context system in which the function for processing data described above is set and the function for processing data is switched instantaneously by context switching. The circuit blocks 101A to 101D can be dynamically reconfigured. The context switching is controlled by the
OS−FPGA100では、複数の機能のデータ処理を実現できるFPGAとして機能する回路ブロック101A乃至101Dにおいて、複数の機能によりデータの処理を行うための設定を、コンテキストの切り替えと、コンフィギュレーションデータを動的に書き換える所謂動的再構成とによって、次々と切り替えていく構成とすることができる。当該構成とすることで、連続する異なるデータ処理を、設定を切り替えてデータの入出力を繰り返すことで一つのデータ処理装置で実現できる。そのため、深層学習やディープラーニングといった人工ニューラルネットワークの機能をコンフィギュレーションする場合に、回路の実装規模を縮小することができる。
In the OS-
図13(A)は、プログラマブルエリア111の構成例を説明するための図である。プログラマブルエリア111は、IOB117、コア118を有する。IOB117は、プログラマブル入出力回路(PIO)を有する。コア118は、複数のロジックアレイブロック(以下、LAB120)および複数のスイッチアレイブロック(以下、SAB130)で構成される。
FIG. 13A is a diagram for describing a configuration example of the
図13(B)は、LAB120の構成例を説明するための図である。図13(B)に示すLAB120は、一例として、5個のプログラマブルロジックエレメント(以下、PLE121)を有する。
FIG. 13B is a diagram for describing a configuration example of the
図13(C)は、SAB130の構成例を説明するための図である。図13(C)に示すSAB130は、アレイ状に配列された複数のスイッチブロック(以下、SB131)を有する。
FIG. 13C is a diagram for describing a configuration example of the
次いで図14(A)乃至図14(C)を参照して、SB131について説明する。SB131には信号data、信号context[1:0]、信号word[1:0]が入力される。信号dataはコンフィギュレーションデータである。信号context[1:0]はコンテキスト選択信号である。信号word[1:0]はワード線選択信号である。
Next, with reference to FIGS. 14A to 14C, the
SB131は、プログラマブルルーティングスイッチ(以下、PRS133[0]、133[1])を有する。PRS133[0]、133[1]は、コンフィギュレーションデータを格納できるコンフィギュレーションメモリ(CM)を有する。コンフィギュレーションデータは、PRS133[0]、133[1]の導通状態を設定するための情報である。例えばハイレベル(以下、“H”)のときPRS133[0]、133[1]が導通状態に設定され、ローレベル(以下、“L”)のときPRS133[0]、133[1]が非導通状態に設定される。
The
図14(B)はPRS133[0]の回路図である。PRS133[0]とPRS133[1]とは同じ回路構成を有する。PRS133[0]とPRS133[1]とでは、入力されるコンテキスト選択信号、ワード線選択信号が異なる。信号context[0]、word[0]はPRS133[0]に入力され、信号context[1]、word[1]はPRS133[1]に入力される。例えば、SB131において、信号context[0]が“H”になることで、PRS133[0]がアクティブになる。
FIG. 14B is a circuit diagram of the PRS 133 [0]. PRS133 [0] and PRS133 [1] have the same circuit configuration. The PRS133 [0] and the PRS133 [1] are different in input context selection signal and word line selection signal. The signals context [0] and word [0] are input to the PRS 133 [0], and the signals context [1] and word [1] are input to the PRS 133 [1]. For example, in the
PRS133[0]は、CM135およびトランジスタM1を有する。トランジスタM1は、nチャネル型として説明するが、pチャネル型でもよい。
The PRS 133 [0] includes a
トランジスタM1は、CM135により導通状態が制御されるパストランジスタである。トランジスタM1は、Siトランジスタとする。当該構成とすることで、高速でのスイッチング動作ができるため好ましい。
The transistor M1 is a pass transistor whose conduction state is controlled by the
CM135は、不揮発性メモリ(以下、NVM137)およびトランジスタM2を有する。トランジスタM2は、nチャネル型として説明するが、pチャネル型でもよい。
The
NVM137は、容量素子C1、トランジスタMO1、およびトランジスタMO2を有する。トランジスタMO1、MO2は、nチャネル型として説明するが、pチャネル型でもよい。トランジスタMO1、およびトランジスタMO2は、OSトランジスタである。当該構成とすることで、オフ電流が低く、ゲート絶縁層を厚くしてもトランジスタ特性が良好であるトランジスタとすることができる。
The
トランジスタMO2のゲートがノードN1である。トランジスタM1のゲートがノードN2である。トランジスタMO1はノードN1と信号data用の信号線との間の導通状態を制御する。ノードN1はCM135の電荷保持ノードである。トランジスタMO1は非導通状態に制御されることで設定した情報に応じた電圧をノードN1で保持させることができる。トランジスタMO2はノードN2と信号context[0]用の信号線との間の導通状態を制御する。
The gate of the transistor MO2 is the node N1. The gate of the transistor M1 is the node N2. The transistor MO1 controls the conduction state between the node N1 and the signal line for signal data. The node N1 is a charge holding node of the
なおトランジスタMO1、およびトランジスタMO2といったOSトランジスタのゲート絶縁層はトランジスタM1、M2といったSiトランジスタのゲート絶縁層より厚くすることが好ましい。前述したようにOSトランジスタであることで、ゲート絶縁層を厚くしてもトランジスタ特性が良好である。トランジスタMO2のゲート絶縁層を厚くできることで、電荷保持ノードであるノードN1での電荷の保持特性を高めることができる。 Note that the gate insulating layers of the OS transistors such as the transistors MO1 and MO2 are preferably thicker than the gate insulating layers of the Si transistors such as the transistors M1 and M2. As described above, since the transistor is an OS transistor, the transistor characteristics are excellent even when the gate insulating layer is thickened. Since the gate insulating layer of the transistor MO2 can be thick, charge retention characteristics at the node N1, which is a charge retention node, can be improved.
ノードN1には、トランジスタMO2の導通状態時、信号context[0]の論理が与えられる。つまり信号context[0]が“H”になることで、PRS133[0]がアクティブになる。つまり信号dataの論理であるノードN1の電圧に応じた電圧が、ノードN2に与えられることになる。 The logic of the signal context [0] is given to the node N1 when the transistor MO2 is in a conductive state. That is, when the signal context [0] becomes “H”, the PRS 133 [0] becomes active. That is, a voltage corresponding to the voltage of the node N1, which is the logic of the signal data, is applied to the node N2.
具体的には、ノードN1の電圧が“H”でトランジスタMO2が導通状態となり、信号context[0]が“H”であるため、ノードN2が“H”となる。またノードN1の電圧が“L”でトランジスタMO2が非導通状態となり、ノードN2が“L”となる。ノードN2が“H”か“L”かに応じて、つまり入力端子inputと出力端子outputとの導通状態が制御される。 Specifically, since the voltage of the node N1 is “H”, the transistor MO2 is turned on, and the signal context [0] is “H”, so that the node N2 is “H”. Further, when the voltage at the node N1 is “L”, the transistor MO2 is turned off, and the node N2 becomes “L”. Depending on whether the node N2 is “H” or “L”, that is, the conduction state between the input terminal input and the output terminal output is controlled.
図14(B)では一例として、グラウンド電位に接続されたトランジスタM2を設け、トランジスタM2をダイオード接続する構成を図示している。ノードN2は、トランジスタMO2をオフ電流が低いOSトランジスタとするために電気的に浮遊状態となりやすい。そのためトランジスタM2にはオフ電流がOSトランジスタと比べて比較的高いSiトランジスタを用い、ノードN2に直接接続する構成とすることが有効である。トランジスタM2はダイオード接続されたトランジスタとする。当該構成とすることでトランジスタM2のオフ電流が、ノードN2を電気的に浮遊状態となることを抑制するように作用させることができる。そしてノードN2が“H”となる期間では動作に影響しないようにするとともに、ノードN2をより確実に“L”とすることができる。 FIG. 14B illustrates a structure in which a transistor M2 connected to the ground potential is provided and the transistor M2 is diode-connected as an example. The node N2 is likely to be in an electrically floating state because the transistor MO2 is an OS transistor with a low off-state current. Therefore, it is effective to use a Si transistor having a relatively high off-state current compared to the OS transistor as the transistor M2 and to be directly connected to the node N2. The transistor M2 is a diode-connected transistor. With this structure, the off-state current of the transistor M2 can be prevented from being brought into an electrically floating state at the node N2. In addition, the operation is not affected during the period in which the node N2 is “H”, and the node N2 can be “L” more reliably.
なお、PRS133[0]とPRS133[1]とを区別しない場合、PRS133と呼ぶ。他の要素についても同様である。 In addition, when not distinguishing PRS133 [0] and PRS133 [1], it calls PRS133. The same applies to other elements.
なおPRS133は、トランジスタM1のゲートが浮遊状態になることを利用したブースティングによってスイッチ特性の向上を実現することができる。一方でSiトランジスタを65nm Siプロセスを採用する場合、Siトランジスタのゲートリークは無視できない。そこで、Siトランジスタのゲートで電荷を保持する構成を採用せずに、電荷保持ノードをゲート絶縁膜が厚くても短チャネル効果が発生しにくいOSトランジスタであるトランジスタMO2のゲートに変更することで、不揮発性OSメモリを実現することができる。
Note that the
図14(C)、(D)を参照して、PRS133[0]のスイッチ動作を説明する。 With reference to FIGS. 14C and 14D, the switching operation of the PRS 133 [0] will be described.
図14(C)では、PRS133[0]のノードN1が“H”であるようにPRS133[0]にコンフィギュレーションデータが既に書き込まれた状態でのスイッチ動作を説明する。 FIG. 14C illustrates a switching operation in a state where configuration data has already been written to the PRS 133 [0] so that the node N1 of the PRS 133 [0] is “H”.
信号context[0]が“H”である期間、PRS133[0]はアクティブである。ノードN1が“H”のときトランジスタMO2が導通状態となるため、CM135が記憶するコンフィギュレーションデータに対応する“H”が、トランジスタM1のゲートは“H”に遷移し、トランジスタM1が導通状態となる。この状態で入力端子inputが“H”に遷移するとブースティングによってトランジスタM1のゲートの電位が上昇する。入力端子inputが“H”に遷移すると、NVM137のトランジスタMO2がソースフォロアであるために、ブースティングによってトランジスタM1のゲート電圧は上昇する。その結果、NVM137のトランジスタMO2は駆動能力を失い、トランジスタM1のゲートは浮遊状態となる。その結果、トランジスタM1のゲート電圧がさらに上昇することで出力端子outputの電位を上昇させることができる。そのため、スイッチ特性の向上を実現することができる。
During the period when the signal context [0] is “H”, the PRS 133 [0] is active. Since the transistor MO2 becomes conductive when the node N1 is “H”, “H” corresponding to the configuration data stored in the
信号context[0]が“L”である期間、PRS133[0]は非アクティブである。ノードN1が“H”のときトランジスタMO2が導通状態となり、信号context[0]の“L”のため、トランジスタM1のゲートが“L”に遷移し、トランジスタM1が非導通状態となる。その結果入力端子inputが“H”に遷移しても、出力端子outputの電位は変化しない。 During the period when the signal context [0] is “L”, the PRS 133 [0] is inactive. When the node N1 is “H”, the transistor MO2 is turned on. Since the signal context [0] is “L”, the gate of the transistor M1 is changed to “L”, and the transistor M1 is turned off. As a result, even if the input terminal input changes to “H”, the potential of the output terminal output does not change.
また図14(D)では、PRS133[0]のノードN1が“L”であるようにPRS133[0]にコンフィギュレーションデータが既に書き込まれた状態でのスイッチ動作を説明する。 FIG. 14D illustrates a switching operation in a state where configuration data has already been written in the PRS 133 [0] so that the node N1 of the PRS 133 [0] is “L”.
信号context[0]が“H”である期間、PRS133[0]はアクティブである。ノードN1が“L”のときトランジスタMO2が非導通状態となる。トランジスタM1のゲート、つまりノードN2の電位は、トランジスタM2のリーク電流によって“L”となる。つまりノードN2が電気的に浮遊状態となることが抑制される。トランジスタM1が非導通状態となる。その結果入力端子inputが“H”に遷移しても、出力端子outputの電位は変化しない。 During the period when the signal context [0] is “H”, the PRS 133 [0] is active. When the node N1 is “L”, the transistor MO2 is turned off. The potential of the gate of the transistor M1, that is, the node N2, becomes “L” due to the leakage current of the transistor M2. That is, the node N2 is prevented from being electrically floating. Transistor M1 is turned off. As a result, even if the input terminal input changes to “H”, the potential of the output terminal output does not change.
信号context[0]が“L”である期間、PRS133[0]は非アクティブである。ノードN1が“L”のときトランジスタMO2が導通状態となる。トランジスタM1のゲート、つまりノードN2の電位は、トランジスタM2のリーク電流によって“L”となる。トランジスタM1が非導通状態となる。その結果入力端子inputが“H”に遷移しても、出力端子outputの電位は変化しない。 During the period when the signal context [0] is “L”, the PRS 133 [0] is inactive. When the node N1 is “L”, the transistor MO2 is turned on. The potential of the gate of the transistor M1, that is, the node N2, becomes “L” due to the leakage current of the transistor M2. Transistor M1 is turned off. As a result, even if the input terminal input changes to “H”, the potential of the output terminal output does not change.
マルチコンテキスト機能を備えるPRS133において、CM135はマルチプレクサの機能を併せ持つ。PRS133はトランジスタ数がSRAM(Static RAM)を用いたCMと比べて少なく、ブースティングによってトランジスタM1の駆動能力を高める効果もあるため、好適である。
In the
また図15はPLE121のブロック図である。PLE121はLUTブロック123、レジスタブロック124、セレクタ125、CM126を有する。LUTブロック123はルックアップテーブルの機能を有し、一例として内部の16ビットCM対の出力を入力inA−inDに従って選択する構成である。セレクタ125は、CM126が格納するコンフィギュレーションデータに従って、LUTブロック123の出力またはレジスタブロック124の出力を選択する構成である。
FIG. 15 is a block diagram of the
PLE121は、パワースイッチ127を介して高電位電源線VDDに接続されている。パワースイッチ127のオンオフは、CM128が格納するコンフィギュレーションデータによって設定される。各PLE121にパワースイッチ127を設けることで、細粒度なパワーゲーティング(FG−PG)機能を可能にしている。FG−PG機能により、コンテキストの切り替え後に使用されないPLE121をパワーゲーティングすることができるので、待機電力を削減できる。
The
ノーマリーオフ(NOFF)コンピューティングを実現するため、レジスタブロック124は、不揮発性レジスタ(NV−Reg)で構成される。PLE121内のNV−Regは不揮発性OSメモリを備えるフリップフロップ(OS−FF)である。
In order to realize normally-off (NOFF) computing, the
レジスタブロック124は、OS−FF140[1]およびOS−FF140[2]を有する。信号user_res、信号load、および信号storeがOS−FF140[1]およびOS−FF140[2]に入力される。クロック信号CLK1はOS−FF140[1]に入力され、クロック信号CLK2はOS−FF140[2]に入力される。
The
図16(A)には、一例として、OS−FF140の回路図を示す。
FIG. 16A illustrates a circuit diagram of the OS-
OS−FF140は、FF141およびシャドウレジスタ142を有する。FF141は、ノードCK、ノードR、ノードD、ノードQ、およびノードQBを有する。ノードCKにはクロック信号CLK1(またはクロック信号CLK2)が入力される。ノードRには信号user_resが入力される。信号user_resはリセット信号である。ノードDはデータ入力ノードであり、ノードQはデータ出力ノードである。ノードQとノードQBとは論理が相補関係にある。
The OS-
シャドウレジスタ142は、FF141のバックアップ回路として機能する。シャドウレジスタ142は、信号storeに従いノードQ、QBのデータをそれぞれバックアップし、また、信号loadに従い、バックアップしたデータをノードQ、QBに書き戻す。
The shadow register 142 functions as a backup circuit for the
シャドウレジスタ142は、インバータ回路88、インバータ回路89、トランジスタM7、トランジスタMB7、NVM143、およびNVM143Bを有する。NVM143およびNVM143Bは、PRS133のNVM137と同じ回路構成である。NVM143は容量素子C6、トランジスタMO5、およびトランジスタMO6を有する。NVM143Bは容量素子CB6、トランジスタMOB5、およびトランジスタMOB6を有する。ノードN6はトランジスタMO6のゲートであり、ノードNB6はトランジスタMOB6のゲートである。各ノードはそれぞれ電荷保持ノードである。ノードN7は、トランジスタM7のゲートである。ノードNB7は、トランジスタMB7のゲートである。
The
図16(B)を参照して、OS−FF140の動作方法を説明する。
With reference to FIG. 16B, an operation method of the OS-
データのバックアップ動作について説明する。“H”の信号storeがOS−FF140に入力されると、シャドウレジスタ142はFF141のデータをバックアップする。ノードN6は、ノードQのデータが書き込まれることで、“L”となり、ノードNB6は、ノードQBのデータが書き込まれることで、“H”となる。しかる後、パワーゲーティングが実行され、パワースイッチ127をオフにする。FF141のノードQ、QBのデータは消失するが、電源オフであっても、シャドウレジスタ142はバックアップしたデータを保持する。
A data backup operation will be described. When the “H” signal store is input to the OS-
データのリカバリ動作について説明する。パワースイッチ127をオンにし、PLE121に電源を供給する。しかる後、“H”の信号loadがOS−FF140に入力されると、シャドウレジスタ142はバックアップしているデータをFF141に書き戻す。ノードN6は“L”であるので、ノードN7は“L”が維持され、ノードNB6は“H”であるので、ノードNB7は“H”となる。よって、ノードQは“H”になり、ノードQBは“L”になる。つまり、OS−FF140はバックアップ動作時の状態に復帰する。
The data recovery operation will be described. The
以上のような構成とすることで、上記説明したOS−FPGAを実現することができる。 With the above configuration, the OS-FPGA described above can be realized.
(実施の形態5)
本実施の形態では、アナログ演算回路42に適用される積和演算回路について説明する。図17に積和演算回路の構成例を示す。
(Embodiment 5)
In the present embodiment, a product-sum operation circuit applied to the
図17に示す積和演算回路200は、アナログメモリ201、参照アナログメモリ202、ドライバ206、207、読み出し回路208、電流源回路205を有する。
The product-
アナログメモリ201は、複数のメモリセルMC、複数の配線RW、WW、WD、VR、BLを有する。図17の例では、アナログメモリ201には、y行x列(y、xは1以上の整数)に配列されたメモリセルMCが設けられている。各メモリセルMCは対応する行の配線RW、WWに電気的に接続され、対応する列の配線WD、VR、BLに電気的に接続されている。
The
参照アナログメモリ202は、y行1列に配列されたメモリセルMCR、配線WDREF、WDREF、VRREFを有する。アナログメモリ201と参照アナログメモリ202は配線RW、WWを共有する。各メモリセルMCは対応する行の配線RW、WW、並びに配線WDREF、VRREF、BLREFに電気的に接続されている。
The
本明細書では、複数のメモリセルMCうち、特定のメモリセルMCを表す場合、メモリセルMC[i,j]などと表記する。メモリセルMCと表記する場合は、任意のメモリセルMCを指す。他の要素についても同様である。 In this specification, when a specific memory cell MC is represented among the plurality of memory cells MC, it is expressed as a memory cell MC [i, j] or the like. The expression “memory cell MC” refers to an arbitrary memory cell MC. The same applies to other elements.
ドライバ206は配線RW、WWを駆動する。ドライバ207は配線WDを駆動する。読み出し回路208は配線BLに書き込まれたデータを読み出す。電流源回路205は参照電流を生成し、配線BL、BLREFに供給する。
The
積和演算回路200の各回路について具体的な例を示し、説明する。
A specific example of each circuit of the product-
図18に示す積和演算回路200は、アナログメモリ201、参照アナログメモリ202、電流ソース回路203、電流シンク回路204、および電流源回路205を有する。
The product-
アナログメモリ201は、メモリセルMC[i、j]、メモリセルMC[i+1、j]で例示されるメモリセルMCを有する。また、各メモリセルMCは、入力された電位を電流に変換する機能を有する素子を有する。上記機能を有する素子として、例えばトランジスタなどの能動素子を用いることができる。図18では、各メモリセルMCがトランジスタTr1を有する場合を例示している。
The
メモリセルMCには、配線WD[j]で例示される配線WDから第1のアナログ電位が入力される。そして、メモリセルMCは、第1のアナログ電位に応じた第1のアナログ電流を生成する機能を有する。具体的には、トランジスタTr1のゲートに第1のアナログ電位を供給したときに得られるトランジスタTr1のドレイン電流を、第1のアナログ電流とすることができる。なお、以下、メモリセルMC[i、j]に流れる電流をI[i、j]とし、メモリセルMC[i+1、j]に流れる電流をI[i+1、j]とする。 A first analog potential is input to the memory cell MC from the wiring WD exemplified by the wiring WD [j]. The memory cell MC has a function of generating a first analog current corresponding to the first analog potential. Specifically, the drain current of the transistor Tr1 obtained when the first analog potential is supplied to the gate of the transistor Tr1 can be used as the first analog current. Hereinafter, the current flowing through the memory cell MC [i, j] is I [i, j], and the current flowing through the memory cell MC [i + 1, j] is I [i + 1, j].
なお、トランジスタTr1が飽和領域で動作する場合、そのドレイン電流はソースとドレイン間の電圧に依存せず、ゲート電圧と閾値電圧の差分によって制御される。よって、トランジスタTr1は飽和領域で動作させることが望ましい。トランジスタTr1を飽和領域で動作させるために、そのゲート電圧、ソースとドレイン間の電圧は、飽和領域で動作する範囲の電圧に適切に設定されているものとする。 Note that when the transistor Tr1 operates in the saturation region, the drain current does not depend on the voltage between the source and the drain, but is controlled by the difference between the gate voltage and the threshold voltage. Therefore, it is desirable to operate the transistor Tr1 in the saturation region. In order to operate the transistor Tr1 in the saturation region, it is assumed that the gate voltage and the voltage between the source and the drain are appropriately set to a voltage within a range in which the transistor Tr1 operates in the saturation region.
具体的に、図18に示す積和演算回路200では、メモリセルMC[i、j]に配線WD[j]から第1のアナログ電位Vx[i、j]または第1のアナログ電位Vx[i、j]に応じた電位が入力される。メモリセルMC[i、j]は、第1のアナログ電位Vx[i、j]に応じた第1のアナログ電流を生成する機能を有する。すなわち、この場合、メモリセルMC[i、j]の電流I[i、j]は、第1のアナログ電流に相当する。
Specifically, in the product-
また、具体的に、図18に示す積和演算回路200では、メモリセルMC[i+1、j]に配線WD[j]から第1のアナログ電位Vx[i+1、j]または第1のアナログ電位Vx[i+1、j]に応じた電位が入力される。メモリセルMC[i+1、j]は、第1のアナログ電位Vx[i+1、j]に応じた第1のアナログ電流を生成する機能を有する。すなわち、この場合、メモリセルMC[i+1、j]の電流I[i+1、j]は、第1のアナログ電流に相当する。
Specifically, in the product-
メモリセルMCは、第1のアナログ電位を保持する機能を有する。すなわち、メモリセルMCは、第1のアナログ電位を保持することで、第1のアナログ電位に応じた第1のアナログ電流を保持する機能を有すると言える。 The memory cell MC has a function of holding the first analog potential. That is, it can be said that the memory cell MC has a function of holding the first analog current corresponding to the first analog potential by holding the first analog potential.
また、メモリセルMCには、配線RW[i]、配線RW[i+1]で例示される配線RWから第2のアナログ電位が入力される。メモリセルMCは、既に保持されている第1のアナログ電位に、第2のアナログ電位或いは第2のアナログ電位に応じた電位を加算する機能と、加算することで得られる第3のアナログ電位を保持する機能とを有する。そして、メモリセルMCは、第3のアナログ電位に応じた第2のアナログ電流を生成する機能を有する。すなわち、メモリセルMCは、第3のアナログ電位を保持することで、第3のアナログ電位に応じた第2のアナログ電流を保持する機能を有すると言える。 In addition, the second analog potential is input to the memory cell MC from the wiring RW exemplified by the wiring RW [i] and the wiring RW [i + 1]. The memory cell MC has a function of adding the second analog potential or a potential corresponding to the second analog potential to the already held first analog potential, and a third analog potential obtained by the addition. Holding function. The memory cell MC has a function of generating a second analog current corresponding to the third analog potential. That is, it can be said that the memory cell MC has a function of holding the second analog current corresponding to the third analog potential by holding the third analog potential.
具体的に、図18に示す積和演算回路200では、メモリセルMC[i、j]に配線RW[i]から第2のアナログ電位Vw[i、j]が入力される。そして、メモリセルMC[i、j]は、第1のアナログ電位Vx[i、j]及び第2のアナログ電位Vw[i、j]に応じた第3のアナログ電位を保持する機能を有する。そして、メモリセルMC[i、j]は、第3のアナログ電位に応じた第2のアナログ電流を生成する機能を有する。すなわち、この場合、メモリセルMC[i、j]の電流I[i、j]は、第2のアナログ電流に相当する。
Specifically, in the product-
また、図18に示す積和演算回路200では、メモリセルMC[i+1、j]に配線RW[i+1]から第2のアナログ電位Vw[i+1、j]が入力される。そして、メモリセルMC[i+1、j]は、第1のアナログ電位Vx[i+1、j]及び第2のアナログ電位Vw[i+1、j]に応じた第3のアナログ電位を保持する機能を有する。そして、メモリセルMC[i+1、j]は、第3のアナログ電位に応じた第2のアナログ電流を生成する機能を有する。すなわち、この場合、メモリセルMC[i+1、j]の電流I[i+1、j]は、第2のアナログ電流に相当する。
In the product-
そして、電流I[i、j]は、メモリセルMC[i、j]を介して配線BL[j]と配線VR[j]の間を流れる。電流I[i+1、j]は、メモリセルMC[i+1、j]を介して配線BL[j]と配線VR[j]の間を流れる。よって、電流I[i、j]と電流I[i+1、j]との和に相当する電流I[j]が、メモリセルMC[i、j]及びメモリセルMC[i+1、j]を介して配線BL[j]と配線VR[j]の間を流れることとなる。 The current I [i, j] flows between the wiring BL [j] and the wiring VR [j] through the memory cell MC [i, j]. The current I [i + 1, j] flows between the wiring BL [j] and the wiring VR [j] through the memory cell MC [i + 1, j]. Therefore, a current I [j] corresponding to the sum of the current I [i, j] and the current I [i + 1, j] is passed through the memory cell MC [i, j] and the memory cell MC [i + 1, j]. It flows between the wiring BL [j] and the wiring VR [j].
参照アナログメモリ202は、メモリセルMCR[i]、メモリセルMCR[i+1]で例示されるメモリセルMCRを有する。メモリセルMCRには、配線WDREFから第1の参照電位VPRが入力される。そして、メモリセルMCRは、第1の参照電位VPRに応じた第1の参照電流を生成する機能を有する。なお、以下、メモリセルMCR[i]に流れる電流をIREF[i]とし、メモリセルMCR[i+1]に流れる電流をIREF[i+1]とする。
The
そして、具体的に、図18に示す積和演算回路200では、メモリセルMCR[i]に配線WDREF[i]から第1の参照電位VPRが入力される。メモリセルMCR[i]は、第1の参照電位VPRに応じた第1の参照電流を生成する機能を有する。すなわち、この場合、メモリセルMCR[i]の電流IREF[i]は、第1の参照電流に相当する。
Specifically, in the product-
また、図10に示す積和演算回路200では、メモリセルMCR[i+1]に配線WDREFから第1の参照電位VPRが入力される。メモリセルMCR[i+1]は、第1の参照電位VPRに応じた第1の参照電流を生成する機能を有する。すなわち、この場合、メモリセルMCR[i+1]の電流IREF[i+1]は、第1の参照電流に相当する。
In the product-
そして、メモリセルMCRは、第1の参照電位VPRを保持する機能を有する。すなわち、メモリセルMCRは、第1の参照電位VPRを保持することで、第1の参照電位VPRに応じた第1の参照電流を保持する機能を有すると言える。 The memory cell MCR has a function of holding the first reference potential VPR. That is, it can be said that the memory cell MCR has a function of holding the first reference current corresponding to the first reference potential VPR by holding the first reference potential VPR.
また、メモリセルMCRには、配線RW[i]、配線RW[i+1]で例示される配線RWから第2のアナログ電位が入力される。メモリセルMCRは、既に保持されている第1の参照電位VPRに、第2のアナログ電位或いは第2のアナログ電位に応じた電位を加算し、加算することで得られる第2の参照電位を保持する機能を有する。そして、メモリセルMCRは、第2の参照電位に応じた第2の参照電流を生成する機能を有する。すなわち、メモリセルMCRは、第2の参照電位を保持することで、第2の参照電位に応じた第2の参照電流を保持する機能を有すると言える。 In addition, the second analog potential is input to the memory cell MCR from the wiring RW exemplified by the wiring RW [i] and the wiring RW [i + 1]. The memory cell MCR adds the second analog potential or a potential corresponding to the second analog potential to the already held first reference potential VPR, and holds the second reference potential obtained by the addition. It has the function to do. The memory cell MCR has a function of generating a second reference current corresponding to the second reference potential. That is, it can be said that the memory cell MCR has a function of holding the second reference potential corresponding to the second reference potential by holding the second reference potential.
具体的に、図18に示す積和演算回路200では、メモリセルMCR[i]に配線RW[i]から第2のアナログ電位Vw[i、j]が入力される。そして、メモリセルMCR[i]は、第1の参照電位VPR及び第2のアナログ電位Vw[i、j]に応じた第2の参照電位を保持する機能を有する。そして、メモリセルMCR[i]は、第2の参照電位に応じた第2の参照電流を生成する機能を有する。すなわち、この場合、メモリセルMCR[i]の電流IREF[i]は、第2の参照電流に相当する。
Specifically, in the product-
また、図18に示す積和演算回路200では、メモリセルMCR[i+1]に配線RW[i+1]から第2のアナログ電位Vw[i+1、j]が入力される。そして、メモリセルMCR[i+1]は、第1の参照電位VPR及び第2のアナログ電位Vw[i+1、j]に応じた第2の参照電位を保持する機能を有する。そして、メモリセルMCR[i+1]は、第2の参照電位に応じた第2の参照電流を生成する機能を有する。すなわち、この場合、メモリセルMCR[i+1]の電流IREF[i+1]は、第2の参照電流に相当する。
In the product-
そして、電流IREF[i]は、メモリセルMCR[i]を介して配線BLREFと配線VRREFの間を流れる。電流IREF[i+1]は、メモリセルMCR[i+1]を介して配線BLREFと配線VRREFの間を流れる。よって、電流IREF[i]と電流IREF[i+1]との和に相当する電流IREFが、メモリセルMCR[i]及びメモリセルMCR[i+1]を介して配線BLREFと配線VRREFの間を流れることとなる。 Then, the current IREF [i] flows between the wiring BLREF and the wiring VRREF through the memory cell MCR [i]. The current IREF [i + 1] flows between the wiring BLREF and the wiring VRREF through the memory cell MCR [i + 1]. Therefore, the current IREF corresponding to the sum of the current IREF [i] and the current IREF [i + 1] flows between the wiring BLREF and the wiring VRREF via the memory cell MCR [i] and the memory cell MCR [i + 1]. Become.
電流源回路205は、配線BLREFに流れる電流IREFと同じ値の電流、もしくは電流IREFに対応する電流を、配線BLに供給する機能を有する。そして、後述するオフセットの電流を設定する際には、メモリセルMC[i、j]及びメモリセルMC[i+1、j]を介して配線BL[j]と配線VR[j]の間を流れる電流I[j]が、メモリセルMCR[i]及びメモリセルMCR[i+1]を介して配線BLREFと配線VRREFの間を流れる電流IREFと異なる場合、差分の電流は電流ソース回路203または電流シンク回路204に流れる。
The
具体的に、電流I[j]が電流IREFよりも大きい場合、電流ソース回路203は、電流I[j]と電流IREFの差分に相当する電流ΔI[j]を生成する機能を有する。また、電流ソース回路203は、生成した電流ΔI[j]を配線BL[j]に供給する機能を有する。すなわち、電流ソース回路203は、電流ΔI[j]を保持する機能を有すると言える。
Specifically, when the current I [j] is larger than the current IREF, the
また、電流I[j]が電流IREFよりも小さい場合、電流シンク回路204は、電流I[j]と電流IREFの差分に相当する電流ΔI[j]を生成する機能を有する。また、電流シンク回路204は、生成した電流ΔI[j]を配線BL[j]から引き込む機能を有する。すなわち、電流シンク回路204は、電流ΔI[j]を保持する機能を有すると言える。
When the current I [j] is smaller than the current IREF, the
次いで、図18に示す積和演算回路200の動作の一例について説明する。
Next, an example of the operation of the product-
まず、メモリセルMC[i、j]に第1のアナログ電位に応じた電位を格納する。具体的には、第1の参照電位VPRから第1のアナログ電位Vx[i、j]を差し引いた電位VPR−Vx[i、j]が、配線WD[j]を介してメモリセルMC[i、j]に入力される。メモリセルMC[i、j]では、電位VPR−Vx[i、j]が保持される。また、メモリセルMC[i、j]では、電位VPR−Vx[i、j]に応じた電流I[i、j]が生成される。例えば第1の参照電位VPRは、接地電位よりも高いハイレベルの電位とする。具体的には、接地電位よりも高く、電流源回路205に供給されるハイレベルの電位VDDと同程度か、それ以下の電位であることが望ましい。
First, a potential corresponding to the first analog potential is stored in the memory cell MC [i, j]. Specifically, a potential VPR−Vx [i, j] obtained by subtracting the first analog potential Vx [i, j] from the first reference potential VPR is set to the memory cell MC [i] via the wiring WD [j]. , J]. In the memory cell MC [i, j], the potential VPR−Vx [i, j] is held. In the memory cell MC [i, j], a current I [i, j] corresponding to the potential VPR−Vx [i, j] is generated. For example, the first reference potential VPR is a high level potential higher than the ground potential. Specifically, it is desirable that the potential is higher than the ground potential and is approximately equal to or lower than the high-level potential VDD supplied to the
また、メモリセルMCR[i]に第1の参照電位VPRを格納する。具体的には、電位VPRが、配線WDREFを介してメモリセルMCR[i]に入力される。メモリセルMCR[i]では、電位VPRが保持される。また、メモリセルMCR[i]では、電位VPRに応じた電流IREF[i]が生成される。 Further, the first reference potential VPR is stored in the memory cell MCR [i]. Specifically, the potential VPR is input to the memory cell MCR [i] through the wiring WDREF. In the memory cell MCR [i], the potential VPR is held. In the memory cell MCR [i], a current IREF [i] corresponding to the potential VPR is generated.
また、メモリセルMC[i+1、j]に第1のアナログ電位に応じた電位を格納する。具体的には、第1の参照電位VPRから第1のアナログ電位Vx[i+1、j]を差し引いた電位VPR−Vx[i+1、j]が、配線WD[j]を介してメモリセルMC[i+1、j]に入力される。メモリセルMC[i+1、j]では、電位VPR−Vx[i+1、j]が保持される。また、メモリセルMC[i+1、j]では、電位VPR−Vx[i+1、j]に応じた電流I[i+1、j]が生成される。 In addition, a potential corresponding to the first analog potential is stored in the memory cell MC [i + 1, j]. Specifically, the potential VPR−Vx [i + 1, j] obtained by subtracting the first analog potential Vx [i + 1, j] from the first reference potential VPR is connected to the memory cell MC [i + 1] via the wiring WD [j]. , J]. In the memory cell MC [i + 1, j], the potential VPR−Vx [i + 1, j] is held. Further, in the memory cell MC [i + 1, j], a current I [i + 1, j] corresponding to the potential VPR−Vx [i + 1, j] is generated.
また、メモリセルMCR[i+1]に第1の参照電位VPRを格納する。具体的には、電位VPRが、配線WDREFを介してメモリセルMCR[i+1]に入力される。モリセルMCR[i+1]では、電位VPRが保持される。また、メモリセルMCR[i+1]では、電位VPRに応じた電流IREF[i+1]が生成される。 In addition, the first reference potential VPR is stored in the memory cell MCR [i + 1]. Specifically, the potential VPR is input to the memory cell MCR [i + 1] through the wiring WDREF. In the Mori cell MCR [i + 1], the potential VPR is held. In the memory cell MCR [i + 1], a current IREF [i + 1] corresponding to the potential VPR is generated.
上記動作において、配線RW[i]及び配線RW[i+1]は基準電位とする。例えば、基準電位として接地電位、基準電位よりも低いローレベルの電位VSSなどを用いることができる。或いは、基準電位として電位VSSと電位VDDの間の電位を用いると、第2のアナログ電位Vwを正負にしても、配線RWの電位を接地電位よりも高くできるので信号の生成を容易にすることができ、正負の電位に対する積演算が可能になるので好ましい。 In the above operation, the wiring RW [i] and the wiring RW [i + 1] are set to the reference potential. For example, a ground potential, a low-level potential VSS lower than the reference potential, or the like can be used as the reference potential. Alternatively, when a potential between the potential VSS and the potential VDD is used as the reference potential, the potential of the wiring RW can be higher than the ground potential even if the second analog potential Vw is positive or negative, so that signal generation is facilitated. This is preferable because product operation for positive and negative potentials can be performed.
上記動作により、配線BL[j]には、配線BL[j]に接続されたメモリセルMCにおいてそれぞれ生成される電流を合わせた電流が、流れることとなる。具体的に図18では、メモリセルMC[i、j]で生成される電流I[i、j]と、メモリセルMC[i+1、j]で生成される電流I[i+1、j]とを合わせた電流I[j]が流れる。また、上記動作により、配線BLREFには、配線BLREFに接続されたメモリセルMCRにおいてそれぞれ生成される電流を合わせた電流が、流れることとなる。具体的に図18では、メモリセルMCR[i]で生成される電流IREF[i]と、メモリセルMCR[i+1]で生成される電流IREF[i+1]とを合わせた電流IREFが流れる。 Through the above operation, currents that are combined with currents generated in the memory cells MC connected to the wiring BL [j] flow through the wiring BL [j]. Specifically, in FIG. 18, the current I [i, j] generated in the memory cell MC [i, j] is combined with the current I [i + 1, j] generated in the memory cell MC [i + 1, j]. Current I [j] flows. Further, by the above operation, currents that are combined with currents generated in the memory cells MCR connected to the wiring BLREF flow through the wiring BLREF. Specifically, in FIG. 18, a current IREF that is a combination of the current IREF [i] generated in the memory cell MCR [i] and the current IREF [i + 1] generated in the memory cell MCR [i + 1] flows.
次いで、配線RW[i]及び配線RW[i+1]の電位を基準電位としたまま、第1のアナログ電位によって得られる電流I[j]と第1の参照電位によって得られる電流IREFとの差分から得られるオフセットの電流Ioffset[j]を、電流ソース回路203または電流シンク回路204において保持する。
Next, from the difference between the current I [j] obtained by the first analog potential and the current IREF obtained by the first reference potential, with the potentials of the wiring RW [i] and the wiring RW [i + 1] being the reference potential. The obtained offset current Ioffset [j] is held in the
具体的に、電流I[j]が電流IREFよりも大きい場合、電流ソース回路203は電流Ioffset[j]を配線BL[j]に供給する。すなわち、電流ソース回路203に流れる電流ICM[j]は電流Ioffset[j]に相当することとなる。そして、当該電流ICM[j]の値は電流ソース回路203において保持される。また、電流I[j]が電流IREFよりも小さい場合、電流シンク回路204は電流Ioffset[j]を配線BL[j]から引き込む。すなわち、電流シンク回路204に流れる電流ICP[j]は電流Ioffset[j]に相当することとなる。そして、当該電流ICP[j]の値は電流シンク回路204において保持される。
Specifically, when the current I [j] is larger than the current IREF, the
次いで、既にメモリセルMC[i、j]において保持されている第1のアナログ電位または第1のアナログ電位に応じた電位に加算するように、第2のアナログ電位または第2のアナログ電位に応じた電位をメモリセルMC[i、j]に格納する。具体的には、配線RW[i]の電位を基準電位に対してVw[i]だけ高い電位とすることで、第2のアナログ電位Vw[i]が、配線RW[i]を介してメモリセルMC[i、j]に入力される。メモリセルMC[i、j]では、電位VPR−Vx[i、j]+Vw[i]が保持される。また、メモリセルMC[i、j]では、電位VPR−Vx[i、j]+Vw[i]に応じた電流I[i、j]が生成される。 Then, according to the second analog potential or the second analog potential so as to be added to the first analog potential already held in the memory cell MC [i, j] or the potential according to the first analog potential. The stored potential is stored in the memory cell MC [i, j]. Specifically, by setting the potential of the wiring RW [i] to a potential higher by Vw [i] than the reference potential, the second analog potential Vw [i] is stored in the memory via the wiring RW [i]. Input to cell MC [i, j]. In the memory cell MC [i, j], the potential VPR−Vx [i, j] + Vw [i] is held. In the memory cell MC [i, j], a current I [i, j] corresponding to the potential VPR−Vx [i, j] + Vw [i] is generated.
また、既にメモリセルMC[i+1、j]において保持されている第1のアナログ電位または第1のアナログ電位に応じた電位に加算するように、第2のアナログ電位または第2のアナログ電位に応じた電位をメモリセルMC[i+1、j]に格納する。具体的には、配線RW[i+1]の電位を基準電位に対してVw[i+1]だけ高い電位とすることで、第2のアナログ電位Vw[i+1]が、配線RW[i+1]を介してメモリセルMC[i+1、j]に入力される。メモリセルMC[i+1、j]では、電位VPR−Vx[i+1、j]+Vw[i+1]が保持される。また、メモリセルMC[i+1、j]では、電位VPR−Vx[i+1、j]+Vw[i+1]に応じた電流I[i+1、j]が生成される。 Further, according to the second analog potential or the second analog potential so as to be added to the first analog potential already held in the memory cell MC [i + 1, j] or the potential according to the first analog potential. The stored potential is stored in the memory cell MC [i + 1, j]. Specifically, by setting the potential of the wiring RW [i + 1] higher by Vw [i + 1] than the reference potential, the second analog potential Vw [i + 1] is stored in the memory through the wiring RW [i + 1]. It is input to the cell MC [i + 1, j]. In the memory cell MC [i + 1, j], the potential VPR−Vx [i + 1, j] + Vw [i + 1] is held. In the memory cell MC [i + 1, j], a current I [i + 1, j] corresponding to the potential VPR−Vx [i + 1, j] + Vw [i + 1] is generated.
なお、電位を電流に変換する素子として飽和領域で動作するトランジスタTr1を用いる場合、配線RW[i]の電位がVw[i]であり、配線RW[i+1]の電位がVw[i+1]であると仮定すると、メモリセルMC[i、j]が有するトランジスタTr1のドレイン電流が電流I[i、j]に相当するので、第2のアナログ電流は以下の式1で表される。なお、kは係数、VthはトランジスタTr1の閾値電圧である。
Note that in the case where the transistor Tr1 that operates in the saturation region is used as an element that converts potential into current, the potential of the wiring RW [i] is Vw [i], and the potential of the wiring RW [i + 1] is Vw [i + 1]. Assuming that the drain current of the transistor Tr1 included in the memory cell MC [i, j] corresponds to the current I [i, j], the second analog current is expressed by the following
I[i、j]=k(Vw[i]−Vth+VPR−Vx[i、j])2・・・(1) I [i, j] = k (Vw [i] −Vth + VPR−Vx [i, j]) 2 (1)
また、メモリセルMCR[i]が有するトランジスタTr1のドレイン電流が電流IREF[i]に相当するので、第2の参照電流は以下の式2で表される。
Further, since the drain current of the transistor Tr1 included in the memory cell MCR [i] corresponds to the current IREF [i], the second reference current is expressed by the following
IREF[i]=k(Vw[i]−Vth+VPR)2・・・(2) IREF [i] = k (Vw [i] −Vth + VPR) 2 (2)
そして、メモリセルMC[i、j]に流れる電流I[i、j]と、メモリセルMC[i+1、j]に流れる電流I[i+1、j]の和に相当する電流I[j]は、I[j]=ΣiI[i、j]であり、メモリセルMCR[i]に流れる電流IREF[i]と、メモリセルMCR[i+1]に流れる電流IREF[i+1]の和に相当する電流IREFは、IREF=ΣiIREF[i]となり、その差分に相当する電流ΔI[j]は以下の式3で表される。
The current I [j] corresponding to the sum of the current I [i, j] flowing through the memory cell MC [i, j] and the current I [i + 1, j] flowing through the memory cell MC [i + 1, j] is: I [j] = ΣiI [i, j], and the current IREF corresponding to the sum of the current IREF [i] flowing through the memory cell MCR [i] and the current IREF [i + 1] flowing through the memory cell MCR [i + 1] is , IREF = ΣiIREF [i], and the current ΔI [j] corresponding to the difference is expressed by the following
ΔI[j]=IREF−I[j]=ΣiIREF[i]−ΣiI[i、j]・・・(3) ΔI [j] = IREF−I [j] = ΣiIREF [i] −ΣiI [i, j] (3)
式1、式2、式3から、電流ΔI[j]は以下の式4のように導き出される。
From
ΔI[j]
=Σi{k(Vw[i]−Vth+VPR)2−k(Vw[i]−Vth+VPR−Vx[i、j])2}
=2kΣi(Vw[i]・Vx[i、j])−2kΣi(Vth−VPR)・Vx[i、j]−kΣiVx[i、j]2・・・(4)
ΔI [j]
= Σi {k (Vw [i] −Vth + VPR) 2 −k (Vw [i] −Vth + VPR−Vx [i, j]) 2 }
= 2kΣi (Vw [i] · Vx [i, j]) − 2kΣi (Vth−VPR) · Vx [i, j] −kΣiVx [i, j] 2 (4)
式4において、2kΣi(Vw[i]・Vx[i、j])で示される項は、第1のアナログ電位Vx[i、j]及び第2のアナログ電位Vw[i]の積と、第1のアナログ電位Vx[i+1、j]及び第2のアナログ電位Vw[i+1]の積と、の和に相当する。
In
また、Ioffset[j]は、配線RW[i]の電位を全て基準電位としたとき、すなわち第2のアナログ電位Vw[i]を0、第2のアナログ電位Vw[i+1]を0としたときの電流ΔI[j]とすると、式4から、以下の式5が導き出される。
Further, Ioffset [j] is when the potential of the wiring RW [i] is all set as the reference potential, that is, when the second analog potential Vw [i] is 0 and the second analog potential Vw [i + 1] is 0. If the current ΔI [j] is, then the following equation 5 is derived from the
Ioffset[j]=−2kΣi(Vth−VPR)・Vx[i、j]−kΣiVx[i、j]2・・・(5) Ioffset [j] = − 2kΣi (Vth−VPR) · Vx [i, j] −kΣiVx [i, j] 2 (5)
したがって、式3乃至式5から、第1のアナログ電流と第2のアナログ電流の積和値に相当する2kΣi(Vw[i]・Vx[i、j])は、以下の式6で表されることが分かる。
Therefore, from
2kΣi(Vw[i]・Vx[i、j])=IREF−I[j]−Ioffset[j]・・・(6) 2kΣi (Vw [i] · Vx [i, j]) = IREF−I [j] −Ioffset [j] (6)
そして、メモリセルMCに流れる電流の和を電流I[j]、メモリセルMCRに流れる電流の和を電流IREF、電流ソース回路203または電流シンク回路204に流れる電流を電流Ioffset[j]とすると、配線RW[i]の電位をVw[i]、配線RW[i+1]の電位をVw[i+1]としたときに配線BL[j]から流れ出る電流Iout[j]は、IREF−I[j]−Ioffset[j]で表される。式6から、電流Iout[j]は、2kΣi(Vw[i]・Vx[i、j])であり、第1のアナログ電位Vx[i、j]及び第2のアナログ電位Vw[i]の積と、第2のアナログ電位Vx[i+1、j]及び第2のアナログ電位Vw[i+1]の積と、の和に相当することが分かる。
When the sum of currents flowing through the memory cell MC is current I [j], the sum of currents flowing through the memory cell MCR is current IREF, and the current flowing through the
なお、トランジスタTr1は飽和領域で動作させることが望ましいが、トランジスタTr1の動作領域が理想的な飽和領域と異なっていたとしても、第1のアナログ電位Vx[i、j]及び第2のアナログ電位Vw[i]の積と、第2のアナログ電位Vx[i+1、j]及び第2のアナログ電位Vw[i+1]の積との和に相当する電流を、所望の範囲内の精度で問題なく得ることができる場合は、トランジスタTr1は飽和領域で動作しているものとみなせる。 Note that the transistor Tr1 is desirably operated in a saturation region, but even if the operation region of the transistor Tr1 is different from an ideal saturation region, the first analog potential Vx [i, j] and the second analog potential are A current corresponding to the sum of the product of Vw [i] and the product of the second analog potential Vx [i + 1, j] and the second analog potential Vw [i + 1] is obtained without any problem with accuracy within a desired range. If it can, the transistor Tr1 can be regarded as operating in the saturation region.
図18に示す積和演算回路の構成とすることにより、デジタルデータに変換せずとも演算処理を実行することができるので、半導体装置の回路規模を小さく抑えることができる。或いは、図18に示す積和演算回路の構成とすることにより、デジタルデータに変換せずとも演算処理を実行することができるので、演算処理に要する時間を抑えることができる。或いは、図18に示す積和演算回路の構成とすることにより、演算処理に要する時間を抑えつつ、半導体装置の低消費電力化を実現することができる。 With the configuration of the product-sum operation circuit illustrated in FIG. 18, operation processing can be performed without conversion to digital data, so that the circuit scale of the semiconductor device can be reduced. Alternatively, with the configuration of the product-sum operation circuit illustrated in FIG. 18, the operation process can be executed without being converted into digital data, so that the time required for the operation process can be reduced. Alternatively, the configuration of the product-sum operation circuit illustrated in FIG. 18 can reduce the power consumption of the semiconductor device while suppressing the time required for the operation processing.
次いで、アナログメモリ201、参照アナログメモリ202、電流ソース回路203、電流シンク回路204、および電流源回路205の具体的な構成の一例について、図19を用いて説明する。
Next, examples of specific structures of the
図19では、一例として、任意の2行2列のメモリセルMCと、任意の2行1列のメモリセルMCRとの、具体的な回路構成と接続関係とを示している。具体的に図19では、i行j列目のメモリセルMC[i、j]と、i+1行j列目のメモリセルMC[i+1、j]と、i行j+1列目のメモリセルMC[i、j+1]と、i+1行j+1列目のメモリセルMC[i+1、j+1]とを図示している。また、具体的に図19では、i行目のメモリセルMCR[i]と、i+1行目のメモリセルMCR[i+1]とを図示している。 In FIG. 19, as an example, a specific circuit configuration and connection relationship between an arbitrary memory cell MC of 2 rows and 2 columns and an arbitrary memory cell MCR of 2 rows and 1 column are shown. Specifically, in FIG. 19, the memory cell MC [i, j] in the i-th row and j-th column, the memory cell MC [i + 1, j] in the i + 1-th row and j-th column, and the memory cell MC [i in the i-th row j + 1-th column. , J + 1] and the memory cell MC [i + 1, j + 1] in the (i + 1) th row and j + 1th column. Specifically, FIG. 19 illustrates the memory cell MCR [i] in the i-th row and the memory cell MCR [i + 1] in the i + 1-th row.
i行目のメモリセルMC[i、j]と、メモリセルMC[i、j+1]と、メモリセルMCR[i]とは、配線RW[i]及び配線WW[i]に接続されている。また、i+1行目のメモリセルMC[i+1、j]と、メモリセルMC[i+1、j+1]と、メモリセルMCR[i+1]とは、配線RW[i+1]及び配線WW[i+1]に接続されている。 The memory cell MC [i, j] in the i-th row, the memory cell MC [i, j + 1], and the memory cell MCR [i] are connected to the wiring RW [i] and the wiring WW [i]. The memory cell MC [i + 1, j] in the i + 1th row, the memory cell MC [i + 1, j + 1], and the memory cell MCR [i + 1] are connected to the wiring RW [i + 1] and the wiring WW [i + 1]. Yes.
j列目のメモリセルMC[i、j]と、メモリセルMC[i+1、j]とは、配線WD[j]、配線VR[j]、及び配線BL[j]に接続されている。また、j+1列目のメモリセルMC[i、j+1]と、メモリセルMC[i+1、j+1]とは、配線WD[j+1]、配線VR[j+1]、及び配線BL[j+1]に接続されている。また、メモリセルMCR[i]と、i+1行目のメモリセルMCR[i+1]とは、配線WDREF、配線VRREF、及び配線BLREFに接続されている。 The memory cell MC [i, j] in the j-th column and the memory cell MC [i + 1, j] are connected to the wiring WD [j], the wiring VR [j], and the wiring BL [j]. The memory cell MC [i, j + 1] in the j + 1 column and the memory cell MC [i + 1, j + 1] are connected to the wiring WD [j + 1], the wiring VR [j + 1], and the wiring BL [j + 1]. . The memory cell MCR [i] and the memory cell MCR [i + 1] in the (i + 1) th row are connected to the wiring WDREF, the wiring VRREF, and the wiring BLREF.
そして、各メモリセルMCと各メモリセルMCRとは、トランジスタTr1と、トランジスタTr2と、容量素子C1と、を有する。トランジスタTr2は、メモリセルMCまたはメモリセルMCRへの第1のアナログ電位の入力を制御する機能を有する。トランジスタTr1は、ゲートに入力された電位に従って、アナログ電流を生成する機能を有する。容量素子C1は、メモリセルMCまたはメモリセルMCRにおいて保持されている第1のアナログ電位または第1のアナログ電位に応じた電位に、第2のアナログ電位或いは第2のアナログ電位に応じた電位を加算する機能を有する。 Each memory cell MC and each memory cell MCR includes a transistor Tr1, a transistor Tr2, and a capacitor C1. The transistor Tr2 has a function of controlling input of the first analog potential to the memory cell MC or the memory cell MCR. The transistor Tr1 has a function of generating an analog current in accordance with the potential input to the gate. The capacitor C1 has a second analog potential or a potential corresponding to the second analog potential to the first analog potential or the potential corresponding to the first analog potential held in the memory cell MC or the memory cell MCR. Has the function of adding.
具体的に、図19に示すメモリセルMCでは、トランジスタTr1は、ゲートが配線WWに接続され、ソース又はドレインの一方が配線WDに接続され、ソース又はドレインの他方がトランジスタTr2のゲートに接続されている。また、トランジスタTr2は、ソース又はドレインの一方が配線VRに接続され、ソース又はドレインの他方が配線BLに接続されている。容量素子C1は、第1の電極が配線RWに接続され、第2の電極がトランジスタTr2のゲートに接続されている。 Specifically, in the memory cell MC illustrated in FIG. 19, the transistor Tr1 has a gate connected to the wiring WW, one of the source and the drain connected to the wiring WD, and the other of the source and the drain connected to the gate of the transistor Tr2. ing. In the transistor Tr2, one of a source and a drain is connected to the wiring VR, and the other of the source and the drain is connected to the wiring BL. In the capacitor C1, the first electrode is connected to the wiring RW, and the second electrode is connected to the gate of the transistor Tr2.
また、図19に示すメモリセルMCRでは、トランジスタTr1は、ゲートが配線WWに接続され、ソース又はドレインの一方が配線WDREFに接続され、ソース又はドレインの他方がトランジスタTr2のゲートに接続されている。また、トランジスタTr2は、ソース又はドレインの一方が配線VRREFに接続され、ソース又はドレインの他方が配線BLREFに接続されている。容量素子C1は、第1の電極が配線RWに接続され、第2の電極がトランジスタTr2のゲートに接続されている。 In the memory cell MCR shown in FIG. 19, the transistor Tr1 has a gate connected to the wiring WW, one of the source and the drain connected to the wiring WDREF, and the other of the source and the drain connected to the gate of the transistor Tr2. . In the transistor Tr2, one of a source and a drain is connected to the wiring VRREF, and the other of the source and the drain is connected to the wiring BLREF. In the capacitor C1, the first electrode is connected to the wiring RW, and the second electrode is connected to the gate of the transistor Tr2.
メモリセルMCにおいてトランジスタTr1のゲートをノードNとすると、メモリセルMCでは、トランジスタTr2を介してノードNに第1のアナログ電位が入力され、次いでトランジスタTr2がオフになるとノードNが浮遊状態になり、ノードNにおいて第1のアナログ電位または第1のアナログ電位に応じた電位が保持される。また、メモリセルMCでは、ノードNが浮遊状態になると、容量素子C1の第1の電極に入力された第2のアナログ電位がノードNに与えられる。上記動作により、ノードNは、第1のアナログ電位または第1のアナログ電位に応じた電位に、第2のアナログ電位または第2のアナログ電位に応じた電位が加算されることで得られる電位となる。 In the memory cell MC, when the gate of the transistor Tr1 is a node N, in the memory cell MC, the first analog potential is input to the node N through the transistor Tr2. Then, when the transistor Tr2 is turned off, the node N is in a floating state. The node N holds the first analog potential or the potential corresponding to the first analog potential. In the memory cell MC, when the node N is in a floating state, the second analog potential input to the first electrode of the capacitor C1 is applied to the node N. With the above operation, the node N has a potential obtained by adding the second analog potential or the potential corresponding to the second analog potential to the potential corresponding to the first analog potential or the first analog potential. Become.
なお、容量素子C1の第1の電極の電位は容量素子C1を介してノードNに与えられるため、実際には、第1の電極の電位の変化量がそのままノードNの電位の変化量に反映されるわけではない。具体的には、容量素子C1の容量値と、トランジスタTr1のゲート容量の容量値と、寄生容量の容量値とから一意に決まる結合係数を、第1の電極の電位の変化量に乗ずることで、ノードNの電位の変化量を正確に算出することができる。以下、説明を分かり易くするために、第1の電極の電位の変化量がほぼノードNの電位の変化量に反映されるものとして説明を行う。 Note that since the potential of the first electrode of the capacitor C1 is applied to the node N via the capacitor C1, in practice, the amount of change in the potential of the first electrode is directly reflected in the amount of change in the potential of the node N. It is not done. Specifically, by multiplying the amount of change in potential of the first electrode by a coupling coefficient that is uniquely determined from the capacitance value of the capacitive element C1, the capacitance value of the gate capacitance of the transistor Tr1, and the capacitance value of the parasitic capacitance. The amount of change in the potential of the node N can be accurately calculated. Hereinafter, in order to make the description easy to understand, it is assumed that the change amount of the potential of the first electrode is reflected in the change amount of the potential of the node N.
トランジスタTr1は、ノードNの電位にしたがってそのドレイン電流が定まる。よって、トランジスタTr2がオフになることでノードNの電位が保持されると、トランジスタTr1のドレイン電流の値も保持される。上記ドレイン電流には第1のアナログ電位と第2のアナログ電位が反映されている。 The drain current of the transistor Tr1 is determined according to the potential of the node N. Therefore, when the potential of the node N is held by turning off the transistor Tr2, the value of the drain current of the transistor Tr1 is also held. The drain current reflects the first analog potential and the second analog potential.
また、メモリセルMCRにおいてトランジスタTr1のゲートをノードNREFとすると、メモリセルMCRでは、トランジスタTr2を介してノードNREFに第1の参照電位または第1の参照電位に応じた電位が入力され、次いでトランジスタTr2がオフになるとノードNREFが浮遊状態になり、ノードNREFにおいて第1の参照電位または第1の参照電位に応じた電位が保持される。また、メモリセルMCRでは、ノードNREFが浮遊状態になると、容量素子C1の第1の電極に入力された第2のアナログ電位がノードNREFに与えられる。上記動作により、ノードNREFは、第1の参照電位または第1の参照電位に応じた電位に、第2のアナログ電位または第2のアナログ電位に応じた電位が加算されることで得られる電位となる。 Further, when the gate of the transistor Tr1 in the memory cell MCR is the node NREF, in the memory cell MCR, a first reference potential or a potential corresponding to the first reference potential is input to the node NREF through the transistor Tr2, and then the transistor When Tr2 is turned off, the node NREF enters a floating state, and the first reference potential or a potential corresponding to the first reference potential is held at the node NREF. In the memory cell MCR, when the node NREF is in a floating state, the second analog potential input to the first electrode of the capacitor C1 is applied to the node NREF. Through the above operation, the node NREF has the potential obtained by adding the second analog potential or the potential corresponding to the second analog potential to the potential corresponding to the first reference potential or the first reference potential. Become.
トランジスタTr1は、ノードNREFの電位にしたがってそのドレイン電流が定まる。よって、トランジスタTr2がオフになることでノードNREFの電位が保持されると、トランジスタTr1のドレイン電流の値も保持される。上記ドレイン電流には第1の参照電位と第2のアナログ電位が反映されている。 The drain current of the transistor Tr1 is determined according to the potential of the node NREF. Therefore, when the potential of the node NREF is held by turning off the transistor Tr2, the value of the drain current of the transistor Tr1 is also held. The drain current reflects the first reference potential and the second analog potential.
メモリセルMC[i、j]のトランジスタTr2に流れるドレイン電流を電流I[i、j]とし、メモリセルMC[i+1、j]のトランジスタTr2に流れるドレイン電流を電流I[i+1、j]とすると、配線BL[j]からメモリセルMC[i、j]及びメモリセルMC[i+1、j]に供給される電流の和は、電流I[j]となる。また、メモリセルMC[i、j+1]のトランジスタTr2に流れるドレイン電流を電流I[i、j+1]とし、メモリセルMC[i+1、j+1]のトランジスタTr2に流れるドレイン電流を電流I[i+1、j+1]とすると、配線BL[j+1]からメモリセルMC[i、j+1]及びメモリセルMC[i+1、j+1]に供給される電流の和は、電流I[j+1]となる。また、メモリセルMCR[i]のトランジスタTr2に流れるドレイン電流を電流IREF[i]とし、メモリセルMCR[i+1]のトランジスタTr2に流れるドレイン電流を電流IREF[i+1]とすると、配線BLREFからメモリセルMCR[i]及びメモリセルMCR[i+1]に供給される電流の和は、電流IREFとなる。 If the drain current flowing through the transistor Tr2 of the memory cell MC [i, j] is current I [i, j], and the drain current flowing through the transistor Tr2 of the memory cell MC [i + 1, j] is current I [i + 1, j]. The sum of the currents supplied from the wiring BL [j] to the memory cell MC [i, j] and the memory cell MC [i + 1, j] is the current I [j]. The drain current flowing through the transistor Tr2 of the memory cell MC [i, j + 1] is defined as a current I [i, j + 1], and the drain current flowing through the transistor Tr2 of the memory cell MC [i + 1, j + 1] is defined as a current I [i + 1, j + 1]. Then, a sum of currents supplied from the wiring BL [j + 1] to the memory cell MC [i, j + 1] and the memory cell MC [i + 1, j + 1] is a current I [j + 1]. Further, when the drain current flowing through the transistor Tr2 of the memory cell MCR [i] is current IREF [i] and the drain current flowing through the transistor Tr2 of the memory cell MCR [i + 1] is current IREF [i + 1], the memory cell is connected to the wiring BLREF. The sum of the currents supplied to MCR [i] and memory cell MCR [i + 1] is current IREF.
また図19に示す電流ソース回路203は、j列目のメモリセルMCに対応した電流ソース回路203[j]と、j+1列目のメモリセルMCに対応した電流ソース回路203[j+1]とを有する。また、図19に示す電流シンク回路204は、j列目のメモリセルMCに対応した電流シンク回路204[j]と、j+1列目のメモリセルMCに対応した電流シンク回路204[j+1]とを有する。
The
電流ソース回路203[j]及び電流シンク回路204[j]は、配線BL[j]に接続されている。また、電流ソース回路203[j+1]及び電流シンク回路204[j+1]は、配線BL[j+1]に接続されている。 The current source circuit 203 [j] and the current sink circuit 204 [j] are connected to the wiring BL [j]. In addition, the current source circuit 203 [j + 1] and the current sink circuit 204 [j + 1] are connected to the wiring BL [j + 1].
電流源回路205は、配線BL[j]、配線BL[j+1]、配線BLREFに接続されている。そして、電流源回路205は、配線BLREFに電流IREFを供給する機能と、電流IREFと同じ電流または電流IREFに応じた電流を、配線BL[j]及び配線BL[j+1]のそれぞれに供給する機能を有する。
The
具体的に、電流ソース回路203[j]及び電流ソース回路203[j+1]は、トランジスタTr7乃至Tr9と、容量素子C3とをそれぞれ有する。オフセットの電流を設定する際に、電流ソース回路203[j]において、トランジスタTr7は、電流I[j]が電流IREFよりも大きい場合に、電流I[j]と電流IREFの差分に相当する電流ICM[j]を生成する機能を有する。また、電流ソース回路203[j+1]において、トランジスタTr7は、電流I[j+1]が電流IREFよりも大きい場合に、電流I[j+1]と電流IREFの差分に相当する電流ICM[j+1]を生成する機能を有する。電流ICM[j]及び電流ICM[j+1]は、電流ソース回路203[j]及び電流ソース回路203[j+1]から配線BL[j]及び配線BL[j+1]に供給される。 Specifically, the current source circuit 203 [j] and the current source circuit 203 [j + 1] each include transistors Tr7 to Tr9 and a capacitor C3. When setting the offset current, in the current source circuit 203 [j], the transistor Tr7 has a current corresponding to the difference between the current I [j] and the current IREF when the current I [j] is larger than the current IREF. It has a function of generating ICM [j]. In the current source circuit 203 [j + 1], the transistor Tr7 generates a current ICM [j + 1] corresponding to the difference between the current I [j + 1] and the current IREF when the current I [j + 1] is larger than the current IREF. It has a function. The current ICM [j] and the current ICM [j + 1] are supplied from the current source circuit 203 [j] and the current source circuit 203 [j + 1] to the wiring BL [j] and the wiring BL [j + 1].
電流ソース回路203[j]及び電流ソース回路203[j+1]において、トランジスタTr7は、ソース又はドレインの一方が対応する配線BLに接続されており、ソース又はドレインの他方が所定の電位が供給される配線に接続されている。トランジスタTr8は、ソース又はドレインの一方が配線BLに接続されており、ソース又はドレインの他方がトランジスタTr7のゲートに接続されている。トランジスタTr9は、ソース又はドレインの一方がトランジスタTr7のゲートに接続されており、ソース又はドレインの他方が所定の電位が供給される配線に接続されている。容量素子C3は、第1の電極がトランジスタTr7のゲートに接続されており、第2の電極が所定の電位が供給される配線に接続されている。 In the current source circuit 203 [j] and the current source circuit 203 [j + 1], in the transistor Tr7, one of the source and the drain is connected to the corresponding wiring BL, and the other of the source and the drain is supplied with a predetermined potential. Connected to wiring. In the transistor Tr8, one of the source and the drain is connected to the wiring BL, and the other of the source and the drain is connected to the gate of the transistor Tr7. In the transistor Tr9, one of the source and the drain is connected to the gate of the transistor Tr7, and the other of the source and the drain is connected to a wiring to which a predetermined potential is supplied. In the capacitor C3, the first electrode is connected to the gate of the transistor Tr7, and the second electrode is connected to a wiring to which a predetermined potential is supplied.
トランジスタTr8のゲートは配線OSMに接続されており、トランジスタTr9のゲートは配線ORMに接続されている。 The gate of the transistor Tr8 is connected to the wiring OSM, and the gate of the transistor Tr9 is connected to the wiring ORM.
なお、図19では、トランジスタTr7がpチャネル型であり、トランジスタTr8及びTr9がnチャネル型である場合を例示している。 Note that FIG. 19 illustrates a case where the transistor Tr7 is a p-channel type and the transistors Tr8 and Tr9 are n-channel types.
また、電流シンク回路204[j]及び電流シンク回路204[j+1]は、トランジスタTr4乃至Tr6と、容量素子C4とをそれぞれ有する。オフセットの電流を設定する際に、電流シンク回路204[j]において、トランジスタTr4は、電流I[j]が電流IREFよりも小さい場合に、電流I[j]と電流IREFの差分に相当する電流ICP[j]を生成する機能を有する。また、電流シンク回路204[j+1]において、トランジスタTr4は、電流I[j+1]が電流IREFよりも小さい場合に、電流I[j+1]と電流IREFの差分に相当する電流ICP[j+1]を生成する機能を有する。電流ICP[j]及び電流ICP[j+1]は、配線BL[j]及び配線BL[j+1]から電流シンク回路204[j]及び電流シンク回路204[j+1]に引き込まれる。 The current sink circuit 204 [j] and the current sink circuit 204 [j + 1] include transistors Tr4 to Tr6 and a capacitor C4, respectively. When setting the offset current, in the current sink circuit 204 [j], the transistor Tr4 has a current corresponding to the difference between the current I [j] and the current IREF when the current I [j] is smaller than the current IREF. It has a function of generating ICP [j]. In the current sink circuit 204 [j + 1], the transistor Tr4 generates a current ICP [j + 1] corresponding to the difference between the current I [j + 1] and the current IREF when the current I [j + 1] is smaller than the current IREF. It has a function. The current ICP [j] and the current ICP [j + 1] are drawn from the wiring BL [j] and the wiring BL [j + 1] to the current sink circuit 204 [j] and the current sink circuit 204 [j + 1].
なお、電流ICM[j]と電流ICP[j]とが、Ioffset[j]に相当する。また、なお、電流ICM[j+1]と電流ICP[j+1]とが、Ioffset[j+1]に相当する。 Note that the current ICM [j] and the current ICP [j] correspond to Ioffset [j]. Note that the current ICM [j + 1] and the current ICP [j + 1] correspond to Ioffset [j + 1].
そして、電流シンク回路204[j]及び電流シンク回路204[j+1]において、トランジスタTr4は、ソース又はドレインの一方が対応する配線BLに接続されており、ソース又はドレインの他方が所定の電位が供給される配線に接続されている。トランジスタTr5は、ソース又はドレインの一方が配線BLに接続されており、ソース又はドレインの他方がトランジスタTr4のゲートに接続されている。トランジスタTr6は、ソース又はドレインの一方がトランジスタTr4のゲートに接続されており、ソース又はドレインの他方が所定の電位が供給される配線に接続されている。容量素子C4は、第1の電極がトランジスタTr4のゲートに接続されており、第2の電極が所定の電位が供給される配線に接続されている。 In the current sink circuit 204 [j] and the current sink circuit 204 [j + 1], the transistor Tr4 has one of the source and the drain connected to the corresponding wiring BL, and the other of the source and the drain is supplied with a predetermined potential. Connected to the wiring. In the transistor Tr5, one of the source and the drain is connected to the wiring BL, and the other of the source and the drain is connected to the gate of the transistor Tr4. In the transistor Tr6, one of the source and the drain is connected to the gate of the transistor Tr4, and the other of the source and the drain is connected to a wiring to which a predetermined potential is supplied. In the capacitor C4, the first electrode is connected to the gate of the transistor Tr4, and the second electrode is connected to a wiring to which a predetermined potential is supplied.
トランジスタTr5のゲートは配線OSPに接続されており、トランジスタTr6のゲートは配線ORPに接続されている。 The gate of the transistor Tr5 is connected to the wiring OSP, and the gate of the transistor Tr6 is connected to the wiring ORP.
なお、図19では、トランジスタTr4乃至Tr6がnチャネル型である場合を例示している。 Note that FIG. 19 illustrates the case where the transistors Tr4 to Tr6 are n-channel type.
また、電流源回路205は、配線BLに対応したトランジスタTr10と、配線BLREFに対応したトランジスタTr11とを有する。具体的に、図19に示す電流源回路205は、トランジスタTr10として、配線BL[j]に対応したトランジスタTr10[j]と、配線BL[j+1]に対応したトランジスタTr10[j+1]とを有する場合を例示している。
The
トランジスタTr10のゲートは、トランジスタTr11のゲートに接続されている。また、トランジスタTr10は、ソース又はドレインの一方が対応する配線BLに接続されており、ソース又はドレインの他方が所定の電位が供給される配線に接続されている。トランジスタTr11は、ソース又はドレインの一方が配線BLREFに接続されており、ソース又はドレインの他方が所定の電位が供給される配線に接続されている。 The gate of the transistor Tr10 is connected to the gate of the transistor Tr11. In the transistor Tr10, one of the source and the drain is connected to the corresponding wiring BL, and the other of the source and the drain is connected to a wiring to which a predetermined potential is supplied. In the transistor Tr11, one of a source and a drain is connected to the wiring BLREF, and the other of the source and the drain is connected to a wiring to which a predetermined potential is supplied.
トランジスタTr10とトランジスタTr11とは、同じ極性を有している。図19では、トランジスタTr10とトランジスタTr11とが、共にpチャネル型を有する場合を例示している。 The transistor Tr10 and the transistor Tr11 have the same polarity. FIG. 19 illustrates a case where both the transistor Tr10 and the transistor Tr11 have a p-channel type.
トランジスタTr11のドレイン電流は電流IREFに相当する。そして、トランジスタTr10とトランジスタTr11とはカレントミラー回路としての機能を有するため、トランジスタTr10のドレイン電流は、トランジスタTr11のドレイン電流とほぼ同じ値、またはトランジスタTr11のドレイン電流に応じた値となる。 The drain current of the transistor Tr11 corresponds to the current IREF. Since the transistor Tr10 and the transistor Tr11 have a function as a current mirror circuit, the drain current of the transistor Tr10 has almost the same value as the drain current of the transistor Tr11 or a value corresponding to the drain current of the transistor Tr11.
次いで、図19を用いて、積和演算回路200の具体的な動作の一例について説明する。
Next, an example of a specific operation of the product-
図20は、図19に示すメモリセルMC、メモリセルMCR、電流ソース回路203、電流シンク回路204、および電流源回路205の動作を示すタイミングチャートの一例に相当する。図20では、時刻T01乃至時刻T04において、メモリセルMC及びメモリセルMCRに第1のアナログ電流を格納する動作が行われる。時刻T05乃至時刻T10において、電流ソース回路203及び電流シンク回路204にオフセットの電流Ioffsetを設定する動作が行われる。時刻T11乃至時刻T16において、第1のアナログ電流と第2のアナログ電流との積和値に対応したデータを取得する動作が行われる。
20 corresponds to an example of a timing chart illustrating operations of the memory cell MC, the memory cell MCR, the
なお、電源線VR[j]及び電源線VR[j+1]にはローレベルの電位が供給されるものとする。また、電流ソース回路203に接続される所定の電位を有する配線は、全てハイレベルの電位VDDが供給されるものとする。また、電流シンク回路204に接続される所定の電位を有する配線は、全てローレベルの電位VSSが供給されるものとする。また、電流源回路205に接続される所定の電位を有する配線は、全てハイレベルの電位VDDが供給されるものとする。
Note that a low-level potential is supplied to the power supply line VR [j] and the power supply line VR [j + 1]. In addition, all the wirings having a predetermined potential connected to the
また、トランジスタTr1、Tr4、Tr7、Tr10[j]、Tr10[j+1]、Tr11は飽和領域で動作するものとする。 The transistors Tr1, Tr4, Tr7, Tr10 [j], Tr10 [j + 1], and Tr11 are assumed to operate in the saturation region.
まず、時刻T01乃至時刻T02において、配線WW[i]にハイレベルの電位が与えられ、配線WW[i+1]にローレベルの電位が与えられる。上記動作により、図19に示すメモリセルMC[i、j]、メモリセルMC[i、j+1]、メモリセルMCR[i]においてトランジスタTr2がオンになる。また、メモリセルMC[i+1、j]、メモリセルMC[i+1、j+1]、メモリセルMCR[i+1]においてトランジスタTr2がオフの状態を維持する。 First, from time T01 to time T02, a high-level potential is applied to the wiring WW [i], and a low-level potential is applied to the wiring WW [i + 1]. Through the above operation, the transistor Tr2 is turned on in the memory cell MC [i, j], the memory cell MC [i, j + 1], and the memory cell MCR [i] illustrated in FIG. In addition, the transistor Tr2 is kept off in the memory cell MC [i + 1, j], the memory cell MC [i + 1, j + 1], and the memory cell MCR [i + 1].
また、時刻T01乃至時刻T02では、図19に示す配線WD[j]と配線WD[j+1]とに、第1の参照電位VPRから第1のアナログ電位を差し引いた電位がそれぞれ与えられる。具体的に、配線WD[j]には電位VPR−Vx[i、j]が与えられ、配線WD[j+1]には電位VPR−Vx[i、j+1]が与えられる。また、配線WDREFには第1の参照電位VPRが与えられ、配線RW[i]及び配線RW[i+1]には基準電位として電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられる。 From time T01 to time T02, a potential obtained by subtracting the first analog potential from the first reference potential VPR is supplied to the wiring WD [j] and the wiring WD [j + 1] illustrated in FIG. Specifically, the potential VPR-Vx [i, j] is applied to the wiring WD [j], and the potential VPR-Vx [i, j + 1] is applied to the wiring WD [j + 1]. The wiring WDREF is supplied with the first reference potential VPR, and the wiring RW [i] and the wiring RW [i + 1] have a potential between the potential VSS and the potential VDD as a reference potential, for example, a potential (VDD + VSS) / 2. Given.
よって、図19に示すメモリセルMC[i、j]のノードN[i、j]にはトランジスタTr2を介して電位VPR−Vx[i、j]が与えられ、メモリセルMC[i、j+1]のノードN[i、j+1]にはトランジスタTr2を介して電位VPR−Vx[i、j+1]が与えられ、メモリセルMCR[i]のノードNREF[i]にはトランジスタTr2を介して電位VPRが与えられる。 Accordingly, the node N [i, j] of the memory cell MC [i, j] illustrated in FIG. 19 is supplied with the potential VPR−Vx [i, j] through the transistor Tr2, and the memory cell MC [i, j + 1]. Node N [i, j + 1] is supplied with the potential VPR-Vx [i, j + 1] through the transistor Tr2, and the node NREF [i] of the memory cell MCR [i] is supplied with the potential VPR through the transistor Tr2. Given.
時刻T02が終了すると、図19に示す配線WW[i]に与えられる電位はハイレベルからローレベルに変化し、メモリセルMC[i、j]、メモリセルMC[i、j+1]、メモリセルMCR[i]においてトランジスタTr2がオフになる。上記動作により、ノードN[i、j]には電位VPR−Vx[i、j]が保持され、ノードN[i、j+1]には電位VPR−Vx[i、j+1]が保持され、ノードNREF[i]には電位VPRが保持される。 When the time T02 ends, the potential applied to the wiring WW [i] illustrated in FIG. 19 changes from a high level to a low level, and the memory cell MC [i, j], the memory cell MC [i, j + 1], and the memory cell MCR In [i], the transistor Tr2 is turned off. Through the above operation, the node N [i, j] holds the potential VPR−Vx [i, j], the node N [i, j + 1] holds the potential VPR−Vx [i, j + 1], and the node NREF [I] holds the potential VPR.
次いで、時刻T03乃至時刻T04において、図19に示す配線WW[i]の電位はローレベルに維持され、配線WW[i+1]にハイレベルの電位が与えられる。上記動作により、図19に示すメモリセルMC[i+1、j]、メモリセルMC[i+1、j+1]、メモリセルMCR[i+1]においてトランジスタTr2がオンになる。また、メモリセルMC[i、j]、メモリセルMC[i、j+1]、メモリセルMCR[i]においてトランジスタTr2がオフの状態を維持する。 Next, from time T03 to time T04, the potential of the wiring WW [i] illustrated in FIG. 19 is maintained at a low level, and a high-level potential is applied to the wiring WW [i + 1]. Through the above operation, the transistor Tr2 is turned on in the memory cell MC [i + 1, j], the memory cell MC [i + 1, j + 1], and the memory cell MCR [i + 1] illustrated in FIG. Further, the transistor Tr2 is kept off in the memory cell MC [i, j], the memory cell MC [i, j + 1], and the memory cell MCR [i].
また、時刻T03乃至時刻T04では、図19に示す配線WD[j]と配線WD[j+1]とに、第1の参照電位VPRから第1のアナログ電位を差し引いた電位がそれぞれ与えられる。具体的に、配線WD[j]には電位VPR−Vx[i+1、j]が与えられ、配線WD[j+1]には電位VPR−Vx[i+1、j+1]が与えられる。また、配線WDREFには第1の参照電位VPRが与えられ、配線RW[i]及び配線RW[i+1]には基準電位として電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられる。 From time T03 to time T04, a potential obtained by subtracting the first analog potential from the first reference potential VPR is supplied to the wiring WD [j] and the wiring WD [j + 1] illustrated in FIG. Specifically, the potential VPR−Vx [i + 1, j] is applied to the wiring WD [j], and the potential VPR−Vx [i + 1, j + 1] is applied to the wiring WD [j + 1]. The wiring WDREF is supplied with the first reference potential VPR, and the wiring RW [i] and the wiring RW [i + 1] have a potential between the potential VSS and the potential VDD as a reference potential, for example, a potential (VDD + VSS) / 2. Given.
よって、図19に示すメモリセルMC[i+1、j]のノードN[i+1、j]にはトランジスタTr2を介して電位VPR−Vx[i+1、j]が与えられ、メモリセルMC[i+1、j+1]のノードN[i+1、j+1]にはトランジスタTr2を介して電位VPR−Vx[i+1、j+1]が与えられ、メモリセルMCR[i+1]のノードNREF[i+1]にはトランジスタTr2を介して電位VPRが与えられる。 Accordingly, the node N [i + 1, j] of the memory cell MC [i + 1, j] illustrated in FIG. 19 is supplied with the potential VPR−Vx [i + 1, j] through the transistor Tr2, and the memory cell MC [i + 1, j + 1]. Node N [i + 1, j + 1] is supplied with the potential VPR-Vx [i + 1, j + 1] via the transistor Tr2, and the node NREF [i + 1] of the memory cell MCR [i + 1] is supplied with the potential VPR via the transistor Tr2. Given.
時刻T04が終了すると、図19に示す配線WW[i+1]に与えられる電位はハイレベルからローレベルに変化し、メモリセルMC[i+1、j]、メモリセルMC[i+1、j+1]、メモリセルMCR[i+1]においてトランジスタTr2がオフになる。上記動作により、ノードN[i+1、j]には電位VPR−Vx[i+1、j]が保持され、ノードN[i+1、j+1]には電位VPR−Vx[i+1、j+1]が保持され、ノードNREF[i+1]には電位VPRが保持される。 When the time T04 ends, the potential applied to the wiring WW [i + 1] illustrated in FIG. 19 changes from a high level to a low level, and the memory cell MC [i + 1, j], the memory cell MC [i + 1, j + 1], and the memory cell MCR. In [i + 1], the transistor Tr2 is turned off. Through the above operation, the node N [i + 1, j] holds the potential VPR−Vx [i + 1, j], the node N [i + 1, j + 1] holds the potential VPR−Vx [i + 1, j + 1], and the node NREF [I + 1] holds the potential VPR.
次いで、時刻T05乃至時刻T06において、図19に示す配線ORP及び配線ORMにハイレベルの電位が与えられる。図19に示す電流ソース回路203[j]及び電流ソース回路203[j+1]では、配線ORMにハイレベルの電位が与えられることで、トランジスタTr9がオンになり、トランジスタTr7のゲートは電位VDDが与えられることでリセットされる。また、図19に示す電流シンク回路204[j]及び電流シンク回路204[j+1]では、配線ORPにハイレベルの電位が与えられることで、トランジスタTr6がオンになり、トランジスタTr4のゲートは電位VSSが与えられることでリセットされる。 Next, at time T05 to time T06, a high-level potential is applied to the wiring ORP and the wiring ORM illustrated in FIG. In the current source circuit 203 [j] and the current source circuit 203 [j + 1] illustrated in FIG. 19, the transistor Tr9 is turned on when a high-level potential is applied to the wiring ORM, and the potential VDD is applied to the gate of the transistor Tr7. To reset. In the current sink circuit 204 [j] and the current sink circuit 204 [j + 1] illustrated in FIG. 19, when a high-level potential is applied to the wiring ORP, the transistor Tr6 is turned on, and the gate of the transistor Tr4 has a potential VSS. Is reset when given.
時刻T06が終了すると、図19に示す配線ORP及び配線ORMに与えられる電位はハイレベルからローレベルに変化し、電流ソース回路203[j]及び電流ソース回路203[j+1]においてトランジスタTr9がオフになり、電流シンク回路204[j]及び電流シンク回路204[j+1]においてトランジスタTr6がオフになる。上記動作により、電流ソース回路203[j]及び電流ソース回路203[j+1]においてトランジスタTr7のゲートに電位VDDが保持され、電流シンク回路204[j]及び電流シンク回路204[j+1]においてトランジスタTr4のゲートに電位VSSが保持される。 When the time T06 ends, the potentials applied to the wiring ORP and the wiring ORM illustrated in FIG. 19 change from a high level to a low level, and the transistor Tr9 is turned off in the current source circuit 203 [j] and the current source circuit 203 [j + 1]. Thus, the transistor Tr6 is turned off in the current sink circuit 204 [j] and the current sink circuit 204 [j + 1]. With the above operation, the potential VDD is held at the gate of the transistor Tr7 in the current source circuit 203 [j] and the current source circuit 203 [j + 1], and the transistor Tr4 in the current sink circuit 204 [j] and the current sink circuit 204 [j + 1]. The potential VSS is held at the gate.
次いで、時刻T07乃至時刻T08において、図19に示す配線OSPにハイレベルの電位が与えられる。また、図19に示す配線RW[i]及び配線RW[i+1]には基準電位として電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられる。配線OSPにハイレベルの電位が与えられることにより、電流シンク回路204[j]及び電流シンク回路204[j+1]においてトランジスタTr5がオンになる。 Next, at time T07 to time T08, a high-level potential is applied to the wiring OSP illustrated in FIG. In addition, a potential between the potential VSS and the potential VDD, for example, a potential (VDD + VSS) / 2 is supplied as a reference potential to the wiring RW [i] and the wiring RW [i + 1] illustrated in FIG. When the high-level potential is applied to the wiring OSP, the transistor Tr5 is turned on in the current sink circuit 204 [j] and the current sink circuit 204 [j + 1].
配線BL[j]に流れるI[j]が配線BLREFに流れる電流IREFよりも小さい場合、すなわちΔI[j]が正の場合、図19に示すメモリセルMC[i、j]のトランジスタTr1が引き込むことのできる電流と、メモリセルMC[i+1、j]のトランジスタTr1が引き込むことのできる電流との和が、トランジスタTr10[j]のドレイン電流より小さいことを意味する。よって、電流ΔI[j]が正の場合、電流シンク回路204[j]においてトランジスタTr5がオンになると、トランジスタTr10[j]のドレイン電流の一部がトランジスタTr4のゲートに流れ込み、当該ゲートの電位が上昇し始める。そして、トランジスタTr4のドレイン電流が電流ΔI[j]とほぼ等しくなると、トランジスタTr4のゲートの電位は所定の値に収束する。このときのトランジスタTr4のゲートの電位は、トランジスタTr4のドレイン電流が電流ΔI[j]、すなわちIoffset[j](=ICP[j])となるような電位に相当する。つまり、電流シンク回路204[j]のトランジスタTr4は、電流ICP[j]を流し得る電流源に設定された状態であると言える。 When I [j] flowing through the wiring BL [j] is smaller than the current IREF flowing through the wiring BLREF, that is, when ΔI [j] is positive, the transistor Tr1 of the memory cell MC [i, j] illustrated in FIG. This means that the sum of the current that can be drawn and the current that can be drawn by the transistor Tr1 of the memory cell MC [i + 1, j] is smaller than the drain current of the transistor Tr10 [j]. Therefore, when the current ΔI [j] is positive and the transistor Tr5 is turned on in the current sink circuit 204 [j], part of the drain current of the transistor Tr10 [j] flows into the gate of the transistor Tr4, and the potential of the gate Begins to rise. When the drain current of the transistor Tr4 becomes substantially equal to the current ΔI [j], the potential of the gate of the transistor Tr4 converges to a predetermined value. At this time, the gate potential of the transistor Tr4 corresponds to a potential at which the drain current of the transistor Tr4 becomes the current ΔI [j], that is, Ioffset [j] (= ICP [j]). That is, it can be said that the transistor Tr4 of the current sink circuit 204 [j] is set to a current source that can flow the current ICP [j].
同様に、配線BL[j+1]に流れるI[j+1]が配線BLREFに流れる電流IREFよりも小さい場合、つまり電流ΔI[j+1]が正の場合、電流シンク回路204[j+1]においてトランジスタTr5がオンになると、トランジスタTr10[j+1]のドレイン電流の一部がトランジスタTr4のゲートに流れ込み、当該ゲートの電位が上昇し始める。そして、トランジスタTr4のドレイン電流が電流ΔI[j+1]とほぼ等しくなると、トランジスタTr4のゲートの電位は所定の値に収束する。このときのトランジスタTr4のゲートの電位は、トランジスタTr4のドレイン電流が電流ΔI[j+1]、すなわちIoffset[j+1](=ICP[j+1])となるような電位に相当する。つまり、電流シンク回路204[j+1]のトランジスタTr4は、電流ICP[j+1]を流し得る電流源に設定された状態であると言える。 Similarly, when I [j + 1] flowing through the wiring BL [j + 1] is smaller than the current IREF flowing through the wiring BLREF, that is, when the current ΔI [j + 1] is positive, the transistor Tr5 is turned on in the current sink circuit 204 [j + 1]. Then, part of the drain current of the transistor Tr10 [j + 1] flows into the gate of the transistor Tr4, and the potential of the gate starts to rise. When the drain current of the transistor Tr4 becomes substantially equal to the current ΔI [j + 1], the gate potential of the transistor Tr4 converges to a predetermined value. The potential of the gate of the transistor Tr4 at this time corresponds to a potential at which the drain current of the transistor Tr4 becomes the current ΔI [j + 1], that is, Ioffset [j + 1] (= ICP [j + 1]). That is, it can be said that the transistor Tr4 of the current sink circuit 204 [j + 1] is set to a current source that can flow the current ICP [j + 1].
時刻T08が終了すると、図19に示す配線OSPに与えられる電位はハイレベルからローレベルに変化し、電流シンク回路204[j]及び電流シンク回路204[j+1]においてトランジスタTr5がオフになる。上記動作により、トランジスタTr4のゲートの電位は保持される。よって、電流シンク回路204[j]は電流ICP[j]を流し得る電流源に設定された状態を維持し、電流シンク回路204[j+1]は電流ICP[j+1]を流し得る電流源に設定された状態を維持する。 When the time T08 ends, the potential applied to the wiring OSP illustrated in FIG. 19 changes from a high level to a low level, and the transistor Tr5 is turned off in the current sink circuit 204 [j] and the current sink circuit 204 [j + 1]. With the above operation, the potential of the gate of the transistor Tr4 is maintained. Therefore, the current sink circuit 204 [j] maintains the state set as a current source capable of flowing the current ICP [j], and the current sink circuit 204 [j + 1] is set as the current source capable of flowing the current ICP [j + 1]. Maintain the state.
次いで、時刻T09乃至時刻T10において、図19に示す配線OSMにハイレベルの電位が与えられる。また、図19に示す配線RW[i]及び配線RW[i+1]には基準電位として電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられる。配線OSMにハイレベルの電位が与えられることにより、電流ソース回路203[j]及び電流ソース回路203[j+1]においてトランジスタTr8がオンになる。 Next, at time T09 to time T10, a high-level potential is applied to the wiring OSM illustrated in FIG. In addition, a potential between the potential VSS and the potential VDD, for example, a potential (VDD + VSS) / 2 is supplied as a reference potential to the wiring RW [i] and the wiring RW [i + 1] illustrated in FIG. When the high-level potential is applied to the wiring OSM, the transistor Tr8 is turned on in the current source circuit 203 [j] and the current source circuit 203 [j + 1].
配線BL[j]に流れるI[j]が配線BLREFに流れる電流IREFよりも大きい場合、すなわちΔI[j]が負の場合、図19に示すメモリセルMC[i、j]のトランジスタTr1が引き込むことのできる電流と、メモリセルMC[i+1、j]のトランジスタTr1が引き込むことのできる電流との和が、トランジスタTr10[j]のドレイン電流より大きいことを意味する。よって、電流ΔI[j]が負の場合、電流ソース回路203[j]においてトランジスタTr8がオンになると、トランジスタTr7のゲートから配線BL[j]に電流が流れ出し、当該ゲートの電位が下降し始める。そして、トランジスタTr7のドレイン電流が電流ΔI[j]とほぼ等しくなると、トランジスタTr7のゲートの電位は所定の値に収束する。このときのトランジスタTr7のゲートの電位は、トランジスタTr7のドレイン電流が電流ΔI[j]、すなわちIoffset[j](=ICM[j])となるような電位に相当する。つまり、電流ソース回路203[j]のトランジスタTr7は、電流ICM[j]を流し得る電流源に設定された状態であると言える。 When I [j] flowing through the wiring BL [j] is larger than the current IREF flowing through the wiring BLREF, that is, when ΔI [j] is negative, the transistor Tr1 of the memory cell MC [i, j] illustrated in FIG. This means that the sum of the current that can be drawn and the current that can be drawn by the transistor Tr1 of the memory cell MC [i + 1, j] is larger than the drain current of the transistor Tr10 [j]. Therefore, when the current ΔI [j] is negative and the transistor Tr8 is turned on in the current source circuit 203 [j], current flows from the gate of the transistor Tr7 to the wiring BL [j], and the potential of the gate starts to decrease. . When the drain current of the transistor Tr7 becomes substantially equal to the current ΔI [j], the potential of the gate of the transistor Tr7 converges to a predetermined value. At this time, the gate potential of the transistor Tr7 corresponds to a potential at which the drain current of the transistor Tr7 becomes a current ΔI [j], that is, Ioffset [j] (= ICM [j]). That is, it can be said that the transistor Tr7 of the current source circuit 203 [j] is set to a current source that can flow the current ICM [j].
同様に、配線BL[j+1]に流れるI[j+1]が配線BLREFに流れる電流IREFよりも大きい場合、つまり電流ΔI[j+1]が負の場合、電流ソース回路203[j+1]においてトランジスタTr8がオンになると、トランジスタTr7のゲートから配線BL[j+1]に電流が流れ出し、当該ゲートの電位が下降し始める。そして、トランジスタTr7のドレイン電流が電流ΔI[j+1]の絶対値とほぼ等しくなると、トランジスタTr7のゲートの電位は所定の値に収束する。このときのトランジスタTr7のゲートの電位は、トランジスタTr7のドレイン電流が電流ΔI[j+1]、すなわちIoffset[j+1](=ICM[j+1])の絶対値に等しい電位に相当する。つまり、電流ソース回路203[j+1]のトランジスタTr7は、電流ICM[j+1]を流し得る電流源に設定された状態であると言える。 Similarly, when I [j + 1] flowing through the wiring BL [j + 1] is larger than the current IREF flowing through the wiring BLREF, that is, when the current ΔI [j + 1] is negative, the transistor Tr8 is turned on in the current source circuit 203 [j + 1]. Then, current flows from the gate of the transistor Tr7 to the wiring BL [j + 1], and the potential of the gate starts to drop. When the drain current of the transistor Tr7 becomes substantially equal to the absolute value of the current ΔI [j + 1], the potential of the gate of the transistor Tr7 converges to a predetermined value. The potential of the gate of the transistor Tr7 at this time corresponds to a potential at which the drain current of the transistor Tr7 is equal to the current ΔI [j + 1], that is, the absolute value of Ioffset [j + 1] (= ICM [j + 1]). That is, it can be said that the transistor Tr7 of the current source circuit 203 [j + 1] is set to a current source that can flow the current ICM [j + 1].
時刻T08が終了すると、図19に示す配線OSMに与えられる電位はハイレベルからローレベルに変化し、電流ソース回路203[j]及び電流ソース回路203[j+1]においてトランジスタTr8がオフになる。上記動作により、トランジスタTr7のゲートの電位は保持される。よって、電流ソース回路203[j]は電流ICM[j]を流し得る電流源に設定された状態を維持し、電流ソース回路203[j+1]は電流ICM[j+1]を流し得る電流源に設定された状態を維持する。 When the time T08 ends, the potential applied to the wiring OSM illustrated in FIG. 19 changes from a high level to a low level, and the transistor Tr8 is turned off in the current source circuit 203 [j] and the current source circuit 203 [j + 1]. With the above operation, the potential of the gate of the transistor Tr7 is maintained. Therefore, the current source circuit 203 [j] maintains the state set as a current source that can flow the current ICM [j], and the current source circuit 203 [j + 1] is set as a current source that can flow the current ICM [j + 1]. Maintain the state.
なお、電流シンク回路204[j]及び電流シンク回路204[j+1]において、トランジスタTr4は電流を引き込む機能を有する。そのため、時刻T07乃至時刻T08において配線BL[j]に流れる電流I[j]が配線BLREFに流れる電流IREFよりも大きくΔI[j]が負の場合、或いは、配線BL[j+1]に流れる電流I[j+1]が配線BLREFに流れる電流IREFよりも大きくΔI[j+1]が負の場合、電流シンク回路204[j]または電流シンク回路204[j+1]から過不足なく配線BL[j]または配線BL[j+1]に電流を供給するのが難しくなる恐れがある。この場合、配線BL[j]または配線BL[j+1]に流れる電流と、配線BLREFに流れる電流とのバランスを取るために、メモリセルMCのトランジスタTr1と、電流シンク回路204[j]または電流シンク回路204[j+1]のトランジスタTr4と、トランジスタTr10[j]またはTr10[j+1]とが、共に飽和領域で動作することが困難になる可能性がある。 Note that in the current sink circuit 204 [j] and the current sink circuit 204 [j + 1], the transistor Tr4 has a function of drawing current. Therefore, when the current I [j] flowing through the wiring BL [j] is larger than the current IREF flowing through the wiring BLREF from time T07 to time T08 and ΔI [j] is negative, or the current I flowing through the wiring BL [j + 1] When [j + 1] is larger than the current IREF flowing through the wiring BLREF and ΔI [j + 1] is negative, the current BL [j] or the wiring BL [] is not excessively shorted from the current sink circuit 204 [j] or the current sink circuit 204 [j + 1]. It may be difficult to supply current to j + 1]. In this case, in order to balance the current flowing through the wiring BL [j] or the wiring BL [j + 1] with the current flowing through the wiring BLREF, the transistor Tr1 of the memory cell MC and the current sink circuit 204 [j] or the current sink It may be difficult for the transistor Tr4 of the circuit 204 [j + 1] and the transistor Tr10 [j] or Tr10 [j + 1] to operate in the saturation region.
時刻T07乃至時刻T08においてΔI[j]が負の場合でも、トランジスタTr1、Tr4、Tr10[j]またはTr10[j+1]における飽和領域での動作を確保するために、時刻T05乃至時刻T06において、トランジスタTr7のゲートを電位VDDにリセットするのではなく、トランジスタTr7のゲートの電位を所定のドレイン電流が得られる程度の高さに設定しておいても良い。上記構成により、トランジスタTr10[j]またはTr10[j+1]のドレイン電流に加えてトランジスタTr7から電流が供給されるため、トランジスタTr1において引き込めない分の電流を、トランジスタTr4においてある程度引き込むことができるため、トランジスタTr1、Tr4、Tr10[j]またはTr10[j+1]における飽和領域での動作を確保することができる。 Even in the case where ΔI [j] is negative from time T07 to time T08, in order to ensure the operation in the saturation region of the transistor Tr1, Tr4, Tr10 [j], or Tr10 [j + 1], the transistor from time T05 to time T06 Instead of resetting the gate of Tr7 to the potential VDD, the gate potential of the transistor Tr7 may be set to such a level that a predetermined drain current can be obtained. With the above structure, since current is supplied from the transistor Tr7 in addition to the drain current of the transistor Tr10 [j] or Tr10 [j + 1], a current that cannot be drawn in the transistor Tr1 can be drawn to some extent in the transistor Tr4. The operation in the saturation region of the transistors Tr1, Tr4, Tr10 [j] or Tr10 [j + 1] can be ensured.
なお、時刻T09乃至時刻T10において、配線BL[j]に流れるI[j]が配線BLREFに流れる電流IREFよりも小さい場合、すなわちΔI[j]が正の場合、時刻T07乃至時刻T08において電流シンク回路204[j]が電流ICP[j]を流し得る電流源に既に設定されているため、電流ソース回路203[j]においてトランジスタTr7のゲートの電位はほぼ電位VDDのままとなる。同様に、配線BL[j+1]に流れるI[j+1]が配線BLREFに流れる電流IREFよりも小さい場合、すなわちΔI[j+1]が正の場合、時刻T07乃至時刻T08において電流シンク回路204[j+1]が電流ICP[j+1]を流し得る電流源に既に設定されているため、電流ソース回路203[j+1]においてトランジスタTr7のゲートの電位はほぼ電位VDDのままとなる。 Note that at time T09 to time T10, when I [j] flowing through the wiring BL [j] is smaller than the current IREF flowing through the wiring BLREF, that is, when ΔI [j] is positive, current sinking is performed from time T07 to time T08. Since the circuit 204 [j] is already set as a current source capable of flowing the current ICP [j], the potential of the gate of the transistor Tr7 remains substantially at the potential VDD in the current source circuit 203 [j]. Similarly, when I [j + 1] flowing through the wiring BL [j + 1] is smaller than the current IREF flowing through the wiring BLREF, that is, when ΔI [j + 1] is positive, the current sink circuit 204 [j + 1] is switched from time T07 to time T08. Since the current source is already set to a current source through which the current ICP [j + 1] can flow, the potential of the gate of the transistor Tr7 remains substantially the potential VDD in the current source circuit 203 [j + 1].
次いで、時刻T11乃至時刻T12において、図19に示す配線RW[i]に第2のアナログ電位Vw[i]が与えられる。また、配線RW[i+1]には、基準電位として電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられたままである。具体的に、配線RW[i]の電位は、基準電位である電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2に対して電位差Vw[i]だけ高い電位となるが、以下説明を分かり易くするために、配線RW[i]の電位は電位Vw[i]であると仮定する。 Next, at time T11 to time T12, the second analog potential Vw [i] is applied to the wiring RW [i] illustrated in FIG. The wiring RW [i + 1] is still supplied with a potential between the potential VSS and the potential VDD, for example, the potential (VDD + VSS) / 2 as the reference potential. Specifically, the potential of the wiring RW [i] is higher by a potential difference Vw [i] than the potential between the potential VSS and the potential VDD, for example, the potential (VDD + VSS) / 2. For easy understanding, it is assumed that the potential of the wiring RW [i] is the potential Vw [i].
配線RW[i]が電位Vw[i]になると、容量素子C1の第1の電極の電位の変化量がほぼノードNの電位の変化量に反映されるものと仮定すると、図19に示すメモリセルMC[i、j]におけるノードNの電位はVPR−Vx[i、j]+Vw[i]となり、メモリセルMC[i、j+1]におけるノードNの電位はVPR−Vx[i、j+1]+Vw[i]となる。そして、上記の式6から、メモリセルMC[i、j]に対応する第1のアナログ電流と第2のアナログ電流の積和値は、電流ΔI[j]からIoffset[j]を差し引いた電流、すなわち、配線BL[j]から流れ出る電流Iout[j]に反映されることが分かる。また、メモリセルMC[i、j+1]に対応する第1のアナログ電流と第2のアナログ電流の積和値は、電流ΔI[j+1]からIoffset[j+1]を差し引いた電流、すなわち、配線BL[j+1]から流れ出る電流Iout[j+1]に反映されることが分かる。 When it is assumed that when the wiring RW [i] becomes the potential Vw [i], the amount of change in the potential of the first electrode of the capacitor C1 is substantially reflected in the amount of change in the potential of the node N, the memory illustrated in FIG. The potential of the node N in the cell MC [i, j] is VPR−Vx [i, j] + Vw [i], and the potential of the node N in the memory cell MC [i, j + 1] is VPR−Vx [i, j + 1] + Vw. [I]. From the above equation 6, the product sum of the first analog current and the second analog current corresponding to the memory cell MC [i, j] is the current obtained by subtracting Ioffset [j] from the current ΔI [j]. In other words, it is reflected in the current Iout [j] flowing out from the wiring BL [j]. The product sum of the first analog current and the second analog current corresponding to the memory cell MC [i, j + 1] is a current obtained by subtracting Ioffset [j + 1] from the current ΔI [j + 1], that is, the wiring BL [ It can be seen that the current Iout [j + 1] flowing out from j + 1] is reflected.
時刻T12が終了すると、配線RW[i]には、再度、基準電位である電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられる。 When the time T12 ends, the wiring RW [i] is again supplied with a potential between the potential VSS and the potential VDD which is the reference potential, for example, the potential (VDD + VSS) / 2.
次いで、時刻T13乃至時刻T14において、図19に示す配線RW[i+1]に第2のアナログ電位Vw[i+1]が与えられる。また、配線RW[i]には、基準電位として電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられたままである。具体的に、配線RW[i+1]の電位は、基準電位である電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2に対して電位差Vw[i+1]だけ高い電位となるが、以下説明を分かり易くするために、配線RW[i+1]の電位は電位Vw[i+1]であると仮定する。 Next, at time T13 to time T14, the second analog potential Vw [i + 1] is supplied to the wiring RW [i + 1] illustrated in FIG. The wiring RW [i] is still supplied with a potential between the potential VSS and the potential VDD, for example, the potential (VDD + VSS) / 2 as the reference potential. Specifically, the potential of the wiring RW [i + 1] is higher by a potential difference Vw [i + 1] than the potential between the reference potential VSS and the potential VDD, for example, the potential (VDD + VSS) / 2. For ease of explanation, it is assumed that the potential of the wiring RW [i + 1] is the potential Vw [i + 1].
配線RW[i+1]が電位Vw[i+1]になると、容量素子C1の第1の電極の電位の変化量がほぼノードNの電位の変化量に反映されるものと仮定すると、図19に示すメモリセルMC[i+1、j]におけるノードNの電位はVPR−Vx[i+1、j]+Vw[i+1]となり、メモリセルMC[i+1、j+1]におけるノードNの電位はVPR−Vx[i+1、j+1]+Vw[i+1]となる。そして、上記の式6から、メモリセルMC[i+1、j]に対応する第1と第2の積和値は、電流ΔI[j]からIoffset[j]を差し引いた電流、すなわち、Iout[j]に反映されることが分かる。また、メモリセルMC[i+1、j+1]に対応する第1のアナログ電流と第2のアナログ電流の積和値は、電流ΔI[j+1]からIoffset[j+1]を差し引いた電流、すなわち、Iout[j+1]に反映されることが分かる。 When it is assumed that when the wiring RW [i + 1] becomes the potential Vw [i + 1], the amount of change in the potential of the first electrode of the capacitor C1 is almost reflected in the amount of change in the potential of the node N. The potential of the node N in the cell MC [i + 1, j] is VPR−Vx [i + 1, j] + Vw [i + 1], and the potential of the node N in the memory cell MC [i + 1, j + 1] is VPR−Vx [i + 1, j + 1] + Vw. [I + 1]. From Equation 6 above, the first and second product-sum values corresponding to the memory cell MC [i + 1, j] are the current obtained by subtracting Ioffset [j] from the current ΔI [j], that is, Iout [j ] Is reflected in the The product sum of the first analog current and the second analog current corresponding to the memory cell MC [i + 1, j + 1] is a current obtained by subtracting Ioffset [j + 1] from the current ΔI [j + 1], that is, Iout [j + 1]. ] Is reflected in the
時刻T12が終了すると、配線RW[i+1]には、再度、基準電位である電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられる。 When the time T12 ends, the wiring RW [i + 1] is again supplied with a potential between the potential VSS which is the reference potential and the potential VDD, for example, the potential (VDD + VSS) / 2.
次いで、時刻T15乃至時刻T16において、図19に示す配線RW[i]に第2のアナログ電位Vw[i]が与えられ、配線RW[i+1]に第2のアナログ電位Vw[i+1]が与えられる。具体的に、配線RW[i]の電位は、基準電位である電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2に対して電位差Vw[i]だけ高い電位となり、配線RW[i+1]の電位は、基準電位である電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2に対して電位差Vw[i+1]だけ高い電位となるが、以下説明を分かり易くするために、配線RW[i]の電位は電位Vw[i]であり、配線RW[i+1]の電位は電位Vw[i+1]であると仮定する。 Next, at time T15 to time T16, the second analog potential Vw [i] is supplied to the wiring RW [i] illustrated in FIG. 19, and the second analog potential Vw [i + 1] is supplied to the wiring RW [i + 1]. . Specifically, the potential of the wiring RW [i] is higher by a potential difference Vw [i] than a potential between the reference potential VSS and the potential VDD, for example, the potential (VDD + VSS) / 2, and the wiring RW [i] The potential of (i + 1) is higher than the potential between the potential VSS and the potential VDD, for example, the potential (VDD + VSS) / 2 by a potential difference Vw [i + 1]. Further, it is assumed that the potential of the wiring RW [i] is the potential Vw [i] and the potential of the wiring RW [i + 1] is the potential Vw [i + 1].
配線RW[i]が電位Vw[i]になると、容量素子C1の第1の電極の電位の変化量がほぼノードNの電位の変化量に反映されるものと仮定すると、図19に示すメモリセルMC[i、j]におけるノードNの電位はVPR−Vx[i、j]+Vw[i]となり、メモリセルMC[i、j+1]におけるノードNの電位はVPR−Vx[i、j+1]+Vw[i]となる。また、配線RW[i+1]が電位Vw[i+1]になると、容量素子C1の第1の電極の電位の変化量がほぼノードNの電位の変化量に反映されるものと仮定すると、図19に示すメモリセルMC[i+1、j]におけるノードNの電位はVPR−Vx[i+1、j]+Vw[i+1]となり、メモリセルMC[i+1、j+1]におけるノードNの電位はVPR−Vx[i+1、j+1]+Vw[i+1]となる。 When it is assumed that when the wiring RW [i] becomes the potential Vw [i], the amount of change in the potential of the first electrode of the capacitor C1 is substantially reflected in the amount of change in the potential of the node N, the memory illustrated in FIG. The potential of the node N in the cell MC [i, j] is VPR−Vx [i, j] + Vw [i], and the potential of the node N in the memory cell MC [i, j + 1] is VPR−Vx [i, j + 1] + Vw. [I]. Further, when it is assumed that when the wiring RW [i + 1] becomes the potential Vw [i + 1], the amount of change in the potential of the first electrode of the capacitor C1 is substantially reflected in the amount of change in the potential of the node N in FIG. The potential of the node N in the memory cell MC [i + 1, j] shown is VPR−Vx [i + 1, j] + Vw [i + 1], and the potential of the node N in the memory cell MC [i + 1, j + 1] is VPR−Vx [i + 1, j + 1. ] + Vw [i + 1].
そして、上記の式6から、メモリセルMC[i、j]とメモリセルMC[i+1、j]とに対応する第1と第2の積和値は、電流ΔI[j]からIoffset[j]を差し引いた電流、すなわち、電流Iout[j]に反映されることが分かる。また、メモリセルMC[i、j+1]とメモリセルMC[i+1、j+1]とに対応する第1と第2の積和値は、電流ΔI[j+1]からIoffset[j+1]を差し引いた電流、すなわち、電流Iout[j+1]に反映されることが分かる。 From Equation 6 above, the first and second product sum values corresponding to the memory cell MC [i, j] and the memory cell MC [i + 1, j] are obtained from the current ΔI [j] to Ioffset [j]. It can be seen that the current is subtracted from the current Iout [j]. The first and second product sum values corresponding to the memory cell MC [i, j + 1] and the memory cell MC [i + 1, j + 1] are currents obtained by subtracting Ioffset [j + 1] from the current ΔI [j + 1], that is, It can be seen that the current Iout [j + 1] is reflected.
時刻T16が終了すると、配線RW[i]及び配線RW[i+1]には、再度、基準電位である電位VSSと電位VDDの間の電位、例えば電位(VDD+VSS)/2が与えられる。 When the time T16 ends, the wiring RW [i] and the wiring RW [i + 1] are again supplied with a potential between the potential VSS and the potential VDD, for example, the potential (VDD + VSS) / 2.
上記構成により、積和演算を小さな回路規模で行うことができる。また、上記構成により、積和演算を高速で行うことができる。また、上記構成により、低消費電力で積和演算を行うことができる。 With the above configuration, the product-sum operation can be performed with a small circuit scale. In addition, with the above configuration, the product-sum operation can be performed at high speed. In addition, with the above configuration, the product-sum operation can be performed with low power consumption.
なお図18乃至図20で説明した積和演算回路の回路構成はあくまで一例であり、本発明の一態様を実現可能であれば任意の構成とすることができる。 Note that the circuit configuration of the product-sum operation circuit described with reference to FIGS. 18 to 20 is merely an example, and any configuration can be employed as long as one embodiment of the present invention can be realized.
なお、トランジスタTr2、Tr5、Tr6、Tr8、またはTr9は、オフ電流の著しく低いトランジスタを用いることが望ましい。トランジスタTr2にオフ電流の著しく低いトランジスタを用いることにより、ノードNの電位の保持を長時間に渡って行うことができる。また、トランジスタTr5及びTr6にオフ電流の著しく低いトランジスタを用いることにより、トランジスタTr4のゲートの電位の保持を、長時間に渡って行うことができる。また、トランジスタTr8及びTr9にオフ電流の著しく低いトランジスタを用いることにより、トランジスタTr7のゲートの電位の保持を、長時間に渡って行うことができる。 Note that as the transistor Tr2, Tr5, Tr6, Tr8, or Tr9, a transistor with extremely low off-state current is preferably used. By using a transistor with extremely low off-state current as the transistor Tr2, the potential of the node N can be held for a long time. Further, by using transistors with extremely low off-state current for the transistors Tr5 and Tr6, the potential of the gate of the transistor Tr4 can be held for a long time. Further, by using transistors with extremely low off-state current for the transistors Tr8 and Tr9, the potential of the gate of the transistor Tr7 can be held for a long time.
トランジスタのオフ電流を下げるには、例えば、チャネル形成領域をエネルギーギャップが広い半導体で形成すればよい。半導体のエネルギーギャップは、2.5eV以上、または2.7eV以上、または3eV以上であることが好ましい。このような半導体材料として酸化物半導体が挙げられる。トランジスタTr2、Tr5、Tr6、Tr8、またはTr9として、チャネル形成領域に酸化物半導体を含むトランジスタを用いればよい。チャネル幅で規格化したOSトランジスタのリーク電流は、ソースドレイン電圧が10V、室温(25℃程度)の状態で10×10−21A/μm(10ゼプトA/μm)以下とすることが可能である。スイッチSW2、SW3に適用されるOSトランジスタのリーク電流は、室温(25℃程度)にて1×10−18A以下、または、1×10−21A以下、または1×10−24A以下が好ましい。または、リーク電流は85℃にて1×10−15A以下、または1×10−18A以下、または1×10−21A以下であることが好ましい。 In order to reduce the off-state current of the transistor, for example, the channel formation region may be formed using a semiconductor with a wide energy gap. The energy gap of the semiconductor is preferably 2.5 eV or more, 2.7 eV or more, or 3 eV or more. As such a semiconductor material, an oxide semiconductor can be given. A transistor including an oxide semiconductor in a channel formation region may be used as the transistors Tr2, Tr5, Tr6, Tr8, or Tr9. The leakage current of the OS transistor normalized by the channel width can be 10 × 10 −21 A / μm (10 zept A / μm) or less when the source drain voltage is 10 V and room temperature (about 25 ° C.). is there. The leakage current of the OS transistor applied to the switches SW2 and SW3 is 1 × 10 −18 A or less, 1 × 10 −21 A or less, or 1 × 10 −24 A or less at room temperature (about 25 ° C.). preferable. Alternatively, the leakage current is preferably 1 × 10 −15 A or less, or 1 × 10 −18 A or less, or 1 × 10 −21 A or less at 85 ° C.
酸化物半導体はエネルギーギャップが大きく、電子が励起されにくく、ホールの有効質量が大きい半導体である。このため、チャネル形成領域に酸化物半導体を含むトランジスタは、シリコン等を用いた一般的なトランジスタと比較して、アバランシェ崩壊等が生じにくい場合がある。アバランシェ崩壊に起因するホットキャリア劣化等が抑制されることで、チャネル形成領域に酸化物半導体を含むトランジスタは高いドレイン耐圧を有することとなり、高いドレイン電圧で駆動することが可能である。 An oxide semiconductor is a semiconductor with a large energy gap, difficulty in excitation of electrons, and a large effective mass of holes. For this reason, a transistor including an oxide semiconductor in a channel formation region may hardly undergo avalanche collapse or the like as compared with a general transistor using silicon or the like. By suppressing hot carrier deterioration caused by avalanche collapse, a transistor including an oxide semiconductor in a channel formation region has a high drain breakdown voltage, and can be driven with a high drain voltage.
トランジスタのチャネル形成領域に含まれる酸化物半導体は、インジウム(In)および亜鉛(Zn)の少なくとも一方を含む酸化物半導体であることが好ましい。このような酸化物半導体としては、In酸化物、Zn酸化物、In−Zn酸化物、In−M−Zn酸化物(元素Mは、Ga、Al、Ti、Y、Zr、La、Ce、Nd、またはHf)が代表的である。これら酸化物半導体は、電子供与体(ドナー)となる水素などの不純物を低減し、かつ酸素欠損も低減することで、酸化物半導体をi型半導体(真性半導体)にする、あるいはi型半導体に限りなく近づけることができる。このような酸化物半導体は、高純度化された酸化物半導体と呼ぶことができる。 The oxide semiconductor included in the channel formation region of the transistor is preferably an oxide semiconductor including at least one of indium (In) and zinc (Zn). As such an oxide semiconductor, an In oxide, a Zn oxide, an In—Zn oxide, an In—M—Zn oxide (the element M includes Ga, Al, Ti, Y, Zr, La, Ce, and Nd). Or Hf) is typical. These oxide semiconductors reduce an impurity such as hydrogen that serves as an electron donor (donor) and reduce oxygen vacancies to make the oxide semiconductor an i-type semiconductor (intrinsic semiconductor), or to an i-type semiconductor. It can be as close as possible. Such an oxide semiconductor can be referred to as a highly purified oxide semiconductor.
チャネル形成領域を、キャリア密度の低い酸化物半導体で形成することが好ましい。酸化物半導体のキャリア密度は、例えば、キャリア密度は8×1011/cm3未満1×10−9/cm3以上であるとよい。キャリア密度は、1×1011/cm3未満が好ましく、1×1010/cm3未満がさらに好ましい。
The channel formation region is preferably formed using an oxide semiconductor with low carrier density. For example, the carrier density of the oxide semiconductor is preferably less than 8 × 10 11 /
<人工ニューラルネットワークの構成例>
上述した積和演算回路は、畳み込み演算の特徴抽出フィルターもしくは全結合演算回路として適用することで、CNN(Convolutional Neural Network)による特徴量の抽出を行うことができる。具体的には上述した積和演算回路を階層型ニューラルネットワークに用いることで、画像データの補正に用いるパラメータを機械学習により決定することができる。
<Configuration example of artificial neural network>
The product-sum operation circuit described above can be used as a feature extraction filter for convolution operation or a fully-coupled operation circuit to extract feature amounts using a CNN (Convolutional Neural Network). Specifically, by using the product-sum operation circuit described above for a hierarchical neural network, parameters used for image data correction can be determined by machine learning.
図21は、階層型ニューラルネットワークの一例を示した図である。第(k−1)層(kは2以上の整数である。)は、ニューロンをP個(Pは1以上の整数である。)有し、第k層は、ニューロンをQ個(Qは1以上の整数である。)有し、第(k+1)層は、ニューロンをR個(Rは1以上の整数である。)有する。 FIG. 21 is a diagram illustrating an example of a hierarchical neural network. The (k−1) -th layer (k is an integer of 2 or more) has P neurons (P is an integer of 1 or more), and the k-th layer has Q neurons (Q is The (k + 1) th layer has R neurons (R is an integer of 1 or more).
第(k−1)層の第pニューロン(pは1以上P以下の整数である。)の出力信号zp (k−1)と重み係数wqp (k)と、の積が第k層の第qニューロン(qは1以上Q以下の整数である。)に入力されるものとし、第k層の第qニューロンの出力信号zq (k)と重み係数wrq (k+1)と、の積が第(k+1)層の第rニューロン(rは1以上R以下の整数である。)に入力されるものとし、第(k+1)層の第rニューロンの出力信号をzr (k+1)とする。 The product of the output signal z p (k−1) and the weight coefficient w qp (k) of the p-th neuron of the (k−1) -th layer (p is an integer of 1 or more and P or less) is the k-th layer. The q-th neuron (q is an integer between 1 and Q), and the output signal z q (k) of the k- th neuron in the k-th layer and the weight coefficient w rq (k + 1) Assume that the product is input to the r-th neuron in the (k + 1) -th layer (r is an integer of 1 to R), and the output signal of the r-th neuron in the (k + 1) -th layer is expressed as z r (k + 1) To do.
このとき、第k層の第qニューロンへ入力される信号の総和は、次の式(D1)で表される。 At this time, the total sum of signals input to the k-th neuron in the k-th layer is expressed by the following equation (D1).
また、第k層の第qニューロンからの出力信号zq (k)を次の式(D2)で定義する。 The output signal z q (k) from the q-th neuron in the k-th layer is defined by the following equation (D2).
関数f(uq (k))は、ニューロンの出力関数であり、ステップ関数、線形ランプ関数、又はシグモイド関数などを用いることができる。なお、式(D1)の積和演算は、先述した積和演算回路によって実現できる。なお、式(D2)の演算は、例えば、図24(A)に示す回路411によって実現できる。
The function f (u q (k) ) is a neuron output function, and a step function, a linear ramp function, a sigmoid function, or the like can be used. The product-sum operation of equation (D1) can be realized by the product-sum operation circuit described above. Note that the calculation of Expression (D2) can be realized by a
なお、ニューロンの出力関数は、全てのニューロンにおいて同一でもよいし、又は異なっていてもよい。加えて、ニューロンの出力関数は、層毎において、同一でもよいし、異なっていてもよい。 Note that the output function of the neurons may be the same or different in all the neurons. In addition, the output function of the neuron may be the same or different for each layer.
ここで、図22に示す、全L層からなる階層型ニューラルネットワークを考える(つまり、ここでのkは2以上(L−1)以下の整数とする。)。第1層は、階層型ニューラルネットワークの入力層となり、第L層は、階層型ニューラルネットワークの出力層となり、第2層乃至第(L−1)層は、隠れ層となる。 Here, a hierarchical neural network including all L layers shown in FIG. 22 is considered (that is, k here is an integer of 2 or more and (L−1) or less). The first layer is an input layer of the hierarchical neural network, the Lth layer is an output layer of the hierarchical neural network, and the second to (L-1) th layers are hidden layers.
第1層(入力層)は、ニューロンをP個有し、第k層(隠れ層)は、ニューロンをQ[k]個(Q[k]は1以上の整数である。)有し、第L層(出力層)は、ニューロンをR個有する。 The first layer (input layer) has P neurons, and the kth layer (hidden layer) has Q [k] neurons (Q [k] is an integer equal to or greater than 1). The L layer (output layer) has R neurons.
第1層の第s[1]ニューロン(s[1]は1以上P以下の整数である。)の出力信号をzs[1] (1)とし、第k層の第s[k]ニューロン(s[k]は1以上Q[k]以下の整数である。)の出力信号をzs[k] (k)とし、第L層の第s[L]ニューロン(s[L]は1以上R以下の整数である。)の出力信号をzs[L] (L)とする。 The output signal of the s [1] neuron in the first layer (s [1] is an integer between 1 and P) is z s [1] (1), and the s [k] neuron in the kth layer. The output signal (s [k] is an integer between 1 and Q [k]) is z s [k] (k), and the s [L] neuron (s [L] is 1 in the Lth layer. The output signal is an integer less than or equal to R.) z s [L] (L) .
また、第(k−1)層の第s[k−1]ニューロン(s[k−1]は1以上Q[k−1]以下の整数である。)の出力信号zs[k−1] (k−1)と重み係数ws[k]s[k−1] (k)と、の積us[k] (k)が第k層の第s[k]ニューロンに入力されるものとし、第(L−1)層の第s[L−1]ニューロン(s[L−1]は1以上Q[L−1]以下の整数である。)の出力信号zs[L−1] (L−1)と重み係数ws[L]s[L−1] (L)と、の積us[L] (L)が第L層の第s[L]ニューロンに入力されるものとする。 The output signal z s [k−1 ] of the s [k−1] th neuron (s [k−1] is an integer of 1 to Q [k−1]) in the (k−1) th layer. ] Product k s [k] (k ) and weight coefficient w s [k] s [k−1] (k) are input to the s [k] neuron in the k-th layer. It is assumed that the output signal z s [L− ] of the s [L−1] neuron (s [L−1] is an integer of 1 to Q [L−1]) in the (L−1) th layer. 1] (L−1) and the weight coefficient w s [L] s [L−1] (L) and the product u s [L] (L) are input to the s [L] neuron in the Lth layer. Shall be.
次に、教師付き学習について説明する。教師付き学習とは、上述の階層型ニューラルネットワークの機能において、出力した結果と、所望の結果(教師データ、又は教師信号という場合がある。)と異なったときに、階層型ニューラルネットワークの全ての重み係数を、出力した結果と所望の結果とに基づいて、更新する動作をいう。 Next, supervised learning will be described. Supervised learning means that when the output result differs from the desired result (sometimes referred to as teacher data or teacher signal) in the function of the above-described hierarchical neural network, An operation for updating the weighting coefficient based on the output result and the desired result.
教師付き学習の具体例として、逆伝播誤差方式による学習方法について説明する。図23は、逆伝播誤差方式による学習方法を説明する図である。逆伝播誤差方式は、階層型ニューラルネットワークの出力と教師データとの誤差が小さくなるに、重み係数を変更する方式である。 As a specific example of supervised learning, a learning method using a back propagation error method will be described. FIG. 23 is a diagram for explaining a learning method using the back propagation error method. The back propagation error method is a method of changing the weighting coefficient so that the error between the output of the hierarchical neural network and the teacher data becomes small.
例えば、第1層の第s[1]ニューロンに入力データを入力し、第L層の第s[L]ニューロンから出力データzs[L] (L)を出力されたとする。ここで、出力データzs[L] (L)に対する教師信号をts[L]としたとき、誤差エネルギーEは、出力データzs[L] (L)及び教師信号ts[L]によって表すことができる。 For example, assume that input data is input to the s [1] neuron in the first layer, and output data z s [L] (L) is output from the s [L] neuron in the Lth layer. Here, when the teacher signal for the output data z s [L] (L) is t s [L] , the error energy E is determined by the output data z s [L] (L) and the teacher signal t s [L] . Can be represented.
誤差エネルギーEに対して、第k層の第s[k]ニューロンの重み係数ws[k]s[k−1] (k)の更新量を∂E/∂ws[k]s[k−1] (k)とすることで、新たに重み係数を変更することができる。ここで、第k層の第s[k]ニューロンの出力値zs[k] (k)の誤差δs[k] (k)を∂E/∂us[k] (k)と定義すると、δs[k] (k)及び∂E/∂ws[k]s[k−1] (k)は、それぞれ次の式(D3)、(D4)で表すことができる。 For the error energy E, the update amount of the weight coefficient w s [k] s [k−1] (k) of the s [k] neuron in the k-th layer is expressed as ∂E / ∂w s [k] s [k −1] By setting (k) , the weighting factor can be newly changed. Here, if the error δ s [k] (k) of the output value z s [k] (k) of the s [k] neuron in the k-th layer is defined as ∂E / ∂u s [k] (k) , Δ s [k] (k) and ∂E / ∂w s [k] s [k−1] (k) can be expressed by the following equations (D3) and (D4), respectively.
f’(us[k] (k))は、ニューロン回路の出力関数の導関数である。なお、式(D3)の演算は、例えば、図24(B)に示す回路413によって実現できる。また、式(D4)の演算は、例えば、図24(C)に示す回路414によって実現できる。出力関数の導関数は、例えば、オペアンプの出力端子に所望の導関数に対応した演算回路を接続することによって実現できる。
f ′ (u s [k] (k) ) is a derivative of the output function of the neuron circuit. Note that the calculation of Expression (D3) can be realized by a
また、例えば、式(D3)のΣws[k+1]・s[k] (k+1)・δs[k+1] (k+1)の部分の演算は、前述した積和演算回路によって実現できる。 Further, for example, the calculation of the part of Σw s [k + 1] · s [k] (k + 1) · δ s [k + 1] (k + 1) in the equation (D3) can be realized by the product-sum operation circuit described above.
ここで、第(k+1)層が出力層のとき、すなわち、第(k+1)層が第L層であるとき、δs[L] (L)及び∂E/∂ws[L]s[L−1] (L)は、それぞれ次の式(D5)、(D6)で表すことができる。 Here, when the (k + 1) th layer is the output layer, that is, when the (k + 1) th layer is the Lth layer, δ s [L] (L) and ∂E / ∂w s [L] s [L -1] (L) can be represented by the following formulas (D5) and (D6), respectively.
式(D5)の演算は、図24(D)に示す回路415によって実現できる。また、式(D6)の演算は、図24(C)に示す回路414によって実現できる。
The calculation of Expression (D5) can be realized by a
つまり、式(D1)乃至式(D6)により、全てのニューロン回路の誤差δs[k] (k)及びδs[L] (L)を求めることができる。なお、重み係数の更新は、誤差δs[k] (k)、δs[L] (L)及び所望のパラメータなどに基づいて、設定される。 That is, the errors δ s [k] (k) and δ s [L] (L) of all the neuron circuits can be obtained from the equations (D1) to (D6). The update of the weighting coefficient is set based on the errors δ s [k] (k) , δ s [L] (L), desired parameters, and the like.
以上のように、図24に示す回路、及び前述した積和演算回路を用いることによって、教師付き学習を適用した階層型ニューラルネットワークの計算を行うことができる。 As described above, the hierarchical neural network to which supervised learning is applied can be calculated by using the circuit shown in FIG. 24 and the product-sum operation circuit described above.
具体的には、図18および図19に示す回路において、第1アナログデータを重み係数として、複数の第2アナログデータをニューロン出力に対応することで、各ニューロン出力の重み付け和演算を並列して行うことができ、当該出力信号として重み付け演算の結果に対応したデータ、すなわちシナプス入力を取得することができる。具体的には、メモリセルAM[1,j]乃至メモリセルAM[m,j]に、第k層の第s[k]ニューロンの重み係数ws[k]・1 (k)乃至ws[k]・Q[k−1] (k)を第1アナログデータとして格納し、配線RW[1]乃至配線RW[m]にそれぞれ第(k−1)層の各ニューロンの出力信号z1・s[k] (k−1)乃至zQ[k−1]・s[k] (k−1)を第2アナログデータとして供給することで、第k層の第s[k]ニューロンに入力される信号の総和us[k] (k)を計算することができる。つまり、式(D1)に示した積和演算を積和演算回路によって実現することができる。 Specifically, in the circuits shown in FIGS. 18 and 19, the first analog data is used as a weighting factor, and a plurality of second analog data is associated with the neuron output, so that the weighted sum operation of each neuron output is performed in parallel. The data corresponding to the result of the weighting calculation, that is, the synaptic input can be acquired as the output signal. Specifically, the weight coefficients w s [k] · 1 (k) to w s of the s [k] neuron in the k-th layer are assigned to the memory cells AM [1, j] to AM [m, j]. [K] · Q [k−1] (k) is stored as the first analog data, and the output signal z 1 of each neuron of the (k−1) th layer is respectively connected to the wiring RW [1] to the wiring RW [m]. By supplying s [k] (k-1) to zQ [k-1] .s [k] (k-1) as the second analog data, the s [k] neuron in the kth layer is supplied. The sum total u s [k] (k) of the input signals can be calculated. That is, the product-sum operation shown in Expression (D1) can be realized by the product-sum operation circuit.
また、教師付き学習で重み係数の更新を行うとき、メモリセルAM[1,j]乃至メモリセルAM[m,j]に、第k層の第s[k]ニューロンから第(k+1)層の各ニューロンに信号が送られるときに掛かる重み係数w1・s[k] (k+1)乃至wQ[k+1]s[k] (k+1)を第1アナログデータとして格納し、配線RW[1]乃至配線RW[m]に第(k+1)層の各ニューロンの誤差δ1 (k+1)乃至δQ[k+1] (k+1)を第2アナログデータとして供給すると、式(D3)におけるΣws[k+1]・s[k] (k+1)・δs[k+1] (k+1)の値を、配線B[j]に流れる差分電流ΔIB[j]から得ることができる。つまり、式(D3)に示した演算の一部を積和演算回路によって実現することができる。 Further, when updating the weighting coefficient by supervised learning, the memory cell AM [1, j] to memory cell AM [m, j] are transferred from the kth layer s [k] neuron to the (k + 1) th layer. The weighting factors w 1 · s [k] (k + 1) to w Q [k + 1] s [k] (k + 1) applied when signals are sent to the respective neurons are stored as first analog data, and wirings RW [1] to RW [1] to When the errors δ 1 (k + 1) to δ Q [k + 1] (k + 1) of each neuron of the (k + 1) -th layer are supplied as the second analog data to the wiring RW [m], Σw s [k + 1] · The value of s [k] (k + 1) · δ s [k + 1] (k + 1) can be obtained from the differential current ΔI B [j] flowing in the wiring B [j]. That is, a part of the calculation shown in Expression (D3) can be realized by the product-sum calculation circuit.
(本明細書等の記載に関する付記)
以上の実施の形態、及び実施の形態における各構成の説明について、以下に付記する。
(Additional notes regarding the description of this specification etc.)
The above embodiment and description of each component in the embodiment will be added below.
各実施の形態に示す構成は、他の実施の形態に示す構成と適宜組み合わせて、本発明の一態様とすることができる。また、1つの実施の形態の中に、複数の構成例が示される場合は、互い構成例を適宜組み合わせることが可能である。 The structure described in each embodiment can be combined with the structure described in any of the other embodiments as appropriate, for one embodiment of the present invention. In addition, in the case where a plurality of structure examples are given in one embodiment, any of the structure examples can be combined as appropriate.
なお、ある一つの実施の形態の中で述べる内容(一部の内容でもよい)は、その実施の形態で述べる別の内容(一部の内容でもよい)、及び/又は、一つ若しくは複数の別の実施の形態で述べる内容(一部の内容でもよい)に対して、適用、組み合わせ、又は置き換えなどを行うことが出来る。 Note that the content described in one embodiment (may be a part of content) is different from the content described in the embodiment (may be a part of content) and / or one or more Application, combination, replacement, or the like can be performed on the content described in another embodiment (or part of the content).
なお、実施の形態の中で述べる内容とは、各々の実施の形態において、様々な図を用いて述べる内容、又は明細書に記載される文章を用いて述べる内容のことである。 Note that the contents described in the embodiments are the contents described using various drawings or the contents described in the specification in each embodiment.
なお、ある一つの実施の形態において述べる図(一部でもよい)は、その図の別の部分、その実施の形態において述べる別の図(一部でもよい)、及び/又は、一つ若しくは複数の別の実施の形態において述べる図(一部でもよい)に対して、組み合わせることにより、さらに多くの図を構成させることが出来る。 Note that a drawing (or a part thereof) described in one embodiment may be another part of the drawing, another drawing (may be a part) described in the embodiment, and / or one or more. More diagrams can be formed by combining the diagrams (may be a part) described in another embodiment.
また本明細書等において、ブロック図では、構成要素を機能毎に分類し、互いに独立したブロックとして示している。しかしながら実際の回路等においては、構成要素を機能毎に切り分けることが難しく、一つの回路に複数の機能が係わる場合や、複数の回路にわたって一つの機能が関わる場合があり得る。そのため、ブロック図のブロックは、明細書で説明した構成要素に限定されず、状況に応じて適切に言い換えることができる。 Further, in the present specification and the like, in the block diagram, the constituent elements are classified by function and shown as independent blocks. However, in an actual circuit or the like, it is difficult to separate the components for each function, and there may be a case where a plurality of functions are involved in one circuit or a case where one function is involved over a plurality of circuits. Therefore, the blocks in the block diagram are not limited to the components described in the specification, and can be appropriately rephrased depending on the situation.
また、図面において、大きさ、層の厚さ、又は領域は、説明の便宜上任意の大きさに示したものである。よって、必ずしもそのスケールに限定されない。なお図面は明確性を期すために模式的に示したものであり、図面に示す形状又は値などに限定されない。例えば、ノイズによる信号、電圧、若しくは電流のばらつき、又は、タイミングのずれによる信号、電圧、若しくは電流のばらつきなどを含むことが可能である。 In the drawings, the size, the layer thickness, or the region is shown in an arbitrary size for convenience of explanation. Therefore, it is not necessarily limited to the scale. Note that the drawings are schematically shown for the sake of clarity, and are not limited to the shapes or values shown in the drawings. For example, variation in signal, voltage, or current due to noise, variation in signal, voltage, or current due to timing shift can be included.
本明細書等において、トランジスタの接続関係を説明する際、ソースとドレインとの一方を、「ソース又はドレインの一方」(又は第1電極、又は第1端子)と表記し、ソースとドレインとの他方を「ソース又はドレインの他方」(又は第2電極、又は第2端子)と表記している。これは、トランジスタのソースとドレインは、トランジスタの構造又は動作条件等によって変わるためである。なおトランジスタのソースとドレインの呼称については、ソース(ドレイン)端子や、ソース(ドレイン)電極等、状況に応じて適切に言い換えることができる。 In this specification and the like, when describing a connection relation of a transistor, one of a source and a drain is referred to as “one of a source and a drain” (or a first electrode or a first terminal), and the source and the drain The other is referred to as “the other of the source and the drain” (or the second electrode or the second terminal). This is because the source and drain of a transistor vary depending on the structure or operating conditions of the transistor. Note that the names of the source and the drain of the transistor can be appropriately rephrased depending on the situation, such as a source (drain) terminal or a source (drain) electrode.
また、本明細書等において「電極」や「配線」の用語は、これらの構成要素を機能的に限定するものではない。例えば、「電極」は「配線」の一部として用いられることがあり、その逆もまた同様である。さらに、「電極」や「配線」の用語は、複数の「電極」や「配線」が一体となって形成されている場合なども含む。 Further, in this specification and the like, the terms “electrode” and “wiring” do not functionally limit these components. For example, an “electrode” may be used as part of a “wiring” and vice versa. Furthermore, the terms “electrode” and “wiring” include a case where a plurality of “electrodes” and “wirings” are integrally formed.
また、本明細書等において、電圧と電位は、適宜言い換えることができる。電圧は、基準となる電位からの電位差のことであり、例えば基準となる電位をグラウンド電圧(接地電圧)とすると、電圧を電位に言い換えることができる。グラウンド電位は必ずしも0Vを意味するとは限らない。なお電位は相対的なものであり、基準となる電位によっては、配線等に与える電位を変化させる場合がある。 In this specification and the like, voltage and potential can be described as appropriate. The voltage is a potential difference from a reference potential. For example, when the reference potential is a ground voltage (ground voltage), the voltage can be rephrased as a potential. The ground potential does not necessarily mean 0V. Note that the potential is relative, and the potential applied to the wiring or the like may be changed depending on the reference potential.
なお本明細書等において、「膜」、「層」などの語句は、場合によっては、または、状況に応じて、互いに入れ替えることが可能である。例えば、「導電層」という用語を、「導電膜」という用語に変更することが可能な場合がある。または、例えば、「絶縁膜」という用語を、「絶縁層」という用語に変更することが可能な場合がある。 Note that in this specification and the like, terms such as “film” and “layer” can be interchanged with each other depending on the case or circumstances. For example, the term “conductive layer” may be changed to the term “conductive film”. Alternatively, for example, the term “insulating film” may be changed to the term “insulating layer” in some cases.
本明細書等において、スイッチとは、導通状態(オン状態)、または、非導通状態(オフ状態)になり、電流を流すか流さないかを制御する機能を有するものをいう。または、スイッチとは、電流を流す経路を選択して切り替える機能を有するものをいう。 In this specification and the like, a switch refers to a switch that is in a conductive state (on state) or a non-conductive state (off state) and has a function of controlling whether or not to pass current. Alternatively, the switch refers to a switch having a function of selecting and switching a current flow path.
一例としては、電気的スイッチ又は機械的なスイッチなどを用いることができる。つまり、スイッチは、電流を制御できるものであればよく、特定のものに限定されない。 As an example, an electrical switch or a mechanical switch can be used. That is, the switch is not limited to a specific one as long as it can control the current.
電気的なスイッチの一例としては、トランジスタ(例えば、バイポーラトランジスタ、MOSトランジスタなど)、ダイオード(例えば、PNダイオード、PINダイオード、ショットキーダイオード、MIM(Metal Insulator Metal)ダイオード、MIS(Metal Insulator Semiconductor)ダイオード、ダイオード接続のトランジスタなど)、又はこれらを組み合わせた論理回路などがある。 Examples of electrical switches include transistors (for example, bipolar transistors, MOS transistors, etc.), diodes (for example, PN diodes, PIN diodes, Schottky diodes, MIM (Metal Insulator Metal) diodes, MIS (Metal Insulator Semiconductor) diodes. , Diode-connected transistors, etc.), or a logic circuit combining these.
なお、スイッチとしてトランジスタを用いる場合、トランジスタの「導通状態」とは、トランジスタのソースとドレインが電気的に短絡されているとみなせる状態をいう。また、トランジスタの「非導通状態」とは、トランジスタのソースとドレインが電気的に遮断されているとみなせる状態をいう。なおトランジスタを単なるスイッチとして動作させる場合には、トランジスタの極性(導電型)は特に限定されない。 Note that in the case where a transistor is used as the switch, the “conducting state” of the transistor means a state where the source and the drain of the transistor can be regarded as being electrically short-circuited. In addition, the “non-conducting state” of a transistor refers to a state where the source and drain of the transistor can be regarded as being electrically cut off. Note that when a transistor is operated as a simple switch, the polarity (conductivity type) of the transistor is not particularly limited.
機械的なスイッチの一例としては、デジタルマイクロミラーデバイス(DMD)のように、MEMS(マイクロ・エレクトロ・メカニカル・システム)技術を用いたスイッチがある。そのスイッチは、機械的に動かすことが可能な電極を有し、その電極が動くことによって、導通と非導通とを制御して動作する。 An example of a mechanical switch is a switch using MEMS (micro electro mechanical system) technology, such as a digital micromirror device (DMD). The switch has an electrode that can be moved mechanically, and operates by controlling conduction and non-conduction by moving the electrode.
本明細書等において、チャネル長とは、例えば、トランジスタの上面図において、半導体(またはトランジスタがオン状態のときに半導体の中で電流の流れる部分)とゲートとが重なる領域、またはチャネルが形成される領域における、ソースとドレインとの間の距離をいう。 In this specification and the like, the channel length means, for example, in a top view of a transistor, a region where a semiconductor (or a portion where a current flows in the semiconductor when the transistor is on) and a gate overlap, or a channel is formed. This is the distance between the source and drain in the region.
本明細書等において、チャネル幅とは、例えば、半導体(またはトランジスタがオン状態のときに半導体の中で電流の流れる部分)とゲート電極とが重なる領域、またはチャネルが形成される領域における、ソースとドレインとが向かい合っている部分の長さをいう。 In this specification and the like, the channel width refers to, for example, a source in a region where a semiconductor (or a portion where a current flows in the semiconductor when the transistor is on) and a gate electrode overlap, or a region where a channel is formed And the length of the part where the drain faces.
本明細書等において、AとBとが接続されている、とは、AとBとが直接接続されているものの他、電気的に接続されているものを含むものとする。ここで、AとBとが電気的に接続されているとは、AとBとの間で、何らかの電気的作用を有する対象物が存在するとき、AとBとの電気信号の授受を可能とするものをいう。 In this specification and the like, “A and B are connected” includes not only those in which A and B are directly connected but also those that are electrically connected. Here, A and B are electrically connected. When there is an object having some electrical action between A and B, it is possible to send and receive electrical signals between A and B. It says that.
B2 端子
C1 容量素子
C3 容量素子
C4 容量素子
C6 容量素子
C45 容量素子
C61 容量素子
C62 容量素子
CB6 容量素子
CLK1 クロック信号
CLK2 クロック信号
M1 トランジスタ
M2 トランジスタ
M7 トランジスタ
MB7 トランジスタ
MN61 トランジスタ
MN62 トランジスタ
MO1 トランジスタ
MO2 トランジスタ
MO5 トランジスタ
MO6 トランジスタ
MO45 OSトランジスタ
MO61 OSトランジスタ
MO62 OSトランジスタ
MOB5 トランジスタ
MOB6 トランジスタ
MP61 トランジスタ
MP62 トランジスタ
MP63 トランジスタ
N1 ノード
N2 ノード
N6 ノード
N7 ノード
NB6 ノード
NB7 ノード
SW2 スイッチ
T01 時刻
T02 時刻
T03 時刻
T04 時刻
T05 時刻
T06 時刻
T07 時刻
T08 時刻
T09 時刻
T10 時刻
T11 時刻
T12 時刻
T13 時刻
T14 時刻
T15 時刻
T16 時刻
Tr1 トランジスタ
Tr2 トランジスタ
Tr4 トランジスタ
Tr5 トランジスタ
Tr6 トランジスタ
Tr7 トランジスタ
Tr8 トランジスタ
Tr9 トランジスタ
Tr10 トランジスタ
Tr11 トランジスタ
10 ニューラルネットワークシステム
11 集積回路
11_A 集積回路
11_B 集積回路
12 DOSRAM
13 NOSRAM
20 プログラマブルロジックデバイス
21 プログラマブルエリア
21A プログラマブルエリア
21D プログラマブルエリア
22 入出力ブロック
23 コア
30 メモリ部
31 NOSRAM
32 DOSRAM
40 演算部
41 プロセッサ
42 アナログ演算回路
50 コントローラ
60 コントローラ
70 巨大ニューラルネットワークシステム
61 MN
62 MN
63 MN
71 矢印
72 矢印
74 矢印
75 矢印
88 インバータ回路
89 インバータ回路
100 OS−FPGA
101A 回路ブロック
101D 回路ブロック
110 コントローラ
111 プログラマブルエリア
112 ワードドライバ
113 データドライバ
117 IOB
118 コア
120 LAB
121 PLE
123 LUTブロック
124 レジスタブロック
125 セレクタ
126 CM
127 パワースイッチ
128 CM
130 SAB
131 SB
133 PRS
135 CM
137 NVM
140 OS−FF
141 FF
142 シャドウレジスタ
143 NVM
143B NVM
161 メモリセル
200 積和演算回路
201 アナログメモリ
202 参照アナログメモリ
203 電流ソース回路
204 電流シンク回路
205 電流源回路
206 ドライバ
207 ドライバ
208 回路
411 回路
413 回路
414 回路
415 回路
1400 DOSRAM
1405 コントローラ
1410 行回路
1411 デコーダ
1412 ワード線ドライバ
1413 列セレクタ
1414 センスアンプドライバ
1415 列回路
1416 グローバルセンスアンプアレイ
1417 入出力回路
1420 MC−SAアレイ
1422 メモリセルアレイ
1423 センスアンプアレイ
1425 ローカルメモリセルアレイ
1426 ローカルセンスアンプアレイ
1444 スイッチアレイ
1445 メモリセル
1446 センスアンプ
1447 グローバルセンスアンプ
1600 NOSRAM
1610 メモリセルアレイ
1611 メモリセル
1611−1614 メモリセル
1612 メモリセル
1613 メモリセル
1614 メモリセル
1640 コントローラ
1650 行ドライバ
1651 行デコーダ
1652 ワード線ドライバ
1660 列ドライバ
1661 列デコーダ
1662 ドライバ
1663 DAC
1670 出力ドライバ
1671 セレクタ
1672 ADC
1673 出力バッファ
2000 CDMA
7000 ニューラルネットワークシステムIC
7001 リード
7003 回路部
7031 Siトランジスタ層
7032 配線層
7033 OSトランジスタ層
B2 terminal C1 capacitor element C3 capacitor element C4 capacitor element C6 capacitor element C45 capacitor element C61 capacitor element C62 capacitor element CB6 capacitor element CLK1 clock signal CLK2 clock signal M1 transistor M2 transistor M7 transistor MB7 transistor MN61 transistor MN62 transistor MO1 transistor MO2 transistor MO5 transistor MO6 transistor MO45 OS transistor MO61 OS transistor MO62 OS transistor MOB5 transistor MOB6 transistor MP61 transistor MP62 transistor MP63 transistor N1 node N2 node N6 node N7 node NB6 node NB7 node SW2 switch T01 time T02 time T03 time T04 time T05 time T06 time T07 Time T08 Time T09 Time T10 Time T11 Time T12 Time T13 Time T14 Time T15 Time T16 Time Tr1 Transistor Tr2 Transistor Tr4 Transistor Tr5 Transistor Tr6 Transistor Tr7 Transistor Tr8 Transistor Tr9 Transistor Tr10
13 NOSRAM
20
32 DOSRAM
40
62 MN
63 MN
71
121 PLE
123 LUT block 124 Register block 125
127
130 SAB
131 SB
133 PRS
135 CM
137 NVM
140 OS-FF
141 FF
142
143B NVM
161
1405
1610
1670
1673 Output buffer 2000 CDMA
7000 Neural Network System IC
7001
Claims (5)
前記第1の集積回路は、第1のプログラマブルロジックデバイスと、第1の演算部と、第1のメモリ部と、を有し、
前記第2の集積回路は、第2のプログラマブルロジックデバイスと、第2の演算部と、第2のメモリ部と、を有し、
前記第1の演算部と、前記第2の演算部と、前記第1のメモリ部と、前記第2のメモリ部と、は、それぞれ第1トランジスタを有し、
前記第1トランジスタは、チャネル形成領域に酸化物半導体を有し、
前記第1のプログラマブルロジックデバイスは、前記第2のプログラマブルロジックデバイスに電気的に接続され、
前記第1のプログラマブルロジックデバイスおよび前記第2のプログラマブルロジックは、コンフィギュレーションを切り替えることで、ニューラルネットワークにおける推論を実行する機能を有することを特徴とするニューラルネットワークシステム。 A neural network system for processing input data using a first integrated circuit and a second integrated circuit,
The first integrated circuit includes a first programmable logic device, a first arithmetic unit, and a first memory unit,
The second integrated circuit includes a second programmable logic device, a second arithmetic unit, and a second memory unit,
The first arithmetic unit, the second arithmetic unit, the first memory unit, and the second memory unit each include a first transistor,
The first transistor has an oxide semiconductor in a channel formation region,
The first programmable logic device is electrically connected to the second programmable logic device;
The neural network system, wherein the first programmable logic device and the second programmable logic have a function of executing inference in a neural network by switching configurations.
前記第1の演算部または前記第2の演算部は、ニューラルネットワークにおける学習を実行する機能を有することを特徴とするニューラルネットワークシステム。 In claim 1,
The first arithmetic unit or the second arithmetic unit has a function of executing learning in a neural network.
前記第1のメモリ部または前記第2のメモリ部は、前記学習によって得られた重み係数を保持する機能を有することを特徴とするニューラルネットワークシステム。 In claim 2,
The neural network system, wherein the first memory unit or the second memory unit has a function of holding a weighting coefficient obtained by the learning.
前記第1のプログラマブルロジックデバイスまたは前記第2のプログラマブルロジックデバイスは、前記第1のメモリ部または前記第2のメモリ部に保持された前記重み係数の情報を含むコンフィギュレーションデータの更新を行うことを特徴とするニューラルネットワークシステム。 In claim 3,
The first programmable logic device or the second programmable logic device updates configuration data including information on the weighting coefficient held in the first memory unit or the second memory unit. Characteristic neural network system.
前記第1の演算部と、前記第2の演算部と、前記第1のメモリ部と、前記第2のメモリ部と、は、第2トランジスタを有し、
前記第2トランジスタは、チャネル形成領域にシリコンを含み、
前記第1トランジスタが設けられる層は、前記第2トランジスタが設けられる層と重ねて配置されることを特徴とするニューラルネットワークシステム。 In any one of Claims 1 thru | or 4,
The first arithmetic unit, the second arithmetic unit, the first memory unit, and the second memory unit include a second transistor,
The second transistor includes silicon in a channel formation region,
The neural network system, wherein the layer provided with the first transistor is disposed so as to overlap the layer provided with the second transistor.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017027585A JP2018133016A (en) | 2017-02-17 | 2017-02-17 | Neural network system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017027585A JP2018133016A (en) | 2017-02-17 | 2017-02-17 | Neural network system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018133016A true JP2018133016A (en) | 2018-08-23 |
| JP2018133016A5 JP2018133016A5 (en) | 2020-04-09 |
Family
ID=63248513
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017027585A Withdrawn JP2018133016A (en) | 2017-02-17 | 2017-02-17 | Neural network system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018133016A (en) |
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020118051A1 (en) * | 2018-12-06 | 2020-06-11 | MIPS Tech, LLC | Neural network processing using specialized data representation |
| US20210150319A1 (en) * | 2019-11-15 | 2021-05-20 | Samsung Electronics Co., Ltd. | Neuromorphic device based on memory |
| JP2021103521A (en) * | 2019-12-24 | 2021-07-15 | 財團法人工業技術研究院Industrial Technology Research Institute | Neural network computing device and method |
| WO2021165779A1 (en) * | 2020-02-21 | 2021-08-26 | 株式会社半導体エネルギー研究所 | Semiconductor device |
| US11165434B2 (en) | 2019-03-15 | 2021-11-02 | Analog Devices International Unlimited Company | Leakage reduction for multi-function configurable circuit |
| WO2021240633A1 (en) * | 2020-05-26 | 2021-12-02 | 日本電気株式会社 | Information processing circuit and method for designing information processing circuit |
| CN113785360A (en) * | 2019-05-02 | 2021-12-10 | 硅存储技术股份有限公司 | Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network |
| US11615834B2 (en) | 2020-09-17 | 2023-03-28 | Kioxia Corporation | Semiconductor storage device and information processor |
| JPWO2023139990A1 (en) * | 2022-01-24 | 2023-07-27 | ||
| CN116913342A (en) * | 2023-09-13 | 2023-10-20 | 安徽大学 | Storage circuit with in-memory Boolean logic operation function and its modules and chips |
| JP2023552526A (en) * | 2020-12-03 | 2023-12-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | FeFET unit cell for neuromorphic computing |
| JP2024010137A (en) * | 2019-04-29 | 2024-01-23 | グーグル エルエルシー | Virtualization that makes external memory local to machine learning accelerators |
| US11893470B2 (en) | 2018-12-06 | 2024-02-06 | MIPS Tech, LLC | Neural network processing using specialized data representation |
| JP2024097816A (en) * | 2019-02-22 | 2024-07-19 | 株式会社半導体エネルギー研究所 | Semiconductor Device |
-
2017
- 2017-02-17 JP JP2017027585A patent/JP2018133016A/en not_active Withdrawn
Cited By (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020118051A1 (en) * | 2018-12-06 | 2020-06-11 | MIPS Tech, LLC | Neural network processing using specialized data representation |
| US11893470B2 (en) | 2018-12-06 | 2024-02-06 | MIPS Tech, LLC | Neural network processing using specialized data representation |
| JP7702530B2 (en) | 2019-02-22 | 2025-07-03 | 株式会社半導体エネルギー研究所 | Semiconductor Device |
| JP2024097816A (en) * | 2019-02-22 | 2024-07-19 | 株式会社半導体エネルギー研究所 | Semiconductor Device |
| US11165434B2 (en) | 2019-03-15 | 2021-11-02 | Analog Devices International Unlimited Company | Leakage reduction for multi-function configurable circuit |
| US12417406B2 (en) | 2019-04-29 | 2025-09-16 | Google Llc | Virtualizing external memory as local to a machine learning accelerator |
| JP2024010137A (en) * | 2019-04-29 | 2024-01-23 | グーグル エルエルシー | Virtualization that makes external memory local to machine learning accelerators |
| US12353503B2 (en) | 2019-05-02 | 2025-07-08 | Silicon Storage Technology, Inc. | Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network |
| CN113785360A (en) * | 2019-05-02 | 2021-12-10 | 硅存储技术股份有限公司 | Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network |
| JP2022531766A (en) * | 2019-05-02 | 2022-07-11 | シリコン ストーリッジ テクノロージー インコーポレイテッド | Transforming and calibrating output array neurons for analog neural memory in deep learning artificial neural networks |
| US20210150319A1 (en) * | 2019-11-15 | 2021-05-20 | Samsung Electronics Co., Ltd. | Neuromorphic device based on memory |
| US11620504B2 (en) | 2019-11-15 | 2023-04-04 | Samsung Electronics Co., Ltd. | Neuromorphic device based on memory |
| JP7365999B2 (en) | 2019-12-24 | 2023-10-20 | 財團法人工業技術研究院 | Neural network computing device and method |
| US12265904B2 (en) | 2019-12-24 | 2025-04-01 | Industrial Technology Research Institute | Apparatus and method for neural network computation |
| JP2021103521A (en) * | 2019-12-24 | 2021-07-15 | 財團法人工業技術研究院Industrial Technology Research Institute | Neural network computing device and method |
| WO2021165779A1 (en) * | 2020-02-21 | 2021-08-26 | 株式会社半導体エネルギー研究所 | Semiconductor device |
| JPWO2021165779A1 (en) * | 2020-02-21 | 2021-08-26 | ||
| JP7684946B2 (en) | 2020-02-21 | 2025-05-28 | 株式会社半導体エネルギー研究所 | Semiconductor Device |
| JPWO2021240633A1 (en) * | 2020-05-26 | 2021-12-02 | ||
| JP7456501B2 (en) | 2020-05-26 | 2024-03-27 | 日本電気株式会社 | Information processing circuit and information processing circuit design method |
| WO2021240633A1 (en) * | 2020-05-26 | 2021-12-02 | 日本電気株式会社 | Information processing circuit and method for designing information processing circuit |
| US11615834B2 (en) | 2020-09-17 | 2023-03-28 | Kioxia Corporation | Semiconductor storage device and information processor |
| JP7658695B2 (en) | 2020-12-03 | 2025-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | FeFET Unit Cell for Neuromorphic Computing |
| JP2023552526A (en) * | 2020-12-03 | 2023-12-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | FeFET unit cell for neuromorphic computing |
| WO2023139990A1 (en) * | 2022-01-24 | 2023-07-27 | LeapMind株式会社 | Neural network circuit and neural network computation method |
| JPWO2023139990A1 (en) * | 2022-01-24 | 2023-07-27 | ||
| CN116913342B (en) * | 2023-09-13 | 2023-12-01 | 安徽大学 | Memory circuit with in-memory Boolean logic operation function, and module and chip thereof |
| CN116913342A (en) * | 2023-09-13 | 2023-10-20 | 安徽大学 | Storage circuit with in-memory Boolean logic operation function and its modules and chips |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2018133016A (en) | Neural network system | |
| US11568223B2 (en) | Neural network circuit | |
| US11615299B2 (en) | Neural network computation circuit including non-volatile semiconductor memory element | |
| US11663457B2 (en) | Neural network circuits having non-volatile synapse arrays | |
| CN111652363B (en) | Storage and calculation integrated circuit | |
| CN111052153B (en) | Neural network operation circuit and operation method using semiconductor memory element | |
| US20200184137A1 (en) | Layout design system and layout design method | |
| US20250028894A1 (en) | Wiring layout design method, program, and recording medium | |
| JP7498339B2 (en) | Semiconductor Device | |
| US11829863B2 (en) | Neural network circuit device | |
| WO2018201060A1 (en) | Mixed signal neuromorphic computing with nonvolatile memory devices | |
| CN110729011B (en) | In-Memory Computing Device for Neural-Like Networks | |
| CN117157636A (en) | Integrated deposit and calculation device, system and operation method thereof | |
| TW202036568A (en) | Near-memory computation system and non-volatile memory cell | |
| US9105351B2 (en) | Semiconductor memory device including amplifier circuit | |
| JP2018129046A (en) | AI system | |
| CN115658009B (en) | A D6T in-memory computing accelerator with always linear discharge and reduced digital steps | |
| KR102084053B1 (en) | Neuromorphic synapse device having multi level conductances and operation method thereof | |
| JP4908472B2 (en) | Semiconductor integrated memory circuit and latch circuit trimming method | |
| Papandroulidakis et al. | RRAM-Based Analogue Artificial Neuron for Gaussian Activation Function Edge Classifier | |
| US12437792B2 (en) | Data logic processing circuit integrated in a data storage circuit | |
| Tsuda et al. | A 1.1-nJ/Classification True Analog Current Computing on Multilayer Neural Network With Crystalline-IGZO/Si-CMOS Monolithic Stack Technology | |
| EP4636828A1 (en) | Synapse circuit and operation method thereof, and neuromorphic device including synapse circuit | |
| Sharma et al. | Investigating non-volatile memory architectures for neuromorphic systems with CMOS spike-timed synaptic plasticity | |
| KR20250005900A (en) | Capacitor-based synaptic device and method of operation thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200217 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200217 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20200910 |