JP2012203963A - 組込自己テスト回路及び設計装置 - Google Patents

組込自己テスト回路及び設計装置 Download PDF

Info

Publication number
JP2012203963A
JP2012203963A JP2011068335A JP2011068335A JP2012203963A JP 2012203963 A JP2012203963 A JP 2012203963A JP 2011068335 A JP2011068335 A JP 2011068335A JP 2011068335 A JP2011068335 A JP 2011068335A JP 2012203963 A JP2012203963 A JP 2012203963A
Authority
JP
Japan
Prior art keywords
address
memory
signal
data
address signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011068335A
Other languages
English (en)
Inventor
Kenichi Yasukura
藏 顕 一 安
Chikako Tokunaga
永 千佳子 徳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011068335A priority Critical patent/JP2012203963A/ja
Priority to US13/231,073 priority patent/US8671317B2/en
Publication of JP2012203963A publication Critical patent/JP2012203963A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0405Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals comprising complete test loop
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • G11C2029/3602Pattern generator

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】半導体集積回路にBIST回路を挿入した後の接続検証のためのシミュレーション実行の所要時間を短縮する。
【解決手段】半導体集積回路1は、データを記憶する少なくとも1つのメモリ21と、メモリ21をテストする少なくとも1つのBIST(Built−In Self Test)回路10と、を備える。BIST回路10は、アドレス生成器13を備える。アドレス生成器13は、メモリ21の全アドレスに対応するアドレス信号を生成する第1動作モードと、メモリ21のアドレス入力の各ビットが、それぞれ、0と1の両状態をとり、かつ、異なるビット同士が一度は別の信号状態を持つような一連のデータとなるようにアドレス信号を生成する第2動作モードの何れかで動作する。
【選択図】図1

Description

