(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】プログラマブル論理回路装置及び画像処理装置
(51)【国際特許分類】
H03K 19/173 20060101AFI20241217BHJP
【FI】
H03K19/173 130
(21)【出願番号】P 2020203674
(22)【出願日】2020-12-08
【審査請求日】2023-11-20
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】杉山 史暁
【審査官】柳下 勝幸
(56)【参考文献】
【文献】特開2017-118450(JP,A)
【文献】米国特許第07619438(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H03K 19/173
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、
前記プロセッサは、
素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データ
であって、読み込んだデータの廃棄を行うための再構成データを取得し、
取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する
プログラマブル論理回路装置。
【請求項2】
プロセッサと、
素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、
前記プロセッサは、
素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、読み込んだデータに対して処理を行った後のデータの廃棄を行うための再構成データを取得し、
取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更す
プログラマブル論理回路装置。
【請求項3】
プロセッサと、
素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、
前記プロセッサは、
素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、読み込んだデータに対して処理を行った後のデータを書き込むメモリに、所定のデータを書き込むための再構成データを取得し、
取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する
請求項1記載のプログラマブル論理回路装置。
【請求項4】
プロセッサと、
素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、
前記プロセッサは、
素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、当該再構成領域において動作確認を行うための再構成データを取得し、
取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する
プログラマブル論理回路装置。
【請求項5】
プロセッサと、
素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、
前記プロセッサは、
素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、当該異常の要因に応じて異なる再構成データを取得し、
取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する
プログラマブル論理回路装置。
【請求項6】
請求項1~
5のいずれか1項に記載のプログラマブル論理回路装置を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブル論理回路装置及び画像処理装置に関する。
【背景技術】
【0002】
近年、フィールド・プログラマブル・ゲートアレイ(FPGA)やプログラマブル・ロジック・デバイス(PLD)等のプログラマブル論理回路装置が、例えばディジタル回路装置等の分野において、特定用途向け集積回路(ASIC;Application Specific Integrated Circuit)を製作する際の試作デバイスや代替デバイスとして用いられている。プログラマブル論理回路装置は、素子間の接続を変更して回路を書き換えること(以下、再構成という)により、ユーザが希望する論理機能を実現することができる。また、プログラマブル論理回路装置は、回路の再構成により、仕様変更への対応や回路欠陥の修正等を容易に行うことができる。
【0003】
例えば、特許文献1には、素子間の接続の変更により再構成される回路を備える複数の再構成領域と、複数の再構成領域の各々が実行する処理の状態に基づいてこれらの再構成領域を選択的に再構成して節電状態にすることが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、異常が発生したときに、素子間の接続の変更により再構成される回路を備える再構成領域全体を初期化することなく、異常の解消を行うことを目的とする。
【課題を解決するための手段】
【0006】
本発明の請求項1に係るプログラマブル論理回路装置は、プロセッサと、素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、前記プロセッサは、素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、読み込んだデータの廃棄を行うための再構成データを取得し、取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する。
【0007】
本発明の請求項2に係るプログラマブル論理回路装置は、プロセッサと、素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、前記プロセッサは、素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、読み込んだデータに対して処理を行った後のデータの廃棄を行うための再構成データを取得し、取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する。
【0008】
本発明の請求項3に係るプログラマブル論理回路装置は、プロセッサと、素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、前記プロセッサは、素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、読み込んだデータに対して処理を行った後のデータを書き込むメモリに、所定のデータを書き込むための再構成データを取得し、取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する。
【0009】
本発明の請求項4に係るプログラマブル論理回路装置は、プロセッサと、素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、前記プロセッサは、素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、当該再構成領域において動作確認を行うための再構成データを取得し、取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する。
【0010】
本発明の請求項5に係るプログラマブル論理回路装置は、プロセッサと、素子間の接続の変更により構成される回路をそれぞれ備える複数の再構成領域とを備え、前記プロセッサは、素子間の接続を指定する再構成データに応じて前記再構成領域における素子を接続して処理を実行させていたときに異常が検出されると、実行中の当該処理を行わないように素子間の接続を指定する再構成データであって、当該異常の要因に応じて異なる再構成データを取得し、取得した前記再構成データによる指定に従い、前記再構成領域において素子間の接続を変更する。
【0012】
本発明の請求項6に係る画像処理装置は、請求項1~5のいずれか1項に記載のプログラマブル論理回路装置を備える。
【発明の効果】
【0013】
請求項1、6に係るプログラマブル論理回路装置によれば、異常が発生したときに、素子間の接続の変更により再構成される回路を備える再構成領域全体を初期化することなく、異常の解消が行われ、さらに、素子間の接続の変更により再構成される回路において異常が発生したときに、読み込んだデータの廃棄が行われる。
【0015】
請求項2に係るプログラマブル論理回路装置によれば、異常が発生したときに、素子間の接続の変更により再構成される回路を備える再構成領域全体を初期化することなく、異常の解消が行われ、さらに、素子間の接続の変更により再構成される回路において異常が発生したときに、読み込んだデータに対して処理を行った後のデータの廃棄が行われる。
【0016】
請求項3に係るプログラマブル論理回路装置によれば、異常が発生したときに、素子間の接続の変更により再構成される回路を備える再構成領域全体を初期化することなく、異常の解消が行われ、さらに、素子間の接続の変更により再構成される回路において異常が発生したときに、読み込んだデータに対して処理を行った後のデータを書き込むメモリに、所定のデータが書き込まれる。
【0017】
請求項4に係るプログラマブル論理回路装置によれば、異常が発生したときに、素子間の接続の変更により再構成される回路を備える再構成領域全体を初期化することなく、異常の解消が行われ、さらに、素子間の接続の変更により再構成される回路において異常が発生したときに、当該再構成領域において動作確認が行われる。
【0018】
請求項5に係るプログラマブル論理回路装置によれば、異常が発生したときに、素子間の接続の変更により再構成される回路を備える再構成領域全体を初期化することなく、異常の解消が行われ、さらに、素子間の接続の変更により再構成される回路において異常が発生したときに、前記異常に応じて異なる再構成が行われる。
【図面の簡単な説明】
【0019】
【
図1】本発明の一実施形態に係るプログラマブル論理回路装置の構成を例示するブロック図である。
【
図2】本実施形態に係る管理データを例示する図である。
【
図3】本実施形態に係る再構成データを例示する図である。
【
図4】本実施形態に係る再構成に関する動作を示すフローチャートである。
【
図5】本実施形態に係る再構成に関する動作に要する時間を例示するタイミングチャートである。
【
図6】比較例としての再構成データを例示する図である。
【
図7】比較例としての再構成に関する動作に要する時間を例示するタイミングチャート
【
図8】本実施形態における異常発生時における動作を示すフローチャートである。
【発明を実施するための形態】
【0020】
図1を参照して、本発明の一実施形態に係るプログラマブル論理回路装置100の構成を説明する。プログラマブル論理回路装置100は、例えばフィールド・プログラマブル・ゲートアレイ(FPGA)やプログラマブル・ロジック・デバイス(PLD)等であり、プロセッサ10、内部メモリ11、及び複数の再構成領域12a,12b,12…(以下、再構成領域12と総称する)を有する。プロセッサ10は複数のプロセッサから構成されていてもよい。内部メモリ11は、例えば、EEPROM(Electrically Erasable and Programmable Read Only Memory)、SRAM(Static Random Access Memory)等の書換え可能なメモリ素子で構成される。再構成領域12は、素子間の接続の変更により構成される回路である論理セル13a,13b,13c…(以下、論理セル13と総称する)と、論理セル内の素子間の接続を指定する再構成データが書き込まれるルックアップテーブル(不図示)とをそれぞれ備える。ここでは、素子間の接続を変更して論理セル13を書き換えることを、再構成という。外部メモリ200は、例えば、EEPROMやSRAM等の書換え可能なメモリ素子で構成される。
【0021】
プロセッサ10は、例えば外部のCPU(Central Processing Unit)等からシーケンス処理の指示を受ける。シーケンス処理とは、実行する順序が規定された複数の処理を含む一連の処理群をいい、本発明における「処理」の一例である。例えば、プログラマブル論理回路装置100がプリンタ等の画像処理装置に実装されている場合、シーケンス処理は、プログラマブル論理回路装置100の外部からのデータの読み込み処理、読み込んだデータに対する画像処理、及びプログラマブル論理回路装置100の外部に対する、画像処理後のデータの書き込み処理、という3種類の処理により構成される。このうち、プログラマブル論理回路装置100の外部からのデータの読み込み処理については、例えば副走査方向にデータを読み出すか又は主走査方向にデータを読み出すか等のように、データの読み込み順が異なる複数の読み込み処理がある。つまり、読み込み処理を行うための再構成領域12における素子間の接続は、各々の読み込み処理で異なっており、読み込み処理ごとに異なる再構成データが必要となる。また、読み込まれたデータに対する画像処理については、例えば色変換処理やフィルタ処理のように、データに対する処理そのものが異なる複数の画像処理がある。よって、画像処理を行うための再構成領域12における素子間の接続は、各々の画像処理で異なっており、画像処理ごとに異なる再構成データが必要となる。また、画像処理後のデータの書き込み処理については、例えば画像の回転や拡大縮小、又は副走査方向にデータを書き込むか主走査方向にデータを書き込むか等のように、データの書き込み順が異なる複数の書き込み処理がある。よって、書き込み処理を行うための再構成領域12における素子間の接続は、各々の書き込み処理で異なっており、書き込み処理ごとに異なる再構成データが必要となる。
【0022】
図2は、再構成データを例示する図である。
図2の例では、プログラマブル論理回路装置100の外部からのデータの読み込み処理を行うための再構成データとして、再構成データR01、再構成データR02がある。さらに異常発生時における外部からのデータの読み込み処理に関する再構成データとして、異常時用の再構成データR03がある。ここでいう異常とは、例えば画像処理装置のファンの故障、熱に関する異常、CPUによる応答無し、処理のタイムアウト等である。これらの各々の再構成データによって指定される、論理セル内の素子間の接続は異なっている。
【0023】
また、読み込まれたデータに対して画像処理を行うための再構成データとして、再構成データG01、再構成データG02、再構成データG03、再構成データG04がある。さらに異常発生時における画像処理に関する再構成データとして、異常時用の再構成データG05がある。これらの各々の再構成データによって指定される、論理セル内の素子間の接続は異なっている。
【0024】
また、プログラマブル論理回路装置100の外部に対する、画像処理後のデータの書き込み処理を行うための再構成データとして、再構成データW01、再構成データW02がある。さらに異常発生時における外部からのデータの書き込み処理に関する再構成データとして、異常時用の再構成データW03がある。これらの各々の再構成データによって指定される、論理セル内の素子間の接続は異なっている。
【0025】
なお、
図2に例示した再構成データは、外部メモリ200に記憶されている。このため、これらの再構成データを内部メモリ11に記憶する場合に比べて、内部メモリ11の記憶容量、つまりプログラマブル論理回路装置100の回路規模が小さくなる。
【0026】
内部メモリ11には、各々のシーケンス処理を構成する複数の処理をそれぞれ実行するための複数の再構成データを指定する管理データが記憶されている。
図3は、管理データを例示する図である。
図3の例では、シーケンス処理ID「S01」~「S08」ごとに、そのシーケンス処理を実行するために論理セル13における素子間の接続を指定する複数の再構成データの再構成データIDが対応付けられている。例えばシーケンス処理ID「S01」のシーケンス処理を実行するための再構成データとして、再構成データID「R01」「G01」「W01」の再構成データが指定されている。再構成データID「R01」の再構成データは、シーケンス処理ID「S01」のシーケンス処理において、外部からのデータの読み込み処理を行うための再構成データである。再構成データID「G01」の再構成データは、シーケンス処理ID「S01」のシーケンス処理において、読み込んだデータに対して画像処理を行うための再構成データである。再構成データID「W01」の再構成データは、シーケンス処理ID「S01」のシーケンス処理において、画像処理後のデータの書き込み処理を行うための再構成データである。なお、このような管理データは、再構成データの実体(つまり素子間の接続情報)を含むわけではなく、再構成データの識別情報である再構成データIDを含んでいるだけであるから、再構成データの実体を含む場合に比べて総データサイズが小さくなる。
【0027】
前述した異常発生時には、シーケンス処理ID「S08」のシーケンス処理が実行される。このシーケンス処理ID「S08」のシーケンス処理においては、異常時用の再構成データとして、前述した再構成データID「R03」「G05」「W03」の再構成データが指定されている。これらの異常時用の再構成データは、異常が発生したときに実行されていたシーケンス処理(以下、異常発生時における実行中シーケンス処理という)を行わないように素子間の接続を指定する再構成データである。具体的には、再構成データID「R03」の再構成データは、異常発生時における実行中シーケンス処理において外部から読み込んだデータの廃棄を行うための再構成データである。再構成データID「G05」の再構成データは、異常発生時における実行中シーケンス処理において読み込んだデータに対して画像処理を行った後のデータの廃棄を行うための再構成データである。再構成データID「W03」の再構成データは、異常発生時における実行中シーケンス処理において読み込んだデータに対して画像処理を行った後のデータを書き込むメモリに、所定のデータを書き込むための再構成データである。ここでいう所定のデータとは、例えば「0」等の無意味なデータのことである。
【0028】
次に、
図4を参照して、プログラマブル論理回路装置100の通常動作、つまり異常が発生していないときの動作の一例を説明する。
図4において、外部のCPU等がプロセッサ10に対し、シーケンス処理IDを指定して或るシーケンス処理を指示する。プロセッサ10は、シーケンス処理IDの指定を受け付け(ステップS1)、内部メモリ11からそのシーケンス処理IDに対応する管理データを取得する(ステップS2)。
【0029】
次に、プロセッサ10は、前回のシーケンス処理に対応する、データの読み込み処理が終了していることを確認してから(ステップS3)、取得した管理データによって指定されている読み込み処理の再構成データIDと、前回のシーケンス処理に対応する、データの読み込み処理の再構成データIDとが同じであるか否かを判断する(ステップS4)。プロセッサ10は、管理データによって指定されている読み込み処理の再構成データIDと、前回のシーケンス処理に対応する読み込み処理の再構成データIDとが同じでなければ(ステップS4;No)、再構成領域の再構成が必要であるから、プロセッサ10は、管理データによって指定されている読み込み処理の再構成データIDのキーにして、外部メモリ200からその再構成データIDに対応する再構成データを取得する。そして、プロセッサ10は、取得した再構成データに基づいて、再構成領域12の論理セル13における再構成を行う(ステップS5)。具体的には、プロセッサ10がいずれかの再構成領域のルックアップテーブルに再構成データを書き込むと、その再構成領域においてルックアップテーブルを参照されて論理セル内の素子間の接続が変更される。再構成された論理セル13は、外部からデータの読み込み処理を開始する。なお、プロセッサ10は、管理データによって指定されている読み込み処理の再構成データIDと、前回のシーケンス処理に対応する読み込み処理の再構成データIDとが同じであれば(ステップS4;Yes)、再構成領域の再構成は不要であるから、ステップS5の処理をスキップする。
【0030】
次に、プロセッサ10は、前回のシーケンス処理に対応する画像処理が終了していることを確認してから(ステップS6)、取得した管理データによって指定されている画像処理の再構成データIDと、前回のシーケンス処理に対応する画像処理の再構成データIDとが同じであるか否かを判断する(ステップS7)。プロセッサ10は、管理データによって指定されている画像処理の再構成データIDと、前回のシーケンス処理に対応する画像処理の再構成データIDとが同じでなければ(ステップS7;No)、プロセッサ10は、管理データによって指定されている画像処理の再構成データIDのキーにして、外部メモリ200からその再構成データIDに対応する再構成データを取得する。そして、プロセッサ10は、取得した再構成データに基づいて、再構成領域12の論理セル13における再構成を行う(ステップS8)。再構成された論理セル13は、読み込まれたデータに対する画像処理を開始する。なお、プロセッサ10は、管理データによって指定されている画像処理の再構成データIDと、前回のシーケンス処理に対応する画像処理の再構成データIDとが同じであれば(ステップS7;Yes)、ステップS8の処理をスキップする。
【0031】
次に、プロセッサ10は、前回のシーケンス処理に対応する、データの書き込み処理が終了していることを確認してから(ステップS9)、取得した管理データによって指定されている書き込み処理の再構成データIDと、前回のシーケンス処理に対応する、データの書き込み処理の再構成データIDとが同じであるか否かを判断する(ステップS10)。プロセッサ10は、管理データによって指定されている書き込み処理の再構成データIDと、前回のシーケンス処理に対応する書き込み処理の再構成データIDとが同じでなければ(ステップS10;No)、プロセッサ10は、管理データによって指定されている書き込み処理の再構成データIDのキーにして、外部メモリ200からその再構成データIDに対応する再構成データを取得する。そして、プロセッサ10は、取得した再構成データに基づいて、再構成領域12の論理セル13における再構成を行う(ステップS11)。再構成された論理セル13は、上記の画像処理後に、その処理後のデータの書き込み処理を開始する。なお、プロセッサ10は、管理データによって指定されている書き込み処理の再構成データIDと、前回のシーケンス処理に対応する書き込み処理の再構成データIDとが同じであれば(ステップS10;Yes)、ステップS11の処理をスキップする。
【0032】
プロセッサ10は、シーケンス処理を構成する最後の書き込み処理が終了すると(ステップS12;Yes)、
図4に示す処理を終了する。
【0033】
ここで、
図5は、比較例としての再構成データを例示する図である。
図5の例では、シーケンス処理ごとに、そのシーケンス処理を構成する読み出し処理、画像処理及び書き込み処理の各々を実行するための再構成データの組が用意されており、これら各組が上記実施形態で例示した内部メモリ11に相当するメモリに記憶されている。したがって、例えば、いくつかの再構成データ(例えば再構成データR01等)については同一のものが重複してメモリに記憶されることになる。これに対し、
図2で例示したような上記実施形態にかかるデータ構造であれば、再構成データが重複してメモリに記憶されることはない。ただし、上記実施形態の場合は、再構成データとは別に、
図3に例示したような管理データを記憶する必要があるが、前述したように管理データは、再構成データの実体を含むわけではなく、再構成データのIDを含んでいるだけであるから、再構成データの実体を含む場合に比べて総データサイズは小さい。
【0034】
次に、
図6は、
図5を前提とした比較例としての再構成に関する動作に要する時間を例示するタイミングチャートであり、
図7は、本実施形態に係る再構成に関する動作に要する時間を例示するタイミングチャートである。
図6においては、3つのシーケンス処理S01,S05,S06を3つの再構成領域が連続して行うときの動作を示しており、左から右へ時間が進むとする。シーケンス処理S01が開始されると、図中最上段の再構成領域がシーケンス処理S01を構成する読み込み処理を実行するための再構成を行い、その再構成後に、読み込み処理を開始する。これと時間的に並行して、中段の再構成領域がシーケンス処理S01を構成する画像処理を実行するための再構成を行い、その再構成後に、画像処理を開始する。さらに時間的に並行して、最下段の再構成領域がシーケンス処理S01を構成する書き込み処理を実行するための再構成を行い、その再構成後に、書き込み処理を開始する。
【0035】
図中最上段の再構成領域は、シーケンス処理S01を構成する読み込み処理を実行すると、次に、シーケンス処理S05を構成する読み込み処理を実行するための再構成を行い、その再構成後に、読み込み処理を開始する。また、中段の再構成領域は、シーケンス処理S01を構成する画像処理を実行すると、次に、シーケンス処理S05を構成する画像処理を実行するための再構成を行い、その再構成後に、画像処理を開始する。また、最下段の再構成領域は、シーケンス処理S01を構成する書き込み処理を実行すると、次に、シーケンス処理S05を構成する書き込み処理を実行するための再構成を行い、その再構成後に、書き込み処理を開始する。同様に、シーケンス処理S06を構成する読み込み処理、画像処理及び書き込み処理が各々の再構成領域の再構成後に実行される。これらの再構成において、これから開始するシーケンス処理を構成する処理を実行するための再構成データと、前回のシーケンス処理を構成する処理を実行するための再構成データが同じであるか否かは考慮されていない。
【0036】
一方、本実施形態の動作を例示した
図7においては、シーケンス処理S01が開始されると、図中最上段の再構成領域がシーケンス処理S01を構成する読み込み処理を実行するための再構成を行い、その再構成後に、読み込み処理を開始する。これと時間的に並行して、中段の再構成領域がシーケンス処理S01を構成する画像処理を実行するための再構成を行い、その再構成後に、画像処理を開始する。さらに時間的に並行して、最下段の再構成領域がシーケンス処理S01を構成する書き込み処理を実行するための再構成を行い、その再構成後に、書き込み処理を開始する。
【0037】
ここで、図中最上段の再構成領域は、シーケンス処理S01を構成する読み込み処理を実行すると、次に、シーケンス処理S05を構成する読み込み処理を実行するための再構成を行うが、このとき、シーケンス処理S01を構成する読み込み処理の再構成データと、シーケンス処理S05を構成する読み込み処理の再構成データは同じであるから(
図3参照)、再構成を行わない。つまり、このタイミングにおいて、図中最上段の再構成領域において、素子間の接続は変更されない。同様に、シーケンス処理S05を構成する読み込み処理の再構成データと、シーケンス処理S06を構成する読み込み処理の再構成データは同じであるから(
図3参照)、最上段の再構成領域は、再構成を行わない。また、最下段の再構成領域は、シーケンス処理S01を構成する書き込み処理を実行すると、次に、シーケンス処理S05を構成する書き込み処理を実行するための再構成を行うが、このとき、シーケンス処理S01を構成する書き込み処理の再構成データと、シーケンス処理S05を構成する書き込み処理の再構成データは同じであるから(
図3参照)、再構成を行わない。つまり、図中最下段の再構成領域において、素子間の接続は変更されない。同様に、シーケンス処理S05を構成する書き込み処理の再構成データと、シーケンス処理S06を構成する書き込み処理の再構成データは同じであるから(
図3参照)、最下段の再構成領域は、再構成を行わない。このように、再構成データによる指定に従い素子間の接続の変更を行うときに、1つのシーケンス処理を構成する複数の処理の再構成データのうち少なくとも1の再構成データによる指定が、再構成領域における素子間の接続の変更を要さない場合には、当該再構成領域において素子間の接続を変更しない、つまり当該再構成領域における素子間を接続したときと同じ再構成データが用いられることになる。したがって、
図6の場合と比較して、
図7ではシーケンス処理S01,S05,S06を実行するのに要するトータルの時間が短くなる。
【0038】
次に、
図8を参照して、プログラマブル論理回路装置100の異常発生時における動作の一例を説明する。
図8において、所定の異常状態検出デバイス又は異常状態検出アルゴリズムにより何らかの異常状態が検出されると(ステップS101)、プロセッサ10は、そのときに実行していた、異常発生時における実行中シーケンス処理に用いていた管理データをリセットする(ステップS102)。
【0039】
次に、プロセッサ10は、内部メモリ11に対するメモリライトが可能か否かを確認するべく、異常状態発生フラグを内部メモリ11に書き込む(ステップS103)。次いで、プロセッサ10は、内部メモリ11にからのメモリリードが可能か否かを確認するべく、内部メモリ11から異常状態発生フラグを読み込めたか否かを確認する(ステップS104)。ここで、内部メモリ11から異常状態発生フラグを読み込めなかった場合には(ステップS104;No)、プロセッサ10は、外部に対して処理の停止を通知する(ステップS105)。
【0040】
一方、メモリ11から異常状態発生フラグを読み込めた場合には(ステップS104;Yes)、プロセッサ10は、シーケンス処理ID「08」に対応する異常時用のシーケンス処理の管理データを内部メモリ11から読み出して取得する(ステップS106)。
【0041】
次に、プロセッサ10は、取得した管理データによって指定されている再構成データIDのキーにして、外部メモリ200からその再構成データID(ここでは再構成データID「R03」「G05」「W03」)に対応する異常時の再構成データを取得する。そして、プロセッサ10は、取得した再構成データによる指定に従い、再構成領域12の論理セル13における再構成を行う(ステップS107)。具体的には、プロセッサ10がいずれかの再構成領域のルックアップテーブルに再構成データを書き込むと、その再構成領域においてルックアップテーブルが参照されて論理セル内の素子間の接続が変更される。再構成された各論理セル13は異常時用の動作を開始する(ステップS108)。これにより、実行中のシーケンス処理は行われず、前述したようなデータの廃棄や所定データの書き込みが行われることになる。
【0042】
次に、プロセッサ10は、異常時のシーケンス処理が所定時間内に完了したか否かを判断する(ステップS109)。ここで、異常時のシーケンス処理が所定時間内に完了しない場合には(ステップS109;No)、プロセッサ10は、外部に対して処理の停止を通知する(ステップS110)。異常時のシーケンス処理が所定時間内に完了した場合には(ステップS109;Yes)、プロセッサ10は、異常状態から回復した旨を外部に通知する(ステップS111)。
【0043】
上述した実施形態によれば、異常発生時において、再構成領域全体を初期化することなく、異常が解消される。
【0044】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0045】
再構成データは、異常発生時における実行中シーケンス処理を行わないように再構成領域12における素子間の接続を指定する再構成データであればよく、例えば再構成領域12において動作確認を行うための再構成データであってもよい。この再構成データは、具体的には、異常発生時における実行中シーケンス処理において外部から所定のデータを読み込むための再構成データ、読み込んだデータに対して所定の処理を行うための再構成データ、及び所定の処理を行った後のデータを内部メモリ11に書き込むための再構成データである。これらの再構成データの指定に応じて再構成された再構成領域12において所定時間内に処理が完了すれば、再構成領域12における動作確認がなされたことになる。
【0046】
再構成データは、異常の要因に応じて異なる再構成データであってもよい。これらの再構成データは、例えば画像処理装置のファンの故障、熱に関する異常、CPUによる応答無し、処理のタイムアウト等の異常の要因に応じて、例えばデータの読み込み、読み込んだデータの処理、又は処理後のデータの書き込みのうち少なくともいずれか1つのみを行う再構成データのみであってもよいし、これら異常の要因ごとに異なる動作確認を行うための再構成データであってもよい。
【0047】
上記実施形態において、シーケンス処理は、例えば、画像データに対する画像処理であったが、画像処理以外の処理でもよい。
【0048】
管理データは内部メモリ11に記憶されていたが、外部メモリ200に記憶されていてもよい。また、再構成データは外部メモリ200に記憶されていたが、内部メモリ11に記憶されていてもよい。
【符号の説明】
【0049】
10…プロセッサ、11…内部メモリ、12,12a,12b,12c…再構成領域、13,13a,13b,13c…論理セル、100…プログラマブル論理回路装置、200…外部メモリ