(57)【要約】【課題】不具合の再現性が良く，真の不具合と検出された不具合との関連性の解析が容易である，ロジックＬＳＩの不良解析システム，及び不良解析方法を提供する。【解決手段】ソフトウェアを内蔵したロジックＬＳＩの不良解析システムであって，クロックに同期してロジックＬＳＩの端子信号情報を記録する機能と，記録した端子信号情報をクロックに同期して再生する機能と，再生した端子信号情報と正常なロジックＬＳＩの端子信号情報とを比較する機能と，解析対象のロジックＬＳＩのトレースデータマップと正常なロジックＬＳＩのトレースデータマップとのトレース差分マップを生成する機能を有することを特徴とする。【選択図】　図１
2004101203.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアを内蔵したロジックＬＳＩの不良解析システムであって，
クロックに同期して前記ロジックＬＳＩの端子信号情報を記録する機能と，
前記記録した端子信号情報をクロックに同期して再生する機能と，
前記再生した端子信号情報と，正常なロジックＬＳＩの端子信号情報とを比較する機能と，
を有することを特徴とするロジックＬＳＩの不良解析システム。
【請求項２】
ソフトウェアを内蔵したロジックＬＳＩの不良解析システムであって，
クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する機能と，
クロックに同期して正常なロジックＬＳＩの端子信号情報を記録する機能と，
前記記録した解析対象のロジックＬＳＩの端子信号情報と，前記記録した正常なロジックＬＳＩの端子信号情報とを比較する機能と，
を有することを特徴とするロジックＬＳＩの不良解析システム。
【請求項３】
ソフトウェアを内蔵したロジックＬＳＩの不良解析システムであって，
クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する機能と，
前記記録した端子信号情報をクロックに同期して再生する機能と，
前記再生した解析対象のロジックＬＳＩの端子信号情報と，ロジックＬＳＩのエミュレータの端子信号情報とを比較する機能と，
を有することを特徴とするロジックＬＳＩの不良解析システム。
【請求項４】
ソフトウェアを内蔵したロジックＬＳＩの不良解析システムであって，
クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する機能と，
前記記録した解析対象のロジックＬＳＩの端子信号情報と，ロジックＬＳＩのエミュレータの端子信号情報とを比較する機能と，
を有することを特徴とするロジックＬＳＩの不良解析システム。
【請求項５】
前記端子信号情報は，特定期間におけるレジスタデータとＲＡＭデータの状態変化のトレースデータマップを含むことを特徴とする請求項１，２，３，または４のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項６】
解析対象のロジックＬＳＩのトレースデータマップと，正常なロジックＬＳＩのトレースデータマップとのトレース差分マップを生成する機能をさらに有することを特徴とする請求項１，２，３，４，または５のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項７】
複数の不具合を発生させて，前記トレース差分マップを複数生成し，差分の平均とばらつきを統計処理して求める機能をさらに有することを特徴とする請求項１，２，３，４，５，または６のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項８】
不具合発生前のＲＡＭ及びレジスタの状態を保存し，不具合発生前から復活させる機能をさらに有することを特徴とする請求項１，２，３，４，５，６，または７のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項９】
ＣＰＵの命令トレースデータを前記端子信号情報に同期させて記録する機能をさらに有することを特徴とする請求項１，２，３，４，５，６，７，または８のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項１０】
前記端子信号の再生速度を可変する機能をさらに有することを特徴とする請求項１，２，３，４，５，６，７，８，または９のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項１１】
多入力ＯＲ素子に複数のロジックＬＳＩの比較信号を接続して同時に複数のロジックＬＳＩの解析を行う機能をさらに有することを特徴とする請求項１，２，３，４，５，６，７，８，９，または１０のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項１２】
前記端子信号情報が，アナログ信号情報も含むことを特徴とする請求項１，２，３，４，５，６，７，８，９，１０，または１１のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項１３】
解析対象ロジックＬＳＩと正常なロジックＬＳＩのアナログ／デジタル差分特性，またはデジタル／アナログ差分特性をあらかじめ取得し，アナログ変換特性を補正する機能をさらに有することを特徴とする請求項１２に記載のロジックＬＳＩの不良解析システム。
【請求項１４】
前記ロジックＬＳＩは，オンチップデバッガを搭載していることを特徴とする請求項１２または１３のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項１５】
階層化したソフトウェアを有することを特徴とする請求項１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，または１４のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項１６】
解析対象が，ロジックＬＳＩを搭載したシステムであることを特徴とする請求項１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，または１５のうちのいずれか１項に記載のロジックＬＳＩの不良解析システム。
【請求項１７】
ソフトウェアを内蔵したロジックＬＳＩの不良解析方法であって，
クロックに同期して前記ロジックＬＳＩの端子信号情報を記録する手段と，
前記記録した端子信号情報をクロックに同期して再生する手段と，
前記再生した端子信号情報と，正常なロジックＬＳＩの端子信号情報とを比較する手段と，
を含むことを特徴とするロジックＬＳＩの不良解析方法。
【請求項１８】
ソフトウェアを内蔵したロジックＬＳＩの不良解析方法であって，
クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する手段と，
クロックに同期して正常なロジックＬＳＩの端子信号情報を記録する手段と，
前記記録した解析対象のロジックＬＳＩの端子信号情報と，前記記録した正常なロジックＬＳＩの端子信号情報とを比較する手段と，
を含むことを特徴とするロジックＬＳＩの不良解析方法。
【請求項１９】
ソフトウェアを内蔵したロジックＬＳＩの不良解析方法であって，
クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する手段と，
前記記録した端子信号情報をクロックに同期して再生する手段と，
前記再生した解析対象のロジックＬＳＩの端子信号情報と，ロジックＬＳＩのエミュレータの端子信号情報とを比較する手段と，
を含むことを特徴とするロジックＬＳＩの不良解析方法。
【請求項２０】
ソフトウェアを内蔵したロジックＬＳＩの不良解析方法であって，
クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する手段と，
前記記録した解析対象のロジックＬＳＩの端子信号情報と，ロジックＬＳＩのエミュレータの端子信号情報とを比較する手段と，
を含むことを特徴とするロジックＬＳＩの不良解析方法。
【請求項２１】
前記端子信号情報は，特定期間におけるレジスタデータとＲＡＭデータの状態変化のトレースデータマップを含むことを特徴とする請求項１７，１８，１９，または２０のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項２２】
解析対象のロジックＬＳＩのトレースデータマップと，正常なロジックＬＳＩのトレースデータマップとのトレース差分マップを生成する手段をさらに含むことを特徴とする請求項１７，１８，１９，２０，または２１のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項２３】
複数の不具合を発生させて，前記トレース差分マップを複数生成し，差分の平均とばらつきを統計処理して求める手段をさらに含むことを特徴とする請求項１７，１８，１９，２０，２１，または２２のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項２４】
不具合発生前のＲＡＭ及びレジスタの状態を保存し，不具合発生前から復活させる手段をさらに含むことを特徴とする請求項１７，１８，１９，２０，２１，２２，または２３のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項２５】
ＣＰＵの命令トレースデータを前記端子信号情報に同期させて記録する手段をさらに含むことを特徴とする請求項１７，１８，１９，２０，２１，２２，２３，または２４のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項２６】
前記端子信号の再生速度を可変する手段をさらに含むことを特徴とする請求項１７，１８，１９，２０，２１，２２，２３，２４，または２５のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項２７】
多入力ＯＲ素子に複数のロジックＬＳＩの比較信号を接続して同時に複数のロジックＬＳＩの解析を行う手段をさらに含むことを特徴とする請求項１７，１８，１９，２０，２１，２２，２３，２４，２５，または２６のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項２８】
前記端子信号情報が，アナログ信号情報も含むことを特徴とする請求項１７，１８，１９，２０，２１，２２，２３，２４，２５，２６，または２７のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項２９】
解析対象ロジックＬＳＩと正常なロジックＬＳＩのアナログ／デジタル差分特性，またはデジタル／アナログ差分特性をあらかじめ取得し，アナログ変換特性を補正する手段をさらに含むことを特徴とする請求項２８に記載のロジックＬＳＩの不良解析方法。
【請求項３０】
前記ロジックＬＳＩは，オンチップデバッガを搭載していることを特徴とする請求項２８または２９のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【請求項３１】
解析対象が，ロジックＬＳＩを搭載したシステムであることを特徴とする請求項１７，１８，１９，２０，２１，２２，２３，２４，２５，２６，２７，２８，２９，または３０のうちのいずれか１項に記載のロジックＬＳＩの不良解析方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は，ソフトウェアを組み込んだロジックＬＳＩの不良解析システムに関する。
【０００２】
【従来の技術】
マイクロコンピュータやＤＳＰ（Ｄｉｇｉｔａｌ　Ｓｉｇｎａｌ　Ｐｒｏｃｅｓｓｏｒ）などのＬＳＩ（Ｌａｒｇｅ　Ｓｃａｌｅ　Ｉｎｔｅｇｒａｔｉｏｎ　ｃｉｒｃｕｉｔ）は，内部にソフトウェアを組み込んでいるロジックＬＳＩである。以下，これを単に「マイコン」という。マイコンを使用したシステムでは，ウェハプロセス過程で発生する欠陥等により，出荷検査では検出できない不具合が発生することがある。以下，このような不具合があるマイコンを「不具合マイコン」といい，不具合のないマイコンを「正常マイコン」という。
【０００３】
図５３に，不良解析の対象システム１に，不具合マイコン５が組み込まれている状態を模式的に示す。不具合マイコン５は，内部回路４を介して表示回路２と入出力回路３とに信号線で接続され，一方でインターフェイス回路６に信号線で接続される。図５３中の矢印は，信号（情報）の出入りを示す（以下，本明細書，図面において同じ）。不具合マイコン５の不具合は，対象システム１に組み込まれてシステムが検査される時，若しくは対象システム１が使用される時に発見される。
【０００４】
従来，マイコンの不良解析は，マイコンを組み込んだシステムにて不具合を再現させ，このシステムを構成する回路信号の解析により原因を求めていた。例えば，マイコンの不具合が判明した場合に，その不具合マイコンの不良解析は，システムよりその不具合マイコンを分離し，ＬＳＩテスタにより詳細なテストプログラムを実行して行っていた。
【０００５】
上記従来技術に関連する技術文献としては次のものがある。
【０００６】
【特許文献１】
特開平６−９５９１３
【特許文献２】
特開平５−３３４１２０
【特許文献３】
特開２００１−２４９８２３
【０００７】
【発明が解決しようとする課題】
しかしながら不具合マイコンは，出荷検査項目で漏れた，特殊な条件が成立した場合でしか不具合が発生しないため，例え詳細なテストプログラムであっても，全ての不具合発生の可能性を検証することは，まず不可能であった。
【０００８】
例えば，マイコンをシステムに実装させた状態で人為的に不具合を発生させ，ロジックアナライザで信号解析する従来の不具合解析方法では，システムの起動から不具合を発生させるまでの条件が，マイコンのクロック分解能レベルで同一でない。このため，ソフトウェアの有する変数の状態が異なってしまい，不具合の発生確率，不具合の状況の再現性が悪かった。
【０００９】
また，マイコン単体をテスタに装着し，テストプログラムを動作させる従来の不具合解析方法では，テストプログラムによりマイコンに与える信号中に不具合要因が含まれなかった場合に不具合は再現されなかった。またこのテストプログラムは，前述の人為的に不具合現象を発生させ，ロジックアナライザで信号解析する解析方法により不具合の信号を予想して作成される。このため，テストプログラムの作成には膨大な工数がかかり，しかも不具合にヒットする確率は低く，効率が悪かった。
【００１０】
以下に，マイコンの不具合発生原因と，不具合検知に至るまでの過程を，より詳細に説明する。
【００１１】
図５４は，正常マイコンの内部構成図である。図５４に示すように，マイコン７は，ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ　Ｍｅｍｏｒｙ）８，ＣＰＵ１０，ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１１，インターフェイスレジスタ１２，ペリフェラルレジスタ１３，ＩＯ（Ｉｎｐｕｔ　Ｏｕｔｐｕｔ）ポート等の入出力インターフェイス１４，ペリフェラル１５，入力端子１６，出力端子１７をもつ。そして，ＲＯＭ８内にはアプリケーションソフトウェア９が存在する。図５４中の矢印は，信号（情報）の流れを示す。マイコン７では，アプリケーションソフトウェア９によりＲＡＭ１１，レジスタ１２，１３の書込みが行われ，ハードウェア（ＲＯＭ８，ＣＰＵ１０，ＲＡＭ１１，インターフェイス１４，ペリフェラル１５）が制御される。
【００１２】
図５５は，不具合マイコンの内部構成図である。図５５を用いて，ハードウェアに何らかの不具合が発生した場合について説明する。図５５中の☆印は，「不具合」，「異常」，または「誤り」を示す。図５５で，ペリフェラル１５に不具合が発生していると仮定すると，不具合が発生する条件が成立することにより，ペリフェラル状態を示すペリフェラルレジスタ１３の内容が「異常」となる。アプリケーションソフトウェア９がこのレジスタ１３を読み，判断を誤る。そして，誤った情報がＲＡＭ１１に書き込まれる。さらに，アプリケーションソフトウェア９はこの誤った情報が書き込まれたＲＡＭ１１を読む。その値をポートより出力する処理に到達した時に，誤った値がインターフェイスレジスタ１２に書き込まれ，インターフェイス１４より誤った情報が出力される。不具合マイコン５の外部からは，この誤った情報が出力されて初めて不具合が検知できるようになる。
【００１３】
以上説明したように，アプリケーションソフトウェアが介在するマイコンにおいては，不具合が発生しても，発生から不具合が検知されるまでの間にタイムラグが生じる。このため不具合要因を解析するためには，検知された不具合の情報を元にアプリケーションソフトウェアの動作を予想し，ＲＡＭ，レジスタ等の状態を予想した上で真の原因を推測する必要がある。
【００１４】
しかし，従来の解析方法では，以下のような問題点があった。
１．不具合の再現性が悪い。
２．真の不具合と，検出された不具合との関連性の解析が困難である。
３．不具合の再発を防止するテスト方法の確立が困難である。
４．解析システムの構築が困難である。
【００１５】
そこで本発明は，上記１〜４の問題を解決し，不具合の再現性が良い，真の不具合と，検出された不具合との関連性の解析が容易である，不具合の再発を防止するテスト方法の確立が容易である，解析システムの構築が容易である，ロジックＬＳＩの不良解析システム，及び不良解析方法を提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記課題を解決するための本発明の不良解析システムは，ソフトウェアを内蔵したロジックＬＳＩの不良解析システムであって，クロックに同期してロジックＬＳＩの端子信号情報を記録する機能と，記録した端子信号情報をクロックに同期して再生する機能と，再生した端子信号情報を正常なロジックＬＳＩの端子信号情報とを比較する機能とを有することを特徴とする。このような構成により，不具合の再現性が良くなる。
【００１７】
また，上記課題を解決するための本発明の他の不良解析システムは，クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する機能と，クロックに同期して正常なロジックＬＳＩの端子信号情報を記録する機能と，記録した解析対象のロジックＬＳＩの端子信号情報と記録した正常なロジックＬＳＩの端子信号情報とを比較する機能とを有することを特徴とする。
【００１８】
また，上記課題を解決するための本発明の他の不良解析システムは，クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する機能と，記録した端子信号情報をクロックに同期して再生する機能と，再生した解析対象のロジックＬＳＩの端子信号情報とロジックＬＳＩのエミュレータの端子信号情報とを比較する機能とを有することを特徴とする。
【００１９】
また，上記課題を解決するための本発明の他の不良解析システムは，クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する機能と，記録した解析対象のロジックＬＳＩの端子信号情報とロジックＬＳＩのエミュレータの端子信号情報とを比較する機能とを有することを特徴とする。
【００２０】
また，上記課題を解決するための本発明の他の不良解析システムは，上記いずれかの構成で，端子信号情報は，特定期間におけるレジスタデータとＲＡＭデータの状態変化のトレースデータマップを含むことを特徴とする。
【００２１】
また，上記課題を解決するための本発明の他の不良解析システムは，上記いずれかの構成で，解析対象のロジックＬＳＩのトレースデータマップと正常なロジックＬＳＩのトレースデータマップとのトレース差分マップを生成する機能をさらに有することを特徴とする。
【００２２】
また，上記課題を解決するための本発明の他の不良解析システムは，上記いずれかの構成で，複数の不具合を発生させて，トレース差分マップを複数生成し，差分の平均とばらつきを統計処理して求める機能をさらに有することを特徴とする。
【００２３】
また，上記課題を解決するための本発明の他の不良解析システムは，上記いずれかの構成で，不具合発生前のＲＡＭ及びレジスタの状態を保存し，不具合発生前から復活させる機能をさらに有することを特徴とする。
【００２４】
また，上記課題を解決するための本発明の他の不良解析システムは，上記いずれかの構成で，ＣＰＵの命令トレースデータを端子信号情報に同期させて記録する機能をさらに有することを特徴とする。
【００２５】
また，上記課題を解決するための本発明の他の不良解析システムは，上記いずれかの構成で，端子信号の再生速度を可変する機能をさらに有することを特徴とする。
【００２６】
また，上記課題を解決するための本発明の他の不良解析システムは，上記いずれかの構成で，多入力ＯＲ素子に複数のロジックＬＳＩの比較信号を接続して同時に複数のロジックＬＳＩの解析を行う機能をさらに有することを特徴とする。
【００２７】
また，上記課題を解決するための本発明の他の不良解析システムは，上記いずれかの構成で，端子信号情報が，アナログ信号情報も含むことを特徴とする。またさらに，解析対象ロジックＬＳＩと正常なロジックＬＳＩのアナログ／デジタル差分特性，またはデジタル／アナログ差分特性をあらかじめ取得し，アナログ変換特性を補正する機能をさらに有していてもよい。
【００２８】
また，ロジックＬＳＩは，オンチップデバッガを搭載していてもよい。
【００２９】
なお，解析対象はロジックＬＳＩに限定されず，ロジックＬＳＩを搭載したシステムであってもよい。
【００３０】
また，上記課題を解決するための本発明のソフトウェアを内蔵したロジックＬＳＩの不良解析方法は，クロックに同期してロジックＬＳＩの端子信号情報を記録する手段と，記録した端子信号情報をクロックに同期して再生する手段と，再生した端子信号情報を，正常なロジックＬＳＩの端子信号情報と比較する手段とを含むことを特徴とする。
【００３１】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する手段と，クロックに同期して正常なロジックＬＳＩの端子信号情報を記録する手段と，記録した解析対象のロジックＬＳＩの端子信号情報と記録した正常なロジックＬＳＩの端子信号情報とを比較する手段とを含むことを特徴とする。
【００３２】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する手段と，記録した端子信号情報をクロックに同期して再生する手段と，再生した解析対象のロジックＬＳＩの端子信号情報とロジックＬＳＩのエミュレータの端子信号情報とを比較する手段とを含むことを特徴とする。
【００３３】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，クロックに同期して解析対象のロジックＬＳＩの端子信号情報を記録する手段と，記録した解析対象のロジックＬＳＩの端子信号情報とロジックＬＳＩのエミュレータの端子信号情報とを比較する手段とを含むことを特徴とする。
【００３４】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，上記いずれかの構成において，端子信号情報は，特定期間におけるレジスタデータとＲＡＭデータの状態変化のトレースデータマップを含むことを特徴とする。
【００３５】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，上記いずれかの構成において，解析対象のロジックＬＳＩのトレースデータマップと，正常なロジックＬＳＩのトレースデータマップとのトレース差分マップを生成する手段をさらに含むことを特徴とする。
【００３６】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，上記いずれかの構成において，複数の不具合を発生させて，トレース差分マップを複数生成し，差分の平均とばらつきを統計処理して求める手段をさらに含むことを特徴とする。
【００３７】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，上記いずれかの構成において，不具合発生前のＲＡＭ及びレジスタの状態を保存し，不具合発生前から復活させる手段をさらに含むことを特徴とする。
【００３８】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，上記いずれかの構成において，ＣＰＵの命令トレースデータを端子信号情報に同期させて記録する手段をさらに含むことを特徴とする。
【００３９】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，上記いずれかの構成において，端子信号の再生速度を可変する手段をさらに含むことを特徴とする。
【００４０】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，上記いずれかの構成において，多入力ＯＲ素子に複数のロジックＬＳＩの比較信号を接続して同時に複数のロジックＬＳＩの解析を行う手段をさらに含むことを特徴とする。
【００４１】
また，上記課題を解決するための本発明の他のロジックＬＳＩの不良解析方法は，上記いずれかの構成において，端子信号情報が，アナログ信号情報も含むことを特徴とする。またさらに，解析対象ロジックＬＳＩと正常なロジックＬＳＩのアナログ／デジタル差分特性，またはデジタル／アナログ差分特性をあらかじめ取得し，アナログ変換特性を補正する手段をさらに含んでいても良い。
【００４２】
また，上記いずれかの不良解析方法において，ロジックＬＳＩは，オンチップデバッガを搭載していてもよい。
【００４３】
また，本発明の不良解析方法において，解析対象はロジックＬＳＩに限定されず，ロジックＬＳＩを搭載したシステムであってもよい。
【００４４】
【実施例】
以下に，本発明のいくつかの実施例を，図面を用いて説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００４５】
（実施例１）
実施例１は，１．不具合の再現性が悪い，という問題を解決している。この問題を解決し，不具合を確実に再現するために，実施例１の不良解析システムではマイコンの端子状態をマイコンのクロックに同期して記録し，端子トレースデータとして保存する。そして，この端子トレースデータをクロックに同期してマイコンに注入し，記録した端子トレースデータの再生を行う。
【００４６】
図１に，実施例１による不良解析システムの構成を示す。このシステムは，制御を行うワークステーション２６，及び解析ボード２４を含んで構成される。対象システム２１に装着されたままの不具合マイコン２２は，全ての端子，若しくはＶＤＤ，ＧＮＤの除く残りの端子が，検査プローブ２３を介して解析ボード２４に接続される。電源のＶＤＤ端子や接地のＧＮＤ端子は，信号端子に比べて不具合が現れる確率が低いので，適用外としてもかまわない。解析ボード２４とワークステーション２６とは，接続ハーネス２５内の各種信号線で接続される。
【００４７】
図２は，実施例１のワークステーション２６の構成図である。ワークステーション２６は，ＣＰＵ２７，ストレージ２８，クロック制御ボード３２，端子デジタルＩＯボード３３，制御デジタルＩＯボード３４を含んで構成される。ＣＰＵ２７は，ワークステーション２６の制御の中枢部であり，ストレージ２８は，データを保存するための大容量データストレージシステムである。クロック制御ボード３２は，ソフトウェアの制御により任意のクロック周波数の発振を行い，外部に送出する機能と，外部から注入されたクロックに対して搭載された他のボードの同期を行う機能を有する。端子デジタルＩＯボード３３は，マイコン２２の端子以上のチャネル数をもった入力／出力の切替可能な双方向デジタルＩＯボードである。制御デジタルＩＯボード３４は，解析ボード２４上のマイコンインターフェイスモジュール３５を制御する機能を有する。クロック入力線は，クロック信号の入力線であり，端子信号線は，マイコン２２の端子と端子デジタルＩＯボード３３とを接続する信号線であり，解析ボード制御線は，マイコン２２のインターフェイスモジュール３５と制御デジタルＩＯボード３４とを接続する信号線である。接続ハーネス２５は，上記クロック入力線，端子信号線，及び解析ボード制御線を束ね，解析ボード２４とワークステーション２６とを接続する。
【００４８】
図３は，実施例１の解析ボード２４の構成図である。図３に示すように，解析ボード２４は，解析ボード２４上にマイコン２２を装着するためのマイコンソケット３６と，対象システム２１に搭載されている不具合マイコン２２の端子と解析ボード２４上に搭載されるマイコンソケット３６の端子とを接続する検査プローブ２３と，マイコンインターフェイスモジュール３５とを含んでいる。マイコンインターフェイスモジュール３５は，マイコンソケット３６の端子信号と，ワークステーション２６から接続ハーネス２５を介して送出される信号との制御，調停を行うように構成される。
【００４９】
図４は，実施例１のマイコンインターフェイスモジュール３５の内部構成図である。図４に示すように，マイコンインターフェイスモジュール３５の内部は，大きく次のブロックに分けられる。制御ブロック２０は，ワークステーション２６より制御デジタルＩＯボード３４の制御信号を受信し，信号を解析する。クロックブロック３７は，マイコンソケットのクロック端子に対するクロック信号の入出力を制御し，同期信号を生成する。端子制御ブロック３８（複数）は，マイコン端子毎に存在し，マイコン端子毎の制御を行う。端子信号差異検出ブロック３９は，端子とデータとの差異を検出する。ワークステーション２６側の信号を制御信号デコーダ４１が受け，解釈し，必要に応じて端子切断制御部４０を制御し，端子制御ブロック３８の各々に対し，マイコン２２側の信号の接続／切断を切り替える信号を送り出す。クロック方向制御部４２は，制御信号デコーダ４１からの制御信号を受け取り，クロックブロック３７に対するクロック信号の方向制御信号を送り出す。
【００５０】
クロック端子からマイコンクロック信号線を介して入力したクロック信号は，クロック入力バッファ４３によりバッファリングされ，クロック入力信号としてワークステーション２６側のクロック入力ポートに，クロック入力線を介して送出される。また，ワークステーション２６側のクロック出力ポートより出力されたクロック出力信号はクロック出力バッファ４４で受信されて，マイコンソケット３６のクロック端子に出力される。
【００５１】
クロック入力バッファ４３とクロック出力バッファ４４は，クロック信号の方向制御信号により排他的に動作する。本実施例では，クロック信号の方向制御信号が”Ｌ”のとき信号方向が「マイコン」→「ワークステーション」で，”Ｈ”のとき信号方向が「ワークステーション」→「マイコン」となる。
【００５２】
マイコン端子信号はバッファリングされ，ワークステーション２６に向けて送出されると同時に，端子制御ブロックの同期信号として各端子制御ブロック３８に送出される。
【００５３】
マイコン端子毎に存在する端子制御ブロック３８は，マイコンソケット３６の端子より得られるマイコン端子信号と，ワークステーション２６より送出される端子信号の接続／切断の制御を行う。信号の接続／切断は，アナログスイッチで行う。端子制御ブロック３８は，マイコン端子信号とワークステーション２６より送出される端子信号の比較を，クロックブロック３７からの同期信号に同期して行い，信号間に差異が発生した場合は差異信号を”Ｈ”として出力する。この差異の検出は，排他論理和ＸＯＲ回路とＤ−ラッチとの組み合わせで行う。
【００５４】
アナログスイッチが導通している状態では差異が発生しないため，常に差異信号は”Ｌ”が出力される。端子信号差異検出ブロック３９は，全端子制御ブロック３８より出力された差異信号の論理和（ＯＲ）をマルチゲートＯＲで取り，差異信号としてワークステーション２６へ出力する。
【００５５】
ワークステーション２６と解析ボード２４とは，接続ハーネス２５で束ねられて，以下の向きと本数の信号線が接続される。端子信号線は，解析ボード２４とワークステーション２６と双方向で，有効端子数分である。クロック入力線は，ワークステーション２６から解析ボード２４へ向かい，１本である。クロック出力線は，解析ボード２４からワークステーション２６へ向かい，１本，差異信号線も，解析ボード２４からワークステーション２６へ向かい，１本である。プローブ制御線は，双方向で必要数分である。
【００５６】
図２，図３を用いて，記録時の信号の流れを説明すると，不具合マイコン２２のクロック端子→検査プローブ２３→解析ボード２４→クロック入力線→クロック制御ボード３２と，不具合マイコン２２の端子→検査プローブ２３→解析ボード２４→クロック入力線→端子デジタルＩＯボード３３となる。
【００５７】
記録時にはワークステーション２６のストレージ２８に，図５に示すような，クロック数０から終了点までの，端子毎の”Ｈ”，”Ｌ”状態（または，１，０状態）を示す，端子トレースデータ３１が記録される。
【００５８】
次に，再生時について説明する。図６は，実施例１における，再生時のワークステーション２６の構成図である。記録時とは次の点で異なる。再生時はクロック入力線が無効，クロック出力線が有効となり，ワークステーション２６よりクロック信号が送出される。端子信号線は，信号の方向は，ワークステーション２６から解析ボード２４への方向に反転する。差異信号線は，記録時は無効であったのが有効となり，差異信号は，制御デジタルＩＯボード３４の入力ポートに入力される。
【００５９】
図７は，実施例１における，再生時の解析ボード２４の構成図である。図７に示すように，再生時は検査プローブ２３をはずし，解析ボード２４上のマイコンソケット３６に，正常マイコン４５を装着する。記録時とは次の点で異なる。前述のように，再生時はクロック入力線が無効，クロック出力線が有効となり，ワークステーション２６よりクロック信号が流入する。端子信号線は，信号の方向が，ワークステーション２６から解析ボード２４への方向に反転する。差異信号線は，記録時は無効であったが有効となり，解析ボード２４より送出される。
【００６０】
図８は，実施例１における，再生時のマイコンインターフェイスモジュール３５の構成図である。図８に示すように，解析ボード２４の制御信号が変更されるため，記録時に比べて内部状態が変化する。記録時と次の点が異なる。クロック方向制御信号は”Ｈ”となり，ワークステーション２６で生成され，クロック出力線を介して流入したクロック信号を，正常マイコン４５に供給する。正常マイコン４５の出力端子に関しては，切断制御信号は”Ｌ”となり，端子制御ブロック３８において，アナログスイッチが切断される。正常マイコン４５側の端子信号と，ワークステーション２６側の端子信号が異なった場合，ラッチシンクロ信号に同期して，差異信号が”Ｈ”に変化する。そして，端子信号差異検出ブロック３９により，差異信号線が”Ｈ”に変化する。
【００６１】
再生時にはワークステーション２６のストレージ２８に，図９に示すような，端子毎の，クロック数０から終了点までの，正常マイコン出力と不具合マイコン出力の端子トレースデータ３１が記録される。
【００６２】
次に，実施例１の動作を説明する。本実施例のシステムは，不具合発生状態の記録と，不具合発生状態の再現の，２段階の動作を行う。
【００６３】
記録時には，ワークステーション２６において記録ソフトウェア２９がＣＰＵ２７にロードされ，実行される。記録ソフトウェア２９は以下の操作を行い，記録スタートを待つ。まず，マイコンインターフェイスモジュール３５の設定をセットアップするように制御デジタルＩＯボード３４を動作させ，解析ボード２４の制御線を介してマイコンインターフェイスモジュール３５に設定信号を送出する。次に，端子デジタルＩＯボード３３の全ポートを入力に設定する。次に，クロック制御ボード３２のクロック入力を有効にし，クロック入力線より流入したクロック信号に対し，端子デジタルＩＯボード３３を同期動作させるように設定する。次に，クロック信号が入力に同期して，端子デジタルＩＯボード３３の入力状態を，ストレージ上の端子トレースデータとして順次保存するよう準備する。
【００６４】
解析ボード２４は，解析ボード制御信号に従い，制御ブロック２０が次のセットアップを行う。まず，クロック信号の方向制御信号を”Ｌ”に設定し，クロックブロック３７が，不具合マイコン２２からワークステーション２６に向かう方向にクロック信号を流すように設定する。次に，全ての端子制御ブロック３８のアナログスイッチを接続し，不具合マイコン２２の端子と端子デジタルＩＯボード３３のポートとを接続する。次に，不具合の発生している対象システム２１を起動，操作し，不具合を発生させる。
【００６５】
操作者が不具合の発生を確認した後，ワークステーション２６を操作し，記録を完了させる。操作者は，異常表示，動作異常，検査装置のアラーム等により不具合を判断する。この時点でデータストレージシステム２８は，不具合発生マイコン２２の起動から停止までの全端子信号が端子トレースデータ３１として記録されている（図５）。
【００６６】
上記の記録ソフトウェア２９の動作を，図１０に示す。Ｓ１１で端子デジタルＩＯボード３３，制御デジタルＩＯボード３４を初期化し（Ｓ１１），Ｓ１２で解析ボード２４のマイコンインターフェイスモジュール３５のクロック方向，アナログスイッチ設定を初期化し（Ｓ１２），Ｓ１３で読み出しカウンタを初期化する（Ｓ１３）。そして，Ｓ１４でクロック入力が発生するまで待つ（Ｓ１４）。次に，Ｓ１５でクロックに同期して端子状態を端子デジタルＩＯボード３３でラッチする（Ｓ１５）。次に，Ｓ１６で，端子デジタルＩＯボード３３でラッチした端子トレースデータをストレージ２８に保存する（Ｓ１６）。Ｓ１７で，操作者が不具合を認識したら停止し，認識しなければ，Ｓ１８で読み出しカウンタをインクリメントし，Ｓ１５へ戻り（Ｓ１８），不具合を認識するまで記録を継続する。
【００６７】
再生時には，解析ボード２４から検査プローブ２３をはずし，正常マイコン４５をマイコンソケット３６に装着する。次に，ワークステーション２６において再生ソフトウェア３０がロードされ，実行される。再生ソフトウェア３０は，以下の操作を行い，不具合の検出を待つ。まず，端子デジタルＩＯボード３３の全ポートを，出力に設定する。次に，マイコンインターフェイスモジュール３５の設定をセットアップするように制御デジタルＩＯボード３４を動作させ，解析ボード制御線を介してマイコンインターフェイスモジュール３５に設定信号を送出する。
【００６８】
次に，ストレージ２８上の端子トレースデータ３１を，クロック信号に同期して，端子デジタルＩＯボード３３から順次送出するようにセットアップする。次に，クロック制御ボード３２よりクロック出力を開始し，再生をスタートさせる。再生中は，マイコンインターフェイスモジュール３５において，マイコン出力端子の信号に関して実際の信号レベルと端子トレースデータ３１に対応した端子信号の電圧の比較を随時行う。そして，信号に差異を生じた場合は，差異信号線が”Ｌ”から”Ｈ”へと変化し，これが制御デジタルＩＯボード３４で検知され，クロック送出を停止し，再生動作を停止する。
【００６９】
上記の再生ソフトウェア３０の動作を，図１１に示す。Ｓ２１で端子デジタルＩＯボード３３，制御デジタルＩＯボード３４を初期化し（Ｓ２１），Ｓ２２で解析ボード２４のマイコンインターフェイスモジュール３５のクロック方向，アナログスイッチ設定を初期化し（Ｓ２２），Ｓ２３で読み出しカウンタを初期化する（Ｓ２３）。そして，Ｓ２４でクロック発振を開始する（Ｓ２４）。次に，Ｓ２５でストレージ２８より端子トレースデータ３１を端子デジタルＩＯボード３３にロードする（Ｓ２５）。次に，Ｓ２６で，クロック信号に同期して，端子デジタルＩＯボード３３より端子信号を送出する（Ｓ２６）。Ｓ２７で，差異信号があれば発振を停止し（Ｓ２８），なければ，Ｓ２８で読み出しカウンタをインクリメントして（Ｓ２９），Ｓ２５へ戻り，差異信号があるまで再生処理を継続する。
【００７０】
以上示した構成であるので，実施例１によれば，不具合の再現性が良くなる。
【００７１】
（実施例２）
実施例２は，１．不具合の再現性が悪い，という問題を解決している。実施例２では，実施例１のように解析ボード２４上にマイコンインターフェイスモジュール３５を必要としない，簡素化した解析ボード２４による不具合マイコン解析システムを提供する。
【００７２】
図１２は，実施例２における，記録時のワークステーション２６の構成図である。実施例１からの変更点は，制御デジタルＩＯボード３４，解析ボード制御線がないことである。これらはマイコンインターフェイスモジュール３５を使用しないため，必要としない。
【００７３】
図１３は，実施例２における記録時の解析ボード２４の構成図である。実施例１からの変更点は，マイコンインターフェイスモジュールを使用しないことである。このため，各端子信号線は，直接マイコンソケット３６に接続される。
【００７４】
図１４は，実施例２における再生時のワークステーション２６の構成図である。実施例１からの変更点は，制御デジタルＩＯボード３４，解析ボード制御線がないことである。これらは，マイコンインターフェイスモジュール３５を使用しないため，必要としない。端子トレースデータ３１は，再生時にマイコンの出力端子の状態を記録したデータである。
【００７５】
図１５は，実施例２における再生時の解析ボード２４の構成図である。実施例１からの変更点は，マイコンインターフェイスモジュール３５を使用しないことである。このため各端子信号線は，直接マイコンソケット３６に接続される。また，端子信号線の方向は，次のようになる。入力端子は，ワークステーション２６から正常マイコン４５へ，出力端子は，正常マイコン４５からワークステーション２６へと向かう。
【００７６】
実施例２のシステムの動作は，不具合データの記録時は実施例１とほぼ同様である。しかし，マイコンインターフェイスモジュール３５が存在しないため，一部が異なる。まず，マイコンインターフェイスモジュール無し対応の記録ソフトウェア２９’をロードする。制御デジタルＩＯボード３４が存在しないため，解析ボード２４の初期設定が不要である。次に，実施例１と同様に記録を行い，端子トレースデータ３１を得る。
【００７７】
再生は，まず，マイコンインターフェイスモジュール無し対応の再生ソフトウェア３０’をロードする。マイコン端子が「入力」の場合，実施例１と同様に端子トレースデータ３１を出力する。マイコン端子が「出力」の場合，端子デジタルＩＯボード３３の方向設定を，正常マイコン４５からワークステーション２６へとし，端子デジタルＩＯボード３３への入力信号を，記録時と同じように端子トレースデータ３１’に保存する。再生動作は，実施例１のように終点検出を行わず，再生中の端子トレースデータ３１が終了した時点で終了する。
【００７８】
差異点の検出に関して，図１６の端子トレースデータ比較図を用いて説明する。記録，再生において，それぞれ端子トレースデータ（記録時）３１，及び端子トレースデータ（再生時）３１’の，２つのデータが得られる。この２データをワークステーション２６において比較し，端子トレースデータ差分として出力する。端子トレースデータ差分において，不具合マイコン２２と正常マイコン４５の差が明確に判別可能となり，実施例１と同様の不具合発生タイミング結果を得ることができる。
【００７９】
実施例２では，実施例１と同等の効果が，マイコンインターフェイスモジュール３５および制御デジタルＩＯボード３４の無い簡素化したシステムで得ることができる。従って，システムが簡素化された分，コストダウンが可能になる。
【００８０】
（実施例３）
実施例３は，１．不具合の再現性が悪い，という問題と，２．真の不具合と検出された不具合との関連性の解析が困難である，という問題を解決する。
【００８１】
実施例３の不具合データ記録時の構成は，実施例１と同様である。図１７は，実施例３における，不具合データ再生時のシステム構成図である。図１７に示すように，実施例１の正常マイコン４５（図７）を，インサーキットエミュレータ４６に交換したものである。実施例３において，不具合データ記録時，再生時の動作は，実施例１と同様である。
【００８２】
実施例３では，エミュレータ４６を使用することにより，不具合発生時点の正常マイコン４５の内部状態を解析することが可能になる。また，この解析結果から原因を追及するために，不具合発生時点から遡った時点での内部状態を，次の手順で解析することができる。
【００８３】
まず，起動から不具合発生時点より前の任意の時点まで，クロック制御ボード３２よりクロックを供給する。その後クロックを停止し，インサーキットエミュレータ４６を停止し，実行モードよりモニタモードに変えて，マイコンの内部解析を行う。このようにすれば，不具合発生までの端子トレースデータ３１が保存されているため，任意の時点まで動作させて解析することができる。
【００８４】
（実施例４）
実施例４は，１．不具合の再現性が悪い，という問題と，２．真の不具合と検出された不具合との関連性の解析が困難である，という問題を解決する。
【００８５】
実施例３では，インサーキットエミュレータ４６を接続することで，正常マイコン４５の内部情報が取得可能であるが，解析を行う上で不具合マイコン２２の内部情報が取得可能であれば，より深い解析が可能になり，解析速度も向上する。実施例４では，デバッグモニタを搭載した不具合マイコン２２において，内部情報を取得する。このために，実施例４では，評価対象のマイコンとして，デバッグモニタソフトウェアをあらかじめ搭載したマイコンを使用する。
【００８６】
図１８は，実施例４における，マイコンの内部構成図である。図１８に示すように，マイコン５０の内部のＲＯＭ５１上に，デバッグモニタソフトウェア５３が搭載されているが，記録／再生時には動作しない。実施例４では，デバッグモニタ５３はアプリケーションソフトウェア５２で使用しないシリアルインターフェイス入力端子６４に信号が入力された時点で起動する。
【００８７】
次に，実施例４における，解析時のマイコンの内部構成を図１９に示す。アプリケーションソフトウェア５２の動作中に，シリアル入力端子６４に対して入力が発生した場合，動作がアプリケーションソフトウェア５２からデバッグモニタ５３に遷移し，デバッグモニタ５３においてシリアルインターフェイス６０を介してデバッグコマンドを受け付け，コマンドで指定されたＲＡＭ５５，内部レジスタ情報をシリアルインターフェイス６０のシリアル出力端子６５よりレスポンスとして読み出すことが可能になる。
【００８８】
デバッグモニタ機能を動作させた時点で，アプリケーションソフトウェア５２の動作は中断するが，マイコン５０の外側の回路動作は中断しないため，デバッグモニタ５３起動後は，マイコン５０と外部回路との同期が取れず，起動後には正常に実行されない。
【００８９】
実施例４における不具合データ記録時，再生時の構成は，実施例１と同様である。
【００９０】
図２０は，実施例４における不具合データ解析時の解析ボードの構成図である。実施例１において再生時は正常マイコン４５を搭載したが，実施例４では不具合マイコン２２の解析を目的とするため，対象システムより不具合の発生したマイコンを抜き取り，解析ボード２４に装着する。実施例４では実施例１に対して，デバッグモニタ５３を動作させるためのデバッグモニタ入力線，及びデバッグモニタ出力線が解析ボード２４に追加されている。
【００９１】
次に，解析時のワークステーション６６の構成に関して，図２１で説明する。実施例１から変更のある構成要素を次に列挙する。解析ソフトウェア６９は，マイコン５０より，レジスタ状態，ＲＡＭ状態を取得するソフトウェアである。シリアルＩＯボード７６は，デバッグモニタ５３を動作させるため，シリアル信号を送受信する。レジスタ状態データ７１は，取得したレジスタのデータを保存するストレージ６８上の領域である。ＲＡＭ状態データ７２は，取得したＲＡＭのデータを保存するストレージ６８上の領域である。なお，簡便のために，このマイコンにおいてはメモリマップドＩＯとし，レジスタはＲＡＭアドレス０〜０ＦＦＨに配置されるものとする。なお，本明細書，図面において数字の後ろに付した「Ｈ」は，その数字が１６進数であることを表す。
【００９２】
実施例４においては，記録時，再生時の動作は，実施例１と同様である。解析時には，解析ソフトウェア６９を起動する。解析ソフトウェア６９のフローチャートを図２２に示す。
【００９３】
解析ソフトウェアがスタートすると，まず最初に，Ｓ３１でＲＡＭ５５の読み出しタイミング，読み出しアドレスを設定する（Ｓ３１）。
【００９４】
次に，Ｓ３２〜Ｓ３７，Ｓ４１で，設定されたタイミングまで再生動作させる再生処理を行う。再生処理は，再生と同じ動作をするが，設定した読み出しタイミングまで再生すると処理を抜ける。次に，Ｓ３８で，デバッグモニタ５３へのＲＡＭ読み出しコマンド（シリアル信号）をシリアルＩＯボードにより送出し，不具合マイコンのシリアル端子に信号を入力し，デバッグモニタを起動させ，マイコンの処理をデバッグモニタに切り替える（Ｓ３８）。デバッグモニタが起動すると，コマンドを受け付け，指定されたＲＡＭデータをレスポンスとしてシリアルインターフェイス出力から送出する。Ｓ３９で読み出したデータをストレージ６８に保存し（Ｓ３９），Ｓ４０で発振停止する（Ｓ４０）。
【００９５】
デバッグモニタ５３の動作において，読み出しコマンド送出により，ＲＡＭ読み出しまでのタイムラグが生じるが，実施例２で示したインサーキットエミュレータ４６により解析を行うことにより，デバッグモニタ動作時の内部動作が判別するため，コマンド送出後，ＲＡＭ読み出しまでの正確なタイミングをあらかじめ把握することができる。
【００９６】
以上示したように，実施例４では，不具合発生マイコンのＲＡＭ，レジスタの動作を把握するので，不具合解析が容易になる。
【００９７】
（実施例５）
実施例５は，１．不具合の再現性が悪い，という問題と，２．真の不具合と検出された不具合との関連性の解析が困難である，という問題を解決する。実施例４の場合でも，デバッグモニタ動作の１コマンド送出からレスポンス受信までに要するタイムラグが生じる。この間にペリフェラルは動作を継続することとなり，ペリフェラル関連レジスタが変化してしまう可能性がある。ＲＡＭ読み出しのアドレスを順次インクリメントし，ＲＡＭを順に読んだとしても，読み出し動作中にＲＡＭ，レジスタ内容が変化する可能性が高い。従って，デバッグモニタを起動した時点のＲＡＭデータと乖離している可能性があり，信頼性が低い。実施例５ではこの欠点を補い，解析に必要なＲＡＭデータを時間軸に沿って収集する。
【００９８】
実施例５は基本的に実施例４と同じ方法でＲＡＭデータを取得するが，取得するデータをタイムラグの影響が無視可能な数に制限する。再生は何回でも再現可能であるため，ＲＡＭを取得する領域を順次スキャンし，必要な領域のＲＡＭを複数回繰り返して取得する。特定のタイミングのＲＡＭの取得が終了したら，次に取得するタイミングを変えて，時間軸方向に順次スキャンする。以上により，実施例５では，指定のＲＡＭ領域，及び指定の時間範囲におけるレジスタ，ＲＡＭの変化データが得られる。
【００９９】
実施例５では，不具合データ記録時の構成は実施例１と同様である。また，不具合データ記録時の動作も実施例１と同様である。図２３に，実施例５における，不具合データ解析時の構成図を示す。
【０１００】
ワークステーション７７には，自動トレースソフトウェア８０が動作する。ストレージ７９には，記録時に生成した端子トレースデータ８１，レジストトレースデータ８２，ＲＡＭトレースデータ８３が保存されている。
【０１０１】
実施例５における，不具合データ解析時の動作を，自動トレースソフトウェアのフローチャート図２４に示す。プログラムがスタートすると，Ｓ４１で，読み込みタイミング範囲の設定，読み込みアドレスの範囲の設定を行い（Ｓ４１），Ｓ４２で読み出しアドレスを初期化し（Ｓ４２），Ｓ４３〜Ｓ４８，Ｓ５４で，実施例４と同様に，レジスタ，ＲＡＭの状態取得を行う。
【０１０２】
この状態での端子トレースデータ８１，レジスタトレースデータ８２，ＲＡＭトレースデータ８３の相関を，図２５に示す。最初の１回は，「取得済み」で示される領域のレジストデータが取得され，レジストトレースデータに保存される。アドレス範囲を読み出し完了していないため，次の読み出しアドレス（「取得中」で示される領域）に設定され，再生処理→デバッグモニタによるレジスタ読み出しを順次繰り返す。
【０１０３】
指定アドレスを全て読み終えた場合，次の読み出しタイミングを初期値Ｓより＋１インクリメントして設定し，同様にレジスタ，ＲＡＭのトレースデータの収集を継続する。
【０１０４】
全ての読み出しを完了すると，図２６に示す端子トレースデータ８１，レジスタトレースデータ８２，ＲＡＭトレースデータ８３を得ることができる。
【０１０５】
以上示したように，実施例５では，端子トレースデータ８１，レジスタトレースデータ８２，ＲＡＭトレースデータ８３を解析することにより，時系列に沿って詳細に不具合解析作業が可能になる。
【０１０６】
（実施例６）
実施例６は，１．不具合の再現性が悪い，という問題と，２．真の不具合と検出された不具合との関連性の解析が困難である，という問題を解決する。実施例５によって，端子，レジスタ，ＲＡＭの各トレースデータの収集が可能となったが，不具合箇所を解析する必要がある。そこで実施例６では，トレース上での不具合箇所の明確化を目的とし，実施例５で取得したトレースデータに加え，正常マイコンに対しても同様のトレースを取得し，トレースデータ間の差分を得ることにより差異の発生する明確な箇所を判別する。
【０１０７】
実施例６を，図２７のトレース差分マップによって説明する。図２７は，不具合マイコントレースマップと，正常マイコントレースマップと，両者の差分であるトレース差分マップにより構成される。
【０１０８】
実施例６では，解析ボード２４上に正常マイコン４５を装着し，実施例５と同様に正常マイコントレースマップを収集する。収集した後，ワークステーションにおいて，正常マイコントレースマップと不具合マイコントレースマップとを比較し，同値であれば０，異値であれば１となるトレース差分マップを生成する。
【０１０９】
以上示したように，実施例６ではトレース差分マップにおいて「１」の箇所（差分発生箇所）は，正常マイコンと不具合マイコンの値が異なる箇所にある明確な不具合を示しているため，差異発生箇所に注目して解析作業を行うことによって解析精度が向上する。
【０１１０】
（実施例７）
実施例７は，１．不具合の再現性が悪い，という問題と，２．真の不具合と検出された不具合との関連性の解析が困難である，という問題を解決する。実施例６において，差異箇所の明確化は可能になったが，不具合の要因になる事象が別の事象に従属している可能性があり，複数の発生例から解析が必要な場合が多い。本実施例では，複数の発生例から解析するデータ処理法を示す。
【０１１１】
実施例７を，図２８のトレース差分マップの比較説明図によって説明する。本実施例では，不具合マイコンを使用して，不具合発生例を６例発生させ，各々の発生例に関して実施例５と同様にトレース差分マップを求めた。各不具合例において，リセット〜不具合検知までのタイミングは不定であるが，不具合発生を検知した端子トレースデータの差異点を一致させるように各マップをアライメントすることにより，不具合検知前のトレース状態を比較することが可能になる。図２８中に，アライメントした６例のデータの平均値の分布を「トレース差分マップ間平均分布」，ばらつき（３σ）の分布を「トレース差分マップ間３σ分布」として示している。
【０１１２】
実施例７では，得られた６例のトレースマップを，ワークステーションにおいて，端子トレースデータで最初に差異が発生した箇所を合わせるアライメント操作を行い，最も狭いマップに正規化する。次に，正規化されたマップに対し，マップ間の全トレース点の平均と３σ値のマップを，統計処理することにより得る。
【０１１３】
以上示したように，実施例７では，平均のマップと３σのマップとにより，確実に差異が発生する箇所，発生例により変動がある箇所等のグルーピングを行うことで，主事象，従属事象の判別が可能になり，従属事象が発生している場合であっても解析が可能になる。
【０１１４】
（実施例８）
実施例８は，１．不具合の再現性が悪い，という問題を解決する。実施例５によるトレースデータの取得において，リセットから不具合発生が長時間に及ぶ場合，トレースの取得において，長時間の再生を繰り返す必要があり，トレースを得るために長時間を必要とする。そこで実施例８では，任意のマイコンの状態を取得／レジューム（復活）させることにより，繰り返し時間を短縮することを目的とする。
【０１１５】
実施例８において，不具合データ記録時の構成は実施例１と同様である。また，不具合データ再生時の動作も実施例１と同様である。図２９に，実施例８における，復活データ取得時の説明図を示す。不具合データの再生後，トレース取得タイミングＳより前のタイミングに復活タイミングＲを設定する。
【０１１６】
実施例８では，実施例５と同様の方法で復活タイミングＲにおけるレジスタ，ＲＡＭトレースを取得し，復活データ８９として保存する。図３０は，状態の復活とトレース取得の状態を示す図である。図３０において，復活タイミングＲにおける端子状態をマイコンに出力し，デバッグモニタを使用し，復活データのＲＡＭ状態を順次マイコンに書き込む。次に，タイマ等の自前で変化するレジスタを残し，レジスタ状態を書き込む。最後に残ったレジスタを書き込み，保存していた状態が復活可能となる。復活した後，トレースデータ取得タイミングＳに達すると，トレースデータを取得する。
【０１１７】
以上示したように，実施例８では，状態を復活することにより再生時間を大幅に短縮することができ，トレースデータの取得時間の短縮化が図れる。
【０１１８】
（実施例９）
実施例９は，１．不具合の再現性が悪い，という問題と，２．真の不具合と検出された不具合との関連性の解析が困難である，という問題を解決する。実施例５によって，不具合／正常マイコントレースデータの取得が可能になったが，端子，ＲＡＭ，レジスタトレースデータではＣＰＵが処理している命令は判明しない。実施例９では，トレースデータと実行中の命令との融合を目的とする。
【０１１９】
実施例９のシステムを，図３１によって説明する。正常マイコン再生時に，正常マイコンの変わりにエミュレータ４６を使用する。エミュレータ機能により，入出力端子の状態トレース及び命令トレースが取得可能である。
【０１２０】
実施例９では，エミュレータ４６によるトレースデータ９０，９１を，ホストコンピュータ４９により取得し，ワークステーションのストレージ８８に転送する。トレースデータ１５１には，命令トレースデータとレジスタトレースデータとが含まれる。
【０１２１】
既に取得済みのレジスタトレースデータとエミュレータ４６によるレジスタトレースデータの状態を比較し，アライメントを行い，オフセットを取得する。このオフセット命令をトレースデータにも適用することにより，同期した，端子−レジスタ−ＲＡＭ−命令，のトレースを得ることが可能になる。
【０１２２】
以上示したように，実施例９では，命令トレースデータを同期させることにより，より詳細にマイコンの動作を把握することが可能になり，解析精度が向上する。
【０１２３】
（実施例１０）
実施例１０は，１．不具合の再現性が悪い，という問題を解決する。不具合の解析を行う場合，実際の処理速度では速すぎて不具合を見落とすことが発生していた。実施例１０はこの問題を解決する。
【０１２４】
実施例２における記録に関して，図３２に解析ボード構成図を示す。記録時に関しては，実速度１倍にて記録する。また，実施例２における再生に関して，図３３に解析ボード構成図（再生時）を示す。
【０１２５】
実施例１０では，再生時に，クロック制御ボードをワークステーションにより操作し，クロック周波数を調整する。不具合を見落とす場合は，クロックスピードを低下させる。記録時は外部回路があるため実速度でしか動作しない場合があるが，再生時はマイコンに供給するクロックスピードを可変するだけであるため，マイコンが許容する範囲内で自由にクロック速度が可変可能である。
【０１２６】
以上示したように，実施例１０では，再生時のクロックスピードを可変することにより，記録時には発見できなかった不具合が発見しやすくなる。また，実速度では再生に長時間を要する場合には，クロック速度を上げることにより再生時間を短縮できる。
【０１２７】
（実施例１１）
実施例１１は，１．不具合の再現性が悪い，という問題と，３．不具合の再発を防止するテスト方法の確立が困難である，という問題を解決する。従来は，マイコンの不具合を発見してから解析作業を行い，原因を究明した後に不具合が発生したマイコンを検査で失格とするテストプログラムを作成していた。しかしこの作成には非常に時間を要していた。実施例１１は，短時間に不具合マイコンを失格とする検査方法を提供する。
【０１２８】
実施例１１による検査方法を，図３４の解析ボード構成図に示す。実施例１１における検査方法は，実施例２と同様に，不具合マイコン２２の不具合発生の端子トレースデータを取得し，正常マイコンで再生させ，正常マイコンの端子トレースデータを取得しておく。そして検査時には，正常マイコンの端子トレースデータを，評価マイコン９２によって再生する。
【０１２９】
評価マイコン９２が正常であった場合，マイコンの端子出力と端子トレースデータの差異は無いため，差異信号は”Ｌ”のままで再生が終了する。評価マイコン９２に不具合マイコン２２と同等の不具合があった場合は，再生時にマイコンの出力端子と端子トレースデータとの差異が発生し，差異信号が”Ｌ”から”Ｈ”に変化し，異常が発生したことを検知できる。
【０１３０】
以上のように，実施例１１の検査方法により，不具合の原因を解析できていない段階であっても，不具合の発生するマイコンを検査することが可能になる。また，応用として，図３５に示すように，解析ボード２４を複数用意し，各解析ボードの差異信号を多入力（マルチゲート）ＯＲ９４に入力し，論理和の信号を差異信号としてワークステーションに接続することにより，複数のマイコンの検査を同時に行うことが可能になり，検査スループットの向上が期待できる。
【０１３１】
（実施例１２）
以上説明した実施例１〜１１に関しては，デジタル入力端子のみのマイコンに関して適応する。実施例１２は，アナログ入力端子対応＝ＡＤ変換付きのマイコンに適用する。以上示したように，実施例１２では，記録時にはアナログ入力端子の印加電圧を記録する。そして再生時には，再生した電圧をアナログ入力端子に印加することにより，アナログ入力端子付きマイコンに対応する。以下に，実施例１２の記録時，再生時の構成を説明する。
【０１３２】
記録時の，アナログ入力端子付きマイコンに対応したワークステーションに関し，図３６に，アナログ端子対応ワークステーション構成図（記録時）を示す。実施例２のワークステーションに対して，下記の項目が追加される。
【０１３３】
アナログＩＯボード１０３は，アナログ対応記録ソフトウェア９８の制御によって，アナログ入力ポート１０４に対してＡＤ変換を行い，変換結果をストレージ９７上の記録アナログトレースデータ１００に記録する。アナログ端子入力線はアナログ入力ポート１０４に接続されており，アナログ対応記録ソフトウェア９８の制御によりアナログ入力ポート１０４が入力状態に設定され，ＡＤ変換を行う。アナログ端子出力線はアナログ出力ポート１０５に接続されており，アナログ対応記録ソフトウェア９８の制御によりアナログ出力ポート１０５が停止（ハイインピーダンス）状態に設定されている。記録アナログトレースデータ１００は，アナログ入力ポート１０４に入力された電圧のトレースデータである。
【０１３４】
次に，アナログ端子付きマイコンに対応した解析ボードに関して，図３７のアナログ対応解析ボード構成図（記録時）によって説明する。実施例１２では，実施例２の解析ボードに対して次の項目が付加される。アナログ入力端子９３は，マイコンのアナログ入力端子である。アナログ端子入力線は，アナログ入力端子９３の印加電圧を送出する。アナログ端子出力線は，ハイインピーダンス（停止）状態に設定されるため無効である。上記２線は，マイコンソケット３６のアナログ入力端子９３に接続されており，互いに導通している。
【０１３５】
実施例１２における再生時について，図３８に，アナログ入力端子対応ワークステーション構成図（再生時）を示して説明する。
【０１３６】
記録時のワークステーションに対して，次の項目が変更されている。出力アナログトレースデータ１０６は，アナログ対応再生ソフトウェア９８の制御により，記録アナログトレースデータ１００をコピーしたデータである。このデータに従って，アナログ入力端子９３に印加する電圧を生成する。アナログ端子入力線は，アナログ対応再生ソフトウェアの制御により停止状態に設定されている。アナログ端子出力線は，アナログ対応記録ソフトウェア９８の制御により出力状態に設定され，出力アナログトレースデータ１０６を順次ＤＡ変換した電圧を出力する。
【０１３７】
次に，図３９の，アナログ入力端子対応解析ボード構成図（再生時）によって説明する。記録時に対して次の項目が変更されている。アナログ端子入力線は，停止状態に設定されている。アナログ端子出力線は，出力状態に設定されており，アナログ入力端子に対し電圧を印加する。上記２線は，マイコンソケット３６のアナログ入力端子９３に接続されている。
【０１３８】
実施例１２において，記録時は，不具合マイコン２２のアナログ入力端子に対象システムより電圧が印加される。この電圧を，アナログ入力端子→検査プローブ→マイコンソケット→アナログ入力端子線→アナログ入力ポート，の経路を経てアナログＩＯボード１０３に到達し，ＡＤ変換された電圧データを，端子トレースデータ９９と同様に，記録アナログトレースデータ１００に保存する。
【０１３９】
アナログ入力端子の再生においては，記録アナログトレースデータ１００を出力アナログトレースデータ１０６にコピーした後，このデータをアナログＩＯボード１０３にロードし，端子トレースデータ９９と同期してＤＡ変換を行い，アナログ電圧を，アナログ出力ポート→アナログ端子出力線→マイコンソケット→アナログ入力端子，を経由してアナログ入力端子９３に印加する。この動作により，正常マイコン４５のアナログ入力端子９３には，記録時と同じ電圧が印加される。
【０１４０】
以上示したように，実施例１２では，アナログ入力端子をもつマイコンにおいても，記録，再生，解析が可能になる。
【０１４１】
（実施例１３）
実施例１２において，アナログ入力端子に対応する方法を説明したが，実施例１３では，アナログ入力端子＝ＤＡ変換付きマイコンに適応することを目的とする。実施例１３では，記録時には，アナログ出力端子１５５の印加電圧を記録する。そして再生時には，アナログ出力端子１５５より出力された電圧と記録時の電圧の比較を行う。
【０１４２】
以下に，各々の状態に対応した構成を説明する。記録時は，実施例１２と同様である。再生時は，図４０にアナログ出力端子対応ワークステーション構成図（再生時）を示して説明する。記録時のワークステーションに対して，次の項目が変更されている。再生アナログトレースデータ１０７は，アナログＩＯボード１０３によりアナログ端子入力線の電圧をＡＤ変換したデータを保存する。
【０１４３】
次に，図４１にアナログ出力端子対応解析ボード構成図（再生時）を示して説明する。記録時に対して変更はない。記録時は，実施例１２と同様である。再生時は，記録時と同様に，アナログ出力端子１５５の電圧を再生アナログトレースデータ１０７に記録する。再生完了後に，記録時に記録した記録アナログトレースデータ１００と，再生時に記録した再生アナログトレースデータ１０７との比較を行う。
【０１４４】
この比較を，図４２のアナログ出力端子トレースデータ比較図で説明する。図４２において，端子トレースデータ（記録時），記録アナログトレースデータ，アナログトレースデータ差分，再生アナログトレースデータを示す。記録時に取得した不具合マイコン２２の記録アナログトレースデータを比較すると，差異点Ｅにおいてトレース電圧が異なっており，この時点でアナログ出力電圧が異なるという不具合が検知される。
【０１４５】
以上示したように，実施例１３では，アナログ出力端子１５５を持つマイコンにおいて，記録，再生，解析等の動作が可能となり，アナログ出力電圧が異なる不具合に対しても検知可能となる。
【０１４６】
（実施例１４）
実施例１４は，１．不具合の再現性が悪い，という問題を解決する。実施例１２において，アナログ入力端子をもつマイコンにおける記録，再生，解析動作が可能になったが，ＡＤ変換においては，マイコン毎のＡＤ変換個体差が存在し，同じ端子電圧を印加した場合であっても変換値が異なる事象が発生し，再生，解析動作が正常に行われない。実施例１４では，このマイコンの個体差を吸収する方法を提供する。
【０１４７】
実施例１４は，基本的に比較するマイコン相互のアナログ差分特性を収集しておき，トレース使用前に補正をかける方法である。アナログ入力端子のＡＤ変換特性を評価するために，ＡＤ変換器の変換値＝アナログ入力レジスタを読む必要があるため，デバッグモニタを搭載したマイコンを使用する。図４３に，デバッグモニタを使用したマイコンの内部構造を示す。デバッグモニタを搭載したマイコンに関して説明した実施例４と異なる点は，アナログ入力端子１１９と，アナログ入力端子電圧をＡＤ変換した値を保持するアナログ入力レジスタ１１４がある点である。
【０１４８】
実施例１４では，最初に，正常マイコンと不具合マイコンのＡＤ差分特性を取得する。解析ボード２４上のマイコンソケット３６に正常マイコンを搭載し，ワークステーションにおいて，アナログ入力補正ソフトウェア１２３を動作させ，アナログＩＯボードに測定範囲の初期値（本実施例では，０Ｈ）を設定（アナログ入力レジスタ読み出しコマンドをシリアル入力し，読み出し値のレスポンスを得る）し，対応するアナログ電圧を出力し，マイコンのアナログ入力端子に印加する。
【０１４９】
次に，デバッグモニタの機能を利用して，マイコン上でＡＤ変換を行い，ＡＤ変換値＝アナログ入力レジスタを取得する。次に，アナログＩＯボードの設定値をインクリメント（０１Ｈ）し，出力電圧を変化させ，同様にアナログ入力レジスタを取得する。この動作を上限（本実施例では，ＦＦＦＦＨ）まで繰り返し，アナログＩＯボードの出力設定値と，アナログ入力レジスタ値との相関を取得する。図４４は，アナログＩＯボードとアナログ入力レジスタ値との相関図である。アナログＩＯボードの出力設定値を，図４４の（Ａ）に示す。
【０１５０】
次に，搭載するマイコンを，不具合マイコンに交換して同様に相関を取得する。アナログ入力レジスタ値を，図４４の（Ｃ）に示す。これら両相関より，相関特性の差分（図４４の（Ｂ））が得られる。この差分より，アナログ変換特性を補正することが可能になる（図４５）。
【０１５１】
次に，実施例１２と同様に，不具合マイコンに対する記録を行い，記録アナログトレースデータを取得する。実施例１２においては，記録アナログトレースデータを無加工のまま出力アナログトレースデータに複製したが，本実施例では，記録アナログトレースデータに対し，差分特性による補正を行い，出力アナログトレースデータを生成する。この補正により，正常マイコンと不具合マイコンのＡＤ変換後のアナログ入力レジスタ値は一致するはずである。そして再生時には，生成した出力アナログトレースデータを使用する。
【０１５２】
以上示したように，実施例１４では，アナログ入力特性の異なる不具合マイコンと正常マイコンにおいても，差分による補正を行うことによって同等の再生状態を得ることができる。
【０１５３】
（実施例１５）
実施例１５は，１．不具合の再現性が悪い，という問題を解決する。実施例１３において，アナログ出力端子１５５を持つマイコンにおける記録，再生，解析動作が可能になったが，ＤＡ変換においては，マイコン毎のＤＡ変換個体差が存在し，同じ値を設定した場合であっても，出力電圧が異なる事象が発生し，再生，解析動作が正常に行われない場合があった。実施例１５では，この個体差を吸収する方法を提供する。
【０１５４】
実施例１５では，比較するマイコン相互のアナログ差分特性を収集しておき，トレース比較において補正をする。アナログ出力端子のＤＡ変換特性を評価するために，ＤＡ変換器の設定値＝アナログ出力レジスタを書き込む必要があるため，デバッグモニタを搭載したマイコンを使用する。図４６に，デバッグモニタを使用したマイコンの内部構造を示す。
【０１５５】
デバッグモニタを搭載したマイコンに関して説明した実施例４と異なる点は，アナログ出力端子１２９と，アナログ出力電圧の設定値を保持するアナログ出力レジスタ１５２がある点である。
【０１５６】
実施例１５では，最初に，正常マイコンと不具合マイコンのＤＡ差分特性を取得する。まず，解析ボード上のマイコンソケットに正常マイコンを搭載し，ワークステーションにおいて，アナログ出力補正ソフトウェア１２４を動作させ，デバッグモニタ１１１を操作し，アナログ出力レジスタ１５２に設定範囲の初期値（本実施例では，０Ｈ）を設定し（アナログ出力レジスタ書き込みコマンドをシリアルに入力し，書き込み完了レスポンスを得る。），ＤＡ変換動作をさせ，アナログ出力端子にＤＡ変換電圧を出力させ，この電圧をアナログＩＯボード１０３でＡＤ変換し，ＡＤ変換値を読みとる。
【０１５７】
次に，アナログ出力レジスタ値をインクリメント（０１Ｈ）し，出力電圧を変化させ，同様にアナログＩＯボード１０３のＡＤ変換値を読みとる。この動作を上限（本実施例では，ＦＦＨ）まで繰り返し，アナログ出力レジスタ１５２の設定値とアナログＩＯボードのＡＤ変換値の相関を取得する。図４７は，アナログ出力設定値とアナログＩＯボード入力値との相関図である。図４７中に，アナログ出力設定値を（Ａ）に示す。
【０１５８】
次に，搭載するマイコンを不具合マイコンに交換して同様に相関を取得する。アナログＩＯボード入力値を，図４７の（Ｃ）に示す。これら両者の相関より，相関特性の差分ず４７の（Ｂ）が得られ，この差分によりアナログ変換特性を補正することが可能になる。
【０１５９】
次に，実施例１３と同様に不具合マイコンに対する記録を行い，差分特性による補正を行い，比較アナログトレースデータを生成する。この補正により，比較アナログトレースデータは不具合マイコンのアナログ出力値と一致する。再生時には，実施例１３と同様に再生を行い，再生アナログトレースデータを取得する。次に，実施例１３と同様に，比較アナログトレースデータと再生アナログトレースデータの比較を行う（図４８）。
【０１６０】
以上示したように，実施例１５では，アナログ出力特性の異なる不具合マイコンと正常マイコンにおいても，差分による補正を行うことによって個体差に依存しない比較を行うことができる。
【０１６１】
（実施例１６）
実施例１６は，１．不具合の再現性が悪い，という問題と，２．真の不具合と検出された不具合との関連性の解析が困難である，という問題を解決する。実施例４においては，デバッグモニタを使用してマイコンの内部情報を得たが，デバッグモニタはソフトウェアであるためアプリケーションソフトウェアとのリソース競合が発生し，共存が難しい欠点があった。実施例１６は，オンチップデバッガの搭載により，上記の問題を回避することを目的とする。
【０１６２】
図４９に，オンチップデバッガ１３４を搭載したマイコンの内部構成図を示す。実施例１６のオンチップデバッガ１３４は，デバッグ専用のインターフェイス１３７をもち，このデバッガインターフェイス１３７を起動することによりアプリケーションソフトウェア１２７を停止し，ＲＡＭ１２９，レジスタ１３０，１３２等のマイコン１２６のリソースが操作可能な機能をもたせる。
【０１６３】
図５０に，このオンチップデバッガに対応したワークステーションの構成図（解析時）を示す。実施例４からは次の点が変更されている。デバッグインターフェイスボード１５０は，オンチップデバッガ１３４に対応した双方向インターフェイスである。デバッグインターフェイス信号線は，マイコン１２６のデバッガインターフェイス１３７とワークステーション１４０のデバッグインターフェイスボード１５０とを接続する信号線である。
【０１６４】
実施例１６では実施例４と同様に，解析時にマイコン内部の情報を取得し，書き込み時にデバッグモニタの変わりにオンチップデバッガを操作する。
【０１６５】
以上示したように，実施例１６では，モニタデバッガはプログラム中に搭載する必要があるため，ソフトウェア中にデバッグモニタを搭載しないマイコンに関しては本評価システムを使用できない。また，個々のアプリケーションにおいて，デバッグモニタに使用するリソースが変わり，インターフェイスが変わる可能性があったが，オンチップデバッガを搭載したマイコンを使用する場合は，該当マイコン全てに適用可能で，また，同じデバッグインターフェイスをもつため，デバッグインターフェイスボードを共有でき，適用範囲が広がる。
【０１６６】
（実施例１７）
実施例１７は，４．解析システムの構築が困難である，という問題を解決する。以上の実施例１〜１６では，本発明によるシステムを構成するためにはワークステーションで使用する以下の多数のソフトウェアを開発する必要がある。例えば，
・記録ソフトウェア（モジュールあり，デジタル）
・記録ソフトウェア（モジュールあり，デジタル，，アナログ）
・記録ソフトウェア（モジュールなし，デジタル）
・記録ソフトウェア（モジュールなし，デジタル，，アナログ）
・再生ソフトウェア（同上）
・解析ソフトウェア（同上＋モニタデバッガ対応）
・解析ソフトウェア（同上＋オンチップデバッガ対応）
・自動トレースソフトウェア（同上）
・復活ソフトウェア
・・・・・・・・・・などである。
【０１６７】
各々に関して，対象マイコン毎にアナログの有無，デバッグモニタの有無，インターフェイスの種類等の複雑なパラメータがあり，全てのソフトウェアを開発するためには多大な開発工程が必要となる。そこで，実施例１７では，これらのソフトウェアの開発効率を上げるソフトウェア構造を提供することを目的とする。
【０１６８】
図５１に，ホストソフトウェアの構造を示す。デバッグモニタ／オンチップデバッガの違いにより，デバッガインターフェイスが，シリアルＩＯ／デバッグインターフェイスの２種類が存在する。図５１中，ソフトウェアの囲い内は，ワークステーションのソフトウェアの内部構造に関する項目である。
【０１６９】
ソフトウェアは３階層に構造化される。最下層がドライバレイアであり，この階層において，搭載するボードに対応するドライバを提供する。クロック制御ボードに関しては，クロック制御ボードドライバが対応する。
【０１７０】
ドライバレイアの上位には，機能モジュールレイアが存在し，その間には，ドライバＡＰＩ（アプリケーションインターフェイス）が規定されており，このインターフェイスを介して，プロセス間通信を行う。
【０１７１】
ドライバレイアの目的は，異なったボードが搭載された場合であってもドライバ内部でボードの差異を吸収し，同一のドライバＡＰＩを提供することである。例として，デバッグインターフェイスとして実施例４で使用したシリアルＩＯが用いられているが，これを実施例１６で使用したオンチップデバッガに変える場合，インターフェイスボードとドライバの両方を交換することにより，ハードウェアの差をドライバが吸収し，デバッガに関するドライバＡＰＩは変えずに済むため，機能モジュールレイアのソフトウェアモジュールは変更する必要がない。
【０１７２】
機能モジュールレイアの上位にはアプリケーションレイアが存在し，その間には，モジュールＡＰＩが規定されており，このインターフェイスを介して，プロセス間通信を行う。モジュールレイアの目的は，デジタル端子記録処理，デジタル端子再生処理等のソフトウェアを作成する上で必要となる機能単位での処理モジュールを展開することにある。
【０１７３】
機能モジュールは，ハードウェアのアクセスに関しては，ドライバＡＰＩを介してドライバとプロセス間通信を行い，アプリケーションレイアに対しては，モジュールＡＰＩを提供する。
【０１７４】
アプリケーションレイアは，上に列挙した記録ソフトウェア，再生ソフトウェア等のアプリケーションを提供することを目的とし，モジュールＡＰＩを介して機能モジュールをアクセスすることにより機能の実装を簡易化する。
【０１７５】
実施例１７において実際のソフトウェア開発は，ドライバＡＰＩ，モジュールＡＰＩの規定を明確にした上で必要とするハードウェア，個別機能，アプリケーションに関して，個別にドライバ，モジュール，アプリケーションを開発する。
【０１７６】
以上説明したように，実施例１７によるソフト階層構造を実現することにより，各ドライバ，モジュール，アプリケーションの開発が独立に行え，共通したリソースが使用可能であるため，開発効率がよく，柔軟性に富む評価システムの開発が可能になる。
【０１７７】
（実施例１８）
実施例１８は，２．真の不具合と検出された不具合との関連性の解析が困難である，という問題を解決する。対象システムにおいて，マイコン以外の不具合について，再現性が乏しく実速度では減少を補足しきれない等の理由により解析が困難である場合があった。そこで，本発明によるシステムをマイコンを搭載する対象システムに適用すれば，システム全体の不良解析が可能になる。
【０１７８】
図５２に，対象システムへの応用例を示す。解析ボードを検査プローブを介してマイコンを除去したシステムに接続する。
【０１７９】
あらかじめ取得しておいた不具合の発生を記録した端子トレースを再生することにより，システムの不具合が何度でも再生することができる。また，クロック速度を低下することにより，マイコンから外部に送出する信号速度が低下し，システムの不具合減少を補足しやすくなる。
【０１８０】
以上示したように，実施例１８により，マイコン搭載システムにおいて，解析しやすい速度で確実に不具合が再現可能である。このため，システムとしての不具合の解析効率が向上する。
【０１８１】
以上，添付図面を参照しながら本発明のロジックＬＳＩの不良解析システム，及び不良解析方法の好適な実施例について説明したが，本発明はこれらの例に限定されない。いわゆる当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１８２】
【発明の効果】
以上示したように，本発明によれば，不具合の再現性が良い，真の不具合と検出された不具合との関連性の解析が容易である，不具合の再発を防止するテスト方法の確立が容易である，解析システムの構築が容易である，ロジックＬＳＩの不良解析システム，及び不良解析方法が提供できた。
【図面の簡単な説明】
【図１】図１は，実施例１における，不良解析システムの構成を示す概念図である。
【図２】図２は，実施例１における，記録時のワークステーションの構成を示す概念図である。
【図３】図３は，実施例１における，解析ボードの構成を示す概念図である。
【図４】図４は，実施例１における，マイコンインターフェイスモジュールの内部構成を示す概念図である。
【図５】図５は，実施例１における，端子トレースデータの記録図である。
【図６】図６は，実施例１における，再生時のワークステーションの構成を示す概念図である。
【図７】図７は，実施例１における，再生時の解析ボードの構成図である。
【図８】図８は，実施例１における，再生時のマイコンインターフェイスモジュールの構成を示す概念図である。
【図９】図９は，実施例１における，正常マイコン出力と不具合マイコン出力の端子トレースデータの記録図である。
【図１０】図１０は，実施例１における，記録ソフトウェアの動作を示すフローチャートである。
【図１１】図１１は，実施例１における，再生ソフトウェアの動作を示すフローチャートである。
【図１２】図１２は，実施例２における，記録時のワークステーションの構成を示す構成図である。
【図１３】図１３は，実施例２における，記録時の解析ボードの構成を示す概念図である。
【図１４】図１４は，実施例２における，再生時のワークステーションの構成を示す概念図である。
【図１５】図１５は，実施例２における，再生時の解析ボードの構成を示す概念図である。
【図１６】図１６は，実施例２における，端子トレースデータ比較図である。
【図１７】図１７は，実施例３における，不具合データ再生時のシステム構成図である。
【図１８】図１８は，実施例４における，マイコンの内部構成を示す概念図である
【図１９】図１９は，実施例４における，解析時のマイコンの内部構成を示す概念図である。
【図２０】図２０は，実施例４における，不具合データ解析時の解析ボードの構成を示す概念図である。
【図２１】図２１は，実施例４における，解析時のワークステーションの構成を示す概念図である。
【図２２】図２２は，実施例４における，解析ソフトウェアの動作を示すフローチャートである。
【図２３】図２３は，実施例５における，不具合データ解析時のシステムの構成を示す概念図である。
【図２４】図２４は，実施例５における，不具合データ解析時の動作を示す，自動トレースソフトウェアのフローチャートである。
【図２５】図２５は，実施例５における，状態取得中の端子トレースデータ，レジスタトレースデータ，ＲＡＭトレースデータの相関図である。
【図２６】図２６は，実施例５における，状態取得完了後の端子トレースデータ，レジスタトレースデータ，ＲＡＭトレースデータの相関図である。
【図２７】図２７は，実施例６における，トレース差分マップである。
【図２８】図２８は，実施例７における，トレース差分マップである。
【図２９】図２９は，実施例８における，復活データ取得の状態を示すマップである。
【図３０】図３０は，状態の復活とトレース取得の状態を示すマップである。
【図３１】図３１は，実施例９における，データ取得の状態を示すマップである。
【図３２】図３２は，実施例１０における，記録時の解析ボードの構成を示す概念図である。
【図３３】図３３は，実施例１０における，再生時の解析ボード構成を示す概念図である。
【図３４】図３４は，実施例１１おける，検査時の解析ボードの構成を示す概念図である。
【図３５】図３５は，実施例１１における，複数の解析ボードの構成を示す概念図である。
【図３６】図３６は，実施例１２における，記録時のアナログ端子対応ワークステーションの構成を示す概念図である。
【図３７】図３７は，実施例１２における，記録時のアナログ対応解析ボードの構成を示す概念図である。
【図３８】図３８は，実施例１２における，再生時のアナログ入力端子対応ワークステーションの構成を示す概念図である。
【図３９】図３９は，実施例１２における，再生時のアナログ入力端子対応解析ボードの構成を示す概念図である。
【図４０】図４０は，実施例１３における，再生時のアナログ出力端子対応ワークステーションの構成を示す概念図である。
【図４１】図４１は，実施例１３における，再生時のアナログ出力端子対応解析ボードの構成を示す概念図である。
【図４２】図４２は，実施例１３における，アナログ出力端子トレースデータの比較図である。
【図４３】図４３は，実施例１４における，デバッグモニタを使用したマイコンの内部構造を示す概念図である。
【図４４】図４４は，実施例１４における，アナログＩＯボードとアナログ入力レジスタ値との相関図である。
【図４５】図４５は，実施例１４における，相関特性の差分から，アナログ変換特性を補正する動作を説明する概念図である。
【図４６】図４６は，実施例１５における，デバッグモニタを使用したマイコンの内部構造を示す概念図である。
【図４７】図４７は，実施例１５における，アナログ出力設定値とアナログＩＯボード入力値の相関図である。
【図４８】図４８は，実施例１５における，比較アナログトレースデータと再生アナログトレースデータの比較を行う動作を説明する概念図である。
【図４９】図４９は，実施例１６における，オンチップデバッガを搭載したマイコンの内部構成を示す概念図である。
【図５０】図５０は，実施例１６における，解析時のオンチップデバッガに対応したワークステーションの構成を示す概念図である。
【図５１】図５１は，実施例１７における，ホストソフトウェアの構造を示す概念図である。
【図５２】図５２は，実施例１７における，対象システムへの応用例を示す概念図である。
【図５３】図５３は，従来の不良解析の対象システムに，不具合マイコンが組み込まれている状態を示す概念図である。
【図５４】図５４は，正常マイコンの内部構成を示す概念図である。
【図５５】図５５は，不具合マイコンの内部構成を示す概念図である。
【符号の説明】
１　　対象システム
２　　表示回路
３　　入出力回路
４　　内部回路
５　　不具合マイコン
６　　インターフェイス回路
７　　マイコン
８　　ＲＯＭ
９　　アプリケーションソフトウェア
１０　　ＣＰＵ
１１　　ＲＡＭ
１２　　インターフェイスレジスタ
１３　　ペリフェラルレジスタ
１４　　入出力インターフェイス
１５　　ペリフェラル
１６　　入力端子
１７　　出力端子
２０　　制御ブロック
２１　　対象システム
２２　　不具合マイコン
２３　　検査プローブ
２４　　解析ボード
２５　　接続ハーネス
２６　　ワークステーション
２７　　ＣＰＵ
２８　　ストレージ
２９　　記録ソフトウェア
２９’　マイコンインターフェイスモジュール無し対応の記録ソフトウェア
３０　　再生ソフトウェア
３１　　端子トレースデータ（記録時）
３１’　端子トレースデータ（再生時）
３２　　クロック制御ボード
３３　　端子デジタルＩＯボード
３４　　制御デジタルＩＯボード
３５　　マイコンインターフェイスモジュール
３６　　マイコンソケット
３７　　クロックブロック
３８　　端子制御ブロック
３９　　端子信号差異検出ブロック
４０　　端子切断制御部
４１　　制御信号デコーダ
４２　　クロック方向制御部
４３　　クロック入力バッファ
４４　　クロック出力バッファ
４５　　正常マイコン
４６　　エミュレータ
４７　　エミュレータプローブ
４８　　エミュレータケーブル
４９　　ホストコンピュータ
５０　　マイコン
５１　　ＲＯＭ
５２　　アプリケーションソフトウェア
５３　　デバッグモニタソフトウェア
５４　　ＣＰＵ
５５　　ＲＡＭ
５６　　インターフェースレジスタ
５７　　シリアルインターフェイスレジスタ
５８　　ペリフェラルレジスタ
５９　　インターフェイス
６０　　シリアルインターフェイス
６１　　ペリフェラル
６２　　入力端子
６３　　出力端子
６４　　シリアルインターフェイス入力端子
６５　　シリアル出力端子
６６，７７，９５　　ワークステーション
６７，７８，９６　　ＣＰＵ
６８，７９，８８，９７　　ストレージ
６９　　解析ソフトウェア
７０　　端子トレースデータ
７１　　レジスタ状態データ
７２　　ＲＡＭ状態データ
７３，８４　　クロック制御ボード
７４，８５　　端子デジタルＩＯボード
７５，８６　　制御デジタルＩＯボード
７６，８７　　シリアルＩＯボード
８０　　自動トレースソフトウェア
８１　　端子トレースデータ
８２　　レジストトレースデータ
８３　　ＲＡＭトレースデータ
８９　　復活データ
９０　　レジスタトレースデータ
９１　　ＲＡＭトレースデータ
９２　　評価マイコン
９３　　アナログ入力端子
９４　　マルチゲートＯＲ
９８　　アナログ対応記録ソフトウェア
９９　　端子トレースデータ
１００　　記録アナログトレースデータ
１０１　　クロック制御ボード
１０２　　端子デジタルＩＯボード
１０３　　アナログＩＯボード
１０４　　アナログ入力ポート
１０５　　アナログ出力ポート
１０６　　出力アナログトレースデータ
１０７　　再生アナログトレースデータ
１０８，１２６　　マイコン
１０９　　ＲＯＭ
１１０　　アプリケーションソフトウェア
１１１　　デバッグモニタ
１１２，１２８　　ＣＰＵ
１１３，１２９　　ＲＡＭ
１１４　　アナログ入力レジスタ
１１５　　シリアルインターフェースレジスタ
１１６，１３２　　ペリフェラルレジスタ
１１７，１３１　　インターフェース
１１８，１３３　　ペリフェラル
１１９　　アナログ入力端子
１２０　　シリアル入力端子
１２１　　シリアル出力端子
１２２　　ストレージ
１２３　　アナログ入力補正ソフトウェア
１２４　　アナログ出力補正ソフトウェア
１２５　　比較アナログトレースデータ
１２７　　アプリケーションソフトウェア
１２９　　アナログ出力端子
１３０　　インターフェースレジスタ
１３４　　オンチップデバッガ
１３５　　入力端子
１３６　　出力端子
１３７　　デバッガインターフェイス
１４０　　ワークステーション
１５０　　デバッグインターフェイスボード
１５１　　トレースデータ
１５２　　アナログ出力レジスタ
【図１】
2004101203.tif 000003
【図２】
2004101203.tif 000004
【図３】
2004101203.tif 000005
【図４】
2004101203.tif 000006
【図５】
2004101203.tif 000007
【図６】
2004101203.tif 000008
【図７】
2004101203.tif 000009
【図８】
2004101203.tif 000010
【図９】
2004101203.tif 000011
【図１０】
2004101203.tif 000012
【図１１】
2004101203.tif 000013
【図１２】
2004101203.tif 000014
【図１３】
2004101203.tif 000015
【図１４】
2004101203.tif 000016
【図１５】
2004101203.tif 000017
【図１６】
2004101203.tif 000018
【図１７】
2004101203.tif 000019
【図１８】
2004101203.tif 000020
【図１９】
2004101203.tif 000021
【図２０】
2004101203.tif 000022
【図２１】
2004101203.tif 000023
【図２２】
2004101203.tif 000024
【図２３】
2004101203.tif 000025
【図２４】
2004101203.tif 000026
【図２５】
2004101203.tif 000027
【図２６】
2004101203.tif 000028
【図２７】
2004101203.tif 000029
【図２８】
2004101203.tif 000030
【図２９】
2004101203.tif 000031
【図３０】
2004101203.tif 000032
【図３１】
2004101203.tif 000033
【図３２】
2004101203.tif 000034
【図３３】
2004101203.tif 000035
【図３４】
2004101203.tif 000036
【図３５】
2004101203.tif 000037
【図３６】
2004101203.tif 000038
【図３７】
2004101203.tif 000039
【図３８】
2004101203.tif 000040
【図３９】
2004101203.tif 000041
【図４０】
2004101203.tif 000042
【図４１】
2004101203.tif 000043
【図４２】
2004101203.tif 000044
【図４３】
2004101203.tif 000045
【図４４】
2004101203.tif 000046
【図４５】
2004101203.tif 000047
【図４６】
2004101203.tif 000048
【図４７】
2004101203.tif 000049
【図４８】
2004101203.tif 000050
【図４９】
2004101203.tif 000051
【図５０】
2004101203.tif 000052
【図５１】
2004101203.tif 000053
【図５２】
2004101203.tif 000054
【図５３】
2004101203.tif 000055
【図５４】
2004101203.tif 000056
【図５５】
2004101203.tif 000057