JP4626349B2 - Hardware configuration device - Google Patents

Hardware configuration device Download PDF

Info

Publication number
JP4626349B2
JP4626349B2 JP2005078564A JP2005078564A JP4626349B2 JP 4626349 B2 JP4626349 B2 JP 4626349B2 JP 2005078564 A JP2005078564 A JP 2005078564A JP 2005078564 A JP2005078564 A JP 2005078564A JP 4626349 B2 JP4626349 B2 JP 4626349B2
Authority
JP
Japan
Prior art keywords
configuration
fpga
network
circuit arrangement
arrangement data
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.)
Active
Application number
JP2005078564A
Other languages
Japanese (ja)
Other versions
JP2006262227A (en
Inventor
悟 榊原
仁 小柳
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2005078564A priority Critical patent/JP4626349B2/en
Publication of JP2006262227A publication Critical patent/JP2006262227A/en
Application granted granted Critical
Publication of JP4626349B2 publication Critical patent/JP4626349B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Microcomputers (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Description

本発明はハードウェアコンフィグレーション装置に関し、特に、プログラマブルなハードウェアのコンフィグレーションを行うハードウェアコンフィグレーション装置に関する。   The present invention relates to a hardware configuration device, and more particularly to a hardware configuration device that performs programmable hardware configuration.

プログラマブルなハードウェアのコンフィグレーションは、専用メモリを使用するか一般的なROMを使用するかしてコンフィグレーションをおこなうのが一般的である。しかしこの場合、FPGAなどのプログラマブルなLSIの容量が大きくなればなるほど、メモリの数を増やしたり、容量の大きいメモリを使用したりしなければならなかった。   In general, programmable hardware is configured by using a dedicated memory or a general ROM. However, in this case, as the capacity of a programmable LSI such as an FPGA increases, the number of memories must be increased or a memory having a larger capacity must be used.

また、このように大容量のメモリが必要になることを解決するための手法もあるが、数回のコンフィグレーションが必要であったり、コンフィグレーションするために他の処理が必要だったりして、結果として装置が複雑になってしまうという新たな問題を生じている。   In addition, there is a method to solve the need for such a large amount of memory, but it may require several configurations or other processing to configure, As a result, there is a new problem that the apparatus becomes complicated.

なお、以下の特許文献1〜特許文献5に、FPGAあるいはコンフィグレーションに関する技術が記載されている。
特開平11-220413号公報(第1頁、図1) 特開2004-274727号公報(第1頁、図1) 特表2004-516691号公報(第1頁、図1) 特開2004-326143号公報(第1頁、図1) 特開2001-306343号公報(第1頁、図1)
The following Patent Documents 1 to 5 describe techniques related to FPGA or configuration.
Japanese Unexamined Patent Publication No. 11-220413 (first page, FIG. 1) JP 2004-274727 A (first page, FIG. 1) JP-T 2004-516691 publication (first page, Fig. 1) Japanese Patent Laid-Open No. 2004-326143 (first page, FIG. 1) JP 2001-306343 A (first page, FIG. 1)

以上の特許文献1記載の技術は、無線通信を用いてコンフィグレーションする際に、時間と共に変化する無線の帯域をより効率的に利用するための技術であり、プログラマブルなハードウェアのコンフィグレーションデータ(回路配置データ)をネットワークを用いて通信し、コンフィグレーションする方法ではない。   The technique described in Patent Document 1 described above is a technique for more efficiently using a wireless band that changes with time when configuring using wireless communication, and is configured with programmable hardware configuration data ( It is not a method of communicating and configuring circuit arrangement data) using a network.

また、以上の特許文献2記載の技術は、ソフトウェアを更新する方法の技術であり、本発明のようなハードウェアのコンフィグレーションもしくはリコンフィグレーションに関しては配慮されていない。   The technique described in Patent Document 2 is a technique for updating software, and does not consider hardware configuration or reconfiguration as in the present invention.

また、以上の特許文献3記載の技術は、ハードウェア情報を更新する方法の技術であるが、本発明のようにネットワークを利用してプログラマブルなハードウェアのコンフィグレーションをするようなものではない。   Moreover, although the technique of the above patent document 3 is a technique of the method of updating hardware information, it is not what makes the configuration of programmable hardware using a network like this invention.

また、以上の特許文献4記載の技術は、プログラマブルなハードウェアを数回コンフィグレーションすることで、装置の初期化をおこなう技術であり、短時間でコンフィグレーションを実行できないという問題を有している。   The technique described in Patent Document 4 described above is a technique for initializing a device by configuring programmable hardware several times, and has a problem that configuration cannot be executed in a short time. .

さらに、以上の特許文献5記載の技術は、プログラマブルなハードウェアの更新情報をネットワークから取得し、取得した更新情報を一度メモリに記憶させ、メモリから読み出してハードウェアのコンフィグレーションを行うものである。このため、大容量のメモリが必要であり、更に、更新情報全体をメモリへ格納する手間と時間がかかるという問題を有している。   Further, the technique described in Patent Document 5 described above acquires programmable hardware update information from a network, stores the acquired update information in a memory once, and reads out the memory to perform hardware configuration. . For this reason, a large-capacity memory is required, and further, there is a problem that it takes time and effort to store the entire update information in the memory.

本発明は上記の従来技術における問題に鑑みてなされたものであって、簡易な構成でかつ余分な処理をすることなく、ハードウェアのコンフィグレーションを実行可能なハードウェアコンフィグレーション装置を提供することを目的とする。   The present invention has been made in view of the above problems in the prior art, and provides a hardware configuration device capable of executing hardware configuration with a simple configuration and without extra processing. With the goal.

すなわち、前記した課題は、以下に列記する各発明によって解決される。
(1)請求項1記載の発明は、プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)と、前記FPGAのコンフィグレーションを行うコンフィグレーション制御回路と、前記FPGAに対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部と、を備え、前記コンフィグレーション制御回路は、前記ネットワーク部を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、前記ネットワーク部で受信しつつ前記FPGAに対して直接コンフィグレーションを実行する、ことを特徴とするハードウェアコンフィグレーション装置である。
That is, the above-described problems are solved by the inventions listed below.
(1) According to the first aspect of the present invention, a field programmable gate array (FPGA) that is programmable hardware, a configuration control circuit that configures the FPGA, and a configuration that is performed on the FPGA A network unit that receives the circuit arrangement data from an external device via a network, and the configuration control circuit stores the circuit arrangement data received via the network unit in a storage unit for the circuit arrangement data The hardware configuration apparatus is characterized in that the configuration is directly executed on the FPGA while being received by the network unit.

(2)請求項2プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)と、前記FPGAのコンフィグレーションを行うコンフィグレーション制御回路と、前記FPGAに対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部と、記憶手段と、を備え、前記コンフィグレーション制御回路は、前記ネットワーク部を介して前記回路配置データを受信しつつ前記FPGAに対して直接コンフィグレーションを実行する作業と並行して、前記回路配置データを前記記憶手段に記憶させる、ことを特徴とするハードウェアコンフィグレーション装置である。   (2) Claim 2 Field programmable gate array (FPGA) which is programmable hardware, a configuration control circuit for configuring the FPGA, and circuit arrangement data for executing configuration for the FPGA A network unit configured to receive from an external device via a network; and a storage unit, wherein the configuration control circuit directly performs configuration on the FPGA while receiving the circuit arrangement data via the network unit. In parallel with the work to be performed, the circuit configuration data is stored in the storage means.

(3)請求項記載の発明は、(1)または(2)のハードウェアコンフィグレーション装置において、前記コンフィグレーション制御回路は、前記ネットワーク部で前記回路配置データを受信しつつ前記FPGAに対して直接コンフィグレーションを実行する際に、受信と並行して受信タイムアウトチェックを行う、ことを特徴とする。   (3) The invention described in claim 1 is the hardware configuration device according to (1) or (2), in which the configuration control circuit directly receives the circuit arrangement data from the network unit and performs direct access to the FPGA When configuration is executed, a reception timeout check is performed in parallel with reception.

(4)請求項記載の発明は、(1)または(2)のハードウェアコンフィグレーション装置において、前記コンフィグレーション制御回路は、前記ネットワーク部で前記回路配置データを受信しつつ前記FPGAに対して直接コンフィグレーションを実行する際に、受信と並行して受信タイムアウトチェックを行い、タイムアウトが検出された場合には前記回路配置データの受信を要求する、ことを特徴とする。   (4) In the hardware configuration device according to (1) or (2), the configuration control circuit directly receives the circuit arrangement data from the network unit and transmits it directly to the FPGA. When executing the configuration, a reception timeout check is performed in parallel with the reception, and when the timeout is detected, the reception of the circuit arrangement data is requested.

(5)請求項記載の発明は、(1)〜(4)のハードウェアコンフィグレーション装置において、前記コンフィグレーション制御回路は、プログラマブルロジックデバイス(PLD)で構成されている、ことを特徴とする。   (5) The invention described in claim is the hardware configuration device according to any one of (1) to (4), wherein the configuration control circuit is configured by a programmable logic device (PLD).

以上、説明したように、各請求項に記載された本発明によれば、以下のような効果が得られる。
(1)請求項1記載の発明では、プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)のコンフィグレーションを実行する際に、コンフィグレーション制御回路は、ネットワーク部を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部で受信しつつFPGAに対して直接コンフィグレーションを実行する。
As described above, according to the present invention described in each claim, the following effects can be obtained.
(1) In the first aspect of the invention, when the configuration of the field programmable gate array (FPGA) which is programmable hardware is executed, the configuration control circuit receives the circuit arrangement data received via the network unit. Without being stored in the storage means for circuit arrangement data, the configuration is directly executed on the FPGA while receiving it at the network unit.

このハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、大容量のメモリが必要なく、また、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現できる。   In this hardware configuration device, configuration is directly executed using circuit arrangement data acquired from the network, so there is no need for a large capacity memory and no extra process, and there is a simple mechanism and procedure. It can be realized in a short time.

(2)請求項2記載の発明では、プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)のコンフィグレーションを実行する際に、コンフィグレーション制御回路は、ネットワーク部を介して回路配置データを受信しつつFPGAに対して直接コンフィグレーションを実行し、このコンフィグレーションの実行と並行して記憶手段に回路配置データを記憶させる。   (2) In the invention described in claim 2, when the configuration of the field programmable gate array (FPGA) which is programmable hardware is executed, the configuration control circuit receives the circuit arrangement data via the network unit. The configuration is directly executed for the FPGA while the circuit arrangement data is stored in the storage means in parallel with the execution of the configuration.

このハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現できる。また、コンフィグレーションの実行と並行して回路配置データを記憶させておくことで、コンフィグレーションを再実行する必要が生じた場合でも再びダウンロードする手間が省ける。   In this hardware configuration device, since configuration is directly executed using circuit arrangement data acquired from a network, no extra process is required, and a simple mechanism and procedure can be realized in a short time. Further, by storing the circuit arrangement data in parallel with the execution of the configuration, it is possible to save the trouble of downloading again even when the configuration needs to be re-executed.

