JP2016170629A - Image processor, and control method and program thereof - Google Patents

Image processor, and control method and program thereof Download PDF

Info

Publication number
JP2016170629A
JP2016170629A JP2015049968A JP2015049968A JP2016170629A JP 2016170629 A JP2016170629 A JP 2016170629A JP 2015049968 A JP2015049968 A JP 2015049968A JP 2015049968 A JP2015049968 A JP 2015049968A JP 2016170629 A JP2016170629 A JP 2016170629A
Authority
JP
Japan
Prior art keywords
data
unit
configuration data
reconstruction
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015049968A
Other languages
Japanese (ja)
Inventor
新藤 泰士
Hiroshi Shindo
泰士 新藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015049968A priority Critical patent/JP2016170629A/en
Publication of JP2016170629A publication Critical patent/JP2016170629A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Or Security For Electrophotography (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce a reconfiguration time in the case of performing the reconfiguration of a plurality of partial reconfiguration parts, in an image processor having a dynamic part reconfiguration circuit and using a reconfigurable circuit while partially reconfiguring the reconfigurable circuit.SOLUTION: The image processor includes means for generating reconfigurable circuit configuration information for a plurality of partial reconfiguration parts from circuit configuration information corresponding to each partial reconfiguration part in the case of reconfiguring a plurality of partial reconfiguration parts having the same unit for performing a partial reconfiguration, and a partial reconfiguration is executed on the basis of the generated circuit configuration information.SELECTED DRAWING: Figure 7

Description

本発明は、画像処理装置、その制御方法、プログラムに関し、特に再構成可能回路を用いた画像処理装置、その制御方法、プログラムに関する。   The present invention relates to an image processing apparatus, a control method thereof, and a program, and more particularly to an image processing apparatus using a reconfigurable circuit, a control method thereof, and a program.

内部の論理回路構成を変更可能なPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)などの再構成可能回路が良く知られている。一般的に、PLDやFPGAは起動時にROM等の不揮発性メモリへ格納された論理回路構成情報を内部の揮発性メモリであるコンフィギュレーションメモリ(構成メモリ)へ書き込むことにより内部論理ブロックの切り替えを行う。また、ROM等の不揮発メモリに格納された論理回路構成情報をコンフィギュレーションメモリへの書き込む前にDRAM等の高速読み出し可能なメモリに展開しておくことで、コンフィギュレーションメモリへの書き込み時間を短縮することもある。   Reconfigurable circuits such as PLD (Programmable Logic Device) and FPGA (Field Programmable Gate Array) capable of changing the internal logic circuit configuration are well known. Generally, PLDs and FPGAs switch internal logic blocks by writing logic circuit configuration information stored in a non-volatile memory such as ROM to a configuration memory (configuration memory) that is an internal volatile memory at startup. . In addition, the writing time to the configuration memory is shortened by expanding the logic circuit configuration information stored in the non-volatile memory such as ROM into the memory such as DRAM that can be read before writing to the configuration memory. Sometimes.

FPGAには、チップ全体ではなく特定の領域だけを書き換えることが可能なものがあり、このような書き換えを部分再構成という。特に、動作中の他の回路を停止しない状態で部分再構成を行うことを動的部分再構成という。動的部分再構成では、動的再構成時にコンフィギュレーションメモリ全体を書き換えるのではなく、コンフィギュレーションメモリ領域の一部のみを書き換えることで、FPGA内部の論理ブロックの部分的な再構成を実現することが可能となる。この動的部分再構成を用いた技術として、パイプライン構成の処理において、回路構成情報を不揮発性メモリから順次読み出し、パイプライン先頭の部分回路から順に再構成可能回路上に再構成してデータ処理する手法が開示されている。(例えば、特許文献1参照。)
近年のMFP(Multi Function Printer)等の画像処理装置は、ユーザからの要求に応じた複数の処理(コピージョブ, プリントジョブ, SENDジョブ等)を選択可能であり、各処理に応じた画像処理はハードウェアまたはソフトウェアにより実現される。この画像処理装置の画像処理ハードウェアとしてFPGA等の再構成可能回路を適用した場合、上述した様な機能毎に回路構成を動的かつ部分的に切り替えることが可能となる。その結果少ないハードウェアリソースで様々な画像処理機能が実現可能となる。
Some FPGAs can rewrite a specific area, not the entire chip, and such rewriting is called partial reconfiguration. In particular, performing partial reconfiguration without stopping other operating circuits is called dynamic partial reconfiguration. In dynamic partial reconfiguration, the entire configuration memory is not rewritten at the time of dynamic reconfiguration, but only a part of the configuration memory area is rewritten to realize partial reconfiguration of the logic block inside the FPGA. Is possible. As a technology using this dynamic partial reconfiguration, in pipeline configuration processing, circuit configuration information is read sequentially from the nonvolatile memory, and data processing is performed by reconfiguring the reconfigurable circuit sequentially from the partial circuit at the top of the pipeline. A technique is disclosed. (For example, refer to Patent Document 1.)
Recent image processing devices such as MFP (Multi Function Printer) can select multiple processes (copy job, print job, SEND job, etc.) according to user requests. Realized by hardware or software. When a reconfigurable circuit such as an FPGA is applied as image processing hardware of the image processing apparatus, the circuit configuration can be dynamically and partially switched for each function as described above. As a result, various image processing functions can be realized with few hardware resources.

特開2011-186981号公報JP 2011-186981 A

動的部分再構成を行う際に、複数の部分再構成領域について論理回路を再構成する場合、各部分再構成領域に対して、論理回路情報をクリアしてから新たな論理回路構成情報をセットする必要がある。そのため、複数の部分再構成領域の再構成を行う場合には、再構成を行う部分再構成領域数分の時間が掛かってしまう。   When reconfiguring a logic circuit for multiple partial reconfiguration areas when performing dynamic partial reconfiguration, clear the logic circuit information and set new logic circuit configuration information for each partial reconfiguration area. There is a need to. Therefore, when reconstructing a plurality of partial reconstruction areas, it takes time for the number of partial reconstruction areas to be reconstructed.

本発明は、上述したような課題に鑑みてなされたものであり、動的部分再構成が可能な画像処理装置において、フレシキブルな書き換え性能はそのままに、複数の部分再構成部の論理回路を再構成する場合の動的部分再構成に掛かる時間を短縮することを目的とする。   The present invention has been made in view of the above-described problems. In an image processing apparatus capable of dynamic partial reconfiguration, the logic circuits of a plurality of partial reconfiguration units are reconfigured while maintaining flexible rewriting performance. The object is to reduce the time required for dynamic partial reconfiguration when configuring.

上記目的を達成するために本発明は以下の構成を有する。   In order to achieve the above object, the present invention has the following configuration.

構成メモリに記憶した回路構成データを書き換えることにより、所定の再構成単位で再構成可能な再構成可能回路を有する画像処理装置であって、
再構成対象である再構成領域ごとに、前記再構成領域の中に構成される回路に応じた回路構成データを格納する格納手段と、
前記再構成単位の中に複数の再構成領域が含まれる場合、それぞれの再構成領域の中に構成される回路に応じた前記回路構成データを含む書き換え用データを合成する合成手段と、
前記合成手段による合成後の書き換え用データにより前記構成メモリの回路構成データを前記再構成単位で書き換える書き換え手段とを有する。
An image processing apparatus having a reconfigurable circuit that can be reconfigured in a predetermined reconfiguration unit by rewriting circuit configuration data stored in a configuration memory,
Storage means for storing circuit configuration data corresponding to a circuit configured in the reconstruction area for each reconstruction area to be reconfigured;
In the case where a plurality of reconstruction areas are included in the reconstruction unit, a synthesis unit that synthesizes rewriting data including the circuit configuration data according to a circuit configured in each reconstruction area;
Rewriting means for rewriting the circuit configuration data of the configuration memory in the reconfiguration unit with the rewriting data after synthesis by the synthesizing means.

本発明によれば、動的部分再構成が可能な画像処理装置において、複数の部分再構成領域に対して同時に論理回路構成の切り替えを行うことが可能となり、複数領域の部分再構成に掛かる時間を短縮することが可能となる。また、予め用意しておくコンフィグデータは従来と変わらず、その記憶のための資源を増大させることもない。   According to the present invention, in an image processing apparatus capable of dynamic partial reconfiguration, it is possible to simultaneously switch the logic circuit configuration for a plurality of partial reconfiguration regions, and the time required for partial reconfiguration of a plurality of regions Can be shortened. In addition, the configuration data prepared in advance is not different from the conventional configuration data and does not increase resources for storage.

画像処理装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of an image processing apparatus. 画像処理装置における、動的部分再構成に関わる構成を示すブロック図である。It is a block diagram which shows the structure in connection with a dynamic partial reconstruction in an image processing apparatus. 部分再構成部に構成される回路情報の格納方法の一例を示す図である。It is a figure which shows an example of the storage method of the circuit information comprised by the partial reconstruction part. 部分再構成部の設計例を示す図である。It is a figure which shows the example of a design of a partial reconstruction part. コンフィグデータの構造について詳細に説明するための図である。It is a figure for demonstrating in detail the structure of configuration data. RAMに格納されるコンフィグデータの格納イメージを示す図であるIt is a figure which shows the storage image of the configuration data stored in RAM ジョブ実行処理制御を示すフローチャートである。It is a flowchart which shows job execution process control. 複数の部分再構成部に対するコンフィグデータの生成処理を示すフローチャートである。It is a flowchart which shows the production | generation process of the configuration data with respect to a some partial reconstruction part.

