JP5691715B2 - FPGA, circuit reconfiguration system, method and program using FPGA - Google Patents

FPGA, circuit reconfiguration system, method and program using FPGA Download PDF

Info

Publication number
JP5691715B2
JP5691715B2 JP2011065331A JP2011065331A JP5691715B2 JP 5691715 B2 JP5691715 B2 JP 5691715B2 JP 2011065331 A JP2011065331 A JP 2011065331A JP 2011065331 A JP2011065331 A JP 2011065331A JP 5691715 B2 JP5691715 B2 JP 5691715B2
Authority
JP
Japan
Prior art keywords
circuit
circuit block
fpga
logic
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011065331A
Other languages
Japanese (ja)
Other versions
JP2012204898A (en
Inventor
秀俊 蟹江
秀俊 蟹江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011065331A priority Critical patent/JP5691715B2/en
Publication of JP2012204898A publication Critical patent/JP2012204898A/en
Application granted granted Critical
Publication of JP5691715B2 publication Critical patent/JP5691715B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、FPGA、FPGAを用いた回路再構成システム、FPGAを用いた回路再構成方法およびFPGAを用いた回路再構成プログラムに関する。   The present invention relates to an FPGA, a circuit reconfiguration system using an FPGA, a circuit reconfiguration method using an FPGA, and a circuit reconfiguration program using an FPGA.

各種の電子装置の小型化の要請は強く、基板の実装面積が制限される傾向にある。このような状況の下で、FPGA(Field Programmable Gate Array)を使用してこれに論理設計を施すことによって回路規模を縮小することが有望視されている。FPGAは、柔軟な設計が容易であり、装置の重要な機能部分から雑多な各種の機能部分までの多くの機能部分を実現することができる。   There is a strong demand for miniaturization of various electronic devices, and the mounting area of the substrate tends to be limited. Under such circumstances, it is promising to reduce the circuit scale by applying a logic design to the field programmable gate array (FPGA). The FPGA is easy to design flexibly, and can implement many functional parts from an important functional part of the device to various functional parts.

このようなFPGAの優れた特徴は、時として電子装置に致命傷をもたらす場合がある。装置の比較的重要な機能部分が不具合を起こした場合はもちろんのこと、雑多な機能部分の一部に不具合を生じた場合であっても、これらの機能部分を構成するFPGAの故障とされることになる場合があるからである。   Such superior features of FPGAs can sometimes cause fatal injury to electronic devices. Even if a relatively important functional part of the device has a problem, even if a part of a miscellaneous functional part has a problem, it is considered that the FPGA constituting these functional parts has failed. This is because there is a case where it will be.

信頼性を要求される電子装置では、使用する基板を冗長化して、故障が発生した時にもシステムの二重化により電子装置の運用を継続する手法を採っている。このような二重化を採用しない電子装置では、FPGAで発生した不具合によって装置の運用が停止してしまう可能性がある。このような場合で装置の運用が停止した際には、FPGAを搭載した基板を交換することで復旧が可能である。しかしながら復旧作業までの時間が無駄になるのと作業者の人件費が掛かるという問題が生じる。   In an electronic device that requires reliability, a technique is adopted in which the board to be used is made redundant and the operation of the electronic device is continued by duplicating the system even when a failure occurs. In an electronic device that does not employ such duplication, there is a possibility that the operation of the device may be stopped due to a malfunction that has occurred in the FPGA. In such a case, when the operation of the apparatus is stopped, it can be recovered by replacing the board on which the FPGA is mounted. However, there is a problem that the time until the recovery work is wasted and the labor cost of the worker is increased.

このような問題を生じさせないために電子装置に内蔵する基板に同一のFPGAを複数配置して、FPGAの二重化を行うことも検討されている。しかしながら、同一のFPGAを複数配置することは基板の大型化を招くだけでなく、電子装置のコストアップに繋がるおそれがある。   In order to prevent such a problem from occurring, it has been studied to duplicate the FPGA by arranging a plurality of identical FPGAs on a substrate built in the electronic device. However, disposing a plurality of identical FPGAs not only increases the size of the substrate, but also may increase the cost of the electronic device.

そこで、本発明に関連する関連技術として、部分再構成(パーシャルリコンフィグレーション)可能なFPGAを使用することが提案されている(たとえば特許文献1、特許文献2参照)。   Thus, as a related technique related to the present invention, it has been proposed to use an FPGA capable of partial reconfiguration (see, for example, Patent Document 1 and Patent Document 2).

図11は、本発明の関連技術の1つとして図示しない基板に搭載されたFPGAの機能的な構成を表わしたものである。FPGA100は、回路的に常時機能する常時動作部分101と、それ以外の領域としての空きリソース分102に分けられる。空きリソース分102には、電子装置の設計者が任意の回路部分を構成することができる。図11に示した例では、空きリソース分102の一部に、第1〜第3の静的再構成部分1031〜1033を構成している。ここで静的再構成部分1031〜1033とは、入出力される信号のタイミングを特に考慮することなく回路部品を組み合わせることで構成した回路をいう。図11に示した例では、第1の静的再構成部分1031に信号が入力され、第3の静的再構成部分1033まで順次信号処理が行われ、第3の静的再構成部分1033から処理結果が出力されるようになっている。 FIG. 11 shows a functional configuration of an FPGA mounted on a substrate (not shown) as one of related techniques of the present invention. The FPGA 100 is divided into a constantly operating portion 101 that always functions as a circuit, and a free resource portion 102 as an area other than that. In the free resource portion 102, an electronic device designer can configure an arbitrary circuit portion. In the example shown in FIG. 11, first to third static reconfiguration portions 103 1 to 103 3 are configured as part of the free resource portion 102. Here, the static reconfigurable portions 103 1 to 103 3 are circuits configured by combining circuit components without particularly considering the timing of input / output signals. In the example shown in FIG. 11, a signal is input to the first static reconstruction portion 103 1, and signal processing is sequentially performed up to the third static reconstruction portion 103 3 , and the third static reconstruction portion 103 3 from the processing results are outputted.

第1〜第3の静的再構成部分1031〜1033のそれぞれは、他の一般の回路と同様であるが、何らかの原因で信号処理に不具合を発生させる可能性がある。そこで、空きリソース分102には、第1〜第3の静的再構成部分1031〜1033のいずれかに不具合が発生したときの検出を行う監視用に第1〜第3の監視部1041〜1043が設けられている。 Each of the first to third static reconfigurable parts 103 1 to 103 3 is the same as other general circuits, but there is a possibility of causing a problem in signal processing for some reason. Therefore, the free resource portion 102 includes the first to third monitoring units 104 for monitoring to detect when any of the first to third static reconfiguration portions 103 1 to 103 3 is defective. 1-104 3 is provided.

更に空きリソース分102には、第1〜第3の静的再構成部分1031〜1033のいずれかに不具合が検出された場合に備えて第1〜第3の静的再構成可能領域1051〜1053が用意されている。第1〜第3の静的再構成可能領域1051〜1053は、予備として設けられた領域である。したがって、第1〜第3の静的再構成部分1031〜1033に何ら不具合が発生していない状態で具体的な回路として動作するものではない。 Further, in the free resource portion 102, the first to third static reconfigurable areas 105 are prepared in case a failure is detected in any of the first to third static reconfigurable portions 103 1 to 103 3. 1-105 3 are prepared. The first to third static reconfigurable areas 105 1 to 105 3 are areas provided as spares. Therefore, the circuit does not operate as a specific circuit in a state where no malfunction occurs in the first to third static reconfiguration portions 103 1 to 103 3 .

図12は、本発明の関連技術で第1の静的再構成可能領域に不具合が発生したときのFPGAの回路構成の変化の様子を示したものである。第1の静的再構成部分1031に不具合が発生すると、第1の監視部1041がこれを検出する。すると、常時動作部分101がこの検出結果を基にして、不具合を生じた第1の静的再構成部分1031に代わる回路部分を第1の静的再構成可能領域1051に構成する。そして、矢印111で示すように、第1の静的再構成可能領域1051を第1の静的再構成部分1031の代わりの回路部分として切り替える。 FIG. 12 shows a change in the circuit configuration of the FPGA when a failure occurs in the first static reconfigurable area in the related technique of the present invention. When a failure occurs in the first static reconfiguration portion 103 1 , the first monitoring unit 104 1 detects this. Then, based on this detection result, the always-operating part 101 configures a circuit part in place of the first static reconfigurable part 103 1 in which a malfunction has occurred in the first static reconfigurable area 105 1 . Then, as indicated by an arrow 111, the first static reconfigurable area 105 1 is switched as a circuit portion instead of the first static reconfigurable portion 103 1 .

この結果、たとえば第1〜第3の静的再構成部分1031〜1033を順に経るようにした信号処理は、第1の静的再構成可能領域1051、第2、第3の静的再構成部分1032、1033を順に経る信号処理に変更される。このようにFPGA100の一部の回路に不具合が発生しても、FPGA100の全体としてはシステムダウンを生じることなく運用が継続可能になる。 As a result, for example, the signal processing in which the first to third static reconfigurable portions 103 1 to 103 3 are sequentially passed through the first static reconfigurable region 105 1 , the second and third static reconfigurable regions The signal processing is changed through the reconstruction parts 103 2 and 103 3 in order. As described above, even if a failure occurs in a part of the circuit of the FPGA 100, the entire FPGA 100 can continue to operate without causing a system down.

しかしながら、空きリソース分102とされる領域に故障機能を再構成すると、再構成した機能部以降の回路部分が十分な能力を発揮できないことがある。これは、たとえば再構成された機能部が原因して、最適化された内部クロックのタイミングや出力ディレイに誤差が生じる場合があるからである。   However, if the fault function is reconfigured in the area that is defined as the free resource 102, the circuit portion after the reconfigured function unit may not be able to exhibit sufficient capability. This is because an error may occur in the timing of the optimized internal clock and the output delay due to, for example, the reconfigured functional unit.

図13〜図15を用いて関連技術による問題を説明する。図13(A)で第1〜第3の論理部121〜123は、図11における第1〜第3の静的再構成部分1031〜1033にそれぞれ対応する回路部分である。第1〜第3の論理部121〜123は、FPGA120を構成する図示しない多数の回路部品の中から部品を適宜組み合わせることで構成する。 Problems associated with the related art will be described with reference to FIGS. In FIG. 13A, the first to third logic units 121 to 123 are circuit portions corresponding respectively to the first to third static reconfiguration portions 103 1 to 103 3 in FIG. The first to third logic units 121 to 123 are configured by appropriately combining components from a large number of circuit components (not shown) that constitute the FPGA 120.

第1〜第3の論理部121〜123には、それぞれ内部クロック124が供給される。第1の論理部121には、信号125が供給され、所定の処理が行われた結果として信号126を出力する。信号126は第2の論理部122の入力となる。第2の論理部122は信号127を出力する。信号127は第3の論理部123の入力となる。第3の論理部123は信号128を出力する。   An internal clock 124 is supplied to each of the first to third logic units 121 to 123. The first logic unit 121 is supplied with a signal 125 and outputs a signal 126 as a result of performing predetermined processing. The signal 126 is input to the second logic unit 122. The second logic unit 122 outputs a signal 127. The signal 127 is input to the third logic unit 123. The third logic unit 123 outputs a signal 128.

FPGA120内の第1〜第3の再構成可能部131〜133は、図11における第1〜第3の静的再構成可能領域1051〜1053にそれぞれ対応する回路部分である。図13(A)は第1〜第3の論理部121〜123にいずれも不具合が発生していない状態を示している。したがって、第1〜第3の再構成可能部131〜133のいずれにも内部クロックの供給はなく、処理すべき信号の入出力も存在しない。 The first to third reconfigurable units 131 to 133 in the FPGA 120 are circuit portions respectively corresponding to the first to third static reconfigurable regions 105 1 to 105 3 in FIG. FIG. 13A shows a state in which no defect has occurred in the first to third logic units 121 to 123. Therefore, none of the first to third reconfigurable units 131 to 133 is supplied with an internal clock, and there is no input / output of a signal to be processed.

なお、図13(A)で第1の論理部121と第2の論理部121の間の信号126が伝送される伝送路および第2の論理部122と第3の論理部123の間の信号127が伝送される伝送路は、配線等の良導体で構成され、かつ短い道のりとなっているものと仮定している。したがって、たとえば第1の論理部121から出力される信号も第2の論理部122に入力される信号も電気的な特性は同一なものとして扱うことができるので、これらを特に区別せず信号126として表わしている。信号127についても同様である。   In FIG. 13A, a transmission path through which the signal 126 between the first logic unit 121 and the second logic unit 121 is transmitted and a signal between the second logic unit 122 and the third logic unit 123 are transmitted. It is assumed that the transmission path through which 127 is transmitted is composed of a good conductor such as wiring and has a short path. Therefore, for example, the signal output from the first logic unit 121 and the signal input to the second logic unit 122 can be treated as having the same electrical characteristics. It represents as. The same applies to the signal 127.

図13(B)は、第1〜第3の論理部が正常に動作しているときの第1および第2の論理部の接続箇所における動作タイミングを表わしたものである。同図(イ)に示すように第2の論理部122には所定の周期の内部クロック124が供給されている。同図(イ)および(ロ)に示すように第1の論理部121から出力される信号126のほぼ中央位置で、内部クロック124が立ち上がる。したがって、内部クロック124の立ち上がりに同期して第2の論理部122が信号126を入力することで、信号126の入力処理が安定する。   FIG. 13B shows the operation timing at the connection point of the first and second logic units when the first to third logic units are operating normally. As shown in FIG. 6A, an internal clock 124 having a predetermined period is supplied to the second logic unit 122. As shown in FIGS. 6A and 6B, the internal clock 124 rises at a substantially central position of the signal 126 output from the first logic unit 121. Therefore, when the second logic unit 122 inputs the signal 126 in synchronization with the rising edge of the internal clock 124, the input process of the signal 126 is stabilized.

図14は、FPGA120内の第1の論理部121で何らかの不具合が発生した直後の状態を示したものである。不具合発生の直後のため、同図(A)および同図(B)には特に変化が生じていない。   FIG. 14 shows a state immediately after some trouble occurs in the first logic unit 121 in the FPGA 120. Since it is immediately after the occurrence of the problem, there is no particular change in the figure (A) and the figure (B).

図15は、不具合の生じた第1の論理部に代わって第1の再構成論理部が処理を開始したときの回路の構成とその動作を示したものである。第1の論理部121が不具合によって使用できなくなると、同図(A)の矢印140で示すように第1の再構成可能部131が第1の再構成論理部として構成される。そして、FPGA120における端子間の接続情報のデータを表わしたネットリスト(図示せず)が変更されると、第1の論理部121に入力していた信号125が第1の再構成論理部131に入力先を変更される。   FIG. 15 shows a circuit configuration and its operation when the first reconfiguration logic unit starts processing in place of the first logic unit in which a problem has occurred. When the first logic unit 121 cannot be used due to a malfunction, the first reconfigurable unit 131 is configured as the first reconfigurable logic unit as indicated by an arrow 140 in FIG. When a net list (not shown) representing connection information data between terminals in the FPGA 120 is changed, the signal 125 input to the first logic unit 121 is transferred to the first reconfiguration logic unit 131. The input destination is changed.

この結果、第1の再構成論理部131から信号141が新たに出力される。この信号141は、図14の例の場合と比較して「余計に存在する」伝送路部分142を経てその特性を変化させ、信号143として第2の論理部122に入力することになる。   As a result, a signal 141 is newly output from the first reconfiguration logic unit 131. Compared with the example of FIG. 14, the signal 141 changes its characteristics through the “excessive” transmission path portion 142 and is input to the second logic unit 122 as the signal 143.

図15(B)は、図15(A)に示した回路変更が行われた後の第1の再構成論理部と第2の論理部の接続箇所における動作タイミングを表わしたものである。同図(イ)に示すように第1の再構成論理部131に入力される内部クロック124は第1の論理部121に入力していたものと同一である。したがって、第1の再構成論理部131自体が第1の論理部121と厳密に同一の特性の論理部として再構成されているとすると、同図(ロ)に示すように信号141は図14(B)に示した信号126と全く同一のタイミングで第1の再構成論理部131から出力されることになる。   FIG. 15B shows the operation timing at the connection point between the first reconfiguration logic unit and the second logic unit after the circuit change shown in FIG. 15A is performed. As shown in FIG. 6A, the internal clock 124 input to the first reconfiguration logic unit 131 is the same as that input to the first logic unit 121. Therefore, if the first reconfiguration logic unit 131 itself is reconfigured as a logic unit having exactly the same characteristics as the first logic unit 121, the signal 141 is as shown in FIG. The signal is output from the first reconfiguration logic unit 131 at exactly the same timing as the signal 126 shown in FIG.

特開2001−136058号公報(第0012段落、第0013段落、図1)JP 2001-136058 A (paragraph 0012, paragraph 0013, FIG. 1) 特開2009−140353号公報(第0033段落〜第0041段落、図1〜図3)JP 2009-140353 A (paragraphs 0033 to 0041, FIGS. 1 to 3)

しかしながら、第1の再構成論理部131はFPGA120における第1の論理部121の構成されていた場所とは異なった場所に構成される。このため、第1の再構成論理部131の出力側と第2の論理部122の入力側を結ぶ「余計に存在する」伝送路部分142の長さやそれを構成する回路部品が信号の伝送のタイミングに影響する。この結果、たとえば図15(B)の(ロ)および(ハ)に示すように第2の論理部122に入力される信号143は信号141が、たとえば内部クロック124の半周期分だけ遅延したものとなる。   However, the first reconfiguration logic unit 131 is configured at a location different from the location where the first logic unit 121 is configured in the FPGA 120. For this reason, the length of the “excessive” transmission path portion 142 that connects the output side of the first reconfiguration logic unit 131 and the input side of the second logic unit 122 and the circuit components that constitute the transmission line portion are used for signal transmission. Affects timing. As a result, for example, as shown in (B) and (C) of FIG. 15B, the signal 143 input to the second logic unit 122 is the signal 141 delayed by, for example, a half cycle of the internal clock 124. It becomes.

もちろん、実際には第1の再構成論理部131と第2の論理部121の間の伝送路の方が回路構成が単純である等の理由があって、第1の論理部121と第2の論理部121の間の伝送路の方が遅延をより生じる場合もある。しかしながらこの場合でも伝送経路の違いによって両伝送路の間に信号の伝達時間の違いが生じ得る点は同一である。したがって、ここでは図15(B)の(ハ)に示すような量の遅延が信号143に生じたものとする。   Of course, the transmission path between the first reconfiguration logic unit 131 and the second logic unit 121 actually has a simpler circuit configuration, and the first logic unit 121 and the second logic unit 121 In some cases, the transmission path between the first and second logic units 121 causes more delay. However, even in this case, the difference in signal transmission time between the two transmission paths due to the difference in the transmission paths is the same. Therefore, here, it is assumed that an amount of delay as shown in (C) of FIG.

信号143の遅延の程度によっては、第2の論理部122の取り込みに誤動作を生じやすくなる。これが第3の論理部123から出力される信号128の不正の要因となる。同様のことが第2の論理部122や第3の論理部123を第2の再構成論理部132あるいは第3の再構成論理部133に切り替えたときにも生じうる。   Depending on the degree of delay of the signal 143, the second logic unit 122 is likely to malfunction. This becomes an illegal factor of the signal 128 output from the third logic unit 123. The same may occur when the second logic unit 122 or the third logic unit 123 is switched to the second reconfiguration logic unit 132 or the third reconfiguration logic unit 133.

以上、3つの論理部で1つの回路を構成する場合を説明したが、1つの回路を構成する論理部の数に関係なく同様の問題が発生する。すなわち、1つ1つの論理部を回路的には同一種類の回路部品を組み合わせて同一の特性の回路として構成しても、これらを接続する伝送路が導線のみで構成されるとは限らず、スイッチング素子等のタイミングをずらすおそれのある回路部品が介在する可能性がある。したがって、たとえば論理部同士を接続する伝送経路が異なってくると、信号の伝達するタイミングが異なってくる可能性があり、FPGAを使用した装置に誤動作を生じさせる原因となる。   The case where one circuit is configured by three logic units has been described above, but the same problem occurs regardless of the number of logic units configuring one circuit. That is, even if each logic part is configured as a circuit having the same characteristics by combining circuit parts of the same type in terms of circuit, the transmission line connecting them is not necessarily composed only of a conductive line. There is a possibility that a circuit component that may shift the timing of the switching element or the like is interposed. Therefore, for example, if the transmission paths connecting the logic units are different, the signal transmission timing may be different, which causes a malfunction in a device using the FPGA.

そこで本発明の目的は、回路の一部に不具合が生じて新たな回路を同一基板内に再構成する場合に、この新たな回路との関係で伝送される信号のタイミングに不具合が生じないようにすることが可能なFPGA、FPGAを用いた回路再構成システム、FPGAを用いた回路再構成方法およびFPGAを用いた回路再構成プログラムを提供することにある。   Accordingly, an object of the present invention is to prevent a problem in timing of a signal transmitted in relation to a new circuit when a problem occurs in a part of the circuit and a new circuit is reconfigured on the same substrate. An FPGA, a circuit reconfiguration system using FPGA, a circuit reconfiguration method using FPGA, and a circuit reconfiguration program using FPGA are provided.

本発明では、(イ)同一基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記した多数の回路部品の中から前記した論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成手段と、(ロ)この回路ブロック初期構成手段で構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視手段と、(ハ)この回路ブロック監視手段によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記した論理部のそれぞれと回路としての特性が同一の新たな論理部と前記した接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記した特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する最適化処理実行手段と、(ニ)この最適化処理実行手段によって構成した新しい回路ブロックを前記した回路ブロック監視手段で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる回路ブロック交代手段とをFPGA(Field Programmable Gate Array)が具備する。   In the present invention, (a) several logic units each functioning as a logic circuit having desired characteristics are configured by appropriately selecting and combining from a large number of circuit components formed in a specific region on the same substrate. A desired number of circuit blocks each having a group of circuit functions can be obtained by configuring a connection part as a part for electrically connecting the above-described logic parts from the above-described many circuit parts. Circuit block initial configuration means configured initially, and (b) a circuit including a logic unit in which a malfunction occurs by monitoring these operations when each circuit block configured by the circuit block initial configuration means is in operation A circuit block monitoring means for detecting a block; and (c) when a circuit block including a failed logic unit is detected by the circuit block monitoring means. A circuit block comprising a new logic unit having the same circuit characteristics as each of the above-described logic units constituting the block, a new connection unit having the same connection timing as possible, and a signal transmission timing as described above And (d) a new circuit block configured by the optimization processing execution means is configured by optimization processing from an unused portion of a large number of circuit components formed in the specific area. The FPGA (Field Programmable Gate Array) includes circuit block replacement means for starting a new operation by replacing the circuit block including the failed logic unit with the circuit block monitoring means.

また、本発明では、(イ)同一基板上の特定領域に多数の回路部品を形成したFPGA(Field Programmable Gate Array)と、(ロ)このFPGAの前記した多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記した多数の回路部品の中から前記した論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成手段と、(ハ)この回路ブロック初期構成手段で構成したそれぞれの回路ブロックが運用中のときにこれらの動作の監視結果として不具合の生じた論理部を含む回路ブロックが検出されたときこの通知を受ける回路ブロック監視手段と、(ニ)この回路ブロック監視手段によって不具合の生じた論理部を含む回路ブロックが検出されたことが通知されたとき、その回路ブロックを構成する前記した論理部のそれぞれと回路としての特性が同一の新たな論理部と前記した接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記した特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する最適化処理実行手段と、(ホ)この最適化処理実行手段によって構成した新しい回路ブロックを前記した回路ブロック監視手段で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる回路ブロック交代手段とをFPGAを用いた回路再構成システムが具備する。   In the present invention, (a) an FPGA (Field Programmable Gate Array) in which a large number of circuit components are formed in a specific area on the same substrate, and (b) an appropriate selection from the above-mentioned numerous circuit components of the FPGA. As a part for electrically connecting the above-mentioned logic parts from among the above-mentioned many circuit parts, the logic parts functioning as logic circuits having desired characteristics can be formed by combining them. Circuit block initial configuration means for initially configuring a desired number of circuit blocks each having a circuit function of a single unit by configuring a connection section; and (c) each circuit configured by the circuit block initial configuration means. A circuit block that receives this notification when a circuit block that includes a failed logic part is detected as a monitoring result of these operations while the block is in operation. Monitoring means, and (d) when the circuit block monitoring means notifies that a circuit block including a failed logic unit has been detected, each of the above-described logic units constituting the circuit block as a circuit A circuit block having a new logic part having the same characteristics and a new connection part having the same timing as that of signal transmission with the above-described connection part is formed in a large number of circuit components formed in the specific region. And (e) a new circuit block configured by the optimization processing execution unit includes a logic unit in which a failure has occurred in the circuit block monitoring unit. A circuit reconfiguration system using FPGA includes circuit block replacement means for replacing a circuit block and starting a new operation.

更に本発明では、(イ)FPGA(Field Programmable Gate Array)を構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記した多数の回路部品の中から前記した論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成ステップと、(ロ)この回路ブロック初期構成ステップで構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視ステップと、(ハ)この回路ブロック監視ステップによって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記した論理部のそれぞれと回路としての特性が同一の新たな論理部と前記した接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記した特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する最適化処理実行ステップと、(ニ)この最適化処理実行ステップによって構成した新しい回路ブロックを前記した回路ブロック監視ステップで不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる回路ブロック交代ステップとをFPGAを用いた回路再構成方法が具備する。   Furthermore, in the present invention, (a) a logic circuit having desired characteristics can be obtained by appropriately selecting and combining from a large number of circuit components formed in a specific area on a substrate constituting an FPGA (Field Programmable Gate Array). And a plurality of circuit parts, and a connection part as a part for electrically connecting the logic parts among the many circuit parts described above. (B) Initially configuring a desired number of circuit blocks having functions in a desired number of circuit blocks, and (b) monitoring these operations when each circuit block configured in this circuit block initial configuration step is in operation. A circuit block monitoring step for detecting a circuit block including a failed logic part, and (c) the circuit block monitoring step When a circuit block including a logic unit in which a failure occurs is detected, the timing of signal transmission between the new logic unit having the same circuit characteristics as each of the above-described logic units constituting the circuit block and the above-described connection unit An optimization processing execution step for configuring a circuit block having a new connection portion that is as identical as possible by an optimization process from unused portions of a large number of circuit components formed in the specific region, (D) a circuit block replacement step for starting a new operation by replacing a circuit block including a logic unit in which a failure has occurred in the circuit block monitoring step with a new circuit block configured by the optimization processing execution step. A circuit reconfiguration method using an FPGA is provided.

更にまた本発明では、コンピュータが、FPGAを用いた回路再構成プログラムとして、(イ)FPGA(Field Programmable Gate Array)を構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記した多数の回路部品の中から前記した論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成処理と、(ロ)この回路ブロック初期構成処理で構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視処理と、(ハ)この回路ブロック監視処理によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記した論理部のそれぞれと回路としての特性が同一の新たな論理部と前記した接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記した特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する最適化処理実行処理と、(ニ)この最適化処理実行処理によって構成した新しい回路ブロックを前記した回路ブロック監視処理で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる回路ブロック交代処理とを実行する。   Furthermore, in the present invention, as a circuit reconfiguration program using an FPGA, the computer appropriately selects (i) a large number of circuit components formed in a specific area on a substrate constituting an FPGA (Field Programmable Gate Array). As a part for electrically connecting between the above-mentioned logic parts among the above-mentioned many circuit parts, the logic parts functioning as logic circuits having desired characteristics can be configured by combining them. Circuit block initial configuration processing for initially configuring a desired number of circuit blocks each having a group of circuit functions, and (b) each of the circuit blocks configured by this circuit block initial configuration processing. A circuit block monitor that monitors these operations when a circuit block is in operation and detects a circuit block that includes a failed logic unit. (C) When a circuit block including a failed logic unit is detected by this circuit block monitoring process, a new logic having the same circuit characteristics as each of the logic units constituting the circuit block is detected. Circuit block with a new connection portion where the signal transmission timing is the same as possible with the above-mentioned connection portion and the above-described connection portion is optimal from the unused portion among the many circuit components formed in the specific region described above And (d) a new circuit block configured by the optimization process execution process is replaced with a circuit block including a logic unit in which a failure has occurred in the circuit block monitoring process. Circuit block replacement processing for starting a simple operation.

以上説明したように本発明によれば、FPGAを構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して論理部を構成するだけでなく、これら論理部を接続する接続部の動作タイミングについて最適化を図ったので論理部を複数組み合わせて再構成した回路ブロックの電気的な特性を可能な限り元の回路ブロックに近付けることができる。これによりFPGAを使用した装置の安定的な動作と長寿命化を達成することができる。   As described above, according to the present invention, not only is a logical unit selected from a large number of circuit components formed in a specific area on a substrate constituting an FPGA, but also a logical unit is connected. Since the operation timing of the connection unit is optimized, the electrical characteristics of the circuit block reconfigured by combining a plurality of logic units can be brought as close as possible to the original circuit block. As a result, stable operation and long life of the apparatus using the FPGA can be achieved.

本発明のFPGAのクレーム対応図である。It is a claim correspondence figure of FPGA of this invention. 本発明のFPGAを用いた回路再構成システムのクレーム対応図である。It is a claim correspondence diagram of a circuit reconfiguration system using the FPGA of the present invention. 本発明のFPGAを用いた回路再構成方法のクレーム対応図である。It is a claim corresponding | compatible figure of the circuit reconfiguration | reconstruction method using FPGA of this invention. 本発明のFPGAを用いた回路再構成プログラムのクレーム対応図である。It is a claim corresponding | compatible figure of the circuit reconfiguration program using FPGA of this invention. 本発明の実施の形態におけるFPGAの機能的な構成の概要を表わした機能ブロック図である。It is a functional block diagram showing the outline | summary of the functional structure of FPGA in embodiment of this invention. 本実施の形態の工場出荷前における回路ブロックとこれに対応する監視回路部分の一例についてその構成と要部のタイミング関係を示したブロック図およびタイミング図である。It is the block diagram and timing diagram which showed the timing relationship of the structure and principal part about an example of the circuit block before the factory shipment of this Embodiment, and the monitoring circuit part corresponding to this. 本実施の形態のFPGA内の第1の論理部に何らかの不具合が発生した直後の状態を示したブロック図および要部タイミング図である。FIG. 6 is a block diagram and a main part timing diagram showing a state immediately after some trouble occurs in the first logic part in the FPGA of the present embodiment. 本実施の形態の第1の論理部に不具合が発生したことにより論理部構成可能領域に新たな回路ブロックとして構成される第1〜第3の論理部を示したブロック図および要部タイミング図である。In the block diagram and the principal part timing diagram which showed the 1st-3rd logic part comprised as a new circuit block in the logic part configurable area | region by malfunction having generate | occur | produced in the 1st logic part of this Embodiment is there. 本実施の形態のFPGAにおける制御部の行う故障処理の様子を表わした流れ図である。It is a flowchart showing the mode of the failure processing which the control part performs in FPGA of this Embodiment. 本発明の変形例の論理部の不具合の発生を検出する手法を示した説明図である。It is explanatory drawing which showed the method of detecting generation | occurrence | production of the malfunction of the logic part of the modification of this invention. 本発明の関連技術の1つとして図示しない基板に搭載されたFPGAの機能的な構成を表わした説明図である。It is explanatory drawing showing the functional structure of FPGA mounted on the board | substrate which is not illustrated as one of the related arts of this invention. 本発明の関連技術の第1の静的再構成可能領域に不具合が発生したときのFPGAの回路構成の変化の様子を示した説明図である。It is explanatory drawing which showed the mode of the change of the circuit structure of FPGA when a malfunction generate | occur | produces in the 1st statically reconfigurable area | region of the related technology of this invention. 図11における第1〜第3の静的再構成部分にそれぞれ対応する回路部分の構成と要部のタイミング関係を示したブロック図およびタイミング図である。FIG. 12 is a block diagram and a timing diagram illustrating a configuration of circuit portions corresponding to first to third static reconfiguration portions in FIG. 図11に示したFPGAにおける第1の論理部で何らかの不具合が発生した直後の図13に示す回路部分の構成と要部のタイミング関係を示したブロック図およびタイミング図である。FIG. 14 is a block diagram and a timing diagram showing the configuration of the circuit part shown in FIG. 13 and the timing relationship of the main part immediately after a failure occurs in the first logic part in the FPGA shown in FIG. 不具合の生じた第1の論理部に代わって第1の再構成論理部が処理を開始したときの図13に示す回路部分の構成と要部のタイミング関係を示したブロック図およびタイミング図である。FIG. 14 is a block diagram and a timing diagram showing a configuration of a circuit part shown in FIG. 13 and a timing relationship between main parts when the first reconfiguration logic part starts processing in place of the first logic part in which a problem has occurred. .

図1は、本発明のFPGA(Field Programmable Gate Array)のクレーム対応図を示したものである。本発明のFPGA10は、回路ブロック初期構成手段11と、回路ブロック監視手段12と、最適化処理実行手段13と、回路ブロック交代手段14を備えている。ここで、回路ブロック初期構成手段11は、同一基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記した多数の回路部品の中から前記した論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する。回路ブロック監視手段12は、回路ブロック初期構成手段11で構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する。最適化処理実行手段13は、回路ブロック監視手段12によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記した論理部のそれぞれと回路としての特性が同一の新たな論理部と前記した接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記した特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する。回路ブロック交代手段14は、最適化処理実行手段13によって構成した新しい回路ブロックを回路ブロック監視手段12で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる。   FIG. 1 shows a claim correspondence diagram of an FPGA (Field Programmable Gate Array) of the present invention. The FPGA 10 of the present invention includes a circuit block initial configuration unit 11, a circuit block monitoring unit 12, an optimization processing execution unit 13, and a circuit block replacement unit 14. Here, the circuit block initial configuration means 11 includes several logic units each functioning as a logic circuit having a desired characteristic by appropriately selecting and combining from a large number of circuit components formed in a specific region on the same substrate. In addition, a circuit block having a group of circuit functions can be obtained by configuring a connection unit as a component for electrically connecting the above-described logic units from among the many circuit components described above. Configure the desired number initially. The circuit block monitoring means 12 monitors these operations when each circuit block configured by the circuit block initial configuration means 11 is in operation, and detects a circuit block including a logic unit in which a failure has occurred. When the circuit block monitoring unit 12 detects a circuit block including a failed logic unit, the optimization processing execution unit 13 has a new circuit that has the same circuit characteristics as each of the logic units included in the circuit block. Circuit block having a new logic unit and a new connection unit in which the timing of signal transmission is the same as possible with the above-described connection unit, and an unused part among many circuit components formed in the specific region To configure by optimization processing. The circuit block replacement unit 14 replaces the new circuit block configured by the optimization processing execution unit 13 with the circuit block including the logic unit in which the failure has occurred in the circuit block monitoring unit 12, and starts a new operation.

図2は、本発明のFPGA(Field Programmable Gate Array)を用いた回路再構成システムのクレーム対応図を示したものである。本発明のFPGAを用いた回路再構成システム20は、FPGA21と、回路ブロック初期構成手段22と、回路ブロック監視手段23と、最適化処理実行手段24と、回路ブロック交代手段25を備えている。ここで、FPGA21は、同一基板上の特定領域に多数の回路部品を形成したデバイスである。回路ブロック初期構成手段22は、FPGA21の前記した多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記した多数の回路部品の中から前記した論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する。回路ブロック監視手段23は、回路ブロック初期構成手段22で構成したそれぞれの回路ブロックが運用中のときにこれらの動作の監視結果として不具合の生じた論理部を含む回路ブロックが検出されたときこの通知を受ける。最適化処理実行手段24は、回路ブロック監視手段23によって不具合の生じた論理部を含む回路ブロックが検出されたことが通知されたとき、その回路ブロックを構成する前記した論理部のそれぞれと回路としての特性が同一の新たな論理部と前記した接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記した特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する。回路ブロック交代手段25は、最適化処理実行手段24によって構成した新しい回路ブロックを回路ブロック監視手段23で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる。   FIG. 2 shows a claim correspondence diagram of a circuit reconfiguration system using an FPGA (Field Programmable Gate Array) of the present invention. The circuit reconfiguration system 20 using the FPGA of the present invention includes an FPGA 21, a circuit block initial configuration unit 22, a circuit block monitoring unit 23, an optimization process execution unit 24, and a circuit block replacement unit 25. Here, the FPGA 21 is a device in which a large number of circuit components are formed in a specific region on the same substrate. The circuit block initial configuration means 22 constitutes several logic units each functioning as a logic circuit having a desired characteristic by appropriately selecting and combining the circuit components of the FPGA 21 as described above. A desired number of circuit blocks each having a group of circuit functions are initially configured by configuring a connection unit as a component for electrically connecting the above-described logic units from among the circuit components. . The circuit block monitoring unit 23 notifies this when a circuit block including a logic unit in which a failure has occurred is detected as a monitoring result of these operations when each circuit block configured by the circuit block initial configuration unit 22 is in operation. Receive. When the optimization processing execution means 24 is notified by the circuit block monitoring means 23 that a circuit block including a failed logic part has been detected, the optimization process execution means 24 is configured as a circuit and each of the aforementioned logic parts constituting the circuit block. Circuit parts having a new logic part having the same characteristics and a new connection part having the same timing as that of the above-mentioned connection part and the signal transmission as much as possible are formed in the specific region described above. It is constituted by an optimization process from an unused portion of the. The circuit block replacement unit 25 replaces the new circuit block configured by the optimization processing execution unit 24 with the circuit block including the logic unit in which the failure has occurred in the circuit block monitoring unit 23, and starts a new operation.

図3は、本発明のFPGA(Field Programmable Gate Array)を用いた回路再構成方法のクレーム対応図を示したものである。本発明のFPGAを用いた回路再構成方法30は、回路ブロック初期構成ステップ31と、回路ブロック監視ステップ32と、最適化処理実行ステップ33と、回路ブロック交代ステップ34を備えている。ここで、回路ブロック初期構成ステップ31では、FPGAを構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記した多数の回路部品の中から前記した論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する。回路ブロック監視ステップ32では、回路ブロック初期構成ステップ31で構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する。最適化処理実行ステップ33では、回路ブロック監視ステップ32によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記した論理部のそれぞれと回路としての特性が同一の新たな論理部と前記した接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記した特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する。回路ブロック交代ステップ34では、最適化処理実行ステップ33によって構成した新しい回路ブロックを回路ブロック監視ステップ32で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる。   FIG. 3 is a diagram corresponding to a claim of the circuit reconfiguration method using the FPGA (Field Programmable Gate Array) of the present invention. The circuit reconfiguration method 30 using the FPGA of the present invention includes a circuit block initial configuration step 31, a circuit block monitoring step 32, an optimization processing execution step 33, and a circuit block replacement step 34. Here, in the circuit block initial configuration step 31, several functions function as logic circuits having desired characteristics by appropriately selecting and combining from among a large number of circuit components formed in a specific region on the substrate constituting the FPGA. In addition to the above-described logic unit, a connection unit as a component for electrically connecting the above-described logic units among the above-described many circuit components is configured, thereby having a group of circuit functions. A desired number of circuit blocks are initially configured. In the circuit block monitoring step 32, when each circuit block configured in the circuit block initial configuration step 31 is in operation, these operations are monitored to detect a circuit block including a logic unit in which a failure has occurred. In the optimization processing execution step 33, when a circuit block including a failed logic unit is detected by the circuit block monitoring step 32, a new circuit having the same circuit characteristics as each of the aforementioned logic units constituting the circuit block is detected. Circuit block having a new logic unit and a new connection unit in which the timing of signal transmission is the same as possible with the above-described connection unit, and an unused part among many circuit components formed in the specific region To configure by optimization processing. In the circuit block replacement step 34, the new circuit block configured in the optimization processing execution step 33 is replaced with the circuit block including the logic unit in which the failure occurred in the circuit block monitoring step 32, and a new operation is started.

図4は、本発明のFPGA(Field Programmable Gate Array)を用いた回路再構成プログラムのクレーム対応図を示したものである。本発明のFPGAを用いた回路再構成プログラム40は、コンピュータが、回路ブロック初期構成処理41と、回路ブロック監視処理42と、最適化処理実行処理43と、回路ブロック交代処理44を実行させるようにしている。ここで、回路ブロック初期構成処理41では、FPGAを構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記した多数の回路部品の中から前記した論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する。回路ブロック監視処理42では、回路ブロック初期構成処理41で構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する。最適化処理実行処理43では、回路ブロック監視処理42によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記した論理部のそれぞれと回路としての特性が同一の新たな論理部と前記した接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記した特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する。回路ブロック交代処理44では、最適化処理実行処理43によって構成した新しい回路ブロックを回路ブロック監視処理42で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる。   FIG. 4 shows a claim correspondence diagram of a circuit reconfiguration program using an FPGA (Field Programmable Gate Array) of the present invention. The circuit reconfiguration program 40 using the FPGA of the present invention causes the computer to execute a circuit block initial configuration process 41, a circuit block monitoring process 42, an optimization process execution process 43, and a circuit block replacement process 44. ing. Here, in the circuit block initial configuration processing 41, several functions that function as logic circuits having desired characteristics are selected by appropriately selecting from a number of circuit components formed in a specific region on the substrate constituting the FPGA. In addition to the above-described logic unit, a connection unit as a component for electrically connecting the above-described logic units among the above-described many circuit components is configured, thereby having a group of circuit functions. A desired number of circuit blocks are initially configured. In the circuit block monitoring process 42, when each circuit block configured in the circuit block initial configuration process 41 is in operation, these operations are monitored to detect a circuit block including a logic unit in which a failure has occurred. In the optimization process execution process 43, when a circuit block including a failed logic unit is detected by the circuit block monitoring process 42, a new circuit having the same circuit characteristics as each of the logic units constituting the circuit block is detected. Circuit block having a new logic unit and a new connection unit in which the timing of signal transmission is the same as possible with the above-described connection unit, and an unused part among many circuit components formed in the specific region To configure by optimization processing. In the circuit block replacement process 44, a new circuit block configured by the optimization process execution process 43 is replaced with a circuit block including a logic unit in which a failure has occurred in the circuit block monitoring process 42, and a new operation is started.

<発明の実施の形態>   <Embodiment of the Invention>

次に本発明の実施の形態を説明する。   Next, an embodiment of the present invention will be described.

図5は、本発明の実施の形態におけるFPGAの機能的な構成の概要を表わしたものである。FPGA200は、常時動作部201と、論理部構成可能領域202および監視部構成領域203によって構成されている。ここで常時動作部201は、回路装置として常時機能している部分である。   FIG. 5 shows an outline of a functional configuration of the FPGA according to the embodiment of the present invention. The FPGA 200 includes a constant operation unit 201, a logic unit configurable area 202, and a monitoring unit configuration area 203. Here, the constantly operating unit 201 is a part that always functions as a circuit device.

常時動作部201にはCPU(Central Processing Unit)211と、このCPU211が実行する制御プログラムを格納したメモリ212からなる制御部213と、最適化処理部214および回路ブロック対応テーブル215から構成されている。ここで最適化処理部214は、後に説明する一部の論理部に不具合が発生した結果その論理部を再構成するときに、信号処理のタイミングを考慮した最適化のための処理を行う部分である。この最適化処理部214は、独自のハードウェアとしてFPGA200に予め作り込んでおいてもよいし、制御部213がソフトウェア的に実現するようになっていてもよい。   The constant operation unit 201 includes a CPU (Central Processing Unit) 211, a control unit 213 including a memory 212 that stores a control program executed by the CPU 211, an optimization processing unit 214, and a circuit block correspondence table 215. . Here, the optimization processing unit 214 is a part that performs processing for optimization in consideration of the timing of signal processing when reconfiguring the logic unit as a result of the occurrence of a defect in some of the logic units described later. is there. The optimization processing unit 214 may be previously created in the FPGA 200 as unique hardware, or the control unit 213 may be realized by software.

回路ブロック対応テーブル215は、不具合が発生した論理部を含む1つの回路ブロックに代わる候補となる回路ブロックを予めテーブルとして用意するものである。本実施の形態の場合、候補となる回路ブロックは、不具合が発生した論理部の正常時に実現していた信号処理のタイミングが実現するように事前に最適化されたものとなっている。したがって、回路ブロック対応テーブル215に用意された回路ブロックを選択すれば、図15(B)で説明した信号143のようにタイミングのずれた信号の発生を防止することができる。本実施の形態では単純に同一の回路機能の論理部を組み合わせる「静的再構成」を行うものではなく、回路ブロックを構成する論理部の間での信号の遅延をも考慮した「動的再構成」を行っているからである。   The circuit block correspondence table 215 is a table in which circuit blocks that are candidates for replacing one circuit block including a logic unit in which a failure has occurred are prepared in advance as a table. In the case of the present embodiment, candidate circuit blocks are optimized in advance so as to realize the timing of signal processing that was realized when the logic unit in which the failure occurred is normal. Therefore, if a circuit block prepared in the circuit block correspondence table 215 is selected, it is possible to prevent generation of a signal having a shifted timing, such as the signal 143 described with reference to FIG. In this embodiment, “static reconfiguration” is not performed by simply combining logic portions having the same circuit function, but “dynamic reconfiguration” is performed in consideration of signal delay between the logic portions constituting the circuit block. This is because “configuration” is performed.

本明細書で1つ1つの「回路ブロック」は、図13に示した第1〜第3の論理部121〜123のように複数の論理部とこれらを接続する信号伝送路を備えたロジックセルや内部配線等の回路部品の集合体をいうものとする。回路ブロック対応テーブル215はメモリ212の一部を構成する不揮発性メモリ領域で構成することができる。   In this specification, each “circuit block” is a logic cell including a plurality of logic units and a signal transmission path connecting them, such as the first to third logic units 121 to 123 shown in FIG. And an assembly of circuit components such as internal wiring. The circuit block correspondence table 215 can be composed of a nonvolatile memory area that constitutes a part of the memory 212.

常時動作部201には、この他、外部から基準クロックを入力して内部クロックを生成するクロック生成回路や常時動作部201内の不具合を検出する常時動作部内監視部(共に図示せず)等の常時動作する幾つかの回路部分が存在している。   In addition to the normal operation unit 201, a clock generation circuit that inputs an external reference clock to generate an internal clock, a normal operation unit monitoring unit (both not shown) that detects a malfunction in the normal operation unit 201, and the like. There are several circuit parts that operate constantly.

論理部に不具合が生じた場合で、これを構成する回路ブロックが回路ブロック対応テーブル215に登録されていない場合があるとする。このような場合には、最適化処理部214は不具合を生じた論理部を有する回路ブロックと可能な限り同一の特性となる回路ブロックを回路部品の組み合わせによる演算によって求めることになる。したがって、FPGA200によっては回路ブロック対応テーブル215を充実させることで最適化処理部214による最適化処理を事実上省略することができ、反対に最適化処理部214のみを備えることで回路ブロック対応テーブル215を不要とすることも可能である。   It is assumed that there is a case where a failure occurs in the logic unit, and the circuit blocks constituting this are not registered in the circuit block correspondence table 215. In such a case, the optimization processing unit 214 obtains a circuit block having the same characteristics as much as possible with a circuit block having a failed logic unit by calculation based on a combination of circuit components. Therefore, depending on the FPGA 200, the circuit block correspondence table 215 can be enriched, so that the optimization processing by the optimization processing unit 214 can be substantially omitted, and conversely, the circuit block correspondence table 215 can be provided only by the optimization processing unit 214. Can be eliminated.

論理部構成可能領域202および監視部構成領域203は、前記したロジックセルや内部配線等の回路部品から構成されており、これらを適宜組み合わせることで論理部や監視部の回路を形成する。このうちの論理部を構成するために割り当てた領域が論理部構成可能領域202であり、残りの領域が監視部を構成するための監視部構成領域203となる。監視部構成領域203は、構成された論理部のそれぞれについて不具合が発生しているか否かを信号の入出力状態によって監視するようになっている。監視部構成領域203の一部には、個々の論理部の不具合の発生を検出するための監視用データを格納した監視用データ格納部221が配置されている。   The logic section configurable area 202 and the monitoring section configuration area 203 are composed of circuit parts such as the above-described logic cells and internal wiring, and a logic section and a monitoring section circuit are formed by appropriately combining them. Of these, the area allocated to configure the logic unit is the logic unit configurable area 202, and the remaining area is the monitoring unit configuration area 203 for configuring the monitoring unit. The monitoring unit configuration area 203 is configured to monitor whether or not a failure has occurred in each of the configured logic units based on the signal input / output state. In a part of the monitoring unit configuration area 203, a monitoring data storage unit 221 that stores monitoring data for detecting occurrence of a failure in each logical unit is arranged.

図6は、工場出荷前における回路ブロックとこれに対応する監視回路部分の一例についてその構成と要部のタイミング関係を示したものである。図5と共に説明する。   FIG. 6 shows the timing relationship between the configuration and main parts of an example of a circuit block before shipment from the factory and an example of a monitoring circuit portion corresponding to the circuit block. This will be described with reference to FIG.

図6(A)で第1〜第3の論理部231〜233は1つの回路ブロックの一例を示したものであり、FPGA200内の論理部構成可能領域202を構成する図示しない多数の回路部品の中から部品を適宜組み合わせることで構成している。第1の論理部231は監視部構成領域203を構成する第1の監視部241によって監視される。同様に第2の論理部232は監視部構成領域203を構成する第2の監視部242によって監視され、第3の論理部233は監視部構成領域203を構成する第3の監視部243によって監視される。第1〜第3の監視部241〜243は、第1〜第3の論理部231〜233を工場出荷前に構成した時点で、これらに合わせて構成したものである。第1〜第3の監視部241〜243も監視部構成領域203を構成する図示しない多数の回路部品の中から部品を適宜組み合わせることで構成する。   In FIG. 6A, the first to third logic units 231 to 233 show an example of one circuit block, and a large number of circuit parts (not shown) constituting the logic unit configurable area 202 in the FPGA 200 are shown. It is configured by appropriately combining parts from the inside. The first logic unit 231 is monitored by the first monitoring unit 241 configuring the monitoring unit configuration area 203. Similarly, the second logic unit 232 is monitored by the second monitoring unit 242 configuring the monitoring unit configuration area 203, and the third logic unit 233 is monitored by the third monitoring unit 243 configuring the monitoring unit configuration area 203. Is done. The first to third monitoring units 241 to 243 are configured in accordance with the first to third logic units 231 to 233 before they are shipped from the factory. The first to third monitoring units 241 to 243 are also configured by appropriately combining components from a large number of circuit components (not shown) constituting the monitoring unit configuration area 203.

第1〜第3の論理部231〜233には、それぞれ内部クロック251が供給される。また第1の論理部231には、信号255が供給され、信号256が出力される。信号256は第2の論理部232の入力となる。第2の論理部232は信号257を出力する。信号257は第3の論理部233の入力となる。第3の論理部233は信号258を出力する。   An internal clock 251 is supplied to each of the first to third logic units 231 to 233. The first logic unit 231 is supplied with a signal 255 and outputs a signal 256. The signal 256 is input to the second logic unit 232. The second logic unit 232 outputs a signal 257. The signal 257 is input to the third logic unit 233. The third logic unit 233 outputs a signal 258.

一方、第1の監視部241は、第1の論理部231から運用中に出力される監視用データ261を入力する。第1の監視部241はこの監視用データ261を監視用データ格納部221に格納された第1の論理部231用の監視用照合データ271と対比して第1の論理部231に不具合が発生したかを監視する。   On the other hand, the first monitoring unit 241 receives monitoring data 261 output from the first logic unit 231 during operation. The first monitoring unit 241 compares the monitoring data 261 with the monitoring collation data 271 for the first logic unit 231 stored in the monitoring data storage unit 221, and a failure occurs in the first logic unit 231. Monitor whether you did.

同様に第2および第3の監視部242、243は、第2および第3の論理部232、233から運用中に出力される監視用データ262、263のうちの対応するものを入力する。第2および第3の監視部242、243は、監視用データ262、263のうちの対応するものを監視用データ格納部221に格納された第2あるいは第3の論理部232、233用の監視用照合データ272、273と対比して、第2あるいは第3の論理部232、233に不具合が発生したかを監視する。   Similarly, the second and third monitoring units 242 and 243 receive the corresponding ones of the monitoring data 262 and 263 output from the second and third logic units 232 and 233 during operation. The second and third monitoring units 242 and 243 monitor the second or third logic units 232 and 233 in which the corresponding ones of the monitoring data 262 and 263 are stored in the monitoring data storage unit 221. In comparison with the verification data 272, 273, whether or not a failure has occurred in the second or third logic unit 232, 233 is monitored.

監視用データ格納部221に格納する監視用照合データ271としては、たとえば第1の論理部231が正常に初期作動した時にこれから出力される監視用データ261を使用するようにする。そして、第1の論理部231が運用を開始した後にこれから逐次出力される監視用データ261を監視用照合データ271と照合し、両者が一致している間は第1の論理部231に不具合が発生していないものと判別する。また、監視用データ261と監視用照合データ271が不一致となれば、第1の論理部231に不具合が発生していると判別する。監視用データ格納部221に格納する他の監視用照合データ272、273についても同様である。   As the monitoring collation data 271 stored in the monitoring data storage unit 221, for example, the monitoring data 261 that is output when the first logic unit 231 normally operates normally is used. Then, after the first logic unit 231 starts operation, the monitoring data 261 to be sequentially output is collated with the monitoring collation data 271, and there is a problem with the first logic unit 231 while the two match. It is determined that it has not occurred. Also, if the monitoring data 261 and the monitoring collation data 271 do not match, it is determined that a problem has occurred in the first logic unit 231. The same applies to the other monitoring verification data 272 and 273 stored in the monitoring data storage unit 221.

図6(B)は、第1〜第3の論理部が正常に動作している状態での第1および第2の論理部の接続箇所における動作タイミングを表わしたものである。同図(イ)に示すように第2の論理部232には所定の周期の内部クロック251が供給されている。同図(イ)および(ロ)に示すように第1の論理部231から出力される信号256のほぼ中央位置で、内部クロック251が立ち上がる。このように、内部クロック251の立ち上がりに同期して第2の論理部232が信号256を入力することで、その入力処理が安定している。   FIG. 6B shows the operation timing at the connection location of the first and second logic units in a state where the first to third logic units are operating normally. As shown in FIG. 6A, an internal clock 251 having a predetermined cycle is supplied to the second logic unit 232. As shown in FIGS. 6A and 6B, the internal clock 251 rises at approximately the center position of the signal 256 output from the first logic unit 231. As described above, the second logic unit 232 inputs the signal 256 in synchronization with the rising edge of the internal clock 251, so that the input process is stable.

図7は、FPGA内の第1の論理部に何らかの不具合が発生した直後の状態を示したものである。この時点は不具合の発生直後のため、監視用データ261を入力する第1の監視部241は第1の論理部231での不具合をまだ検出していない。また、同図(B)(イ)に示す内部クロック251、(ロ)に示す第1の論理部231の出力する信号256および(ハ)に示す第2の論理部232に入力する信号256にも変化はない。   FIG. 7 shows a state immediately after some trouble has occurred in the first logic unit in the FPGA. Since this time is immediately after the occurrence of a problem, the first monitoring unit 241 that inputs the monitoring data 261 has not yet detected a problem in the first logic unit 231. In addition, the internal clock 251 shown in FIGS. 7B and 12B, the signal 256 output from the first logic unit 231 shown in (B) and the signal 256 input to the second logic unit 232 shown in (C). There is no change.

図8(A)は、第1の論理部に不具合が発生したことにより論理部構成可能領域に新たな回路ブロックとして構成される第1〜第3の論理部を示したものである。図5と共に説明する。図5に示す論理部構成可能領域202には、今回の例で図6に示す第1〜第3の論理部231〜233を含む回路ブロック等の幾つかの回路ブロックが工場出荷に先立って構成されている。ただし、説明の便宜上、第1〜第3の論理部231〜233に対応する新たな回路ブロック以外は図示していない。第1〜第3の論理部231〜233を含む回路ブロックの中で、今回の例では第1の論理部231が不具合を発生させて、使用不可の状態となっている。   FIG. 8A shows the first to third logic units configured as new circuit blocks in the logic unit configurable area due to the occurrence of a problem in the first logic unit. This will be described with reference to FIG. In the logic part configurable area 202 shown in FIG. 5, several circuit blocks such as circuit blocks including the first to third logic parts 231 to 233 shown in FIG. 6 in this example are configured prior to factory shipment. Has been. However, for convenience of explanation, only the new circuit blocks corresponding to the first to third logic units 231 to 233 are not shown. Among the circuit blocks including the first to third logic units 231 to 233, in this example, the first logic unit 231 generates a problem and is in an unusable state.

本実施の形態では、このような場合、論理部構成可能領域202における未使用領域281、すなわち回路ブロックを新たに構成することができる空間領域に存在する回路部品を使用して、今まで使用していた回路ブロックと全く別個に回路ブロックを構成する。これが第1〜第3の論理部291〜293を備えた回路ブロックである。   In this embodiment, in such a case, the unused part 281 in the logic unit configurable area 202, that is, the circuit component existing in the space area in which the circuit block can be newly configured is used and used up to now. The circuit block is configured completely separately from the circuit block. This is a circuit block including first to third logic units 291 to 293.

回路ブロック対応テーブル215には、図6に示した第1〜第3の論理部231〜233を構成する回路ブロックに対応させて幾つかの回路ブロックが登録されている。図5における論理部構成可能領域202に既に構成されている図示しない回路ブロックについても、それらの代替用の回路ブロックを構成する具体的な回路部品の配置内容が回路ブロック対応テーブル215に登録されている。これら代替用の回路ブロックは、たとえば第1〜第3の論理部291〜293を構成する回路ブロックの場合、図6に示した第1〜第3の論理部231〜233を構成したときと同様の回路部品の配置環境となっている場所が選択されることで回路特性の最適化が図られている。   In the circuit block correspondence table 215, several circuit blocks are registered in association with the circuit blocks constituting the first to third logic units 231 to 233 shown in FIG. For circuit blocks (not shown) already configured in the logic section configurable area 202 in FIG. 5, the arrangement contents of specific circuit components constituting the substitute circuit blocks are registered in the circuit block correspondence table 215. Yes. For example, in the case of circuit blocks constituting the first to third logic units 291 to 293, these alternative circuit blocks are the same as those for configuring the first to third logic units 231 to 233 shown in FIG. The circuit characteristics are optimized by selecting the location where the circuit component is placed.

不具合を生じた論理部を含む回路ブロックごとにこれらの代替のための候補となる回路ブロックを回路ブロック対応テーブル215に複数通り登録しておけば、他の回路ブロックに不具合が生じてその代替用の回路ブロックに一部の回路部品が先に使用されてしまっても、回路部品が重複しない場所に配置される他の回路ブロックを選択することができる。   If a plurality of circuit blocks that are candidates for substitution are registered in the circuit block correspondence table 215 for each circuit block including a logic part in which a defect has occurred, other circuit blocks have a defect and are used for replacement. Even if some of the circuit components are used for the first circuit block, it is possible to select another circuit block arranged in a place where the circuit components do not overlap.

以上は、回路ブロック対応テーブル215を使用して論理部に不具合の生じた回路ブロックを他の回路ブロックに代える場合の説明である。もちろん、図5に示す最適化処理部214を使用して第1〜第3の論理部231〜233とこれらを接続する伝送路からなる回路ブロックに回路特性でできるだけ似通った特性の第1〜第3の論理部291〜293を未使用領域281の回路部品の中から選択して構成するようにしてもよい。   The above is a description of the case where a circuit block in which a failure has occurred in the logic unit is replaced with another circuit block using the circuit block correspondence table 215. Of course, using the optimization processing unit 214 shown in FIG. 5, the first to third logic units 231 to 233 and the first to first logics having characteristics similar to the circuit characteristics as much as possible to the circuit block composed of the transmission path connecting them. The three logic units 291 to 293 may be configured by selecting from circuit components in the unused area 281.

以上の処理が行われる結果として、第1の論理部231に不具合が生じたとき、未使用領域281に第1〜第3の論理部291〜293を備えた回路ブロックが新たに構成されることになる。そして、第1〜第3の論理部291〜293のそれぞれに内部クロック251が供給され、第1の論理部291には信号255が供給される。この結果、新たに構成された第1の論理部291からは信号301が出力され、これが信号302として新たに構成された第2の論理部292に供給される。   As a result of the above processing, when a failure occurs in the first logic unit 231, a circuit block including the first to third logic units 291 to 293 in the unused area 281 is newly configured. become. The internal clock 251 is supplied to each of the first to third logic units 291 to 293, and the signal 255 is supplied to the first logic unit 291. As a result, a signal 301 is output from the newly configured first logic unit 291, and this is supplied as a signal 302 to the newly configured second logic unit 292.

第2の論理部292からは信号303が出力され、これが信号304として新たに構成された第3の論理部293に供給される。第3の論理部293からは信号305が出力される。第1〜第3の論理部291〜293を備えた回路ブロックが図6に示した第1〜第3の論理部231〜233を構成する回路ブロックに限りなく近い特性を有していれば、信号305は図6における第3の論理部233から出力される信号258とその特性が限りなく近くなる。   A signal 303 is output from the second logic unit 292, and this signal is supplied as a signal 304 to the newly configured third logic unit 293. A signal 305 is output from the third logic unit 293. If the circuit block including the first to third logic units 291 to 293 has characteristics as close as possible to the circuit blocks constituting the first to third logic units 231 to 233 shown in FIG. The signal 305 has characteristics as close as possible to those of the signal 258 output from the third logic unit 233 in FIG.

図8(B)は、第1の論理部から出力される信号と第2の論理部に供給される信号のタイミングを表わしたものである。このうち同図(A)は内部クロック251を表わしている。同図(イ)および(ロ)に示すように第1の論理部291から出力される信号301のほぼ中央位置で、内部クロック251が立ち上がる。また、同図(イ)および(ハ)に示すように、内部クロック251の立ち上がりに同期して第2の論理部292が信号302を入力する。これにより信号302の入力処理が安定し、図15で説明したような不正な信号処理が回避される。   FIG. 8B shows the timing of the signal output from the first logic unit and the signal supplied to the second logic unit. Of these, FIG. 4A shows the internal clock 251. As shown in FIGS. 6A and 6B, the internal clock 251 rises at approximately the center position of the signal 301 output from the first logic unit 291. Further, as shown in FIGS. 6A and 6C, the second logic unit 292 inputs a signal 302 in synchronization with the rising edge of the internal clock 251. As a result, the input processing of the signal 302 is stabilized, and illegal signal processing as described with reference to FIG. 15 is avoided.

図9は、以上のような概要のFPGAにおける制御部の行う故障処理の様子を表わしたものである。ここで「故障」とは、たとえば図6に示した第1〜第3の論理部231〜233の不具合を含むFPGA200の各種不具合を包括する概念をいう。図5に示した監視部構成領域203に構成される第1の監視部241等の監視部(図6)による監視結果で不具合が検出されると、検出内容が制御部213に故障として通知される。前記した常時動作部内監視部は常時動作部201内の不具合を検出してその結果を制御部213に通知するようになっている。以下、図9を図5および図6と共に説明する。   FIG. 9 shows a state of failure processing performed by the control unit in the FPGA having the above outline. Here, the term “failure” refers to a concept that encompasses various problems of the FPGA 200 including the problems of the first to third logic units 231 to 233 shown in FIG. 6, for example. When a failure is detected in the monitoring result (FIG. 6) by the monitoring unit (FIG. 6) such as the first monitoring unit 241 configured in the monitoring unit configuration area 203 shown in FIG. 5, the detected content is notified to the control unit 213 as a failure. The The above-described constantly operating unit monitoring unit detects a malfunction in the constantly operating unit 201 and notifies the control unit 213 of the result. Hereinafter, FIG. 9 will be described together with FIG. 5 and FIG.

制御部213は故障の検出が行われるかを待機している(ステップS401)。故障が検出されると(Y)、制御部213は常時動作部201が故障しているかを判別する(ステップS402)。これは、故障の部位が常時動作部201か、あるいはそれ以外の部位としての論理部構成可能領域202または監視部構成領域203であるかの切り分けを行うためである。   The control unit 213 waits for failure detection (step S401). When a failure is detected (Y), the control unit 213 determines whether or not the constantly operating unit 201 has failed (step S402). This is because it is determined whether the failure part is always the operation part 201 or the logic part configurable area 202 or the monitoring part configuration area 203 as other parts.

常時動作部201が故障していると判別した場合(ステップS402:Y)、制御部213は過去に故障の通知が行われた論理部や常時動作部201における故障が判明している回路部分を除いたFPGA200全体を使用して、その再構成を行う。このため、最適化処理部214はこれら故障が判明した部分を除いたFPGA200のすべての領域で、必要な回路部分を構成するための最適化の計算を行う(ステップS403)。そして、FPGA200をリセットして必要な回路部分を再構成して(ステップS404)、処理を終了し(エンド)、運用が再開できるようにする。ここで必要な回路部分とは、常時動作部201と、論理部構成可能領域202における必要な回路ブロックと、監視部構成領域203における回路ブロックの不具合を検出する監視部である。   When it is determined that the constantly operating unit 201 has failed (step S402: Y), the control unit 213 determines a logic unit that has been notified of a failure in the past or a circuit part that has been found to have a failure in the always operating unit 201. Using the entire removed FPGA 200, the reconfiguration is performed. For this reason, the optimization processing unit 214 performs optimization calculation for configuring necessary circuit portions in all regions of the FPGA 200 except for the portions where these failures are found (step S403). Then, the FPGA 200 is reset to reconfigure necessary circuit portions (step S404), the processing is ended (end), and the operation can be resumed. Here, the necessary circuit parts are a constantly operating unit 201, a necessary circuit block in the logic unit configurable area 202, and a monitoring unit that detects a defect in the circuit block in the monitoring unit configuration area 203.

一方、ステップS402で常時動作部201以外の故障であると判別した場合(N)、制御部213は故障の通知のあった回路ブロックが回路ブロック対応テーブル215にすでに登録されているかをチェックする(ステップS405)。回路ブロック対応テーブル215に登録されている場合には(Y)、代替する回路ブロックとして示されている回路ブロックがその判別した時点で代替可能であるかを判別する(ステップS406)。これは、他の回路ブロックが以前に故障して、そのときに今回の代替候補とされる回路ブロックを構成する回路部品がすでに使用されているとき、今回の代替候補とされる回路ブロックは使用できなくなるからである。もちろん、回路ブロック対応テーブル215に代替候補が2以上登録されている場合には、代替候補とされる回路ブロックの全部が使用済みとなっていない限り、代替可能な回路ブロックの候補が存在することになる。   On the other hand, if it is determined in step S402 that there is a failure other than the constant operation unit 201 (N), the control unit 213 checks whether the circuit block that has been notified of the failure is already registered in the circuit block correspondence table 215 ( Step S405). If it is registered in the circuit block correspondence table 215 (Y), it is determined whether the circuit block indicated as the circuit block to be replaced can be replaced at the time of determination (step S406). This is because the circuit block that is the current alternative candidate is used when another circuit block has previously failed and the circuit components that make up the circuit block that is the current alternative candidate are already in use. Because it becomes impossible. Of course, when two or more alternative candidates are registered in the circuit block correspondence table 215, there are alternative circuit block candidates that can be used unless all the circuit blocks that are alternative candidates have been used. become.

代替可能な回路ブロックが存在する場合(ステップS406:Y)、制御部213はその回路ブロックを論理部構成可能領域202に再構成することになる(ステップS407)。このとき、代替可能な回路ブロックが複数存在する場合には、そのうちの1つを代替用の回路ブロックとして選択する。この場合に回路ブロックの選択について、回路特性等の理由で優先順位が定められている場合にはそれに従う。   When a replaceable circuit block exists (step S406: Y), the control unit 213 reconfigures the circuit block in the logic unit configurable area 202 (step S407). At this time, when there are a plurality of replaceable circuit blocks, one of them is selected as a circuit block for replacement. In this case, when a priority order is determined for reasons such as circuit characteristics, the selection of the circuit block is followed.

このようにして故障した回路ブロックに代わる回路ブロックが再構成されたら、制御部213は故障前に使用していた監視部を再構成後の回路ブロックに接続するようにその部分の伝送路を再構成する(ステップS408)。これに代えて再構成された回路ブロックに接続する監視部を監視部構成領域203に再構成することも可能である。ステップS408の処理により、FPGA200は回路ブロックの再構成による運用再開のための処理が終了する(エンド)。   When a circuit block that replaces the failed circuit block is reconfigured in this way, the control unit 213 reconfigures the transmission path of that part so that the monitoring unit used before the failure is connected to the reconfigured circuit block. Configure (step S408). Alternatively, the monitoring unit connected to the reconfigured circuit block can be reconfigured in the monitoring unit configuration area 203. With the process in step S408, the FPGA 200 ends the process for resuming the operation by reconfiguring the circuit block (end).

一方、回路ブロック対応テーブル215に故障した回路ブロックが登録されていない場合がある(ステップS405:N)。一例を挙げると、故障した回路ブロックが一度再構成した回路ブロックであるような場合である。このような場合や、回路ブロック対応テーブル215に登録した回路ブロックであっても代替候補となる回路ブロックを再構成できないことが判明した場合には(ステップS406:N)、最適化処理部214を用いた回路ブロックの再構成が行われることになる(ステップS409)。   On the other hand, the failed circuit block may not be registered in the circuit block correspondence table 215 (step S405: N). As an example, there is a case where a failed circuit block is a circuit block that has been reconfigured once. In such a case, or when it is found that even a circuit block registered in the circuit block correspondence table 215 cannot be reconfigured as a replacement candidate (step S406: N), the optimization processing unit 214 is set. The used circuit block is reconfigured (step S409).

この回路ブロックの再構成処理は、ステップS403およびステップS404の処理に類似している。すなわち、ステップS409では過去に故障の通知が行われた論理部における故障が判明している回路部分を除いた論理部構成可能領域202の全体を使用して、該当する回路ブロックの再構成を行う。このため、最適化処理部214は故障が判明した部分を除いた論理部構成可能領域202のすべての未使用領域で、必要な回路部分を構成するための最適化の計算を行う。そして、FPGA200をリセットして新たな回路ブロックを再構成して、処理を終了することになる(エンド)。   This circuit block reconfiguration processing is similar to the processing in steps S403 and S404. That is, in step S409, the entire logic unit configurable area 202 excluding the circuit portion in which a failure has been found in the logic unit for which a failure has been notified in the past is used to reconfigure the corresponding circuit block. . For this reason, the optimization processing unit 214 performs optimization calculation for constructing a necessary circuit part in all unused areas of the logical part configurable area 202 excluding the part where the failure is found. Then, the FPGA 200 is reset, a new circuit block is reconfigured, and the processing is ended (END).

ステップS403あるいはステップS409による最適化処理は、制御部213がコンパイラ(compiler)を搭載して、対象となる領域に存在する回路部品に関するデータをコンパイルすることによって行う。コンパイラを使用した最適化処理を行うことで、個々の回路ブロックに対応する再構成候補の回路ブロックを予め演算して回路ブロック対応テーブル215に登録する処理を省くことができる。また、最適化処理を行うことで該当する回路ブロックの最低限の動作が保証されるため、FPGA200が致命的なシステムダウンとなることがなく、故障前と同等の機能の提供が可能になる。もちろん、最適化処理部214を使用して最適化処理を行った場合には、FPGA200の容量が大きいほど最適化処理のための各種データのコンパイル時間が長時間化するので、FPGA200の運用再開までの時間が長く掛かることになる。   The optimization processing in step S403 or step S409 is performed by the control unit 213 having a compiler installed and compiling data relating to circuit components existing in the target region. By performing the optimization process using the compiler, it is possible to omit the process of calculating the reconstruction candidate circuit blocks corresponding to the individual circuit blocks in advance and registering them in the circuit block correspondence table 215. In addition, since the minimum operation of the corresponding circuit block is guaranteed by performing the optimization process, the FPGA 200 does not cause a fatal system down, and it is possible to provide functions equivalent to those before the failure. Of course, when the optimization processing is performed using the optimization processing unit 214, the larger the capacity of the FPGA 200, the longer the compilation time of various data for the optimization processing, so the operation of the FPGA 200 is resumed. It will take a long time.

本実施の形態では回路ブロック対応テーブル215を用いる手法と最適化処理部214を用いる手法を併用している。したがって、論理部構成可能領域202に回路ブロックを再構成する多くの場合にその時間を短縮することができ、かつこれに対応できない故障にも対処することができる。   In the present embodiment, the method using the circuit block correspondence table 215 and the method using the optimization processing unit 214 are used together. Therefore, in many cases of reconfiguring the circuit block in the logic unit configurable area 202, the time can be shortened, and a failure that cannot be dealt with can be dealt with.

また、実施の形態では回路ブロック単位で再構成を行うことにした。これにより、一部の論理部のみを再構成する場合と比較すると、論理部構成可能領域202に新たに再構成した論理部と前の回路ブロックにおける不具合の生じていない論理部とを接続する伝送路が長くなったり大きく迂回する事態の発生を軽減できる場合が多くなる。これにより、その伝送路部分を構成する回路部分による信号の遅延等の回路特性の劣化による誤動作の発生を減少させることが可能になる。また、この結果、FPGA200およびこれを使用した装置の長寿命化を低コストで実現することができることになる。   In the embodiment, the reconfiguration is performed in units of circuit blocks. As a result, as compared with the case where only some of the logic units are reconfigured, the transmission that connects the newly reconfigured logic unit to the logic unit in which no defect has occurred in the previous circuit block in the logic unit configurable area 202 In many cases, it is possible to reduce the occurrence of a situation in which a road becomes long or largely detours. As a result, it is possible to reduce the occurrence of malfunctions due to deterioration of circuit characteristics such as signal delays caused by circuit portions constituting the transmission path portion. As a result, it is possible to extend the lifetime of the FPGA 200 and the apparatus using the FPGA 200 at a low cost.

なお、以上説明した実施の形態の回路ブロック対応テーブル215では、回路ブロックのどの論理部に故障が発生したかを判別することなく、故障の生じた回路ブロックに対応する新たな回路ブロックを選択させてその再構成を行うことにした。本発明はこれに限るものではなく、故障の生じた回路ブロックのどの論理部に不具合が発生したかを判別し、その判別結果に応じて新たな回路ブロックを選択させてその再構成を行うようにしてもよい。この場合に、故障の生じた回路ブロックを構成する複数の論理部の全部で不具合が発生しているのか、どの論理部とどの論理部で不具合が発生しているかというような詳細な不具合の様子を判別して、これに応じて再構成する回路ブロックをより具体的な内容とすることができる。   In the circuit block correspondence table 215 according to the embodiment described above, a new circuit block corresponding to the circuit block in which the failure has occurred is selected without determining which logic part of the circuit block has failed. I decided to reconstruct it. The present invention is not limited to this, and it is determined which logic part of a circuit block in which a failure has occurred, a new circuit block is selected according to the determination result, and the reconfiguration is performed. It may be. In this case, a detailed failure state such as whether a failure has occurred in all of the plurality of logic parts constituting the circuit block in which the failure has occurred, which logic unit and which logic unit has the failure And the circuit block to be reconfigured according to this can be made more specific.

また、以上説明した実施の形態ではFPGA200が常時動作部201にCPU211等からなる制御部213を備える構成としたが、これに限るものではない。CPU211を内部に組み込んでいないFPGAについても、外部に配置されたCPUを接続して制御することで、実施の形態と同様に常時動作部201を再構成したり、回路ブロックを同様に再構成することができる。外部にはCPU211だけでなく、メモリ212、最適化処理部214および回路ブロック対応テーブル215を配置する構成でもよい。言い換えると、常時動作部201そのものをFPGA200の外に配置する構成となっていてもよい。   Further, in the embodiment described above, the FPGA 200 is configured to include the control unit 213 including the CPU 211 and the like in the always-on operation unit 201, but is not limited thereto. Even for an FPGA in which the CPU 211 is not incorporated, by connecting and controlling an externally arranged CPU, the normal operation unit 201 is reconfigured as in the embodiment, or the circuit block is reconfigured in the same manner. be able to. Not only the CPU 211 but also the memory 212, the optimization processing unit 214, and the circuit block correspondence table 215 may be arranged outside. In other words, the constantly operating unit 201 itself may be arranged outside the FPGA 200.

更に実施の形態では図5に示した監視用データ格納部221に監視用照合データ271等の照合用のデータを格納しておき第1の監視部241等の監視部が第1の論理部231等の論理部から運用時に出力される監視用データ261等のデータと照合して、一致や不一致を比較することで不具合の検出を行った。本発明の故障検出は、これに限るものではない。なお、監視用データ格納部221をFPGA200の外に配置する構成となっていてもよいことは当然である。   Further, in the embodiment, collation data such as the monitoring collation data 271 is stored in the monitoring data storage unit 221 shown in FIG. 5, and the monitoring unit such as the first monitoring unit 241 is the first logic unit 231. The failure is detected by comparing the data such as the monitoring data 261 output from the logic unit such as the monitoring data 261 and the like, and comparing the coincidence and the inconsistency. The failure detection of the present invention is not limited to this. Of course, the monitoring data storage unit 221 may be arranged outside the FPGA 200.

図10は、論理部の不具合の発生を検出する他の手法を説明するためのものである。この変形例のFPGA200Aには、先の実施の形態と同様に第1〜第3の論理部231〜233が構成されているものとする。このうちの第1の論理部231は監視用データ261Aを第1の監視部241Aに入力するようになっている。同様に、第2および第3の論理部232、233も監視用データ262Aあるいは263Aを第2の監視部242Aあるいは第3の監視部243Aに入力するようになっている。この変形例では、第1〜第3の監視部241A〜243Aが第1〜第3の論理部障害要因レジスタ311A〜313Aを備えている。   FIG. 10 is a diagram for explaining another method for detecting the occurrence of a malfunction in the logic unit. It is assumed that the first to third logic units 231 to 233 are configured in the FPGA 200A of this modified example, as in the previous embodiment. Of these, the first logic unit 231 inputs the monitoring data 261A to the first monitoring unit 241A. Similarly, the second and third logic units 232 and 233 also input the monitoring data 262A or 263A to the second monitoring unit 242A or the third monitoring unit 243A. In this modified example, the first to third monitoring units 241A to 243A include first to third logic unit failure factor registers 311A to 313A.

第1の論理部障害要因レジスタ311Aを例に採って具体的に説明する。第1の論理部障害要因レジスタ311Aは、第1の論理部231が正常なときに第1の監視部241Aに入力される監視用データ261Aとしての値「0b0000」と共に、障害の各要因ごとの値を登録している。たとえば第1の要因で障害が発生するときの監視用データ261Aの値は「0b0001」であり、第2の要因で障害が発生するときの監視用データ261Aの値は「0b0010」である。   The first logic unit failure factor register 311A will be specifically described as an example. The first logic unit failure factor register 311A includes the value “0b0000” as the monitoring data 261A input to the first monitoring unit 241A when the first logic unit 231 is normal, and for each factor of the failure. A value is registered. For example, the value of the monitoring data 261A when a failure occurs due to the first factor is “0b0001”, and the value of the monitoring data 261A when a failure occurs due to the second factor is “0b0010”.

第1の論理部障害要因レジスタ311Aが第1〜第4の要因と正常時の値を登録しているとすると、第1の監視部241Aは監視用データ261Aがどの値に一致するかを逐次比較する。そして、その比較結果を図10では図示を省略している制御部に通知する。このようにして、FPGA200Aの制御部は、不具合が発生したときの要因を第1〜第3の論理部231〜233について常に監視することができ、回路ブロックの再構成が必要となる時点を判断することができる。   Assuming that the first logic unit failure factor register 311A registers the first to fourth factors and normal values, the first monitoring unit 241A sequentially determines which value the monitoring data 261A matches. Compare. Then, the comparison result is notified to the control unit not shown in FIG. In this way, the control unit of the FPGA 200A can always monitor the factors at the time of occurrence of the malfunction for the first to third logic units 231 to 233, and determines when the circuit block needs to be reconfigured. can do.

たとえば第1の論理部231にとって第1の要因が比較的重い故障要因であるとすれば、制御部はこれが確認された時点で第1の論理部231を含む回路ブロックの再構成を決定する。また、第1の論理部231にとって第2の要因が比較的軽い故障要因であるとすると、第2および第3の論理部232、233が正常である間は回路ブロックの再構成を見合わせる。そして、たとえば第2の論理部232にも比較的軽い故障要因が発生したような場合に、これらの組み合わせが回路ブロックの再構成の基準に該当していれば、第1および第2の論理部231、232を含む回路ブロックの再構成を決定することになる。   For example, if the first factor is a relatively severe failure factor for the first logic unit 231, the control unit determines the reconfiguration of the circuit block including the first logic unit 231 when this is confirmed. In addition, assuming that the second factor is a relatively light failure factor for the first logic unit 231, the reconfiguration of the circuit block is postponed while the second and third logic units 232 and 233 are normal. For example, when a relatively minor failure factor occurs in the second logic unit 232, if these combinations meet the criteria for circuit block reconfiguration, the first and second logic units The reconfiguration of the circuit block including 231 and 232 is determined.

なお、実施の形態およびその変形例ではFPGA200、200Aについての論理部の動的な再構成について説明したが、本発明はを使用した情報通信装置や情報処理装置にも適用することができることは当然である。   In the embodiment and the modifications thereof, the dynamic reconfiguration of the logic unit for the FPGAs 200 and 200A has been described. However, the present invention can naturally be applied to an information communication apparatus and an information processing apparatus using the FPGA. It is.

以上説明した実施の形態の一部または全部は、以下の付記のようにも記載されるが、以下の記載に限定されるものではない。   Some or all of the embodiments described above are described as in the following supplementary notes, but are not limited to the following descriptions.

(付記1)
同一基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記多数の回路部品の中から適宜選択して前記論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成手段と、
この回路ブロック初期構成手段で構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視手段と、
この回路ブロック監視手段によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記論理部のそれぞれと回路としての特性が同一の新たな論理部と前記接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する最適化処理実行手段と、
この最適化処理実行手段によって構成した新しい回路ブロックを前記回路ブロック監視手段で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる回路ブロック交代手段
とを具備することを特徴とするFPGA(Field Programmable Gate Array)。
(Appendix 1)
A number of circuit parts functioning as logic circuits having desired characteristics are configured by appropriately selecting and combining from a number of circuit parts formed in a specific area on the same substrate, and A desired number of circuit blocks each having a group of circuit functions are initially configured by appropriately selecting from among them and configuring connection portions as components for electrically connecting the logic portions. Circuit block initial configuration means;
A circuit block monitoring means for detecting a circuit block including a logic unit in which a failure has occurred by monitoring these operations when each circuit block configured by the circuit block initial configuration means is in operation;
When a circuit block including a failed logic unit is detected by the circuit block monitoring means, a new logic unit, a connection unit, and a signal having the same circuit characteristics as each of the logic units constituting the circuit block Execution of an optimization process in which a circuit block having a new connection portion with the same timing as possible is configured by an optimization process from unused portions of a large number of circuit components formed in the specific region Means,
Circuit block replacement means for starting a new operation by replacing a new circuit block constituted by the optimization processing execution means with a circuit block including a logic unit in which a failure has occurred in the circuit block monitoring means. FPGA (Field Programmable Gate Array).

(付記2)
前記回路ブロック初期構成手段によって初期的に構成した回路ブロックごとに、これらの回路ブロックを構成する前記論理部に不具合が発生して前記回路ブロック交代手段による交代が必要とされるときに交代後の回路ブロックを構成するために必要な回路部品に関する情報を記したテーブルが用意されていることを特徴とする付記1記載のFPGA。
(Appendix 2)
For each circuit block that is initially configured by the circuit block initial configuration means, when a failure occurs in the logic unit that configures these circuit blocks and replacement by the circuit block replacement means is required, 2. The FPGA according to appendix 1, wherein a table describing information related to circuit parts necessary for configuring a circuit block is prepared.

(付記3)
前記交代後の回路ブロックは、これを構成する前記論理部同士を接続する前記接続部が前記交代前の回路ブロックの該当する接続部と信号の伝達するタイミングが可能な限り同一となるように前記特定領域に形成された多数の回路部品の中の未使用の部品から予め選択されたものであることを特徴とする付記2記載のFPGA。
(Appendix 3)
The circuit block after the change is such that the connection part that connects the logic parts constituting the circuit block and the corresponding connection part of the circuit block before the change have the same timing as possible. The FPGA according to appendix 2, wherein the FPGA is selected in advance from unused parts among a large number of circuit parts formed in a specific region.

(付記4)
前記テーブルに前記初期的に構成した回路ブロックの1つに対して交代後の回路ブロックを複数構成するために必要な回路部品に関する情報が複数通り記載されているとき、これらを優先順位に従って選択する優先順位選択手段を更に具備することを特徴とする付記2記載のFPGA。
(Appendix 4)
When a plurality of pieces of information relating to circuit parts necessary for configuring a plurality of circuit blocks after replacement with respect to one of the initially configured circuit blocks is described in the table, these are selected in accordance with a priority order. The FPGA according to appendix 2, further comprising priority order selection means.

(付記5)
同一基板上の特定領域に多数の回路部品を形成したFPGA(Field Programmable Gate Array)と、
このFPGAの前記多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記多数の回路部品の中から適宜選択して前記論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成手段と、
この回路ブロック初期構成手段で構成したそれぞれの回路ブロックが運用中のときにこれらの動作の監視結果として不具合の生じた論理部を含む回路ブロックが検出されたときこの通知を受ける回路ブロック監視手段と、
この回路ブロック監視手段によって不具合の生じた論理部を含む回路ブロックが検出されたことが通知されたとき、その回路ブロックを構成する前記論理部のそれぞれと回路としての特性が同一の新たな論理部と前記接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する最適化処理実行手段と、
この最適化処理実行手段によって構成した新しい回路ブロックを前記回路ブロック監視手段で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる回路ブロック交代手段
とを具備することを特徴とするFPGAを用いた回路再構成システム。
(Appendix 5)
An FPGA (Field Programmable Gate Array) in which a large number of circuit components are formed in a specific area on the same substrate;
By selecting and combining from among the many circuit components of this FPGA, several logic units each functioning as a logic circuit having a desired characteristic are formed, and selecting from among the many circuit components as appropriate. Circuit block initial configuration means for initially configuring a desired number of circuit blocks each having a group of circuit functions by configuring a connection section as a component for electrically connecting the logic sections; ,
Circuit block monitoring means for receiving a notification when a circuit block including a failed logic unit is detected as a monitoring result of these operations when each circuit block configured by the circuit block initial configuration means is in operation; and ,
When it is notified by the circuit block monitoring means that a circuit block including a failed logic unit has been detected, a new logic unit having the same circuit characteristics as each of the logic units constituting the circuit block And a circuit block provided with a new connection portion where the signal transmission timing is the same as possible, by an optimization process from unused portions of a large number of circuit components formed in the specific region An optimization processing execution means to be configured;
Circuit block replacement means for starting a new operation by replacing a new circuit block constituted by the optimization processing execution means with a circuit block including a logic unit in which a failure has occurred in the circuit block monitoring means. A circuit reconfiguration system using an FPGA.

(付記6)
前記回路ブロック初期構成手段によって初期的に構成した回路ブロックごとに、これらの回路ブロックを構成する前記論理部に不具合が発生して前記回路ブロック交代手段による交代が必要とされるときに交代後の回路ブロックを構成するために必要な回路部品に関する情報を記したテーブルが用意されていることを特徴とする付記5記載のFPGAを用いた回路再構成システム。
(Appendix 6)
For each circuit block that is initially configured by the circuit block initial configuration means, when a failure occurs in the logic unit that configures these circuit blocks and replacement by the circuit block replacement means is required, 6. A circuit reconfiguration system using an FPGA as set forth in appendix 5, wherein a table in which information relating to circuit components necessary for configuring a circuit block is prepared.

(付記7)
前記交代後の回路ブロックは、これを構成する前記論理部同士を接続する前記接続部が交代前の回路ブロックの該当する接続部と信号の伝達するタイミングが可能な限り同一となるように前記特定領域に形成された多数の回路部品の中の未使用の部品から予め選択されたものであることを特徴とする付記6記載のFPGAを用いた回路再構成システム。
(Appendix 7)
The specified circuit block after the replacement is specified so that the timing at which signals are transmitted is the same as possible with the connection unit that connects the logic units constituting the block with the corresponding connection unit of the circuit block before the replacement. The circuit reconfiguration system using the FPGA according to appendix 6, wherein the circuit reconfiguration system is previously selected from unused parts among a large number of circuit parts formed in the region.

(付記8)
前記テーブルに前記初期的に構成した回路ブロックの1つに対して交代後の回路ブロックを複数構成するために必要な回路部品に関する情報が複数通り記載されているとき、これらを優先順位に従って選択する優先順位選択手段を更に具備することを特徴とする付記5記載のFPGAを用いた回路再構成システム。
(Appendix 8)
When a plurality of pieces of information relating to circuit parts necessary for configuring a plurality of circuit blocks after replacement with respect to one of the initially configured circuit blocks is described in the table, these are selected in accordance with a priority order. The circuit reconfiguration system using the FPGA according to appendix 5, further comprising priority order selection means.

(付記9)
FPGA(Field Programmable Gate Array)を構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記多数の回路部品の中から適宜選択して前記論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成ステップと、
この回路ブロック初期構成ステップで構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視ステップと、
この回路ブロック監視ステップによって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記論理部のそれぞれと回路としての特性が同一の新たな論理部と前記接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する最適化処理実行ステップと、
この最適化処理実行ステップによって構成した新しい回路ブロックを前記回路ブロック監視ステップで不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる回路ブロック交代ステップ
とを具備することを特徴とするFPGAを用いた回路再構成方法。
(Appendix 9)
Configures several logic units that each function as a logic circuit with desired characteristics by appropriately selecting and combining from a large number of circuit components formed in a specific area on a substrate constituting an FPGA (Field Programmable Gate Array) In addition, a circuit block having a group of circuit functions can be obtained by configuring a connection part as a part for electrically connecting the logic parts by appropriately selecting from among the many circuit parts. Circuit block initial configuration steps for initial configuration of a desired number;
A circuit block monitoring step for detecting a circuit block including a logic unit in which a malfunction has occurred by monitoring these operations when each circuit block configured in this circuit block initial configuration step is in operation;
When a circuit block including a failed logic unit is detected by this circuit block monitoring step, a new logic unit, the connection unit, and a signal having the same circuit characteristics as each of the logic units constituting the circuit block Execution of an optimization process in which a circuit block having a new connection portion with the same timing as possible is configured by an optimization process from unused portions of a large number of circuit components formed in the specific region Steps,
And a circuit block replacement step for starting a new operation by replacing a new circuit block constituted by the optimization processing execution step with a circuit block including a logic unit in which a failure has occurred in the circuit block monitoring step. A circuit reconfiguration method using an FPGA.

(付記10)
コンピュータが、
FPGA(Field Programmable Gate Array)を構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記多数の回路部品の中から適宜選択して前記論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成処理と、
この回路ブロック初期構成処理で構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視処理と、
この回路ブロック監視処理によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記論理部のそれぞれと回路としての特性が同一の新たな論理部と前記接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記特定領域に形成された多数の回路部品の中の未使用部分から最適化処理によって構成する最適化処理実行処理と、
この最適化処理実行処理によって構成した新しい回路ブロックを前記回路ブロック監視処理で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させる回路ブロック交代処理
とを実行することを特徴とするFPGAを用いた回路再構成プログラム。
(Appendix 10)
Computer
Configures several logic units that each function as a logic circuit with desired characteristics by appropriately selecting and combining from a large number of circuit components formed in a specific area on a substrate constituting an FPGA (Field Programmable Gate Array) In addition, a circuit block having a group of circuit functions can be obtained by configuring a connection part as a part for electrically connecting the logic parts by appropriately selecting from among the many circuit parts. Circuit block initial configuration processing for initial configuration of a desired number;
A circuit block monitoring process for detecting a circuit block including a logic unit in which a malfunction has occurred by monitoring these operations when each circuit block configured in the circuit block initial configuration process is in operation; and
When a circuit block including a failed logic unit is detected by the circuit block monitoring process, a new logic unit, a connection unit, and a signal having the same circuit characteristics as each of the logic units constituting the circuit block are detected. Execution of an optimization process in which a circuit block having a new connection portion with the same timing as possible is configured by an optimization process from unused portions of a large number of circuit components formed in the specific region Processing,
A circuit block replacement process for starting a new operation by replacing a new circuit block configured by the optimization process execution process with a circuit block including a logic unit in which a defect has occurred in the circuit block monitoring process is performed. A circuit reconfiguration program using an FPGA.

10、21、200、200A FPGA
11、22 回路ブロック初期構成手段
12、23 回路ブロック監視手段
13、24 最適化処理実行手段
14、25 回路ブロック交代手段
20 FPGAを用いた回路再構成システム
30 FPGAを用いた回路再構成方法
31 回路ブロック初期構成ステップ
32 回路ブロック監視ステップ
33 最適化処理実行ステップ
34 回路ブロック交代ステップ
40 FPGAを用いた回路再構成プログラム
41 回路ブロック初期構成処理
42 回路ブロック監視処理
43 最適化処理実行処理
44 回路ブロック交代処理
201 常時動作部
202 論理部構成可能領域
203 監視部構成領域
211 CPU
212 メモリ
213 制御部
214 最適化処理部
215 回路ブロック対応テーブル
221 監視用データ格納部
231 第1の論理部
232 第2の論理部
233 第3の論理部
241、241A 第1の監視部
242、242A 第2の監視部
243、243A 第3の監視部
251 内部クロック
261、261A、262、262A、263、263A 監視用データ
271、272、273 監視用照合データ
291 (再構成後の)第1の論理部
292 (再構成後の)第2の論理部
293 (再構成後の)第3の論理部
301、302 信号
10, 21, 200, 200A FPGA
DESCRIPTION OF SYMBOLS 11, 22 Circuit block initial configuration means 12, 23 Circuit block monitoring means 13, 24 Optimization processing execution means 14, 25 Circuit block replacement means 20 Circuit reconfiguration system using FPGA 30 Circuit reconfiguration method using FPGA 31 Circuit Block initial configuration step 32 Circuit block monitoring step 33 Optimization processing execution step 34 Circuit block replacement step 40 Circuit reconfiguration program using FPGA 41 Circuit block initial configuration processing 42 Circuit block monitoring processing 43 Optimization processing execution processing 44 Circuit block replacement Processing 201 Constant operation unit 202 Logic unit configurable area 203 Monitoring unit configuration area 211 CPU
212 Memory 213 Control unit 214 Optimization processing unit 215 Circuit block correspondence table 221 Monitoring data storage unit 231 First logic unit 232 Second logic unit 233 Third logic unit 241, 241 A First monitoring unit 242, 242 A Second monitoring unit 243, 243A Third monitoring unit 251 Internal clock 261, 261A, 262, 262A, 263, 263A Monitoring data 271, 272, 273 Monitoring verification data 291 (after reconfiguration) First logic Part 292 Second logic part 293 (after reconfiguration) Third logic part 301, 302 signal (after reconfiguration)

Claims (10)

FPGA(Field Programmable Gate Array)を構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記多数の回路部品の中から適宜選択して前記論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成手段と、
前記回路ブロック初期構成手段で構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視手段と、
前記FPGAを構成する基板上の常時動作領域の動作を監視し前記常時動作領域の不具合を検知すると共に、当該不具合の発生要因である前記常時動作領域の構成要素を検出する常時動作領域監視手段と、
前記回路ブロック監視手段によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記論理部のそれぞれと回路としての特性が同一の新たな論理部と前記接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記特定領域に形成された多数の回路部品の中の未使用部分最適化処理することで算出し前記常時動作領域監視手段によって前記常時動作領域の不具合が検知されると共に当該不具合の発生要因である前記常時動作領域の構成要素が検出されたとき、当該不具合を解消する前記FPGAの新しい構成を、当該不具合の発生要因である前記常時動作領域の構成要素と、過去に不具合が生じた全ての前記論理部と、前記常時動作領域で過去に不具合の発生要因となった全ての前記常時動作領域の構成要素と、を除いた前記FPGAを構成する基板上の全領域を最適化処理することで算出する最適化処理実行手段と、
前記最適化処理実行手段が前記特定領域に形成された多数の回路部品の中の未使用部分を最適化処理することで算出した回路ブロックを、前記回路ブロック監視手段で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させ、前記最適化処理実行手段が最適化処理することで算出した前記FPGAの新たな構成によって、前記FPGAの新たな運用を開始させるFPGA制御手段
とを具備することを特徴とするFPGA。
Configures several logic units that function as logic circuits with desired characteristics by appropriately selecting and combining from a number of circuit components formed in a specific area on the substrate that constitutes the FPGA (Field Programmable Gate Array) In addition, a circuit block having a group of circuit functions can be obtained by configuring a connection part as a part for electrically connecting the logic parts by appropriately selecting from among the many circuit parts. Circuit block initial configuration means for initially configuring a desired number;
And a circuit block monitoring means for detecting a circuit block including a logical unit that the circuit blocks each of the circuit blocks constituting the initial configuration means has occurred malfunction by monitoring these operations when in operation,
A constantly operating region monitoring means for monitoring the operation of the constantly operating region on the substrate constituting the FPGA to detect a failure in the constantly operating region and detecting a component of the constantly operating region that is a cause of the failure; ,
When a circuit block including a failed logic unit is detected by the circuit block monitoring unit, a new logic unit, the connection unit, and a signal having the same circuit characteristics as each of the logic units constituting the circuit block the circuit block and a new connecting portion in which the timing for transmitting is identical as possible, the unused portion of a number of circuit components formed in the specific region is calculated by processing optimization, When a malfunction in the constantly operating area is detected by the constantly operating area monitoring means and a component of the constantly operating area that is a cause of the malfunction is detected, a new configuration of the FPGA that eliminates the malfunction is The component of the constantly operating area that is the cause of the malfunction, all the logic units that have malfunctioned in the past, and And optimization process executing means for calculating by treating optimize the entire area on the substrate constituting the components of all of the constantly operating region became cause of case, the FPGA excluding,
A circuit block calculated by the optimization processing execution means optimizing an unused portion of a large number of circuit components formed in the specific area is converted into a logic part in which a failure occurs in the circuit block monitoring means. FPGA control means for starting a new operation of the FPGA with a new configuration of the FPGA calculated by the optimization processing execution means performing an optimization process by switching to a circuit block including the circuit block < An FPGA A characterized by comprising :
前記回路ブロック初期構成手段によって初期的に構成した回路ブロックごとに、これらの回路ブロックを構成する前記論理部に不具合が発生して前記回路ブロック交代手段による交代が必要とされるときに交代後の回路ブロックを構成するために必要な回路部品に関する情報を記したテーブルが用意されていることを特徴とする請求項1記載のFPGA。   For each circuit block that is initially configured by the circuit block initial configuration means, when a failure occurs in the logic unit that configures these circuit blocks and replacement by the circuit block replacement means is required, 2. The FPGA according to claim 1, wherein a table in which information relating to circuit parts necessary for constituting a circuit block is described is prepared. 前記交代後の回路ブロックは、これを構成する前記論理部同士を接続する前記接続部が前記交代前の回路ブロックの該当する接続部と信号の伝達するタイミングが可能な限り同一となるように前記特定領域に形成された多数の回路部品の中の未使用の部品から予め選択されたものであることを特徴とする請求項2記載のFPGA。   The circuit block after the change is such that the connection part that connects the logic parts constituting the circuit block and the corresponding connection part of the circuit block before the change have the same timing as possible. 3. The FPGA according to claim 2, wherein the FPGA is previously selected from unused parts among a large number of circuit parts formed in a specific region. 前記テーブルに前記初期的に構成した回路ブロックの1つに対して交代後の回路ブロックを複数構成するために必要な回路部品に関する情報が複数通り記載されているとき、これらを優先順位に従って選択する優先順位選択手段を更に具備することを特徴とする請求項2記載のFPGA。   When a plurality of pieces of information relating to circuit parts necessary for configuring a plurality of circuit blocks after replacement with respect to one of the initially configured circuit blocks is described in the table, these are selected in accordance with a priority order. 3. The FPGA according to claim 2, further comprising priority order selection means. 同一基板上の特定領域に多数の回路部品を形成したFPGA(Field Programmable Gate Array)と、
前記FPGAの前記多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記多数の回路部品の中から適宜選択して前記論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成手段と、
前記回路ブロック初期構成手段で構成したそれぞれの回路ブロックが運用中のときにこれらの動作の監視結果として不具合の生じた論理部を含む回路ブロックが検出されたときこの通知を受ける回路ブロック監視手段と、
前記同一基板上の常時動作領域の動作を監視し前記常時動作領域の不具合を検知すると共に、当該不具合の発生要因である前記常時動作領域の構成要素を検出する常時動作領域監視手段と、
前記回路ブロック監視手段によって不具合の生じた論理部を含む回路ブロックが検出されたことが通知されたとき、その回路ブロックを構成する前記論理部のそれぞれと回路としての特性が同一の新たな論理部と前記接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記特定領域に形成された多数の回路部品の中の未使用部分最適化処理することで算出し前記常時動作領域監視手段によって前記常時動作領域の不具合が検知されると共に当該不具合の発生要因である前記常時動作領域の構成要素が検出されたとき、当該不具合を解消する前記FPGAの新しい構成を、当該不具合の発生要因である前記常時動作領域の構成要素と、過去に不具合が生じた全ての前記論理部と、前記常時動作領域で過去に不具合の発生要因となった全ての前記常時動作領域の構成要素と、を除いた前記FPGAを構成する基板上の全領域を最適化処理することで算出する最適化処理実行手段と、
前記最適化処理実行手段が前記特定領域に形成された多数の回路部品の中の未使用部分を最適化処理することで算出した回路ブロックを、前記回路ブロック監視手段で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させ、前記最適化処理実行手段が最適化処理することで算出した前記FPGAの新たな構成によって、前記FPGAの新たな運用を開始させるFPGA制御手段
とを具備することを特徴とするFPGAを用いた回路再構成システム。
FPGA (Field Programmable Gate Array) in which a number of circuit components are formed in a specific area on the same substrate;
By selecting and combining from among the many circuit components of the FPGA as appropriate, several logic units each functioning as a logic circuit having desired characteristics are formed, and from among the many circuit components, they are selected as appropriate. Circuit block initial configuration means for initially configuring a desired number of circuit blocks each having a group of circuit functions by configuring a connection section as a component for electrically connecting the logic sections; ,
And a circuit block monitoring means for receiving the notification when the circuit block including a logical unit caused problems as the monitoring result of these operations when in said circuit blocks each of the circuit blocks constituting the initial configuration means operate is detected ,
A normal operation region monitoring means for monitoring the operation of the constant operation region on the same substrate and detecting a defect of the normal operation region, and detecting a component of the normal operation region which is a cause of the failure;
When it is notified by the circuit block monitoring means that a circuit block including a failed logic unit has been detected, a new logic unit having the same circuit characteristics as each of the logic units constituting the circuit block the connecting portion and the circuit block and a new connecting portion in which the timing for transmitting become identical as possible to the signal, the optimization process of the unused portion of a number of circuit components formed in the specific region and When the malfunction of the constantly operating area is detected by the constantly operating area monitoring means and the component of the constantly operating area that is the cause of the malfunction is detected, the malfunction is resolved. The new configuration of the FPGA includes a component of the constantly operating area that is the cause of the failure, all the logic units that have failed in the past, Optimization processing execution means for calculating by optimizing the entire area on the board constituting the FPGA excluding all the components of the constantly operating area that have caused a failure in the past in the production area When,
A circuit block calculated by the optimization processing execution means optimizing an unused portion of a large number of circuit components formed in the specific area is converted into a logic part in which a failure occurs in the circuit block monitoring means. FPGA control means for starting a new operation of the FPGA with a new configuration of the FPGA calculated by the optimization processing execution means performing an optimization process by switching to a circuit block including the circuit block < a circuit reconfiguration system using an FPGA.
前記回路ブロック初期構成手段によって初期的に構成した回路ブロックごとに、これらの回路ブロックを構成する前記論理部に不具合が発生して前記回路ブロック交代手段による交代が必要とされるときに交代後の回路ブロックを構成するために必要な回路部品に関する情報を記したテーブルが用意されていることを特徴とする請求項5記載のFPGAを用いた回路再構成システム。   For each circuit block that is initially configured by the circuit block initial configuration means, when a failure occurs in the logic unit that configures these circuit blocks and replacement by the circuit block replacement means is required, 6. A circuit reconfiguration system using an FPGA according to claim 5, wherein a table in which information relating to circuit components necessary for configuring a circuit block is prepared. 前記交代後の回路ブロックは、これを構成する前記論理部同士を接続する前記接続部が交代前の回路ブロックの該当する接続部と信号の伝達するタイミングが可能な限り同一となるように前記特定領域に形成された多数の回路部品の中の未使用の部品から予め選択されたものであることを特徴とする請求項6記載のFPGAを用いた回路再構成システム。   The specified circuit block after the replacement is specified so that the timing at which signals are transmitted is the same as possible with the connection unit that connects the logic units constituting the block with the corresponding connection unit of the circuit block before the replacement. 7. The circuit reconfiguration system using an FPGA according to claim 6, wherein the circuit reconfiguration system is preselected from unused parts among a large number of circuit parts formed in the region. 前記テーブルに前記初期的に構成した回路ブロックの1つに対して交代後の回路ブロックを複数構成するために必要な回路部品に関する情報が複数通り記載されているとき、これらを優先順位に従って選択する優先順位選択手段を更に具備することを特徴とする請求項5記載のFPGAを用いた回路再構成システム。   When a plurality of pieces of information relating to circuit parts necessary for configuring a plurality of circuit blocks after replacement with respect to one of the initially configured circuit blocks is described in the table, these are selected in accordance with a priority order. 6. The circuit reconfiguration system using FPGA according to claim 5, further comprising priority order selection means. FPGA(Field Programmable Gate Array)を構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記多数の回路部品の中から適宜選択して前記論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成ステップと、
前記回路ブロック初期構成ステップで構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視ステップと、
前記FPGAを構成する基板上の常時動作領域の動作を監視し前記常時動作領域の不具合を検知すると共に、当該不具合の発生要因である前記常時動作領域の構成要素を検出する常時動作領域監視ステップと、
前記回路ブロック監視ステップによって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記論理部のそれぞれと回路としての特性が同一の新たな論理部と前記接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記特定領域に形成された多数の回路部品の中の未使用部分最適化処理することで算出し、前記常時動作領域監視ステップによって前記常時動作領域の不具合が検知されると共に当該不具合の発生要因である前記常時動作領域の構成要素が検出されたとき、当該不具合を解消する前記FPGAの新しい構成を、当該不具合の発生要因である前記常時動作領域の構成要素と、過去に不具合が生じた全ての前記論理部と、前記常時動作領域で過去に不具合の発生要因となった全ての前記常時動作領域の構成要素と、を除いた前記FPGAを構成する基板上の全領域を最適化処理することで算出する最適化処理実行ステップと、
前記最適化処理実行ステップが前記特定領域に形成された多数の回路部品の中の未使用部分を最適化処理することで算出した回路ブロックを、前記回路ブロック監視手段で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させ、前記最適化処理実行ステップが最適化処理することで算出した前記FPGAの新たな構成によって、前記FPGAの新たな運用を開始させるFPGA制御ステップ
とを具備することを特徴とするFPGAを用いた回路再構成方法。
Configures several logic units that function as logic circuits with desired characteristics by appropriately selecting and combining from a number of circuit components formed in a specific area on the substrate that constitutes the FPGA (Field Programmable Gate Array) In addition, a circuit block having a group of circuit functions can be obtained by configuring a connection part as a part for electrically connecting the logic parts by appropriately selecting from among the many circuit parts. Circuit block initial configuration steps for initial configuration of a desired number;
A circuit block monitoring step of detecting a circuit block including a logical unit that the circuit block initial configuration respective circuit blocks configured in step occurred problems by monitoring these operations when in operation,
A normal operation region monitoring step of monitoring the operation of the normal operation region on the substrate constituting the FPGA to detect a defect in the normal operation region and detecting a component of the normal operation region that is a cause of the failure; ,
When a circuit block including a failed logic unit is detected by the circuit block monitoring step, a new logic unit, a connection unit, and a signal having the same circuit characteristics as each of the logic units constituting the circuit block the circuit block and a new connecting portion in which the timing for transmitting is identical as possible, the unused portion of a number of circuit parts formed in the specific region is calculated by processing optimization, When a malfunction in the constantly operating area is detected by the constantly operating area monitoring step and a component of the constantly operating area, which is a cause of the malfunction, is detected, a new configuration of the FPGA that eliminates the malfunction, The component of the constantly operating area that is the cause of the malfunction, all the logic units that have malfunctioned in the past, and the constantly operating area And optimization process execution step of calculating by optimization an overall region of the substrate constituting the components of all of the constantly operating region became defect generation factor to, the FPGA excluding,
In the optimization process execution step, the circuit block calculated by optimizing the unused part of the many circuit components formed in the specific area is converted into a logic part in which the circuit block monitoring means has failed. An FPGA control step for starting a new operation of the FPGA with a new configuration of the FPGA calculated by performing an optimization process in the optimization process execution step by switching to a circuit block including the circuit block < a circuit reconfiguration method using an FPGA.
コンピュータが、
FPGA(Field Programmable Gate Array)を構成する基板上の特定領域に形成された多数の回路部品の中から適宜選択して組み合わせることでそれぞれ所望の特性の論理回路として機能する幾つかの論理部を構成すると共に、前記多数の回路部品の中から適宜選択して前記論理部の間を電気的に接続するための部品としての接続部を構成することで、それぞれひとまとまりの回路機能を有する回路ブロックを所望の数だけ初期的に構成する回路ブロック初期構成処理と、
前記回路ブロック初期構成ステップで構成したそれぞれの回路ブロックが運用中のときにこれらの動作を監視して不具合の生じた論理部を含む回路ブロックを検出する回路ブロック監視処理と、
前記FPGAを構成する基板上の常時動作領域の動作を監視し前記常時動作領域の不具合を検知すると共に、当該不具合の発生要因である前記常時動作領域の構成要素を検出する常時動作領域監視処理と、
前記回路ブロック監視処理によって不具合の生じた論理部を含む回路ブロックが検出されたときその回路ブロックを構成する前記論理部のそれぞれと回路としての特性が同一の新たな論理部と前記接続部と信号の伝達するタイミングが可能な限り同一となる新たな接続部とを備えた回路ブロックを前記特定領域に形成された多数の回路部品の中の未使用部分最適化処理することで算出し、前記常時動作領域監視処理によって前記常時動作領域の不具合が検知されると共に当該不具合の発生要因である前記常時動作領域の構成要素が検出されたとき、当該不具合を解消する前記FPGAの新しい構成を、当該不具合の発生要因である前記常時動作領域の構成要素と、過去に不具合が生じた全ての前記論理部と、前記常時動作領域で過去に不具合の発生要因となった全ての前記常時動作領域の構成要素と、を除いた前記FPGAを構成する基板上の全領域を最適化処理することで算出する最適化処理実行処理と、
前記最適化処理実行処理が前記特定領域に形成された多数の回路部品の中の未使用部分を最適化処理することで算出した回路ブロックを、前記回路ブロック監視手段で不具合の生じた論理部を含む回路ブロックと交代させて新たな運用を開始させ、前記最適化処理実行ステップが最適化処理することで算出した前記FPGAの新たな構成によって、前記FPGAの新たな運用を開始させるFPGA制御処理
とを実行することを特徴とするFPGAを用いた回路再構成プログラム。
Computer
Configures several logic units that function as logic circuits with desired characteristics by appropriately selecting and combining from a number of circuit components formed in a specific area on the substrate that constitutes the FPGA (Field Programmable Gate Array) In addition, a circuit block having a group of circuit functions can be obtained by configuring a connection part as a part for electrically connecting the logic parts by appropriately selecting from among the many circuit parts. Circuit block initial configuration processing for initial configuration of a desired number;
A circuit block monitoring processing of detecting a circuit block including a logical unit that the circuit block initial configuration respective circuit blocks configured in step occurred problems by monitoring these operations when in operation,
A constantly operating region monitoring process for monitoring the operation of the constantly operating region on the substrate constituting the FPGA to detect a failure in the constantly operating region, and detecting a component of the constantly operating region that is a cause of the failure; ,
When a circuit block including a failed logic unit is detected by the circuit block monitoring process, a new logic unit, the connection unit, and a signal having the same circuit characteristics as each of the logic units constituting the circuit block the circuit block and a new connecting portion in which the timing for transmitting is identical as possible, the unused portion of a number of circuit components formed in the specific region is calculated by processing optimization, When a malfunction in the constantly operating area is detected by the constantly operating area monitoring process, and a component of the constantly operating area that is a cause of the malfunction is detected, a new configuration of the FPGA that eliminates the malfunction, The component of the constantly operating area that is the cause of the malfunction, all the logic units that have malfunctioned in the past, and The components of all of the constantly operating region became cause of engagement, and optimization process executing processing for calculating by optimization an overall region of the substrate constituting the FPGA excluding,
A circuit block calculated by the optimization process execution process optimizing unused portions of a large number of circuit components formed in the specific area is converted into a logic part in which a failure occurs in the circuit block monitoring means. An FPGA control process for starting a new operation of the FPGA with a new configuration of the FPGA calculated by performing an optimization process in the optimization process execution step by replacing a circuit block including the circuit block < A circuit reconfiguration program using an FPGA, wherein
JP2011065331A 2011-03-24 2011-03-24 FPGA, circuit reconfiguration system, method and program using FPGA Active JP5691715B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011065331A JP5691715B2 (en) 2011-03-24 2011-03-24 FPGA, circuit reconfiguration system, method and program using FPGA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011065331A JP5691715B2 (en) 2011-03-24 2011-03-24 FPGA, circuit reconfiguration system, method and program using FPGA

Publications (2)

Publication Number Publication Date
JP2012204898A JP2012204898A (en) 2012-10-22
JP5691715B2 true JP5691715B2 (en) 2015-04-01

Family

ID=47185441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011065331A Active JP5691715B2 (en) 2011-03-24 2011-03-24 FPGA, circuit reconfiguration system, method and program using FPGA

Country Status (1)

Country Link
JP (1) JP5691715B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101878528B1 (en) * 2014-09-17 2018-07-13 서울대학교산학협력단 Field-Programmable Analog Array and Field-Programmable Mixed-Signal Array Using the Same
JP6563086B1 (en) 2018-06-28 2019-08-21 三菱電機株式会社 In-vehicle electronic control unit
JP7142731B2 (en) * 2019-02-12 2022-09-27 三菱電機株式会社 programmable device
JP7287651B2 (en) * 2019-03-28 2023-06-06 Necソリューションイノベータ株式会社 DISTRIBUTED PROCESSING APPARATUS, DISTRIBUTED PROCESSING METHOD, AND PROGRAM

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04280119A (en) * 1991-02-15 1992-10-06 Mitsubishi Electric Corp Manufacture of programmable logic device
JPH04369242A (en) * 1991-06-17 1992-12-22 Kawasaki Steel Corp Automatic circuit allocation apparatus for field programmable gate array
JPH04369120A (en) * 1991-06-17 1992-12-21 Kawasaki Steel Corp Wiring delay time display device and automatic wiring device for field programmable gate array
JPH07160757A (en) * 1993-12-13 1995-06-23 Nec Corp Fpga timing automatic adjustment system
JP3365581B2 (en) * 1994-07-29 2003-01-14 富士通株式会社 Information processing device with self-healing function
JPH09138817A (en) * 1995-11-15 1997-05-27 Nec Corp Device and method for designing integrated circuit
JP3491579B2 (en) * 1999-11-04 2004-01-26 日本電信電話株式会社 Logic circuit data generation method and apparatus, and storage medium storing logic circuit data generation program
JP2003224468A (en) * 2002-01-31 2003-08-08 Hitachi Ltd Semiconductor integrated circuit, its manufacturing method, and testing method
JP2003233510A (en) * 2002-02-08 2003-08-22 Fujitsu Ltd Logic verification method and device for therefor
JP2005348297A (en) * 2004-06-07 2005-12-15 Fujitsu Ltd Field programmable gate array
WO2010100871A1 (en) * 2009-03-03 2010-09-10 日本電気株式会社 Delay library generation system

Also Published As

Publication number Publication date
JP2012204898A (en) 2012-10-22

Similar Documents

Publication Publication Date Title
US10678952B2 (en) ASICs having programmable bypass of design faults
US6545501B1 (en) Method and system for use of a field programmable function within a standard cell chip for repair of logic circuits
JP5083214B2 (en) Failure prediction circuit and method, and semiconductor integrated circuit
US7906984B1 (en) Relocatable field programmable gate array bitstreams for fault tolerance
US10523207B2 (en) Programmable circuit having multiple sectors
US20150130500A1 (en) Configurable Vertical Integration
US7275196B2 (en) Runtime reconfiguration of reconfigurable circuits
US10740435B2 (en) Programmable logic integrated circuit, design support system, and configuration method
JP5691715B2 (en) FPGA, circuit reconfiguration system, method and program using FPGA
JP2008503002A (en) Redundant processing architecture for single fault tolerance
JP6489954B2 (en) Semiconductor device and control method thereof
JP6175788B2 (en) Electronic devices that can update microprograms
Koal et al. Virtual TMR schemes combining fault tolerance and self repair
Koal et al. On the feasibility of built-in self repair for logic circuits
KR101471574B1 (en) Semiconductor chip and semiconductor device
Almukhaizim et al. Fault tolerant design of combinational and sequential logic based on a parity check code
Koal et al. A concept for logic self repair
JP2013187699A (en) Fpga configuration processing control circuit
Hébert et al. A cost-effective solution to increase system reliability and maintain global performance under unreliable silicon in MPSoC
JP6194496B2 (en) Information processing apparatus, information processing method, and program
WO2015068207A1 (en) Programmable device
WO2018179739A1 (en) Information processing device, information processing method, and program
JPH1084275A (en) Logic circuit
JP2005243937A (en) Designing method of integrated circuit device, data processor implementing its method and program
JP5565873B2 (en) Logic circuit with reconfigurable integrated circuit unit and error correction method for the logic circuit

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20121016

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141212

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: 20150106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150119

R150 Certificate of patent or registration of utility model

Ref document number: 5691715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150