(3)請求項記載の発明では、(1)または(2)のハードウェアコンフィグレーション装置において、ネットワーク部を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部で受信しつつFPGAに対して直接コンフィグレーションを実行する際に、コンフィグレーション制御回路は、受信と並行して受信タイムアウトチェックを行う。   (3) In the invention described in claim, in the hardware configuration device according to (1) or (2), without storing the circuit arrangement data received via the network unit in the storage means for the circuit arrangement data, When performing configuration directly on the FPGA while receiving at the network unit, the configuration control circuit performs a reception timeout check in parallel with reception.

このハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、大容量のメモリが必要なく、また、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現でき、受信タイムアウトチェックによって確実なコンフィグレーションを実行できる。   In this hardware configuration device, configuration is directly executed using circuit arrangement data acquired from the network, so there is no need for a large capacity memory and no extra process, and there is a simple mechanism and procedure. This can be realized in a short time, and reliable configuration can be executed by checking the reception timeout.

(4)請求項記載の発明では、(1)または(2)のハードウェアコンフィグレーション装置において、ネットワーク部を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部で受信しつつFPGAに対して直接コンフィグレーションを実行する際に、コンフィグレーション制御回路は、受信と並行して受信タイムアウトチェックを行い、タイムアウトが検出された場合には回路配置データの受信を要求する。   (4) In the invention described in the claims, in the hardware configuration device of (1) or (2), the circuit arrangement data received via the network unit is not stored in the storage means for the circuit arrangement data. When directly configuring the FPGA while receiving at the network unit, the configuration control circuit performs a reception timeout check in parallel with the reception, and if a timeout is detected, receives the circuit arrangement data. Request.

このハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、大容量のメモリが必要なく、また、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現でき、タイムアウト検出時には回路配置データの受信要求を出すため、確実なコンフィグレーションを実行できる。   In this hardware configuration device, configuration is directly executed using circuit arrangement data acquired from the network, so there is no need for a large capacity memory and no extra process, and there is a simple mechanism and procedure. It can be realized in a short time, and a circuit configuration data reception request is issued when a timeout is detected, so that reliable configuration can be executed.

(5)請求項記載の発明では、(1)〜(4)のハードウェアコンフィグレーション装置において、コンフィグレーション制御回路は、プログラマブルロジックデバイス(PLD)で構成されている。   (5) In the invention described in the claims, in the hardware configuration device of (1) to (4), the configuration control circuit is configured by a programmable logic device (PLD).

このハードウェアコンフィグレーション装置では、以上の(1)〜(4)において、コンフィグレーション制御回路をPLDとしているために、PLD内の論理回路を変更することで様々な通信形態やプロトコルに対応することが可能になる。   In this hardware configuration device, since the configuration control circuit is a PLD in the above (1) to (4), it is possible to cope with various communication forms and protocols by changing the logic circuit in the PLD. Is possible.

以下、図面を参照して本発明の実施をするための最良の形態を詳細に説明する。
本発明の実施をするための最良の形態のハードウェアコンフィグレーション装置の好適な実施形態について説明する。なお、これにより本発明の範囲が限定されるものではない。
The best mode for carrying out the present invention will be described below in detail with reference to the drawings.
A preferred embodiment of the hardware configuration apparatus of the best mode for carrying out the present invention will be described. This does not limit the scope of the present invention.

なお、本願発明のコンフィグレーション装置では、以下のような目標を有する。
・シンプルな構成で実現する。
・ネットワークからハードウェアのコンフィグレーションデータ(回路配置データ)を受信し、コンフィグレーションできるようにする。
・必要最低限のコンフィグレーションでハードウェアの初期化を実現する。
・コンフィグレーションを行うまでの処理を簡素化(短時間、シンプル)する。
・リコンフィグレーションも可能にする。
・通信プロトコルが変わっても容易に対応できるようにする。
The configuration device according to the present invention has the following goals.
・ Simple configuration.
・ Receive hardware configuration data (circuit layout data) from the network to enable configuration.
-Realize hardware initialization with the minimum necessary configuration.
-Simplify the process up to configuration (short time, simple).
-Reconfiguration is also possible.
-Make it easy to cope with changes in communication protocol.

〈第1実施形態〉
全体構成:
図1に示されるハードウェアコンフィグレーション装置は、プログラマブルなハードウェアであるFPGA300のコンフィグレーションを実行するハードウェアコンフィグレーション装置である。なお、この図1では、電源部や各種バスなどの既知の回路構成については省略した状態で示している。
<First Embodiment>
overall structure:
The hardware configuration device shown in FIG. 1 is a hardware configuration device that executes configuration of an FPGA 300 that is programmable hardware. In FIG. 1, known circuit configurations such as a power supply unit and various buses are omitted.

そして、このハードウェアコンフィグレーション装置は、最低限の構成として、大きく分けて、FPGAに対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部100と、回路配置データを用いてFPGAのコンフィグレーションを行うコンフィグレーション制御回路200と、プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)300と、を有している。そして、FPGA300には各種のデバイスが接続されている。   The hardware configuration device is roughly divided into a minimum configuration, and a network unit 100 that receives circuit arrangement data for executing configuration for an FPGA from an external device via a network, and a circuit arrangement It has a configuration control circuit 200 that configures an FPGA using data, and a field programmable gate array (FPGA) 300 that is programmable hardware. Various devices are connected to the FPGA 300.

ここで、コンフィグレーション制御回路200は、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。   Here, the configuration control circuit 200 directly configures the FPGA 300 while receiving the network arrangement data without receiving the circuit arrangement data received via the network section 100 in the storage means for the circuit arrangement data. It is characterized by performing.

ここで、図1に示されるように、ネットワーク部100は、コンフィグレーション制御回路200との間でデータ授受を行うインタフェース110と、ネットワークのフレーム構造やアクセス手法が規定されたデータ・リンク層の一部分に相当するMAC(Media Access Control layer)部120、ネットワークの物理的な接続・伝送方法が定められたPHY(Physical layer)部130、無線通信によりネットワークにアクセスするためのRF(Radio Frequency)部140とを備えて構成されている。   Here, as shown in FIG. 1, the network unit 100 includes an interface 110 for exchanging data with the configuration control circuit 200, and a part of the data link layer in which the network frame structure and access method are defined. A MAC (Media Access Control layer) unit 120, a PHY (Physical layer) unit 130 in which a physical connection / transmission method of the network is defined, and an RF (Radio Frequency) unit 140 for accessing the network by wireless communication. And is configured.

また、コンフィグレーション制御回路200は、装置全体の制御を行う全体制御部210と、ハードウェアコンフィグレーションについての各種制御や各種処理を実行するコンフィグレーション制御部220と、ネットワーク部100との間でデータ授受を行うインタフェース230と、FPGA300との間でデータ授受を行うインタフェース240と、を備えて構成されている。   In addition, the configuration control circuit 200 is configured to transmit data between the overall control unit 210 that controls the entire apparatus, the configuration control unit 220 that executes various controls and various processes for hardware configuration, and the network unit 100. An interface 230 for performing transmission and reception and an interface 240 for performing data transmission and reception with the FPGA 300 are provided.

そして、FPGA300は、回路配置データによって論理ブロックの組み合わせや配線領域の接続がなされるプログラマブルなハードウェアとしての処理部310、コンフィグレーション制御回路200との間でデータ授受を行うインタフェース320と、各種デバイスとの間でデータ授受を行うインタフェース330と、を備えて構成されている。   The FPGA 300 includes a processing unit 310 as programmable hardware in which combinations of logic blocks and wiring areas are connected by circuit arrangement data, an interface 320 that exchanges data with the configuration control circuit 200, and various devices. And an interface 330 for exchanging data with each other.

なお、この第1実施形態は、FPGA300を、ネットワークを利用してコンフィグレーションさせる場合の実施形態である。
また、ここで、ネットワーク部100がネットワーク接続を行う場合、有線による接続、無線による接続のどちらであってもよい。
The first embodiment is an embodiment in which the FPGA 300 is configured using a network.
Here, when the network unit 100 performs network connection, either wired connection or wireless connection may be used.

ネットワーク部100は有線プロトコル、無線及び通信プロトコルによって構成が異なる場合があるが、無線の場合には最低限RF部140を有していればよく、また、有線の場合にはPHY部130のみ搭載、PHY部130とMAC部120とを搭載など、どのような回路構成でも適用できる。   The network unit 100 may have a different configuration depending on a wired protocol, a wireless protocol, and a communication protocol. However, in the case of a wireless network, the network unit 100 may have at least the RF unit 140. Any circuit configuration such as mounting the PHY unit 130 and the MAC unit 120 can be applied.

また、コンフィグレーション制御回路200は通信プロトコルとネットワーク部100の回路構成によって、搭載する回路構成を変えることでさまざまな通信に適用できる。例えば、ネットワーク部100がRF部140とPHY部130のみの場合に、通信プロトコルとしてはMAC部120も必要な場合には、コンフィグレーション制御回路200で通信プロトコルに必要なMAC部を組み込むようにする。   The configuration control circuit 200 can be applied to various communications by changing the circuit configuration to be mounted according to the communication protocol and the circuit configuration of the network unit 100. For example, when the network unit 100 is only the RF unit 140 and the PHY unit 130 and the MAC unit 120 is also required as the communication protocol, the configuration control circuit 200 incorporates the MAC unit necessary for the communication protocol. .

なお、コンフィグレーション制御回路200はPLDで実現するのが好ましいが、ASICで実現してもよい。なお、コンフィグレーション制御回路にこれ以外の別の回路を組み込んでもよい。   The configuration control circuit 200 is preferably realized by PLD, but may be realized by ASIC. Note that another circuit other than this may be incorporated in the configuration control circuit.

FPGAのコンフィグレーションには大きく分けて二通りあり、一つは外部(ネットワーク)からのリクエスト信号によりコンフィグレーションを開始する場合と、装置から外部へリクエスト信号を発信しコンフィグレーションデータ(回路配置データ)を送信してもらい、コンフィグレーションを開始する場合とがある。   There are two main types of FPGA configuration. One is when the configuration is started by a request signal from the outside (network), and the other is the configuration data (circuit layout data) that is sent from the device to the outside. May be sent to start configuration.

