(57)【要約】【課題】メモリセルのデータ保持特性を考慮しつつソース線の電位を調整してスタンバイ電流を抑制することが可能な半導体記憶装置を提供する。【解決手段】半導体記憶装置は、スタティック型のメモリセルが配置されたメモリセルアレイと、駆動用トランジスタのソースに接続されるソース線と接地電位間に接続され、ソース線に印加する電位を調整するためのソース線電位調整回路と、ソース線電位調整回路を制御して、接地電位と電源電位との間の電位であって、スタンバイ期間にメモリセルにおいてデータを保持可能なソース線の電位を決定するためのソース線電位制御回路とを備える。ソース線電位制御回路は、メモリセルアレイのメモリセルに書き込まれた所定のデータをスタンバイ期間の後に読み出して、読み出し結果に基づいてソース線電位調整回路に対してソース線に印加する電位を調整するように指示する。【選択図】図２
2014157647.tif 000002
【特許請求の範囲】
【請求項１】
転送用トランジスタ、駆動用トランジスタおよび負荷用トランジスタを有するスタティック型のメモリセルが配置されたメモリセルアレイと、
前記駆動用トランジスタのソースに接続されるソース線と接地電位間に接続され、前記ソース線に印加する電位を調整するためのソース線電位調整回路と、
前記ソース線電位調整回路を制御して、前記接地電位と電源電位との間の電位であって、スタンバイ期間に前記メモリセルにおいてデータを保持可能な前記ソース線の電位を決定するためのソース線電位制御回路とを備え、
前記ソース線電位制御回路は、前記メモリセルアレイのメモリセルに書き込まれた所定のデータを前記スタンバイ期間の後に読み出して、読み出し結果に基づいて前記ソース線電位調整回路に対して前記ソース線に印加する電位を調整するように指示する、半導体記憶装置。
【請求項２】
複数個のメモリセルアレイが設けられ、
前記ソース線電位調整回路および前記ソース線電位制御回路は、前記複数個のメモリセルアレイのソース線に対して共通に設けられる、請求項１記載の半導体記憶装置。
【請求項３】
前記ソース線電位調整回路は、前記ソース線と前記接地電位との間に設けられた複数の調整用トランジスタを含み、
前記ソース線電位制御回路は、前記読み出し結果に基づいて、前記複数の調整用トランジスタを段階的にオン／オフするためのカウンタ回路を含む、請求項１または２記載の半導体記憶装置。
【請求項４】
前記カウンタ回路は、前記読み出し結果に基づいて、二分探索方式に従って前記複数の調整用トランジスタを段階的にオン／オフする、請求項３記載の半導体記憶装置。
【請求項５】
前記ソース線電位制御回路は、前記読み出し結果および前記経年劣化に従う前記メモリセルのデータ保持特性の変化に基づいて前記ソース線電位調整回路に対して前記ソース線に印加する電位を調整するように指示する、請求項１〜３のいずれかに記載の半導体記憶装置。
【請求項６】
前記ソース線電位制御回路は、
前記読み出し結果に基づいて前記ソース線電位調整回路に対して前記ソース線に印加する電位の調整が可能か否かを判断し、
調整が可能でないと判断した場合には外部にエラーを出力する、請求項１〜４のいずれかに記載の半導体記憶装置。
【請求項７】
前記ソース線電位制御回路は、
前記読み出し結果に基づいて前記ソース線電位調整回路に対して前記ソース線に印加する電位を調整するように指示した情報を記憶し、
次回の前記ソース線の電位の調整の際に、記憶した情報に基づいて前記ソース線電位調整回路に対して前記ソース線に印加する電位を調整するように指示する、請求項１〜５のいずれかに記載の半導体記憶装置。
【請求項８】
前記メモリセルアレイが搭載されたチップの温度を検知する温度検知回路をさらに備え、
前記ソース線電位制御回路は、前記読み出し結果および前記温度検知回路の検知結果に基づいて前記ソース線電位調整回路に対して前記ソース線に印加する電位を調整するように指示する、請求項１〜６のいずれかに記載の半導体記憶装置。
【請求項９】
前記ソース線電位制御回路は、前記温度検知回路の検知結果に基づいて前記ソース線電位調整回路に対して前記ソース線に印加する電位を再調整するように指示する、請求項８に記載の半導体記憶装置。
【請求項１０】
転送用トランジスタ、駆動用トランジスタおよび負荷用トランジスタを有するスタティック型のメモリセルが配置されたメモリセルアレイと、
前記転送用トランジスタのゲートに接続されるワード線に印加する電位を調整するためのワード線電位調整回路と、
前記ワード線電位調整回路を制御して、前記電源電位と接地電位との間の電位であって、前記メモリセルにおいてデータを書き込みまたは読み出しする際の前記ワード線の電位を決定するためのワード線電位制御回路とを備え、
前記ワード線電位制御回路は、前記メモリセルアレイのメモリセルに書き込まれた所定のデータを読み出して、読み出し結果に基づいて前記ワード線電位調整回路に対して前記ワード線に印加する電位を調整するように指示する、半導体記憶装置。
【請求項１１】
転送用トランジスタ、駆動用トランジスタおよび負荷用トランジスタを有するスタティック型のメモリセルが配置されたメモリセルアレイと、
前記メモリセルアレイを駆動するための内部回路の活性化タイミングを調整するための活性化タイミング調整回路と、
前記活性化タイミング調整回路を制御して、前記メモリセルにおいてデータを書き込みまたは読み出しする際の前記内部回路の活性化タイミングを決定するための活性化タイミング制御回路とを備え、
前記活性化タイミング制御回路は、前記メモリセルアレイのメモリセルに書き込まれた所定のデータを読み出して、読み出し結果に基づいて前記活性化タイミング調整回路に対して前記内部回路の活性化タイミングを調整するように指示する、半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、例えば、スタティック型のメモリセルを有する半導体記憶装置に好適に利用できるものである。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integrated circuit：大規模集積回路）等の半導体集積回路においては、動作電源電圧の低下及び使用されるトランジスタの微細化に伴い、半導体集積回路で使用されるトランジスタの閾値電圧がテクノロジ毎に低下してきている。閾値電圧が低いトランジスタでは、トランジスタがオフ状態及びスタンバイ状態であるときにソース・ドレイン間に流れるスタンバイ電流が大きくなる。
【０００３】
ロジック等の回路では、動作しない回路部分への電源供給を遮断することでスタンバイ電流の削減が可能である。しかし、データを保持しておく必要のあるスタティックＲＡＭ（Random Access Memory）等のメモリ回路では、動作しない状態でも電源供給を遮断することができない。
【０００４】
さらには、スタティックＲＡＭ等の回路では、メモリセルなどの高集積回路の占める部分が大きく、チップ内に占める容量が年々大きくなる傾向にある。そのため、メモリセルにおけるスタンバイ電流の低減が半導体集積回路の低消費電力化において、ますます重要となっており、種々の方式が提案されている（特許文献１−４）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２０６７４５号公報
【特許文献２】特開２００６−８５７８６号公報
【特許文献３】特開２００７−３１７３４６号公報
【特許文献４】特開２０１１−６０４０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記文献等においては、製造ばらつき等に起因するスタンバイ電流を抑制するために固定的にソース線の電位を調整する方式について示されているが、ソース線の電位はメモリセルの経年劣化に伴うデータ保持特性の変化等も考慮して流動的に変更することが望ましい。
【０００７】
上記のような問題を解決するために、メモリセルのデータ保持特性を考慮しつつソース線の電位を調整してスタンバイ電流を抑制することが可能な半導体記憶装置を提供する。
【０００８】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
一実施例によれば、半導体記憶装置は、転送用トランジスタ、駆動用トランジスタおよび負荷用トランジスタを有するスタティック型のメモリセルが配置されたメモリセルアレイと、駆動用トランジスタのソースに接続されるソース線と接地電位間に接続され、ソース線に印加する電位を調整するためのソース線電位調整回路と、ソース線電位調整回路を制御して、接地電位と電源電位との間の電位であって、スタンバイ期間にメモリセルにおいてデータを保持可能なソース線の電位を決定するためのソース線電位制御回路とを備える。ソース線電位制御回路は、メモリセルアレイのメモリセルに書き込まれた所定のデータをスタンバイ期間の後に読み出して、読み出し結果に基づいてソース線電位調整回路に対してソース線に印加する電位を調整するように指示する。
【発明の効果】
【００１０】
一実施例によれば、メモリセルのデータ保持特性を考慮しつつソース線の電位を調整してスタンバイ電流を抑制することが可能である。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態１に従う半導体集積回路１の全体構成を説明する概略図である。
【図２】本実施の形態１に従うＡＲＶＳＳ電位調整回路１８を制御する周辺回路２０の構成の概略ブロック図である。
【図３】本実施の形態１に従うＡＲＶＳＳ電位調整回路１８の構成を説明する図である。
【図４】本実施の形態１に従うソース電位ＡＲＶＳＳの調整フローを説明する図である。
【図５】本実施の形態１に従うソース電位ＡＲＶＳＳの調整フローのタイミングチャートを説明する図である。
【図６】本実施の形態１に従うＡＲＶＳＳ電位調整回路１８のレイアウト配置を説明する図である。
【図７】本実施の形態１の変形例に従うＡＲＶＳＳ電位調整回路１８を制御する周辺回路２０の構成の概略ブロック図である。
【図８】本実施の形態２に従うＡＲＶＳＳ電位調整回路１９を制御する周辺回路２０の構成の概略ブロック図である。
【図９】本実施の形態２に従うＡＲＶＳＳ電位調整回路１９の構成を説明する図である。
【図１０】本実施の形態２に従うＡＲＶＳＳ電位の調整フローを説明する図である。
【図１１】本実施の形態２に従うＡＲＶＳＳ電位の調整のタイミングチャートを説明する図である。
【図１２】メモリセルＭＣのデータ保持の温度特性を説明する図である。
【図１３】本実施の形態３に従うＡＲＶＳＳ電位調整回路１８＃の構成を説明する図である。
【図１４】本実施の形態３に従うソース電位ＡＲＶＳＳの調整のタイミングチャートを説明する図である。
【図１５】本実施の形態４に従うＡＲＶＳＳ電位調整回路１８を制御する周辺回路２０の構成の概略ブロック図である。
【図１６】本実施の形態４に従うソース電位ＡＲＶＳＳの調整フローを説明する図である。
【図１７】本実施の形態４に従うバイナリサーチ（２分探索木）のカウンタ値の具体例を説明する図である。
【図１８】本実施の形態４の変形例に従うＡＲＶＳＳ電位調整回路１８を制御する周辺回路２０の構成の概略ブロック図である。
【図１９】本実施の形態４の変形例に従うソース電位ＡＲＶＳＳの調整フローを説明する図である。
【図２０】本実施の形態に従うリードアシスト回路２００の構成を説明する図である。
【図２１】本実施の形態に従うライトアシスト回路２２０の構成を説明する図である。
【図２２】本実施の形態６に従うワード線を駆動するタイミングを調整する回路を説明する図である。
【図２３】本実施の形態６の変形例に従うセンスアンプを駆動するタイミングを調整する回路を説明する図である。
【図２４】各種調整回路のレイアウト配置を説明する図である。
【発明を実施するための形態】
【００１２】
本実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【００１３】
（実施の形態１）
＜半導体集積回路の構成＞
図１は、本実施の形態１に従う半導体集積回路１の全体構成を説明する概略図である。
【００１４】
図１を参照して、半導体集積回路１は、ＳＲＡＭモジュール１０と、周辺回路２０とを含む。周辺回路２０は、ＳＲＡＭモジュール１０に対して種々の制御信号を出力したり、ＳＲＡＭモジュール１０からのデータ出力を受けて種々の処理を実行する。
【００１５】
ＳＲＡＭモジュール１０は、メモリセルＭＣを有するメモリアレイＭＡと、ワード線ＷＬを駆動するためのワード線デコーダ１２と、ＳＲＡＭモジュール１０全体を制御する制御部１４と、メモリアレイＭＡに対する入出力データを処理するためのＩ／Ｏ回路１６と、ソース線ＳＬの電位（ソース電位ＡＲＶＳＳとも称する）を調整するためのＡＲＶＳＳ電位調整回路１８とを含む。
【００１６】
メモリセルＭＣは、本例においては、一例としてメモリアレイＭＡに行列状に配置されているものとする。そして、メモリセル行に対応して複数のワード線ＷＬおよびメモリセル列に対応してビット線ＢＬ，ＢＬＬが設けられているものとする。
【００１７】
メモリセルＭＣは、負荷用トランジスタであるトランジスタＴｒ１，Ｔｒ３と、駆動用トランジスタであるトランジスタＴｒ２，Ｔｒ４と、転送用トランジスタであるトランジスタＡＴ１，ＡＴ２とを含む。本例においては、一例としてトランジスタＴｒ１，Ｔｒ３は、ＰチャネルＭＯＳトランジスタ、トランジスタＴｒ２，Ｔｒ４，ＡＴ１，ＡＴ２は、ＮチャネルＭＯＳトランジスタとする。
【００１８】
トランジスタＴｒ１は、電源電位ＶＤＤＭと記憶ノードＮ０との間に設けられ、ゲートは記憶ノードＮ１と電気的に結合される。また、トランジスタＴｒ２は、ソース電位ＡＲＶＳＳ（ソース側）（＜電源電位ＶＤＤＭ）とノードＮ０との間に設けられ、ゲートは記憶ノードＮ１と電気的に結合される。トランジスタＴｒ３は、電源電位ＶＤＤＭと記憶ノードＮ１との間に設けられ、ゲートは記憶ノードＮ０と電気的に結合される。また、トランジスタＴｒ４は、ソース電位ＡＲＶＳＳと記憶ノードＮ１との間に設けられ、ゲートは記憶ノードＮ０と電気的に結合される。トランジスタＡＴ１は、記憶ノードＮ０とビット線ＢＬとの間に設けられ、ゲートはワード線ＷＬと電気的に結合される。トランジスタＡＴ２は、記憶ノードＮ１とビット線ＢＬＬとの間に設けられ、ゲートはワード線ＷＬと電気的に結合される。ワード線ＷＬの立ち上げに従って転送用トランジスタＡＴ１，ＡＴ２がオンし、記憶ノードＮ０，Ｎ１は、ビット線ＢＬ，ＢＬＬとそれぞれ電気的に結合される。
【００１９】
メモリセルＭＣに対するデータの書き込みおよび読み出しについては公知の技術であるため詳細には説明しないが、データの書き込みの際には、ビット線ＢＬ，ＢＬＬは、書き込みデータに応じた電位レベルにそれぞれ設定され、ワード線ＷＬの立ち上げに伴いトランジスタＡＴ１，ＡＴ２がオンして記憶ノードＮ０，Ｎ１はビット線ＢＬ，ＢＬＬの電位レベルに応じた電位に設定される。これによりメモリセルＭＣにデータが書き込まれる。
【００２０】
一方、データの読み出しの際には、ワード線ＷＬの立ち上げに伴いトランジスタＡＴ１，ＡＴ２がオンして記憶ノードＮ０，Ｎ１に応じた電位レベルにビット線ＢＬ，ＢＬＬの電位が設定される。そして、設定された当該ビット線ＢＬ，ＢＬＬの電位差に基づいてメモリセルＭＣに書き込まれたデータが読みだされる。一例としてビット線ＢＬがビット線ＢＬＬよりも電位が高い場合にはデータ「１」とし、ビット線ＢＬＬがビット線ＢＬよりも電位が高い場合にはデータ「０」に設定されるものとする。なお、当該データの設定は一例であり、データの値をそれぞれ反転させるようにしても良い。
【００２１】
図２は、本実施の形態１に従うＡＲＶＳＳ電位調整回路１８を制御する周辺回路２０の構成の概略ブロック図である。
【００２２】
図２を参照して、本例においては、周辺回路２０は、一例として、ＰＯＲ（Power On Reset）回路２２と、ＢＩＳＴ（Built In Self Test）回路２４と、比較回路２６と、圧縮回路２８と、ＡＮＤ回路３０と、カウンタ回路３２とを含む。
【００２３】
ＰＯＲ回路２２は、電源投入に伴い所定期間経過後（電源が安定した状態となった後）、制御信号（ＰＯＲ信号）を出力する。
【００２４】
ＢＩＳＴ回路２４は、ＰＯＲ回路２２からのＰＯＲ信号の入力に従ってＢＩＳＴ（Built In Self Test）処理を実行する。本例においては、ＢＩＳＴ処理の一例としてソース線ＳＬのソース電位ＡＲＶＳＳを調整するための処理を実行する。
【００２５】
まず、ＢＩＳＴ回路２４は、カウンタリセット信号ＣＲＳをカウンタ回路３２に出力する。これによりカウンタ回路３２は、リセットされてカウンタ値を初期値（例えば「０」）に設定する。
【００２６】
ＢＩＳＴ回路２４は、必要に応じてＳＲＡＭモジュール１０に対して所定のテストデータを書き込む処理を実行する。具体的には、データ書き込み処理（ＷＲＩＴＥ）を実行するための命令（コマンド）を入力する。例えば、動作を規定するクロック信号ＣＬＫ、動作の開始を指示するチップ活性化信号ＣＥＮ、メモリアレイＭＡにおける書き込むメモリセルを指定するアドレスＡＤ、書き込みの際の動作を指示する書込制御信号ＷＥＮ、テストデータである書込データＤＩ等を必要に応じてＳＲＡＭモジュール１０に入力する。制御部１４は、ＢＩＳＴ回路２４からの指示に従ってワード線デコーダ１２およびＩ／Ｏ回路１６を制御する。Ｉ／Ｏ回路１６は、指示されたメモリセルＭＣに対して書き込み処理を実行するために書込データＤＩに応じた電位にビット線ＢＬ，ＢＬＬの電位を設定する。また、ワード線デコーダ１２は、指示されたメモリセルＭＣに対応するワード線ＷＬを立ち上げる。これにより所定のテストデータをメモリセルＭＣに対して書き込むことが可能である。
【００２７】
また、ＢＩＳＴ回路２４は、メモリセルＭＣのデータ保持特性を判定するためにＳＲＡＭモジュール１０に対してスタンバイ信号ＲＳを出力する。これによりＳＲＡＭモジュール１０は、スタンバイモードに設定される。スタンバイモードにおいてソース線ＳＬのソース電位ＡＲＶＳＳは、ＡＲＶＳＳ電位調整回路１８により調整された電位に設定される。そして、設定されたソース電位ＡＲＶＳＳに従ってメモリセルＭＣに書き込んだテストデータが保持あるいは破壊される。
【００２８】
そして、ＢＩＳＴ回路２４は、メモリセルＭＣのデータ保持特性を判定するためにＳＲＡＭモジュール１０に対して書き込んだテストデータを読み出す処理を実行する。具体的には、データ読み出し処理（ＲＥＡＤ）を実行するための命令（コマンド）を入力する。上記と同様の各種の信号をＳＲＡＭモジュール１０に入力する。制御部１４は、ＢＩＳＴ回路２４からの指示に従ってワード線デコーダ１２およびＩ／Ｏ回路１６を制御する。ワード線デコーダ１２は、指示されたメモリセルＭＣに対して読み出し処理を実行するためにワード線ＷＬを立ち上げる。Ｉ／Ｏ回路１６は、ワード線ＷＬの立ち上げに伴いメモリセルＭＣに格納されたデータのレベルに応じた電位に設定されたビット線ＢＬ，ＢＬＬの電位差をセンスアンプで増幅して読出データＤＱとして出力する。
【００２９】
当該読出データＤＱは、比較回路２６に出力される。なお、１ビットずつのデータの書き込み処理および読み出し処理も可能であるが、本例においては、複数ビット毎（メモリアレイＭＡの１行毎）に書き込みおよび読み出し処理を実行するものとする。なお、複数ビット毎の書き込みにおいて、全て同じデータ値である必要はなく任意の値にそれぞれ設定することが可能である。
【００３０】
そして、ＢＩＳＴ回路２４は、比較回路２６に期待値を出力する。
比較回路２６は、ＳＲＡＭモジュール１０から読み出された読出データＤＱと、ＢＩＳＴ回路２４から出力された期待値とを比較する。期待値は、ＢＩＳＴ回路２４から所定のテストデータとしてメモリアレイＭＡのメモリセルＭＣに対して入力した書込データＤＩである。なお、１ビットずつ期待値と比較することも可能であるが、本例においては、複数ビット毎（例えば１行毎）に期待値と比較する場合が示されている。そして、比較した比較結果（期待値と一致したか否か）を圧縮回路２８に出力する。本例においては、比較回路２６は、一例として、ＥＸＯＲ（排他的論理和）回路を利用することが可能である。具体的には、読出データＤＱと期待値とが一致してれば「０」を出力し、不一致であれば「１」を出力する。
【００３１】
圧縮回路２８は、複数ビットの各々について比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば「０」を出力し、１つでも不一致であれば「１」を出力する。例えば、圧縮回路としてはＯＲ（論理和）回路を利用することが可能である。
【００３２】
ＢＩＳＴ回路２４は、圧縮回路２８からの圧縮データ「０」あるいは「１」を受けて、必要に応じてＳＲＡＭモジュール１０に対して再び所定のテストデータを書き込む処理を実行する。そして、スタンバイモードに設定した後に、書き込んだ所定のテストデータを読み出し、上記の判定処理を繰り返す。
【００３３】
ＡＮＤ回路３０は、クロック信号ＣＬＫの入力と、圧縮回路２８からの圧縮データを受けてＡＮＤ論理演算結果に基づくカウンタＵＰ制御信号（ワンショットパルス信号）を出力する。具体的には、圧縮回路２８が圧縮データ「１」を出力した場合にカウンタＵＰ制御信号「１」がカウンタ回路３２に出力される。圧縮回路２８が圧縮データ「０」を出力した場合にはカウンタＵＰ制御信号は「０」の状態を維持する。
【００３４】
カウンタ回路３２は、カウンタＵＰ制御信号「１」（ワンショットパルス信号）に従ってカウンタ値をインクリメントし、カウンタ信号Ｃ＜Ｎ−１：０＞を出力する。ここで、カウンタ信号Ｃ＜Ｎ−１：０＞は、Ｎ個のカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞を意味するものとする。本例においては、一例としてカウンタＵＰ制御信号「１」に従ってカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞が１つずつ順番に「１」に設定されるものとする。なお、初期状態は、全てカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞は「０」であるものとする。
【００３５】
カウンタ回路３２からのカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞に従って後述するがＡＲＶＳＳ電位調整回路１８の回路が動作してソース電位ＡＲＶＳＳが調整される。
【００３６】
図３は、本実施の形態１に従うＡＲＶＳＳ電位調整回路１８の構成を説明する図である。
【００３７】
図３を参照して、ＡＲＶＳＳ電位調整回路１８は、ソース線の電位であるソース電位ＡＲＶＳＳを複数の電位に可変可能に調整するための調整用トランジスタＴｒ（ａ）〜Ｔｒ（ｆ）と、インバータＩＶと、ＡＮＤ回路ＡＮＤ＜０＞〜ＡＮＤ＜Ｎ−１＞とを含む。具体的には、トランジスタＴｒ（ａ）〜Ｔｒ（ｆ）（総称してトランジスタＴｒとも称する）は、ソース線ＳＬと接地電位ＶＳＳＭ（０Ｖ）との間にそれぞれ並列に設けられる。トランジスタＴｒ（ａ）〜Ｔｒ（ｆ）は、本例においては、一例としてＮチャネルＭＯＳトランジスタとする。なお、ＡＮＤ回路ＡＮＤ＜０＞〜ＡＮＤ＜Ｎ−１＞を総称してＡＮＤ回路ＡＮＤとも称する。
【００３８】
トランジスタＴｒ（ａ）のゲートは、インバータＩＶを介するスタンバイ信号ＲＳの反転信号の入力を受ける。
【００３９】
トランジスタＴｒ（ｂ）〜Ｔｒ（ｄ）のゲートは、ＡＮＤ回路ＡＮＤ＜０＞〜ＡＮＤ＜２＞のそれぞれの出力信号の入力を受ける。また、トランジスタＴｒ（ｅ）のゲートは、ＡＮＤ回路ＡＮＤ＜Ｎ−１＞の出力信号の入力を受ける。
【００４０】
また、トランジスタＴｒ（ｆ）のゲートは、スタンバイ信号ＲＳの入力を受ける。
なお、本例においては、ＡＮＤ回路ＡＮＤ＜３＞〜ＡＮＤ＜Ｎ−２＞に対応するトランジスタＴｒについては説明の簡略化のために省略している。
【００４１】
ＡＮＤ回路ＡＮＤ＜０＞は、カウンタ信号Ｃ＜０＞およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果をトランジスタＴｒ（ｂ）に出力する。ＡＮＤ回路ＡＮＤ＜１＞は、カウンタ信号Ｃ＜１＞およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果をトランジスタＴｒ（ｃ）に出力する。ＡＮＤ回路ＡＮＤ＜２＞は、カウンタ信号Ｃ＜２＞およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果をトランジスタＴｒ（ｄ）に出力する。ＡＮＤ回路ＡＮＤ＜Ｎ−１＞は、カウンタ信号Ｃ＜Ｎ−１＞およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果をトランジスタＴｒ（ｅ）に出力する。
【００４２】
トランジスタＴｒ（ａ）は、スタンバイ信号ＲＳが「０」の場合にオンし、「１」の場合にオフする。すなわち、スタンバイ信号ＲＳが「０」である通常動作（通常動作モード）の場合にオンする。当該トランジスタＴｒ（ａ）は、オン時の通過電流Ｉｄｓが大きいトランジスタに設定されているものとする。当該トランジスタＴｒ（ａ）がオンした場合には、ソース線のソース電位ＡＲＶＳＳは、接地電位ＶＳＳＭ（０Ｖ）に近似した値に設定されるものとする。通常動作の場合においては、トランジスタＴｒ（ａ）がオンし、ソース電位ＡＲＶＳＳは０Ｖに設定されるためメモリセルＭＣは、電源電位ＶＤＤＭと接地電位ＶＳＳＭとの間で電位が変化するため動作マージンが十分に確保された状態（安定したデータ書き込み、データ読み出しが可能な状態）となる。また、スタンバイ信号ＲＳが「１」の場合（スタンバイモード）にはオフする。
【００４３】
一方、トランジスタＴｒ（ｆ）は、スタンバイ信号ＲＳが「１」の場合にオンし、「０」の場合にオフする。すなわち、スタンバイモードの場合にオンする。当該トランジスタＴｒ（ｆ）は、オン時の通過電流Ｉｄｓが小さいトランジスタに設定されているものとする。当該トランジスタＴｒ（ｆ）がオンした場合には、ソース線のソース電位ＡＲＶＳＳは、メモリセルＭＣのデータ破壊が生じる電位（例えば、ＶＤＤＭ／２）（初期電位）まで上昇するように設定されるものとする。なお、当該トランジスタＴｒ（ｆ）のみがオンした場合には、メモリセルＭＣに格納されているデータは初期化され、例えばデータ「０」となる。
【００４４】
また、トランジスタＴｒ（ｂ）〜Ｔｒ（ｅ）は、対応するＡＮＤ回路の出力信号に従ってオンする。ＡＮＤ回路ＡＮＤは、スタンバイ信号ＲＳが「１」であり、かつ、カウンタ信号Ｃが「１」である場合にオンする。当該トランジスタＴｒ（ｂ）〜Ｔｒ（ｅ）は、ソース電位ＡＲＶＳＳを段階的（数十ｍＶ程度）に下げる程度の通過電流Ｉｄｓの小さいトランジスタに設定されているものとする。一例としては、１個のトランジスタＴｒをオンさせる毎に―１０ｍＶとなるようにトランジスタサイズが設定されているものとする。スタンバイ信号ＲＳが「１」すなわちスタンバイモードの場合に、初期電位から調整用トランジスタＴｒがオンする毎（カウンタ信号Ｃが「１」となる毎）にソース電位ＡＲＶＳＳが下がることになる。
【００４５】
本例においては、カウンタ信号Ｃに従って段階的にソース電位ＡＲＶＳＳを初期電位から調整してメモリセルＭＣに格納されているデータが破壊されない電位となるように調整する。
【００４６】
本例では、初期電位から電位を下げるために設けられた調整用トランジスタとしてトランジスタが４個設けられている場合（トランジスタＴｒ（ｂ）〜Ｔｒ（ｅ））について図示しているが、Ｎ個のカウンタ信号が入力される場合には、Ｎ個の調整用トランジスタを設けることが可能である。なお、ソース電位ＡＲＶＳＳの調整幅（段階幅）の設定を小さく（細かく設定）することにより、スタンドバイ電流を効果的に削減することが可能である。
【００４７】
なお、本例においては、トランジスタＴｒ（ｆ）を設けて、スタンバイ信号ＲＳが「１」の場合にオンし、初期電位を設定して調整することにより、ソース電位ＡＲＶＳＳのフローティング防止とソース電位の自動調整に必要なテスト時間の短縮を図ることが可能である。
【００４８】
＜ソース電位ＡＲＶＳＳの調整フロー＞
図４は、本実施の形態１に従うソース電位ＡＲＶＳＳの調整フローを説明する図である。
【００４９】
当該調整フローは、ソース電位ＡＲＶＳＳをスタンバイモードの際に設定する最適な電位に調整するためのフローである。
【００５０】
概略的には、スタンバイモード（スタンバイ期間）の際にメモリセルＭＣに書き込まれたデータを保持できるか否かをテストする。具体的には、テストとして段階的にソース電位を初期電位（データ破壊が生じる電位）から調整して（電位を下げて）データ破壊が生じない電位レベルまでソース電位ＡＲＶＳＳを下げる方式である。
【００５１】
図４を参照して、まず電源を投入する（ステップＳ２）。例えば、図示しないスイッチをオンにして電源電圧と半導体集積回路１とが接続されるようにする。
【００５２】
次に、ＰＯＲ信号がオンしたかどうかを判断する（ステップＳ４）。具体的には、ＰＯＲ回路２２は、電源電圧が安定した状態となったと判断した場合にＰＯＲ信号を「１」（オン）に設定する。
【００５３】
ステップＳ４において、ＰＯＲ信号がＯＮしたと判断した場合（ステップＳ４においてＹＥＳ）には、ステップＳ６に進む。なお、ＰＯＲ信号がＯＮするまでステップＳ４の状態を維持する。
【００５４】
次に、ステップＳ６において、カウンタをリセットする（ステップＳ６）。具体的には、ＢＩＳＴ回路２４は、ＰＯＲ信号の入力に応答してカウンタリセット信号ＣＲＳ（「１」）をカウンタ回路３２に出力する。カウンタ回路３２は、当該カウンタリセット信号ＣＲＳを受けてカウンタ値をリセット（初期化）する。これに伴いカウンタ値に基づくカウンタ信号Ｃ＜Ｎ−１：０＞は「０」に設定される。
【００５５】
次に、ＳＲＡＭモジュール１０に対してデータの書き込み処理を実行する（ステップＳ８）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、所定のテストデータである書込データＤＩをＳＲＡＭモジュール１０に入力する。
【００５６】
そして、スタンバイモードテストを実行する（ステップＳ１０）。スタンバイモードテストとは、スタンバイモード（スタンバイ期間）の際にＳＲＡＭモジュール１０に書き込まれたデータを保持することが可能か否かをテストすることである。具体的には、スタンバイ信号ＲＳを「１」に設定し、また、カウンタ信号Ｃに従ってＡＲＶＳＳ電位調整回路１８でソース電位ＡＲＶＳＳをスタンバイモードの際に設定される電位に設定する。本例においては、初期状態においては、ソース電位ＡＲＶＳＳは、データ破壊が生じる電位（例えばＶＤＤＭ／２）に設定される。
【００５７】
次に、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行する（ステップＳ１２）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、書き込んだテストデータを読み出すようにＳＲＡＭモジュール１０に対して指示する。ＳＲＡＭモジュール１０は、読出データＤＱを比較回路２６に出力する。
【００５８】
次に、期待値判定処理を実行する（ステップＳ１４）。具体的には、比較回路２６は、ＳＲＡＭモジュール１０から読みだされた読出データＤＱと、ＢＩＳＴ回路２４から与えられる期待値とを比較して、読出データＤＱと期待値とが一致しているか否かを判断する。そして、その結果を圧縮回路２８に出力する。
【００５９】
圧縮回路２８は、比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば「０」を出力（ステップＳ１４においてＰＡＳＳ）する。そして、ステップＳ１６に進む。全てのデータが一致している場合とは、書込データＤＩと、読出データＤＱとが全て一致した場合である。すなわち、スタンバイモードテストによりスタンバイ期間に設定されるソース電位ＡＲＶＳＳを設定した場合に、メモリセルＭＣに格納されているデータの破壊が生じない（データ保持可能な）状態であることを示す。
【００６０】
そして、ステップＳ１６において、ＢＩＳＴ回路２４の処理を終了（ストップ）する。具体的には、データの破壊が生じないソース電位ＡＲＶＳＳであると判定されたためソース電位ＡＲＶＳＳの調整における処理を終了する。また、カウンタ回路３２を停止（ストップ）する。
【００６１】
一方、ステップＳ１４において、圧縮回路２８は、１つでも不一致であれば「１」を出力（ステップＳ１４においてＦＡＩＬ）し、ステップＳ１８に進む。ステップＳ１８において、ＢＩＳＴ回路２４は、圧縮回路２８の出力信号に従ってカウンタ値が上限（ｍａｘ）であるかどうかを判断する。例えば、ＢＩＳＴ回路２４は、圧縮回路２８からの出力信号「１」の入力回数に基づいてカウンタ値が上限（ｍａｘ）であるか否かを判断することが可能である。ＢＩＳＴ回路２４は、カウンタ値が上限（ｍａｘ）であると判断した場合（ステップＳ１８においてＹＥＳ）にはエラーを出力する（ステップＳ２０）。具体的には、ＢＩＳＴ回路２４は、カウンタ値が上限（ｍａｘ）であるため調整ができない旨のエラー情報を外部に出力する。当該エラー情報に従って周辺回路は所定のエラー処理を実行することが可能である。例えば、メンテナンスの通知あるいは部品交換等の通知等を外部に行うことが可能である。
【００６２】
ステップＳ１８において、ＢＩＳＴ回路２４は、カウンタ値が上限（ｍａｘ）でないと判断した場合（ステップＳ１８においてＮＯ）には、カウンタ値をＵＰする（ステップＳ２２）。具体的には、カウンタ回路３２は、圧縮回路２８からの出力信号「１」に従ってＡＮＤ回路３０から出力されるカウンタＵＰ制御信号「１」（ワンショットパルス）に基づいてカウンタ値をインクリメント（ＵＰ）する。これにより本例においては、カウンタ値に従ってカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞が順番に「１」に設定される。当該カウンタ信号Ｃは、スタンバイモード（スタンバイ期間）のソース電位ＡＲＶＳＳの電位設定に用いられる。
【００６３】
具体的には、ステップＳ１０におけるスタンバイモードテストの際（スタンバイ信号ＲＳが「１」の場合）に、カウンタ信号Ｃ（「１」）に従ってＡＲＶＳＳ電位調整回路１８の対応するトランジスタがオンする。そして、トランジスタのオンの個数分、段階的に初期電位からソース電位ＡＲＶＳＳが引き下げられて設定される。
【００６４】
そして、ステップＳ２２の後、再び、上記のステップＳ８に戻り、上記処理を繰り返す。例えば、上記の期待値判定処理（ステップＳ１４）においてデータが不一致（ＦＡＩＬ）である場合には、スタンバイモードテストによりデータが破壊されている可能性が高い。したがって、ソース電位ＡＲＶＳＳを調整して再度テストする必要がある。そのため、再度、データの書き込み処理を実行して、次のスタンバイモードテストを実行する（ステップＳ１０）。そして、ステップＳ１２において、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行し、期待値判定処理を実行する（ステップＳ１４）。当該処理を期待値判定処理（ステップＳ１４）においてデータが一致（ＰＡＳＳ）となるまで繰り返す。繰り返した回数分カウンタ値がインクリメントされ、スタンバイモード（スタンバイ期間）において設定されるソース電位ＡＲＶＳＳが調整される。
【００６５】
＜ソース電位ＡＲＶＳＳの調整フローのタイミングチャート＞
図５は、本実施の形態１に従うソース電位ＡＲＶＳＳの調整フローのタイミングチャートを説明する図である。
【００６６】
図５を参照して、まず、カウンタリセット信号ＣＲＳに従ってカウンタ回路３２を初期化（（１）カウンタリセット）する。これによりカウンタ信号Ｃは全て「０」に設定される。
【００６７】
次に、ＢＩＳＴ回路２４は、クロック信号ＣＬＫに同期してメモリアレイＭＡに対して所定のテストデータを書き込む処理を実行する（（２）ＷＲＩＴＥ）。なお、本例においては書込制御信号ＷＥＮは「０」（ＷＲＩＴＥをオン）に設定される。
【００６８】
次に、スタンバイモードテスト（（３）スタンバイ）を実行する。書込制御信号ＷＥＮは「１」（ＷＲＩＴＥをオフ）に設定する。また、この場合、スタンバイ信号ＲＳが「１」に設定されることにより、トランジスタＴｒ（ｆ）がオンする。これにより、ソース電位ＡＲＶＳＳは、初期電位（ＶＤＤＭ／２）（メモリセルＭＣのデータが破壊される電位）に設定される。
【００６９】
そして、次に、ＢＩＳＴ回路２４は、クロック信号ＣＬＫに同期してメモリアレイＭＡから書き込んだ所定のテストデータを読み出す処理を実行する（（４）ＲＥＡＤ）。
【００７０】
そして、期待値判定処理（（５）期待値判定（圧縮））の結果（期待値不一致）に従いカウントＵＰ制御信号が「１」に設定される。これにより、カウンタ回路３２は、カウントＵＰ制御信号が「１」に設定されたことによりカウンタ信号Ｃ＜０＞を「１」に設定する。
【００７１】
そして、再び、ＢＩＳＴ回路２４は、クロック信号ＣＬＫに同期してメモリアレイＭＡに対して所定のテストデータを書き込む処理を実行する（（２）ＷＲＩＴＥ）。
【００７２】
次に、スタンバイモードテスト（（３）スタンバイ）を実行する。その際、スタンバイ信号ＲＳが「１」に設定されることによりトランジスタＴｒ（ｆ）がオンするとともに、カウンタ信号Ｃ＜０＞が「１」に設定されているためソース電位ＡＲＶＳＳは、ＶＤＤＭ／２−ΔＶ１に設定される。なお、ΔＶ１は、トランジスタＴｒ（ｂ）がオンして下がる電位である。これにより、スタンバイ期間において当該ソース電位ＡＲＶＳＳに従ってメモリセルＭＣのデータが保持可能か否かがテストされる。
【００７３】
そして、次に、ＢＩＳＴ回路２４は、クロック信号ＣＬＫに同期してメモリアレイＭＡから書き込んだ所定のテストデータを読み出す処理を実行する（（４）ＲＥＡＤ）。
【００７４】
そして、期待値判定処理（（５）期待値判定（圧縮））の結果（期待値不一致）に従いカウントＵＰ制御信号が「１」に設定される。これにより、カウンタ回路３２は、カウントＵＰ制御信号が「１」に設定されたことによりカウンタ信号Ｃ＜１＞を「１」に設定する。
【００７５】
そして、上記の（２）ＷＲＩＴＥ→（３）スタンバイ→（４）ＲＥＡＤ→（５）期待値判定（圧縮）を繰り返し、期待値判定（圧縮）の結果、期待値が一致するまで繰り返す。すなわち、データ破壊が生じない電位レベルまでソース電位ＡＲＶＳＳを下げる。
【００７６】
本例においては、ｋ回当該処理を繰り返した結果、期待値が一致した場合が示されている。したがって、ＡＲＶＳＳ電位は、ＶＤＤＭ／２−ΔＶｋに調整される。これにより、スタンバイモードにおいて、設定したカウンタ信号に従って当該一致した際のソース電位ＡＲＶＳＳとなるように調整される。
【００７７】
そして、ＢＩＳＴ回路２４およびカウンタ回路３２の処理を終了する。
なお、当該調整フローについて、電源投入毎やある時間経過するたびに実行することが可能である。これにより、メモリセルＭＣの経年劣化や製造ばらつきに基づくソース電位ＡＲＶＳＳの調整を設計段階で考慮する必要がなく、仕上がりのメモリセルＭＣの状態に合わせて、データ保持電圧の実力値までソース電位ＡＲＶＳＳを上げることが可能となる。すなわち、メモリセルのデータ保持特性を考慮してソース線の電位（ソース電位ＡＲＶＳＳ）を調整可能であるためスタンドバイモード（スタンバイ期間）におけるスタンドバイ電流を抑制する点で顕著な効果がある。
【００７８】
＜レイアウト配置＞
図６は、本実施の形態１に従うＡＲＶＳＳ電位調整回路１８のレイアウト配置を説明する図である。
【００７９】
図６に示されるように、メモリアレイＭＡとＩ／Ｏ回路１６との間にＡＲＶＳＳ電位調整回路１８を配置して、メモリセルの近傍に配置することが可能である。なお、ソース線ＳＬは、通常動作時においては接地電位ＶＳＳＭとなることや、スタンドバイモード時にはデータ保持に必要な電位（例えば、ＶＤＤＭ／２−ΔＶｋ）に設定する必要があるため、配線抵抗やノイズを考慮しながら配置することが望ましい。また、本例においては、ＳＲＡＭモジュール１０の内部に配置する場合について説明するが、特にモジュール内部に限られず、外部に配置することも可能である。その場合にも、チップ上（半導体集積回路）でソース線ＳＬの配線に対するノイズの影響を考慮したフロアプラン、配線レイアウトが望ましい。
【００８０】
（実施の形態１の変形例）
図７は、本実施の形態１の変形例に従うＡＲＶＳＳ電位調整回路１８を制御する周辺回路２０の構成の概略ブロック図である。
【００８１】
上記においては、１個のメモリアレイＭＡに対してＢＩＳＴ回路２４と、カウンタ回路３２と、ＡＲＶＳＳ電位調整回路１８等を設けた構成について説明した。本変形例においては、複数個のメモリアレイＭＡに対応して共通にＢＩＳＴ回路２４と、カウンタ回路３２と、ＡＲＶＳＳ電位調整回路１８を設ける構成について説明する。
【００８２】
図７を参照して、本例においては、メモリアレイ群１１に複数個のメモリアレイＭＡが設けられている構成が示されている。そして、複数個のメモリアレイＭＡに対して共通にソース電位ＡＲＶＳＳを調整される。また、各メモリアレイＭＡに対応して比較回路２６が設けられる。また、複数の比較回路２６に対応して１つの圧縮回路２９を設ける。
【００８３】
各メモリアレイＭＡに対して所定のテストデータを書き込む処理、そして、読み出す処理等については上記で説明したのと同様であるのでその詳細な説明は繰り返さない。
【００８４】
そして、各メモリアレイＭＡから読み出した読出データを対応する比較回路２６において比較する。比較回路２６についても上記と同様であり、メモリアレイＭＡから読み出した読出データと期待値とが一致していれば「０」を出力し、不一致であれば「１」を出力する。
【００８５】
圧縮回路２９は、各メモリアレイＭＡに対応して設けられた比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば「０」を出力し、１つでも不一致であれば「１」を出力する。すなわち、１つのメモリアレイＭＡにおいて不一致であれば「１」を出力する。
【００８６】
そして、当該圧縮回路２９からの圧縮データに基づいて上記で説明したようにカウンタＵＰ制御信号が出力されて、ソース電位ＡＲＶＳＳが調整される。以降の処理については上記で説明したのと同様である。
【００８７】
当該構成により、複数のメモリアレイＭＡに対して共通のＡＲＶＳＳ電位調整回路１８およびカウンタ回路３２等を設けることにより部品点数およびレイアウト面積を縮小することが可能である。なお、複数のメモリアレイＭＡに対して全てソース電位を共通にするのではなく、データ保持特性が類似しているメモリアレイＭＡをグリーピングし、グループ化したメモリアレイ群に対して共通のソース電位ＡＲＶＳＳを調整するようにしても良い。当該方式により、スタンバイモード（スタンバイ期間）におけるスタンバイ電流を効率的に抑制することが可能である。
【００８８】
（実施の形態２）
上記の実施の形態１では、スタンバイモードテストにおいて、ソース電位ＡＲＶＳＳの初期電位として、メモリセルデータが破壊される電位（例えばＶＤＤＭ／２）を初期電位として段階的に電位を下げて、読出データと期待値とが一致するデータ破壊が生じないソース電位ＡＲＶＳＳに調整する方式について説明した。すなわち、上記の方式では、読出データと期待値とが一致するまで、テストデータをメモリアレイＭＡに対して繰り返し書き込む（ＷＲＩＴＥ）する必要がある場合について説明した。それゆえ、当該テストデータの再書込の処理のためにソース電位ＡＲＶＳＳの調整に時間がかかる可能性がある。
【００８９】
本実施の形態２においては、ソース電位ＡＲＶＳＳの調整の時間を短縮する方式について説明する。
【００９０】
図８は、本実施の形態２に従うＡＲＶＳＳ電位調整回路１９を制御する周辺回路２０の構成の概略ブロック図である。
【００９１】
図８を参照して、図２の構成と比較して、当該構成は、ＡＲＶＳＳ電位調整回路１８をＡＲＶＳＳ電位調整回路１９に置換した点と、カウンタ回路３２をカウンタ回路３６に変更した点と、反転回路３４を設けた点とが異なる。
【００９２】
その他の基本的な構成については図２で説明したのと同様の構成であるのでその詳細な説明は繰り返さない。
【００９３】
カウンタ回路３６は、ＵＰ／ＤＯＷＮカウンタであり、ＡＮＤ回路３０からのカウンタＵＰ制御信号に応答してカウンタ値をインクリメントし、ＢＩＳＴ回路２４からのカウンタＤＯＷＮ制御信号に応答してカウンタ値をデクリメントする。
【００９４】
反転回路３４は、圧縮回路２８の圧縮データを反転した信号をＡＮＤ回路３０およびＢＩＳＴ回路２４に出力する。したがって、全てのデータが一致していれば反転回路３４から「１」が出力される。そして、１つでも不一致であれば「０」が出力される。
【００９５】
図９は、本実施の形態２に従うＡＲＶＳＳ電位調整回路１９の構成を説明する図である。
【００９６】
図９を参照して、ＡＲＶＳＳ電位調整回路１９は、図３で説明したＡＲＶＳＳ電位調整回路１８と比較して、ＡＮＤ回路ＡＮＤ＜０＞〜ＡＮＤ＜Ｎ−１＞のカウンタ信号Ｃの入力を受けるノードにそれぞれ対応して反転回路ＩＶ＜０＞〜ＩＶ＜Ｎ−１＞を設けた点が異なる。
【００９７】
ＡＲＶＳＳ電位調整回路１９は、図３で説明したように電位を調整するための複数の調整用トランジスタＴｒ（ａ）〜Ｔｒ（ｆ）を含む。
【００９８】
ＡＮＤ回路ＡＮＤ＜０＞は、カウンタ信号Ｃ＜０＞の反転信号およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果をトランジスタＴｒ（ｂ）に出力する。ＡＮＤ回路ＡＮＤ＜１＞は、カウンタ信号Ｃ＜１＞の反転信号およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果をトランジスタＴｒ（ｃ）に出力する。ＡＮＤ回路ＡＮＤ＜２＞は、カウンタ信号Ｃ＜２＞の反転信号およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果をトランジスタＴｒ（ｄ）に出力する。ＡＮＤ回路ＡＮＤ＜Ｎ−１＞は、カウンタ信号Ｃ＜Ｎ−１＞の反転信号およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果をトランジスタＴｒ（ｅ）に出力する。
【００９９】
トランジスタＴｒ（ａ）は、スタンバイ信号ＲＳが「０」の場合にオンし、「１」の場合にオフする。すなわち、スタンバイ信号ＲＳが「０」である通常動作（通常動作モード）の場合にオンする。当該トランジスタＴｒ（ａ）は、オン時の通過電流Ｉｄｓが大きいトランジスタに設定されているものとする。当該トランジスタＴｒ（ａ）がオンした場合には、ソース線のソース電位ＡＲＶＳＳは、接地電位ＶＳＳＭ（０Ｖ）に近似した値に設定されるものとする。通常動作の場合においては、トランジスタＴｒ（ａ）がオンし、ソース電位ＡＲＶＳＳは０Ｖに設定されるためメモリセルＭＣは、電源電位ＶＤＤＭと接地電位ＶＳＳＭとの間で電位が変化するため動作マージンが十分に確保された状態（安定したデータ書き込み、データ読み出しが可能な状態）となる。また、スタンバイ信号ＲＳが「１」の場合（スタンバイモード）にはオフする。
【０１００】
一方、上記したようにスタンバイ信号ＲＳが「１」の場合に、トランジスタＴｒ（ａ）はオフし、トランジスタＴｒ（ｆ）がオンする。
【０１０１】
また、初期状態において、全てカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞は「０」であるため、反転回路ＩＶを介する反転信号は全て「１」である。
【０１０２】
それゆえ、初期状態において、スタンバイ信号ＲＳが「１」の場合には、ＡＮＤ回路ＡＮＤは、全て「１」を出力し、対応するトランジスタＴｒは全てオンする。
【０１０３】
したがって、トランジスタＴｒ（ａ）以外の全ての調整用トランジスタがオンするため、ソース電位ＡＲＶＳＳは、接地電位ＶＳＳＭ（０Ｖ）に近い電位に設定される。
【０１０４】
すなわち、スタンバイモードテストの初期状態においては、ソース電位ＡＲＶＳＳは０Ｖに近い値に設定されるためメモリセルＭＣは、電源電位ＶＤＤＭと接地電位ＶＳＳＭとの間で電位が変化するため動作マージンが十分に確保された状態（安定したデータ書き込み、データ読み出しが可能な状態）となる。
【０１０５】
また、トランジスタＴｒ（ｂ）〜Ｔｒ（ｅ）は、初期状態において全てオンしており、カウンタ信号Ｃが「０」から「１」に設定されることに応答して対応するトランジスタがオフする。本例においては、一例として、１個のトランジスタＴｒをオフさせる毎に＋１０ｍＶとなるようにトランジスタサイズが設定されているものとする。スタンバイ信号ＲＳが「１」すなわちスタンバイモードの場合に、初期電位から調整用トランジスタＴｒがオフする毎（カウンタ信号Ｃが「１」となる毎）にソース電位ＡＲＶＳＳが上がることになる。
【０１０６】
本例においては、カウンタ値をインクリメントしたカウンタ信号Ｃに従って段階的にソース電位ＡＲＶＳＳを初期電位から調整してメモリセルＭＣに格納されているデータが破壊されない状態から破壊される状態となる電位となるまで調整する。
【０１０７】
そして、メモリセルＭＣに格納されているデータが破壊される状態となる電位にソース電位ＡＲＶＳＳを調整した後、カウンタ値を１つデクリメントする。すなわち、カウンタ値をデクリメントしたカウンタ信号Ｃに従って、スタンバイモードにおいて、メモリセルＭＣに格納されているデータが破壊されない電位にソース電位ＡＲＶＳＳを再調整する。
【０１０８】
本例では、初期電位から段階的に電位を上げるために設けられた調整用トランジスタとしてトランジスタが４個設けられている場合（トランジスタＴｒ（ｂ）〜Ｔｒ（ｅ））について図示しているが、Ｎ個のカウンタ信号が入力される場合には、Ｎ個の調整用トランジスタを設けることが可能である。なお、ソース電位ＡＲＶＳＳの調整幅（段階幅）の設定を小さく（細かく）することにより、スタンドバイ電流をより削減することが可能である。
【０１０９】
本例においては、メモリセルＭＣに格納されているデータが破壊される状態となるまで電位を段階的に上げる方式であり、段階的に上げる過程においてデータは破壊されないため上記の実施の形態１で説明した方式と異なり、テストデータをメモリアレイＭＡに対してその都度書き込む処理が不要となる。したがって、テストデータをメモリアレイＭＡに対して繰り返し書き込む時間が無くなるため、ソース電位ＡＲＶＳＳの調整時間を短縮することが可能である。また、データの書き込みに要する消費電力も削減することが可能である。
【０１１０】
＜ソース電位ＡＲＶＳＳの調整フロー＞
図１０は、本実施の形態２に従うＡＲＶＳＳ電位の調整フローを説明する図である。
【０１１１】
当該調整フローは、ソース電位ＡＲＶＳＳをスタンバイモードの際に設定される最適な電位に調整するためのフローである。
【０１１２】
概略的には、スタンバイモード（スタンバイ期間）の際にメモリセルＭＣに書き込まれたデータを保持できるか否かをテストする。具体的には、テストとして段階的にソース電位を初期電位（データ破壊が生じない電位）から調整（電位を上げて）してデータ破壊が生じる電位レベルまでソース電位ＡＲＶＳＳを上げ、そして、１つ前のデータ破壊が生じない電位レベルに戻す方式である。
【０１１３】
図１０を参照して、まず電源を投入する（ステップＳ２）。例えば、図示しないスイッチをオンにして電源電圧と半導体集積回路１とが接続されるようにする。
【０１１４】
次に、ＰＯＲ信号がオンしたかどうかを判断する（ステップＳ４）。具体的には、ＰＯＲ回路２２は、電源電圧が安定した状態となったと判断した場合にＰＯＲ信号を「１」（オン）に設定する。
【０１１５】
ステップＳ４において、ＰＯＲ信号がＯＮしたと判断した場合（ステップＳ４においてＹＥＳ）には、ステップＳ６に進む。なお、ＰＯＲ信号がＯＮするまでステップＳ４の状態を維持する。
【０１１６】
次に、ステップＳ６において、カウンタをリセットする（ステップＳ６）。具体的には、ＢＩＳＴ回路２４は、ＰＯＲ信号の入力に応答してカウンタリセット信号ＣＲＳ（「１」）をカウンタ回路３６に出力する。カウンタ回路３６は、当該カウンタリセット信号ＣＲＳを受けてカウンタ値をリセット（初期化）する。これに伴いカウンタ値に基づくカウンタ信号Ｃ＜Ｎ−１：０＞は「０」に設定される。
【０１１７】
次に、ＳＲＡＭモジュール１０に対してデータの書き込み処理を実行する（ステップＳ８）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、所定のテストデータである書込データＤＩをＳＲＡＭモジュール１０に入力する。
【０１１８】
そして、スタンバイモードテストを実行する（ステップＳ１０）。スタンバイモードテストとは、ＳＲＡＭモジュール１０に書き込まれたデータをスタンバイ期間に保持することが可能か否かをテストすることである。具体的には、スタンバイ信号ＲＳを「１」に設定し、また、カウンタ信号Ｃに従ってＡＲＶＳＳ電位調整回路１８でソース電位ＡＲＶＳＳをスタンバイモードの際に設定される電位に設定する。本例においては、初期状態においては、ソース電位ＡＲＶＳＳは、データ破壊が生じない電位（例えば０Ｖ）に設定される。
【０１１９】
次に、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行する（ステップＳ１２）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、書き込んだテストデータを読み出すようにＳＲＡＭモジュール１０に対して指示する。ＳＲＡＭモジュール１０は、読出データＤＱを比較回路２６に出力する。
【０１２０】
次に、期待値判定処理を実行する（ステップＳ１４）。具体的には、比較回路２６は、ＳＲＡＭモジュール１０から読みだされた読出データＤＱと、ＢＩＳＴ回路２４から与えられる期待値とを比較して、読出データＤＱと期待値とが一致しているか否かを判断する。そして、その結果を圧縮回路２８に出力する。
【０１２１】
圧縮回路２８は、比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば「０」を出力（ステップＳ１４においてＰＡＳＳ）する。本例においては、圧縮回路２８の出力側に反転回路３４が設けられているため一致している場合には、「１」となり、不一致の場合には「０」となる。そして、ステップＳ１８に進む。
【０１２２】
ステップＳ１８において、ＢＩＳＴ回路２４は、圧縮回路２８の出力信号の反転信号に従ってカウンタ値が上限（ｍａｘ）であるかどうかを判断する。例えば、ＢＩＳＴ回路２４は、圧縮回路２８からの出力信号の反転信号「１」の入力回数に基づいてカウンタ値が上限（ｍａｘ）であるか否かを判断することが可能である。
【０１２３】
そして、ステップＳ１８において、ＢＩＳＴ回路２４は、カウンタ値が上限（ｍａｘ）であると判断した場合（ステップＳ１８においてＹＥＳ）には、ＢＩＳＴ回路２４およびカウンタ回路３６の処理を終了（ストップ）する。カウンタ値が上限であるためこれ以上、ソース電位ＡＲＶＳＳを調整することができないためソース電位ＡＲＶＳＳの調整における処理を終了する。
【０１２４】
一方、ステップＳ１８において、ＢＩＳＴ回路２４は、カウンタ値が上限（ｍａｘ）でないと判断した場合（ステップＳ１８においてＮＯ）には、カウンタ値をＵＰする（ステップＳ２２）。具体的には、カウンタ回路３６は、反転回路３４からの出力信号「１」に従ってＡＮＤ回路３０から出力されるカウンタＵＰ制御信号「１」（ワンショットパルス）に基づいてカウンタ値をインクリメント（ＵＰ）する。これにより本例においては、カウンタ値に従ってカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞が順番に「１」に設定される。当該カウンタ信号Ｃは、スタンバイ期間のソース電位ＡＲＶＳＳの電位設定に用いられる。
【０１２５】
具体的には、ステップＳ１０におけるスタンバイモードテストの際（スタンバイ信号ＲＳが「１」の場合）に、カウンタ信号Ｃ（「１」）に従ってＡＲＶＳＳ電位調整回路１８の対応するトランジスタがオフする。そして、トランジスタのオフの個数分、段階的に初期電位からソース電位ＡＲＶＳＳが引き上げられて設定される。
【０１２６】
そして、ステップＳ２２の後、再び、上記のステップＳ１０に戻り、上記処理を繰り返す。具体的には、スタンバイモードテストを実行する（ステップＳ１０）。そして、ステップＳ１２において、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行し、期待値判定処理を実行する（ステップＳ１４）。当該処理を期待値判定処理（ステップＳ１４）においてデータが不一致（ＦＡＩＬ）となるまで繰り返す。繰り返した回数分カウンタ値がインクリメントされ、スタンバイモード（スタンバイ期間）において設定されるソース電位ＡＲＶＳＳが調整される。
【０１２７】
一方、ステップＳ１４において、圧縮回路２８は、１つでも不一致であれば「１」を出力（ステップＳ１４においてＦＡＩＬ）し、ステップＳ２４に進む。
【０１２８】
ステップＳ２４において、ＢＩＳＴ回路２４は、圧縮回路２８の出力信号の反転信号に従ってカウンタ値が下限（ｍｉｎ）であるかどうかを判断する。具体的には、カウンタ値が下限である場合とは、例えば、初期状態において、期待値判定処理においてデータが不一致（ＦＡＩＬ）の場合に相当する。当該場合は、動作マージンが最も確保されている状態であるにも係わらずデータ破壊が生じているためメモリセルＭＣ自体に異常がある可能性がある。
【０１２９】
したがって、カウンタ値が下限（ｍｉｎ）である場合（ステップＳ２４においてＹＥＳ）には、エラー情報を外部に出力する（ステップＳ２０）。当該エラー情報に従って周辺回路は所定のエラー処理を実行することが可能である。例えば、メンテナンスの通知あるいは部品交換等の通知等を外部に行うことが可能である。
【０１３０】
一方、ステップＳ２４において、ＢＩＳＴ回路２４は、圧縮回路２８の出力信号の反転信号に従ってカウンタ値が下限（ｍｉｎ）でないと判断した場合（ステップＳ２４においてＮＯ）には、カウンタ値をＤＯＷＮする（ステップＳ２６）。具体的には、ＢＩＳＴ回路２４は、カウンタ回路３６にカウンタＤＯＷＮ制御信号を出力する。これによりカウンタ回路３６のカウンタ値はデクリメントされて１つ戻る。そして、１つ戻ったカウンタ値に基づくカウント信号が設定され、ソース電位ＡＲＶＳＳが再調整される。本方式の場合には、期待値判定処理においてデータが不一致となるレベルまでソース電位を上げる必要があるため、データが不一致となるレベルまでソース電位を上げた後、１つレベルを戻して最適なソース電位に調整する必要があるからである。
【０１３１】
そして、ステップＳ１６に進み、ＢＩＳＴ回路２４およびカウンタ回路３６の処理を終了（ストップ）する。具体的には、ソース電位ＡＲＶＳＳの調整における処理を終了する。また、カウンタ回路３６を停止（ストップ）する。
【０１３２】
＜ソース電位ＡＲＶＳＳの調整フローのタイミングチャート＞
図１１は、本実施の形態２に従うＡＲＶＳＳ電位の調整のタイミングチャートを説明する図である。
【０１３３】
図１１を参照して、まず、カウンタリセット信号ＣＲＳに従ってカウンタ回路３６を初期化（（１）カウンタリセット）する。これによりカウンタ信号Ｃは全て「０」に設定される。なお、反転回路が設けられているため上述したように全てＡＮＤ回路ＡＮＤの入力ノードには「１」が入力される。
【０１３４】
次に、ＢＩＳＴ回路２４は、クロック信号ＣＬＫに同期してメモリアレイＭＡに対して所定のテストデータを書き込む処理を実行する（（２）ＷＲＩＴＥ）。なお、書込制御信号ＷＥＮは「０」（ＷＲＩＴＥをオン）に設定される。
【０１３５】
次に、スタンバイモードテスト（（３）スタンバイ）を実行する。書込制御信号ＷＥＮは「１」（ＷＲＩＴＥをオフ）に設定する。また、この場合、スタンバイ信号ＲＳが「１」に設定されることによりトランジスタＴｒ（ｂ）−Ｔｒ（ｆ）がオンする。これにより、ソース電位ＡＲＶＳＳは、初期電位（ＶＤＤＳ（＝０Ｖ））近傍（メモリセルのデータの保持が可能な電位に設定）に設定される。
【０１３６】
そして、次に、ＢＩＳＴ回路２４は、クロック信号ＣＬＫに同期してメモリアレイＭＡから書き込んだ所定のテストデータを読み出す処理を実行する（（４）ＲＥＡＤ）。
【０１３７】
そして、期待値判定処理（（５）期待値判定（圧縮））の結果（期待値一致）に従いカウントＵＰ制御信号が「１」に設定される。これにより、カウンタ回路３６は、カウントＵＰ制御信号が「１」に設定されたことによりカウンタ信号Ｃ＜０＞を「１」に設定する。
【０１３８】
そして、再び、スタンバイモードテスト（（３）スタンバイ）を実行する。その際、スタンバイ信号ＲＳが「１」に設定されるとともに、カウンタ信号Ｃ＜０＞の反転信号が「０」に設定されるためトランジスタＴｒ（ａ）がオフする。これにより、ソース電位ＡＲＶＳＳは、ΔＶ１上昇した電位に設定される。これにより、スタンバイ期間において当該ソース電位ＡＲＶＳＳに従ってメモリセルＭＣのデータが保持可能か否かがテストされる。
【０１３９】
そして、次に、ＢＩＳＴ回路２４は、クロック信号ＣＬＫに同期してメモリアレイＭＡから書き込んだ所定のテストデータを読み出す処理を実行する（（４）ＲＥＡＤ）。
【０１４０】
そして、期待値判定処理（（５）期待値判定（圧縮））の結果（期待値一致）に従いカウントＵＰ制御信号が「１」に設定される。これにより、カウンタ回路３６は、カウントＵＰ制御信号が「１」に設定されたことによりカウンタ信号Ｃ＜１＞を「１」に設定する。
【０１４１】
そして、（３）スタンバイ→（４）ＲＥＡＤ→（５）期待値判定（圧縮）を繰り返し、期待値判定（圧縮）の結果、期待値が不一致となるまで繰り返す。すなわち、データ破壊が生じる電位レベルまでソース電位ＡＲＶＳＳを上げる。
【０１４２】
本例においては、（ｋ＋１）回当該処理を繰り返した結果、期待値が不一致となった場合が示されている。したがって、ソース電位ＡＲＶＳＳは、ΔＶｋ＋１に調整される。そして、その後、カウンタ値をデクリメントして１つ戻す。すなわち、ｋ回当該処理を繰り返したソース電位ＡＲＶＳＳは、ΔＶｋに再調整される。これにより、スタンバイモードにおいて、設定したカウンタ信号に従って当該一致した際のソース電位ＡＲＶＳＳとなるように調整される。
【０１４３】
そして、ＢＩＳＴ回路２４およびカウンタ回路３６の処理を終了する。
なお、当該調整フローについて、電源投入毎やある時間経過するたびに実行することが可能である。これにより、メモリセルＭＣの経年劣化や製造ばらつきに基づくソース電位ＡＲＶＳＳの調整を設計段階で考慮する必要がなく、仕上がりのメモリセルＭＣの状態に合わせて、データ保持電圧の実力値までソース電位ＡＲＶＳＳを上げることが可能となる。すなわち、メモリセルのデータ保持特性を考慮してソース線の電位（ソース電位ＡＲＶＳＳ）を調整可能であるためスタンバイモード（スタンドバイ期間）におけるスタンドバイ電流を抑制する点で顕著な効果がある。
【０１４４】
また、上記したように、ソース電位ＡＲＶＳＳを低い位置から調整し、その際、データは保持された状態が維持されるため、データ書き込み（ＷＲＩＴＥ）は最初の一回のみでよい。したがって、実施の形態１と比較して２回目以降のデータ書き込み（ＷＲＩＴＥ）は不要となるため、調整の時間（テスト時間）を短縮することが可能である。
【０１４５】
なお、本例においては、ＡＲＶＳＳ電位調整回路１９は、カウンタ回路３６のカウンタ値の出力であるカウンタ信号Ｃが全て「０」である初期状態の場合にソース電位ＡＲＶＳＳが一番低くなるように設定された構成について説明したが、カウンタ値の出力であるカウンタ信号Ｃが全て「１」の場合にソース電位ＡＲＶＳＳが一番低くなるように設定して、カウンタ値をデクリメントしてスタートするようにしても良い。その場合には、反転回路を設けなくても良い。
【０１４６】
なお、上記においては、スタンバイモードテストにより、スタンバイ期間においてデータ保持が可能なソース電位と、不可能なソース電位とを探索してソース線の電位を調整する方式について説明したが、ある程度マージンを設けた方が望ましい場合もある。
【０１４７】
例えば、ソース電位ＡＲＶＳＳの調整時の温度が室温であり、実際のスタンバイモードには温度が変化していく場合や、チップ上で通常動作とスタンバイモードとが同時に行われており、いわゆるＩＲｄｒｏｐ量がソース電位ＡＲＶＳＳの調整時より大きい場合も考えられる。
【０１４８】
その場合、調整したソース電位ＡＲＶＳＳでは、スタンバイモード（スタンバイ期間）にデータを保持することが難しい場合も考えられる。
【０１４９】
したがって、ソース電位ＡＲＶＳＳの調整後にカウンタ値をマージンをさらに確保できる方向へ再調整する信号をＢＩＳＴ回路２４から発生させ、温度ワースト分やＩＲｄｒｏｐ量を考慮した分のソース電位ＡＲＶＳＳのマージンを組み込むようにしても良い。具体的には、データ保持特性のマージンがある方向にカウンタ回路のカウンタ値を数段階ＵＰ／ＤＯＷＮさせればよい。また、メモリセルの経年劣化によりデータ保持特性が変化することを予めデータとして保持しておく（データ保持電圧の悪化量）ことにより、マージン量を調整するようにしても良い。当該方式により、チップの動作環境の変化等に容易に対応することが可能である。
【０１５０】
また、上記においては、電源投入後のＰＯＲ回路のＰＯＲ信号等のトリガ信号を受けてソース電位ＡＲＶＳＳの調整を開始する場合について説明した。あるいは、所定期間経過毎等に当該調整を実行する場合について説明した。
【０１５１】
なお、この際、上記したように、カウンタリセット信号ＣＲＳに従いカウンタ回路のカウンタ値はリセットされるためＡＲＶＳＳ電位調整回路のソース電位もリセットされる。
【０１５２】
ソース電位の調整の設定を毎回、電位の高い側あるいは低い側から段階的に調整する場合、ある程度の時間がかかる可能性がある。
【０１５３】
したがって、前回のソース電位ＡＲＶＳＳの調整の際のカウンタ値を別途設けられた記憶素子（不揮発性）へ格納しておき、次回のソース電位ＡＲＶＳＳの調整の際に当該格納したカウンタ値を初期値として利用するようにしても良い。当該方式により、次回のソース電位ＡＲＶＳＳの調整の際には格納しておいたカウンタ値を基にソース電位ＡＲＶＳＳの調整を開始することによりテストの収束が早まり、調整の時間を短縮することが可能である。
【０１５４】
（実施の形態３）
図１２は、メモリセルＭＣのデータ保持の温度特性を説明する図である。
【０１５５】
図１２を参照して、フェイルビット数（Fail bit count）が温度に依存して変化する場合が示されている。本例においては、一例として温度が異なる場合に電源電位ＶＤＤＭを変化させた場合のフェイルビット数が示されている。当該図に示されるように高温と低温とで同じフェイルビット数の場合でもΔＶ（一例として０．１Ｖ程度）の差がある場合が示されている。すなわち、高温の場合と低温の場合とで同じ動作信頼性を確保するためには低温の場合に比べて高温の場合には電源電位ＶＤＤＭを高くする必要がある。本例においては、電源電位ＶＤＤＭのデータ保持の温度特性について説明しているがソース電位についても同様である。すなわち、高温の場合の方が低温の場合よりも動作マージンを十分に確保する必要がある。つまり、高温の方がソース電位ＡＲＶＳＳの電位レベルを下げる必要がある。
【０１５６】
それゆえ、メモリセルＭＣのデータ保持の温度特性を考慮して、ソース電位ＡＲＶＳＳについて、高温の動作環境に合わせてマージンを加味することが望ましい。
【０１５７】
本実施の形態３においては、ＡＲＶＳＳ電位調整回路においてメモリセルＭＣのデータ保持の温度特性を反映させて最適なソース電位に調整する方式について説明する。
【０１５８】
図１３は、本実施の形態３に従うＡＲＶＳＳ電位調整回路１８＃の構成を説明する図である。
【０１５９】
図１３を参照して、ＡＲＶＳＳ電位調整回路１８＃は、温度調整回路５０と、ＡＲＶＳＳ電位調整ユニット５２とを含む。
【０１６０】
ＡＲＶＳＳ電位調整ユニット５２は、図３で説明したＡＲＶＳＳ電位調整回路１８と同様の回路構成であるためその詳細な説明については繰り返さない。ＡＲＶＳＳ電位調整回路１８＃は、ＡＲＶＳＳ電位調整回路１８の回路構成にさらに温度調整回路５０を加えた構成である。この点で、ＡＲＶＳＳ電位調整回路１８は、ＡＲＶＳＳ電位調整ユニット５２でソース電位ＡＲＶＳＳを調整するとともに、温度調整回路５０を用いてソース電位ＡＲＶＳＳをさらに調整する構成となっている。
【０１６１】
ＡＲＶＳＳ電位調整ユニット５２の構成はＡＲＶＳＳ電位調整回路１８と同様の回路構成であるため上記で説明したのと同様の動作を実行する。
【０１６２】
温度調整回路５０は、温度検知回路ＳＶと、バッファＢＦ０，ＢＦ１と、ＯＲ回路ＯＲ＿０００，ＯＲ＿０４０，ＯＲ＿０８０とを含む。また、温度調整回路５０は、ＡＮＤ回路ＡＮＤ＿Ｍ４０，ＡＮＤ＿０００，ＡＮＤ＿０４０，ＡＮＤ＿０８０，ＡＮＤ＿１２０と、トランジスタＴＲ＿Ｍ４０，ＴＲ＿０００，ＴＲ＿０４０，ＴＲ＿０８０，ＴＲ＿１２０とをさらに含む。本例においては、一例としてトランジスタＴＲ＿Ｍ４０，ＴＲ＿０００，ＴＲ＿０４０，ＴＲ＿０８０，ＴＲ＿１２０は、ＮチャネルＭＯＳトランジスタである。
【０１６３】
温度検知回路ＳＶは、チップの温度を検知して検知した温度に基づく検知信号を出力する。具体的には、一例として温度が０℃以上であれば検知信号ＴＭＰ＿０００は「１」に設定される。一方、０℃未満である場合には検知信号ＴＭＰ＿０００は「０」に設定される。
【０１６４】
また、温度が４０℃以上であれば検知信号ＴＭＰ＿０４０は「１」に設定される。一方、４０℃未満であれば検知信号ＴＭＰ＿０４０は「０」に設定される。
【０１６５】
また、温度が８０℃以上であれば検知信号ＴＭＰ＿０８０は「１」に設定される。一方、８０℃未満であれば検知信号ＴＭＰ＿０８０は「０」に設定される。
【０１６６】
また、温度が１２０℃以上であれば検知信号ＴＭＰ＿１２０は「１」に設定される。一方、１２０℃未満であれば検知信号ＴＭＰ＿１２０は「０」に設定される。
【０１６７】
バッファＢＦ０は、電源電位ＶＤＤＭと接続され、ＡＮＤ回路ＡＮＤ＿Ｍ４０の入力ノードの一方に「１」を出力する。
【０１６８】
ＯＲ回路ＯＲ＿０００は、検知信号ＴＭＰ＿０００，ＴＭＰ＿０４０，ＴＭＰ＿０８０，ＴＭＰ＿１２０の入力を受けてそのＯＲ論理演算結果を制御信号ＴＭＰＥＮ＿０００として出力する。したがって、温度が０℃以上の場合には制御信号ＴＭＰＥＮ＿０００は「１」に設定される。０℃未満の場合には制御信号ＴＭＰＥＮ＿０００は「０」に設定される。
【０１６９】
ＯＲ回路ＯＲ＿０４０は、検知信号ＴＭＰ＿０４０，ＴＭＰ＿０８０，ＴＭＰ＿１２０の入力を受けてそのＯＲ論理演算結果を制御信号ＴＭＰＥＮ＿０４０として出力する。したがって、温度が４０℃以上の場合には制御信号ＴＭＰＥＮ＿０４０は「１」に設定される。４０℃未満の場合には制御信号ＴＭＰＥＮ＿０４０は「０」に設定される。
【０１７０】
ＯＲ回路ＯＲ＿０８０は、検知信号ＴＭＰ＿０８０，ＴＭＰ＿１２０の入力を受けてそのＯＲ論理演算結果を制御信号ＴＭＰＥＮ＿０８０として出力する。したがって、温度が８０℃以上の場合には制御信号ＴＭＰＥＮ＿０８０は「１」に設定される。８０℃未満の場合には制御信号ＴＭＰＥＮ＿０８０は「０」に設定される。
【０１７１】
バッファＢＦ１は、検知信号ＴＭＰ＿１２０の入力を受けて、そして制御信号ＴＭＰＥＮ＿１２０として出力する。したがって、温度が１２０℃以上の場合には制御信号ＴＭＰＥＮ＿１２０は「１」に設定される。１２０℃未満の場合には制御信号ＴＭＰＥＮ＿１２０は「０」に設定される。
【０１７２】
ＡＮＤ回路ＡＮＤ＿Ｍ４０は、バッファＢＦ０およびスタンバイ信号ＲＳの入力を受けてそのＡＮＤ論理演算結果を制御信号ＴＭ４０としてトランジスタＴＲ＿Ｍ４０のゲートに出力する。バッファＢＦ０の出力信号は「１」に設定されるためスタンバイ信号ＲＳに従って制御信号ＴＭ４０は「１」あるいは「０」に設定される。
【０１７３】
ＡＮＤ回路ＡＮＤ＿０００は、制御信号ＴＭＰＥＮ＿０００およびスタンバイ信号ＲＳの入力を受けてそのＡＮＤ論理演算結果を制御信号Ｔ０００としてトランジスタＴＲ＿０００のゲートに出力する。制御信号Ｔ０００は、スタンバイ信号ＲＳが「１」に設定されている場合には制御信号ＴＭＰＥＮ＿０００に従って「１」あるいは「０」に設定される。
【０１７４】
ＡＮＤ回路ＡＮＤ＿０４０は、制御信号ＴＭＰＥＮ＿０４０およびスタンバイ信号ＲＳの入力を受けてそのＡＮＤ論理演算結果を制御信号Ｔ０４０としてトランジスタＴＲ＿０４０のゲートに出力する。制御信号Ｔ０４０は、スタンバイ信号ＲＳが「１」に設定されている場合には制御信号ＴＭＰＥＮ＿０４０に従って「１」あるいは「０」に設定される。
【０１７５】
ＡＮＤ回路ＡＮＤ＿０８０は、制御信号ＴＭＰＥＮ＿０８０およびスタンバイ信号ＲＳの入力を受けてそのＡＮＤ論理演算結果を制御信号Ｔ０８０としてトランジスタＴＲ＿０８０のゲートに出力する。制御信号Ｔ０８０は、スタンバイ信号ＲＳが「１」に設定されている場合には制御信号ＴＭＰＥＮ＿０８０に従って「１」あるいは「０」に設定される。
【０１７６】
ＡＮＤ回路ＡＮＤ＿１２０は、制御信号ＴＭＰＥＮ＿１２０およびスタンバイ信号ＲＳの入力を受けてそのＡＮＤ論理演算結果を制御信号Ｔ１２０としてトランジスタＴＲ＿１２０のゲートに出力する。制御信号Ｔ１２０は、スタンバイ信号ＲＳが「１」に設定されている場合には制御信号ＴＭＰＥＮ＿１２０に従って「１」あるいは「０」に設定される。
【０１７７】
トランジスタＴＲ＿Ｍ４０は、ソース線ＳＬと接地電位ＶＳＳＭとの間に配置され、そのゲートは、ＡＮＤ回路ＡＮＤ＿Ｍ４０の出力信号である制御信号ＴＭ４０の入力を受ける。上記したようにＡＮＤ回路ＡＮＤ＿Ｍ４０は、バッファＢＦ０およびスタンバイ信号ＲＳの入力を受けてＡＮＤ論理演算結果を制御信号ＴＭ４０として出力する。したがって、制御信号ＴＭ４０をゲートに受けるトランジスタＴＲ＿Ｍ４０は、スタンバイ信号ＲＳが「１」の場合にオンし、「０」の場合にオフする。すなわち、スタンバイモードの場合にオンする。当該トランジスタＴＲ＿Ｍ４０は、オン時の通過電流Ｉｄｓが小さいトランジスタに設定されているものとする。
【０１７８】
トランジスタＴＲ＿０００は、ソース線ＳＬと接地電位ＶＳＳＭとの間に配置され、そのゲートは、ＡＮＤ回路ＡＮＤ＿０００の出力信号である制御信号Ｔ０００の入力を受ける。スタンバイ信号ＲＳが「１」に設定されている場合に、温度が０度以上の場合には制御信号Ｔ０００が「１」に設定されるためトランジスタＴＲ＿０００はオンとなる。
【０１７９】
トランジスタＴＲ＿０４０は、ソース線ＳＬと接地電位ＶＳＳＭとの間に配置され、そのゲートは、ＡＮＤ回路ＡＮＤ＿０４０の出力信号である制御信号Ｔ０４０の入力を受ける。スタンバイ信号ＲＳが「１」に設定されている場合に、温度が４０度以上の場合には制御信号Ｔ０４０が「１」に設定されるためトランジスタＴＲ＿０４０はオンとなる。
【０１８０】
トランジスタＴＲ＿０８０は、ソース線ＳＬと接地電位ＶＳＳＭとの間に配置され、そのゲートは、ＡＮＤ回路ＡＮＤ＿０８０の出力信号である制御信号Ｔ０８０の入力を受ける。スタンバイ信号ＲＳが「１」に設定されている場合に、温度が８０度以上の場合には制御信号Ｔ０８０が「１」に設定されるためトランジスタＴＲ＿０８０はオンとなる。
【０１８１】
トランジスタＴＲ＿１２０は、ソース線ＳＬと接地電位ＶＳＳＭとの間に配置され、そのゲートは、ＡＮＤ回路ＡＮＤ＿１２０の出力信号である制御信号Ｔ１０２の入力を受ける。スタンバイ信号ＲＳが「１」に設定されている場合に、温度が１２０度以上の場合には制御信号Ｔ１２０が「１」に設定されるためトランジスタＴＲ＿１２０はオンとなる。
【０１８２】
すなわち、温度調整回路５０において、スタンバイ信号ＲＳが「１」に設定されている場合、初期状態においてはトランジスタＴＲ＿Ｍ４０がオンする。また、温度が０℃以上の場合にはトランジスタＴＲ＿Ｍ４０，ＴＲ＿０００がオンする。また、温度が４０℃以上の場合にはトランジスタＴＲ＿Ｍ４０，ＴＲ＿０００，ＴＲ＿０４０がオンする。また、温度が８０℃以上の場合にはトランジスタＴＲ＿Ｍ４０，ＴＲ＿０００，ＴＲ＿０４０，ＴＲ＿０８０がオンする。また、温度が１２０℃以上の場合にはトランジスタＴＲ＿Ｍ４０，ＴＲ＿０００，ＴＲ＿０４０，ＴＲ＿０８０，ＴＲ＿１２０がオンする。
【０１８３】
なお、温度調整回路５０における調整用のトランジスタＴＲ＿０００，ＴＲ＿０４０，ＴＲ＿０８０，ＴＲ＿１２０は、温度変化に従ってソース電位ＡＲＶＳＳを段階的（数ｍＶ程度）に調整する程度の通過電流Ｉｄｓの小さいトランジスタに設定されているものとする。
【０１８４】
本例においては、スタンバイ信号ＲＳが「１」すなわちスタンバイモードの場合に、ＡＲＶＳＳ電位調整ユニット５２によりソース電位ＡＲＶＳＳを調整する。そして、さらにチップの温度を検知して検知結果に従って調整用のトランジスタＴＲ＿０００，ＴＲ＿０４０，ＴＲ＿０８０，ＴＲ＿１２０をオンすることにより、ＡＲＶＳＳ電位調整ユニット５２により調整されたソース電位ＡＲＶＳＳからさらに所定電位下げて調整する。
【０１８５】
当該構成、すなわち温度調整回路５０によりチップの温度に従ってソース電位ＡＲＶＳＳの電位がさらに調整されるため、メモリセルＭＣのデータ保持の温度特性を考慮してＡＲＶＳＳ電位調整ユニット５２により調整された電位から固定的にマージンを確保する必要がなく、温度特性を反映させて最適なソース電位に調整することが可能となる。
【０１８６】
＜ソース電位ＡＲＶＳＳの調整のタイミングチャート＞
図１４は、本実施の形態３に従うソース電位ＡＲＶＳＳの調整のタイミングチャートを説明する図である。
【０１８７】
図１４を参照して、最初の時刻ｔ０から時刻ｔ１（期間Ａ）において、ソース電位ＡＲＶＳＳの調整処理が実行される。本例においては実施の形態１で説明した方式によりソース電位ＡＲＶＳＳを段階的に下げて調整する場合について説明する。
【０１８８】
具体的には、カウンタリセット信号ＣＲＳに従ってカウンタ回路３２を初期化する。これによりカウンタ信号Ｃは全て「０」に設定される。そして、スタンバイモードテストを実行する。ソース電位は、上記したように初期電位（ＶＤＤＭ／２）（メモリセルのデータが破壊される電位）に設定される。そして、上記で説明したように、期待値判定処理（（５）期待値判定（圧縮））の結果（期待値不一致）に従いカウントＵＰ制御信号が「１」に設定される。これにより、カウンタ回路３２は、カウントＵＰ制御信号が「１」に設定されたことによりカウンタ信号Ｃ＜１＞を「１」に設定する。
【０１８９】
そして、上記の（２）ＷＲＩＴＥ→（３）スタンバイ→（４）ＲＥＡＤ→（５）期待値判定（圧縮）を繰り返し、期待値判定（圧縮）の結果、期待値が一致するまで繰り返す。すなわち、データ破壊が生じない電位レベルまでソース電位ＡＲＶＳＳを下げる。
【０１９０】
本例においては、カウンタ信号Ｃ＜ｋ＞を「１」に設定した場合に期待値が一致した場合が示されている。本例においては、ソース電位ＡＲＶＳＳはＶＤＤＭ／２−ΔＶｋに調整される場合が示されている。
【０１９１】
そして、時刻ｔ１から時刻ｔ２（期間Ｂ）において、通常動作が実行される。具体的には、スタンバイ信号ＲＳが「０」に設定されて、メモリアレイＭＡに対して通常のデータの書き込み処理、読み出し処理等が実行される。
【０１９２】
そして、当該メモリアレイＭＡに対する動作処理に従いチップの温度が上昇し、検知信号ＴＭＰ＿０００，ＴＭＰ＿０４０，ＴＭＰ＿０８０，ＴＭＰ＿１２０が順番に「１」に設定される場合が示されている。
【０１９３】
次に、時刻ｔ２において、スタンバイモード（スタンバイ期間）に設定される。本例においては、時刻ｔ２から時刻ｔ４（期間Ｃ）までスタンバイモード（スタンバイ期間）となる。具体的には、スタンバイ信号ＲＳが「１」に設定されて、メモリアレイＭＡはスタンバイモードとなる。これに従い、検知信号ＴＭＰ＿０００，ＴＭＰ＿０４０，ＴＭＰ＿０８０，ＴＭＰ＿１２０が「１」であり、かつ、スタンバイ信号ＲＳが「１」に設定されているためトランジスタＴＲ＿０００，ＴＲ＿０４０，ＴＲ＿０８０，ＴＲ＿１２０が全てオンする。これにより、ソース電位ＡＲＶＳＳは、設定された電位から所定電位ΔＶ１さらに低下する。すなわち、本例においては、一例としてソース電位ＡＲＶＳＳは、ＶＤＤＭ／２−ΔＶｋ−ΔＶ１に設定される。これによりチップの温度が上昇してデータ保持特性に影響が生じる場合でもソース電位ＡＲＶＳＳを調整することにより、スタンバイモード（スタンバイ期間）においてメモリセルＭＣのデータ保持特性を考慮しつつスタンバイ電流を抑制することが可能となる。
【０１９４】
そして、スタンバイ期間においてはメモリアレイＭＡに対する処理が停止しているためチップの温度が低下し、検知信号ＴＭＰ＿１２０，ＴＭＰ＿０８０，ＴＭＰ＿０４０，ＴＭＰ＿０００が順番に「０」に設定される場合が示されている。これに応答して、トランジスタＴＲ＿１２０，ＴＲ＿０８０，ＴＲ＿０４０，ＴＲ＿０００が順番にオフする。したがって、トランジスタＴＲのオフに伴い、すなわちチップの温度変化に伴いソース電位ＡＲＶＳＳが段階的に調整されて上昇する。そして、時刻ｔ３において、検知信号ＴＭＰ＿０００が「０」に設定された場合にトランジスタＴＲ＿１２０，ＴＲ＿０８０，ＴＲ＿０４０，ＴＲ＿０００は全てオフするためソース電位ＡＲＶＳＳはＶＤＤＭ／２−ΔＶｋに調整される。これによりチップの温度が低下してデータ保持特性が改善される場合にはソース電位ＡＲＶＳＳを調整する（上昇させる）ことにより、スタンバイモード（スタンバイ期間）においてメモリセルＭＣのデータ保持特性を考慮しつつスタンバイ電流を効率的に抑制することが可能となる。
【０１９５】
次に、時刻ｔ４から時刻ｔ５（期間Ｄ）において、通常動作が実行される。具体的には、スタンバイ信号ＲＳが「０」に設定されて、メモリアレイＭＡに対して通常のデータの書き込み処理、読み出し処理等が実行される。
【０１９６】
そして、当該メモリアレイＭＡに対する動作処理に従いチップの温度が上昇し、検知信号ＴＭＰ＿０００，ＴＭＰ＿０４０が順番に「１」に設定される場合が示されている。
【０１９７】
次に、時刻ｔ５以降において、スタンバイモード（スタンバイ期間）（期間Ｅ）に設定される。具体的には、スタンバイ信号ＲＳが「１」に設定されて、メモリアレイＭＡはスタンバイモードとなる。これに従い、検知信号ＴＭＰ＿０００，ＴＭＰ＿０４０が「１」であり、かつ、スタンバイ信号ＲＳが「１」に設定されているためトランジスタＴＲ＿０００，ＴＲ＿０４０がオンする。これにより、ソース電位ＡＲＶＳＳは、設定された電位から所定電位ΔＶ２さらに低下する。すなわち、本例においては、一例としてソース電位ＡＲＶＳＳは、ＶＤＤＭ／２−ΔＶｋ−ΔＶ２に設定される。これによりチップの温度が上昇してデータ保持特性に影響が生じる場合でもソース電位ＡＲＶＳＳを調整することにより、スタンバイ期間においてメモリセルＭＣのデータ保持特性を考慮しつつスタンバイ電流を抑制することが可能となる。
【０１９８】
そして、スタンバイ期間においてはメモリアレイＭＡに対する処理が停止しているためチップの温度が低下し、検知信号ＴＭＰ＿０４０，ＴＭＰ＿０００が順番に「０」に設定される場合が示されている。これに応答して、トランジスタＴＲ＿０４０，ＴＲ＿０００が順番にオフする。したがって、トランジスタＴＲのオフに伴い、すなわちチップの温度変化に伴いソース電位ＡＲＶＳＳが段階的に調整されて上昇する。そして、時刻ｔ６において、検知信号ＴＭＰ＿０００が「０」に設定された場合にトランジスタＴＲ＿０４０，ＴＲ＿０００は全てオフするためソース電位ＡＲＶＳＳはＶＤＤＭ／２−ΔＶｋに調整される。これによりチップの温度が低下してデータ保持特性が改善される場合にはソース電位ＡＲＶＳＳを調整する（上昇させる）ことにより、スタンバイモード（スタンバイ期間）においてメモリセルＭＣのデータ保持特性を考慮しつつスタンバイ電流を効率的に抑制することが可能となる。
【０１９９】
したがって、当該構成により、ＡＲＶＳＳ電位調整回路においてメモリセルＭＣのデータ保持の温度特性を反映させて最適なソース電位に調整してスタンバイモード（スタンバイ期間）におけるスタンバイ電流を効果的に抑制することが可能である。
【０２００】
（実施の形態４）
次にソース電位ＡＲＶＳＳを設定する時間を短縮する方式について説明する。
【０２０１】
本実施の形態４においては、いわゆるバイナリサーチ（２分探索木）に従って最適なソース電位ＡＲＶＳＳの設定を短縮する場合について説明する。
【０２０２】
図１５は、本実施の形態４に従うＡＲＶＳＳ電位調整回路１８を制御する周辺回路２０の構成の概略ブロック図である。
【０２０３】
図１５を参照して、図２の構成と比較して、当該構成は、ＡＮＤ回路３０の代わりにバイナリサーチ実行回路６０を設けた点と、カウンタ回路３２をＵＰ／ＤＯＷＮカウンタ回路３６に置換した点とが異なる。
【０２０４】
バイナリサーチ実行回路６０は、バイナリサーチを実行する回路であり、カウント値出力回路６２と、バイナリサーチ制御回路６４と、カウンタ制御信号出力回路６６とを含む。
【０２０５】
本例においては、圧縮回路２８は、バイナリサーチ実行回路６０に圧縮データ「０」あるいは「１」を出力する。
【０２０６】
また、カウンタリセット信号ＣＲＳは、ＵＰ／ＤＯＷＮカウンタ回路３６およびバイナリサーチ制御回路６４に出力される。ＵＰ／ＤＯＷＮカウンタ回路３６は、カウンタリセット信号ＣＲＳに従ってカウンタ値がリセットされて初期値「０」に設定される。
【０２０７】
バイナリサーチ制御回路６４は、カウンタリセット信号ＣＲＳの入力に従ってソース電位ＡＲＶＳＳの調整に関する処理を全体的に管理する。具体的には、ＢＩＳＴ回路２４に対してテスト開始信号を出力し、ＢＩＳＴ回路２４は、テスト開始信号の指示に従って実施の形態１で説明したようにＳＲＡＭモジュール１０のメモリセルＭＣに対して所定のテストデータを書き込む処理を実行する。そして、ＳＲＡＭモジュール１０をスタンバイモードに設定する。そして、メモリセルＭＣのデータ保持特性を判定するためにＳＲＡＭモジュール１０に対して書き込んだテストデータを読み出す処理を実行する。
【０２０８】
そして、ＢＩＳＴ回路２４は、比較回路２６に期待値を出力する。そして、比較回路２６は、ＳＲＡＭモジュール１０から読み出された読出データＤＱと、ＢＩＳＴ回路２４から出力された期待値とを比較し、比較した比較結果（期待値と一致したか否か）を圧縮回路２８に出力する。圧縮回路２８は、比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば「０」をバイナリサーチ制御回路６４に出力し、１つでも不一致であれば「１」をバイナリサーチ制御回路６４に出力する。
【０２０９】
なお、ＢＩＳＴ回路２４は、テスト開始信号の指示に従ってこの一連の処理の実行後、テスト終了信号をバイナリサーチ制御回路６４に出力する。具体的には、ＢＩＳＴ回路２４は、一連の処理として、ＳＲＡＭモジュール１０に対して、所定のテストデータを書き込み、スタンバイモードに設定し、書き込んだテストデータを読み出し、期待値を出力する処理を実行した後に、テスト終了信号をバイナリサーチ制御回路６４に出力する。
【０２１０】
バイナリサーチ制御回路６４は、圧縮回路２８からの圧縮データ「０」あるいは「１」およびＢＩＳＴ回路２４からのテスト終了信号に従ってＵＰ／ＤＯＷＮ制御信号および出力開始信号をカウンタ制御信号出力回路６６に出力する。
【０２１１】
ＵＰ／ＤＯＷＮ制御信号は、カウンタ制御信号出力回路６６から出力されるカウントＵＰ制御信号あるいはカウンタＤＯＷＮ制御信号のＵＰ方向、ＤＯＷＮ方向を規定する制御信号である。
【０２１２】
また、出力開始信号は、カウンタ制御信号出力回路６６がカウンタＵＰ制御信号あるいはカウンタＤＯＷＮ制御信号を出力するためのトリガとなる信号である。カウンタ制御信号出力回路６６は、カウンタＵＰ制御信号あるいはカウンタＤＯＷＮ制御信号としてクロック信号ＣＬＫに基づいてカウント値出力回路６２からのカウント値に従うカウント値のパルス信号を出力する。そして、カウント値のパルス信号の出力が終了した場合に、カウンタ制御信号出力回路６６は、出力終了信号をバイナリサーチ制御回路６４に出力する。
【０２１３】
また、バイナリサーチ制御回路６４は、初期カウント値設定信号および初期カウント値Ｍをカウント値出力回路６２に出力する。これにより、カウント値出力回路６２は、初期カウント値設定信号に従って初期カウント値Ｍを設定してカウント値をカウンタ制御信号出力回路６６に出力する。
【０２１４】
また、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。カウント値出力回路６２は、カウント値右シフト信号に従って、設定されているカウント値のビット列を右にシフトさせる。すなわち、カウント値を１／２に設定する。
【０２１５】
また、バイナリサーチ制御回路６４は、圧縮データに従ってバイナリサーチが終了したと判断した場合にはバイナリサーチ終了信号をＢＩＳＴ回路２４に出力する。また、バイナリサーチを完了することができないエラー状態であると判断した場合には電位調整エラー信号をＢＩＳＴ回路２４に出力する。
【０２１６】
図１６は、本実施の形態４に従うソース電位ＡＲＶＳＳの調整フローを説明する図である。
【０２１７】
当該調整フローは、ソース電位ＡＲＶＳＳをスタンバイモードの際に設定される最適な電位に調整するためのフローである。
【０２１８】
概略的には、スタンバイモード（スタンバイ期間）の際にメモリセルＭＣに書き込まれたデータを保持できるか否かをテストする。具体的には、複数のレベルに調整可能なソース電位をバイナリサーチ方式に従って調整（電位を上げる、あるいは電位を下げる）してデータ破壊が生じない電位レベルを探索する。
【０２１９】
図１６を参照して、まず電源を投入する（ステップＳ２）。例えば、図示しないスイッチをオンにして電源電圧と半導体集積回路１とが接続されるようにする。
【０２２０】
次に、ＰＯＲ信号がオンしたかどうかを判断する（ステップＳ４）。具体的には、ＰＯＲ回路２２は、電源電圧が安定した状態となったと判断した場合にＰＯＲ信号を「１」（オン）に設定する。
【０２２１】
ステップＳ４において、ＰＯＲ信号がＯＮしたと判断した場合（ステップＳ４においてＹＥＳ）には、ステップＳ６に進む。なお、ＰＯＲ信号がＯＮするまでステップＳ４の状態を維持する。
【０２２２】
次に、ステップＳ６において、カウンタをリセットする（ステップＳ６）。具体的には、ＢＩＳＴ回路２４は、ＰＯＲ信号の入力に応答してカウンタリセット信号ＣＲＳ（「１」）をカウンタ回路３６に出力する。カウンタ回路３６は、当該カウンタリセット信号ＣＲＳを受けてカウンタ値をリセット（初期化）する。これに伴いカウンタ値に基づくカウンタ信号Ｃ＜Ｎ−１：０＞は「０」に設定される。また、ＢＩＳＴ回路２４は、カウンタリセット信号ＣＲＳ「１」をバイナリサーチ実行回路６０に出力する。これに従いバイナリサーチ実行回路６０は、バイナリサーチを開始する。
【０２２３】
次に、カウンタ初期値を設定する（ステップＳ７）。バイナリサーチ制御回路６４は、初期カウント値Ｍおよび初期カウント値設定信号を出力してカウント値出力回路６２に対して出力する。初期カウント値Ｍは、「２＾Ｎ−１」あるいは「１」を設定する。これによりカウント値出力回路６２は、初期カウント値として「２＾Ｎ−１」あるいは「１」が設定される。そして、当該設定されたカウント値は、カウンタ制御信号出力回路６６に出力される。なお、本例においては「＾」の記号はべき乗であることを指し示すものとする。
【０２２４】
次に、カウンタＵＰ制御信号あるいはカウンタＤＯＷＮ制御信号を出力する（ステップＳ７＃）。具体的には、バイナリサーチ制御回路６４は、カウンタ制御信号出力回路に対してカウンタＵＰ制御信号あるいはカウンタＤＯＷＮ制御信号を出力するように指示する。バイナリサーチ制御回路６４は、初期カウント値Ｍが「２＾Ｎ−１」に設定される場合にはＵＰ制御信号をカウンタ制御信号出力回路６６に出力する。一方、初期カウント値Ｍが「１」に設定される場合にはＤＯＷＮ制御信号をカウンタ制御信号出力回路６６に出力する。カウンタ制御信号出力回路６６は、カウント値出力回路６２に設定されたカウント値およびバイナリサーチ制御回路６４から出力されたＵＰ制御信号あるいはＤＯＷＮ制御信号に従ってカウンタＵＰ制御信号あるいはカウンタＤＯＷＮ制御信号を出力する。一例として、初期カウント値Ｍが「２＾Ｎ−１」に設定される場合、カウンタ制御信号出力回路６６は、ＵＰ制御信号に従って初期カウント値「２＾Ｎ−１」の値に応じたクロックパルスをカウンタＵＰ制御信号としてＵＰ／ＤＯＷＮカウンタ回路３６に出力する。これによりＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値は初期値「０」からクロックパルスに応じてインクリメントされ「２＾Ｎ−１」の値に設定される。これに伴い、カウンタ信号Ｃ＜Ｎ−１：０＞のＮ個のカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞は、すべて「１」に設定される。また、一例として、初期カウント値Ｍが「１」に設定される場合、カウンタ制御信号出力回路６６は、ＤＯＷＮ制御信号に従って初期カウント値「１」の値に応じたクロックパルスをカウンタＤＯＷＮ制御信号としてＵＰ／ＤＯＷＮカウンタ回路３６に出力する。これによりＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値は初期値０からクロックパルスに応じてデクリメントされ「２＾Ｎ−１」の値に設定される。これに伴い、カウンタ信号Ｃ＜Ｎ−１：０＞のＮ個のカウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞は、すべて「１」に設定される。
【０２２５】
また、バイナリサーチ制御回路６４は、ＢＩＳＴ回路２４に対してテスト開始信号を出力する。
【０２２６】
そして、次に、ＳＲＡＭモジュール１０に対してデータの書き込み処理を実行する（ステップＳ８）。具体的には、上記で説明したようにバイナリサーチ制御回路６４からテスト開始信号の入力を受けたＢＩＳＴ回路２４は、所定のテストデータである書込データＤＩをＳＲＡＭモジュール１０に入力する。
【０２２７】
そして、スタンバイモードテストを実行する（ステップＳ１０）。スタンバイモードテストとは、スタンバイモード（スタンバイ期間）の際にＳＲＡＭモジュール１０に書き込まれたデータを保持することが可能か否かをテストすることである。具体的には、スタンバイ信号ＲＳを「１」に設定し、また、カウンタ信号Ｃに従ってＡＲＶＳＳ電位調整回路１８でソース電位ＡＲＶＳＳをスタンバイモードの際に設定される電位に設定する。本例においては、カウンタ信号Ｃ＜０＞〜Ｃ＜Ｎ−１＞は全て「１」に設定されるため上記したように、ソース電位ＡＲＶＳＳは、データ破壊が生じない電位（例えば０Ｖ）に設定される。
【０２２８】
次に、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行する（ステップＳ１２）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、書き込んだテストデータを読み出すようにＳＲＡＭモジュール１０に対して指示する。ＳＲＡＭモジュール１０は、読出データＤＱを比較回路２６に出力する。
【０２２９】
次に、期待値判定処理を実行する（ステップＳ１４）。具体的には、比較回路２６は、ＳＲＡＭモジュール１０から読みだされた読出データＤＱと、ＢＩＳＴ回路２４から与えられる期待値とを比較して、読出データＤＱと期待値とが一致しているか否かを判断する。そして、その結果を圧縮回路２８に出力する。
【０２３０】
圧縮回路２８は、比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば「０」を出力（ステップＳ１４においてＰＡＳＳ）する。一方、データが１つでも不一致であれば「１」を出力（ステップＳ１４においてＦＡＩＬ）する。
【０２３１】
ステップＳ１４において、データが１つでも不一致であれば（ステップＳ１４においてＦＡＩＬ）、バイナリサーチ制御回路６４は、エラー情報をＢＩＳＴ回路２４に出力する（ステップＳ２０）。当該場合、すなわち、ソース電位ＡＲＶＳＳはデータ破壊が生じない電位（０Ｖ）に設定されていて動作マージンが最も確保されている状態であるにも係わらずデータ破壊が生じているためメモリセルＭＣ自体に異常がある可能性がある。したがって、当該エラー情報に従って周辺回路は所定のエラー処理を実行することが可能である。例えば、メンテナンスの通知あるいは部品交換等の通知等を外部に行うことが可能である。
【０２３２】
そして、ＢＩＳＴ回路２４およびカウンタ回路３６の処理を終了（ストップ）する（ステップＳ６８）。具体的には、ソース電位ＡＲＶＳＳの調整における処理を終了する。また、カウンタ回路３６を停止（ストップ）する。そして、処理を終了する（エンド）。
【０２３３】
一方、ステップＳ１４において、全てのデータが一致している場合（ステップＳ１４においてＰＡＳＳ）、バイナリサーチ制御回路６４は、カウント値出力回路６２のカウント値を２＾（Ｎ−１）に設定する（ステップＳ３０）。具体的には、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。そして、さらに、カウント値を１インクリメントさせる。これにより、カウント値出力回路６２のカウント値は２＾（Ｎ−１）に設定される。当該処理は、カウント値を２＾Ｎの１／２（半分）の値に設定する処理である。当該カウント値に基づいてＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値について、カウンタ値の上限（ｍａｘ）と下限（ｍｉｎ）の中間の値に設定するための処理である。
【０２３４】
そして、カウンタＤＯＷＮ制御信号を出力する（ステップＳ３２）。具体的には、バイナリサーチ制御回路６４は、カウンタ制御信号出力回路６６に対してカウンタＤＯＷＮ制御信号を出力するように指示する。ここでは、バイナリサーチ制御回路６４は、ＤＯＷＮ制御信号をカウンタ制御信号出力回路６６に出力する。カウンタ制御信号出力回路６６は、カウント値出力回路６２に設定されたカウント値およびバイナリサーチ制御回路６４から出力されたＤＯＷＮ制御信号に従ってカウンタＤＯＷＮ制御信号を出力する。カウンタ制御信号出力回路６６は、ＤＯＷＮ制御信号に従ってカウント値２＾（Ｎ−１）の値に応じたクロックパルスをカウンタＤＯＷＮ制御信号としてＵＰ／ＤＯＷＮカウンタ回路３６に出力する。これによりＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値は、２＾（Ｎ−１）−１の値に設定される。そして、当該カウンタ値に基づくカウンタ信号Ｃ＜Ｎ−１：０＞が設定される。
【０２３５】
そして、以下のループ処理を実行する。本例においては、（Ｎ−１）回ループ処理を実行する。
【０２３６】
具体的には、まず、直前の期待値判定処理を実行する（ステップＳ３６）。
そして、直前の期待値判定処理に関して、読出データＤＱと期待値とが一致していたか否かを判断する。期待値が一致していた場合（ステップＳ３６においてＰＡＳＳ）には、ステップＳ３８をスキップする。そして、スタンバイモードテストを実行する（ステップＳ４０）。具体的には、スタンバイ信号ＲＳを「１」に設定し、また、カウンタ信号Ｃに従ってＡＲＶＳＳ電位調整回路１８でソース電位ＡＲＶＳＳをスタンバイモードの際に設定される電位に設定する。
【０２３７】
一方、直前の期待値判定処理に関して、読出データＤＱと期待値とが不一致であった場合（ステップＳ３６においてＮＯ）には、ＳＲＡＭモジュール１０に対してデータの書き込み処理を実行する（ステップＳ３８）。具体的には、上記で説明したようにバイナリサーチ制御回路６４からテスト開始信号の入力を受けたＢＩＳＴ回路２４は、所定のテストデータである書込データＤＩをＳＲＡＭモジュール１０に入力する。直前の期待値判定処理が不一致であるためデータが破壊されている可能性があるため再度、データの書き込み処理を実行する必要がある。そして、ステップＳ４０のスタンバイモードテストを実行する（ステップＳ４０）。
【０２３８】
次に、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行する（ステップＳ４２）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、書き込んだテストデータを読み出すようにＳＲＡＭモジュール１０に対して指示する。ＳＲＡＭモジュール１０は、読出データＤＱを比較回路２６に出力する。
【０２３９】
次に、バイナリサーチ制御回路６４は、カウント値出力回路６２のカウント値を前回のカウント値／２に設定する（ステップＳ４４）。
【０２４０】
具体的には、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。これによりカウント値出力回路６２のカウント値は１／２の値に設定される。
【０２４１】
次に、期待値判定処理を実行する（ステップＳ４６）。具体的には、比較回路２６は、ＳＲＡＭモジュール１０から読みだされた読出データＤＱと、ＢＩＳＴ回路２４から与えられる期待値とを比較して、読出データＤＱと期待値とが一致しているか否かを判断する。そして、その結果を圧縮回路２８に出力し、圧縮回路２８は、比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば（ステップＳ４６においてＰＡＳＳ）「０」を出力する。一方、データが１つでも不一致であれば（ステップＳ４６においてＦＡＩＬ）「１」を出力する。
【０２４２】
ステップＳ４６において、データが１つでも不一致であれば（ステップＳ４６においてＦＡＩＬ）、バイナリサーチ制御回路６４は、カウンタＵＰ制御信号を出力する（ステップＳ５０）。具体的には、バイナリサーチ制御回路６４は、カウンタ制御信号出力回路６６に対してカウンタＵＰ制御信号を出力するように指示する。ここでは、バイナリサーチ制御回路６４は、ＵＰ制御信号をカウンタ制御信号出力回路６６に出力する。カウンタ制御信号出力回路６６は、カウント値出力回路６２に設定されたカウント値およびバイナリサーチ制御回路６４から出力されたＵＰ制御信号に従ってカウンタＵＰ制御信号を出力する。カウンタ制御信号出力回路６６は、ＵＰ制御信号に従ってカウント値の値に応じたクロックパルスをカウンタＵＰ制御信号としてＵＰ／ＤＯＷＮカウンタ回路３６に出力する。これによりＵＰ／ＤＯＷＮカウンタ回路３６のクロックパルスに応じたカウンタ値がインクリメントされて設定される。そして、当該カウンタ値に基づくカウンタ信号Ｃ＜Ｎ−１：０＞が設定される。そして、ループ処理（ステップＳ５２）でステップＳ３４に戻り、上記の処理を繰り返す。本例においては上記したように（Ｎ−１）回ループ処理を繰り返す。
【０２４３】
一方、ステップＳ４６において、データが全て一致であれば（ステップＳ４６においてＰＡＳＳ）、バイナリサーチ制御回路６４は、カウンタＤＯＷＮ制御信号を出力する（ステップＳ４８）。具体的には、バイナリサーチ制御回路６４は、カウンタ制御信号出力回路６６に対してカウンタＤＯＷＮ制御信号を出力するように指示する。ここでは、バイナリサーチ制御回路６４は、ＤＯＷＮ制御信号をカウンタ制御信号出力回路６６に出力する。カウンタ制御信号出力回路６６は、カウント値出力回路６２に設定されたカウント値およびバイナリサーチ制御回路６４から出力されたＤＯＷＮ制御信号に従ってカウンタＤＯＷＮ制御信号を出力する。カウンタ制御信号出力回路６６は、ＤＯＷＮ制御信号に従ってカウント値の値に応じたクロックパルスをカウンタＤＯＷＮ制御信号としてＵＰ／ＤＯＷＮカウンタ回路３６に出力する。これによりＵＰ／ＤＯＷＮカウンタ回路３６のクロックパルスに応じたカウンタ値がデクリメントされて設定される。そして、当該カウンタ値に基づくカウンタ信号Ｃ＜Ｎ−１：０＞が設定される。そして、ループ処理（ステップＳ５２）でステップＳ３４に戻り、上記の処理を繰り返す。本例においては、上記したように（Ｎ−１）回ループ処理を繰り返す。
【０２４４】
なお、当該ループ処理を（Ｎ−１）回繰り返すことによりカウント値出力回路６２のカウント値は「１」に設定される。
【０２４５】
そして、上記処理を繰り返した後、ループ処理を終了して直前の期待値判定処理を実行する（ステップＳ５４）。そして、直前の期待値判定処理に関して、読出データＤＱと期待値とが一致していたか否かを判断する。期待値が一致していた場合（ステップＳ５４においてＰＡＳＳ）には、ステップＳ５６をスキップする。そして、スタンバイモードテストを実行する（ステップＳ５８）。具体的には、スタンバイ信号ＲＳを「１」に設定し、また、カウンタ信号Ｃに従ってＡＲＶＳＳ電位調整回路１８でソース電位ＡＲＶＳＳをスタンバイモードの際に設定される電位に設定する。
【０２４６】
直前の期待値判定処理に関して、読出データＤＱと期待値とが不一致であった場合（ステップＳ５４においてＮＯ）には、ＳＲＡＭモジュール１０に対してデータの書き込み処理を実行する（ステップＳ５６）。具体的には、上記で説明したようにバイナリサーチ制御回路６４からテスト開始信号の入力を受けたＢＩＳＴ回路２４は、所定のテストデータである書込データＤＩをＳＲＡＭモジュール１０に入力する。直前の期待値判定処理が不一致であるためデータが破壊されている可能性があるため再度、データの書き込み処理を実行する。そして、次のスタンバイモードテストを実行する（ステップＳ５８）。
【０２４７】
次に、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行する（ステップＳ６０）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、書き込んだテストデータを読み出すようにＳＲＡＭモジュール１０に対して指示する。ＳＲＡＭモジュール１０は、読出データＤＱを比較回路２６に出力する。
【０２４８】
そして、期待値判定処理を実行する（ステップＳ６２）。そして、期待値判定処理に関して、読出データＤＱと期待値とが一致していたか否かを判断する。期待値が一致していた場合（ステップＳ６２においてＰＡＳＳ）には、ステップＳ６８に進み、ＢＩＳＴ回路２４およびカウンタ回路３６の処理を終了（ストップ）する。具体的には、ソース電位ＡＲＶＳＳの調整における処理を終了する。また、カウンタ回路３６を停止（ストップ）する。
【０２４９】
一方、期待値が不一致である場合（ステップＳ６２においてＦＡＩＬ）には、ステップＳ６４に進む、カウンタを１つインクリメントする。具体的には、バイナリサーチ制御回路６４は、カウンタ制御信号出力回路６６に対してカウンタＵＰ制御信号を出力するように指示する。ここでは、バイナリサーチ制御回路６４は、ＵＰ制御信号をカウンタ制御信号出力回路６６に出力する。カウンタ制御信号出力回路６６は、カウント値出力回路６２に設定されたカウント値（「１」）およびバイナリサーチ制御回路６４から出力されたＵＰ制御信号に従ってカウンタＵＰ制御信号（クロックパルス１回）を出力する。これによりＵＰ／ＤＯＷＮカウンタ回路３６のクロックパルスに応じたカウンタ値がインクリメントされて設定される。そして、当該カウンタ値に基づくカウンタ信号Ｃ＜Ｎ−１：０＞が設定される。
【０２５０】
そして、ステップＳ６８に進み、ＢＩＳＴ回路２４およびカウンタ回路３６の処理を終了（ストップ）する。具体的には、ソース電位ＡＲＶＳＳの調整における処理を終了する。また、カウンタ回路３６を停止（ストップ）する。
【０２５１】
図１７は、本実施の形態４に従うバイナリサーチ（２分探索木）のカウンタ値の具体例を説明する図である。
【０２５２】
図１７を参照して、本例においては３ビット（Ｎ＝３）のＵＰ／ＤＯＷＮカウンタ回路３６について説明する。
【０２５３】
すなわち、上記のＮ＝３の場合に相当する。
カウント値出力回路６２は、初期カウント値Ｍとして「２＾３−１」である「７」を設定するカウント値出力回路６２のカウント値のビット信号は「１１１」である。
【０２５４】
また、ＵＰ／ＤＯＷＮカウンタ回路３６は、カウンタリセット信号ＣＲＳに従って「０」に設定される。したがってＵＰ／ＤＷＯＮカウンタ回路３６のカウンタ値のビット信号は「０００」である。
【０２５５】
そして、まず、カウント値出力回路６２のカウント値に従ってカウンタＵＰ制御信号がＵＰ／ＤＯＷＮカウンタ回路３６に出力される。本例の場合には、クロックパルスが７回出力される。これによりＵＰ／ＤＯＷＮカウンタ回路３６は、インクリメントされて「７」に設定される。したがって、ＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値のビット信号は「１１１」である。カウンタ信号Ｃ＜０＞〜Ｃ＜７＞が全て「１」に設定される。したがって、ソース電位ＡＲＶＳＳは、初期電位（ＶＳＳＭ（＝０Ｖ）近傍）（メモリセルのデータの保持が可能な電位に設定）に設定される。本例においては、８段階にソース電位ＡＲＶＳＳを調整可能な場合であり、レベルＬ０〜Ｌ７（＞Ｌ０）とすると、ソース電位ＡＲＶＳＳをレベルＬ０に設定したものである。
【０２５６】
そして、当該ソース電位に基づくスタンバイモードテストに従い圧縮データは「１」が出力された場合が示されている（１）。
【０２５７】
そして、次に、カウント値出力回路６２のカウント値は２＾（３−１）である「４」に設定される。具体的には、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。そして、さらに、カウント値を１インクリメントさせる。これにより、カウント値出力回路６２のカウント値は「４」に設定される。カウント値出力回路６２のカウント値のビット信号は「１００」に設定される。
【０２５８】
カウント値出力回路６２のカウント値に従ってカウンタＤＯＷＮ制御信号がＵＰ／ＤＯＷＮカウンタ回路３６に出力される。本例の場合には、クロックパルスが４回出力される。これによりＵＰ／ＤＯＷＮカウンタ回路３６は、デクリメントされて「３」に設定される。ＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値のビット信号は「０１１」である。カウンタ信号Ｃ＜０＞〜Ｃ＜３＞が「１」に設定される。カウンタ信号Ｃ＜４＞〜Ｃ＜７＞は「０」に設定される。
【０２５９】
次に、ループ処理において、直前の期待値判定において圧縮データは「１」すなわちデータが一致（ＰＡＳＳ）であるためデータ書込をスキップしてスタンバイモードテストを実行する。
【０２６０】
この場合、カウンタ信号に従ってソース電位ＡＲＶＳＳは、初期電位から４個分のトランジスタがオフした電位に設定される（浮き上がる）。本例においては、８段階にソース電位ＡＲＶＳＳを調整可能な場合であり、レベルＬ０〜Ｌ７（＞Ｌ０）とすると、ソース電位ＡＲＶＳＳをレベルＬ４に設定したものである。
【０２６１】
本例においては、当該ソース電位に基づくスタンバイモードテストに従い圧縮データは「１」が出力された場合が示されている（２）。
【０２６２】
そして、次に、カウント値出力回路６２のカウント値は、１／２の値「２」に設定される。具体的には、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。これにより、カウント値出力回路６２のカウント値は「４」から「２」に設定される。カウント値出力回路６２のカウント値のビット信号は「０１０」に設定される。
【０２６３】
そして、期待値判定において、圧縮データは「１」すなわちデータが一致（ＰＡＳＳ）であるためカウンタＤＯＷＮ制御信号が出力される。
【０２６４】
そして、カウント値出力回路６２のカウント値に従ってカウンタＤＯＷＮ制御信号がＵＰ／ＤＯＷＮカウンタ回路３６に出力される。本例の場合には、クロックパルスが２回出力される。これによりＵＰ／ＤＯＷＮカウンタ回路３６は、デクリメントされて「１」に設定される。ＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値のビット信号は「００１」である。カウンタ信号Ｃ＜０＞〜Ｃ＜１＞が「１」に設定される。カウンタ信号Ｃ＜２＞〜Ｃ＜７＞は「０」に設定される。これにより１回目のループ処理が終了する。
【０２６５】
そして、２回目のループ処理により、直前の期待値判定において圧縮データは「１」すなわちデータが一致（ＰＡＳＳ）であるためデータ書込をスキップしてスタンバイモードテストを実行する。
【０２６６】
この場合、カウンタ信号に従ってソース電位ＡＲＶＳＳは、初期電位から６個分のトランジスタがオフした電位に設定される（浮き上がる）。本例においては、８段階にソース電位ＡＲＶＳＳを調整可能な場合であり、レベルＬ０〜Ｌ７（＞Ｌ０）とすると、ソース電位ＡＲＶＳＳをレベルＬ６に設定したものである。
【０２６７】
本例においては、当該ソース電位に基づくスタンバイモードテストに従い圧縮データは「０」が出力された場合が示されている（３）。
【０２６８】
そして、次に、カウント値出力回路６２のカウント値は、１／２の値「１」に設定される。具体的には、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。これにより、カウント値出力回路６２のカウント値は「２」から「１」に設定される。カウント値のビット信号は「００１」に設定される。
【０２６９】
そして、期待値判定において、圧縮データは「０」すなわちデータ不一致（ＦＡＩＬ）であるためカウンタＵＰ制御信号が出力される。
【０２７０】
そして、カウント値出力回路６２のカウント値に従ってカウンタＵＰ制御信号がＵＰ／ＤＯＷＮカウンタ回路３６に出力される。本例の場合には、クロックパルスが１回出力される。これによりＵＰ／ＤＯＷＮカウンタ回路３６は、インクリメントされて「２」に設定される。ＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値のビット信号は「０１０」である。カウンタ信号Ｃ＜０＞〜Ｃ＜２＞が「１」に設定される。カウンタ信号Ｃ＜３＞〜Ｃ＜７＞は「０」に設定される。これにより２回目のループ処理が終了する。
【０２７１】
ループ処理は（Ｎ−１）回すなわち２回処理したため終了する。
そして、次に、直前の期待値判定において圧縮データは「０」すなわちデータが不一致（ＦＡＩＬ）であるためデータ書込を実行してスタンバイモードテストを実行する。
【０２７２】
この場合、カウンタ信号に従ってソース電位ＡＲＶＳＳは、初期電位から５個分のトランジスタがオフした電位に設定される（浮き上がる）。本例においては、８段階にソース電位ＡＲＶＳＳを調整可能な場合であり、レベルＬ０〜Ｌ７（＞Ｌ０）とすると、ソース電位ＡＲＶＳＳをレベルＬ５に設定したものである。
【０２７３】
本例においては、当該ソース電位に基づくスタンバイモードテストに従い圧縮データは「１」が出力された場合が示されている（４）。これによりカウンタをストップする。
【０２７４】
すなわち、簡易に説明すると当該バイナリサーチ方式（２分探索木）に従うように８段階（レベルＬ０〜Ｌ７）にソース電位ＡＲＶＳＳを調整可能な場合に、まず、ソース電位ＡＲＶＳＳをレベルＬ０に設定して、圧縮データ（データが保持されているか否かの判別信号）を判定して、圧縮データが「１」である場合には、中間のレベルＬ４に設定する。そして、圧縮データを判定して、適切なソース電位ＡＲＶＳＳがいずれのグループに属するかを判定する。圧縮データが「１」であれば適切なソース電位ＡＲＶＳＳは、レベルＬ４〜Ｌ７のいずれかであり、圧縮データが「０」であれば適切なソース電位ＡＲＶＳＳは、レベルＬ０〜Ｌ３のいずれかである。すなわち、中間のレベルにソース電位ＡＲＶＳＳを設定して範囲を絞っていく方式である。当該方式を繰り返すことにより設定回数を減らすことが可能である。
【０２７５】
本例においては、（Ｎ−１）回、本例においては、２回繰り返す。具体的には、圧縮データが「１」であるためレベルＬ４〜Ｌ７の中間のレベルであるレベルＬ６に設定する。そして、圧縮データを判定して、適切なソース電位ＡＲＶＳＳがいずれのグループに属するかを判定する。圧縮データが「１」であれば適切なソース電位ＡＲＶＳＳは、レベルＬ６，Ｌ７のいずれかであり、圧縮データが「０」であれば適切なソース電位ＡＲＶＳＳは、レベルＬ４，Ｌ５のいずれかである。そして、本例においては、圧縮データが「０」であるためレベルＬ５に設定する。そして、圧縮データを判定して、適切なソース電位ＡＲＶＳＳがＬ４，Ｌ５のいずれであるかを判定する。圧縮データが「１」であれば適切なソース電位ＡＲＶＳＳは、レベルＬ５であり、圧縮データが「０」であれば適切なソース電位ＡＲＶＳＳは、レベルＬ４である。本例の場合には、圧縮データが「１」であるためソース電位ＡＲＶＳＳはレベルＬ５に設定される。
【０２７６】
したがって、期待値判定の処理は（Ｎ＋１）回、すなわち４回行うことになる。
上記の実施の形態１あるいは２においては、段階的にソース電位ＡＲＶＳＳを調整する方式であったため１段階ずつ調整して期待値判定の処理を実行するため処理に時間がかかる可能性があるが、本方式を用いることにより（Ｎ＋１）回の期待値判定の処理により適切なソース電位ＡＲＶＳＳを設定することが可能であり、効率的かつ早期に処理を完了することが可能となる。
【０２７７】
（実施の形態４の変形例）
次に実施の形態４の変形例について説明する。
【０２７８】
本実施の形態４の変形例は、上記の実施の形態４と同様に、いわゆるバイナリサーチ（２分探索木）に従って最適なソース電位ＡＲＶＳＳの設定を短縮する場合である。
【０２７９】
図１８は、本実施の形態４の変形例に従うＡＲＶＳＳ電位調整回路１８を制御する周辺回路２０の構成の概略ブロック図である。
【０２８０】
図１８を参照して、図１５の構成と比較して、バイナリサーチ実行回路６０をバイナリサーチ実行回路６０＃に置換した点が異なる。また、ＵＰ／ＤＯＷＮカウンタ回路３６を削除した点が異なる。
【０２８１】
バイナリサーチ実行回路６０＃は、バイナリサーチ制御回路６４と、カウント値出力回路６２と、Ｎビット加算減算回路６５と、Ｎビットレジスタ６７とを含む。Ｎビット加算減算回路６５は、カウンタ制御信号出力回路６６の代わりに設けられたものである。また、Ｎビットレジスタ６７は、ＵＰ／ＤＯＷＮカウンタ回路３６の代わりに設けられたものである。
【０２８２】
また、カウンタリセット信号ＣＲＳの代わりにレジスタリセット信号ＲＲＳがＢＩＳＴ回路２４からＮビットレジスタ６７およびバイナリサーチ制御回路６４に出力される。Ｎビットレジスタは、レジスタリセット信号ＲＲＳに応答してリセットされて初期値「０」に設定される。レジスタ値＜Ｎ−１：０＞は全て「０」に設定される。なお、本例においてレジスタ値＜Ｎ−１：０＞は、カウンタ信号Ｃ＜Ｎ−１：０＞と同様に用いられる。
【０２８３】
バイナリサーチ制御回路６４は、レジスタリセット信号ＲＲＳの入力に従ってソース電位ＡＲＶＳＳの調整に関する処理を全体的に管理する。具体的には、ＢＩＳＴ回路２４に対してテスト開始信号を出力し、ＢＩＳＴ回路２４は、テスト開始信号の指示に従って上記で説明したようにＳＲＡＭモジュール１０のメモリセルＭＣに対して所定のテストデータを書き込む処理を実行する。そして、ＳＲＡＭモジュール１０をスタンバイモードに設定する。そして、メモリセルＭＣのデータ保持特性を判定するためにＳＲＡＭモジュール１０に対して書き込んだテストデータを読み出す処理を実行する。
【０２８４】
そして、ＢＩＳＴ回路２４は、比較回路２６に期待値を出力する。そして、比較回路２６は、ＳＲＡＭモジュール１０から読み出された読出データＤＱと、ＢＩＳＴ回路２４から出力された期待値とを比較し、比較した比較結果（期待値と一致したか否か）を圧縮回路２８に出力する。圧縮回路２８は、比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば「０」をバイナリサーチ制御回路６４に出力し、１つでも不一致であれば「１」をバイナリサーチ制御回路６４に出力する。
【０２８５】
なお、ＢＩＳＴ回路２４は、テスト開始信号の指示に従ってこの一連の処理の実行後、テスト終了信号をバイナリサーチ制御回路６４に出力する。具体的には、ＢＩＳＴ回路２４は、一連の処理として、ＳＲＡＭモジュール１０に対して、所定のテストデータを書き込み、スタンバイモードに設定し、書き込んだテストデータを読み出し、期待値を出力する処理を実行した後に、テスト終了信号をバイナリサーチ制御回路６４に出力する。
【０２８６】
バイナリサーチ制御回路６４は、圧縮回路２８からの圧縮データ「０」あるいは「１」およびＢＩＳＴ回路２４からのテスト終了信号に従って加算減算制御信号をＮビット加算減算回路６５に出力する。
【０２８７】
加算減算制御信号は、Ｎビット加算減算回路６５における加算減算を制御する信号である。具体的には、Ｎビット加算減算回路６５は、カウント値出力回路６２に設定されているカウント値およびＮビットレジスタ６７に設定されているレジスタ値の入力を受けて、加算減算制御信号に従って加算あるいは減算処理を実行する。
【０２８８】
また、データ取り込み信号は、バイナリサーチ制御回路６４がＮビットレジスタ６７に対してＮビット加算減算回路６５の処理結果を取り込むように指示する信号である。Ｎビットレジスタ６７は、データ取り込み信号に従ってＮビット加算減算回路６５の処理結果を取り込み、レジスタ値を設定する。また、Ｎビットレジスタ６７で設定したレジスタ値は、Ｎビット加算減算回路６５で処理可能なように入力されている。
【０２８９】
また、バイナリサーチ制御回路６４は、初期カウント値設定信号および初期カウント値Ｍをカウント値出力回路６２に出力する。これにより、カウント値出力回路６２は、初期カウント値設定信号に従って初期カウント値Ｍを設定してカウント値をＮビット加算減算回路６５に出力する。
【０２９０】
また、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。カウント値出力回路６２は、カウント値右シフト信号に従って、設定されているカウント値のビット列を右にシフトさせる。すなわち、カウント値を１／２に設定する。
【０２９１】
また、バイナリサーチ制御回路６４は、圧縮データに従ってバイナリサーチが終了したと判断した場合にはバイナリサーチ終了信号をＢＩＳＴ回路２４に出力する。また、バイナリサーチを完了することができないエラー状態であると判断した場合には電位調整エラー信号をＢＩＳＴ回路２４に出力する。
【０２９２】
図１９は、本実施の形態４の変形例に従うソース電位ＡＲＶＳＳの調整フローを説明する図である。
【０２９３】
当該調整フローは、ソース電位ＡＲＶＳＳをスタンバイモードの際に設定される最適な電位に調整するためのフローである。
【０２９４】
概略的には、スタンバイモード（スタンバイ期間）の際にメモリセルＭＣに書き込まれたデータを保持できるか否かをテストする。具体的には、複数レベルに調整可能なソース電位をバイナリサーチ方式に従って調整（電位を上げる、あるいは電位を下げる）してデータ破壊が生じない電位レベルを探索する。
【０２９５】
図１９を参照して、まず電源を投入する（ステップＳ２）。例えば、図示しないスイッチをオンにして電源電圧と半導体集積回路１とが接続されるようにする。
【０２９６】
次に、ＰＯＲ信号がオンしたかどうかを判断する（ステップＳ４）。具体的には、ＰＯＲ回路２２は、電源電圧が安定した状態となったと判断した場合にＰＯＲ信号を「１」（オン）に設定する。
【０２９７】
ステップＳ４において、ＰＯＲ信号がＯＮしたと判断した場合（ステップＳ４においてＹＥＳ）には、ステップＳ６に進む。なお、ＰＯＲ信号がＯＮするまでステップＳ４の状態を維持する。
【０２９８】
次に、ステップＳ６において、レジスタをリセットする（ステップＳ５）。具体的には、ＢＩＳＴ回路２４は、ＰＯＲ信号の入力に応答してレジスタリセット信号ＲＲＳ（「１」）をＮビットレジスタ６７に出力する。Ｎビットレジスタ６７は、当該レジスタリセット信号ＲＲＳを受けてレジスタ値をリセット（初期化）する。これに伴いレジスタ値＜Ｎ−１：０＞は「０」に設定される。また、ＢＩＳＴ回路２４は、レジスタリセット信号ＲＲＳ「１」をバイナリサーチ実行回路６０に出力する。これに従いバイナリサーチ実行回路６０は、バイナリサーチを開始する。
【０２９９】
次に、レジスタ値を「２＾Ｎ−１」に設定する（ステップＳ７Ａ）。バイナリサーチ制御回路６４は、初期カウント値Ｍおよび初期カウント値設定信号を出力してカウント値出力回路６２に対して出力する。初期カウント値Ｍは、「２＾Ｎ−１」あるいは「１」を設定する。これによりカウント値出力回路６２は、初期カウント値として「２＾Ｎ−１」あるいは「１」が設定される。そして、当該設定されたカウント値は、Ｎビット加算減算回路６５に出力される。なお、本例においては「＾」の記号はべき乗であることを指し示すものとする。
【０３００】
そして、バイナリサーチ制御回路６４は、カウント値出力回路６２に初期カウント値として「２＾Ｎ−１」が設定されている場合には、加算減算制御信号として加算を指示する信号をＮビット加算減算回路６５に出力する。これによりＮビット加算減算回路６５は、Ｎビットレジスタ６７の初期値「０」と初期カウント値「２＾Ｎ−１」を加算処理する。そして、バイナリサーチ制御回路６４は、その結果を取り込むようにデータ取り込み信号をＮビットレジスタ６７に出力する。これによりＮビットレジスタ６７のレジスタ値は、「２＾Ｎ−１」に設定される。
【０３０１】
また、バイナリサーチ制御回路６４は、カウント値出力回路６２に初期カウント値として１が設定されている場合には、加算減算制御信号として減算を指示する信号をＮビット加算減算回路６５に出力する。これによりＮビット加算減算回路６５は、Ｎビットレジスタ６７の初期値「０」から初期カウント値１を減算処理する。そして、バイナリサーチ制御回路６４は、その結果を取り込むようにデータ取り込み信号をＮビットレジスタ６７に出力する。これによりＮビットレジスタ６７のレジスタ値は、「２＾Ｎ−１」に設定される。
【０３０２】
また、バイナリサーチ制御回路６４は、ＢＩＳＴ回路２４に対してテスト開始信号を出力する。
【０３０３】
そして、次に、ＳＲＡＭモジュール１０に対してデータの書き込み処理を実行する（ステップＳ８）。具体的には、上記で説明したようにバイナリサーチ制御回路６４からテスト開始信号の入力を受けたＢＩＳＴ回路２４は、所定のテストデータである書込データＤＩをＳＲＡＭモジュール１０に入力する。
【０３０４】
そして、スタンバイモードテストを実行する（ステップＳ１０）。スタンバイモードテストとは、スタンバイモード（スタンバイ期間）の際にＳＲＡＭモジュール１０に書き込まれたデータを保持することが可能か否かをテストすることである。具体的には、スタンバイ信号ＲＳを「１」に設定し、また、カウンタ信号Ｃに従ってＡＲＶＳＳ電位調整回路１８でソース電位ＡＲＶＳＳをスタンバイモードの際に設定される電位に設定する。本例においては、レジスタ値＜０＞〜＜Ｎ−１＞は全て「１」に設定されるため上記したように、ソース電位ＡＲＶＳＳは、データ破壊が生じない電位（例えば０Ｖ）に設定される。
【０３０５】
次に、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行する（ステップＳ１２）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、書き込んだテストデータを読み出すようにＳＲＡＭモジュール１０に対して指示する。ＳＲＡＭモジュール１０は、読出データＤＱを比較回路２６に出力する。
【０３０６】
次に、期待値判定処理を実行する（ステップＳ１４）。具体的には、比較回路２６は、ＳＲＡＭモジュール１０から読みだされた読出データＤＱと、ＢＩＳＴ回路２４から与えられる期待値とを比較して、読出データＤＱと期待値とが一致しているか否かを判断する。そして、その結果を圧縮回路２８に出力する。
【０３０７】
圧縮回路２８は、比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば「０」を出力（ステップＳ１４においてＰＡＳＳ）する。一方、データが１つでも不一致であれば「１」を出力（ステップＳ１４においてＦＡＩＬ）する。
【０３０８】
ステップＳ１４において、データが１つでも不一致であれば（ステップＳ１４においてＦＡＩＬ）、バイナリサーチ制御回路６４は、エラー情報をＢＩＳＴ回路２４に出力する（ステップＳ２０）。当該場合、すなわち、ソース電位ＡＲＶＳＳはデータ破壊が生じない電位（０Ｖ）に設定されていて動作マージンが最も確保されている状態であるにも係わらずデータ破壊が生じているためメモリセルＭＣ自体に異常がある可能性がある。したがって、当該エラー情報に従って周辺回路は所定のエラー処理を実行することが可能である。例えば、メンテナンスの通知あるいは部品交換等の通知等を外部に行うことが可能である。
【０３０９】
そして、ＢＩＳＴ回路２４およびカウンタ回路３６の処理を終了（ストップ）する（ステップＳ６８）。具体的には、ソース電位ＡＲＶＳＳの調整における処理を終了する。また、カウンタ回路３６を停止（ストップ）する。そして、処理を終了する（エンド）。
【０３１０】
一方、ステップＳ１４において、全てのデータが一致している場合（ステップＳ１４においてＰＡＳＳ）、バイナリサーチ制御回路６４は、カウント値出力回路６２のカウント値を２＾（Ｎ−１）に設定する（ステップＳ３０）。具体的には、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。そして、さらに、カウント値を１インクリメントさせる。これにより、カウント値出力回路６２のカウント値は２＾（Ｎ−１）に設定される。当該処理は、カウント値を２＾Ｎの１／２（半分）の値に設定する処理である。当該カウント値に基づいてＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値について、カウンタ値の上限（ｍａｘ）と下限（ｍｉｎ）の中間の値に設定するための処理である。
【０３１１】
そして、レジスタ値をカウント値で減算する処理を実行する（ステップＳ３３）。具体的には、バイナリサーチ制御回路６４は、Ｎビット加算減算回路６５に対してレジスタ値「２＾Ｎ−１」に対してカウント値「２＾（Ｎ−１）」を減算するように指示する加算減算制御信号を出力する。これによりＮビット加算減算回路６５において減算処理が実行されて、「２＾（Ｎ−１）−１」の値に設定される。そして、バイナリサーチ制御回路６４は、Ｎビットレジスタ６７にデータを取り込むようにデータ取り込み信号を出力する。これにより、Ｎビットレジスタ６７のレジスタ値は「２＾（Ｎ−１）−１」の値に設定される。そして、当該レジスタ値に基づきＡＲＶＳＳ電位調整回路１８のソース電位ＡＲＶＳＳが調整される。
【０３１２】
そして、以下のループ処理を実行する。本例においては、（Ｎ−１）回ループ処理を実行する。
【０３１３】
具体的には、まず、直前の期待値判定処理を実行する（ステップＳ３６）。
そして、直前の期待値判定処理に関して、読出データＤＱと期待値とが一致していたか否かを判断する。期待値が一致していた場合（ステップＳ３６においてＰＡＳＳ）には、ステップＳ３８をスキップする。そして、スタンバイモードテストを実行する（ステップＳ４０）。具体的には、スタンバイ信号ＲＳを「１」に設定し、また、レジスタ値＜Ｎ−１：０＞に従ってＡＲＶＳＳ電位調整回路１８でソース電位ＡＲＶＳＳをスタンバイモードの際に設定される電位に設定する。
【０３１４】
一方、直前の期待値判定処理に関して、読出データＤＱと期待値とが不一致であった場合（ステップＳ３６においてＮＯ）には、ＳＲＡＭモジュール１０に対してデータの書き込み処理を実行する（ステップＳ３８）。具体的には、上記で説明したようにバイナリサーチ制御回路６４からテスト開始信号の入力を受けたＢＩＳＴ回路２４は、所定のテストデータである書込データＤＩをＳＲＡＭモジュール１０に入力する。直前の期待値判定処理が不一致であるためデータが破壊されている可能性があるため再度、データの書き込み処理を実行する必要がある。そして、ステップＳ４０のスタンバイモードテストを実行する（ステップＳ４０）。
【０３１５】
次に、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行する（ステップＳ４２）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、書き込んだテストデータを読み出すようにＳＲＡＭモジュール１０に対して指示する。ＳＲＡＭモジュール１０は、読出データＤＱを比較回路２６に出力する。
【０３１６】
次に、バイナリサーチ制御回路６４は、カウント値出力回路６２のカウント値を前回のカウント値／２に設定する（ステップＳ４４）。
【０３１７】
具体的には、バイナリサーチ制御回路６４は、カウント値右シフト信号をカウント値出力回路６２に出力する。これによりカウント値出力回路６２のカウント値は１／２の値に設定される。
【０３１８】
次に、期待値判定処理を実行する（ステップＳ４６）。具体的には、比較回路２６は、ＳＲＡＭモジュール１０から読みだされた読出データＤＱと、ＢＩＳＴ回路２４から与えられる期待値とを比較して、読出データＤＱと期待値とが一致しているか否かを判断する。そして、その結果を圧縮回路２８に出力し、圧縮回路２８は、比較回路２６から出力された比較結果について圧縮し、全てのデータが一致していれば（ステップＳ４６においてＰＡＳＳ）「０」を出力する。一方、データが１つでも不一致であれば（ステップＳ４６においてＦＡＩＬ）「１」を出力する。
【０３１９】
ステップＳ４６において、データが１つでも不一致であれば（ステップＳ４６においてＦＡＩＬ）、レジスタ値をカウント値で加算する処理を実行する（ステップＳ５１）。具体的には、バイナリサーチ制御回路６４は、Ｎビット加算減算回路６５に対してレジスタ値に対してカウント値を加算するように指示する加算減算制御信号を出力する。これによりＮビット加算減算回路６５において加算処理が実行される。そして、バイナリサーチ制御回路６４は、Ｎビットレジスタ６７にデータ取り込み信号を出力する。これによりＮビットレジスタ６７のレジスタ値は、Ｎビット加算減算回路６５の処理結果に設定される。そして、当該レジスタ値に基づいてＡＲＶＳＳ電位調整回路１８のソース電位ＡＲＶＳＳが調整される。そして、ループ処理（ステップＳ５２）でステップＳ３４に戻り、上記の処理を繰り返す。本例においては上記したように（Ｎ−１）回ループ処理を繰り返す。
【０３２０】
一方、ステップＳ４６において、データが全て一致であれば（ステップＳ４６においてＰＡＳＳ）、レジスタ値をカウント値で減算する処理を実行する（ステップＳ４７）。具体的には、バイナリサーチ制御回路６４は、Ｎビット加算減算回路６５に対してレジスタ値に対してカウント値を減算するように指示する加算減算制御信号を出力する。これによりＮビット加算減算回路６５において減算処理が実行される。そして、バイナリサーチ制御回路６４は、Ｎビットレジスタ６７にデータ取り込み信号を出力する。これによりＮビットレジスタ６７のレジスタ値は、Ｎビット加算減算回路６５の処理結果に設定される。そして、当該レジスタ値に基づいてＡＲＶＳＳ電位調整回路１８のソース電位ＡＲＶＳＳが調整される。そして、ループ処理（ステップＳ５２）でステップＳ３４に戻り、上記の処理を繰り返す。本例においては、上記したように（Ｎ−１）回ループ処理を繰り返す。
【０３２１】
なお、当該ループ処理を（Ｎ−１）回繰り返すことによりカウント値出力回路６２のカウント値は「１」に設定される。
【０３２２】
そして、上記処理を繰り返した後、ループ処理を終了して直前の期待値判定処理を実行する（ステップＳ５４）。そして、直前の期待値判定処理に関して、読出データＤＱと期待値とが一致していたか否かを判断する。期待値が一致していた場合（ステップＳ５４においてＰＡＳＳ）には、ステップＳ５６をスキップする。そして、スタンバイモードテストを実行する（ステップＳ５８）。具体的には、スタンバイ信号ＲＳを「１」に設定し、また、レジスタ値＜Ｎ−１：０＞に従ってＡＲＶＳＳ電位調整回路１８でソース電位ＡＲＶＳＳをスタンバイモードの際に設定される電位に設定する。
【０３２３】
直前の期待値判定処理に関して、読出データＤＱと期待値とが不一致であった場合（ステップＳ５４においてＮＯ）には、ＳＲＡＭモジュール１０に対してデータの書き込み処理を実行する（ステップＳ５６）。具体的には、上記で説明したようにバイナリサーチ制御回路６４からテスト開始信号の入力を受けたＢＩＳＴ回路２４は、所定のテストデータである書込データＤＩをＳＲＡＭモジュール１０に入力する。直前の期待値判定処理が不一致であるためデータが破壊されている可能性があるため再度、データの書き込み処理を実行して、次のスタンバイモードテストを実行する（ステップＳ５８）。
【０３２４】
次に、ＳＲＡＭモジュール１０に対してデータの読み出し処理を実行する（ステップＳ６０）。具体的には、上記で説明したようにＢＩＳＴ回路２４は、書き込んだテストデータを読み出すようにＳＲＡＭモジュール１０に対して指示する。ＳＲＡＭモジュール１０は、読出データＤＱを比較回路２６に出力する。
【０３２５】
そして、期待値判定処理を実行する（ステップＳ６２）。そして、期待値判定処理に関して、読出データＤＱと期待値とが一致していたか否かを判断する。期待値が一致していた場合（ステップＳ６２においてＰＡＳＳ）には、ステップＳ６９に進み、ＢＩＳＴ回路２４およびＮビットレジスタ６７の処理を終了（ストップ）する。具体的には、ソース電位ＡＲＶＳＳの調整における処理を終了する。
【０３２６】
一方、期待値が不一致である場合（ステップＳ６２においてＦＡＩＬ）には、ステップＳ６４に進む、Ｎビットレジスタ６７のレジスタ値を１加算する。具体的には、バイナリサーチ制御回路６４は、Ｎビット加算減算回路６５に対してカウント値出力回路６２に設定されたカウント値（「１」）を加算するように指示する加算減算制御信号を出力する。これによりＮビット加算減算回路６５において加算処理が実行される。そして、バイナリサーチ制御回路６４は、Ｎビットレジスタ６７にデータ取り込み信号を出力する。これによりＮビットレジスタ６７のレジスタ値は、Ｎビット加算減算回路６５の処理結果に設定される。そして、当該レジスタ値に基づいてＡＲＶＳＳ電位調整回路１８のソース電位ＡＲＶＳＳが調整される。
【０３２７】
そして、ステップＳ６９に進み、ＢＩＳＴ回路２４およびＮビットレジスタ６７の処理を終了（ストップ）する。具体的には、ソース電位ＡＲＶＳＳの調整における処理を終了する。
【０３２８】
なお、処理の流れは基本的に実施の形態４と同様であり、図１７の具体例に関しても、ＵＰ／ＤＯＷＮカウンタ回路３６のカウンタ値をＮビットレジスタ６７のレジスタ値に置換したものと同じである。
【０３２９】
したがって、上記で説明したように、当該バイナリサーチ方式（２分探索木）に従って（Ｎ＋１）回の期待値判定の処理により適切なソース電位ＡＲＶＳＳを設定することが可能であり、効率的かつ早期に処理を完了することが可能となる。
【０３３０】
また、実施の形態４においてはＵＰ／ＤＯＷＮカウンタ回路のカウンタ値をインクリメントあるいはデクリメントするためにカウンタＵＰ制御信号およびカウンタＤＯＷＮ制御信号としてクロックパルスを用いる場合について説明したが、本例においてはレジスタを用いてＵＰ／ＤＯＷＮカウンタ回路と同様の機能を実現したためクロックパルスを用いてインクリメントあるいはデクリメントする必要がなく、ソース電位ＡＲＶＳＳの設定をより早期にまた効率的に処理を完了することが可能となる。
【０３３１】
なお、本実施の形態４においてはバイナリサーチ実行回路において、ビット演算等によりカウンタ信号あるいはレジスタ値を調整する方式について説明したが当該方式に限られず、バイナリサーチ（２分探索木）をソフト的にプログラムにより実行してカウンタ信号あるいはレジスタ値を設定するようにしても良い。
【０３３２】
（実施の形態５）
上記の実施の形態においては、ソース電位ＡＲＶＳＳを適切な値に調整する方式について説明した。一方で、ソース電位に限られず他の電位を調整する場合についても同様に適用可能である。
【０３３３】
図２０は、本実施の形態に従うリードアシスト回路２００の構成を説明する図である。
図２０（Ａ）を参照して、リードアシスト回路２００は、データ読み出し（ＲＥＡＤ）用のワード線駆動電位ＬＣＶＤＤを調整する回路である。
【０３３４】
具体的には、リードアシスト回路２００は、トランジスタ２０２，２０４，２０６，２０８，２１０を含む。
【０３３５】
トランジスタ２０２は、電源電位ＶＤＤＭとノードＮｐとの間に設けられ、そのゲートはＬＣＶＤＤ制御信号Ｌａの入力を受ける。また、トランジスタ２１０は、ノードＮｐとノードＮｑとの間に設けられ、そのゲートは電源電位ＶＤＤＭの入力を受ける。
【０３３６】
また、ノードＮｑは接地電位ＶＳＳＭとの間に設けられ、そのゲートはＬＣＶＤＤ制御信号Ｌｂの入力を受ける。
【０３３７】
トランジスタ２０６，２０８は、ノードＮｐと接地電位ＶＳＳＭとの間に設けられ、そのゲートはデコード信号の入力を受ける。また、トランジスタ２０６，２０８の接続ノードはワード線ＷＬと接続される。
【０３３８】
本例においては、トランジスタ２０２，２０６は、ＰチャネルＭＯＳトランジスタ、トランジスタ２０４，２０８，２１０は、ＮチャネルＭＯＳトランジスタとする。
【０３３９】
ＬＣＶＤＤ制御信号Ｌａ，Ｌｂは、それぞれ相補な関係にあり、ＬＣＶＤＤ制御信号Ｌａが「１」の場合には、ＬＣＶＤＤ制御信号Ｌｂは「０」である。また、ＬＣＶＤＤ制御信号Ｌａが「０」の場合には、ＬＣＶＤＤ制御信号Ｌｂは「１」である。初期状態においては、ＬＣＶＤＤ制御信号Ｌａは「１」、ＬＣＶＤＤ制御信号Ｌｂは「０」に設定されている。したがって、トランジスタ２０２，２０４はオフした状態である。
【０３４０】
一方、ワード線を駆動させる場合には、ＬＣＶＤＤ制御信号Ｌａは「０」、ＬＣＶＤＤ制御信号Ｌｂは「１」に設定される。これに伴いトランジスタ２０２，２０４はオンする。また、トランジスタ２１０のゲートは電源電位ＶＤＤＭと接続されるためオンしている。したがって、トランジスタ２１０を通過する通過電流が流れる。トランジスタ２１０は、ワード線駆動電位ＬＣＶＤＤを初期電位に調整するトランジスタである。本例の場合には、ワード線駆動電位ＬＣＶＤＤについて、電源電位ＶＤＤＭから所定電位引き下げた電位となるようにトランジスタサイズが設定されているものとする。そして、デコード信号「０」に応答してワード線ＷＬがワード線駆動電位ＬＣＶＤＤにプルアップされる。なお、初期状態において、デコード信号は「１」に設定されているものとする。デコード信号「１」に応答してトランジスタ２０８がオンし、初期状態においてワード線ＷＬは、接地電位ＶＳＳＭ（０Ｖ）に設定されている。なお、デコード信号は、メモリセルの行を選択するアドレス信号に従ってワード線デコーダ１２内で生成される。
【０３４１】
図２０（Ｂ）を参照して、ここではＬＣＶＤＤ制御信号Ｌａ，Ｌｂおよびワード線ＷＬの活性化のタイミングチャートが示されている。
【０３４２】
なお、デコード信号は「０」であるものとする。
時刻ｔ１０において、ＬＣＶＤＤ制御信号Ｌａは「１」、ＬＣＶＤＤ制御信号Ｌｂは「０」に設定されている。したがって、トランジスタ２０２，２０４はオフした状態である。
【０３４３】
次に、時刻ｔ１１において、ＬＣＶＤＤ制御信号Ｌａは「０」、ＬＣＶＤＤ制御信号Ｌｂは「１」に設定される。したがって、トランジスタ２０２，２０４はオンした状態である。これにより、ワード線ＷＬは活性化され、ワード線駆動電位ＬＣＶＤＤに設定される。
【０３４４】
そして、時刻ｔ１２において、ＬＣＶＤＤ制御信号Ｌａは「１」、ＬＣＶＤＤ制御信号Ｌｂは「０」に設定される。これによりトランジスタ２０２，２０４はオフする。そして、ワード線ＷＬは非活性化され、接地電位ＶＳＳＭ（０Ｖ）に設定される。
【０３４５】
そして、再び、図２０（Ａ）を参照して、本例においては、リードアシスト回路２００において、ワード線駆動電位ＬＣＶＤＤを複数の電位に可変可能に調整するための調整用トランジスタが設けられる。具体的には、トランジスタＴｒｎ１〜Ｔｒｎ３がノードＮｐとノードＮｑとの間にそれぞれ並列に設けられる。そして、それぞれのゲートはＬＣＶＤＤ電位調整信号の入力を受ける。ＬＣＶＤＤ電位調整信号に従ってトランジスタＴｒｎ１〜Ｔｒｎ３の少なくとも１つのトランジスタＴｒｎがオンする毎によりワード線駆動電位ＬＣＶＤＤは、オン時の通過電流に応じた電位分、データ読み出し用のワード線駆動電位ＬＣＶＤＤが下がることになる。
【０３４６】
ＬＣＶＤＤ電位調整信号として、実施の形態１で説明したようにカウンタ回路３２のカウンタ信号Ｃを用いることが可能である。これにより、実施の形態１で説明したように最適なデータ読み出し用のワード線駆動電位ＬＣＶＤＤとなるように調整することが可能である。なお、他の実施形態の構成についても同様に適用可能である。
【０３４７】
（実施の形態５の変形例１）
図２１は、本実施の形態に従うライトアシスト回路２２０の構成を説明する図である。
【０３４８】
図２１（Ａ）を参照して、ライトアシスト回路２２０は、データ書き込み（ＷＲＩＴＥ）用の電源電位ＡＲＶＤＤを調整する回路である。上記の構成においては、メモリセルＭＣに対して電源電位ＶＤＤＭが供給される構成について説明したが、データ書き込みをアシストするために電源電位ＶＤＤＭの代わりに電源電位ＡＲＶＤＤを供給する構成とすることも可能である。
【０３４９】
具体的には、ライトアシスト回路２２０は、トランジスタ２２２，２２４，２２６，２２８，２３０を含む。
【０３５０】
トランジスタ２２２，２２４は、電源電位ＶＤＤとノードＮｒとの間に設けられ、そのゲートはそれぞれＡＲＶＤＤ制御信号Ｗａ，Ｗｂの入力を受ける。また、その接続ノードから電源電位ＡＲＶＤＤがメモリセルＭＣに対して電源電位ＶＤＤＭの代わりに供給されるものとする。なお、電源電位ＶＤＤは、電源電位ＶＤＤＭよりも高い電位であるものとする。
【０３５１】
また、トランジスタ２２６は、ノードＮｒとノードＮｓとの間に設けられ、そのゲートは、ＡＲＶＤＤ制御信号Ｗｂの入力を受ける。
【０３５２】
トランジスタ２２８，２３０は、ノードＮｓと接地電位ＶＳＳＭとの間に直列に接続され、トランジスタ２２８のゲートはノードＮｒと接続される。また、トランジスタ２３０のゲートはＡＲＶＤＤ制御信号Ｗｃの入力を受ける。
【０３５３】
本例においては、トランジスタ２２２，２２４，２２６は、ＰチャネルＭＯＳトランジスタ、トランジスタ２２８，２３０は、ＮチャネルＭＯＳトランジスタとする。
【０３５４】
ＡＲＶＤＤ制御信号Ｗａは、メモリセルＭＣに対する電源スイッチであり、ＳＲＡＭ動作期間中は、「０」に設定される。初期状態においては、ＡＲＶＤＤ制御信号Ｗｂは「１」、ＡＲＶＤＤ制御信号Ｗｃは「０」に設定されている。したがって、トランジスタ２２２はオンした状態であり、トランジスタ２２４，２２６，２３０はオフした状態である。
【０３５５】
一方、メモリセルＭＣに対してデータ書き込みを実行する場合において、ワード線を駆動させる場合には、ＡＲＶＤＤ制御信号Ｗｂは「０」に設定される。また、ＡＲＶＤＤ制御信号Ｗｃは「１」に設定される。これに伴いトランジスタ２２４，２２６，２３０はオンする。
【０３５６】
また、トランジスタ２２８のゲートはノードＮｒと接続されるためオンしている。したがって、トランジスタ２２８を通過する通過電流が流れる。トランジスタ２２８は、データ書き込みを実行する場合において、メモリセルの電源電位である電位ＡＲＶＤＤを初期電位に調整するトランジスタである。本例の場合には、電源電位ＡＲＶＤＤについて、電源電位ＶＤＤから所定電位引き下げた電位となるようにトランジスタサイズが設定されているものとする。
【０３５７】
図２１（Ｂ）を参照して、ここではＡＲＶＤＤ制御信号Ｗａ，Ｗｂおよびワード線ＷＬの活性化のタイミングチャートが示されている。本例においては、ワード線ＷＬは、データ書き込み時に立ち上げられるものとする。
【０３５８】
時刻ｔ２０において、ＡＲＶＤＤ制御信号Ｗｂは「１」に設定されている。また、ＡＲＶＤＤ制御信号Ｗｃは「０」に設定されている。
【０３５９】
したがって、トランジスタ２２４，２２６，２３０はオフした状態である。
次に、時刻ｔ２１において、ＡＲＶＤＤ制御信号Ｗｂは「０」に、ＡＲＶＤＤ制御信号Ｗｃは「１」に設定される。したがって、トランジスタ２２４，２２６，２３０はオンした状態である。また、トランジスタ２２８はオンした状態となる。これにより電源電位ＡＲＶＤＤの供給線と接地電位ＶＳＳＭ（０Ｖ）との間に電流経路が形成される。そして、ワード線ＷＬは活性化され、設定された電位ＡＲＶＤＤに従ってメモリセルＭＣに対するデータ書き込みが実行される。
【０３６０】
そして、時刻ｔ２２において、ＡＲＶＤＤ制御信号Ｗｂは「１」に、ＡＲＶＤＤ制御信号Ｗｃは「０」に設定される。これによりトランジスタ２２４，２２６，２３０はオフする。また、トランジスタ２２８はオフした状態となる。そして、ワード線ＷＬは非活性化される。
【０３６１】
そして、再び、図２１（Ａ）を参照して、本例においては、ライトアシスト回路２２０において、電源電位ＡＲＶＤＤを複数の電位に可変可能に調整するための調整用トランジスタが設けられる。具体的には、トランジスタＴｒｐ１〜Ｔｒｐ３がノードＮｒとノードＮｓとの間にそれぞれ並列に設けられる。そして、それぞれのゲートはＡＲＶＤＤ電位調整信号の入力を受ける。ＡＲＶＤＤ電位調整信号に従ってトランジスタＴｒｐ１〜Ｔｒｐ３の少なくとも１つのトランジスタＴｒｐがオンする毎により電源電位ＡＲＶＤＤは、オン時の通過電流に応じた電位分、データ書き込み用の電源電位ＡＲＶＤＤの電位が下がることになる。
【０３６２】
ＡＲＶＤＤ電位調整信号として、実施の形態１で説明したようにカウンタ回路３２のカウンタ信号Ｃを用いることが可能である。これにより、実施の形態１で説明したように最適なデータ書き込み用の電源電位ＡＲＶＤＤとなるように調整することが可能である。なお、他の実施形態の構成についても同様に適用可能である。
【０３６３】
なお、電位の調整に関しては、他の周辺回路の電位についても同様に適用可能である。
（実施の形態６）
上記の実施の形態においては、制御信号に従って電位レベルを調整する場合について説明したが、電位レベルの調整に限られず、タイミング信号等を調整することも可能である。
【０３６４】
図２２は、本実施の形態６に従うワード線を駆動するタイミングを調整する回路を説明する図である。
【０３６５】
図２２（Ａ）を参照して、ここでは、ワード線活性信号を生成するワード線活性期間調整回路２４０が示されている。
【０３６６】
ワード線活性期間調整回路２４０は、ＡＮＤ回路２４４，２５０，２５４と、遅延回路２４２，２４８，２５２と、セレクタ２５８とを含む。
【０３６７】
ＡＮＤ回路２４４は、遅延回路２４２を介するワード線活性制御信号ＷＣＥＮの入力とワード線活性期間調整信号の入力を受けてそのＡＮＤ論理演算結果を出力する。
【０３６８】
ＡＮＤ回路２５０は、ＡＮＤ回路２４４からの遅延回路２４８を介する出力信号とワード線活性期間調整信号の入力を受けてそのＡＮＤ論理演算結果を出力する。
【０３６９】
ＡＮＤ回路２５４は、ＡＮＤ回路２５０からの遅延回路２５２を介する出力信号とワード線活性期間調整信号の入力を受けてそのＡＮＤ論理演算結果を出力する。
【０３７０】
セレクタ２５８は、ワード線活性制御信号ＷＣＥＮと、ＡＮＤ回路２４４，２５０，２５４のそれぞれの出力信号を受けて、ワード線活性期間調整信号に従って、いずれかの出力信号を出力する。具体的には、ワード線活性期間調整信号が入力されない場合には、セレクタ２５８は、ワード線活性制御信号ＷＣＥＮをそのまま遅延無しにワード線活性信号ＷＬＥNとして出力する。
【０３７１】
ワード線活性期間調整信号は、対応するＡＮＤ回路に入力されてワード線活性制御信号ＷＣＥＮを遅延させる。具体的には、ＡＮＤ回路２４４にワード線活性調整信号が「１」が入力されるとワード線活性制御信号ＷＣＥＮは、遅延回路２４２を介した遅延分遅れたワード線活性制御信号ＷＣＥＮがセレクタ２５８に出力される。
【０３７２】
また、ＡＮＤ回路２４４，２５０にワード線活性調整信号が「１」が入力されるとワード線活性制御信号ＷＣＥＮは、遅延回路２４２，２４８を介した遅延分遅れたワード線活性制御信号ＷＣＥＮがセレクタ２５８に出力される。
【０３７３】
また、ＡＮＤ回路２４４，２５０，２５４にワード線活性調整信号が「１」が入力されるとワード線活性制御信号ＷＣＥＮは、遅延回路２４２，２４８、２５２を介した遅延分遅れたワード線活性制御信号ＷＣＥＮがセレクタ２５８に出力される。
【０３７４】
セレクタ２５８は、出力するワード線活性制御信号ＷＣＥＮを切り替えてワード線活性信号ＷＬＥNとして出力する。具体的には、ＡＮＤ回路２４４にのみワード線活性調整信号が「１」が入力される場合には、ＡＮＤ回路２４４の出力信号をワード線活性信号ＷＬＥNとして出力する。また、ＡＮＤ回路２４４，２５０にワード線活性調整信号が「１」が入力される場合には、ＡＮＤ回路２５０の出力信号をワード線活性信号ＷＬＥNとして出力する。また、ＡＮＤ回路２４４，２５０，２５４にワード線活性調整信号が「１」が入力される場合には、ＡＮＤ回路２５４の出力信号をワード線活性信号ＷＬＥNとして出力する。
【０３７５】
図２２（Ｂ）を参照して、ここでは、ワード線ＷＬを駆動するドライバの構成が示されている。
【０３７６】
具体的には、ドライバは、トランジスタ２６２，２６４と、ＮＡＮＤ回路２６０とを含む。トランジスタ２６２，２６４は、ワード線駆動電位ＬＣＶＤＤと、接地電位ＶＳＳＭとの間に設けられ、そのゲートはそれぞれＮＡＮＤ回路２６０の入力を受ける。トランジスタ２６２は、ＰチャネルＭＯＳトランジスタ、トランジスタ２６４は、ＮチャネルＭＯＳトランジスタである。
【０３７７】
ＮＡＮＤ回路２６０は、デコード信号とワード線活性信号ＷＬＥNの入力を受けてそのＮＡＮＤ論理演算結果を出力する。具体的には、デコード信号と、ワード線活性信号ＷＬＥNがともに「１」である場合に、ＮＡＮＤ回路２６０の出力信号は、「０」に設定されてトランジスタ２６２がオンする。これにより、ワード線駆動電位ＬＣＶＤＤがワード線ＷＬに供給される。一方、それ以外の場合にはＮＡＮＤ回路２６０の出力信号は、「１」に設定されてトランジスタ２６４がオンする。これにより、ワード線ＷＬは、接地電位ＶＳＳＭに設定される。
【０３７８】
図２２（Ｃ）を参照して、ここではワード線ＷＬの立ち上げに関係するワード線活性制御信号ＷＣＥＮ、ワード線活性信号ＷＬＥN等のタイミングチャートが示されている。
【０３７９】
時刻ｔ３０において、ワード線活性制御信号ＷＣＥＮが「１」に設定された場合が示されている。
【０３８０】
そして、その後、時刻ｔ３１において、デコード信号が「１」に設定される。
そして、時刻ｔ３２において、ワード線活性制御信号ＷＣＥＮが遅延してワード線活性信号ＷＬＥNが「１」に設定される。これとともにワード線ＷＬが立ち上がる。
【０３８１】
ワード線活性期間調整信号として、実施の形態１で説明したようにカウンタ回路３２のカウンタ信号Ｃを用いることが可能である。これにより、ワード線を立ち上げるタイミング信号であるワード線活性信号ＷＬＥNを適切なタイミングに調整して、適切なタイミングでワード線ＷＬをプルアップすることが可能である。これによりタイミングが早すぎるあるいは遅すぎることによるデータ書込みあるいは読み出しの異常を抑制することが可能である。なお、他の実施形態の構成についても同様に適用可能である。
【０３８２】
（実施の形態６の変形例）
図２３は、本実施の形態６の変形例に従うセンスアンプを駆動するタイミングを調整する回路を説明する図である。
【０３８３】
図２３（Ａ）を参照して、ここでは、センスアンプを活性化するセンスアンプ活性信号を生成するセンスアンプ活性タイミング調整回路２７０が示されている。
【０３８４】
センスアンプ活性タイミング調整回路２７０は、遅延回路２７２，２７４，２７６と、セレクタ２７８とを含む。遅延回路２７２，２７４，２７６はそれぞれ遅延時間が異なるものとする。セレクタ２７８は、センスアンプ活性タイミング調整信号に従って遅延回路から出力された信号を切り替えてセンスアンプ活性信号ＳＥＮとして出力する。
【０３８５】
図２３（Ｂ）を参照して、ここではセンスアンプ活性信号の遅延を説明するタイミングチャートが示されている。
【０３８６】
時刻ｔ４０において、センスアンプ活性制御信号ＳＣＥＮが「１」に設定された場合が示されている。
そして、その後、時刻ｔ４１において、遅延回路により所定期間分、遅延したセンスアンプ活性信号ＳＥＮが出力される。
【０３８７】
センスアンプ活性タイミング調整信号として、実施の形態１等で説明したようにカウンタ回路３２のカウンタ信号Ｃを用いることが可能である。これにより、センスアンプを立ち上げるタイミング信号であるセンスアンプ活性信号ＳＥＮを適切なタイミングに調整して、適切なタイミングでセンスアンプを活性化することが可能である。これによりタイミングが早すぎるあるいは遅すぎることによるデータ読み出しの異常あるいはエラーを抑制することが可能である。なお、他の実施形態の構成についても同様に適用可能である。
【０３８８】
＜レイアウト配置＞
図２４は、各種調整回路のレイアウト配置を説明する図である。
【０３８９】
図２４を参照して、上記したようにメモリアレイＭＡとＩ／Ｏ回路１６との間にＡＲＶＳＳ電位調整回路１８を配置して、メモリセルの近傍に配置することが可能である。
【０３９０】
また、電源電位ＡＲＶＤＤを調整するライトアシスト回路２２０もメモリアレイＭＡとＩ／Ｏ回路１６との間にＡＲＶＳＳ電位調整回路１８を配置して、メモリセルの近傍に配置することが可能である。
【０３９１】
本例においては、制御部１４において、リードアシスト回路２００を設けてワード線駆動電位ＬＣＶＤＤを調整する。
【０３９２】
また、制御部１４は、ワード線活性期間調整回路２４０およびセンスアンプ活性タイミング調整回路２７０も含む場合が示される。なお、Ｉ／Ｏ回路１６は、センスアンプを含む構成である。
【０３９３】
当該構成により電位調整に限られず、タイミング調整においても調整回路を設けることにより調整することが可能である。すなわち、ウエハプロセス完了後のチップ内素子特性の劣化に起因する製品不良を、ＳＲＡＭ内のタイミングや電位の調整設定によって改善を図ることが可能である。
【０３９４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は、実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０３９５】
１  半導体集積回路、１０  ＳＲＡＭモジュール、１１  メモリアレイ群、１２  ワード線デコーダ、１４  制御部、１８，１９  ＡＲＶＳＳ電位調整回路、２０  周辺回路、２４  ＢＩＳＴ回路、２６  比較回路、２８，２９  圧縮回路、３２，３６  カウンタ回路、５０  温度調整回路、５２  電位調整ユニット、６０  バイナリサーチ実行回路、６２  カウント値出力回路、６４  バイナリサーチ制御回路、６５  ビット加算減算回路、６６  カウンタ制御信号出力回路、６７  Ｎビットレジスタ、２００  リードアシスト回路、２２０  ライトアシスト回路、２４０  ワード線活性期間調整回路、２７０  センスアンプ活性タイミング調整回路。
【図１】
2014157647.tif 000003
【図２】
2014157647.tif 000004
【図３】
2014157647.tif 000005
【図４】
2014157647.tif 000006
【図５】
2014157647.tif 000007
【図６】
2014157647.tif 000008
【図７】
2014157647.tif 000009
【図８】
2014157647.tif 000010
【図９】
2014157647.tif 000011
【図１０】
2014157647.tif 000012
【図１１】
2014157647.tif 000013
【図１２】
2014157647.tif 000014
【図１３】
2014157647.tif 000015
【図１４】
2014157647.tif 000016
【図１５】
2014157647.tif 000017
【図１６】
2014157647.tif 000018
【図１７】
2014157647.tif 000019
【図１８】
2014157647.tif 000020
【図１９】
2014157647.tif 000021
【図２０】
2014157647.tif 000022
【図２１】
2014157647.tif 000023
【図２２】
2014157647.tif 000024
【図２３】
2014157647.tif 000025
【図２４】
2014157647.tif 000026