本発明の実施形態は、組込自己テスト回路及び設計装置に関する。
半導体集積回路に組み込まれたメモリデバイスに対して、組み込み自己テスト回路(Built−In Self Test回路、以下、「BIST回路」という)を組込み、製造テストにおいて故障を検出する方法が一般的に行われている。
一方で、テストにはBIST回路がメモリのフルアドレスを生成して、書き込みや読み出しの動作を行う必要がある。このため、ワード数の大きいメモリが搭載されていたり、搭載メモリ数が非常に多かったりすると、システム論理へのBIST回路挿入後の、接続検証のためのシミュレーション実行で、非常に長い時間がかかる問題がある。
特開2010−225239号公報 特開2003−294813号公報
本発明が解決しようとする課題は、半導体集積回路にBIST回路を挿入した後の接続検証のためのシミュレーション実行の所要時間を短縮することである。
本実施形態の半導体集積回路は、データを記憶する少なくとも1つのメモリと、メモリをテストする少なくとも1つの組み込み自己テスト回路と、を備える。組み込み自己テスト回路は、アドレス生成器を備える。アドレス生成器は、メモリの全アドレスに対応するアドレス信号を生成する第1動作モードと、メモリのアドレス入力の各ビットが、それぞれ、0と1の両状態をとり、かつ、異なるビット同士が一度は別の信号状態を持つような一連のデータとなるようにアドレス信号を生成する第2動作モードの何れかで動作する。
第1実施形態の半導体集積回路1の構成図。 第1実施形態のアドレス生成器13の構成図。 第1実施形態のBISTの説明図。 第1実施形態のBISTの説明図。 第1実施形態のBISTの説明図。 第1実施形態のBISTの説明図。 第1実施形態のBISTの説明図。 第2実施形態のアドレス生成器13の構成図。 第3実施形態の半導体集積回路1の構成図。 第4実施形態の半導体集積回路1の構成図。 第4実施形態の設計装置40の構成図。 第4実施形態のシミュレーションのフローチャート。
(第1実施形態)
第1実施形態について説明する。第1実施形態は、1つのメモリに1つのBIST回路が接続された半導体集積回路の例である。
第1実施形態の半導体集積回路について説明する。図1は、第1実施形態の半導体集積回路1の構成図である。
図1に示すように、半導体集積回路1は、BIST回路10と、メモリカラー20とを備える。BIST回路10は、BISTを実行する回路である。メモリカラー20は、BISTの対象となるデバイスである。BIST回路10には、BISTに必要なクロック信号が供給される。クロック信号は、半導体集積回路1の外部に接続された回路又は半導体集積回路1の内部に設けられたクロック生成回路により生成される。
BIST回路10は、いわゆる圧縮器型BISTである。BIST回路10は、BIST制御回路11と、データ生成器12と、アドレス生成器13と、制御信号生成器14と、解析器15とを備える。メモリカラー20は、メモリ21と、取込レジスタ22と、比較器23と、フラグレジスタ24とを備える。
BIST制御回路11は、BIST制御信号D10を生成する。BIST制御信号D10は、データ生成器12と、アドレス生成器13と、制御信号生成器14と、解析器15とを制御するための信号であり、初期化信号と、アドレス更新信号と、モード選択信号とを含む。初期化信号は、アドレス生成器13と、制御信号生成器14と、解析器15とを初期化する信号である。アドレス更新信号は、アドレス生成器13内で管理されるアドレス情報を更新する信号である。モード選択信号は、アドレス生成器13の動作モード(第1動作モード及び第2動作モードの何れか)を選択するために用いられる信号である。
データ生成器12は、BIST制御信号D10に基づいて、メモリデータD11を生成する。メモリデータD11は、メモリ21へ書き込まれるべきデータである。また、データ生成器12は、生成したメモリデータD11を所定クロック(例えば2クロック)だけ保持し、保持したメモリデータD11を期待値データD12として出力する。すなわち、期待値データD12は、所定クロック前に生成されたメモリデータD11に対応する。
アドレス生成器13は、クロック信号と、BIST制御信号とに基づいて、アドレス信号D13を生成する。アドレス信号D13は、メモリデータD11の書き込み先の書込アドレスを示す信号である。より具体的には、アドレス生成器13は、モード選択信号が第1動作モードを示す場合、メモリ21の全アドレスに対応するアドレス信号D13を生成し、モード選択信号が第2動作モードを示す場合、メモリ21の一部のアドレスに対応するアドレス信号D13を生成する。このとき、アドレス生成器13は、アドレス信号D13に対応するアドレスのメモリデータD11について、アドレス毎に各ビットが変化し、且つ、複数のビット間で値が異なるように、アドレス信号D13を生成する。また、アドレス生成器13は、通知信号D16を生成する。通知信号D16は、アドレス信号D13が、テスト範囲の最終アドレスであるか否かを示す信号である。BIST制御回路11は、最終アドレスであることを示す通知信号D16を入力すると、初期化信号を生成する。
制御信号生成器14は、メモリ制御信号D14を生成する。メモリ制御信号D14は、書込アドレスにメモリデータD11を書き込み、書込アドレスのメモリデータD11をメモリ出力Mとして出力するように、メモリ21を動作させる信号である。
メモリ21は、メモリ制御信号D14で書き込み動作を指示すると、書込アドレスにメモリデータD11を記憶し、読み出し動作を指示すると、書込アドレスのメモリデータD11をメモリ出力Mとして出力する。メモリ21は、例えばRAM(Random Access Memory)である。
取込レジスタ22は、メモリ出力Mを入力し、入力したメモリ出力Mを所定クロック(例えば1クロック)だけ保持する。なお、取込レジスタ22は省略可能である。
比較器23は、取込レジスタ22に保持されたメモリ出力Mと、期待値データD12とを入力し、メモリ出力Mを期待値データD12と比較し、2値のフラグデータD15を生成する。フラグデータD15は、メモリ出力Mが期待値データD12と一致するか否かを示す2値データである。例えば、比較器23は、メモリ出力Mが期待値データD12と一致する(即ち、メモリ出力Mと期待値データD12との間に差がない)場合にフラグデータ“0”を生成し、メモリ出力Mが期待値データD12と一致しない(即ち、メモリ出力Mと期待値データD12との間に差がある)場合にフラグデータ“1”を生成する。
フラグレジスタ24は、フラグデータD15を入力し、入力したフラグデータD15を所定クロック(例えば1クロック)だけ保持する。なお、フラグレジスタ24は省略可能である。
解析器15は、テスト対象メモリのフラグデータD15を入力し、半導体集積回路1の外部へ出力するBSIT結果出力を生成する。
設計者は、一般的な論理シミュレーションソフトウェアを用いて、BIST回路挿入後の半導体集積回路1の論理シミュレーションを行い、BIST回路10の動作検証を行う。
第1実施形態のアドレス生成器について説明する。図2は、第1実施形態のアドレス生成器13の構成図である。
図2に示すように、アドレス生成器13は、アドレスレジスタ130と、加算器131と、上位シフタ132と、アドレス選択器133と、レジスタ値選択器134と、最終アドレス判定器135と、を備える。
アドレスレジスタ130は、レジスタ値選択器134により選択されたレジスタ値D20を保持する。また、アドレスレジスタ130は、クロック信号に同期して保持した値(以下、「保持値」という)を更新する。すなわち、アドレスレジスタ130の出力であるアドレス信号D13は、クロック信号に対応するレジスタ値D20である。レジスタ値D20は、クロック信号に対応するメモリ21のアドレスを示す信号であって、例えば8ビットのビット列である。また、アドレスレジスタ130は、初期化信号に基づいて、保持値を初期値に更新する。初期値は、例えば全8ビットが“0”の信号である。
加算器131は、アドレス信号D13に“1”を加算し、第1上位アドレス信号D22を生成する。第1上位アドレス信号D22は、クロック信号に対応するアドレスに対して1つ上位アドレス方向に位置するアドレスを示す所定数(例えば8ビット)のビット列を含む。加算器131は、クロック信号がアドレスレジスタ130へ供給される度に第1上位アドレス信号D22を生成する。従って、第1上位アドレス信号D22に対応するアドレスは、メモリ21の先頭アドレス(例えば“00000000”)から終端アドレス(例えば“11111111”)まで推移する。すなわち、第1上位アドレス信号D22は、メモリ21の全アドレスに対応する。
上位シフタ132は、第1シフト方式又は第2シフト方式を用いて、最下位ビットから最上位ビットまで上位アドレス方向にアドレス信号D13上のデータビットをシフトし、第2上位アドレス信号D23を生成する。第1シフト方式では、上位シフタ132は、アドレス信号D13の最下位ビットから順に、各ビット毎に1を設定する。第2シフト方式では、上位シフタ132は、アドレス信号D13の最下位ビットから連続して1を設定する。これにより、表1の第2上位アドレス信号D23が生成される。表1は、クロックサイクル0で初期化信号が入力されたときのクロックサイクル毎の第2上位アドレス信号D23を示す。クロックサイクルは、クロック信号のサイクル数である。表1のように、第2上位アドレス信号D23は、クロックサイクル0〜9で、メモリ21のテスト範囲の先頭アドレス“00000000”から最終アドレス“10000000”又は“11111111”まで推移する。すなわち、第2上位アドレス信号D23は、メモリ21の一部のアドレスに対応する。
Figure 2012203963
アドレス選択器133は、モード選択信号に基づいて、第1動作モード又は第2動作モードで動作する。アドレス選択器133は、第1動作モードでは加算器131により生成された第1上位アドレス信号D22を選択し、第2動作モードでは上位シフタ132により生成された第2上位アドレス信号D23を選択する。すなわち、アドレス選択器133の出力である選択アドレス信号D24は、第1動作モードではメモリ21の全アドレスに対応し、第2動作モードではメモリ21の一部のアドレスに対応する。
レジスタ値選択器134は、アドレス更新信号に基づいて、アドレス信号D13又は選択アドレス信号D24を次のアドレス入力を示すレジスタ値D20として選択する。例えば、レジスタ値選択器134は、アドレス更新信号が供給されていない場合、アドレス信号D13を選択し、アドレス更新信号が供給された場合、選択アドレス信号D24を選択する。すなわち、アドレスレジスタ130は、アドレス更新信号が供給された場合、保持値を選択アドレス信号D24に更新し、アドレス更新信号が供給されなかった場合、保持値を維持する。
最終アドレス判定器135は、モード選択信号に基づいて、選択アドレス信号D24が最終アドレスであるか否かを判定し、選択アドレス信号D24が最終アドレスであるか否かを示す通知信号D16を生成する。例えば、最終アドレス判定器135は、モード選択信号が第1動作モードを示す場合、全ビットが“1”の信号(すなわち、メモリ21の終端アドレス)を最終アドレスと判定する。一方、最終アドレス判定器135は、モード選択信号が第2動作モードを示す場合、シフト方式に応じた最終アドレス条件に基づいて、選択アドレス信号D24が最終アドレスであるか否かを判定する。例えば、最終アドレス条件は、第1シフト方式では最上位ビットのみが“1”であり、第2シフト方式では全ビットが“1”である。最終アドレス判定器135は、最終アドレスであると判定した場合、「有効」を示す通知信号D16を生成し、最終アドレスでないと判定した場合、「無効」を示す通知信号D16を生成する。表2は、クロックサイクル毎の、初期化信号と、アドレス更新信号と、第2上位アドレス信号D23と、通知信号D16とを示す。
Figure 2012203963
第1実施形態のBISTについて説明する。図3〜7は、第1実施形態のBISTの説明図である。
第1実施形態のBISTは、マーチングパタンを用いて行われるマーチングテストである。マーチングパタンとは、メモリ21の各メモリセルに対する1セットの動作(いわゆる、マーチエレメント)を、メモリ21の全アドレスに適用しながら、メモリセルの値を書き換えるテストパタンである。
動作を行う順番は、アドレスの昇順又は降順である。この動作は、表3のマーチテストシーケンスの記法で表現される。この記法では、w0,w1、r0,r1は、それぞれ、値0又は1の書き込み又は読み出しを示す。この記法を用いて、例えば「9N March」と呼ばれるアルゴリズムを記述すると、表3のようになる。表3では、括弧内の部分がマーチエレメントである。
Figure 2012203963
以下、昇順アドレスのみを行う表4のマーチテストシーケンスを用いるものとする。表4のように、アドレス生成器13は、第2動作モードで、全ビットが0の初期値から、最下位ビットが1の状態から1を最上位ビットまで、アドレス入力の各ビットを順次シフトする。
Figure 2012203963
図3(A)は、メモリ21には、Aiビットが“0”に固定されるという設計ミスに起因する接続上の不具合が起こっていることを示す。図4は、図3(A)のi=3の場合に対応するクロックサイクル毎の正しいアドレス及び実際のアドレスを示す。図4のように、クロックサイクル4及び5の実際のアドレスが同一になる。
前述のマーチテストシーケンスでは、あるステップで、アドレス“00000111”でメモリからデータを読み出し、そのメモリ出力M“0000...”を期待値データD12“0000...”と比較する。次のステップで、アドレス“00000111”にメモリデータD11“1111...”が書き込まれる。次に、アドレスレジスタ130の値を更新し、アドレス“00001111”でメモリ21からデータを読み出し、そのメモリ出力Mを期待値データD12“0000...”と比較する。しかし、前述のように接続上の不具合により、メモリ21に入力されるアドレスは、“00000111”となる。このアドレスでは、前のステップでデータが“1111...”に書き換えられた後である。したがって、メモリ出力Mと期待値データD12との比較結果は一致せず、シミュレーションにおけるBIST結果出力がエラーとして検出される。
図3(B)は、メモリ21には、Aiビットが“1”に固定されるという設計上の不具合が起こっていることを示す。図5は、図3(B)のi=3の場合に対応するクロックサイクル毎の正しいアドレス及び実際のアドレスを示す。図5のように、クロックサイクル4及び5の実際のアドレスが同一になる。
前述のマーチテストシーケンスでは、あるステップで、アドレス“00000111”でメモリ21からデータを読み出し、そのメモリ出力Mを期待値データD12“0000...”と比較する。この場合、実際にメモリ21に入力されるアドレス入力は、接続上の不具合により“00001111”となるが、書き込まれている値は正常な場合と同じであるので、比較結果は一致を示す。次のステップで、同じアドレス“00001111”にメモリデータD11“1111...”が書き込まれる。次に、アドレスレジスタ130の値を更新し、アドレス“00001111”でメモリ21からデータを読み出し、そのメモリ出力Mを期待値データD12“0000...”と比較する。しかし、このアドレスでは、前のステップでデータが“1111...”に書き換えられた後である。したがって、メモリ出力Mと期待値データD12との比較結果は一致せず、シミュレーションにおけるBIST結果出力がエラーとして検出される。
図3(C)は、メモリ21には、Aiビット及びAjビットが同じ値に固定されるという接続上の不具合があることを示す。図6は、図3(C)のi=2且つj=4の場合に対応するクロックサイクル毎の正しいアドレス及び実際のアドレスを示す。図6のように、クロックサイクル5及び6の実際のアドレスが同一になる。
前述のマーチテストシーケンスでは、あるステップで、アドレス“00001111”でメモリ21からデータを読み出し、そのメモリ出力Mを期待値データD12“0000...”と比較する。この場合、実際にメモリに入力されるアドレス入力は、接続上の不具合により“00011111”となるが、書き込まれている値は正常な場合と同じであるので、比較結果は一致する。次のステップで、同じアドレス“00011111”にメモリデータD11“1111...”が書き込まれる。次に、アドレスレジスタ130の値を更新し、アドレス“00011111”でメモリ21からデータを読み出し、期待値データD12“0000...”と比較する。しかし、このアドレスでは前のステップでデータが“1111...”に書き換えられた後である。したがって、メモリ出力Mと期待値データD12との比較結果は一致せず、シミュレーションにおけるBIST結果出力がエラーとして検出される。
図3(D)は、マルチポートを有するメモリ21のあるポートでAiビットとAjビットが入れ替わっているという接続上の不具合があることを示す。図7は、図3(D)のi=2且つj=4の場合に対応するクロックサイクル毎の正しいアドレス及び実際のアドレスを示す。このメモリ21は、書き込みポートと読み出しポートを別に持ち、書き込みポートのアドレスには、上記のように接続上の不具合があり、読み出しポートのアドレスは正常に接続されているものとする。
前述のマーチテストシーケンスでは、最初の全アドレスに対する書き込みで、一通りのアドレスにメモリデータD11“0000...”が書き込まれる。しかし、アドレスカウンタの値が“00000111”になった時には、実際にメモリ21に入力されるアドレス入力は“00010011”となり、目的とするアドレスにはデータは書き込まれない。その後、読み出しポートからアドレス“00000111”でデータを読み出すと、そのアドレスにはデータが書き込まれておらず、不定の値が出力されるため、メモリ出力Mと期待値データD12“0000...”との比較結果は一致せず、シミュレーションにおけるBIST結果出力がエラーとして検出される。
第1実施形態によれば、アドレス生成器13は、第1動作モードでメモリ21の全アドレスに対応するアドレス信号D13を生成し、第2動作モードでメモリ21の一部のアドレスに対応するアドレス信号D13を生成する。換言すると、BIST回路10は、メモリ21の全アドレスに対応するアドレス信号D13を生成する第1動作モードと、メモリ21のアドレス入力の各ビットが、それぞれ、0と1の両状態をとり、かつ、異なるビット同士が一度は別の信号状態を持つような一連のデータとなるように、メモリ21の一部のアドレスに対応するアドレス信号D13を生成する第2動作モードの何れかで動作する。これにより、テスト範囲は、第1動作モードではメモリ21の全アドレスであるが、第2動作モードではメモリ21の一部のアドレスのみである。従って、テスト範囲が常にメモリ21の全アドレスである場合と比べて、BIST実行に要するステップ数が低減し、結果として、半導体集積回路1にBIST回路10を挿入した後の接続検証のためのシミュレーション実行の所要時間を短縮することができる。
より具体的には、メモリ21の全アドレスに対してマーチングパタンを適用する場合、BIST実行に要するステップ数は、2(Nは、アドレス幅を示す整数)に比例する個数である。一方、第2動作モードでは、ステップ数は、(N+1)に比例する個数に過ぎない。これは、マーチテストではBIST実行ステップ数がアドレス数に比例することから、第2動作モードで生成されるBIST結果出力のデータ量は、従来に比べて(N+1)/2に低減することを意味する。例えば、N=13であれば、メモリのアドレス数(ワード数)は、第1動作モードでは8192個であるが、第2動作モードでは14個に過ぎない。つまり実行ステップ数は14/8192に削減される。
また、第1実施形態によれば、アドレス生成器13は、モード選択信号に応じたテスト範囲のアドレス信号D13を生成するので、BIST回路10の一連の動作が連続して正しく行われているか否かについて、全てのメモリアドレスに対して漏れなく検証することができる。
また、第1実施形態によれば、上位シフタ132は、2つのシフト方式(第1シフト方式及び第2シフト方式)をサポートするので、メモリ21のワード数が2のべき乗である場合及び2のべき乗でない場合の何れにおいても、BIST結果出力のデータ量を低減することができる。
(第2実施形態)
第2実施形態について説明する。第1実施形態は、アドレスを上位アドレス側に変化させる例であるが、第2実施形態は、アドレスを上位アドレス側及び下位アドレス側に変化させる例である。なお、上述の実施形態と同様の内容の説明は省略する。
第2実施形態の半導体集積回路1は、第1実施形態と同様である。但し、BIST制御回路11は、初期化信号と、アドレス更新信号と、モード選択信号とに加えて、シフト方向選択信号をさらに含むBIST制御信号D10を生成する。シフト方向選択信号は、アドレス信号D13を、上位アドレス方向(昇順)に推移させる昇順モードか、又は下位アドレス方向(降順)に推移させる降順モードか(すなわち、アドレス信号D13のシフト方向)を示す信号である。
第2実施形態のアドレス生成器について説明する。図8は、第2実施形態のアドレス生成器13の構成図である。
図8に示すように、アドレス生成器13は、アドレスレジスタ130と、加算器131と、上位シフタ132と、アドレス選択器133と、レジスタ値選択器134と、最終アドレス判定器135と、減算器136と、下位シフタ137と、上位アドレス選択器138と、下位アドレス選択器139と、を備える。アドレスレジスタ130、加算器131、上位シフタ132及びレジスタ値選択器134は、第1実施形態と同様である。
減算器136は、アドレス信号D13から“1”を減算し、第1下位アドレス信号D25を生成する。第1下位アドレス信号D25は、クロック信号に対応するアドレスに対して1つ下位アドレス方向に位置するアドレスを示す所定数(例えば8ビット)のビット列を含む。減算器136は、クロック信号がアドレスレジスタ130へ供給される度に第1下位アドレス信号D25を生成する。従って、第1下位アドレス信号D25に対応するアドレスは、メモリ21の終端アドレス(例えば“11111111”)から先頭アドレス(例えば“00000000”)まで推移する。すなわち、第1下位アドレス信号D25は、メモリ21の全アドレスに対応する。
下位シフタ137は、第3シフト方式又は第4シフト方式を用いて、アドレス信号D13を下位アドレス方向にシフトし、第2下位アドレス信号D26を生成する。第3シフト方式では、下位シフタ137は、アドレス信号D13の最上位ビットから順に、各ビット毎に1を設定する。第4シフト方式では、下位シフタ137は、アドレス信号D13の最上位ビットから連続して1を設定する。これにより、表5の第2下位アドレス信号D26が生成される。表5は、クロックサイクル0で初期化信号が入力されたときのクロックサイクル毎の第2下位アドレス信号D26を示す。クロックサイクルは、クロック信号のサイクル数である。表5のように、第2下位アドレス信号D26は、クロックサイクル0〜9で、メモリ21のテスト範囲の先頭アドレス“11111111”又は“10000000”から最終アドレス“00000000”まで推移する。すなわち、第2下位アドレス信号D26は、メモリ21の一部のアドレスに対応する。
Figure 2012203963
上位アドレス選択器138は、モード選択信号に基づいて、第1動作モード又は第2動作モードで動作する。上位アドレス選択器138は、第1動作モードでは加算器131により生成された第1上位アドレス信号D22を選択し、第2動作モードでは上位シフタ132により生成された第2上位アドレス信号D23を選択する。すなわち、上位アドレス選択器138の出力である選択上位アドレス信号D27は、第1動作モードではメモリ21の全アドレスに対応し、第2動作モードではメモリ21の一部のアドレスに対応する。
下位アドレス選択器139は、モード選択信号に基づいて、第1動作モード又は第2動作モードで動作する。下位アドレス選択器139は、第1動作モードでは減算器136により生成された第1下位アドレス信号D25を選択し、第2動作モードでは下位シフタ137により生成された第2下位アドレス信号D26を選択する。すなわち、下位アドレス選択器139の出力である選択下位アドレス信号D28は、第1動作モードではメモリ21の全アドレスに対応し、第2動作モードではメモリ21の一部のアドレスに対応する。
アドレス選択器133は、シフト方向選択信号に基づいて、選択上位アドレス信号D27又は選択下位アドレス信号D28を選択する。アドレス選択器133は、シフト方向選択信号が上位アドレス方向を示す場合、選択上位アドレス信号D27を選択し、シフト方向選択信号が下位アドレス方向を示す場合、選択下位アドレス信号D28を選択する。すなわち、アドレス選択器133の出力である選択アドレス信号D24は、第1動作モードではメモリ21の全アドレスに対応し、第2動作モードではメモリ21の一部のアドレスに対応するだけでなく、シフト方向選択信号が示すアドレス方向に推移する。
第2実施形態によれば、BIST回路10は、第2動作モードで、アドレス入力を昇順にシフトする昇順モードと、アドレス入力を降順にシフトする降順モードとの何れかで動作する。BIST回路10は、昇順モードでは、アドレス入力の全ビットが0の初期値から、最下位ビットが1の状態から1を最上位ビットまでアドレス入力の各ビットを順次シフトする。BIST回路10は、降順モードでは、最上位ビットのみが1の状態から最下位ビットまでアドレス入力の各ビットを順次シフトする。BIST回路10は、昇順モード及び降順モードの何れの場合にも、最終的にアドレス入力を全ビットが0の状態に戻す。従って、アドレスを上位アドレス方向(昇順)にシフトするテストパタンと、アドレスを下位アドレス方向(降順)にシフトするテストパタンとの何れの場合にも、第1実施形態と同様の効果を得ることができる。
(第3実施形態)
第3実施形態について説明する。第3実施形態は、複数のメモリカラーに1つのBIST回路が接続された半導体集積回路の例である。なお、上述の実施形態と同様の内容の説明は省略する。
第3実施形態の半導体集積回路について説明する。図9は、第3実施形態の半導体集積回路1の構成図である。
図9に示すように、半導体集積回路1は、BIST回路10と、複数のメモリカラー20a及び20bとを備える。BIST回路10は、データ生成器12を備える。複数のメモリカラー20a及び20bは、それぞれ、メモリ21a及び21bを備える。なお、図9に図示されていない構成は、第1実施形態と同様である。
アドレス生成器13は、アドレス信号D13を出力する(n+1)(nは0以上の整数)個のピンP[0]〜P[n]を備える。メモリ21aは、(n+1)個のアドレス入力ピンA[0]〜A[n]を備える。メモリ21bは、n個のアドレス入力ピンB[0]〜B[n−1]を備える。ピンP[0]〜P[n−1]は、それぞれ、ピンA[0]〜A[n−1]及びピンB[0]〜B[n−1]に接続される。一方、ピンP[n]は、ピンA[n]にのみ接続される。すなわち、複数のメモリ21a及び21bは、それぞれ、アドレス幅が異なる。
アドレス生成器13は、アドレス信号D13[0]〜D13[n]を生成する。次いで、データ生成器13は、ピンP[0]〜P[n]からメモリ21aのピンA[0]〜A[n]へ、それぞれ、アドレス信号D13[0]〜D13[n]を送信する。一方、データ生成器13は、ピンP[0]〜P[n−1]からメモリ21bのピンB[0]〜B[n−1]へ、それぞれ、アドレス信号D13[0]〜D13[n−1]を送信し、メモリ21bへのアドレス信号D13[n]は無効化する。
データ生成器12は、複数のメモリ21a及び21bへ書き込むべきメモリデータD11と、複数のメモリ21a及び21bのメモリ出力Mの期待値データD12とを生成する。また、データ生成器12は、第2動作モードにおいて、アドレス信号D13のデータ幅の範囲に含まれないアドレスでのメモリデータD11の書き込みと、メモリ出力Mと期待値データD12との比較とを無効化する。
第3実施形態によれば、BIST回路10は、第2動作モードでメモリデータD11の書き込みと、メモリ出力Mと期待値データD12との比較とを無効化する。従って、第1及び第2実施形態に比べて、複数のメモリ21a及び21bの動作を検証するためのBIST結果出力のデータ量を大幅に削減することができる。
(第4実施形態)
第4実施形態について説明する。第1〜第3実施形態は、RAMに適用可能な比較型BISTの例であるが、第4実施形態は、RAMだけでなく、ROM(Read Only Memory)にも適用可能な圧縮型BISTの例である。なお、上述の実施形態と同様の内容の説明は省略する。
第4実施形態の半導体集積回路について説明する。図10は、第4実施形態の半導体集積回路1の構成図である。
図10に示すように、半導体集積回路1は、BIST回路10と、メモリカラー20とを備える。BIST回路10は、BISTを実行する回路である。メモリカラー20は、BISTの対象となるメモリデバイスを含む。
BIST回路10は、BIST制御回路11と、データ生成器12と、アドレス生成器13と、制御信号生成器14と、解析器15とを備える。BIST制御回路11、アドレス生成器13及び制御信号生成器14は、第1実施形態と同様である。メモリカラー20は、メモリ21と、圧縮器25とを備える。
データ生成器12は、BIST制御信号D10に基づいて、メモリデータD11を生成する。メモリデータD11は、メモリ21へ書き込まれるべきデータである。なお、データ生成器12は、生成したメモリデータ11を保持しない(すなわち、第1実施形態の期待値データD12を出力しない)。
メモリ21は、メモリ制御信号D14で書き込み動作を指示すると、書込アドレスにメモリデータD11を記憶し、メモリ制御信号D14で読み出し動作を指示すると、書込アドレスのメモリデータD11をメモリ出力Mとして出力する。上述の実施形態と異なり、メモリ21は、RAMであっても良いし、ROMであっても良い。なお、ROMの場合は書き込み動作を行わないので、データ生成器12は不要となる。
圧縮器25は、メモリ21のメモリ出力Mを入力し、入力したメモリ出力Mを圧縮し、圧縮データD17を生成する。圧縮器25は、例えばMISR(Multiple Input Signature Register)である。
解析器15は、メモリカラー20が1個の場合には、圧縮データD17をBISTデータとして出力する。一方、解析器15は、メモリカラー20が複数の場合には、各メモリカラー20から出力される圧縮データD17をシリアルに入力し、入力した圧縮データD17をBIST実行結果として順次出力する。
第4実施形態によれば、第1実施形態と同様に、アドレス生成器13は、第1動作モードでメモリ21の全アドレスに対応するアドレス信号D13を生成し、第2動作モードでメモリ21の一部のアドレスに対応するアドレス信号D13を生成する。従って、テスト範囲が常にメモリ21の全アドレスである場合と比べて、BIST実行に要するステップ数が低減し、結果としてBIST検証を行うシミュレーションの所要時間を短縮することができる。
ところで、メモリ21がROMである場合、ROMに記憶されるROMデータにはランダム性がある。従って、データ生成器12は、ROMデータを生成することができない。また、ROMデータを生成する代わりに、半導体集積回路1内にROMデータを保存しておくことは、非現実的である。以上のことから、ROMに対しては、上述の実施形態と異なり、メモリ出力Mを期待値データD13と比較する手法は利用できない。
仮に、ROMに対して圧縮器型BISTを用いるときに、上述の実施形態のように、第2動作モードでメモリ21の一部のアドレスに対応するアドレス信号D13を生成する(即ち、アドレス範囲を削減する)と、ROMデータのランダム性が問題になる。具体的には、第2動作モードで生成されたアドレス信号D13に含まれないアドレス(即ち、削減された範囲のアドレス)でデータを読み出すと、異なるアドレスのデータが同じであった場合、最終的な出力圧縮結果である圧縮データD17も同じになってしまうという問題がある。
以下、ROMデータのランダム性に起因する問題の解決する第4実施形態の設計装置について説明する。図11は、第4実施形態の設計装置40のブロック図である。図11の設計装置40は、LSI(Large Scale Integration)の設計装置である。この設計装置40は、ROMデータ生成部42と、シミュレーション実行部44と、判定部46とを備える。
第4実施形態の設計装置40の動作について説明する。図12は、第4実施形態の設計装置40の動作のフローチャートである。設計装置40の動作は、ROMデータ生成ステップ(S1200)と、シミュレーションステップ(S1202)と、判定ステップ(S1204)とで構成される。
<S1200> ROMデータ生成部42は、上記のROMデータのランダム性に起因する問題を避けるために、半導体集積回路1を利用するシステムで用いられるシステム用ROMデータのほかに、システムに搭載されるROMデバイスの構成を示す構成情報から、検証動作で用いられる検証用ROMデータを生成する。この際、ROMデータ生成部42は、第2動作モードで生成されるアドレス信号D13に含まれないアドレス(即ち、検証動作時に削減された範囲のアドレス)に対しては、異なるアドレスでそれぞれデータが重複しないように検証用ROMデータを生成する。これと同時に、ROMデータ生成部42は、BIST実行結果の圧縮期待値のログを示す圧縮期待値データも生成する。なお、圧縮回路には、一般的に、圧縮の結果として故障の情報を失う現象(いわゆるエイリアス現象)が起こる場合がある。このため、ROMデータ生成部42は、予め想定される設計ミスがある場合に、検証用ROMデータを用いた論理シミュレーションによる圧縮結果が、設計ミスのない場合と同一になったときは、その検証用ROMデータを破棄する。これにより、エイリアス現象の起こらない検証用ROMデータが生成される。
<S1202> シミュレーション実行部44は、この検証用ROMデータと、設計データと、テストパタンと、を用いて、検証モードでのBSIT動作の論理シミュレーションを行い、ROMのメモリ出力Mの圧縮結果のシミュレーション結果を出力する。設計データは、検証対象である半導体集積回路1の構成に関する記述を含む。テストパタンデータは、BIST回路10の動作に関する記述を含む。
<S1204> 判定部46は、シミュレーション実行部44から出力されたシミュレーション結果と、ROMデータ生成部42で生成された圧縮期待値データとを比較し、両者が一致した場合は「パス」と判定し、両者が一致しない場合は「エラー」と判定し、判定結果を出力する。
第4実施形態によれば、本来はランダム性のあるROMデータを記憶するROMデバイスに対して、第2動作モードで削減された範囲のアドレスを示すアドレス信号D13を生成するアドレス生成器13と、検証用ROMデータを生成するROMデータ生成部42とを用いる。即ち、設計装置40は、メモリ21がROMの場合、テスト実行時に、メモリ出力Mを順次圧縮し、最終的な圧縮結果でメモリ21の良否を判定する。また、設計装置40は、ROMの構成を示す構成情報から、第2動作モードで生成されるアドレス信号D13に含まれないアドレスに対して、異なるアドレスでデータが重複しないように検証用ROMデータを生成する。また、設計装置40は、アドレス信号D13を伝送するピンに接続上の不具合があった場合の圧縮結果が、接続上の不具合がない場合の圧縮結果と異なるように、圧縮期待値を生成する。従って、全アドレスで論理シミュレーションを実行するよりも、接続上の不具合の検証時間を大幅に削減することができる。
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で構成要素を変形して具体化される。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明が形成可能である。例えば、上述した実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1 半導体集積回路
10 BIST回路
11 BIST制御回路
12 データ生成器
13 アドレス生成器
14 制御信号生成器
15 解析器
20 メモリカラー
21 メモリ
22 取込レジスタ
23 比較器
24 フラグレジスタ
40 設計装置
42 ROMデータ生成部
44 シミュレーション実行部
46 判定部