〈第1実施形態における第1の動作〉
以下、ハードウェアコンフィグレーション装置の外部からのリクエストでコンフィグレーションを実行する場合の動作(シーケンス#1)について、図2のフローチャートを参照して説明を行う。
<First Operation in First Embodiment>
Hereinafter, an operation (sequence # 1) when configuration is executed by a request from the outside of the hardware configuration device will be described with reference to a flowchart of FIG.

まず、有線あるいは無線のネットワークを介して外部よりコンフィグレーションリクエスト(コンフィグレーション実行コマンド)をネットワーク部100が受信する(図2S1)と、そのコンフィグレーションリクエストが正しいリクエストであるかの認証をコンフィグレーション制御回路200の全体制御部210あるいはコンフィグレーション制御部220が行う(図2S2)。   First, when the network unit 100 receives a configuration request (configuration execution command) from the outside via a wired or wireless network (S1 in FIG. 2), configuration control is performed to determine whether the configuration request is a correct request. This is performed by the overall control unit 210 or the configuration control unit 220 of the circuit 200 (S2 in FIG. 2).

そのコンフィグレーションリクエストが正しいと認証された場合(図2S2でY)、コンフィグレーション制御回路200(コンフィグレーション制御部220)がFPGA300を初期化しコンフィグレーションの準備を行う(図2S3)。   If it is authenticated that the configuration request is correct (Y in FIG. 2), the configuration control circuit 200 (configuration control unit 220) initializes the FPGA 300 and prepares for configuration (S3 in FIG. 2).

初期化して準備が整ったら、コンフィグレーション制御部220は、ネットワーク部100を介して、コンフィグレーションリクエストを送ってきた外部装置に対して、コンフィグレーションデータリクエスト(回路配置データ要求)を送信する(図2S4)。   After initialization and preparation, the configuration control unit 220 transmits a configuration data request (circuit arrangement data request) to the external device that has sent the configuration request via the network unit 100 (see FIG. 2S4).

コンフィグレーション制御部220は、この送信リクエストの時点からタイマを起動させ(図2S5)、コンフィグレーション完了までに想定される所定時間内にコンフィグレーションが完了せず(図2S5でY)、かつ、コンフィグレーション実行中のエラーが規定回数以上であれば(図2S13でY)、コンフィグレーションの作業を異常終了として終了させる。   The configuration control unit 220 starts a timer from the time of this transmission request (FIG. 2 S5), the configuration is not completed within a predetermined time expected until the completion of the configuration (Y in FIG. 2 S), and the configuration If the number of errors during configuration execution is equal to or greater than the specified number of times (Y in FIG. 2), the configuration work is terminated as an abnormal end.

また、コンフィグレーション制御部220は、この送信リクエストの時点からタイマを起動させ(図2S5)、コンフィグレーション完了までに想定される所定時間内にコンフィグレーションが完了せず(図2S5でY)、かつ、コンフィグレーション実行中のエラーが規定回数未満であれば(図2S13でN)、通信障害であると判断して、コンフィグレーションの作業を初期化(図2S3)からやり直す。   Further, the configuration control unit 220 starts a timer from the time of this transmission request (S5 in FIG. 2), the configuration is not completed within a predetermined time expected until the configuration is completed (Y in S2 in FIG. 2), and If the error during configuration execution is less than the specified number of times (N in FIG. 2 S13), it is determined that there is a communication failure, and the configuration work is repeated from initialization (S3 in FIG. 2).

また、コンフィグレーション制御部220は、回路配置データの受信単位(パケットあるいは所定単位のデータ)毎に想定される受信時間内に回路配置データの受信がタイムアウトした場合(図2S6でY)、ネットワーク部100を介して、コンフィグレーションリクエストを送ってきた外部装置に対して、受信タイムアウトとなったデータ部分からのコンフィグレーションデータリクエスト(回路配置データ要求)を送信する(図2S7)。   In addition, when the circuit arrangement data reception times out within the reception time assumed for each circuit arrangement data reception unit (packet or data of a predetermined unit) (Y in FIG. 2 S6), the configuration control unit 220 is connected to the network unit. A configuration data request (circuit arrangement data request) is transmitted from the data part for which the reception time-out has occurred to the external device that has sent the configuration request via 100 (S7 in FIG. 2).

そして、ネットワーク部100を介して回路配置データが受信されると、コンフィグレーション制御部220は、その回路配置データについて所定のエラー訂正とエラーチェックとを行う(図2S8)。   When circuit arrangement data is received via the network unit 100, the configuration control unit 220 performs predetermined error correction and error check on the circuit arrangement data (S8 in FIG. 2).

ここで、受信した回路配置データに訂正できないエラーが生じていれば(図2S9でY)、コンフィグレーション制御部220は、ネットワーク部100を介して、コンフィグレーションリクエストを送ってきた外部装置に対して、エラーが生じたデータ部分からのコンフィグレーションデータリクエスト(回路配置データ要求)を送信する(図2S7)。   Here, if an error that cannot be corrected has occurred in the received circuit arrangement data (Y in FIG. 2 S9), the configuration control unit 220 transmits to the external device that has sent the configuration request via the network unit 100. Then, a configuration data request (circuit arrangement data request) is transmitted from the data portion where the error has occurred (S7 in FIG. 2).

ここで、受信した回路配置データに訂正できないエラーが生じていなければ(図2S9でN)、コンフィグレーション制御部220は、その回路配置データを順次FPGA300へ送信し、コンフィグレーションを実行する(図2S10)。   If there is no uncorrectable error in the received circuit arrangement data (N in FIG. 2 S9), the configuration control unit 220 sequentially transmits the circuit arrangement data to the FPGA 300 and executes the configuration (S10 in FIG. 2). ).

なお、この実施形態では、コンフィグレーション制御回路200は、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。   In this embodiment, the configuration control circuit 200 does not store the circuit arrangement data received via the network unit 100 in the storage unit for the circuit arrangement data, and the FPGA 300 It is characterized by executing configuration directly.

そして、コンフィグレーション制御部220は、以上のタイムアウト検出(図2S5、S6)、データ受信・エラーチェック(図2S8)、コンフィグレーション実行(図2S10)、必要に応じたコンフィグレーションデータリクエスト(図2S7)を、一連の回路配置データの全データ領域を完了するまで続行する(図2S11)。   Then, the configuration control unit 220 detects the above timeout (FIG. 2 S5, S6), data reception / error check (FIG. 2 S8), configuration execution (FIG. 2 S10), configuration data request as required (FIG. 2 S7). Is continued until the entire data area of the series of circuit arrangement data is completed (S11 in FIG. 2).

一連の回路配置データの全データ領域を受信し終わった時点で(図2S11でY)、コンフィグレーション制御部220は、コンフィグレーションが正常終了したかについてFPGA300からの状態信号などにより検出する(図2S12)。ここで、コンフィグレーションが正常終了しておらず(図2S12でN)、かつ、コンフィグレーション実行中のエラーが規定回数以上であれば(図2S13でY)、コンフィグレーション制御部220は、コンフィグレーションの作業を異常終了として終了させる。   When the entire data area of the series of circuit arrangement data has been received (Y in FIG. 2), the configuration control unit 220 detects whether the configuration has been completed normally by a status signal from the FPGA 300 (S12 in FIG. 2). ). Here, if the configuration is not normally completed (N in FIG. 2 S12), and the error during the configuration execution is equal to or greater than the specified number of times (Y in FIG. 2 S13), the configuration control unit 220 sets the configuration. The process is terminated as an abnormal end.

また、一連の回路配置データの全データ領域を受信し終わった時点で(図2S11でY)、コンフィグレーションが正常終了しておらず(図2S12でN)、かつ、コンフィグレーション実行中のエラーが規定回数未満であれば(図2S13でN)、コンフィグレーション制御部220は、通信障害であると判断して、コンフィグレーションの作業を初期化(図2S3)からやり直す。   In addition, when the entire data area of the series of circuit arrangement data has been received (Y in FIG. 2), the configuration has not ended normally (N in FIG. 2 S12), and an error occurred during the execution of the configuration. If it is less than the prescribed number of times (N in FIG. 2 S13), the configuration control unit 220 determines that there is a communication failure, and restarts the configuration work from initialization (FIG. 2 S3).

そして、一連の回路配置データの全データ領域を受信し終わった時点で(図2S11でY)、FPGA300からの状態信号などによってコンフィグレーションが正常終了していることが確認できれば(図2S12でY)、コンフィグレーション制御部220は、ネットワーク部100を介して、コンフィグレーションリクエストを送ってきた外部装置に対して、コンフィグレーション完了通知を送信する(図2S14)。   When the entire data area of the series of circuit arrangement data has been received (Y in FIG. 2), if it is confirmed by the status signal from the FPGA 300 that the configuration has been completed normally (Y in FIG. 2 S12). The configuration control unit 220 transmits a configuration completion notification to the external device that has sent the configuration request via the network unit 100 (S14 in FIG. 2).

また、この際、ある一定の回数繰り返してもコンフィグレーションが正しく終了しなかった場合(図2S13)には、コンフィグレーション制御部220は、ネットワークに通信障害があると判断し、コンフィグレーションを終了させるが、このように終了した場合には、外部から再度コンフィグレーションリクエストがあるまで待機状態にさせてもよいし、ある一定期間待機させた後、コンフィグレーションリクエストを送信させてもよい。   At this time, if the configuration does not end correctly even after being repeated a certain number of times (S13 in FIG. 2), the configuration control unit 220 determines that there is a communication failure in the network and ends the configuration. However, when the process is completed in this way, the apparatus may be in a standby state until there is a configuration request from the outside again, or may be transmitted after waiting for a certain period of time.

以上説明したように、この実施形態のハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、大容量のメモリが必要なく、また、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現できる。   As described above, in the hardware configuration device of this embodiment, since configuration is directly performed using circuit arrangement data acquired from the network, a large-capacity memory is not required and an extra process is also required. It can be realized in a short time with a simple mechanism and procedure.

また、ネットワーク部を回路100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行する際に、コンフィグレーション制御回路は、受信と並行して受信タイムアウトチェックを行う。このため、確実なコンフィグレーションを実行できる。   Further, when performing configuration directly on the FPGA 300 while receiving the network unit 100 without storing the circuit configuration data received via the circuit 100 in the storage unit for the circuit configuration data, The configuration control circuit performs a reception timeout check in parallel with reception. Therefore, reliable configuration can be executed.

また、コンフィグレーション制御回路220は、受信と並行して受信タイムアウトチェックを行い、タイムアウトが検出された場合には回路配置データの受信を要求する。すなわち、タイムアウト検出時には回路配置データの受信要求を出すため、確実なコンフィグレーションを実行できる。   In addition, the configuration control circuit 220 performs a reception timeout check in parallel with reception, and requests reception of circuit arrangement data when a timeout is detected. That is, when a timeout is detected, a circuit arrangement data reception request is issued, so that reliable configuration can be executed.

なお、この実施形態のハードウェアコンフィグレーション装置において、コンフィグレーション制御回路200は、プログラマブルロジックデバイス(PLD)で構成することができる。このようにすることで、PLD内の論理回路を変更することで様々な通信形態やプロトコルに対応することが可能になる。   In the hardware configuration device of this embodiment, the configuration control circuit 200 can be configured by a programmable logic device (PLD). By doing so, it becomes possible to cope with various communication forms and protocols by changing the logic circuit in the PLD.