以下、本発明を実施するための形態について図面を用いて説明する。
[画像処理装置の構成]
図1は、本発明の実施形態に関わる画像処理装置の装置構成を説明するブロック図である。本実施形態の画像処理装置100は、画像処理装置100を使用するユーザが各種の操作を行うための操作部103と、操作部103からの指示に従い画像情報を読み取るスキャナ部109と、画像データを用紙に印刷するプリンタ部107とを有する。スキャナ部109は、スキャナ部109を制御する図示しないCPUや原稿読取を行うための図示しない照明ランプや走査ミラーなどを有する。プリンタ部107、プリンタ部107の制御を行う図示しないCPUや画像形成や定着を行うための図示しない感光体ドラムや定着器を有する。操作部103は操作部I/F113を介してバス120に接続されている。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
[Configuration of image processing device]
FIG. 1 is a block diagram illustrating the configuration of an image processing apparatus according to an embodiment of the present invention. The image processing apparatus 100 according to the present embodiment includes an operation unit 103 for a user using the image processing apparatus 100 to perform various operations, a scanner unit 109 that reads image information in accordance with instructions from the operation unit 103, and image data. And a printer unit 107 that prints on paper. The scanner unit 109 includes a CPU (not shown) that controls the scanner unit 109, an illumination lamp (not shown), a scanning mirror, and the like for reading a document. The printer unit 107 includes a CPU (not shown) that controls the printer unit 107, a photoconductor drum (not shown) and a fixing device (not shown) that perform image formation and fixing. The operation unit 103 is connected to the bus 120 via the operation unit I / F 113.

また、画像処理装置100は、画像処理装置100の動作を統括的に制御するCPU101を備え、画像処理装置の各ユニットを制御するための制御ソフトウェアを実行する。また、画像処理装置100は、CPU101が実行するプログラムが格納されているROM104を有する。また、画像処理装置100は、画像処理データのスプールと画像処理装置100で使用する全コンフィグデータを格納するためのHDDI/F115を介して接続されるHDD116を有する。コンフィグデータは、回路構成データあるいは黄色構成情報とも呼ばれる。また、画像処理装置100は、CPU101が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するための画像メモリでもあり、かつコンフィグデータを一時保持する為のRAM111を有する。コンフィグデータをアクセス速度の遅いHDD116からアクセス速度の速いRAM111へ事前に複製して一時保持しておくことで、RAM111からコンフィグデータを高速に読み出すことが可能になる。このような方法をプリロードと呼ぶ。なお、プリロードに使用する高速メモリは、システムのワークメモリであるRAM111に限られるものではない。その他のプリロードメモリとしては、FPGA内部のブロックRAMや、DRP(Dynamic Reconfigurable Processor)等で用いられるような、複数BANKを持つ専用のプリロードメモリ等がある。また、画像処理装置100は、RAM111と、RAM111への書き込み、読み出し動作を制御するメモリコントローラ110を有する。メモリコントローラ110は、システムバス120および画像バス121に接続され、RAM111へのアクセスを制御する。
画像処理装置100は、再構成可能デバイスとして画像処理回路等を構成するFPGA140を有する。本実施例では再構成可能デバイスとしてFPGAを例に説明しているが、FPGA以外の再構成可能デバイスが接続される構成であってもよい。
画像処理装置100は、CPU101の制御の基、FPGAの回路構成(コンフィギュレーション)を制御するコンフィグコントローラ130を有する。
In addition, the image processing apparatus 100 includes a CPU 101 that comprehensively controls the operation of the image processing apparatus 100, and executes control software for controlling each unit of the image processing apparatus. The image processing apparatus 100 also includes a ROM 104 that stores a program executed by the CPU 101. The image processing apparatus 100 also includes an HDD 116 connected via an HDD I / F 115 for storing a spool of image processing data and all configuration data used by the image processing apparatus 100. The configuration data is also called circuit configuration data or yellow configuration information. The image processing apparatus 100 is a system work memory for operating the CPU 101, is also an image memory for temporarily storing image data, and has a RAM 111 for temporarily storing configuration data. By copying the configuration data from the HDD 116 having a low access speed to the RAM 111 having a high access speed in advance and temporarily holding the configuration data, the configuration data can be read from the RAM 111 at a high speed. Such a method is called preloading. Note that the high-speed memory used for preloading is not limited to the RAM 111 that is the work memory of the system. Other preload memories include a dedicated preload memory having a plurality of BANKs as used in a block RAM inside the FPGA, a dynamic reconfigurable processor (DRP), and the like. The image processing apparatus 100 also includes a RAM 111 and a memory controller 110 that controls writing and reading operations to the RAM 111. The memory controller 110 is connected to the system bus 120 and the image bus 121 and controls access to the RAM 111.
The image processing apparatus 100 includes an FPGA 140 that constitutes an image processing circuit or the like as a reconfigurable device. In this embodiment, an FPGA is described as an example of a reconfigurable device. However, a configuration in which a reconfigurable device other than an FPGA is connected may be used.
The image processing apparatus 100 includes a configuration controller 130 that controls the circuit configuration (configuration) of the FPGA under the control of the CPU 101.

FPGA140は、動的書き換え可能かつ部分書き換え可能なものである。すなわち、FPGA140の再構成部の一部に構成された回路が動作している間に、その回路が占める部分とは重ならない別の部分に別の回路を再構成することができる。   The FPGA 140 is dynamically rewritable and partially rewritable. That is, while a circuit configured as a part of the reconfiguration unit of the FPGA 140 is operating, another circuit can be reconfigured in another part that does not overlap with the part occupied by the circuit.

また、画像処理装置100は、スキャナ部109から画像データが入力されるスキャナI/F108と、プリンタ部107へ画像データを出力するプリンタI/F106とを有する。FPGA140及びスキャナI/F108、プリンタI/F106は、処理される画像データを転送するための画像バス121に接続される。   The image processing apparatus 100 also includes a scanner I / F 108 that receives image data from the scanner unit 109 and a printer I / F 106 that outputs image data to the printer unit 107. The FPGA 140, the scanner I / F 108, and the printer I / F 106 are connected to an image bus 121 for transferring image data to be processed.

また、画像処理装置100は、通信部としてネットワークI/F102を介し、ネットワーク上の図示しない汎用コンピュータと通信(送受信)を行う。また、画像処理装置100は、USBI/F114を介し、画像処理装置100と接続された図示しない汎用コンピュータと通信(送受信)を行う。画像処理装置100は、CPU101が実行するプログラム、ROM104への書き込み、読み出し動作を制御するROM I/F112を有する。また、画像処理装置100は、CPU101、ネットワークI/F102、操作部103、ROM I/F112、コンフィグコントローラ130、FPGA140を相互に接続するシステムバス120を有する。CPU101は、FPGA140と、スキャナI/F108、プリンタI/F106のパラメータ設定を、システムバス120を介して行う。   The image processing apparatus 100 communicates (transmits / receives) with a general-purpose computer (not shown) on the network via the network I / F 102 as a communication unit. The image processing apparatus 100 communicates (transmits / receives) with a general-purpose computer (not shown) connected to the image processing apparatus 100 via the USB I / F 114. The image processing apparatus 100 includes a ROM I / F 112 that controls a program executed by the CPU 101 and writing / reading operations to / from the ROM 104. The image processing apparatus 100 also includes a system bus 120 that connects the CPU 101, the network I / F 102, the operation unit 103, the ROM I / F 112, the configuration controller 130, and the FPGA 140 to each other. The CPU 101 performs parameter settings for the FPGA 140, the scanner I / F 108, and the printer I / F 106 via the system bus 120.

なお、本実施例においては、コンフィグデータはHDD116に格納されており、画像処理装置100が処理を開始する前に、CPU101によってRAM111へあらかじめ複製して格納されるものとする。また、コンフィグデータの格納先は画像処理装置100内部に限定されるものではなく、例えば、ネットワークを介して外部のサーバから随時ダウンロードしてRAM111に格納される構成でもよい。   In this embodiment, the configuration data is stored in the HDD 116, and is copied and stored in advance in the RAM 111 by the CPU 101 before the image processing apparatus 100 starts processing. The storage location of the configuration data is not limited to the inside of the image processing apparatus 100. For example, the configuration data may be downloaded from an external server via the network as needed and stored in the RAM 111.

[部分再構成に関する構成]
次に、図2を用いて、本実施例にかかる画像処理装置における部分再構成に関する構成について説明する。図2は画像処理装置100の部分再構成に特に関わる構成を示したブロック図である。
[Configuration related to partial reconfiguration]
Next, a configuration relating to partial reconstruction in the image processing apparatus according to the present embodiment will be described with reference to FIG. FIG. 2 is a block diagram showing a configuration particularly related to the partial reconstruction of the image processing apparatus 100.

CPU101、コンフィグコントローラ130、RAM111、HDD116、FPGA140については図1を用いて前述した通りである。FPGA140は内部に、部分再構成部(PR1)201、部分再構成部(PR2)202、部分再構成部(PR3)203、部分再構成部(PR4)204をさらに持つ。各部分再構成部は動的に画像処理回路等を書き換えることが可能である。動的な書き換えとはたとえば、書き換え対象の部分再構成部を、それ以外の回路を動作させつつ書き換えることができることを意味する。   The CPU 101, configuration controller 130, RAM 111, HDD 116, and FPGA 140 are as described above with reference to FIG. The FPGA 140 further includes a partial reconstruction unit (PR1) 201, a partial reconstruction unit (PR2) 202, a partial reconstruction unit (PR3) 203, and a partial reconstruction unit (PR4) 204 therein. Each partial reconstruction unit can dynamically rewrite an image processing circuit or the like. Dynamic rewriting means, for example, that the partial reconfiguration unit to be rewritten can be rewritten while operating other circuits.

本実施例においては、画像処理機能を持つ回路を部分再構成部に構成する例について説明をしているが、もちろん画像処理機能以外の回路を部分再構成部に構成可能であることは言うまでもない。   In this embodiment, an example in which a circuit having an image processing function is configured in the partial reconstruction unit has been described. Needless to say, a circuit other than the image processing function can be configured in the partial reconstruction unit. .

