[go: up one dir, main page]

JP4514028B2 - 故障診断回路及び故障診断方法 - Google Patents

故障診断回路及び故障診断方法 Download PDF

Info

Publication number
JP4514028B2
JP4514028B2 JP2004150293A JP2004150293A JP4514028B2 JP 4514028 B2 JP4514028 B2 JP 4514028B2 JP 2004150293 A JP2004150293 A JP 2004150293A JP 2004150293 A JP2004150293 A JP 2004150293A JP 4514028 B2 JP4514028 B2 JP 4514028B2
Authority
JP
Japan
Prior art keywords
address
clock cycle
output
value
generator
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.)
Expired - Lifetime
Application number
JP2004150293A
Other languages
English (en)
Other versions
JP2005332492A (ja
Inventor
尚 山内
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2004150293A priority Critical patent/JP4514028B2/ja
Priority to US11/131,229 priority patent/US7562256B2/en
Priority to CNB2005100728255A priority patent/CN100479067C/zh
Publication of JP2005332492A publication Critical patent/JP2005332492A/ja
Application granted granted Critical
Publication of JP4514028B2 publication Critical patent/JP4514028B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/44Indication or identification of errors, e.g. for repair
    • 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/38Response verification devices
    • 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
    • G11C2029/1208Error catch memory

Landscapes

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

Description

本発明は、故障診断回路及び故障診断方法に関し、特に、半導体チップに搭載されるRAMを検査するときに利用される故障診断回路及び故障診断方法に関する。
RAMが搭載される半導体チップ内にテスタ機能を取り込み、そのRAMをテストするBIST(Built In Self Test)が知られている。RAMは、故障を起こすアドレスのアドレス情報とデータ情報を解析することにより、たとえば、ある特定のデータビットに故障が多い、あるいは、あるアドレスビットに故障が集中しているというような傾向の情報から、その故障原因を特定することができる。このような集積回路のテストは、BISTを用いて行うことが望まれている。
図10は、公知の故障診断回路の実施の形態を示している。その故障診断回路100は、RAM102とともに1つの半導体チップに搭載されている。RAM102は、故障診断回路100を用いて検査される検査対象であり、複数のアドレスにより互いに識別される複数のメモリセルを備えている。RAM102は、書き込み状態でアドレスとデータとが入力されたときに、そのデータをそのアドレスに割り当てられているメモリセルに格納する。RAM102は、読み出し状態でアドレスが入力されたときに、そのアドレスに割り当てられているメモリセルに格納されているデータを出力する。
故障診断回路100は、アドレス生成器103と比較値生成器104と結果比較器105と比較結果レジスタ106とを備えている。
アドレス生成器103は、カウンタから形成されている。アドレス生成器103は、RAM102のメモリセルに割り当てられている複数のアドレスを順番に1つずつ1クロックサイクル毎に生成する。すなわち、アドレス生成器103は、1クロックサイクル前に出力されたアドレスの次のアドレスを出力する。アドレス生成器103は、さらに、結果比較器105から出力される制御信号107によりアドレスの生成の停止が指示されたときに、アドレスの生成を停止する。
比較値生成器104は、RAM102のアドレス生成器103から出力されたアドレスに予め記録されたデータを示す期待値を結果比較器105に出力する。
結果比較器105は、RAM102から出力された出力データが比較値生成器104から出力された期待値に一致しているかどうかを判別する。すなわち、結果比較器105は、その出力データがその期待値に一致しないときに、アドレスの生成の停止を指示する制御信号107をアドレス生成器103に出力する。
比較結果レジスタ106は、結果比較器105による判別結果を保持する。その判別結果は、その出力データがその期待値に一致しない出力データを示している。比較結果レジスタ106は、半導体チップの外部に接続される経路108を備えている。比較結果レジスタ106は、経路108を介して、保持している判別結果を半導体チップの外部に出力する。
故障診断回路100は、あるアドレスに対しRAM102から読み出された値を比較して、そのアドレスに不良が検出されないときにアドレスを進め、不良が検出されたときにアドレスのカウントを停止する。
この方法では、故障発見時に、テストを中断しているため、後続のテストは中断したアドレスから再開されるので、アドレスのカウントが間延びする部分が生じ、結果的に、非常に遅い周波数でテストされる部分が生じ、速度起因の故障の場合は、後続のテストでは検出できないという欠点がある。さらに、この手法では、外部の試験装置から、1回の故障情報を取り出す際に、長い時間を要する場合がある。テストしているRAMがDRAMであった場合には、この故障情報取り出しの時間がリフレッシュサイクルを超える場合には、正常なアドレスの記憶データも消失してしまい、正常なアドレスも故障として検出してしまうことがある。
このようなテスト方式では、さらに、高速で連続でアドレスを変化させた場合に現れる故障を検出することはできない。また、故障を示すテストデータを比較結果出力経路から、外部の試験装置で、取り出して、その結果を記録するためには、通常、ある程度の時間を要するため、テストしている対象がDRAMの場合には、正常なアドレスも記憶データが消失してしまう可能性がある。
回路オーバーヘッドや面積オーバーヘッドがより小さく、なるべく多くの故障情報を検出する故障診断回路が望まれている。さらに、BISTを用いて高速で連続でアドレスを変化させた場合に現れる故障を検出することが望まれている。
特開平11−16392号公報には、効率のよい不良ビット置換による拡散歩留まりが向上するテスト回路が開示されている。特定用途向け半導体集積回路に大容量の記憶回路が搭載された場合、アドレス信号、データ信号をすべてICの外部へ出力するとICの端子数が増加してしまう。このため、顧客は意図に反してパッケージを端子数の多いものに変えなければならない場合が生じたり、また、組み立て歩留まりが低下するという問題がある。また、微細設計の面積が増大して、拡散歩留まりが低下することが予想され、冗長ビットを持った記憶回路が必要になる。
その半導体集積回路のテスト回路は、テスト時に用いるクロック信号によって、テスト時に使用するアドレスの生成を行うカウンタ回路と、テスト時に用いる入力データを生成する入力データ発生回路と、テスト信号を入力し通常動作時のアドレス信号とそのカウンタ回路の出力との切り替え、および通常動作時のデータ信号とその入力データ発生回路の出力とを切り換えるセレクタと、そのセレクタの出力信号を入力し、データの読み出しあるいは書き込みおよび読み出しを行う記憶回路と、テスト時にその記憶回路の出力信号とその入力データ発生回路の出力とを入力し比較を行う比較回路と、その比較回路のビット単位の比較結果を保持する比較結果レジスタとを有している。その比較回路の比較結果を観測することで良否判定を行い、その比較結果の比較結果が不一致の場合、そのカウンタ回路を停止し、そのクロック信号に同期させてそのビット単位の比較結果を出力した後、そのカウンタ回路の動作を再開する。
特開平11−16393号公報には、論理回路とメモリを有し自己診断回路を有する半導体装置において、冗長回路への置換えはもちろんフェイルビットマップ情報を容易に出力でき、試験を容易化するテスト回路が開示されている。そのテスト回路は、キャッシュメモリ等の記憶装置と、その記憶装置の不良箇所の有無を判定する自己診断回路と、を備える半導体集積回路であって、その自己診断回路が、自己診断動作において、その記憶装置の不良箇所の位置を検出する不良位置検出手段と、その不良位置検出手段から出力されたその不良箇所の位置データを圧縮する手段と、その圧縮した不良位置データを外部に出力する手段とを備えている。
特開2000−276898号公報には、ランダムアクセスメモリ(RAM)のメモリテストを行ったときに、解析が容易になるように、異常のメモリセルを示すアドレスを抽出するメモリテスト回路が開示されている。そのメモリテスト回路は、複数のメモリセルを持つランダムアクセスメモリを有する半導体集積回路に設けられ、該各メモリセルが正常か異常かをテストするメモリテスト回路であって、テストモードのときにそのメモリセルを指定する内部アドレスを生成してそのランダムアクセスメモリに与えるアドレス供給部と、そのテストモードのときにテスト用データをそのランダムアクセスメモリに与えると共に該テスト用データに対応する期待値データを出力するデータ供給部と、そのテストモードのときにそのランダムアクセスメモリに対して制御信号を与え、該ランダムアクセスメモリに、その内部アドレスで指定したメモリセルへのそのテスト用データの書込みを実施させ且つ該書込みの後に該メモリセルの記憶データの読出しを実施させる制御部と、その読出された記憶データとその期待値データとの比較により、そのテスト用データの書込みを行ったメモリセルが正常か異常かを判定し、該判定結果を出力信号に示す比較回路とを備えたメモリテスト回路において、その出力信号がその異常を示すとき、そのテスト用データの書込みを行ったメモリセルに対応するその内部アドレスを抽出するアドレス抽出手段が設けられている。
特開平11−16392号公報 特開平11−16393号公報 特開2000−276898号公報
本発明の課題は、より小さいオーバーヘッドでメモリの故障診断に必要な情報を取得する故障診断回路及び故障診断方法を提供することにある。特に、高速動作させた場合のみに発生する不良に対する故障診断や、DRAMのようにデータ保持時間に制限のある回路に対する故障診断をも含んだ形で、より小さいオーバーヘッドでメモリの故障診断に必要な情報を取得する故障診断回路及び故障診断方法を提供することにある。
本発明の他の課題は、より小さいオーバーヘッドでメモリの速度起因の故障を検出する故障診断回路及び故障診断方法を提供することにある。
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明による故障診断回路(1)(21)(41)(61)は、アドレスを出力するアドレス生成器(3)(23)(43)(63)と、故障診断開始アドレスを記録する故障診断開始アドレスレジスタ(5)(25)、または故障診断終了アドレスレジスタ(45)(65)と、故障診断開始アドレスまたは故障診断終了アドレスに基づいて算出される故障診断範囲にアドレスが属するかどうかを判別する故障診断イネーブル生成器(6)(26)(46)(66)と、アドレスに応答してメモリ(2)(22)(42)(62)から出力される出力データが予めアドレスに対応付けてメモリ(2)(22)(42)(62)に記録させた期待値に一致するかどうかを判別する結果比較器(10)(31)(49)(71)とを備えている。このとき、アドレス保持レジスタ(24)(44)(64)は、その故障診断範囲にアドレスが属し、かつ出力データが期待値に一致しないときの故障アドレスを保持する。図1の回路では、アドレス生成器(3)内のアドレスレジスタをアドレス保持レジスタとして使用しており、故障診断範囲内で、出力データが期待値に一致しないときに、アドレス更新を停止することで、故障アドレスを保持する。図1、図2、図5、図6では、このアドレス保持レジスタの値は、(5)(25)(45)(65)に値をロードした後に、外部から読み出す構成としている。ただし、勿論、アドレス保持レジスタの値を直接読み出しても良い。
このような故障診断回路(1)(21)(41)(61)を用いて検査することにより、正常異常が未知のアドレスの範囲から正常異常が既知のアドレスの範囲を抽出することができる。このような検査は、複数回実行することにより、メモリ(2)(22)(42)(62)の故障しているアドレスをすべて検索することができる。すなわち、本発明による故障診断回路(1)(21)(41)(61)によれば、1つのアドレスだけを記憶することができるアドレス保持レジスタ(25)(45)(65)を用いて、または、1つのアドレスのみを保持するアドレス生成器(3)の中のアドレスレジスタを用いて、メモリ(2)(22)(42)(62)の故障しているアドレスをすべて検索することができる。
本発明による故障診断回路(21)(41)(61)は、アドレス保持レジスタ(24)(44)(64)を更に備えている。が、アドレス保持レジスタ(24)(44)(64)は、アドレスが生成されてから、その範囲にアドレスが属し、かつ、出力データが期待値に一致しないことが判別されるまでの期間にアドレスを保持するためにも使用される。
故障診断イネーブル生成器(6)(26)は、アドレスが故障診断開始アドレスレジスタ(5)(25)が示す故障診断開始アドレスより順番が遅いかどうかを判別する。アドレス生成器(3)(23)は、アドレスが故障診断開始アドレスよりも順番が遅くなく、または、出力データが期待値に一致するときに、アドレスより順番が遅い次アドレスを出力し、アドレスが故障アドレスより順番が遅く、かつ、出力データが期待値に一致しないときに、次アドレスを出力しない。このような故障診断回路(1)(21)は、故障アドレスより順番が遅くて異常であるアドレスのうちから順番が最も早い故障のアドレスを検索することができ、異常である複数アドレスを順番が早いものから順にすべて検出することができる。
本発明による故障診断回路(41)(61)では、故障診断イネーブル生成器(46)(66)は、アドレスが故障アドレスより順番が早いかどうかを判別する。アドレス保持レジスタ(44)(64)は、アドレスが故障アドレスより順番が早く、かつ、出力データが期待値に一致しないときに、予め記録される記録アドレスを破棄してアドレスを記録する。故障アドレスレジスタ(45)(65)は、アドレス生成器(43)(63)がメモリ(42)(62)に用いられる全てのアドレスを順番に生成した後に、アドレス保持レジスタ(44)(64)に記録されたアドレスを読み込み、外部から読み出し可能に記録する。このような故障診断回路(41)(61)は、故障アドレスより順番が早くて異常であるアドレスのうちから順番が最も遅い故障のアドレスを検索することができ、異常である複数アドレスを順番が遅いものから順にすべて検出することができる。
本発明による故障診断回路(1)(21)(41)(61)は、範囲にアドレスが属し、かつ、出力データが期待値に一致しないときに、出力データを外部から読み出し可能に記録する出力データ保持レジスタ(7)(28)(47)(68)を更に備えていることが好ましい。
故障診断イネーブル生成器(26)は、初回または2回目以降のいずれかを示す信号が外部から入力される。このとき、範囲は、信号が初回を示すときに、メモリ(22)に用いられる全てのアドレスを示すことが好ましい。
本発明による半導体チップは、本発明による故障診断回路(1)(21)(41)(61)と、メモリ(2)(22)(42)(62)とを搭載することが好ましい。
本発明による第1の故障診断方法は、アドレスを生成するアドレス生成器と、アドレスに応答してメモリから出力される出力データが予めアドレスに対応付けてメモリに記録させた期待値に一致するかどうかを判別する結果比較器と、故障診断開始アドレスを保持する故障診断開始アドレスレジスタとを備えている故障診断回路を用いてメモリを検査する故障診断方法であり、メモリに用いられるアドレスを順番にアドレス生成器に生成させるステップと、生成されるアドレスのうちの最初のアドレスから故障診断開始アドレスに至るまでの間は、故障診断結果を無効とし、故障診断開始アドレスに至った後で最初に検出された故障アドレスを記録するステップと、その故障アドレスを故障診断開始アドレスレジスタへ記録させるステップとを備えている。本発明による第1の故障診断方法は、図1または図2により示されている回路を用いて実行される方法であり、複数の故障アドレスを順番が早いものから順に全てを検出する故障診断方法である。
本発明による第2の故障診断方法は、アドレスを生成するアドレス生成器(83)と、アドレスに応答してメモリ(82)から出力される出力データが予めアドレスに対応付けてメモリ(82)に記録させた期待値に一致するかどうかを判別する結果比較器(86)と、出力データが期待値に一致しないときに、予め記録されたデータを破棄してそのアドレスを外部から読み出し可能に記録するアドレス保持レジスタ(84)とを備えている故障診断回路(81)を用いてメモリ(82)を検査する故障診断方法である。本発明による故障診断方法は、メモリ(82)に用いられる全てのアドレスを順番にアドレス生成器(83)に生成させるステップと、全てのアドレスのうちの最初のアドレスから以前のテストにおいてアドレス保持レジスタ(84)から読み出された故障アドレスの1つ前のアドレスまで順番にアドレス生成器(83)に生成させるステップとを備えている。本発明による第2の故障診断方法は、図5、図6または図9により示されている回路を用いて実行される方法であり、複数の故障アドレスを順番が遅いものから順に全てを検出する故障診断方法である。図5または図6の回路を用いる場合は、以前のテストにおける故障を検出したアドレスは、故障診断終了アドレスレジスタに移され、回路内で故障診断の終了アドレスを判定する。図9の回路を用いる場合は、以前のテストにおける故障を検出したアドレスを、アドレス保持レジスタから外部に読み出し、テストの走行範囲を外部で決定する。図9の回路を用いる場合は、通常は、テストの走行範囲を外部で決定し、その範囲を越えた場合には、アドレス生成器のクロックを停止することでテストの走行範囲を限定する。図9の回路を用いる場合は、1つのアドレスだけを記憶することができるアドレス保持レジスタ(84)を用いて、異常である複数アドレスを順番が遅いものから順にすべて検出することができる。このとき、アドレス生成器(83)は、クロック信号により制御され、すなわち、テストの走行範囲は外部で決定し、その範囲を越えた場合には、アドレス生成器のクロックを停止することで、テストの走行範囲を限定する。
本発明による故障診断回路は、メモリに書き込まれた期待値とそのメモリから読み出されたデータとを比較して故障を検出する結果比較器と、その結果比較器によりその故障が検出されたそのメモリのアドレスを記録する故障診断開始アドレスレジスタと、故障検出後、次にテストする際にその故障診断開始アドレスレジスタに記録されたアドレスまでは故障を検出せず、その記録されたアドレスを越えてから故障検出を行うように、その結果比較器を制御する故障診断イネーブル生成器とを有することが好ましい。
本発明による故障診断回路及び故障診断方法は、より小さいオーバーヘッドでメモリの故障診断に必要な情報を取得することができる。
本発明による故障診断回路及び故障診断方法は、さらに、最初に検出した故障アドレスを越えた後での故障検出においても、途中の故障アドレスで一旦停止することなく後続テストを行うことができる。この結果、後続テストにおいてもテストが途中で間延びすることなく、高速のまま動作テストを行うことができる。
図面を参照して、本発明による故障診断回路の実施の形態を記載する。その故障診断回路1は、図1に示されているように、RAM2とともに1つの半導体チップに搭載されている。RAM2は、故障診断回路1を用いて検査される検査対象であり、複数のアドレスにより互いに識別される複数のメモリセルを備えている。本実施の形態では、RAM2は、アドレスが0から7までの8つのアドレスを保有している。このとき、このアドレスは、ビットにより表現するものとする。RAM2は、書き込み状態でアドレスとデータとが入力されたときに、そのデータをそのアドレスに割り当てられているメモリセルに格納する。RAM2は、読み出し状態でアドレスが入力されたときに、そのアドレスに割り当てられているメモリセルに格納されているデータを出力する。
故障診断回路1は、アドレス生成器3と故障診断開始アドレスレジスタ5と故障診断イネーブル生成器6と出力データ保持レジスタ7と比較値生成器8と結果比較器10とを備えている。
アドレス生成器3は、カウンタから形成されている。アドレス生成器3は、結果比較器10から出力されるアドレス更新イネーブル信号11がイネーブルを示しているときに、RAM2のメモリセルに割り当てられている複数のアドレスを順番に1つずつ生成する。すなわち、アドレス生成器3は、アドレス更新イネーブル信号11がイネーブルを示すクロックサイクルの次のクロックサイクルに、1クロックサイクル前に出力されたアドレスの次のアドレスを出力する。アドレス生成器3は、アドレス更新イネーブル信号11がディスイネーブルを示すクロックサイクルの次のクロックサイクルに、1クロックサイクル前に出力されたアドレスと同じアドレスを出力する。
故障診断開始アドレスレジスタ5は、アドレス生成器3から出力されるアドレスを記録する。故障診断開始アドレスレジスタ5は、半導体チップの外部に接続される経路12を備えている。故障診断開始アドレスレジスタ5は、経路12を介して、記録されているアドレスを半導体チップの外部に出力する。経路12は、さらに、故障診断開始アドレスレジスタ5のシフト出力を故障診断開始アドレスレジスタ5のシフト入力に戻している。このとき、故障診断開始アドレスレジスタ5は、保持されたアドレスがシフトして読み出されたときに、その読み出しが開始される前の状態に戻り、そのアドレスはそのまま保持される。このため、故障診断開始アドレスレジスタ5は、保持した値を集積回路の外部にシフト出力した後にその値をそのまま保持するときに、その値と同じ値を再度外部から与えて保持させ直させる必要がなく、好ましい。
故障診断イネーブル生成器6は、アドレス生成器3から出力されるアドレスが故障診断開始アドレスレジスタ5から出力されるアドレスより順番が早いかどうかを判別する。すなわち、故障診断イネーブル生成器6は、アドレス生成器3から出力されるアドレスが故障診断開始アドレスレジスタ5から出力されるアドレスより順番が早いときに、ディスイネーブルを示す故障診断イネーブル信号15を結果比較器10に出力する。故障診断イネーブル生成器6は、アドレス生成器3から出力されるアドレスが故障診断開始アドレスレジスタ5から出力されるアドレスより順番が早くないときに、イネーブルを示す故障診断イネーブル信号15を結果比較器10に出力する。
出力データ保持レジスタ7は、半導体チップの外部に接続される経路14を備えている。出力データ保持レジスタ7は、経路14を介して、記録されている出力データを半導体チップの外部に出力することができる。出力データ保持レジスタ7は、RAM2から出力される出力データを保持する。
比較値生成器8は、RAM2のアドレス生成器3から出力されたアドレスに記録されたデータを示す期待値を結果比較器10に出力する。
結果比較器10は、故障診断イネーブル信号15がイネーブルを示すときに、RAM2から出力された出力データが比較値生成器8から出力された期待値に一致しているかどうかを判別する。結果比較器10は、故障診断イネーブル信号15がイネーブルを示し、かつ、その出力データがその期待値に一致しないときに、ディスイネーブルを示すアドレス更新イネーブル信号11を出力する。結果比較器10は、故障診断イネーブル信号15がディスイネーブルを示すか、あるいは、その出力データがその期待値に一致するときに、イネーブルを示すアドレス更新イネーブル信号11を出力する。図1の回路では、アドレス更新イネーブル信号11の値は、イネーブルが0で、ディスイネーブルが1である。
故障診断回路1を用いてRAM2を検査する故障診断方法は、RAM2にデータを書き込む動作と、初回のテストの動作と、2回目以降のテストの動作とから形成されている。そのRAM2にデータを書き込む動作では、RAM2の偶数アドレスに値0が書き込まれ、奇数アドレスに値F(10進法の15を示す値)が書き込まれる。
その初回のテストの動作は、そのRAM2にデータを書き込む動作が実行された後に実行される。その初回のテストの動作では、まず、故障診断開始アドレスレジスタ5に保持されているデータを初回を示す値にセットする。このアドレスは故障診断イネーブル生成器6に入力されて、クロック信号が故障診断回路1とRAM2とに継続して供給される。RAM2のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、アドレス生成器3のアドレス値を故障診断開始アドレスレジスタ5に読み込み、故障アドレスが読み出され、出力データ保持レジスタ7に保持されている出力データが読み出される。このように読み出されたアドレスは、RAM2の異常なアドレスのうちの順番が最も早いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。
その2回目以降のテストの動作は、その初回のテストの動作が実行された後に実行される。その2回目以降のテストの動作では、まず、初回の故障アドレスが故障診断開始アドレスとして残されており、クロック信号が故障診断回路1とRAM2とに継続して供給される。RAM2のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、アドレス生成器3のアドレス値を故障診断開始アドレスレジスタ5に読み込み、故障アドレスが読み出され、出力データ保持レジスタ7に保持されている出力データが読み出される。このような2回目以降のテストの動作は、故障診断開始アドレスレジスタ5から新規のアドレスが読み出されなくなるまで、繰り返して実行される。このように読み出されたアドレスは、RAM2の異常なアドレスのうちの前回に読み出されたアドレスの次に順番が早いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。
1つ目の不良情報取り出し後、再度、テストを最初のアドレスから開始するが、初回のテスト以外では、故障診断開始アドレスレジスタ5が示す値を通過した後でのみ、故障診断イネーブル生成器6で故障診断イネーブル信号をイネーブルにする。これにより、例えば、1回目のテストで、2番アドレスで不良を検出した場合、この2番という値は、外部に読み出された後に、故障診断開始アドレスレジスタ5に残されるため、次回のテストでは、3番アドレス以降で故障診断イネーブル信号15がイネーブルを示し、結果比較器10で、結果比較を開始する。3番アドレス以降で、最初に不良が検出された時点で、再度、アドレス更新イネーブル信号はアドレス更新を停止する値に設定され、アドレス生成器3がアドレス生成を停止し、新たな不良アドレスが求められる。これにより、故障アドレス情報を保持するレジスタは1アドレス分のみを回路内に保有すれば、最初のテストで、最初の不良アドレスの情報を得ることができ、2回目のテストでは、2回目に不良となるアドレスの情報を得ることができる。以下、3回目のテスト以降も、同様のことを繰り返せば、3回目以降の不良アドレス情報を得ることが可能となる。
図2は、本発明による故障診断回路の実施の他の形態を示している。その故障診断回路21は、RAM22とともに1つの半導体チップに搭載されている。RAM22は、故障診断回路21を用いて検査される検査対象であり、複数のアドレスにより互いに識別される複数のメモリセルを備えている。本実施の形態では、RAM22は、アドレスが0から7までの8つのアドレスを保有し、このとき、そのアドレスは、3ビットにより表現されているものとする。RAM22は、書き込み状態でアドレスとデータとが入力されたときに、そのデータをそのアドレスに割り当てられているメモリセルに格納する。RAM22は、読み出し状態でアドレスが入力されたときに、そのアドレスに割り当てられているメモリセルに格納されているデータを出力する。RAM22は、供給されるクロックの立ち上がりのエッジに同期して動作し、そのアドレスが入力されるクロックサイクルの次のクロックサイクルにそのデータを出力する。
故障診断回路21は、アドレス生成器23とアドレス保持レジスタ24と故障診断開始アドレスレジスタ25と故障診断イネーブル生成器26と出力データ保持レジスタ27と出力データ保持レジスタ28と比較値生成器29と結果比較器31とを備えている。
アドレス生成器23は、カウンタから形成されている。アドレス生成器23は、結果比較器31から出力されるアドレス更新イネーブル信号32がイネーブルを示しているときに、RAM22のメモリセルに割り当てられている複数のアドレスを順番に1つずつ1クロックサイクル毎に生成する。アドレス生成器23は、さらに、アドレス更新イネーブル信号32がイネーブルを示すクロックサイクルの次のクロックサイクルに、1クロックサイクル前に出力されたアドレスの次のアドレスを出力する。アドレス生成器23は、アドレス更新イネーブル信号32がディスイネーブルを示すクロックサイクルの次のクロックサイクルに、1クロックサイクル前に出力されたアドレスと同じアドレスを出力する。
アドレス保持レジスタ24は、各アドレスビット毎に3段のシフトレジスタにより構成されている。アドレス保持レジスタ24は、アドレス生成器3から出力されるアドレスを3クロックサイクルだけ保持する。アドレス保持レジスタ24は、さらに、アドレス更新イネーブル信号32がイネーブルを示すクロックサイクルの次のクロックサイクルに、2クロックサイクル前にアドレス生成器23から出力されたアドレスを故障診断イネーブル生成器26に出力する。アドレス保持レジスタ24は、さらに、アドレス更新イネーブル信号32がイネーブルを示すクロックサイクルの次のクロックサイクルに、3クロックサイクル前にアドレス生成器23から出力されたアドレスを出力する。
故障診断開始アドレスレジスタ25は、さらに、アドレス保持レジスタ24から出力されるアドレスを記録する。故障診断開始アドレスレジスタ25は、半導体チップの外部に接続される経路33を備えている。故障診断開始アドレスレジスタ25は、経路33を介して、記録されているアドレスを半導体チップの外部に出力する。経路33は、さらに、故障診断開始アドレスレジスタ25のシフト出力を故障診断開始アドレスレジスタ25のシフト入力に戻している。このとき、故障診断開始アドレスレジスタ25は、保持されたアドレスがシフトして読み出されたときに、その読み出しが開始される前の状態に戻り、そのアドレスはそのまま保持される。このため、故障診断開始アドレスレジスタ25は、保持した値を集積回路の外部にシフト出力した後にその値をそのまま保持するときに、その値と同じ値を再度外部から与えて保持させ直させる必要がなく、好ましい。
故障診断イネーブル生成器26は、外部から供給される初回テスト識別信号34を収集する。初回テスト識別信号34は、実行されているテストの順番を示している。故障診断イネーブル生成器26は、初回テスト識別信号34が初回を示しているときに、イネーブルを示す故障診断イネーブル信号36を結果比較器31に出力する。故障診断イネーブル生成器26は、さらに、アドレス保持レジスタ24から出力されるアドレスが故障診断開始アドレスレジスタ25から出力されるアドレスより順番が早いかどうかを判別する。故障診断イネーブル生成器26は、初回テスト識別信号34が2回目以降を示し、かつ、アドレス保持レジスタ24から出力されるアドレスが故障診断開始アドレスレジスタ25から出力されるアドレスより順番が早いクロックサイクルの次のクロックサイクルに、ディスイネーブルを示す故障診断イネーブル信号36を結果比較器31に出力する。故障診断イネーブル生成器26は、初回テスト識別信号34が2回目以降を示し、かつ、アドレス保持レジスタ24から出力されるアドレスが故障診断開始アドレスレジスタ25から出力されるアドレスより順番が早くないクロックサイクルの次のクロックサイクルに、イネーブルを示す故障診断イネーブル信号36を結果比較器31に出力する。
出力データ保持レジスタ27は、RAM22から出力される出力データを1クロックサイクルだけ保持して出力データ保持レジスタ28と結果比較器31とに出力する。すなわち、出力データ保持レジスタ27は、1クロックサイクル前にRAM22から出力された出力データを出力データ保持レジスタ28と結果比較器31とに出力する。
出力データ保持レジスタ28は、半導体チップの外部に接続される経路35を備えている。出力データ保持レジスタ28は、経路35を介して、記録されているアドレスを半導体チップの外部に出力する。出力データ保持レジスタ28は、アドレス更新イネーブル信号32がイネーブルを示すクロックサイクルの次のクロックサイクルに、1クロックサイクル前に出力データ保持レジスタ27から出力された出力データを保持する。出力データ保持レジスタ28は、アドレス更新イネーブル信号32がディスイネーブルを示すクロックサイクルの次のクロックサイクルに、1クロックサイクル前に保持していた出力データをそのまま保持する。
比較値生成器29は、RAM22のアドレス生成器23から3クロックサイクル前に出力されたアドレスに記録されたデータを示す期待値を結果比較器31に出力する。
結果比較器31は、故障診断イネーブル信号36がディスイネーブルを示すときに、イネーブルを示すアドレス更新イネーブル信号32を出力する。結果比較器31は、さらに、出力データ保持レジスタ27から出力された出力データが比較値生成器29から出力された期待値に一致しているかどうかを判別する。結果比較器31は、故障診断イネーブル信号36がイネーブルを示し、かつ、その出力データがその期待値に一致しないクロックサイクルの次のクロックサイクルに、ディスイネーブルを示すアドレス更新イネーブル信号32を出力する。結果比較器31は、故障診断イネーブル信号36がイネーブルを示し、かつ、その出力データがその期待値に一致していないクロックサイクルより後のクロックサイクルに、ディスイネーブルを示すアドレス更新イネーブル信号32を継続して出力する。図2の回路では、アドレス更新イネーブル信号32の値は、イネーブルが0で、ディスイネーブルが1である。
故障診断回路21を用いてRAM22を検査する故障診断方法は、RAM22にデータを書き込む動作と、初回のテストの動作と、2回目以降のテストの動作とから形成されている。そのRAM22にデータを書き込む動作では、RAM22の偶数アドレスに値0が書き込まれ、奇数アドレスに値F(10進法の15を示す値)が書き込まれる。この書き込みは、供給されるクロック信号に同期して連続して実行される。
その初回のテストの動作は、そのRAM22にデータを書き込む動作が実行された後に実行される。その初回のテストの動作では、まず、故障診断開始アドレスレジスタ25に保持されているデータがリセットされた後に、初回を示す初回テスト識別信号34が故障診断イネーブル生成器26に継続して入力されて、クロック信号が故障診断回路21とRAM22とに継続して供給される。RAM22のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、故障診断開始アドレスレジスタ25に保持されているアドレスが読み出され、出力データ保持レジスタ28に保持されている出力データが読み出される。このように読み出されたアドレスは、RAM22の異常なアドレスのうちの順番が最も早いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。
その2回目以降のテストの動作は、その初回のテストの動作が実行された後に実行される。その2回目以降のテストの動作では、まず、2回目以降を示す初回テスト識別信号34が故障診断イネーブル生成器26に継続して入力されて、クロック信号が故障診断回路21とRAM22とに継続して供給される。RAM22のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、故障診断開始アドレスレジスタ25に保持されているアドレスが読み出され、出力データ保持レジスタ28に保持されている出力データが読み出される。このような2回目以降のテストの動作は、故障診断開始アドレスレジスタ25から新規のアドレスが読み出されなくなるまで、繰り返して実行される。このように読み出されたアドレスは、RAM22の異常なアドレスのうちの前回に読み出されたアドレスの次に順番が早いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。
図3は、RAM22がアドレス2で間違った値8が出力され、アドレス4で間違った値3が出力されるときに、初回のテストの動作で各回路により出力される信号の変化を示している。このとき、故障診断イネーブル生成器26は、初回を示す初回テスト識別信号34が常に入力され、イネーブルを示す故障診断イネーブル信号36を常に出力する。アドレス生成器23は、値0を1クロックサイクル目に出力する。結果比較器31は、イネーブルを示すアドレス更新イネーブル信号32を1クロックサイクル目に出力する。
アドレス生成器23は、アドレス更新イネーブル信号32が1クロックサイクル目にイネーブルを示すことにより、1クロックサイクル目に出力された値0の次の値1を2クロックサイクル目に出力する。結果比較器31は、イネーブルを示すアドレス更新イネーブル信号32を2クロックサイクル目に出力する。RAM22は、アドレス生成器23から1クロックサイクル目に出力される値0のアドレスに記録される値0を2クロックサイクル目に出力する。
アドレス生成器23は、アドレス更新イネーブル信号32が2クロックサイクル目にイネーブルを示すことにより、2クロックサイクル目に出力された値1の次の値2を3クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から2クロックサイクル目に出力される値0を3クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から1クロックサイクル目に出力される値0のアドレスでRAM22に書き込まれた値0を3クロックサイクル目に出力する。結果比較器31は、イネーブルを示すアドレス更新イネーブル信号32を3クロックサイクル目に出力する。RAM22は、アドレス生成器23から2クロックサイクル目に出力される値のアドレスに記録される値を3クロックサイクル目に出力する。
アドレス生成器23は、アドレス更新イネーブル信号32が3クロックサイクル目にイネーブルを示すことにより、3クロックサイクル目に出力された値2の次の値3を4クロックサイクル目に出力する。アドレス保持レジスタ24は、アドレス生成器23から1クロックサイクル目に出力された値0を4クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から3クロックサイクル目に出力される値Fを4クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から2クロックサイクル目に出力される値1のアドレスでRAM22に書き込まれた値Fを4クロックサイクル目に出力する。結果比較器31は、出力データ保持レジスタ27から3クロックサイクル目に出力される値0が比較生成器29から3クロックサイクル目に出力される値0に一致していることにより、イネーブルを示すアドレス更新イネーブル信号32を4クロックサイクル目に出力する。出力データ保持レジスタ28は、出力データ保持レジスタ27から3クロックサイクル目に出力される値0を4クロックサイクル目に保持する。RAM22は、アドレス生成器23から3クロックサイクル目に出力される値2であることにより、間違った値8を4クロックサイクル目に出力する。
アドレス生成器23は、アドレス更新イネーブル信号32が4クロックサイクル目にイネーブルを示すことにより、4クロックサイクル目に出力された値3の次の値4を5クロックサイクル目に出力する。アドレス保持レジスタ24は、アドレス生成器23から2クロックサイクル目に出力された値1を5クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から4クロックサイクル目に出力される値8を5クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から3クロックサイクル目に出力される値2のアドレスでRAM22に書き込まれた値0を5クロックサイクル目に出力する。結果比較器31は、出力データ保持レジスタ27から4クロックサイクル目に出力される値Fが比較生成器29から4クロックサイクル目に出力される値Fに一致していることにより、イネーブルを示すアドレス更新イネーブル信号32を5クロックサイクル目に出力する。出力データ保持レジスタ28は、出力データ保持レジスタ27から4クロックサイクル目に出力される値Fを5クロックサイクル目に保持する。RAM22は、アドレス生成器23から4クロックサイクル目に出力される値3のアドレスに記録された値Fを5クロックサイクル目に出力する。
アドレス生成器23は、アドレス更新イネーブル信号32が5クロックサイクル目にイネーブルを示すことにより、5クロックサイクル目に出力された値4の次の値5を6クロックサイクル目に出力する。アドレス保持レジスタ24は、アドレス生成器23から3クロックサイクル目に出力された値2を6クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から5クロックサイクル目に出力される値Fを6クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から4クロックサイクル目に出力される値3のアドレスでRAM22に書き込まれた値Fを6クロックサイクル目に出力する。結果比較器31は、出力データ保持レジスタ27から5クロックサイクル目に出力される値8が比較生成器29から5クロックサイクル目に出力される値0に一致していないことにより、ディスイネーブルを示すアドレス更新イネーブル信号32を6クロックサイクル目以降に継続して出力する。出力データ保持レジスタ28は、出力データ保持レジスタ27から5クロックサイクル目に出力される値8を6クロックサイクル目に保持する。RAM22は、アドレス生成器23から値4が5クロックサイクル目に出力されることにより、間違った値3を6クロックサイクル目に出力する。
アドレス生成器23は、アドレス更新イネーブル信号32が6クロックサイクル目にディスイネーブルを示すことにより、6クロックサイクル目に出力された値5を7クロックサイクル目以降に継続して出力する。アドレス保持レジスタ24は、アドレス更新イネーブル信号32が6クロックサイクル目にディスイネーブルを示すことにより、5クロックサイクル目に出力した値2を7クロックサイクル目以降に継続して出力する。故障診断開始アドレスレジスタ25は、アドレス保持レジスタ24が7クロックサイクル目以降に出力した値2を7クロックサイクル目以降に継続して出力する。出力データ保持レジスタ28は、アドレス更新イネーブル信号32が6クロックサイクル目にディスイネーブルを示すことにより、6クロックサイクル目に出力された値8を7クロックサイクル目以降に継続して保持する。
図4は、RAM22がアドレス2で間違った値8が出力され、アドレス4で間違った値3が出力される場合で、初回のテストでアドレス2が検出されたときに、2回目のテストの動作で各回路により出力される信号の変化を示している。
故障診断開始アドレスレジスタ25は、初回のテストでの不良検出により保持された値2を1クロックサイクル目に保持している。アドレス生成器23は、値0を1クロックサイクル目に出力する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が入力されることにより、ディスイネーブルを示す故障診断イネーブル信号36を1クロックサイクル目に出力する。結果比較器31は、比較を行わずに、イネーブルを示すアドレス更新イネーブル信号32を1クロックサイクル目に出力する。
故障診断開始アドレスレジスタ25は、1クロックサイクル前と同様に値2を2クロックサイクル目に保持している。アドレス生成器23は、アドレス更新イネーブル信号32が1クロックサイクル目にイネーブルを示すことにより、1クロックサイクル目に出力された値0の次の値1を2クロックサイクル目に出力する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が入力されることにより、ディスイネーブルを示す故障診断イネーブル信号36を2クロックサイクル目に出力する。結果比較器31は、故障診断イネーブル信号36が1クロックサイクル目にディスイネーブルを示していることにより、イネーブルを示すアドレス更新イネーブル信号32を2クロックサイクル目に出力する。RAM22は、アドレス生成器23から1クロックサイクル目に出力される値0のアドレスに記録される値0を2クロックサイクル目に出力する。
故障診断開始アドレスレジスタ25は、1クロックサイクル前と同様に値2を3クロックサイクル目に保持している。アドレス生成器23は、アドレス更新イネーブル信号32が2クロックサイクル目にイネーブルを示すことにより、2クロックサイクル目に出力された値1の次の値2を3クロックサイクル目に出力する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が出力されることにより、ディスイネーブルを示す故障診断イネーブル信号36を3クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から2クロックサイクル目に出力される値0を3クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から1クロックサイクル目に出力される値0のアドレスでRAM22に書き込まれた値0を3クロックサイクル目に出力する。結果比較器31は、故障診断イネーブル信号36が2クロックサイクル目にディスイネーブルを示していることにより、イネーブルを示すアドレス更新イネーブル信号32を3クロックサイクル目に出力する。RAM22は、アドレス生成器23から2クロックサイクル目に出力される値のアドレスに記録される値を3クロックサイクル目に出力する。
故障診断開始アドレスレジスタ25は、1クロックサイクル前と同様に値2を4クロックサイクル目に保持している。アドレス生成器23は、アドレス更新イネーブル信号32が3クロックサイクル目にイネーブルを示すことにより、3クロックサイクル目に出力された値2の次の値3を4クロックサイクル目に出力する。アドレス保持レジスタ24は、アドレス生成器23から2クロックサイクル目に出力された値1を故障診断イネーブル生成器26に4クロックサイクル目に出力する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が入力され、アドレス保持レジスタ24から3クロックサイクル目に出力される値0が故障診断開始アドレスレジスタ25から3クロックサイクル目に出力される値2より順番が早いことにより、ディスイネーブルを示す故障診断イネーブル信号36を4クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から3クロックサイクル目に出力される値Fを4クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から2クロックサイクル目に出力される値1のアドレスでRAM22に書き込まれた値Fを4クロックサイクル目に出力する。結果比較器31は、故障診断イネーブル信号36が3クロックサイクル目にディスイネーブルを示していることにより、イネーブルを示すアドレス更新イネーブル信号32を4クロックサイクル目に出力する。出力データ保持レジスタ28は、出力データ保持レジスタ27から3クロックサイクル目に出力される値0を4クロックサイクル目に保持する。RAM22は、アドレス生成器23から3クロックサイクル目に出力される値2であることにより、間違った値8を4クロックサイクル目に出力する。
故障診断開始アドレスレジスタ25は、1クロックサイクル前と同様に値2を5クロックサイクル目に保持している。アドレス生成器23は、アドレス更新イネーブル信号32が4クロックサイクル目にイネーブルを示すことにより、4クロックサイクル目に出力された値3の次の値4を5クロックサイクル目に出力する。アドレス保持レジスタ24は、アドレス生成器23から2クロックサイクル目に出力された値1を5クロックサイクル目に保持し、アドレス生成器23から3クロックサイクル目に出力された値2を故障診断イネーブル生成器26に5クロックサイクル目に出力する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が入力され、アドレス保持レジスタ24から4クロックサイクル目に出力される値1が故障診断開始アドレスレジスタ25から4クロックサイクル目に出力される値2より順番が早いことにより、ディスイネーブルを示す故障診断イネーブル信号36を5クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から4クロックサイクル目に出力される値8を5クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から3クロックサイクル目に出力される値2のアドレスでRAM22に書き込まれた値0を5クロックサイクル目に出力する。結果比較器31は、故障診断イネーブル信号36が4クロックサイクル目にディスイネーブルを示していることにより、エラーを検出してはいるが、イネーブルを示すアドレス更新イネーブル信号32を5クロックサイクル目に出力する。出力データ保持レジスタ28は、出力データ保持レジスタ27から4クロックサイクル目に出力される値Fを5クロックサイクル目に保持する。RAM22は、アドレス生成器23から4クロックサイクル目に出力される値3のアドレスに記録された値Fを5クロックサイクル目に出力する。
故障診断開始アドレスレジスタ25は、1クロックサイクル前と同様に値2を6クロックサイクル目に保持している。アドレス生成器23は、アドレス更新イネーブル信号32が5クロックサイクル目にイネーブルを示すことにより、5クロックサイクル目に出力された値4の次の値5を6クロックサイクル目に出力する。アドレス保持レジスタ24は、アドレス生成器23から4クロックサイクル目に出力された値3を故障診断イネーブル生成器26に6クロックサイクル目に出力する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が入力され、アドレス保持レジスタ24から5クロックサイクル目に出力される値2が故障診断開始アドレスレジスタ25から5クロックサイクル目に出力される値2より順番が早くないことにより、イネーブルを示す故障診断イネーブル信号36を6クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から5クロックサイクル目に出力される値Fを6クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から4クロックサイクル目に出力される値3のアドレスでRAM22に書き込まれた値Fを6クロックサイクル目に出力する。結果比較器31は、故障診断イネーブル信号36が5クロックサイクル目にディスイネーブルを示していることにより、イネーブルを示すアドレス更新イネーブル信号32を6クロックサイクル目以降に継続して出力する。出力データ保持レジスタ28は、出力データ保持レジスタ27から5クロックサイクル目に出力される値8を6クロックサイクル目に保持する。RAM22は、アドレス生成器23から5クロックサイクル目に出力される値4のアドレスに記録された値を6クロックサイクル目に出力する。
故障診断開始アドレスレジスタ25は、1クロックサイクル前と同様に値2を7クロックサイクル目に保持している。アドレス生成器23は、アドレス更新イネーブル信号32が6クロックサイクル目にイネーブルを示すことにより、6クロックサイクル目に出力された値5の次の値6を7クロックサイクル目に出力する。アドレス保持レジスタ24は、アドレス生成器23から5クロックサイクル目に出力された値4を故障診断イネーブル生成器26に7クロックサイクル目に出力する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が入力され、アドレス保持レジスタ24から6クロックサイクル目に出力される値3が故障診断開始アドレスレジスタ25から6クロックサイクル目に出力される値2より順番が早くないことにより、イネーブルを示す故障診断イネーブル信号36を7クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から6クロックサイクル目に出力される値3を7クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から5クロックサイクル目に出力される値4のアドレスでRAM22に書き込まれた値0を7クロックサイクル目に出力する。結果比較器31は、出力データ保持レジスタ27から6クロックサイクル目に出力される値Fが比較生成器29から6クロックサイクル目に出力される値Fに一致していることにより、イネーブルを示すアドレス更新イネーブル信号32を7クロックサイクル目に出力する。出力データ保持レジスタ28は、出力データ保持レジスタ27から6クロックサイクル目に出力された値Fを7クロックサイクル目に保持する。RAM22は、アドレス生成器23から6クロックサイクル目に出力される値5のアドレスに記録された値Fを7クロックサイクル目に出力する。
故障診断開始アドレスレジスタ25は、1クロックサイクル前と同様に値2を8クロックサイクル目に保持している。アドレス生成器23は、アドレス更新イネーブル信号32が7クロックサイクル目にイネーブルを示すことにより、7クロックサイクル目に出力された値6の次の値7を8クロックサイクル目に出力する。アドレス保持レジスタ24は、アドレス生成器23から6クロックサイクル目に出力された値5を故障診断イネーブル生成器26に8クロックサイクル目に出力する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が入力され、アドレス保持レジスタ24から7クロックサイクル目に出力される値4が故障診断開始アドレスレジスタ25から7クロックサイクル目に出力される値2より順番が早くないことにより、イネーブルを示す故障診断イネーブル信号36を8クロックサイクル目に出力する。出力データ保持レジスタ27は、RAM22から7クロックサイクル目に出力される値Fを8クロックサイクル目に出力する。比較値生成器29は、アドレス生成器23から6クロックサイクル目に出力される値5のアドレスでRAM22に書き込まれた値Fを8クロックサイクル目に出力する。結果比較器31は、出力データ保持レジスタ27から7クロックサイクル目に出力される値3が比較生成器29から7クロックサイクル目に出力される値0に一致していないことにより、ディスイネーブルを示すアドレス更新イネーブル信号32を8クロックサイクル目以降に継続して出力する。出力データ保持レジスタ28は、出力データ保持レジスタ27から7クロックサイクル目に出力された値3をクロックサイクル目に保持する。
アドレス生成器23は、アドレス更新イネーブル信号32が8クロックサイクル目以降にディスイネーブルを継続して示すことにより、7クロックサイクル目に出力された値7を9クロックサイクル目以降に継続して出力する。アドレス保持レジスタ24は、アドレス更新イネーブル信号32が8クロックサイクル目にディスイネーブルを示すことにより、8クロックサイクル目に保持された値4を故障診断開始アドレスレジスタ25に9クロックサイクル目に出力する。故障診断開始アドレスレジスタ25は、アドレス保持レジスタ24から9クロックサイクル目に出力された値4を9クロックサイクル目に保持する。故障診断イネーブル生成器26は、2回目以降を示す初回テスト識別信号34が入力され、アドレス保持レジスタ24から8クロックサイクル目以降に出力される値7が故障診断開始アドレスレジスタ25から8クロックサイクル目に出力される値2より順番が早くないことにより、イネーブルを示す故障診断イネーブル信号36を9クロックサイクル目に出力する。出力データ保持レジスタ28は、アドレス更新イネーブル信号32が8クロックサイクル目以降にディスイネーブルを継続して示すことにより、出力データ保持レジスタ27から7クロックサイクル目に出力された値3を9クロックサイクル目以降に継続して保持する。
故障診断開始アドレスレジスタ25は、1クロックサイクル前と同様に値4を10クロックサイクル目に保持している。
このように、不良アドレスと不良データを保持するレジスタが1アドレス分しかなくとも、テストを繰り返して行なうことにより、全不良データの採取が可能となる。さらに、このような故障診断方法によれば、RAMのアクセス時間がテストの周波数と同程度の場合であっても、遅延のテストを含めたRAMのテストを行うことができる。
図5は、本発明による故障診断回路の実施のさらに他の形態を示している。その故障診断回路41は、RAM42とともに1つの半導体チップに搭載されている。RAM42は、故障診断回路41を用いて検査される検査対象であり、複数のアドレスにより互いに識別される複数のメモリセルを備えている。本実施の形態では、RAM42は、アドレスが0から7までの8つのアドレスを保有し、このアドレスは4ビットにより表現されるものとする。RAM42は、書き込み状態でアドレスとデータとが入力されたときに、そのデータをそのアドレスに割り当てられているメモリセルに格納する。RAM42は、読み出し状態でアドレスが入力されたときに、そのアドレスに割り当てられているメモリセルに格納されているデータを出力する。RAM42は、供給されるクロックの立ち上がりのエッジに同期して動作し、そのアドレスが入力されるクロックサイクルの次のクロックサイクルにそのデータを出力する。
故障診断回路41は、アドレス生成器43とアドレス保持レジスタ44と故障診断終了アドレスレジスタ45と故障診断イネーブル生成器46と出力データ保持レジスタ47と比較値生成器48と結果比較器49とを備えている。
アドレス生成器43は、カウンタから形成されている。アドレス生成器43は、RAM42のメモリセルに割り当てられている複数のアドレスを順番に1つずつ1クロックサイクル毎に生成する。すなわち、アドレス生成器43は、1クロックサイクル前に出力されたアドレスの次のアドレスを出力する。
アドレス保持レジスタ44は、アドレス更新イネーブル信号51がイネーブルを示すときに、アドレス生成器43から出力されたアドレスを保持する。アドレス保持レジスタ44は、アドレス更新イネーブル信号51がディスイネーブルを示すときに、1クロックサイクル前に保持されたアドレスをそのまま保持する。
故障診断終了アドレスレジスタ45は、アドレス生成器43によりすべてのアドレスが一通り生成された後に、アドレス保持レジスタ44に保持されるアドレスを記録する。故障診断終了アドレスレジスタ45は、半導体チップの外部に接続される経路52を備えている。故障診断終了アドレスレジスタ45は、経路52を介して、保持しているアドレスを半導体チップの外部に出力する。経路52は、さらに、故障診断終了アドレスレジスタ45のシフト出力を故障診断終了アドレスレジスタ45のシフト入力に戻している。このとき、故障診断終了アドレスレジスタ45は、保持されたアドレスがシフトして読み出されたときに、その読み出しが開始される前の状態に戻り、そのアドレスはそのまま保持される。このため、故障診断終了アドレスレジスタ45は、保持した値を集積回路の外部にシフト出力した後にその値をそのまま保持するときに、その値と同じ値を再度外部から与えて保持させ直させる必要がなく、好ましい。
故障診断イネーブル生成器46は、アドレス生成器43から出力されるアドレスが故障診断終了アドレスレジスタ45に保持されるアドレスより順番が早いかどうかを判別する。故障診断イネーブル生成器46は、故障診断終了アドレスレジスタ45に保持されるアドレスがアドレス生成器43から出力されるアドレスより順番が遅いときに、イネーブルを示す故障診断イネーブル信号54を結果比較器49に出力する。故障診断イネーブル生成器46は、故障診断終了アドレスレジスタ45に保持されるアドレスがアドレス生成器43から出力されるアドレスより順番が遅くないときに、ディスイネーブルを示す故障診断イネーブル信号54を結果比較器49に出力する。
出力データ保持レジスタ47は、アドレス更新イネーブル信号51がイネーブルを示すときに、RAM42から出力された出力データを保持する。出力データ保持レジスタ47は、アドレス更新イネーブル信号51がディスイネーブルを示すときに、1クロックサイクル前に保持していた出力データをそのまま保持する。出力データ保持レジスタ47は、半導体チップの外部に接続される経路53を備えている。出力データ保持レジスタ47は、経路53を介して、保持しているアドレスを半導体チップの外部に出力する。
比較値生成器48は、RAM42のアドレス生成器43から出力されたアドレスに記録されたデータを示す期待値を結果比較器49に出力する。
結果比較器49は、故障診断イネーブル信号54がディスイネーブルを示すときに、ディスイネーブルを示すアドレス更新イネーブル信号51を出力する。結果比較器49は、さらに、RAM42から出力された出力データが比較値生成器48から出力された期待値に一致しているかどうかを判別する。すなわち、結果比較器49は、故障診断イネーブル信号54がディスイネーブルを示すか、または、その出力データがその期待値に一致するときに、ディスイネーブルを示すアドレス更新イネーブル信号51を出力する。結果比較器49は、故障診断イネーブル信号54がイネーブルを示し、かつ、その出力データがその期待値に一致していないときに、イネーブルを示すアドレス更新イネーブル信号51を出力する。図5の回路では、故障診断イネーブル信号54がイネーブルで、期待値不一致のときに、アドレス保持レジスタの故障アドレスを更新する方式のため、故障診断イネーブル信号54がイネーブルで、期待値不一致の時にイネーブルとなる。図5の回路では、アドレス更新イネーブル信号51の値は、イネーブルが1で、ディスイネーブルが0である。
故障診断回路41を用いてRAM42を検査する故障診断方法は、RAM42にデータを書き込む動作と、初回のテストの動作と、2回目以降のテストの動作とから形成されている。そのRAM42にデータを書き込む動作では、RAM42の偶数アドレスに値0が書き込まれ、奇数アドレスに値F(10進法の15を示す値)が書き込まれる。
その初回のテストの動作は、そのRAM42にデータを書き込む動作が実行された後に実行される。その初回のテストの動作では、まず、故障診断終了アドレスレジスタ45に値8を保持させた後に、クロック信号が故障診断回路41とRAM42とに継続して供給される。RAM42のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、故障診断終了アドレスレジスタ45に保持されているアドレスが読み出され、出力データ保持レジスタ47に保持されている出力データが読み出される。このように読み出されたアドレスは、RAM42の異常なアドレスのうちの順番が最も遅いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。
その2回目以降のテストの動作は、その初回のテストの動作が実行された後に実行される。その2回目以降のテストの動作では、まず、クロック信号が故障診断回路41とRAM42とに継続して供給される。RAM42のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、故障診断終了アドレスレジスタ45に保持されているアドレスが読み出され、出力データ保持レジスタ47に保持されている出力データが読み出される。このように読み出されたアドレスは、RAM42の異常なアドレスのうちの前回に読み出されたアドレスの次に順番が遅いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。このような2回目以降のテストの動作は、故障診断終了アドレスレジスタ45から新規のアドレスが読み出されなくなるまで、繰り返して実行される。
このような故障診断方法によれば、不良アドレスと不良データを保持するレジスタが1アドレス分しか集積回路内部に存在しなくとも、テストを繰り返して行なうことにより、全不良データの採取が可能となる。
図6は、本発明による故障診断回路の実施のさらに他の形態を示している。その故障診断回路61は、RAM62とともに1つの半導体チップに搭載されている。RAM62は、故障診断回路61を用いて検査される検査対象であり、複数のアドレスにより互いに識別される複数のメモリセルを備えている。本実施の形態では、RAM62は、アドレスが0から7までの8つのアドレスを保有し、このとき、そのアドレスは、4ビットにより表現されているものとする。RAM62は、書き込み状態でアドレスとデータとが入力されたときに、そのデータをそのアドレスに割り当てられているメモリセルに格納する。RAM62は、読み出し状態でアドレスが入力されたときに、そのアドレスに割り当てられているメモリセルに格納されているデータを出力する。RAM62は、供給されるクロックの立ち上がりのエッジに同期して動作し、そのアドレスが入力されるクロックサイクルの次のクロックサイクルにそのデータを出力する。
故障診断回路61は、アドレス生成器63とアドレス保持レジスタ64と故障診断終了アドレスレジスタ65と故障診断イネーブル生成器66と出力データ保持レジスタ67と出力データ保持レジスタ68と比較値生成器69と結果比較器71とを備えている。
アドレス生成器63は、カウンタから形成されている。アドレス生成器63は、RAM62のメモリセルに割り当てられている複数のアドレスを順番に1つずつ1クロックサイクル毎に生成する。すなわち、アドレス生成器63は、1クロックサイクル前に出力されたアドレスの次のアドレスを出力する。
アドレス保持レジスタ64は、各アドレスビット毎に3段のシフトレジスタにより構成されている。アドレス保持レジスタ64は、アドレス生成器63から出力されるアドレスを3クロックサイクルだけ保持できる構造となっている。アドレス保持レジスタ64は、常に2クロックサイクル分の値を保持し、アドレス更新イネーブル信号72がイネーブルを示すクロックサイクルの次のクロックサイクルにのみ、3クロックサイクル前にアドレス生成器63から出力されたアドレスを、更新して保持する。
故障診断終了アドレスレジスタ65は、故障診断終了時に、アドレス保持レジスタ64から出力されるアドレスを読み込み、記録する。故障診断終了アドレスレジスタ65は、半導体チップの外部に接続される経路73を備えている。故障診断終了アドレスレジスタ65は、経路73を介して、保持しているアドレスを半導体チップの外部に出力する。経路73は、さらに、故障診断終了アドレスレジスタ65のシフト出力を故障診断終了アドレスレジスタ65のシフト入力に戻している。このとき、故障診断終了アドレスレジスタ65は、保持されたアドレスがシフトして読み出されたときに、その読み出しが開始される前の状態に戻り、そのアドレスはそのまま保持される。このため、故障診断終了アドレスレジスタ65は、保持した値を集積回路の外部にシフト出力した後にその値をそのまま保持するときに、その値と同じ値を再度外部から与えて保持させ直させる必要がなく、好ましい。
故障診断イネーブル生成器66は、アドレス生成器63から出力されるアドレスが故障診断終了アドレスレジスタ65に保持されるアドレスより順番が早いかどうかを判別する。故障診断イネーブル生成器66は、故障診断終了アドレスレジスタ65に保持されるアドレスがアドレス生成器63から出力されるアドレスより順番が遅いクロックサイクルの次のクロックサイクルに、イネーブルを示す故障診断イネーブル信号74を結果比較器71に出力する。故障診断イネーブル生成器66は、故障診断終了アドレスレジスタ65に保持されるアドレスがアドレス生成器63から出力されるアドレスより順番が遅くないクロックサイクルの次のクロックサイクルに、ディスイネーブルを示す故障診断イネーブル信号74を結果比較器71に出力する。
出力データ保持レジスタ67は、RAM62から出力される出力データを1クロックサイクルだけ保持して出力データ保持レジスタ68と結果比較器71とに出力する。すなわち、出力データ保持レジスタ67は、1クロックサイクル前にRAM62から出力された出力データを出力データ保持レジスタ68と結果比較器71とに出力する。
出力データ保持レジスタ68は、半導体チップの外部に接続される経路75を備えている。出力データ保持レジスタ68は、経路75を介して、記録されているアドレスを半導体チップの外部に出力する。出力データ保持レジスタ68は、アドレス更新イネーブル信号72がイネーブルを示すクロックサイクルの次のクロックサイクルに、1クロックサイクル前に出力データ保持レジスタ67から出力された出力データを保持する。出力データ保持レジスタ68は、アドレス更新イネーブル信号72がディスイネーブルを示すクロックサイクルの次のクロックサイクルに、1クロックサイクル前に保持していた出力データをそのまま保持する。
比較値生成器69は、RAM62のアドレス生成器63から3クロックサイクル前に出力されたアドレスに記録されたデータを示す期待値を結果比較器71に出力する。
結果比較器71は、故障診断イネーブル信号74がディスイネーブルを示すときに、ディスイネーブルを示すアドレス更新イネーブル信号72を出力する。結果比較器71は、さらに、出力データ保持レジスタ67から出力された出力データが比較値生成器69から出力された期待値に一致しているかどうかを判別する。結果比較器71は、故障診断イネーブル信号74がイネーブルを示し、かつ、その出力データがその期待値に一致するクロックサイクルの次のクロックサイクルに、ディスイネーブルを示すアドレス更新イネーブル信号72を出力する。結果比較器71は、故障診断イネーブル信号74がイネーブルを示し、かつ、その出力データがその期待値に一致していないクロックサイクルの次のクロックサイクルに、イネーブルを示すアドレス更新イネーブル信号72を出力する。図6の回路では、アドレス更新イネーブル信号71の値は、イネーブルが1で、ディスイネーブルが0である。
故障診断回路61を用いてRAM62を検査する故障診断方法は、RAM62にデータを書き込む動作と、初回のテストの動作と、2回目以降のテストの動作とから形成されている。そのRAM62にデータを書き込む動作では、RAM62の偶数アドレスに値0が書き込まれ、奇数アドレスに値F(10進法の15を示す値)が書き込まれる。この書き込みは、供給されるクロック信号に同期して連続して実行される。
その初回のテストの動作は、そのRAM62にデータを書き込む動作が実行された後に実行される。その初回のテストの動作では、まず、故障診断終了アドレスレジスタ65に最高アドレス値よりも大きい値8を保持させた後に、クロック信号が故障診断回路61とRAM62とに継続して供給される。RAM62のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、故障診断終了アドレスレジスタ65に保持されているアドレスが読み出され、出力データ保持レジスタ68に保持されている出力データが読み出される。このように読み出されたアドレスは、RAM62の異常なアドレスのうちの順番が最も遅いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。
その2回目以降のテストの動作は、その初回のテストの動作が実行された後に実行される。その2回目以降のテストの動作では、故障診断終了アドレスレジスタ65に、前回の最終エラーアドレスが設定されており、クロック信号が故障診断回路61とRAM62とに継続して供給される。RAM62のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、故障診断終了アドレスレジスタ65に保持されているアドレスが読み出され、出力データ保持レジスタ68に保持されている出力データが読み出される。このような2回目以降のテストの動作は、故障診断終了アドレスレジスタ65から新規のアドレスが読み出されなくなるまで、繰り返して実行される。このように読み出されたアドレスは、RAM62の異常なアドレスのうちの前回に読み出されたアドレスの次に順番が遅いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。
図7は、RAM62がアドレス2で間違った値8が出力され、アドレス4で間違った値3が出力されるときに、初回のテストの動作で各回路により出力される信号の変化を示している。
故障診断終了アドレスレジスタ65は、値8を1クロックサイクル目に保持している。このように、初回に故障診断終了アドレスレジスタ65に値8を設定しておくことによれば、テストが最終アドレスで終了しないで、すべてのアドレスを検査することができる。アドレス生成器63は、値0を1クロックサイクル目に出力する。故障診断イネーブル生成器66は、故障診断終了アドレスレジスタ65から出力される値8がアドレス保持レジスタ64から出力される値より順番が常に早いことにより、イネーブルを示す故障診断イネーブル信号74を1クロックサイクル目以降に継続して出力している。結果比較器71は、ディスイネーブルを示すアドレス更新イネーブル信号72を1クロックサイクル目に出力する。
アドレス生成器63は、1クロックサイクル目に出力された値0の次の値1を2クロックサイクル目に出力する。結果比較器71は、ディスイネーブルを示すアドレス更新イネーブル信号72を2クロックサイクル目に出力する。RAM62は、アドレス生成器63から1クロックサイクル目に出力される値0のアドレスに記録される値0を2クロックサイクル目に出力する。
アドレス生成器63は、2クロックサイクル目に出力された値1の次の値2を3クロックサイクル目に出力する。出力データ保持レジスタ67は、RAM62から2クロックサイクル目に出力される値0を3クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から1クロックサイクル目に出力される値0のアドレスでRAM62に書き込まれた値0を3クロックサイクル目に出力する。結果比較器71は、ディスイネーブルを示すアドレス更新イネーブル信号72を3クロックサイクル目に出力する。RAM62は、アドレス生成器63から2クロックサイクル目に出力される値のアドレスに記録される値を3クロックサイクル目に出力する。
アドレス生成器63は、3クロックサイクル目に出力された値2の次の値3を4クロックサイクル目に出力する。出力データ保持レジスタ67は、RAM62から3クロックサイクル目に出力される値Fを4クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から2クロックサイクル目に出力される値1のアドレスでRAM62に書き込まれた値Fを4クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から3クロックサイクル目に出力される値0が比較生成器69から3クロックサイクル目に出力される値0に一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を4クロックサイクル目に出力する。RAM62は、アドレス生成器63から3クロックサイクル目に出力される値2であることにより、間違った値8を4クロックサイクル目に出力する。
アドレス生成器63は、4クロックサイクル目に出力された値3の次の値4を5クロックサイクル目に出力する。出力データ保持レジスタ67は、RAM62から4クロックサイクル目に出力される値8を5クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から3クロックサイクル目に出力される値2のアドレスでRAM62に書き込まれた値0を5クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から4クロックサイクル目に出力される値Fが比較生成器69から4クロックサイクル目に出力される値Fに一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を5クロックサイクル目に出力する。RAM62は、アドレス生成器63から4クロックサイクル目に出力される値3のアドレスに記録された値Fを5クロックサイクル目に出力する。
アドレス生成器63は、5クロックサイクル目に出力された値4の次の値5を6クロックサイクル目に出力する。出力データ保持レジスタ67は、RAM62から5クロックサイクル目に出力される値Fを6クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から4クロックサイクル目に出力される値3のアドレスでRAM62に書き込まれた値Fを6クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から5クロックサイクル目に出力される値8が比較生成器69から5クロックサイクル目に出力される値0に一致していないことにより、イネーブルを示すアドレス更新イネーブル信号72を6クロックサイクル目に出力する。RAM62は、アドレス生成器63から値4が5クロックサイクル目に出力されることにより、間違った値3を6クロックサイクル目に出力する。
アドレス生成器63は、6クロックサイクル目に出力された値5の次の値6を7クロックサイクル目に出力する。アドレス保持レジスタ64は、アドレス更新イネーブル信号72が6クロックサイクル目にイネーブルを示すことにより、アドレス生成器63から3クロックサイクル目に出力された値2を7クロックサイクル目に保持する。出力データ保持レジスタ67は、RAM62から6クロックサイクル目に出力される値3を7クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から5クロックサイクル目に出力される値4のアドレスでRAM62に書き込まれた値0を7クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から6クロックサイクル目に出力される値Fが比較生成器69から6クロックサイクル目に出力される値Fに一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を7クロックサイクル目に出力する。出力データ保持レジスタ68は、アドレス更新イネーブル信号72が6クロックサイクル目にイネーブルを示すことにより、出力データ保持レジスタ67から5クロックサイクル目に出力された値8を7クロックサイクル目に保持する。RAM62は、アドレス生成器63から6クロックサイクル目に出力される値5のアドレスに記録された値Fを7クロックサイクル目に出力する。
アドレス生成器63は、7クロックサイクル目に出力された値6の次の値7を8クロックサイクル目に出力し、その値7の次の値がないことにより、値7を8クロックサイクル目以降に継続して出力する。出力データ保持レジスタ67は、RAM62から7クロックサイクル目に出力される値Fを8クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から6クロックサイクル目に出力される値5のアドレスでRAM62に書き込まれた値Fを8クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から7クロックサイクル目に出力される値3が比較生成器69から7クロックサイクル目に出力される値0に一致していないことにより、イネーブルを示すアドレス更新イネーブル信号72を8クロックサイクル目に出力する。RAM62は、アドレス生成器63から7クロックサイクル目に出力される値6のアドレスに記録された値0を8クロックサイクル目に出力する。
アドレス保持レジスタ64は、アドレス更新イネーブル信号72が8クロックサイクル目にイネーブルを示すことにより、アドレス生成器63から5クロックサイクル目に出力された値4を9クロックサイクル目に保持する。出力データ保持レジスタ67は、RAM62から8クロックサイクル目に出力される値0を9クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から7クロックサイクル目に出力される値6のアドレスでRAM62に書き込まれた値0を9クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から8クロックサイクル目に出力される値Fが比較生成器29から8クロックサイクル目に出力される値Fに一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を9クロックサイクル目に出力する。出力データ保持レジスタ68は、アドレス更新イネーブル信号72が8クロックサイクル目にイネーブルを示すことにより、出力データ保持レジスタ67から7クロックサイクル目に出力された値3を9クロックサイクル目に保持する。RAM62は、アドレス生成器63から8クロックサイクル目に出力される値7のアドレスに記録された値Fを9クロックサイクル目に出力する。
出力データ保持レジスタ67は、RAM62から9クロックサイクル目に出力される値Fを10クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から8クロックサイクル目に出力される値7のアドレスでRAM62に書き込まれた値Fを10クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から9クロックサイクル目に出力される値0が比較生成器69から9クロックサイクル目に出力される値0に一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を10クロックサイクル目に出力する。
結果比較器71は、出力データ保持レジスタ67から10クロックサイクル目に出力される値Fが比較生成器69から10クロックサイクル目に出力される値Fに一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を11クロックサイクル目に出力する。
故障診断終了アドレスレジスタ65は、RAM22から出力される出力データの比較がすべて完了したクロックサイクル(たとえば、13クロックサイクル目)にアドレス保持レジスタ64に保持されている値4を保持する。
図8は、RAM62がアドレス2で間違った値8が出力され、アドレス4で間違った値3が出力される場合で、初回のテストでアドレス4が検出されたときに、2回目のテストの動作で各回路により出力される信号の変化を示している。
故障診断終了アドレスレジスタ65は、値4を1クロックサイクル目に保持している。アドレス生成器63は、値0を1クロックサイクル目に出力する。故障診断イネーブル生成器66は、イネーブルを示す故障診断イネーブル信号74を1クロックサイクル目に出力する。結果比較器71は、ディスイネーブルを示すアドレス更新イネーブル信号72を1クロックサイクル目に出力する。
アドレス生成器63は、1クロックサイクル目に出力された値0の次の値1を2クロックサイクル目に出力する。故障診断イネーブル生成器66は、故障診断終了アドレスレジスタ65に1クロックサイクル目に保持する値4がアドレス生成器63から1クロックサイクル目に出力される値0より順番が遅いことにより、イネーブルを示す故障診断イネーブル信号74を2クロックサイクル目に出力する。結果比較器71は、ディスイネーブルを示すアドレス更新イネーブル信号72を2クロックサイクル目に出力する。RAM62は、アドレス生成器63から1クロックサイクル目に出力される値0のアドレスに記録される値0を2クロックサイクル目に出力する。
アドレス生成器63は、2クロックサイクル目に出力された値1の次の値2を3クロックサイクル目に出力する。故障診断イネーブル生成器66は、故障診断終了アドレスレジスタ65に2クロックサイクル目に保持する値4がアドレス生成器63から2クロックサイクル目に出力される値1より順番が遅いことにより、イネーブルを示す故障診断イネーブル信号74を3クロックサイクル目に出力する。イネーブルを示す故障診断イネーブル信号74を3クロックサイクル目に出力する。出力データ保持レジスタ67は、RAM62から2クロックサイクル目に出力される値0を3クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から1クロックサイクル目に出力される値0のアドレスでRAM62に書き込まれた値0を3クロックサイクル目に出力する。結果比較器71は、ディスイネーブルを示すアドレス更新イネーブル信号72を3クロックサイクル目に出力する。RAM62は、アドレス生成器63から2クロックサイクル目に出力される値のアドレスに記録される値を3クロックサイクル目に出力する。
アドレス生成器63は、3クロックサイクル目に出力された値2の次の値3を4クロックサイクル目に出力する。故障診断イネーブル生成器66は、故障診断終了アドレスレジスタ65に3クロックサイクル目に保持する値4がアドレス生成器63から3クロックサイクル目に出力される値2より順番が遅いことにより、イネーブルを示す故障診断イネーブル信号74を4クロックサイクル目に出力する。出力データ保持レジスタ67は、RAM62から3クロックサイクル目に出力される値Fを4クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から2クロックサイクル目に出力される値1のアドレスでRAM62に書き込まれた値Fを4クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から3クロックサイクル目に出力される値0が比較生成器69から3クロックサイクル目に出力される値0に一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を4クロックサイクル目に出力する。RAM62は、アドレス生成器63から3クロックサイクル目に出力される値2であることにより、間違った値8を4クロックサイクル目に出力する。
アドレス生成器63は、4クロックサイクル目に出力された値3の次の値4を5クロックサイクル目に出力する。故障診断イネーブル生成器66は、故障診断終了アドレスレジスタ65に4クロックサイクル目に保持する値4がアドレス生成器63から4クロックサイクル目に出力される値3より順番が遅いことにより、イネーブルを示す故障診断イネーブル信号74を5クロックサイクル目に出力する。出力データ保持レジスタ67は、RAM62から4クロックサイクル目に出力される値8を5クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から3クロックサイクル目に出力される値2のアドレスでRAM62に書き込まれた値0を5クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から4クロックサイクル目に出力される値Fが比較生成器69から4クロックサイクル目に出力される値Fに一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を5クロックサイクル目に出力する。RAM62は、アドレス生成器63から4クロックサイクル目に出力される値3のアドレスに記録された値Fを5クロックサイクル目に出力する。
アドレス生成器63は、5クロックサイクル目に出力された値4の次の値5を6クロックサイクル目に出力する。故障診断イネーブル生成器66は、故障診断終了アドレスレジスタ65に5クロックサイクル目に保持する値4がアドレス生成器63から5クロックサイクル目に出力される値4より順番が遅くないことにより、ディスイネーブルを示す故障診断イネーブル信号74を6クロックサイクル目に出力する。故障診断イネーブル生成器66は、さらに、故障診断終了アドレスレジスタ65に保持する値4がアドレス生成器63から5クロックサイクル目以降に出力される値より順番が遅くならないことにより、ディスイネーブルを示す故障診断イネーブル信号74を6クロックサイクル目以降に継続して出力する。出力データ保持レジスタ67は、RAM62から5クロックサイクル目に出力される値Fを6クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から4クロックサイクル目に出力される値3のアドレスでRAM62に書き込まれた値Fを6クロックサイクル目に出力する。結果比較器71は、故障診断イネーブル信号74がクロックサイクル目にイネーブルを示し、かつ、出力データ保持レジスタ67から5クロックサイクル目に出力される値8が比較生成器69から5クロックサイクル目に出力される値0に一致していないことにより、イネーブルを示すアドレス更新イネーブル信号72を6クロックサイクル目に出力する。RAM62は、アドレス生成器63から値4が5クロックサイクル目に出力されることにより、間違った値3を6クロックサイクル目に出力する。
アドレス生成器63は、6クロックサイクル目に出力された値5の次の値6を7クロックサイクル目に出力する。アドレス保持レジスタ64は、アドレス更新イネーブル信号72が6クロックサイクル目にイネーブルを示すことにより、アドレス生成器63から3クロックサイクル目に出力された値2を7クロックサイクル目に保持する。出力データ保持レジスタ67は、RAM62から6クロックサイクル目に出力される値3を7クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から5クロックサイクル目に出力される値4のアドレスでRAM62に書き込まれた値0を7クロックサイクル目に出力する。結果比較器71は、出力データ保持レジスタ67から6クロックサイクル目に出力される値Fが比較生成器69から6クロックサイクル目に出力される値Fに一致していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を7クロックサイクル目に出力する。出力データ保持レジスタ68は、アドレス更新イネーブル信号72が6クロックサイクル目にイネーブルを示すことにより、出力データ保持レジスタ67から5クロックサイクル目に出力された値8を7クロックサイクル目に保持する。RAM62は、アドレス生成器63から6クロックサイクル目に出力される値5のアドレスに記録された値Fを7クロックサイクル目に出力する。
アドレス生成器63は、7クロックサイクル目に出力された値6の次の値7を8クロックサイクル目に出力し、その値7の次の値がないことにより、値7を8クロックサイクル目以降に継続して出力する。出力データ保持レジスタ67は、RAM62から7クロックサイクル目に出力される値Fを8クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から6クロックサイクル目に出力される値5のアドレスでRAM62に書き込まれた値Fを8クロックサイクル目に出力する。結果比較器71は、故障診断イネーブル信号74が6クロックサイクル目以降にディスイネーブルを示していることにより、ディスイネーブルを示すアドレス更新イネーブル信号72を8クロックサイクル目以降に継続して出力する。RAM62は、アドレス生成器63から7クロックサイクル目に出力される値6のアドレスに記録された値0を8クロックサイクル目に出力する。
出力データ保持レジスタ67は、RAM62から8クロックサイクル目に出力される値0を9クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から7クロックサイクル目に出力される値6のアドレスでRAM62に書き込まれた値0を9クロックサイクル目に出力する。RAM62は、アドレス生成器63から8クロックサイクル目に出力される値7のアドレスに記録された値Fを9クロックサイクル目に出力する。
出力データ保持レジスタ67は、RAM62から9クロックサイクル目に出力される値Fを10クロックサイクル目に出力する。比較値生成器69は、アドレス生成器63から8クロックサイクル目に出力される値7のアドレスでRAM62に書き込まれた値Fを10クロックサイクル目に出力する。
故障診断終了アドレスレジスタ65は、RAM22から出力される出力データの比較がすべて完了したクロックサイクル(たとえば、13クロックサイクル目)にアドレス保持レジスタ64に保持されている値2を保持する。
このように、不良アドレスと不良データを保持するレジスタが1アドレス分しかなくとも、テストを繰り返して行なうことにより、全不良データの採取が可能となる。さらに、このような故障診断方法によれば、RAMのアクセス時間がテストの周波数と同程度の場合であっても、遅延のテストを含めたRAMのテストを行うことができる。
図9は、本発明による故障診断方法を実行する故障診断回路の実施の形態を示している。その故障診断回路81は、RAM82とともに1つの半導体チップに搭載されている。RAM82は、故障診断回路81を用いて検査される検査対象であり、複数のアドレスにより互いに識別される複数のメモリセルを備えている。本実施の形態では、RAM82は、アドレスが0から7までの8つのアドレスを保有し、このとき、そのアドレスは、3ビットにより表現されるものとする。RAM82は、書き込み状態でアドレスとデータとが入力されたときに、そのデータをそのアドレスに割り当てられているメモリセルに格納する。RAM82は、読み出し状態でアドレスが入力されたときに、そのアドレスに割り当てられているメモリセルに格納されているデータを出力する。RAM82は、供給されるクロックの立ち上がりのエッジに同期して動作し、そのアドレスが入力されるクロックサイクルの次のクロックサイクルにそのデータを出力する。
故障診断回路81は、アドレス生成器83とアドレス保持レジスタ84と出力データ保持レジスタ85と比較値生成器86と結果比較器87とを備えている。
アドレス生成器83は、カウンタから形成されている。アドレス生成器83は、RAM82のメモリセルに割り当てられている複数のアドレスを順番に1つずつ1クロックサイクル毎に生成する。すなわち、アドレス生成器83は、1クロックサイクル前に出力されたアドレスの次のアドレスを出力する。
アドレス保持レジスタ84は、結果比較器87から出力される保持データ更新イネーブル信号88がイネーブルを示すときに、アドレス生成器83から出力されたアドレスを保持する。アドレス保持レジスタ84は、保持データ更新イネーブル信号88がディスイネーブルを示すときに、1クロックサイクル前に保持していたアドレスをそのまま保持する。アドレス保持レジスタ84は、半導体チップの外部に接続される経路91を備えている。アドレス保持レジスタ84は、経路91を介して、保持しているアドレスを半導体チップの外部に出力する。
出力データ保持レジスタ85は、保持データ更新イネーブル信号88がイネーブルを示すときに、RAM82から出力された出力データを保持する。出力データ保持レジスタ85は、保持データ更新イネーブル信号88がディスイネーブルを示すときに、1クロックサイクル前に保持していた出力データをそのまま保持する。出力データ保持レジスタ85は、半導体チップの外部に接続される経路9を備えている。出力データ保持レジスタ85は、経路9を介して、記録されているアドレスを半導体チップの外部に出力する。
比較値生成器86は、RAM82のアドレス生成器83から出力されたアドレスに記録されたデータを示す期待値を結果比較器87に出力する。
結果比較器87は、RAM82から出力された出力データが比較値生成器86から出力された期待値に一致しているかどうかを判別する。すなわち、結果比較器87は、その出力データがその期待値に一致するときに、ディスイネーブルを示す保持データ更新イネーブル信号88を出力する。結果比較器87は、その出力データがその期待値に一致していないときに、イネーブルを示す保持データ更新イネーブル信号88を出力する。
故障診断回路81を用いてRAM82を検査する故障診断方法は、RAM82にデータを書き込む動作と、初回のテストの動作と、2回目以降のテストの動作とから形成されている。そのRAM82にデータを書き込む動作では、RAM82の偶数アドレスに値0が書き込まれ、奇数アドレスに値F(10進法の15を示す値)が書き込まれる。
その初回のテストの動作は、そのRAM82にデータを書き込む動作が実行された後に実行される。その初回のテストの動作では、まず、アドレス保持レジスタ84に値8を保持させた後に、クロック信号が故障診断回路81とRAM82とに継続して供給される。RAM82のすべてのアドレスが検査するのに十分なクロック信号が供給された後に、アドレス保持レジスタ84に保持されているアドレスが読み出され、出力データ保持レジスタ85に保持されている出力データが読み出される。このように読み出されたアドレスは、RAM82の異常なアドレスのうちの順番が最も遅いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。
その2回目以降のテストの動作は、その初回のテストの動作が実行された後に実行される。その2回目以降のテストの動作では、まず、RAM82の最初のアドレスから前回に読み出されたアドレスの前までの範囲だけがテストされるクロックサイクル数が算出される。その算出されたクロックサイクル数のクロック信号が故障診断回路81とRAM82とに供給される。そのクロック信号が供給された後に、アドレス保持レジスタ84に保持されているアドレスが読み出され、出力データ保持レジスタ85に保持されている出力データが読み出される。このように読み出されたアドレスは、RAM82の異常なアドレスのうちの前回に読み出されたアドレスの次に順番が遅いアドレスを示している。このように読み出された出力データは、その読み出されたアドレスから読み出されるデータを示している。このような2回目以降のテストの動作は、アドレス保持レジスタ84から新規のアドレスが読み出されなくなるまで、繰り返して実行される。このような繰り返しにより、異常なアドレス全ての故障情報を得ることができる。
このような故障診断方法によれば、故障診断回路81は、故障診断結果を有効とする範囲を記録する故障診断開始アドレスレジスタを持つ必要がなく、回路オーバーヘッドを削減することが可能となり、好ましい。
図1は、本発明による故障診断回路の実施の形態を示すブロック図である。 図2は、本発明による故障診断回路の実施の他の形態を示すブロック図である。 図3は、初回のテストの動作で各回路により出力される信号の変化を示すタイムチャートである。 図4は、2回目以降のテストの動作で各回路により出力される信号の変化を示すタイムチャートである。 図5は、本発明による故障診断回路の実施のさらに他の形態を示すブロック図である。 図6は、本発明による故障診断回路の実施のさらに他の形態を示すブロック図である。 図7は、初回のテストの動作で各回路により出力される信号の変化を示すタイムチャートである。 図8は、2回目以降のテストの動作で各回路により出力される信号の変化を示すタイムチャートである。 図9は、本発明による故障診断方法を実行する故障診断回路の実施の形態を示すブロック図である。 図10は、公知の故障診断回路の実施の形態を示すブロック図である。
符号の説明
1 :故障診断回路
2 :RAM
3 :アドレス生成器
5 :故障診断開始アドレスレジスタ
6 :故障診断イネーブル生成器
7 :出力データ保持レジスタ
8 :比較値生成器
10:結果比較器
11:アドレス更新イネーブル信号
12:経路
14:経路
15:故障診断イネーブル信号
21:故障診断回路
22:RAM
23:アドレス生成器
24:アドレス保持レジスタ
25:故障診断開始アドレスレジスタ
26:故障診断イネーブル生成器
27:出力データ保持レジスタ
28:出力データ保持レジスタ
29:比較値生成器
31:結果比較器
32:アドレス更新イネーブル信号
33:経路
34:初回テスト識別信号
35:経路
36:故障診断イネーブル信号
41:故障診断回路
42:RAM
43:アドレス生成器
44:アドレス保持レジスタ
45:故障診断終了アドレスレジスタ
46:故障診断イネーブル生成器
47:出力データ保持レジスタ
48:比較値生成器
49:結果比較器
51:アドレス更新イネーブル信号
52:経路
53:経路
54:故障診断イネーブル信号
61:故障診断回路
62:RAM
63:アドレス生成器
64:アドレス保持レジスタ
65:故障診断終了アドレスレジスタ
66:故障診断イネーブル生成器
67:出力データ保持レジスタ
68:出力データ保持レジスタ
69:比較値生成器
71:結果比較器
72:アドレス更新イネーブル信号
73:経路
74:故障診断イネーブル信号
75:経路
81:故障診断回路
82:RAM
83:アドレス生成器
84:アドレス保持レジスタ
85:出力データ保持レジスタ
86:比較値生成器
87:結果比較器
88:保持データ更新イネーブル信号
91:経路
92:経路
100:故障診断回路
102:RAM
103:アドレス生成器
104:比較値生成器
105:結果比較器
106:比較結果レジスタ
107:アドレス更新イネーブル信号
108:経路

Claims (10)

  1. アドレスを出力するアドレス生成器と、
    故障診断開始アドレスを保持する故障診断開始アドレスレジスタと、
    前記故障診断開始アドレスに基づいて算出される範囲に前記アドレスが属するかどうかを判別する故障診断イネーブル生成器と、
    前記アドレスに応答してメモリから出力される出力データが予め前記アドレスに対応付けて前記メモリに記録させた期待値に一致するかどうかを判別する結果比較器とを具備し、
    前記アドレス生成器は、前記範囲に前記アドレスが属し、かつ、前記出力データが前記期待値に一致しないときに、前記アドレスの更新を停止し、
    前記故障診断開始アドレスレジスタは、前記アドレス生成器が前記更新を停止したときのアドレスを外部から読み出し可能に設定する経路を有する
    故障診断回路。
  2. アドレスを出力するアドレス生成器と、
    故障診断開始アドレスを保持する故障診断開始アドレスレジスタと、
    アドレス保持レジスタと、
    前記故障診断開始アドレスレジスタに基づいて算出される範囲に前記アドレスが属するかどうかを判別する故障診断イネーブル生成器と、
    前記アドレスに応答してメモリから出力される出力データが予め前記アドレスに対応付けて前記メモリに記録させた期待値に一致するかどうかを判別する結果比較器とを具備し、
    前記故障診断開始アドレスレジスタは、前記アドレス保持レジスタが保持するアドレスを外部から読み出し可能に設定する経路を有し、
    前記アドレス保持レジスタは、前記範囲に前記アドレスが属し、かつ、前記出力データが前記期待値に一致しないときに、前記アドレスを保持する
    故障診断回路。
  3. アドレスを出力するアドレス生成器と、
    故障診断終了アドレスを保持する故障診断終了アドレスレジスタと、
    故障アドレスを保持するアドレス保持レジスタと、
    前記故障診断終了アドレスレジスタに基づいて算出される範囲に前記アドレスが属するかどうかを判別する故障診断イネーブル生成器と、
    前記アドレスに応答してメモリから出力される出力データが予め前記アドレスに対応付けて前記メモリに記録させた期待値に一致するかどうかを判別する結果比較器とを具備し、
    前記故障診断終了アドレスレジスタは、前記アドレス保持レジスタが保持するアドレスを外部から読み出し可能に設定する経路を有し、
    前記アドレス保持レジスタは、前記範囲に前記アドレスが属し、かつ、前記出力データが前記期待値に一致しないときに、前記故障診断終了アドレスを前記アドレスに更新する
    故障診断回路。
  4. 請求項1〜請求項3のいずれかにおいて、
    前記範囲に前記アドレスが属し、かつ、前記出力データが前記期待値に一致しないときに、前記出力データを外部から読み出し可能に記録する出力データ保持レジスタ
    を更に具備する故障診断回路。
  5. 請求項1〜請求項のいずれかにおいて、
    前記故障診断イネーブル生成器は、初回または2回目以降のいずれかを示す信号が外部から入力され、
    前記範囲は、前記信号が前記初回を示すときに、前記メモリに用いられる全てのアドレスを示す
    故障診断回路。
  6. 請求項1〜請求項5のいずれかに記載の故障診断回路と、
    前記メモリ
    とを搭載する半導体チップ。
  7. アドレスを生成するアドレス生成器と、
    前記アドレスに応答してメモリから出力される出力データが予め前記アドレスに対応付けて前記メモリに記録させた期待値に一致するかどうかを判別する結果比較器と、
    故障診断開始アドレスを保持する故障診断開始アドレスレジスタ
    とを備える故障診断回路を用いて前記メモリを検査する故障診断方法であり、
    前記メモリに用いられるアドレスを順番に前記アドレス生成器に生成させるステップと、
    前記アドレスのうちの最初のアドレスから前記故障診断開始アドレスに至るまでの間は、故障診断結果を無効とし、前記故障診断開始アドレスに至った後で最初に検出された故障アドレスを記録するステップと、
    前記故障アドレスを前記故障診断開始アドレスレジスタへ記録させるステップ
    とを具備する故障診断方法。
  8. アドレスを生成するアドレス生成器と、
    前記アドレスに応答してメモリから出力される出力データが予め前記アドレスに対応付けて前記メモリに記録させた期待値に一致するかどうかを判別する結果比較器と、
    前記出力データが前記期待値に一致しないときに、予め記録されたデータを破棄して前記アドレスを外部から読み出し可能に記録する故障アドレスレジスタ
    とを備える故障診断回路を用いて前記メモリを検査する故障診断方法であり、
    前記メモリに用いられる全てのアドレスを順番に前記アドレス生成器に生成させるステップと、
    前記全てのアドレスのうちの最初のアドレスから以前のテストにおいて前記故障アドレスレジスタから読み出された故障アドレスの1つ前のアドレスまで順番に前記アドレス生成器に生成させるステップ
    とを具備する故障診断方法。
  9. 請求項7または請求項8のいずれかにおいて、
    前記アドレス生成器は、クロック信号により制御される
    故障診断方法。
  10. メモリに書き込まれた期待値と前記メモリから読み出されたデータとを比較して故障を検出する結果比較器と、
    前記結果比較器により前記故障が検出された前記メモリのアドレスを記録する故障診断開始アドレスレジスタと、
    故障検出後、次にテストする際に前記故障診断開始アドレスレジスタに記録されたアドレスまでは故障を検出せず、当該アドレスを越えてから故障検出を行うように、前記結果比較器を制御する故障診断イネーブル生成器
    とを有することを特徴とする故障診断回路。
JP2004150293A 2004-05-20 2004-05-20 故障診断回路及び故障診断方法 Expired - Lifetime JP4514028B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004150293A JP4514028B2 (ja) 2004-05-20 2004-05-20 故障診断回路及び故障診断方法
US11/131,229 US7562256B2 (en) 2004-05-20 2005-05-18 Semiconductor memory device for build-in fault diagnosis
CNB2005100728255A CN100479067C (zh) 2004-05-20 2005-05-20 用于内置错误诊断的半导体存储器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004150293A JP4514028B2 (ja) 2004-05-20 2004-05-20 故障診断回路及び故障診断方法

Publications (2)

Publication Number Publication Date
JP2005332492A JP2005332492A (ja) 2005-12-02
JP4514028B2 true JP4514028B2 (ja) 2010-07-28

Family

ID=35376638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004150293A Expired - Lifetime JP4514028B2 (ja) 2004-05-20 2004-05-20 故障診断回路及び故障診断方法

Country Status (3)

Country Link
US (1) US7562256B2 (ja)
JP (1) JP4514028B2 (ja)
CN (1) CN100479067C (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539633A (ja) * 2007-09-18 2010-12-16 メンター グラフィックス コーポレイション メモリbist環境における故障診断
WO2009062280A1 (en) * 2007-11-15 2009-05-22 Mosaid Technologies Incorporated Methods and systems for failure isolation and data recovery in a configuration of series-connected semiconductor devices
WO2010102235A1 (en) * 2009-03-05 2010-09-10 Mentor Graphics Corporation Fault diagnosis for non-volatile memories
KR20120117347A (ko) * 2011-04-15 2012-10-24 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 테스트 방법
KR20140042546A (ko) * 2012-09-28 2014-04-07 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
KR20150021785A (ko) * 2013-08-21 2015-03-03 삼성전자주식회사 반도체 메모리 테스트 방법
US9711241B2 (en) 2015-04-01 2017-07-18 Qualcomm Incorporated Method and apparatus for optimized memory test status detection and debug
US10141059B2 (en) 2016-11-30 2018-11-27 Taiwan Semiconductor Manufacturing Co., Ltd. Failure detection circuitry for address decoder for a data storage device
US10281527B2 (en) * 2017-06-16 2019-05-07 International Business Machines Corporation On-chip hardware-controlled window strobing
CN109462495A (zh) * 2018-09-30 2019-03-12 北京工业大学 一种船舶硬件与通信系统检测系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001035192A (ja) * 1999-07-19 2001-02-09 Nec Corp メモリ搭載集積回路およびそのテスト方法
JP2004086996A (ja) * 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd メモリテスト回路
JP2008016156A (ja) * 2006-07-07 2008-01-24 Toshiba Corp 半導体集積回路
JP2009026372A (ja) * 2007-07-19 2009-02-05 Toshiba Corp 半導体集積回路及びそのテストシステム
JP2009059434A (ja) * 2007-08-31 2009-03-19 Toshiba Corp 半導体集積回路

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6279379A (ja) * 1985-10-02 1987-04-11 Ando Electric Co Ltd タイミング信号発生装置
US4817093A (en) * 1987-06-18 1989-03-28 International Business Machines Corporation Method of partitioning, testing and diagnosing a VLSI multichip package and associated structure
US4871956A (en) * 1988-02-18 1989-10-03 Power Conversion Inc. Method and apparatus for cell monitoring and control
GB8923037D0 (en) * 1989-10-12 1989-11-29 Inmos Ltd Timing control for a memory
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5226150A (en) * 1990-10-01 1993-07-06 Digital Equipment Corporation Apparatus for suppressing an error report from an address for which an error has already been reported
JPH04178580A (ja) * 1990-11-14 1992-06-25 Ando Electric Co Ltd 半導体メモリの故障自己診断装置
FR2697663B1 (fr) * 1992-10-30 1995-01-13 Hewett Packard Cy Circuit de test de mémoire.
US5588115A (en) * 1993-01-29 1996-12-24 Teradyne, Inc. Redundancy analyzer for automatic memory tester
EP0637034B1 (en) * 1993-07-26 1999-01-13 STMicroelectronics S.r.l. Method for detecting faulty elements of a redundancy semiconductor memory
US5644704A (en) * 1994-11-30 1997-07-01 International Game Technology Method and apparatus for verifying the contents of a storage device
JPH0962588A (ja) * 1995-08-24 1997-03-07 Mitsubishi Electric Corp メモリテスト回路
US6014033A (en) * 1995-08-31 2000-01-11 Texas Instruments Incorporated Method of identifying the point at which an integrated circuit fails a functional test
JPH09139096A (ja) * 1995-11-14 1997-05-27 Nec Corp 論理lsiのram試験回路
TW338159B (en) * 1996-04-29 1998-08-11 Texas Instruments Inc Apparatus and method for subarray testing in dynamic random access memories using a built-in-self-test unit
JP3601913B2 (ja) * 1996-08-30 2004-12-15 株式会社東芝 メモリ解析装置及びメモリ解析方法
JP3367848B2 (ja) * 1996-12-10 2003-01-20 株式会社東芝 半導体デバイスのテスト装置
JP3090094B2 (ja) 1997-06-20 2000-09-18 日本電気株式会社 テスト回路
JP2954096B2 (ja) 1997-06-24 1999-09-27 日本電気アイシーマイコンシステム株式会社 半導体集積回路のテスト回路および方法
TW400469B (en) * 1997-07-08 2000-08-01 Winbond Electronics Corp Device capable of fixing programs in embedded microprocessor
US6253333B1 (en) * 1998-03-23 2001-06-26 International Business Machines Corporation Apparatus and method for testing programmable delays
JP2000011693A (ja) * 1998-06-26 2000-01-14 Advantest Corp データ転送装置、メモリデバイス試験装置、データ転送方法及びメモリデバイス試験方法
US6550023B1 (en) * 1998-10-19 2003-04-15 Hewlett Packard Development Company, L.P. On-the-fly memory testing and automatic generation of bitmaps
KR100305679B1 (ko) * 1999-02-24 2001-09-26 윤종용 반도체 메모리 장치의 테스터의 테스터 방법 및 그 장치
JP3538334B2 (ja) 1999-03-23 2004-06-14 沖電気工業株式会社 メモリテスト方法、メモリテスト回路及び半導体集積回路
US6137734A (en) * 1999-03-30 2000-10-24 Lsi Logic Corporation Computer memory interface having a memory controller that automatically adjusts the timing of memory interface signals
US6104650A (en) * 1999-07-09 2000-08-15 Micron Technology, Inc. Sacrifice read test mode
JP4230061B2 (ja) * 1999-07-21 2009-02-25 株式会社アドバンテスト 不良救済解析器を搭載したメモリ試験装置
US6141276A (en) * 1999-09-02 2000-10-31 Micron Technology, Inc. Apparatus and method for increasing test flexibility of a memory device
US6536005B1 (en) * 1999-10-26 2003-03-18 Teradyne, Inc. High-speed failure capture apparatus and method for automatic test equipment
US6574763B1 (en) * 1999-12-28 2003-06-03 International Business Machines Corporation Method and apparatus for semiconductor integrated circuit testing and burn-in
US6535986B1 (en) * 2000-03-14 2003-03-18 International Business Machines Corporation Optimizing performance of a clocked system by adjusting clock control settings and clock frequency
US7143321B1 (en) * 2000-04-29 2006-11-28 Hewlett-Packard Development Company, L.P. System and method for multi processor memory testing
US6604060B1 (en) * 2000-06-29 2003-08-05 Bull Hn Information Systems Inc. Method and apparatus for determining CC-NUMA intra-processor delays
DE10034878C2 (de) * 2000-07-18 2003-12-04 Infineon Technologies Ag Verfahren zum Überprüfen eines Bauelementes und Bauelement mit Testspeicher
US6643807B1 (en) * 2000-08-01 2003-11-04 International Business Machines Corporation Array-built-in-self-test (ABIST) for efficient, fast, bitmapping of large embedded arrays in manufacturing test
US6829737B1 (en) * 2000-08-30 2004-12-07 Micron Technology, Inc. Method and system for storing device test information on a semiconductor device using on-device logic for determination of test results
JP3972089B2 (ja) * 2000-11-30 2007-09-05 株式会社ルネサステクノロジ 半導体メモリのテスト用ボードおよびテスト方法並びに製造方法
US6691264B2 (en) * 2001-01-22 2004-02-10 Lsi Logic Corporation Built-in self-repair wrapper methodology, design flow and design architecture
US6904551B1 (en) * 2001-02-20 2005-06-07 Cypress Semiconductor Corporation Method and circuit for setup and hold detect pass-fail test mode
US6721216B2 (en) * 2001-03-30 2004-04-13 Intel Corporation Memory addressing structural test
DE10119144C1 (de) * 2001-04-19 2002-10-10 Infineon Technologies Ag Verfahren zum Testen von Halbleiter-Speicherbausteinen
US6760865B2 (en) * 2001-05-16 2004-07-06 Freescale Semiconductor, Inc. Multiple level built-in self-test controller and method therefor
DE10296828T5 (de) * 2001-05-16 2004-04-29 Advantest Corp. Halbleiterspeichertestgerät und Adressgenerator zur Defektanalyse
US6347056B1 (en) * 2001-05-16 2002-02-12 Motorola, Inc. Recording of result information in a built-in self-test circuit and method therefor
US6910155B2 (en) * 2001-06-25 2005-06-21 Hewlett-Packard Development Company, L.P. System and method for chip testing
DE10134654A1 (de) * 2001-07-20 2003-02-13 Infineon Technologies Ag Verfahren zur Fehleranalyse von Speichermodulen
US6901542B2 (en) * 2001-08-09 2005-05-31 International Business Machines Corporation Internal cache for on chip test data storage
DE10154812B4 (de) * 2001-11-08 2010-04-15 Qimonda Ag Schaltung zum Einstellen einer Signallaufzeit eines Signals auf einer Signalleitung
EP1343173A1 (en) * 2002-03-04 2003-09-10 iRoC Technologies Prgrammable test for memories
US6968479B2 (en) * 2002-03-06 2005-11-22 Hewlett-Packard Development Company, L.P. Verifying data in a data storage device
JP2003346500A (ja) * 2002-05-29 2003-12-05 Hitachi Ltd 半導体集積回路及びそのテスト方法
US7107501B2 (en) * 2002-05-31 2006-09-12 Infineon Technologies Ag Test device, test system and method for testing a memory circuit
US7096393B2 (en) * 2002-12-20 2006-08-22 Sun Microsystems, Inc. Built-in self-test (BIST) of memory interconnect
US7313739B2 (en) * 2002-12-31 2007-12-25 Analog Devices, Inc. Method and apparatus for testing embedded cores
JP3866216B2 (ja) * 2003-04-10 2007-01-10 松下電器産業株式会社 半導体集積回路およびその検査方法
KR100543449B1 (ko) * 2003-04-11 2006-01-23 삼성전자주식회사 상대 어드레스 방식으로 모든 메모리 셀들의 액세스가가능하게 하는 반도체 메모리 장치
JP4241157B2 (ja) * 2003-04-16 2009-03-18 株式会社アドバンテスト 試験装置
US6959256B2 (en) * 2003-05-16 2005-10-25 Analog Devices, Inc. Universally accessible fully programmable memory built-in self-test (MBIST) system and method
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7062695B2 (en) * 2003-05-23 2006-06-13 Lsi Logic Corporation Memory implementation for handling integrated circuit fabrication faults
US7210085B2 (en) * 2003-12-02 2007-04-24 International Business Machines Corporation Method and apparatus for test and repair of marginally functional SRAM cells
US7325178B2 (en) * 2003-12-05 2008-01-29 Texas Instruments Incorporated Programmable built in self test of memory
US7197670B2 (en) * 2003-12-31 2007-03-27 Intel Corporation Methods and apparatuses for reducing infant mortality in semiconductor devices utilizing static random access memory (SRAM)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001035192A (ja) * 1999-07-19 2001-02-09 Nec Corp メモリ搭載集積回路およびそのテスト方法
JP2004086996A (ja) * 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd メモリテスト回路
JP2008016156A (ja) * 2006-07-07 2008-01-24 Toshiba Corp 半導体集積回路
JP2009026372A (ja) * 2007-07-19 2009-02-05 Toshiba Corp 半導体集積回路及びそのテストシステム
JP2009059434A (ja) * 2007-08-31 2009-03-19 Toshiba Corp 半導体集積回路

Also Published As

Publication number Publication date
US7562256B2 (en) 2009-07-14
JP2005332492A (ja) 2005-12-02
US20050262422A1 (en) 2005-11-24
CN100479067C (zh) 2009-04-15
CN1700357A (zh) 2005-11-23

Similar Documents

Publication Publication Date Title
US8032803B2 (en) Semiconductor integrated circuit and test system thereof
US7962821B2 (en) Built-in self testing circuit with fault diagnostic capability
US6550023B1 (en) On-the-fly memory testing and automatic generation of bitmaps
US7603595B2 (en) Memory test circuit and method
US8037376B2 (en) On-chip failure analysis circuit and on-chip failure analysis method
US8201037B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US7251757B2 (en) Memory testing
US20070255982A1 (en) Memory device testing system and method having real time redundancy repair analysis
US7213186B2 (en) Memory built-in self test circuit with full error mapping capability
KR100746389B1 (ko) 결함 메모리 셀의 어드레스를 저장하기 위한 메모리유닛을 갖춘 집적 반도체 메모리
US8868991B2 (en) Memory devices, testing systems and methods
JP4514028B2 (ja) 故障診断回路及び故障診断方法
US7454662B2 (en) Integrated memory having a circuit for testing the operation of the integrated memory, and method for operating the integrated memory
US20130051158A1 (en) Integrated circuit, testing apparatus for integrated circuit, and method of testing integrated circuit
JP3367848B2 (ja) 半導体デバイスのテスト装置
US6247153B1 (en) Method and apparatus for testing semiconductor memory device having a plurality of memory banks
US20120229155A1 (en) Semiconductor integrated circuit, failure diagnosis system and failure diagnosis method
JPH10144095A (ja) 半導体メモリ試験装置用不良解析メモリ
US7315479B2 (en) Redundant memory incorporating serially-connected relief information storage
JP5169597B2 (ja) 集積回路および試験方法
EP1734537A2 (en) Bitmap analysis system and method for high speed testing of a memory device
JP2004086996A (ja) メモリテスト回路
US20080082874A1 (en) FBM generation device and FBM generation method
US20050262401A1 (en) Central processing unit and micro computer
JPH09153297A (ja) 半導体記憶装置の試験方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100506

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100506

R150 Certificate of patent or registration of utility model

Ref document number: 4514028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140521

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term