〈第1実施形態における第2の動作〉
以下、ハードウェアコンフィグレーション装置の内部からのリクエストでコンフィグレーションを実行する場合の動作(シーケンス#2)について、図3のフローチャートを参照して説明を行う。
<Second Operation in First Embodiment>
Hereinafter, an operation (sequence # 2) in the case where configuration is executed by a request from the inside of the hardware configuration device will be described with reference to the flowchart of FIG.

まず、コンフィグレーション制御部220は、ネットワーク部100によって有線あるいは無線のネットワークを介して、コンフィグレーションデータ(回路配置データ)を保有する外部装置に対して、コンフィグレーションリクエストを送信する(図3S1)。   First, the configuration control unit 220 transmits a configuration request to an external device having configuration data (circuit arrangement data) via the wired or wireless network by the network unit 100 (S1 in FIG. 3).

以上のコンフィグレーションリクエストに対する応答をネットワーク部100によって受信する(図3S2)と、その応答が正しいものであるかの認証をコンフィグレーション制御回路200の全体制御部210あるいはコンフィグレーション制御部220が行う(図3S5)。   When the network unit 100 receives a response to the above configuration request (S2 in FIG. 3), the overall control unit 210 or the configuration control unit 220 of the configuration control circuit 200 authenticates whether the response is correct (S2). FIG. 3S5).

なお、コンフィグレーション制御部220は、想定される応答時間に応じて応答を待ち(図3S3でN)、応答がなくタイムアウトした場合には(図3S3でY)、規定回数に達するまでコンフィグレーションリクエストを送信し(図3S4でN、S1)、規定回数に達しても応答がなければ異常終了する(図3S4でY)。   The configuration control unit 220 waits for a response according to the assumed response time (N in FIG. 3 S3), and when there is no response and times out (Y in FIG. 3 S), the configuration request is received until the specified number of times is reached. Is transmitted (N, S1 in FIG. 3 S4), and if there is no response even if the specified number of times is reached, the process ends abnormally (Y in FIG. 3 S4).

外部装置から受信した応答が正しいと認証された場合(図3S5でY)、コンフィグレーション制御回路200(コンフィグレーション制御部220)がFPGA300を初期化しコンフィグレーションの準備を行う(図3S6)。   When it is authenticated that the response received from the external device is correct (Y in FIG. 3 S), the configuration control circuit 200 (configuration control unit 220) initializes the FPGA 300 and prepares for the configuration (S6 in FIG. 3).

初期化して準備が整ったら、コンフィグレーション制御部220は、ネットワーク部100を介して、応答してきた外部装置に対して、コンフィグレーションデータリクエスト(回路配置データ要求)を送信する(図3S7)。   After initialization and preparation, the configuration control unit 220 transmits a configuration data request (circuit arrangement data request) to the responding external device via the network unit 100 (S7 in FIG. 3).

コンフィグレーション制御部220は、この送信リクエストの時点からタイマを起動させ(図3S8)、コンフィグレーション完了までに想定される所定時間内にコンフィグレーションが完了せず(図3S8でY)、かつ、コンフィグレーション実行中のエラーが規定回数以上であれば(図3S16でY)、コンフィグレーションの作業を異常終了として終了させる。   The configuration control unit 220 starts a timer from the time of this transmission request (S8 in FIG. 3), the configuration is not completed within a predetermined time expected until the completion of the configuration (Y in FIG. 3S), and the configuration If the error during configuration execution is equal to or greater than the specified number of times (Y in FIG. 3 S16), the configuration work is terminated as an abnormal end.

また、コンフィグレーション制御部220は、この送信リクエストの時点からタイマを起動させ(図3S8)、コンフィグレーション完了までに想定される所定時間内にコンフィグレーションが完了せず(図3S8でY)、かつ、コンフィグレーション実行中のエラーが規定回数未満であれば(図3S16でN)、通信障害であると判断して、コンフィグレーションの作業を初期化(図3S6)からやり直す。   Further, the configuration control unit 220 starts a timer from the time of this transmission request (S8 in FIG. 3), the configuration is not completed within a predetermined time expected until the configuration is completed (Y in FIG. 3S), and If the error during configuration execution is less than the specified number of times (N in FIG. 3 S16), it is determined that there is a communication failure, and the configuration work is repeated from initialization (S6 in FIG. 3).

また、コンフィグレーション制御部220は、回路配置データの受信単位(パケットあるいは所定単位のデータ)毎に想定される受信時間内に回路配置データの受信がタイムアウトした場合(図3S9でY)、ネットワーク部100を介して、応答してきた外部装置に対して、受信タイムアウトとなったデータ部分からのコンフィグレーションデータリクエスト(回路配置データ要求)を送信する(図3S10)。   When the circuit arrangement data reception times out within the reception time assumed for each circuit arrangement data reception unit (packet or data of a predetermined unit) (Y in FIG. 3 S9), the configuration control unit 220 is connected to the network unit. A configuration data request (circuit arrangement data request) is transmitted from the data part whose reception timed out to the external device that has responded via 100 (S10 in FIG. 3).

そして、ネットワーク部100を介して回路配置データが受信されると、コンフィグレーション制御部220は、その回路配置データについて所定のエラー訂正とエラーチェックとを行う(図3S11)。   When the circuit arrangement data is received via the network unit 100, the configuration control unit 220 performs predetermined error correction and error check on the circuit arrangement data (S11 in FIG. 3).

ここで、受信した回路配置データに訂正できないエラーが生じていれば(図3S12でY)、コンフィグレーション制御部220は、ネットワーク部100を介して、応答してきた外部装置に対して、エラーが生じたデータ部分からのコンフィグレーションデータリクエスト(回路配置データ要求)を送信する(図3S10)。   Here, if an error that cannot be corrected has occurred in the received circuit arrangement data (Y in FIG. 3 S12), the configuration control unit 220 generates an error for the external device that has responded via the network unit 100. A configuration data request (circuit arrangement data request) is transmitted from the data portion (S10 in FIG. 3).

ここで、受信した回路配置データに訂正できないエラーが生じていなければ(図3S12でN)、コンフィグレーション制御部220は、その回路配置データを順次FPGA300へ送信し、コンフィグレーションを実行する(図3S13)。   If there is no uncorrectable error in the received circuit arrangement data (N in FIG. 3 S12), the configuration control unit 220 sequentially transmits the circuit arrangement data to the FPGA 300 and executes the configuration (S13 in FIG. 3). ).

なお、この実施形態では、コンフィグレーション制御回路200は、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。   In this embodiment, the configuration control circuit 200 does not store the circuit arrangement data received via the network unit 100 in the storage unit for the circuit arrangement data, and the FPGA 300 It is characterized by executing configuration directly.

そして、コンフィグレーション制御部220は、以上のタイムアウト検出(図3S8、S9)、データ受信・エラーチェック(図3S11)、コンフィグレーション実行(図3S13)、必要に応じたコンフィグレーションデータリクエスト(図3S10)を、一連の回路配置データの全データ領域を完了するまで続行する(図3S14)。   Then, the configuration control unit 220 detects the above timeout (FIGS. 3S8 and S9), data reception / error check (FIG. 3S11), configuration execution (FIG. 3S13), and configuration data request as needed (FIG. 3S10). Is continued until the entire data area of the series of circuit arrangement data is completed (S14 in FIG. 3).

一連の回路配置データの全データ領域を受信し終わった時点で(図3S14でY)、コンフィグレーション制御部220は、コンフィグレーションが正常終了したかについてFPGA300からの状態信号などにより検出する(図3S15)。   When the entire data area of the series of circuit arrangement data has been received (Y in FIG. 3 S14), the configuration control unit 220 detects whether the configuration is normally completed by a status signal from the FPGA 300 (S15 in FIG. 3). ).

ここで、コンフィグレーションが正常終了しておらず(図3S15でN)、かつ、コンフィグレーション実行中のエラーが規定回数以上であれば(図3S16でY)、コンフィグレーション制御部220は、コンフィグレーションの作業を異常終了として終了させる。   Here, if the configuration is not normally completed (N in FIG. 3 S15) and the error during the configuration execution is equal to or greater than the specified number of times (Y in FIG. 3 S16), the configuration control unit 220 performs the configuration. The process is terminated as an abnormal end.

また、一連の回路配置データの全データ領域を受信し終わった時点で(図3S14でY)、コンフィグレーションが正常終了しておらず(図3S15でN)、かつ、コンフィグレーション実行中のエラーが規定回数未満であれば(図3S16でN)、コンフィグレーション制御部220は、通信障害であると判断して、コンフィグレーションの作業を初期化(図3S3)からやり直す。   In addition, when the entire data area of the series of circuit arrangement data has been received (Y in FIG. 3 S14), the configuration has not been completed normally (N in FIG. 3 S15), and an error occurred during the execution of the configuration. If it is less than the prescribed number of times (N in FIG. 3 S16), the configuration control unit 220 determines that there is a communication failure, and restarts the configuration work from initialization (S3 in FIG. 3).

そして、一連の回路配置データの全データ領域を受信し終わった時点で(図3S14でY)、FPGA300からの状態信号などによってコンフィグレーションが正常終了していることが確認できれば(図3S15でY)、コンフィグレーション制御部220は、ネットワーク部100を介して、応答してきた外部装置に対して、コンフィグレーション完了通知を送信する(図3S17)。   When the entire data area of the series of circuit arrangement data is received (Y in FIG. 3 S14), if it can be confirmed that the configuration is normally completed by a status signal from the FPGA 300 (Y in FIG. 3 S15). The configuration control unit 220 transmits a configuration completion notification to the responding external device via the network unit 100 (S17 in FIG. 3).

また、この際、ある一定の回数繰り返してもコンフィグレーションが正しく終了しなかった場合(図3S16)には、コンフィグレーション制御部220は、ネットワークに通信障害があると判断し、コンフィグレーションを終了させるが、このように終了した場合には、待機状態にさせてもよいし、ある一定期間待機させた後、コンフィグレーションリクエストを送信させてもよい。   At this time, if the configuration does not end correctly even after being repeated a certain number of times (S16 in FIG. 3), the configuration control unit 220 determines that there is a communication failure in the network and ends the configuration. However, when the process is completed in this way, the apparatus may be set in a standby state, or after waiting for a certain period, a configuration request may be transmitted.

以上説明したように、この実施形態のハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、大容量のメモリが必要なく、また、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現できる。   As described above, in the hardware configuration device of this embodiment, since configuration is directly performed using circuit arrangement data acquired from the network, a large-capacity memory is not required and an extra process is also required. It can be realized in a short time with a simple mechanism and procedure.

また、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行する際に、コンフィグレーション制御回路は、受信と並行して受信タイムアウトチェックを行う。このため、確実なコンフィグレーションを実行できる。   Further, when the circuit configuration data received via the network unit 100 is directly stored in the network unit 100 without being stored in the storage unit for the circuit configuration data, the configuration is performed when the FPGA 300 is directly configured. The control circuit performs a reception timeout check in parallel with reception. Therefore, reliable configuration can be executed.

また、コンフィグレーション制御回路220は、受信と並行して受信タイムアウトチェックを行い、タイムアウトが検出された場合には回路配置データの受信を要求する。すなわち、タイムアウト検出時には回路配置データの受信要求を出すため、確実なコンフィグレーションを実行できる。   In addition, the configuration control circuit 220 performs a reception timeout check in parallel with reception, and requests reception of circuit arrangement data when a timeout is detected. That is, when a timeout is detected, a circuit arrangement data reception request is issued, so that reliable configuration can be executed.