コンフィグコントローラ130は、各部分再構成部201、202、203、204の部分再構成を管理する機能を持つ。例えば、各部分再構成部201、202、203、204が現在の処理に使用されているか等、各部分再構成部の空き状況を管理する。その上で、各部分再構成部が書き換え可能かどうかの判断を行う。CPU101は、コンフィグコントローラ130に管理された情報により、各部分再構成部が書き換え可能かどうかの判断を参照して、コンフィグコントローラ130へコンフィグデータ転送開始を指示する。コンフィグコントローラ130はCPU101の指示のもと、必要となるコンフィグデータをRAM111から読み出し、各部分再構成部201、202、203、204へコンフィグデータを書き込む。   The configuration controller 130 has a function of managing partial reconfiguration of each partial reconfiguration unit 201, 202, 203, 204. For example, the availability of each partial reconfiguration unit is managed, such as whether each partial reconfiguration unit 201, 202, 203, 204 is currently used for processing. Then, it is determined whether or not each partial reconstruction unit can be rewritten. The CPU 101 instructs the configuration controller 130 to start configuration data transfer with reference to the determination whether each partial reconfiguration unit can be rewritten based on the information managed by the configuration controller 130. The configuration controller 130 reads necessary configuration data from the RAM 111 under the instruction of the CPU 101 and writes the configuration data to the partial reconfiguration units 201, 202, 203, 204.

[コンフィグデータの構成]
次に、図3を用いてFPGA140の部分再構成部201〜204に構成されるコンフィグデータの一般的な格納方法について説明する。図3はHDD116に格納されるFPGA140の各部分再構成部201〜204に構成するコンフィグデータの例である。
[Configuration data configuration]
Next, a general method for storing configuration data configured in the partial reconfiguration units 201 to 204 of the FPGA 140 will be described with reference to FIG. FIG. 3 is an example of configuration data configured in each of the partial reconfiguration units 201 to 204 of the FPGA 140 stored in the HDD 116.

HDD116には部分再構成に必要な複数個のコンフィグデータが格納される。PR1用のコンフィグデータ300は部分再構成部(PR1)201に構成することが可能なコンフィグデータを表している。図3においては、部分再構成部(PR1)201に構成可能な機能がA、B、C、Dの4つである場合を例にしている。コンフィグデータ301はPR1に機能Aの回路を構成するためのコンフィグデータである。同様にコンフィグデータ302はPR1に機能Bの回路構成を、コンフィグデータ303はPR1に機能Cの回路構成を、コンフィグデータ304はPR1に機能Dの回路構成を構成するためのコンフィグデータを表している。   The HDD 116 stores a plurality of configuration data necessary for partial reconfiguration. The configuration data 300 for PR1 represents configuration data that can be configured in the partial reconfiguration unit (PR1) 201. FIG. 3 shows an example in which there are four functions A, B, C, and D that can be configured in the partial reconfiguration unit (PR1) 201. The configuration data 301 is configuration data for configuring a function A circuit in PR1. Similarly, the configuration data 302 represents the function B circuit configuration in PR1, the configuration data 303 represents the function C circuit configuration in PR1, and the configuration data 304 represents the configuration data for configuring the function D circuit configuration in PR1. .

また、PR2用のコンフィグデータ310は部分再構成部(PR2)202に構成することが可能なコンフィグデータを表している。PR2用のコンフィグデータ310についても、機能A、B、C、Dの4つの機能のコンフィグデータを格納しており、部分再構成部(PR2)202には4つの機能を切り替えて構成することが可能である。   The configuration data 310 for PR2 represents configuration data that can be configured in the partial reconfiguration unit (PR2) 202. The configuration data 310 for PR2 also stores configuration data for four functions A, B, C, and D, and the partial reconfiguration unit (PR2) 202 can be configured by switching the four functions. Is possible.

また、PR3用のコンフィグデータ320は部分再構成部(PR3)203に構成することが可能なコンフィグデータを表している。PR3用のコンフィグデータ320についても、機能A、B、C、Dの4つの機能のコンフィグデータを格納しており、部分再構成部(PR3)203には4つの機能を切り替えて構成することが可能である。   The configuration data 320 for PR3 represents configuration data that can be configured in the partial reconfiguration unit (PR3) 203. The configuration data 320 for PR3 also stores configuration data for four functions A, B, C, and D, and the partial reconfiguration unit (PR3) 203 can be configured by switching the four functions. Is possible.

また、PR4用のコンフィグデータ330は部分再構成部(PR4)204に構成することが可能なコンフィグデータを表している。PR4用のコンフィグデータ330についても、機能A、B、C、Dの4つの機能のコンフィグデータを格納しており、部分再構成部(PR4)204には4つの機能を切り替えて構成することが可能である。   The configuration data 330 for PR4 represents configuration data that can be configured in the partial reconfiguration unit (PR4) 204. The configuration data 330 for PR4 also stores configuration data for the four functions A, B, C, and D, and the partial reconfiguration unit (PR4) 204 can be configured by switching the four functions. Is possible.

上述したように、各部分再構成部ごとにコンフィグデータを用意する必要がある。例えば、機能Aの回路構成を部分再構成部(PR1)201と部分再構成部(PR2)202に構成するためには、PR1用の機能A301、PR2用の機能B302というように同じ機能を実現する場合においても、構成場所によって異なるコンフィグデータを用意しておく必要がある。   As described above, it is necessary to prepare configuration data for each partial reconfiguration unit. For example, in order to configure the circuit configuration of the function A into the partial reconfiguration unit (PR1) 201 and the partial reconfiguration unit (PR2) 202, the same function is realized such as the function A301 for PR1 and the function B302 for PR2. Even in this case, it is necessary to prepare different configuration data depending on the configuration location.

上記の説明においては、FPGA140は4つの部分再構成部を持ち、部分再構成部に構成する機能をA、B、C、Dの4つの場合を例に説明した。部分再構成の領域数と、そこに構成する機能を4つに限定した理由は、説明をわかりやすくするためだけであり、部分再構成の領域数とそこに構成する機能数を4つに限定される必要はもちろんない。   In the above description, the FPGA 140 has four partial reconfiguration units, and the functions configured in the partial reconfiguration unit have been described by taking four cases of A, B, C, and D as an example. The reason for limiting the number of areas for partial reconstruction and the number of functions configured there to 4 is only to make the explanation easy to understand. The number of areas for partial reconstruction and the number of functions configured there are limited to four. Of course there is no need to be done.

[部分再構成用コンフィグデータの構成説明]
本実施形態においては、部分再構成に掛かる時間の短縮すること、および部分再構成用のコンフィグデータ容量を削減することを目的としている。そこで、本実施形態に関わる手法を説明するにあたり、部分再構成用のコンフィグデータの構成について図4および図5を用いて詳細に説明する。
[Description of configuration data for partial reconfiguration]
An object of the present embodiment is to reduce the time required for partial reconfiguration and to reduce the configuration data capacity for partial reconfiguration. Therefore, in describing the method according to the present embodiment, the configuration of the configuration data for partial reconfiguration will be described in detail with reference to FIGS. 4 and 5.

まず、図4を用いてFPGA140の部分再構成部の設計例について説明する。図4は本実施形態に関わる画像処理装置のFPGA内の部分再構成部の設計例を示す図である。一般に、FPGAの部分再構成を実施する場合、FPGA内部のどの領域を部分再構成部とするかを決定しておく。具体的には部分再構成部の大きさ、部分再構成部の数、部分再構成部をFPGAのどの領域にレイアウトするかを決定する。上述した部分再構成部の大きさ、部分再構成部の数、部分再構成部のレイアウトに関しては自由に設計することが可能である。以降の説明においては図4の部分再構成部(PR1)201、部分再構成部(PR2)202、部分再構成部(PR3)203、および部分再構成部(PR4)204で示す部分を部分再構成する領域とし、それ以外の部分再構成しない領域を固定部(あるいは固定領域)410と呼ぶ。   First, a design example of the partial reconfiguration unit of the FPGA 140 will be described with reference to FIG. FIG. 4 is a diagram illustrating a design example of the partial reconfiguration unit in the FPGA of the image processing apparatus according to the present embodiment. In general, when performing partial reconfiguration of an FPGA, it is determined which area inside the FPGA is used as a partial reconfiguration unit. Specifically, the size of the partial reconstruction unit, the number of partial reconstruction units, and in which area of the FPGA the partial reconstruction unit is laid out are determined. The size of the partial reconstruction unit, the number of partial reconstruction units, and the layout of the partial reconstruction unit described above can be freely designed. In the following description, the parts indicated by the partial reconstruction unit (PR1) 201, partial reconstruction unit (PR2) 202, partial reconstruction unit (PR3) 203, and partial reconstruction unit (PR4) 204 in FIG. A region that is configured and a region that is not partially reconfigured is called a fixed portion (or fixed region) 410.

また、部分再構成部(PR1)201と部分再構成部(PR2)202は同一カラム(列)に位置し、部分再構成部(PR3)203と部分再構成部(PR4)204は同一カラム(列)に位置するものとする。すでに前述しているように部分再構成を行う場合、部分再構成用のコンフィグデータを持つ必要がある。部分再構成を行う際には、コンフィグデータをRAMから読み出し、FPGA内部のコンフィギュレーションメモリに書き込むことにより、部分再構成部の回路構成が再構成される。ただし、部分再構成を行う場合には、自由な単位でFPGA内部のコンフィギュレーションメモリを書き換え可能なわけではなく、コンフィギュレーションメモリの書き換えを行うための最小単位が存在するデバイスがある。本例においては、カラムは再構成可能回路であるFPGAを所定幅の帯状に分割した領域に対応している。   The partial reconstruction unit (PR1) 201 and the partial reconstruction unit (PR2) 202 are located in the same column (row), and the partial reconstruction unit (PR3) 203 and the partial reconstruction unit (PR4) 204 are in the same column (column). Column). As described above, when performing partial reconfiguration, it is necessary to have configuration data for partial reconfiguration. When performing partial reconfiguration, the circuit configuration of the partial reconfiguration unit is reconfigured by reading the configuration data from the RAM and writing it to the configuration memory inside the FPGA. However, when performing partial reconfiguration, the configuration memory inside the FPGA cannot be rewritten in a free unit, and there is a device that has a minimum unit for rewriting the configuration memory. In this example, the column corresponds to a region obtained by dividing the FPGA, which is a reconfigurable circuit, into strips having a predetermined width.

