(57)【要約】【課題】所望の出力を得ることができる半導体集積回路を提供する。【解決手段】結果判定器６で、自己パターン発生器８によって画像処理Ａブロック２が動作した結果、各ブロックにおけるモニタ信号が、予め設定された所定の状態となっているかを判定する。次に、記憶器７で、結果判定器６が所定の状態となっていると判定した際の自己パターン発生器８の出力を保存信号として保存する。そして、自己パターン発生器８で、記憶器７に保存されている保存信号に基づいて画像処理Ａブロック２に対するテストパターンを生成する。【選択図】図１
2017045090.tif 000002
【特許請求の範囲】
【請求項１】
内部回路を有する半導体集積回路において、
前記内部回路が動作した状態が、予め設定された所定の状態となっているかを判定する判定部と、
前記判定部が前記所定の状態となっていると判定した際に当該内部回路に入力された信号を保存信号として保存する保存部と、
前記保存部に保存されている前記保存信号に基づいて前記内部回路に対するテストパターンを生成するテストパターン生成部と、
を有することを特徴とする半導体集積回路。
【請求項２】
前記テストパターン生成部は、前記テストパターンに、前記保存信号を含ませることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記テストパターン生成部は、前記テストパターンに、前記保存信号を含ませないことを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記保存部は、前記判定部が前記所定の状態となっていると判定した際の前又は後の複数サイクル分の前記内部回路に入力された信号を前記保存信号として保存することを特徴とする請求項１乃至３のうちいずれか一項に記載の半導体集積回路。
【請求項５】
前記判定部は、更に外部から入力される外部入力信号が、予め設定された所定の状態となっているかを判定することを特徴とする請求項１乃至４のうちいずれか一項に記載の半導体集積回路。
【請求項６】
請求項１乃至５のうちいずれか一項に記載の半導体集積回路を有することを特徴とする電子機器。
【請求項７】
前処理部と、
前記前処理部からの出力信号が入力される請求項１乃至５のうちいずれか一項に記載の半導体集積回路と、
前記半導体集積回路の出力信号に所定の処理を施す後処理部と、
を有することを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及び電子機器に関する。
【背景技術】
【０００２】
システムＬＳＩ（Large Scale Integration）等の半導体集積回路が搭載されるボードやモジュール等を有する電子機器は、当該システムＬＳＩ等の大規模化や複雑化に伴い、開発時等におけるデバッグが容易ではなく、デバッグの容易化や効率化が求められている。
【０００３】
例えば、特許文献１には、システムＬＳＩ１にデバック・トレース回路３を設けることが開示されている。特許文献１に記載のデバック・トレース回路３は、イベント検出部３１、制御部３２、制御情報リスト保持部３３を有している。また、制御情報リスト保持部３３は、制御情報リスト４を有している。制御部３２は、制御情報リスト４の検出条件指示部４２に規定された観測対象とするイベントの検出条件に基づいて、イベント検出部３１が規定されたイベントの検出等に応じて動作指示部４３に規定された動作を行なう。
【０００４】
また、特許文献２には、デバッグ信号Ｓ２を比較データＳ５として選択し出力する比較データ選択回路５と、デバッグ動作に必要な期待値を格納するフィルタリング条件テーブル１Ａと、を備えることが開示されている。更に、期待値を選択し出力するパターン選択回路６と、比較データＳ５と期待値との一致検出を行うデータ比較回路８Ａと、を備えることが開示されている。
【０００５】
また、従来から、システムＬＳＩ内部にテストパターン発生器等を備え、テストパターン発生器が発生したテストパターンによる内部回路等の動作結果と期待値とを比較してシステムＬＳＩの動作試験を行う方法（ＢＩＳＴ（Built-In Self-Test）等）は周知である。
【０００６】
しかしながら、特許文献１に記載された方法の場合、イベントの検出に基づいてイベントデータの出力等を行うものであり、システムＬＳＩ自体は通常動作を行っているため、任意のタイミングでシステムＬＳＩから所望の出力を得ることはできなかった。また、イベントの検出が条件となっているので、モニタする内部の信号等を個別に選択できないという問題もあった。
【０００７】
また、特許文献２に記載された方法も同様であり、選択されたデバッグ信号と期待値との一致を検出しているのみであり、システムＬＳＩ自体は通常動作を行っているため、任意のタイミングでシステムＬＳＩから所望の出力を得ることはできなかった。
【０００８】
また、ＢＩＳＴは、システムＬＳＩ自体の内部素子等の故障検出を目的とするものであり、システムＬＳＩの後段も含めた動作のデバッグは考慮されない。即ち、システムＬＳＩから所望の出力を得ることまでは考慮されていなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明はかかる問題を解決することを目的としている。即ち、本発明は、例えば、所望の出力を得ることができる半導体集積回路を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記に記載された課題を解決するために、本発明は、内部回路を有する半導体集積回路において、前記内部回路が動作した状態が、予め設定された所定の状態となっているかを判定する判定部と、前記判定部が前記所定の状態となっていると判定した際に当該内部回路に入力された信号を保存信号として保存する保存部と、前記保存部に保存されている前記保存信号に基づいて前記内部回路に対するテストパターンを生成するテストパターン生成部と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、判定部が予め設定された所定の状態となっていると判定した際の入力信号である保存信号に基づいて内部回路に対するテストパターンを生成することができる。従って、保存信号によって所望の出力を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態にかかる半導体集積回路のブロック構成図である。
【図２】図１に示された結果判定器の概略構成図である。
【図３】図１に示された結果判定器の動作のタイミングチャートである。
【図４】図１に示された結果判定器でモニタ信号が複数ビットの場合の動作のタイミングチャートである。
【図５】図１に示された自己パターン発生器の概略構成図である。
【図６】図１に示された自己パターン発生器から出力されるテストパターンの例である。
【図７】本発明の第２の実施形態にかかる半導体集積回路の結果判定器の比較器の回路図例である。
【図８】図７に示された比較器の動作のタイミングチャートである。
【図９】本発明の第３の実施形態にかかる半導体集積回路の自己パターン発生器の概略構成図である。
【図１０】図９に示された自己パターン発生器の動作のタイミングチャートである。
【図１１】図９に示された自己パターン発生器で除外するデータが複数ある場合の動作のタイミングチャートである。
【図１２】図９に示された構成の複数サイクルのデータを除外する場合の比較器の回路図例である。
【図１３】図１２に示された比較器の動作のタイミングチャートである。
【図１４】図１２に示された比較器の動作のタイミングチャートである。
【図１５】本発明の第４の実施形態にかかる電子機器の概略構成図である。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
本発明の第１の実施形態にかかる半導体集積回路を図１乃至図７を参照して説明する。まず、本実施形態にかかる半導体集積回路１は、図１に示したように、画像処理Ａブロック２と、画像処理Ｂブロック３と、画像処理Ｃブロック４と、セレクタ５、９、１０、１１と、結果判定器６と、記憶器７と、自己パターン発生器８と、を有している。
【００１４】
画像処理Ａブロック２、画像処理Ｂブロック３、画像処理Ｃブロック４は、それぞれ所定の画像処理を行う回路ブロックである。なお、画像処理Ａブロック２、画像処理Ｂブロック３、画像処理Ｃブロック４は、互いに異なる種類の画像処理を行うもように構成されていてよいし、１つのアルゴリズムを３つに分けて処理するように構成されていてもよい。即ち、画像処理Ａブロック２、画像処理Ｂブロック３、画像処理Ｃブロック４は、特許請求の範囲の内部回路に相当する。また、本実施形態では、内部回路として画像処理を行う回路で説明するが、内部回路が行う処理は画像処理に限らず、半導体集積回路１が通常動作時に発揮する機能を行う回路ブロックであればよい。
【００１５】
セレクタ５は、画像処理Ａブロック２、画像処理Ｂブロック３、画像処理Ｃブロック４のそれぞれからモニタする信号（モニタ信号Ａ、モニタ信号Ｂ、モニタ信号Ｃ）を選択して結果判定器６に出力する。セレクタ５の切り換えは、例えば半導体集積回路１の外部端子やレジスタ等の設定によって行えばよい。なお、モニタ信号Ａ〜Ｃは、それぞれ１本（１種類）に限らない。１ブロックから複数種類のモニタ信号が出力されている場合は、その選択もセレクタ５で行ってよい。即ち、本実施形態では、モニタ信号を、内部回路が動作した状態を示す情報として利用している。
【００１６】
セレクタ９は、通常動作入力と自己パターン発生器８の出力とから画像処理Ａブロック２に入力する信号を選択する。セレクタ１０は、画像処理Ａブロック２と自己パターン発生器８とから画像処理Ｂブロック３に入力する信号を選択する。セレクタ１１は、画像処理Ｂブロック３と自己パターン発生器８とから画像処理Ｃブロック４に入力する信号を選択する。これらセレクタ９〜１１の切り換えは、後述するテスト動作を行う際に対象とするブロックを選択して、セレクタ５と同様に、例えば半導体集積回路１の外部端子やレジスタ等の設定によって行えばよい。
【００１７】
結果判定器６は、セレクタ５で選択されたモニタ信号Ａ〜Ｃと予め設定された期待値とを比較して、その際の自己パターン発生器８から出力されている信号を記憶器７に出力する。結果判定器６の例を図２に示す。即ち、結果判定器６は、内部回路が動作した状態が、予め設定された所定の状態となっているかを判定する判定部として機能する。
【００１８】
結果判定器６は、比較器６０を有している。比較器６０は、モニタ信号（ｍｏｎｉｔｏｒ）が内部のレジスタ等に設定された期待値と一致するか否かを検出する。一致した場合は、そのときの自己パターン発生器８の出力（ｄａｔａ＿ｉｎ）を、内部回路が所定の状態となるための入力信号（ｄａｔａ＿ｃａｔｃｈ）として記憶器７に出力するとともに、割り込み信号（ｅｘｐ＿ｉｎｔ）を自己パターン発生器８に出力する。
【００１９】
図２は、画像処理Ａブロック２の１ビットの信号であるｅｒｒをモニタ信号とする例である。比較器６０は、ｅｒｒがアクティブ（例えばＨｉｇｈレベル）のときのｄａｔａ＿ｉｎの値を、ｄａｔａ＿ｃａｔｃｈとして記憶器７に出力するとともに、ｅｘｐ＿ｉｎｔを自己パターン発生器８に出力する。
【００２０】
図３に図２に示した結果判定器６の動作のタイミングチャートの例を示す。ｓｔａｒｔは、例えば半導体集積回路１の外部端子やレジスタへの書き込み等によりアクティブ（Ｈｉｇｈレベル）になる信号であり、このｓｔａｒｔがアクティブになることにより半導体集積回路１の動作がスタートする。
【００２１】
図３のｄａｔａ＿ｉｎは、自己パターン発生器８が内部で生成した値がセレクタ９を介して入力される。そして、ｓｔａｒｔがアクティブになった後ｅｒｒがＨｉｇｈレベルになったときのｄａｔａ＿ｉｎの値である“５”を保存信号（ｄａｔａ＿ｃａｔｃｈ）として比較器６０は記憶器７に出力する。また、ｄａｔａ＿ｃａｔｃｈとともにｅｘｐ＿ｉｎｔもアクティブ（Ｈｉｇｈレベル）にして自己パターン発生器８に出力する。自己パターン発生器８では、ｅｘｐ＿ｉｎｔがアクティブになると画像処理Ａブロック２が所定の状態となるための保存信号を取得できたとしてテストパターンの発生を停止してもよい。又、自己パターン発生器８は、ｅｘｐ＿ｉｎｔがアクティブになったとしても、他の保存信号となる値がある場合はそれを取得するためにテストパターンの生成を継続してもよい。
【００２２】
なお、モニタ信号や保存信号は１ビットでなくてもよい。図４に複数ビットの場合の例を示す。図４の１６ビットのｄａｔａ＿ｏｕｔがモニタ信号である。図４の場合、ｄａｔａ＿ｏｕｔのうち下位４ビットのみをモニタ対象としている。従って、図４の場合、ｄａｔａ＿ｏｕｔのうち下位４ビットのみをｍｏｎｉｔｏｒとして入力する。そして、比較器６０に設定された期待値が０ｘＦ（１６進数の“Ｆ”）とすると、ｄａｔａ＿ｏｕｔが“０ｘ６Ｆ”のときにｍｏｎｉｔｏｒが０ｘＦとなるので、そのときのｄａｔａ＿ｉｎの値である“５”を、比較器６０はｄａｔａ＿ｃａｔｃｈとして記憶器７に出力する。
【００２３】
記憶器７は、結果判定器６での判定の結果、モニタ信号が所望の結果を得る（内部回路が所定の状態となる）ための入力信号となった値を記憶する。図１及び図２の構成の例の場合、ｄａｔａ＿ｃａｔｃｈの値を記憶する。即ち、記憶器７は、判定部（結果判定器６）が所定の状態となっていると判定した際に当該内部回路に入力された信号を保存信号として保存する保存部として機能する。
【００２４】
自己パターン発生器８は、画像処理Ａブロック２、画像処理Ｂブロック３、画像処理Ｃブロック４に対するテストパターンを発生（生成）する。自己パターン発生器８は、図５に示したように、テストパターン発生器８１と、記憶器Ｉ／Ｆ８２と、パターン管理部８３と、セレクタ８４と、を有している。
【００２５】
テストパターン発生器８１は、サイクル毎にデータをインクリメントする、デクリメントする、或いは乱数に基づいて生成する等の方法によりテストパターンを発生させる。発生したテストパターンはセレクタ８４に出力する。また、テストパターンは、テストパターン発生器８１が発生するだけでなく、半導体集積回路１の入力信号である通常動作入力を利用してもよい。
【００２６】
記憶器Ｉ／Ｆ８２は、記憶器７に記憶されたデータを読み出す。読み出したデータは、セレクタ８４に出力する。
【００２７】
パターン管理部８３は、テストパターン発生器８１で発生するデータのみのテストパターンとするモードか、記憶器７に記憶されているデータを使用するテストパターンとするモードか、に基づいて、セレクタ８４の制御を行う。テストパターンのモードは、予め半導体集積回路１の外部端子又はレジスタ等から設定される。
【００２８】
テストパターン発生器８１で発生するデータのみのテストパターンとするモードは、例えば、上述した保存信号を検出して記憶器７に記憶するための動作等に用いられるモードである。また、記憶器７に記憶されているデータを使用するテストパターンとするモードで動作している際は、結果判定器６は動作を停止させる。
【００２９】
セレクタ８４は、パターン管理部８３の制御によりテストパターン発生器８１からの出力と、記憶器Ｉ／Ｆ８２からの出力と、から画像処理Ａブロック２等（セレクタ９等）に出力する信号を選択する。以上の説明から明らかなように、自己パターン発生器８は、保存部（記憶器７）に保存されている保存信号に基づいて内部回路に対するテストパターンを生成するテストパターン生成部として機能する。
【００３０】
図６に記憶器７に記憶したデータ（保存信号）を利用したテストパターンの例を示す。また、記憶器７に記憶されたデータは、図５に示した“Ａ”〜“Ｄ”の４つであるとする。図６（ａ）は、５サイクル毎に記憶器７に記憶されたデータ“Ａ”のみを使用する場合である。この場合、データ“Ａ”以外のテストパターンはテストパターン発生器８１が生成したデータが出力される。つまり、パターン管理部８３は、５サイクル毎に記憶器Ｉ／Ｆ８２が出力するデータが選択させるようにセレクタ８４を切り替える。即ち、テストパターンに、保存信号を含ませている。
【００３１】
図６（ｂ）は、３サイクル毎に記憶器７に記憶されたデータを順番に使用する場合である。この場合も記憶器７に記憶されたデータ以外のテストパターンはテストパターン発生器８１が生成したデータが出力される。つまり、パターン管理部８３は、３サイクル毎に記憶器Ｉ／Ｆ８２が出力するデータが選択させるようにセレクタ８４を切り替える。なお、記憶器７に記憶された複数のデータの切り換えは、例えば、記憶器Ｉ／Ｆ８２が３サイクル毎に順次読み出すようにして切り替えればよい。
【００３２】
図６（ｃ）は、３サイクル毎に記憶器７に記憶されたデータ“Ａ”と“Ｂ”とを順番に使用する場合である。この場合も記憶器７に記憶されたデータ以外のテストパターンはテストパターン発生器８１が生成したデータが出力される。つまり、パターン管理部８３は、３サイクル毎に記憶器Ｉ／Ｆ８２が出力するデータが選択させるようにセレクタ８４を切り替える。なお、記憶器７に記憶されたデータ“Ａ”と“Ｂ”との切り換えは、例えば、記憶器Ｉ／Ｆ８２が３サイクル毎に交互に読み出すようにして切り替えればよい。
【００３３】
図６（ｄ）は、記憶器７記憶されたデータのみを順番に使用する場合である。この場合は、記憶器７のデータのみを使用するので、記憶器Ｉ／Ｆ８２は、最初にセレクタ８４の切り替えを行うのみである。
【００３４】
なお、図６（ａ）〜（ｄ）に示した例は、それぞれを１つのモードとしてパターン管理部８３へ設定することにより切り替え可能としてもよい。
【００３５】
図６に示したようなテストパターンは、テスト対象とする内部回路（画像処理Ａブロック２〜画像処理Ｃブロック４）を選択して自己パターン発生器８から供給される。すると、内部回路のモニタ信号が数サイクル毎等で所定の状態となり、その結果を利用して後段の回路ブロックや半導体集積回路１の後段の電子部品等を動作させることができる。
【００３６】
例えば、テスト対象とする内部回路を画像処理Ａブロック２とすると、セレクタ９を自己パターン発生器８側に切り替えて、自己パターン発生器８で発生したテストパターン（図６（ａ）〜（ｃ）のいずれかのパターン）を画像処理Ａブロック２に供給する。すると、画像処理Ａブロック２のモニタ信号が５サイクル毎に所望の結果となる。従って、後段の画像処理Ｂブロック３は、その所望の結果を利用して動作することとなる。
【００３７】
また、テスト対象とする内部回路を画像処理Ｃブロック４とすると、セレクタ１１を自己パターン発生器８側に切り替えて、自己パターン発生器８で発生したテストパターン（図６（ａ）〜（ｃ）のいずれかのパターン）を画像処理Ｃブロック４に供給する。すると、画像処理Ｃブロック４のモニタ信号が５サイクル毎に所望の結果となる。従って、半導体集積回路１の後段の電子部品等は、その所望の結果を利用して動作することとなる。
【００３８】
本実施形態によれば、結果判定器６で、自己パターン発生器８によって画像処理Ａブロック２が動作した結果、各ブロックにおけるモニタ信号（ｅｒｒ）が、予め設定された所定の状態（Ｈｉｇｈ）となっているかを判定する。次に、記憶器７で、結果判定器６が所定の状態となっていると判定した際の自己パターン発生器８の出力（ｄａｔａ＿ｉｎ＝５）を保存信号として保存する。そして、自己パターン発生器８で、記憶器７に保存されている保存信号に基づいて画像処理Ａブロック２に対するテストパターンを生成する。このようにすることにより、結果判定器６が所定の状態となっていると判定した際の画像処理Ａブロック２の入力信号を保存信号として記憶器７に保存し、その保存信号に基づいて画像処理Ａブロック２に対するテストパターンを生成することができる。従って、画像処理Ａブロック２はモニタ信号（ｅｒｒ）が所定の状態となる出力（所望の出力）を得ることができる。
【００３９】
また、自己パターン発生器８は、出力するテストパターンに、設定したタイミングで記憶器７に記憶した保存信号を含ませるので、所望のタイミングでモニタ信号を所定の出力とすることができる。
【００４０】
また、結果判定器６は、自己パターン発生器８に対して、ｅｘｐ＿ｉｎｔを出力するので、保存信号を記憶器７に記憶させたことを通知することができる。つまり、保存信号を保存するまで自己パターン発生器８からテストパターンを出力し続けることができ、保存信号が検出されたことを確実に通知できる。
【００４１】
（第２の実施形態）
次に、本発明の第２の実施形態にかかる半導体集積回路を図７、図８を参照して説明する。なお、前述した第１の実施形態と同一部分には、同一符号を付して説明を省略する。
【００４２】
本実施形態は、例えば、複数サイクルの状態によって結果が反映される場合等、複数サイクルの入力信号を保存信号とする場合である。本実施形態にかかる結果判定器６の比較器６０Ａを図７に示す。
【００４３】
比較器６０Ａは、セレクタ６１、６２、６３と、レジスタ６４、６５、６６と、結果判定部６７と、レジスタ６８と、記憶器Ｉ／Ｆ６９と、を有している。
【００４４】
セレクタ６１は、自己パターン発生器８の出力であるｄａｔａ＿ｉｎと、レジスタ６４の出力とを選択してレジスタ６４に出力する。セレクタ６２は、レジスタ６４の出力と、レジスタ６５の出力とを選択してレジスタ６５に出力する。セレクタ６３は、レジスタ６５の出力と、レジスタ６６の出力とを選択してレジスタ６６に出力する。
【００４５】
レジスタ６４は、セレクタ６１の出力が入力されて保持し、セレクタ６１、セレクタ６２及び記憶器Ｉ／Ｆ６９に出力する。レジスタ６５は、セレクタ６２の出力が入力されて保持し、セレクタ６２、セレクタ６３及び記憶器Ｉ／Ｆ６９に出力する。レジスタ６６は、セレクタ６３の出力が入力されて保持し、セレクタ６３及び記憶器Ｉ／Ｆ６９に出力する。なお、レジスタ６４、６５、６６は、１ビット幅のレジスタに限らずｄａｔａ＿ｉｎのビット幅に合わせて複数ビット幅のレジスタであってもよい。
【００４６】
結果判定部６７は、ｍｏｎｉｔｏｒと予めレジスタ等に設定されている判定条件（期待値）とを比較し、判定結果を出力する。レジスタ６８は、結果判定部６７の出力（判定結果）を保持する。レジスタ６８の出力は、セレクタ６１、６２、６３の選択切替制御信号として利用され、また、記憶器Ｉ／Ｆ６９の制御信号として利用される。
【００４７】
記憶器Ｉ／Ｆ６９は、レジスタ６４、６５、６６の値（出力）が入力され、レジスタ６８の出力に基づいて記憶器７へレジスタ６４、６５、６６の値を出力する。即ち、保存部（記憶器７）は、判定部（結果判定器６）が所定の状態となっていると判定した際の前の複数サイクル分の内部回路に入力された信号を保存信号として保存する。
【００４８】
図８に図７に示した比較器６０Ａを有する結果判定器６の動作のタイミングチャートの例を示す。図８において、ｅｘｐ＿ｉｎｔはレジスタ６８の出力を示し、ｄａｔａ＿ｃａｔｃｈ２、ｄａｔａ＿ｃａｔｃｈ１、ｄａｔａ＿ｃａｔｃｈ０は、順にレジスタ６４、６５、６６の出力を示している。また、判定条件は、図４の例と同様にｍｏｎｉｔｏｒが０ｘＦとする。
【００４９】
図８において、ｅｘｐ＿ｉｎｔがＨｉｇｈレベルになるまでは、図７のレジスタ６４、６５、６６はシフトレジスタとして動作するようにセレクタ６１、６２、６３は切り替えられている。そのため、ｄａｔａ＿ｃａｔｃｈ２は、ｄａｔａ＿ｉｎを１サイクル遅延した値となり、ｄａｔａ＿ｃａｔｃｈ１は、ｄａｔａ＿ｃａｔｃｈ２を１サイクル遅延した値となり、ｄａｔａ＿ｃａｔｃｈ０は、ｄａｔａ＿ｃａｔｃｈ１を１サイクル遅延した値となっている。
【００５０】
そして、ｄａｔａ＿ｏｕｔが“０ｘ６Ｆ”のときにｍｏｎｉｔｏｒが０ｘＦとなると、結果判定部６７が判定結果として判定条件と一致したこと（Ｈｉｇｈレベル）を出力し、その次のサイクルでレジスタ６８がその判定結果を保持する（ｅｘｐ＿ｉｎｔ）。すると、セレクタ６１、６２、６３が切り替えられて、ｄａｔａ＿ｃａｔｃｈ２、ｄａｔａ＿ｃａｔｃｈ１、ｄａｔａ＿ｃａｔｃｈ０は、自身の値を保持するように動作する。つまり、判定条件と一致した際のｄａｔａ＿ｉｎの値を保持できる。そして、記憶器Ｉ／Ｆ６９は、保持している値を、例えばｄａｔａ＿ｃａｔｃｈ２、ｄａｔａ＿ｃａｔｃｈ１、ｄａｔａ＿ｃａｔｃｈ０の順に記憶器７へデータを出力する。
【００５１】
なお、図８においては、結果判定部６７における判定の結果、判定条件と一致した場合、それ以降は、判定を継続しないようなモードに設定しているので、ｅｘｐ＿ｉｎｔ信号は一度Ｈｉｇｈレベルになった以降はＨｉｇｈレベルを継続する。
【００５２】
このようにして記憶器７に記憶されたデータは、第１の実施形態と同様に自己パターン発生器８において利用される。利用の形態は図６と同様である。但し、本実施形態は複数サイクル分のデータがあるため、記憶器７から読み出されたデータは、連続する複数サイクルに挿入される。例えば、記憶器７に、Ａ１、Ａ２、Ａ３というデータが記憶されていた場合、図６（ａ）の場合では、０、１、２、３、Ａ１、Ａ２、Ａ３、７、８といったようになる。この場合は、５サイクル毎ではなく、４サイクル分テストパターン発生器８１のデータを出力した後に記憶器７のデータを出力するというパターンとなる。
【００５３】
なお、本実施形態では、モニタ信号は所定の状態となった前の複数サイクル分の入力信号を保存信号としていたが、モニタ信号は所定の状態となった後の複数サイクル分の入力信号を保存信号としてもよい。
【００５４】
本実施形態によれば、記憶器７は、結果判定器６がモニタ信号が所定の状態となっていると判定した際の前複数サイクル分の入力信号を保存信号として記憶しているので、所定の状態が複数サイクルの入力信号により得られる場合にも対応することができる。
【００５５】
（第３実施形態）
次に、本発明の第３の実施形態にかかる半導体集積回路を図９乃至図１４を参照して説明する。なお、前述した第１、第２の実施形態と同一部分には、同一符号を付して説明を省略する。
【００５６】
本実施形態は、記憶器７に記憶されているデータと同じ値をテストパターンから除外する。即ち、記憶器７に記憶されているデータと同じ値をテストパターンに含ませない。本実施形態にかかる自己パターン発生器８Ａを図９に示す。
【００５７】
自己パターン発生器８Ａは、テストパターン発生器８１Ａと、記憶器Ｉ／Ｆ８２と、パターン管理部８３Ａと、比較器８５と、を有している。
【００５８】
テストパターン発生器８１Ａは、通常動作入力が入力されている点が異なるのみである。そのため、テストパターン発生器８１Ａは、自身が発生したテストパターン以外に、通常動作入力も出力することができる。従って、通常動作入力に含まれるデータから記憶器７に記憶されているデータと同じ値を除外することも可能となっている。
【００５９】
記憶器Ｉ／Ｆ８２は、図５と同様である。但し、記憶器７から読み出したデータは、比較器８５に出力する。
【００６０】
パターン管理部８３Ａは、テストパターン発生器８１Ａで発生するデータのみのテストパターンとするモードか、記憶器７に記憶されているデータを使用するテストパターンとするモードか、に基づいて、比較器８５の制御を行う。更に、パターン管理部８３Ａは、記憶器７に記憶されているデータと同じ値をテストパターンから除外するか否かの制御も行う。パターン管理部８３Ａのモードの設定や除外を行うか否かの設定は、予め半導体集積回路１の外部端子又はレジスタ等から設定される。
【００６１】
比較器８５は、記憶器Ｉ／Ｆ８２から出力された記憶器７に記憶されているデータに基づいて、テストパターン発生器８１Ａから出力されたデータに含まれる記憶器７に記憶されているデータと同じデータを除外する。除外した場合は、前のサイクルのデータを再度出力する、あるいは、予め定めた固定値を出力する等、除外したデータと異なるデータを出力する。
【００６２】
図１０に比較器８５の動作例のタイミングチャートを示す。図１０のｄａｔａ＿ｉｎは比較器８５の入力信号、ｄａｔａ＿ｏｕｔは比較器８５の出力信号、ｄａｔａ＿ｃａｔｃｈは、記憶器Ｉ／Ｆ８２が読み出した記憶器７に記憶されているデータである。
【００６３】
図１０において、時刻ｔ１１に、ｄａｔａ＿ｉｎが、ｄａｔａ＿ｃａｔｃｈと同じ値（“５”）となっている。従って、ｄａｔａ＿ｏｕｔからは“５”は出力せずに、その前のサイクルのデータである“４”を再度出力する。よって、保存信号と同じ値をテストパターンから除外することができる。
【００６４】
図１１は、除外するデータが複数ある場合の例である。この場合も基本的には図１０と同様である。即ち、時刻ｔ２１、ｔ２２、ｔ２３でｄａｔａ＿ｉｎが、ｄａｔａ＿ｃａｔｃｈと同じ値となっている。従って、ｄａｔａ＿ｏｕｔ信号からはそのデータは出力せずに、その前のサイクルのデータを再度出力する。
【００６５】
次に、複数サイクルの入力信号が保存信号として記憶器７に記憶されている場合にそれらをテストパターンから除外する場合について説明する。図１２は、３サイクルの入力信号が保存信号として記憶器７に記憶されているときにそれらをテストパターンから除外する場合の比較器８５Ａの例である。
【００６６】
比較器８５Ａは、レジスタ８５１、８５２、８５３と、データ比較器８５４と、レジスタ８５５と、データ比較器８５６と、セレクタ８５７と、レジスタ８５８、８５９、８５ａと、を有している。
【００６７】
レジスタ８５１は、記憶器Ｉ／Ｆ８２が読み出したデータのうち先頭に位置するデータを保持する。レジスタ８５２は、記憶器Ｉ／Ｆ８２が読み出したデータのうち２番目に位置するデータを保持する。記憶器Ｉ／Ｆ８２が読み出したデータのうち最後に位置するデータを保持する。
【００６８】
データ比較器８５４は、ｄａｔａ＿ｉｎとレジスタ８５１又はレジスタ８５２に保持されているデータとを比較する。レジスタ８５５は、データ比較器８５４の比較結果を保持する。
【００６９】
データ比較器８５６は、レジスタ８５５の出力、即ち、データ比較器８５４の結果及び
ｄａｔａ＿ｉｎとレジスタ８５３に保持されているデータとを比較した結果に基づいてセレクタ８５７を切り替え制御を行う。
【００７０】
レジスタ８５８は、ｄａｔａ＿ｉｎが入力されて保持し、レジスタ８５９に出力する。レジスタ８５９は、レジスタ８５８の出力が入力されて保持し、セレクタ８５７に出力する。
【００７１】
セレクタ８５７は、レジスタ８５９の出力とレジスタ８５ａの出力とを選択してレジスタ８５ａに出力する。
【００７２】
レジスタ８５ａは、セレクタ８５７の出力が入力されて保持し、セレクタ８５７へ出力及びｄａｔａ＿ｏｕｔ信号として出力する。
【００７３】
図１３に図１２に示した比較器８５Ａの動作のタイミングチャートを示す。なお、図１３において、ｄａｔａ＿ｆｆ１はレジスタ８５８を示し、ｄａｔａ＿ｆｆ２はレジスタ８５９を示し、ｄａｔａ＿ｏｕｔはレジスタ８５ａを示し、ｈｉｔ＿ｃｈｅｃｋはレジスタ８５５を示す。また、ｃｈａｎｇｅ＿ｄａｔａはデータ比較器８５６の出力信号を示し、ｄａｔａ＿ｃａｔｃｈ１はレジスタ８５１を示し、ｄａｔａ＿ｃａｔｃｈ２はレジスタ８５２を示し、ｄａｔａ＿ｃａｔｃｈ３はレジスタ８５３を示す。
【００７４】
図１３において、ｄａｔａ＿ｉｎがｄａｔａ＿ｃａｔｃｈ１と同じ値（“４”）となると、データ比較器８５４がＨｉｇｈレベルの信号を出力し、ｈｉｔ＿ｃｈｅｃｋがＨｉｇｈレベルになる（時刻ｔ３１）。続いて次のサイクルにおいてｄａｔａ＿ｉｎがｄａｔａ＿ｃａｔｃｈ２と同じ値（“５”）となると、データ比較器８５４がＨｉｇｈレベルを出力し、ｈｉｔ＿ｃｈｅｃｋのＨｉｇｈレベルが維持される（時刻ｔ３２）。続いて次のサイクルにおいて、前２サイクルでｈｉｔ＿ｃｈｅｃｋがＨｉｇｈレベルであってｄａｔａ＿ｉｎがｄａｔａ＿ｃａｔｃｈ３と同じ値（“６”）となると、データ比較器８５６がＨｉｇｈレベルを出力するので、ｃｈｅｎｇｅ＿ｄａｔａがＨｉｇｈレベルとなる（時刻ｔ３３）。
【００７５】
ｃｈｅｎｇｅ＿ｄａｔａがＨｉｇｈレベルになると、レジスタ８５ａの値が保持されるようにセレクタ８５７が切り替えられる。従って、時刻ｔ３３以降の３サイクルは、ｄａｔａ＿ｃａｔｃｈ１〜３に保持されているデータが入力される前のデータ（図１３の場合“３”）が保持され、ｄａｔａ＿ｃａｔｃｈ１〜３に保持されているデータと同じ値は除外される。なお、ｃｈｅｎｇｅ＿ｄａｔａがＨｉｇｈレベルになるサイクル数はデータ比較器８５６において予め設定されている。
【００７６】
図１４は、データの除外が発生しない例である。図１４の場合、時刻ｔ４１で除外するデータの先頭（“４”）を検出する。しかし、時刻ｔ４２では、除外するデータのうち最後に位置するデータがｄａｔａ＿ｉｎ＝“５”、ｄａｔａ＿ｃａｔｃｈ３＝“６”と異なるの。従って、データ比較器８５６におけるｃｈａｎｇｅ＿ｄａｔａがＨｉｇｈレベルになる条件が成立せず、ｄａｔａ＿ｉｎのデータは除外されない。
【００７７】
本実施形態によれば、自己パターン発生器８は、保存信号と同じ値をテストパターンから除外することができるので、所定の状態を発生させたくない場合に、その状態を任意に除外することができる。例えば、エラーが発生するパターンを除外することなどが可能となる。
【００７８】
（第４実施形態）
次に、本発明の第４の実施形態にかかる電子機器及び半導体集積回路を図１５を参照して説明する。なお、前述した第１〜第３の実施形態と同一部分には、同一符号を付して説明を省略する。
【００７９】
本実施形態は、例えばＭＦＰ（Multifunction Printer）等の電子機器に搭載され、その電子機器に搭載された他の電子部品やモジュール等の信号をモニタ信号として判定し、保存信号を記憶するものである。
【００８０】
電子機器１００は、図１５に示したように、前段部１０１と、後段部１０２と、を有している。前段部１０１は、通常動作入力となる信号を半導体集積回路１Ａに出力する。即ち、前段部１０１は、前処理部として機能する。後段部１０２は、半導体集積回路１Ａの出力が入力されるとともに、半導体集積回路１Ａの外部端子Ｘに入力する信号を出力する。即ち、後段部１０２は、後処理部として機能する。図１５のように、半導体集積回路１Ａが画像処理の機能を有している場合で、搭載される電子機器がＭＦＰであれば、前段部１０１は例えばスキャナ部、後段部１０２は例えばプリントエンジンとなる。
【００８１】
本実施形態にかかる半導体集積回路１Ａは、内部回路である画像処理Ａブロック２等のモニタ信号だけでなく、更に外部端子Ｘから入力される信号もモニタ信号として結果判定器６で判定し、その際の通常動作入力を保存信号として記憶器７に記憶させることができる。
【００８２】
本実施形態にかかる半導体集積回路１Ａは、図１５に示したように、セレクタ５がセレクタ５Ａに変更になっている。セレクタ５Ａは、画像処理Ａブロック２等の内部回路だけでなく外部端子Ｘも含めてモニタする信号を選択して結果判定器６に出力する。従って、結果判定器６は、内部回路が動作した状態に加えて、外部から入力される外部入力信号（外部端子Ｘ）が、予め設定された所定の状態となっているかも判定することができる。
【００８３】
外部端子Ｘは、半導体集積回路１Ａの例えば後段に設けられている半導体集積回路やモジュール等の出力信号が入力される。なお、外部端子Ｘに入力される信号は、後段に限らず、半導体集積回路１Ａの外部から入力される信号であればよい。
【００８４】
結果判定器６や自己パターン発生器８等の動作は第１〜第３の実施形態と同様である。即ち、外部端子Ｘが所定の状態となった際の自己パターン発生器８の出力信号（ｄａｔａ＿ｉｎ）を記憶器７に記憶させ、その後自己パターン発生器８は、記憶器７に記憶されたデータをテストパターンに挿入したり、除外したりする。
【００８５】
本実施形態によれば、結果判定器６は、外部端子Ｘから入力される信号が、予め設定された所定の状態となっているかを判定する。このようにすることにより、例えば、半導体集積回路１Ａの後段等で異常が発生する状態をテストしたり、異常状態を回避するようにしたりすることが可能となる。
【００８６】
また、上述した第１〜第４の実施形態にかかる半導体集積回路１又は１Ａを有する電子機器としてはＭＦＰに限らないことはいうまでもない。例えばカメラ装置、テレビ会議装置、プロジェクタ装置等の装置であってもよいし、プリント基板やモジュール等の複数の半導体集積回路や電子部品等から構成されるものであってもよい。
【００８７】
また、本発明は上記実施形態に限定されるものではない。即ち、当業者は、従来公知の知見に従い、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。かかる変形によってもなお本発明の半導体集積回路の構成を具備する限り、勿論、本発明の範疇に含まれるものである。
【符号の説明】
【００８８】
１、１Ａ    半導体集積回路
２          画像処理Ａブロック（内部回路）
３          画像処理Ｂブロック（内部回路）
４          画像処理Ｃブロック（内部回路）
６          結果判定器（判定部）
７          記憶器（保存部）
８          自己パターン発生器（テストパタン生成部）
１００      電子機器
１０１      前段部（前処理部）
１０２      後段部（後処理部）
【先行技術文献】
【特許文献】
【００８９】
【特許文献１】特許第５１５１９９６号公報
【特許文献２】特開２００４−５６６６１号公報
【図１】
2017045090.tif 000003
【図２】
2017045090.tif 000004
【図３】
2017045090.tif 000005
【図４】
2017045090.tif 000006
【図５】
2017045090.tif 000007
【図６】
2017045090.tif 000008
【図７】
2017045090.tif 000009
【図８】
2017045090.tif 000010
【図９】
2017045090.tif 000011
【図１０】
2017045090.tif 000012
【図１１】
2017045090.tif 000013
【図１２】
2017045090.tif 000014
【図１３】
2017045090.tif 000015
【図１４】
2017045090.tif 000016
【図１５】
2017045090.tif 000017