なお、この実施形態のハードウェアコンフィグレーション装置において、コンフィグレーション制御回路200は、プログラマブルロジックデバイス(PLD)で構成することができる。このようにすることで、PLD内の論理回路を変更することで様々な通信形態やプロトコルに対応することが可能になる。   In the hardware configuration device of this embodiment, the configuration control circuit 200 can be configured by a programmable logic device (PLD). By doing so, it becomes possible to cope with various communication forms and protocols by changing the logic circuit in the PLD.

また、上記のシーケンスにところどころにデータの正常性を確認するための認証シーケンスを組み入れてもよいし、また符合訂正機能、暗号・復号機能などを設けても、この動作に適用できる。   In addition, an authentication sequence for confirming the normality of the data may be incorporated in the above-described sequence, or a code correction function, an encryption / decryption function, etc. may be provided for this operation.

〈第1実施形態におけるコンフィグレーション後の動作〉
コンフィグレーション後のネットワーク部100の制御はFPGA300が行うようにしてもよいし、引き続きコンフィグレーション回路200が制御を担当してもよいし、もしくは他のデバイスが制御してもよい。
<Operation after Configuration in First Embodiment>
Control of the network unit 100 after configuration may be performed by the FPGA 300, the configuration circuit 200 may continue to take charge of control, or another device may control.

FPGA300に制御させる場合にはFPGA300の論理回路(ハードウェア)で制御をしてもよいし、FPGA300内でプロセッサを搭載してソフトウェアで制御してもよい。   When controlling the FPGA 300, it may be controlled by a logic circuit (hardware) of the FPGA 300, or may be controlled by software by mounting a processor in the FPGA 300.

また、FPGA300もしくは他のデバイスにネットワーク制御させる場合、コンフィグレーション制御回路200はネットワーク制御をFPGA300動作中は全く制御しなくてもよいし、リコンフィギャブルのための一部機能のみをコンフィグレーション後も動作可能にしておいてもよい。   Further, when the FPGA 300 or another device controls the network, the configuration control circuit 200 does not have to control the network control at all during the operation of the FPGA 300, or after configuring only a part of functions for reconfigurable. It may be operable.

つまり、FPGA300に対するコンフィグレーション実行後のネットワーク制御については、下記の(a),(b),(c)のような手法がある。
(a)コンフィグレーション後も、コンフィグレーション制御回路200がネットワークの制御をおこなう。
That is, there are the following methods (a), (b), and (c) for network control after execution of configuration for the FPGA 300.
(a) Even after the configuration, the configuration control circuit 200 controls the network.

(b)FPGA300もしくは他のデバイスが完全にネットワーク制御を行い、コンフィグレーション制御回路200はネットワークの制御を行わない。コンフィグレーション制御回路200はネットワーク制御をしているデバイスからネットワークの制御権を譲渡されるとネットワークの制御を再び開始する。   (b) The FPGA 300 or another device completely performs network control, and the configuration control circuit 200 does not control the network. The configuration control circuit 200 starts the network control again when the network control right is transferred from the device performing the network control.

(c)FPGA300もしくは他のデバイスがネットワークの制御を行うが、ネットワークからの特定のコマンド及び信号には応答できるようにコンフィグレーション制御回路200のネットワークの一部機能を動作させておく。   (c) Although the FPGA 300 or other device controls the network, a part of the network function of the configuration control circuit 200 is operated so that it can respond to a specific command and signal from the network.

図1に記載されたFPGA300の内部構成は、上記(a)の場合のFPGA内論理回路例、あるいは、上記(b)、(c)で他のデバイス(FPGA以外)がネットワーク制御を行う場合のFPGA内論理回路例である。   The internal configuration of the FPGA 300 shown in FIG. 1 is an example of the logic circuit in the FPGA in the case of (a) above, or when another device (other than the FPGA) performs network control in the above (b) and (c). It is an example of logic circuit in FPGA.

また、以上の(b)、(c)の場合にFPGA300がネットワーク制御を行う場合の、FPGA内論理回路例としては、図4に示すものを示すことができる。この図4のハードウェアコンフィグレーション装置では、FPGA300の内部にI/F320とI/F330との間に、ネットワーク制御を行うためのネットワーク制御部340を備えたことを特徴とする。このネットワーク制御部340によって、以上の(b)、(c)の場合に、コンフィグレーション後もFPGA300がネットワーク制御を行うことが可能になる。   In addition, in the cases (b) and (c) described above, as an example of the logic circuit in the FPGA when the FPGA 300 performs network control, the one shown in FIG. 4 can be shown. The hardware configuration apparatus of FIG. 4 is characterized in that a network control unit 340 for performing network control is provided between the I / F 320 and the I / F 330 inside the FPGA 300. The network controller 340 enables the FPGA 300 to perform network control even after configuration in the cases (b) and (c) above.

なお、FPGA300についてコンフィグレーション実行後に、再度のコンフィグレーション(リコンフィグレーション)を実行する場合がある。その場合のリコンフィグレーション開始の契機については、上述したシーケンス#1(図2のフローチャート)、上述したシーケンス#2(図3のフローチャート)を用いて、以下の(A)〜(E)のような手順が考えられる。
(A)ネットワーク経由の外部装置からリコンフィグレーション要求がある場合:シーケンス#1。
(B)コンフィグレーション制御回路200が特定の処理を終了した場合:シーケンス#2。
(C)FPGA300もしくは他のデバイスが、特定の処理を終了してコンフィグレーション制御回路200内のレジスタに対してリコンフィグレーションコマンドを送信した場合、もしくは、コンフィグレーション制御回路200に信号を送信した場合:シーケンス#2。
(D)コンフィグレーション制御回路200が、FPGA300もしくは他のデバイスの状態をレジスタ等へ読みにいき、その状態がリコンフィグレーション状態にあるとわかった場合:シーケンス#2。
(E)FPGA300もしくは他のデバイスが特定の処理を終了し、ネットワークを制御しているデバイスがコンフィグレーションリクエストを直接送信した場合:シーケンス#2。
Note that there is a case where the configuration (reconfiguration) is executed again after the FPGA 300 is configured. In the case of the reconfiguration start in that case, the following sequence (A) to (E) is performed using the above-described sequence # 1 (flowchart in FIG. 2) and the above-described sequence # 2 (flowchart in FIG. 3). A simple procedure can be considered.
(A) When there is a reconfiguration request from an external device via the network: Sequence # 1.
(B) When the configuration control circuit 200 ends the specific process: Sequence # 2.
(C) When the FPGA 300 or another device ends a specific process and transmits a reconfiguration command to a register in the configuration control circuit 200, or transmits a signal to the configuration control circuit 200 : Sequence # 2.
(D) When the configuration control circuit 200 reads the state of the FPGA 300 or another device into a register or the like and finds that the state is in the reconfiguration state: sequence # 2.
(E) When the FPGA 300 or another device terminates the specific processing and the device controlling the network directly transmits a configuration request: Sequence # 2.

一方、コンフィグレーション制御回路200でネットワーク制御を機能させないようにした場合、すなわち、FPGA300にネットワーク制御機能を持たせた場合には、FPGA300のリコンフィグレーションは、上記の契機で開始され、開始されるとコンフィグレーション制御回路200がネットワーク制御を開始すると同時にFPGA300をコンフィグレーション可能な状態にすることでリコンフィグレーション動作を実現する。   On the other hand, when the network control is not allowed to function in the configuration control circuit 200, that is, when the network control function is provided to the FPGA 300, the reconfiguration of the FPGA 300 is started and started at the above-described timing. When the configuration control circuit 200 starts network control, the FPGA 300 is put into a state in which it can be configured, thereby realizing a reconfiguration operation.

また、コンフィグレーション制御回路200でネットワーク制御を機能の一部を動作可能にしておく場合には、ネットワーク部100やその他のデバイスからの特定のコマンドやデータ、例えばコンフィグレーションリクエストには応答できるようにしておいて、その特定のコマンドもしくは信号をコンフィグレーション制御回路200が受信すると、FPGA300をコンフィグレーション可能な状態にしリコンフィグレーション動作を実現する。   In addition, when a part of the network control function is made operable by the configuration control circuit 200, a specific command or data from the network unit 100 or other devices, for example, a configuration request can be responded. When the configuration control circuit 200 receives the specific command or signal, the FPGA 300 is put into a configurable state and a reconfiguration operation is realized.

なお、上述したリコンフィグレーションに関する機能は、FPGA300と同等なFPGAが複数個配置されているようなハードウェアコンフィグレーション装置であっても、何ら問題なく適用することができる。   Note that the above-described functions related to reconfiguration can be applied without any problem even in a hardware configuration device in which a plurality of FPGAs equivalent to the FPGA 300 are arranged.

また、この実施形態の場合、コンフィグレーションをハードウェアでおこなうので、他の処理と同時に処理をすることができる。たとえば、ハードウェアコンフィグレーション装置にCPUを搭載している場合には、CPUの初期化とFPGA300のコンフィグレーションとを同時に実行することも可能である。   In the case of this embodiment, since the configuration is performed by hardware, processing can be performed simultaneously with other processing. For example, when the CPU is mounted on the hardware configuration device, the initialization of the CPU and the configuration of the FPGA 300 can be executed simultaneously.

〈第2実施形態〉
図5に示されるハードウェアコンフィグレーション装置は、プログラマブルなハードウェアであるFPGA300のコンフィグレーションを実行するハードウェアコンフィグレーション装置の第2実施形態である。なお、この図5では、電源部や各種バスなどの既知の回路構成については省略した状態で示している。
Second Embodiment
The hardware configuration device shown in FIG. 5 is a second embodiment of the hardware configuration device that executes the configuration of the FPGA 300 that is programmable hardware. In FIG. 5, known circuit configurations such as a power supply unit and various buses are omitted.

そして、このハードウェアコンフィグレーション装置は、最低限の構成として、大きく分けて、FPGAに対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部100と、プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)300と、受信した回路配置データを用いてFPGA300のコンフィグレーションを行うコンフィグレーション制御回路としてのCPU400と、を有している。そして、FPGA300には各種のデバイスが接続されている。   The hardware configuration device is roughly divided into a minimum configuration, a network unit 100 that receives circuit arrangement data when executing configuration for an FPGA from an external device, and a programmable device. A hardware field programmable gate array (FPGA) 300 and a CPU 400 as a configuration control circuit configured to configure the FPGA 300 using the received circuit arrangement data are included. Various devices are connected to the FPGA 300.

ここで、コンフィグレーション制御回路としてのCPU400は、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。なお、ネットワーク部100とFPGA300とは上述した第1実施形態と同様な内容である。   Here, the CPU 400 as the configuration control circuit directly receives the circuit arrangement data received via the network unit 100 from the storage unit for the circuit arrangement data and directly receives the FPGA 300 while receiving the circuit arrangement data. It is characterized by executing configuration. The network unit 100 and the FPGA 300 have the same contents as in the first embodiment described above.