Claims (6)

  1. データを記憶する少なくとも1つのメモリと、前記メモリをテストする少なくとも1つの組み込み自己テスト回路と、を備える半導体集積回路であって、
    前記組み込み自己テスト回路は、前記メモリの全アドレスに対応するアドレス信号を生成する第1動作モードと、前記メモリのアドレス入力の各ビットが、それぞれ、0と1の両状態をとり、かつ、異なるビット同士が一度は別の信号状態を持つような一連のデータとなるように前記アドレス信号を生成する第2動作モードの何れかで動作するアドレス生成器を備えることを特徴とする、半導体集積回路。
  2. 前記アドレス生成器は、前記第2動作モードで、全ビットが0の初期値から、最下位ビットが1の状態から1を最上位ビットまで前記アドレス入力の各ビットを順次シフトする、請求項1に記載の半導体集積回路。
  3. 前記アドレス生成器は、前記第2動作モードで、前記アドレス入力を昇順にシフトする昇順モードと、前記アドレス入力を降順にシフトする降順モードとの何れかで動作し、前記昇順モードでは、全ビットが0の初期値から、最下位ビットが1の状態から1を最上位ビットまで前記アドレス入力の各ビットを順次シフトし、前記降順モードでは、最上位ビットのみが1の状態から最下位ビットまで前記アドレス入力の各ビットを順次シフトし、前記昇順モード及び前記降順モードの何れの場合にも、最終的に前記アドレス入力を全ビットが0の状態に戻す、請求項1又は2に記載の半導体集積回路。
  4. 前記組み込み自己テスト回路は、
    保持した値を前記アドレス信号として出力する、アドレスレジスタと、
    前記アドレス信号に1を加算し、第1上位アドレス信号を生成する、加算器と、
    前記アドレス信号を上位アドレス方向にシフトし、第2上位アドレス信号を生成する、上位シフタと、
    前記第1動作モードでは前記第1上位アドレス信号を選択し、前記第2動作モードでは前記第2上位アドレス信号を選択し、前記第1上位アドレス信号又は前記第2上位アドレス信号に対応する選択アドレス信号を出力する、アドレス選択器と、
    前記アドレス選択器により選択された選択アドレス信号及び前記アドレスレジスタから出力されたアドレス信号の一方を選択し、選択した信号を次のアドレス入力を示すレジスタ値として出力する、レジスタ値選択器と、
    前記モード選択信号に基づいて、前記選択アドレス信号が、前記メモリのテスト範囲の最終アドレスであるか否かを判定し、前記選択アドレス信号が前記最終アドレスであるか否かを示す通知信号を生成する、最終アドレス判定器と、をさらに備え、
    前記アドレスレジスタは、前記通知信号が生成された場合、保持した値を初期化する、請求項1乃至3の何れかに記載の半導体集積回路。
  5. 前記組み込み自己テスト回路は、複数のメモリへ書き込むべきメモリデータと、前記複数のメモリのメモリ出力の期待値データとを生成するとともに、前記第2動作モードにおいて、前記アドレス信号のデータ幅範囲に含まれないアドレスでの前記メモリデータの書き込みと、メモリ出力と前記期待値データとの比較とを無効化するデータ生成器をさらに備える、請求項1乃至4の何れか1項に記載の半導体集積回路。
  6. 請求項1乃至5の何れか1項に記載の半導体集積回路の設計装置であって、
    前記メモリがROM(Read Only Memory)の場合、テスト実行時に、前記メモリ出力を順次圧縮し、最終的な圧縮結果で前記メモリの良否を判定し、かつ、前記ROMの構成を示す構成情報から、前記第2動作モードで生成される前記アドレス信号に含まれないアドレスに対して、異なるアドレスでデータが重複しないように検証用ROMデータを生成し、かつ、前記アドレス信号を伝送するピンに接続上の不具合があった場合の圧縮結果が、前記接続上の不具合がない場合の圧縮結果と異なるように、圧縮期待値を生成することを特徴とする、設計装置。