例えば、FPGAのカラム(列)が書き換えの最小単位(再構成単位とも呼ぶ。)のデバイスもあれば、ロウ(行)や、特定の正方形領域が書き換えの最小単位のデバイスも存在する。本実施形態においては、カラム(列)が書き換えを行うための最小単位であり、カラム(列)方向に8個に分割された最小書き換え単位400(400aから400h)で構成されるFPGAとする。すなわち、このFPGAの再構成は、カラム400aから400hの各々あるいはそれらの組み合わせに含まれた部分再構成する領域を対象として行われる。   For example, there are devices in which an FPGA column (row) is a minimum unit of rewriting (also referred to as a reconstruction unit), and there are devices in which a row (row) or a specific square area is a minimum unit of rewriting. In the present embodiment, a column (row) is a minimum unit for rewriting, and is an FPGA configured by a minimum rewriting unit 400 (400a to 400h) divided into eight in the column (row) direction. In other words, the FPGA is reconfigured for a region to be partially reconfigured included in each of the columns 400a to 400h or a combination thereof.

FPGAのカラム(列)400が書き換え最小単位の場合、部分再構成部201〜204の回路構成を決定するコンフィギュレーションメモリ部だけを書き換えることはできない。部分再構成部(PR1)201または部分再構成部(PR2)202を書き換える場合には、部分再構成部(PR1)201および部分再構成部(PR2)202と同一カラム(列)にある最小書き換え単位400b、400c、400dで構成されるPR1PR2再構成領域401を書き換える必要がある。つまり、部分再構成部(PR1)201の回路構成を書き換える場合には、部分再構成部(PR1)201の回路情報だけでなく、PR1PR2再構成領域401内の固定部410の該当するPR1PR2再構成領域固定部411と部分再構成部(PR2)202との回路構成を決定する、コンフィギュレーションメモリ部へ書き込むデータも必要となる。   When the FPGA column 400 is the minimum rewrite unit, it is not possible to rewrite only the configuration memory unit that determines the circuit configuration of the partial reconfiguration units 201 to 204. When rewriting the partial reconstruction unit (PR1) 201 or the partial reconstruction unit (PR2) 202, the minimum rewrite in the same column (column) as the partial reconstruction unit (PR1) 201 and the partial reconstruction unit (PR2) 202 It is necessary to rewrite the PR1PR2 reconstruction area 401 composed of the units 400b, 400c, and 400d. That is, when rewriting the circuit configuration of the partial reconfiguration unit (PR1) 201, not only the circuit information of the partial reconfiguration unit (PR1) 201 but also the corresponding PR1PR2 reconfiguration of the fixed unit 410 in the PR1PR2 reconfiguration area 401 Data to be written to the configuration memory unit that determines the circuit configuration of the region fixing unit 411 and the partial reconfiguration unit (PR2) 202 is also required.

図5(a)は、部分再構成部(PR1)201のみを再構成するために必要なコンフィグデータの構造について詳細に説明するための図である。ここでは部分再構成を行うためのコンフィギュレーションメモリ(構成メモリ)の書き換え最小単位がカラム(列)である場合を例に説明を行う。   FIG. 5A is a diagram for explaining in detail the structure of the configuration data necessary for reconfiguring only the partial reconfiguration unit (PR1) 201. Here, the case where the minimum rewrite unit of the configuration memory (configuration memory) for partial reconfiguration is a column will be described as an example.

コンフィグデータ500は、部分再構成部(PR1)201に特定の機能を有する回路を構成するために必要なコンフィグデータであり、以降、PR1用コンフィグデータ500と呼ぶ。   The configuration data 500 is configuration data necessary for configuring a circuit having a specific function in the partial reconfiguration unit (PR1) 201, and is hereinafter referred to as configuration data 500 for PR1.

コンフィグデータ501はPR1用コンフィグデータ500の一部であり、以降、PR1用論理積コンフィグデータ501と呼ぶ。PR1用論理積コンフィグデータ501は、再構成対象の部分再構成部に対応するコンフィギュレーションメモリ(構成メモリ)を選択的にクリアするためのクリア用データである。コンフィグデータ502はPR1用論理積コンフィグデータ501の一部であり、部分再構成部(PR1)201の回路構成を決定するコンフィギュレーションメモリ部に書き込むデータを示しており、以降、PR1領域内用の論理積のためのデータであるという意味でPR1内論理積コンフィグデータ502と呼ぶ。PR1内論理積コンフィグデータ502は、PR1に相当し、論理積操作によりPR1を0でクリアするためのデータである。コンフィグデータ503はPR1用論理積コンフィグデータ501の一部であり、部分再構成部(PR1)201以外の回路構成を決定するコンフィギュレーションメモリ部に書き込むデータを示しており、以降、PR1外論理積コンフィグデータ503と呼ぶ。PR1外論理積コンフィグデータ503は、PR1PR2再構成領域401のうちからPR1を除いた領域に相当し、論理積操作によっても当該領域をそのまま残すためのデータである。   The configuration data 501 is a part of the PR1 configuration data 500, and is hereinafter referred to as PR1 AND configuration data 501. The logical product configuration data 501 for PR1 is clear data for selectively clearing the configuration memory (configuration memory) corresponding to the partial reconfiguration unit to be reconfigured. The configuration data 502 is a part of the logical product configuration data 501 for PR1, and indicates data to be written in the configuration memory unit that determines the circuit configuration of the partial reconfiguration unit (PR1) 201. In the sense that it is data for logical product, it is called intra-PR1 logical product configuration data 502. The intra-PR1 logical product configuration data 502 corresponds to PR1 and is data for clearing PR1 to 0 by logical product operation. The configuration data 503 is a part of the logical product configuration data 501 for PR1, and indicates data to be written in the configuration memory unit that determines the circuit configuration other than the partial reconfiguration unit (PR1) 201. This is called configuration data 503. The PR1 extra logical AND configuration data 503 corresponds to an area obtained by removing PR1 from the PR1PR2 reconfiguration area 401, and is data for leaving the area as it is even by the logical product operation.

コンフィグデータ511はPR1用コンフィグデータ500の一部であり、以降、PR1用論理和コンフィグデータ511と呼ぶ。PR1用論理和コンフィグデータ511は、再構成対象の部分再構成部に対応するコンフィギュレーションメモリ(構成メモリ)を選択的に書き換えるための回路構成データである。コンフィグデータ512はPR1用論理和コンフィグデータ511の一部であり、部分再構成部(PR1)201の回路構成を決定するコンフィギュレーションメモリ部に書き込むデータを示しており、以降、PR1内論理和コンフィグデータ512と呼ぶ。PR1内論理和コンフィグデータ512は、PR1に相当し、論理和操作によりPR1に再構成される新たなコンフィグデータである。コンフィグデータ513はPR1用論理和コンフィグデータ511の一部であり、部分再構成部(PR1)201の回路構成を決定するコンフィギュレーションメモリ部に書き込むデータを示しており、以降、PR1外論理和コンフィグデータ513と呼ぶ。PR1外論理和コンフィグデータ513は、PR1PR2再構成領域401のうちからPR1を除いた領域に相当し、論理和操作によっても当該領域をそのまま残すためのデータである。   The configuration data 511 is a part of the PR1 configuration data 500, and is hereinafter referred to as PR1 OR configuration data 511. The PR1 OR configuration data 511 is circuit configuration data for selectively rewriting a configuration memory (configuration memory) corresponding to a partial reconfiguration unit to be reconfigured. The configuration data 512 is a part of the OR configuration data 511 for PR1, and indicates data to be written in the configuration memory unit that determines the circuit configuration of the partial reconfiguration unit (PR1) 201. This is called data 512. The intra-PR1 logical sum configuration data 512 corresponds to PR1 and is new configuration data reconfigured to PR1 by a logical sum operation. The configuration data 513 is a part of the OR configuration data 511 for PR1, and indicates data to be written in the configuration memory unit that determines the circuit configuration of the partial reconfiguration unit (PR1) 201. This is called data 513. The PR1 extra-OR configuration data 513 corresponds to an area obtained by removing PR1 from the PR1PR2 reconfiguration area 401, and is data for leaving the area as it is even by an OR operation.

上述したPR1用論理積コンフィグデータ501とPR1用論理和コンフィグデータ511をFPGAに送信することにより部分再構成部(PR1)201の再構成が行われる。   The partial reconfiguration unit (PR1) 201 is reconfigured by transmitting the above-described PR1 AND configuration data 501 and PR1 OR configuration data 511 to the FPGA.

以下に部分再構成の動作を説明する。まず、PR1用論理積コンフィグデータ501と、PR1PR2再構成領域401の回路構成を決定するコンフィギュレーションメモリ部にすでに書き込まれているデータとの論理積をとり、論理積をとったデータがコンフィギュレーションメモリに書き込まれる。これにより、部分再構成部(PR1)201の回路構成を決定するコンフィギュレーションメモリ部のデータのみが0にクリアされ、部分再構成部(PR1)201以外の領域の回路構成を決定するコンフィギュレーションメモリにはすでに書き込まれていたデータと同じデータを書き込むことになり、回路構成は変更されることはない。   The operation of partial reconstruction will be described below. First, the logical product configuration data 501 for PR1 and the data already written in the configuration memory unit for determining the circuit configuration of the PR1PR2 reconfiguration area 401 are obtained, and the data obtained by the logical product is the configuration memory. Is written to. Thereby, only the data of the configuration memory unit that determines the circuit configuration of the partial reconfiguration unit (PR1) 201 is cleared to 0, and the configuration memory that determines the circuit configuration of the area other than the partial reconfiguration unit (PR1) 201 In this case, the same data as the data that has already been written is written, and the circuit configuration is not changed.