上述した第1実施形態はハードウェアで制御していたのに対し、第2実施形態はCPU400を使用してソフトウェアで制御を行っているのが特長である。すなわち、CPU400のソフトウエアの制御により、上述したコンフィグレーション制御回路200と同様な処理と制御とを実行させる。すなわち、ネットワーク部100の制御とFPGA300のコンフィグレーション制御は、CPU400のソフトウェアで行うため、ソフトウェアを変更することでネットワーク部100の制御とFPGA300のコンフィグレーション制御のアルゴリズムを容易に変更することができる。   The first embodiment described above is controlled by hardware, whereas the second embodiment is characterized in that control is performed by software using the CPU 400. That is, under the control of the software of the CPU 400, processing and control similar to those of the configuration control circuit 200 described above are executed. That is, since the control of the network unit 100 and the configuration control of the FPGA 300 are performed by the software of the CPU 400, the algorithm of the control of the network unit 100 and the configuration control of the FPGA 300 can be easily changed by changing the software.

なお、この第2実施形態は、FPGA300を、ネットワークを利用してコンフィグレーションさせる場合の実施形態である。また、ここで、ネットワーク部100がネットワーク接続を行う場合、有線による接続、無線による接続のどちらであってもよい。ネットワーク部100は有線プロトコル、無線及び通信プロトコルによって構成が異なる場合があるが、無線の場合には最低限RF部140を有していればよく、また、有線の場合にはPHY部130のみ搭載、PHY部130とMAC部120とを搭載など、どのような回路構成でも適用できる。   Note that the second embodiment is an embodiment in which the FPGA 300 is configured using a network. Here, when the network unit 100 performs network connection, either wired connection or wireless connection may be used. The network unit 100 may have a different configuration depending on a wired protocol, a wireless protocol, and a communication protocol. However, in the case of a wireless network, the network unit 100 may have at least the RF unit 140. Any circuit configuration such as mounting the PHY unit 130 and the MAC unit 120 can be applied.

また、コンフィグレーション制御回路としてのCPU400は通信プロトコルとネットワーク部100の回路構成によって、搭載する回路構成を変えることでさまざまな通信に適用できる。例えば、ネットワーク部100がRF部140とPHY部130のみの場合に、通信プロトコルとしてはMAC部120も必要な場合には、コンフィグレーション制御回路としてのCPU400で通信プロトコルに必要なMAC部を組み込むようにする。   The CPU 400 as a configuration control circuit can be applied to various communications by changing the circuit configuration to be mounted according to the communication protocol and the circuit configuration of the network unit 100. For example, when the network unit 100 includes only the RF unit 140 and the PHY unit 130 and the MAC unit 120 is also required as a communication protocol, the CPU 400 as a configuration control circuit incorporates the MAC unit necessary for the communication protocol. To.

FPGAのコンフィグレーションには大きく分けて二通りあり、一つは外部(ネットワーク)からのリクエスト信号によりコンフィグレーションを開始する場合と、装置から外部へリクエスト信号を発信しコンフィグレーションデータ(回路配置データ)を送信してもらい、コンフィグレーションを開始する場合とがある。   There are two main types of FPGA configuration. One is when the configuration is started by a request signal from the outside (network), and the other is the configuration data (circuit layout data) that is sent from the device to the outside. May be sent to start configuration.

なお、この第2実施形態においても、FPGA300についてコンフィグレーション実行後に、再度のコンフィグレーション(リコンフィグレーション)を実行する場合がある。その場合のリコンフィグレーション開始の契機については、上述したシーケンス#1(図2のフローチャート)、上述したシーケンス#2(図3のフローチャート)を用いて、以下の(G)〜(J)のような手順が考えられる。
(G)ネットワーク経由の外部装置からリコンフィグレーション要求がある場合:シーケンス#1。
(H)CPU400が特定の処理を終了した場合:シーケンス#2。
(I)FPGA300もしくは他のデバイスが、特定の処理を終了してCPU400に対してリコンフィグレーションコマンドを送信した場合、もしくは、CPU400に信号を送信した場合:シーケンス#2。
(J)CPU400が、FPGA300もしくは他のデバイスの状態をレジスタ等へ読みにいき、その状態がリコンフィグレーション状態にあるとわかった場合:シーケンス#2。
In the second embodiment as well, there is a case where the configuration (reconfiguration) is performed again after the FPGA 300 is configured. In the case of the start of the reconfiguration in this case, the following sequence (G) to (J) are performed using the above-described sequence # 1 (the flowchart in FIG. 2) and the above-described sequence # 2 (the flowchart in FIG. 3). A simple procedure can be considered.
(G) When there is a reconfiguration request from an external device via the network: Sequence # 1.
(H) When CPU 400 completes the specific process: Sequence # 2.
(I) When the FPGA 300 or another device ends a specific process and transmits a reconfiguration command to the CPU 400, or transmits a signal to the CPU 400: Sequence # 2.
(J) When the CPU 400 reads the state of the FPGA 300 or another device into a register or the like and finds that the state is in the reconfiguration state: Sequence # 2.

なお、上述したリコンフィグレーションに関する機能は、FPGA300と同等なFPGAが複数個配置されているようなハードウェアコンフィグレーション装置であっても、何ら問題なく適用することができる。   Note that the above-described functions related to reconfiguration can be applied without any problem even in a hardware configuration device in which a plurality of FPGAs equivalent to the FPGA 300 are arranged.

〈第3実施形態〉
図6に示されるハードウェアコンフィグレーション装置は、プログラマブルなハードウェアであるFPGA300のコンフィグレーションを実行するハードウェアコンフィグレーション装置の第3実施形態である。なお、この図6では、電源部や各種バスなどの既知の回路構成については省略した状態で示している
そして、このハードウェアコンフィグレーション装置は、最低限の構成として、大きく分けて、FPGAに対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部100と、ネットワーク制御とコンフィグレーション制御とを行うためにネットワーク部100に内蔵されたCPU150と、プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)300と、を有している。そして、FPGA300には各種のデバイスが接続されている。
<Third Embodiment>
The hardware configuration apparatus shown in FIG. 6 is a third embodiment of the hardware configuration apparatus that executes configuration of the FPGA 300 that is programmable hardware. In FIG. 6, known circuit configurations such as a power supply unit and various buses are omitted, and this hardware configuration device is roughly divided into a minimum configuration and an FPGA. A network unit 100 that receives circuit arrangement data when executing configuration from an external device via a network, a CPU 150 built in the network unit 100 to perform network control and configuration control, and programmable hardware And a field programmable gate array (FPGA) 300. Various devices are connected to the FPGA 300.

なお、CPU150は、ネットワーク部100でのネットワークに関する制御と、受信した回路配置データを用いてFPGA300のコンフィグレーションを行うためのコンフィグレーション制御と、を行う。   The CPU 150 performs network-related control in the network unit 100 and configuration control for configuring the FPGA 300 using the received circuit arrangement data.

ここで、コンフィグレーション制御回路として働きをするCPU150は、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。そのため、シンプルな構成で実現できる。   Here, the CPU 150 functioning as a configuration control circuit does not store the circuit arrangement data received via the network unit 100 in the storage unit for the circuit arrangement data, but receives the FPGA 300 while receiving it at the network unit 100. It is characterized by executing configuration directly. Therefore, it can be realized with a simple configuration.

なお、FPGA300は上述した第1実施形態や第2実施形態と同様な内容である。また、ネットワーク部100は、CPU150を備えた点以外は上述した第1実施形態や第2実施形態と同様な内容である。   The FPGA 300 has the same contents as those of the first embodiment and the second embodiment described above. The network unit 100 has the same contents as those of the first and second embodiments described above except that the CPU 150 is provided.

上述した第1実施形態はハードウェアで制御していたのに対し、この第3実施形態は、上述した第2実施形態と同様に、CPU150を使用してソフトウェアで制御を行っているのが特長である。すなわち、CPU150のソフトウエアの制御により、上述したコンフィグレーション制御回路200と同様な処理と制御とを実行させる。すなわち、ネットワーク部100の制御とFPGA300のコンフィグレーション制御は、CPU150のソフトウェアで行うため、ソフトウェアを変更することでネットワーク部100の制御とFPGA300のコンフィグレーション制御のアルゴリズムを容易に変更することができる。   While the first embodiment described above is controlled by hardware, the third embodiment is characterized in that control is performed by software using the CPU 150 as in the second embodiment described above. It is. That is, under the control of the software of the CPU 150, processing and control similar to those of the configuration control circuit 200 described above are executed. That is, since the control of the network unit 100 and the configuration control of the FPGA 300 are performed by the software of the CPU 150, the algorithm of the control of the network unit 100 and the configuration control of the FPGA 300 can be easily changed by changing the software.

なお、この第3実施形態は、FPGA300を、ネットワークを利用してコンフィグレーションさせる場合の実施形態である。また、ここで、ネットワーク部100がネットワーク接続を行う場合、有線による接続、無線による接続のどちらであってもよい。ネットワーク部100は有線プロトコル、無線及び通信プロトコルによって構成が異なる場合があるが、無線の場合には最低限RF部140を有していればよく、また、有線の場合にはPHY部130のみ搭載、PHY部130とMAC部120とを搭載など、どのような回路構成でも適用できる。   The third embodiment is an embodiment in which the FPGA 300 is configured using a network. Here, when the network unit 100 performs a network connection, either a wired connection or a wireless connection may be used. The network unit 100 may have different configurations depending on a wired protocol, a wireless protocol, and a communication protocol. In the case of a wireless network, the network unit 100 may have at least the RF unit 140. In the wired network, only the PHY unit 130 is mounted. Any circuit configuration such as mounting the PHY unit 130 and the MAC unit 120 can be applied.

また、コンフィグレーション制御回路としてのCPU150は通信プロトコルとネットワーク部100の回路構成によって、搭載する回路構成を変えることでさまざまな通信に適用できる。例えば、ネットワーク部100がRF部140とPHY部130のみの場合に、通信プロトコルとしてはMAC部120も必要な場合には、コンフィグレーション制御回路としてのCPU150で通信プロトコルに必要なMAC部を組み込むようにする。   The CPU 150 as a configuration control circuit can be applied to various communications by changing the circuit configuration to be mounted according to the communication protocol and the circuit configuration of the network unit 100. For example, when the network unit 100 is only the RF unit 140 and the PHY unit 130 and the MAC unit 120 is also required as a communication protocol, the CPU 150 as a configuration control circuit incorporates the MAC unit necessary for the communication protocol. To.

FPGAのコンフィグレーションには大きく分けて二通りあり、一つは外部(ネットワーク)からのリクエスト信号によりコンフィグレーションを開始する場合と、装置から外部へリクエスト信号を発信しコンフィグレーションデータ(回路配置データ)を送信してもらい、コンフィグレーションを開始する場合とがある。   There are two main types of FPGA configuration. One is when the configuration is started by a request signal from the outside (network), and the other is the configuration data (circuit layout data) that is sent from the device to the outside. May be sent to start configuration.

