(57)【要約】      （修正有）【課題】論理集積回路の処理におけるエラーの原因の特定に役立つデータの取得を、そのために論理集積回路のリソースを占有することなく実現する。【解決手段】データ処理装置２の各構成部は、論理集積回路が備える１以上の論理演算ユニットにより構成されている。伸張処理部２１は、コンピュータ９から入力される圧縮された画像データを伸張する。色調整処理部／属性データ保持部２４は、通常動作時には、伸張された画像データに色調整処理を施す色調整処理部２４１として動作する。色調整処理部／属性データ保持部２４は、伸張処理部２１におけるエラー発生後は、エラー発生時の伸張処理部２１のデータ処理の属性を示す属性データを保持する属性データ保持部２４２として動作する。エラー発生前に色調整処理を行っていた論理演算ユニットがエラー発生後に属性データを保持するため、属性データの保持のためにエラー発生前のリソースが占有されない。【選択図】図２
2015184725.tif 000002
【特許請求の範囲】
【請求項１】
各々が論理回路を備える複数の論理演算ユニットを備え、
前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットは、第１のデータ処理を行い、
前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットは、前記第１のデータ処理におけるエラーの発生前は、前記第１のデータ処理と関連する第２のデータ処理を行い、前記エラーの発生後は、前記第１のデータ処理の属性を示す属性データを保持する
論理集積回路。
【請求項２】
前記複数の論理演算ユニットのうち、１以上の論理演算ユニットは、前記エラーの発生を検出し、
前記複数の論理演算ユニットのうち、１以上の論理演算ユニットは、前記属性データを生成する
請求項１に記載の論理集積回路。
【請求項３】
プログラムに従い、前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を行うことにより、当該１以上の論理演算ユニットを、前記第１のデータ処理を行うように構成し、
プログラムに従い、前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を行うことにより、当該１以上の論理演算ユニットを、前記エラーの発生前は前記第２のデータ処理を行い、前記エラーの発生後は前記属性データを保持するように構成する
構成部を備える
請求項１または２に記載の論理集積回路。
【請求項４】
前記構成部は、前記エラーの発生前に前記第２の処理部として構成していた１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を、前記エラーの発生後に変更することにより、当該１以上の論理演算ユニットを前記属性データ保持部として構成する
請求項３に記載の論理集積回路。
【請求項５】
前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットは、前記第１のデータ処理と関連する第３のデータ処理を行い、
前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットは、前記エラーの発生前は、前記第１のデータ処理と関連する第４のデータ処理を行い、前記エラーの発生後は、前記第１のデータ処理または前記第３のデータ処理で処理されたデータを保持する
請求項１乃至４のいずれか１項に記載の論理集積回路。
【請求項６】
論理集積回路が備える、各々が論理回路を備える複数の論理演算ユニットのうちの、１以上の論理演算ユニットが、第１のデータ処理を行うように、当該１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を指示し、
前記複数の論理集積回路のうちの、１以上の論理演算ユニットが、前記第１のデータ処理におけるエラーの発生前は、前記第１のデータ処理と関連する第２のデータ処理を行い、前記エラーの発生後は、前記第１のデータ処理の属性を示す属性データを保持するように、当該１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を指示する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理集積回路および論理集積回路を構成するためのプログラムに関する。
【背景技術】
【０００２】
論理集積回路の設計や不具合の修正等の作業において、エンジニアは論理集積回路の内部で処理されているデータ（内部データ）を解析する必要がある。エンジニアによる論理集積回路の内部データの解析を可能とする技術を開示する文献として、例えば、特許文献１および特許文献２がある。
【０００３】
特許文献１には、プログラマブル論理デバイスに埋め込まれた論理アナライザーがプログラマブル論理デバイスの内部データをメモリに連続的に格納し、ブレークポイントが発生すると、その時点でメモリに格納されている内部データをコンピュータに出力する仕組みが開示されている。
【０００４】
特許文献２には、論理回路内の複数の被監視論理信号を常時メモリに書き込み、複数の被監視論理信号が予め定められた論理に一致した場合、メモリに書き込まれている被監視論理信号を外部へ導出する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２９６４０３号公報
【特許文献２】特開平８−３３９３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、論理集積回路の処理におけるエラーの原因の特定に役立つデータの取得を、そのために論理集積回路のリソースを占有することなく実現することである。
【課題を解決するための手段】
【０００７】
本発明は、各々が論理回路を備える複数の論理演算ユニットを備え、前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットは、第１のデータ処理を行い、前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットは、前記第１のデータ処理におけるエラーの発生前は、前記第１のデータ処理と関連する第２のデータ処理を行い、前記エラーの発生後は、前記第１のデータ処理の属性を示す属性データを保持する論理集積回路を第１の態様として提案する。
【０００８】
また、本発明は、上記の第１の態様の論理集積回路において、前記複数の論理演算ユニットのうち、１以上の論理演算ユニットは、前記エラーの発生を検出し、前記複数の論理演算ユニットのうち、１以上の論理演算ユニットは、前記属性データを生成する、という構成を第２の態様として提案する。
【０００９】
また、本発明は、上記の第１または第２の態様の論理集積回路において、プログラムに従い、前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を行うことにより、当該１以上の論理演算ユニットを、前記第１のデータ処理を行うように構成し、プログラムに従い、前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を行うことにより、当該１以上の論理演算ユニットを、前記エラーの発生前は前記第２のデータ処理を行い、前記エラーの発生後は前記属性データを保持するように構成する構成部を備える、という構成を第３の態様として提案する。
【００１０】
また、本発明は、上記の第３の態様の論理集積回路において、前記構成部は、前記エラーの発生前に前記第２の処理部として構成していた１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を、前記エラーの発生後に変更することにより、当該１以上の論理演算ユニットを前記属性データ保持部として構成する、という構成を第４の態様として提案する。
【００１１】
また、本発明は、上記の第１乃至第４の態様のいずれかの論理集積回路において、前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットは、前記第１のデータ処理と関連する第３のデータ処理を行い、前記複数の論理演算ユニットのうちの、１以上の論理演算ユニットは、前記エラーの発生前は、前記第１のデータ処理と関連する第４のデータ処理を行い、前記エラーの発生後は、前記第１のデータ処理または前記第３のデータ処理で処理されたデータを保持する、という構成を第５の態様として提案する。
【００１２】
また、本発明は、論理集積回路が備える、各々が論理回路を備える複数の論理演算ユニットのうちの、１以上の論理演算ユニットが、第１のデータ処理を行うように、当該１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を指示し、前記複数の論理集積回路のうちの、１以上の論理演算ユニットが、前記第１のデータ処理におけるエラーの発生前は、前記第１のデータ処理と関連する第２のデータ処理を行い、前記エラーの発生後は、前記第１のデータ処理の属性を示す属性データを保持するように、当該１以上の論理演算ユニットの論理演算の設定および当該１以上の論理演算ユニット間の接続を指示するプログラムを第６の態様として提案する。
【発明の効果】
【００１３】
上記の第１の態様によれば、論理集積回路の第１のデータ処理におけるエラーの発生前に第２のデータ処理を行っていた論理演算ユニットに、当該エラーの原因の特定に役立つ属性データが保持される。従って、エラーの原因の特定に役立つ属性データの保持のためにエラーの発生前の論理集積回路のリソースが占有されない。
【００１４】
上記の第２の態様によれば、論理集積回路において第１のデータ処理のエラーの検出と属性データの生成が行われる。
【００１５】
上記の第３の態様によれば、エンジニアは、第１のデータ処理において発生したエラーの原因を、当該エラーの発生前に第２のデータ処理を行っていた論理演算ユニットに保持された属性データを用いて特定しつつプログラムを変更することにより、論理集積回路の設計を行うことができる。
【００１６】
上記の第４の態様によれば、第１のデータ処理におけるエラーの発生前に第２のデータ処理を行うように構成されていた論理演算ユニットが、当該エラーの発生後に、当該エラーの原因の特定に役立つ属性データを保持するように再構成される。
【００１７】
上記の第５の態様によれば、第１のデータ処理におけるエラーの発生後に、第１のデータ処理または第１のデータ処理と関連する第３のデータ処理で処理されたデータが、当該エラーの発生前に第４のデータ処理を行っていた論理演算ユニットに保持され、エラーの原因の特定に利用可能となる。
【００１８】
上記の第６の態様によれば、ＰＬＤ（Programmable Logic Device）において、第１のデータ処理におけるエラーの発生前に第２のデータ処理を行っていた論理演算ユニットが、当該エラーの発生後に当該エラーの原因の特定に役立つ属性データを保持するように指示される。従って、エラーの原因の特定に役立つ属性データの保持のためにエラーの発生前の論理集積回路のリソースが占有されない。
【図面の簡単な説明】
【００１９】
【図１】一実施形態にかかる論理集積回路のハードウェア構成を示した図。
【図２】一実施形態にかかるデータ処理装置の構成を示した図。
【図３】一変形例にかかるデータ処理装置の構成を示した図。
【図４】一変形例にかかるデータ処理装置の構成を示した図。
【発明を実施するための形態】
【００２０】
［実施形態］
本発明の一実施形態を、図面を参照しつつ具体例を用いて説明する。図１は、本実施形態の一具体例にかかる論理集積回路１（論理集積回路の一例）のハードウェア構成を示した図である。論理集積回路１のハードウェア構成は、既知のＦＰＧＡ（Field Programmable Gate Array）のハードウェア構成である。なお、図１は、論理集積回路１に加え、論理集積回路１のコンフィギュレーション（後述）を指示するプログラムを記憶するＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）８もあわせて示している。
【００２１】
論理集積回路１は、基板上にマトリックス状に配置された複数のロジックセル１１（論理演算ユニットの一例）と、複数のロジックセル１１の周りを囲むように格子状に配置された内部配線１２と、ロジックセル１１により利用されるデータを記憶するブロックＲＡＭ（Random Access Memory）１３と、ＥＥＰＲＯＭ８に記憶されているプログラムをロジックセル１１および内部配線１２にロードする回路であるローダ１４（構成部の一例）と、コンピュータやＥＥＰＲＯＭ８等の外部の装置とデータの入出力を行うインタフェースであるＩ／Ｏ部１５を備える。また、論理集積回路１は、図１において図示せぬ構成部として、クロックネットワーク、演算器等を備える。なお、図１においては、ロジックセル１１の数が４行×４列の計１６である場合を例示しているが、ロジックセル１１の数はこれに限られない。
【００２２】
論理集積回路１に電力が供給されると、ローダ１４はＥＥＰＲＯＭ８からプログラムを読み出し、読み出したプログラムに従い、ロジックセル１１の各々のルックアップテーブルにデータを書き込む。ルックアップテーブルは、ロジックセル１１に入力されるデータ（入力データ）と、当該入力データの入力に応じてロジックセル１１から出力されるデータ（出力データ）との対応関係を決定するデータである。従って、ローダ１４によるルックアップテーブルに対するデータの書き込みにより、ロジックセル１１の各々は、プログラムに従った論理演算を行う論理回路として構成される。
【００２３】
また、ローダ１４は、ＥＥＰＲＯＭ８から読み出したプログラムに従い、内部配線１２のＳＲＡＭ（Static Random Access Memory）にデータを書き込む。格子状に配置された内部配線１２は、各格子の内側のロジックセル１１と接続されており、また、格子点等に配線間の接続のＯＮ／ＯＦＦを切り替えるスイッチを有している。内部配線１２は、ＳＲＡＭに書き込まれたデータに従い、これらのスイッチのＯＮ／ＯＦＦを切り替える。このスイッチの切り替えにより、内部配線１２が有する複数の配線間の結線が行われ、ロジックセル１１間のデータの入出力の関係が決定される。
【００２４】
上述した、プログラムに従うロジックセル１１の論理演算の設定および内部配線１２の結線によるロジックセル１１間の接続を以下、ロジックセル１１の「コンフィギュレーション」という。
【００２５】
図２は、ロジックセル１１のコンフィギュレーションが完了した後の論理集積回路１の構成を示した図である。すなわち、論理集積回路１は、ＥＥＰＲＯＭ８に記憶されているプログラムに従いロジックセル１１のコンフィギュレーションを行うことにより、図２に示す構成部を備えるデータ処理装置２となる。
【００２６】
データ処理装置２は、コンピュータ９から圧縮された画像データの入力を受け、入力された画像データに対し、伸張処理（圧縮の伸張、第１のデータ処理の一例）と色調整処理（第２のデータ処理の一例）をこの順序で施した後、処理後の画像データをコンピュータ９に出力する。
【００２７】
データ処理装置２は、上記の伸張処理においてエラーが発生した場合、当該エラーを検出し、当該エラーの原因の特定に役立つ属性データを内部に保持する機能を備える。属性データは、例えば、エラーが検出された時点で伸張処理において用いられていたデータのジョブ番号、ページ番号、バンド番号等を示すデータである。これらのデータは、コンピュータ９からデータ処理装置２に入力された画像データのどの部分を用いた伸張処理中にエラーが発生したかを特定するために役立つ。
【００２８】
データ処理装置２は、伸張処理部２１と、ロギング部２２と、属性データ生成部２３と、色調整処理部／属性データ保持部２４と、検出部２５を備える。これらの構成部の各々は、コンフィギュレーションによって、複数のロジックセル１１のうちの１以上のロジックセル１１により構成されたものである。また、これらの構成部の各々には、コンフィギュレーションに伴い、ブロックＲＡＭ１３のいずれかの領域が割り当てられている。
【００２９】
伸張処理部２１は、コンピュータ９から入力される圧縮された画像データを伸張する。ロギング部２２は、伸張処理部２１で処理されるデータの全てまたは一部のコピーを伸張処理部２１から受け取り、ログデータとして保持する。ロギング部２２はＦＩＦＯ（First In, First Out）に従いログデータを保持するため、ロギング部２２に保持されているログデータは、ロギング部２２が保持可能なデータ容量の範囲内で最も新しいログデータである。
【００３０】
属性データ生成部２３は、伸張処理部２１で処理されているデータの属性を示す属性データを生成する。属性データは、例えば上述したように、伸張処理部２１で処理されているデータのジョブ番号、ページ番号、バンド番号等を示すデータである。
【００３１】
色調整処理部／属性データ保持部２４は、検出部２５によりエラーの検出が行われる前は色調整処理部２４１として動作し、エラーの検出が行われた後は属性データ保持部２４２として動作する。
【００３２】
色調整処理部２４１は、伸張処理部２１により伸張された画像データの色調整を行う。色調整処理部２４１により色調整の行われた画像データは、コンピュータ９に出力される。
【００３３】
属性データ保持部２４２は、検出部２５によるエラーの検出が行われた時点（以下、便宜的に「エラー発生時」という）で属性データ生成部２３が生成していた属性データを属性データ生成部２３から取得し保持する。その際、属性データ保持部２４２は、必要に応じて、属性データのビット数を属性データ保持部２４２が保持するデータのビット数に揃える処理を行った後、属性データを保持する。属性データ保持部２４２が属性データの保持に用いるメモリ（ブロックＲＡＭ１３の領域）は、エラーの発生前に色調整処理部２４１が色調整処理に用いるデータ（例えば、色調整パラメータ等）の記憶に用いていたメモリである。
【００３４】
上記のように、色調整処理部２４１は、伸張処理部２１により生成されたデータ（伸張された画像データ）を用いて処理を行う。従って、伸張処理部２１においてエラーが生じた後は、色調整処理部２４１は正しいデータを生成することができない。従って、エラーの発生前に色調整処理部２４１として動作していたロジックセル１１に割り当てられているブロックＲＡＭの領域に保持されている色調整パラメータ等のデータは、エラーの発生後は不要となる。そのため、エラーの発生後は、当該ブロックＲＡＭの領域を、属性データを保持するための記憶手段として用いる。
【００３５】
検出部２５は、伸張処理部２１で処理されるデータ、より具体的には、伸張処理部２１に入力されるデータ、伸張処理部２１の内部において生成される中間データ、伸張処理部２１から出力されるデータの少なくともいずれか、を監視し、当該データが異常値を示すか否かを判定することにより、エラーの検出を行う。なお、伸張処理部２１で処理されるデータが異常値を示すか否かの判定の方法としては、例えば、予め定められた閾値との比較や、伸張処理部２１における処理に応じて変化する参照値との比較等、いずれの方法が採用されてもよい。
【００３６】
検出部２５は、エラーを検出すると、エラーの検出を通知する通知データをロギング部２２、属性データ生成部２３、色調整処理部／属性データ保持部２４に出力する。また、検出部２５は、エラーの検出を通知する通知データをコンピュータ９にも出力する。
【００３７】
ロギング部２２は、検出部２５から通知データの入力を受けると、その時点で保持しているログデータをその後、更新せずに保持し続ける。このようにロギング部２２に保持されるログデータは、エラー発生時に伸張処理部２１で処理されていたデータのコピーであるため、エラーの原因の特定に役立つ。
【００３８】
色調整処理部２４１として機能していた色調整処理部／属性データ保持部２４は、検出部２５から通知データの入力を受けると、その後は属性データ保持部２４２として動作する。属性データ生成部２３は、検出部２５から通知データの入力を受けると、その時点で生成し保持していた属性データを属性データ保持部２４２として動作する色調整処理部／属性データ保持部２４に引き渡す。属性データ保持部２４２は属性データ生成部２３から引き渡される属性データを保持する。
【００３９】
コンピュータ９は、データ処理装置２の検出部２５から通知データの入力を受けると、エラーが発生した旨の通知（エラーメッセージの表示等）を行う。エンジニアがこの通知に応じてコンピュータ９に対し予め定められた操作を行うと、コンピュータ９はデータ処理装置２に対しログデータおよび属性データの要求を行う。この要求に応じて、ロギング部２２は保持しているログデータを、また、属性データ保持部２４２は保持している属性データを、コンピュータ９に出力する。
【００４０】
コンピュータ９は、データ処理装置２から入力されるログデータおよび属性データを表示する。エンジニアはコンピュータ９に表示されるこれらのデータを利用しつつ、エラーの発生の原因を特定する。例えば、エンジニアは属性データに基づき、コンピュータ９からデータ処理装置２に入力された画像データのうち、どの部分がエラー発生時に伸張処理部２１において処理されていたかを特定する。また、エンジニアはログデータに基づき、エラー発生時に伸張処理部２１がコンピュータ９から受け取り処理していたデータを特定する。そして、エンジニアは特定したそれらのデータを照合することにより、伸張処理部２１に入力されたデータに既にエラーが含まれていたか、それとも、伸張処理部２１に入力されたデータにエラーは含まれておらず、伸張処理部２１の処理においてエラーが生じたか、を判定する。なお、この判定をエンジニアが行わず、コンピュータ９が解析用のプログラムに従い行う構成としてもよい。
【００４１】
上述のように、論理集積回路１によれば、伸張処理部２１におけるエラーの発生前に色調整処理部２４１として動作する１以上の論理演算ユニットが、当該エラーの発生後には伸張処理部２１においてエラー発生時に処理されていたデータの属性を示す属性データを保持する属性データ保持部２４２として動作する。そのため、エラーの発生前において、論理集積回路１の論理演算ユニットが、エラー発生時に備えて属性データを保持するために占有されることはない。
【００４２】
［変形例］
上述した実施形態は一具体例であって、本発明の技術的思想の範囲内で様々に変形可能である。以下にそれらの変形の例を示す。なお、上述した実施形態と以下に例示する変形例はそれらの２以上が組み合わされてもよい。
【００４３】
（１）上述したデータ処理装置２は画像データに対し処理を施す。データ処理装置２が処理するデータは画像データに限られず、いずれの種類のデータがデータ処理装置２により処理されてもよい。
【００４４】
（２）上述したデータ処理装置２は、外部の装置から入力されるデータに対し、伸張処理と色調整処理という２つの処理をこの順序で行う。データ処理装置２が行うデータ処理の数は２以上であればいずれの数であってもよい。また、データ処理装置２が行う複数のデータ処理の関係、すなわち、いずれのデータ処理の出力がいずれのデータ処理の入力となるか、は様々に設計されてよい。
【００４５】
図３は、データ処理装置２が３以上の処理を行うように構成された一例を示した図である。なお、図３において、検出部２５から他の構成部への通知データの出力を示す矢印は図示を省略している。
【００４６】
図３に例示のデータ処理装置２は、処理部３１〜３７の７つの処理部において、各々、予め定められた処理を行う。また、図３に示すように、データ処理装置２がコンピュータ９から受け取るデータは処理部３１に入力され、処理部３１の出力データは処理部３２と処理部３３に入力される。処理部３２の出力データは処理部３４に入力される。処理部３３の出力データは処理部３５と処理部３７に出力される。処理部３４の出力データは処理部３６に出力される。処理部３５の出力データはコンピュータ９に出力される。処理部３７の出力データはコンピュータ９に出力される。処理部３６の出力データは処理部３７に出力される。
【００４７】
図３に例示のデータ処理装置２において、検出部２５は処理部３４のエラーを検出するように構成されている。この場合、処理部３４においてエラーが検出された場合、属性データを保持する属性データ保持部として動作するように構成可能な処理部は処理部３２、処理部３６、処理部３７の３つである。処理部３４で処理されるデータは、処理部３１、処理部３２の順序で処理されたデータである。すなわち、処理部３１と処理部３２は、データ処理の流れにおいて、処理部３４の上流に位置する処理部である。また、処理部３４で処理されたデータは、処理部３６、処理部３７の順序で処理される。すなわち、処理部３６と処理部３７は、データ処理の流れにおいて、処理部３４の下流に位置する処理部である。また、処理部３３の出力データは処理部３７に入力され、処理部３７からコンピュータ９へと出力されるデータに影響を与える。従って、処理部３１、処理部３２、処理部３６、処理部３７、処理部３３の各々のデータ処理は、処理部３４におけるデータ処理と関連するデータ処理である。
【００４８】
処理部３１、処理部３２、処理部３６、処理部３７、処理部３３のうち、処理部３１と処理部３３の処理は、処理部３５からコンピュータ９へと出力されるデータとも関連している。そして、処理部３４においてエラーが生じても、処理部３５からコンピュータ９へ出力されるデータはそのエラーの影響を受けない。従って、処理部３４におけるエラーが検出された後も、処理部３１と処理部３３は通常動作時の処理を継続するように構成されている。一方、処理部３２、処理部３６、処理部３７は、処理部３４においてエラーが生じると、コンピュータ９へ正しいデータを出力する、という目的に照らした場合、その後、エラーの発生前に行っていたデータ処理を継続しても無意味であるため、処理部３４のエラー検出の後は属性データ保持部として動作するように予め構成されている。
【００４９】
すなわち、処理部３２、処理部３６、処理部３７のうちブロックＲＡＭの領域が割り当てられている処理部があれば、当該処理部に割り当てられているブロックＲＡＭの領域に、エラーの発生後に属性データを書き込むように、１以上のロジックセル１１が書き込み制御回路として動作するように、予めコンフィギュレーションされている。
【００５０】
なお、上記のように、複数の処理部が属性データ保持部として動作する場合、属性データ生成部２３からの経路が短い属性データ保持部から順に属性データの保持を行うように構成されることが望ましい。そのように構成されることで、属性データ保持部が属性データ生成部２３から属性データを取得する処理が短時間で完了するためである。
【００５１】
また、上記のように、エラー検出の後、属性データ保持部として動作可能な処理部が複数（上記の例では、処理部３２、処理部３６、処理部３７の３つ）ある場合、必ずしもそれらの全てが属性データ保持部として動作するように構成されなくてもよい。
【００５２】
例えば、処理部３４における処理が、処理部３７からコンピュータ９へ出力されるデータに対し必須の処理ではない場合、処理部３４においてエラーが発生した後は、処理部３４は処理部３２から入力されるデータをそのまま処理部３６に出力するように構成されてもよい。この場合、処理部３６と処理部３７は処理部３４のエラー発生後もエラー発生前に行っていた処理を継続するように構成される。
【００５３】
また、処理部３４のエラー発生後、エラーの再現を確認する等の目的で、処理部３４の処理を継続させ、エラー検出後において処理部３４で行われるデータ処理、および、処理部３４で行われるデータ処理に関連するデータ処理（第３のデータ処理の一例）を行う処理部（処理部３１、処理部３２、処理部３６、処理部３７、処理部３３）で処理されるデータの少なくとも一部を、いずれかの属性データ保持部に保持させる構成が採用されてもよい。
【００５４】
例えば、処理部３７（第２のデータ処理を行う処理部の一例）に用いられるロジックセル１１を、処理部３４（第１のデータ処理を行う処理部の一例）のエラー検出後は属性データ保持部として機能するように予め構成しておく。また、処理部３６（第４のデータ処理を行う処理部の一例）に用いられるロジックセル１１を、処理部３４のエラー検出後は処理部３４において処理されたデータを保持する処理データ保持部として機能するように予め構成しておく。そして、処理部３４は検出部２５によりエラーが検出された後、予め定められた数のサイクルだけ、処理部３２から入力されるデータに対する処理を行う。エラー検出後に属性データ保持部として機能する処理部３７は属性データ生成部２３から属性データを取得して保持する。また、エラー検出後に処理データ保持部として機能する処理部３６は処理部３４から出力されるデータを取得して保持する。
【００５５】
また、上記の例では、処理データ保持部は、処理部３４のエラーが検出された後に、処理部３４（エラー検出の対象である処理部）により処理されたデータを保持する。これに代えて、または加えて、処理データ保持部が、処理部３４のエラーが検出された後に、処理部３４が行うデータ処理に関連するデータ処理を行う処理部（上記の例では、処理部３１、処理部３２、処理部３６、処理部３７、処理部３３）のいずれかにより処理されたデータを保持するように予め構成してもよい。
【００５６】
例えば、処理部３７（第２のデータ処理を行う処理部の一例）に用いられるロジックセル１１を、処理部３４（第１のデータ処理を行う処理部の一例）のエラー検出後は処理部３６（第３のデータ処理を行う処理部の一例）により処理されたデータを保持する処理データ保持部として機能するように予め構成しておいてもよい。
【００５７】
上記のように、データ処理装置２に処理データ保持部を設ける構成によれば、エンジニアは、処理データ保持部に保持されるデータをエラーの原因特定に利用することができる。
【００５８】
（３）上述したデータ処理装置２は、伸張処理部２１におけるデータ処理のエラーを検出するように構成されている。これに代えて、または加えて、色調整処理部２４１におけるデータ処理のエラーを検出するようにデータ処理装置２が構成されてもよい。
【００５９】
この場合、検出部２５は色調整処理部２４１におけるデータ処理のエラーを検出し、ロギング部２２は色調整処理部２４１のログデータを保持し、属性データ生成部２３は色調整処理部２４１で処理されるデータの属性を示す属性データを生成するように構成される。また、伸張処理部２１の構成に用いられるロジックセル１１に割り当てられているブロックＲＡＭの領域が、色調整処理部２４１で発生したエラーが検出部２５により検出された後は、属性データを保持するように予め構成しておく。
【００６０】
このように、データ処理装置２が備える複数の処理部のいずれのエラーを検出の対象とするかは様々に設計されてよい。また、エラー検出の対象とする処理部の数も１つに限られず、２以上であってもよい。
【００６１】
（４）上述した論理集積回路１のハードウェア構成はＦＰＧＡのハードウェア構成であるが、各々が論理回路を有する複数の論理演算ユニットと、論理回路が使用するデータを保持するメモリを備える論理集積回路である限り、いずれの方式の論理集積回路が本発明において採用されてもよい。
【００６２】
例えば、本発明にかかる論理集積回路として、ＡＳＩＣ（Application Specific Integrated Circuit）等の、ＰＬＤではない方式の論理集積回路が採用されてもよい。その場合、図２に例示の構成部が、変更不可能な論理回路および結線により構成されることになる。
【００６３】
また、本発明にかかる論理集積回路として、ＤＲＰ（Dynamic Reconfigurable Processor）等の、動作中に論理演算ユニットの論理演算の内容や論理演算ユニット間の結線を変更可能な方式の論理集積回路が採用されてもよい。
【００６４】
図４は、論理集積回路としてＤＲＰを採用した変形例にかかるデータ処理装置４の構成を示した図である。図４（ａ）はエラーの発生前のデータ処理装置４の構成を示している。すなわち、論理集積回路に電力が供給されると、ローダによる論理演算ユニットのコンフィギュレーションが行われ、図４（ａ）に示す構成を備える装置が実現される。
【００６５】
通常動作時のデータ処理装置４は、コンピュータ９から入力される画像データに伸張処理を施す伸張処理部４１と、伸張処理部４１で処理されるデータのコピーをログデータとして保持するロギング部４２と、伸張処理部４１で処理されるデータの属性を示す属性データを生成する属性データ生成部４３を備える。また、通常動作時のデータ処理装置４は、伸張処理部４１から入力されるデータに色調整処理を施す色調整処理部４４と、色調整処理部４４で処理されるデータのコピーをログデータとして保持するロギング部４５と、色調整処理部４４で処理されるデータの属性を示す属性データを生成する属性データ生成部４６を備える。さらに、データ処理装置４は、伸張処理部４１および色調整処理部４４で処理されるデータのエラーを検出する検出部４７を備える。
【００６６】
検出部４７が伸張処理部４１のエラーを検出すると、ローダは伸張処理部４１のエラー検出時用のプログラムに従い、論理集積回路の論理演算ユニットのコンフィギュレーションの変更（リコンフィギュレーション）を行う。図４（ｂ）は、伸張処理部４１のエラー検出後にリコンフィギュレーションが行われた後のデータ処理装置４の構成を示している。リコンフィギュレーションにより、エラーの発生前に色調整処理部４４の構成に用いられていた論理演算ユニットは、エラーの発生後に属性データ保持部４８を構成するようにリコンフィギュレーションされる。属性データ保持部４８は、属性データ生成部４３から伸張処理部４１の属性データを取得し保持する。
【００６７】
また、検出部４７が色調整処理部４４のエラーを検出すると、ローダは色調整処理部４４のエラー検出時用のプログラムに従い、論理集積回路の論理演算ユニットのリコンフィギュレーションを行う。図４（ｃ）は、色調整処理部４４のエラー検出後にリコンフィギュレーションが行われた後のデータ処理装置４の構成を示している。リコンフィギュレーションにより、通常動作時に伸張処理部４１の構成に用いられていた論理演算ユニットは、属性データ保持部４９を構成するようになる。属性データ保持部４９は、属性データ生成部４６から色調整処理部４４の属性データを取得し保持する。
【００６８】
なお、上記のリコンフィギュレーションが行われる際、変更の行われない構成部が保持しているデータは失われない。従って、エラー検出によりロックされたロギング部４２およびロギング部４５のデータや、属性データ生成部４３および属性データ生成部４６により生成されたデータは、リコンフィギュレーションの後も保持され、エラーの原因特定等に利用される。
【００６９】
（５）上述した実施形態においては、ロジックセル１１（論理演算ユニットの一例）の外部に設けられたブロックＲＡＭ１３が、エラーの発生後に属性データを保持する。ロジックセル１１の各々は、ルックアップテーブルを保持するメモリおよび入出力するデータを保持するレジスタを有している。このように、論理演算ユニットの各々が内部にデータを保持する記憶手段を有する場合、エラーの発生後に、属性データ保持部として動作する論理演算ユニットが、内部の記憶手段に属性データを保持する構成としてもよい。
【００７０】
（６）上述した実施形態または変形例にかかる論理集積回路（ＰＬＤ方式のもの）において論理演算ユニットのコンフィギュレーションを指示するプログラムは、例えば、コンピュータ９等の外部のデータ処理装置の記憶部に記憶され、当該記録装置から論理集積回路のＥＥＰＲＯＭ等のメモリへロードされて用いられる。当該プログラムは、持続的にデータを記録する記録媒体に記録されて配布され、当該記録媒体からコンピュータ９等に読み取られてもよいし、インターネット等のデータ通信ネットワークを介してサーバ装置等からコンピュータ９等へダウンロードされる形態で配布されてもよい。
【符号の説明】
【００７１】
１…論理集積回路、２…データ処理装置、４…データ処理装置、８…ＥＥＰＲＯＭ、９…コンピュータ、１１…ロジックセル、１２…内部配線、１３…ブロックＲＡＭ、１４…ローダ、１５…Ｉ／Ｏ部、２１…伸張処理部、２２…ロギング部、２３…属性データ生成部、２４…色調整処理部／属性データ保持部、２５…検出部、３１…処理部、３２…処理部、３３…処理部、３４…処理部、３５…処理部、３６…処理部、３７…処理部、４１…伸張処理部、４２…ロギング部、４３…属性データ生成部、４４…色調整処理部、４５…ロギング部、４６…属性データ生成部、４７…検出部、４８…属性データ保持部、４９…属性データ保持部、２４１…色調整処理部、２４２…属性データ保持部
【図１】
2015184725.tif 000003
【図２】
2015184725.tif 000004
【図３】
2015184725.tif 000005
【図４】
2015184725.tif 000006