(57)【要約】【課題】簡易な方式でテストを実行することが可能な半導体装置を提供する。【解決手段】半導体装置は、複数のメモリセルが行列状に配置されたメモリセルアレイと、メモリセルアレイ内のメモリセル列毎に設けられた複数のビット線対と、複数のビット線対にそれぞれ対応して設けられた複数の入出力回路と、通常モードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合に複数の入出力回路に対するデータの入出力を制御するインタフェース制御回路とを備える。インタフェース制御回路は、テストモードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合にテスト用アドレスに従ってメモリセル行に含まれる第１メモリセルおよび第１メモリセルに隣接する第２メモリセルにそれぞれ対応する第１入出力回路および第２入出力回路のうちのいずれか一方に対するデータの入出力を選択する選択回路を含む。【選択図】図２
2018200737.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルが行列状に配置されたメモリセルアレイと、
前記メモリセルアレイ内のメモリセル列毎に設けられた複数のビット線対と、
前記複数のビット線対にそれぞれ対応して設けられた複数の入出力回路と、
通常モードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合に前記複数の入出力回路に対するデータの入出力を制御するインタフェース制御回路とを備え、
前記インタフェース制御回路は、テストモードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合にテスト用アドレスに従ってメモリセル行に含まれる第１メモリセルおよび前記第１メモリセルに隣接する第２メモリセルにそれぞれ対応する第１入出力回路および第２入出力回路のうちのいずれか一方に対するデータの入出力を選択する選択回路を含む、半導体装置。
【請求項２】
前記テストモードにおいて、前記選択回路は、前記テスト用アドレスに応じて、前記第１入出力回路から出力される第１出力信号と前記第２入出力回路から出力される第２出力信号のうち、一方の出力信号をテスト用出力信号とする、請求項１記載の半導体装置。
【請求項３】
前記テストモードにおいて、前記選択回路は、前記テスト用アドレスに応じて、前記第１入出力回路に入力される第１入力信号と前記第２入出力回路に入力される第２入力信号のうち、一方の入力信号をテスト用入力信号とする、請求項１記載の半導体装置。
【請求項４】
前記第１入出力回路は、読出制御信号に従って前記第１メモリセルからの読出信号を出力する第１読出回路を含み、
前記第２入出力回路は、前記読出制御信号に従って前記第２メモリセルからの読出信号を出力する第２読出回路を含む、請求項１記載の半導体装置。
【請求項５】
前記第１入出力回路は、書込制御信号に従って第１メモリセルへの書込データに応じた書込信号を出力する第１書込回路を含み、
前記第２入出力回路は、前記書込制御信号に従って前記第２メモリセルへの書込データに応じた書込信号を出力する第２書込回路を含む、請求項１記載の半導体装置。
【請求項６】
前記インタフェース制御回路は、テスト制御信号に従ってテストデータと通常データとのうちの一方を書込データとして前記第１および第２書込回路にそれぞれ出力する第１および第２のセレクタを含む、請求項５記載の半導体装置。
【請求項７】
前記第１および第２のセレクタは、共通の信号線を介して前記テストデータの入力を受ける、請求項６記載の半導体装置。
【請求項８】
前記インタフェース制御回路は、
前記テスト制御信号に従って、前記テスト用アドレスと第１マスクデータとのうちの一方を出力して前記第１書込回路の活性／非活性を制御する第３のセレクタと、
前記テスト制御信号に従って、前記テスト用アドレスの反転データと第２マスクデータとのうちの一方を出力して前記第２書込回路の活性／非活性を制御する第４のセレクタとを含み、
前記テストモードにおいて、前記第３および第４のセレクタは、前記テスト制御信号に従って、前記テスト用アドレスと、前記テスト用アドレスの反転データとをそれぞれ前記第１書込回路および前記第２書込回路に出力する、請求項７記載の半導体装置。
【請求項９】
前記メモリセルアレイに対してマーチングテストを実行するテスト回路をさらに備える、請求項１記載の半導体装置。
【請求項１０】
複数のメモリセルが行列状に配置されたメモリセルアレイを備え、
前記メモリセルアレイは、
前記メモリセルアレイ内に含まれ、第１メモリセルを有する第１メモリセル列と、
前記メモリセルアレイ内に含まれ、前記第１メモリセルと同一の行に配置され、かつ前記第１メモリセルと隣接する第２メモリセルを有する第２メモリセル列とを含み、
前記第１メモリセル列と電気的に接続され、前記第１メモリセルに対してデータを入出力する第１入出力回路と、
前記第２メモリセル列と電気的に接続され、前記第２メモリセルに対してデータを入出力する第２入出力回路と、
前記第１入出力回路と前記第２入出力回路とに電気的に接続されたインタフェース制御回路とをさらに備え、
前記インタフェース制御回路は、
テスト用アドレス信号線と、
前記テスト用アドレス信号線に電気的に接続された選択回路とを有し、
前記第１入出力回路と前記第２入出力回路とは、前記インタフェース制御回路と前記メモリセルアレイとの間に配置され、
通常モードにおいて、前記第１入出力回路と前記第２入出力回路とは、前記複数のメモリセルに対して行毎にデータの入出力を行うように前記第１メモリセルと前記第２メモリセルのそれぞれに対してデータの入出力を行い、
テストモードにおいて、テスト用アドレスが前記テスト用アドレス信号線を介して前記選択回路に入力され、
前記選択回路は、前記テスト用アドレスに応じて、前記第１の入出力回路を用いた前記第１メモリセルのテストデータの入出力または前記第２入出力回路を用いた前記第２のメモリセルのテストデータの入出力のうち、いずれか一方の入出力を選択する、半導体装置。
【請求項１１】
前記第１入出力回路は、書込制御信号に従って第１メモリセルへの書込データに応じた書込信号を出力する第１書込回路を含み、
前記第２入出力回路は、前記書込制御信号に従って前記第２メモリセルへの書込データに応じた書込信号を出力する第２書込回路を含み、
前記選択回路は、
前記テスト用アドレスと第１マスクデータとのうちの一方を出力して前記第１書込回路の活性／非活性を制御する第１のセレクタと、
前記テスト用アドレスの反転データと第２マスクデータとのうちの一方を出力して前記第２書込回路の活性／非活性を制御する第２のセレクタとを含み、
前記テストモードにおいて、前記第１および第２のセレクタは、前記テスト用アドレスと、前記テスト用アドレスの反転データとをそれぞれ前記第１書込回路および前記第２書込回路に出力する、請求項１０記載の半導体装置。
【請求項１２】
複数のメモリセル列を含むメモリセルアレイを備え、
前記メモリセルアレイは、
前記複数のメモリセル列の第１メモリセル列に含まれた第１メモリセルと、
前記第１メモリセル列と隣接する第２メモリセル列に含まれ、かつ前記第１メモリセルと同一の行に配置される第２メモリセルとを含み、
前記第１メモリセル列に対応して設けられる第１入出力回路と、
前記第２メモリセル列に対応して設けられる第２入出力回路と、
前記第１入出力回路と前記第２入出力回路とに電気的に接続され、かつテスト用アドレスを伝達するテスト用アドレス信号線と、
前記テスト用アドレス信号線と電気的に接続された選択回路とを有するインタフェース制御回路とをさらに備え、
前記第１入出力回路および前記第２入出力回路は、前記インタフェース制御回路と前記メモリセルアレイとの間に配置され、
通常モードにおいて、前記第１入出力回路および前記第２入出力回路は、前記複数のメモリセルに対して行毎にデータの入力を行うように前記第１メモリセルおよび前記第２メモリセルのそれぞれに対してデータの入力を行い、
テストモードにおいて、前記選択回路は、前記テスト用アドレスに応じて、前記第１入出力回路または前記第２入出力回路のうち一方の入出力回路を選択的に駆動し、前記選択された前記第１入出力回路または前記第２入出力回路のそれぞれに対応する前記第１メモリセルまたは前記第２メモリセルのデータの入力を行う、半導体装置。
【請求項１３】
前記第１入出力回路は、書込制御信号に従って第１メモリセルへの書込データに応じた書込信号を出力する第１書込回路を含み、
前記第２入出力回路は、前記書込制御信号に従って前記第２メモリセルへの書込データに応じた書込信号を出力する第２書込回路を含み、
前記選択回路は、
前記テスト用アドレスと第１マスクデータとのうちの一方を出力して前記第１書込回路の活性／非活性を制御する第１のセレクタと、
前記テスト用アドレスの反転データと第２マスクデータとのうちの一方を出力して前記第２書込回路の活性／非活性を制御する第２のセレクタとを含み、
前記テストモードにおいて、前記第１および第２のセレクタは、前記テスト用アドレスと、前記テスト用アドレスの反転データとをそれぞれ前記第１書込回路および前記第２書込回路に出力する、請求項１２記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、半導体装置に関し、特に、テストモードを有する半導体装置に関する。
【背景技術】
【０００２】
カスタムＬＳＩに搭載されるＲＡＭの機能テストを容易化するため、ＢＩＳＴ（Built In Self Test）回路が注目されている。この手法は、ＬＳＩにテスト回路（ＢＩＳＴ回路）を搭載し、ＬＳＩ内部で自動的にＲＡＭのテストを行なうものである。ＢＩＳＴ回路の利点には次のようなものがある。
【０００３】
高価なテスタを必要としない（ＬＳＩ外部でテストパタンを生成する必要がない）。
ＬＳＩ外部から直接テストできないＲＡＭのテストにおいて、高いテスト品質（高い故障検出率）が得られる。また、ＢＩＳＴ回路自体は、チップ搭載されることから少ないハード量で実現することができ、使われるＲＡＭの仕様に合わせるため、多種のワード・ビット構成に柔軟に対応できなければならない。
【０００４】
この点で、ＲＡＭの試験の一つとして、マーチングテスト（Marching Test)がよく知られている（特許文献１および２）。
【０００５】
マーチングテストは、セル障害の検出に有効とされている。
具体的には、隣接セルとのショート、センス線からの回り込み、あるいは、欠陥セルのリークにより周囲の他のセルを干渉するなどのセル間干渉を検出することが可能である。
【０００６】
当該テストを実行するために一般的には、メモリセルの読出、書込のテストパターンを順番に全アドレスで実行する方式であり、ある選択されたアドレスのメモリセルの書込の際に隣接する選択されていないメモリセルのデータが反転していないか否かを検出することが可能である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−３４２１１３号公報
【特許文献２】特開平６−３２５６００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一方で、近年ビット幅の広いアプリケーションが増加する傾向にあり、ＬＳＩのＲＡＭにおいてもビット幅の広いメモリが要求されている。
【０００９】
具体的には、アドレスとしてロウアドレス（行アドレス）のみが割り当てられ、カラムアドレス（列アドレス）を持たないメモリ（ＭＵＸ１）が要求されている。
【００１０】
当該メモリの場合には、アドレスの指定により行方向のメモリセル全てが選択状態となり、隣接するメモリセルのみを非選択状態とすることが難しいという課題がある。
【００１１】
特殊なテストパターンを用いて、擬似的にマーチングテストを実行することも可能であるが、専用のテストパターンをＢＩＳＴ回路に搭載する必要が有り、コストも増加する課題がある。
【００１２】
本開示は、上記の課題を解決するためになされたものであって、簡易な方式でテストを実行することが可能な半導体装置を提供する。
【００１３】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
一実施例によれば、半導体装置は、複数のメモリセルが行列状に配置されたメモリセルアレイと、メモリセルアレイ内のメモリセル列毎に設けられた複数のビット線対と、複数のビット線対にそれぞれ対応して設けられた複数の入出力回路と、通常モードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合に複数の入出力回路に対するデータの入出力を制御するインタフェース制御回路とを備える。インタフェース制御回路は、テストモードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合にテスト用アドレスに従ってメモリセル行に含まれる第１メモリセルおよび第１メモリセルに隣接する第２メモリセルにそれぞれ対応する第１入出力回路および第２入出力回路のうちのいずれか一方に対するデータの入出力を選択する選択回路を含む。
【発明の効果】
【００１５】
一実施例によれば、インタフェース制御回路は、通常モードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合に前記複数の入出力回路に対するデータの入出力を制御し、テストモードにおいて、テスト用アドレスに従ってメモリセル行に含まれる第１メモリセルおよび前記第１メモリセルに隣接する第２メモリセルにそれぞれ対応する第１入出力回路および第２入出力回路のうちのいずれか一方に対するデータの入出力を選択することが可能であるため、簡易な方式でテストを実行することが可能である。
【図面の簡単な説明】
【００１６】
【図１】実施形態１に基づく半導体チップ１の外観構成図である。
【図２】実施形態１に基づくメモリ３の構成を説明する図である。
【図３】実施形態１に基づく制御回路２０の回路構成を説明する図である。
【図４】実施形態１に基づくＩＯ制御回路４０およびＩＦ制御回路３０の回路構成を説明する図である。
【図５】実施形態１に基づくメモリ３のテストモードにおける動作について説明するタイミングチャート図である。
【図６】実施形態１に基づくマーチングテストの概念図である。
【図７】実施形態１の変形例に基づく半導体チップ１＃の外観構成図である。
【図８】実施形態１の変形例に基づくメモリユニット３Ｂの構成を説明する図である。
【図９】実施形態１の変形例に基づく制御回路２００の回路構成を説明する図である。
【図１０】実施形態１の変形例に基づく列選択駆動回路５００を説明する図である。
【図１１】実施形態１の変形例に基づくＩＯ制御回路４００およびＩＦ制御回路３００の構成を説明する図である。
【図１２】実施形態１の変形例に基づくメモリユニット３Ｂのテストモードにおける動作について説明するタイミングチャート図である。
【図１３】実施形態２に基づくＩＦ制御回路３００＃を説明する図である。
【発明を実施するための形態】
【００１７】
本実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【００１８】
［実施形態１］
図１は、実施形態１に基づく半導体チップ１の外観構成図である。
【００１９】
図１には、単結晶シリコンのような１個の半導体チップ１に、各種ロジック回路と記憶装置が形成されたＳＯＣ（System On a Chip）等と呼ばれる半導体装置または半導体集積回路装置（ＬＳＩ）が示されている。
【００２０】
半導体チップ１は、例えば、自動車制御用ＬＳＩであり、１個のプロセッサユニットであるＣＰＵ（Central Processing Unit）２と、記憶装置であるメモリ３と、周辺回路５と、テスト回路であるＢＩＳＴ回路４とを備える。
【００２１】
ＣＰＵ２は、メモリ３に格納されたプログラムに基づく所定の演算処理を行う。周辺回路５は、センサーから受けた信号の処理、アクチュエータを制御するための信号の生成、車載ネットワーク（ＣＡＮ，ＬＩＮ）との信号の送受信などを実行する。
【００２２】
メモリ３は、このような各回路ブロックの処理に伴い適宜アクセスされ、データの一次格納領域としても利用される。
【００２３】
周辺回路５は、センサや同期を取るためのクロック信号を生成するクロック回路等を含む。
【００２４】
ＢＩＳＴ回路４は、一例として、マーチングテストを実行し、隣接セルとのショート、センス線からの回り込み、あるいは、欠陥セルのリークにより周囲の他のセルを干渉するなどのセル間干渉を検出する。
【００２５】
ＳＯＣ等の半導体装置において、メモリ３は、例えばメモリＩＰ（Intellectual Property）等と呼ばれる設計データを用いてメモリコンパイラ等と呼ばれる自動設計ツールで設計することも可能である。
【００２６】
［メモリ３の構成］
図２は、実施形態１に基づくメモリ３の構成を説明する図である。
【００２７】
図２を参照して、メモリ３は、行列状に配置されたメモリセルＭＣを有するメモリセルアレイ６と、行選択駆動回路１０と、メモリ３全体を制御する制御回路２０と、複数のＩＯ（入出力）制御回路４０と、複数のＩＦ（インタフェース）制御回路３０とを含む。
【００２８】
メモリセルアレイ６は、行列状に配置された複数のメモリセルＭＣを有する。各メモリセルＭＣは、書き換え可能に設けられたＳＲＡＭ（Static Random Access Memory）セルである。一例として６トランジスタのＳＲＡＭセルを用いてもよい。ＳＲＡＭセルの詳細については公知であるためその詳細な説明については省略する。
【００２９】
本例においては、アドレスとして０行０列目のメモリセルＭＣをメモリセルＭＣ００として標記されている。０行１列目のメモリセルＭＣはメモリセルＭＣ０１として標記されている。１行０列目のメモリセルＭＣは、メモリセルＭＣ１０として標記されている。他のメモリセルＭＣについても同様である。
【００３０】
一例として、メモリセルＭＣ００の記憶ノードＭＢ，ＭＴが示されており、当該記憶ノードの電位が保持される。記憶ノードＭＢが「Ｌ」レベル、ＭＴが「Ｈ」レベルの場合にデータ「１」が格納される。一方、記憶ノードＭＢが「Ｈ」レベル、ＭＴが「Ｌ」レベルの場合にデータ「０」が格納される。なお、データ「０」、「１」を逆にすることも可能である。
【００３１】
メモリセル行毎に複数のワード線ＷＬが設けられる。一例として、８本のワード線ＷＬ［０］〜ＷＬ［７］が設けられた場合が示されている。
【００３２】
また、メモリセル列毎に複数のビット線対ＢＬＰが設けられる。一例として、ビット線対ＢＬＰ［０］，ＢＬＰ［１］，・・・が設けられている場合が示されている。ビット線対ＢＬＰは、ビット線ＢＬ，／ＢＬを有する。
【００３３】
制御回路２０は、メモリ３全体を制御する。
制御回路２０は、クロック信号ＣＬＫ、アドレスＡ［２：０］、制御信号ＣＥＮ、制御信号ＷＥＮ、テストアドレスＴＡ［３：０］、制御信号ＴＣＥＮ、制御信号ＴＷＥＮ、制御信号ＴＥの入力を受けて所定の動作を実行する。なお、本明細書において、［Ｘ：Ｙ］の表記は、［Ｙ］〜［Ｘ］として説明する。
【００３４】
具体的には、制御回路２０は、行選択駆動回路１０にロウアドレス信号ＲＡ［７：０］を出力する。行選択駆動回路１０は、ロウアドレス信号ＲＡ［７：０］に従ってワード線ＷＬを選択する。本例においては、行選択駆動回路１０は、８本のワード線ＷＬのうちの１本のワード線ＷＬを選択する。
【００３５】
制御回路２０は、上記入力信号に基づいて、制御信号ＰＣ、制御信号ＲＤＥ（読出制御信号）、制御信号ＷＴＥ（書込制御信号）、制御信号ＢＩＳＴ（テスト制御信号）、制御信号ＴＡＬ［０］を必要に応じて出力する。
【００３６】
メモリセル列毎に、複数のＩＯ制御回路４０が設けられる。一例として、ＩＯ制御回路４０−１，４０−２，・・・が設けられている場合が示されている。
【００３７】
また、２つの隣接するＩＯ制御回路４０毎に複数のＩＦ制御回路３０が設けられる。一例として、ＩＦ制御回路３０−１，３０−２，・・・が設けられている場合が示されている。
【００３８】
［制御回路の構成］
図３は、実施形態１に基づく制御回路２０の回路構成を説明する図である。
【００３９】
図３を参照して、制御回路２０は、セレクタＳＬ１〜ＳＬ３と、フリップフロップＦＦ１〜ＦＦ３と、ＡＮＤ回路ＡＤ１〜ＡＤ４と、アンプＡＰ１，ＡＰ２と、遅延段ＤＬＧと、プリデコーダ２５とを含む。
【００４０】
フリップフロップＦＦ１〜ＦＦ３は、それぞれクロック信号ＣＬＫの入力を受けて、入力データをラッチして出力する。
【００４１】
フリップフロップＦＦ１は、クロック信号ＣＬＫの入力に従ってテストアドレスＴＡ［０］を制御信号ＴＡＬ［０］として出力する。
【００４２】
後述するが制御信号ＴＡＬ［０］は、偶数番目および奇数番目の列を選択あるいは非選択にする制御信号として用いられる。
【００４３】
アンプＡＰ２は、制御信号ＴＥを増幅して制御信号ＢＩＳＴとして出力する。
テストモードにおいては、制御信号ＴＥは「Ｈ」レベルに設定される。制御信号ＢＩＳＴは、「Ｈ」レベルに設定される。一方、通常モードにおいては、制御信号ＴＥは「Ｌ」レベルに設定される。制御信号ＢＩＳＴは「Ｌ」レベルに設定される。
【００４４】
セレクタＳＬ１は、アドレスＡ［２：０］およびテストアドレスＴＡ［３：１］の入力を受けて、制御信号ＴＥに従っていずれか一方をフリップフロップＦＦ２に出力する。
【００４５】
制御信号ＴＥが「Ｌ」レベルの場合には、アドレスＡ［２：０］をフリップフロップＦＦ２に出力する。制御信号ＴＥが「Ｈ」レベルの場合には、テストアドレスＴＡ［３：１］をフリップフロップＦＦ２に出力する。
【００４６】
フリップフロップＦＦ２は、クロック信号ＣＬＫの入力に従って入力されたアドレスＡ［２：０］およびＴＡ［３：１］の一方をアドレス信号ＡＤＬ［２：０］としてプリデコーダ２５に出力する。
【００４７】
プリデコーダ２５は、制御信号ＴＤＥＣの入力に同期してアドレス信号ＡＤＬ［２：０］に基づいてロウアドレス信号ＲＡ［７：０］を出力する。
【００４８】
セレクタＳＬ２は、制御信号ＳＥＮおよび制御信号ＴＳＥＮの入力を受けて、制御信号ＴＥに従っていずれか一方をフリップフロップＦＦ２に出力する。
【００４９】
制御信号ＴＥが「Ｌ」レベルの場合には、制御信号ＳＥＮをフリップフロップＦＦ３に出力する。制御信号ＴＥが「Ｈ」レベルの場合には、制御信号ＴＳＥＮをフリップフロップＦＦ３に出力する。
【００５０】
フリップフロップＦＦ３は、クロック信号ＣＬＫの入力に従って入力された制御信号ＳＥＮおよび制御信号ＴＳＥＮの一方を制御信号ＷＥＮＬとして出力する。
【００５１】
セレクタＳＬ３、制御信号ＣＥＮおよび制御信号ＴＣＥＮの入力を受けて、制御信号ＴＥに従っていずれか一方をＡＮＤ回路ＡＤ１に出力する。
【００５２】
制御信号ＴＥが「Ｌ」レベルの場合には、制御信号ＣＥＮをＡＮＤ回路ＡＤ１に出力する。制御信号ＴＥが「Ｈ」レベルの場合には、制御信号ＴＣＥＮをＡＮＤ回路ＡＤ１に出力する。
【００５３】
ＡＮＤ回路ＡＤ１は、セレクタＳＬ３から出力された信号とクロック信号ＣＬＫとのＡＮＤ論理演算結果を内部クロックＣＫ１として、ＡＮＤ回路ＡＤ２に出力する。
【００５４】
ＡＮＤ回路ＡＤ２の出力は、遅延段ＤＬＧと接続される。
ＡＮＤ回路ＡＤ２は、内部クロックＣＫ１と、遅延段ＤＬＧの出力の反転信号との入力を受けて、ＡＮＤ論理演算結果を制御信号ＴＤＥＣとして出力する。
【００５５】
アンプＡＰ１は、制御信号ＴＤＥＣを増幅して制御信号ＰＣとして出力する。
ＡＮＤ回路ＡＤ３は、制御信号ＴＤＥＣと、制御信号ＷＥＮＬの反転信号とのＡＮＤ論理演算結果を制御信号ＷＴＥとして出力する。
【００５６】
ＡＮＤ回路ＡＤ４は、制御信号ＴＤＥＣと、制御信号ＷＥＮＬとのＡＮＤ論理演算結果を制御信号ＲＴＥとして出力する。
【００５７】
図４は、実施形態１に基づくＩＯ制御回路４０およびＩＦ制御回路３０の回路構成を説明する図である。
【００５８】
図４を参照して、ＩＯ制御回路４０−１は、プリチャージ回路４１と、書込補助回路４２と、書込回路４３と、読出回路４４とを含む。
【００５９】
プリチャージ回路４１は、制御信号ＰＣの入力をゲートに受ける３個のＰチャネルＭＯＳトランジスタを含む。制御信号ＰＣ（「Ｌ」レベル）の入力に応答して、ビット線ＢＬ，／ＢＬとの間をイコライズするとともに、ビット線ＢＬ，／ＢＬを電源電圧ＶＤＤにプリチャージする。
【００６０】
書込補助回路４２は、２個のＰチャネルＭＯＳトランジスタを含む。第１のＰチャネルＭＯＳトランジスタは、電源電圧ＶＤＤとビット線ＢＬとの間に設けられ、ゲートはビット線／ＢＬと接続される。第２のＰチャネルＭＯＳトランジスタは、電源電圧とビット線／ＢＬとの間に設けられ、ゲートは、ビット線ＢＬと接続される。したがって、データ書込時にビット線ＢＬ，／ＢＬのいずれか一方が接地電圧ＧＮＤと接続された場合に、当該ビット線ＢＬ，／ＢＬの一方とゲートとが接続されたＰチャネルＭＯＳトランジスタが動作し、ビット線ＢＬ，／ＢＬの他方を電源電圧ＶＤＤにプルアップする。
【００６１】
書込回路４３は、２つのＮチャネルＭＯＳトランジスタＮＴ０，ＮＴ１と、ＮＯＲ回路ＮＲ０，ＮＲ１と、ＮＡＮＤ回路ＮＤ１と、フリップフロップＦＦ４，ＦＦ５とを含む。
【００６２】
フリップフロップＦＦ４は、図示しないクロック信号ＣＬＫに同期してＩＦ制御回路３０−１からのデータＤＬ［０］の入力を受けてラッチする。
【００６３】
フリップフロップＦＦ５は、図示しないクロック信号ＣＬＫに同期してＩＦ制御回路３０−１からのマスクデータＢＷＮＬ［０］の入力を受けてラッチする。
【００６４】
ＮチャネルＭＯＳトランジスタＮＴ０は、ビット線／ＢＬと接地電圧ＧＮＤとの間に設けられ、ゲートはＮＯＲ回路ＮＲ０の出力と接続される。
【００６５】
ＮチャネルＭＯＳトランジスタＮＴ１は、ビット線ＢＬと接地電圧ＧＮＤとの間に設けられ、ゲートはＮＯＲ回路ＮＲ１の出力と接続される。
【００６６】
ＮＯＲ回路ＮＲ０は、フリップフロップＦＦ４の出力の反転信号と、ＮＡＮＤ回路ＮＤ１の出力とのＮＯＲ論理演算結果をＮチャネルＭＯＳトランジスタＮＴ０のゲートに出力する。
【００６７】
ＮＡＮＤ回路ＮＤ１は、フリップフロップＦＦ５の出力の反転信号と、制御信号ＷＴＥの入力信号とのＮＡＮＤ論理演算結果をＮＯＲ回路ＮＲ１に出力する。
【００６８】
ＮＯＲ回路ＮＲ１は、ＮＡＮＤ回路ＮＤ１の出力と、フリップフロップＦＦ４の出力とのＮＯＲ論理演算結果をＮチャネルＭＯＳトランジスタＮＴ１のゲートに出力する。
【００６９】
フリップフロップＦＦ５の出力が「Ｌ」レベルに設定されている場合に、制御信号ＷＴＥ（「Ｈ」レベル）に従って書込回路４３は動作する。
【００７０】
具体的には、フリップフロップＦＦ４の出力に従ってＮチャネルＭＯＳトランジスタＮＴ０，ＮＴ１のいずれかが導通する。具体的には、フリップフロップＦＦ４の出力が「Ｌ」レベルの場合には、ＮチャネルＭＯＳトランジスタＮＴ１が導通する。これに伴い、ビット線ＢＬが接地電圧ＧＮＤと接続される。そして、書込補助回路４２によりビット線／ＢＬは、電源電圧ＶＤＤと接続される。
【００７１】
一方、フリップフロップＦＦ４の出力が「Ｈ」レベルの場合には、ＮチャネルＭＯＳトランジスタＮＴ０が導通する。これに伴い、ビット線／ＢＬが接地電圧ＧＮＤと接続される。そして、書込補助回路４２によりビット線ＢＬは、電源電圧ＶＤＤと接続される。
【００７２】
読出回路４４は、インバータＩＶ０，ＩＶ１と、ラッチ回路ＬＴ０とを含む。
インバータＩＶ０は、制御信号ＲＴＥの入力を受けて動作する。インバータＩＶ０は、ビット線ＢＬ［０］と接続される。インバータＩＶ０は、制御信号ＲＴＥ（「Ｈ」レベル）の入力に応答して、ビット線ＢＬ［０］の信号を反転させてラッチ回路ＬＴ０に出力する。ラッチ回路ＬＴ０は、制御信号ＲＴＥの入力を受けて動作する。
【００７３】
インバータＩＶ１は、ラッチ回路ＬＴ０の出力を反転して出力する。
したがって、ビット線ＢＬ［０］は２つのインバータＩＶ０，ＩＶ１と接続されるためビット線ＢＬ［０］に応じた読出データＱ［０］として出力される。データ読出時において、ビット線ＢＬ［０］が「Ｌ」レベルの場合には、読出データＱ［０］も「Ｌ」レベルに設定される。ビット線ＢＬ［０］が「Ｈ」レベルの場合には、読出データＱ［０］も「Ｈ」レベルに設定される。
【００７４】
ＩＯ制御回路４０−２は、プリチャージ回路４５と、書込補助回路４６と、書込回路４７と、読出回路４８とを含む。
【００７５】
プリチャージ回路４５は、制御信号ＰＣの入力をゲートに受ける３個のＰチャネルＭＯＳトランジスタを含む。制御信号ＰＣ（「Ｌ」レベル）の入力に応答して、ビット線ＢＬ，／ＢＬとの間をイコライズするとともに、ビット線ＢＬ，／ＢＬを電源電圧ＶＤＤにプリチャージする。
【００７６】
書込補助回路４６は、２個のＰチャネルＭＯＳトランジスタを含む。第１のＰチャネルＭＯＳトランジスタは、電源電圧ＶＤＤとビット線ＢＬとの間に設けられ、ゲートはビット線／ＢＬと接続される。第２のＰチャネルＭＯＳトランジスタは、電源電圧とビット線／ＢＬとの間に設けられ、ゲートは、ビット線ＢＬと接続される。したがって、データ書込時にビット線ＢＬ，／ＢＬのいずれか一方が接地電圧ＧＮＤと接続された場合に、当該ビット線ＢＬ，／ＢＬの一方とゲートとが接続されたＰチャネルＭＯＳトランジスタが動作し、ビット線ＢＬ，／ＢＬの他方を電源電圧ＶＤＤにプルアップする。
【００７７】
書込回路４７は、２つのＮチャネルＭＯＳトランジスタＮＴ２，ＮＴ３と、ＮＯＲ回路ＮＲ２，ＮＲ３と、ＮＡＮＤ回路ＮＤ２と、フリップフロップＦＦ６，ＦＦ７とを含む。
【００７８】
フリップフロップＦＦ７は、図示しないクロック信号ＣＬＫに同期してＩＦ制御回路３０−１からのデータＤＬ［１］の入力を受けてラッチする。
【００７９】
フリップフロップＦＦ６は、図示しないクロック信号ＣＬＫに同期してＩＦ制御回路３０−１からのマスクデータＢＷＮＬ［１］の入力を受けてラッチする。
【００８０】
ＮチャネルＭＯＳトランジスタＮＴ２は、ビット線／ＢＬと接地電圧ＧＮＤとの間に設けられ、ゲートはＮＯＲ回路ＮＲ２の出力と接続される。
【００８１】
ＮチャネルＭＯＳトランジスタＮＴ３は、ビット線ＢＬと接地電圧ＧＮＤとの間に設けられ、ゲートはＮＯＲ回路ＮＲ３の出力と接続される。
【００８２】
ＮＯＲ回路ＮＲ２は、フリップフロップＦＦ７の出力の反転信号と、ＮＡＮＤ回路ＮＤ２の出力とのＮＯＲ論理演算結果をＮチャネルＭＯＳトランジスタＮＴ２のゲートに出力する。
【００８３】
ＮＡＮＤ回路ＮＤ２は、フリップフロップＦＦ６の出力の反転信号と、制御信号ＷＴＥの入力信号とのＮＡＮＤ論理演算結果をＮＯＲ回路ＮＲ２に出力する。
【００８４】
ＮＯＲ回路ＮＲ３は、ＮＡＮＤ回路ＮＤ２の出力と、フリップフロップＦＦ７の出力とのＮＯＲ論理演算結果をＮチャネルＭＯＳトランジスタＮＴ３のゲートに出力する。
【００８５】
フリップフロップＦＦ６の出力が「Ｌ」レベルに設定されている場合に、制御信号ＷＴＥ（「Ｈ」レベル）に従って書込回路４７は動作する。
【００８６】
具体的には、フリップフロップＦＦ７の出力に従ってＮチャネルＭＯＳトランジスタＮＴ２，ＮＴ３のいずれかが導通する。具体的には、フリップフロップＦＦ７の出力が「Ｌ」レベルの場合には、ＮチャネルＭＯＳトランジスタＮＴ３が導通する。これに伴い、ビット線ＢＬが接地電圧ＧＮＤと接続される。そして、書込補助回路４６によりビット線／ＢＬは、電源電圧ＶＤＤと接続される。
【００８７】
一方、フリップフロップＦＦ７の出力が「Ｈ」レベルの場合には、ＮチャネルＭＯＳトランジスタＮＴ２が導通する。これに伴い、ビット線／ＢＬが接地電圧ＧＮＤと接続される。そして、書込補助回路４６によりビット線ＢＬは、電源電圧ＶＤＤと接続される。
【００８８】
読出回路４８は、インバータＩＶ２，ＩＶ３と、ラッチ回路ＬＴ１とを含む。
インバータＩＶ２は、制御信号ＲＴＥの入力を受けて動作する。インバータＩＶ２は、ビット線ＢＬ［１］と接続される。インバータＩＶ２は、制御信号ＲＴＥ（「Ｈ」レベル）の入力に応答して、ビット線ＢＬ［１］の信号を反転させてラッチ回路ＬＴ１に出力する。ラッチ回路ＬＴ１は、制御信号ＲＴＥの入力を受けて動作する。
【００８９】
インバータＩＶ３は、ラッチ回路ＬＴ１の出力を反転して出力する。
したがって、ビット線ＢＬ［１］は２つのインバータＩＶ０，ＩＶ１と接続されるためビット線ＢＬ［１］に応じた読出データＱ［１］として出力される。データ読出時において、ビット線ＢＬ［１］が「Ｌ」レベルの場合には、読出データＱ［１］も「Ｌ」レベルに設定される。ビット線ＢＬ［１］が「Ｈ」レベルの場合には、読出データＱ［１］も「Ｈ」レベルに設定される。
【００９０】
次に、ＩＦ制御回路３０−１について説明する。
ＩＦ制御回路３０−１は、セレクタＳＬ４〜ＳＬ８と、ＯＲ回路ＯＲ０，ＯＲ１と、アンプＡＰ３とを含む。
【００９１】
セレクタＳＬ４は、制御信号ＢＩＳＴの入力に従って入力されるデータＤ［０］およびテストデータＴＤ［０］の一方をデータＤＬ［０］としてＩＯ制御回路４０−１に出力する。
【００９２】
具体的には、セレクタＳＬ４は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるデータＤ［０］をデータＤＬ［０］としてＩＯ制御回路４０−１に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるテストデータＴＤ［０］をデータＤＬ［０］としてＩＯ制御回路４０−１に出力する。
【００９３】
ＯＲ回路ＯＲ０は、制御信号ＴＡＬ［０］およびマスクデータＴＢＷＮ［０］のＯＲ論理演算結果をセレクタＳＬ５に出力する。
【００９４】
なお、マスクデータは、当該ビットの書込を禁止するフラグデータである。具体的には、マスクデータＢＷＮ，ＴＢＷＮが「Ｈ」レベルの場合には当該ビットの書込を禁止する。
【００９５】
マスクデータＢＷＮは、通常モードに用いるマスクデータである。マスクデータＴＢＷＮは、テストモードに用いるマスクデータである。
【００９６】
セレクタＳＬ５は、制御信号ＢＩＳＴの入力に従って入力されるマスクデータＢＷＮ［０］およびＯＲ回路ＯＲ０の出力の一方をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４０−１に出力する。
【００９７】
具体的には、セレクタＳＬ５は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるマスクデータＢＷＮ［０］をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４０−１に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるＯＲ回路ＯＲ０の出力をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４０−１に出力する。
【００９８】
セレクタＳＬ８は、制御信号ＢＩＳＴの入力に従って入力されるデータＤ［１］およびテストデータＴＤ［０］の一方をデータＤＬ［１］としてＩＯ制御回路４０−２に出力する。
【００９９】
具体的には、セレクタＳＬ８は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるデータＤ［１］をデータＤＬ［１］としてＩＯ制御回路４０−２に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるテストデータＴＤ［０］をデータＤＬ［１］としてＩＯ制御回路４０−２に出力する。
【０１００】
ＯＲ回路ＯＲ１は、制御信号ＴＡＬ［０］の反転信号およびマスクデータＴＢＷＮ［０］のＯＲ論理演算結果をセレクタＳＬ７に出力する。
【０１０１】
セレクタＳＬ７は、制御信号ＢＩＳＴの入力に従って入力されるマスクデータＢＷＮ［１］およびＯＲ回路ＯＲ１の出力の一方をマスクデータＢＷＮＬ［１］としてＩＯ制御回路４０−２に出力する。
【０１０２】
具体的には、セレクタＳＬ７は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるマスクデータＢＷＮ［１］をマスクデータＢＷＮＬ［１］としてＩＯ制御回路４０−２に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるＯＲ回路ＯＲ１の出力をマスクデータＢＷＮＬ［１］としてＩＯ制御回路４０−２に出力する。
【０１０３】
セレクタＳＬ６は、制御信号ＴＡＬ［０］の入力に従って入力される読出データＱ［０］および読出データＱ［１］をアンプＡＰ３に出力する。アンプＡＰ３は、増幅して読出データＴＱ［０］としてＢＩＳＴ回路４に出力する。
【０１０４】
具体的には、セレクタＳＬ６は、制御信号ＴＡＬ［０］（「Ｌ」レベル）の入力に従って読出データＱ［０］をアンプＡＰ３に出力する。一方、制御信号ＴＡＬ［０］（「Ｈ」レベル）の入力に従って読出データＱ［１］をアンプＡＰ３に出力する。
【０１０５】
通常モードにおいては、制御信号ＢＩＳＴは「Ｌ」レベルに設定される。
したがって、セレクタＳＬ４は、データＤ［０］をデータＤＬ［０］としてフリップフロップＦＦ４に出力する。また、マスクデータＢＷＮ［０］をマスクデータＢＷＮＬ［０］としてフリップフロップＦＦ５に出力する。
【０１０６】
セレクタＳＬ８は、データＤ［１］をデータＤＬ［１］としてフリップフロップＦＦ７に出力する。また、マスクデータＢＷＮ［１］をマスクデータＢＷＮＬ［１］としてフリップフロップＦＦ６に出力する。
【０１０７】
テストモードにおいては、制御信号ＢＩＳＴは「Ｈ」レベルに設定される。
したがって、セレクタＳＬ４は、テストデータＴＤ［０］をデータＤＬ［０］としてフリップフロップＦＦ４に出力する。また、ＯＲ回路ＯＲ０の出力をマスクデータＢＷＮＬ［０］としてフリップフロップＦＦ５に出力する。
【０１０８】
セレクタＳＬ８は、テストデータＴＤ［１］をデータＤＬ［１］としてフリップフロップＦＦ７に出力する。また、ＯＲ回路ＯＲ１の出力をマスクデータＢＷＮＬ［１］としてフリップフロップＦＦ６に出力する。
【０１０９】
（１）通常モードのデータ書込
メモリセルＭＣ００に対するデータ書込について説明する。
【０１１０】
一例として、データＤ［０］が「Ｈ」レベルに設定され、マスクデータＢＷＮ［０］は「Ｌ」レベルに設定されているものとする。制御信号ＢＩＳＴは、「Ｌ」レベルである。
【０１１１】
この場合、ＩＦ制御回路３０−１は、データＤＬ［０］（「Ｈ」レベル）をフリップフロップＦＦ４に出力する。また、マスクデータＢＷＮＬ［０］（「Ｌ」レベル）をフリップフロップＦＦ５に出力する。
【０１１２】
フリップフロップＦＦ４，ＦＦ５は、図示しないクロック信号ＣＬＫに同期してデータをラッチする。
【０１１３】
ＩＯ制御回路４０−１は、制御信号ＷＴＥ（「Ｈ」レベル）に従って書込回路４３を動作させる。
【０１１４】
本例の場合には、フリップフロップＦＦ４の出力は「Ｈ」レベルに設定されるため、ＮチャネルＭＯＳトランジスタＮＴ０が導通する。これに伴い、ビット線／ＢＬが接地電圧ＧＮＤと接続される。そして、書込補助回路４２によりビット線ＢＬは、電源電圧ＶＤＤと接続される。
【０１１５】
ワード線ＷＬ［０］が選択された場合に、メモリセルＭＣ００の記憶ノードＭＢは「Ｌ」レベル、ＭＴは「Ｈ」レベルに設定され、データ「１」が格納される。
【０１１６】
データＤ［０］が「Ｌ」レベルの場合には、メモリセルＭＣ００の記憶ノードＭＢは「Ｈ」レベル、ＭＴは「Ｌ」レベルに設定され、データ「０」が格納される。
【０１１７】
マスクデータＢＷＮ［０］が「Ｈ」レベルに設定される場合について説明する。
この場合は、フリップフロップＦＦ５にマスクデータＢＷＮＬ［０］（「Ｈ」レベル）が出力される。これに伴い、ＮＡＮＤ回路ＮＤ１の出力は「Ｈ」レベルに設定されるためＮＲ回路ＮＲ０，ＮＲ１の出力も「Ｈ」レベルに設定される。したがって、ＮチャネルＭＯＳトランジスタＮＴ０，ＮＴ１は、導通しないため書込は禁止される。
【０１１８】
データＤ［０］について説明したが、データＤ［１］についても同様である。
（２）通常モードのデータ読出
実施形態１に基づくメモリ３は、一例としてアドレスＡ［２：０］の入力を受けて、８本のワード線ＷＬ［０］〜「７」のいずれか１つを選択する。
【０１１９】
具体的には、アドレスＡ［２：０］の入力に基づいてメモリセルアレイ６の行選択が実行され、列選択は実行されない。アドレスとしてロウアドレス（行アドレス）のみが割り当てられ、カラムアドレス（列アドレス）を持たないメモリアレイ（ＭＵＸ１）である。言い換えるとＣＰＢ（Column Per Bit）が１のメモリである。
【０１２０】
したがって、選択されたメモリセル行のメモリセルＭＣのデータが一括して読み出される。
【０１２１】
一例として、アドレスＡ［２：０］に従ってワード線ＷＬ［０］が選択された場合には、ワード線ＷＬ［０］に対応するメモリセルＭＣ００，ＭＣ０１，・・・のデータが読み出される。
【０１２２】
この場合、制御信号ＲＤＥが「Ｈ」レベルに設定される。これに伴い各列毎に設けられた読出回路が動作する。一例として、読出回路４４において、インバータＩＶ０は、制御信号ＲＤＥ（「Ｈ」レベル）に従ってビット線ＢＬ［０］の信号を反転させてラッチ回路ＬＴ０に出力する。ラッチ回路ＬＴ０は、インバータＩＶ０からの出力信号をラッチして、インバータＩＶ１に出力する。インバータＩＶ１は、ラッチ回路ＬＴ０からの信号を反転して、読出データＱ［０］として出力する。他の制御信号ＲＴＥの入力を受けて動作する。
【０１２３】
他の読出回路についても同様である。
これにより読出データＱ［０］，Ｑ［１］，・・・の複数ビットのデータが一括して読み出される。
【０１２４】
（３）テストモードのデータ書込
メモリセルＭＣ００に対するデータ書込について説明する。
【０１２５】
一例として、テストデータＴＤ［０］が「Ｌ」レベルに設定され、マスクデータＴＢＷＮ［０］は「Ｌ」レベルに設定されているものとする。制御信号ＢＩＳＴは、「Ｈ」レベルである。
【０１２６】
この場合、ＩＦ制御回路３０−１は、データＤＬ［０］（「Ｌ」レベル）をフリップフロップＦＦ４に出力する。また、マスクデータＢＷＮＬ［０］（「Ｌ」レベル）をフリップフロップＦＦ５に出力する。
【０１２７】
フリップフロップＦＦ４，ＦＦ５は、図示しないクロック信号ＣＬＫに同期してデータをラッチする。
【０１２８】
ＩＯ制御回路４０−１は、制御信号ＷＴＥ（「Ｈ」レベル）に従って書込回路４３を動作させる。
【０１２９】
本例の場合には、フリップフロップＦＦ４の出力は「Ｌ」レベルに設定されるため、ＮチャネルＭＯＳトランジスタＮＴ１が導通する。これに伴い、ビット線ＢＬが接地電圧ＧＮＤと接続される。そして、書込補助回路４２によりビット線／ＢＬは、電源電圧ＶＤＤと接続される。
【０１３０】
ワード線ＷＬ［０］が選択された場合に、メモリセルＭＣ００の記憶ノードＭＢは「Ｈ」レベル、ＭＴは「Ｌ」レベルに設定され、データ「０」が格納される。
【０１３１】
テストデータＴＤ［０］が「Ｈ」レベルの場合には、メモリセルＭＣ００の記憶ノードＭＢは「Ｌ」レベル、ＭＴは「Ｈ」レベルに設定され、データ「１」が格納される。
【０１３２】
マスクデータＴＢＷＮ［０］が「Ｈ」レベルに設定される場合について説明する。
この場合は、フリップフロップＦＦ５にマスクデータＢＷＮＬ［０］（「Ｈ」レベル）が出力される。これに伴い、ＮＡＮＤ回路ＮＤ１の出力は「Ｈ」レベルに設定されるためＮＲ回路ＮＲ０，ＮＲ１の出力も「Ｈ」レベルに設定される。したがって、ＮチャネルＭＯＳトランジスタＮＴ０，ＮＴ１は、導通しないため書込は禁止される。
【０１３３】
マスクデータＴＢＷＮとは別に、本例においては、テストモードにおいて、制御信号ＴＡＬ［０］に従って、ビットの書込の禁止を制御することが可能である。
【０１３４】
本例においては、いわゆるマーチングテストを実行する際に、制御信号ＴＡＬ［０］の論理を切り替える。
【０１３５】
一例として、制御信号ＴＡＬ［０］が「Ｈ」レベルの場合には、ＯＲ回路ＯＲ０は、「Ｈ」レベルをセレクタＳＬ５に出力する。ＯＲ回路ＯＲ１は、「Ｌ」レベルをセレクタＳＬ７に出力する。
【０１３６】
制御信号ＢＩＳＴが「Ｈ」レベルの場合には、セレクタＳＬ５は、マスクデータＢＷＮＬ［０］（「Ｈ」レベル）をフリップフロップＦＦ５に出力する。セレクタＳＬ７は、マスクデータＢＷＮＬ［１］（「Ｌ」レベル）をフリップフロップＦＦ６に出力する。
【０１３７】
これにより、偶数番目のメモリセル列の書込を禁止する。たとえば、０番目、２番目、４番目・・・のメモリセル列の書込を禁止する。
【０１３８】
一方、制御信号ＴＡＬ［０］が「Ｌ」レベルの場合には、ＯＲ回路ＯＲ０は、「Ｌ」レベルをセレクタＳＬ５に出力する。ＯＲ回路ＯＲ１は、「Ｈ」レベルをセレクタＳＬ７に出力する。
【０１３９】
制御信号ＢＩＳＴが「Ｈ」レベルの場合には、セレクタＳＬ５は、マスクデータＢＷＮＬ［０］（「Ｌ」レベル）をフリップフロップＦＦ５に出力する。セレクタＳＬ７は、マスクデータＢＷＮＬ［１］（「Ｈ」レベル）をフリップフロップＦＦ６に出力する。
【０１４０】
これにより、奇数番目のメモリセル列の書込を禁止する。たとえば、１番目、３番目、５番目・・・のメモリセル列の書込を禁止する。
【０１４１】
テストアドレスＴＡ［０］に従って制御信号ＴＡＬ［０］が設定される。従って、テストアドレスＴＡ［３：０］がインクリメントされる際に、テストアドレスＴＡ［０］の論理レベルが変更されるため制御信号ＴＡＬ［０］の論理レベルが切り替わる。
【０１４２】
すなわち、テストアドレスＴＡ［３：０］のインクリメントに従って、偶数番目、奇数番目のメモリセル列の書込が交互に禁止されることになる。したがって、テストモードにおいては、隣接するメモリセル列への書込が禁止される。
【０１４３】
それゆえ、本例においては、テストモードにおいて、２つのメモリセル列の一方に対してのみ書込が実行されるため、テストデータＴＤ［０］を２つのメモリセル列で共通に用いる構成としている。
【０１４４】
当該構成により、テストデータを入力する端子数の数を通常のデータの半分に設定することが可能である。
【０１４５】
（４）テストモードのデータ読出
実施形態１に基づくメモリ３は、一例としてテストアドレスＴＡ［３：０］の入力を受けて、８本のワード線ＷＬ［０］〜「７」のいずれか１つを選択する。
【０１４６】
具体的には、テストアドレスＴＡ［０］は、上記したようにメモリセル列の書込を禁止するフラグとして用いられる。
【０１４７】
テストアドレスＴＡ［３：１］は、アドレスＡ［２：０］と同じアドレス空間に割り当てられている。
【０１４８】
制御回路２０は、テストアドレスＴＡ［３：１］の入力に基づいてロウアドレス信号ＲＡ［７：０］を生成し、メモリセルアレイ６の行選択を実行する。
【０１４９】
したがって、選択されたメモリセル行のメモリセルＭＣのデータが一括して読み出される。
【０１５０】
一例として、テストアドレスＴＡ［３：１］に従ってワード線ＷＬ［０］が選択された場合には、ワード線ＷＬ［０］に対応するメモリセルＭＣ００，ＭＣ０１，・・・のデータが読み出される。
【０１５１】
この場合、制御信号ＲＤＥが「Ｈ」レベルに設定される。これに伴い各列毎に設けられた読出回路が動作する。一例として、読出回路４４において、インバータＩＶ０は、制御信号ＲＤＥ（「Ｈ」レベル）に従ってビット線ＢＬ［０］の信号を反転させてラッチ回路ＬＴ０に出力する。ラッチ回路ＬＴ０は、インバータＩＶ０からの出力信号をラッチして、インバータＩＶ１に出力する。インバータＩＶ１は、ラッチ回路ＬＴ０からの信号を反転して、読出データＱ［０］として出力する。他の読出回路についても同様である。
【０１５２】
これにより読出データＱ［０］，Ｑ［１］，・・・の複数ビットのデータが一括して読み出される。
【０１５３】
本例におけるテストモードにおいては、読出データＱ［０］，Ｑ［１］，・・・の複数ビットのデータが一括して読み出されるが、一部ビットのデータを読出データＴＱとしてＢＩＳＴ回路４に出力する。
【０１５４】
具体的には、セレクタＳＬ６は、制御信号ＴＡＬ［０］の入力を受けて読出データＱ［０］，Ｑ［１］の一方を選択して、出力する。具体的には、制御信号ＴＡＬ［０］が「Ｌ」レベルの場合には、読出データＱ［０］が選択される。一方、制御信号ＴＡＬ［０］が「Ｈ」レベルの場合には、読出データＱ［１］が選択される。選択された読出データＱは、アンプＡＰ３により増幅されて読出データＴＱとして出力される。
【０１５５】
それゆえ、読出データＱ［０］，Ｑ［１］，・・・の複数ビットのうちの半分のビットのデータが一括して読み出される。具体的には、偶数番目の読出データＱ［０］，Ｑ［２］，・・・あるいは、奇数番目の読出データＱ［１］，Ｑ［３］，・・・が読出データＴＱとしてＢＩＳＴ回路４に出力される。
【０１５６】
当該構成により、テストモードにおける読出データを出力する端子数の数を通常のデータの半分に設定することが可能である。
【０１５７】
ＢＩＳＴ回路４は、テストモードにおける読出データを受けて、データ解析し、所定のテスト判定処理を実行する。
【０１５８】
図５は、実施形態１に基づくメモリ３のテストモードにおける動作について説明するタイミングチャート図である。
【０１５９】
本例においては、データ読出、データ書込を交互に繰り返すマーチングテストを実行する場合について説明する。
【０１６０】
制御信号ＴＥは「Ｈ」レベルに設定される。従って、制御信号ＢＩＳＴは「Ｈ」レベルに設定される。
【０１６１】
図５に示されるように、一例として、まず、データ読出（リードサイクル）について説明する。
【０１６２】
メモリ３は、クロック信号ＣＬＫに同期して動作する。本例においては、一例としてクロック信号ＣＬＫが時刻Ｔ０に立ち上がる。
【０１６３】
制御回路２０は、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０１６４】
一例として、テストアドレスＴＡ［０］は「Ｌ」レベルに設定されている。これに伴い、制御信号ＴＡＬ［０］は「Ｌ」レベルに設定される。
【０１６５】
制御信号ＴＷＥＮが「Ｈ」レベルであるため、時刻Ｔ１において制御信号ＲＤＥが「Ｈ」レベルに設定される。これによりデータ読出が実行される
次に、時刻Ｔ２において、ワード線ＷＬ［０］が選択（「Ｈ」レベル）される。これに伴い、ワード線ＷＬ［０］に対応するメモリセルＭＣ００、ＭＣ０１、・・・のデータ読出が実行される。
【０１６６】
制御信号ＴＡＬ［０］が「Ｌ」レベルであるため偶数番目のメモリセル列が選択される。一例として、セレクタＳＬ６は、読出データＱ［０］を選択して、読出データＴＱ［０］として出力する。
【０１６７】
時刻Ｔ３において、読出データＱ，ＴＱが出力された場合が示されている。
次に、時刻Ｔ４において、制御信号ＴＷＥＮが「Ｌ」レベルに設定される。
【０１６８】
次に、時刻Ｔ５において、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０１６９】
また、制御信号ＴＷＥＮが「Ｌ」レベルであるため、時刻Ｔ６において制御信号ＷＴＥが「Ｈ」レベルに設定される。これによりデータ書込が実行される。
【０１７０】
次に、時刻Ｔ７において、ワード線ＷＬ［０］が選択（「Ｈ」レベル）される。また、テストアドレスＴＡ［０］が「Ｌ」レベルに設定されているため偶数番目のメモリセル列のメモリセルＭＣに対するデータ書込が実行される。奇数番目のメモリセル列のメモリセルＭＣへのデータ書込は禁止される。
【０１７１】
具体的には、ワード線ＷＬ［０］に対応するメモリセルＭＣ００等のデータ書込が実行される。一方、メモリセルＭＣ０１のデータ書込は禁止される。
【０１７２】
時刻Ｔ８において、メモリセルＭＣ００に対するデータ書込が実行された場合が示されている。
【０１７３】
次に、時刻Ｔ９において、テストアドレスＴＡがインクリメントされて、テストアドレスＴＡ［０］が「Ｈ」レベルに設定された場合が示されている。これに伴い、制御信号ＴＡＬ［０］は「Ｈ」レベルに設定される。
【０１７４】
次に、時刻Ｔ１０において、制御信号ＴＷＥＮが「Ｈ」レベルに設定される。
時刻Ｔ１１において、制御回路２０は、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０１７５】
制御信号ＴＷＥＮが「Ｈ」レベルであるため、時刻Ｔ１２において制御信号ＲＤＥが「Ｈ」レベルに設定される。これによりデータ読出が実行される。
【０１７６】
次に、時刻Ｔ１３において、ワード線ＷＬ［０］が選択（「Ｈ」レベル）される。これに伴い、ワード線ＷＬ［０］に対応するメモリセルＭＣ００、ＭＣ０１、・・・のデータ読出が実行される。
【０１７７】
制御信号ＴＡＬ［０］が「Ｈ」レベルであるため奇数番目のメモリセル列が選択される。一例として、セレクタＳＬ６は、読出データＱ［１］を選択して、読出データＴＱ［０］として出力する。
【０１７８】
次に、時刻Ｔ１４において、制御信号ＴＷＥＮが「Ｌ」レベルに設定される。
次に、時刻Ｔ１５において、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０１７９】
また、制御信号ＴＷＥＮが「Ｌ」レベルであるため、時刻Ｔ１６において制御信号ＷＴＥが「Ｈ」レベルに設定される。これによりデータ書込が実行される。
【０１８０】
次に、時刻Ｔ１７において、ワード線ＷＬ［０］が選択（「Ｈ」レベル）される。また、テストアドレスＴＡ［０］が「Ｈ」レベルに設定されているため奇数番目のメモリセル列のメモリセルＭＣに対するデータ書込が実行される。偶数番目のメモリセル列のメモリセルＭＣへのデータ書込は禁止される。
【０１８１】
具体的には、ワード線ＷＬ［０］に対応するメモリセルＭＣ０１等のデータ書込が実行される。一方、メモリセルＭＣ００のデータ書込は禁止される。
【０１８２】
時刻Ｔ１８において、メモリセルＭＣ０１に対するデータ書込が実行された場合が示されている。
【０１８３】
次に、時刻Ｔ１９において、テストアドレスＴＡがインクリメントされて、テストアドレスＴＡ［０］が「Ｌ」レベル、テストアドレスＴＡ［１］が「Ｈ」レベルに設定された場合が示されている。これに伴い、制御信号ＴＡＬ［０］は「Ｌ」レベルに設定される。
【０１８４】
次に、時刻Ｔ２０において、制御信号ＴＷＥＮが「Ｈ」レベルに設定される。
時刻Ｔ２１において、制御回路２０は、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０１８５】
制御信号ＴＷＥＮが「Ｈ」レベルであるため、時刻Ｔ２２において制御信号ＲＤＥが「Ｈ」レベルに設定される。これによりデータ読出が実行される。
【０１８６】
次に、一例としてワード線ＷＬ［１］が選択（「Ｈ」レベル）される。これに伴い、ワード線ＷＬ［１］に対応するメモリセルＭＣ１０、ＭＣ１１、・・・のデータ読出が実行される。
【０１８７】
制御信号ＴＡＬ［０］が「Ｌ」レベルであるため偶数番目のメモリセル列が選択される。一例として、セレクタＳＬ６は、読出データＱ［０］を選択して、読出データＴＱ［０］として出力する。
【０１８８】
図６は、実施形態１に基づくマーチングテストの概念図である。
図６（Ａ）には、比較例であるメモリ（ＭＵＸ１）のマーチングテストが示されている。
【０１８９】
上記で説明したように、メモリ（ＭＵＸ１）は、アドレスとしてロウアドレス（行アドレス）のみが割り当てられ、カラムアドレス（列アドレス）を持たないメモリ（ＭＵＸ１）である。
【０１９０】
したがって、当該メモリの場合には、アドレスの指定により行方向のメモリセル列が全て選択状態となり、隣接するメモリセルのみを非選択状態とすることが難しい。
【０１９１】
それゆえ、データ書込による隣接する列のメモリセルＭＣのデータ化けを検出することが難しい。
【０１９２】
図６（Ｂ）には、本願のメモリ（ＭＵＸ１）のマーチングテストが示されている。
上記で説明したように、メモリ（ＭＵＸ１）は、アドレスとしてロウアドレス（行アドレス）のみが割り当てられ、カラムアドレス（列アドレス）を持たないメモリ（ＭＵＸ１）である。
【０１９３】
一方、本願のメモリ（ＭＵＸ１）は、テストアドレスＴＡ［０］を用いて、偶数番目のメモリセル列および奇数番目のメモリセル列をそれぞれ選択することが可能である。
【０１９４】
それゆえ、データ読出およびデータ書込を偶数番目のメモリセル列および奇数番目のメモリセル列に交互に実行して検証することにより、隣接セルの障害を検出するマーチングテストを実行することが可能である。
【０１９５】
（実施形態１の変形例）
図７は、実施形態１の変形例に基づく半導体チップ１＃の外観構成図である。
【０１９６】
図７を参照して、半導体チップ１＃は、図１の半導体チップ１と比較して、メモリ３の構成をメモリユニット３Ａ，３Ｂに置換した点が異なる。
【０１９７】
メモリユニット３Ａは、メモリ３と同様に、アドレスとしてロウアドレス（行アドレス）のみが割り当てられ、カラムアドレス（列アドレス）を持たないメモリアレイ（ＭＵＸ１）を有する。言い換えるとＣＰＢ（Column Per Bit）が１のメモリである。
【０１９８】
メモリユニット３Ｂは、アドレスとしてロウアドレス（行アドレス）およびカラムアドレス（列アドレス）を有するメモリアレイ（ＭＵＸ４）を有する。言い換えるとＣＰＢ（Column Per Bit）が４のメモリである。
【０１９９】
メモリユニット３Ａの構成には、メモリ３と基本的に同様でであるのでその詳細な説明については繰り返さない。
【０２００】
図８は、実施形態１の変形例に基づくメモリユニット３Ｂの構成を説明する図である。
図８を参照して、メモリユニット３Ｂは、行列状に配置されたメモリセルＭＣを有するメモリセルアレイ６＃と、行選択駆動回路１００と、メモリユニット３Ｂ全体を制御する制御回路２００と、複数の列選択駆動回路５００と、複数のＩＯ（入出力）制御回路４００と、複数のＩＦ（インタフェース）制御回路３００とを含む。
【０２０１】
メモリセルアレイ６＃は、行列状に配置された複数のメモリセルＭＣを有する。各メモリセルＭＣは、書き換え可能に設けられたＳＲＡＭ（Static Random Access Memory）セルである。
【０２０２】
メモリセル行毎に複数のワード線ＷＬが設けられる。一例として、８本のワード線ＷＬ［０］〜ＷＬ［７］が設けられた場合が示されている。
【０２０３】
また、メモリセル列毎に複数のビット線対ＢＬＰが設けられる。一例として、ビット線対ＢＬＰ［０］，ＢＬＰ［１］，・・・が設けられている場合が示されている。ビット線対ＢＬＰは、ビット線ＢＬ，／ＢＬを有する。
【０２０４】
制御回路２００は、メモリユニット３Ｂ全体を制御する。
制御回路２００は、クロック信号ＣＬＫ、アドレスＡ［４：０］、制御信号ＣＥＮ、制御信号ＷＥＮ、テストアドレスＴＡ［４：０］、制御信号ＴＣＥＮ、制御信号ＴＷＥＮ、制御信号ＴＥの入力を受けて所定の動作を実行する。
【０２０５】
具体的には、制御回路２００は、行選択駆動回路１００にロウアドレス信号ＲＡ［７：０］を出力する。行選択駆動回路１００は、ロウアドレス信号ＲＡ［７：０］に従ってワード線ＷＬを選択する。本例においては、行選択駆動回路１００は、そのうちの１本のワード線ＷＬを選択する。
【０２０６】
制御回路２００は、上記入力信号に基づいて、コラムアドレス信号ＣＡ［０］〜［３］、制御信号ＰＣ、制御信号ＲＤＥ、制御信号ＷＴＥ、制御信号ＢＩＳＴを必要に応じて出力する。
【０２０７】
４個のメモリセル列毎に、列選択駆動回路５００が設けられる。本例においては、列選択駆動回路５００−１，５００−２，・・・が設けられる場合が示されている。列選択駆動回路５００は、コラムアドレス信号ＣＡ［０］〜［３］に従って１つのメモリセル列を選択する。
【０２０８】
複数の列選択駆動回路５００にそれぞれ対応してＩＯ制御回路４００およびＩＦ制御回路３００が設けられる。
【０２０９】
本例においては、ＩＯ制御回路４００−１，４００−２，・・・が設けられる場合が示されている。
【０２１０】
また、ＩＦ制御回路３００−１，３００−２，・・・が設けられる場合が示されている。
【０２１１】
図９は、実施形態１の変形例に基づく制御回路２００の回路構成を説明する図である。
図９を参照して、制御回路２００は、制御回路２０と比較して、フリップフロップＦＦ１を削除した点と、アンプＡＰ１を削除した点と、セレクタＳＬ１をセレクタＳＬ１＃に置換し、プリデコーダ２５をプリデコーダ２５＃に置換した点が異なる。その他の構成については同様であるのでその詳細な説明については繰り返さない。
【０２１２】
セレクタＳＬ１＃は、アドレスＡ［４：０］およびテストアドレスＴＡ［４：０］の入力を受けて、制御信号ＴＥに従っていずれか一方をフリップフロップＦＦ２に出力する。
【０２１３】
制御信号ＴＥが「Ｌ」レベルの場合には、アドレスＡ［４：０］をフリップフロップＦＦ２に出力する。
【０２１４】
制御信号ＴＥが「Ｈ」レベルの場合には、テストアドレスＴＡ［４：０］をフリップフロップＦＦ２に出力する。
【０２１５】
フリップフロップＦＦ２は、クロック信号ＣＬＫの入力に従って入力されたアドレスＡ［４：０］およびＴＡ［４：０］の一方をアドレス信号ＡＤＬ［４：０］としてプリデコーダ２５＃に出力する。
【０２１６】
プリデコーダ２５＃は、制御信号ＴＤＥＣの入力に同期してアドレス信号ＡＤＬ［４：０］に基づいてロウアドレス信号ＲＡ［７：０］およびコラムアドレス信号ＣＡ［４：０］を出力する。
【０２１７】
図１０は、実施形態１の変形例に基づく列選択駆動回路５００を説明する図である。
図１０を参照して、列選択駆動回路５００は、各列に対応して設けられた複数のプリチャージ回路４１と、複数の書込補助回路４２とを含む。
【０２１８】
プリチャージ回路４１は、制御信号ＰＣの入力をゲートに受ける３個のＰチャネルＭＯＳトランジスタを含む。コラムアドレス信号ＣＡ（「Ｌ」レベル）の入力に応答して、ビット線ＢＬ，／ＢＬとの間をイコライズするとともに、ビット線ＢＬ，／ＢＬを電源電圧ＶＤＤにプリチャージする。
【０２１９】
書込補助回路４２は、２個のＰチャネルＭＯＳトランジスタを含む。第１のＰチャネルＭＯＳトランジスタは、電源電圧ＶＤＤとビット線ＢＬとの間に設けられ、ゲートはビット線／ＢＬと接続される。第２のＰチャネルＭＯＳトランジスタは、電源電圧とビット線／ＢＬとの間に設けられ、ゲートは、ビット線ＢＬと接続される。したがって、データ書込時にビット線ＢＬ，／ＢＬのいずれか一方が接地電圧ＧＮＤと接続された場合に、当該ビット線ＢＬ，／ＢＬの一方とゲートとが接続されたＰチャネルＭＯＳトランジスタが動作し、ビット線ＢＬ，／ＢＬの他方を電源電圧ＶＤＤにプルアップする。
【０２２０】
本例においては、４個のメモリセル列のそれぞれのビット線対ＢＬＰに対応して１つのデータ線対ＣＢＰが設けられる場合が示されている。一例として、ビット線対ＢＬＰ０〜ＢＬＰ３に対応してデータ線対ＣＢＰ０が設けられる場合が示されている。
【０２２１】
データ線対ＣＢＰ０は、データ線ＣＢ［０］，ＣＴ［０］を含む。
データ線対ＣＢＰ０と各ビット線対ＢＬＰとの間にはトランスファーゲートＴＧが設けられる。また、トランスファーゲートＴＧを駆動するインバータＩＮＶ０，ＩＮＶ１が設けられる。
【０２２２】
具体的には、ビット線／ＢＬ［０］，／ＢＬ［１］，／ＢＬ［２］，／ＢＬ［３］とデータ線ＣＢ［０］との間には、トランスファーゲート／ＴＧ０，／ＴＧ１，／ＴＧ２，／ＴＧ３が設けられる場合が示される。
【０２２３】
また、ビット線ＢＬ［０］，ＢＬ［１］，ＢＬ［２］，ＢＬ［３］とデータ線ＣＴ［０］との間には、トランスファーゲートＴＧ０，ＴＧ１，ＴＧ２，ＴＧ３が設けられる場合が示される。
【０２２４】
インバータＩＮＶ１は、コラムアドレス信号ＣＡ［０］を反転して、トランスファーゲートＴＧ０，／ＴＧ０のＰチャネルＭＯＳトランジスタのゲートに出力する。インバータＩＮＶ２は、インバータＩＮＶ１の出力を反転して、トランスファーゲートＴＧ０，／ＴＧ０のＮチャネルＭＯＳトランジスタのゲートに出力する。
【０２２５】
他のトランスファーゲートＴＧの構成についても同様である。
一例として、コラムアドレス信号ＣＡ［０］が「Ｈ」レベルの場合には、トランスファーゲートＴＧ０，／ＴＧ０が導通して、ビット線対ＢＬＰ０とデータ線対ＣＢＰ０とが電気的に接続される。
【０２２６】
同様に、コラムアドレス信号ＣＡ［１］が「Ｈ」レベルの場合には、トランスファーゲートＴＧ１，／ＴＧ１が導通して、ビット線対ＢＬＰ１とデータ線対ＣＢＰ０とが電気的に接続される。コラムアドレス信号ＣＡ［２］が「Ｈ」レベルの場合には、トランスファーゲートＴＧ２，／ＴＧ２が導通して、ビット線対ＢＬＰ２とデータ線対ＣＢＰ０とが電気的に接続される。コラムアドレス信号ＣＡ［３］が「Ｈ」レベルの場合には、トランスファーゲートＴＧ３，／ＴＧ３が導通して、ビット線対ＢＬＰ３とデータ線対ＣＢＰ０とが電気的に接続される。
【０２２７】
これにより、コラムアドレス信号に従ってメモリセル列を選択することが可能である。
また、コラムアドレス信号ＣＡ（「Ｌ」レベル）を用いてプリチャージ回路４１を動作させるため制御信号ＰＣを生成する必要がなく、配線数を削減することが可能である。
【０２２８】
図１１は、実施形態１の変形例に基づくＩＯ制御回路４００およびＩＦ制御回路３００の構成を説明する図である。
【０２２９】
図１１を参照して、ＩＯ制御回路４００は、図４で説明したＩＯ制御回路４０と比較して、プリチャージ回路４１と、書込補助回路４２を削除した点と、読出回路４４を読出回路４４＃に置換した点が異なる。
【０２３０】
その他の構成については図４で説明したのと同様であるのでその詳細な説明については繰り返さない。
【０２３１】
読出回路４４＃は、読出回路４４と比較して、インバータＩＶ１＃を追加した点が異なる。その他の構成については図４で説明したのと同様であるのでその詳細な説明については繰り返さない。
【０２３２】
インバータＩＶ１＃は、ラッチ回路ＬＴ０の出力を反転して、読出データＴＱ［０］として出力する。
【０２３３】
ＩＦ制御回路３００は、ＩＯ制御回路４００に対応して設けられる。
ＩＦ制御回路３００は、セレクタＳＬ４，ＳＬ５とを含む。
【０２３４】
セレクタＳＬ４は、制御信号ＢＩＳＴの入力に従って入力されるデータＤ［０］およびＴＤ［０］の一方をデータＤＬ［０］としてＩＯ制御回路４００に出力する。
【０２３５】
具体的には、セレクタＳＬ４は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるデータＤ［０］をデータＤＬ［０］としてＩＯ制御回路４００に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるテストデータＴＤ［０］をデータＤＬ［０］としてＩＯ制御回路４００に出力する。
【０２３６】
セレクタＳＬ５は、制御信号ＢＩＳＴの入力に従って入力されるマスクデータＢＷＮ［０］およびマスクデータＴＢＷＮ［０］の一方をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４００に出力する。
【０２３７】
具体的には、セレクタＳＬ５は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるマスクデータＢＷＮ［０］をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４００に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従ってマスクデータＴＢＷＮ［０］をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４００に出力する。
【０２３８】
通常モードにおいては、制御信号ＢＩＳＴは「Ｌ」レベルに設定される。
したがって、セレクタＳＬ４は、データＤ［０］をデータＤＬ［０］としてフリップフロップＦＦ４に出力する。また、マスクデータＢＷＮ［０］をマスクデータＢＷＮＬ［０］としてフリップフロップＦＦ５に出力する。
【０２３９】
テストモードにおいては、制御信号ＢＩＳＴは「Ｈ」レベルに設定される。
したがって、セレクタＳＬ４は、テストデータＴＤ［０］をデータＤＬ［０］としてフリップフロップＦＦ４に出力する。また、マスクデータＴＢＷＮ［０］をデータＢＷＮＬ［０］としてフリップフロップＦＦ５に出力する。
【０２４０】
（５）通常モードのデータ書込
メモリセルＭＣ００に対するデータ書込について説明する。
【０２４１】
一例として、データＤ［０］が「Ｈ」レベルに設定され、マスクデータＢＷＮ［０］は「Ｌ」レベルに設定されているものとする。制御信号ＢＩＳＴは、「Ｌ」レベルである。
【０２４２】
この場合、ＩＦ制御回路３００は、データＤＬ［０］（「Ｈ」レベル）をフリップフロップＦＦ４に出力する。また、マスクデータＢＷＮＬ［０］（「Ｌ」レベル）をフリップフロップＦＦ５に出力する。
【０２４３】
フリップフロップＦＦ４，ＦＦ５は、図示しないクロック信号ＣＬＫに同期してデータをラッチする。
【０２４４】
ＩＯ制御回路４００は、制御信号ＷＴＥ（「Ｈ」レベル）に従って書込回路４３を動作させる。
【０２４５】
本例の場合には、フリップフロップＦＦ４の出力は「Ｈ」レベルに設定されるため、ＮチャネルＭＯＳトランジスタＮＴ０が導通する。これに伴い、データ線ＣＢ［０］が接地電圧ＧＮＤと接続される。
【０２４６】
また、コラムアドレス信号ＣＡによりメモリセル列が選択される。一例として、コラムアドレス信号ＣＡ［０］が「Ｈ」レベルに設定される場合について説明する。
【０２４７】
これにより、ビット線対ＢＬＰ０とデータ線対ＣＢＰ０とが電気的に接続される。
ビット線／ＢＬ［０］は「Ｌ」レベルに設定される。これに伴い、書込補助回路４２によりビット線ＢＬ［０］は、電源電圧ＶＤＤと接続される。
【０２４８】
ワード線ＷＬ［０］が選択された場合に、メモリセルＭＣ００の記憶ノードＭＢは「Ｌ」レベル、ＭＴは「Ｈ」レベルに設定され、データ「１」が格納される。
【０２４９】
データＤ［１］が「Ｌ」レベルの場合には、メモリセルＭＣ００の記憶ノードＭＢは「Ｈ」レベル、ＭＴは「Ｌ」レベルに設定され、データ「０」が格納される。
【０２５０】
マスクデータＢＷＮ［０］が「Ｈ」レベルに設定される場合について説明する。
この場合は、フリップフロップＦＦ５にマスクデータＢＷＮＬ［０］（「Ｈ」レベル）が出力される。これに伴い、ＮＡＮＤ回路ＮＤ１の出力は「Ｈ」レベルに設定されるためＮＲ回路ＮＲ０，ＮＲ１の出力も「Ｈ」レベルに設定される。したがって、ＮチャネルＭＯＳトランジスタＮＴ０，ＮＴ１は、導通しないため書込は禁止される。
【０２５１】
（６）通常モードのデータ読出
メモリユニット３Ｂは、一例としてアドレスＡ［５：０］の入力を受けて、８本のワード線ＷＬ［０］〜「７」のいずれか１つを選択するとともに、４個のビット線対ＢＬＰのうちの１つのビット線対ＢＬＰを選択する。
【０２５２】
一例として、アドレスＡ［５：０］に従ってワード線ＷＬ［０］が選択され、ビット線対ＢＬＰ０が選択された場合には、ワード線ＷＬ［０］に対応するメモリセルＭＣ００のデータが読み出される。
【０２５３】
この場合、制御信号ＲＤＥが「Ｈ」レベルに設定される。これに伴い読出回路４４＃が動作する。一例として、読出回路４４＃において、インバータＩＶ０は、制御信号ＲＤＥ（「Ｈ」レベル）に従ってデータ線ＣＴ［０］の信号を反転させてラッチ回路ＬＴ０に出力する。ラッチ回路ＬＴ０は、インバータＩＶ０からの出力信号をラッチして、インバータＩＶ１に出力する。インバータＩＶ１は、ラッチ回路ＬＴ０からの信号を反転して、読出データＱ［０］として出力する。他の読出回路についても同様である。
【０２５４】
これにより読出データＱ［０］，Ｑ［１］，・・・の複数ビットのデータが読み出される。
【０２５５】
（７）テストモードのデータ書込
メモリセルＭＣ００に対するデータ書込について説明する。
【０２５６】
一例として、テストデータＴＤ［０］が「Ｌ」レベルに設定され、マスクデータＴＢＷＮ［０］は「Ｌ」レベルに設定されているものとする。制御信号ＢＩＳＴは、「Ｈ」レベルである。
【０２５７】
この場合、ＩＦ制御回路３００は、データＤＬ［０］（「Ｌ」レベル）をフリップフロップＦＦ４に出力する。また、マスクデータＢＷＮＬ［０］（「Ｌ」レベル）をフリップフロップＦＦ５に出力する。
【０２５８】
フリップフロップＦＦ４，ＦＦ５は、図示しないクロック信号ＣＬＫに同期してデータをラッチする。
【０２５９】
ＩＯ制御回路４００は、制御信号ＷＴＥ（「Ｈ」レベル）に従って書込回路４３を動作させる。
【０２６０】
本例の場合には、フリップフロップＦＦ４の出力は「Ｌ」レベルに設定されるため、ＮチャネルＭＯＳトランジスタＮＴ１が導通する。これに伴い、データ線ＣＴ［０］が接地電圧ＧＮＤと接続される。
【０２６１】
また、コラムアドレス信号ＣＡによりメモリセル列が選択される。一例として、コラムアドレス信号ＣＡ［０］が「Ｈ」レベルに設定される場合について説明する。
【０２６２】
これにより、ビット線対ＢＬＰ０とデータ線対ＣＢＰ０とが電気的に接続される。
ビット線ＢＬ［０］は「Ｌ」レベルに設定される。これに伴い、書込補助回路４２によりビット線／ＢＬ［０］は、電源電圧ＶＤＤと接続される。
【０２６３】
ワード線ＷＬ［０］が選択された場合に、メモリセルＭＣ００の記憶ノードＭＢは「Ｈ」レベル、ＭＴは「Ｌ」レベルに設定され、データ「０」が格納される。
【０２６４】
テストデータＴＤ［０］が「Ｈ」レベルの場合には、メモリセルＭＣ００の記憶ノードＭＢは「Ｌ」レベル、ＭＴは「Ｈ」レベルに設定され、データ「１」が格納される。
【０２６５】
マスクデータＴＢＷＮ［０］が「Ｈ」レベルに設定される場合について説明する。
この場合は、フリップフロップＦＦ５にマスクデータＢＷＮＬ［０］（「Ｈ」レベル）が出力される。これに伴い、ＮＡＮＤ回路ＮＤ１の出力は「Ｈ」レベルに設定されるためＮＲ回路ＮＲ０，ＮＲ１の出力も「Ｈ」レベルに設定される。したがって、ＮチャネルＭＯＳトランジスタＮＴ０，ＮＴ１は、導通しないため書込は禁止される。
【０２６６】
（８）テストモードのデータ読出
メモリユニット３Ｂは、一例としてテストアドレスＴＡ［５：０］の入力を受けて、８本のワード線ＷＬ［０］〜「７」のいずれか１つを選択するとともに、４個のビット線対ＢＬＰのうちの１つのビット線対ＢＬＰを選択する。
【０２６７】
一例として、テストアドレスＴＡ［５：０］に従ってワード線ＷＬ［０］が選択され、ビット線対ＢＬＰ０が選択された場合には、ワード線ＷＬ［０］に対応するメモリセルＭＣ００のデータが読み出される。
【０２６８】
この場合、制御信号ＲＤＥが「Ｈ」レベルに設定される。これに伴い読出回路４４＃が動作する。一例として、読出回路４４＃において、インバータＩＶ０は、制御信号ＲＤＥ（「Ｈ」レベル）に従ってデータ線ＣＴ［０］の信号を反転させてラッチ回路ＬＴ０に出力する。ラッチ回路ＬＴ０は、インバータＩＶ０からの出力信号をラッチして、インバータＩＶ１＃に出力する。インバータＩＶ１＃は、ラッチ回路ＬＴ０からの信号を反転して、読出データＴＱ［０］として出力する。他の読出回路についても同様である。
【０２６９】
これにより読出データＴＱ［０］，ＴＱ［１］，・・・の複数ビットのデータが読み出される。
【０２７０】
そして、読出データＴＱ［０］，ＴＱ［１］，・・・の複数ビットのデータがＢＩＳＴ回路４に出力される。
【０２７１】
ＢＩＳＴ回路４は、テストモードにおける読出データを受けて、データ解析し、所定のテスト判定処理を実行する。
【０２７２】
図１２は、実施形態１の変形例に基づくメモリユニット３Ｂのテストモードにおける動作について説明するタイミングチャート図である。
【０２７３】
本例においては、データ読出、データ書込を交互に繰り返すマーチングテストを実行する場合について説明する。
【０２７４】
制御信号ＴＥは「Ｈ」レベルに設定される。従って、制御信号ＢＩＳＴは「Ｈ」レベルに設定される。
【０２７５】
図１２に示されるように、一例として、まず、データ読出（リードサイクル）について説明する。
【０２７６】
メモリユニット３Ｂは、クロック信号ＣＬＫに同期して動作する。本例においては、一例としてクロック信号ＣＬＫが時刻Ｔ３０に立ち上がる。
【０２７７】
制御回路２００は、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０２７８】
一例として、テストアドレスＴＡ［０］は「Ｌ」レベルに設定されている。
制御信号ＴＷＥＮが「Ｈ」レベルであるため、時刻Ｔ３１において制御信号ＲＤＥが「Ｈ」レベルに設定される。これによりデータ読出が実行される。
【０２７９】
次に、時刻Ｔ３２において、コラムアドレス信号ＣＡ［０］が「Ｈ」レベルに設定される。
【０２８０】
次に、時刻Ｔ３３において、ワード線ＷＬ［０］が選択（「Ｈ」レベル）される。
これに伴い、ワード線ＷＬ［０］およびビット線対ＢＬＰ０に対応するメモリセルＭＣ００のデータ読出が実行される。
【０２８１】
時刻Ｔ３４において、読出データＱ，ＴＱが出力された場合が示されている。
次に、時刻Ｔ３５において、制御信号ＴＷＥＮが「Ｌ」レベルに設定される。
【０２８２】
次に、時刻Ｔ３６において、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０２８３】
また、制御信号ＴＷＥＮが「Ｌ」レベルであるため、時刻Ｔ３７において制御信号ＷＴＥが「Ｈ」レベルに設定される。これによりデータ書込が実行される。
【０２８４】
次に、時刻Ｔ３８において、コラムアドレス信号ＣＡ［０］が「Ｈ」レベルに設定される。
【０２８５】
次に、時刻Ｔ３９において、ワード線ＷＬ［０］が選択（「Ｈ」レベル）される。
これに伴い、ワード線ＷＬ［０］およビット線対ＢＬＰ０に対応するメモリセルＭＣ００のデータ書込が実行される。
【０２８６】
時刻Ｔ４０において、メモリセルＭＣ００に対するデータ書込が実行された場合が示されている。
【０２８７】
次に、時刻Ｔ４１において、テストアドレスＴＡがインクリメントされて、テストアドレスＴＡ［０］が「Ｈ」レベルに設定された場合が示されている。
【０２８８】
次に、時刻Ｔ４２において、制御信号ＴＷＥＮが「Ｈ」レベルに設定される。
時刻Ｔ４３において、制御回路２００は、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０２８９】
制御信号ＴＷＥＮが「Ｈ」レベルであるため、時刻Ｔ４４において制御信号ＲＤＥが「Ｈ」レベルに設定される。これによりデータ読出が実行される。
【０２９０】
次に、時刻Ｔ４５において、コラムアドレス信号ＣＡ［１］が「Ｈ」レベルに設定される。
【０２９１】
次に、時刻Ｔ４６において、ワード線ＷＬ［０］が選択（「Ｈ」レベル）される。
これに伴い、ワード線ＷＬ［０］およびビット線対ＢＬＰ１に対応するメモリセルＭＣ０１のデータ読出が実行される。
【０２９２】
次に、時刻Ｔ４７において、制御信号ＴＷＥＮが「Ｌ」レベルに設定される。
次に、時刻Ｔ４８において、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０２９３】
また、制御信号ＴＷＥＮが「Ｌ」レベルであるため、時刻Ｔ４９において制御信号ＷＴＥが「Ｈ」レベルに設定される。これによりデータ書込が実行される。
【０２９４】
次に、時刻Ｔ５０において、コラムアドレス信号ＣＡ［１］が「Ｈ」レベルに設定される。
【０２９５】
次に、時刻Ｔ５１において、ワード線ＷＬ［０］が選択（「Ｈ」レベル）される。
これに伴い、ワード線ＷＬ［０］およビット線対ＢＬＰ１に対応するメモリセルＭＣ０１のデータ書込が実行される。
【０２９６】
時刻Ｔ５２において、メモリセルＭＣ０１に対するデータ書込が実行された場合が示されている。
【０２９７】
次に、時刻Ｔ５３において、テストアドレスＴＡがインクリメントされて、テストアドレスＴＡ［０］が「Ｌ」レベル、テストアドレスＴＡ［１］が「Ｈ」レベルに設定された場合が示されている。
【０２９８】
次に、時刻Ｔ５４において、制御信号ＴＷＥＮが「Ｈ」レベルに設定される。
時刻Ｔ５５において、制御回路２００は、クロック信号ＣＬＫに同期して、テストアドレスＴＡおよび制御信号を取り込んで各種制御信号を出力する。
【０２９９】
制御信号ＴＷＥＮが「Ｈ」レベルであるため、時刻Ｔ５６において制御信号ＲＤＥが「Ｈ」レベルに設定される。これによりデータ読出が実行される。
【０３００】
次に、一例としてワード線ＷＬ［０］およびビット線対ＢＬＰ２に対応するメモリセルＭＣ０２のデータ読出が実行される。
【０３０１】
当該処理を繰り返すことによりマーチングテストを実行することが可能である。
したがって、メモリユニット３Ｂ（ＭＵＸ４）は、コラムアドレス信号ＣＡを順番に活性化させることにより隣接セルの障害を検出するマーチングテストを実行することが可能である。
【０３０２】
メモリユニット３Ａのマーチングテストについては、メモリ３で説明したのと同様の方式に従って実行することが可能である。
【０３０３】
図７に示されるように、半導体チップ１＃に、メモリユニット３Ｂ（ＭＵＸ４）と異なるメモリユニット３Ａ（ＭＵＸ１）が搭載されている場合であっても、共通のＢＩＳＴ回路４を用いてテストすることが可能である。メモリユニット３Ａについても、メモリユニット３Ｂと同様のマーチングテストのテストパターンを用いることが可能である。
【０３０４】
具体的には、メモリユニット３Ａ（ＭＵＸ１）に用いるアドレスＡ［ｍ：０］に対して、テスト用のアドレスを１ビット追加してテストアドレスＴＡ［ｍ＋１：０］を用いる。
【０３０５】
実施形態１で説明したように、当該１ビットのテスト用のアドレスを用いて、偶数番目のメモリセル列および奇数番目のメモリセル列をそれぞれ選択する。
【０３０６】
データ読出およびデータ書込を偶数番目のメモリセル列および奇数番目のメモリセル列に交互に実行して検証することにより、隣接セルの障害を検出するマーチングテストを実行することが可能である。
【０３０７】
したがって、メモリユニット３Ａに対して専用のＢＩＳＴ回路および専用のテストパターンを設ける必要がなく、メモリユニット３Ｂと共用のＢＩＳＴ回路を用いることが可能であり、面積を縮小するとともにコストも抑制することが可能である。
【０３０８】
［実施形態２］
図１３は、実施形態２に基づくＩＦ制御回路３００＃を説明する図である。
【０３０９】
図１３を参照して、ＩＦ制御回路３００＃は、セレクタＳＬＬ１〜ＳＬＬ９と、ＯＲ回路ＯＲＡ，ＯＲＢ，ＯＲＣ，ＯＲＤと、アンプＡＰＰとを含む。
【０３１０】
セレクタＳＬＬ１は、制御信号ＢＩＳＴの入力に従って入力されるデータＤ［０］およびテストデータＴＤ［０］の一方をデータＤＬ［０］としてＩＯ制御回路４０−１に出力する。
【０３１１】
具体的には、セレクタＳＬＬ１は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるデータＤ［０］をデータＤＬ［０］としてＩＯ制御回路４０−１に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるテストデータＴＤ［０］をデータＤＬ［０］としてＩＯ制御回路４０−１に出力する。
【０３１２】
ＯＲ回路ＯＲＡは、制御信号ＴＡＬ［０］、制御信号ＴＡＬ［１］およびマスクデータＴＢＷＮ［０］のＯＲ論理演算結果をセレクタＳＬＬ２に出力する。
【０３１３】
セレクタＳＬＬ２は、制御信号ＢＩＳＴの入力に従って入力されるマスクデータＢＷＮ［０］およびＯＲ回路ＯＲＡの出力の一方をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４０−１に出力する。
【０３１４】
具体的には、セレクタＳＬＬ２は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるマスクデータＢＷＮ［０］をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４０−１に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるＯＲ回路ＯＲ０の出力をマスクデータＢＷＮＬ［０］としてＩＯ制御回路４０−１に出力する。
【０３１５】
セレクタＳＬＬ３は、制御信号ＢＩＳＴの入力に従って入力されるデータＤ［１］およびテストデータＴＤ［０］の一方をデータＤＬ［１］としてＩＯ制御回路４０−２に出力する。
【０３１６】
具体的には、セレクタＳＬＬ３は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるデータＤ［１］をデータＤＬ［１］としてＩＯ制御回路４０−２に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるテストデータＴＤ［０］をデータＤＬ［１］としてＩＯ制御回路４０−２に出力する。
【０３１７】
ＯＲ回路ＯＲＢは、制御信号ＴＡＬ［０］の反転信号、制御信号ＴＡＬ［１］およびマスクデータＴＢＷＮ［０］のＯＲ論理演算結果をセレクタＳＬＬ４に出力する。
【０３１８】
セレクタＳＬＬ４は、制御信号ＢＩＳＴの入力に従って入力されるマスクデータＢＷＮ［１］およびＯＲ回路ＯＲＢの出力の一方をマスクデータＢＷＮＬ［１］としてＩＯ制御回路４０−２に出力する。
【０３１９】
具体的には、セレクタＳＬＬ４は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるマスクデータＢＷＮ［１］をマスクデータＢＷＮＬ［１］としてＩＯ制御回路４０−２に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるＯＲ回路ＯＲ１の出力をマスクデータＢＷＮＬ［１］としてＩＯ制御回路４０−２に出力する。
【０３２０】
セレクタＳＬＬ５は、制御信号ＢＩＳＴの入力に従って入力されるデータＤ［２］およびテストデータＴＤ［０］の一方をデータＤＬ［２］としてＩＯ制御回路４０−３に出力する。
【０３２１】
具体的には、セレクタＳＬＬ５は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるデータＤ［２］をデータＤＬ［２］としてＩＯ制御回路４０−３に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるテストデータＴＤ［０］をデータＤＬ［２］としてＩＯ制御回路４０−３に出力する。
【０３２２】
ＯＲ回路ＯＲＣは、制御信号ＴＡＬ［０］、制御信号ＴＡＬ［１］の反転信号およびマスクデータＴＢＷＮ［０］のＯＲ論理演算結果をセレクタＳＬＬ６に出力する。
【０３２３】
セレクタＳＬＬ６は、制御信号ＢＩＳＴの入力に従って入力されるマスクデータＢＷＮ［２］およびＯＲ回路ＯＲＣの出力の一方をマスクデータＢＷＮＬ［２］としてＩＯ制御回路４０−３に出力する。
【０３２４】
具体的には、セレクタＳＬＬ６は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるマスクデータＢＷＮ［２］をマスクデータＢＷＮＬ［２］としてＩＯ制御回路４０−３に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるＯＲ回路ＯＲＣの出力をマスクデータＢＷＮＬ［２］としてＩＯ制御回路４０−３に出力する。
【０３２５】
セレクタＳＬＬ７は、制御信号ＢＩＳＴの入力に従って入力されるデータＤ［３］およびテストデータＴＤ［０］の一方をデータＤＬ［３］としてＩＯ制御回路４０−４に出力する。
【０３２６】
具体的には、セレクタＳＬＬ７は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるデータＤ［３］をデータＤＬ［３］としてＩＯ制御回路４０−４に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるテストデータＴＤ［０］をデータＤＬ［３］としてＩＯ制御回路４０−４に出力する。
【０３２７】
ＯＲ回路ＯＲＤは、制御信号ＴＡＬ［０］の反転信号、制御信号ＴＡＬ［１］の反転信号およびマスクデータＴＢＷＮ［０］のＯＲ論理演算結果をセレクタＳＬＬ８に出力する。
【０３２８】
セレクタＳＬＬ８は、制御信号ＢＩＳＴの入力に従って入力されるマスクデータＢＷＮ［３］およびＯＲ回路ＯＲＤの出力の一方をマスクデータＢＷＮＬ［３］としてＩＯ制御回路４０−４に出力する。
【０３２９】
具体的には、セレクタＳＬＬ８は、制御信号ＢＩＳＴ（「Ｈ」レベル）の入力に従って入力されるマスクデータＢＷＮ［３］をマスクデータＢＷＮＬ［３］としてＩＯ制御回路４０−４に出力する。一方、制御信号ＢＩＳＴ（「Ｌ」レベル）の入力に従って入力されるＯＲ回路ＯＲＤの出力をマスクデータＢＷＮＬ［３］としてＩＯ制御回路４０−４に出力する。
【０３３０】
セレクタＳＬＬ９は、制御信号ＴＡＬ［０］およびＴＡＬ［１］の入力に従って入力される読出データＱ［０］〜Ｑ［３］のいずれか１つをアンプＡＰＰに出力する。アンプＡＰＰは、増幅して読出データＴＱ［０］としてＢＩＳＴ回路４に出力する。
【０３３１】
当該構成により、データ書込において、制御信号ＢＩＳＴが「Ｈ」レベルの場合において、制御信号ＴＡＬ［０］，ＴＡＬ［１］の組み合わせに基づいてセレクタＳＬＬ２,ＳＬＬ４，ＳＬＬ６，ＳＬＬ８ののいずれか１つが「Ｌ」レベルを出力し、残りの３つが「Ｈ」レベルを出力する。これにより、ＩＯ制御回路４０−１〜４０−４のうちの１つにデータＤＬ［０］〜ＤＬ［３］のうちの１つのデータＤＬが入力されて、データ書込を実行することが可能である。
【０３３２】
また、当該構成により、データ読出において、制御信号ＴＡＬ［０］，ＴＡＬ［１］の組み合わせに基づいて読出データＱ［０］〜Ｑ［３］のうちの１つのデータが選択される。そして、セレクタＳＬＬ９の出力は、アンプＡＰＰを介して読出データＴＱ［０］として出力される。
【０３３３】
制御信号ＴＡＬ［０］，ＴＡＬ［１］は、テストアドレスＴＡ［０］，ＴＡ［１］に基づき生成される信号である。
【０３３４】
当該構成は、２ビットのテスト用のアドレスを用いることにより、４列の中から１列を選択する構成である。
【０３３５】
したがって、実施形態１で説明したＭＵＸ１のメモリアレイについて、当該ＩＦ制御回路３００＃を適用することにより、ＭＵＸ４のメモリアレイと同様の動作を実現することが可能である。すなわち、変形例で説明したメモリユニット３Ｂと同様のテストパターンに基づくテストをＭＵＸ１のメモリアレイにも簡易に適用することが可能である。
【０３３６】
なお、本例においては、２ビットのテスト用アドレスを用いることが可能な場合について説明したが２ビットに限られず、さらに複数ビット（３以上）のテスト用アドレスを用いてＭＵＸ１のメモリアレイに対して、複数のＣＰＢのビットを有するメモリアレイと同様のテストを実行することが可能である。ＢＩＳＴ回路４によるテストの自由度を向上させることが可能である。
【０３３７】
なお、ハードマクロとして設計することも可能であるし、ＦＰＧＡ等を用いてＲＴＬ記述により当該ＩＦ制御回路を実現することも可能である。
【０３３８】
以上、本開示を実施形態に基づき具体的に説明したが、本開示は、実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０３３９】
１  半導体チップ、３  メモリ、３Ａ，３Ｂ  メモリユニット、４  ＢＩＳＴ回路、５  周辺回路、６  メモリセルアレイ、１０，１００  行選択駆動回路、２０，２００  制御回路、３０，３００  ＩＦ制御回路、２５，２５＃  プリデコーダ、４０，４００  ＩＯ制御回路、４１，４５  プリチャージ回路、４２，４６  書込補助回路、４３，４７  書込回路、４４，４８  読出回路、５００  列選択駆動回路。
【図１】
2018200737.tif 000003
【図２】
2018200737.tif 000004
【図３】
2018200737.tif 000005
【図４】
2018200737.tif 000006
【図５】
2018200737.tif 000007
【図６】
2018200737.tif 000008
【図７】
2018200737.tif 000009
【図８】
2018200737.tif 000010
【図９】
2018200737.tif 000011
【図１０】
2018200737.tif 000012
【図１１】
2018200737.tif 000013
【図１２】
2018200737.tif 000014
【図１３】
2018200737.tif 000015