なお、この第3実施形態においても、FPGA300についてコンフィグレーション実行後に、再度のコンフィグレーション(リコンフィグレーション)を実行する場合がある。その場合のリコンフィグレーション開始の契機については、上述したシーケンス#1(図2のフローチャート)、上述したシーケンス#2(図3のフローチャート)を用いて、以下の(K)〜(N)のような手順が考えられる。
(K)ネットワーク経由の外部装置からリコンフィグレーション要求がある場合:シーケンス#1。
(L)CPU150が特定の処理を終了した場合:シーケンス#2。
(M)FPGA300もしくは他のデバイスが、特定の処理を終了してCPU150に対してリコンフィグレーションコマンドを送信した場合、もしくは、CPU150に信号を送信した場合:シーケンス#2。
(N)CPU150が、FPGA300もしくは他のデバイスの状態をレジスタ等へ読みにいき、その状態がリコンフィグレーション状態にあるとわかった場合:シーケンス#2。
Also in the third embodiment, after the configuration of the FPGA 300 is executed, the configuration (reconfiguration) may be executed again. In the case of the start of reconfiguration in this case, the following (K) to (N) are performed using the above-described sequence # 1 (the flowchart in FIG. 2) and the above-described sequence # 2 (the flowchart in FIG. 3). A simple procedure can be considered.
(K) When there is a reconfiguration request from an external device via the network: Sequence # 1.
(L) When CPU 150 completes the specific process: Sequence # 2.
(M) When the FPGA 300 or another device ends a specific process and transmits a reconfiguration command to the CPU 150, or transmits a signal to the CPU 150: Sequence # 2.
(N) When the CPU 150 reads the state of the FPGA 300 or another device into a register or the like and finds that the state is in the reconfiguration state: Sequence # 2.

なお、上述したリコンフィグレーションに関する機能は、FPGA300と同等なFPGAが複数個配置されているようなハードウェアコンフィグレーション装置であっても、何ら問題なく適用することができる。   Note that the above-described functions related to reconfiguration can be applied without any problem even in a hardware configuration device in which a plurality of FPGAs equivalent to the FPGA 300 are arranged.

〈第4実施形態〉
図7に示されるハードウェアコンフィグレーション装置は、プログラマブルなハードウェアであるFPGA300のコンフィグレーションを実行するハードウェアコンフィグレーション装置の第4実施形態である。なお、この図7では、電源部や各種バスなどの既知の回路構成については省略した状態で示している。
<Fourth embodiment>
The hardware configuration device shown in FIG. 7 is a fourth embodiment of a hardware configuration device that executes configuration of the FPGA 300 that is programmable hardware. In FIG. 7, known circuit configurations such as a power supply unit and various buses are omitted.

そして、このハードウェアコンフィグレーション装置は、最低限の構成として、大きく分けて、FPGAに対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部100と、プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)300と、受信した回路配置データを用いてFPGA300のコンフィグレーションを行うコンフィグレーション制御回路としてのCPU400と、I/F変換を行う中継回路500と、受信した回路配置データを予備記憶するための記憶手段としてのメモリ600、を有している。そして、FPGA300には各種のデバイスが接続されている。   The hardware configuration device is roughly divided into a minimum configuration, a network unit 100 that receives circuit arrangement data when executing configuration for an FPGA from an external device, and a programmable device. Field programmable gate array (FPGA) 300 that is hardware, CPU 400 as a configuration control circuit that configures FPGA 300 using the received circuit arrangement data, relay circuit 500 that performs I / F conversion, and A memory 600 is provided as storage means for preliminarily storing circuit arrangement data. Various devices are connected to the FPGA 300.

なお、中継回路500はI/F変換の作業を行うものであり、予め定められたアドレスに応じて、CPU400からの回路配置データを、FPGA300に送るか、FPGA300とメモリ600の両方にに送るか、を切り替える。   Note that the relay circuit 500 performs I / F conversion work. Whether the circuit arrangement data from the CPU 400 is sent to the FPGA 300 or both the FPGA 300 and the memory 600 according to a predetermined address. , Switch.

ここで、コンフィグレーション制御回路としてのCPU400は、ネットワーク部100を介して受信した回路配置データを、該回路配置データ用の記憶手段やメモリ600に記憶させてからではなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。そして、CPU400は、ネットワーク部100を介して受信した回路配置データを、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行し、これと並行して、メモリ600にも記憶させることを特徴としている。   Here, the CPU 400 as the configuration control circuit receives the circuit arrangement data received via the network unit 100 in the network unit 100, not after storing the circuit arrangement data in the storage means or the memory 600 for the circuit arrangement data. However, the configuration is performed directly on the FPGA 300. Then, the CPU 400 executes configuration directly on the FPGA 300 while receiving the circuit arrangement data received via the network unit 100 at the network unit 100, and stores it in the memory 600 in parallel with this. It is a feature.

この第4実施形態では、FPGA300にコンフィグレーションデータ(回路配置データ)を送るのと並行して、メモリ600へコンフィグレーションデータを保存させることを示した実施形態である。   In the fourth embodiment, the configuration data is stored in the memory 600 in parallel with sending the configuration data (circuit arrangement data) to the FPGA 300.

従来の発明では、コンフィグレーションデータを一度メモリに書き込んで、その後FPGAへ回路配置データを送ってコンフィグレーションを実現していたが、この発明では、コンフィグレーション前に記憶させるものではなく、コンフィグレーションと記憶とを並行して行うため、上述した第1実施形態〜第3実施形態と同様に、コンフィグレーション完了までの時間を短縮することができる。   In the conventional invention, the configuration data is once written in the memory and then the circuit arrangement data is sent to the FPGA to realize the configuration. However, in the present invention, the configuration data is not stored before the configuration. Since the storage is performed in parallel, the time until the configuration is completed can be shortened as in the first to third embodiments described above.

