JP2008052389A - Programmable logic circuit update device, update method, data processor and network equipment - Google Patents
Programmable logic circuit update device, update method, data processor and network equipment Download PDFInfo
- Publication number
- JP2008052389A JP2008052389A JP2006226086A JP2006226086A JP2008052389A JP 2008052389 A JP2008052389 A JP 2008052389A JP 2006226086 A JP2006226086 A JP 2006226086A JP 2006226086 A JP2006226086 A JP 2006226086A JP 2008052389 A JP2008052389 A JP 2008052389A
- Authority
- JP
- Japan
- Prior art keywords
- logic circuit
- data
- configuration data
- error detection
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
本発明は、プログラマブル論理回路の内部回路を更新する技術に関する。 The present invention relates to a technique for updating an internal circuit of a programmable logic circuit.
近年、特定用途向けの集積回路であるASIC(Application Specific Integrated Circuit)に代わり、内部回路のプログラムが可能なFPGA(Field Programmable Gate Array)やCPLD(Complex Programmable Logic Device)といったプログラマブル論理回路が最終製品の基幹部品として実装されることが多くなっている。 In recent years, programmable logic circuits such as FPGAs (Field Programmable Gate Arrays) and CPLDs (Complex Programmable Logic Devices) that can program internal circuits are the final products instead of ASICs (Application Specific Integrated Circuits) that are integrated circuits for specific applications. It is increasingly mounted as a key component.
上述したプログラマブル論理回路のうち、SRAM型のFPGAは、その起動時に不揮発性のメモリからコンフィギュレーションデータと呼ばれるデータをダウンロードして、このデータに基づき内部回路の構成を行うものが一般的である(下記特許文献1参照)。このようなプログラマブル論理回路では、不揮発性のメモリに記憶されるコンフィギュレーションデータを随時書き換えることで、容易に、内部回路の修正や更新を行うことができる。なお、以下では、プログラマブル論理回路がコンフィギュレーションデータを読み込んで内部回路を構成することを、「コンフィギュレーション」と呼ぶ。 Among the programmable logic circuits described above, SRAM-type FPGAs generally download data called configuration data from a non-volatile memory at the time of startup, and configure the internal circuit based on this data ( See Patent Document 1 below). In such a programmable logic circuit, it is possible to easily modify or update the internal circuit by rewriting configuration data stored in the nonvolatile memory as needed. Hereinafter, the configuration in which the programmable logic circuit reads the configuration data to configure the internal circuit is referred to as “configuration”.
こうしたプログラマブル論理回路を搭載した製品では、不揮発性のメモリに記憶されたコンフィギュレーションデータを書き換えた際に、何らかの原因でその書き込み時にエラーが生じてしまうと、システムの起動後のコンフィギュレーションによってFPGAが正常に機能しなくなるという問題があった。このような問題に対処するために、例えば、コンフィギュレーションデータの書き換え後に、そのFPGAを備える製品に搭載されたCPUが、コンペアチェック等の方法で書き込み後のコンフィギュレーションデータの整合性を確認することが考えられる。ところが、このような方法では、CPUにかかる処理負担が増大してしまい、CPUが本来実行すべき処理に影響が及び、処理速度の低下や起動時間の遅延等が発生してしまうおそれがあった。特に、1つのCPUに対して、複数のFPGAが接続されているシステムにおいて、このような影響は看過できないものとなる。 In a product equipped with such a programmable logic circuit, when the configuration data stored in the non-volatile memory is rewritten, if an error occurs during the writing for some reason, the FPGA is configured by the configuration after system startup. There was a problem that it would not function properly. In order to deal with such a problem, for example, after rewriting the configuration data, the CPU mounted on the product including the FPGA confirms the consistency of the configuration data after writing by a method such as a compare check. Can be considered. However, with such a method, the processing load on the CPU increases, which may affect the processing that the CPU originally executes, and may cause a reduction in processing speed, a delay in startup time, and the like. . In particular, in a system in which a plurality of FPGAs are connected to one CPU, such influence cannot be overlooked.
このようなコンフィギュレーションデータの書き換え時に発生する問題を考慮し、本発明が解決しようとする課題は、メモリに書き込まれたコンフィギュレーションデータの誤りを簡易な構成で検出することにある。 In consideration of such a problem that occurs at the time of rewriting configuration data, the problem to be solved by the present invention is to detect an error in configuration data written in a memory with a simple configuration.
上記課題を踏まえ、本発明のプログラマブル論理回路更新装置を次のように構成した。すなわち、
プログラマブル論理回路の回路構成を更新するプログラマブル論理回路更新装置であって、
所定のメモリに記憶されたコンフィギュレーションデータを読み込み、該コンフィギュレーションデータに基づいて、所定の機能を有する主論理回路と、前記メモリに記憶されたコンフィギュレーションデータの誤り検出を行うチェック論理回路とを実現するプログラマブル論理回路と、
前記メモリに、新たなコンフィギュレーションデータと、該新たなコンフィギュレーションデータに基づいて定まる誤り検出データとを書き込む書込部と、
前記チェック論理回路によって前記新たなコンフィギュレーションデータの誤り検出を行った結果、該新たなコンフィギュレーションデータに誤りが検出されなかった場合に、該新たなコンフィギュレーションデータに基づき、前記プログラマブル論理回路に回路構成を更新させる更新部とを備え、
前記チェック論理回路は、前記書込部によって前記新たなコンフィギュレーションデータと前記誤り検出データとが前記メモリに書き込まれた場合に、前記メモリから該新たなコンフィギュレーションデータを読み出して該コンフィギュレーションデータに基づき誤り検出データを算出し、該算出した誤り検出データと、前記書込部によって前記メモリに書き込まれた前記誤り検出データとを比較することで、前記メモリに書き込まれた新たなコンフィギュレーションデータの誤り検出を行うことを要旨とする。
Based on the above problems, the programmable logic circuit update device of the present invention is configured as follows. That is,
A programmable logic circuit updating device for updating a circuit configuration of a programmable logic circuit,
A main logic circuit having a predetermined function is read based on the configuration data, and a check logic circuit for detecting an error in the configuration data stored in the memory, based on the configuration data. A programmable logic circuit to be realized;
A writing unit for writing new configuration data and error detection data determined based on the new configuration data to the memory;
If no error is detected in the new configuration data as a result of the error detection of the new configuration data by the check logic circuit, a circuit is connected to the programmable logic circuit based on the new configuration data. An update unit for updating the configuration,
The check logic circuit, when the new configuration data and the error detection data are written to the memory by the writing unit, reads the new configuration data from the memory and converts it into the configuration data. The error detection data is calculated based on the calculated error detection data, and the error detection data written to the memory by the writing unit is compared with the new configuration data written to the memory. The gist is to perform error detection.
また、本発明は、次のようなプログラマブル論理回路の更新方法としても構成することができる。すなわち、本発明の更新方法は、
プログラマブル論理回路の回路構成を更新する更新方法であって、
前記プログラマブル論理回路が、所定のメモリに記憶されたコンフィギュレーションデータを読み込み、該コンフィギュレーションデータに基づいて、所定の機能を有する主論理回路と、前記メモリに記憶されたコンフィギュレーションデータの誤り検出を行うチェック論理回路とを実現し、
所定の書込部が、前記メモリに、新たなコンフィギュレーションデータと、該新たなコンフィギュレーションデータに基づいて定まる誤り検出データとを書き込み、
前記書込部によって前記新たなコンフィギュレーションデータと前記誤り検出データとが前記メモリに書き込まれた場合に、前記チェック論理回路が、前記メモリから前記新たなコンフィギュレーションデータを読み出して該コンフィギュレーションデータに基づき誤り検出データを算出し、該算出した誤り検出データと、前記メモリに書き込まれた前記誤り検出データとを比較して、前記メモリに書き込まれた新たなコンフィギュレーションデータの誤り検出を行い、
前記チェック論理回路による誤り検出の結果、前記新たなコンフィギュレーションデータに誤りが検出されなかった場合に、該新たなコンフィギュレーションデータに基づき、前記プログラマブル論理回路に回路構成を更新させることを要旨とする。
The present invention can also be configured as a method for updating a programmable logic circuit as follows. That is, the update method of the present invention is:
An update method for updating a circuit configuration of a programmable logic circuit,
The programmable logic circuit reads configuration data stored in a predetermined memory, and based on the configuration data, detects an error in the main logic circuit having a predetermined function and the configuration data stored in the memory. The check logic circuit to perform,
A predetermined writing unit writes new configuration data and error detection data determined based on the new configuration data to the memory;
When the new configuration data and the error detection data are written to the memory by the writing unit, the check logic circuit reads the new configuration data from the memory and uses the new configuration data as the configuration data. Calculating error detection data based on the error detection data, comparing the calculated error detection data with the error detection data written to the memory, and performing error detection of the new configuration data written to the memory;
As a result, when no error is detected in the new configuration data as a result of error detection by the check logic circuit, the programmable logic circuit is updated based on the new configuration data. .
本発明のプログラマブル論理回路更新装置および更新方法では、新たなコンフィギュレーションデータをメモリに書き込むと、プログラマブル論理回路内に実現されたチェック論理回路によって、そのコンフィギュレーションデータがメモリに正しく書き込まれたかを確認することができる。従って、電源の再投入に伴ってプログラム論理回路のコンフィギュレーションが実行されたとしても、メモリに対する書き込みエラー等に起因して、プログラマブル論理回路が動作不能となることを抑制することができる。 In the programmable logic circuit updating apparatus and the updating method of the present invention, when new configuration data is written in the memory, the check logic circuit implemented in the programmable logic circuit confirms whether the configuration data is correctly written in the memory. can do. Therefore, even if the configuration of the program logic circuit is executed as the power is turned on again, it is possible to prevent the programmable logic circuit from becoming inoperable due to a write error to the memory or the like.
また、本発明では、コンフィギュレーションデータの誤り検出を行うチェック論理回路を、プログラマブル論理回路の内部回路として実現するものとした。そのため、新たなハードウェアを別途用意することなく簡易な構成で誤り検出を行うことができる。 Further, in the present invention, the check logic circuit for detecting configuration data errors is realized as an internal circuit of the programmable logic circuit. For this reason, error detection can be performed with a simple configuration without separately preparing new hardware.
なお、上記構成のプログラマブル論理回路更新装置において、前記プログラマブル論理回路としては、フィールドプログラマブルゲートアレイ(FPGA)を採用することができる。また、FPGA以外にも、電源の投入毎にコンフィギュレーションデータを入力して回路構成を行う他のデバイスを採用するものとしてもよい。 In the programmable logic circuit updating apparatus having the above configuration, a field programmable gate array (FPGA) can be adopted as the programmable logic circuit. In addition to the FPGA, another device that inputs the configuration data every time the power is turned on and performs the circuit configuration may be employed.
上記構成において、メモリに書き込まれる誤り検出データは、書込部がコンフィギュレーションデータの書き込み時に事前に算出して求めるものとしてもよい。また、その他にも、コンフィギュレーションデータを用意する他の機器によって予め算出されているものとしてもよい。 In the above configuration, the error detection data written in the memory may be calculated and obtained in advance by the writing unit when the configuration data is written. In addition, it may be calculated in advance by another device that prepares configuration data.
上記構成のプログラマブル論理回路更新装置において、
前記チェック論理回路は、前記誤り検出の結果、前記新たなコンフィギュレーションデータに誤りを検出した場合に、前記書込部に、再度、前記新たなコンフィギュレーションデータと前記誤り検出データとを書き込ませるものとしてもよい。
In the programmable logic circuit update device configured as described above,
The check logic circuit causes the writing unit to write the new configuration data and the error detection data again when an error is detected in the new configuration data as a result of the error detection. It is good.
このような構成であれば、メモリに対する新たなコンフィギュレーションデータの書き込みが失敗した場合であっても、再度、書き込み処理を行うことができるため、コンフィギュレーションデータが正しく書き込まれる精度を高めることができる。 With such a configuration, even if the writing of new configuration data to the memory fails, the writing process can be performed again, so that the accuracy of correctly writing the configuration data can be improved. .
上記構成のプログラマブル論理回路更新装置において、
前記誤り検出データは、前記新たなコンフィギュレーションデータから算出されたチェックサムデータ、CRCデータ、および、パリティデータのうち、いずれかのデータ、または、これらのデータを2以上組み合わせたデータであるものとすることができる。
In the programmable logic circuit update device configured as described above,
The error detection data is any of checksum data, CRC data, and parity data calculated from the new configuration data, or data obtained by combining two or more of these data can do.
このような構成であれば、既存の誤り検出方法を用いて容易にメモリに書き込まれたコンフィギュレーションデータの誤りを検出することができる。特に、チェックサムデータによって誤り検出を行うものとすれば、単純な加算回路や比較回路によって誤り検出の精度が比較的高いチェック論理回路を実現することができる。この結果、プログラマブル論理回路の回路規模が増大することを抑制することができる。 With such a configuration, it is possible to easily detect an error in the configuration data written in the memory using an existing error detection method. In particular, if error detection is performed using checksum data, a check logic circuit with relatively high error detection accuracy can be realized by a simple addition circuit or comparison circuit. As a result, an increase in the circuit scale of the programmable logic circuit can be suppressed.
また、本発明は、上述したプログラマブル論理回路更新装置を備え、前記主論理回路が、入力したデータに対して所定のデータ処理を行って出力するデータ処理装置として構成することができる。 Furthermore, the present invention can be configured as a data processing device that includes the above-described programmable logic circuit updating device, and in which the main logic circuit performs predetermined data processing on input data and outputs it.
このようなデータ処理装置であれば、例えば、入力したネットワークデータの宛先アドレスを解析したり、転送したパケットの数をカウントしたりする処理を行うことができる。また、その他にも、入力した画像データや映像データに対して、種々の画像処理を施すものとすることもできるし、入力した音声データに基づき音声を出力する処理を行うものとすることも可能である。 With such a data processing device, for example, it is possible to perform processing for analyzing the destination address of the input network data and counting the number of transferred packets. In addition, it is also possible to perform various image processing on the input image data and video data, or to perform processing for outputting sound based on the input audio data. It is.
また、本発明は、次のようなネットワーク装置としても構成することができる。すなわち、本発明のネットワーク装置は、
プログラマブル論理回路を備えるネットワーク装置であって、
それぞれ前記プログラマブル論理回路を有すると共に、複数の回線ポートを備え、該回線ポートのいずれかから入力したネットワークパケットを、該ネットワークパケットの宛先に応じて他の回線ポートに転送する複数の回線処理カードと、
前記各回線処理カードの統括管理を行うCPUとを備え、
前記各回線処理カードのプログラマブル論理回路は、該各回線処理カードに搭載された所定のメモリからコンフィギュレーションデータを読み込み、該コンフィギュレーションデータに基づいて、該回線処理カードと前記CPUとの接続を行うインタフェース論理回路と、前記メモリに記憶されたコンフィギュレーションデータの誤り検出を行うチェック論理回路とを実現し、
前記CPUは、
前記インタフェース論理回路を介して、前記各回線処理カードに搭載されたメモリに、新たなコンフィギュレーションデータと、該新たなコンフィギュレーションデータに基づいて定まる誤り検出データとを書き込む手段と、
前記チェック論理回路によって前記新たなコンフィギュレーションデータの誤り検出を行った結果、前記新たなコンフィギュレーションデータに誤りが検出されなかった場合に、該新たなコンフィギュレーションデータに基づき、前記プログラマブル論理回路に回路構成を更新させる手段とを備え、
前記チェック論理回路は、前記CPUによって前記新たなコンフィギュレーションデータと前記誤り検出データとが前記メモリに書き込まれた場合に、前記メモリから該新たなコンフィギュレーションデータを読み出して該コンフィギュレーションデータに基づき誤り検出データを算出し、該算出した誤り検出データと、前記CPUによって前記メモリに書き込まれた前記誤り検出データとを比較することで、前記メモリに書き込まれた新たなコンフィギュレーションデータの誤り検出を行うことを要旨とする。
The present invention can also be configured as the following network device. That is, the network device of the present invention
A network device comprising a programmable logic circuit,
A plurality of line processing cards each having the programmable logic circuit, including a plurality of line ports, and transferring a network packet input from any of the line ports to another line port according to the destination of the network packet; ,
A CPU that performs overall management of each line processing card,
The programmable logic circuit of each line processing card reads configuration data from a predetermined memory mounted on each line processing card, and connects the line processing card and the CPU based on the configuration data. An interface logic circuit and a check logic circuit for detecting an error in the configuration data stored in the memory are realized,
The CPU
Means for writing new configuration data and error detection data determined based on the new configuration data to the memory mounted on each line processing card via the interface logic circuit;
If no error is detected in the new configuration data as a result of detecting the error in the new configuration data by the check logic circuit, a circuit is connected to the programmable logic circuit based on the new configuration data. Means for updating the configuration,
The check logic circuit, when the new configuration data and the error detection data are written to the memory by the CPU, reads the new configuration data from the memory and performs an error based on the configuration data. The detection data is calculated, and the error detection data newly written in the memory is detected by comparing the calculated error detection data with the error detection data written in the memory by the CPU. This is the gist.
本発明のネットワーク装置は、プログラマブル論理回路によって実現されたインタフェース論理回路を介して、1つのCPUと複数の回線処理カードとが接続されている態様を採っている。こうした本発明のネットワーク装置によれば、各回線処理カードが備えるチェック論理回路によって、各回線処理カードが、それぞれ自立的に、メモリに書き込まれた新たなコンフィギュレーションデータの誤りを検出することができる。そのため、CPUにかかる処理負担が軽減されるとともに、コンフィギュレーションデータの書き込みエラーに伴う再起動後の動作不良を抑制することが可能になる。 The network apparatus of the present invention adopts a mode in which one CPU and a plurality of line processing cards are connected via an interface logic circuit realized by a programmable logic circuit. According to such a network apparatus of the present invention, each line processing card can independently detect an error in new configuration data written in the memory by the check logic circuit included in each line processing card. . As a result, the processing burden on the CPU is reduced, and it is possible to suppress malfunctions after restart due to configuration data write errors.
以下、上述した本発明の作用・効果を一層明らかにするため、本発明の実施の形態および実施例を次の順序で説明する。
A.実施の形態:
(A1)プログラマブル論理回路更新装置の構成:
(A2)コンフィギュレーションデータ更新時の動作:
B.実施例:
(B1)ネットワークスイッチ装置の構成:
(B2)プログラマブル論理回路更新装置の構成:
(B3)コンフィギュレーションデータ更新時の動作:
Hereinafter, in order to further clarify the operation and effect of the present invention described above, embodiments and examples of the present invention will be described in the following order.
A. Embodiment:
(A1) Configuration of programmable logic circuit update device:
(A2) Operation when updating configuration data:
B. Example:
(B1) Configuration of network switch device:
(B2) Configuration of programmable logic circuit update device:
(B3) Operation when updating configuration data:
A.実施の形態:
(A1)プログラマブル論理回路更新装置の構成:
図1は、本発明の実施形態としてのプログラマブル論理回路更新装置100の概略構成を示す説明図である。図示するように、本実施形態のプログラマブル論理回路更新装置100は、FPGA110と更新制御回路120とフラッシュメモリ130とCPU140とRAM150とを備えている。本実施形態のFPGA110は、本願の「プログラマブル論理回路」に対応し、フラッシュメモリ130は「メモリ」に、CPU140および更新制御回路120は「書込部」と「更新部」に、それぞれ対応する。
A. Embodiment:
(A1) Configuration of programmable logic circuit update device:
FIG. 1 is an explanatory diagram showing a schematic configuration of a programmable logic
FPGA110は、制御信号線122と、データ信号線124と、要求信号線126とによって更新制御回路120に接続されている。この更新制御回路120には、フラッシュインタフェース135を介してフラッシュメモリ130が接続されている。FPGA110と更新制御回路120とには、CPUバス145を介して、CPU140が接続されている。CPU140には、メモリバス155を介してRAM150が接続されている。
The
FPGA110は、例えば、数十万ゲートの規模を有するプログラマブル論理回路であり、LUT(Look Up Table)やセレクタ、フリップフロップ等の回路を多数備えている。LUTの内容は揮発性のSRAMによって保持されている。そのため、電源の投入毎に、外部のメモリからコンフィギュレーションデータと呼ばれるデータを入力し、これにより、内部の論理回路を構成(コンフィギュレーション)する。本実施形態では、このコンフィギュレーションにより、主機能論理回路112と、チェック論理回路114とが内部回路として構成される。
The
主機能論理回路112は、FPGA110の動作状態において所定の機能を発揮するメインの論理回路である。この主機能論理回路112によって実現する機能は、プログラマブル論理回路更新装置100を備える装置に応じて適宜種々のものを適用できる。例えば、プログラマブル論理回路更新装置100がネットワーク装置に搭載される場合には、MIB(Management Information Base)情報としてパケットの転送数をカウントする論理回路や回線毎のMACアドレスを学習する論理回路等として構成することができる。また、映像機器や音声機器に搭載される場合には、画像処理や音声出力を行う回路としても構成することができる。一方、チェック論理回路114は、CPU140が、フラッシュメモリ130に新たなコンフィギュレーションデータを書き込んだ場合に、書き込み後のデータの誤り検出を行う論理回路である。このチェック論理回路114によって行われる処理の詳細については後述する。
The main
更新制御回路120は、プログラマブル論理回路更新装置100の電源投入時やCPU140から指示を受けた場合に、FPGA110にコンフィギュレーションを行わせる機能と、CPU140から転送された新たなコンフィギュレーションデータを、フラッシュメモリ130に中継する機能とを備える。更新制御回路120は、例えば、FPGA110とは異なるFPGAや、CPLD、マイクロコンピュータ等によって構成することができる。
The
更新制御回路120は、プログラマブル論理回路更新装置100の電源投入時やCPU140から指示を受けた場合に、制御信号線122を駆動することで、FPGA110に対してコンフィギュレーションを行うよう命令する。FPGA110は、この命令を受けると、データ信号線124を通じて更新制御回路120によってフラッシュメモリ130から転送されたコンフィギュレーションデータを読み込み、内部回路(主機能論理回路112およびチェック論理回路114)を構成する。
The
CPU140は、フラッシュメモリ130に記憶されたコンフィギュレーションデータを更新する機能を備える。この更新処理は、RAM150に記憶された所定のプログラムを実行することで行われる。CPU140に接続されたRAM150には、新たなコンフィギュレーションデータが記憶されている。この新たなコンフィギュレーションデータにも、チェック論理回路114を実現するためのデータが含まれている。CPU140はメモリバス155を介してこのデータを読み込み、更新制御回路120を介してフラッシュメモリ130に書き込みを行う。RAM150に記憶されている新たなコンフィギュレーションデータは、例えば、ネットワークやメモリカード、CD−ROM等の媒体から入力することができる。
The
(A2)コンフィギュレーションデータ更新時の動作:
図2は、本実施形態のプログラマブル論理回路更新装置100において、コンフィギュレーションデータを更新する際の動作の流れを示すフローチャートである。
(A2) Operation when updating configuration data:
FIG. 2 is a flowchart showing an operation flow when the configuration data is updated in the programmable logic
まず、CPU140は、RAM150から新たなコンフィギュレーションデータを読み出し、更新制御回路120を介して、フラッシュメモリ130内のコンフィギュレーションデータの書き換えを行う(ステップS100)。このとき、CPU140は、RAM150から新たなコンフィギュレーションデータを読み込むと同時に、このデータの値を合計することで、誤り検出データとしてチェックサムデータを算出する。そして、このチェックサムデータを、新たなコンフィギュレーションデータとともにフラッシュメモリ130に書き込む(ステップS110)。なお、かかる処理では、予め算出されたチェックサムデータをRAM150から読み出し、これをフラッシュメモリ130に書き込むものとしてもよい。
First, the
コンフィギュレーションデータとチェックサムデータの書き換えが完了すると、CPU140は、CPUバス145を介して、FPGA110内のチェック論理回路114に、新たなコンフィギュレーションデータの誤り検出を行うよう命令する(ステップS120)。チェック論理回路114は、この命令を受けると、要求信号線126を駆動して、更新制御回路120に対し、新たなコンフィギュレーションデータとチェックサムデータの転送を要求する(ステップS130)。かかる要求を受けると、更新制御回路120は、フラッシュメモリ130からコンフィギュレーションデータおよびチェックサムデータを読み出し、データ信号線124を介してこれらをチェック論理回路114に転送する(ステップS140)。なお、このとき更新制御回路120は、FPGA110が通常のコンフィギュレーションを開始しないよう、制御信号線122の駆動は行わない。
When the rewriting of the configuration data and the checksum data is completed, the
チェック論理回路114は、新たなコンフィギュレーションデータとチェックサムデータとを受信すると、受信したコンフィギュレーションデータを構成する各データの合計値からチェックサムデータを算出し、こうして算出したチェックサムデータと、データ信号線124を介して入力したチェックサムデータとを比較する(ステップS150)。比較の結果、値が異なれば、誤りが検出されたことになる。このように誤り検出を行うと、チェック論理回路114は、この誤り検出の結果をCPU140に通知する(ステップS160)。
When the
CPU140は、誤り検出の結果を受信し、その結果が「誤りなし」であれば(ステップS170:Yes)、更新制御回路120に指令を与え、FPGA110のコンフィギュレーションを行わせる(ステップS180)。こうすることで、書き換え後のコンフィギュレーションデータがフラッシュメモリ130から読み込まれ、FPGA110に新たな論理回路(新たな主機能論理回路112およびチェック論理回路114)が構成される。これに対して、誤り検出の結果が、「誤りあり」であれば(ステップS170:No)、CPU140は、再度上記ステップS100に処理を戻し、再度、コンフィギュレーションデータの書き換えを実行する。こうすることで、新たなコンフィギュレーションデータに誤りがなくなるまで、フラッシュメモリ130に新たなコンフィギュレーションデータが書き込まれることになる。なお、上記ステップS180で実行されるコンフィギュレーションのタイミングは、ステップS170で「誤りなし」と判定された直後でなくてもよい。例えば、主機能論理回路112が機能を停止しているタイミングや、装置全体が再起動されるタイミングで実行することができる。
The
以上で説明した本実施形態によれば、FPGA110の動作中にフラッシュメモリ130に新たなコンフィギュレーションデータが書き込まれると、チェック論理回路114によってそのデータが正しく書き込まれたか否かをチェックすることができる。従って、コンフィギュレーションデータの書き込みエラーを原因として、次回の電源投入等に行われるコンフィギュレーションにおいてFPGA110に動作不良が発生することを防止することができる。
According to the present embodiment described above, when new configuration data is written in the
また、本実施形態では、フラッシュメモリ130に書き込まれたコンフィギュレーションデータの誤り検出を、FPGA110の内部回路として構成したチェック論理回路114で行うものとした。従って、誤り検出専用のハードウェアを別途用意することなく、低コストに装置を構成することができる。特に、本実施形態では、コンフィギュレーションデータが正しく書き込まれたか否かの確認をチェックサムデータを用いて行うものとしたため、チェック論理回路114は、比較的単純な加算回路や比較回路によって実現することができる。従って、FPGA110の回路規模が増大することを抑制することができるので、FPGA110にチェック論理回路を追加することに伴うコストアップを抑制することができる。
In this embodiment, the error detection of the configuration data written in the
なお、上述したコンフィギュレーションデータ書き換え時の動作において、書き換え後のコンフィギュレーションデータに誤りが検出された場合には、CPU140は、再度、フラッシュメモリ130に新たなコンフィギュレーションデータを書き込むものとしたが、この再書き込みには、回数制限を設けるものとしてもよい。例えば、3回連続して書き込みに失敗した場合には、警告音を発したり、所定のLEDを点滅あるいは点灯したりするなどして、管理者に書き込みが正常に行えないことを報知するものとしてもよい。こうすることで、ハードウェアの不具合等によって正常な書き込みが行えないことを管理者に知らせることが可能になる。
In the operation at the time of rewriting the configuration data, when an error is detected in the rewritten configuration data, the
B.実施例:
(B1)ネットワークスイッチ装置の構成:
次に、上述した実施の形態を踏まえ、本発明のより具体的な実施例について説明する。
図3は、実施例としてのプログラマブル論理回路更新装置540を備えるネットワークスイッチ装置200の概略構成を示す説明図である。このネットワークスイッチ装置200は、いわゆるシャーシ型のネットワークスイッチ装置であり、内部に、CPUカード300と、スイッチ処理カード400と、複数の回線処理カード500とを備えている。本実施例では、回線処理カード500にプログラマブル論理回路更新装置540が備えられているものとする。ただし、CPUカード300やスイッチ処理カード400にもプログラマブル論理回路更新装置が備えられているものとしてもよい。
B. Example:
(B1) Configuration of network switch device:
Next, based on the above-described embodiment, more specific examples of the present invention will be described.
FIG. 3 is an explanatory diagram illustrating a schematic configuration of the
CPUカード300は、ネットワークスイッチ装置200の全般的な統括制御を行うためのカードである。CPUカード300は、CPU310とRAM330とROM340と、CPUインタフェースとして機能するFPGA320とによって構成されている。ROM340にはファームウェアが格納されており、CPU310は、このファームウェアをRAM330に展開して実行することで種々の処理を行う。実行する処理としては、例えば、回線処理カード500が備えるFPGA520の回路内容の更新処理、図示していない外部機器や操作パネルからの設定操作の受け付け、ルーティングテーブルの維持管理、SNMP(Simple Network Management Protocol)プロトコルの処理、回線処理カード500が備える各回線ポート510の有効/無効あるいは回線速度の設定などといった処理がある。
The
CPUカード300のRAM330には、各回線処理カード500に実装されたFPGA520の回路内容を更新するための新たなコンフィギュレーションデータが記憶されている。このコンフィギュレーションデータは、例えば、ネットワークやメモリカード、CD−ROM等の媒体を介してRAM330に入力することができる。
The
CPUカード300に実装されたFPGA320は、スイッチ処理カード400のFPGA420や各回線処理カード500のFPGA520とCPUバス360によって接続されている。上述したように、これらのFPGAは、それぞれ、CPU140との通信を仲介するインタフェース回路として機能する。
The
回線処理カード500は、それぞれがスイッチングハブとしての機能を備えるカードである。回線処理カード500は、複数の回線ポート510と、回線処理LSI530と、CPUインタフェースとして機能するFPGA520と、プログラマブル論理回路更新装置540とによって構成されている。回線処理LSI530は、各回線ポート510から入力したパケットのMACアドレスを解析して最適な回線ポート510にパケットの転送を行う。この回線処理LSI530は、スイッチ処理カード400のスイッチLSI410に、広帯域な通信路460を介して接続されている。回線処理LSI530は、入力したパケットが、自己の管理していないポート宛のパケットであれば、通信路460を通じてそのパケットをスイッチ処理カード400に転送する。
The
スイッチ処理カード400は、回線処理カード500から転送されたパケットを他の回線処理カード500に転送するためのカードである。スイッチ処理カード400は、スイッチLSI410とCPUインタフェースとして機能するFPGA420とによって構成されている。スイッチLSI410には、各回線処理カード500の回線処理LSI530が接続されている。スイッチLSI410は、ある回線処理カード500からパケットの転送を受けると、そのパケットの宛先を解析して、その宛先に適した回線処理カード500に対してそのパケットを転送する機能を備える。
The
(B2)プログラマブル論理回路更新装置の構成:
図4は、回線処理カード500が備えるプログラマブル論理回路更新装置540の詳細な構成を示す説明図である。プログラマブル論理回路更新装置540は、FPGA520と、更新制御回路542と、フラッシュメモリ544とから構成される。
(B2) Configuration of programmable logic circuit update device:
FIG. 4 is an explanatory diagram showing a detailed configuration of the programmable logic
FPGA520は、内部回路として、CPUインタフェース論理回路522とチェック論理回路524とを備えている。CPUインタフェース論理回路522は、CPUカード300のCPU140と回線処理カード500とを接続するためのインタフェース回路である。このCPUインタフェース論理回路522は、バッファ領域として512バイト分の内蔵RAM523を備えている。チェック論理回路524は、上述した実施形態のチェック論理回路114と同様に、フラッシュメモリ544に記憶されたコンフィギュレーションデータの誤り検出を行うための回路である。チェック論理回路524は、CPU310からの種々の指令の受け付けや、誤り検出の結果を保存するためのレジスタ525を内部に備えている。CPUインタフェース論理回路522とチェック論理回路524とは、FPGA520が、フラッシュメモリ544に記憶されたコンフィギュレーションデータを読み込むことで構成される。
The
更新制御回路542は、上述した実施形態の更新制御回路120と同等の機能を備える。すなわち、回線処理カード500の電源投入時に、制御信号線552を用いてFPGA520にコンフィギュレーションを行わせる機能と、CPUカード300からCPUインタフェース論理回路522を介して転送された新たなコンフィギュレーションデータを、フラッシュメモリ544に中継する機能とを備える。本実施例の更新制御回路542は、不揮発性のプログラマブル論理回路であるCPLDによって構成されている。
The
CPUインタフェース論理回路522と更新制御回路542とは、ローカルバス551によって接続されている。また、チェック論理回路524と更新制御回路542とは、データ信号線553と、要求信号線554と、応答信号線555とによって接続されている。更新制御回路542とフラッシュメモリ544とは、フラッシュインタフェース556によって接続されている。
The CPU
(B3)コンフィギュレーションデータ更新時の動作:
図5は、本実施例のプログラマブル論理回路更新装置540において、コンフィギュレーションデータを更新する際の動作の流れを示すフローチャートである。
(B3) Operation when updating configuration data:
FIG. 5 is a flowchart showing an operation flow when the configuration data is updated in the programmable logic
まず、CPUカード300に実装されたCPU310は、フラッシュメモリ544内に記憶された更新前のコンフィギュレーションデータの消去を行う(ステップS200)。
First, the
次に、CPU310は、CPUカード300上のRAM340に記憶された新たなコンフィギュレーションデータを512バイト単位に分割し、分割した各データを、回線処理カード500のCPUインタフェース論理回路522に送信する。CPUインタフェース論理回路522は、このデータの転送を受けると、一旦、内蔵RAM523にバッファリングし、これを、順次、フラッシュメモリ544に書き込む(ステップS210)。なお、本実施例では、RAM340に記憶されている新たなコンフィギュレーションの先頭には、このコンフィギュレーションデータから予め計算されたチェックサムデータが付加されているものとする。
Next, the
CPUインタフェース論理回路522は、512バイトのデータの書き込みが完了したと判断すると(ステップS220:Yes)、その旨をCPU310に通知する。CPU310は、この通知を受けると、全てのデータの書き込みが完了したかを判断し(ステップS230)、完了していなければ(ステップS230:No)、次の512バイトのデータをCPUインタフェース論理回路522に転送し、書き込みを行う。
When the CPU
上記ステップS230において、CPU310が、全てのデータの書き込みが完了したと判断すると(ステップS230:Yes)、続いて、書き込みを行った新たなコンフィギュレーションデータのサイズをチェック論理回路524のレジスタに設定する(ステップS240)。チェック論理回路524は、この設定を受けると、要求信号線554を駆動して、更新制御回路542に対して上記ステップS240で設定を受けたサイズ分のコンフィギュレーションデータの転送を要求する(ステップS250)。更新制御回路542は、この要求を受けると、コンフィギュレーションデータの転送の準備が完了次第、応答信号線555を駆動し、これからデータの転送を開始する旨をチェック論理回路524に通知する。かかる通知の後、更新制御回路542は、フラッシュメモリ544からコンフィギュレーションデータを読み出し、データ信号線553を介して、チェック論理回路524に新たなコンフィギュレーションデータを転送する(ステップS260)。チェック論理回路524は、このデータの転送を受けて、コンフィグレーションデータの誤り検出を実行する(ステップS270)。
In step S230, when the
上述したように、フラッシュメモリ544に記憶された新たなコンフィギュレーションデータの先頭には、予め計算されたチェックサムデータが付加されている。従って、チェック論理回路524は、更新制御回路542からコンフィギュレーションデータの転送を受けると、まず、このチェックサムデータをコンフィギュレーションデータから分離し、その値を保持しておく。そして、データ信号線553を通じて受信したコンフィギュレーションデータの各値を加算していく。そして、その総計から算出されるチェックサムデータと、保持しておいたチェックサムデータの値とが一致しているかを確認する。これらの値が一致すれば、コンフィギュレーションデータが正しくフラッシュメモリ544に書き込まれていることになる。
As described above, checksum data calculated in advance is added to the head of new configuration data stored in the
以上の処理によって、書き換え後のコンフィギュレーションデータの誤り検出が完了すると、チェック論理回路524は、誤り検出の結果をレジスタ525に書き込み(ステップS280)、CPU310に誤り検出が完了した旨を通知する。
When the error detection of the rewritten configuration data is completed by the above processing, the
CPU310は、チェック論理回路524から誤り検出が完了した旨の通知を受けると、レジスタ525に記録された検出結果を読み込む(ステップS290)。そして、この読み込みの結果、コンフィギュレーションデータに誤りなしと判断すれば(ステップS300:Yes)、更新制御回路542に指示を与え、FPGA520のコンフィギュレーションを行わせる(ステップS310)。これに対して、コンフィグレーションデータに誤りがあると判断すれば(ステップS300:No)、コンフィギュレーションデータが正しくフラッシュメモリ544に書き込まれていないことになるため、再度、上記ステップS200から処理をやり直す。こうすることで、新たなコンフィギュレーションデータが正しくフラッシュメモリ544に書き込まれるまで、上述した一連の処理が繰り返し実行されることになる。
When the
なお、本実施例においても、上述した実施形態と同様に、新たなコンフィギュレーションデータが正しく書き込めなかった場合において、フラッシュメモリ544に対する再書き込み回数を制限するものとしてもよい。また、上記ステップS310で実行されるコンフィギュレーションは、CPUインタフェース論理回路522が機能を停止しているタイミングや、回線処理カード500の電源が再投入されるタイミングで実行することができる。また、上記ステップS270によってチェック論理回路524が誤り検出を行った結果、その判断結果が、「誤りなし」であれば、各回線処理カード500は、CPU310からの指示を待つことなく、自立的にFPGA520のコンフィギュレーションを行うものとすることができる。
In the present embodiment, similarly to the above-described embodiment, the number of rewrites to the
以上で説明した実施例によれば、ネットワークスイッチ装置200が備える複数の回線処理カード500が、それぞれ自立的に新たなコンフィギュレーションデータのチェックを行うことになる。従って、CPU310にかかる処理負担が軽減される。この結果、CPU310は、早期に、コンフィギュレーションデータの更新処理から解放されるため、自身が本来実行すべき処理(例えば、SNMPプロトコルの処理、設定操作の受け付け等)に早期に復帰することができる。
According to the embodiment described above, the plurality of
また、本実施例では、CPU310が書き換え後のコンフィギュレーションデータをチェックするのではなく、各回線処理カード500が自立的に書き換え後のコンフィギュレーションデータをチェックするため、各回線処理カード500は、CPU310によるチェック等を待たずに即座に自己が備えるFPGA520の更新を行うことができる。従って、回線処理カード500の更新自体が高速になり、FPGA520の更新を即座に行わないとネットワークスイッチ装置200の実運用に支障をきたすような状況においても、迅速に対応することが可能になる。
In the present embodiment, each
また、本実施例では、CPUインタフェース論理回路522が備える内蔵RAM523を利用して512バイト毎にコンフィギュレーションデータの転送を行うので、データの書き換え時にCPUバス360を長期間占有することがない。従って、CPUバス360を利用した他の処理に対する影響を抑制しつつ、効率的にフラッシュメモリ544に対する書き込みを行うことができる。
In this embodiment, the configuration data is transferred every 512 bytes by using the built-in
また、本実施例においても、FPGA520の動作中に、新たなコンフィギュレーションデータが正しく書き込まれたかをチェックすることができるので、コンフィギュレーションデータの書き込みエラーに伴って、次回の電源投入時にFPGA520が動作不良となることを防止することができる。
Also in this embodiment, since it is possible to check whether new configuration data has been correctly written during the operation of the
以上、本発明の実施の形態および実施例について説明したが、本発明はこれらの例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、上述した実施形態や実施例では、コンフィギュレーションデータの誤り検出にチェックサムデータを用いるものとしたが、その他にも、例えば、CRCデータやパリティデータを利用することができる。また、チェックサムデータやCRCデータ、パリティデータ等のうち2以上のデータを組み合わせて誤り検出を行うことも可能である。 As mentioned above, although embodiment and Example of this invention were described, it cannot be overemphasized that this invention is not limited to these examples, and can take a various structure in the range which does not deviate from the meaning. For example, in the above-described embodiments and examples, checksum data is used for configuration data error detection. In addition, for example, CRC data and parity data can be used. It is also possible to detect errors by combining two or more of checksum data, CRC data, parity data, and the like.
100…プログラマブル論理回路更新装置
110…FPGA
112…主機能論理回路
114…チェック論理回路
120…更新制御回路
122…制御信号線
124…データ信号線
126…要求信号線
130…フラッシュメモリ
135…フラッシュインタフェース
140…CPU
145…CPUバス
150…RAM
155…メモリバス
200…ネットワークスイッチ装置
300…CPUカード
310…CPU
320…FPGA
330…RAM
340…ROM
360…CPUバス
400…スイッチ処理カード
410…スイッチLSI
420…FPGA
460…通信路
500…回線処理カード
510…回線ポート
520…FPGA
522…CPUインタフェース論理回路
523…内蔵RAM
524…チェック論理回路
525…レジスタ
530…回線処理LSI
540…プログラマブル論理回路更新装置
542…更新制御回路
544…フラッシュメモリ
551…ローカルバス
552…制御信号線
553…データ信号線
554…要求信号線
555…応答信号線
556…フラッシュインタフェース
DESCRIPTION OF
DESCRIPTION OF
145 ...
155 ...
320 ... FPGA
330 ... RAM
340 ... ROM
360 ...
420 ... FPGA
460 ...
522: CPU interface logic circuit 523: Built-in RAM
524: Check logic circuit 525: Register 530: Line processing LSI
540 ... Programmable logic
Claims (7)
所定のメモリに記憶されたコンフィギュレーションデータを読み込み、該コンフィギュレーションデータに基づいて、所定の機能を有する主論理回路と、前記メモリに記憶されたコンフィギュレーションデータの誤り検出を行うチェック論理回路とを実現するプログラマブル論理回路と、
前記メモリに、新たなコンフィギュレーションデータと、該新たなコンフィギュレーションデータに基づいて定まる誤り検出データとを書き込む書込部と、
前記チェック論理回路によって前記新たなコンフィギュレーションデータの誤り検出を行った結果、該新たなコンフィギュレーションデータに誤りが検出されなかった場合に、該新たなコンフィギュレーションデータに基づき、前記プログラマブル論理回路に回路構成を更新させる更新部とを備え、
前記チェック論理回路は、前記書込部によって前記新たなコンフィギュレーションデータと前記誤り検出データとが前記メモリに書き込まれた場合に、前記メモリから該新たなコンフィギュレーションデータを読み出して該コンフィギュレーションデータに基づき誤り検出データを算出し、該算出した誤り検出データと、前記書込部によって前記メモリに書き込まれた前記誤り検出データとを比較することで、前記メモリに書き込まれた新たなコンフィギュレーションデータの誤り検出を行う
プログラマブル論理回路更新装置。 A programmable logic circuit updating device for updating a circuit configuration of a programmable logic circuit,
A main logic circuit having a predetermined function is read based on the configuration data, and a check logic circuit for detecting an error in the configuration data stored in the memory, based on the configuration data. A programmable logic circuit to be realized;
A writing unit for writing new configuration data and error detection data determined based on the new configuration data to the memory;
If no error is detected in the new configuration data as a result of the error detection of the new configuration data by the check logic circuit, a circuit is connected to the programmable logic circuit based on the new configuration data. An update unit for updating the configuration,
The check logic circuit, when the new configuration data and the error detection data are written to the memory by the writing unit, reads the new configuration data from the memory and converts it into the configuration data. The error detection data is calculated based on the calculated error detection data, and the error detection data written to the memory by the writing unit is compared with the new configuration data written to the memory. Programmable logic circuit update device that performs error detection.
前記チェック論理回路は、前記誤り検出の結果、前記新たなコンフィギュレーションデータに誤りを検出した場合に、前記書込部に、再度、前記新たなコンフィギュレーションデータと前記誤り検出データとを書き込ませる
プログラマブル論理回路更新装置。 The programmable logic circuit updating device according to claim 1,
The check logic circuit causes the writing unit to write the new configuration data and the error detection data again when an error is detected in the new configuration data as a result of the error detection. Logic circuit update device.
前記誤り検出データは、前記新たなコンフィギュレーションデータから算出されたチェックサムデータ、CRCデータ、および、パリティデータのうち、いずれかのデータ、または、これらのデータを2以上組み合わせたデータである
プログラマブル論理回路更新装置。 The programmable logic circuit updating device according to claim 1 or 2,
The error detection data is any one of checksum data, CRC data, and parity data calculated from the new configuration data, or data obtained by combining two or more of these data. Programmable logic Circuit update device.
前記プログラマブル論理回路は、フィールドプログラマブルゲートアレイである
プログラマブル論理回路更新装置。 The programmable logic circuit update device according to any one of claims 1 to 3,
The programmable logic circuit is a field programmable gate array.
前記プログラマブル論理回路が、所定のメモリに記憶されたコンフィギュレーションデータを読み込み、該コンフィギュレーションデータに基づいて、所定の機能を有する主論理回路と、前記メモリに記憶されたコンフィギュレーションデータの誤り検出を行うチェック論理回路とを実現し、
所定の書込部が、前記メモリに、新たなコンフィギュレーションデータと、該新たなコンフィギュレーションデータに基づいて定まる誤り検出データとを書き込み、
前記書込部によって前記新たなコンフィギュレーションデータと前記誤り検出データとが前記メモリに書き込まれた場合に、前記チェック論理回路が、前記メモリから前記新たなコンフィギュレーションデータを読み出して該コンフィギュレーションデータに基づき誤り検出データを算出し、該算出した誤り検出データと、前記メモリに書き込まれた前記誤り検出データとを比較して、前記メモリに書き込まれた新たなコンフィギュレーションデータの誤り検出を行い、
前記チェック論理回路による誤り検出の結果、前記新たなコンフィギュレーションデータに誤りが検出されなかった場合に、該新たなコンフィギュレーションデータに基づき、前記プログラマブル論理回路に回路構成を更新させる
更新方法。 An update method for updating a circuit configuration of a programmable logic circuit,
The programmable logic circuit reads configuration data stored in a predetermined memory, and based on the configuration data, detects an error in the main logic circuit having a predetermined function and the configuration data stored in the memory. The check logic circuit to perform,
A predetermined writing unit writes new configuration data and error detection data determined based on the new configuration data to the memory;
When the new configuration data and the error detection data are written to the memory by the writing unit, the check logic circuit reads the new configuration data from the memory and uses the new configuration data as the configuration data. Calculating error detection data based on the error detection data, comparing the calculated error detection data with the error detection data written to the memory, and performing error detection of the new configuration data written to the memory;
An update method for causing the programmable logic circuit to update a circuit configuration based on the new configuration data when no error is detected in the new configuration data as a result of error detection by the check logic circuit.
前記主論理回路は、入力したデータに対して所定のデータ処理を行って出力するものである
データ処理装置。 A data processing device comprising the programmable logic circuit updating device according to any one of claims 1 to 4,
The data processing device, wherein the main logic circuit performs predetermined data processing on input data and outputs the processed data.
それぞれ前記プログラマブル論理回路を有すると共に、複数の回線ポートを備え、該回線ポートのいずれかから入力したネットワークパケットを、該ネットワークパケットの宛先に応じて他の回線ポートに転送する複数の回線処理カードと、
前記各回線処理カードの統括管理を行うCPUとを備え、
前記各回線処理カードのプログラマブル論理回路は、該各回線処理カードに搭載された所定のメモリからコンフィギュレーションデータを読み込み、該コンフィギュレーションデータに基づいて、該回線処理カードと前記CPUとの接続を行うインタフェース論理回路と、前記メモリに記憶されたコンフィギュレーションデータの誤り検出を行うチェック論理回路とを実現し、
前記CPUは、
前記インタフェース論理回路を介して、前記各回線処理カードに搭載されたメモリに、新たなコンフィギュレーションデータと、該新たなコンフィギュレーションデータに基づいて定まる誤り検出データとを書き込む手段と、
前記チェック論理回路によって前記新たなコンフィギュレーションデータの誤り検出を行った結果、前記新たなコンフィギュレーションデータに誤りが検出されなかった場合に、該新たなコンフィギュレーションデータに基づき、前記プログラマブル論理回路に回路構成を更新させる手段とを備え、
前記チェック論理回路は、前記CPUによって前記新たなコンフィギュレーションデータと前記誤り検出データとが前記メモリに書き込まれた場合に、前記メモリから該新たなコンフィギュレーションデータを読み出して該コンフィギュレーションデータに基づき誤り検出データを算出し、該算出した誤り検出データと、前記CPUによって前記メモリに書き込まれた前記誤り検出データとを比較することで、前記メモリに書き込まれた新たなコンフィギュレーションデータの誤り検出を行う
ネットワーク装置。 A network device comprising a programmable logic circuit,
A plurality of line processing cards each having the programmable logic circuit, including a plurality of line ports, and transferring a network packet input from any of the line ports to another line port according to the destination of the network packet; ,
A CPU that performs overall management of each line processing card,
The programmable logic circuit of each line processing card reads configuration data from a predetermined memory mounted on each line processing card, and connects the line processing card and the CPU based on the configuration data. An interface logic circuit and a check logic circuit for detecting an error in the configuration data stored in the memory are realized,
The CPU
Means for writing new configuration data and error detection data determined based on the new configuration data to the memory mounted on each line processing card via the interface logic circuit;
If no error is detected in the new configuration data as a result of detecting the error in the new configuration data by the check logic circuit, a circuit is connected to the programmable logic circuit based on the new configuration data. Means for updating the configuration,
The check logic circuit, when the new configuration data and the error detection data are written to the memory by the CPU, reads the new configuration data from the memory and performs an error based on the configuration data. The detection data is calculated, and the error detection data newly written in the memory is detected by comparing the calculated error detection data with the error detection data written in the memory by the CPU. Network device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006226086A JP2008052389A (en) | 2006-08-23 | 2006-08-23 | Programmable logic circuit update device, update method, data processor and network equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006226086A JP2008052389A (en) | 2006-08-23 | 2006-08-23 | Programmable logic circuit update device, update method, data processor and network equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008052389A true JP2008052389A (en) | 2008-03-06 |
Family
ID=39236407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006226086A Pending JP2008052389A (en) | 2006-08-23 | 2006-08-23 | Programmable logic circuit update device, update method, data processor and network equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008052389A (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010166488A (en) * | 2009-01-19 | 2010-07-29 | Alaxala Networks Corp | Network relaying apparatus |
JP2010170240A (en) * | 2009-01-21 | 2010-08-05 | Fujitsu Telecom Networks Ltd | Revision management system of configuration data |
CN101587353B (en) * | 2008-05-23 | 2011-06-22 | 深圳市先阳软件技术有限公司 | Constant tension controller and control method for winding equipment |
JP2012038305A (en) * | 2010-08-05 | 2012-02-23 | Freescale Semiconductor Inc | Data processing system having error detection of set information of peripheral device |
JP2012190368A (en) * | 2011-03-13 | 2012-10-04 | Sii Network Systems Kk | Configuration redundancy apparatus and configuration method |
JP2013025437A (en) * | 2011-07-19 | 2013-02-04 | Hitachi Cable Ltd | Fpga system and electronic equipment |
CN103513994A (en) * | 2012-06-19 | 2014-01-15 | 记忆科技(深圳)有限公司 | Method and system for carrying out FPGA on-line upgrading through PCIE |
CN104050067A (en) * | 2014-05-23 | 2014-09-17 | 北京兆易创新科技股份有限公司 | Method and device for operation of FPGA (Field Programmable Gate Array) in MCU (Microprogrammed Control Unit) chip |
JP2014174812A (en) * | 2013-03-11 | 2014-09-22 | Ricoh Co Ltd | Integrated circuit, image processing device, method and program |
US9117047B2 (en) | 2013-11-28 | 2015-08-25 | Fujitsu Limited | Diagnosis device, control method of diagnosis device, and recording medium |
JP2017027133A (en) * | 2015-07-16 | 2017-02-02 | 東芝ディーエムエス株式会社 | Configuration rom upgrading apparatus and configuration rom upgrading method |
WO2018131065A1 (en) * | 2017-01-10 | 2018-07-19 | 株式会社日立製作所 | Reconfigurable device and electronic device using same |
CN109542492A (en) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | A kind of method, system and the equipment of FPGA board online updating |
EP3605335A4 (en) * | 2017-03-21 | 2020-04-22 | Nec Corporation | Integrated circuit system, startup control method for integrated circuit system, and startup control program |
CN111259459A (en) * | 2020-02-20 | 2020-06-09 | 福建师范大学 | Deployment, storage, acquisition and arbitration method for important data in mobile terminal |
WO2020165944A1 (en) * | 2019-02-12 | 2020-08-20 | 三菱電機株式会社 | Programmable device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020425A (en) * | 1998-07-01 | 2000-01-21 | Toyo Commun Equip Co Ltd | Method for updating stored contents in terminal network on communication network |
JP2002169602A (en) * | 2000-11-30 | 2002-06-14 | Matsushita Electric Works Ltd | General-purpose functional circuit and general-purpose unit for programmable controller |
JP2003132010A (en) * | 2001-07-30 | 2003-05-09 | Hewlett Packard Co <Hp> | Method and apparatus for bridge connection between jtag bus and serial bus |
JP2004252855A (en) * | 2003-02-21 | 2004-09-09 | Nec Saitama Ltd | Programmable logic device and identification display system of information written in the same |
JP2005018474A (en) * | 2003-06-26 | 2005-01-20 | Nec Corp | System and method for downloading software |
JP2006113743A (en) * | 2004-10-13 | 2006-04-27 | Oki Techno Creation:Kk | Information processing system, information processing method and information processing program |
-
2006
- 2006-08-23 JP JP2006226086A patent/JP2008052389A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020425A (en) * | 1998-07-01 | 2000-01-21 | Toyo Commun Equip Co Ltd | Method for updating stored contents in terminal network on communication network |
JP2002169602A (en) * | 2000-11-30 | 2002-06-14 | Matsushita Electric Works Ltd | General-purpose functional circuit and general-purpose unit for programmable controller |
JP2003132010A (en) * | 2001-07-30 | 2003-05-09 | Hewlett Packard Co <Hp> | Method and apparatus for bridge connection between jtag bus and serial bus |
JP2004252855A (en) * | 2003-02-21 | 2004-09-09 | Nec Saitama Ltd | Programmable logic device and identification display system of information written in the same |
JP2005018474A (en) * | 2003-06-26 | 2005-01-20 | Nec Corp | System and method for downloading software |
JP2006113743A (en) * | 2004-10-13 | 2006-04-27 | Oki Techno Creation:Kk | Information processing system, information processing method and information processing program |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587353B (en) * | 2008-05-23 | 2011-06-22 | 深圳市先阳软件技术有限公司 | Constant tension controller and control method for winding equipment |
JP2010166488A (en) * | 2009-01-19 | 2010-07-29 | Alaxala Networks Corp | Network relaying apparatus |
JP2010170240A (en) * | 2009-01-21 | 2010-08-05 | Fujitsu Telecom Networks Ltd | Revision management system of configuration data |
JP2012038305A (en) * | 2010-08-05 | 2012-02-23 | Freescale Semiconductor Inc | Data processing system having error detection of set information of peripheral device |
JP2012190368A (en) * | 2011-03-13 | 2012-10-04 | Sii Network Systems Kk | Configuration redundancy apparatus and configuration method |
JP2013025437A (en) * | 2011-07-19 | 2013-02-04 | Hitachi Cable Ltd | Fpga system and electronic equipment |
CN103513994A (en) * | 2012-06-19 | 2014-01-15 | 记忆科技(深圳)有限公司 | Method and system for carrying out FPGA on-line upgrading through PCIE |
JP2014174812A (en) * | 2013-03-11 | 2014-09-22 | Ricoh Co Ltd | Integrated circuit, image processing device, method and program |
US9117047B2 (en) | 2013-11-28 | 2015-08-25 | Fujitsu Limited | Diagnosis device, control method of diagnosis device, and recording medium |
CN104050067A (en) * | 2014-05-23 | 2014-09-17 | 北京兆易创新科技股份有限公司 | Method and device for operation of FPGA (Field Programmable Gate Array) in MCU (Microprogrammed Control Unit) chip |
JP2017027133A (en) * | 2015-07-16 | 2017-02-02 | 東芝ディーエムエス株式会社 | Configuration rom upgrading apparatus and configuration rom upgrading method |
WO2018131065A1 (en) * | 2017-01-10 | 2018-07-19 | 株式会社日立製作所 | Reconfigurable device and electronic device using same |
EP3605335A4 (en) * | 2017-03-21 | 2020-04-22 | Nec Corporation | Integrated circuit system, startup control method for integrated circuit system, and startup control program |
US10778225B2 (en) | 2017-03-21 | 2020-09-15 | Nec Corporation | Integrated circuit system, startup control method for integrated circuit system, and startup control program |
CN109542492A (en) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | A kind of method, system and the equipment of FPGA board online updating |
WO2020165944A1 (en) * | 2019-02-12 | 2020-08-20 | 三菱電機株式会社 | Programmable device |
JPWO2020165944A1 (en) * | 2019-02-12 | 2021-11-04 | 三菱電機株式会社 | Programmable device |
JP7142731B2 (en) | 2019-02-12 | 2022-09-27 | 三菱電機株式会社 | programmable device |
CN111259459A (en) * | 2020-02-20 | 2020-06-09 | 福建师范大学 | Deployment, storage, acquisition and arbitration method for important data in mobile terminal |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008052389A (en) | Programmable logic circuit update device, update method, data processor and network equipment | |
US11650829B2 (en) | Network switch recovery after reboot | |
US9313364B2 (en) | Image processing apparatus and control method for the same | |
WO2021098485A1 (en) | Method and system for power-on and power-off control of pcie device | |
US10579469B2 (en) | Interconnection network for integrated circuit | |
US20120011423A1 (en) | Silent error detection in sram-based fpga devices | |
US9495178B2 (en) | Electronics apparatus able to revise micro-program and algorithm to revise micro-program | |
WO2009107212A1 (en) | Storage device, storage controller, and method for controlling storage | |
JP2019160238A (en) | Memory interface and memory system | |
JP2009508243A (en) | Reconfigurable circuit with reconfigurable spare cluster | |
US7984323B2 (en) | Apparatus, system, and method for providing a backup configuration image to a programmable hardware device | |
JP2013257640A (en) | Configuration controller, configuration control method and configuration control program | |
US10846179B2 (en) | Hitless repair for network device components | |
US9237096B2 (en) | Network relay apparatus | |
JP2009065547A (en) | Semiconductor integrated circuit device and storage device equipped with same | |
TW201346529A (en) | Signal processing circuit and testing apparatus using the same | |
CN117608883A (en) | Method and system for detecting computer system start-up fault in prototype verification | |
JP2009176232A (en) | Starting device, starting method, and starting program | |
US8291270B2 (en) | Request processing device, request processing system, and access testing method | |
US20220342749A1 (en) | Data integrity verification | |
US20210281527A1 (en) | Line monitor device and network switch | |
CN113923173B (en) | Quick starting recovery method for data surface of network switching equipment | |
JP2015216507A (en) | Device for mounting fpga | |
JP2016212460A (en) | Programmable device, information processing device, and method for controlling processing circuit in programmable device | |
JP6435884B2 (en) | Information processing apparatus and abnormality detection method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110913 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120214 |