(57)【要約】【課題】本発明は、製作過程等におけるデバッグを適切かつ容易に行う半導体集積回路及び検査方法に関する。【解決手段】画像処理装置のＡＳＩＣの搭載する各データ処理機能部１１ａ〜１１ｄは、デバッグ回路２３を搭載しており、デバッグ回路２３は、その状態監視部３１で、転送要求中、データ転送中及びアイドル中の転送状態を遷移してデータ転送を行うＤＭＡＣ２１の現在の転送状態を監視し、カウンタ３３で、該ＤＭＡＣ２１の該各転送状態の継続時間を計時して、該各転送状態の継続時間の計時結果に基づいて該データ転送に異常があるか否かをタイマ３２で判断し、該データ転送に異常があると、その状態保持レジスタ３７が、該ＤＭＡＣ２１の該異常発生時の転送状態を保持する。したがって、状態保持レジスタ３７の内容を読み出すことで、ＡＳＩＣの異常発生時のデータ転送状態を把握できる。【選択図】          図２
2009070046.tif 000002
【特許請求の範囲】
【請求項１】
複数の転送状態を遷移してデータ転送を行うＤＭＡコントローラの現在の転送状態を監視する転送状態監視手段と、該ＤＭＡコントローラの該各転送状態の継続時間を計時する計時手段と、該計時手段による該各転送状態の継続時間の計時結果に基づいて該データ転送に異常があるか否かを判断する判断手段と、該判断手段が該データ転送に異常があると判断すると、前記転送状態監視手段の監視している該ＤＭＡコントローラの転送状態を保持する保持手段と、を有し、該ＤＭＡコントローラの転送状態の継続時間を監視してデバッグ処理を行うデバッグ手段を搭載していることを特徴とする半導体集積回路。
【請求項２】
前記判断手段は、前記計時手段が前記各転送状態の継続時間として予め設定されている規定継続時間を計時すると、該データ転送に異常があると判断することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記半導体集積回路は、複数のＤＭＡコントローラを搭載しており、前記デバッグ手段は、該複数のＤＭＡコントローラのうち予め選択された所定数のＤＭＡコントローラに対して、前記計時手段で計時して前記判断手段で異常の有無を判断し、該選択されたＤＭＡコントローラと他の複数のＤＭＡコントローラのうち適宜のＤＭＡコントローラの転送状態を前記転送状態監視手段で監視して、該判断手段が該選択されたＤＭＡコントローラに異常があると判断すると、該転送状態監視手段の監視している全てのＤＭＡコントローラの転送状態を前記保持手段が保持することを特徴とする請求項１または請求項２記載の半導体集積回路。
【請求項４】
前記デバッグ手段は、前記複数のＤＭＡコントローラのうち前記計時手段で計時して前記判断手段で異常の有無を判断するＤＭＡコントローラを適宜選択する選択手段を備えていることを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記半導体集積回路は、前記データに対して所定のデータ処理を実行するモジュールを搭載し、該モジュールは、少なくとも前記監視対象のＤＭＡコントローラ及び前記デバッグ手段を搭載していることを特徴とする請求項１から請求項４のいずれかに記載の半導体集積回路。
【請求項６】
前記ＤＭＡコントローラは、所定のデータブロック単位でデータ転送を行い、前記デバッグ手段は、該データブロック単位のデータ転送における複数の転送状態のうち、少なくとも、該データブロック単位のデータ転送の要求を発行して受け付けられるまでの転送要求中状態、該データ転送要求が受け付けられてデータ転送を行っている間のデータ転送中状態及び該データブロック単位のデータ転送が完了して次のデータブロック単位のデータ転送の要求を発行するまでのアイドル中状態の３つの転送状態の継続時間を監視して前記デバッグ処理を行うことを特徴とする請求項１から請求項５のいずれかに記載の半導体集積回路。
【請求項７】
複数の転送状態を遷移してデータ転送を行うＤＭＡコントローラの現在の転送状態を監視する転送状態監視処理ステップと、該ＤＭＡコントローラの該各転送状態の継続時間を計時する計時処理ステップと、該計時処理ステップでの該各転送状態の継続時間の計時結果に基づいて該データ転送に異常があるか否かを判断する判断処理ステップと、該判断処理ステップで該データ転送に異常があると判断すると、前記転送状態監視処理ステップで監視している該ＤＭＡコントローラの転送状態を保持する保持処理ステップと、を有し、該ＤＭＡコントローラの転送状態の継続時間を監視してデバッグ処理を行うことを特徴とする検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及び検査方法に関し、詳細には、製作過程等における評価やデバッグを適切かつ容易に行うことのできる複合装置等の画像処理装置に用いられる半導体集積回路及び検査方法に関する。
【背景技術】
【０００２】
従来、ＡＳＩＣ（Application Specific Integrated Circuit）等の半導体集積回路の開発においては、シミュレーションにより、半導体集積回路に様々な入力を与え、半導体集積回路からの出力信号と出力期待値との比較を行なって、期待通りの動作をすることを検証した上で、実際のデバイスを製作している。
【０００３】
このシミュレーションの過程で、期待値通りの出力が得られない場合には、シミュレーションを繰り返し行って、半導体集積回路内部の動作を参考にしながら、解析を行っている（特許文献１、特許文献２等参照）。
【０００４】
ところが、これらの従来技術にあっては、動作の結果が期待通りの動作結果であるか否かしか見ておらず、半導体集積回路内のバスのデータ転送状態については、考慮されていない。
【０００５】
そして、従来、半導体集積回路内のバスの内部情報をモニタする技術が提案されており、例えば、複数の情報伝達経路からトレース条件に従って情報伝達経路を選択し、該選択した情報伝達経路からトレース条件に従って得られるトレース情報とともに該情報の属性情報をバッファ回路に保持して、該バッファ回路に保持されたトレース情報とその属性情報とを所定のフォーマットで半導体集積回路外に直列的に出力する技術が提案されている（特許文献３参照）。
【０００６】
【特許文献１】特開２００３−１１４８６４号公報
【特許文献２】特開２００２−２５１２９６号公報
【特許文献３】特許第３９０９０８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献３記載の従来技術にあっては、複数の情報伝達経路からトレース条件で選択した情報伝達経路のトレース情報とその属性情報のみを半導体集積回路外に直列的に出力するため、半導体評価ソフトウェアでのデータ処理中や実装段階でのデータ処理中に、全ての情報伝達経路で実際にデータの転送が行われているか、あるいは、何らかの問題があってデータ転送が行われていないかを外部から判断することは困難である。
【０００８】
そこで、本発明は、異常発生時のデータ転送状態を簡単かつ適切に把握することのできる半導体集積回路及び検査方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
請求項１記載の発明の半導体集積回路は、複数の転送状態を遷移してデータ転送を行うＤＭＡコントローラの現在の転送状態を監視する転送状態監視手段と、該ＤＭＡコントローラの該各転送状態の継続時間を計時する計時手段と、該計時手段による該各転送状態の継続時間の計時結果に基づいて該データ転送に異常があるか否かを判断する判断手段と、該判断手段が該データ転送に異常があると判断すると、前記転送状態監視手段の監視している該ＤＭＡコントローラの転送状態を保持する保持手段と、を有し、該ＤＭＡコントローラの転送状態の継続時間を監視してデバッグ処理を行うデバッグ手段を搭載していることにより、上記目的を達成している。
【００１０】
この場合、例えば、請求項２に記載するように、前記判断手段は、前記計時手段が前記各転送状態の継続時間として予め設定されている規定継続時間を計時すると、該データ転送に異常があると判断してもよい。
【００１１】
また、請求項１または請求項２の場合、例えば、請求項３に記載するように、前記半導体集積回路は、複数のＤＭＡコントローラを搭載しており、前記デバッグ手段は、該複数のＤＭＡコントローラのうち予め選択された所定数のＤＭＡコントローラに対して、前記計時手段で計時して前記判断手段で異常の有無を判断し、該選択されたＤＭＡコントローラと他の複数のＤＭＡコントローラのうち適宜のＤＭＡコントローラの転送状態を前記転送状態監視手段で監視して、該判断手段が該選択されたＤＭＡコントローラに異常があると判断すると、該転送状態監視手段の監視している全てのＤＭＡコントローラの転送状態を前記保持手段が保持してもよい。
【００１２】
さらに、請求項３の場合、例えば、請求項４に記載するように、前記デバッグ手段は、前記複数のＤＭＡコントローラのうち前記計時手段で計時して前記判断手段で異常の有無を判断するＤＭＡコントローラを適宜選択する選択手段を備えていてもよい。
【００１３】
また、請求項１から請求項４の場合、例えば、請求項５に記載するように、前記半導体集積回路は、前記データに対して所定のデータ処理を実行するモジュールを搭載し、該モジュールは、少なくとも前記監視対象のＤＭＡコントローラ及び前記デバッグ手段を搭載していてもよい。
【００１４】
さらに、請求項１から請求項５の場合、例えば、請求項６に記載するように、前記ＤＭＡコントローラは、所定のデータブロック単位でデータ転送を行い、前記デバッグ手段は、該データブロック単位のデータ転送における複数の転送状態のうち、少なくとも、該データブロック単位のデータ転送の要求を発行して受け付けられるまでの転送要求中状態、該データ転送要求が受け付けられてデータ転送を行っている間のデータ転送中状態及び該データブロック単位のデータ転送が完了して次のデータブロック単位のデータ転送の要求を発行するまでのアイドル中状態の３つの転送状態の継続時間を監視して前記デバッグ処理を行ってもよい。
【００１５】
請求項７記載の発明の検査方法は、複数の転送状態を遷移してデータ転送を行うＤＭＡコントローラの現在の転送状態を監視する転送状態監視処理ステップと、該ＤＭＡコントローラの該各転送状態の継続時間を計時する計時処理ステップと、該計時処理ステップでの該各転送状態の継続時間の計時結果に基づいて該データ転送に異常があるか否かを判断する判断処理ステップと、該判断処理ステップで該データ転送に異常があると判断すると、前記転送状態監視処理ステップで監視している該ＤＭＡコントローラの転送状態を保持する保持処理ステップと、を有し、該ＤＭＡコントローラの転送状態の継続時間を監視してデバッグ処理を行ってもよい。
【発明の効果】
【００１６】
本発明によれば、複数の転送状態を遷移してデータ転送を行うＤＭＡコントローラの現在の転送状態を監視し、該ＤＭＡコントローラの該各転送状態の継続時間を計時して、該各転送状態の継続時間の計時結果に基づいて該データ転送に異常があるか否かを判断し、該データ転送に異常があると、該ＤＭＡコントローラの転送状態を保持するので、半導体集積回路の異常発生時のデータ転送状態を簡単かつ適切に把握することができ、半導体集積回路の製造段階の評価及び製造完了後のデバッグを簡単かつ適切に行うことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００１８】
図１〜図５は、本発明の半導体集積回路及び検査方法の第１実施例を示す図であり、図１は、本発明の半導体集積回路及び検査方法の第１実施例を適用した画像処理装置１の要部概略構成図である。
【００１９】
図１において、画像処理装置１は、ＣＰＵ（Central Processing Unit ）２、メモリ３及び半導体集積回路としてのＡＳＩＣ１０等を備えているとともに、画像処理装置１が、例えば、複合装置であるときには、複合装置として必要な各部、例えば、スキャナエンジン、プリンタエンジン、ファクシミリ通信部、オペレーションパネル等を備えている。
【００２０】
メモリ３は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等で構成され、各種プログラムやデータ、特に、半導体集積回路としてのＡＳＩＣ１０を評価する評価ソフトウェアや必要なデータが格納されている。
【００２１】
ＣＰＵ２は、ＲＯＭ（Read Only Memory）３内のプログラムに基づいて画像処理装置１の各部を制御し、特に、メモリ３内の評価ソフトウェア等のソフトウェア４に基づいてＡＳＩＣ１０の評価を行う。
【００２２】
ＡＳＩＣ１０は、複数（図１では、４つのデータ処理機能部（モジュール）１１ａ〜１１ｄ、ＣＰＵＩ／Ｆ１２、メモリＩ／Ｆ１３及び割り込みコントローラ１４等を搭載しており、各部は、バス１５によって接続されている。
【００２３】
ＣＰＵＩ／Ｆ１２は、外部端子を介してＣＰＵ２と接続されているとともに、バス１５に接続されており、ＣＰＵ２からのアクセスを可能とする。
【００２４】
メモリＩ／Ｆ１３は、外部端子を介してメモリ３と接続されているとともに、バス１５に接続されており、メモリ３へのアクセスを可能とする。
【００２５】
割り込みコントローラ１４は、データ処理機能部１１ａ〜１１ｄの割り込みをまとめてＣＰＵ２に通知する機能を有しており、アナログ１０内の割り込み処理を統括する。
【００２６】
データ処理機能部１１ａ〜１１ｄは、図２に示すように、コア２０、ＤＭＡＣ（Direct Memory Access Controller ：ＤＭＡコントローラ）２１、割り込み制御部２２及びデバッグ回路３０等を備えており、デバッグ回路（デバッグ手段）３０は、状態監視部３１、タイマ３２、カウンタ３３、状態継続最大値設定レジスタ３４、状態監視実行フラグ３５、回路停止状態通知部３６及び状態保持レジスタ３７等を備えている。
【００２７】
コア２０は、該データ処理機能部１１ａ〜１１ｄの担っている画像処理に対応する画像処理を実行する部分であり、例えば、画像入力処理時に必要な画像処理、画像出力時に必要な画像処理、画像拡大・縮小等の変倍処理、画像回転処理等の画像処理を行う。コア２０は、所定の画像処理を完了する等の処理の区切りのタイミングに、割り込み制御部２２に割り込みを発生する。
【００２８】
ＤＭＡＣ２１は、バス１５とコア２０及び割り込み制御部２２とデバッグ回路２３の状態監視部３１に接続されており、ＤＭＡＣ２１は、ディスクリプタをメモリ３から読み込んで、該ディスクリプタに基づいてメモリ３上のデータを読み込んで、コア２０に転送する。すなわち、ＤＭＡＣ２１によるデータ転送では、一般的に、ディスクリプタによってメモリアドレスと転送量を指定することで、データ転送を行い、このディスクリプタをＣＰＵ２がメモリ３のディスクリプタ領域に書き込む。また、ＤＭＡＣ２１によるデータ転送は、所定のデータブロック単位で順次データ転送が行われる。
【００２９】
ＤＭＡＣ２１は、データ転送の完了等の区切りにおいて、割り込み制御部２２に割り込みを発生させる。このＤＭＡＣ２１は、そのデータの転送状態が、アイドル（ＩＤＬＥ）中状態、転送要求中状態及びデータ転送中状態の少なくとも３つの状態に分けられる。このアイドル中状態から転送要求中状態への状態切り替えタイミングは、ＤＭＡＣ２１が転送要求を発行したときであり、転送要求中状態からデータ転送中状態への状態切り替えタイミングは、ＤＭＡＣ２１からの転送要求が受理されたときであり、そして、データ転送中状態からアイドル中状態への状態切り替えタイミングは、ＤＭＡＣ２１がデータ転送を終了したときである。ＤＭＡＣ２１は、データ転送終了等のタイミングに割り込み制御部２２に割り込みを発生する。
【００３０】
デバッグ回路２３の状態監視部３１は、ＤＭＡＣ２１の各状態（アイドル中状態、転送要求中状態及びデータ転送中状態）を監視し、ＤＭＡＣ２１の転送状態が切り変わると、タイマ３２に対して状態変更を通知する状態監視処理を実行する状態監視手段として機能する。
【００３１】
カウンタ３３には、状態継続最大値設定レジスタ３４からＤＭＡＣ２１の各状態の継続時間の最大値がタイマ３２を介して設定されて、状態継続最大値設定レジスタ３４には、ＣＰＵ２から該各状態の継続時間の最大値が適宜設定される。
【００３２】
カウンタ３３は、タイマ３２からのクロックをカウントすることで、該設定された状態継続最大値をカウントして、状態継続最大値をカウントアップする前に、状態監視部３１から状態の切り替わりがタイマ３２を介して通知されると、カウント時間を次の状態の継続時間最大値にリセットして、カウントを開始し、タイマ３２を介して状態監視部３１から状態切り替わりの通知がくる前に、該状態継続時間最大値をカウントアウトすると、カウンタ３３は、タイマ３２にカウントアップを通知する。
【００３３】
タイマ３２は、クロックをカウンタ３３に出力して継続時間最大値をカウントさせ、カウンタ３３が継続時間最大値をカウントアップするか監視して、カウントアップすると、回路停止状態通知部３６にタイムアウトを通知する。したがって、カウンタ３３は、ＤＭＡＣ２１の該各転送状態の継続時間を計時する計時手段として機能し、タイマ３２は、カウンタ３３による該各転送状態の継続時間の計時結果であるカウント結果に基づいてデータ転送に異常があるか否かを判断する判断手段として機能する。
【００３４】
状態監視実行フラグ３５は、デバッグ回路３０を利用するかどうかを切り替えるフラグであり、ＣＰＵ２によってデバッグモードと非デバッグモードとに設定される。ＣＰＵ２は、評価ソフトウェア４が実行されて、ＡＳＩＣ１０のエラーテストを行ってデバッグを実行する際に状態監視実行フラグ３５をデバッグモードに設定する。
【００３５】
回路停止状態通知部３６は、状態監視実行フラグ３５がデバッグモードのときに、タイマ３２からタイムアウトが通知されると、状態保持レジスタ３７に状態監視部３１が現在監視中のＤＭＡＣ２１の転送状態を保持させるとともに、割り込み制御部２２にエラー通知の割り込みを発生する。この割り込み制御部２２へのエラー通知に関しては、通常のＤＭＡＣのエラーステータスの一部として実装する方法が最も簡単な方法であり、このようにすると、通常のエラー処理と同様の方法でデバッグを行なうことができる。
【００３６】
この状態保持レジスタ３７の保持するＤＭＡＣ２１の転送状態は、ＣＰＵ２が読み取ることができる。ＤＭＡＣ２１の転送状態を状態保持レジスタ３７の保持する転送状態で知ることができるが、アドレスマップに余裕がある場合には、独自にレジスタを設けることによって、さらに細かい情報をレジスタとして提示することでデバッグの効率を上げることもができる。
【００３７】
割り込み制御部２２は、コア２０やＤＭＡＣ２１から割り込みがあったり、デバッグ回路２３の回路停止状態通知部３６からエラー通知があると、該割り込みをバス１５を介して割り込みコントローラ１４に送り、割り込みコントローラ１４が各データ処理機能部１１ａ〜１１ｄの割り込み制御部２２からの割り込みをとりまとめてＣＰＵ２に通知して、ＣＰＵ２が、該割り込みに応じた処理を実行する。
【００３８】
次に、本実施例の作用を説明する。本実施例の画像処理装置１の半導体集積回路であるＡＳＩＣ１０は、その搭載する各モジュールであるデータ処理機能部１１ａ〜１１ｄが、バス１５との間のデータ転送状態をＤＭＡＣ２１の転送状態として監視して、異常発生時のデータ転送状態の適切な確認とデータ転送状態を適切に把握する。
【００３９】
すなわち、画像処理装置１では、評価ソフトウェア等のソフトウェア４によって半導体集積回路であるＡＳＩＣ１０の評価を行う場合、該ソフトウェア４をＣＰＵ２で実行して、各データ処理機能部１１ａ〜１１ｄが、そのＤＭＡＣ２１によりメモリ３から所定の画像データ、例えば、テスト用の画像データをコア２０に転送して、コア２０で必要な処理を実行する。
【００４０】
このとき、ハードウェア動作としては、図３に示すように実行される。すなわち、、ＤＭＡＣ２１が起動されると（ステップＳ１０１）、状態監視実行フラグ３５がデバッグモードであるかチェックして（ステップＳ１０２）、デバッグモードであると、タイマ３２が起動して、状態継続最大値設定レジスタ３４に設定された状態継続最大値のカウントをカウンタ３３が開始するとともに（ステップＳ１０３）、状態監視部３１がＤＭＡＣ２１の転送状態を監視する（ステップＳ１０４）。
【００４１】
このとき、ＤＭＡＣ２１は、図４に示すように、転送要求が発行されることで開始される転送要求中状態、転送要求が受理されることで開始されるデータ転送中状態及びデータ転送完了によって開始されるアイドル中状態の少なくとも３つの状態（転送状態）を有しており、状態監視部３１は、ＤＭＡＣ２１がこれらの状態のうちいずれの状態であるかを監視する。
【００４２】
データ処理機能部１１ａ〜１１ｄは、状態監視部３１によるＤＭＡＣ２１の転送状態の監視を開始すると、データ転送が終了したかチェックし（ステップＳ１０５）、データ転送が終了していないときには、ＤＭＡＣ２１によるデータ転送を行って（ステップＳ１０６）、タイマ３２が、カウンタ３３による状態継続最大値のカウントが終了してタイムアウトしたかチェックする（ステップＳ１０７）。
【００４３】
タイマ３２は、カウンタ３３のカウントによるタイムアウトが発生していないときには、ＤＭＡＣ２１の転送状態に変更があったかチェックし（ステップＳ１０８）、変更がないときには、カウンタ３３のカウントアップを継続して（ステップＳ１０９）、ステップＳ１０５に戻って、所定データブロック単位のデータ転送が終了したかの処理から上記同様に処理する（ステップＳ１０５〜Ｓ１０８）。
【００４４】
ステップＳ１０８で、ＤＭＡＣ２１の転送状態変更があると、タイマ３２が、カウンタ３３をリセットして、状態継続最大値設定レジスタ３４が次の状態継続最大値をカウンタ３３にセットし（ステップＳ１１０）、カウンタ３３がカウントアップを開始して（ステップＳ１０９）、ステップＳ１０５に戻って、上記同様に処理を行う（ステップＳ１０５〜Ｓ１１０）。
【００４５】
そして、上記処理を繰り返し行って、ステップＳ１０８でのＤＭＡＣ２１の転送状態変更が発生したり、ステップＳ１０５で全てのデータ転送が終了する前に、ステップＳ１０７でカウンタ３３が状態継続最大値をカウントアップしてタイムアウトすると、タイマ３２が回路停止状態通知部３６にタイムアウトを通知し、回路停止状態通知部３６が、状態保持レジスタ３７に該タイムアウトしたときに状態監視部３１が監視しているＤＭＡＣ２１の転送状態を保持させる（ステップＳ１１１）。また、回転中止状態通知部３６は、タイマ３２からタイムアウトが通知されると、割り込み制御部２２にエラー割り込みを発生し、割り込み制御部２２は、割り込みコントローラ１４にエラー割り込みを通知して、転送処理を終了する（ステップＳ１１２）。
【００４６】
なお、ステップＳ１０２で、デバッグモードでないときには、タイマ３２及びカウンタ３３による状態継続最大値のカウントを開始することなく、また、状態監視部３１によるＤＭＡＣ２１の監視を行うことなく、ステップＳ１０５に移行して、上記同様に、処理してデータ転送を行う（ステップＳ１０５〜Ｓ１１３）。
【００４７】
そして、上記ＤＭＡＣ２１によるデータ転送処理でのデバッグを行う場合、ソフトウェア４での処理としては、図５に示すように実行する。すなわち、ソフトウェア４は、ＡＳＩＣ１０内でのデバッグ対象のデータ処理機能部１１ａ〜１１ｄ、例えば、データ処理機能部１１ｄをデバッグモードに設定し、図５に示すように、ＤＭＡＣ２１によるデータ転送におけるパラメータ（データ転送用パラメータ）の設定を行って（ステップＳ２０１）、次に、該デバッグ対象のデータ処理機能部１１ａ〜１１ｄの状態継続最大値設定レジスタ３４にエラー時間である状態継続最大値（状態継続最大時間）を設定する（ステップＳ２０２）。パラメータの設定を行うと、ソフトウェア４は、ＤＭＡＣ２１を起動させ（ステップＳ２０３）、割り込みコントローラ１４から該デバッグ対象のデータ処理機能部１１ａ〜１１ｄから割り込み通知があるのを待って（ステップＳ２０４）、割り込みが発生したかチェックする（ステップＳ２０５）。この割り込み通知は、ＣＰＵ割り込みを利用してもよいし、ＡＳＩＣ１０の割り込みステータスをポーリングする方法で行ってもよい。
【００４８】
ソフトウェア４は、ＤＭＡＣ２１の転送状態の変更等によるか、デバッグ回路３０からの割り込みが発生するのを待って（ステップＳ２０４、Ｓ２０５）、割り込みが発生すると、デバッグ対象のデータ処理機能部１１ａ〜１１ｄの割り込み制御部２２のレジスタを読み込んで、割り込みステータスを確認し（ステップＳ２０６）、エラーが発生したかチェックする（ステップＳ２０７）。すなわち、割り込み制御部２２のレジスタ（割り込みステータスレジスタ）には、発生した割り込みのステータス、すなわち、割り込みがＤＭＡＣ２１からの転送状態の変化を通知する割り込みであるか、コア２０からのデータ処理の終了等の通知を行う割り込みであるのか、それとも、デバッグ回路３０からのエラー割り込みであるのかを示すステータス（状態情報）が格納されており、ソフトウェア４は、この割り込み制御部２２のレジスタを読み込んで、エラーが発生したかチェックする。そして、上述のように、デバッグ回路２３は、状態監視部３１の監視しているＤＭＡＣ２１の転送状態が継続して、カウンタ３３が状態継続最大値設定レジスタ３４によって設定された状態継続最大値をカウントアップしてタイムアウトすると、タイマ３２が、回路停止状態通知部３６にタイムアウトを通知し、回路停止状態通知部３６が、タイマ３２からタイムアウト通知があると、割り込み制御部２２にエラー割り込みを発生する。
【００４９】
ソフトウェア４は、割り込み制御部２２のステータスレジスタを読み取った結果、ステップＳ２０７で、エラーが発生しているときには、状態保持レジスタ（エラーステータスレジスタ）３７の内容を読み込んで、エラーステータス、すなわち、エラー発生時のＤＭＡＣ２１の転送状態を確認して、処理を終了する（ステップＳ２１０）。
【００５０】
このとき、ソフトウェア４は、状態保持レジスタ３７の保持するＤＭＡＣ２１の転送状態情報がアイドル以外の状態の場合には、ＤＭＡＣ２１のメモリアクセスに何らかの問題があると判断する。
【００５１】
ステップＳ２０７で、エラーが発生していないときには、ソフトウェア４は、通常の処理での割り込みであると判断して、通常の割り込み処理を行い（ステップＳ２０８）、データ転送が終了したかチェックする（ステップＳ２０９）。
【００５２】
ステップＳ２０９で、データ転送が完了していないときには、ソフトウェア４は、ステップＳ２０４に戻って割り込み待ちから上記同様に処理し、ステップＳ２０９で、データ転送が完了すると、処理を終了する。
【００５３】
このように、本実施例の画像処理装置１のＡＳＩＣ１０は、デバッグ回路２３を搭載しており、デバッグ回路２３は、その状態監視部３１で、複数の転送状態を遷移してデータ転送を行うＤＭＡＣ２１の現在の転送状態を監視し、そのタイマ３２とカウンタ３３で、該ＤＭＡＣ２１の該各転送状態の継続時間を計時して、該各転送状態の継続時間の計時結果に基づいて該データ転送に異常があるか否かをタイマ３２で判断し、該データ転送に異常があると、その状態保持レジスタ３７が、該ＤＭＡＣ２１の該異常発生時の転送状態を保持する。
【００５４】
したがって、半導体集積回路であるＡＳＩＣ１０の異常発生時のデータ転送状態を簡単かつ適切に把握することができ、ＡＳＩＣ１０の製造段階の評価及び製造完了後のデバッグ等を簡単かつ適切に行うことができる。
【００５５】
また、本実施例の画像処理装置１のＡＳＩＣ１０の搭載するデバッグ回路２３は、カウンタ３３が、ＤＭＡＣ２１の各転送状態の継続時間として予め設定されている規定継続時間である状態継続最大値を計時すると、タイマ３が、該データ転送に異常があると判断している。
【００５６】
したがって、ＤＭＡＣ２１のデータ転送の異常の有無を簡単かつ正確に判断することができる。
【００５７】
さらに、本実施例のＡＳＩＣ１０は、データに対して所定のデータ処理を実行するモジュールであるデータ処理機能部１１ａ〜１１ｄを搭載しており、各データ処理機能部１１ａ〜１１ｄが、監視対象のＤＭＡＣ２１及びデバッグ回路２３を搭載している。
【００５８】
したがって、複数のモジュールであるデータ処理機能部１１ａ〜１１ｄ毎に、簡単な構成で、該データ処理機能部１１ａ〜１１ｄのＤＭＡＣ２１によるデータ転送の異常の有無を判断することができ、デバッグ処理をより一層簡単かつ適切に行うことができる。
【００５９】
また、本実施例のデバッグ回路２３は、ＤＭＡＣ２１のデータブロック単位のデータ転送における複数の転送状態のうち、少なくとも、転送要求中状態、データ転送中状態及びアイドル中状態の３つの転送状態の継続時間を監視してデバッグ処理を行っている。
【００６０】
したがって、データ転送に異常が発生した際に、ＤＭＡＣ２１が転送要求中状態、データ転送中状態及びアイドル中状態のいずれの状態にあるかを知ることができ、デバッグをより一層適切かつ詳細に行うことができる。
【実施例２】
【００６１】
図６は、本発明の半導体集積回路及び検査方法の第２実施例を適用した画像処理装置のデータ処理機能部１１ａ〜１１ｄの要部ブロック構成図である。
【００６２】
なお、本実施例は、上記第１実施例の画像処理装置１と同様の画像処理装置に適用したものであり、本実施例の説明においては、上記第１実施例と同様の構成部分には、同一の符号を付してその詳細な説明を省略するとともに、図示しない部分についても、必要に応じて第１実施例の説明で用いた符号をそのまま用いて説明する。
【００６３】
図６において、データ処理機能部１１ａ〜１１ｄは、第１実施例の画像処理装置１と同様に、ＡＳＩＣ１０上に搭載され、第１実施例のデータ処理機能部１１ａ〜１１ｄと同様のコア２０を備えているとともに、複数（図６では、２個）のリードＤＭＡＣ４１、４２、複数（図６では、２個）のライトＤＭＡＣ４３、４４、割り込み制御部４５及びデバッグ回路５０を備えている。
【００６４】
各リードＤＭＡＣ４１、４２は、メモリ３上のデータをバス１５を介してコア２０にＤＭＡ転送し、ライトＤＭＡＣ４３、４４は、リードＤＭＡＣ４１、４２によってコア２０に送られてコア２０で処理されたデータをバス１５を介してメモリ３上にＤＭＡ転送する。
【００６５】
デバッグ回路５０は、上記第１実施例のデバッグ回路３０と同様のタイマ３２、カウンタ３３、状態継続最大値設定レジスタ３４、状態監視実行フラグ３５及び回路停止状態通知部３６を備えているとともに、状態監視部群５１と状態保持レジスタ５２を備えている。
【００６６】
状態監視部群５１は、ＤＭＡＣ４１〜４４の数に対応した数だけの状態監視部５３〜５６を備えており、各状態監視部５３〜５６は、それぞれ対応するＤＭＡＣ４１〜４４の各状態（アイドル中状態、転送要求中状態及びデータ転送中状態）を監視し、監視しているＤＭＡＣ４１〜４４の転送状態を状態保持レジスタ５２に出力する。状態監視部５３〜５６のうちライトＤＭＡＣ４４の転送状態を監視する状態監視部５３は、タイマ３２に接続されており、ライトＤＭＡＣ４４の転送状態が切り変わると、タイマ３２に対して状態変更を通知する。
【００６７】
このように、状態監視部群５１の複数の状態監視部５３〜５６のうち状態監視部５６のみがタイマ３２に接続されているのは、リードＤＭＡＣ４４のデータ転送状態を監視することで、他のＤＭＡＣ４１〜４５のデータ転送が正常に行われているか、コア２０でのデータ処理が正常に行われているかを判断することができるためである。すなわち、いま、ライトＤＭＡＣ４４は、リードＤＭＡＣ４１、４２によってメモリ３からコア２０に転送されてコア２０で処理されたデータのメモリ３へのデータ転送をライトＤＭＡＣ４４で主に行うものとすると、このライトＤＭＡＣ４４の転送状態を監視することで、データ転送の異常の有無を検出することができる。
【００６８】
そして、上記第１実施例と同様に、状態継続最大値設定レジスタ３４には、ＣＰＵ２からライトＤＭＡＣ４４の各転送状態の継続時間の最大値が適宜設定され、状態継続最大値設定レジスタ３４は、該設定されたライトＤＭＡＣ４４の各転送状態の継続時間の最大値をタイマ３２を介してカウンタ３３に設定する。
【００６９】
カウンタ３３は、タイマ３２からのクロックをカウントすることで、該設定された状態継続最大値をカウントして、状態継続最大値をカウントアップする前に、状態監視部５６から転送状態の切り替わりがタイマ３２を介して通知されると、カウント時間を次の状態の継続時間最大値にリセットして、カウントを開始し、タイマ３２を介して状態監視部５６から状態切り替わりの通知がくる前に、該状態継続時間最大値をカウントアウトすると、カウンタ３３は、タイマ３２にカウントアップを通知する。
【００７０】
タイマ３２は、カウンタ３３が継続時間最大値をカウントアップするか監視して、カウントアップすると、回路停止状態通知部３６にタイムアウトを通知する。
【００７１】
状態監視実行フラグ３５は、上述のように、デバッグ回路３０を利用するかどうかを切り替えるフラグであり、ＣＰＵ２によってデバッグモードと非デバッグモードとに設定される。ＣＰＵ２は、評価ソフトウェアが実行されて、ＡＳＩＣ１０のエラーテストを行ってデバッグを実行する際に状態監視実行フラグ３５をデバッグモードに設定する。
【００７２】
回路停止状態通知部３６は、状態監視実行フラグ３５がデバッグモードのときに、タイマ３２からタイムアウトが通知されると、状態保持レジスタ５２に状態監視部５３〜５６が現在監視中のＤＭＡＣ４１〜４４の状態を保持させるとともに、割り込み制御部４５にエラー通知の割り込みを発生する。
【００７３】
割り込み制御部４５には、上記デバッグ回路５０の回路停止状態通知部３６からのエラー通知の割り込みだけでなく、各ＤＭＡＣ４１〜４４からの通常の処理割り込みも入力され、さらに、コア２０から通常の処理割り込みが入力される。割り込み制御部４５は、これらの割り込みが発生すると、その状態を内部レジスタに保管するとともに、割り込みコントローラ１４に割り込みをバス１５を介して送り、割り込みコントローラ１４が各データ処理機能部１１ａ〜１１ｄからの割り込みをとりまとめてＣＰＵ２に通知して、ＣＰＵ２が、該割り込みに応じた処理を実行する。
【００７４】
このように、本実施例の画像処理装置１は、半導体集積回路であるＡＳＩＣ１０が、その搭載するデータ処理機能部１１ａ〜１１ｄとバス１５との間のデータ転送状態を、各データ処理機能部１１ａ〜１１ｄの搭載する複数のＤＭＡＣ４１〜４４のうち、代表的なＤＭＡＣ４４の状態を監視することで監視して、異常発生の適切な確認とデータ転送状態を適切に把握する。
【００７５】
したがって、複数のＤＭＡＣ４１〜４４によるデータ転送の異常の有無を簡単な構成で、適切かつ安価に把握することができ、複数のＤＭＡＣ４１〜４４を搭載するＡＳＩＣ１０のデバッグを安価にかつ適切に処理することができる。
【００７６】
本実施例では、４つのＤＭＡＣ４１〜４４のうち、データ転送の確認を行うことのできる代表的なＤＭＡＣとして、ライトＤＭＡＣ４４を選択して、ライトＤＭＡＣ４４の転送状態の変化を状態監視部５６で監視して、カウンタ３３が継続時間最大値をカウントする前に転送状態が変化しているかによってエラー発生の有無を確認しているが、監視するＤＭＡＣ４１〜４４は、予め選択したものに固定される場合に限るものではなく、例えば、図７に示すように、監視するＤＭＡＣ４１〜４４を適宜選択できるようにしてもよい。
【００７７】
すなわち、図７において、ＡＳＩＣ１０に搭載されているデータ処理機能部１１ａ〜１１ｄに、図６と同様のコア２０、リードＤＭＡＣ４１、４２、ライトＤＭＡＣ４３、４４、割り込み制御部４５を設けるとともに、デバッグ回路６０を設け、デバッグ回路６０に、図６と同様のタイマ３２、カウンタ３３、状態継続最大値設定レジスタ３４、状態監視実行フラグ３５、回路停止状態通知部３６及び状態保持レジスタ５２を設けるとともに、状態監視部群６１、セレクタ６２及び監視ＤＭＡＣ指示部６３を設ける。そして、状態監視部群６１を、ＤＭＡＣ４１〜４４に対応させて４つの状態監視部６４〜６７で構成し、各状態監視部６４〜６７は、対応するＤＭＡＣ４１〜４４の各転送状態（アイドル中状態、転送要求中状態及びデータ転送中状態）を監視し、監視しているＤＭＡＣ４１〜４４の転送状態を状態保持レジスタ５２に出力するとともに、状態が切り替わると、セレクタ６２に状態変更を出力する。
【００７８】
セレクタ６２は、状態監視部６４〜６７のうち、監視ＤＭＡＣ指示部６３によって指示された状態監視部６４〜６７の出力する状態変更を選択して、タイマ３２に出力する。
【００７９】
監視ＤＭＡＣ指示部６３には、ＣＰＵ２によって転送状態を監視するＤＭＡＣ４１〜４４、すなわち、セレクタ６２によってその状態変更出力をタイマ３２に出力する状態監視部６４〜６７を指定する指示情報が書き込まれる。
【００８０】
したがって、複数のＤＭＡＣ４１〜４４のうちＡＳＩＣ１０の利用形態やエラー状況等に応じて代表的なＤＭＡＣ４１〜４４を容易に選択して、該選択したＤＭＡＣ４１〜４４のデータ転送の異常の有無を判断することで、複数のＤＭＡＣを搭載するＡＳＩＣ１０のデバッグを安価にかつ適切に処理することができる。
【００８１】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８２】
本発明は、製作過程等でデバッグを行う複合装置等の画像処理装置に用いられるＡＳＩＣ等の半導体集積回路及び検査方法に利用することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１実施例を適用した画像処理装置の要部概略構成図。
【図２】図１のデータ処理機能部の要部ブロック構成図。
【図３】図２のデータ処理機能部によるデバッグ処理を示すフローチャート。
【図４】図２のＤＭＡＣの転送状態の変化とタイムカウントの説明図。
【図５】図１のソフトウェアによるデバッグ処理を示すフローチャート。
【図６】本発明の第２実施例を適用した画像処理装置のデータ処理機能部の要部ブロック構成図。
【図７】図６のデータ処理機能部の他の例の要部ブロック構成図。
【符号の説明】
【００８４】
１  画像処理装置
２  ＣＰＵ
３  メモリ
４  ソフトウェア
１０  ＡＳＩＣ
１１ａ〜１１ｄ  データ処理機能部
１２  ＣＰＵＩ／Ｆ
１３  メモリＩ／Ｆ
１４  割り込みコントローラ
１５  バス  ２０  コア
２１  ＤＭＡＣ
２２  割り込み制御部
３０  デバッグ回路
３１  状態監視部
３２  タイマ
３３  カウンタ
３４  状態継続最大値設定レジスタ
３５  状態監視実行フラグ
３６  回路停止状態通知部
３７  状態保持レジスタ
４１、４２  リードＤＭＡＣ
４３、４４  ライトＤＭＡＣ
４５  割り込み制御部
５０  デバッグ回路
５１  状態監視部群
５２  状態保持レジスタ
５３〜５６  状態監視部
６０  デバッグ回路
６１  状態監視部群
６２  セレクタ
６３  監視ＤＭＡＣ指示部
６４〜６７  状態監視部
【図１】
2009070046.tif 000003
【図２】
2009070046.tif 000004
【図３】
2009070046.tif 000005
【図４】
2009070046.tif 000006
【図５】
2009070046.tif 000007
【図６】
2009070046.tif 000008
【図７】
2009070046.tif 000009