また、この第4実施形態のように、メモリ600に同時に書き込みをおこなっておけば、正常にコンフィグレーションもしくはリコンフィグレーションをしている間は短時間でコンフィグレーション動作を実現でき、かつエラー状態(通信障害等でコンフィグレーションもしくはリコンフィグレーションができなかった場合)には、このメモリ600からデータを読み出し、再びダウンロードすることなくコンフィグレーションを実行できる。なお、この場合のメモリ600はROM型でもRAM型でもどちらでもよい。   In addition, as in the fourth embodiment, if data is simultaneously written in the memory 600, the configuration operation can be realized in a short time during normal configuration or reconfiguration, and an error state ( When configuration or reconfiguration cannot be performed due to a communication failure or the like, the configuration can be executed without reading data from the memory 600 and downloading it again. In this case, the memory 600 may be either a ROM type or a RAM type.

上述した第1実施形態はハードウェアで制御していたのに対し、この第4実施形態はCPU400を使用してソフトウェアで制御を行っているのが特長である。すなわち、CPU400のソフトウエアの制御により、上述したコンフィグレーション制御回路200と同様な処理と制御とを実行させる。すなわち、ネットワーク部100の制御とFPGA300のコンフィグレーション制御は、CPU400のソフトウェアで行うため、ソフトウェアを変更することでネットワーク部100の制御とFPGA300のコンフィグレーション制御のアルゴリズムを容易に変更することができる。   While the first embodiment described above is controlled by hardware, the fourth embodiment is characterized in that control is performed by software using the CPU 400. That is, under the control of the software of the CPU 400, processing and control similar to those of the configuration control circuit 200 described above are executed. That is, since the control of the network unit 100 and the configuration control of the FPGA 300 are performed by the software of the CPU 400, the algorithm of the control of the network unit 100 and the configuration control of the FPGA 300 can be easily changed by changing the software.

またこの第4実施形態ではCPU400を用いているが、これを第1実施形態のようにハードウェアで実現する形態をとってもよく、その場合には中継回路をPLD内で実現してもよい。   In the fourth embodiment, the CPU 400 is used. However, this may be realized by hardware as in the first embodiment, and in that case, the relay circuit may be realized in the PLD.

なお、この第4実施形態は、FPGA300を、ネットワークを利用してコンフィグレーションさせる場合の実施形態である。また、ここで、ネットワーク部100がネットワーク接続を行う場合、有線による接続、無線による接続のどちらであってもよい。ネットワーク部100は有線プロトコル、無線及び通信プロトコルによって構成が異なる場合があるが、無線の場合には最低限RF部140を有していればよく、また、有線の場合にはPHY部130のみ搭載、PHY部130とMAC部120とを搭載など、どのような回路構成でも適用できる。   The fourth embodiment is an embodiment in which the FPGA 300 is configured using a network. Here, when the network unit 100 performs a network connection, either a wired connection or a wireless connection may be used. The network unit 100 may have different configurations depending on a wired protocol, a wireless protocol, and a communication protocol. In the case of a wireless network, the network unit 100 may have at least the RF unit 140. In the wired network, only the PHY unit 130 is mounted. Any circuit configuration such as mounting the PHY unit 130 and the MAC unit 120 can be applied.

また、コンフィグレーション制御回路としてのCPU400は通信プロトコルとネットワーク部100の回路構成によって、搭載する回路構成を変えることでさまざまな通信に適用できる。例えば、ネットワーク部100がRF部140とPHY部130のみの場合に、通信プロトコルとしてはMAC部120も必要な場合には、コンフィグレーション制御回路としてのCPU400で通信プロトコルに必要なMAC部を組み込むようにする。   Further, the CPU 400 as the configuration control circuit can be applied to various communications by changing the mounted circuit configuration according to the communication protocol and the circuit configuration of the network unit 100. For example, when the network unit 100 includes only the RF unit 140 and the PHY unit 130 and the MAC unit 120 is also required as a communication protocol, the CPU 400 as a configuration control circuit incorporates the MAC unit necessary for the communication protocol. To.

FPGAのコンフィグレーションには大きく分けて二通りあり、一つは外部(ネットワーク)からのリクエスト信号によりコンフィグレーションを開始する場合と、装置から外部へリクエスト信号を発信しコンフィグレーションデータ(回路配置データ)を送信してもらい、コンフィグレーションを開始する場合とがある。   There are two main types of FPGA configuration. One is when the configuration is started by a request signal from the outside (network), and the other is the configuration data (circuit layout data) that is sent from the device to the outside. May be sent to start configuration.

なお、この第4実施形態においても、FPGA300についてコンフィグレーション実行後に、再度のコンフィグレーション(リコンフィグレーション)を実行する場合がある。その場合のリコンフィグレーション開始の契機については、上述したシーケンス#1(図2のフローチャート)、上述したシーケンス#2(図3のフローチャート)を用いて、以下の(O)〜(R)のような手順が考えられる。
(O)ネットワーク経由の外部装置からリコンフィグレーション要求がある場合:シーケンス#1。
(P)CPU400が特定の処理を終了した場合:シーケンス#2。
(Q)FPGA300もしくは他のデバイスが、特定の処理を終了してCPU400に対してリコンフィグレーションコマンドを送信した場合、もしくは、CPU400に信号を送信した場合:シーケンス#2。
(R)CPU400が、FPGA300もしくは他のデバイスの状態をレジスタ等へ読みにいき、その状態がリコンフィグレーション状態にあるとわかった場合:シーケンス#2。
In the fourth embodiment, after the configuration of the FPGA 300 is executed, the configuration (reconfiguration) may be executed again. In the case of the start of reconfiguration in that case, the following sequence (O) to (R) is performed using the sequence # 1 (the flowchart in FIG. 2) and the sequence # 2 (the flowchart in FIG. 3). A simple procedure can be considered.
(O) When there is a reconfiguration request from an external device via the network: Sequence # 1.
(P) When CPU 400 finishes the specific process: Sequence # 2.
(Q) When the FPGA 300 or another device ends a specific process and transmits a reconfiguration command to the CPU 400, or transmits a signal to the CPU 400: Sequence # 2.
(R) When the CPU 400 reads the state of the FPGA 300 or another device into a register or the like and finds that the state is in the reconfiguration state: Sequence # 2.

なお、上述したリコンフィグレーションに関する機能は、FPGA300と同等なFPGAが複数個配置されているようなハードウェアコンフィグレーション装置であっても、何ら問題なく適用することができる。   Note that the above-described functions related to reconfiguration can be applied without any problem even in a hardware configuration device in which a plurality of FPGAs equivalent to the FPGA 300 are arranged.

本発明の第1実施形態のハードウェアコンフィグレーション装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the hardware configuration apparatus of 1st Embodiment of this invention. 本発明の実施形態においてコンフィグレーションを実行する際の手順を示すフローチャートである。It is a flowchart which shows the procedure at the time of performing configuration in embodiment of this invention. 本発明の実施形態においてコンフィグレーションを実行する際の手順を示すフローチャートである。It is a flowchart which shows the procedure at the time of performing configuration in embodiment of this invention. 本発明の第1実施形態のハードウェアコンフィグレーション装置の他の構成を示すブロック図である。It is a block diagram which shows the other structure of the hardware configuration apparatus of 1st Embodiment of this invention. 本発明の第2実施形態のハードウェアコンフィグレーション装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the hardware configuration apparatus of 2nd Embodiment of this invention. 本発明の第3実施形態のハードウェアコンフィグレーション装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the hardware configuration apparatus of 3rd Embodiment of this invention. 本発明の第4実施形態のハードウェアコンフィグレーション装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the hardware configuration apparatus of 4th Embodiment of this invention.

符号の説明Explanation of symbols

100 ネットワーク部
200 コンフィグレーション制御回路
300 FPGA
100 Network Unit 200 Configuration Control Circuit 300 FPGA

Claims (5)

プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)と、
前記FPGAのコンフィグレーションを行うコンフィグレーション制御回路と、
前記FPGAに対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部とを備え、
前記コンフィグレーション制御回路は、前記ネットワーク部を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、前記ネットワーク部で受信しつつ前記FPGAに対して直接コンフィグレーションを実行する、
ことを特徴とするハードウェアコンフィグレーション装置。
Field programmable gate array (FPGA) that is programmable hardware;
A configuration control circuit for configuring the FPGA;
A network unit for receiving circuit arrangement data when executing configuration for the FPGA from an external device via a network;
The configuration control circuit directly performs configuration on the FPGA while receiving the circuit arrangement data through the network unit without storing the circuit arrangement data in the storage unit for the circuit arrangement data. To
A hardware configuration device characterized by that.
プログラマブルなハードウェアであるフィールドプログラマブルゲートアレイ(FPGA)と、
前記FPGAのコンフィグレーションを行うコンフィグレーション制御回路と、
前記FPGAに対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部と、
記憶手段とを備え、
前記コンフィグレーション制御回路は、前記ネットワーク部を介して前記回路配置データを受信しつつ前記FPGAに対して直接コンフィグレーションを実行する作業と並行して、前記回路配置データを前記記憶手段に記憶させる、
ことを特徴とするハードウェアコンフィグレーション装置。
Field programmable gate array (FPGA) that is programmable hardware;
A configuration control circuit for configuring the FPGA;
A network unit for receiving circuit arrangement data when executing configuration for the FPGA from an external device via a network;
Storage means,
The configuration control circuit stores the circuit arrangement data in the storage unit in parallel with the operation of directly performing configuration on the FPGA while receiving the circuit arrangement data via the network unit.
A hardware configuration device characterized by that.
前記コンフィグレーション制御回路は、前記ネットワーク部で前記回路配置データを受信しつつ前記FPGAに対して直接コンフィグレーションを実行する際に、受信と並行して受信タイムアウトチェックを行う、
ことを特徴とする請求項1または請求項2に記載のハードウェアコンフィグレーション装置。
The configuration control circuit performs a reception timeout check in parallel with reception when performing configuration directly on the FPGA while receiving the circuit arrangement data in the network unit.
The hardware configuration device according to claim 1, wherein the hardware configuration device is a hardware configuration device.
前記コンフィグレーション制御回路は、前記ネットワーク部で前記回路配置データを受信しつつ前記FPGAに対して直接コンフィグレーションを実行する際に、受信と並行して受信タイムアウトチェックを行い、タイムアウトが検出された場合には前記回路配置データの受信を要求する、
ことを特徴とする請求項1または請求項2に記載のハードウェアコンフィグレーション装置。
When the configuration control circuit directly performs configuration on the FPGA while receiving the circuit arrangement data in the network unit, the configuration control circuit performs a reception timeout check in parallel with reception, and a timeout is detected. Request to receive the circuit arrangement data,
The hardware configuration device according to claim 1, wherein the hardware configuration device is a hardware configuration device.
前記コンフィグレーション制御回路は、プログラマブルロジックデバイス(PLD)で構成されている、
ことを特徴とする請求項1乃至請求項4のいずれかに記載のハードウェアコンフィグレーション装置。
The configuration control circuit is composed of a programmable logic device (PLD),
5. The hardware configuration device according to claim 1, wherein the hardware configuration device is a hardware configuration device.
JP2005078564A 2005-03-18 2005-03-18 Hardware configuration device Active JP4626349B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005078564A JP4626349B2 (en) 2005-03-18 2005-03-18 Hardware configuration device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005078564A JP4626349B2 (en) 2005-03-18 2005-03-18 Hardware configuration device

Publications (2)

Publication Number Publication Date
JP2006262227A JP2006262227A (en) 2006-09-28
JP4626349B2 true JP4626349B2 (en) 2011-02-09

Family

ID=37100949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005078564A Active JP4626349B2 (en) 2005-03-18 2005-03-18 Hardware configuration device

Country Status (1)

Country Link
JP (1) JP4626349B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234684A (en) * 2016-12-21 2018-06-29 顺丰科技有限公司 The method and system of configuration address

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5248104B2 (en) * 2007-12-27 2013-07-31 パナソニック デバイスSunx株式会社 Detection sensor with ASIC with CPU
JP5036575B2 (en) 2008-01-24 2012-09-26 三菱電機株式会社 Wireless communication system for changing logic circuit of variable logic circuit unit
FR2927212B1 (en) * 2008-02-01 2010-07-30 Centre Nat Rech Scient PROCESS FOR RECONFIGURING A SET OF COMPONENTS OF AN ELECTRONIC CIRCUIT, RECONFIGURATION SYSTEM AND CORRESPONDING DATA TRANSMISSION PROTOCOL.
JP5609176B2 (en) * 2010-03-12 2014-10-22 富士通株式会社 Configuration method and configuration control circuit
JP2015201814A (en) * 2014-04-10 2015-11-12 株式会社日立製作所 Field programmable gate array and electronic apparatus
WO2015186210A1 (en) * 2014-06-04 2015-12-10 三菱電機株式会社 Function management system and function management method
JP6598432B2 (en) * 2014-06-24 2019-10-30 キヤノン株式会社 Image processing apparatus, control method thereof, and program
JP6280907B2 (en) * 2015-12-18 2018-02-14 インテル・コーポレーション Method, program, and computing device
WO2018131065A1 (en) * 2017-01-10 2018-07-19 株式会社日立製作所 Reconfigurable device and electronic device using same
JP6864721B2 (en) * 2019-08-08 2021-04-28 キヤノン株式会社 Information processing device and its control method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306343A (en) * 2000-04-21 2001-11-02 Fujitsu I-Network Systems Ltd System for device with fpga
JP2002314579A (en) * 2001-04-10 2002-10-25 Nec Miyagi Ltd Communication unit and configuration method for fpga
JP2004185239A (en) * 2002-12-02 2004-07-02 Nec Commun Syst Ltd Configuration controller, recording medium and fpga configuration method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288574A (en) * 1996-04-19 1997-11-04 Toshiba Corp Process controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306343A (en) * 2000-04-21 2001-11-02 Fujitsu I-Network Systems Ltd System for device with fpga
JP2002314579A (en) * 2001-04-10 2002-10-25 Nec Miyagi Ltd Communication unit and configuration method for fpga
JP2004185239A (en) * 2002-12-02 2004-07-02 Nec Commun Syst Ltd Configuration controller, recording medium and fpga configuration method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234684A (en) * 2016-12-21 2018-06-29 顺丰科技有限公司 The method and system of configuration address

Also Published As

Publication number Publication date
JP2006262227A (en) 2006-09-28

Similar Documents

Publication Publication Date Title
JP4626349B2 (en) Hardware configuration device
JP5125304B2 (en) Wireless communication connection system and network device
US7363534B1 (en) Method and system for stateful switch-over in a high-availability point to point system
US10384625B2 (en) Communication device and non-transitory recording medium
JP2003523670A (en) Software reconfiguration of communication equipment
JP2011186894A (en) Data transfer device, image processing apparatus, data transfer method, data transfer program and recording medium
JP2019016026A (en) Electronic control system
JP2017069777A (en) Communication processing device, communication method, and communication system
WO2010029987A1 (en) Ic chip, information processing device, software module control method, information processing system, method, and program
CN103222315B (en) The power consumption reduced in Wireless Communication Equipment
JP5724795B2 (en) Wireless communication device
JP4013040B2 (en) Download apparatus and download method
WO2012000240A1 (en) Method and terminal device for downloading data
JP4764600B2 (en) Wireless interface capable communication device and method for associating the communication device
JP2008252245A (en) Remote downloading system and remote downloading method
JP5045115B2 (en) Programmable device control apparatus and method
WO2009125664A1 (en) Communication protocol processing circuit, communication protocol processing method, and communication terminal
US20080055631A1 (en) Wireless communication device, computer readable medium storing wireless communication program, wireless communication system, image formation device, and computer readable medium storing control program for image formation device
JP4554703B2 (en) Information processing apparatus, information processing method, and information processing program
JP7310695B2 (en) Communications system
CN113169908B (en) Line monitoring device and network switch
US11463373B2 (en) In-vehicle communication system, relay device, and communication method
CN109542838B (en) FPGA supporting multi-bit stream downloading and system thereof
JP4981366B2 (en) Communication apparatus and communication method
JP5600740B2 (en) Response device, integrated circuit thereof, response method, and response system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101012

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101025

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4626349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350