(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】半導体回路
(51)【国際特許分類】
G06G 7/60 20060101AFI20240115BHJP
【FI】
G06G7/60
(21)【出願番号】P 2020091392
(22)【出願日】2020-05-26
【審査請求日】2023-04-06
(73)【特許権者】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】中島 康彦
(72)【発明者】
【氏名】木村 睦
(72)【発明者】
【氏名】張 任遠
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開平06-274661(JP,A)
【文献】特開平09-044582(JP,A)
【文献】特開平05-313692(JP,A)
【文献】米国特許第05396442(US,A)
【文献】米国特許出願公開第2020/0117986(US,A1)
【文献】特開昭63-237186(JP,A)
【文献】特開平8-124379(JP,A)
【文献】特開2009-151847(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06G 7/60
(57)【特許請求の範囲】
【請求項1】
一対の端子BL及び端子XBLと、
端子Yと、
上記端子BLに上部電極が接続された第1コンデンサと、
上記端子XBLに上部電極が接続された第2コンデンサと、
上記第1コンデンサの下部電極と上記端子Yとの間に接続された第1トランジスタと、
上記第2コンデンサの下部電極と上記端子Yとの間に接続された第2トランジスタと、
上記第1トランジスタをオンさせるための第1信号を記憶可能な第1記憶素子と、
上記第2トランジスタをオンさせるための第2信号を記憶可能な第2記憶素子と
を備え、
上記第1記憶素子が上記第1信号を記憶する場合、上記端子BLから入力されるBL信号が所定レベルであれば、上記端子Yは上記第1コンデンサの容量値に応じた電圧値のY信号を出力し、
上記第2記憶素子が上記第2信号を記憶する場合、上記端子XBLから入力されるXBL信号が所定レベルであれば、上記端子Yは上記第2コンデンサの容量値に応じた電圧値のY信号を出力することを特徴とする半導体回路。
【請求項2】
複数の上記第1コンデンサと、
複数の上記第1トランジスタと、
複数の上記第1記憶素子と
を備え、
複数の上記第1コンデンサは、上記端子BLと上記端子Yとの間で並列接続されていることを特徴とする請求項1に記載の半導体回路。
【請求項3】
複数の上記第2コンデンサと、
複数の上記第2トランジスタと、
複数の上記第2記憶素子と
を備え、
複数の上記第2コンデンサは、上記端子XBLと上記端子Yとの間で並列接続されていることを特徴とする請求項1又は2に記載の半導体回路。
【請求項4】
複数の上記第1コンデンサの各容量値は互いに異なり、
複数の上記第2コンデンサの各容量値は互いに異なることを特徴とする請求項3に記載の半導体回路。
【請求項5】
一対の端子BL及び端子XBLと、
端子Yと、
上記端子BL又は上記端子XBLに上部電極の接続先を切り替え可能な第1コンデンサと、
上記第1コンデンサの下部電極と上記端子Yとの間に接続された第1トランジスタと、
上記第1トランジスタをオンさせるための第1信号を記憶可能な第1記憶素子と
を備え、
上記第1記憶素子が上記第1信号を記憶する場合、上記端子BL又は上記XBLのうちの、上記第1コンデンサの上記上部電極が接続された端子から入力される信号が所定レベルであれば、上記端子Yは上記第1コンデンサの容量値に応じた電圧値のY信号を出力することを特徴とする半導体回路。
【請求項6】
複数の上記第1コンデンサと、
複数の上記第1トランジスタと、
複数の上記第1記憶素子と
を備え、
複数の上記第1コンデンサは、上記端子BL又は上記XBLのうちの、上記第1コンデンサの上記上部電極が接続された端子と、上記端子Yとの間で並列接続されていることを特徴とする請求項5に記載の半導体回路。
【請求項7】
複数の上記第1コンデンサの各容量値は互いに異なることを特徴とする請求項6に記載の半導体回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パターンマッチングを実行するための半導体回路に関する。
【背景技術】
【0002】
非特許文献1には、畳み込みニューラル・ネットワーク(CNN:Convolutional Neural Networks)における畳み込み演算において、カーネルの各重みを、メモリスタの抵抗値を用いて表現した構成が開示されている。非特許文献1の構成は、メモリスタの抵抗値を変化させることによりカーネルの各重みを変化させる。非特許文献1の構成は、所望のカーネルの各重みを用いてパターンマッチングを実行する。
【0003】
メモリスタは、通過した電荷を記憶し、抵抗値を変えられる特性を持った受動素子である。メモリスタは、論理演算装置と記憶素子という2つの役割を持っている。メモリスタは、記憶素子としてはアナログでデータを保持するため、不揮発性メモリとしての活用が可能である。
【先行技術文献】
【非特許文献】
【0004】
【文献】Peng Yao, Huaqiang Wu, Bin Gao, Jianshi Tang, Qingtian Zhang, Wenqiang Zhang, J. Joshua Yang & He Qian, "Fully hardware-implemented memristor convolutional neural network", Nature, Vol 577, pages 641-646, 30 January 2020
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1の構成は、メモリスタを格子状に配置し、メモリスタに電圧を印加して電流を生成する。非特許文献1の構成は、メモリスタに電流が流れるので、消費電力の低減化の観点からは改善の余地がある。
【0006】
このため、非特許文献1の構成において、メモリスタに代えて、コンデンサを備えたメムキャパシタを格子状に配置することが有効と期待できる。コンデンサは電流を流さないので、メムキャパシタを用いた場合であれば電流生成が不要となるからである。メムキャパシタを用いた場合、カーネルの各重みは、各メムキャパシタのコンデンサの容量値を用いて表現される。メムキャパシタは、コンデンサに電荷を貯めるだけでなく、コンデンサの容量値が印加電圧の履歴に応じて変化する特性を持った受動素子である。
【0007】
しかしながら、コンデンサの容量値を精度よく制御することは容易ではないのが通常である。単にメモリスタをメムキャパシタに置き換えた構成は実用性に欠けると言わざる得ない。
【0008】
本発明の一態様は、コンデンサの容量値を用いて表現されるカーネルの各重みを用いたパターンマッチングを実行可能とする半導体回路を実現することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明の一態様に係る半導体回路は、一対の端子BL及び端子XBLと、端子Yと、上記端子BLに上部電極が接続された第1コンデンサと、上記端子XBLに上部電極が接続された第2コンデンサと、上記第1コンデンサの下部電極と上記端子Yとの間に接続された第1トランジスタと、上記第2コンデンサの下部電極と上記端子Yとの間に接続された第2トランジスタと、上記第1トランジスタをオンさせるための第1信号を記憶可能な第1記憶素子と、上記第2トランジスタをオンさせるための第2信号を記憶可能な第2記憶素子とを備え、上記第1記憶素子が上記第1信号を記憶する場合、上記端子BLから入力されるBL信号が所定レベルであれば、上記端子Yは上記第1コンデンサの容量値に応じた電圧値のY信号を出力し、上記第2記憶素子が上記第2信号を記憶する場合、上記端子XBLから入力されるXBL信号が所定レベルであれば、上記端子Yは上記第2コンデンサの容量値に応じた電圧値のY信号を出力する。
【0010】
上記構成において、第1記憶素子が第1トランジスタをオンさせるための第1信号を記憶し、第2記憶素子が第2トランジスタをオンさせるための第2信号を記憶することにより、第1トランジスタ及び第2トランジスタをオンさせる。第1トランジスタがオンすることにより、第1コンデンサは端子BLと端子Yとの間に接続される。第2トランジスタがオンすることにより、第2コンデンサは端子XBLと端子Yとの間に接続される。そして、BL信号が所定レベルであれば、端子Yは第1コンデンサの容量値に応じた電圧値のY信号を出力する。XBL信号が所定レベルであれば、端子Yは第2コンデンサの容量値に応じた電圧値のY信号を出力する。
【0011】
それゆえ、上記構成によれば、コンデンサの容量値を用いて表現されるカーネルの各重みを用いたパターンマッチングを実行可能とする半導体回路を実現することができる。
【0012】
複数の上記第1コンデンサと、複数の上記第1トランジスタと、複数の上記第1記憶素子とを備え、複数の上記第1コンデンサは、上記端子BLと上記端子Yとの間で並列接続されていることが好ましい。
【0013】
上記構成によれば、Y信号の電圧値を、複数の第1コンデンサの容量値に応じた電圧値の和とすることができる。
【0014】
複数の上記第2コンデンサと、複数の上記第2トランジスタと、複数の上記第2記憶素子とを備え、複数の上記第2コンデンサは、上記端子XBLと上記端子Yとの間で並列接続されていることが好ましい。
【0015】
上記構成によれば、Y信号の電圧値を、複数の第2コンデンサの容量値に応じた電圧値の和とすることができる。
【0016】
複数の上記第1コンデンサの各容量値は互いに異なり、複数の上記第2コンデンサの各容量値は互いに異なることが好ましい。
【0017】
上記構成によれば、端子BLと端子Yとの間に接続される第1コンデンサの組合せを変化させることにより、Y信号の電圧値を、当該組合せに応じた電圧値とすることができる。
【0018】
本発明の他の一態様に係る半導体回路は、一対の端子BL及び端子XBLと、端子Yと、上記端子BL又は上記端子XBLに上部電極の接続先を切り替え可能な第1コンデンサと、上記第1コンデンサの下部電極と上記端子Yとの間に接続された第1トランジスタと、上記第1トランジスタをオンさせるための第1信号を記憶可能な第1記憶素子とを備え、上記第1記憶素子が上記第1信号を記憶する場合、上記端子BL又は上記XBLのうちの、上記第1コンデンサの上記上部電極が接続された端子から入力される信号が所定レベルであれば、上記端子Yは上記第1コンデンサの容量値に応じた電圧値のY信号を出力する。
【0019】
上記構成において、第1コンデンサは、端子BLと端子Yとの間に接続されるか、端子XBLと端子Yとの間に接続されるか、が切り替えられる。例えば、第1コンデンサが、端子BLと端子Yとの間に接続された場合、第1記憶素子が第1トランジスタをオンさせるための第1信号を記憶することにより、第1トランジスタをオンさせる。BL信号が所定レベルであれば、端子Yは第1コンデンサの容量値に応じた電圧値のY信号を出力する。
【0020】
それゆえ、上記構成によれば、コンデンサの容量値を用いて表現されるカーネルの各重みを用いたパターンマッチングを実行可能とする半導体回路を実現することができる。
【0021】
複数の上記第1コンデンサと、複数の上記第1トランジスタと、複数の上記第1記憶素子とを備え、複数の上記第1コンデンサは、上記端子BL又は上記XBLのうちの、上記第1コンデンサの上記上部電極が接続された端子と、上記端子Yとの間で並列接続されていることが好ましい。
【0022】
上記構成によれば、Y信号の電圧値を、複数の第1コンデンサの容量値に応じた電圧値の和とすることができる。
【0023】
複数の上記第1コンデンサの各容量値は互いに異なることが好ましい。
【0024】
上記構成によれば、端子BLと端子Yとの間に接続される第1コンデンサの組合せを変化させることにより、Y信号の電圧値を、当該組合せに応じた電圧値とすることができる。
【発明の効果】
【0025】
本発明の一態様によれば、コンデンサの容量値を用いて表現されるカーネルの各重みを用いたパターンマッチングを実行可能とすることができる。
【図面の簡単な説明】
【0026】
【
図1】本発明の実施形態1に係る記憶素子の概略構成図である。
【
図2】本発明の実施形態1に係るコンデンサ素子の概略構成図である。
【
図3】本発明の実施形態1に係る基本回路の概略構成図である。
【
図4】本発明の実施形態1に係る半導体回路の概略構成図である。
【
図5】上記半導体回路が実行するパターンマッチングを説明するための説明図である。
【
図6】上記半導体回路が実行するパターンマッチングを説明するための説明図である。
【
図7】本発明の実施形態2に係る基本回路の概略構成図である。
【
図8】本発明の実施形態2に係る記憶素子の概略構成図である。
【発明を実施するための形態】
【0027】
〔実施形態1〕
以下、図面を参照して、本発明の実施形態1を説明する。
図1は、本実施形態1に係る記憶素子10の概略構成図である。
図2は、本実施形態1に係るコンデンサ素子20の概略構成図である。
図3は、本実施形態1に係る基本回路30の概略構成図である。
図4は、本実施形態1に係る半導体回路40の概略構成図である。
【0028】
半導体回路40は、
図4のとおり、基本回路401~409と、判定回路41とを備える。
図4の例では、基本回路401~409の数は9個であるが、本実施形態1はこの数に限られるものではない。基本回路401~409の各構成は、
図3の基本回路30の構成と同一である。なお、判定回路41は、必須の構成要件ではない。
【0029】
基本回路30は、
図3のとおり、記憶素子ME31~ME34と、コンデンサ素子CE31~CE34とを備える。
図3の例では、記憶素子ME31~ME34の数は4個であるが、本実施形態1はこの数に限られるものではない。また、
図3の例では、コンデンサ素子CE31~CE34の数は4個であるが、本実施形態1はこの数に限られるものではない。ただし、記憶素子ME31~ME34とコンデンサ素子CE31~CE34とは同一の数となる。記憶素子ME31~ME34の各構成は、
図1の記憶素子10の構成と同一である。コンデンサ素子CE31~CE34の各構成は、
図2のコンデンサ素子20の構成と同一である。
【0030】
半導体回路40は、コンデンサの容量値を用いて表現されるカーネルの各重みを用いたパターンマッチングを実行可能とする回路である。特に、半導体回路40は、パターンマッチングに曖昧性を持たせること可能である。曖昧性を持つパターンマッチングを「曖昧パターンマッチング」と称する。曖昧パターンマッチングはAI(artificial intelligence)の基本的オペレーションである。
【0031】
以下、記憶素子10、コンデンサ素子20、基本回路30及び半導体回路40を順に説明する。
【0032】
(記憶素子の構成)
記憶素子10は、
図1のとおり、n型MOSトランジスタN101~N104と、p型MOSトランジスタP101~P102とを備える。
図1において、WL、BL、XBL、Xはそれぞれ端子名を表す。以下、端子WLからの入力信号をWL信号、端子BLからの入力信号をBL信号、端子XBLからの入力信号をXBL信号、端子Xからの出力信号をX信号と称する。
【0033】
なお、
図1~4において、各図に記載の端子の端子名が同一である端子同士は、特に断りがない限り、互いに接続されるものとする。例えば、
図1に記載の端子Xと
図2に記載の端子Xは互いに接続される。
【0034】
図1において、p型MOSトランジスタP1及びn型MOSトランジスタN3の各ドレイン同士及び各ゲート同士を接続し、p型MOSトランジスタP1のソースを電源電位に接続し、n型MOSトランジスタN3のソースを接地電位に接続して、CMOSインバータIN1が構成されている。CMOSインバータIN1の入力は、各ゲート同士の接続点であり、その出力は、各ドレイン同士の接続点である。
【0035】
また、p型MOSトランジスタP102及びn型MOSトランジスタN104の各ドレイン同士及び各ゲート同士を接続し、p型MOSトランジスタP102のソースを電源電位に接続し、n型MOSトランジスタN104のソースを接地電位に接続して、COMSインバータIN2が構成されている。CMOSインバータIN2の入力は、各ゲート同士の接続点であり、その出力は、各ドレイン同士の接続点である。COMSインバータIN2の出力は、端子Xに接続される。
【0036】
CMOSインバータIN1の出力がCMOSインバータIN2の入力に接続される。また、CMOSインバータIN2の出力がCMOSインバータIN1の入力に接続される。CMOSインバータIN1及びCMOSインバータIN2は所謂ラッチ回路を構成する。
【0037】
n型MOSトランジスタN101のソースは端子XBLに接続され、そのドレインはCMOSインバータIN1の入力に接続される。また、n型MOSトランジスタN102のソースは端子BLに接続され、そのドレインはCMOSインバータIN2の入力に接続される。n型MOSトランジスタN101及びn型MOSトランジスタN102の各ゲートは、端子WLに接続される。
【0038】
端子BLから入力されるBL信号と端子XBLから入力されるXBL信号とは、通常、その電位を論理信号としてみるときは互いに相手の反転となっている、すなわち相補的である。また、CMOSインバータIN1の出力とCMOSインバータIN2の出力の論理信号レベルも定常状態においては相補的である。すなわち、一方がハイレベルであれば他方はロウレベルとなる。例えば、CMOSインバータIN1の出力がロウレベルでCMOSインバータIN2の出力がハイレベルのときは論理“1”を記憶しているとし、その逆は論理“0”を記憶しているとする等と記憶内容が決められている。
【0039】
n型MOSトランジスタN101及びn型MOSトランジスタN102は、BL信号及びXBL信号を記憶素子10に書き込むときの書き込み制御トランジスタとして用いられる。
【0040】
(記憶素子の動作)
書き込み動作:
書き込み動作は、記憶素子10が、記憶素子10にハイレベル(第1信号、第2信号)を書き込む動作である。端子BLにはハイレベルが入り、BL信号はハイレベルになる。一方、端子XBLにはロウレベルが入り、XBL信号はロウレベルになる。
【0041】
端子WLに入力されるWL信号がハイレベルになると、n型MOSトランジスタN101及びn型MOSトランジスタN102は共にオンする。n型MOSトランジスタN101がオンすることにより、XBL信号がCMOSインバータIN1に入力される。n型MOSトランジスタN102がオンすることにより、BL信号がCMOSインバータIN2に入力される。
【0042】
CMOSインバータIN1は、入力されたXBL信号のロウレベルをハイレベルに反転させ、そのハイレベルをCMOSインバータIN2に入力する。一方、CMOSインバータIN2は、入力されたXBL信号のハイレベルをロウレベルに反転させ、そのロウレベルをCMOSインバータIN1に入力する。
【0043】
CMOSインバータIN1の出力はハイレベルを維持する一方、CMOSインバータIN2の出力はロウレベルを維持する。端子XはCMOSインバータIN1の出力に接続されている。端子Xから出力されるX信号はハイレベルとなる。
【0044】
以下、上述の書き込み動作を「書き込み動作」と称する。
【0045】
読み出し動作:
読み出し動作は、記憶素子10が、記憶素子10からハイレベルを読み出す動作である。
【0046】
端子WLに入力されるWL信号がロウレベルになると、n型MOSトランジスタN101及びn型MOSトランジスタN102は共にオフする。このため、記憶素子10は、書き込まれたハイレベルを保持する。端子XからはインバータIN1の出力であるX信号が出力される。X信号は記憶素子10に書き込まれたハイレベルとなる。
【0047】
以下、上述の読み出し動作を「読み出し動作」と称する。
【0048】
(コンデンサ素子の構成)
コンデンサ素子20は、
図2のとおり、n型MOSトランジスタN201~N203と、コンデンサC201とを備える。
図2において、RST、BL、X、Yはそれぞれ端子名である。以下、端子RSTからの入力信号をRST信号、端子BLからの入力信号をBL信号、端子Xからの入力信号をX信号、端子Yからの出力信号をY信号と称する。
【0049】
図2において、コンデンサC201の上部電極は端子BLに接続し、その下部電極はn型MOSトランジスタN201及びN202の各ドレインに接続される。n型MOSトランジスタN201のゲートは端子Xに接続され、そのソースはn型MOSトランジスタN203のドレインに接続される。
【0050】
n型MOSトランジスタN202及びN203の各ゲートは端子RSTに接続され、各ソースは接地電位に接続される。
【0051】
コンデンサC201は、上部電極、下部電極及び、上部電極と下部電極との間に挟まれる誘電体から構成される。コンデンサC201の容量値は、(i)上部電極と下部電極とが対向する対向面積、(ii)上部電極と下部電極との電極間距離、及び(iii)誘電体の誘電率、のうちの少なくとも1つを変化させることにより、変化させることができる。
【0052】
(コンデンサ素子の動作)
リセット動作:
リセット動作は、コンデンサ素子20が、コンデンサ素子20のコンデンサC201に蓄積された電荷を放電させる動作である。
【0053】
端子Xから入力されるX信号がハイレベル、端子RSTから入力されるRST信号がハイレベルになると、n型MOSトランジスタN201~N203はオンする。n型MOSトランジスタN201~N203がオンすることにより、コンデンサC201の下部電極には接地電位からのロウレベルが印加される。端子BLから入力されるBL信号がロウレベルになると、コンデンサC201の上部電極にもロウレベルが印加される。コンデンサC201の上部電極及び下部電極にロウレベルが印加されることにより、コンデンサC201に蓄積されていた電荷は、n型MOSトランジスタN201及びN203、又は、n型MOSトランジスタN202、を介して、接地電位へ放電される。すなわち、コンデンサ素子20はリセットされる。
【0054】
以下、上述のリセット動作を「リセット動作」と称する。
【0055】
電荷蓄積動作:
電荷蓄積動作は、コンデンサ素子20が、コンデンサ素子20のコンデンサC201に電荷を蓄積させる動作である。
【0056】
端子Xから入力されるX信号がハイレベル、端子RSTから入力されるRST信号がロウレベルになると、n型MOSトランジスタN201(第1トランジスタ、第2トランジスタ)はオンし、n型MOSトランジスタN202及びN203はオフする。n型MOSトランジスタN201がオンすることにより、コンデンサC201の下部電極は端子Yに接続される。端子BLから入力されるBL信号がハイレベルになると、コンデンサC201の上部電極にはハイレベルが印加される。この印加により、コンデンサC201の上部電極と下部電極と間には電荷が蓄積される。この電荷蓄積により、コンデンサ素子20は端子YからY信号を出力する。
【0057】
ここで、コンデンサC201に蓄積される電荷量は、コンデンサC201の容量値に応じた量となる。すなわち、コンデンサC201の容量値が大きければ大きいほどコンデンサC201に蓄積される電荷量は大きくなり、コンデンサC201の容量値が小さければ小さいほどコンデンサC201に蓄積される電荷量は小さくなる。Y信号の電圧値は、コンデンサC201の容量値に応じた電圧値である。
【0058】
以下、上述の電荷蓄積動作を「電荷蓄積動作」と称する。
【0059】
(基本回路の構成)
図3において、RST、BL、XBL、WLWP1、WLWP2、WLWM1、WLWM2、Yはそれぞれ端子名である。端子RSTからの入力信号をRST信号、端子BLからの入力信号をBL信号、端子XBLからの入力信号をXBL信号、端子WLWP1からの入力信号をWLWP1信号、端子WLWP2からの入力信号をWLWP2信号、端子WLWM1からの入力信号をWLWM1信号、端子WLWM2からの入力信号をWLWM2信号、端子Yからの出力信号をY信号と称する。
【0060】
図3のとおり、端子RSTがコンデンサ素子CE31~CE34の各端子RSTに接続される。端子BLが記憶素子ME31~ME34の各端子BL及びコンデンサ素子CE31~CE32の各端子BLに接続される。端子XBLが記憶素子ME31~ME34の各端子XBL及びコンデンサ素子CE33~CE34の各端子XBLに接続される。端子WLWP2が記憶素子ME31の端子WLに、端子WLWP1が記憶素子ME32の端子WLに、端子WLWM2が記憶素子ME33の端子WLに、端子WLWM1が記憶素子ME34の端子WLに、それぞれ、接続される。端子Yが、コンデンサ素子CE31~CE34の各端子Yに接続される。
【0061】
また、記憶素子ME31~ME34のそれぞれとコンデンサ素子CE31~CE34のそれぞれとが一対一に対応する。詳細には、記憶素子ME31(第1記憶素子)の端子Xとコンデンサ素子CE31の端子Xとが接続され、記憶素子ME31の端子Xから出力されるX信号がコンデンサ素子CE31の端子Xに入力される。記憶素子ME32(第1記憶素子)の端子Xとコンデンサ素子CE32の端子Xとが接続され、記憶素子ME32の端子Xから出力されるX信号がコンデンサ素子CE32の端子Xに入力される。記憶素子ME33(第2記憶素子)の端子Xとコンデンサ素子CE33の端子Xとが接続され、記憶素子ME33の端子Xから出力されるX信号がコンデンサ素子CE33の端子Xに入力される。記憶素子ME34(第2記憶素子)の端子Xとコンデンサ素子CE34の端子Xとが接続され、記憶素子ME34の端子Xから出力されるX信号がコンデンサ素子CE34の端子Xに入力される。
【0062】
記憶素子ME31~ME34は、それぞれの端子XBLにロウレベルが入り、それぞれの端子BLにハイレベルが入り、それぞれの端子WLにハイレベルが入ると、書き込み動作を実行する。詳細には、記憶素子ME31~ME34の各端子XBLには一斉にロウレベルが入り、各端子BLには一斉にハイレベルが入る。そして、記憶素子ME31~ME34のうち、端子WLにハイレベルが入った記憶素子のみが書き込み動作を実行する。例えば、端子WLWP2から入力されるWLWP2信号がハイレベルになると、端子WLWP2からハイレベルが端子WLに入る記憶素子ME31が書き込み動作を実行する。
【0063】
また、記憶素子ME31~ME34は、それぞれの端子WLにロウレベルが入ると、読出し動作を実行する。詳細には、記憶素子ME31~ME34のうち、端子WLにロウレベルが入った記憶素子のみが読み出し動作を実行する。例えば、端子WLWP2から入力されるWLWP2信号がロウレベルになると、端子WLWP2からロウレベルが端子WLに入る記憶素子ME31が読み出し動作を実行する。
【0064】
コンデンサ素子CE31~CE34は、それぞれの端子Xにハイレベルが入り、それぞれの端子RSTにハイレベルが入り、それぞれの端子BLにロウレベルが入ると、リセット動作を実行する。詳細には、コンデンサ素子CE31~CE34の各端子RSTには一斉にハイレベルが入り、各端子BLには一斉にハイレベルが入る。そして、コンデンサ素子CE31~CE34のうち、端子Xにハイレベルが入ったコンデンサ素子のみがリセット動作を実行する。例えば、記憶素子ME31の端子Xから出力されるX信号がハイレベルになると、記憶素子ME31の端子Xからハイレベルが端子Xに入るコンデンサ素子CE31がリセット動作を実行する。なお、コンデンサ素子CE31~CE32のリセット動作時には端子BLに入力されるBL信号がハイレベルとなる。また、コンデンサ素子CE33~CE34のリセット動作時には端子XBLに入力されるBL信号がハイレベルとなる。コンデンサ素子CE31~CE34のリセット動作が一斉に実行される場合、端子BLに入力されるBL信号及び端子XBLに入力されるXBL信号の両方がハイレベルとなる。
【0065】
また、コンデンサ素子CE31~CE34は、それぞれの端子Xにハイレベルが入り、それぞれの端子RSTにロウレベルが入り、それぞれの端子BLにハイレベルが入ると、電荷蓄積動作を実行する。詳細には、コンデンサ素子CE31~CE34の各端子RSTには一斉にロウレベルが入り、各端子BLには一斉にハイレベルが入る。そして、コンデンサ素子CE31~CE34のうち、端子Xにハイレベルが入ったコンデンサ素子のみが電荷蓄積動作を実行する。逆に、コンデンサ素子CE31~CE34のうち、端子Xにハイレベルが入らないコンデンサ素子は電荷蓄積動作を実行しない。例えば、記憶素子ME31の端子Xから出力されるX信号がハイレベルになると、記憶素子ME31の端子Xからハイレベルが端子Xに入るコンデンサ素子CE31が電荷蓄積動作を実行する。なお、コンデンサ素子CE31~CE32の電荷蓄積動作時には端子BLに入力されるBL信号がハイレベルとなる。この場合、端子XBLに入力されるXBL信号がロウレベルとなる。また、コンデンサ素子CE33~CE34の電荷蓄積動作時には端子XBLに入力されるXBL信号がハイレベルとなる。この場合、端子BLに入力されるBL信号がロウレベルとなる。
【0066】
(基本回路の動作)
以下、基本回路30が、コンデンサ素子CE31及びCE33に電荷蓄積動作を実行させ、コンデンサ素子CE32及びCE34に電荷蓄積動作を実行させない場合を例として、基本回路30の動作を説明する。
【0067】
放電動作:
放電動作は、基本回路30が、コンデンサ素子CE31~CE34それぞれにリセット動作を実行させる動作である。
【0068】
まず、記憶素子ME31~ME34は書き込み動作を実行する。すなわち、記憶素子ME31~ME34にはハイレベルが書き込まれる。
【0069】
次に、記憶素子ME31~ME34は読み出し動作を実行する。すなわち、記憶素子ME31~ME34の各端子Xから出力されるX信号はハイレベルとなる。
【0070】
最後に、コンデンサ素子CE31~CE34はリセット動作を実行する。すなわち、コンデンサ素子CE31~CE34は各コンデンサC201に蓄積されていた電荷を放電する。
【0071】
以下、上述の放電動作を「放電動作」と称する。
【0072】
重み設定動作:
重み設定動作は、基本回路30が、コンデンサ素子CE31~CE34のうち、電荷蓄積動作を実行させるコンデンサ素子を設定する動作である。なお、「重み」は、畳み込みニューラル・ネットワークにおける畳み込み演算において用いられるカーネルの各重みである。コンデンサ素子CE31~CE34のうち、電荷蓄積動作を実行するコンデンサ素子がコンデンサC201を用いてカーネルの1つの重みを表現するコンデンサ素子となる。
【0073】
記憶素子ME31及びME33は書き込み動作を実行する。記憶素子ME32及びME34は書き込み動作を実行しない。すなわち、記憶素子ME31及びME33にはハイレベルが書き込まれる。一方、記憶素子ME32及びME34にはハイレベルが書き込まれない。
【0074】
この結果、記憶素子ME31の端子Xから出力されるハイレベルのX信号が端子Xに入力されるコンデンサ素子CE31は電荷蓄積動作を実行可能となる。また、記憶素子ME33の端子Xから出力されるハイレベルのX信号が端子Xに入力されるコンデンサ素子CE33は電荷蓄積動作を実行可能となる。一方、端子XにハイレベルのX信号が入力されないコンデンサ素子CE32及びCE34は電荷蓄積動作を実行することはできない。すなわち、コンデンサ素子CE31及びCE33は、電荷蓄積動作を実行するコンデンサ素子に設定されたことになる。
【0075】
以下、上述の重み設定動作を「重み設定動作」と称する。
【0076】
出力動作:
出力動作は、基本回路30が、コンデンサ素子CE31及びCE33に電荷蓄積動作を実行させ、端子YにY信号を出力する動作である。
【0077】
端子BLに入力されるBL信号がハイレベルであれば(この時、端子XBLに入力されるXBL信号はロウレベルとなる)、コンデンサ素子CE31が電荷蓄積動作を実行する。すなわち、端子Yにおいては、コンデンサ素子CE31のコンデンサC201(第1コンデンサ)の容量値に応じた電圧値のY信号が出力される。
【0078】
一方、端子XBLに入力されるXBL信号がハイレベルであれば(この時、端子BLに入力されるBL信号はロウレベルとなる)、コンデンサ素子CE33が電荷蓄積動作を実行する。すなわち、端子Yにおいては、コンデンサ素子CE33のコンデンサC201(第2コンデンサ)の容量値に応じた電圧値のY信号が出力される。
【0079】
なお、基本回路30は、上述のとおり、電荷蓄積動作を実行するコンデンサ素子に設定されたコンデンサ素子CE31及びCE33のうち、端子BLに入力されるBL信号がハイレベルであればコンデンサ素子CE31に電荷蓄積動作を実行させる一方、端子XBLに入力されるXBL信号がハイレベルであればコンデンサ素子CE33に電荷蓄積動作を実行させる。すなわち、基本回路30は、端子BLに入力されるBL信号のレベル及び端子XBLに入力されるXBL信号のレベルに応じて、コンデンサ素子CE31及びCE33のうちの一方のみに電荷蓄積動作を実行させる点に留意すべきである。
【0080】
以下、上述の出力動作を「出力動作」と称する。
【0081】
なお、以上では、上述の「放電動作」「重み設定動作」「出力動作」を、基本回路30が、コンデンサ素子CE31及びCE33に電荷蓄積動作を実行させ、コンデンサ素子CE32及びCE34に電荷蓄積動作を実行させない場合を例として説明したが、この場合に本実施形態1は限られない。例えば、基本回路30が、コンデンサ素子CE32及びCE34に電荷蓄積動作を実行させ、コンデンサ素子CE31及びCE33に電荷蓄積動作を実行させなくてもよい。また、例えば、基本回路30が、コンデンサ素子CE31~CE34に電荷蓄積動作を実行させてもよいし、コンデンサ素子CE31~CE34に電荷蓄積動作を実行させなくてもよい。
【0082】
(基本回路の効果)
図3の例では、端子BLにコンデンサ素子CE31及びコンデンサ素子CE32を接続し、端子XBLにコンデンサ素子CE33及びCE34を接続した構成である。端子BLと端子Yとの間に、コンデンサ素子CE31のコンデンサC201とコンデンサ素子CE32のコンデンサC201とが並列接続される。また、端子XBLと端子Yとの間に、コンデンサ素子CE33のコンデンサC201とコンデンサ素子CE34のコンデンサC201とが並列接続される。
【0083】
端子BLについていえば、端子BLに入力されるBL信号がハイレベルである場合、基本回路30が電荷蓄積動作を実行させるコンデンサ素子の組合せは次のとおりである。
・コンデンサ素子CE31及びCE32、
・コンデンサ素子CE31のみ、
・コンデンサ素子CE32のみ、
・無し。
【0084】
ここで、コンデンサ素子CE31及びCE32の各コンデンサC201の容量値比を2:1とすれば、上述の各組合せにおいて、端子Yにおいて出力されるY信号の電圧値比は3:2:1:0となる。すなわち、端子BLに入力されるBL信号がハイレベルである場合、端子Yにおいて出力されるY信号の電圧値は4通りとなる。なお、上述の各電圧値比と上述の各組合せとの関係は次のとおりである。
・コンデンサ素子CE31及びCE32:3、
・コンデンサ素子CE31のみ:2、
・コンデンサ素子CE32のみ:1、
・無し:0、
同様に、コンデンサ素子CE32及びCE33の各コンデンサC201の容量値比を2:1とすれば、端子XBLに入力されるXBL信号がハイレベルである場合、端子Yにおいて出力されるY信号の電圧値は4通りとなる。
【0085】
基本回路30は、上述の4通りの電圧値のうちのいずれかを用いて、畳み込みニューラル・ネットワークにおける畳み込み演算において用いられるカーネルに含まれる1つの重みを表現する。上述の例であれば、基本回路30は、端子BLに入力されるBL信号がハイレベルである場合においては4通りの重みを表現可能である。また、基本回路30は、端子XBLに入力されるXBL信号がハイレベルである場合においても4通りの重みを表現可能である。また、例えば、3×3のカーネルであれば、当該カーネルに含まれる重みの総数は3×3=9個となる。よって、3×3のカーネルの各重みを表現する場合、9個の基本回路が必要となる。
【0086】
なお、
図3の例では、端子BLに2個のコンデンサ素子20を接続したが、例えば、3個のコンデンサ素子20を接続してもよい。この場合、各コンデンサ素子20のコンデンサC201の容量比を4:2:1とすれば、端子BLに入力されるBL信号がハイレベルである場合、端子Yにおいて出力されるY信号の電圧値比は7:6:5:4:3:2:1:0となる。すなわち、端子BLに入力されるBL信号がハイレベルである場合、端子Yにおいて出力されるY信号の電圧値は8通りとなる。
【0087】
なお、端子BLに接続されるコンデンサ素子20の数は上述の2個又は3個に限られるものではない。また、端子XBLに接続されるコンデンサ素子20の数についても、端子BLの場合と同様、上述の2個又は3個に限られるものではない。
【0088】
(半導体回路の構成)
図4において、RST、BL、XBL、WLWP1、WLWP2、WLWM1、WLWM2、Yはそれぞれ端子名である。端子RSTからの入力信号をRST信号、端子BLからの入力信号をBL信号、端子XBLからの入力信号をXBL信号、端子WLWP1からの入力信号をWLWP1信号、端子WLWP2からの入力信号をWLWP2信号、端子WLWM1からの入力信号をWLWM1信号、端子WLWM2からの入力信号をWLWM2信号、端子Yからの出力信号をY信号と称する。
【0089】
図4のとおり、端子RSTが基本回路401~409の各端子RSTに接続される。端子WLWP2が基本回路401~409の各端子WLWP2に接続される。端子WLWP1が基本回路401~409の各端子WLWP1に接続される。端子WLWM2が基本回路401~409の各端子WLWM2に接続される。端子WLWM1が基本回路401~409の各端子WLWM1に接続される。端子Yが、基本回路401~409の各端子Yに接続される。端子Yから出力されるY信号の電圧値は、基本回路401~409の各端子Yから出力されるY信号の電圧値の和である。
【0090】
端子群BL<0:8>は9個の端子を含む。詳細には、端子群BL<0:8>は、端子BL<0>、端子BL<1>、端子BL<2>、端子BL<3>、端子BL<4>、端子BL<5>、端子BL<6>、端子BL<7>及び端子BL<8>を含む。端子BL<0>が基本回路401の端子BLに接続される。端子BL<1>が基本回路402の端子BLに接続される。端子BL<2>が基本回路403の端子BLに接続される。端子BL<3>が基本回路404の端子BLに接続される。端子BL<4>が基本回路405の端子BLに接続される。端子BL<5>が基本回路406の端子BLに接続される。端子BL<6>が基本回路407の端子BLに接続される。端子BL<7>が基本回路408の端子BLに接続される。端子BL<8>が基本回路409の端子BLに接続される。
【0091】
端子群XBL<0:8>は9個の端子を含む。詳細には、端子群XBL<0:8>は、端子XBL<0>、端子XBL<1>、端子XBL<2>、端子XBL<3>、端子XBL<4>、端子XBL<5>、端子XBL<6>、端子XBL<7>及び端子XBL<8>を含む。端子XBL<0>が基本回路401の端子XBLに接続される。端子XBL<1>が基本回路402の端子XBLに接続される。端子XBL<2>が基本回路403の端子XBLに接続される。端子XBL<3>が基本回路404の端子XBLに接続される。端子XBL<4>が基本回路405の端子XBLに接続される。端子XBL<5>が基本回路406の端子XBLに接続される。端子XBL<6>が基本回路407の端子XBLに接続される。端子XBL<7>が基本回路408の端子XBLに接続される。端子XBL<8>が基本回路409の端子XBLに接続される。<>内の数字が同一である端子BLと端子XBLとが一対である。すなわち、一対の端子BL及び端子XBLにおいて、一方がハイレベルであれば他方はロウレベルであり、一方がロウレベルであれば他方がハイレベルである。
【0092】
判定回路41には端子Yから出力されるY信号が入力される。判定回路41はY信号の電圧値と所定の閾値Tとの大小比較を行う。判定回路41は、Y信号の電圧値が閾値T以上である場合、Y信号の電圧値が閾値T以上である旨を示す第1信号を出力する。第1信号は例えばハイレベルの信号である。一方、Y信号の電圧値が閾値T未満である場合、Y信号の信号レベルが閾値T未満である旨を示す第2信号を出力する。第2信号は例えばロウレベルの信号である。
【0093】
(半導体回路の動作)
図5及び
図6を用いて、半導体回路40の動作、すなわち、半導体回路40が実行するパターンマッチングを説明する。
図5及び
図6は、半導体回路40が実行するパターンマッチングを説明するための説明図である。まず、
図5及び
図6を説明する。
【0094】
図5の例は、半導体回路40が、正パターンと、入力パターンP1~P17のそれぞれとを比較し、パターンマッチングを行った結果である。以下、入力パターンP1~P17を総称する場合には入力パターンPと称する。
図5において、「BL0」~「BL8」はそれぞれ、
図4の端子群BL<0:8>に含まれる端子BL<0>~端子BL<8>のそれぞれに対応する端子を意味する。
図5の「BL」に続く数字と
図4の端子BLに続く<>内の数字とが同一であるもの同士が対応する。
【0095】
また、
図5の例では、正パターン及び入力パターンPは論理“1”と論理“0”からなる9ビットの2進数の数列である。正パターン及び入力パターンPのいずれにおいても、
図5の紙面上側から下側に向けて、1ビット、2ビットのビット、・・・、8ビット、9ビットが並んでいる。
図4の端子BL<0>には入力パターンPの1ビットが、端子BL<1>には入力パターンPの2ビットが、端子BL<2>には入力パターンPの3ビットが、端子BL<3>には入力パターンPの4ビットが、端子BL<4>には入力パターンPの5ビットが、端子BL<5>には入力パターンPの6ビットが、端子BL<6>には入力パターンPの7ビットが、端子BL<7>には入力パターンPの8ビットが、端子BL<8>には入力パターンPの9ビットが、入力される。なお、
図4の端子群BL<0:8>に入力されるBL信号がハイレベルのとき論理“1”が入力される。また、
図4の端子群BL<0:8>に入力されるBL信号がロウレベルのとき論理“0”が入力される。また、
図4の端子群XBL<0:8>に入力されるXBL信号がハイレベルのとき論理“1”が入力される。また、
図4の端子群XBL<0:8>に入力されるXBL信号がロウレベルのとき論理“0”が入力される。
【0096】
なお、
図4の端子群BL<0:8>には入力パターンPの各ビットの論理がそのまま入力される。一方、
図4の端子群XBL<0:8>には入力パターンPの各ビットの論理を反転させた論理が入力される。例えば、端子群BL<0:8>に入力パターンP1である「000000000」の各ビットがそれぞれ入力される場合、端子群XBL<0:8>には「111111111」の各ビットがそれぞれ入力されることになる。
【0097】
また、
図5において、「一致数」は、正パターンと入力パターンPとの同じビット同士が一致する数を示す。また、「不一致数」は、正パターンと入力パターンPとの同じビット同士が一致しない数を示す。
図5の例では、正パターンと入力パターンP1の同じビット同士が一致する数は「4」である。具体的には、正パターンと入力パターンP1の1ビット、2ビット、5ビット及び6ビット同士が一致する。一方、正パターンと入力パターンP1の同じビット同士が一致しない数は「5」である。具体的には、正パターンと入力パターンP1の3ビット、4ビット、7~9ビット同士が一致しない。
【0098】
また、
図5において、「出力」は
図4の端子Yに出力されるY信号の電圧値を示す。
図4の端子群BL<0:8>に入力パターンPの各ビットがそれぞれ入力されると、端子YにY信号が出力される。
図5の例では、Y信号の電圧値は3つの電圧値「I」、「II」「III」に大別されている。
【0099】
図6は、端子群BL<0:8>に入力パターンP1~P17を順に入力した場合に端子Yに出力されるY信号の電圧値の変化を示す模式図である。
図6において、縦軸がY信号の電圧値、横軸が時間である。なお、縦軸は
図6の紙面上から下に向かって、電圧値が大きくなるものとする。また、上述のとおり、端子群BL<0:8>に入力パターンP1、P2、・・・、P16、P17をこの順に入力したので、
図6の例では、
図6の紙面左から右に向かって、入力パターンP1に対応する電圧値、入力パターンP2に対応する電圧値、・・・、入力パターンP16に対応する電圧値、入力パターンP17に対応する電圧値がこの順で現れる。また、
図6の例では、
図5の「出力」に示した電圧値である電圧値「I」「II」及び「III」の各Y信号が出力された箇所にそれぞれ「I」「II」及び「III」の符号を付してある。また、各符号の下方に記載された「P1」「P2」等を参照することにより、各符号が
図5の入力パターンP1、P2等のいずれに対応するかが理解される。また、
図6の例では、電圧値「I」及び「II」は閾値Tを超える電圧値である。一方、電圧値「III」は閾値T以下の電圧値である。
【0100】
半導体回路40が実行するパターンマッチングは曖昧パターンマッチングである。具体的には、半導体回路40は、正パターンと入力パターンPのすべてのビット同士が一致する場合、入力パターンPは正パターンとマッチすると判定する。さらに、半導体回路40は、正パターンと入力パターンPのすべてのビット同士が一致しない場合でも、その一致数が一定の割合を超えた場合、正パターンとマッチすると判定する。半導体回路40は、パターンマッチングを曖昧に行う、つまり、ある程度の不一致を許容し、入力パターンが正パターンに正確にマッチしない場合でも、マッチすると判定する。
【0101】
以下、
図5及び
図6を参照しつつ、半導体回路40が実行する曖昧パターンマッチングを説明する。なお、以下では、
図3の基本回路30は、記憶素子ME31及びME33、並びに、コンデンサ素子CE31及びCE33を使用するものとし、記憶素子ME32及びME34、並びに、コンデンサ素子CE32及びCE34を使用しないものとする。また、コンデンサ素子CE31及びCE33の各コンデンサC201の容量値は同一とする。
【0102】
まず、半導体回路40は基本回路401~409それぞれに放電動作を実行させる。
【0103】
次に、半導体回路40は基本回路401~409それぞれに重み設定動作を実行させる。より詳細には、半導体回路40は、
図5の正パターンの1ビットが論理“0”であるので、基本回路401の記憶素子ME33に書き込み動作を実行させる。
【0104】
半導体回路40は、
図5の正パターンの2ビットが論理“0”であるので、基本回路402の記憶素子ME33に書き込み動作を実行させる。
【0105】
半導体回路40は、
図5の正パターンの3ビットが論理“1”であるので、基本回路403の記憶素子ME31に書き込み動作を実行させる。
【0106】
半導体回路40は、
図5の正パターンの4ビットが論理“1”であるので、基本回路404の記憶素子ME31に書き込み動作を実行させる。
【0107】
半導体回路40は、
図5の正パターンの5ビットが論理“0”であるので、基本回路405の記憶素子ME33に書き込み動作を実行させる。
【0108】
半導体回路40は、
図5の正パターンの6ビットが論理“0”であるので、基本回路406の記憶素子ME33に書き込み動作を実行させる。
【0109】
半導体回路40は、
図5の正パターンの7ビットが論理“1”であるので、基本回路407の記憶素子ME31に書き込み動作を実行させる。
【0110】
半導体回路40は、
図5の正パターンの8ビットが論理“1”であるので、基本回路408の記憶素子ME31に書き込み動作を実行させる。
【0111】
半導体回路40は、
図5の正パターンの9ビットが論理“1”であるので、基本回路406の記憶素子ME31に書き込み動作を実行させる。
【0112】
次に、半導体回路40は基本回路401~409それぞれに出力動作を実行させる。以下、半導体回路40が、正パターンと、入力パターンP1、P5及びP13それぞれとを比較し、パターンマッチングを行う場合について、より詳細に説明する。
【0113】
まず、半導体回路40が、正パターンと、入力パターンP1とを比較し、パターンマッチングを行う場合を説明する。
【0114】
入力パターンP1の1ビットが論理“0”であるので、端子BL<0>に入力されるBL信号はロウレベルとなり、端子XBL<0>に入力されるXBL信号はハイレベルとなる。半導体回路40は、基本回路401のコンデンサ素子CE33に電荷蓄積動作を実行させる。端子Yにおいては、基本回路401のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0115】
入力パターンP1の2ビットが論理“0”であるので、端子BL<1>に入力されるBL信号はロウレベルとなり、端子XBL<1>に入力されるXBL信号はハイレベルとなる。半導体回路40は、基本回路402のコンデンサ素子CE33に電荷蓄積動作を実行させる。端子Yにおいては、基本回路402のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0116】
入力パターンP1の3ビットが論理“0”であるので、端子BL<2>に入力されるBL信号はロウレベルとなり、端子XBL<2>に入力されるXBL信号はハイレベルとなる。基本回路403の記憶素子ME33は書き込み動作を実行してない。このため、半導体回路40は、基本回路403のコンデンサ素子CE33に電荷蓄積動作を実行させない。端子Yにおいては、基本回路403のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号は出力されない。
【0117】
入力パターンP1の4ビットが論理“0”であるので、端子BL<3>に入力されるBL信号はロウレベルとなり、端子XBL<3>に入力されるXBL信号はハイレベルとなる。基本回路404の記憶素子ME33は書き込み動作を実行してない。このため、半導体回路40は、基本回路404のコンデンサ素子CE33に電荷蓄積動作を実行させない。端子Yにおいては、基本回路404のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号は出力されない。
【0118】
入力パターンP1の5ビットが論理“0”であるので、端子BL<4>に入力されるBL信号はロウレベルとなり、端子XBL<4>に入力されるXBL信号はハイレベルとなる。半導体回路40は、基本回路405のコンデンサ素子CE33に電荷蓄積動作を実行させる。端子Yにおいては、基本回路405のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0119】
入力パターンP1の6ビットが論理“0”であるので、端子BL<5>に入力されるBL信号はロウレベルとなり、端子XBL<5>に入力されるXBL信号はハイレベルとなる。半導体回路40は、基本回路406のコンデンサ素子CE33に電荷蓄積動作を実行させる。端子Yにおいては、基本回路406のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0120】
入力パターンP1の7ビットが論理“0”であるので、端子BL<6>に入力されるBL信号はロウレベルとなり、端子XBL<6>に入力されるXBL信号はハイレベルとなる。基本回路407の記憶素子ME33は書き込み動作を実行してない。このため、半導体回路40は、基本回路407のコンデンサ素子CE33に電荷蓄積動作を実行させない。端子Yにおいては、基本回路407のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号は出力されない。
【0121】
入力パターンP1の8ビットが論理“0”であるので、端子BL<7>に入力されるBL信号はロウレベルとなり、端子XBL<7>に入力されるXBL信号はハイレベルとなる。基本回路408の記憶素子ME33は書き込み動作を実行してない。このため、半導体回路40は、基本回路408のコンデンサ素子CE33に電荷蓄積動作を実行させない。端子Yにおいては、基本回路408のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号は出力されない。
【0122】
入力パターンP1の9ビットが論理“0”であるので、端子BL<8>に入力されるBL信号はロウレベルとなり、端子XBL<8>に入力されるXBL信号はハイレベルとなる。基本回路409の記憶素子ME33は書き込み動作を実行してない。このため、半導体回路40は、基本回路409のコンデンサ素子CE33に電荷蓄積動作を実行させない。端子Yにおいては、基本回路409のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号は出力されない。
【0123】
以上のとおり、半導体回路40が、正パターンと、入力パターンP1とを比較し、パターンマッチングを行った場合、半導体回路40の端子Yから出力されるY信号の電圧値は、基本回路401、402、405及び406の各端子Yから出力されるY信号の電圧値の和となる。当該電圧値は
図5及び
図6の「III」である。
【0124】
次に、半導体回路40が、正パターンと、入力パターンP5とを比較し、パターンマッチングを行う場合を説明する。
【0125】
入力パターンP5の1ビットが論理“0”であるので、端子BL<0>に入力されるBL信号はロウレベルとなり、端子XBL<0>に入力されるXBL信号はハイレベルとなる。半導体回路40は、基本回路401のコンデンサ素子CE33に電荷蓄積動作を実行させる。端子Yにおいては、基本回路401のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0126】
入力パターンP1の2ビットが論理“0”であるので、端子BL<1>に入力されるBL信号はロウレベルとなり、端子XBL<1>に入力されるXBL信号はハイレベルとなる。半導体回路40は、基本回路402のコンデンサ素子CE33に電荷蓄積動作を実行させる。端子Yにおいては、基本回路402のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0127】
入力パターンP1の3ビットが論理“1”であるので、端子BL<2>に入力されるBL信号はハイレベルとなり、端子XBL<2>に入力されるXBL信号はロウレベルとなる。半導体回路40は、基本回路403のコンデンサ素子CE31に電荷蓄積動作を実行させる。端子Yにおいては、基本回路403のコンデンサ素子CE31のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0128】
入力パターンP1の4ビットが論理“0”であるので、端子BL<3>に入力されるBL信号はロウレベルとなり、端子XBL<3>に入力されるXBL信号はハイレベルとなる。基本回路404の記憶素子ME33は書き込み動作を実行してない。このため、半導体回路40は、基本回路404のコンデンサ素子CE33に電荷蓄積動作を実行させない。端子Yにおいては、基本回路404のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号は出力されない。
【0129】
入力パターンP1の5ビットが論理“0”であるので、端子BL<4>に入力されるBL信号はロウレベルとなり、端子XBL<4>に入力されるXBL信号はハイレベルとなる。半導体回路40は、基本回路405のコンデンサ素子CE33に電荷蓄積動作を実行させる。端子Yにおいては、基本回路405のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0130】
入力パターンP1の6ビットが論理“0”であるので、端子BL<5>に入力されるBL信号はロウレベルとなり、端子XBL<5>に入力されるXBL信号はハイレベルとなる。半導体回路40は、基本回路406のコンデンサ素子CE33に電荷蓄積動作を実行させる。端子Yにおいては、基本回路406のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0131】
入力パターンP1の7ビットが論理“1”であるので、端子BL<6>に入力されるBL信号はハイレベルとなり、端子XBL<6>に入力されるXBL信号はロウレベルとなる。半導体回路40は、基本回路407のコンデンサ素子CE31に電荷蓄積動作を実行させる。端子Yにおいては、基本回路407のコンデンサ素子CE31のコンデンサC201の容量値に応じた電圧値のY信号が出力される。
【0132】
入力パターンP1の8ビットが論理“0”であるので、端子BL<7>に入力されるBL信号はロウレベルとなり、端子XBL<7>に入力されるXBL信号はハイレベルとなる。基本回路408の記憶素子ME33は書き込み動作を実行してない。このため、半導体回路40は、基本回路408のコンデンサ素子CE33に電荷蓄積動作を実行させない。端子Yにおいては、基本回路408のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号は出力されない。
【0133】
入力パターンP1の9ビットが論理“0”であるので、端子BL<8>に入力されるBL信号はロウレベルとなり、端子XBL<8>に入力されるXBL信号はハイレベルとなる。基本回路409の記憶素子ME33は書き込み動作を実行してない。このため、半導体回路40は、基本回路409のコンデンサ素子CE33に電荷蓄積動作を実行させない。端子Yにおいては、基本回路409のコンデンサ素子CE33のコンデンサC201の容量値に応じた電圧値のY信号は出力されない。
【0134】
以上のとおり、半導体回路40が、正パターンと、入力パターンP5とを比較し、パターンマッチングを行った場合、半導体回路40の端子Yから出力されるY信号の電圧値は、基本回路401、402、403、405、406及び407の各端子Yから出力されるY信号の電圧値の和となる。当該電圧値は
図5及び
図6の「II」である。
【0135】
説明は省略するが、半導体回路40が、正パターンと、入力パターンP13とを比較し、パターンマッチングを行った場合、半導体回路40の端子Yから出力されるY信号の電圧値は、基本回路401~409の各端子Yから出力されるY信号の電圧値の和となる。当該電圧値は
図5及び
図6の「I」である。
【0136】
(半導体回路の効果)
上述のとおり、半導体回路40が、正パターンと、入力パターンP1、P5及びP13それぞれとを比較し、パターンマッチングを行った場合、正パターンと入力パターンP1との比較であれば、半導体回路40の端子Yから出力されるY信号の電圧値は、基本回路401、402、405及び406の各端子Yから出力されるY信号の電圧値の和となる。なお、正パターンと入力パターンP1との比較であれば、1ビット同士、2ビット同士、5ビット同士、6ビット同士が一致する。すなわち、一致数は4個である。
【0137】
また、正パターンと入力パターンP5との比較であれば、半導体回路40の端子Yから出力されるY信号の電圧値は、基本回路401、402、403、405、406及び407の各端子Yから出力されるY信号の電圧値の和となる。なお、正パターンと入力パターンP5との比較であれば、1ビット同士、2ビット同士、3ビット同士、5ビット同士、6ビット同士、7ビット同士が一致する。すなわち、一致数は6個である。
【0138】
また、正パターンと入力パターンP13との比較であれば、半導体回路40の端子Yから出力されるY信号の電圧値は、基本回路401~409の各端子Yから出力されるY信号の電圧値の和となる。なお、正パターンと入力パターンP13との比較であれば、1ビット同士、2ビット同士、3ビット同士、4ビット同士、5ビット同士、6ビット同士、7ビット同士、8ビット同士、9ビット同士、つまり全ビットが一致する。すなわち、一致数は9個である。
【0139】
図6のとおり、電圧値「I」、電圧値「II」及び電圧値「III」間の大小関係は、電圧値「III」<電圧値「II」<電圧値「I」である。ここで、
図6のとおり、閾値Tを設定すると、閾値Tを超える電圧値は電圧値「II」及び電圧値「I」となる。
図4の判定回路41は、半導体回路40の端子Yから閾値Tを超える電圧値のY信号が出力されたとき、半導体回路40の端子群BL<0:8>及び端子群XBL<0:8>に入力された入力パターンが正パターンとマッチすると判定する。一方、
図4の判定回路41は、半導体回路40の端子Yから閾値T以下の電圧値のY信号が出力されたとき、半導体回路40の端子群BL<0:8>及び端子群XBL<0:8>に入力された入力パターンは正パターンとマッチしないと判定する。
【0140】
すなわち、
図5及び
図6の例では、判定回路41は、入力パターンP5、P9、P13、P14、P15及びP17は正パターンとマッチすると判定する。一方、判定回路41は、入力パターンP1、P2、P3、P4、P6、P7、P8、P10、P11、P12、P16は正パターンとマッチしないと判定する。
【0141】
ここで、判定回路41が正パターンとマッチすると判定した入力パターンP5、P9、P13、P14、P15及びP17のうち、入力パターンP13及びP17のみが正確にマッチする。一方、入力パターンP5、P9、P14及びP15は、正パターンとの一致数は、それぞれ、「6」、「7」、「7」及び「7」である。つまり、半導体回路40は、上述のとおり、正パターンと入力パターンPのすべてのビット同士が一致しない場合でも、その一致数が一定の割合を超えた場合、正パターンとマッチすると判定する。なお、上述の例では、当該一定の割合は5/9である。
【0142】
このようにして、半導体回路40は、パターンマッチングを曖昧に行うことができる。
【0143】
なお、上述の説明においては、
図3の基本回路30は、記憶素子ME31及びME33、並びに、コンデンサ素子CE31及びCE33を使用するものとし、記憶素子ME32及びME34、並びに、コンデンサ素子CE32及びCE34を使用しないものとした。また、コンデンサ素子CE31及びCE33の各コンデンサC201の容量値は同一とした。
【0144】
しかし、本実施形態1はこれに限るものではない。例えば、記憶素子ME32及びME34、並びに、コンデンサ素子CE32及びCE34を使用し、記憶素子ME31及びME33、並びに、コンデンサ素子CE31及びCE33を使用しなくても良い。また、記憶素子ME31~ME34、並びに、コンデンサ素子CE31~CE34を使用する、或いは、記憶素子ME31~ME34、並びに、コンデンサ素子CE31~CE34をしなくても良い。さらに、上述の各例において、コンデンサ素子CE31~CE33の各コンデンサC201の容量値は互いに異なるものであっても良い。
【0145】
〔実施形態2〕
以下、図面を参照して、本発明の実施形態2を説明する。なお、説明の便宜上、上記実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0146】
図7は、本実施形態2に係る基本回路70の概略構成図である。
図7のとおり、基本回路70は、記憶素子B11、B21、B31、B41と、記憶素子B12~B14、B22~B24、B32~B34、B42~B44(第1記憶素子)と、n型MOSトランジスタN11-1、N11-2、N21-1、N21-2、N31-1、N31-2、N41-1、N41-2と、n型MOSトランジスタN12~N14、N22~N24、N32~N34、N42~N44(第1トランジスタ)と、コンデンサC11~C13、C21~C23、C31~C33、C41~C43(第1コンデンサ)と、を備える。
【0147】
また、
図7において、BL、XBL、WLS、WL2、WL1、WL0、Yはそれぞれ端子名を表す。以下、端子BLからの入力信号をBL信号、端子XBLからの入力信号をXBL信号、端子WLSからの入力信号をWLS信号、端子WL2からの入力信号をWL2信号、端子WL1からの入力信号をWL1信号、端子WL0からの入力信号をWL0信号、端子Yからの出力信号をY信号と称する。
【0148】
図8は、本実施形態2に係る記憶素子Bの概略構成図である。
図8のとおり、記憶素子Bは、n型MOSトランジスタN101及びN102と、CMOSインバータIN102及びIN102とを備える。
【0149】
また、
図8において、BL、XBL、WLS、WL2、WL1、WL0、IB、XBはそれぞれ端子名を表す。以下、端子BLからの入力信号をBL信号、端子XBLからの入力信号をXBL信号、端子WLSからの入力信号をWLS信号、端子WL2からの入力信号をWL2信号、端子WL1からの入力信号をWL1信号、端子WL0からの入力信号をWL0信号、端子IBからの出力信号をIB信号、端子XBからの出力信号をXB信号と称する。
【0150】
なお、
図7の記憶素子B11~B14、B21~B24、B31~B34、B41~B44の各構成は、
図8の記憶素子Bの構成と同一である。
【0151】
本実施形態2に係る半導体回路は、上記実施形態1の半導体回路40において、基本回路401~408それぞれを
図7の基本回路70に置き換えた構成となる。以下、
図8の記憶素子B及び
図7の基本回路70をこの順で説明する。
【0152】
(記憶素子の構成)
図8において、COMSインバータIN101の出力は、端子IBに接続される。COMSインバータIN102の出力は、端子XBに接続される。CMOSインバータIN101の出力がCMOSインバータIN102の入力に接続される。また、CMOSインバータIN102の出力がCMOSインバータIN101の入力に接続される。CMOSインバータIN101及びCMOSインバータIN102は所謂ラッチ回路を構成する。
【0153】
n型MOSトランジスタN101のソースは端子XBLに接続され、そのドレインはCMOSインバータIN101の入力に接続される。また、n型MOSトランジスタN102のソースは端子BLに接続され、そのドレインはCMOSインバータIN102の入力に接続される。n型MOSトランジスタN101及びn型MOSトランジスタN102の各ゲートは、端子WLS、端子WL2、端子WL1又は端子WL0に接続される。
【0154】
端子BLから入力されるBL信号と端子XBLから入力されるXBL信号とは、通常、その電位を論理信号としてみるときは互いに相手の反転となっている、すなわち相補的である。また、CMOSインバータIN101の出力とCMOSインバータIN102の出力の論理信号レベルも定常状態においては相補的である。すなわち、一方がハイレベルであれば他方はロウレベルとなる。例えば、CMOSインバータIN101の出力がロウレベルでCMOSインバータIN102の出力がハイレベルのときは論理“1”を記憶しているとし、その逆は論理“0”を記憶しているとする等と記憶内容が決められている。
【0155】
n型MOSトランジスタN101及びn型MOSトランジスタN102は、BL信号及びXBL信号を記憶素子Bに書き込むときの書き込み制御トランジスタとして用いられる。
【0156】
なお、
図8のn型MOSトランジスタN101及びn型MOSトランジスタN102はそれぞれ、
図1のn型MOSトランジスタN101及びn型MOSトランジスタN102に対応する。また、
図8のCMOSインバータIN101及びCMOSインバータIN102はそれぞれ、
図1のCMOSインバータIN1及びCMOSインバータIN2に対応する。ただし、
図8においては、CMOSインバータIN101の出力が端子IBに接続されており、CMOSインバータIN102の出力が端子XBに接続されている。
【0157】
(記憶素子の動作)
まず、
図7の記憶素子B11、B21、B31及びB41の動作を説明する。なお、記憶素子B11、B21、B31及びB41を総称する場合、記憶素子B1と称する。
【0158】
まず、記憶素子B1が、記憶素子B1にハイレベルを書き込む場合、端子BLにはハイレベルが入り、BL信号はハイレベルになる。一方、端子XBLにはロウレベルが入り、XBL信号はロウレベルになる。
【0159】
端子WLSに入力されるWLS信号がハイレベルになると、n型MOSトランジスタN101及びn型MOSトランジスタN102は共にオンする。n型MOSトランジスタN101がオンすることにより、XBL信号がCMOSインバータIN101に入力される。n型MOSトランジスタN102がオンすることにより、BL信号がCMOSインバータIN102に入力される。
【0160】
CMOSインバータIN101は、入力されたXBL信号のロウレベルをハイレベルに反転させ、そのハイレベルをCMOSインバータIN102に入力する。一方、CMOSインバータIN102は、入力されたXBL信号のハイレベルをロウレベルに反転させ、そのロウレベルをCMOSインバータIN101に入力する。
【0161】
CMOSインバータIN101の出力はハイレベルを維持する一方、CMOSインバータIN102の出力はロウレベルを維持する。端子IBはCMOSインバータIN101の出力に接続されている。端子IBから出力されるIB信号はハイレベルとなる。端子XBはCMOSインバータIN102の出力に接続されている。端子XBから出力されるXB信号はロウレベルとなる。
【0162】
一方、記憶素子B1が、記憶素子B1にロウレベルを書き込む場合、端子BLにはロウレベルが入り、BL信号はロウレベルになる。一方、端子XBLにはハイレベルが入り、XBL信号はハイレベルになる。
【0163】
端子WLSに入力されるWLS信号がハイレベルになると、n型MOSトランジスタN101及びn型MOSトランジスタN102は共にオンする。n型MOSトランジスタN101がオンすることにより、XBL信号がCMOSインバータIN101に入力される。n型MOSトランジスタN102がオンすることにより、BL信号がCMOSインバータIN102に入力される。
【0164】
CMOSインバータIN101は、入力されたXBL信号のハイレベルをロウレベルに反転させ、そのロウレベルをCMOSインバータIN102に入力する。一方、CMOSインバータIN102は、入力されたXBL信号のロウレベルをハイレベルに反転させ、そのハイレベルをCMOSインバータIN101に入力する。
【0165】
CMOSインバータIN101の出力はロウレベルを維持する一方、CMOSインバータIN102の出力はハイレベルを維持する。端子IBから出力されるIB信号はロウレベルとなる。端子XBから出力されるXB信号はハイレベルとなる。
【0166】
端子WLSに入力されるWLS信号がロウレベルになると、n型MOSトランジスタN101及びn型MOSトランジスタN102は共にオフする。このため、記憶素子B1は、書き込まれたハイレベル又はロウレベルを保持する。端子IBからはインバータIN101の出力であるIB信号が出力される。IB信号は記憶素子B1に書き込まれたハイレベル又はロウレベルとなる。これに対し、端子XBからはインバータIN102の出力であるXB信号が出力される。XB信号は記憶素子B1に書き込まれたハイレベル又はロウレベルの反転であるロウレベル又はハイレベルとなる。
【0167】
次に、
図7の記憶素子B12~B14、B22~B24、B32~B34、B42~B44の動作を説明する。記憶素子B12~B14、B22~B24、B32~B34、B42~B44を総称する場合、記憶素子B2と称する。
【0168】
記憶素子B2の動作が記憶素子B1の動作と異なる点は、記憶素子B2は、(i)記憶素子B2にハイレベル(第1信号)のみを書き込む点、及び(ii)端子XBからXB信号が出力されない点である。上述の2つの点の他、記憶素子B2の動作と記憶素子B1の動作とが異なる点はないので、記憶素子B2の動作を詳細に説明することは省略する。
【0169】
なお、記憶素子B1の動作に係る上述の説明において、端子WLSを端子WL2に、WLS信号をWL2信号にそれぞれ読み替えれば、記憶素子B12、B22、B32及びB42の動作に係る説明となる。また、記憶素子B1の動作に係る上述の説明において、端子WLSを端子WL1に、WLS信号をWL1信号にそれぞれ読み替えれば、記憶素子B13、B23、B33及びB43の動作に係る説明となる。また、記憶素子B1の動作に係る上述の説明において、端子WLSを端子WL0に、WLS信号をWL0信号にそれぞれ読み替えれば、記憶素子B14、B24、B34及びB44の動作に係る説明となる。
【0170】
(基本回路の構成)
まず、記憶素子B11~B14、n型MOSトランジスタN11-1、N11-2、N12~N14、及びコンデンサC11~C13の接続構成を説明する。以下、当該接続構成を接続構成1と称する。
【0171】
端子XBLにn型MOSトランジスタN11-1のドレインが接続され、端子BLにn型MOSトランジスタN11-2のドレインが接続されている。n型MOSトランジスタN11-1のソースにコンデンサC11、C12及びC13の各上部電極が接続され、n型MOSトランジスタN11-2のソースにコンデンサC11、C12及びC13の各上部電極が接続されている。コンデンサC11、C12及びC13の各下部電極は、n型MOSトランジスタN12、N13及びN14の各ドレインにそれぞれ接続されている。n型MOSトランジスタN12、N13及びN14の各ソースは端子Yに接続されている。
【0172】
記憶素子B11から出力されるIB信号がハイレベルであり、XB信号がロウレベルであれば、n型MOSトランジスタN11-1がオンし、n型MOSトランジスタN11-2がオフする。この場合、コンデンサC11、C12及びC13の各上部電極は、n型MOSトランジスタN11-1を介して、端子XBLに接続される。一方、記憶素子B11から出力されるIB信号がロウレベルであり、XB信号がハイレベルであれば、n型MOSトランジスタN11-1がオフし、n型MOSトランジスタN11-2がオンする。この場合、コンデンサC11、C12及びC13の各上部電極は、n型MOSトランジスタN11-2を介して、端子BLに接続される。
【0173】
記憶素子B12~B14から出力される各IB信号がハイレベルであれば、n型MOSトランジスタN12~N14はオンする。この場合、コンデンサC11、C12及びC13の各下部電極は、n型MOSトランジスタN12~N14それぞれを介して、端子Yに接続される。
【0174】
記憶素子B21~B24、n型MOSトランジスタN21-1、N21-2、N22~N24、及びコンデンサC21~C23の接続構成は、上述の接続構成1において、記憶素子B11~B14、n型MOSトランジスタN11-1、N11-2、N12~N14、及びコンデンサC11~C13それぞれを、対応する記憶素子B21~B24、n型MOSトランジスタN21-1、N21-2、N22~N24、及びコンデンサC21~C23それぞれに置き換えた構成である。また、記憶素子B31~B34、n型MOSトランジスタN31-1、N31-2、N32~N34、及びコンデンサC31~C33の接続構成は、上述の接続構成1において、記憶素子B11~B14、n型MOSトランジスタN11-1、N11-2、N12~N14、及びコンデンサC11~C13それぞれを、対応する記憶素子B31~B34、n型MOSトランジスタN31-1、N31-2、N32~N34、及びコンデンサC31~C33それぞれに置き換えた構成である。また、記憶素子B41~B44、n型MOSトランジスタN41-1、N41-2、N42~N44、及びコンデンサC41~C43の接続構成は、上述の接続構成1において、記憶素子B11~B14、n型MOSトランジスタN11-1、N11-2、N12~N14、及びコンデンサC11~C13それぞれを、対応する記憶素子B41~B44、n型MOSトランジスタN41-1、N41-2、N42~N44、及びコンデンサC41~C43それぞれに置き換えた構成である。
【0175】
(基本回路の動作)
上述の接続構成1に着目し、基本回路70の動作を説明する。なお、上述の他の接続構成に着目した場合における、基本回路70の動作は、下記の動作において、記憶素子B11~B14、コンデンサC11~C13及びn型MOSトランジスタN11-1,N11-2、N12~N14を、対応する記憶素子、コンデンサ及びn型MOSトランジスタに置き換えた動作である。
【0176】
記憶素子B11から出力されるXB信号がハイレベル、IB信号がロウレベルであれば、n型MOSトランジスタN11-1を介して、コンデンサC11~C13の各上部電極が接続される。一方、記憶素子B11から出力されるXB信号がロウレベル、IB信号がハイレベルであれば、n型MOSトランジスタN11-2を介して、コンデンサC11~C13の各上部電極が接続される。
【0177】
また、コンデンサC11~C13の各下部電極は、それぞれの下部電極にドレインが接続されるn型MOSトランジスタN12~N14がオンすることで端子Yに接続される。記憶素子B12~B14にハイレベルを書き込み、IB信号がハイレベルとなれば、n型MOSトランジスタN12~N14それぞれはオンする。
【0178】
以上のとおり、基本回路70は、記憶素子B11にハイレベルが書き込まれた場合、コンデンサC11~C13の各上部電極を端子BLに接続する。一方、基本回路70は、記憶素子B11にロウレベルが書き込まれた場合、コンデンサC11~C13の各上部電極を端子XBLに接続する。
【0179】
そして、基本回路70は、記憶素子B12にハイレベルが書き込まれた場合、コンデンサC11の下部電極を端子Yに接続する。基本回路70は、記憶素子B13にハイレベルが書き込まれた場合、コンデンサC12の下部電極を端子Yに接続する。基本回路70は、記憶素子B14にハイレベルが書き込まれた場合、コンデンサC13の下部電極を端子Yに接続する。すなわち、基本回路70は、対応する記憶素子にハイレベルが書き込まれたコンデンサを、端子BL又は端子XBLに接続する。
【0180】
ここで、コンデンサC11~C13の各上部電極を端子BLに接続する場合についていえば、端子BLに接続されるコンデンサの組合せは次のとおりである。
・コンデンサC11、C12及びC13、
・コンデンサC11及びC12、
・コンデンサC11及びC13、
・コンデンサC12及びC13、
・コンデンサC11のみ、
・コンデンサC12のみ、
・コンデンサC13のみ、
・無し。
【0181】
ここで、コンデンサC11~C13の容量比を4:2:1とすれば、端子BLに入力されるBL信号がハイレベルである場合、端子Yにおいて出力されるY信号の電圧値比は7:6:5:4:3:2:1:0となる。すなわち、端子BLに入力されるBL信号がハイレベルである場合、端子Yにおいて出力されるY信号の電圧値は9通りとなる。なお、上述の各電圧値比と上述の各組合せとの関係は次のとおりである。
・コンデンサC11、C12及びC13:7、
・コンデンサC11及びC12:6、
・コンデンサC11及びC13:5、
・コンデンサC12及びC13:4、
・コンデンサC11のみ:3、
・コンデンサC12のみ:2、
・コンデンサC13のみ:1、
・無し:0。
【0182】
同様に、コンデンサC11~C13の各上部電極を端子XBLに接続する場合でも、コンデンサC11~C13の容量比を4:2:1とすれば、端子XBLに入力されるXBL信号がハイレベルである場合、端子Yにおいて出力されるY信号の電圧値は8通りとなる。
【0183】
〔本発明の効果〕
本発明は、AI技術の基本的オペレーションである曖昧パターンマッチングのための回路構成方法である。本発明は、AI技術に必要な程度の演算精度と小型化を両立させる技術である。本発明は、完全デジタル回路よりも小型かつ省電力にでき、かつ、完全アナログよりも重み制御が安定的かつ容易である点が特徴である。
【0184】
本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0185】
10、ME31、ME32、ME33、ME34、B、B11~B14、B21~B24、B31~B34、B41~B44 記憶素子
20、CE31、CE32、CE33、CE34 コンデンサ素子
30、401、402、403、404、405、406、407、408、409、70 基本回路
40 半導体回路
41 判定回路
C201、C11~C13、C21~C23、C31~C33、C41~C43 コンデンサ