JP2011068335A 2011-03-25 2011-03-25 組込自己テスト回路及び設計装置 Withdrawn JP2012203963A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011068335A JP2012203963A (ja) 2011-03-25 2011-03-25 組込自己テスト回路及び設計装置
US13/231,073 US8671317B2 (en) 2011-03-25 2011-09-13 Built-in self test circuit and designing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011068335A JP2012203963A (ja) 2011-03-25 2011-03-25 組込自己テスト回路及び設計装置

Publications (1)

Publication Number Publication Date
JP2012203963A true JP2012203963A (ja) 2012-10-22

Family

ID=46878365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011068335A Withdrawn JP2012203963A (ja) 2011-03-25 2011-03-25 組込自己テスト回路及び設計装置

Country Status (2)

Country Link
US (1) US8671317B2 (ja)
JP (1) JP2012203963A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10359470B2 (en) 2015-09-11 2019-07-23 Kabushiki Kaisha Toshiba Semiconductor integrated circuit and test method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9595350B2 (en) * 2012-11-05 2017-03-14 Nxp Usa, Inc. Hardware-based memory initialization
KR102224843B1 (ko) 2014-10-02 2021-03-08 삼성전자주식회사 메모리 장치 및 이를 포함하는 테스트 시스템
JP6697993B2 (ja) * 2016-09-29 2020-05-27 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置の診断方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030154434A1 (en) * 2002-02-11 2003-08-14 Chien-Tzu Hou Self testing-and-repairing data buffer and method for operating the same
JP3795822B2 (ja) 2002-04-03 2006-07-12 Necエレクトロニクス株式会社 組込み自己テスト回路及び設計検証方法
US7181659B2 (en) * 2005-02-10 2007-02-20 International Business Machines Corporation Memory built-in self test engine apparatus and method with trigger on failure and multiple patterns per load capability
JP2010225239A (ja) 2009-03-24 2010-10-07 Toshiba Corp 半導体集積回路およびメモリの機能検証方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10359470B2 (en) 2015-09-11 2019-07-23 Kabushiki Kaisha Toshiba Semiconductor integrated circuit and test method thereof

