(57)【要約】【課題】本発明は、集積回路の端子数を抑制しつつより多くのモニタ信号を出力する。【解決手段】画像処理装置１は、その集積回路であるコントローラＡＳＩＣ５が、複数の機能モジュール１２ａ〜１２ｄを搭載し、各機能モジュール１２ａ〜１２ｄが画像データに対して各種処理を行って処理信号を出力する。コントローラＡＳＩＣ５は、第１圧縮回路１３ａ〜１３ｄが、機能モジュール１２ａ〜１２ｄから所定の内部信号をモニタ信号として受け取って、第１圧縮アルゴリズムで圧縮して第１圧縮データを生成する。コントローラＡＳＩＣ５は、第２圧縮回路１４が、第１圧縮回路１３ａ〜１３ｄの生成した各第１圧縮データを第２圧縮アルゴリズムで圧縮して第２圧縮データを生成し、デバッグＩ／Ｆ１５が、第２圧縮回路１４の生成した第２圧縮データを外部に出力する。【選択図】          図２
2014187676.tif 000002
【特許請求の範囲】
【請求項１】
各種信号処理を行うモジュールを搭載する集積回路であって、
前記モジュールから所定の内部信号をモニタ信号として受け取って、第１圧縮アルゴリズムで圧縮して第１圧縮データを生成する第１圧縮手段と、
前記第１圧縮データを第２圧縮アルゴリズムで圧縮して第２圧縮データを生成する第２圧縮手段と、
前記第２圧縮データを外部に出力する信号出力手段と、
を備えていることを特徴とする集積回路。
【請求項２】
前記第１圧縮手段は、
前記モニタ信号を該モニタ信号の特性に基づいて所定量時間軸方向に回転させる回転手段と、
前記回転手段で回転された前記モニタ信号を圧縮して前記第１圧縮データを生成する回転信号圧縮手段と、
を備えていることを特徴とする請求項１記載の集積回路。
【請求項３】
前記集積回路は、
前記モジュールを複数備え、
前記第１圧縮手段を前記モジュール毎に備え、
複数の前記第１圧縮手段の圧縮した各第１圧縮データを結合して結合データを生成し、前記第２圧縮手段へ出力する結合手段を、さらに備えていることを特徴とする請求項１記載の集積回路。
【請求項４】
前記集積回路は、
前記各第１圧縮手段の圧縮した前記第１圧縮データをそれぞれ保持するデータ保持手段と、
前記第２圧縮手段での圧縮タイミングにおいて、前記各データ保持手段が前記第１圧縮データを保持しているか否かを示すデータ有効／無効情報を生成する有効／無効情報生成手段と、
を備え、
前記結合手段は、
前記各データ保持手段の前記第１圧縮データを結合して前記結合データを生成するとともに、前記有効／無効情報生成手段の生成した前記データ保持手段毎の前記データ有効／無効情報を該結合データの該各第１圧縮データに対応させて該結合データに付与して前記第２圧縮手段へ出力することを特徴とする請求項３記載の集積回路。
【請求項５】
前記結合手段は、
前記有効／無効情報生成手段が全ての前記データ保持手段に対して無効情報を生成すると、前記第２圧縮手段への前記結合データの出力を行わないことを特徴とする請求項４記載の集積回路。
【請求項６】
前記集積回路は、
前記各第１圧縮手段の圧縮した前記第１圧縮データをそれぞれ保持するデータ保持手段と、
前記データ保持手段から前記第１圧縮データを取得すると、該第１圧縮データを識別する識別子を該第１圧縮データに付与する識別子付与手段と、
を備え、
前記結合手段は、
前記識別子付与手段の発生するデータ転送要求をラウンドロビン方式で受け付け、該識別子付与手段から転送されてきた前記各第１圧縮データを結合して前記結合データを生成し、前記第２圧縮手段へ出力することを特徴とする請求項３記載の集積回路。
【請求項７】
前記結合手段は、
前記第１圧縮手段の圧縮した前記第１圧縮データの区切りを示す区切り情報を前記結合データに付与して前記第２圧縮手段に出力し、
前記第２圧縮手段は、
前記区切り情報と前記モニタ信号の特性に基づいて、該区切り情報毎の前記第１圧縮データに対して、複数の圧縮アルゴリズムから前記第２圧縮アルゴリズムを決定して、決定した該第２圧縮アルゴリズムで該区切り情報毎に前記結合データを圧縮することを特徴とする請求項２から請求項６のいずれかに記載の集積回路。
【請求項８】
前記集積回路は、
前記モジュールを複数搭載するとともに、該各モジュールがそれぞれ独自の動作クロックで信号処理を行ない、
前記モジュール毎に、該モジュールの前記動作クロックでカウントアップしてカウント値を前記第１圧縮手段へ出力するカウント手段と、
前記各カウント手段のカウント値をそれぞれ前記動作クロックのうち最も周期の短い動作クロックでサンプリングするサンプリング手段と、
前記サンプリング手段のサンプリングしたサンプリング値を第３圧縮アルゴリズムで圧縮して第３圧縮データを生成する第３圧縮手段と、
を備え、
前記第１圧縮手段は、
前記各カウント手段からの前記カウント値と前記モニタ信号を統合して前記第１圧縮アルゴリズムで圧縮して統合第１圧縮データを生成し、
前記第２圧縮手段は、
前記統合第１圧縮データと前記第３圧縮データを統合して第２圧縮アルゴリズムで圧縮して統合第２圧縮データを生成し、
前記信号出力手段は、前記統合第２圧縮データを外部に出力することを特徴とする請求項１から請求項７のいずれかに記載の集積回路。
【請求項９】
前記カウント手段は、
前記カウント値を所定の一定間隔で前記第１圧縮手段へ出力することを特徴とする請求項８記載の集積回路。
【請求項１０】
前記サンプリング手段は、
同じ前記サンプリング値が連続する時点を示す同期フラグを設定し、該同期フラグを前記第３圧縮手段へ出力し、
前記第３圧縮手段は、
前記サンプリング値及び前記同期フラグを前記第３圧縮アルゴリズムで圧縮して前記第３圧縮データとして生成することを特徴とする請求項８または請求項９記載の集積回路。
【請求項１１】
モジュールを搭載する集積回路によって各種画像処理を行う画像処理装置において、
前記集積回路として、請求項１から請求項７のいずれかに記載の集積回路を搭載していることを特徴とする画像処理装置。
【請求項１２】
モジュールを搭載する集積回路における内部信号提供方法であって、
前記モジュールから所定の内部信号をモニタ信号として受け取って第１圧縮アルゴリズムで圧縮して第１圧縮データを生成する第１圧縮処理ステップと、
前記第１圧縮データを第２圧縮アルゴリズムで圧縮して第２圧縮データを生成する第２圧縮処理ステップと、
前記第２圧縮データを外部に出力する信号出力処理ステップと、
を有していることを特徴とする内部信号提供方法。
【請求項１３】
モジュールを搭載する集積回路で実行される内部信号提供プログラムであって、
制御プロセッサに、
前記モジュールから所定の内部信号をモニタ信号として受け取って第１圧縮アルゴリズムで圧縮して第１圧縮データを生成する第１圧縮処理と、
前記第１圧縮データを第２圧縮アルゴリズムで圧縮して第２圧縮データを生成する第２圧縮処理と、
前記第２圧縮データを外部に出力する信号出力処理と、
を実行させることを特徴とする内部信号提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路、画像処理装置、内部信号提供方法及び内部信号提供プログラムに関し、詳細には、端子数を抑制しつつより多くのモニタ信号を外部へ出力する集積回路、画像処理装置、内部信号提供方法及び内部信号提供プログラムに関する。
【背景技術】
【０００２】
複写装置、プリンタ装置、複合装置等の画像処理装置においては、高機能化に伴って、搭載するソフトウェア及びハードウェア構成が大規模かつ複雑化してきている。一方、画像処理装置は、低価格化が要望され、複数のプロセッサ、画像処理機能及びＩ／Ｏ機能等のリソースを１つのＬＳＩ(Large Scale Integration ：集積回路）に実装して、利用されるようになってきている。
【０００３】
画像処理装置の搭載する集積回路、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）自体が高機能で様々な機能のモジュールを搭載したものとなってきており、不具合等の予想外の動作を行った場合の原因の究明が困難となってきているが、市場の要求にタイムリーに対応するためには、早急な原因究明が求められる。
【０００４】
ところが、集積回路は、外部端子で検出される信号によってのみ内部の動作状態を判断することができ、例えば、集積回路に不具合が発生した際の解析のヒントのために、一部の内部信号（以下、適宜、モニタ信号という。）を集積回路の端子から外部に出力することで、解析が行われている。
【０００５】
モニタ信号は、信号数が多ければ多いほど、集積回路内部の観測性が増し、問題発生時の原因究明が容易になる。
【０００６】
ところが、モニタ信号数を増やすと、モニタ信号の数の分だけ集積回路の端子数が増加することとなり、モニタ信号出力端子の数を増やすことは、集積回路の構成上難しい。
【０００７】
なお、少ない端子で多くの情報を出力する方法としては、高速シリアルインターフェイスを用いる方法もあるが、一般的に高速シリアルインターフェイスは実装面積が大きいため、デバッグ用途としてのインターフェイスとしてはコスト的に不向きである。
【０００８】
そして、従来、モジュールの出力する複数の信号から適宜の信号をモニタ信号として選択するモニタ回路を複数搭載し、複数のモニタ回路から適宜選択したモニタ信号を、モニタ回路をシリアルで接続したり、セレクタを利用して外部出力する技術が提案されている（特許文献１、特許文献２等参照）。すなわち、これらの従来技術は、モニタ回路をシリアルで接続したり、セレクタを利用することで、配線の複雑化や端子の増加を抑制しつつ、出力するモニタ信号の数を増やすことが図られている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記公報記載の従来技術にあっては、モニタ回路をシリアルで接続したり、セレクタを利用することで、より多くの内部信号のうち必要とする信号をより多くモニタ信号として出力することが図られている。したがって、モニタ回路をシリアルで接続したり、セレクタを利用してモニタ信号を出力する方法にあっては、一度に出力することのできるモニタ信号の数が、端子数によって制限されてしまうため、再現性の低い不具合の解析を行うのに、より多くのモニタ信号を出力したい場合には、多くの時間を必要とするという問題があった。また、一度に出力するモニタ信号の数を増やすためには、端子数を増やす必要があり、回路が大型化したり、コストが高くつくという問題があった。
【００１０】
そこで、本発明は、端子数を抑制しつつより多くのモニタ信号をまとめて出力することを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１記載の集積回路は、各種信号処理を行うモジュールを搭載する集積回路であって、前記モジュールから所定の内部信号をモニタ信号として受け取って、第１圧縮アルゴリズムで圧縮して第１圧縮データを生成する第１圧縮手段と、前記第１圧縮データを第２圧縮アルゴリズムで圧縮して第２圧縮データを生成する第２圧縮手段と、前記第２圧縮データを外部に出力する信号出力手段と、を備えていることを特徴としている。
【発明の効果】
【００１２】
本発明によれば、端子数を抑制しつつより多くのモニタ信号をまとめて出力することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施例を適用した画像処理装置のブロック構成図。
【図２】コントローラＡＳＩＣの要部ブロック構成図。
【図３】第１圧縮回路の回路ブロック図。
【図４】第２圧縮回路の回路ブロック図。
【図５】データ結合部の回路ブロック図。
【図６】第２圧縮回路の圧縮器の詳細な回路ブロック図。
【図７】圧縮されたモニタ信号伸長処理の説明図。
【図８】外部装置による解析処理を示すフローチャート。
【図９】ＩＤを第１圧縮データに付加する場合のデータ結合部の回路ブロック図。
【図１０】第２実施例におけるコントローラＡＳＩＣ及び解析装置の要部ブロック構成図。
【図１１】カウンタと再サンプリング部におけるクロックとカウント値の関係を示す図。
【図１２】モジュールクロックの位相予測の説明図。
【図１３】同期フラグを用いた圧縮率向上方法の説明図。
【図１４】カウンタサンプリングクロックのエッジがカウンタのデータ変化点と一致する場合の一例を示す図。
【発明を実施するための形態】
【００１４】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１５】
図１〜図９は、本発明の集積回路、画像処理装置、内部信号提供方法及び内部信号提供プログラムの第１実施例を示す図であり、図１は、本発明の集積回路、画像処理装置、内部信号提供方法及び内部信号提供プログラムの第１実施例を適用した画像処理装置１のブロック構成図である。
【００１６】
図１において、画像処理装置１は、スキャナ２、プロッタ３、画像処理ＡＳＩＣ４、コントローラＡＳＩＣ５、チップセット６、ＣＰＵ７、メインメモリ８及びＩ／Ｏ  ＡＳＩＣ９等を備えており、スキャナモード、コピーモード、プリンタモード、データ転送モード等の複数のアプリケーションモードを備えている。画像処理装置１は、後述するように、画像処理ＡＳＩＣ４やコントローラＡＳＩＣ５等の集積回路が、内部信号をモニタ信号として外部に出力する。
【００１７】
スキャナ２は、例えば、ＣＣＤ（Charge Coupled Device ）、ＣＩＳ（Contact Image Sensor：密着イメージセンサ）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor ）等を用いたスキャナ等が用いられており、原稿の表面を主走査及び副走査して該原稿の表面の画像を読み取る。スキャナ２は、原稿の表面の画像を読み取ったアナログの画像データを図示しないＡ／Ｄ（アナログ／デジタル）変換器でデジタル変換して、デジタルの表面画像データを画像処理ＡＳＩＣ４に出力する。すなわち、スキャナ２は、プロッタ３で印刷出力する画像データや外部インターフェイスへ出力するための画像データを読み取って、画像処理ＡＳＩＣ４に出力する。なお、図示しないが、外部インターフェイスには、コンピュータ等の外部装置の接続されているネットワークが接続されている。
【００１８】
プロッタ３は、所定の画像形成方式、例えば、電子写真方式でカラー画像を用紙（印刷媒体）に印刷出力し、例えば、印刷部が電子写真方式の場合には、回転駆動される感光体を中心に、光書き込み部、現像部及び転写部、定着部、帯電部及びクリーニング部等が配設されている各色（例えば、ＣＭＹＫ色）の印刷ユニットが搬送路上に所定間隔空けて並んで配設されている。このような電子写真方式のプロッタ３は、その各色の印刷ユニットが、帯電部で一様に帯電された感光体上に、印刷部が画像処理ＡＳＩＣ４からの画像データに基づいて変調した書き込み光を照射して、静電潜像を形成する。各色の印刷ユニットは、この静電潜像の形成された感光体に現像部から該印刷ユニットに対応する色のトナー（現像剤）を供給して現像し、感光体上のトナー画像を転写部と感光体との間に給紙カセットから用紙搬送部によって搬送されてきた用紙に、各色の印刷ユニットで、各色のトナー画像を重ね合わせるように転写して、カラーのトナー画像の転写が完了した用紙を定着部に搬送して、定着部で定着させる。
【００１９】
画像処理ＡＳＩＣ４は、スキャナ２で読み取られた原稿の画像データに適宜の補正を行った画像データ及び原稿における文字部／写真部、有彩／無彩を判定した画像分離データを生成してコントローラＡＳＩＣ５に出力し、また、コントローラＡＳＩＣ５から送られてくる画像データをプロッタ３で印刷できるように画像処理したり、プロッタ３の印刷タイミングにあわせて画像データをプロッタ３に送る。
【００２０】
コントローラＡＳＩＣ５は、チップセット６越しにメインメモリ８を使って画像処理装置１で扱う画像データの回転、編集等の画像処理を行ったり、図示しないハードディスクに蓄積するために、画像処理ＡＳＩＣ４と画像データを送受信する。
【００２１】
チップセット６は、ＣＰＵ７とともに用いられ、ＣＰＵ７、コントローラＡＳＩＣ５及びＩ／Ｏ  ＡＳＩＣ９が、メインメモリ８へアクセスすることを制御する。
【００２２】
メインメモリ８は、ＣＰＵ７が画像処理装置１を制御するための基本プログラム、本発明の内部信号提供プログラム及び必要なシステムデータが展開され、そのワーク領域として使用されるとともに、画像データ等の一時保管等を行う。
【００２３】
Ｉ／Ｏ  ＡＳＩＣ９は、画像処理装置１に付加機能を与えるための外部インターフェイス、例えば、ネットワークインターフェイス、ＵＳＢ（Universal Serial Bus）、ＳＤ（Secure Digital）カード、操作部、ＳＰＩ（Serial Peripheral Interface）、Ｉ２Ｃ（ＩスクウェアＣ）等のインターフェイスや画像処理を高速化するためのハードウェアアクセラレータ、暗号化処理回路等を追加することができる。
【００２４】
なお、画像処理装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤカード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明の内部信号提供方法を実行する内部信号提供プログラムを読み込んでメインメモリ８、ＲＯＭ（Read Only Memory）または図示しないハードディスク等に導入してメインメモリ８に展開することで、後述する端子数の増加を抑制しつつより多くの内部信号をモニタ信号として外部に出力する内部信号提供方法を実行する集積回路を搭載する画像処理装置１として構築されている。この内部信号提供プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００２５】
そして、上記画像処理ＡＳＩＣ４とコントローラＡＳＩＣ５及びコントローラＡＳＩＣ５とチップセット６とは、通常、要求と応答が分離され、応答を待たずに次の要求を発行できる高速のシリアルバスであるＰＣＩ（Peripheral Component Interconnect） Express（以下、ＰＣＩｅという。）で接続されている。
【００２６】
なお、以下の説明では、集積回路として、コントローラＡＳＩＣ５を取り上げて説明するが、他の集積回路、例えば、画像処理ＡＳＩＣ４等にも同様に説明することができる。
【００２７】
上記コントローラＡＳＩＣ５は、その要部が、図２に示すようにブロック構成されており、メモリアービタ１１、複数（図２では、４つ）の機能モジュール１２ａ〜１２ｄ、機能モジュール１２ａ〜１２ｄと同じ数の第１圧縮回路１３ａ〜１３ｄ、第２圧縮回路１４及びデバッグＩ／Ｆ１５等を備えている。
【００２８】
メモリアービタ１１は、各機能モジュール１２ａ〜１２ｄによるメインメモリ８へのアクセスを制御する。
【００２９】
各機能モジュール（モジュール）１２ａ〜１２ｄは、入力されるモジュールクロックＭ＿ＣＬＫに同期して、メモリアービタ１１を介してメインメモリ８からデータ（画像データ）を取得して、各種データ処理を行なう。各機能モジュール１２ａ〜１２ｄは、処理後のデータを、モジュールクロックＭ＿ＣＬＫに同期して、メモリアービタ１１を介してメインメモリ８へ書き戻し、また、外部へ出力する。さらに、各機能モジュール１２ａ〜１２ｄは、デバッグに使用する内部信号を、非同期でモニタ信号として第１圧縮回路１３ａ〜１３ｄへ出力する。このモジュールクロックＭ＿ＣＬＫは、上述のように、各機能モジュール１２ａ〜１２ｄがメモリアービタ１１に対してデータを転送する際に利用するクロックであり、機能モジュール１２ａ〜１２ｄ毎に、その周波数が異なる。
【００３０】
第１圧縮回路（第１圧縮手段）１３ａ〜１３ｄは、それぞれ機能モジュール１２ａ〜１２ｄに対応して設けられており、サンプリングクロックＳ＿ＣＬＫが入力されている。第１圧縮回路１３ａ〜１３ｄは、サンプリングクロックＳ＿ＣＬＫに同期して機能モジュール１２ａ〜１２ｄから出力されるモニタ信号をサンプリングして、所定の第１圧縮アルゴリズムによって圧縮する。第１圧縮回路１３ａ〜１３ｄは、圧縮後のデータ（以下、適宜、第１圧縮データという。）を第２圧縮回路１４へ出力する。このサンプリングクロックＳ＿ＣＬＫは、上述のように、第１圧縮回路１３ａ〜１３ｄが各機能モジュール１２ａ〜１２ｄからのモニタ信号をサンプリングするのに用いられるクロックであり、機能モジュール１２ａ〜１２ｄの動作とは直接関係しないクロックである。したがって、全ての第１圧縮回路１３ａ〜１３ｄが同じクロックで動作するときには、個別にクロックを入力する必要がない。
【００３１】
第２圧縮回路（第２圧縮手段）１４は、各第１圧縮回路１３ａ〜１３ｄから入力される第１圧縮データを結合して、結合データを所定の第２圧縮アルゴリズムに従って第２圧縮データとして圧縮し、第２圧縮データを、デバッグＩ／Ｆ１５に出力する。
【００３２】
デバッグＩ／Ｆ（信号出力手段）１５は、コントローラＡＳＩＣ５の端子に接続されており、第２圧縮回路１４から入力される第２圧縮データを、該端子を通して外部、例えば、解析装置等の外部装置に出力する。
【００３３】
上記第１圧縮回路１３ａ〜１３ｄは、図３に示すように回路ブロック構成されており、入力制御部２１、回転器２２、圧縮器２３、ＲＡＭ２４及び出力制御部２５等を備えている。
【００３４】
入力制御部２１は、上記サンプリングクロックＳ＿ＣＬＫに同期して、機能モジュール１２ａ〜１２ｄの出力するモニタ信号をサンプリングし、回転器２２へ出力する。
【００３５】
回転器（回転手段）２２は、入力制御部２１から入力されるモニタ信号を、時間軸方向に所定角度回転させて圧縮器２３へ出力する。
【００３６】
圧縮器（回転信号圧縮手段）２３は、回転器２２で時間軸方向に回転されたモニタ信号を所定の第１圧縮アルゴリズムで圧縮して、一旦ＲＡＭ２４に格納する。
【００３７】
すなわち、第１圧縮回路１３ａ〜１３ｄは、機能モジュール１２ａ〜１２ｄから入力されるモニタ信号をそのまま圧縮器２３で圧縮すると、ランダムデータとなり、圧縮効率が悪いだけでなく、伸長したときのデータの取り扱いが難しくなる。
【００３８】
そして、圧縮器２３は、機能モジュール１２ａ〜１２ｄで取り扱う信号の特性からして、モニタ信号を所定のデータ量ずつ時間軸方向に回転された状態で圧縮すると、圧縮効率を向上させることができるとともに、伸長データの取り扱いが容易となる。
【００３９】
すなわち、機能モジュール１２ａ〜１２ｄの取り扱う信号は、モジュールクロックＭ＿ＣＬＫが一定間隔であって、常に「０」、「１」に変動すること、制御信号が「０」または「１」の期間が連続すること、アドレス信号が画像処理では通常インクリメントでアドレスが動くことが多くアドレス線１本１本を見るとＬＳＢ（Least Significant Bit）からの分周クロックのように見みえること及びデータ信号が基本的にはランダムデータになること等の特性を有している。したがって、圧縮器２３は、モニタ信号が時間軸方向に回転された状態で圧縮することで、圧縮効率を向上させることができる。この場合、圧縮器２３による圧縮対象のデータ量としては、機能モジュール１２ａ〜１２ｄの特性や出力させる信号（モニタ信号）に依存する。
【００４０】
圧縮器２３は、所定の第１圧縮アルゴリズムでモニタ信号を圧縮するが、この第１圧縮アルゴリズムについては、モニタ信号の特性に応じて決定する。いま、デバッグ時に利用するモニタ信号が、主に制御信号、アドレス信号の場合が多い。このモニタ信号の特性からすると、圧縮器２３は、ランレングス圧縮を利用した圧縮アルゴリズムを第１圧縮アルゴリズムとして用いて圧縮することが適切であり、高効率での圧縮を行うことができる。
【００４１】
なお、圧縮器２３は、第１圧縮データを、一旦、ＲＡＭ２４に保存するが、これは、第２圧縮回路１４へ第１圧縮データを渡す場合に、少ないバス幅で信号を転送するためである。
【００４２】
出力制御部２５は、ＲＡＭ２４から第１圧縮データを取得し、第２圧縮回路１４へ転送する。
【００４３】
この出力制御部２５と第２圧縮回路１４との間のバス幅は、第１圧縮回路１３ａ〜１３ｄの圧縮率に依存し、事前に机上シミュレーションから想定することができる。例えば、第１圧縮回路１３ａ〜１３ｄの圧縮率の最悪値が１／４であると、入力のバス幅に対して、出力のバス幅を、最大１／４まで削減することができる。
【００４４】
そして、第２圧縮回路１４は、図４に示すように、回路ブロック構成されており、第１圧縮回路１３ａ〜１３ｄの数だけの入力制御部３１ａ〜３１ｄ、入力制御部３１ａ〜３１ｄと同じ数だけのＲＡＭ３２ａ〜３２ｄ、データ結合部３３、圧縮器３４及び出力制御部３５等を備えている。
【００４５】
入力制御部３１ａ〜３１ｄは、各第１圧縮回路１３ａ〜１３ｄに接続され、各第１圧縮回路１３ａ〜１３ｄから出力された第１圧縮データを受け取って、対応するＲＡＭ３２ａ〜３２ｄに格納する。
【００４６】
ＲＡＭ（データ保持手段）３２ａ〜３２ｄは、入力制御部３１ａ〜３１ｄから渡される第１圧縮データを格納し、データ結合部３３に渡す。
【００４７】
データ結合部（結合手段）３３は、各第１圧縮回路１３ａ〜１３ｄから出力された第１圧縮データを結合して、圧縮器３４に渡して圧縮させる。ところが、それぞれの第１圧縮回路１３ａ〜１３ｄでモニタ信号を圧縮するのに用いた第１圧縮アルゴリズムによっては、ＲＡＭ３２ａ〜３２ｄに格納されている第１圧縮データのデータ量が異なる。そこで、データ結合部３３は、圧縮後にどの第１圧縮回路１３ａ〜１３ｄで圧縮されたデータであるかが分かる形で第１圧縮データを結合し、圧縮器３４へ結合データを転送する。なお、データ結合部３３の詳細については、後述する。
【００４８】
圧縮器（第２圧縮手段）３４は、データ結合部３３から転送されてくる結合データを第２圧縮アルゴリズムで圧縮し、第２圧縮データとして出力制御部３５へ出力する。通常、第１圧縮回路１３ａ〜１３ｄで圧縮されているため、圧縮器３４は、第１圧縮データを結合した結合データを、そのまま圧縮しても、圧縮率が悪くなる。そこで、圧縮器３４は、流れてくるデータに対して、一定量のサイズで圧縮をかける。具体的には、圧縮器３４は、第１圧縮回路１３ａ〜１３ｄにおける圧縮のデータサイズよりも大きなデータサイズでデータを区切り、そのデータ全体を圧縮対象データとして圧縮をかけることで圧縮率を高めている。
【００４９】
出力制御部３５は、圧縮器３４で圧縮された第２圧縮データを取得し、転送制御信号とともに第２圧縮データを、デバッグＩ／Ｆ１５へ転送する。
【００５０】
上記データ結合部３３は、図５に示すように、第１圧縮回路１３ａ〜１３ｄの数と同じ数のデータ加工回路４１ａ〜４１ｄとデータ結合回路４２を備えている。
【００５１】
データ加工回路（有効／無効情報生成手段）４１ａ〜４１ｄは、図５では、データ加工回路４１ａについてのみ、内部ブロック構成が示されているが、全て同じ構成である。
【００５２】
データ加工回路４１ａ〜４１ｄは、状態付加回路４３と状態情報記憶部４４を備えており、状態付加回路４３に対応するＲＡＭ３２ａ〜３２ｄから第１圧縮データが入力される。
【００５３】
データ加工回路４１ａ〜４１ｄは、ＲＡＭ３２ａ〜３２ｄに第１圧縮データが保管されていると、対応するＲＡＭ３２ａ〜３２ｄから第１圧縮データを取得し、データ結合回路４２からデータ転送要求があると、該第１圧縮データをデータ結合回路４２へ出力する。
【００５４】
データ加工回路４１ａ〜４１ｄは、ＲＡＭ３２ａ〜３２ｄから第１圧縮データの取得処理を行うと、状態付加回路４３が、対応するＲＡＭ３２ａ〜３２ｄに第１圧縮データが保管されていてその第１圧縮データを取得することができたかを判定する。
【００５５】
状態付加回路４３は、ＲＡＭ３２ａ〜３２ｄから第１圧縮データを取得できたか否かの状態を判定すると、判定結果を示す状態情報（ＶＡＬＩＤ）を状態情報記憶部４４から読み出して付加して、データ結合回路４２へ出力する。この状態情報（ＶＡＬＩＤ）は、第１圧縮データが存在すると、「１」で、第１圧縮データが存在しないときに、「０」である情報である。
【００５６】
そして、データ結合回路４２は、各データ加工回路４１ａ〜４１ｄから入力される状態情報の付加された第１圧縮データを結合して、結合データとして圧縮器３４に出力する。また、データ結合回路４２は、上記圧縮対象データ毎にデータ区切りを示すデータ区切り情報を結合データに付加して圧縮器３４へ出力する。
【００５７】
さらに、データ結合回路４２は、圧縮器３４へ結合データを転送する場合、出力データの展開処理における負荷を軽減させるために、全てのＲＡＭ３２ａ〜３２ｄが空の場合には、結合データを圧縮器３４へ転送しないようにして、出力データに無効データが含まれないようにする。
【００５８】
第２圧縮回路１４は、各ＲＡＭ３２ａ〜３２ｄの第１圧縮データを均等に圧縮して、デバッグＩ／Ｆ１５から外部へ転送しているので、解析装置等の外部装置で、デコードをリアルタイムで行なうことができ、各機能モジュール１２ａ〜１２ｄからのモニタ信号を早い段階から見ることができる。
【００５９】
そして、第２圧縮回路１４は、図６に示すように回路構成されており、圧縮器３４と上記ＣＰＵ７等で構築されている。圧縮器３４は、ＲＡＭ（Random Access Memory）制御部５１、ＲＡＭ５２及び割込制御部５３等を備えている。なお、図６では、第２圧縮回路１４の外部のＣＰＵ７を用いているが、第２圧縮回路１４は、圧縮用のＣＰＵを備えていてもよい。
【００６０】
第２圧縮回路１４の圧縮処理は、圧縮器３４を利用して行うが、圧縮処理自体は、ＣＰＵ７によって行う。この場合、ＣＰＵ７は、メインメモリ８等に格納されている各種圧縮アルゴリズムのうち、データ種類、すなわち、モニタ信号の種類によって、圧縮効率の良好な圧縮アルゴリズムを第２圧縮アルゴリズムとして選択し、該第２圧縮アルゴリズムを用いて結合データの圧縮処理を行う。
【００６１】
すなわち、ＲＡＭ制御部５１は、データ結合部３３から転送されてきた結合データを、一旦、ＲＡＭ５２に格納する。ＲＡＭ制御部５１は、データ結合部３３からデータ区切りの情報を受け取ると、割込制御部５３に、ＣＰＵ７に対して割り込みを発生させる。
【００６２】
ＣＰＵ７は、割込制御部５３から割り込みを受けると、ＲＡＭ５２に保存されている結合データを読み出して、該結合データに対して上記選択した第２圧縮アルゴリズムを用いて圧縮して、ＲＡＭ５２に書き戻す。ＣＰＵ７は、結合データを圧縮して第２圧縮データを生成すると、出力制御部３５に転送要求を出す。
【００６３】
出力制御部３５は、ＣＰＵ７から転送要求を受け取ると、ＣＰＵ７によって圧縮されてＲＡＭ５２に格納されている第２圧縮データを、ＲＡＭ制御部５１を経由して、取得し、デバッグＩ／Ｆ１５へ転送する。
【００６４】
次に、本実施例の作用について説明する。本実施例の画像処理装置１は、その集積回路であるコントローラＡＳＩＣ５が、端子数を抑制しつつより多くのモニタ信号をまとめて出力する。
【００６５】
すなわち、画像処理装置１は、スキャナ２で読み取った原稿の画像データを画像処理ＡＳＩＣ４で必要な画像処理を施して、一旦、コントローラＡＳＩＣ５によってメインメモリ８に格納し、このメインメモリ８の画像データをコントローラＡＳＩＣ５が読み出して、画像処理ＡＳＩＣ４を介してプロッタ３で用紙に印刷出力するコピーモード機能、スキャナ２で読み取った原稿の画像データを画像処理ＡＳＩＣ４で必要な画像処理を施して、コントローラＡＳＩＣ５から外部のコンピュータ等に転送するデータ転送モード機能、外部から送られてきた画像データを一旦メインメモリ８に保管した後、コントローラＡＳＩＣ５が読み出してプロッタ３で印刷出力するプリンタモード機能等の複数の機能動作を行う。
【００６６】
また、画像処理装置１は、上記各機能処理において、コントローラＡＳＩＣ５が、その搭載する機能モジュール１２ａ〜１２ｄを用いて、スキャナ２で読み取られて画像処理ＡＳＩＣ４から送られてくる画像データのメインメモリ８への転送、メインメモリ８上の画像データの圧縮・伸長、編集、メインメモリ８から画像処理ＡＳＩＣ４への画像データの転送等の各種処理を行う。
【００６７】
そして、コントローラＡＳＩＣ５は、画像処理装置１の電源が投入されると、各部の初期化シーケンス処理を行って、初期化シーケンスが完了すると、モジュールクロックＭ＿ＣＬＫに同期して、上記通常動作が可能な状態に移行する。
【００６８】
各機能モジュール１２ａ〜１２ｄは、上記初期化シーケンス及び通常動作時における各機能モジュール１２ａ〜１２ｄの内部信号のうち、適宜の内部信号を、デバッグに使用するモニタ信号として、非同期で第１圧縮回路１３ａ〜１３ｄへ出力する。
【００６９】
第１圧縮回路１３ａ〜１３ｄは、対応する機能モジュール１２ａ〜１２ｄから入力されるモニタ信号を、サンプリングクロックＳ＿ＣＬＫに同期してサンプリングして、所定の第１圧縮アルゴリズムによって圧縮して第１圧縮データとする。
【００７０】
そして、第１圧縮回路１３ａ〜１３ｄは、モニタ信号を圧縮する際に、上述のように、各機能モジュール１２ａ〜１２ｄの取り扱う信号の特性を考慮して、モニタ信号を所定のデータ量ずつ時間軸方向に回転させた状態で圧縮する。第１圧縮回路１３ａ〜１３ｄは、モニタ信号を所定のデータ量ずつ時間軸方向に回転させた状態で圧縮することで、高効率で圧縮を行って、第２圧縮回路１４へ出力する。
【００７１】
第２圧縮回路１４は、各第１圧縮回路１３ａ〜１３ｄから入力される第１圧縮データを結合して、結合データを所定の第２圧縮アルゴリズムに従って第２圧縮データとして圧縮し、第２圧縮データを、デバッグＩ／Ｆ１５に出力する。
【００７２】
すなわち、第２圧縮回路１４は、図４に示したように、第１圧縮回路１３ａ〜１３ｄからの第１圧縮データをまず、ＲＡＭ３２ａ〜３２ｄに格納し、各ＲＡＭ３２ａ〜３２ｄの第１圧縮データをデータ結合部３３で結合して結合データとして圧縮器３４へ出力する。このデータ結合部３３は、ＲＡＭ３２ａ〜３２ｄから第１圧縮データを取得する際に、該ＲＡＭ３２ａ〜３２ｄから第１圧縮データを取得できたか否か判定して、第１圧縮データが存在すると、「１」、第１圧縮データが存在しないと、「０」の状態情報（ＶＡＬＩＤ）を付加する。
【００７３】
また、データ結合部３３は、上記圧縮対象データ毎にデータ区切りを示すデータ区切り情報を結合データに付加して圧縮器３４へ出力する。
【００７４】
さらに、データ結合部３３は、圧縮器３４へ結合データを転送する場合、出力データの展開処理における負荷を軽減させるために、全てのＲＡＭ３２ａ〜３２ｄが空の場合には、結合データを圧縮器３４へ転送しないようにする。その結果、圧縮器３４への出力データに無効データが含まれることを防止することができる。
【００７５】
すなわち、第２圧縮回路１４は、各ＲＡＭ３２ａ〜３２ｄの第１圧縮データを均等に圧縮して、デバッグＩ／Ｆ１５から外部へ転送する。
【００７６】
そして、第２圧縮回路１４は、その圧縮処理を、圧縮器３４を利用して行うが、圧縮処理自体は、ＣＰＵ７によって行う。この場合、ＣＰＵ７は、各種圧縮アルゴリズムのうち、データ種類、すなわち、モニタ信号の種類によって、圧縮効率の良好な圧縮アルゴリズムを第２圧縮アルゴリズムとして選択し、該第２圧縮アルゴリズムを用いて結合データの圧縮処理を行う。
【００７７】
画像処理装置１は、上述のようにしてサンプリングして、圧縮効率を向上させた状態で２回圧縮したモニタ信号を、第２圧縮データとして、デバッグＩ／Ｆ１５から外部装置に出力する。
【００７８】
そして、外部装置は、図７に示すように、第２圧縮データとして、圧縮データとＶＡＬＩＤが対になったデータを取得することになる。具体的には、外部装置は、ＶＡＬＩＤ（状態情報）として、「１」（圧縮データ有り）または「０」（圧縮データ無し）とデータが対となった、第２圧縮データを取得する。外部装置は、この第２圧縮データを、第２圧縮回路１４で用いられた第２圧縮アルゴリズムに従って伸長して、図７（ａ）に示すよな伸長データを取得する。外部装置は、データ加工回路４１ａ〜４１ｄのデータバス幅毎にデータを分割する。このデータバス幅は、データ加工回路４１ａ〜４１ｄ固有で決まるため、予め分かっており、外部装置は、このデータ幅毎に伸長したデータを、図７（ｂ）に示すように切り出す。また、この場合、ＲＡＭ３２ａ〜３２ｄの数もハードウェア構成として固定であるため、伸長データの接続も一意に決定される。次に、外部装置は、図７（ｃ）に示すように、ＶＡＬＩＤの状態によって、有効データのみを抽出する。外部装置は、抽出した有効データをさらに伸長して、図７（ｄ）に示すように、抽出して伸長したデータによって波形データを作成する。なお、この波形データの生成においては、波形データの生成時のクロック波形については、設計情報から周波数が分かっている。したがって、外部装置は、この設計情報に基づく周波数情報を、サンプリングクロックＳ＿ＣＬＫと同じものとして扱って、クロックを含めた波形データを生成する。
【００７９】
すなわち、外部装置は、図８に示すように解析処理を行う。外部装置は、まず、第２圧縮データの伸長し（ステップＳ１０１）、データ加工回路４１ａ〜４１ｄのデータバス幅毎にデータを分割する（ステップＳ１０２）。外部装置は、分割したデータを、ＶＡＬＩＤの状態に基づいて、有効データのみを抽出し（ステップＳ１０３）、さらに、各データを伸長する（ステップＳ１０４）。
【００８０】
なお、上記説明においては、データ加工回路４１ａ〜４１ｄは、データ区切り毎に、ＶＡＬＩＤ（状態情報）を付加しているが、図９に示すように、ＲＡＭ３２ａ〜３２ｄのＩＤ（Identity）を付加してもよい。
【００８１】
この場合、データ結合部３３は、図９に示すように、そのデータ加工回路４５ａ〜４５ｄの状態情報記憶部４６が、ＲＡＭ３２ａ〜３２ｄのＩＤを記憶している。状態付加回路４３は、対応するＲＡＭ３２ａ〜３２ｄからサイズ情報を取得し、指定した量のデータがＲＡＭ３２ａ〜３２ｄに保存されると、データ結合回路４２にデータ転送要求を行う。状態付加回路４３は、データ結合回路４２から転送許可があると、ＲＡＭ３２ａ〜３２ｄから取得した第１圧縮データに状態情報記憶部４６の記憶するＲＡＭ３２ａ〜３２ｄのＩＤを付加してデータ結合回路４２に出力する。
【００８２】
この場合、データ加工回路４５ａ〜４５ｄが、ＲＡＭ３２ａ〜３２ｄから第１圧縮データを取得する際には、固定サイズで第１圧縮データを取得することが望ましい。すなわち、ＲＡＭ３２ａ〜３２ｄへの第１圧縮データの書き込みが連続で行なわれている場合に、ひとつのＲＡＭ３２ａ〜３２ｄからの転送が連続で続いてしまい、他のＲＡＭ３２ａ〜３２ｄからの転送を阻害してしまうため、データ加工回路４５ａ〜４５ｄは、ＲＡＭ３２ａ〜３２ｄから固定サイズで第１圧縮データを取得することが好ましい。
【００８３】
データ結合回路４２は、データ加工回路４５ａ〜４５ｄからのデータ転送要求を受けると、転送要求受理信号を返す。このとき、データ結合回路４２は、各データ加工回路４５ａ〜４５ｄからの要求受付をラウンドロビンで実施するのが望ましい。すなわち、第１圧縮回路１３ａ〜１３ｄからの第１圧縮データがウェイト無しで入ってくるため、全てのモニタ信号が同じ優先度で実行されないと、データ転送が間に合わない可能性があるからである。
【００８４】
なお、この場合、外部装置におけるデータ伸長時においては、データは機能モジュール１２ａ〜１２ｄ毎に転送されているため、第２圧縮回路１４の第２圧縮アルゴリズムでデコードを行った後に、データ加工回路４５ａ〜４５ｄで付与されたＩＤの情報に基づいて、転送されてきたデータを分割する。その後、外部装置は、第１圧縮回路１３ａ〜１３ｄの第１圧縮アルゴリズムに従って、分割した各データのデコードを行ない、波形を生成する。
【００８５】
このように、本実施例の画像処理装置１は、各種信号処理を行うモジュールを搭載する集積回路であるコントローラＡＳＩＣ５が、機能モジュール１２ａ〜１２ｄから所定の内部信号をモニタ信号として受け取って、第１圧縮アルゴリズムで圧縮して第１圧縮データを生成する第１圧縮回路（第１圧縮手段）１３ａ〜１３ｄと、前記第１圧縮データを第２圧縮アルゴリズムで圧縮して第２圧縮データを生成する第２圧縮回路（第２圧縮手段）１４と、前記第２圧縮データを外部に出力するデバッグＩ／Ｆ（信号出力手段）１５と、を備えている。
【００８６】
したがって、モニタ信号を２重に圧縮して、より多くのデータ量の信号をモニタ信号として外部に出力することができ、モニタ信号用の端子数を抑制しつつより多くのモニタ信号をまとめて出力することができる。
【００８７】
また、本実施例の画像処理装置１は、その集積回路であるコントローラＡＳＩＣ５が、機能モジュール１２ａ〜１２ｄを搭載する集積回路における内部信号提供方法であって、前記機能モジュール１２ａ〜１２ｄから所定の内部信号をモニタ信号として受け取って第１圧縮アルゴリズムで圧縮して第１圧縮データを生成する第１圧縮処理ステップと、前記第１圧縮データを第２圧縮アルゴリズムで圧縮して第２圧縮データを生成する第２圧縮処理ステップと、前記第２圧縮データを外部に出力する信号出力処理ステップと、を有する内部信号提供方法を実行している。
【００８８】
したがって、モニタ信号を２重に圧縮して、より多くのデータ量の信号をモニタ信号として外部に出力することができ、モニタ信号用の端子数を抑制しつつより多くのモニタ信号をまとめて出力することができる。
【００８９】
さらに、本実施例の画像処理装置１は、その集積回路であるコントローラＡＳＩＣ５が、機能モジュール１２ａ〜１２ｄを搭載する集積回路で実行される内部信号提供プログラムであって、ＣＰＵ７等の制御プロセッサに、機能モジュール１２ａ〜１２ｄから所定の内部信号をモニタ信号として受け取って第１圧縮アルゴリズムで圧縮して第１圧縮データを生成する第１圧縮処理と、前記第１圧縮データを第２圧縮アルゴリズムで圧縮して第２圧縮データを生成する第２圧縮処理と、前記第２圧縮データを外部に出力する信号出力処理と、を実行させる内部信号提供プログラムを搭載している。
【００９０】
したがって、モニタ信号を２重に圧縮して、より多くのデータ量の信号をモニタ信号として外部に出力することができ、モニタ信号用の端子数を抑制しつつより多くのモニタ信号をまとめて出力することができる。
【００９１】
また、本実施例の集積回路であるコントローラＡＳＩＣ５は、第１圧縮回路１３ａ〜１３ｄが、前記モニタ信号を該モニタ信号の特性に基づいて所定量時間軸方向に回転させる回転器（回転手段）２２と、回転器２２で回転された前記モニタ信号を圧縮して前記第１圧縮データを生成する圧縮器（回転信号圧縮手段）２３と、を備えている。
【００９２】
したがって、モニタ信号の特性に応じて時間軸方向に回転させたモニタ信号を圧縮することができ、圧縮効率を向上させることができる。
【００９３】
さらに、本実施例の集積回路であるコントローラＡＳＩＣ５は、機能モジュール１２ａ〜１２ｄを複数備え、第１圧縮回路１３ａ〜１３ｄを該機能モジュール１２ａ〜１２ｄ毎に備え、複数の第１圧縮回路１３ａ〜１３ｄの圧縮した各第１圧縮データを結合して結合データを生成し、第２圧縮回路１４へ出力するデータ結合部（結合手段）３３を、さらに備えている。
【００９４】
したがって、複数の機能モジュール１２ａ〜１２ｄを搭載している場合に、各機能モジュール１２ａ〜１２ｄの内部信号のうち適宜の内部信号をモニタ信号として、２重に圧縮して出力することができ、モニタ信号用の端子数を抑制しつつより多くのモニタ信号をまとめて出力することができる。
【００９５】
また、本実施例の集積回路であるコントローラＡＳＩＣ５は、各第１圧縮回路１３ａ〜１３ｄの圧縮した前記第１圧縮データをそれぞれ保持するＲＡＭ（データ保持手段）３２ａ〜３２ｄと、第２圧縮回路１４での圧縮タイミングにおいて、前記各ＲＡＭ３２ａ〜３２ｄが第１圧縮データを保持しているか否かを示すＶＡＬＩＤである状態情報（データ有効／無効情報）を生成するデータ加工回路（有効／無効情報生成手段）４１ａ〜４１ｄと、を備え、データ結合回路（結合手段）４２が、各ＲＡＭ３２ａ〜３２ｄの第１圧縮データを結合して結合データを生成するとともに、データ加工回路４１ａ〜４１ｄの生成したＲＡＭ３２ａ〜３２ｄ毎の状態情報を該結合データの該各第１圧縮データに対応させて該結合データに付与して第２圧縮回路１４へ出力する。
【００９６】
したがって、各ＲＡＭ３２ａ〜３２ｄのデータを均等に圧縮して外部へ転送することができ、外部装置がデコードをリアルタイムで行うことで、各機能モジュール１２ａ〜１２ｄカラーのモニタ信号を速やかに確認することができる。その結果、解析速度を向上させることができる。
【００９７】
さらに、本実施例の集積回路であるコントローラＡＳＩＣ５は、データ結合回路４２が、データ加工回路４１ａ〜４１ｄが全てのＲＡＭ３２ａ〜３２ｄに対して無効情報を生成すると、第２圧縮回路１４への前記結合データの出力を行わない。
【００９８】
したがって、外部装置におけるデコード処理の負荷を軽減させることができる。
【００９９】
また、本実施例の集積回路であるコントローラＡＳＩＣ５は、各第１圧縮回路１３ａ〜１３ｄの圧縮した第１圧縮データをそれぞれ保持するＲＡＭ（データ保持手段）３２ａ〜３２ｄと、ＲＡＭ３２ａ〜３２ｄから第１圧縮データを取得すると、該第１圧縮データを識別するＩＤ（識別子）を該第１圧縮データに付与するデータ加工回路（識別子付与手段）４５ａ〜４５ｄと、を備え、データ結合回路４２が、データ加工回路４５ａ〜４５ｄの発生するデータ転送要求をラウンドロビン方式で受け付け、該データ加工回路４５ａ〜４５ｄから転送されてきた各第１圧縮データを結合して前記結合データを生成し、前記第２圧縮回路１４へ出力する。
【０１００】
したがって、データをデータ識別子であるＩＤとともに出力する簡単な転送方法でデータ転送することができ、後段の処理を容易なものとすることができる。
【０１０１】
さらに、本実施例の集積回路であるコントローラＡＳＩＣ５は、データ結合部（結合手段）３３が、第１圧縮回路１３ａ〜１３ｄの圧縮した第１圧縮データの区切りを示す区切り情報を結合データに付与して第２圧縮回路１４に出力し、第２圧縮回路１４が、前記区切り情報と前記モニタ信号の特性に基づいて、該区切り情報毎の第１圧縮データに対して、複数の圧縮アルゴリズムから第２圧縮アルゴリズムを決定して、決定した該第２圧縮アルゴリズムで該区切り情報毎に前記結合データを圧縮する。
【０１０２】
したがって、モニタ信号の特性に応じた第２圧縮アルゴリズムを適切に選択して圧縮することができ、圧縮効率をより一層向上させることができる。
【実施例２】
【０１０３】
図１０〜図１４は、本発明の集積回路、画像処理装置、内部信号提供方法及び内部信号提供プログラムの第２実施例を示す図であり、図１０は、本発明の集積回路、画像処理装置、内部信号提供方法及び内部信号提供プログラムの第２実施例を適用した画像処理装置が搭載しているコントローラＡＳＩＣ１００の要部ブロック構成図である。
【０１０４】
なお、本実施例は、上記第１実施例の画像処理装置１と同様の画像処理装置に適用したものであり、本実施例の説明においては、第１実施例と同様の構成部分については、同一の符号を付し、その説明を簡略化、または、省略する。また、図示しない部分についても、必要に応じて、第１実施例で用いた符号をそのまま用いて、説明する。
【０１０５】
また、本実施例においても、画像処理装置１のコントローラＡＳＩＣ１００について説明するが、他の集積回路、例えば、画像処理ＡＳＩＣ４等についても、同様に適用することができる。
【０１０６】
図１０において、集積回路であるコントローラＡＳＩＣ１００は、第１実施例のコントローラＡＳＩＣ５と同様のメモリアービタ１１、複数（本実施例では、４つ）の機能モジュール１２ａ〜１２ｄ及びデバッグＩ／Ｆ１５を備えているとともに、カウンタ１０１ａ〜１０１ｄ、再サンプリング部１０２ａ〜１０２ｄ、第１圧縮回路１０３ａ〜１０３ｄ、第３圧縮回路１０４及び第２圧縮回路１０５等を備えている。
【０１０７】
図１０は、コントローラＡＳＩＣ１００のデバッグＩ／Ｆ１５に、外部装置である解析装置２００が接続されているデバッグシステムＤＳとして記載されている。
【０１０８】
各機能モジュール（モジュール）１２ａ〜１２ｄは、上述のように、入力されるモジュールクロック（動作クロック）Ｍａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫに同期して、メモリアービタ１１を介してメインメモリ８からデータ（画像データ）を取得して、各種データ処理を行なう。各機能モジュール１２ａ〜１２ｄは、処理後のデータ（以下、適宜、処理データという。）を、モジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫに同期して、メモリアービタ１１を介してメインメモリ８へ書き戻し、また、外部へ出力する。また、各機能モジュール１２ａ〜１２ｄは、デバッグに使用する内部信号を、非同期でモニタ信号として第１圧縮回路１３ａ〜１３ｄへ出力するとともに、それぞれ対応して設けられているカウンタ１０１ａ〜１０１ｄへ出力する。このモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫは、上述のように、各機能モジュール１２ａ〜１２ｄがメモリアービタ１１に対してデータを転送する際に利用するクロックであり、機能モジュール１２ａ〜１２ｄ毎に、その周波数が異なる。
【０１０９】
第１圧縮回路（第１圧縮手段）１０３ａ〜１０３ｄは、それぞれ機能モジュール１２ａ〜１２ｄに対応して設けられており、サンプリングクロックＳ＿ＣＬＫが入力されている。第１圧縮回路１０３ａ〜１０３ｄは、サンプリングクロックＳ＿ＣＬＫに同期して機能モジュール１２ａ〜１２ｄから出力されるモニタ信号及びカウンタ１０１ａ〜１０１ｄから出力されるカウント値をサンプリングして、モニタ信号及びカウント値を所定の第１圧縮アルゴリズムによって圧縮する。第１圧縮回路１３ａ〜１３ｄは、圧縮後のデータ（以下、適宜、第１圧縮データという。）を第２圧縮回路１４へ出力する。このサンプリングクロックＳ＿ＣＬＫは、上述のように、第１圧縮回路１３ａ〜１３ｄが各機能モジュール１２ａ〜１２ｄからのモニタ信号をサンプリングするのに用いられるクロックであり、機能モジュール１２ａ〜１２ｄの動作とは直接関係しないクロックである。したがって、全ての第１圧縮回路１３ａ〜１３ｄが同じクロックで動作するときには、個別にクロックを入力する必要がない。
【０１１０】
カウンタ（カウント手段）１０１ａ〜１０１ｄは、機能モジュール１２ａ〜１２ｄ毎に設けられており、モジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫが入力されているとともに、機能モジュール１２ａ〜１２ｄの処理データが入力されている。
【０１１１】
カウンタ１０１ａ〜１０１ｄは、その対応する機能モジュール１２ａ〜１２ｄのモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫで動作するアップカウンタである。カウンタ１０１ａ〜１０１ｄは、モジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫを時間情報として扱って、機能モジュール１２ａ〜１２ｄに対応する第１圧縮回路１０３ａ〜１０３ｄ及び再サンプリング部１０２ａ〜１０２ｄにカウント値を出力する。
【０１１２】
この場合、カウンタ１０１ａ〜１０１ｄは、機能モジュール１２ａ〜１２ｄに対応する第１圧縮回路１０３ａ〜１０３ｄへのカウント値の出力を、適宜に指定された一定間隔で行ってもよい。このようにすると、第１圧縮回路１０３ａ〜１０３ｄにおける圧縮処理の圧縮効率を向上させることができる。また、解析装置２００において実施される波形再生時においても、カウンタ１０１ａ〜１０１ｄがアップカウンタであることから、一定間隔で出力されたカウント値からクロック毎のカウント値を推定することができる。
【０１１３】
再サンプリング部（サンプリング手段）１０２ａ〜１０２ｄは、上記機能モジュール１２ａ〜１２ｄに入力されているモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫのうち、最も速いクロックがカウンタサンプリングクロック（counter_samp_clk）ＣＳ＿ＣＬＫとして入力される。再サンプリング部１０２ａ〜１０２ｄは、対応するカウンタ１０１ａ〜１０１ｄの出力するカウント値を、上記カウンタサンプリングクロックＣＳ＿ＣＬＫで再サンプリングし、再サンプリングした再カウント値を第３圧縮回路１０４に出力する。
【０１１４】
第３圧縮回路（第３圧縮手段）１０４は、各機能モジュール１２ａ〜１２ｄに対応して設けられている再サンプリング部１０２ａ〜１０２ｄから再サンプリング結果である再カウント値が入力される。第３圧縮回路１０４は、該各再サンプリング部１０２ａ〜１０２ｄからの再カウント値を統合して、第１圧縮１０３ａ〜１０３ｄと同様の圧縮方式（第３圧縮方式）で圧縮して第３圧縮データとして第２圧縮回路１０５へ出力する。
【０１１５】
第２圧縮回路（第２圧縮手段）１０５は、各第１圧縮回路１０３ａ〜１０３ｄから第１圧縮データが入力されるとともに、第３圧縮回路１０４から第３圧縮データが入力される。第２圧縮回路１０５は、第１圧縮データを結合して、結合データを第３圧縮データとともに、所定の第２圧縮アルゴリズムに従って第２圧縮データとして圧縮し、第２圧縮データを、デバッグＩ／Ｆ１５に出力する。
【０１１６】
デバッグＩ／Ｆ（信号出力手段）１５は、第１実施例と同様に、コントローラＡＳＩＣ５の端子に接続されており、第２圧縮回路１０５から入力される第２圧縮データを、該端子を通して外部装置である解析装置２００に出力する。
【０１１７】
解析装置２００は、デバッグＩ／Ｆ２０１、伸長モジュール２０２、波形再生モジュール２０３及び設計情報保持部２０４等を備えている。
【０１１８】
デバッグＩ／Ｆ１５は、コントローラＡＳＩＣ１００のデバッグＩ／Ｆ１５に接続され、第２圧縮データを受け取って伸長モジュール２０２に渡す。
【０１１９】
伸長モジュール２０２は、第２圧縮データを、第２圧縮回路１０５で用いられた第２圧縮アルゴリズムに従って伸長して、例えば、図７（ａ）に示したような伸長データを取得し、波形再生モジュール２０３へ渡す。
【０１２０】
設計情報保持部２０４は、ハードディスクやフラッシュメモリ等で構成され、解析対象の集積回路（本実施例では、コントローラＡＳＩＣ１００）の設計時の設計情報を保管している。設計情報保持部２０４は、この設計情報として、少なくとも集積回路であるコントローラＡＳＩＣ１００の設計時のクロック周波数を含んでおり、波形再生モジュール２０３によって適時に読み出される。
【０１２１】
波形再生モジュール２０３は、位相推定機能を備えており、伸長モジュール２０２で伸長されたデータによって波形データを作成する。なお、波形再生モジュール２０３は、この波形データの生成において、設計情報保持部２０４から設計情報、特に、設計時のクロック周波数を読み出して、各機能モジュール１２ａ〜１２ｄ毎に波形を再生する。また、波形再生モジュール２０３は、波形データを機能モジュール１２ａ〜１２ｄ毎に分けて再生するだけでなく、各機能モジュール１２ａ〜１２ｄ間のクロックの位相関係を推定して、機能モジュール１２ａ〜１２ｄ間の波形を合わせて再生する。
【０１２２】
次に、本実施例の作用を説明する。本実施例のコントローラＡＳＩＣ１００は、モニタ信号を２重に圧縮して、より多くのデータ量の信号をモニタ信号として外部に出力するとともに、クロックをも圧縮して出力することができ、モニタ信号用の端子数を抑制しつつクロックを含めたより一層多くのモニタ信号をまとめて出力する。
【０１２３】
すなわち、本実施例のコントローラＡＳＩＣ１００は、第１圧縮回路１０３ａ〜１０３ｄが、第１実施例の場合と同様に、対応する機能モジュール１２ａ〜１２ｄから入力されるモニタ信号を、サンプリングクロックＳ＿ＣＬＫに同期してサンプリングする。また、第１圧縮回路１０３ａ〜１０３ｄは、サンプリングクロックＳ＿ＣＬＫに同期してカウンタ１０１ａ〜１０１ｄからのカウント値をサンプリングする。第１圧縮回路１０３ａ〜１０３ｄは、サンプリングしたモニタ信号とカウント値を、所定の第１圧縮アルゴリズムによって圧縮して第１圧縮データとする。この場合、第１圧縮回路１０３ａ〜１０３ｄは、第１実施例の場合と同様に、モニタ信号を圧縮する際に、各機能モジュール１２ａ〜１２ｄの取り扱う信号の特性を考慮して、モニタ信号を所定のデータ量ずつ時間軸方向に回転させた状態で圧縮する。
【０１２４】
そして、カウンタ１０１ａ〜１０１ｄは、その対応する機能モジュール１２ａ〜１２ｄのモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫを時間情報として扱って、アップカウントして、機能モジュール１２ａ〜１２ｄに対応する第１圧縮回路１０３ａ〜１０３ｄ及び再サンプリング部１０２ａ〜１０２ｄにカウント値を出力する。
【０１２５】
例えば、機能モジュール１２ｂの場合、図１１に示すように、カウンタ１０１ｂのサンプリングするカウント値Ｃｂと再サンプリング部１０２ｂがカウンタサンプリングクロックＣＳ＿ＣＬＫに基づいてサンプリングする再カウント値ＳＣｂが、それぞれカウントされる。なお、図１１では、モジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫのうち、モジュールクロックＭａ＿ＣＬＫが最も速く、カウンタサンプリングクロックＣＳ＿ＣＬＫとなっており、モジュールクロックＭａ＿ＣＬＫとモジュールクロックＭｂ＿ＣＬＫは、次式（１）で示す関係にあるものとしている。
【０１２６】
Ｍａ＿ＣＬＫ＞Ｍｂ＿ＣＬＫ＞Ｍａ＿ＣＬＫ／２・・・（１）
図１１の場合、カウンタ１０１ｂは、モジュールクロックＭｂ＿ＣＬＫでアップカウントし、再サンプリング部１０２ｂが、このカウント値Ｃｂを、カウンタサンプリングクロックＣＳ＿ＣＬＫで再サンプリングして、再カウント値ＳＣｂをカウントする。そして、図１１において、ｄＭＤは、モジュールクロックＭｂ＿ＣＬＫとカウンタサンプリングクロックＣＳ＿ＣＬＫの周期差であり、カウンタサンプリングクロックＣＳ＿ＣＬＫが、１３３ＭＨｚ、モジュールクロックＭｂ＿ＣＬＫが、１００ＭＨｚであるとすると、周期差ｄＭＤは、２．５ｎｓとなる。したがって、再サンプリング部１０２ｂは、カウンタサンプリングクロックＣＳ＿ＣＬＫでカウントアップして再カウント値ＳＣｂとするが、再カウント値ＳＣｂは、モジュールクロックＭｂ＿ＣＬＫとの周期差ｄＭＤ分だけ、カウンタサンプリングクロックＣＳ＿ＣＬＫ毎に、カウント値Ｃｂに対して遅れる。その結果、位相遅れの積算がカウンタサンプリングクロックＣＳ＿ＣＬＫ分になると、再カウンタ値ＳＣｂが連続して同じ値になる。例えば、図１１では、「３」が連続している。そして、図１１では、カウンタサンプリングクロックＣＳ＿ＣＬＫの周期が、７．５ｎｓであるため、再サンプリング部１０２ｂは、周期差ｄＭＤが積算されて、７．５ｎｓになる３サイクルに１回、同一の再カウント値ＳＣｂを連続してカウントすることになる。
【０１２７】
そして、コントローラＡＳＩＣ１００は、カウンタ１０１ａ〜１０１ｄのカウント値Ｃａ〜Ｃｄを第１圧縮回路１０３ａ〜１０３ｄで機能モジュール１２ａ〜１２ｄからのモニタ信号とともに圧縮して、第１圧縮データとして第２圧縮回路１０５へ出力する。
【０１２８】
また、コントローラＡＳＩＣ１００は、再サンプリング部１０２ａ〜１０２ｄの再カウント値ＳＣａ〜ＳＣｄを、第３圧縮回路１０４で統合して圧縮し、第２圧縮回路１０５に第３圧縮データとして出力する。
【０１２９】
第２圧縮回路１０５は、第１圧縮データと第３圧縮データを統合して圧縮して、第２圧縮データとしてデバッグＩ/Ｆ１５を介して解析装置２００へ出力する。
【０１３０】
解析装置２００は、コントローラＡＳＩＣ１００から送られてきた第２圧縮データを、伸長モジュール２０２で伸長して、波形再生モジュール２０３に渡す。
【０１３１】
波形再生モジュール２０３は、設計情報保持部２０４に格納されているコントローラＡＳＩＣ１００の設計情報、特に、コントローラＡＳＩＣ１００の設計時におけるクロック周波数を参照して、伸長された第２圧縮データから、モジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫの位相、波形を予測する。
【０１３２】
例えば、上記図１１に示したモジュールクロックＭｂ＿ＣＬＫの場合、波形再生モジュール２０３は、図１２に示すようにモジュールクロックＭｂ＿ＣＬＫの予測波形を求める。すなわち、いま、モジュールクロックＭｂ＿ＣＬＫのクロック周波数は、設計情報保持部２０４に格納されている。コントローラＡＳＩＣ１００は、カウンタ１０１ｂが、このモジュールクロックＭｂ＿ＣＬＫの立ち上がりでカウントアップするカウント値Ｃｂに対して、カウント値Ｃｂが同一値になるように、カウンタサンプリングクロックＣＳ＿ＣＬＫでカウント値Ｃｂを再サンプリングして再サンプリング値ＳＣｂを生成するためには、以下の2つの条件の範囲内である必要がある。
【０１３３】
１）同一値のカウント値Ｃｂを最後に検知したカウンタサンプリングクロックＣＳ＿ＣＬＫのエッジに対して、直後にカウント値Ｃｂがカウントアップされた場合（図１２の予測波形１に対応する場合）。
【０１３４】
２）同一値のカウント値Ｃｂを最初に検知したカウンタサンプリングクロックＣＳ＿ＣＬＫのエッジに対して、直前にカウント値Ｃｂがカウントアップされた場合（図１２の予測波形２に対応する場合）。
【０１３５】
すなわち、実際のモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫの波形は、同一のカウント値Ｃｂが検出されたカウンタサンプリングクロックＣＳ＿ＣＬＫのエッジに対して、次式（２）の範囲内にモジュールクロックＭｂ＿ＣＬＫのエッジがあることになる。
【０１３６】
カウンタサンプリングクロックＣＳ＿ＣＬＫのエッジ位置−周期差ｄＭＤ
＜モジュールクロックＭｂ＿ＣＬＫのエッジ位置
＜カウンタサンプリングクロックＣＳ＿ＣＬＫのエッジ位置・・・（２）
なお、上記式（２）は、モジュールクロックＭｂ＿ＣＬＫの場合について示しているが、全てのモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫの場合についても同様である。
【０１３７】
そして、各機能モジュール１２ａ〜１２ｄから出力される波形情報には、カウンタ情報が保存されている。したがって、波形再生モジュール２０３は、上記方法で推定したモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫとそのカウンタ情報及び各機能モジュール１２ａ〜１２ｂから出力されたカウンタ情報を照らし合わせることで、カウンタサンプリングクロックＣＳ＿ＣＬＫとモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫの周期差ｄＭＤの誤差範囲内で波形を再生することができる。
【０１３８】
そして、上記処理を、コントローラＡＳＩＣ１００の他の機能モジュール１２ａ〜１２ｄに対しても、カウンタサンプリングクロックＣＳ＿ＣＬＫに対する波形再生を行うことができ、コントローラＡＳＩＣ１００全体の波形再生を行うことができる。
【０１３９】
また、コントローラＡＳＩＣ１００等の集積回路の設計時には、合成を行なう際に配線遅延や素子遅延を含めた信号の遅延情報が計算されている。したがって、集積回路、例えば、コントローラＡＳＩＣ１００は、信号解析においてより詳細な情報が必要な場合は、実測値ではないが、これらの設計情報を各機能モジュール、例えば、機能モジュール１２ａ〜１２ｄの波形生成時の信号遅延情報として付加することで、内部動作の状態をより詳しく知ることができる。その結果、波形再生精度をより一層向上させることができる。
【０１４０】
なお、上記コントローラＡＳＩＣ１００において、フラグを用いることで、第１圧縮回路１０３ａ〜１０３ｄにおける圧縮率を向上させることができる。
【０１４１】
いま、図１３に示すように、機能モジュール１２ａと機能モジュール１２ｂのカウンタ１０１ａとカウンタ１０１ｂによるサンプリング開始位置が同タイミングであるとする。すなわち、図１３では、カウンタサンプリングクロックＣＳ＿ＣＬＫとして機能モジュール１２ａのモジュールクロックＭ＿ＣＬＫを用いているため、カウンタ１０１ａとカウンタ１０１ｂによるサンプリング開始位置が同タイミングとなっている。この場合、カウンタ１０１ａ、１０１ｂの値が連続したことを示す同期フラグを利用することで、波形の合成を、圧縮率を高めつつ行うことができる。
【０１４２】
この同期フラグは、再カウント値ＳＣｂが連続した地点を示すフラグである。そこで、再サンプリング部１０２ｂは、再カウント値ＳＣｂの場合、カウントする現在の再カウント値ＳＣｂと１つ前の再カウント値ＳＣｂを比較し、カウンタが進まず、同じ再カウント値ＳＣｂであると、同期フラグを「１」に変化させる。再サンプリング部１０２ｂは、同期フラグを、カウント値を圧縮する第３圧縮回路１０４へ出力して、圧縮する。
【０１４３】
波形再生時には、上述のように、解析装置２００が、第３圧縮回路１０４及び第２圧縮回路１０５によって圧縮された同期フラグに基づいて、カウンタサンプリングクロックＣＳ＿ＣＬＫとモジュールクロックＭｂ＿ＣＬＫの位相を推定することができる。
【０１４４】
また、第１圧縮回路１０３ａ〜１０３ｄで圧縮された機能モジュール１２ａ〜１２ｄの波形での同期フラグは、第３圧縮回路１０４の変化点の次のカウンタサンプリングクロックＣＳ＿ＣＬＫでラッチされる。したがって、波形を合わせるときには、機能モジュール１２ａ〜１２ｄの波形の同期フラグの変化位置を推定されたクロック波形での変化点の次のモジュールクロックＭ＿ＣＬＫに合わせるように合成することで、カウンタ１０１ａ〜１０１ｄの数値を利用することなく、波形の合成を行うことができる。
【０１４５】
すなわち、カウンタ１０１ａ〜１０１ｄのカウント値（カウント情報）を、同期フラグという１ビットの信号に置き換えることで、圧縮率を向上させつつ、異なる機能モジュール１２ａ〜１２ｄ間の波形を合成することができる。
【０１４６】
また、図１３において、機能モジュール１２ａと機能モジュール１２ｂのサンプリング開始位置が同タイミングでない場合には、カウンタ１０１ａ、１０１ｂの情報が必要となる。しかし、カウンタ１０１ａ、１０１ｂのカウント値をそのまま第１圧縮回路１０３ａ、１０３ｂで圧縮すると、クロック単位で値が変化するため、ランレングス圧縮方式を用いると、効率が悪くなる。また、波形の合成は、上述のように、同期フラグを用いることで可能であるため、合成位置の調整は、同期フラグの時点でのカウント値が分かっていれば行うことができる。そこで、カウンタ１０１ａ〜１０１ａ、１０１ｂは、同期フラグに加えて、同期フラグが「１」の時点でのカウント値のみを第１圧縮回路１０３ａ〜１０３ｄに渡すことで、次の同期フラグが「１」になるまでカウント値が変化しないため、カウント値をそのまま圧縮するよりも、圧縮率を高くすることができる。
【０１４７】
このようにすると、機能モジュール１２ａ〜１２ｄのサンプリング開始時間が、それぞれ異なっていても、適切に波形の再生を行うことができる。
【０１４８】
さらに、本実施例においては、例えば、図１４に示すように、カウンタサンプリングクロックＣＳ＿ＣＬＫとモジュールクロックＭｂ＿ＣＬＫは非同期である。したがって、モジュールクロックＭｂ＿ＣＬＫでカウントアップするカウンタ１０１ｂを、再サンプリング部１０２ｂにおいてカウンタサンプリングクロックＣＳ＿ＣＬＫでサンプリングすると、信号のセットアップ・ホールド条件を満たすことができないおそれがあり、不定となる値が出力されることがある。このような場合、通常は、非同期の受け渡し回路を使用して、必ず値が取れるように設計されるが、この方法では数クロックの遅延が発生し、本発明の場合、利用することができない。
【０１４９】
ところが、本実施例においては、カウンタ１０１ａ〜１０１ｄがアップカウンタであることから、不正なカウント値を容易に判断することができる。再サンプリング部１０２ａ〜１０２ｄは、現在のカウント値と１つ前のカウント値を比較してカウントアップしていない場合は、１つ前のカウンタ値と同じ値が入っているものとして修正する。したがって、不正なデータが入っているときは、モジュールクロックＭ＿ＣＬＫの変化点でのサンプリングであると判定することができ、モジュールクロックＭ＿ＣＬＫの変化点でサンプリングされた値は、１つ前の値と同じとすることで波形の再生を行うことができる。
【０１５０】
すなわち、図１４の場合、カウンタサンプリングクロックＣＳ＿ＣＬＫの周期がモジュールクロックＭｂ＿ＣＬＫの周期よりも短い。したがって、モジュールクロックＭｂ＿ＣＬＫで動くカウンタ１０１ｂの変化点にカウンタサンプリングクロックＣＳ＿ＣＬＫのエッジがあると、カウンタサンプリングクロックＣＳ＿ＣＬＫの１つ前のエッジは、モジュールクロックＭｂ＿ＣＬＫの周期内にある。その結果、上記の場合、再サンプリング部１０２ｂは、カウンタ１０１ｂが変化する前の値を、サンプリングしていることになる。
【０１５１】
このようにすると、カウンタ１０１ａ〜１０１ｄのカウントタイミング、すなわち、カウント値の変化のタイミングで、再サンプリング部１０２ａ〜１０２ｄがサンプリングした場合においても、波形再生に影響を与えることのないカウント値を確保することができる。
【０１５２】
このように、本実施例の集積回路であるコントローラＡＳＩＣ１００は、前記モジュールとして複数の機能モジュール１２ａ〜１２ｄを搭載するとともに、該各機能モジュール１２ａ〜１２ｄがそれぞれ独自のモジュールクロック（動作クロック）Ｍａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫで信号処理を行ない、前記機能モジュール１２ａ〜１２ｄ毎に、該機能モジュール１２ａ〜１２ｄのモジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫでカウントアップしてカウント値を第１圧縮回路１０３ａ〜１０３ｄへ出力するカウンタ（カウント手段）１０１ａ〜１０１ｄと、前記各カウンタ１０１ａ〜１０１ｄのカウント値をそれぞれ前記モジュールクロックＭａ＿ＣＬＫ〜Ｍｄ＿ＣＬＫのうち最も周期の短い動作クロックであるカウンタサンプリングクロックＣＳ＿ＣＬＫでサンプリングする再サンプリング部（サンプリング手段）１０２ａ〜１０２ｄと、再サンプリング部１０２ａ〜１０２ｄのサンプリングしたサンプリング値を第３圧縮アルゴリズムで圧縮して第３圧縮データを生成する第３圧縮回路（第３圧縮手段）１０４と、を備え、前記第１圧縮回路１０３ａ〜１０３ｄが、前記各カウンタ１０１ａ〜１０１ｄからの前記カウント値と前記モニタ信号を統合して前記第１圧縮アルゴリズムで圧縮して統合第１圧縮データを生成し、前記第２圧縮回路（第２圧縮手段）１０５が、前記統合第１圧縮データと前記第３圧縮データを統合して第２圧縮アルゴリズムで圧縮して統合第２圧縮データを生成し、前記デバッグＩ／Ｆ（信号出力手段）１５が、前記統合第２圧縮データを外部に出力する。
【０１５３】
したがって、端子数を抑制しつつ、さらにより一層多くのモニタ信号をまとめて出力することができ、モニタ信号用の端子数を抑制しつつより一層多くのモニタ信号を簡潔にまとめて出力することができる。
【０１５４】
また、本実施例の集積回路であるコントローラＡＳＩＣ１００は、前記カウンタ１０１ａ〜１０１ｄが、前記カウント値を所定の一定間隔で前記第１圧縮回路１０３ａ〜１０３ｄへ出力している。
【０１５５】
したがって、カウンタ１０１ａ〜１０１ｄのカウント値の変化を最小限にすることができ、圧縮率を向上させることができる。
【０１５６】
さらに、本実施例の集積回路であるコントローラＡＳＩＣ１００は、再サンプリング部１０２ａ〜１０２ｄが、同じ前記サンプリング値が連続する時点を示す同期フラグを設定し、該同期フラグを前記第３圧縮回路１０４へ出力し、第３圧縮回路１０４が、前記サンプリング値及び前記同期フラグを前記第３圧縮アルゴリズムで圧縮して前記第３圧縮データとして生成している。
【０１５７】
したがって、より一層簡単に精度を向上させることができる。
【０１５８】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１５９】
１  画像処理装置
２  スキャナ
３  プロッタ
４  画像処理ＡＳＩＣ
５  コントローラＡＳＩＣ
６  チップセット
７  ＣＰＵ
８  メインメモリ
９  Ｉ／Ｏ  ＡＳＩＣ
１１  メモリアービタ
１２ａ〜１２ｄ  機能モジュール
１３ａ〜１３ｄ  第１圧縮回路
１４  第２圧縮回路
１５  デバッグＩ／Ｆ
２１  入力制御部
２２  回転器
２３  圧縮器
２４  ＲＡＭ
２５  出力制御部
３１ａ〜３１ｄ  入力制御部
３２ａ〜３２ｄ  ＲＡＭ
３３  データ結合部
３４  圧縮器
３５  出力制御部
４１ａ〜４１ｄ  データ加工回路
４２  データ結合回路
４３  状態付加回路
４４  状態情報記憶部
５１  ＲＡＭ制御部
５２  ＲＡＭ
５３  割込制御部
４５ａ〜４５ｄ  データ加工回路
４６  状態情報記憶部
１００  コントローラＡＳＩＣ
１０１ａ〜１０１ｄ  カウンタ
１０２ａ〜１０２ｄ  再サンプリング部
１０３ａ〜１０３ｄ  第１圧縮回路
１０４  第３圧縮回路
１０５  第２圧縮回路
２００  解析装置
２０１  デバッグＩ／Ｆ
２０２  伸長モジュール
２０３  波形再生モジュール
２０４  設計情報保持部
【先行技術文献】
【特許文献】
【０１６０】
【特許文献１】特開２００６−１１３０１６号公報
【特許文献２】特開２００８−２２４５５５号公報
【図１】
2014187676.tif 000003
【図２】
2014187676.tif 000004
【図３】
2014187676.tif 000005
【図４】
2014187676.tif 000006
【図５】
2014187676.tif 000007
【図６】
2014187676.tif 000008
【図７】
2014187676.tif 000009
【図８】
2014187676.tif 000010
【図９】
2014187676.tif 000011
【図１０】
2014187676.tif 000012
【図１１】
2014187676.tif 000013
【図１２】
2014187676.tif 000014
【図１３】
2014187676.tif 000015
【図１４】
2014187676.tif 000016