(57)【要約】【課題】クロックＢＴ環境におけるデバイス試験の結果を不揮発性メモリに記録する際に、外部ＲＥＳＥＴ信号または外部電源オフと不揮発メモリへのアクセスとの競合を防ぐ。【解決手段】  不揮発性メモリ４０２を備えたデバイス４００のテスト回路であって、外部リセット制御部４１０は外部リセット信号２２２を所定の期間マスクして内部リセット信号４１４を生成し、ＣＰＵ４０１は内部リセット信号４１４に基づいて、自己試験の実行とその結果の不揮発性メモリ４０２への書き込みとを制御する。【選択図】図４
2008276894.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリを備えた半導体集積回路のテスト回路であって、
外部リセット信号を所定の期間マスクして内部リセット信号を生成する外部リセット制御部と、
前記内部リセット信号に基づいて、自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを制御する自己試験実行部と、を備えたことを特徴とするテスト回路。
【請求項２】
外部電源の投入を検出してカウント値を初期化するとともに前記外部リセット信号がオン状態となる度に前記カウント値を増加させるタイマ部を備え、
前記外部リセット制御部は、前記カウント値に基づいて前記外部リセット信号を所定の期間マスクして内部リセット信号を生成するように構成されたことを特徴とする、請求項１に記載のテスト回路。
【請求項３】
前記自己試験実行部が、外部リセット信号がマスクされている期間は自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを行い、それ以外の期間は自己試験の実行を行うのみであって前記不揮発性メモリへの書き込みは行わないように構成されたことを特徴とする、請求項１または２に記載のテスト回路。
【請求項４】
クロックバーンインテスト（以下「クロックＢＴ」という。）環境下において外部電源と外部リセット信号とを参照するように構成されるとともに不揮発性メモリを備えた半導体集積回路のテスト回路であって、
前記外部電源の投入を検出してカウント値を初期化し、前記外部リセット信号がオン状態となる度に前記カウント値を増加させて記録するとともにカウント信号として出力するタイマ部と、
前記カウント信号を入力し、前記不揮発性メモリへの書き込みが許可された特定の１または２以上のカウント（以下「所定カウント」という。）を参照して前記カウント値が前記所定カウントのいずれかと一致する場合にはオフ、一致しない場合にはオンの外部リセットマスク信号を出力するとともに前記試験を行って前記試験の結果を前記不揮発性メモリに書き込むように構成された自己試験実行部と、
前記外部リセットマスク信号を入力して記録するとともに前記外部リセットマスク信号がオンの場合は前記外部リセット信号をマスクし、オフの場合はマスクしない外部リセット制御部と、を備えたことを特徴とするテスト回路。
【請求項５】
前記タイマ部が、電源検出リセット回路を内蔵したレジスタとタイマとを備え、
前記レジスタは前記外部電源の投入を検出してリセット信号を出力するように構成され、
前記タイマは前記リセット信号を入力して前記カウント値を初期化し、前記外部リセット信号がオン状態となる度に前記カウント値を増加させて記録するように構成されたことを特徴とする、請求項４に記載のテスト回路。
【請求項６】
不揮発性メモリを備えた半導体集積回路のテスト方法であって、
外部リセット信号を所定の期間マスクして内部リセット信号を生成する外部リセット制御工程と、
前記内部リセット信号に基づいて、自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを制御する自己試験実行工程と、を含むことを特徴とするテスト方法。
【請求項７】
外部電源の投入を検出してカウント値を初期化するとともに前記外部リセット信号がオン状態となる度に前記カウント値を増加させる工程を含み、
前記外部リセット制御工程において、前記カウント値に基づいて前記外部リセット信号を所定の期間マスクして内部リセット信号を生成することを特徴とする、請求項６に記載のテスト方法。
【請求項８】
前記自己試験実行工程において、外部リセット信号がマスクされている期間は自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを行い、それ以外の期間は自己試験の実行を行うのみであって前記不揮発性メモリへの書き込みは行わないことを特徴とする、請求項６または７に記載のテスト方法。
【請求項９】
クロックバーンインテスト（以下「クロックＢＴ」という。）環境下において外部電源と外部リセット信号とを参照するように構成されるとともに不揮発性メモリを備えた半導体集積回路のテスト方法であって、
（ａ）前記外部電源の投入を検出してカウント値を初期化する工程と、
（ｂ）前記外部リセット信号がオン状態となる度に前記カウント値を増加させる工程と、
（ｃ）前記外部リセット信号をマスクする工程と、
（ｄ）前記不揮発性メモリへの書き込みが許可された特定の１または２以上のカウント（以下「所定カウント」という。）を参照して前記カウント値が前記所定カウントのいずれかと一致するか否かを判定する工程と、
（ｅ）前記判定工程（ｄ）において一致する場合は、前記試験を行うとともに前記不揮発性メモリへの書き込みを行う工程と、
（ｆ）前記判定工程（ｄ）において一致しない場合は、前記外部リセット信号のマスクを解除して、前記試験を行う工程と、
（ｇ）前記工程（ｃ）、（ｄ）および（ｅ）または（ｆ）を繰り返す工程と、
（ｈ）前記工程（ｂ）および（ｇ）を繰り返す工程と、を含むことを特徴とするテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のテスト回路およびテスト方法に関し、特に、不揮発性メモリを備えた半導体集積回路のテスト回路およびテスト方法に関する。
【背景技術】
【０００２】
半導体集積回路のテストにおいて、初期故障モードを示す不具合品を除去するために、高温のオーブン内で通電を行うバーンインテスト（Ｂｕｒｎ  ｉｎ  Ｔｅｓｔ（以下、ＢＴとする。））に基づくスクリーニングが行われている。
【０００３】
スクリーニングは、製品の初期故障率を低減させるための検査であり、品質保証の内容により、スクリーニング内容も実施されるＢＴの内容も異なる。
【０００４】
マイコンにはＢＴ時に実行されるプログラムが内蔵されており、ＢＴ装置から供給される外部リセット信号の入力に基づいてＢＴモードが選択され、ＢＴ装置から供給される外部クロック信号に基づいてＢＴが実行される。このようなＢＴは、クロックＢＴと呼ばれ、デバイス動作によるチップの活性化を目的として図１のような構成に基づいて実施される。
【０００５】
クロックＢＴを実施する際には、複雑なＢＴ装置を必要としない。すなわち、図１に示す外部電源２２０、外部クロック信号２２１および外部リセット信号２２２を供給することができる安価なクロックＢＴ装置２３０と、デバイス２１０、２１１、…、２１ｎを搭載し、これらのデバイスに外部電源２２０、外部クロック信号２２１、外部リセット信号２２２を入力することができる安価なクロックＢＴ用基板２００とを備えた装置を準備すればよい。したがって、クロックＢＴ環境を構築するための投資負担は軽くて済む。
【０００６】
また、ＢＴには、活性化以外に高温動作保証を兼ねたモニターＢＴもある。モニターＢＴは、ＢＴ時に実行されるプログラムが期待通り動作しているか否かについて、デバイスを制御およびモニター判定しながら、図２のような構成に基づいて実施される。
【０００７】
したがって、モニターＢＴを実施するためには、図２に示す外部電源３２０、外部クロック信号３２１、外部リセット信号３２２以外に、デバイス制御信号３２３を出力するとともに、デバイス出力結果３２４をモニター判定する高価なモニターＢＴ装置３３０と、デバイス３１０、３１１、…、３１ｎを独立に制御し、モニター判定が可能な複雑なモニターＢＴ用基板３００とを準備する必要がある。したがって、モニターＢＴ環境を構築するための投資負担はクロックＢＴと比較して重い。
【０００８】
特許文献１は、ウェーハから集積回路チップを切り離した後であっても、チップを識別できる手段を開示している。図３はそのような識別を可能とするためのチップのブロック図を示している。チップは、不揮発性ＩＤメモリ１１０を内蔵した集積回路１００で構成されており、機能ユニット１２０が、不揮発性メモリの書き込みおよび読み出しを制御している。機能ユニット１２０は、Ｉ／Ｏ端子１４０の信号をモード選択論理部１３０でデコードして、実行される。特許文献１において、集積回路１００自体もデバイスセルフ試験を実施することができ、その結果を不揮発性ＩＤメモリ１１０に記憶し、または、事前に記憶したテスト結果と比較することで、集積回路１００が期待通り機能しているか否かを判定することができる、ことが示されている。
【０００９】
特許文献１では、不揮発性ＩＤメモリ１１０に記憶させるデータとして、シリアル番号、ウェーハＩＤ、ロットＩＤ、日付コード、チップ履歴、試験データおよび性能情報などのデバイスの製造管理情報、デバイス試験情報なども含んでおり、これらのデータを読み出すことで、デバイスの特性が明らかになる仕組みも開示している。また、デバイスは、メモリに限定されず、搭載した回路に対して、一様にデバイスセルフ試験が可能で、その結果を不揮発性メモリチップに書き込みを行い、デバイスセルフ試験の結果を不揮発性メモリから読み出して、判定することができるものとしている。
【００１０】
【特許文献１】特開２００４−０４０１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
最近の車載系マイコンにおいて、不揮発性メモリが搭載されるようになってきている。この不揮発性メモリを利用して、クロックＢＴ環境であっても、モニターＢＴと同等の効果が得られるようにすることが望まれる。
【００１２】
例えば、クロックＢＴ環境下においてデバイスセルフ試験を行い、その結果を内蔵する不揮発性メモリに書き込み、ＢＴ後にデバイスセルフ試験の結果を読み出して判定する方法が考えられる。
【００１３】
しかし、クロックＢＴにおいては、デバイスを活性化させるための定期的な外部リセットが発生するとともに、一定時間経過後にはクロックＢＴ装置の電源オフによって終了するため、不揮発性メモリの消去中もしくは書き込み中の処理が中断されることがあり、メモリ内容が保証されないという問題がある。
【００１４】
さらに、不揮発性メモリは、製造バラツキに起因して、消去時間および書き込み時間にもバラツキがあるため、ＢＴ基板に搭載された全てのデバイスが同時に書き込みを開始しても、書き込み終了時間が異なる。したがって、クロックＢＴ環境において、同時に電源をオン（投入）し、全てのデバイスが同時にデバイスセルフ試験を開始した場合であっても、不揮発性メモリにアクセスしているタイミングはデバイス毎に異なり、同期が取れないという問題がある。
【００１５】
これらの問題は特許文献１では解決されていない。
【００１６】
したがって、クロックＢＴ環境でデバイスセルフ試験を行い、その結果を不揮発性メモリに記憶させるテスト回路において、クロックＢＴ中の外部リセット信号の入力またはＢＴ終了時の電源オフ作業が不揮発メモリへのアクセス時間と重なった場合であっても、データを保証することが課題となる。
【課題を解決するための手段】
【００１７】
本発明の第１の視点に係るテスト回路は、不揮発性メモリを備えた半導体集積回路のテスト回路であって、外部リセット信号を所定の期間マスクして内部リセット信号を生成する外部リセット制御部と、前記内部リセット信号に基づいて、自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを制御する自己試験実行部と、を備えたことを特徴とする。
【発明の効果】
【００１８】
本発明に係るテスト回路により、デバイス試験結果の不揮発性メモリへの書き込みが許可されている場合には外部リセット信号がマスクされているため、デバイス試験結果の正常な書き込みが保証される。
【００１９】
また、本発明に係るテスト回路により、外部電源をオフする時点における不揮発性メモリへの書き込みを禁止することができるため、電源オフと不揮発性メモリのデータ書き込みとが競合することはない。
【発明を実施するための最良の形態】
【００２０】
本発明の第１の視点に係るテスト回路は、不揮発性メモリを備えた半導体集積回路のテスト回路であって、外部リセット信号を所定の期間マスクして内部リセット信号を生成する外部リセット制御部と、前記内部リセット信号に基づいて、自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを制御する自己試験実行部と、を備えたことを特徴とする。
【００２１】
本発明の第２の視点に係るテスト回路は、クロックバーンインテスト（以下「クロックＢＴ」という。）環境下において外部電源と外部リセット信号とを参照するように構成されるとともに不揮発性メモリを備えた半導体集積回路のテスト回路であって、前記外部電源の投入を検出してカウント値を初期化し、前記外部リセット信号がオン状態となる度に前記カウント値を増加させて記録するとともにカウント信号として出力するタイマ部と、前記カウント信号を入力し、前記不揮発性メモリへの書き込みが許可された特定の１または２以上のカウント（以下「所定カウント」という。）を参照して前記カウント値が前記所定カウントのいずれかと一致する場合にはオフ、一致しない場合にはオンの外部リセットマスク信号を出力するとともに前記試験を行って前記試験の結果を前記不揮発性メモリに書き込むように構成された自己試験実行部と、前記外部リセットマスク信号を入力して記録するとともに前記外部リセットマスク信号がオンの場合は前記外部リセット信号をマスクし、オフの場合はマスクしない外部リセット制御部と、を備えたことを特徴とする。
【００２２】
本発明の第３の視点に係るテスト方法は、不揮発性メモリを備えた半導体集積回路のテスト方法であって、外部リセット信号を所定の期間マスクして内部リセット信号を生成する外部リセット制御工程と、前記内部リセット信号に基づいて、自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを制御する自己試験実行工程と、を含むことを特徴とする。
【００２３】
本発明の第４の視点に係るテスト方法は、クロックバーンインテスト（以下「クロックＢＴ」という。）環境下において外部電源と外部リセット信号とを参照するように構成されるとともに不揮発性メモリを備えた半導体集積回路のテスト方法であって、（ａ）前記外部電源の投入を検出してカウント値を初期化する工程と、（ｂ）前記外部リセット信号がオン状態となる度に前記カウント値を増加させる工程と、（ｃ）前記外部リセット信号をマスクする工程と、（ｄ）前記不揮発性メモリへの書き込みが許可された特定の１または２以上のカウント（以下「所定カウント」という。）を参照して前記カウント値が前記所定カウントのいずれかと一致するか否かを判定する工程と、（ｅ）前記判定工程（ｄ）において一致する場合は、前記試験を行うとともに前記不揮発性メモリへの書き込みを行う工程と、（ｆ）前記判定工程（ｄ）において一致しない場合は、前記外部リセット信号のマスクを解除して、前記試験を行う工程と、（ｇ）前記工程（ｃ）、（ｄ）および（ｅ）または（ｆ）を繰り返す工程と、（ｈ）前記工程（ｂ）および（ｇ）を繰り返す工程と、を含むことを特徴とする。
【００２４】
第１の展開形態に係るテスト回路は、前記第１の視点に係るテスト回路において、外部電源の投入を検出してカウント値を初期化するとともに前記外部リセット信号がオン状態となる度に前記カウント値を増加させるタイマ部を備え、前記外部リセット制御部は、前記カウント値に基づいて前記外部リセット信号を所定の期間マスクして内部リセット信号を生成するように構成されたことを特徴とする。
【００２５】
第２の展開形態に係るテスト回路は、前記第１の視点に係るテスト回路において、前記自己試験実行部が、外部リセット信号がマスクされている期間は自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを行い、それ以外の期間は自己試験の実行を行うのみであって前記不揮発性メモリへの書き込みは行わないように構成されたことを特徴とする。
【００２６】
第３の展開形態に係るテスト回路は、前記第２の視点に係るテスト回路において、前記タイマ部が、電源検出リセット回路を内蔵したレジスタとタイマとを備え、前記レジスタは前記外部電源の投入を検出してリセット信号を出力するように構成され、前記タイマは前記リセット信号を入力して前記カウント値を初期化し、前記外部リセット信号がオン状態となる度に前記カウント値を増加させて記録するように構成されたことを特徴とする。
【００２７】
第４の展開形態に係るテスト方法は、前記第３の視点に係るテスト方法において、外部電源の投入を検出してカウント値を初期化するとともに前記外部リセット信号がオン状態となる度に前記カウント値を増加させる工程を含み、前記外部リセット制御工程において、前記カウント値に基づいて前記外部リセット信号を所定の期間マスクして内部リセット信号を生成することを特徴とする。
【００２８】
第５の展開形態に係るテスト方法は、前記第３の視点に係るテスト方法において、前記自己試験実行工程において、外部リセット信号がマスクされている期間は自己試験の実行とその結果の前記不揮発性メモリへの書き込みとを行い、それ以外の期間は自己試験の実行を行うのみであって前記不揮発性メモリへの書き込みは行わないことを特徴とする。
【００２９】
図４は、本発明の実施の形態に係る不揮発性メモリを備えたデバイスのテスト回路のブロック図である。
【００３０】
デバイス４００は、ＣＰＵ４０１、不揮発性メモリ４０２、周辺回路４０３、タイマ部４０９および外部リセット制御部４１０を内部バス４０８に接続したワンチップ構成である。周辺回路４０３は、ＲＯＭ、ＲＡＭを含み、用途に応じて必要な回路が内部バスに接続される。
【００３１】
本実施形態において、不揮発性メモリ４０２等に記録されたＢＴコードを実行するＣＰＵ４０１が、上述の自己試験実行部に該当する。ただし、自己試験実行部はＣＰＵに限定される訳ではなく、一般に、ＢＩＳＴ（Ｂｕｉｌｄ−ｉｎ  Ｓｅｌｆ−Ｔｅｓｔ）回路と呼ばれるものであってもよい。
【００３２】
外部リセット制御部４１０は、クロックＢＴ中の外部リセット信号２２２の入力が不揮発性メモリ４０２へのアクセス時間と重なった場合における、データ保証を可能とするための回路であり、外部リセットマスクレジスタ４０６とＡＮＤ回路４０７とからなる。
【００３３】
外部リセットマスクレジスタ４０６の値は、ＣＰＵ４０１によって内部バス４０８経由で読み書き可能であり、プログラムによりセット・リセットされる。外部リセットマスクレジスタ４０６の値によって、外部リセット信号２２２はマスク制御されて、内部リセット信号４１４として出力される。
【００３４】
タイマ部４０９は、クロックＢＴ終了時の電源オフ作業が不揮発性メモリ４０２へのアクセス時間と重なった場合であっても、データ保証を可能とする手段であり、ＰＯＣ（Ｐｏｗｅｒ−Ｏｎ  Ｃｌｅａｒ）レジスタ４０４とタイマ４０５とからなる。
【００３５】
タイマ４０５は、外部リセット信号２２２がアクティブになった回数をカウントし、ＣＰＵ４０１が内部バス４０８を介して読み書きし、初期化する。このとき、タイマ４０５のカウント方式は、カウントアップまたはカウントダウンのいずれの方式であっても良い。
【００３６】
ＰＯＣレジスタ４０４は、電源検出リセット（パワーオンクリアリセット）回路を内蔵し、電源投入の検出時にセットされ、タイマ４０５をクリアーし、ＣＰＵ４０１が内部バス４０８を介して読み書きする。
【００３７】
図５、６は、図４に示す不揮発性メモリ内蔵デバイスにおいて、クロックＢＴ時のデバイスセルフ試験の結果が記録される動作を説明するためのフローチャートである。
【００３８】
図５は、クロックＢＴ開始から、終了までを示したもので、実際にクロックＢＴを行う作業者から見たフローチャートを示す。
【００３９】
一方、図６は、ＢＴ中にデバイス内の不揮発性メモリ４０２、周辺回路４０３に含まれるＲＯＭに格納され、ＣＰＵ４０１が実行するプログラムのフローチャートである。以下、このプログラムをＢＴコードという。
【００４０】
図５のステップＳ１はクロックＢＴを開始する状態であって、ＢＴ作業者が図１のようにクロックＢＴの準備を済ませた状態を示す。
【００４１】
ここでは、図１におけるクロックＢＴ用基板２００のいずれかのデバイスとして、図４に示すデバイス４００を備えた場合を考える。
【００４２】
図５のステップＳ２は、ＢＴ作業者が最初に図４のクロックＢＴ装置２３０の外部電源２２０の投入を行った状態を示す。このとき、クロックＢＴ用基板２００に搭載されたデバイス４００に搭載したＰＯＣレジスタ４０４に内蔵された電源検出リセット回路が電源投入検出を行い、それと同時に、ＰＯＣレジスタ４０４をセットし、タイマ４０５のカウント値のクリアーを行う。
【００４３】
図５のステップＳ３は、電源投入後、ＢＴ作業者は、図４のクロックＢＴ装置２３０の外部リセット信号２２２の入力を行った状態を示す。このとき、一定の周期を持った外部リセット信号２２２が入力されるものとする。この周期は、後に実行されるデバイスセルフ試験の時間よりも十分に長い時間がデバイス４００に供給されるように、ＢＴ作業者が設定する。
【００４４】
外部リセット信号２２２が入力されると、デバイス４００内において、アクティブな外部リセット信号２２２が入力される度に、タイマ４０５がカウントされる。このときから、タイマ４０５には、一定の周期を持った外部リセット信号２２２により、時間が刻まれる。
【００４５】
また、デバイス４００は、アクティブな外部リセット信号２２２が入力されると、デバイス４００のモード専用のＩ／Ｏ端子のデコードが行われ、ＢＴモードが選択される。このとき、クロックＢＴ用基板（図１の２００）に搭載されたデバイス４００は、ＢＴモードがデコードされるようにモード端子が基板上任意に端子固定（プルアップ、もしくはプルダウン）されているものとする。
【００４６】
図５のステップＳ４は、外部リセット信号２２２の入力後、ＢＴ作業者は、図１のクロックＢＴ装置２３０の外部クロック信号２２１の入力を行ったことを示す。このとき、デバイス４００は、外部リセット信号２２２により、ＢＴモードが選択され、外部クロック信号２２１に基づいてデバイス内に記憶されたＢＴコードが実行される。
【００４７】
このＢＴコードは、デバイス４００内の不揮発性メモリ４０２または周辺回路４０３に備えたＲＯＭに格納され、ＣＰＵ４０１によって実行される。
【００４８】
このとき実行されるＢＴコードは、図６のフローチャートに従って実行され、デバイスセルフ試験とその結果を不揮発性メモリ４０２に書き込む作業を繰り返し、ＢＴ終了時間には、デバイスセルフ試験のみを繰り返し実施し、不揮発性メモリ４０２への試験結果の書き込みは行わない。
【００４９】
図５のステップＳ５は、ＢＴ作業者が任意に指定したＢＴ終了時間に達したか否かを判定する工程である。ここで、ＢＴ作業者は、ＢＴ終了時間に達した場合はＹｅｓ、ＢＴ終了時間に達していない場合はＮｏと判断し、クロックＢＴ装置２３０を停止するか、クロックＢＴを継続するかの判断を行う。
【００５０】
図５のステップＳ６は、任意に指定されたＢＴ終了時間が経過したので、ＢＴ作業者は、クロックＢＴ装置２３０の外部電源２２０、外部クロック信号２２１、外部リセット信号２２２をオフにして、クロックＢＴ装置２３０を停止させた状態を示す。
【００５１】
このとき、デバイス４００は、デバイスセルフ試験のみ繰り返し実施している状態で中断されるため、不揮発性メモリ４０２のデータは破壊されないで終了する。
【００５２】
図５のステップＳ７は、クロックＢＴが終了した状態を示す。
【００５３】
このとき、デバイス４００の不揮発性メモリ４０２には、任意の時に実行されたデバイスセルフ試験の結果が書き込まれた状態で終了する。
【００５４】
図６は、図５のステップＳ４において実行されるＢＴコードの詳細フローである。
【００５５】
外部リセット信号２２２の解除により、ＢＴコードが起動される（Ｓ８）。
【００５６】
図６のステップＳ９は、外部リセットマスクレジスタ４０６をオンにして、外部リセット信号２２２をマスクする。
【００５７】
これは、タイマ４０５の判定と、デバイスセルフ試験の処理と、その結果を不揮発性メモリ４０２に書き込む処理とが、外部リセット信号２２２によって中断されないようにするためである。ＢＴコードが外部リセットマスクレジスタ４０６をオンにすることにより、ＡＮＤ回路４０７を経由した外部リセット信号２２２はマスクされ、内部リセット信号４１４として出力される。
【００５８】
図６のステップＳ１０において、これからデバイス４００のデバイスセルフ試験を行う際、タイマ４０５のカウント値に基づいて、デバイスセルフ試験の結果を不揮発性メモリ４０２に書き込みを行うか否かを判定する。
【００５９】
このため、ＢＴコードには、予めタイマ４０５のカウント値と比較すべきデータを定義しておく。定義されるデータは、不揮発性メモリ４０２のアクセス可能なカウント値やカウント値の範囲である。逆に、不揮発性メモリ４０２のアクセス禁止の場合を定義してもよいし、複数定義してもよい。例えば、クロックＢＴ開始から終了間際までデバイスセルフ試験の結果を書き込む場合は、その範囲のカウント値を定義すれば良い。また、１時間毎にデバイスセルフ試験の結果を書き込む場合は、複数のカウント値を定義すれば良い。
【００６０】
ここで、不揮発性メモリ４０２のアクセス可能なカウント値であると判定された場合は、デバイスセルフ試験とその結果を不揮発性メモリ４０２に書き込むため、ステップＳ１１へ移行し、そうでない場合は、ステップＳ１３へ移行する。
【００６１】
図６のステップＳ１１において、先のステップＳ９処理により、外部リセット信号２２２の影響を受けることなく、デバイスセルフ試験が実行される。
【００６２】
図６のステップＳ１２は、先のステップＳ１１と同様、外部リセット信号２２２の影響を受けないで、デバイスセルフ試験が実行された結果を不揮発性メモリ４０２に書き込みを行い、ステップＳ９へ移行する。
【００６３】
不揮発性メモリ４０２に書き込みを行う場合、不揮発性メモリ４０２を毎回消去し、同一アドレスに上書きを行うか、書き込みを行うたびに異なるアドレス領域に書き込みを行うかについては、ＢＴコードに依存する。
【００６４】
また、書き込む内容として、デバイスセルフ試験の最終判定を書き込むのか、詳細なテスト結果内容として、タイマ４０５のカウント値、書き込み回数、内蔵するＣＰＵ４０１のテスト結果、周辺回路４０３のテスト結果等も書き込むのかについても、ＢＴコードに依存する。
【００６５】
図６のステップＳ１３へ移行した場合は、不揮発性メモリ４０２にデバイスセルフ試験した結果を書き込む必要がない。そこで、デバイスセルフ試験中に外部リセット信号２２２が有効となるようにするため、外部リセットマスクレジスタ４０６をオフする。ここで、外部リセット信号２２２を有効にしたのは、デバイス動作中、リセットされた場合、初期化による回路素子のトグルにより、ＢＴの活性化を高めるためである。
【００６６】
図６のステップＳ１４において、先のステップＳ１３の処理により、外部リセット信号２２２が有効な状態で、デバイスセルフ試験が実行される（ステップＳ１４）。デバイスセルフ試験が終了すると、ステップＳ９へ移行する。
【００６７】
図６のステップＳ９、Ｓ１０およびＳ１３を含むＪの部分において、デバイスセルフ試験の結果を不揮発性メモリ４０２に書き込むか否かについてタイマ４０５のカウント値に基づいて判定し、書き込む場合は外部リセット信号２２２をマスクし、書き込まない場合は外部リセット信号２２２をマスクしない。
【００６８】
図６のステップＳ１１およびＳ１４を含むＴの部分において、デバイスセルフ試験が行われる。
【００６９】
図６のステップＳ１２を含むＷの部分において、不揮発性メモリ４０２にアクセスし、デバイスセルフ試験結果の書き込みが行われる。また、必要に応じて、不揮発性メモリ４０２に書き込みを行う前のメモリ消去も行われる。
【００７０】
図６のステップＳ９、Ｓ１０、Ｓ１１およびＳ１２を囲むＭの部分においては、ＢＴコードは外部リセット信号２２２により中断されない。ただし、タイマ４０５は、ＢＴコード実行に関係なく、外部リセット信号２２２の入力によってカウントされる。
【００７１】
以上のことから、デバイス４００において、外部リセット信号２２２をマスク制御する外部リセットマスクレジスタ４０６とＡＮＤ回路４０７とから構成される外部リセット制御部４１０を備えることで、外部リセット信号２２２で中断されることなく、デバイスセルフ試験（ステップＳ１１）の結果を不揮発性メモリ４０２に書き込む（ステップＳ１２）ことができる。
【００７２】
また、電源投入検出リセット回路を内蔵するＰＯＣレジスタ４０４とタイマ４０５とから構成されるタイマ部４０９を搭載することで、ＢＴコードは、タイマ４０５のカウント値と、予めＢＴコードにおいて定義しておいた不揮発性メモリ４０２へのアクセス可能なカウント値とを比較する（Ｓ１０）ことにより、不揮発性メモリ４０２へのアクセス禁止をすることが可能となる。
【００７３】
タイマ４０５は、電源のパワーオン時からカウントしているため、クロックＢＴ装置２３０から定期的に供給される外部リセット信号２２２の入力をカウントすることで、カウント値を容易に設定できる。
【００７４】
クロックＢＴを終了する場合、不揮発性メモリ４０２へのアクセスを禁止する必要があるが、所定の回数以上は不揮発性メモリ４０２へのアクセスを禁止するように、外部リセット信号２２２のカウント値をＢＴコードに定義しておけば、メモリアクセスが禁止されている間に電源オフを行うことができる。
【００７５】
以上の動作のタイミングチャートを、図７を参照して、詳細に説明する。
【００７６】
図７には、クロックＢＴ装置２３０から供給される外部電源２２０、外部クロック信号２２１、外部リセット信号２２２を示す。また、クロックＢＴ中に、デバイス４００内に搭載されたＰＯＣレジスタ４０４より発信されるリセット、タイマ４０５のカウント値、内部リセット信号４１４、外部リセットマスクレジスタ４０６、クロックＢＴ中に実施されるＢＴコード実行内容も、図７に示す。ここでは、ＢＴコードとして、不揮発性メモリ４０２に対してｎ回以上アクセスすることが禁止されたものを実行する場合を考える。
【００７７】
クロックＢＴ装置２３０の外部電源２２０をオン（１）にする際、電源検出リセット回路を内蔵したＰＯＣレジスタ４０４よりリセット信号（９）が１回だけ発信され、タイマ４０５のカウント値がクリア（１０）される。その後、クロックＢＴ装置２３０の外部リセット信号２２２が（３）、（４）、（５）、（６）のように入力される度に、タイマ４０５は（１１）、（１２）、（１３）、（１４）に示すようにカウント値を更新する。
【００７８】
外部電源２２０の投入後、外部リセット信号２２２が最初に入力（３）されたとき、デバイス４００はまだ外部リセット信号２２２をマスクしていないため、デバイス内に内部リセット信号４１４が入力される（１７）。このとき、デバイス４００のチップ全体にリセットが入力され、デバイス４００は不定（３２）の状態となる。外部リセット信号２２２が解除されたとき（３）、デバイス４００はモード端子をデコードし、ＢＴモード状態になる。ＢＴコードは、クロックＢＴ装置２３０から供給される外部クロック信号２２１に基づいて実行される。
【００７９】
図６および図７を参照して、ＢＴコードが実行される（Ｓ８）と、外部リセットマスク処理が実行（Ｓ９、２３）され、タイマの判定を行う（Ｓ１０、３３）。このとき、タイマのカウント値とＢＴコードで定義された不揮発性メモリ４０２へのアクセス禁止回数ｎとの比較が行われる。タイマ４０５のカウント値はｎ未満であるため、デバイスセルフ試験が実行され（Ｓ１１、３３）、デバイスセルフ試験結果の不揮発性メモリ４０２への書き込みが行われる（Ｓ１２、３４）。次に、ステップＳ９に戻り、再びステップＳ１０ないしステップＳ１２の処理が繰り返される。
【００８０】
このとき、タイマ４０５のカウント値がｎ以上になるまで、外部リセットマスクレジスタ４０６によって、外部リセット信号２２２はマスクされる。外部リセット信号２２２がマスクされた状態において、クロックＢＴ装置２３０から外部リセット信号２２２が入力される（４）と、タイマ４０５のカウント値は更新される（１２）。しかし、デバイス内の内部リセット信号４１４において、外部リセット信号２２２はマスクされている（１８）ため、ＢＴコードの実行は中断されず、デバイスセルフ試験とその結果の不揮発性メモリ４０２への書き込み（Ｓ１２）が行われる。
【００８１】
クロックＢＴ装置２３０の外部リセット信号２２２が入力され（５）、タイマ４０５のカウント値がｎに達した（１３）直後は、まだ、外部リセットマスクレジスタ４０６がオンされおり、外部リセット信号２２２がマスクされた状態であるため、内部リセット信号４１４にはリセット（１９）が発生していない。したがって、ＢＴコードは中断されないで実行され、タイマ判定（Ｓ１０、３６）したときに、外部リセットマスクレジスタ４０６が解除される（Ｓ１３、２４）。
【００８２】
その後、外部リセット信号２２２が有効な状態で、デバイスセルフ試験のみが実行され（Ｓ１４、３７）され、不揮発性メモリ４０２への書き込みを行うことなく、再び外部リセットマスクレジスタ４０６をオンとし（Ｓ９、２５）、タイマ判定（Ｓ１０、３８）が行われる。
【００８３】
このとき、タイマのカウント値はｎ以上になっているため、外部リセットマスクレジスタ４０６は解除され（Ｓ１３、２６）、デバイスセルフ試験が実行される（Ｓ１４）。これ以降、タイマ判定（Ｓ１０）とデバイスセルフ試験（Ｓ１４）とがＢＴ終了まで繰り返し実行される。タイマ判定（Ｓ１０）の際には、外部リセットマスクレジスタ４０６はオンされ、外部リセットはマスクされている。しかし、デバイスセルフ試験（Ｓ１４）の際には、外部リセットマスクレジスタ４０６はオフされているため、外部リセットによって中断される場合もある。
【００８４】
外部リセット信号２２２が入力された（６）ときに、ＢＴコードがタイマ判定（Ｓ１０、３９）中である場合、外部リセット信号２２２はマスクされ（２０）、ＢＴコードは中断されない。しかし、外部リセット信号２２２が入力された（７）ときに、ＢＴコードがデバイスセルフ試験中（Ｓ１４、４０）である場合、ＢＴコードは中断されて、チップ全体がリセットされる（Ｘ、４１）。
【００８５】
クロックＢＴ装置２３０の外部電源２２０が電源オフする（２）とき、タイマ４０５のカウント値はｎ以上の値（図７においてＮとした。）となっており、不揮発性メモリ４０２へアクセスしていない状態であるため、メモリに記憶された内容が破壊されることはない。
【００８６】
上記の通り、不揮発性メモリ４０２へのアクセス中において、外部リセット信号２２２または外部電源２２０のオフによってデータが破壊されることがなくなる。したがって、図１に示すクロックＢＴ環境において、デバイスセルフ試験を行った結果を不揮発性メモリ４０２に記憶することが可能となる。
【００８７】
以上説明したように、本発明によれば以下の効果がもたらされる。すなわち、クロックＢＴによって、モニターＢＴと同等のテストを行うことができるため、モニターＢＴのように高額な設備投資を行う必要がなくなる。さらに、テストにおいて、必要とされるハードウェアもわずかな資源で済ませることができる。
【図面の簡単な説明】
【００８８】
【図１】従来のクロックＢＴ装置の構成図である。
【図２】従来のモニターＢＴ装置の構成図である。
【図３】従来の不揮発性メモリ搭載デバイスのブロック図である。
【図４】本発明の実施の形態に係る不揮発性メモリ搭載デバイスのブロック図である。
【図５】図４の構成で実施されるクロックＢＴのフローチャートである。
【図６】図５で実行されるＢＴコードのフローチャートである。
【図７】図４の構成で実施されるクロックＢＴのタイミングチャートである。
【符号の説明】
【００８９】
１００  集積回路
１１０  不揮発性ＩＤメモリ
１２０  機能ユニット
１３０  モード選択論理部
１４０  Ｉ／Ｏ端子
２００  クロックＢＴ用基板
２１０、２１１、…、２１ｎ、３１０、３１１、…、３１ｎ、４００  デバイス（半導体集積回路）
２２０、３２０  外部電源
２２１、３２１  外部クロック信号
２２２、３２２  外部リセット信号
２３０  クロックＢＴ装置
３００  モニターＢＴ用基板
３２３  デバイス制御信号
３２４  デバイス出力結果
３３０  モニターＢＴ装置
４０１  ＣＰＵ
４０２  不揮発性メモリ
４０３  周辺回路
４０４  ＰＯＣレジスタ
４０５  タイマ
４０６  外部リセットマスクレジスタ
４０７  ＡＮＤ回路
４０８  内部バス
４０９  タイマ部
４１０  外部リセット制御部
４１４  内部リセット信号
４１５  内部クロック信号
【図１】
2008276894.tif 000003
【図２】
2008276894.tif 000004
【図３】
2008276894.tif 000005
【図４】
2008276894.tif 000006
【図５】
2008276894.tif 000007
【図６】
2008276894.tif 000008
【図７】
2008276894.tif 000009