次に、PR1用論理和コンフィグデータ511と、PR1PR2再構成領域401の回路構成を決定するコンフィギュレーションメモリ部にすでに書き込まれているデータとの論理和をとり、論理和をとったデータがコンフィギュレーションメモリに書き込まれる。これにより、部分再構成部(PR1)201には所望の回路構成が書き込まれ、部分再構成部(PR1)201以外の領域の回路構成を決定するコンフィギュレーションメモリにはすでに書き込まれていたデータと同じデータを書き込むことになり、回路構成は変更されることはない。   Next, the logical OR configuration data 511 for PR1 and the data already written in the configuration memory unit for determining the circuit configuration of the PR1PR2 reconfiguration area 401 are logically summed, and the data obtained by the logical sum is configured. Written to memory. As a result, the desired circuit configuration is written in the partial reconfiguration unit (PR1) 201, and the data already written in the configuration memory that determines the circuit configuration in the area other than the partial reconfiguration unit (PR1) 201 The same data is written, and the circuit configuration is not changed.

上述した手順により、部分再構成部(PR1)201以外の領域の回路動作を止めることなく部分再構成部(PR1)201のみの回路構成を書き換えることが可能となる。   According to the procedure described above, it is possible to rewrite the circuit configuration of only the partial reconstruction unit (PR1) 201 without stopping the circuit operation in the area other than the partial reconstruction unit (PR1) 201.

また、図5(b)は本発明の実施形態に関わる画像処理装置における、部分再構成部(PR2)202を再構成するために必要なコンフィグデータの構造について詳細に説明するための図である。図5(a)で説明した手順と同様に、PR2用論理積コンフィグデータ521と、PR2用論理和コンフィグデータ531を順次コンフィギュレーションメモリに書き込むことで部分再構成部(PR2)202のみの部分再構成が可能である。   FIG. 5B is a diagram for explaining in detail the structure of configuration data necessary to reconfigure the partial reconfiguration unit (PR2) 202 in the image processing apparatus according to the embodiment of the present invention. . Similar to the procedure described in FIG. 5A, the partial reconfiguration unit (PR2) 202 only is rewritten by sequentially writing the PR2 logical product configuration data 521 and the PR2 logical sum configuration data 531 into the configuration memory. Configuration is possible.

つまり、部分再構成部(PR1)201と部分再構成部(PR2)202の部分再構成を行う場合には、図5(a)および図5(b)を用いて説明したように、PR1用論理積コンフィグデータ501、PR1用論理和コンフィグデータ511、PR2用論理積コンフィグデータ521、およびPR2用論理和コンフィグデータ531の計4回のコンフィグデータを書き込む必要があった。   That is, when partial reconstruction of the partial reconstruction unit (PR1) 201 and the partial reconstruction unit (PR2) 202 is performed, as described with reference to FIGS. It is necessary to write a total of four times of configuration data: logical product configuration data 501, logical sum configuration data 511 for PR1, logical product configuration data 521 for PR2, and logical sum configuration data 531 for PR2.

図5(c)は、本実施形態に関わる部分再構成部(PR1)201と部分再構成部(PR2)202を同時に書き換えるためのPR1PR2用コンフィグデータ540の構成について説明するための図である。   FIG. 5C is a diagram for explaining the configuration of the PR1PR2 configuration data 540 for simultaneously rewriting the partial reconstruction unit (PR1) 201 and the partial reconstruction unit (PR2) 202 according to the present embodiment.

PR1PR2用コンフィグデータ540は、PR1PR2用論理積コンフィグデータ541とPR1PR2用論理和コンフィグデータ551で構成される。   The PR1PR2 configuration data 540 includes PR1PR2 logical product configuration data 541 and PR1PR2 logical sum configuration data 551.

PR1PR2用論理積コンフィグデータ541は、部分再構成部(PR1)201の回路構成を決定するコンフィギュレーションメモリ部のデータを0にクリアするためのコンフィグデータであるPR1用論理積コンフィグデータ501と、部分再構成部(PR2)202の回路構成を決定するコンフィギュレーションメモリ部のデータを0にクリアするためのコンフィグデータであるPR2用論理積コンフィグデータ521との論理積により生成される。つまり、PR1PR2用論理積コンフィグデータ541は、部分再構成部(PR1)201と部分再構成部(PR2)202の両方の回路構成を決定するコンフィギュレーションメモリ部のデータのみを0にクリアすることができる。また、PR1PR2用論理積コンフィグデータ541は、コンフィギュレーションメモリ部にすでに書き込まれているデータと論理積を取ることで回路構成をクリアするためのコンフィグデータ同士の論理積から生成されるため、コンフィグデータ内のビットデータが意味する順番が変わることはない。   The logical product configuration data 541 for PR1PR2 includes the logical product configuration data 501 for PR1, which is configuration data for clearing the data of the configuration memory unit that determines the circuit configuration of the partial reconfiguration unit (PR1) 201 to 0, It is generated by logical product with PR2 logical product configuration data 521 which is configuration data for clearing the data in the configuration memory unit that determines the circuit configuration of the reconfiguration unit (PR2) 202 to zero. That is, the logical product configuration data 541 for PR1PR2 can clear only the data in the configuration memory unit that determines the circuit configuration of both the partial reconfiguration unit (PR1) 201 and the partial reconfiguration unit (PR2) 202 to 0. it can. Further, the logical product configuration data 541 for PR1PR2 is generated from the logical product of the configuration data for clearing the circuit configuration by taking the logical product with the data already written in the configuration memory unit. The order in which the bit data within does not change.

PR1PR2用論理積コンフィグデータ551は、部分再構成部(PR1)201の回路構成を決定するコンフィギュレーションメモリ部のデータに所望の回路構成をセットするためのコンフィグデータであるPR1用論理和コンフィグデータ511と、部分再構成部(PR2)202の回路構成を決定するコンフィギュレーションメモリ部のデータに所望の回路構成をセットするためのコンフィグデータであるPR2用論理和コンフィグデータ531との論理和により生成される。つまり、PR1PR2用論理積コンフィグデータ541は、部分再構成部(PR1)201と部分再構成部(PR2)202の両方の回路構成を決定するコンフィギュレーションメモリ部のデータを所望の回路構成に書き換えることができる。また、PR1PR2用論理和コンフィグデータ551は、コンフィギュレーションメモリ部にすでに書き込まれているデータと論理和を取ることで回路構成をセットするためのコンフィグデータ同士の論理和から生成されるため、コンフィグデータ内のビットデータが意味する順番が変わることはない。このようにPR1PR2用コンフィグデータ540は、PR1用コンフィグデータ500とPR2用コンフィグデータ520とを合成した合成後のコンフィグデータである。   The logical product configuration data 551 for PR1PR2 is the logical OR configuration data 511 for PR1, which is configuration data for setting a desired circuit configuration in the data of the configuration memory unit that determines the circuit configuration of the partial reconfiguration unit (PR1) 201. And the logical sum configuration data 531 for PR2, which is configuration data for setting a desired circuit configuration in the data of the configuration memory unit that determines the circuit configuration of the partial reconfiguration unit (PR2) 202. The In other words, the logical product configuration data 541 for PR1PR2 rewrites the data in the configuration memory unit that determines the circuit configurations of both the partial reconfiguration unit (PR1) 201 and the partial reconfiguration unit (PR2) 202 to a desired circuit configuration. Can do. Also, the logical OR configuration data 551 for PR1PR2 is generated from the logical OR of the configuration data for setting the circuit configuration by taking the logical OR with the data already written in the configuration memory unit. The order in which the bit data within does not change. Thus, the PR1PR2 configuration data 540 is the combined configuration data obtained by combining the PR1 configuration data 500 and the PR2 configuration data 520.

PR1PR2用論理積コンフィグデータ541とPR1PR2用論理和コンフィグデータ551とを用いることにより、部分再構成部(PR1)201と部分再構成部(PR2)202以外の領域の回路動作を止めることなく、部分再構成部(PR1)201と部分再構成部(PR2)202を同時に部分再構成することが可能である。   By using the logical product configuration data 541 for PR1PR2 and the logical sum configuration data 551 for PR1PR2, the circuit operation in the area other than the partial reconfiguration unit (PR1) 201 and the partial reconfiguration unit (PR2) 202 is stopped without stopping. The reconstruction unit (PR1) 201 and the partial reconstruction unit (PR2) 202 can be partially reconfigured at the same time.

図4および図5においては、部分再構成部が2つの場合を例に説明を行ったが、部分再構成の数を2つに限定しているわけではなく、部分再構成部を2つ以上持つことはもちろん可能であり、2つに限定されるものではない。   4 and 5, the case where there are two partial reconstruction units has been described as an example. However, the number of partial reconstruction units is not limited to two, and two or more partial reconstruction units are used. Of course, it is possible to have it, and it is not limited to two.

なお、コンフィグデータは、構成メモリのカラム単位の書き換えに用いられるデータであることから、書き換え用データとも呼ぶ。また、論理積コンフィグデータは再構成対象である部分再構成部すなわち再構成領域のクリアに用いられることからクリア用データとも呼ぶ。また、論理和コンフィグデータは再構成領域の回路構成データを構成するために用いられることから、単に回路構成データとも呼ぶ。   Note that the configuration data is also used as rewriting data because it is data used for rewriting in units of columns of the configuration memory. The logical product configuration data is also referred to as clearing data because it is used to clear a partial reconfiguration unit, that is, a reconfiguration area, to be reconfigured. The logical sum configuration data is also referred to simply as circuit configuration data because it is used to configure circuit configuration data in the reconstruction area.

図6は、本発明の実施形態に関わる画像処理装置における、RAM111に格納される回路情報の格納イメージを示す図である。RAM111には、ハードディスク116から読み出されたコンフィグデータが一時的にロードされ、再構成に用いられる。   FIG. 6 is a diagram showing a storage image of circuit information stored in the RAM 111 in the image processing apparatus according to the embodiment of the present invention. Configuration data read from the hard disk 116 is temporarily loaded into the RAM 111 and used for reconfiguration.

