JP4626349B2 - Hardware configuration device - Google Patents
Hardware configuration device Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Logic Circuits (AREA)
- Microcomputers (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あるいはコンフィグレーションに関する技術が記載されている。
以上の特許文献1記載の技術は、無線通信を用いてコンフィグレーションする際に、時間と共に変化する無線の帯域をより効率的に利用するための技術であり、プログラマブルなハードウェアのコンフィグレーションデータ(回路配置データ)をネットワークを用いて通信し、コンフィグレーションする方法ではない。
The technique described in
また、以上の特許文献2記載の技術は、ソフトウェアを更新する方法の技術であり、本発明のようなハードウェアのコンフィグレーションもしくはリコンフィグレーションに関しては配慮されていない。
The technique described in
また、以上の特許文献3記載の技術は、ハードウェア情報を更新する方法の技術であるが、本発明のようにネットワークを利用してプログラマブルなハードウェアのコンフィグレーションをするようなものではない。
Moreover, although the technique of the
また、以上の特許文献4記載の技術は、プログラマブルなハードウェアを数回コンフィグレーションすることで、装置の初期化をおこなう技術であり、短時間でコンフィグレーションを実行できないという問題を有している。
The technique described in
さらに、以上の特許文献5記載の技術は、プログラマブルなハードウェアの更新情報をネットワークから取得し、取得した更新情報を一度メモリに記憶させ、メモリから読み出してハードウェアのコンフィグレーションを行うものである。このため、大容量のメモリが必要であり、更に、更新情報全体をメモリへ格納する手間と時間がかかるという問題を有している。
Further, the technique described in
本発明は上記の従来技術における問題に鑑みてなされたものであって、簡易な構成でかつ余分な処理をすることなく、ハードウェアのコンフィグレーションを実行可能なハードウェアコンフィグレーション装置を提供することを目的とする。 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)
(3)請求項記載の発明は、(1)または(2)のハードウェアコンフィグレーション装置において、前記コンフィグレーション制御回路は、前記ネットワーク部で前記回路配置データを受信しつつ前記FPGAに対して直接コンフィグレーションを実行する際に、受信と並行して受信タイムアウトチェックを行う、ことを特徴とする。
(3) The invention described in
(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
このハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現できる。また、コンフィグレーションの実行と並行して回路配置データを記憶させておくことで、コンフィグレーションを再実行する必要が生じた場合でも再びダウンロードする手間が省ける。 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に対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部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
ここで、コンフィグレーション制御回路200は、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。
Here, the configuration control circuit 200 directly configures the
ここで、図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
また、コンフィグレーション制御回路200は、装置全体の制御を行う全体制御部210と、ハードウェアコンフィグレーションについての各種制御や各種処理を実行するコンフィグレーション制御部220と、ネットワーク部100との間でデータ授受を行うインタフェース230と、FPGA300との間でデータ授受を行うインタフェース240と、を備えて構成されている。
In addition, the configuration control circuit 200 is configured to transmit data between the
そして、FPGA300は、回路配置データによって論理ブロックの組み合わせや配線領域の接続がなされるプログラマブルなハードウェアとしての処理部310、コンフィグレーション制御回路200との間でデータ授受を行うインタフェース320と、各種デバイスとの間でデータ授受を行うインタフェース330と、を備えて構成されている。
The
なお、この第1実施形態は、FPGA300を、ネットワークを利用してコンフィグレーションさせる場合の実施形態である。
また、ここで、ネットワーク部100がネットワーク接続を行う場合、有線による接続、無線による接続のどちらであってもよい。
The first embodiment is an embodiment in which the
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
また、コンフィグレーション制御回路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
なお、コンフィグレーション制御回路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
そのコンフィグレーションリクエストが正しいと認証された場合(図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
初期化して準備が整ったら、コンフィグレーション制御部220は、ネットワーク部100を介して、コンフィグレーションリクエストを送ってきた外部装置に対して、コンフィグレーションデータリクエスト(回路配置データ要求)を送信する(図2S4)。
After initialization and preparation, the
コンフィグレーション制御部220は、この送信リクエストの時点からタイマを起動させ(図2S5)、コンフィグレーション完了までに想定される所定時間内にコンフィグレーションが完了せず(図2S5でY)、かつ、コンフィグレーション実行中のエラーが規定回数以上であれば(図2S13でY)、コンフィグレーションの作業を異常終了として終了させる。
The
また、コンフィグレーション制御部220は、この送信リクエストの時点からタイマを起動させ(図2S5)、コンフィグレーション完了までに想定される所定時間内にコンフィグレーションが完了せず(図2S5でY)、かつ、コンフィグレーション実行中のエラーが規定回数未満であれば(図2S13でN)、通信障害であると判断して、コンフィグレーションの作業を初期化(図2S3)からやり直す。
Further, the
また、コンフィグレーション制御部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
そして、ネットワーク部100を介して回路配置データが受信されると、コンフィグレーション制御部220は、その回路配置データについて所定のエラー訂正とエラーチェックとを行う(図2S8)。
When circuit arrangement data is received via the network unit 100, the
ここで、受信した回路配置データに訂正できないエラーが生じていれば(図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
ここで、受信した回路配置データに訂正できないエラーが生じていなければ(図2S9でN)、コンフィグレーション制御部220は、その回路配置データを順次FPGA300へ送信し、コンフィグレーションを実行する(図2S10)。
If there is no uncorrectable error in the received circuit arrangement data (N in FIG. 2 S9), the
なお、この実施形態では、コンフィグレーション制御回路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
そして、コンフィグレーション制御部220は、以上のタイムアウト検出(図2S5、S6)、データ受信・エラーチェック(図2S8)、コンフィグレーション実行(図2S10)、必要に応じたコンフィグレーションデータリクエスト(図2S7)を、一連の回路配置データの全データ領域を完了するまで続行する(図2S11)。
Then, the
一連の回路配置データの全データ領域を受信し終わった時点で(図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
また、一連の回路配置データの全データ領域を受信し終わった時点で(図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
そして、一連の回路配置データの全データ領域を受信し終わった時点で(図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
また、この際、ある一定の回数繰り返してもコンフィグレーションが正しく終了しなかった場合(図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
以上説明したように、この実施形態のハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、大容量のメモリが必要なく、また、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現できる。 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
また、コンフィグレーション制御回路220は、受信と並行して受信タイムアウトチェックを行い、タイムアウトが検出された場合には回路配置データの受信を要求する。すなわち、タイムアウト検出時には回路配置データの受信要求を出すため、確実なコンフィグレーションを実行できる。
In addition, the
なお、この実施形態のハードウェアコンフィグレーション装置において、コンフィグレーション制御回路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
以上のコンフィグレーションリクエストに対する応答をネットワーク部100によって受信する(図3S2)と、その応答が正しいものであるかの認証をコンフィグレーション制御回路200の全体制御部210あるいはコンフィグレーション制御部220が行う(図3S5)。
When the network unit 100 receives a response to the above configuration request (S2 in FIG. 3), the
なお、コンフィグレーション制御部220は、想定される応答時間に応じて応答を待ち(図3S3でN)、応答がなくタイムアウトした場合には(図3S3でY)、規定回数に達するまでコンフィグレーションリクエストを送信し(図3S4でN、S1)、規定回数に達しても応答がなければ異常終了する(図3S4でY)。
The
外部装置から受信した応答が正しいと認証された場合(図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
初期化して準備が整ったら、コンフィグレーション制御部220は、ネットワーク部100を介して、応答してきた外部装置に対して、コンフィグレーションデータリクエスト(回路配置データ要求)を送信する(図3S7)。
After initialization and preparation, the
コンフィグレーション制御部220は、この送信リクエストの時点からタイマを起動させ(図3S8)、コンフィグレーション完了までに想定される所定時間内にコンフィグレーションが完了せず(図3S8でY)、かつ、コンフィグレーション実行中のエラーが規定回数以上であれば(図3S16でY)、コンフィグレーションの作業を異常終了として終了させる。
The
また、コンフィグレーション制御部220は、この送信リクエストの時点からタイマを起動させ(図3S8)、コンフィグレーション完了までに想定される所定時間内にコンフィグレーションが完了せず(図3S8でY)、かつ、コンフィグレーション実行中のエラーが規定回数未満であれば(図3S16でN)、通信障害であると判断して、コンフィグレーションの作業を初期化(図3S6)からやり直す。
Further, the
また、コンフィグレーション制御部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
そして、ネットワーク部100を介して回路配置データが受信されると、コンフィグレーション制御部220は、その回路配置データについて所定のエラー訂正とエラーチェックとを行う(図3S11)。
When the circuit arrangement data is received via the network unit 100, the
ここで、受信した回路配置データに訂正できないエラーが生じていれば(図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
ここで、受信した回路配置データに訂正できないエラーが生じていなければ(図3S12でN)、コンフィグレーション制御部220は、その回路配置データを順次FPGA300へ送信し、コンフィグレーションを実行する(図3S13)。
If there is no uncorrectable error in the received circuit arrangement data (N in FIG. 3 S12), the
なお、この実施形態では、コンフィグレーション制御回路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
そして、コンフィグレーション制御部220は、以上のタイムアウト検出(図3S8、S9)、データ受信・エラーチェック(図3S11)、コンフィグレーション実行(図3S13)、必要に応じたコンフィグレーションデータリクエスト(図3S10)を、一連の回路配置データの全データ領域を完了するまで続行する(図3S14)。
Then, the
一連の回路配置データの全データ領域を受信し終わった時点で(図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
ここで、コンフィグレーションが正常終了しておらず(図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
また、一連の回路配置データの全データ領域を受信し終わった時点で(図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
そして、一連の回路配置データの全データ領域を受信し終わった時点で(図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
また、この際、ある一定の回数繰り返してもコンフィグレーションが正しく終了しなかった場合(図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
以上説明したように、この実施形態のハードウェアコンフィグレーション装置では、ネットワークから取得した回路配置データを用いて直接コンフィグレーションを実行するため、大容量のメモリが必要なく、また、余分なプロセスも必要なく、簡素な仕組みと手順とで短時間に実現できる。 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
また、コンフィグレーション制御回路220は、受信と並行して受信タイムアウトチェックを行い、タイムアウトが検出された場合には回路配置データの受信を要求する。すなわち、タイムアウト検出時には回路配置データの受信要求を出すため、確実なコンフィグレーションを実行できる。
In addition, the
なお、この実施形態のハードウェアコンフィグレーション装置において、コンフィグレーション制御回路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
FPGA300に制御させる場合にはFPGA300の論理回路(ハードウェア)で制御をしてもよいし、FPGA300内でプロセッサを搭載してソフトウェアで制御してもよい。
When controlling the
また、FPGA300もしくは他のデバイスにネットワーク制御させる場合、コンフィグレーション制御回路200はネットワーク制御をFPGA300動作中は全く制御しなくてもよいし、リコンフィギャブルのための一部機能のみをコンフィグレーション後も動作可能にしておいてもよい。
Further, when the
つまり、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
(a) Even after the configuration, the configuration control circuit 200 controls the network.
(b)FPGA300もしくは他のデバイスが完全にネットワーク制御を行い、コンフィグレーション制御回路200はネットワークの制御を行わない。コンフィグレーション制御回路200はネットワーク制御をしているデバイスからネットワークの制御権を譲渡されるとネットワークの制御を再び開始する。
(b) The
(c)FPGA300もしくは他のデバイスがネットワークの制御を行うが、ネットワークからの特定のコマンド及び信号には応答できるようにコンフィグレーション制御回路200のネットワークの一部機能を動作させておく。
(c) Although the
図1に記載されたFPGA300の内部構成は、上記(a)の場合のFPGA内論理回路例、あるいは、上記(b)、(c)で他のデバイス(FPGA以外)がネットワーク制御を行う場合のFPGA内論理回路例である。
The internal configuration of the
また、以上の(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
なお、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
(A) When there is a reconfiguration request from an external device via the network:
(B) When the configuration control circuit 200 ends the specific process:
(C) When the
(D) When the configuration control circuit 200 reads the state of the
(E) When the
一方、コンフィグレーション制御回路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
また、コンフィグレーション制御回路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
なお、上述したリコンフィグレーションに関する機能は、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
また、この実施形態の場合、コンフィグレーションをハードウェアでおこなうので、他の処理と同時に処理をすることができる。たとえば、ハードウェアコンフィグレーション装置に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
〈第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に対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部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
ここで、コンフィグレーション制御回路としてのCPU400は、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。なお、ネットワーク部100とFPGA300とは上述した第1実施形態と同様な内容である。
Here, the
上述した第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
なお、この第2実施形態は、FPGA300を、ネットワークを利用してコンフィグレーションさせる場合の実施形態である。また、ここで、ネットワーク部100がネットワーク接続を行う場合、有線による接続、無線による接続のどちらであってもよい。ネットワーク部100は有線プロトコル、無線及び通信プロトコルによって構成が異なる場合があるが、無線の場合には最低限RF部140を有していればよく、また、有線の場合にはPHY部130のみ搭載、PHY部130とMAC部120とを搭載など、どのような回路構成でも適用できる。
Note that the second embodiment is an embodiment in which the
また、コンフィグレーション制御回路としてのCPU400は通信プロトコルとネットワーク部100の回路構成によって、搭載する回路構成を変えることでさまざまな通信に適用できる。例えば、ネットワーク部100がRF部140とPHY部130のみの場合に、通信プロトコルとしてはMAC部120も必要な場合には、コンフィグレーション制御回路としてのCPU400で通信プロトコルに必要なMAC部を組み込むようにする。
The
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
(G) When there is a reconfiguration request from an external device via the network:
(H) When
(I) When the
(J) When the
なお、上述したリコンフィグレーションに関する機能は、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
〈第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
なお、CPU150は、ネットワーク部100でのネットワークに関する制御と、受信した回路配置データを用いてFPGA300のコンフィグレーションを行うためのコンフィグレーション制御と、を行う。
The
ここで、コンフィグレーション制御回路として働きをするCPU150は、ネットワーク部100を介して受信した回路配置データを該回路配置データ用の記憶手段に記憶させることなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。そのため、シンプルな構成で実現できる。
Here, the
なお、FPGA300は上述した第1実施形態や第2実施形態と同様な内容である。また、ネットワーク部100は、CPU150を備えた点以外は上述した第1実施形態や第2実施形態と同様な内容である。
The
上述した第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
なお、この第3実施形態は、FPGA300を、ネットワークを利用してコンフィグレーションさせる場合の実施形態である。また、ここで、ネットワーク部100がネットワーク接続を行う場合、有線による接続、無線による接続のどちらであってもよい。ネットワーク部100は有線プロトコル、無線及び通信プロトコルによって構成が異なる場合があるが、無線の場合には最低限RF部140を有していればよく、また、有線の場合にはPHY部130のみ搭載、PHY部130とMAC部120とを搭載など、どのような回路構成でも適用できる。
The third embodiment is an embodiment in which the
また、コンフィグレーション制御回路としてのCPU150は通信プロトコルとネットワーク部100の回路構成によって、搭載する回路構成を変えることでさまざまな通信に適用できる。例えば、ネットワーク部100がRF部140とPHY部130のみの場合に、通信プロトコルとしてはMAC部120も必要な場合には、コンフィグレーション制御回路としてのCPU150で通信プロトコルに必要なMAC部を組み込むようにする。
The
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
(K) When there is a reconfiguration request from an external device via the network:
(L) When
(M) When the
(N) When the
なお、上述したリコンフィグレーションに関する機能は、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
〈第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に対してコンフィグレーションを実行する際の回路配置データをネットワーク経由で外部装置から受信するネットワーク部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,
なお、中継回路500はI/F変換の作業を行うものであり、予め定められたアドレスに応じて、CPU400からの回路配置データを、FPGA300に送るか、FPGA300とメモリ600の両方にに送るか、を切り替える。
Note that the
ここで、コンフィグレーション制御回路としてのCPU400は、ネットワーク部100を介して受信した回路配置データを、該回路配置データ用の記憶手段やメモリ600に記憶させてからではなく、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行することを特徴としている。そして、CPU400は、ネットワーク部100を介して受信した回路配置データを、ネットワーク部100で受信しつつFPGA300に対して直接コンフィグレーションを実行し、これと並行して、メモリ600にも記憶させることを特徴としている。
Here, the
この第4実施形態では、FPGA300にコンフィグレーションデータ(回路配置データ)を送るのと並行して、メモリ600へコンフィグレーションデータを保存させることを示した実施形態である。
In the fourth embodiment, the configuration data is stored in the
従来の発明では、コンフィグレーションデータを一度メモリに書き込んで、その後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
上述した第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
またこの第4実施形態ではCPU400を用いているが、これを第1実施形態のようにハードウェアで実現する形態をとってもよく、その場合には中継回路をPLD内で実現してもよい。
In the fourth embodiment, the
なお、この第4実施形態は、FPGA300を、ネットワークを利用してコンフィグレーションさせる場合の実施形態である。また、ここで、ネットワーク部100がネットワーク接続を行う場合、有線による接続、無線による接続のどちらであってもよい。ネットワーク部100は有線プロトコル、無線及び通信プロトコルによって構成が異なる場合があるが、無線の場合には最低限RF部140を有していればよく、また、有線の場合にはPHY部130のみ搭載、PHY部130とMAC部120とを搭載など、どのような回路構成でも適用できる。
The fourth embodiment is an embodiment in which the
また、コンフィグレーション制御回路としてのCPU400は通信プロトコルとネットワーク部100の回路構成によって、搭載する回路構成を変えることでさまざまな通信に適用できる。例えば、ネットワーク部100がRF部140とPHY部130のみの場合に、通信プロトコルとしてはMAC部120も必要な場合には、コンフィグレーション制御回路としてのCPU400で通信プロトコルに必要なMAC部を組み込むようにする。
Further, the
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
(O) When there is a reconfiguration request from an external device via the network:
(P) When
(Q) When the
(R) When the
なお、上述したリコンフィグレーションに関する機能は、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
100 ネットワーク部
200 コンフィグレーション制御回路
300 FPGA
100 Network Unit 200
Claims (5)
前記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に対して直接コンフィグレーションを実行する作業と並行して、前記回路配置データを前記記憶手段に記憶させる、
ことを特徴とするハードウェアコンフィグレーション装置。 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.
ことを特徴とする請求項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.
ことを特徴とする請求項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.
ことを特徴とする請求項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.
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)
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09288574A (en) * | 1996-04-19 | 1997-11-04 | Toshiba Corp | Process controller |
-
2005
- 2005-03-18 JP JP2005078564A patent/JP4626349B2/en active Active
Patent Citations (3)
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)
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 | |
US7627700B2 (en) | Expanded memory for communications controller | |
CN102104531B (en) | Message processing device, method and system | |
US10384625B2 (en) | Communication device and non-transitory recording medium | |
JP2011186894A (en) | Data transfer device, image processing apparatus, data transfer method, data transfer program and recording medium | |
JP2019016026A (en) | Electronic control system | |
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 | |
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 | |
JP7172395B2 (en) | Transmission/reception device, transmission/reception system and program | |
WO2023223823A1 (en) | Data processing device, data processing method, and program | |
JP4981366B2 (en) | Communication apparatus and communication method | |
CN109542838B (en) | FPGA supporting multi-bit stream downloading and system thereof | |
JP5600740B2 (en) | Response device, integrated circuit thereof, response method, and response system | |
JP2003140907A (en) | Program transfer relay system, and relay control method | |
CN115658103A (en) | System upgrading method, electronic device and storage medium | |
JP4920297B2 (en) | Encryption / decryption method and apparatus |
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 |