Also Published As

Publication number Publication date
US20120246527A1 (en) 2012-09-27
US8671317B2 (en) 2014-03-11

Similar Documents

Publication Publication Date Title
JP2010225239A (ja) 半導体集積回路およびメモリの機能検証方法
JP3866216B2 (ja) 半導体集積回路およびその検査方法
US20100125766A1 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
JP2005228039A (ja) 半導体装置及びそのメモリテスト方法
JP2012203963A (ja) 組込自己テスト回路及び設計装置
US7010732B2 (en) Built-in test support for an integrated circuit
JP2014106928A (ja) 試験方法、試験プログラム、および、試験制御装置
JP2006318115A (ja) 半導体記憶装置及び半導体記憶装置機能検査方法並びに半導体記憶装置を有する電子機器
US9293226B2 (en) Memory test device and operating method thereof
JP2008262630A (ja) 半導体集積回路及びメモリ検査方法
JP5911816B2 (ja) 半導体集積回路装置
US6681357B2 (en) MISR simulation tool for memory BIST application
JP4981918B2 (ja) 試験装置及び試験方法
JP4695373B2 (ja) メモリテスト回路及びメモリテスト方法
US9159456B2 (en) Semiconductor device
JP2007058450A (ja) 半導体集積回路
JP4717027B2 (ja) 半導体集積回路、テストデータ生成装置およびlsi試験装置
JP2014049165A (ja) 半導体装置及びメモリ試験方法
JP2007102877A (ja) 半導体記憶装置、およびメモリテスト回路
JPH11316259A (ja) 半導体試験装置およびこれを用いた半導体試験方法
WO2013114615A1 (ja) 半導体集積回路、半導体集積回路の試験方法
JP2006079678A (ja) メモリテスト回路およびメモリテスト方法
JP2004030783A (ja) パターン発生回路及び半導体装置並びに半導体装置の試験方法
JP4526985B2 (ja) テストシステム
JP2003297100A (ja) 半導体装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140603