コンフィグデータ601は部分再構成部(PR1)201に機能Aを有する回路を構成するために必要なコンフィグデータであり、RAM111のアドレス0x0000_0000~0x0000_1FFFまでに格納されている。また、PR1用コンフィグデータ(機能A)601は、図5(a)で説明したPR1用論理積コンフィグデータ501とPR1用論理積コンフィグデータ511とを含み、それぞれ0x0000_0100と0x0000_0200のアドレスから開始される領域に格納されている。   The configuration data 601 is configuration data necessary for configuring the circuit having the function A in the partial reconfiguration unit (PR1) 201, and is stored in the RAM 111 at addresses 0x0000_0000 to 0x0000_1FFF. The PR1 configuration data (function A) 601 includes the PR1 logical product configuration data 501 and the PR1 logical product configuration data 511 described in FIG. 5A, and starts from addresses 0x0000_0100 and 0x0000_0200, respectively. Stored in the area.

コンフィグデータ602〜604は、部分再構成部(PR1)201に機能B〜機能Dを有する回路を構成するために必要なコンフィグデータであり、機能Aと同様に各機能に応じたPR1領域内用論理積コンフィグデータとPR1領域外用論理和コンフィグデータとを含む
また、コンフィグデータ611〜614は、部分再構成部(PR2)202に機能A〜機能Dを有する回路を構成するために必要なコンフィグデータである。本実施の形態に関わる、図5(b)で説明したPR2用論理積コンフィグデータ521とPR2用論理和コンフィグデータ531は、PR2用コンフィグデータ(機能B)612の一部である。
The configuration data 602 to 604 are configuration data necessary for configuring the circuit having the function B to the function D in the partial reconfiguration unit (PR1) 201. Similarly to the function A, the configuration data 602 to 604 are used in the PR1 area. The configuration data 611 to 614 includes configuration data necessary for configuring the circuit having the functions A to D in the partial reconfiguration unit (PR2) 202. It is. The PR2 AND configuration data 521 and the PR2 OR configuration data 531 described in FIG. 5B relating to the present embodiment are a part of the PR2 configuration data (function B) 612.

コンフィグデータ601〜614までは、ハードディスク116に格納されたデータをRAM111にロードしたデータである。これに対してコンフィグデータ612は、コンフィグデータ601とコンフィグデータ612とから、図5(c)の要領で合成された、合成後のデータである。RAM111のアドレス0x1000_000~0x1000_1FFFまでは、部分再構成部(PR1)201と部分再構成部(PR2)202を同時に部分再構成する場合に使用するコンフィグデータ612を格納する領域である。本領域には図5(c)で説明したPR1用コンフィグデータおよびPR2用コンフィグデータから生成されたPR1PR2用コンフィグデータ540が格納される。PR1PR2用コンフィグデータ540は、図5(c)で説明したPR1PR2用論理積コンフィグデータ541とPR1PR2用論理積コンフィグデータ551とを含み、それぞれ0x1000_0100と0x1000_0200のアドレスから開始される領域に格納されている。   The configuration data 601 to 614 are data obtained by loading the data stored in the hard disk 116 into the RAM 111. On the other hand, the configuration data 612 is data after synthesis that is synthesized from the configuration data 601 and the configuration data 612 in the manner shown in FIG. The addresses 0x1000_000 to 0x1000_1FFF of the RAM 111 are areas for storing configuration data 612 used when the partial reconfiguration unit (PR1) 201 and the partial reconfiguration unit (PR2) 202 are partially reconfigured at the same time. This area stores the PR1 configuration data 540 generated from the PR1 configuration data and the PR2 configuration data described in FIG. 5C. The configuration data 540 for PR1PR2 includes the logical product configuration data 541 for PR1PR2 and the logical product configuration data 551 for PR1PR2 described with reference to FIG. .

図6においては、部分再構成部(PR1)201および部分再構成部(PR2)202に構成可能な機能がA、B、C、Dの4つである場合を例にしているが、5つ以上の機能がある場合でも本発明は適用可能である。   FIG. 6 shows an example in which there are four functions A, B, C, and D that can be configured in the partial reconstruction unit (PR1) 201 and the partial reconstruction unit (PR2) 202. The present invention is applicable even when the above functions are provided.

[部分再構成実施時のフローの説明]
図7は、本発明の実施形態に関わる画像処理装置のジョブ実行処理制御を示すフローチャートである。なお、図7のフローチャートの各手順はCPU101およびコンフィグコントローラ130により実行される。
[Explanation of flow during partial reconfiguration]
FIG. 7 is a flowchart showing job execution processing control of the image processing apparatus according to the embodiment of the present invention. 7 is executed by the CPU 101 and the configuration controller 130.

本フローチャートを用いて本発明の実施形態に関わる部分再構成のフローを説明する。まず、ステップS701において、画像処理装置100はジョブの受信待ちとなる。ステップS701において画像処理装置100がジョブを受信した場合、ステップS702に進む。   The flow of partial reconstruction related to the embodiment of the present invention will be described using this flowchart. First, in step S701, the image processing apparatus 100 waits for job reception. If the image processing apparatus 100 receives a job in step S701, the process proceeds to step S702.

ステップS702において、CPU101は受信したジョブを実行するにあたり、FPGA140に回路を構成する必要がある機能およびその領域を特定する。例えば、受信したジョブ処理のために、部分再構成部(PR1)201に機能Aを構成し、部分再構成部(PR2)202に機能Bを構成する必要がある等を特定する。なおこのとき、複数の機能を構成するならば、それら機能を構成する複数の部分再構成部が、可能であれば同一カラムを共有するように、複数の部分再構成部を決定しても良い。   In step S <b> 702, the CPU 101 identifies a function and its area that need to configure a circuit in the FPGA 140 when executing the received job. For example, it is necessary to configure the function A in the partial reconfiguration unit (PR1) 201 and the function B in the partial reconfiguration unit (PR2) 202 for the received job processing. At this time, if a plurality of functions are configured, the plurality of partial reconfiguration units may be determined so that the plurality of partial reconfiguration units configuring the functions share the same column if possible. .

ステップS703において、CPU101はステップS702で特定したFPGA140に構成する機能が、同一カラム上の複数の部分再構成部に対するものかどうかを判別する。ステップS703において、FPGA140に構成する機能が、同一カラム上の複数の部分再構成部に対するものであればステップS704に進み、上記以外のものであればステップS706に進む。   In step S703, the CPU 101 determines whether the function configured in the FPGA 140 identified in step S702 is for a plurality of partial reconfiguration units on the same column. In step S703, if the function configured in the FPGA 140 is for a plurality of partial reconfiguration units on the same column, the process proceeds to step S704. If the function is other than the above, the process proceeds to step S706.

ステップS704において、CPU101は、受信したジョブ処理のための同一カラム上の複数の部分再構成部にすでに構成されている機能が単一ジョブのためのものであるかを判別する。ステップS704において、単一ジョブのためのものであると判別した場合はステップS705に進み、単一ジョブのためのものではないと判別した場合にはステップS706に進む。これは、単一ジョブのための回路でなければ、再構成の対象である複数の再構成領域はそれぞれ別のジョブで使用されていることから、その使用が完了するタイミングも異なるため、再構成も別々に行う方が合理的なためである。ただし、単一ジョブのためのものではないと判別した場合であっても、ステップS705に進んでコンフィグデータの合成を行ってもよい。この場合には複数の再構成領域すべてについて使用が完了するまで待たされることになるが、部分再構成を行うことはできる。すなわちステップS704の判定はオプションである。   In step S704, the CPU 101 determines whether the functions already configured in the plurality of partial reconfiguration units on the same column for received job processing are for a single job. If it is determined in step S704 that the job is for a single job, the process proceeds to step S705. If it is determined that the job is not for a single job, the process proceeds to step S706. If this is not a circuit for a single job, the multiple reconfiguration areas that are the targets of reconfiguration are used by different jobs. This is because it is more reasonable to do this separately. However, even if it is determined that the job is not for a single job, the configuration data may be synthesized by proceeding to step S705. In this case, it is waited until the use of all the plurality of reconstruction areas is completed, but partial reconstruction can be performed. That is, the determination in step S704 is optional.

ステップS705において、CPU101はステップS702で特定したFPGA140に構成する必要のある機能をFPGA140内の同一カラム上の複数の部分再構成部を構成するためのコンフィグデータを作成する。ステップS705におけるコンフィグデータの作成処理の詳細については図8を用いて後述する。   In step S <b> 705, the CPU 101 creates configuration data for configuring a plurality of partial reconfiguration units on the same column in the FPGA 140 with functions that need to be configured in the FPGA 140 identified in step S <b> 702. Details of the configuration data creation processing in step S705 will be described later with reference to FIG.

ステップS706において、CPU101はステップS701で受信したジョブを実行するために必要な部分再構成部において受信したジョブ以外の処理を行っているかを判別し、処理が終了するまで待機する。   In step S706, the CPU 101 determines whether processing other than the received job is performed in the partial reconfiguration unit necessary for executing the job received in step S701, and waits until the processing ends.

ステップS707においては、部分再構成部のクリアを行うために、CPU101はコンフィグコントローラ130に対して、再構成部用論理積コンフィグデータを通知する。再構成部用論理積コンフィグデータとは、RAM111に格納されているコンフィグデータのアドレスやサイズを含む。例えば、部分再構成部(PR1)201に機能Aを構成する場合のPR1用論理積コンフィグデータ501であれば、図6で説明したようにアドレスは0x0000_0100となる。また、部分再構成部(PR1)201への機能Aの構成と、部分再構成部(PR2)202への機能Bの構成を同時行う場合のPR1PR2用論理積コンフィグデータ541であれば、アドレスは0x1000_0100となる。   In step S707, in order to clear the partial reconfiguration unit, the CPU 101 notifies the configuration controller 130 of the reconfiguration unit logical product configuration data. The reconfiguration unit logical configuration data includes the address and size of the configuration data stored in the RAM 111. For example, in the case of PR1 AND configuration data 501 when the function A is configured in the partial reconfiguration unit (PR1) 201, the address is 0x0000 — 0100 as described in FIG. Further, if the configuration of the function A to the partial reconfiguration unit (PR1) 201 and the configuration of the function B to the partial reconfiguration unit (PR2) 202 are performed simultaneously, the address is the logical product configuration data 541 for PR1PR2. 0x1000_0100.

