(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128984
(43)【公開日】2023-09-14
(54)【発明の名称】半導体装置
(51)【国際特許分類】
G06G 7/16 20060101AFI20230907BHJP
G06G 7/14 20060101ALI20230907BHJP
【FI】
G06G7/16 510
G06G7/14
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022033699
(22)【出願日】2022-03-04
(71)【出願人】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】田中 信二
(72)【発明者】
【氏名】北形 大樹
(57)【要約】
【課題】従来の半導体装置では、消費電力の削減が十分ではない問題があった。
【解決手段】一実施の形態にかかる半導体装置では、メモリセルに格納されている値によって情報処理を行うことなく出力値を確定させることができる部分については、データ線への電荷の充放電が停止させるように演算処理を停止しつつ、情報処理により出力値を確定させる必要がある部分が含まれる部分についてはデータ線への電荷の充放電を伴う情報処理が適切に行われるようにメモリセルを制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力値と3値で表現される保持値との積を出力する複数のメモリセルと、
前記複数のメモリセルのうち第1の値を出力するメモリセルが電気的に接続される第1のデータ線と、
前記複数のメモリセルのうち第2の値を出力するメモリセルが電気的に接続される第2のデータ線と、
前記第1のデータ線と前記第2のデータ線の何れか一方に情報処理サイクル毎に値が変化するリファレンス値を与える情報処理リファレンスセルと、
前記複数のメモリセルと前記情報処理リファレンスセルが前記第1のデータ線及び前記第2のデータ線を駆動する駆動電流を生成する定電流源と、
前記第1のデータ線に接続された前記メモリセルの数と前記第2のデータ線に接続された前記メモリセルの数の大小関係に応じて異なる値を示す二値信号を前記情報処理サイクル毎に出力する第1の判定回路と、
第3のデータ線と、
指定された設定値に応じて前記第1のデータ線と前記第2のデータ線との少なくとも一方に接続された前記メモリセルの数を示す比較値を前記第3のデータ線に出力するレプリカセルと、
前記第1のデータ線に接続された前記メモリセルの数と前記第2のデータ線に接続された前記メモリセルの数との少なくとも一方が前記比較値よりも小さい場合にストップ指示信号を有効化する第2の判定回路と、
前記設定値を出力し、前記ストップ指示信号が有効状態を示したことに応じて前記情報処理サイクルが前記設定値に対応した回数経過するまで前記定電流源からの電流出力を停止させる制御回路と、
を有する半導体装置。
【請求項2】
前記複数のメモリセルは、それぞれ
前記第1の値が保持されている場合に前記第1のデータ線を前記定電流源に電気的に接続する第1のメモリセルと、
前記第2の値が保持されている場合に前記第2のデータ線を前記定電流源に電気的に接続する第2のメモリセルと、を有し
第3の値は、前記第1のメモリセルが前記第1のデータ線と前記定電流源とを電気的に遮断し、かつ、前記第2のメモリセルが前記第2のデータ線と前記定電流源とを電気的に遮断することで表わされる請求項1に記載の半導体装置。
【請求項3】
前記制御回路は、前記第1の判定回路の出力値により予め設定されたビット数の1つの情報処理結果を確定させる期間を1情報処理期間とした場合、前記1情報処理期間の最初の情報処理サイクルにおいて選択的に前記第2の判定回路を有効化する請求項1に記載の半導体装置。
【請求項4】
前記レプリカセルは、前記定電流源と前記第3のデータ線との間に設けられるレプリカトランジスタを有し、前記レプリカトランジスタは、前記設定値の大きさに応じて論理的なトランジスタサイズと、前記定電流源と前記第3のデータ線とを接続する時間と、のいずれか一方を変化させる請求項1に記載の半導体装置。
【請求項5】
前記第3のデータ線に接続され、前記メモリセルが前記第1のデータ線又は前記第2のデータ線に与える寄生容量を模擬的に再現するダミーセルを有する請求項1に記載の半導体装置。
【請求項6】
前記第2の判定回路は、前記第1のデータ線に接続された前記メモリセルの数と前記第2のデータ線に接続された前記メモリセルの数との合計値が前記比較値よりも小さい場合に前記ストップ指示信号を有効化する請求項1に記載の半導体装置。
【請求項7】
前記第2の判定回路は、前記第1のデータ線に接続された前記メモリセルの数と前記第2のデータ線に接続された前記メモリセルの数との差が前記比較値よりも小さい場合に前記ストップ指示信号を有効化する請求項1に記載の半導体装置。
【請求項8】
前記第2の判定回路は、
前記第1のデータ線に接続された前記メモリセルの数が前記比較値と前記第2のデータ線に接続されたメモリセルの和よりも小さい場合に第1の部分判定信号を有効化する第1の部分判定回路と、
前記第2のデータ線に接続された前記メモリセルの数が前記比較値と前記第1のデータ線に接続されたメモリセルの数との和よりも小さい場合に第2の部分判定信号を有効化する第2の部分判定回路と、
前記第1の部分判定信号と前記第2の部分判定信号のうち前記第1の判定回路がデータ線に接続された前記メモリセルの数が多いと判定した側の部分判定信号を選択して前記ストップ指示信号として出力する選択回路と、
を有する請求項1に記載の半導体装置。
【請求項9】
前記制御回路は、前記ストップ指示信号の有効化率が予め設定した第1の閾値を上回った場合には前記設定値を小さくし、前記ストップ指示信号の有効化率が前記第1の閾値よりも小さな第2の閾値を下回った場合には前記設定値を大きくする請求項1に記載の半導体装置。
【請求項10】
前記第1のデータ線、前記第2のデータ線及び前記第3のデータ線を1つのデータ線群とし、前記データ線群を複数有する請求項1に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体装置に関し、例えば、積和演算機能を有するメモリを含む半導体装置に関する。
【背景技術】
【0002】
近年、人工知能が多方面で利用されている。この人工知能では、積和演算を大量に実行する必要がある。そこでGPU(Graphics Processing Unit)等によって、積和演算の処理をアクセラレーションすることが行われる。また、積和演算の処理だけでなく、処理を行うのに付随して、大量のデータ転送処理も発生する。これらの処理を行うために、消費電力が非常に大きくなると言う課題が生じている。そこで、積和演算を大量にかつ低消費電力で処理する半導体装置に関する技術が特許文献1に開示されている。
【0003】
特許文献1では、2本のデータ線に接続され、3値のデータを格納し、格納されたデータと入力された入力データとデータ線におけるデータとの間で積和演算を行う積演算メモリセルが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の半導体装置では、演算の種類によらず全ての情報処理サイクルでデータ線への電荷の充放電が繰り返される。そのため、特許文献1に記載の半導体装置では、消費電力の削減効果が限定的である問題がある。
【0006】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0007】
一実施の形態にかかる半導体装置では、メモリセルに格納されている値によって情報処理を行うことなく出力値を確定させることができる部分については、データ線への電荷の充放電が停止されるように演算処理を停止しつつ、情報処理により出力値を確定させる必要がある部分が含まれる部分についてはデータ線への電荷の充放電を伴う情報処理が適切に行われるようにメモリセルを制御する。
【発明の効果】
【0008】
一実施の形態にかかる半導体装置では、消費電力をさらに削減することができる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1にかかる半導体装置のブロック図である。
【
図2】実施の形態1にかかる半導体装置のメモリセル周辺の詳細なブロック図である。
【
図3】実施の形態1にかかる情報処理リファレンスセルの回路図である。
【
図4】実施の形態1にかかるメモリセルの回路図である。
【
図5】実施の形態1にかかるレプリカセル及びダミーセルの回路図である。
【
図6】実施の形態1にかかる第1の判定回路の回路図である。
【
図7】実施の形態1にかかる第2の判定回路の回路図である。
【
図8】実施の形態1にかかる半導体装置に設定値と停止する情報処理サイクル数の関係を説明する表である。
【
図9】実施の形態1にかかる半導体装置の動作を説明するタイミングチャートである。
【
図10】実施の形態2にかかる半導体装置における設定値の変更条件を説明する表である。
【
図11】実施の形態3にかかる半導体装置のメモリセル周辺の詳細なブロック図である。
【
図12】実施の形態3にかかる第2の判定回路の回路図である。
【
図13】実施の形態4にかかる半導体装置のメモリセル周辺の詳細なブロック図である。
【
図14】実施の形態4にかかる第1の部分判定回路の回路図である。
【
図15】実施の形態4にかかる第2の部分判定回路の回路図である。
【発明を実施するための形態】
【0010】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0011】
以下で説明する半導体装置は、3値の値を保持することが可能な複数のメモリセルが、複数のメモリセルに共通して設けられるデータ線に接続される構成を有する。そして、メモリセルへの入力値とメモリセルに格納されている値の積をデータ線上で加算することで積和演算を行う。また、積和演算結果は、情報処理リファレンスセルが出力するリファレンス値と逐次比較することで最終的にマルチビットの出力値として出力される。以下では、このような半導体装置について詳細に説明する。
【0012】
実施の形態1
まず、
図1に実施の形態1にかかる半導体装置のブロック図を示す。
図1に示すように、実施の形態1にかかる半導体装置1は、メモリコントローラ10、入力バッファ11、電流源12、セルアレイ13、定電流源14、判定回路15、インタフェースコントローラ16を有する。
【0013】
メモリコントローラ10は、半導体装置1との外部インタフェースであり、外部に設けられる半導体装置から入力値を受け付けるとともに、半導体装置1ないで生成された出力値を外部装置に出力する。また、メモリコントローラ10は、電流源12等の半導体装置1内の電源を制御する機能を有していても良い。入力バッファ11は、メモリコントローラ10を介して入力された入力値からセルアレイ13内に設けられるメモリセルを制御する信号に変換してメモリセルを駆動する。
【0014】
電流源12は、セルアレイ13の第1のデータ線(以下、データ線PBLと称す)、第2のデータ線(以下、データ線NBLと称す)及び第3のデータ線(以下、データ線DBLと称す)に与える電流を生成する。セルアレイ13は、メモリセルが格子状に配置される。定電流源14は、セルアレイ13内のメモリセルを駆動する定電流を生成する。判定回路15は、セルアレイ13内のメモリセルからの積和演算結果の大小を判定して最終的な出力値を構成するビットを1ビットずつ順次出力する。インタフェースコントローラ16は、例えば、判定回路15の出力値からマルチビットの最終的な出力値を生成してメモリコントローラ10に送信する。また、インタフェースコントローラ16は、定電流源14及び判定回路15を、判定回路15が出力する判定信号に基づき制御する制御回路としても機能する。
【0015】
以下では、電流源12、セルアレイ13、定電流源14、判定回路15の構成に着目して説明する。そこで、
図2に実施の形態1にかかる半導体装置のメモリセル周辺の詳細なブロック図を示す。
図2では、データ線PBL、データ線NBL及びデータ線DBLを1つのデータ線群とし、1つのデータ線群に関連する回路を示した。実施の形態1にかかる半導体装置1では、セルアレイ13にこのデータ線群とデータ線群に付随する電流源12、定電流源14、判定回路15等が複数設けられる。
【0016】
図2に示すように、実施の形態1にかかる半導体装置1では、データ線PBL、NBLに接続されるように複数のメモリセル(例えば、MC0~MC127)が設けられる。メモリセルに与えられる入力値はマルチビットで構成されるが、各メモリセルには入力値のうち対応する1ビットが入力される。そして、メモリセルは、1ビットの入力値と3値で表現される保持値との積を出力する。また、詳しくは後述するが、メモリセルは、第1の値が保持されている場合にデータ線PBLを定電流源14に電気的に接続する第1のメモリセルと、第2の値が保持されている場合にデータ線NBLを定電流源14に電気的に接続する第2のメモリセルと、を有する。つまり、データ線PBLは、複数のメモリセルのうち第1の値を出力するメモリセルが電気的に接続される。データ線NBLは、複数のメモリセルのうち第2の値を出力するメモリセルが電気的に接続される。
【0017】
また、データ線PBL、NBLに接続されるように、情報処理リファレンスセル(例えば、AD変換REFセル21)が設けられる。AD変換REFセル21は、データ線PBLとデータ線NBLの何れか一方に情報処理サイクル毎に値が変化するリファレンス値を与える。AD変換REFセル21は、リファレンス制御信号REFによりリファレンス値を変化させる。また、リファレンス制御信号REFは、インタフェースコントローラ16が出力するものとする。
【0018】
データ線DBLには、レプリカセル23及び複数のダミーセル(例えば、ダミーセルDC0~DC127)が接続される。セルアレイ13は、指定された設定値(例えば、設定値REP)に応じてデータ線PBLとデータ線NBLとの少なくとも一方に接続されたメモリセルの数を示す比較値をデータ線DBLに出力する。ダミーセルは、メモリセルがデータ線PBL又はデータ線NBLに与える寄生容量を模擬的に再現する。
【0019】
電流源12は、PMOSトランジスタP1~P5を有する。PMOSトランジスタP1は、ソースが電源配線Vdに接続され、ゲートとドレインが共通接続され、ドレインがデータ線PBLに接続される。PMOSトランジスタP2は、ゲートがPMOSトランジスタP1のゲートと共通接続され、ソースが電源配線Vdに接続され、ドレインがデータ線NBLに接続される。PMOSトランジスタP3は、ゲートがPMOSトランジスタP4のゲートと共通接続され、ソースが電源配線Vdに接続され、ドレインがデータ線PBLに接続される。PMOSトランジスタP4は、ソースが電源配線Vdに接続され、ゲートとドレインが共通接続され、ドレインがデータ線NBLに接続される。PMOSトランジスタP5は、ドレインがデータ線PBLに接続される。
【0020】
つまり、半導体装置1では、データ線PBL、NBLにおいて、一方のデータ線に電流を供給するダイオード接続されたPMOSトランジスタで生成された電流と、他方のデータ線に電流を供給するダイオード接続されたPMOSトランジスタで生成された電流と、を合計した電流を流す。これにより、半導体装置1では、電流源12用いることで、データ線PBL、NBLに供給される電流ばらつきを低減する。なお、
図2に示す例では、データ線DBLについてはPMOSトランジスタP5からのみの電流を供給する。
【0021】
定電流源14は、NMOSトランジスタN1を有する。NMOSトランジスタN1は、ソースが接地され、ゲートに積和演算モードイネーブル信号MACE信号が与えられ、ドレインにセル接地配線CVSSが接続される。セル接地配線CVSSは、複数のメモリセル、AD変換REFセル21、複数のダミーセル、レプリカセル23に接続される。そして、定電流源14は、セル接地配線CVSSを介して、複数のメモリセルとAD変換REFセル21がデータ線PBL及びデータ線NBLを駆動する駆動電流を生成する。また、定電流源14は、レプリカセル23がデータ線DBLを駆動する駆動電流を生成する。なお、定電流源14は、複数のダミーセルに対しては接地電圧を供給する。また、定電流源14に与えられる積和演算モードイネーブル信号MACEは、インタフェースコントローラ16が出力するものとする。
【0022】
判定回路15は、第1の判定回路22、第2の判定回路24ANDゲート25、反転入力付きANDゲート26を有する。第1の判定回路22は、データ線PBLに接続されたメモリセルの数とデータ線NBLに接続されたメモリセルの数の大小関係に応じて異なる値を示す二値信号を情報処理サイクル毎に出力する。第2の判定回路24は、データ線PBLに接続されたメモリセルの数とデータ線NBLに接続されたメモリセルの数との少なくとも一方が比較値(データ線DBLの生じる電圧に基づき決定される値)よりも小さい場合にストップ指示信号MQSを有効化する。
【0023】
ANDゲート25は、一方の入力に積和演算モードイネーブル信号MACEが入力され、他方の入力にトリガ信号TRIGが入力される。ANDゲート25は、積和演算モードイネーブル信号MACEとトリガ信号TRIGとの論理積演算結果をセンスアンプイネーブル信号SAEとして第1の判定回路22に与える。反転入力付きANDゲート26は、反転入力端子にリファレンス制御信号REFの最下位ビットが入力され、正転入力端子にトリガ信号TRIGが入力される。そして、反転入力付きANDゲート26は、リファレンス制御信号REFの最下位ビットが0である期間に入力されるトリガ信号TRIGを第2センスイネーブル信号SSEとして第2の判定回路24に与える。
【0024】
第1の判定回路22には、制御信号として、電源制御イネーブル信号PCENとセンスアンプイネーブル信号SAEが入力される。第1の判定回路22は、電源制御イネーブル信号PCENとセンスアンプイネーブル信号SAEとがともにイネーブル状態(例えば、ハイレベル)である期間に動作する。第2の判定回路24には、制御信号として、電源制御イネーブル信号PCENと第2センスイネーブル信号SSEが入力される。第2の判定回路24は、電源制御イネーブル信号PCENと第2センスイネーブル信号SSEとがイネーブル状態である期間に動作する。
【0025】
続いて、
図2で示した回路ブロックについて具体的な回路の一例を説明する。なお、各回路ブロックは以下に示す回路以外にであっても実現可能である。
【0026】
図3に実施の形態1にかかるAD変換REFセル21の回路図を示す。
図3に示すように、AD変換REFセル21は、データ線PBLとデータ線NBLとの間に直列に接続される2つのトランジスタの組を複数有する。また、AD変換REFセル21は、データ線PBLとデータ線NBLとの間に接続されたトランジスタを制御する制御ロジック31を有する。
【0027】
データ線PBLとデータ線NBLとの間に直列に接続される2つのトランジスタの組は、組毎にトランジスタサイズが異なる。
図3では、AD変換REFセル21は、トランジスタサイズが64、32、16、8、4、2、1、0.5となるように設定される例を示した。また、各トランジスタ組を構成するトランジスタは、トランジスタ同士が接続されるノードにセル接地配線CVSSが接続される。制御ロジック31は、トランジスタ組毎に反転入力付きANDゲートとANDゲートを有する。そして、反転入力付きANDゲートの反転入力端子及びANDゲートの一方の端子に極性制御信号PNSが入力される。また、反転入力付きANDゲートの正転入力端子及びANDゲートの他方の端子にリファレンス制御信号REFのうち対応するトランジスタ組に対応するビットの信号が入力される。例えば、
図3に示す例では、トランジスタサイズが64となるトランジスタ組に対応する制御ロジック31には、リファレンス制御信号REFの最上位ビットが入力され、トランジスタサイズが小さくなるほどリファレンス制御信号REFの下位側のビットが入力される。そして、AD変換REFセル21では、反転入力付きANDゲートの出力によりデータ線PBL側のトランジスタを制御し、ANDゲートの出力によりデータ線NBL側のトランジスタを制御する。なお、トランジスタサイズが0.5となるトランジスタ組に対応する制御ロジック31については、反転入力付きANDゲートの出力によりデータ線NBL側のトランジスタを制御し、ANDゲートの出力によりデータ線PBL側のトランジスタを制御する。
【0028】
これにより、AD変換REFセル21は、極性制御信号PNSがデータ線PBL側を選択している場合(例えば、ロウレベルである場合)、データ線PBLをリファレンス制御信号REFで指定されるトランジスタによりデータ線PBLからセル接地配線CVSSに電流を引き抜く。一方、極性制御信号PNSがデータ線NBL側を選択している場合(例えば、ハイレベルである場合)、データ線NBLをリファレンス制御信号REFで指定されるトランジスタによりデータ線NBLからセル接地配線CVSSに電流を引き抜く。なお、トランジスタサイズが0.5に設定されるトランジスタ(例えば、N308、N318)については、他のトランジスタとは逆側のデータ線から電流をセル接地配線CVSSに引き抜く。
【0029】
図4に実施の形態1にかかるメモリセルの回路図を示す。
図4では、
図2で示した複数のメモリセルの1つのみを示した。
図4に示すように、メモリセルは、第1のメモリセル41、第2のメモリセル42を有する。また、メモリセルは、NMOSトランジスタN48、N49P、N49Nを有する。NMOSトランジスタN48は、セル接地配線CVSSが一端に接続され、他端がNMOSトランジスタN49P及びNMOSトランジスタN49Nの一端が接続される。また、NMOSトランジスタN48のゲートには、入力値INPの0ビット目が与えられる。NMOSトランジスタN49Pの他端は、データ線PBLが接続される。NMOSトランジスタN49Pのゲートは、第1のメモリセル41に接続される。NMOSトランジスタN49Nの他端は、データ線NBLが接続される。NMOSトランジスタN49Nのゲートは、第2のメモリセル42に接続される。
【0030】
第1のメモリセル41及び第2のメモリセル42は、SRAM(Static Random Memory)として機能する構成を有する。具体的には、第1のメモリセル41は、PMOSトランジスタP40、P41、NMOSトランジスタN40~N43を有する。PMOSトランジスタP40とNMOSトランジスタN40は、電源配線と接地配線との間に直列に接続され、ゲートが共通接続される。PMOSトランジスタP41とNMOSトランジスタN41は、電源配線と接地配線との間に直列に接続され、ゲートが共通接続される。そして、PMOSトランジスタP40とNMOSトランジスタN40のゲートは、PMOSトランジスタP41とNMOSトランジスタN41とが接続されるノード及びNMOSトランジスタN43の一端に接続される。また、PMOSトランジスタP41とNMOSトランジスタN41のゲートは、PMOSトランジスタP40とNMOSトランジスタN40とが接続されるノード及びNMOSトランジスタN42の一端に接続される。NMOSトランジスタN42の他端は、相補ビット線BLに接続される。NMOSトランジスタN43の他端は、相補ビット線BLBに接続される。また、NMOSトランジスタN42、N43のゲートにはワード線WL[0]が接続される。
【0031】
また、第2のメモリセル42は、PMOSトランジスタP42、P43、NMOSトランジスタN44~N47を有する。PMOSトランジスタP42とNMOSトランジスタN44は、電源配線と接地配線との間に直列に接続され、ゲートが共通接続される。PMOSトランジスタP43とNMOSトランジスタN45は、電源配線と接地配線との間に直列に接続され、ゲートが共通接続される。そして、PMOSトランジスタP42とNMOSトランジスタN44のゲートは、PMOSトランジスタP43とNMOSトランジスタN45とが接続されるノード及びNMOSトランジスタN47の一端に接続される。また、PMOSトランジスタP43とNMOSトランジスタN45のゲートは、PMOSトランジスタP42とNMOSトランジスタN45とが接続されるノード及びNMOSトランジスタN46の一端に接続される。NMOSトランジスタN46の他端は、相補ビット線BLに接続される。NMOSトランジスタN47の他端は、相補ビット線BLBに接続される。また、NMOSトランジスタN46、N47のゲートにはワード線WL[1]が接続される。
【0032】
メモリセルでは、ワード線WL[0]をハイレベルにした状態で相補ビット線BL、BLBにより第1のメモリセル41内のインバータの状態を確定させることで値が書き込まれる。また、メモリセルでは、ワード線WL[1]をハイレベルにした状態で相補ビット線BL、BLBにより第2のメモリセル42内のインバータの状態を確定させることで値が書き込まれる。
【0033】
そして、メモリセルは、PMOSトランジスタP40及びNMOSトランジスタN40により構成されるインバータで保持される値によりNMOSトランジスタN49Pの開閉状態を制御する。また、メモリセルでは、PMOSトランジスタP42及びNMOSトランジスタN44により構成されるインバータで保持される値によりNMOSトランジスタN49Nの開閉状態を制御する。
【0034】
図4に示すメモリセルでは、第1のメモリセル41及び第2のメモリセル42の両方が論理値“0“を格納しているとき、論理値“0“を格納しているものとする。また、第1のメモリセル41が論理値“1“を格納し、第2のメモリセル42が論理値“0“を格納しているとき、メモリセルは、論理値“+1“を格納しているものとする。さらに、第1のメモリセル41が論理値“0“を格納し、第2のメモリセル42が論理値“1“を格納しているとき、メモリセルは、論理値“-1“を格納しているものとする。
【0035】
これにより、メモリセルに論理値“0“が格納されているとき、NMOSトランジスタN49P及びNMOSトランジスタN49Nは、ともにオフ状態となり、入力値INPが例え論理値“1“であっても、データ線PBL、NBLから定電流源14に電流は流れない。
【0036】
これに対して、メモリセルに論理値“+1“が格納されているとき、NMOSトランジスタN49Pはオン状態となり、NMOSトランジスタN49Nはオフ状態となる。このとき、入力値INPが論理値“1“であれば、オン状態のNMOSトランジスタN49PおよびNMOSトランジスタN48を介して、データ線PBLから定電流源14に電流が流れ、データ線PBLの電圧は低下する。このとき、データ線NBLの電圧は低下しない。一方、このとき、入力値INPが論理値“0“であれば、NMOSトランジスタN48がオフ状態となるため、データ線PBL、NBLから定電流源14に電流は流れず、データ線PBL、NBLの電圧は低下しない。
【0037】
さらに、メモリセルに論理値“-1“が格納されているときには、NMOSトランジスタN49Nはオン状態となり、NMOSトランジスタN49Pはオフ状態となる。このとき、入力値INPが論理値“1“であれば、オン状態のNMOSトランジスタN49NおよびNMOSトランジスタN48を介して、データ線NBLから定電流源14に電流が流れ、データ線NBLの電圧は低下し、データ線PBLの電圧は低下しない。一方、このとき、入力値INPが論理値“0“であれば、NMOSトランジスタN48がオフ状態となるため、データ線PBL、NBLから定電流源14に電流は流れず、データ線PBL、NBLの電圧は低下しない。
【0038】
すなわち、メモリセルでは、第1のメモリセル41が、メモリセルに論理値“+1“を格納するのに用いられ、第2のメモリセル42が、メモリセルに論理値“-1“を格納するのに用いられていると見なすことができる。
【0039】
これにより、メモリセルに格納されている3値と入力値INPの値との間で積演算が実行される。すなわち、入力値の論理値と、メモリセルの論理値に従って、0×0、0×(+1)、0×(-1)、1×0、1×(+1)、1×(-1)の6つの状態が形成される。この場合、入力値の論理値とメモリセルに格納されている論理値との間で積演算が実行され、積演算の結果が論理値“1“のとき、データ線PBLと定電流源14との間を電流が流れ、データ線PBLの電圧が低下する。これに対して、積演算の結果が論理値“-1“のとき、データ線NBLと定電流源14との間を電流が流れ、データ線NBLの電圧が低下する。
【0040】
そして、半導体装置1のメモリセルでは、データ線PBL、NBLのそれぞれにおいて、データ線に接続される複数のメモリセルの積演算結果に従った電流が、重畳されて、データ線PBL、NBLのそれぞれにおいて電流・電圧が定まる。すなわち、複数のメモリセルにおいて得られた積が、データ線PBL、NBLによって、和を求めるように和演算が実行される。和演算の結果である積和演算の結果は、データ線PBL、NBLを介して出力される。
【0041】
続いて、レプリカセル23及びダミーセルについて説明する。
図5に実施の形態1にかかるレプリカセル及びダミーセルの回路図を示す。まず、レプリカセル23は、定電流源14とデータ線DBLとの間に設けられるレプリカトランジスタを有し、レプリカトランジスタは、設定値REPの大きさに応じて論理的なトランジスタサイズと、定電流源14とデータ線DBLとを接続する時間と、のいずれか一方を変化させる。
図5に示す例では、設定値の大きさに応じて論理的なトランジスタサイズを変更するレプリカセル23を示した。
図5に示すように、レプリカセル23は、レプリカトランジスタとして、トランジスタサイズが異なるNMOSトランジスタN51~N55を有する。
図5に示す例では、NMOSトランジスタN51はトランジスタサイズが16、NMOSトランジスタN52はトランジスタサイズが8、NMOSトランジスタN52はトランジスタサイズが4、NMOSトランジスタN54はトランジスタサイズが2、NMOSトランジスタN55はトランジスタサイズが1、に設定される。そして、NMOSトランジスタN51~N55は、一端がデータ線DBLに接続され、他端がセル接地配線CVSSに接続される。また、
図5に示す例では、設定値REPは5ビットで構成される。そして、NMOSトランジスタN51のゲートには、設定値REPの最上位ビットが入力され、NMOSトランジスタN52のゲートには、設定値REPの4ビット目が入力され、NMOSトランジスタN53のゲートには、設定値REPの3ビット目が入力され、NMOSトランジスタN54のゲートには、設定値REPの2ビット目が入力され、NMOSトランジスタN55のゲートには、設定値REPの最下位ビットが入力される。
【0042】
つまり、レプリカセル23は、論理値が1となる設定値REPの値によりNMOSトランジスタN51~N52のうち少なくとも1つをオンさせることでトランジスタサイズに応じた電流値でデータ線DBLからセル接地配線CVSSに電流を引き抜きデータ線DBLの電圧を低下させる。
【0043】
ダミーセルは、それぞれNMOSトランジスタN56を有する。NMOSトランジスタN56は、一端がデータ線DBLに接続され、他端がオープンにされる。NMOSトランジスタN56のゲートは、セル接地配線CVSSに接続される。これにより、ダミーセルは、データ線DBLにメモリセルのNMOSトランジスタN49Nがデータ線NBLに与える寄生容量又はNMOSトランジスタN49Pがデータ線PBLに与える寄生容量を擬似的に再現する。
【0044】
続いて、第1の判定回路22について詳細に説明する。
図6に実施の形態1にかかる第1の判定回路22の回路図を示す。
図6に示すように、第1の判定回路22は、PMOSトランジスタP61~P65、NMOSトランジスタN61~N63、ORゲート61、インバータ62、63、ANDゲート64、ラッチ65、バッファ66、トランスファゲート67、68を有する。
【0045】
PMOSトランジスタP61、P62は、ソースが電源配線に接続され、ドレインがPMOSトランジスタP63により連結される。また、PMOSトランジスタP61のドレインは、PMOSトランジスタP64とNMOSトランジスタN61とが接続されるノードに接続される。PMOSトランジスタP62のドレインは、PMOSトランジスタP65とNMOSトランジスタN62とが接続されるノードに接続される。PMOSトランジスタP61~P63のゲートには、ORゲート61から制御信号が与えられる。ORゲート61は、電源制御イネーブル信号PCENとセンスアンプイネーブル信号SAEとの論理和を出力する。つまり、電源制御イネーブル信号PCENとセンスアンプイネーブル信号SAEの少なくとも何れか一方がハイレベルである場合、PMOSトランジスタP61~P63はオフ状態となる。一方、電源制御イネーブル信号PCENとセンスアンプイネーブル信号SAEがいずれもロウレベルであれば、PMOSトランジスタP61~P63はオン状態となる。
【0046】
PMOSトランジスタP64とNMOSトランジスタN61は、電源配線とNMOSトランジスタN63のドレインとの間に直列に接続され、ゲートが共通接続される。PMOSトランジスタP65とNMOSトランジスタN62は、電源配線とNMOSトランジスタN63のドレインとの間に直列に接続され、ゲートが共通接続される。そして、PMOSトランジスタP64とNMOSトランジスタN61のゲートは、PMOSトランジスタP65とNMOSトランジスタN62とが接続されるノードに接続されるとともに、トランスファゲート68を介してデータ線NBLに接続される。また、PMOSトランジスタP65とNMOSトランジスタN62のゲートは、PMOSトランジスタP64とNMOSトランジスタN61とが接続されるノードに接続されるとともに、トランスファゲート67を介してデータ線PBLに接続される。つまり、PMOSトランジスタP64、P65及びNMOSトランジスタN61~N63は、NMOSトランジスタN63を電流源とするラッチ型センスアンプ構造となる。
【0047】
トランスファゲート67、68は、センスアンプイネーブル信号SAEがロウレベルとなるとオン状態となり、センスアンプイネーブル信号SAEがハイレベルとなるとオフ状態になる。
【0048】
ANDゲート64は、センスアンプイネーブル信号SAEと積和演算モードイネーブル信号MACEの論理積を出力する。第1の判定回路22では、センスアンプイネーブル信号SAEと、積和演算モードイネーブル信号MACEと、の両方がハイレベルであればNMOSトランジスタN63によりPMOSトランジスタP64、P65及びNMOSトランジスタN61、N62により構成される判定セルを動作させる。また、ラッチ65は、ANDゲート64の出力の立ち上がりエッジで入力通過状態となりPMOSトランジスタP65とNMOSトランジスタN62との接続ノードの論理値をバッファ66に伝え、立ち下がりエッジで論理値を取り込む。
【0049】
つまり、第1の判定回路22は、電源制御イネーブル信号PCENとセンスアンプイネーブル信号SAEがいずか一方がロウレベルの期間に判定セルをリセットする。そして、第1の判定回路22は、電源制御イネーブル信号PCENとセンスアンプイネーブル信号SAEが両方をハイレベルとした状態で、センスアンプイネーブル信号SAE及び積和演算モードイネーブル信号MACEをハイレベルとすることで判定セルがデータ線PBLとデータ線NBLの電位の大小比較を行う。そして、第1の判定回路22は、比較結果を入力通過状態となっているラッチ65を介してバッファ66によりMQ出力としてインタフェースコントローラ16に出力される。
【0050】
続いて、第2の判定回路24について詳細に説明する。
図7に実施の形態1にかかる第2の判定回路24の回路図を示す。
図7に示すように、第2の判定回路24は、PMOSトランジスタP71~P77、NMOSトランジスタN71~N77、ORゲート71、ラッチ72、バッファ73を有する。
【0051】
PMOSトランジスタP71、P72は、ソースが電源配線に接続され、ドレインがPMOSトランジスタP73により連結される。また、PMOSトランジスタP71のドレインは、PMOSトランジスタP74とNMOSトランジスタN71とが接続されるノードに接続される。PMOSトランジスタP72のドレインは、PMOSトランジスタP75とNMOSトランジスタN72とが接続されるノードに接続される。PMOSトランジスタP76、P77は、ソースが電源配線に接続される。PMOSトランジスタP76のドレインは、NMOSトランジスタN71とNMOSトランジスタN73とが接続されるノードに接続される。PMOSトランジスタP77のドレインは、NMOSトランジスタN72とNMOSトランジスタN75とが接続されるノードに接続される。
【0052】
PMOSトランジスタP71~P73、P76、P77のゲートには、ORゲート71から制御信号が与えられる。ORゲート71は、電源制御イネーブル信号PCENと第2センスイネーブル信号SSEとの論理和を出力する。つまり、電源制御イネーブル信号PCENと第2センスイネーブル信号SSEの少なくとも何れか一方がハイレベルである場合、PMOSトランジスタP71~P73、P76、P77はオフ状態となる。一方、電源制御イネーブル信号PCENと第2センスイネーブル信号SSEがいずれもロウレベルであれば、PMOSトランジスタP71~P73、P76、P77はオン状態となる。
【0053】
電源配線とNMOSトランジスタN77のドレインとの間には、PMOSトランジスタP74、NMOSトランジスタN71、NMOSトランジスタN73、NMOSトランジスタN74の順でこれらトランジスタが直列に接続される。また、PMOSトランジスタP74のゲートとNMOSトランジスタN71のゲートは共通接続される。また、電源配線とNMOSトランジスタN77のドレインとの間には、PMOSトランジスタP75、NMOSトランジスタN72、NMOSトランジスタN75、NMOSトランジスタN76の順でこれらトランジスタが直列に接続される。また、PMOSトランジスタP75のゲートとNMOSトランジスタN72のゲートは共通接続される。
【0054】
そして、PMOSトランジスタP74とNMOSトランジスタN71のゲートは、PMOSトランジスタP75とNMOSトランジスタN72とが接続されるノードに接続されるともに、PMOSトランジスタP72のドレインに接続される。また、PMOSトランジスタP75とNMOSトランジスタN72のゲートは、PMOSトランジスタP74とNMOSトランジスタN71とが接続されるノードに接続されるとともに、PMOSトランジスタP71のドレインに接続される。また、NMOSトランジスタN71とNMOSトランジスタN73とを接続するノードにはPMOSトランジスタP76のドレインが接続される。NMOSトランジスタN72とNMOSトランジスタN75とを接続するノードにはPMOSトランジスタP77のドレインが接続される。
【0055】
また、NMOSトランジスタN77のゲートには、第2センスイネーブル信号SSEが入力される。PMOSトランジスタP74、P75及びNMOSトランジスタN71~N76は、NMOSトランジスタN77を電流源として動作する。また、ラッチ72は、第2センスイネーブル信号SSEの立ち上がりエッジでPMOSトランジスタP74とNMOSトランジスタN71との接続ノードの論理値を通過させる。
【0056】
つまり、第2の判定回路24は、電源制御イネーブル信号PCENと第2センスイネーブル信号SSEがいずれもロウレベルの期間に判定セルをリセットする。そして、第2の判定回路24は、電源制御イネーブル信号PCENをハイレベルとした状態で、第2センスイネーブル信号SSEをハイレベルとすることで判定セルがデータ線PBLに接続されるメモリセルとデータ線NBLに接続されるメモリセルの総和が設定値REP指定されるセル数との電位の大小比較を行う。そして、第2の判定回路24は、第2センスイネーブル信号SSEを立ち上げることで入力を通過状態としたラッチ72を介して比較結果は、バッファ73によりMQS出力としてインタフェースコントローラ16に出力される。また、半導体装置1では、このMQS出力に基づきインタフェースコントローラ16が積和演算モードイネーブル信号MACEを有効状態とするか、無効状態とするかを決定する。
【0057】
ここで、
図8に実施の形態1にかかる半導体装置1に設定値REPと停止する情報処理サイクル数の関係を説明する表を示す。
図8に示すように、実施の形態1にかかる半導体装置1では、積和演算を行うセル数に応じたAD変換に必要な情報処理サイクル数は、本来、128入力のため符号判定サイクルを含めて8回が必要となるが、インタフェースコントローラ16が出力する設定値REPで指定されたセル数よりもデータ線PBLおよびNBLに接続されたセル数が少ないと第2の判定回路24で判断された場合は、設定値REPと関連付けられた情報処理サイクル数で示される値により、実行する情報処理サイクル数が決定されている。
図8に示す例では、設定値REPにより、トランジスタサイズが16となるレプリカセル23のNMOSトランジスタN51を指定した場合、5回の情報処理サイクルに変更することができる。この場合、AD変換REFセル21においてトランジスタサイズが64~16となるトランジスタを用いて行われる情報処理サイクルが停止され(停止する情報サイクルは3回)、5回の情報処理サイクルが実行される。実行される情報処理回数は、設定値REPが小さくなるほど少なくなる。
【0058】
設定値REPによりデータ線DBLに接続されるレプリカセル23内のトランジスタをトランジスタサイズが16となるNMOSトランジスタN51とすると、データ線DBLからは16個のセルがデータ線PBL或いはデータ線NBLに接続された時と同じ電位となる。このとき、データ線PBLに接続されるメモリセルの個数とデータ線NBLに接続されるメモリセルの個数との総和が16よりも少なければ、AD変換REFセル21を構成するトランジスタのトランジスタサイズが16より大きい64、32、16の場合の情報処理サイクルの判定値は0で確定していることが明らかであり、値が確定している部分の計算を行うことなく、正しい値を導き出すことができる。そこで、実施の形態1にかかる半導体装置1では、値が確定している部分の大きさをデータ線DBL、レプリカセル23及び第2の判定回路24を用いて判定し、問題ない部分に対する情報処理を行う期間にメモリセル及びAD変換REFセル21に供給する定電流源14からの電流を遮断することで消費電力を低減する。
【0059】
そこで、実施の形態1にかかる半導体装置1の動作について説明する。
図9に実施の形態1にかかる半導体装置1の動作を説明するタイミングチャートを示す。
図9に示す例は、設定値REPとして8を指定した例である。
【0060】
図9に示すように、半導体装置1では、インタフェースコントローラ16が第1の判定回路22の出力値により予め設定されたビット数の1つの情報処理結果を確定させる期間を1情報処理期間(
図8において情報処理結果が切り替わる期間)とした場合、1情報処理期間の最初の情報処理サイクルにおいて選択的に第2の判定回路24を有効化する。具体的には、タイミングT0で1情報処理期間が開始される。そこで、インタフェースコントローラ16は、タイミングT0において、積和演算モードイネーブル信号MACEをハイレベルにする。また、タイミングT0では、リファレンス制御信号REFの最下位ビットが0となっている。そのため、センスアンプイネーブル信号SAE及び第2センスイネーブル信号SSEがハイレベルとなる。これによって、第1の判定回路22及び第2の判定回路24が動作を行い、
図9に示す例では、第1の判定回路22がMQ出力をハイレベル、第2の判定回路24がMQS出力としてロウレベルを出力する。これは、タイミングT0から始まる情報処理期間で処理する入力値では、データ線PBLとデータ線NBLに接続されるメモリセルの数の総和が8よりも小さかったことを意味する。
【0061】
その後、タイミングT1では、MQS出力がロウレベルであったことに基づきセンスアンプイネーブル信号SAEが4情報処理サイクルにわたってロウレベルが維持されるようにインタフェースコントローラ16が積和演算モードイネーブル信号MACEをロウレベルとする。積和演算モードイネーブル信号MACEがロウレベルである期間は、AD変換REFセル21、メモリセルMC0~MC127及び第1の判定回路22への電流の供給が停止される。一方、セルアレイ13内の他のデータ線群では変換が行われている可能性もあるため、AD変換REFセル21、メモリセルMC0~MC127及び第1の判定回路22への電流の供給が停止されても、変換処理サイクル自体はスキップしない。
【0062】
そして、インタフェースコントローラ16は、タイミングT5で積和演算モードイネーブル信号MACEをハイレベルに切り替える。これにより、第1の判定回路22は、情報処理により積和演算結果に基づいたMQ出力をインタフェースコントローラ16に伝達する。その後、T7までの情報処理により、一連の情報処理結果は確定する。
【0063】
その後、新たな情報処理サイクルが開始され、タイミングT8では、タイミングT0と同様にインタフェースコントローラ16は、積和演算モードイネーブル信号MACEをハイレベルとし、リファレンス制御信号REFの最下位ビットが0となるため第2センスイネーブル信号SSEとセンスアンプイネーブル信号SAEがハイレベルになる。このときは、第2の判定回路24はハイレベルのMQS出力をインタフェースコントローラ16に伝達したため、インタフェースコントローラ16は、積和演算モードイネーブル信号MACEをハイレベルのまま維持し、タイミングT8~T15(不図示)まで1情報処理期間にわたって情報処理が行われる。
【0064】
上記説明より、実施の形態1にかかる半導体装置1では、データ線PBL及びデータ線NBLに接続されるメモリセル数と、情報処理するまでもなく値が確定しているビットと、の関係に着目し、情報処理するまでもなく値が確定しているビットについてはAD変換REFセル21及びメモリセルへの電流供給を停止することで消費電力を削減する。
【0065】
また、実施の形態1にかかる半導体装置1では、設定値REPにより指定したメモリセル数よりも多くのメモリセルがデータ線PBL、NBLに接続された場合は、通常通り情報処理を行うことで情報処理が欠けることを防止する。
【0066】
さらに、近年では、ディープラーニング等で用いられる重み係数のうち0となる値の重み係数の比率が低下し、中間的な値の重みとなることが多く、半導体装置1のように状況に合わせて情報処理を停止する範囲を設定することがもとめられている。このようなとこから、近年、半導体装置1のような柔軟な設定による電力削減の効果が大きい。また、ディープラーニングでは、学習が進むほど重み係数が小さくなる傾向があり、学習が進んだ人工知能ほど半導体装置1を適用することで高い電力削減効果を得ることができる。
【0067】
なお、上記実施の形態では、設定値REPはインタフェースコントローラ16が出力するものとしたが、設定値REPは、外部から入力しても良い。また設定値REPは、データ線に接続されるトランジスタ個数ではなく、停止する情報処理サイクル数、或いは、実行する情報処理サイクル数で指定し、インタフェースコントローラ16等の内部回路でトランジスタ個数に変換する等の変換処理により生成しても良い。
【0068】
実施の形態2
実施の形態2では、設定値REPを動的に変更する例について説明する。設定値REPの変更は、例えばインタフェースコントローラ16で行うことができる。なお、設定値REPの変更は、半導体装置1の外部で行っても良い。
【0069】
そこで、実施の形態2では、インタフェースコントローラ16が、ストップ指示信号(例えば、MQS出力)の有効化率が予め設定した第1の閾値を上回った場合にはストップ設定値を小さくし、MQS出力の有効化率が第1の閾値よりも小さな第2の閾値を下回った場合には設定値を大きくする。
【0070】
ここで、
図10に実施の形態2にかかる半導体装置における設定値の変更条件を説明する表を示す。なお、
図10に示した表は一例を示すものであり、条件の設定方法は、半導体装置の仕様によって任意に設定できる。
【0071】
図10に示す例では、入力値の最大データ数(ビット数)毎に3つの条件を示した。
図10では、入力値INPが128ビットのデータ数を持っている場合のUP条件として、現在の設定値REPにより決められたトランジスタ数を8回連続してクリアした場合(つまり、MQS出力がハイレベルとなる判定が8回連続した場合)、設定値REPの大きさを1つ小さくする条件を規定する。一方、入力値INPが128ビットのデータ数を持っている場合のDOWN条件として、現在の設定値REPにより決められたトランジスタ数に対して8回の判定を行った場合に2回のオーバーが観測された場合(つまり、MQS出力が8回中2回ロウレベルとなった場合)、設定値REPの大きさを1つ大きくする条件を規定する。
【0072】
また、
図10に示す例では、入力値INPが64ビットのデータ数を持っている場合のUP条件として、現在の設定値REPにより決められたトランジスタ数を7回連続してクリアした場合(つまり、MQS出力がハイレベルとなる判定が7回連続した場合)、設定値REPの大きさを1つ小さくする条件を規定する。一方、入力値INPが128ビットのデータ数を持っている場合のDOWN条件として、現在の設定値REPにより決められたトランジスタ数に対して7回の判定を行った場合に2回のオーバーが観測された場合(つまり、MQS出力が7回中2回ロウレベルとなった場合)、設定値REPの大きさを1つ大きくする条件を規定する。
【0073】
また、
図10に示す例では、入力値INPが32ビットのデータ数を持っている場合のUP条件として、現在の設定値REPにより決められたトランジスタ数を6回連続してクリアした場合(つまり、MQS出力がハイレベルとなる判定が6回連続した場合)、設定値REPの大きさを1つ小さくする条件を規定する。一方、入力値INPが128ビットのデータ数を持っている場合のDOWN条件として、現在の設定値REPにより決められたトランジスタ数に対して6回の判定を行った場合に2回のオーバーが観測された場合(つまり、MQS出力が6回中2回ロウレベルとなった場合)、設定値REPの大きさを1つ大きくする条件を規定する。
【0074】
このように、設定値REPを動的に変更することで、ディープラーニング等において積和演算結果が増減した場合にも適切な情報処理サイクルスキップ回数を設定し、実施の形態1にかかる半導体装置1よりも消費電力を削減することができる。
【0075】
実施の形態3
実施の形態3では、実施の形態1にかかる半導体装置1の別の形態となる半導体装置2について説明する。そこで、
図11に実施の形態3にかかる半導体装置のメモリセル周辺の詳細なブロック図を示す。
【0076】
図11に示すように、半導体装置2は、判定回路15に代えて判定回路15aを有する。判定回路15aは、判定回路15に遅延回路81、82を追加し、第2の判定回路24を第2の判定回路84に置き換えたものである。
【0077】
遅延回路81は、第2の判定回路84に電源制御イネーブル信号PCENが到達する時間を第1の判定回路22よりも遅らせる。遅延回路82は、第2の判定回路84にトリガ信号TRIGが到達する時間を第1の判定回路22よりも遅らせる。つまり、半導体装置2では、第2の判定回路84は、第1の判定回路22よりも時間的に遅れて動作する。
【0078】
第2の判定回路84は、データ線PBLに接続されたメモリセルの数とデータ線NBLに接続されたメモリセルの数との差が設定値REPにより導き出される比較値よりも小さい場合にMQS出力を有効化する。そこで、
図12に実施の形態3にかかる第2の判定回路84の回路図を示す。
【0079】
図12に示すように、第2の判定回路84は、第2の判定回路24にNMOSトランジスタN78、N79、インバータ83、EXORゲート85を追加したものである。また、第2の判定回路84は、配線が第2の判定回路24から変更される。
【0080】
具体的には、NMOSトランジスタN78は、NMOSトランジスタN73と並列に接続され、NMOSトランジスタN79は、NMOSトランジスタN75と並列に接続される。また、ラッチ72の出力は、EXORゲート85により、MQ出力との排他的論理和として出力される。
【0081】
第2の判定回路84では、NMOSトランジスタN73のゲートにMQ出力が与えられる。NMOSトランジスタN75のゲートにはMQ出力の反転値が与えられる。NMOSトランジスタN78、N79のゲートにはデータ線DBLが接続される。NMOSトランジスタN74のゲートにはデータ線PBLが接続される。NMOSトランジスタN76のゲートにはデータ線NBLが接続される。
【0082】
第2の判定回路84は、第1の判定回路22に対して遅延して動作を開始するが、これはMQ出力の確定を待つためである。そして、第2の判定回路84は、MQ出力がハイレベル、つまりデータ線PBLに接続されるメモリセル数がデータ線NBLに接続されるメモリセル数よりも多いときは、NMOSトランジスタN73のゲートにハイレベルの信号が入力され、NMOSトランジスタN75のゲートにロウレベルの信号が入力される。これにより、NMOSトランジスタN78は無効化される一方、NMOSトランジスタN79はデータ線DBLの電圧に応じた電流を流す状態となる。
【0083】
このような動作により、データ線のうち接続されるメモリセル数が少ない側のメモリセル個数と設定値REPで指定されるメモリセルの個数との和と、データ線のうち接続されるメモリセル数が多い側のメモリセル個数と、の比較が行われる。つまり、第2の判定回路84は、データ線PBLに接続されたメモリセルの数とデータ線NBLに接続されたメモリセルの数との差が設定値REPにより導き出される比較値よりも小さい場合にMQS出力を有効化する。
【0084】
実施の形態1にかかる半導体装置1では、例えばデータ線PBLに接続されたメモリセルの個数とデータ線NBLに接続されたメモリセルの個数との和と、設定値REPで示したメモリセルの個数と、の比較だった。そのため、データ線PBLに接続されたメモリセルの個数が5、データ線NBLに接続されたメモリセルの個数が4であった場合、合計値が9となるため情報処理サイクルは6サイクル必要であった。
【0085】
一方、実施の形態3にかかる第2の判定回路84では、データ線PBLに接続されたメモリセルの個数が5、データ線NBLに接続されたメモリセルの個数が4であった場合、その差は1となる。そのため、実施の形態3では、情報処理サイクルを2回で終らせることができる。
【0086】
つまり、実施の形態3にかかる第2の判定回路84を用いることで実行しなければあらない情報処理サイクル数を削減して、より消費電力を抑制することが可能になる。
【0087】
実施の形態4
実施の形態4では、実施の形態1にかかる半導体装置1の別の形態となる半導体装置3について説明する。そこで、
図13に実施の形態4にかかる半導体装置のメモリセル周辺の詳細なブロック図を示す。
【0088】
図13に示すように、半導体装置3は、判定回路15に代えて判定回路15bを有する。判定回路15aは、判定回路15の第2の判定回路24を第2の判定回路94に置き換えたものである。第2の判定回路94は、第1の部分判定回路(例えば、第1の部分判定回路94p)、第2の部分判定回路(例えば、第2の部分判定回路94n)、選択回路91を有する。
【0089】
第1の部分判定回路94pは、データ線PBLに接続されたメモリセルの数が比較値とデータ線NBLに接続されたメモリセルの数との和よりも小さい場合に第1の部分判定信号を有効化する。第2の部分判定回路94nは、データ線NBLに接続されたメモリセルの数が比較値とデータ線PBLに接続されたメモリセルの数との和よりも小さい場合に第2の部分判定信号を有効化する。選択回路91は、第1の部分判定信号と第2の部分判定信号のうち第1の判定回路がデータ線に接続されたメモリセルの数が多いと判定した側の部分判定信号を選択してMQS出力として出力する。
【0090】
そこで、
図14に実施の形態4にかかる第1の部分判定回路94pの回路図を示す。
図14に示すように、第1の部分判定回路94pは、第2の判定回路24の配線の接続を変更したものである。第1の部分判定回路94pでは、NMOSトランジスタN73のゲートには電源配線が接続される。NMOSトランジスタN74のゲートにはデータ線PBLが接続される。NMOSトランジスタN75のゲートにはデータ線DBLが接続される。NMOSトランジスタN76のゲートにはデータ線NBLが接続される。このような接続により、第1の部分判定回路94pでは、データ線PBLに接続されたメモリセルの数が比較値とデータ線NBLに接続されたメモリセルの数との和よりも小さい場合に第1の部分判定信号を有効化する。
【0091】
図15に実施の形態4にかかる半導体装置のメモリセル周辺の詳細なブロック図を示す。
図15に示すように、第2の部分判定回路94nは、第2の判定回路24の配線の接続を変更したものである。第2の部分判定回路94nでは、NMOSトランジスタN73のゲートにはデータ線DBLが接続される。NMOSトランジスタN74のゲートにはデータ線PBLが接続される。NMOSトランジスタN75のゲートには電源配線が接続される。NMOSトランジスタN76のゲートにはデータ線NBLが接続される。このような接続により、第2の部分判定回路94nでは、データ線NBLに接続されたメモリセルの数が比較値とデータ線PBLに接続されたメモリセルの数との和よりも小さい場合に第2の部分判定信号を有効化する。
【0092】
実施の形態3では、第1の判定回路22のMQ出力を待たなければならなかったが、実施の形態4にかかる第2の判定回路94では、第1の部分判定回路94pと第2の部分判定回路94nでそれぞれデータ線PBL、NBLに接続されるメモリセル数の差が設定値REPで指定する値に対して大きいか小さいかを判定し、判定後の結果をMQ出力に応じて選択する。これにより、実施の形態4では実施の形態3のような遅延を設けるひつようがない。
【0093】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【0094】
1~3 半導体装置
10 メモリコントローラ
11 入力バッファ
12 電流源
13 セルアレイ
14 定電流源
15 判定回路
16 インタフェースコントローラ
21 AD変換REFセル
22 第1の判定回路
23 レプリカセル
24、84、94 第2の判定回路
31 制御ロジック
41 第1のメモリセル
42 第2のメモリセル
81 遅延回路
82 遅延回路
91 選択回路
94p 第1の部分判定回路
94n 第2の部分判定回路