特許第6868466号(P6868466)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ルネサスエレクトロニクス株式会社の特許一覧

<>
  • 特許6868466-半導体装置 図000002
  • 特許6868466-半導体装置 図000003
  • 特許6868466-半導体装置 図000004
  • 特許6868466-半導体装置 図000005
  • 特許6868466-半導体装置 図000006
  • 特許6868466-半導体装置 図000007
  • 特許6868466-半導体装置 図000008
  • 特許6868466-半導体装置 図000009
  • 特許6868466-半導体装置 図000010
  • 特許6868466-半導体装置 図000011
  • 特許6868466-半導体装置 図000012
  • 特許6868466-半導体装置 図000013
  • 特許6868466-半導体装置 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6868466
(24)【登録日】2021年4月14日
(45)【発行日】2021年5月12日
(54)【発明の名称】半導体装置
(51)【国際特許分類】
   G11C 29/12 20060101AFI20210426BHJP
   G11C 29/48 20060101ALI20210426BHJP
   G06F 11/22 20060101ALI20210426BHJP
   G01R 31/28 20060101ALI20210426BHJP
【FI】
   G11C29/12
   G11C29/48
   G06F11/22 607Z
   G01R31/28 B
   G01R31/28 V
【請求項の数】13
【全頁数】35
(21)【出願番号】特願2017-103799(P2017-103799)
(22)【出願日】2017年5月25日
(65)【公開番号】特開2018-200737(P2018-200737A)
(43)【公開日】2018年12月20日
【審査請求日】2019年11月12日
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】田中 信二
【審査官】 堀田 和義
(56)【参考文献】
【文献】 特開2002−237198(JP,A)
【文献】 特開2000−331498(JP,A)
【文献】 特開2004−362762(JP,A)
【文献】 特開平1−134790(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 29/12
G06F 11/22
G01R 31/28
(57)【特許請求の範囲】
【請求項1】
複数のメモリセルが行列状に配置されたメモリセルアレイと、
前記メモリセルアレイ内のメモリセル列毎に設けられた複数のビット線対と、
前記複数のビット線対にそれぞれ対応して設けられた複数の入出力回路と、
通常モードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合に前記複数の入出力回路に対するデータの入出力を制御するインタフェース制御回路とを備え、
前記インタフェース制御回路は、テストモードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合にテスト用アドレスに従ってメモリセル行に含まれる第1メモリセルおよび前記第1メモリセルに隣接する第2メモリセルにそれぞれ対応する第1入出力回路および第2入出力回路のうちのいずれか一方に対するデータの入出力を選択する選択回路を含む、半導体装置。
【請求項2】
前記テストモードにおいて、前記選択回路は、前記テスト用アドレスに応じて、前記第1入出力回路から出力される第1出力信号と前記第2入出力回路から出力される第2出力信号のうち、一方の出力信号をテスト用出力信号とする、請求項1記載の半導体装置。
【請求項3】
前記テストモードにおいて、前記選択回路は、前記テスト用アドレスに応じて、前記第1入出力回路に入力される第1入力信号と前記第2入出力回路に入力される第2入力信号のうち、一方の入力信号をテスト用入力信号とする、請求項1記載の半導体装置。
【請求項4】
前記第1入出力回路は、読出制御信号に従って前記第1メモリセルからの読出信号を出力する第1読出回路を含み、
前記第2入出力回路は、前記読出制御信号に従って前記第2メモリセルからの読出信号を出力する第2読出回路を含む、請求項1記載の半導体装置。
【請求項5】
前記第1入出力回路は、書込制御信号に従って前記第1メモリセルへの書込データに応じた書込信号を出力する第1書込回路を含み、
前記第2入出力回路は、前記書込制御信号に従って前記第2メモリセルへの書込データに応じた書込信号を出力する第2書込回路を含む、請求項1記載の半導体装置。
【請求項6】
前記インタフェース制御回路は、テスト制御信号に従ってテストデータと通常データとのうちの一方を書込データとして前記第1および第2書込回路にそれぞれ出力する第1および第2のセレクタを含む、請求項5記載の半導体装置。
【請求項7】
前記第1および第2のセレクタは、共通の信号線を介して前記テストデータの入力を受ける、請求項6記載の半導体装置。
【請求項8】
前記インタフェース制御回路は、
前記テスト制御信号に従って、前記テスト用アドレスと第1マスクデータとのうちの一方を出力して前記第1書込回路の活性/非活性を制御する第3のセレクタと、
前記テスト制御信号に従って、前記テスト用アドレスの反転データと第2マスクデータとのうちの一方を出力して前記第2書込回路の活性/非活性を制御する第4のセレクタとを含み、
前記テストモードにおいて、前記第3および第4のセレクタは、前記テスト制御信号に従って、前記テスト用アドレスと、前記テスト用アドレスの反転データとをそれぞれ前記第1書込回路および前記第2書込回路に出力する、請求項7記載の半導体装置。
【請求項9】
前記メモリセルアレイに対してマーチングテストを実行するテスト回路をさらに備える、請求項1記載の半導体装置。
【請求項10】
複数のメモリセルが行列状に配置されたメモリセルアレイを備え、
前記メモリセルアレイは、
前記メモリセルアレイ内に含まれ、第1メモリセルを有する第1メモリセル列と、
前記メモリセルアレイ内に含まれ、前記第1メモリセルと同一の行に配置され、かつ前記第1メモリセルと隣接する第2メモリセルを有する第2メモリセル列とを含み、
前記第1メモリセル列と電気的に接続され、前記第1メモリセルに対してデータを入出力する第1入出力回路と、
前記第2メモリセル列と電気的に接続され、前記第2メモリセルに対してデータを入出力する第2入出力回路と、
前記第1入出力回路と前記第2入出力回路とに電気的に接続されたインタフェース制御回路とをさらに備え、
前記インタフェース制御回路は、
テスト用アドレス信号線と、
前記テスト用アドレス信号線に電気的に接続された選択回路とを有し、
前記第1入出力回路と前記第2入出力回路とは、前記インタフェース制御回路と前記メモリセルアレイとの間に配置され、
通常モードにおいて、前記第1入出力回路と前記第2入出力回路とは、前記複数のメモリセルに対して行毎にデータの入出力を行うように前記第1メモリセルと前記第2メモリセルのそれぞれに対してデータの入出力を行い、
テストモードにおいて、テスト用アドレスが前記テスト用アドレス信号線を介して前記選択回路に入力され、
前記選択回路は、前記テスト用アドレスに応じて、前記第1入出力回路を用いた前記第1メモリセルのテストデータの入出力または前記第2入出力回路を用いた前記第2メモリセルのテストデータの入出力のうち、いずれか一方の入出力を選択する、半導体装置。
【請求項11】
前記第1入出力回路は、書込制御信号に従って第1メモリセルへの書込データに応じた書込信号を出力する第1書込回路を含み、
前記第2入出力回路は、前記書込制御信号に従って前記第2メモリセルへの書込データに応じた書込信号を出力する第2書込回路を含み、
前記選択回路は、
前記テスト用アドレスと第1マスクデータとのうちの一方を出力して前記第1書込回路の活性/非活性を制御する第1のセレクタと、
前記テスト用アドレスの反転データと第2マスクデータとのうちの一方を出力して前記第2書込回路の活性/非活性を制御する第2のセレクタとを含み、
前記テストモードにおいて、前記第1および第2のセレクタは、前記テスト用アドレスと、前記テスト用アドレスの反転データとをそれぞれ前記第1書込回路および前記第2書込回路に出力する、請求項10記載の半導体装置。
【請求項12】
複数のメモリセル列を含むメモリセルアレイを備え、
前記メモリセルアレイは、
前記複数のメモリセル列の第1メモリセル列に含まれた第1メモリセルと、
前記第1メモリセル列と隣接する第2メモリセル列に含まれ、かつ前記第1メモリセルと同一の行に配置される第2メモリセルとを含み、
前記第1メモリセル列に対応して設けられる第1入出力回路と、
前記第2メモリセル列に対応して設けられる第2入出力回路と、
前記第1入出力回路と前記第2入出力回路とに電気的に接続され、かつテスト用アドレスを伝達するテスト用アドレス信号線と、
前記テスト用アドレス信号線と電気的に接続された選択回路とを有するインタフェース制御回路とをさらに備え、
前記第1入出力回路および前記第2入出力回路は、前記インタフェース制御回路と前記メモリセルアレイとの間に配置され、
通常モードにおいて、前記第1入出力回路および前記第2入出力回路は、前記複数のメモリセルに対して行毎にデータの入出力を行うように前記第1メモリセルおよび前記第2メモリセルのそれぞれに対してデータの入出力を行い、
テストモードにおいて、前記選択回路は、前記テスト用アドレスに応じて、前記第1入出力回路または前記第2入出力回路のうち一方の入出力回路を選択的に駆動し、前記選択された前記第1入出力回路または前記第2入出力回路のそれぞれに対応する前記第1メモリセルまたは前記第2メモリセルのデータの入出力を行う、半導体装置。
【請求項13】
前記第1入出力回路は、書込制御信号に従って第1メモリセルへの書込データに応じた書込信号を出力する第1書込回路を含み、
前記第2入出力回路は、前記書込制御信号に従って前記第2メモリセルへの書込データに応じた書込信号を出力する第2書込回路を含み、
前記選択回路は、
前記テスト用アドレスと第1マスクデータとのうちの一方を出力して前記第1書込回路の活性/非活性を制御する第1のセレクタと、
前記テスト用アドレスの反転データと第2マスクデータとのうちの一方を出力して前記第2書込回路の活性/非活性を制御する第2のセレクタとを含み、
前記テストモードにおいて、前記第1および第2のセレクタは、前記テスト用アドレスと、前記テスト用アドレスの反転データとをそれぞれ前記第1書込回路および前記第2書込回路に出力する、請求項12記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、半導体装置に関し、特に、テストモードを有する半導体装置に関する。
【背景技術】
【0002】
カスタムLSIに搭載されるRAMの機能テストを容易化するため、BIST(Built In Self Test)回路が注目されている。この手法は、LSIにテスト回路(BIST回路)を搭載し、LSI内部で自動的にRAMのテストを行なうものである。BIST回路の利点には次のようなものがある。
【0003】
高価なテスタを必要としない(LSI外部でテストパタンを生成する必要がない)。
LSI外部から直接テストできないRAMのテストにおいて、高いテスト品質(高い故障検出率)が得られる。また、BIST回路自体は、チップ搭載されることから少ないハード量で実現することができ、使われるRAMの仕様に合わせるため、多種のワード・ビット構成に柔軟に対応できなければならない。
【0004】
この点で、RAMの試験の一つとして、マーチングテスト(Marching Test)がよく知られている(特許文献1および2)。
【0005】
マーチングテストは、セル障害の検出に有効とされている。
具体的には、隣接セルとのショート、センス線からの回り込み、あるいは、欠陥セルのリークにより周囲の他のセルを干渉するなどのセル間干渉を検出することが可能である。
【0006】
当該テストを実行するために一般的には、メモリセルの読出、書込のテストパターンを順番に全アドレスで実行する方式であり、ある選択されたアドレスのメモリセルの書込の際に隣接する選択されていないメモリセルのデータが反転していないか否かを検出することが可能である。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平5−342113号公報
【特許文献2】特開平6−325600号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
一方で、近年ビット幅の広いアプリケーションが増加する傾向にあり、LSIのRAMにおいてもビット幅の広いメモリが要求されている。
【0009】
具体的には、アドレスとしてロウアドレス(行アドレス)のみが割り当てられ、カラムアドレス(列アドレス)を持たないメモリ(MUX1)が要求されている。
【0010】
当該メモリの場合には、アドレスの指定により行方向のメモリセル全てが選択状態となり、隣接するメモリセルのみを非選択状態とすることが難しいという課題がある。
【0011】
特殊なテストパターンを用いて、擬似的にマーチングテストを実行することも可能であるが、専用のテストパターンをBIST回路に搭載する必要が有り、コストも増加する課題がある。
【0012】
本開示は、上記の課題を解決するためになされたものであって、簡易な方式でテストを実行することが可能な半導体装置を提供する。
【0013】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0014】
一実施例によれば、半導体装置は、複数のメモリセルが行列状に配置されたメモリセルアレイと、メモリセルアレイ内のメモリセル列毎に設けられた複数のビット線対と、複数のビット線対にそれぞれ対応して設けられた複数の入出力回路と、通常モードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合に複数の入出力回路に対するデータの入出力を制御するインタフェース制御回路とを備える。インタフェース制御回路は、テストモードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合にテスト用アドレスに従ってメモリセル行に含まれる第1メモリセルおよび第1メモリセルに隣接する第2メモリセルにそれぞれ対応する第1入出力回路および第2入出力回路のうちのいずれか一方に対するデータの入出力を選択する選択回路を含む。
【発明の効果】
【0015】
一実施例によれば、インタフェース制御回路は、通常モードにおいて、メモリセル行毎に対するデータ書込およびデータ読出を実行する場合に前記複数の入出力回路に対するデータの入出力を制御し、テストモードにおいて、テスト用アドレスに従ってメモリセル行に含まれる第1メモリセルおよび前記第1メモリセルに隣接する第2メモリセルにそれぞれ対応する第1入出力回路および第2入出力回路のうちのいずれか一方に対するデータの入出力を選択することが可能であるため、簡易な方式でテストを実行することが可能である。
【図面の簡単な説明】
【0016】
図1】実施形態1に基づく半導体チップ1の外観構成図である。
図2】実施形態1に基づくメモリ3の構成を説明する図である。
図3】実施形態1に基づく制御回路20の回路構成を説明する図である。
図4】実施形態1に基づくIO制御回路40およびIF制御回路30の回路構成を説明する図である。
図5】実施形態1に基づくメモリ3のテストモードにおける動作について説明するタイミングチャート図である。
図6】実施形態1に基づくマーチングテストの概念図である。
図7】実施形態1の変形例に基づく半導体チップ1#の外観構成図である。
図8】実施形態1の変形例に基づくメモリユニット3Bの構成を説明する図である。
図9】実施形態1の変形例に基づく制御回路200の回路構成を説明する図である。
図10】実施形態1の変形例に基づく列選択駆動回路500を説明する図である。
図11】実施形態1の変形例に基づくIO制御回路400およびIF制御回路300の構成を説明する図である。
図12】実施形態1の変形例に基づくメモリユニット3Bのテストモードにおける動作について説明するタイミングチャート図である。
図13】実施形態2に基づくIF制御回路300#を説明する図である。
【発明を実施するための形態】
【0017】
本実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【0018】
[実施形態1]
図1は、実施形態1に基づく半導体チップ1の外観構成図である。
【0019】
図1には、単結晶シリコンのような1個の半導体チップ1に、各種ロジック回路と記憶装置が形成されたSOC(System On a Chip)等と呼ばれる半導体装置または半導体集積回路装置(LSI)が示されている。
【0020】
半導体チップ1は、例えば、自動車制御用LSIであり、1個のプロセッサユニットであるCPU(Central Processing Unit)2と、記憶装置であるメモリ3と、周辺回路5と、テスト回路であるBIST回路4とを備える。
【0021】
CPU2は、メモリ3に格納されたプログラムに基づく所定の演算処理を行う。周辺回路5は、センサーから受けた信号の処理、アクチュエータを制御するための信号の生成、車載ネットワーク(CAN,LIN)との信号の送受信などを実行する。
【0022】
メモリ3は、このような各回路ブロックの処理に伴い適宜アクセスされ、データの一次格納領域としても利用される。
【0023】
周辺回路5は、センサや同期を取るためのクロック信号を生成するクロック回路等を含む。
【0024】
BIST回路4は、一例として、マーチングテストを実行し、隣接セルとのショート、センス線からの回り込み、あるいは、欠陥セルのリークにより周囲の他のセルを干渉するなどのセル間干渉を検出する。
【0025】
SOC等の半導体装置において、メモリ3は、例えばメモリIP(Intellectual Property)等と呼ばれる設計データを用いてメモリコンパイラ等と呼ばれる自動設計ツールで設計することも可能である。
【0026】
[メモリ3の構成]
図2は、実施形態1に基づくメモリ3の構成を説明する図である。
【0027】
図2を参照して、メモリ3は、行列状に配置されたメモリセルMCを有するメモリセルアレイ6と、行選択駆動回路10と、メモリ3全体を制御する制御回路20と、複数のIO(入出力)制御回路40と、複数のIF(インタフェース)制御回路30とを含む。
【0028】
メモリセルアレイ6は、行列状に配置された複数のメモリセルMCを有する。各メモリセルMCは、書き換え可能に設けられたSRAM(Static Random Access Memory)セルである。一例として6トランジスタのSRAMセルを用いてもよい。SRAMセルの詳細については公知であるためその詳細な説明については省略する。
【0029】
本例においては、アドレスとして0行0列目のメモリセルMCをメモリセルMC00として標記されている。0行1列目のメモリセルMCはメモリセルMC01として標記されている。1行0列目のメモリセルMCは、メモリセルMC10として標記されている。他のメモリセルMCについても同様である。
【0030】
一例として、メモリセルMC00の記憶ノードMB,MTが示されており、当該記憶ノードの電位が保持される。記憶ノードMBが「L」レベル、MTが「H」レベルの場合にデータ「1」が格納される。一方、記憶ノードMBが「H」レベル、MTが「L」レベルの場合にデータ「0」が格納される。なお、データ「0」、「1」を逆にすることも可能である。
【0031】
メモリセル行毎に複数のワード線WLが設けられる。一例として、8本のワード線WL[0]〜WL[7]が設けられた場合が示されている。
【0032】
また、メモリセル列毎に複数のビット線対BLPが設けられる。一例として、ビット線対BLP[0],BLP[1],・・・が設けられている場合が示されている。ビット線対BLPは、ビット線BL,/BLを有する。
【0033】
制御回路20は、メモリ3全体を制御する。
制御回路20は、クロック信号CLK、アドレスA[2:0]、制御信号CEN、制御信号WEN、テストアドレスTA[3:0]、制御信号TCEN、制御信号TWEN、制御信号TEの入力を受けて所定の動作を実行する。なお、本明細書において、[X:Y]の表記は、[Y]〜[X]として説明する。
【0034】
具体的には、制御回路20は、行選択駆動回路10にロウアドレス信号RA[7:0]を出力する。行選択駆動回路10は、ロウアドレス信号RA[7:0]に従ってワード線WLを選択する。本例においては、行選択駆動回路10は、8本のワード線WLのうちの1本のワード線WLを選択する。
【0035】
制御回路20は、上記入力信号に基づいて、制御信号PC、制御信号RDE(読出制御信号)、制御信号WTE(書込制御信号)、制御信号BIST(テスト制御信号)、制御信号TAL[0]を必要に応じて出力する。
【0036】
メモリセル列毎に、複数のIO制御回路40が設けられる。一例として、IO制御回路40−1,40−2,・・・が設けられている場合が示されている。
【0037】
また、2つの隣接するIO制御回路40毎に複数のIF制御回路30が設けられる。一例として、IF制御回路30−1,30−2,・・・が設けられている場合が示されている。
【0038】
[制御回路の構成]
図3は、実施形態1に基づく制御回路20の回路構成を説明する図である。
【0039】
図3を参照して、制御回路20は、セレクタSL1〜SL3と、フリップフロップFF1〜FF3と、AND回路AD1〜AD4と、アンプAP1,AP2と、遅延段DLGと、プリデコーダ25とを含む。
【0040】
フリップフロップFF1〜FF3は、それぞれクロック信号CLKの入力を受けて、入力データをラッチして出力する。
【0041】
フリップフロップFF1は、クロック信号CLKの入力に従ってテストアドレスTA[0]を制御信号TAL[0]として出力する。
【0042】
後述するが制御信号TAL[0]は、偶数番目および奇数番目の列を選択あるいは非選択にする制御信号として用いられる。
【0043】
アンプAP2は、制御信号TEを増幅して制御信号BISTとして出力する。
テストモードにおいては、制御信号TEは「H」レベルに設定される。制御信号BISTは、「H」レベルに設定される。一方、通常モードにおいては、制御信号TEは「L」レベルに設定される。制御信号BISTは「L」レベルに設定される。
【0044】
セレクタSL1は、アドレスA[2:0]およびテストアドレスTA[3:1]の入力を受けて、制御信号TEに従っていずれか一方をフリップフロップFF2に出力する。
【0045】
制御信号TEが「L」レベルの場合には、アドレスA[2:0]をフリップフロップFF2に出力する。制御信号TEが「H」レベルの場合には、テストアドレスTA[3:1]をフリップフロップFF2に出力する。
【0046】
フリップフロップFF2は、クロック信号CLKの入力に従って入力されたアドレスA[2:0]およびTA[3:1]の一方をアドレス信号ADL[2:0]としてプリデコーダ25に出力する。
【0047】
プリデコーダ25は、制御信号TDECの入力に同期してアドレス信号ADL[2:0]に基づいてロウアドレス信号RA[7:0]を出力する。
【0048】
セレクタSL2は、制御信号SENおよび制御信号TSENの入力を受けて、制御信号TEに従っていずれか一方をフリップフロップFF2に出力する。
【0049】
制御信号TEが「L」レベルの場合には、制御信号SENをフリップフロップFF3に出力する。制御信号TEが「H」レベルの場合には、制御信号TSENをフリップフロップFF3に出力する。
【0050】
フリップフロップFF3は、クロック信号CLKの入力に従って入力された制御信号SENおよび制御信号TSENの一方を制御信号WENLとして出力する。
【0051】
セレクタSL3、制御信号CENおよび制御信号TCENの入力を受けて、制御信号TEに従っていずれか一方をAND回路AD1に出力する。
【0052】
制御信号TEが「L」レベルの場合には、制御信号CENをAND回路AD1に出力する。制御信号TEが「H」レベルの場合には、制御信号TCENをAND回路AD1に出力する。
【0053】
AND回路AD1は、セレクタSL3から出力された信号とクロック信号CLKとのAND論理演算結果を内部クロックCK1として、AND回路AD2に出力する。
【0054】
AND回路AD2の出力は、遅延段DLGと接続される。
AND回路AD2は、内部クロックCK1と、遅延段DLGの出力の反転信号との入力を受けて、AND論理演算結果を制御信号TDECとして出力する。
【0055】
アンプAP1は、制御信号TDECを増幅して制御信号PCとして出力する。
AND回路AD3は、制御信号TDECと、制御信号WENLの反転信号とのAND論理演算結果を制御信号WTEとして出力する。
【0056】
AND回路AD4は、制御信号TDECと、制御信号WENLとのAND論理演算結果を制御信号RTEとして出力する。
【0057】
図4は、実施形態1に基づくIO制御回路40およびIF制御回路30の回路構成を説明する図である。
【0058】
図4を参照して、IO制御回路40−1は、プリチャージ回路41と、書込補助回路42と、書込回路43と、読出回路44とを含む。
【0059】
プリチャージ回路41は、制御信号PCの入力をゲートに受ける3個のPチャネルMOSトランジスタを含む。制御信号PC(「L」レベル)の入力に応答して、ビット線BL,/BLとの間をイコライズするとともに、ビット線BL,/BLを電源電圧VDDにプリチャージする。
【0060】
書込補助回路42は、2個のPチャネルMOSトランジスタを含む。第1のPチャネルMOSトランジスタは、電源電圧VDDとビット線BLとの間に設けられ、ゲートはビット線/BLと接続される。第2のPチャネルMOSトランジスタは、電源電圧とビット線/BLとの間に設けられ、ゲートは、ビット線BLと接続される。したがって、データ書込時にビット線BL,/BLのいずれか一方が接地電圧GNDと接続された場合に、当該ビット線BL,/BLの一方とゲートとが接続されたPチャネルMOSトランジスタが動作し、ビット線BL,/BLの他方を電源電圧VDDにプルアップする。
【0061】
書込回路43は、2つのNチャネルMOSトランジスタNT0,NT1と、NOR回路NR0,NR1と、NAND回路ND1と、フリップフロップFF4,FF5とを含む。
【0062】
フリップフロップFF4は、図示しないクロック信号CLKに同期してIF制御回路30−1からのデータDL[0]の入力を受けてラッチする。
【0063】
フリップフロップFF5は、図示しないクロック信号CLKに同期してIF制御回路30−1からのマスクデータBWNL[0]の入力を受けてラッチする。
【0064】
NチャネルMOSトランジスタNT0は、ビット線/BLと接地電圧GNDとの間に設けられ、ゲートはNOR回路NR0の出力と接続される。
【0065】
NチャネルMOSトランジスタNT1は、ビット線BLと接地電圧GNDとの間に設けられ、ゲートはNOR回路NR1の出力と接続される。
【0066】
NOR回路NR0は、フリップフロップFF4の出力の反転信号と、NAND回路ND1の出力とのNOR論理演算結果をNチャネルMOSトランジスタNT0のゲートに出力する。
【0067】
NAND回路ND1は、フリップフロップFF5の出力の反転信号と、制御信号WTEの入力信号とのNAND論理演算結果をNOR回路NR1に出力する。
【0068】
NOR回路NR1は、NAND回路ND1の出力と、フリップフロップFF4の出力とのNOR論理演算結果をNチャネルMOSトランジスタNT1のゲートに出力する。
【0069】
フリップフロップFF5の出力が「L」レベルに設定されている場合に、制御信号WTE(「H」レベル)に従って書込回路43は動作する。
【0070】
具体的には、フリップフロップFF4の出力に従ってNチャネルMOSトランジスタNT0,NT1のいずれかが導通する。具体的には、フリップフロップFF4の出力が「L」レベルの場合には、NチャネルMOSトランジスタNT1が導通する。これに伴い、ビット線BLが接地電圧GNDと接続される。そして、書込補助回路42によりビット線/BLは、電源電圧VDDと接続される。
【0071】
一方、フリップフロップFF4の出力が「H」レベルの場合には、NチャネルMOSトランジスタNT0が導通する。これに伴い、ビット線/BLが接地電圧GNDと接続される。そして、書込補助回路42によりビット線BLは、電源電圧VDDと接続される。
【0072】
読出回路44は、インバータIV0,IV1と、ラッチ回路LT0とを含む。
インバータIV0は、制御信号RTEの入力を受けて動作する。インバータIV0は、ビット線BL[0]と接続される。インバータIV0は、制御信号RTE(「H」レベル)の入力に応答して、ビット線BL[0]の信号を反転させてラッチ回路LT0に出力する。ラッチ回路LT0は、制御信号RTEの入力を受けて動作する。
【0073】
インバータIV1は、ラッチ回路LT0の出力を反転して出力する。
したがって、ビット線BL[0]は2つのインバータIV0,IV1と接続されるためビット線BL[0]に応じた読出データQ[0]として出力される。データ読出時において、ビット線BL[0]が「L」レベルの場合には、読出データQ[0]も「L」レベルに設定される。ビット線BL[0]が「H」レベルの場合には、読出データQ[0]も「H」レベルに設定される。
【0074】
IO制御回路40−2は、プリチャージ回路45と、書込補助回路46と、書込回路47と、読出回路48とを含む。
【0075】
プリチャージ回路45は、制御信号PCの入力をゲートに受ける3個のPチャネルMOSトランジスタを含む。制御信号PC(「L」レベル)の入力に応答して、ビット線BL,/BLとの間をイコライズするとともに、ビット線BL,/BLを電源電圧VDDにプリチャージする。
【0076】
書込補助回路46は、2個のPチャネルMOSトランジスタを含む。第1のPチャネルMOSトランジスタは、電源電圧VDDとビット線BLとの間に設けられ、ゲートはビット線/BLと接続される。第2のPチャネルMOSトランジスタは、電源電圧とビット線/BLとの間に設けられ、ゲートは、ビット線BLと接続される。したがって、データ書込時にビット線BL,/BLのいずれか一方が接地電圧GNDと接続された場合に、当該ビット線BL,/BLの一方とゲートとが接続されたPチャネルMOSトランジスタが動作し、ビット線BL,/BLの他方を電源電圧VDDにプルアップする。
【0077】
書込回路47は、2つのNチャネルMOSトランジスタNT2,NT3と、NOR回路NR2,NR3と、NAND回路ND2と、フリップフロップFF6,FF7とを含む。
【0078】
フリップフロップFF7は、図示しないクロック信号CLKに同期してIF制御回路30−1からのデータDL[1]の入力を受けてラッチする。
【0079】
フリップフロップFF6は、図示しないクロック信号CLKに同期してIF制御回路30−1からのマスクデータBWNL[1]の入力を受けてラッチする。
【0080】
NチャネルMOSトランジスタNT2は、ビット線/BLと接地電圧GNDとの間に設けられ、ゲートはNOR回路NR2の出力と接続される。
【0081】
NチャネルMOSトランジスタNT3は、ビット線BLと接地電圧GNDとの間に設けられ、ゲートはNOR回路NR3の出力と接続される。
【0082】
NOR回路NR2は、フリップフロップFF7の出力の反転信号と、NAND回路ND2の出力とのNOR論理演算結果をNチャネルMOSトランジスタNT2のゲートに出力する。
【0083】
NAND回路ND2は、フリップフロップFF6の出力の反転信号と、制御信号WTEの入力信号とのNAND論理演算結果をNOR回路NR2に出力する。
【0084】
NOR回路NR3は、NAND回路ND2の出力と、フリップフロップFF7の出力とのNOR論理演算結果をNチャネルMOSトランジスタNT3のゲートに出力する。
【0085】
フリップフロップFF6の出力が「L」レベルに設定されている場合に、制御信号WTE(「H」レベル)に従って書込回路47は動作する。
【0086】
具体的には、フリップフロップFF7の出力に従ってNチャネルMOSトランジスタNT2,NT3のいずれかが導通する。具体的には、フリップフロップFF7の出力が「L」レベルの場合には、NチャネルMOSトランジスタNT3が導通する。これに伴い、ビット線BLが接地電圧GNDと接続される。そして、書込補助回路46によりビット線/BLは、電源電圧VDDと接続される。
【0087】
一方、フリップフロップFF7の出力が「H」レベルの場合には、NチャネルMOSトランジスタNT2が導通する。これに伴い、ビット線/BLが接地電圧GNDと接続される。そして、書込補助回路46によりビット線BLは、電源電圧VDDと接続される。
【0088】
読出回路48は、インバータIV2,IV3と、ラッチ回路LT1とを含む。
インバータIV2は、制御信号RTEの入力を受けて動作する。インバータIV2は、ビット線BL[1]と接続される。インバータIV2は、制御信号RTE(「H」レベル)の入力に応答して、ビット線BL[1]の信号を反転させてラッチ回路LT1に出力する。ラッチ回路LT1は、制御信号RTEの入力を受けて動作する。
【0089】
インバータIV3は、ラッチ回路LT1の出力を反転して出力する。
したがって、ビット線BL[1]は2つのインバータIV0,IV1と接続されるためビット線BL[1]に応じた読出データQ[1]として出力される。データ読出時において、ビット線BL[1]が「L」レベルの場合には、読出データQ[1]も「L」レベルに設定される。ビット線BL[1]が「H」レベルの場合には、読出データQ[1]も「H」レベルに設定される。
【0090】
次に、IF制御回路30−1について説明する。
IF制御回路30−1は、セレクタSL4〜SL8と、OR回路OR0,OR1と、アンプAP3とを含む。
【0091】
セレクタSL4は、制御信号BISTの入力に従って入力されるデータD[0]およびテストデータTD[0]の一方をデータDL[0]としてIO制御回路40−1に出力する。
【0092】
具体的には、セレクタSL4は、制御信号BIST(「H」レベル)の入力に従って入力されるデータD[0]をデータDL[0]としてIO制御回路40−1に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるテストデータTD[0]をデータDL[0]としてIO制御回路40−1に出力する。
【0093】
OR回路OR0は、制御信号TAL[0]およびマスクデータTBWN[0]のOR論理演算結果をセレクタSL5に出力する。
【0094】
なお、マスクデータは、当該ビットの書込を禁止するフラグデータである。具体的には、マスクデータBWN,TBWNが「H」レベルの場合には当該ビットの書込を禁止する。
【0095】
マスクデータBWNは、通常モードに用いるマスクデータである。マスクデータTBWNは、テストモードに用いるマスクデータである。
【0096】
セレクタSL5は、制御信号BISTの入力に従って入力されるマスクデータBWN[0]およびOR回路OR0の出力の一方をマスクデータBWNL[0]としてIO制御回路40−1に出力する。
【0097】
具体的には、セレクタSL5は、制御信号BIST(「H」レベル)の入力に従って入力されるマスクデータBWN[0]をマスクデータBWNL[0]としてIO制御回路40−1に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるOR回路OR0の出力をマスクデータBWNL[0]としてIO制御回路40−1に出力する。
【0098】
セレクタSL8は、制御信号BISTの入力に従って入力されるデータD[1]およびテストデータTD[0]の一方をデータDL[1]としてIO制御回路40−2に出力する。
【0099】
具体的には、セレクタSL8は、制御信号BIST(「H」レベル)の入力に従って入力されるデータD[1]をデータDL[1]としてIO制御回路40−2に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるテストデータTD[0]をデータDL[1]としてIO制御回路40−2に出力する。
【0100】
OR回路OR1は、制御信号TAL[0]の反転信号およびマスクデータTBWN[0]のOR論理演算結果をセレクタSL7に出力する。
【0101】
セレクタSL7は、制御信号BISTの入力に従って入力されるマスクデータBWN[1]およびOR回路OR1の出力の一方をマスクデータBWNL[1]としてIO制御回路40−2に出力する。
【0102】
具体的には、セレクタSL7は、制御信号BIST(「H」レベル)の入力に従って入力されるマスクデータBWN[1]をマスクデータBWNL[1]としてIO制御回路40−2に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるOR回路OR1の出力をマスクデータBWNL[1]としてIO制御回路40−2に出力する。
【0103】
セレクタSL6は、制御信号TAL[0]の入力に従って入力される読出データQ[0]および読出データQ[1]をアンプAP3に出力する。アンプAP3は、増幅して読出データTQ[0]としてBIST回路4に出力する。
【0104】
具体的には、セレクタSL6は、制御信号TAL[0](「L」レベル)の入力に従って読出データQ[0]をアンプAP3に出力する。一方、制御信号TAL[0](「H」レベル)の入力に従って読出データQ[1]をアンプAP3に出力する。
【0105】
通常モードにおいては、制御信号BISTは「L」レベルに設定される。
したがって、セレクタSL4は、データD[0]をデータDL[0]としてフリップフロップFF4に出力する。また、マスクデータBWN[0]をマスクデータBWNL[0]としてフリップフロップFF5に出力する。
【0106】
セレクタSL8は、データD[1]をデータDL[1]としてフリップフロップFF7に出力する。また、マスクデータBWN[1]をマスクデータBWNL[1]としてフリップフロップFF6に出力する。
【0107】
テストモードにおいては、制御信号BISTは「H」レベルに設定される。
したがって、セレクタSL4は、テストデータTD[0]をデータDL[0]としてフリップフロップFF4に出力する。また、OR回路OR0の出力をマスクデータBWNL[0]としてフリップフロップFF5に出力する。
【0108】
セレクタSL8は、テストデータTD[1]をデータDL[1]としてフリップフロップFF7に出力する。また、OR回路OR1の出力をマスクデータBWNL[1]としてフリップフロップFF6に出力する。
【0109】
(1)通常モードのデータ書込
メモリセルMC00に対するデータ書込について説明する。
【0110】
一例として、データD[0]が「H」レベルに設定され、マスクデータBWN[0]は「L」レベルに設定されているものとする。制御信号BISTは、「L」レベルである。
【0111】
この場合、IF制御回路30−1は、データDL[0](「H」レベル)をフリップフロップFF4に出力する。また、マスクデータBWNL[0](「L」レベル)をフリップフロップFF5に出力する。
【0112】
フリップフロップFF4,FF5は、図示しないクロック信号CLKに同期してデータをラッチする。
【0113】
IO制御回路40−1は、制御信号WTE(「H」レベル)に従って書込回路43を動作させる。
【0114】
本例の場合には、フリップフロップFF4の出力は「H」レベルに設定されるため、NチャネルMOSトランジスタNT0が導通する。これに伴い、ビット線/BLが接地電圧GNDと接続される。そして、書込補助回路42によりビット線BLは、電源電圧VDDと接続される。
【0115】
ワード線WL[0]が選択された場合に、メモリセルMC00の記憶ノードMBは「L」レベル、MTは「H」レベルに設定され、データ「1」が格納される。
【0116】
データD[0]が「L」レベルの場合には、メモリセルMC00の記憶ノードMBは「H」レベル、MTは「L」レベルに設定され、データ「0」が格納される。
【0117】
マスクデータBWN[0]が「H」レベルに設定される場合について説明する。
この場合は、フリップフロップFF5にマスクデータBWNL[0](「H」レベル)が出力される。これに伴い、NAND回路ND1の出力は「H」レベルに設定されるためNR回路NR0,NR1の出力も「H」レベルに設定される。したがって、NチャネルMOSトランジスタNT0,NT1は、導通しないため書込は禁止される。
【0118】
データD[0]について説明したが、データD[1]についても同様である。
(2)通常モードのデータ読出
実施形態1に基づくメモリ3は、一例としてアドレスA[2:0]の入力を受けて、8本のワード線WL[0]〜「7」のいずれか1つを選択する。
【0119】
具体的には、アドレスA[2:0]の入力に基づいてメモリセルアレイ6の行選択が実行され、列選択は実行されない。アドレスとしてロウアドレス(行アドレス)のみが割り当てられ、カラムアドレス(列アドレス)を持たないメモリアレイ(MUX1)である。言い換えるとCPB(Column Per Bit)が1のメモリである。
【0120】
したがって、選択されたメモリセル行のメモリセルMCのデータが一括して読み出される。
【0121】
一例として、アドレスA[2:0]に従ってワード線WL[0]が選択された場合には、ワード線WL[0]に対応するメモリセルMC00,MC01,・・・のデータが読み出される。
【0122】
この場合、制御信号RDEが「H」レベルに設定される。これに伴い各列毎に設けられた読出回路が動作する。一例として、読出回路44において、インバータIV0は、制御信号RDE(「H」レベル)に従ってビット線BL[0]の信号を反転させてラッチ回路LT0に出力する。ラッチ回路LT0は、インバータIV0からの出力信号をラッチして、インバータIV1に出力する。インバータIV1は、ラッチ回路LT0からの信号を反転して、読出データQ[0]として出力する。他の制御信号RTEの入力を受けて動作する。
【0123】
他の読出回路についても同様である。
これにより読出データQ[0],Q[1],・・・の複数ビットのデータが一括して読み出される。
【0124】
(3)テストモードのデータ書込
メモリセルMC00に対するデータ書込について説明する。
【0125】
一例として、テストデータTD[0]が「L」レベルに設定され、マスクデータTBWN[0]は「L」レベルに設定されているものとする。制御信号BISTは、「H」レベルである。
【0126】
この場合、IF制御回路30−1は、データDL[0](「L」レベル)をフリップフロップFF4に出力する。また、マスクデータBWNL[0](「L」レベル)をフリップフロップFF5に出力する。
【0127】
フリップフロップFF4,FF5は、図示しないクロック信号CLKに同期してデータをラッチする。
【0128】
IO制御回路40−1は、制御信号WTE(「H」レベル)に従って書込回路43を動作させる。
【0129】
本例の場合には、フリップフロップFF4の出力は「L」レベルに設定されるため、NチャネルMOSトランジスタNT1が導通する。これに伴い、ビット線BLが接地電圧GNDと接続される。そして、書込補助回路42によりビット線/BLは、電源電圧VDDと接続される。
【0130】
ワード線WL[0]が選択された場合に、メモリセルMC00の記憶ノードMBは「H」レベル、MTは「L」レベルに設定され、データ「0」が格納される。
【0131】
テストデータTD[0]が「H」レベルの場合には、メモリセルMC00の記憶ノードMBは「L」レベル、MTは「H」レベルに設定され、データ「1」が格納される。
【0132】
マスクデータTBWN[0]が「H」レベルに設定される場合について説明する。
この場合は、フリップフロップFF5にマスクデータBWNL[0](「H」レベル)が出力される。これに伴い、NAND回路ND1の出力は「H」レベルに設定されるためNR回路NR0,NR1の出力も「H」レベルに設定される。したがって、NチャネルMOSトランジスタNT0,NT1は、導通しないため書込は禁止される。
【0133】
マスクデータTBWNとは別に、本例においては、テストモードにおいて、制御信号TAL[0]に従って、ビットの書込の禁止を制御することが可能である。
【0134】
本例においては、いわゆるマーチングテストを実行する際に、制御信号TAL[0]の論理を切り替える。
【0135】
一例として、制御信号TAL[0]が「H」レベルの場合には、OR回路OR0は、「H」レベルをセレクタSL5に出力する。OR回路OR1は、「L」レベルをセレクタSL7に出力する。
【0136】
制御信号BISTが「H」レベルの場合には、セレクタSL5は、マスクデータBWNL[0](「H」レベル)をフリップフロップFF5に出力する。セレクタSL7は、マスクデータBWNL[1](「L」レベル)をフリップフロップFF6に出力する。
【0137】
これにより、偶数番目のメモリセル列の書込を禁止する。たとえば、0番目、2番目、4番目・・・のメモリセル列の書込を禁止する。
【0138】
一方、制御信号TAL[0]が「L」レベルの場合には、OR回路OR0は、「L」レベルをセレクタSL5に出力する。OR回路OR1は、「H」レベルをセレクタSL7に出力する。
【0139】
制御信号BISTが「H」レベルの場合には、セレクタSL5は、マスクデータBWNL[0](「L」レベル)をフリップフロップFF5に出力する。セレクタSL7は、マスクデータBWNL[1](「H」レベル)をフリップフロップFF6に出力する。
【0140】
これにより、奇数番目のメモリセル列の書込を禁止する。たとえば、1番目、3番目、5番目・・・のメモリセル列の書込を禁止する。
【0141】
テストアドレスTA[0]に従って制御信号TAL[0]が設定される。従って、テストアドレスTA[3:0]がインクリメントされる際に、テストアドレスTA[0]の論理レベルが変更されるため制御信号TAL[0]の論理レベルが切り替わる。
【0142】
すなわち、テストアドレスTA[3:0]のインクリメントに従って、偶数番目、奇数番目のメモリセル列の書込が交互に禁止されることになる。したがって、テストモードにおいては、隣接するメモリセル列への書込が禁止される。
【0143】
それゆえ、本例においては、テストモードにおいて、2つのメモリセル列の一方に対してのみ書込が実行されるため、テストデータTD[0]を2つのメモリセル列で共通に用いる構成としている。
【0144】
当該構成により、テストデータを入力する端子数の数を通常のデータの半分に設定することが可能である。
【0145】
(4)テストモードのデータ読出
実施形態1に基づくメモリ3は、一例としてテストアドレスTA[3:0]の入力を受けて、8本のワード線WL[0]〜「7」のいずれか1つを選択する。
【0146】
具体的には、テストアドレスTA[0]は、上記したようにメモリセル列の書込を禁止するフラグとして用いられる。
【0147】
テストアドレスTA[3:1]は、アドレスA[2:0]と同じアドレス空間に割り当てられている。
【0148】
制御回路20は、テストアドレスTA[3:1]の入力に基づいてロウアドレス信号RA[7:0]を生成し、メモリセルアレイ6の行選択を実行する。
【0149】
したがって、選択されたメモリセル行のメモリセルMCのデータが一括して読み出される。
【0150】
一例として、テストアドレスTA[3:1]に従ってワード線WL[0]が選択された場合には、ワード線WL[0]に対応するメモリセルMC00,MC01,・・・のデータが読み出される。
【0151】
この場合、制御信号RDEが「H」レベルに設定される。これに伴い各列毎に設けられた読出回路が動作する。一例として、読出回路44において、インバータIV0は、制御信号RDE(「H」レベル)に従ってビット線BL[0]の信号を反転させてラッチ回路LT0に出力する。ラッチ回路LT0は、インバータIV0からの出力信号をラッチして、インバータIV1に出力する。インバータIV1は、ラッチ回路LT0からの信号を反転して、読出データQ[0]として出力する。他の読出回路についても同様である。
【0152】
これにより読出データQ[0],Q[1],・・・の複数ビットのデータが一括して読み出される。
【0153】
本例におけるテストモードにおいては、読出データQ[0],Q[1],・・・の複数ビットのデータが一括して読み出されるが、一部ビットのデータを読出データTQとしてBIST回路4に出力する。
【0154】
具体的には、セレクタSL6は、制御信号TAL[0]の入力を受けて読出データQ[0],Q[1]の一方を選択して、出力する。具体的には、制御信号TAL[0]が「L」レベルの場合には、読出データQ[0]が選択される。一方、制御信号TAL[0]が「H」レベルの場合には、読出データQ[1]が選択される。選択された読出データQは、アンプAP3により増幅されて読出データTQとして出力される。
【0155】
それゆえ、読出データQ[0],Q[1],・・・の複数ビットのうちの半分のビットのデータが一括して読み出される。具体的には、偶数番目の読出データQ[0],Q[2],・・・あるいは、奇数番目の読出データQ[1],Q[3],・・・が読出データTQとしてBIST回路4に出力される。
【0156】
当該構成により、テストモードにおける読出データを出力する端子数の数を通常のデータの半分に設定することが可能である。
【0157】
BIST回路4は、テストモードにおける読出データを受けて、データ解析し、所定のテスト判定処理を実行する。
【0158】
図5は、実施形態1に基づくメモリ3のテストモードにおける動作について説明するタイミングチャート図である。
【0159】
本例においては、データ読出、データ書込を交互に繰り返すマーチングテストを実行する場合について説明する。
【0160】
制御信号TEは「H」レベルに設定される。従って、制御信号BISTは「H」レベルに設定される。
【0161】
図5に示されるように、一例として、まず、データ読出(リードサイクル)について説明する。
【0162】
メモリ3は、クロック信号CLKに同期して動作する。本例においては、一例としてクロック信号CLKが時刻T0に立ち上がる。
【0163】
制御回路20は、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0164】
一例として、テストアドレスTA[0]は「L」レベルに設定されている。これに伴い、制御信号TAL[0]は「L」レベルに設定される。
【0165】
制御信号TWENが「H」レベルであるため、時刻T1において制御信号RDEが「H」レベルに設定される。これによりデータ読出が実行される
次に、時刻T2において、ワード線WL[0]が選択(「H」レベル)される。これに伴い、ワード線WL[0]に対応するメモリセルMC00、MC01、・・・のデータ読出が実行される。
【0166】
制御信号TAL[0]が「L」レベルであるため偶数番目のメモリセル列が選択される。一例として、セレクタSL6は、読出データQ[0]を選択して、読出データTQ[0]として出力する。
【0167】
時刻T3において、読出データQ,TQが出力された場合が示されている。
次に、時刻T4において、制御信号TWENが「L」レベルに設定される。
【0168】
次に、時刻T5において、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0169】
また、制御信号TWENが「L」レベルであるため、時刻T6において制御信号WTEが「H」レベルに設定される。これによりデータ書込が実行される。
【0170】
次に、時刻T7において、ワード線WL[0]が選択(「H」レベル)される。また、テストアドレスTA[0]が「L」レベルに設定されているため偶数番目のメモリセル列のメモリセルMCに対するデータ書込が実行される。奇数番目のメモリセル列のメモリセルMCへのデータ書込は禁止される。
【0171】
具体的には、ワード線WL[0]に対応するメモリセルMC00等のデータ書込が実行される。一方、メモリセルMC01のデータ書込は禁止される。
【0172】
時刻T8において、メモリセルMC00に対するデータ書込が実行された場合が示されている。
【0173】
次に、時刻T9において、テストアドレスTAがインクリメントされて、テストアドレスTA[0]が「H」レベルに設定された場合が示されている。これに伴い、制御信号TAL[0]は「H」レベルに設定される。
【0174】
次に、時刻T10において、制御信号TWENが「H」レベルに設定される。
時刻T11において、制御回路20は、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0175】
制御信号TWENが「H」レベルであるため、時刻T12において制御信号RDEが「H」レベルに設定される。これによりデータ読出が実行される。
【0176】
次に、時刻T13において、ワード線WL[0]が選択(「H」レベル)される。これに伴い、ワード線WL[0]に対応するメモリセルMC00、MC01、・・・のデータ読出が実行される。
【0177】
制御信号TAL[0]が「H」レベルであるため奇数番目のメモリセル列が選択される。一例として、セレクタSL6は、読出データQ[1]を選択して、読出データTQ[0]として出力する。
【0178】
次に、時刻T14において、制御信号TWENが「L」レベルに設定される。
次に、時刻T15において、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0179】
また、制御信号TWENが「L」レベルであるため、時刻T16において制御信号WTEが「H」レベルに設定される。これによりデータ書込が実行される。
【0180】
次に、時刻T17において、ワード線WL[0]が選択(「H」レベル)される。また、テストアドレスTA[0]が「H」レベルに設定されているため奇数番目のメモリセル列のメモリセルMCに対するデータ書込が実行される。偶数番目のメモリセル列のメモリセルMCへのデータ書込は禁止される。
【0181】
具体的には、ワード線WL[0]に対応するメモリセルMC01等のデータ書込が実行される。一方、メモリセルMC00のデータ書込は禁止される。
【0182】
時刻T18において、メモリセルMC01に対するデータ書込が実行された場合が示されている。
【0183】
次に、時刻T19において、テストアドレスTAがインクリメントされて、テストアドレスTA[0]が「L」レベル、テストアドレスTA[1]が「H」レベルに設定された場合が示されている。これに伴い、制御信号TAL[0]は「L」レベルに設定される。
【0184】
次に、時刻T20において、制御信号TWENが「H」レベルに設定される。
時刻T21において、制御回路20は、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0185】
制御信号TWENが「H」レベルであるため、時刻T22において制御信号RDEが「H」レベルに設定される。これによりデータ読出が実行される。
【0186】
次に、一例としてワード線WL[1]が選択(「H」レベル)される。これに伴い、ワード線WL[1]に対応するメモリセルMC10、MC11、・・・のデータ読出が実行される。
【0187】
制御信号TAL[0]が「L」レベルであるため偶数番目のメモリセル列が選択される。一例として、セレクタSL6は、読出データQ[0]を選択して、読出データTQ[0]として出力する。
【0188】
図6は、実施形態1に基づくマーチングテストの概念図である。
図6(A)には、比較例であるメモリ(MUX1)のマーチングテストが示されている。
【0189】
上記で説明したように、メモリ(MUX1)は、アドレスとしてロウアドレス(行アドレス)のみが割り当てられ、カラムアドレス(列アドレス)を持たないメモリ(MUX1)である。
【0190】
したがって、当該メモリの場合には、アドレスの指定により行方向のメモリセル列が全て選択状態となり、隣接するメモリセルのみを非選択状態とすることが難しい。
【0191】
それゆえ、データ書込による隣接する列のメモリセルMCのデータ化けを検出することが難しい。
【0192】
図6(B)には、本願のメモリ(MUX1)のマーチングテストが示されている。
上記で説明したように、メモリ(MUX1)は、アドレスとしてロウアドレス(行アドレス)のみが割り当てられ、カラムアドレス(列アドレス)を持たないメモリ(MUX1)である。
【0193】
一方、本願のメモリ(MUX1)は、テストアドレスTA[0]を用いて、偶数番目のメモリセル列および奇数番目のメモリセル列をそれぞれ選択することが可能である。
【0194】
それゆえ、データ読出およびデータ書込を偶数番目のメモリセル列および奇数番目のメモリセル列に交互に実行して検証することにより、隣接セルの障害を検出するマーチングテストを実行することが可能である。
【0195】
(実施形態1の変形例)
図7は、実施形態1の変形例に基づく半導体チップ1#の外観構成図である。
【0196】
図7を参照して、半導体チップ1#は、図1の半導体チップ1と比較して、メモリ3の構成をメモリユニット3A,3Bに置換した点が異なる。
【0197】
メモリユニット3Aは、メモリ3と同様に、アドレスとしてロウアドレス(行アドレス)のみが割り当てられ、カラムアドレス(列アドレス)を持たないメモリアレイ(MUX1)を有する。言い換えるとCPB(Column Per Bit)が1のメモリである。
【0198】
メモリユニット3Bは、アドレスとしてロウアドレス(行アドレス)およびカラムアドレス(列アドレス)を有するメモリアレイ(MUX4)を有する。言い換えるとCPB(Column Per Bit)が4のメモリである。
【0199】
メモリユニット3Aの構成には、メモリ3と基本的に同様でであるのでその詳細な説明については繰り返さない。
【0200】
図8は、実施形態1の変形例に基づくメモリユニット3Bの構成を説明する図である。
図8を参照して、メモリユニット3Bは、行列状に配置されたメモリセルMCを有するメモリセルアレイ6#と、行選択駆動回路100と、メモリユニット3B全体を制御する制御回路200と、複数の列選択駆動回路500と、複数のIO(入出力)制御回路400と、複数のIF(インタフェース)制御回路300とを含む。
【0201】
メモリセルアレイ6#は、行列状に配置された複数のメモリセルMCを有する。各メモリセルMCは、書き換え可能に設けられたSRAM(Static Random Access Memory)セルである。
【0202】
メモリセル行毎に複数のワード線WLが設けられる。一例として、8本のワード線WL[0]〜WL[7]が設けられた場合が示されている。
【0203】
また、メモリセル列毎に複数のビット線対BLPが設けられる。一例として、ビット線対BLP[0],BLP[1],・・・が設けられている場合が示されている。ビット線対BLPは、ビット線BL,/BLを有する。
【0204】
制御回路200は、メモリユニット3B全体を制御する。
制御回路200は、クロック信号CLK、アドレスA[4:0]、制御信号CEN、制御信号WEN、テストアドレスTA[4:0]、制御信号TCEN、制御信号TWEN、制御信号TEの入力を受けて所定の動作を実行する。
【0205】
具体的には、制御回路200は、行選択駆動回路100にロウアドレス信号RA[7:0]を出力する。行選択駆動回路100は、ロウアドレス信号RA[7:0]に従ってワード線WLを選択する。本例においては、行選択駆動回路100は、そのうちの1本のワード線WLを選択する。
【0206】
制御回路200は、上記入力信号に基づいて、コラムアドレス信号CA[0]〜[3]、制御信号PC、制御信号RDE、制御信号WTE、制御信号BISTを必要に応じて出力する。
【0207】
4個のメモリセル列毎に、列選択駆動回路500が設けられる。本例においては、列選択駆動回路500−1,500−2,・・・が設けられる場合が示されている。列選択駆動回路500は、コラムアドレス信号CA[0]〜[3]に従って1つのメモリセル列を選択する。
【0208】
複数の列選択駆動回路500にそれぞれ対応してIO制御回路400およびIF制御回路300が設けられる。
【0209】
本例においては、IO制御回路400−1,400−2,・・・が設けられる場合が示されている。
【0210】
また、IF制御回路300−1,300−2,・・・が設けられる場合が示されている。
【0211】
図9は、実施形態1の変形例に基づく制御回路200の回路構成を説明する図である。
図9を参照して、制御回路200は、制御回路20と比較して、フリップフロップFF1を削除した点と、アンプAP1を削除した点と、セレクタSL1をセレクタSL1#に置換し、プリデコーダ25をプリデコーダ25#に置換した点が異なる。その他の構成については同様であるのでその詳細な説明については繰り返さない。
【0212】
セレクタSL1#は、アドレスA[4:0]およびテストアドレスTA[4:0]の入力を受けて、制御信号TEに従っていずれか一方をフリップフロップFF2に出力する。
【0213】
制御信号TEが「L」レベルの場合には、アドレスA[4:0]をフリップフロップFF2に出力する。
【0214】
制御信号TEが「H」レベルの場合には、テストアドレスTA[4:0]をフリップフロップFF2に出力する。
【0215】
フリップフロップFF2は、クロック信号CLKの入力に従って入力されたアドレスA[4:0]およびTA[4:0]の一方をアドレス信号ADL[4:0]としてプリデコーダ25#に出力する。
【0216】
プリデコーダ25#は、制御信号TDECの入力に同期してアドレス信号ADL[4:0]に基づいてロウアドレス信号RA[7:0]およびコラムアドレス信号CA[4:0]を出力する。
【0217】
図10は、実施形態1の変形例に基づく列選択駆動回路500を説明する図である。
図10を参照して、列選択駆動回路500は、各列に対応して設けられた複数のプリチャージ回路41と、複数の書込補助回路42とを含む。
【0218】
プリチャージ回路41は、制御信号PCの入力をゲートに受ける3個のPチャネルMOSトランジスタを含む。コラムアドレス信号CA(「L」レベル)の入力に応答して、ビット線BL,/BLとの間をイコライズするとともに、ビット線BL,/BLを電源電圧VDDにプリチャージする。
【0219】
書込補助回路42は、2個のPチャネルMOSトランジスタを含む。第1のPチャネルMOSトランジスタは、電源電圧VDDとビット線BLとの間に設けられ、ゲートはビット線/BLと接続される。第2のPチャネルMOSトランジスタは、電源電圧とビット線/BLとの間に設けられ、ゲートは、ビット線BLと接続される。したがって、データ書込時にビット線BL,/BLのいずれか一方が接地電圧GNDと接続された場合に、当該ビット線BL,/BLの一方とゲートとが接続されたPチャネルMOSトランジスタが動作し、ビット線BL,/BLの他方を電源電圧VDDにプルアップする。
【0220】
本例においては、4個のメモリセル列のそれぞれのビット線対BLPに対応して1つのデータ線対CBPが設けられる場合が示されている。一例として、ビット線対BLP0〜BLP3に対応してデータ線対CBP0が設けられる場合が示されている。
【0221】
データ線対CBP0は、データ線CB[0],CT[0]を含む。
データ線対CBP0と各ビット線対BLPとの間にはトランスファーゲートTGが設けられる。また、トランスファーゲートTGを駆動するインバータINV0,INV1が設けられる。
【0222】
具体的には、ビット線/BL[0],/BL[1],/BL[2],/BL[3]とデータ線CB[0]との間には、トランスファーゲート/TG0,/TG1,/TG2,/TG3が設けられる場合が示される。
【0223】
また、ビット線BL[0],BL[1],BL[2],BL[3]とデータ線CT[0]との間には、トランスファーゲートTG0,TG1,TG2,TG3が設けられる場合が示される。
【0224】
インバータINV1は、コラムアドレス信号CA[0]を反転して、トランスファーゲートTG0,/TG0のPチャネルMOSトランジスタのゲートに出力する。インバータINV2は、インバータINV1の出力を反転して、トランスファーゲートTG0,/TG0のNチャネルMOSトランジスタのゲートに出力する。
【0225】
他のトランスファーゲートTGの構成についても同様である。
一例として、コラムアドレス信号CA[0]が「H」レベルの場合には、トランスファーゲートTG0,/TG0が導通して、ビット線対BLP0とデータ線対CBP0とが電気的に接続される。
【0226】
同様に、コラムアドレス信号CA[1]が「H」レベルの場合には、トランスファーゲートTG1,/TG1が導通して、ビット線対BLP1とデータ線対CBP0とが電気的に接続される。コラムアドレス信号CA[2]が「H」レベルの場合には、トランスファーゲートTG2,/TG2が導通して、ビット線対BLP2とデータ線対CBP0とが電気的に接続される。コラムアドレス信号CA[3]が「H」レベルの場合には、トランスファーゲートTG3,/TG3が導通して、ビット線対BLP3とデータ線対CBP0とが電気的に接続される。
【0227】
これにより、コラムアドレス信号に従ってメモリセル列を選択することが可能である。
また、コラムアドレス信号CA(「L」レベル)を用いてプリチャージ回路41を動作させるため制御信号PCを生成する必要がなく、配線数を削減することが可能である。
【0228】
図11は、実施形態1の変形例に基づくIO制御回路400およびIF制御回路300の構成を説明する図である。
【0229】
図11を参照して、IO制御回路400は、図4で説明したIO制御回路40と比較して、プリチャージ回路41と、書込補助回路42を削除した点と、読出回路44を読出回路44#に置換した点が異なる。
【0230】
その他の構成については図4で説明したのと同様であるのでその詳細な説明については繰り返さない。
【0231】
読出回路44#は、読出回路44と比較して、インバータIV1#を追加した点が異なる。その他の構成については図4で説明したのと同様であるのでその詳細な説明については繰り返さない。
【0232】
インバータIV1#は、ラッチ回路LT0の出力を反転して、読出データTQ[0]として出力する。
【0233】
IF制御回路300は、IO制御回路400に対応して設けられる。
IF制御回路300は、セレクタSL4,SL5とを含む。
【0234】
セレクタSL4は、制御信号BISTの入力に従って入力されるデータD[0]およびTD[0]の一方をデータDL[0]としてIO制御回路400に出力する。
【0235】
具体的には、セレクタSL4は、制御信号BIST(「H」レベル)の入力に従って入力されるデータD[0]をデータDL[0]としてIO制御回路400に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるテストデータTD[0]をデータDL[0]としてIO制御回路400に出力する。
【0236】
セレクタSL5は、制御信号BISTの入力に従って入力されるマスクデータBWN[0]およびマスクデータTBWN[0]の一方をマスクデータBWNL[0]としてIO制御回路400に出力する。
【0237】
具体的には、セレクタSL5は、制御信号BIST(「H」レベル)の入力に従って入力されるマスクデータBWN[0]をマスクデータBWNL[0]としてIO制御回路400に出力する。一方、制御信号BIST(「L」レベル)の入力に従ってマスクデータTBWN[0]をマスクデータBWNL[0]としてIO制御回路400に出力する。
【0238】
通常モードにおいては、制御信号BISTは「L」レベルに設定される。
したがって、セレクタSL4は、データD[0]をデータDL[0]としてフリップフロップFF4に出力する。また、マスクデータBWN[0]をマスクデータBWNL[0]としてフリップフロップFF5に出力する。
【0239】
テストモードにおいては、制御信号BISTは「H」レベルに設定される。
したがって、セレクタSL4は、テストデータTD[0]をデータDL[0]としてフリップフロップFF4に出力する。また、マスクデータTBWN[0]をデータBWNL[0]としてフリップフロップFF5に出力する。
【0240】
(5)通常モードのデータ書込
メモリセルMC00に対するデータ書込について説明する。
【0241】
一例として、データD[0]が「H」レベルに設定され、マスクデータBWN[0]は「L」レベルに設定されているものとする。制御信号BISTは、「L」レベルである。
【0242】
この場合、IF制御回路300は、データDL[0](「H」レベル)をフリップフロップFF4に出力する。また、マスクデータBWNL[0](「L」レベル)をフリップフロップFF5に出力する。
【0243】
フリップフロップFF4,FF5は、図示しないクロック信号CLKに同期してデータをラッチする。
【0244】
IO制御回路400は、制御信号WTE(「H」レベル)に従って書込回路43を動作させる。
【0245】
本例の場合には、フリップフロップFF4の出力は「H」レベルに設定されるため、NチャネルMOSトランジスタNT0が導通する。これに伴い、データ線CB[0]が接地電圧GNDと接続される。
【0246】
また、コラムアドレス信号CAによりメモリセル列が選択される。一例として、コラムアドレス信号CA[0]が「H」レベルに設定される場合について説明する。
【0247】
これにより、ビット線対BLP0とデータ線対CBP0とが電気的に接続される。
ビット線/BL[0]は「L」レベルに設定される。これに伴い、書込補助回路42によりビット線BL[0]は、電源電圧VDDと接続される。
【0248】
ワード線WL[0]が選択された場合に、メモリセルMC00の記憶ノードMBは「L」レベル、MTは「H」レベルに設定され、データ「1」が格納される。
【0249】
データD[1]が「L」レベルの場合には、メモリセルMC00の記憶ノードMBは「H」レベル、MTは「L」レベルに設定され、データ「0」が格納される。
【0250】
マスクデータBWN[0]が「H」レベルに設定される場合について説明する。
この場合は、フリップフロップFF5にマスクデータBWNL[0](「H」レベル)が出力される。これに伴い、NAND回路ND1の出力は「H」レベルに設定されるためNR回路NR0,NR1の出力も「H」レベルに設定される。したがって、NチャネルMOSトランジスタNT0,NT1は、導通しないため書込は禁止される。
【0251】
(6)通常モードのデータ読出
メモリユニット3Bは、一例としてアドレスA[5:0]の入力を受けて、8本のワード線WL[0]〜「7」のいずれか1つを選択するとともに、4個のビット線対BLPのうちの1つのビット線対BLPを選択する。
【0252】
一例として、アドレスA[5:0]に従ってワード線WL[0]が選択され、ビット線対BLP0が選択された場合には、ワード線WL[0]に対応するメモリセルMC00のデータが読み出される。
【0253】
この場合、制御信号RDEが「H」レベルに設定される。これに伴い読出回路44#が動作する。一例として、読出回路44#において、インバータIV0は、制御信号RDE(「H」レベル)に従ってデータ線CT[0]の信号を反転させてラッチ回路LT0に出力する。ラッチ回路LT0は、インバータIV0からの出力信号をラッチして、インバータIV1に出力する。インバータIV1は、ラッチ回路LT0からの信号を反転して、読出データQ[0]として出力する。他の読出回路についても同様である。
【0254】
これにより読出データQ[0],Q[1],・・・の複数ビットのデータが読み出される。
【0255】
(7)テストモードのデータ書込
メモリセルMC00に対するデータ書込について説明する。
【0256】
一例として、テストデータTD[0]が「L」レベルに設定され、マスクデータTBWN[0]は「L」レベルに設定されているものとする。制御信号BISTは、「H」レベルである。
【0257】
この場合、IF制御回路300は、データDL[0](「L」レベル)をフリップフロップFF4に出力する。また、マスクデータBWNL[0](「L」レベル)をフリップフロップFF5に出力する。
【0258】
フリップフロップFF4,FF5は、図示しないクロック信号CLKに同期してデータをラッチする。
【0259】
IO制御回路400は、制御信号WTE(「H」レベル)に従って書込回路43を動作させる。
【0260】
本例の場合には、フリップフロップFF4の出力は「L」レベルに設定されるため、NチャネルMOSトランジスタNT1が導通する。これに伴い、データ線CT[0]が接地電圧GNDと接続される。
【0261】
また、コラムアドレス信号CAによりメモリセル列が選択される。一例として、コラムアドレス信号CA[0]が「H」レベルに設定される場合について説明する。
【0262】
これにより、ビット線対BLP0とデータ線対CBP0とが電気的に接続される。
ビット線BL[0]は「L」レベルに設定される。これに伴い、書込補助回路42によりビット線/BL[0]は、電源電圧VDDと接続される。
【0263】
ワード線WL[0]が選択された場合に、メモリセルMC00の記憶ノードMBは「H」レベル、MTは「L」レベルに設定され、データ「0」が格納される。
【0264】
テストデータTD[0]が「H」レベルの場合には、メモリセルMC00の記憶ノードMBは「L」レベル、MTは「H」レベルに設定され、データ「1」が格納される。
【0265】
マスクデータTBWN[0]が「H」レベルに設定される場合について説明する。
この場合は、フリップフロップFF5にマスクデータBWNL[0](「H」レベル)が出力される。これに伴い、NAND回路ND1の出力は「H」レベルに設定されるためNR回路NR0,NR1の出力も「H」レベルに設定される。したがって、NチャネルMOSトランジスタNT0,NT1は、導通しないため書込は禁止される。
【0266】
(8)テストモードのデータ読出
メモリユニット3Bは、一例としてテストアドレスTA[5:0]の入力を受けて、8本のワード線WL[0]〜「7」のいずれか1つを選択するとともに、4個のビット線対BLPのうちの1つのビット線対BLPを選択する。
【0267】
一例として、テストアドレスTA[5:0]に従ってワード線WL[0]が選択され、ビット線対BLP0が選択された場合には、ワード線WL[0]に対応するメモリセルMC00のデータが読み出される。
【0268】
この場合、制御信号RDEが「H」レベルに設定される。これに伴い読出回路44#が動作する。一例として、読出回路44#において、インバータIV0は、制御信号RDE(「H」レベル)に従ってデータ線CT[0]の信号を反転させてラッチ回路LT0に出力する。ラッチ回路LT0は、インバータIV0からの出力信号をラッチして、インバータIV1#に出力する。インバータIV1#は、ラッチ回路LT0からの信号を反転して、読出データTQ[0]として出力する。他の読出回路についても同様である。
【0269】
これにより読出データTQ[0],TQ[1],・・・の複数ビットのデータが読み出される。
【0270】
そして、読出データTQ[0],TQ[1],・・・の複数ビットのデータがBIST回路4に出力される。
【0271】
BIST回路4は、テストモードにおける読出データを受けて、データ解析し、所定のテスト判定処理を実行する。
【0272】
図12は、実施形態1の変形例に基づくメモリユニット3Bのテストモードにおける動作について説明するタイミングチャート図である。
【0273】
本例においては、データ読出、データ書込を交互に繰り返すマーチングテストを実行する場合について説明する。
【0274】
制御信号TEは「H」レベルに設定される。従って、制御信号BISTは「H」レベルに設定される。
【0275】
図12に示されるように、一例として、まず、データ読出(リードサイクル)について説明する。
【0276】
メモリユニット3Bは、クロック信号CLKに同期して動作する。本例においては、一例としてクロック信号CLKが時刻T30に立ち上がる。
【0277】
制御回路200は、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0278】
一例として、テストアドレスTA[0]は「L」レベルに設定されている。
制御信号TWENが「H」レベルであるため、時刻T31において制御信号RDEが「H」レベルに設定される。これによりデータ読出が実行される。
【0279】
次に、時刻T32において、コラムアドレス信号CA[0]が「H」レベルに設定される。
【0280】
次に、時刻T33において、ワード線WL[0]が選択(「H」レベル)される。
これに伴い、ワード線WL[0]およびビット線対BLP0に対応するメモリセルMC00のデータ読出が実行される。
【0281】
時刻T34において、読出データQ,TQが出力された場合が示されている。
次に、時刻T35において、制御信号TWENが「L」レベルに設定される。
【0282】
次に、時刻T36において、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0283】
また、制御信号TWENが「L」レベルであるため、時刻T37において制御信号WTEが「H」レベルに設定される。これによりデータ書込が実行される。
【0284】
次に、時刻T38において、コラムアドレス信号CA[0]が「H」レベルに設定される。
【0285】
次に、時刻T39において、ワード線WL[0]が選択(「H」レベル)される。
これに伴い、ワード線WL[0]およビット線対BLP0に対応するメモリセルMC00のデータ書込が実行される。
【0286】
時刻T40において、メモリセルMC00に対するデータ書込が実行された場合が示されている。
【0287】
次に、時刻T41において、テストアドレスTAがインクリメントされて、テストアドレスTA[0]が「H」レベルに設定された場合が示されている。
【0288】
次に、時刻T42において、制御信号TWENが「H」レベルに設定される。
時刻T43において、制御回路200は、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0289】
制御信号TWENが「H」レベルであるため、時刻T44において制御信号RDEが「H」レベルに設定される。これによりデータ読出が実行される。
【0290】
次に、時刻T45において、コラムアドレス信号CA[1]が「H」レベルに設定される。
【0291】
次に、時刻T46において、ワード線WL[0]が選択(「H」レベル)される。
これに伴い、ワード線WL[0]およびビット線対BLP1に対応するメモリセルMC01のデータ読出が実行される。
【0292】
次に、時刻T47において、制御信号TWENが「L」レベルに設定される。
次に、時刻T48において、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0293】
また、制御信号TWENが「L」レベルであるため、時刻T49において制御信号WTEが「H」レベルに設定される。これによりデータ書込が実行される。
【0294】
次に、時刻T50において、コラムアドレス信号CA[1]が「H」レベルに設定される。
【0295】
次に、時刻T51において、ワード線WL[0]が選択(「H」レベル)される。
これに伴い、ワード線WL[0]およビット線対BLP1に対応するメモリセルMC01のデータ書込が実行される。
【0296】
時刻T52において、メモリセルMC01に対するデータ書込が実行された場合が示されている。
【0297】
次に、時刻T53において、テストアドレスTAがインクリメントされて、テストアドレスTA[0]が「L」レベル、テストアドレスTA[1]が「H」レベルに設定された場合が示されている。
【0298】
次に、時刻T54において、制御信号TWENが「H」レベルに設定される。
時刻T55において、制御回路200は、クロック信号CLKに同期して、テストアドレスTAおよび制御信号を取り込んで各種制御信号を出力する。
【0299】
制御信号TWENが「H」レベルであるため、時刻T56において制御信号RDEが「H」レベルに設定される。これによりデータ読出が実行される。
【0300】
次に、一例としてワード線WL[0]およびビット線対BLP2に対応するメモリセルMC02のデータ読出が実行される。
【0301】
当該処理を繰り返すことによりマーチングテストを実行することが可能である。
したがって、メモリユニット3B(MUX4)は、コラムアドレス信号CAを順番に活性化させることにより隣接セルの障害を検出するマーチングテストを実行することが可能である。
【0302】
メモリユニット3Aのマーチングテストについては、メモリ3で説明したのと同様の方式に従って実行することが可能である。
【0303】
図7に示されるように、半導体チップ1#に、メモリユニット3B(MUX4)と異なるメモリユニット3A(MUX1)が搭載されている場合であっても、共通のBIST回路4を用いてテストすることが可能である。メモリユニット3Aについても、メモリユニット3Bと同様のマーチングテストのテストパターンを用いることが可能である。
【0304】
具体的には、メモリユニット3A(MUX1)に用いるアドレスA[m:0]に対して、テスト用のアドレスを1ビット追加してテストアドレスTA[m+1:0]を用いる。
【0305】
実施形態1で説明したように、当該1ビットのテスト用のアドレスを用いて、偶数番目のメモリセル列および奇数番目のメモリセル列をそれぞれ選択する。
【0306】
データ読出およびデータ書込を偶数番目のメモリセル列および奇数番目のメモリセル列に交互に実行して検証することにより、隣接セルの障害を検出するマーチングテストを実行することが可能である。
【0307】
したがって、メモリユニット3Aに対して専用のBIST回路および専用のテストパターンを設ける必要がなく、メモリユニット3Bと共用のBIST回路を用いることが可能であり、面積を縮小するとともにコストも抑制することが可能である。
【0308】
[実施形態2]
図13は、実施形態2に基づくIF制御回路300#を説明する図である。
【0309】
図13を参照して、IF制御回路300#は、セレクタSLL1〜SLL9と、OR回路ORA,ORB,ORC,ORDと、アンプAPPとを含む。
【0310】
セレクタSLL1は、制御信号BISTの入力に従って入力されるデータD[0]およびテストデータTD[0]の一方をデータDL[0]としてIO制御回路40−1に出力する。
【0311】
具体的には、セレクタSLL1は、制御信号BIST(「H」レベル)の入力に従って入力されるデータD[0]をデータDL[0]としてIO制御回路40−1に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるテストデータTD[0]をデータDL[0]としてIO制御回路40−1に出力する。
【0312】
OR回路ORAは、制御信号TAL[0]、制御信号TAL[1]およびマスクデータTBWN[0]のOR論理演算結果をセレクタSLL2に出力する。
【0313】
セレクタSLL2は、制御信号BISTの入力に従って入力されるマスクデータBWN[0]およびOR回路ORAの出力の一方をマスクデータBWNL[0]としてIO制御回路40−1に出力する。
【0314】
具体的には、セレクタSLL2は、制御信号BIST(「H」レベル)の入力に従って入力されるマスクデータBWN[0]をマスクデータBWNL[0]としてIO制御回路40−1に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるOR回路OR0の出力をマスクデータBWNL[0]としてIO制御回路40−1に出力する。
【0315】
セレクタSLL3は、制御信号BISTの入力に従って入力されるデータD[1]およびテストデータTD[0]の一方をデータDL[1]としてIO制御回路40−2に出力する。
【0316】
具体的には、セレクタSLL3は、制御信号BIST(「H」レベル)の入力に従って入力されるデータD[1]をデータDL[1]としてIO制御回路40−2に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるテストデータTD[0]をデータDL[1]としてIO制御回路40−2に出力する。
【0317】
OR回路ORBは、制御信号TAL[0]の反転信号、制御信号TAL[1]およびマスクデータTBWN[0]のOR論理演算結果をセレクタSLL4に出力する。
【0318】
セレクタSLL4は、制御信号BISTの入力に従って入力されるマスクデータBWN[1]およびOR回路ORBの出力の一方をマスクデータBWNL[1]としてIO制御回路40−2に出力する。
【0319】
具体的には、セレクタSLL4は、制御信号BIST(「H」レベル)の入力に従って入力されるマスクデータBWN[1]をマスクデータBWNL[1]としてIO制御回路40−2に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるOR回路OR1の出力をマスクデータBWNL[1]としてIO制御回路40−2に出力する。
【0320】
セレクタSLL5は、制御信号BISTの入力に従って入力されるデータD[2]およびテストデータTD[0]の一方をデータDL[2]としてIO制御回路40−3に出力する。
【0321】
具体的には、セレクタSLL5は、制御信号BIST(「H」レベル)の入力に従って入力されるデータD[2]をデータDL[2]としてIO制御回路40−3に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるテストデータTD[0]をデータDL[2]としてIO制御回路40−3に出力する。
【0322】
OR回路ORCは、制御信号TAL[0]、制御信号TAL[1]の反転信号およびマスクデータTBWN[0]のOR論理演算結果をセレクタSLL6に出力する。
【0323】
セレクタSLL6は、制御信号BISTの入力に従って入力されるマスクデータBWN[2]およびOR回路ORCの出力の一方をマスクデータBWNL[2]としてIO制御回路40−3に出力する。
【0324】
具体的には、セレクタSLL6は、制御信号BIST(「H」レベル)の入力に従って入力されるマスクデータBWN[2]をマスクデータBWNL[2]としてIO制御回路40−3に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるOR回路ORCの出力をマスクデータBWNL[2]としてIO制御回路40−3に出力する。
【0325】
セレクタSLL7は、制御信号BISTの入力に従って入力されるデータD[3]およびテストデータTD[0]の一方をデータDL[3]としてIO制御回路40−4に出力する。
【0326】
具体的には、セレクタSLL7は、制御信号BIST(「H」レベル)の入力に従って入力されるデータD[3]をデータDL[3]としてIO制御回路40−4に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるテストデータTD[0]をデータDL[3]としてIO制御回路40−4に出力する。
【0327】
OR回路ORDは、制御信号TAL[0]の反転信号、制御信号TAL[1]の反転信号およびマスクデータTBWN[0]のOR論理演算結果をセレクタSLL8に出力する。
【0328】
セレクタSLL8は、制御信号BISTの入力に従って入力されるマスクデータBWN[3]およびOR回路ORDの出力の一方をマスクデータBWNL[3]としてIO制御回路40−4に出力する。
【0329】
具体的には、セレクタSLL8は、制御信号BIST(「H」レベル)の入力に従って入力されるマスクデータBWN[3]をマスクデータBWNL[3]としてIO制御回路40−4に出力する。一方、制御信号BIST(「L」レベル)の入力に従って入力されるOR回路ORDの出力をマスクデータBWNL[3]としてIO制御回路40−4に出力する。
【0330】
セレクタSLL9は、制御信号TAL[0]およびTAL[1]の入力に従って入力される読出データQ[0]〜Q[3]のいずれか1つをアンプAPPに出力する。アンプAPPは、増幅して読出データTQ[0]としてBIST回路4に出力する。
【0331】
当該構成により、データ書込において、制御信号BISTが「H」レベルの場合において、制御信号TAL[0],TAL[1]の組み合わせに基づいてセレクタSLL2,SLL4,SLL6,SLL8ののいずれか1つが「L」レベルを出力し、残りの3つが「H」レベルを出力する。これにより、IO制御回路40−1〜40−4のうちの1つにデータDL[0]〜DL[3]のうちの1つのデータDLが入力されて、データ書込を実行することが可能である。
【0332】
また、当該構成により、データ読出において、制御信号TAL[0],TAL[1]の組み合わせに基づいて読出データQ[0]〜Q[3]のうちの1つのデータが選択される。そして、セレクタSLL9の出力は、アンプAPPを介して読出データTQ[0]として出力される。
【0333】
制御信号TAL[0],TAL[1]は、テストアドレスTA[0],TA[1]に基づき生成される信号である。
【0334】
当該構成は、2ビットのテスト用のアドレスを用いることにより、4列の中から1列を選択する構成である。
【0335】
したがって、実施形態1で説明したMUX1のメモリアレイについて、当該IF制御回路300#を適用することにより、MUX4のメモリアレイと同様の動作を実現することが可能である。すなわち、変形例で説明したメモリユニット3Bと同様のテストパターンに基づくテストをMUX1のメモリアレイにも簡易に適用することが可能である。
【0336】
なお、本例においては、2ビットのテスト用アドレスを用いることが可能な場合について説明したが2ビットに限られず、さらに複数ビット(3以上)のテスト用アドレスを用いてMUX1のメモリアレイに対して、複数のCPBのビットを有するメモリアレイと同様のテストを実行することが可能である。BIST回路4によるテストの自由度を向上させることが可能である。
【0337】
なお、ハードマクロとして設計することも可能であるし、FPGA等を用いてRTL記述により当該IF制御回路を実現することも可能である。
【0338】
以上、本開示を実施形態に基づき具体的に説明したが、本開示は、実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【0339】
1 半導体チップ、3 メモリ、3A,3B メモリユニット、4 BIST回路、5 周辺回路、6 メモリセルアレイ、10,100 行選択駆動回路、20,200 制御回路、30,300 IF制御回路、25,25# プリデコーダ、40,400 IO制御回路、41,45 プリチャージ回路、42,46 書込補助回路、43,47 書込回路、44,48 読出回路、500 列選択駆動回路。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13