CPU101の指示のもと、コンフィグコントローラ130はRAM111から論理積用コンフィグデータを読み出し、読みだしたデータをFPGA140に送信する。FPGA140に送信されたデータはFPGA内部のコンフィギュレーションメモリにすでに書き込まれているデータと論理積がとられ、そのデータがコンフィギュレーションメモリに書き込まれる。   Under the instruction of the CPU 101, the configuration controller 130 reads the configuration data for logical product from the RAM 111 and transmits the read data to the FPGA 140. The data transmitted to the FPGA 140 is ANDed with the data already written in the configuration memory inside the FPGA, and the data is written in the configuration memory.

ステップS708においては、部分再構成部に回路を構成するために、CPU101はコンフィギュレーションコントローラ130に対して、再構成部用論理和コンフィグデータ情報を通知する。再構成部用論理和コンフィグデータ情報とは、RAM111に格納されているコンフィグデータのアドレスやサイズを含む。例えば、部分再構成部(PR1)201に機能Aを構成する場合のPR1用論理和コンフィグデータ511であれば、図6で説明したようにアドレスは0x000_0200となる。CPU101の指示のもと、コンフィグコントローラ130はRAM111から論理和用コンフィグデータを読み出し、読みだしたデータをFPGA140に送信する。FPGA140に送信されたデータはFPGA内部のコンフィギュレーションメモリにすでに書き込まれているデータと論理和がとられ、そのデータがコンフィギュレーションメモリに書き込まれる。   In step S708, the CPU 101 notifies the configuration controller 130 of the OR configuration data information for the reconfiguration unit in order to configure a circuit in the partial reconfiguration unit. The reconfiguration unit OR configuration data information includes the address and size of configuration data stored in the RAM 111. For example, in the case of PR1 OR configuration data 511 when the function A is configured in the partial reconfiguration unit (PR1) 201, the address is 0x000 — 0200 as described with reference to FIG. Under the instruction of the CPU 101, the configuration controller 130 reads the logical OR configuration data from the RAM 111 and transmits the read data to the FPGA 140. The data transmitted to the FPGA 140 is ORed with the data already written in the configuration memory inside the FPGA, and the data is written in the configuration memory.

ステップS709において、CPU101はステップS702において受信したジョブ実行に必要な機能に対応した部分再構成部への構成が完了したかどうかを判別し、完了していない場合はステップS707に戻り、完了した場合は部分再構成実行の処理を終了する。   In step S709, the CPU 101 determines whether or not the configuration of the partial reconstruction unit corresponding to the function necessary for job execution received in step S702 is completed. If not completed, the process returns to step S707. Terminates the process of partial reconstruction execution.

図8は、同一カラム上の複数の部分再構成部に対するコンフィグデータの生成処理(S705)を示すフローチャートであり、各手順はCPU101により実行される。図8のフローチャートを用いて、本発明の実施形態に関わる画像処理装置において、同一カラム上の部分再構成部(PR1)201への機能Aの構成と部分再構成部(PR2)202への機能Bの構成を同時に行うためのコンフィグデータの生成処理を説明する。   FIG. 8 is a flowchart showing configuration data generation processing (S 705) for a plurality of partial reconfiguration units on the same column, and each procedure is executed by the CPU 101. 8, in the image processing apparatus according to the embodiment of the present invention, the configuration of the function A to the partial reconstruction unit (PR1) 201 and the function to the partial reconstruction unit (PR2) 202 on the same column. A configuration data generation process for simultaneously performing the configuration of B will be described.

ステップS801において、CPU101はRAM111に格納されたPR1用論理積コンフィグデータ501とPR2用論理積コンフィグデータ521を読み出す。   In step S <b> 801, the CPU 101 reads PR1 AND configuration data 501 and PR2 AND configuration data 521 stored in the RAM 111.

ステップS802において、CPU101はステップS801で読みだしたPR1用論理積コンフィグデータ501とPR2用論理積コンフィグデータ521との論理積を取りPR1PR2用論理積コンフィグデータ541を生成する。   In step S802, the CPU 101 generates a PR1PR2 logical product configuration data 541 by taking the logical product of the PR1 logical product configuration data 501 and the PR2 logical product configuration data 521 read in step S801.

ステップS803において、CPU101は、生成したPR1PR2用論理積コンフィグデータ541をRAM111のPR1PR2用論理積コンフィグデータ領域(アドレス0x1000_0100)に書き込む。   In step S803, the CPU 101 writes the generated PR1PR2 AND configuration data 541 in the PR1PR2 AND configuration data area (address 0x1000_0100) of the RAM 111.

ステップS804において、CPU1010はRAM111に格納されたPR1用論理和コンフィグデータ511とPR2用論理和コンフィグデータ531を読み出す。   In step S804, the CPU 1010 reads the PR1 logical sum configuration data 511 and the PR2 logical sum configuration data 531 stored in the RAM 111.

ステップS805において、CPU101はステップS804で読みだしたPR1用論理和コンフィグデータ511とPR2用論理和コンフィグデータ531との論理和を取りPR1PR2用論理和コンフィグデータ551を生成する。   In step S805, the CPU 101 calculates the logical sum of the PR1 logical sum configuration data 511 and the PR2 logical sum configuration data 531 read in step S804, and generates PR1PR2 logical sum configuration data 551.

ステップS806において、生成したPR1PR2用論理和コンフィグデータ551をRAM111のPR1PR2用論理和コンフィグデータ領域(アドレス0x1000_0200)に書き込む。   In step S806, the generated PR1PR2 logical sum configuration data 551 is written in the PR1PR2 logical sum configuration data area (address 0x1000 — 0200) of the RAM 111.

以上の処理によって、部分再構成部(PR1)201と部分再構成部(PR2)202を同時に再構成可能なコンフィグデータが作成される。   Through the above processing, configuration data capable of simultaneously reconfiguring the partial reconfiguration unit (PR1) 201 and the partial reconfiguration unit (PR2) 202 is created.

図7および図8で説明したように、以上の制御を行うことにより、部分再構成が可能な画像処理装置において、同一カラム上の複数の部分再構成部を再構成する場合に、複数の部分再構成部を一度に再構成するためのコンフィグデータを生成してから再構成を実施することで、再構成に掛かる時間を短縮することが可能となる。また、同一カラム上の部分再構成部の再構成を実施する際に必要なコンフィグデータを生成するため、部分再構成部の数と各部分再構成に構成する機能の数の全ての組み合わせを持っておく必要がなく、メモリに格納しておくコンフィグデータの容量削減も可能となる。   As described with reference to FIGS. 7 and 8, in the image processing apparatus capable of partial reconstruction by performing the above control, when reconfiguring a plurality of partial reconstruction units on the same column, a plurality of parts By performing configuration after generating configuration data for reconfiguring the reconfiguration unit at a time, it is possible to reduce the time required for reconfiguration. In addition, in order to generate the configuration data required when reconfiguring the partial reconfiguration unit on the same column, all combinations of the number of partial reconfiguration units and the number of functions configured in each partial reconfiguration are provided. The capacity of the configuration data stored in the memory can be reduced.

[その他の実施例]
なお上記例は、再構成部を0でクリアする場合を例として説明したが、1でクリアする場合にも同様の方法及び構成を適用できる。ただし、0でクリアする場合には、0とクリア対象の領域との論理積操作を行い、回路を残す部分については、1との論理積操作を行っていたのに対して、1でクリアする場合には、1とクリア対象の領域との論理和操作を行い、回路を残す部分については、0との論理和操作を行うこととなる。また新たな回路を構成する部分については、その回路のデータと対象領域との論理積操作を行うことになる。
[Other Examples]
In the above example, the case where the reconstruction unit is cleared by 0 has been described as an example, but the same method and configuration can be applied when the reconstruction unit is cleared by 1. However, when clearing with 0, the logical product operation of 0 and the area to be cleared is performed, and the portion where the circuit is left is cleared with 1, whereas the logical product operation with 1 is performed. In this case, a logical OR operation is performed on 1 and the area to be cleared, and a logical OR operation is performed on 0 for the portion where the circuit remains. Further, with respect to a part constituting a new circuit, a logical product operation between the data of the circuit and the target area is performed.

また、上記実施形態の説明で用いた論理演算は、上記実施形態と同じ結果をもたらす論理操作であれば、どのような操作であってもよい。すなわち、残すべきコンフィグデータを残し、クリアすべきコンフィグデータをクリアし、新たに書き込むべきコンフィグデータを書き込むような論理操作であれば、上記例には限られない。   Further, the logical operation used in the description of the above embodiment may be any operation as long as it is a logical operation that brings about the same result as the above embodiment. That is, the present invention is not limited to the above example as long as it is a logical operation that leaves configuration data to be left, clears configuration data to be cleared, and writes configuration data to be newly written.

なお本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。   In the present invention, a program that realizes one or more functions of the above-described embodiments is supplied to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus read the program. It can also be realized by processing to be executed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

501 PR1用論理積コンフィグデータ、511 PR1用論理和コンフィグデータ、521 PR2用論理積コンフィグデータ、531 PR2用論理和コンフィグデータ、541 PR1PR2用論理積コンフィグデータ、551 PR1PR2用論理和コンフィグデータ 501 PR1 AND configuration data, 511 PR1 OR configuration data, 521 PR2 AND configuration data, 531 PR2 OR configuration data, 541 PR1PR2 AND configuration data, 551 PR1PR2 OR configuration data

Claims (11)

構成メモリに記憶した回路構成データを書き換えることにより、所定の再構成単位で再構成可能な再構成可能回路を有する画像処理装置であって、
再構成対象である再構成領域ごとに、前記再構成領域の中に構成される回路に応じた回路構成データを格納する格納手段と、
前記再構成単位の中に複数の再構成領域が含まれる場合、それぞれの再構成領域の中に構成される回路に応じた前記回路構成データを含む書き換え用データを合成する合成手段と、
前記合成手段による合成後の書き換え用データにより前記構成メモリの回路構成データを前記再構成単位で書き換える書き換え手段と
を有することを特徴とする画像処理装置。
An image processing apparatus having a reconfigurable circuit that can be reconfigured in a predetermined reconfiguration unit by rewriting circuit configuration data stored in a configuration memory,
Storage means for storing circuit configuration data corresponding to a circuit configured in the reconstruction area for each reconstruction area to be reconfigured;
In the case where a plurality of reconstruction areas are included in the reconstruction unit, a synthesis unit that synthesizes rewriting data including the circuit configuration data according to a circuit configured in each reconstruction area;
An image processing apparatus comprising: rewriting means for rewriting circuit configuration data of the configuration memory in the reconfiguration unit by rewriting data after combining by the combining means.
前記書き換え用データには、前記再構成単位に含まれた前記再構成領域を選択的にクリアするためのクリア用データと、前記再構成単位に含まれた前記再構成領域を選択的に書き換える回路構成データとを含み、
前記書き換え手段は、前記クリア用データで前記再構成単位に含まれた前記再構成領域を選択的にクリアし、前記回路構成データで前記再構成単位に含まれた前記再構成領域を選択的に書き換えることを特徴とする請求項1に記載の画像処理装置。
The rewriting data includes clear data for selectively clearing the reconstruction area included in the reconstruction unit, and a circuit for selectively rewriting the reconstruction area included in the reconstruction unit. Configuration data,
The rewriting means selectively clears the reconstruction area included in the reconstruction unit with the clearing data, and selectively selects the reconstruction area included in the reconstruction unit with the circuit configuration data. The image processing apparatus according to claim 1, wherein the image processing apparatus is rewritten.
前記再構成単位は、前記再構成領域と、再構成の対象ではない固定領域とを含み、
前記クリア用データは、前記構成メモリの前記再構成単位に対して所定の論理操作を適用することにより前記再構成領域を選択的にクリアし、かつ前記固定領域を選択的に残すためのデータであり、
前記回路構成データは、前記構成メモリの前記再構成単位に対して所定の論理操作を適用することにより前記再構成領域を選択的に書き換え、前記固定領域を選択的に残すためのデータであることを特徴とする請求項2に記載の画像処理装置。
The reconstruction unit includes the reconstruction area and a fixed area that is not a target of reconstruction,
The clearing data is data for selectively clearing the reconfiguration area by selectively applying a predetermined logical operation to the reconfiguration unit of the configuration memory and selectively leaving the fixed area. Yes,
The circuit configuration data is data for selectively rewriting the reconfiguration area and selectively leaving the fixed area by applying a predetermined logical operation to the reconfiguration unit of the configuration memory. The image processing apparatus according to claim 2.
前記再構成単位は、前記再構成可能回路を所定幅の帯状に分割した領域に対応することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the reconstruction unit corresponds to a region obtained by dividing the reconfigurable circuit into a band having a predetermined width. 前記再構成可能回路はジョブの処理のために使用され、
前記合成手段は、前記再構成単位の中に複数の再構成領域が含まれる場合であっても、当該複数の再構成領域に既に構成されている回路がひとつのジョブにより使用されるものではない場合には、前記回路構成データの合成を行わないことを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
The reconfigurable circuit is used for job processing;
Even if a plurality of reconstruction areas are included in the reconstruction unit, the combining means does not use a circuit already configured in the plurality of reconstruction areas for one job. 5. The image processing apparatus according to claim 1, wherein the circuit configuration data is not synthesized.
前記クリア用データは、前記再構成領域に対応する値が0、かつ前記固定領域に対応する値が1のデータであり、
前記回路構成データは、前記再構成領域に対応する値が、構成する回路に対応する値、かつ前記固定領域に対応する値が0のデータであり、
前記合成手段は、前記複数の再構成領域それぞれの前記クリア用データの論理積に相当する演算により前記クリア用データを合成し、前記複数の再構成領域それぞれの前記回路構成データの論理和に相当する演算により前記回路構成データを合成し、
前記書き換え手段は、前記構成メモリの前記再構成単位の回路構成データを、該再構成単位のデータと前記クリア用データとの論理積に相当する値で書き換えたのち、前記構成メモリの前記再構成単位の回路構成データを、該再構成単位のデータと前記回路構成データとの論理和に相当する値で書き換えることを特徴とする請求項3に記載の画像処理装置。
The clearing data is data having a value corresponding to the reconstruction area of 0 and a value corresponding to the fixed area of 1,
The circuit configuration data is data in which a value corresponding to the reconfiguration area is a value corresponding to a circuit to be configured, and a value corresponding to the fixed area is 0.
The synthesizing unit synthesizes the clearing data by an operation corresponding to a logical product of the clearing data in each of the plurality of reconstruction areas, and corresponds to a logical sum of the circuit configuration data in each of the plurality of reconstruction areas. The circuit configuration data is synthesized by the operation
The rewriting means rewrites the circuit configuration data of the reconfiguration unit of the configuration memory with a value corresponding to a logical product of the data of the reconfiguration unit and the clearing data, and then reconfigures the configuration memory. 4. The image processing apparatus according to claim 3, wherein the unit circuit configuration data is rewritten with a value corresponding to a logical sum of the reconstruction unit data and the circuit configuration data.
前記再構成可能回路は、画像データを処理する画像処理回路の少なくとも一部を含むことを特徴とする請求項1乃至6のいずれか一項に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the reconfigurable circuit includes at least a part of an image processing circuit that processes image data. 前記画像処理装置はさらにプリンタ部を有し、
前記プリンタ部は、前記画像処理回路により処理された画像データを出力することを特徴とする請求項7に記載の画像処理装置。
The image processing apparatus further includes a printer unit,
The image processing apparatus according to claim 7, wherein the printer unit outputs image data processed by the image processing circuit.
前記画像処理装置はさらにスキャナ部と通信部の少なくとのいずれかを有し、
前記画像処理回路により、前記スキャナ部または前記通信部により入力された画像データを処理することを特徴とする請求項7に記載の画像処理装置。
The image processing apparatus further includes at least one of a scanner unit and a communication unit,
The image processing apparatus according to claim 7, wherein the image processing circuit processes image data input by the scanner unit or the communication unit.
請求項1乃至6のいずれか一項に記載の画像処理装置としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as an image processing apparatus as described in any one of Claims 1 thru | or 6. 構成メモリに記憶した回路構成データを書き換えることにより、所定の再構成単位で再構成可能な再構成可能回路を有する画像処理装置の制御方法であって、
前記画像処理装置は再構成対象である再構成領域ごとに、前記再構成領域の中に構成される回路に応じた回路構成データを格納する格納手段を有し、
前記制御方法は、
前記再構成単位の中に複数の再構成領域が含まれる場合、それぞれの再構成領域の中に構成される回路に応じた前記回路構成データを含む書き換え用データを合成する合成工程と、
前記合成工程による合成後の書き換え用データにより前記構成メモリの回路構成データを前記再構成単位で書き換える書き換え工程と
を有することを特徴とする画像処理装置の制御方法。
A method of controlling an image processing apparatus having a reconfigurable circuit that can be reconfigured in a predetermined reconfiguration unit by rewriting circuit configuration data stored in a configuration memory,
The image processing apparatus has storage means for storing circuit configuration data corresponding to a circuit configured in the reconstruction area for each reconstruction area to be reconstructed.
The control method is:
When a plurality of reconstruction areas are included in the reconstruction unit, a synthesizing step of synthesizing rewriting data including the circuit configuration data according to the circuit configured in each reconstruction area;
A control method for an image processing apparatus, comprising: a rewriting step of rewriting circuit configuration data of the configuration memory in the reconfiguration unit by rewriting data after combining in the combining step.
JP2015049968A 2015-03-12 2015-03-12 Image processor, and control method and program thereof Pending JP2016170629A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015049968A JP2016170629A (en) 2015-03-12 2015-03-12 Image processor, and control method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015049968A JP2016170629A (en) 2015-03-12 2015-03-12 Image processor, and control method and program thereof

Publications (1)

Publication Number Publication Date
JP2016170629A true JP2016170629A (en) 2016-09-23

Family

ID=56983850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015049968A Pending JP2016170629A (en) 2015-03-12 2015-03-12 Image processor, and control method and program thereof

Country Status (1)

Country Link
JP (1) JP2016170629A (en)

Similar Documents

Publication Publication Date Title
JP5504985B2 (en) Data processing device
JP4713867B2 (en) Memory controller, memory device, and memory controller control method
JP5783809B2 (en) Information processing apparatus, activation method, and program
JP6598432B2 (en) Image processing apparatus, control method thereof, and program
US10289787B2 (en) Control program and control method for programmable logic device and information processing apparatus including the same
KR102277439B1 (en) Reconfigurable Processor and method for operating the same
JP2016035692A (en) Image processing apparatus, system, information processing method, and program
JP2016103755A (en) Information processing apparatus, image processing apparatus including information processing apparatus, and control method and program of the same
US9509878B2 (en) Image processing apparatus and method for controlling the same, and storage medium
US20230273736A1 (en) Interconnected memory grid with bypassable units
US9760285B2 (en) Image processing system and image processing apparatus for configuring logical circuit on circuit according to configuration data
JP6152694B2 (en) Image data processing apparatus, image processing apparatus, and image data transfer method
JP2016170629A (en) Image processor, and control method and program thereof
JP2006302132A (en) Signal processor, reconfigurable logic circuit device and reconfigurable sequential circuit
JP6111680B2 (en) Signal processing apparatus and programmable logic device configuration method
JP5668404B2 (en) Configuration information management apparatus, method and program thereof, and behavioral synthesis apparatus
JP6516489B2 (en) Information processing device
JP2005182538A (en) Data transfer device
JP6160317B2 (en) Image processing apparatus and program
JP2020131547A (en) Image processing device, image formation apparatus and program
JP6401071B2 (en) Programmable controller
JP6864721B2 (en) Information processing device and its control method
JP2017118450A (en) Data processing apparatus, method of controlling the same, and program
WO2016157362A1 (en) Computation unit, engineering tool, and engineering tool program
JP6349995B2 (en) Data processing device