JPWO2016121015A1 - フィールドプログラマブルゲートアレイ - Google Patents

フィールドプログラマブルゲートアレイ Download PDF

Info

Publication number
JPWO2016121015A1
JPWO2016121015A1 JP2016571564A JP2016571564A JPWO2016121015A1 JP WO2016121015 A1 JPWO2016121015 A1 JP WO2016121015A1 JP 2016571564 A JP2016571564 A JP 2016571564A JP 2016571564 A JP2016571564 A JP 2016571564A JP WO2016121015 A1 JPWO2016121015 A1 JP WO2016121015A1
Authority
JP
Japan
Prior art keywords
gate array
programmable gate
field programmable
hard macro
programmable logic
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.)
Granted
Application number
JP2016571564A
Other languages
English (en)
Other versions
JP6430541B2 (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2016121015A1 publication Critical patent/JPWO2016121015A1/ja
Application granted granted Critical
Publication of JP6430541B2 publication Critical patent/JP6430541B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17764Structural details of configuration resources for reliability
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31703Comparison aspects, e.g. signature analysis, comparators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17732Macroblocks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Logic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

高い安全性が要求されるシステムの制御を1つのSRAM型FPGAで実現しようとする場合,ソフトエラーなどによる故障の影響でFPGA外部へ意図しない制御信号が出力される可能性を排除することと課題とする。この課題を解決するために,回路構造が固定されたハードマクロと,前記ハードマクロと間隔を隔てて配置されており,回路構造を変更可能なプログラマブルロジックと,前記プログラマブルロジック内に備えられ,前記プログラマブルロジックでの処理結果を前記ハードマクロへ出力するI/F回路と,を備え,前記I/F回路は,前記プログラマブルロジックの健全性を監視しており,当該監視結果に基づいて前記ハードマクロへ送信される前記処理結果の出力を停止することを特徴とする。

Description

本発明は,フィールドプログラマブルゲートアレイに関する。
プラント,鉄道,自動車,航空機など,人命や環境の安全確保のために非常に高い信頼性が求められる制御システムでは,万が一,システム内で故障や異常が発生した場合,システムが暴走して危険な状態に陥らないように対策をする必要がある。
そのため,このようなシステムの内部で制御をする制御装置においては,信頼性や安全性を高めることが要求される。
このような制御装置の制御には,主にASIC(Application Specific Integrated Circuit)が使用されてきた。
しかし,近年,ASICは半導体プロセスの微細化に伴う製造費の高騰により,製造数が少ない産業制御システムのために新規に開発することが困難になってきている。
一方で,1980年代に実用化されたフィールドプログラマブルゲートアレイ(Field Programmable Gate Array,以下FPGA)は,微細化により集積度と性能が向上し,価格もこなれてきたため,製造数の少ない産業制御システムに使用する事例も出てきている。
ところで,近年のFPGAで主に使われているのはSRAM(Static Random Access Memory)型のものである。
SRAM型FPGAは,電源が入ると,SRAMで構成されたLUT(Look Up Table)に書き込む値を変えることによって任意の論理回路を実現できるという特徴がある。
しかしこの特性のために,外部からのノイズや空中から放射された宇宙線などの影響でSRAMのビットが一時的に変化するソフトエラーと呼ばれる一時故障が発生すると,所望の回路とは異なる構成となってしまい,結果的にシステムの誤動作を引き起こしたり,装置が止まったりする場合があり得る。
したがって,特に産業用途向けにSRAM型FPGAを使用するためには,FPGA内の回路で故障を検出し,故障と判定した場合は装置を安全な状態に移行させるような仕組みを確実に作り込む必要がある。
このような背景から,回路構成が固定されているASICに比べてソフトエラーが起こりやすいと言われているSRAM型FPGAの安全性を高めるための技術が提案されている。
例えば特許文献1には,動作時にインクリメントな再設定を利用して,FPGAが故障した時の耐性を高める例が記載されている。
また非特許文献1には,FPGA内部の領域をブロックに分割し,機能を分けて実装する例が記載されている。
特開2002−50957号公報
Xilinx XAPP1086(v1.1)
ところで,従来のFPGAの安全性を高める技術について,本発明者が検討した結果,以下のようなことが明らかとなった。
特許文献1の例では,SRAM型FPGAの動作時に故障を検出した部分をFPGA内部で分断しているが,故障した領域と動作中の領域が物理的に離れているわけではないため,故障した領域から予期しないデータが不用意に動作中の領域に伝わってしまい,システムとしての正常動作が保てるかどうかの保証ができないという問題があった。
また,非特許文献1の例では,SRAM型FPGA内で機能分割したブロックを物理的に離して配置しているが,物理的に分割されている領域もSRAMで構成されており各ブロックのポート間は任意に配線可能な状態であるため,やはり故障した領域からの予期しないデータが予め分断しておいた別の領域に伝わってしまう可能性があるという問題があった。
そこで本発明では,安全性が重要視される装置にSRAM型FPGAを使用する場合において,SRAMで構成されるプログラマブルロジック(Programmable Logic,以下PL)部分が故障しても不用意な値がFPGAの外部に出力されない構成とし,システムの安全性を保つことが可能な仕組みを提供することを目的とする。
上記課題を解決するために,例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが,その一例を挙げるならば,回路構造が固定されたハードマクロと,前記ハードマクロと間隔を隔てて配置されており,回路構造を変更可能なプログラマブルロジックと,前記プログラマブルロジック内に備えられ,前記プログラマブルロジックでの処理結果を前記ハードマクロへ出力するI/F回路と,を備え,前記I/F回路は,前記プログラマブルロジックの健全性を監視しており,当該監視結果に基づいて前記ハードマクロへ送信される前記処理結果の出力を停止することを特徴とする。
本発明によれば,ハードマクロを内蔵する1つのSRAM型FPGAを使用して高い安全性が要求されるシステムを実現しようとする場合において,仮にFPGAが故障してもその影響が外部機器へ伝達する前にシステムを安全な状態に移行させることが可能になる。
上記した以外の課題,構成および効果は,以下の実施形態の説明により明らかにされる。
実施例1における,本発明のフィールドプログラマブルゲートアレイの全体図の一例である。 実施例1のフィールドプログラマブルゲートアレイにおけるインタフェース回路の実装の一例である。 実施例1のフィールドプログラマブルゲートアレイにおけるCRAM診断回路の実装の一例である。 実施例1のフィールドプログラマブルゲートアレイを使用してシステムを構成した場合のタイムチャートの一例である。 実施例2における,フィールドプログラマブルゲートアレイを使用してシステムを構成した場合のタイムチャートの一例である。 実施例3における,ハードマクロからの出力を多重化したフィールドプログラマブルゲートアレイの実装の一例である。 実施例3のフィールドプログラマブルゲートアレイにおけるインタフェース回路の実装の一例である。 実施例4における,ハードマクロ内に専用のポートを有するフィールドプログラマブルゲートアレイの実装の一例である。 実施例5のフィールドプログラマブルゲートアレイにおける,ハードマクロに接続される外部ピンとプログラマブルロジックに接続される外部ピンの配置図の一例である。 実施例6のフィールドプログラマブルゲートアレイにおける,ハードマクロとプログラマブルロジックを立体的に配置する場合の実装の断面図を示した一例である。 実施例7における,本発明のフィールドプログラマブルゲートアレイを使用した制御コントローラの実装の一例である。 実施例8における,本発明のフィールドプログラマブルゲートアレイを使用した鉄道信号制御システムの実装の一例である。 実施例9における,本発明のフィールドプログラマブルゲートアレイを使用した自動車の運転支援システムの実装の一例である。
以下,本発明の実施例を,図面を用いて説明する。
図1は,本発明のFPGAの全体図を表す一例を示したものである。
このFPGA(1)は,回路構成が固定され機能変更ができないハードマクロ2と,電源投入時や動作中に回路構成を変更可能なプログラマブルロジック(PL)3を内蔵し,PL(3)はインタフェース回路4を内蔵し,ハードマクロ2はPL診断制御信号11をインタフェース回路4に出力し,インタフェース回路4はPL(3)のハードウェア動作処理によって得られたPLデータ信号12をハードマクロ2に出力する構成である。 ハードマクロ2とPL(3)は領域を空けて実装されており,これら2つの間を接続する信号はPL診断制御信号11およびPLデータ信号12のみである。
このように,ハードマクロ2とPL(3)は領域を空けて実装し,限定された信号線のみによって接続することでPL(3)の故障の影響がハードマクロへ及ぶことを防ぐことができる。 図2に,インタフェース回路4の一例を示す。
図2のインタフェース回路4には,PL診断制御部5とデータ転送制御部6がある。
ハードマクロ2が出力したPL診断制御信号11はインタフェース回路4の入力ポート19からPL診断制御部5を介してPL診断制御信号13としてPL(3)へ出力され,PL(3)が故障しているか否かを調べるためのPL診断動作を制御する。
また,PL(3)はPL診断が終了したらPL診断結果データ信号14をインタフェース回路4に出力し,PL診断制御部5内のPL診断結果データ比較部7に入力される。
また,期待値保持部8は,PL(3)に故障が無い正常動作時のPL診断結果データの値を予め保持しておくものである。
PL診断結果データ比較部7は,PL(3)が出力したPL診断結果データ信号14の値と期待値保持部8が出力した期待値データ信号16の値を比較し,一致しているか否かによってPL診断結果信号17として指定の値を出力する。ここではPL診断結果信号17は1ビットとの値とし,一致していれば“0”,不一致であれば“1”を出力するものとする。
一方,データ転送制御部6では,内部にあるデータ転送判定部9においてPL(3)が出力したPLデータ信号15およびPL診断結果信号17を入力し,PL診断結果信号17の値が“0”でPL(3)に故障や異常が無い時はPLデータ信号15の値をそのままPLデータ信号18として出力ポート20を介してハードマクロ2へ出力するが,PL診断結果信号17の値が“1”でPL(3)に故障や異常が発生している場合は,PLデータ信号18にはハードマクロ2の動作に影響を与えない値を乗せ,出力ポート20をクローズし,PL(3)の故障により不正な値となった可能性のあるPLデータ信号15の値がハードマクロ2へ送信されないようにする。 図2で説明したPL診断機能として,図3のようなコンフィグレーション・ランダム・アクセス・メモリ(Configuration Randum Access Memory,以下CRAM)診断回路を使う場合の一例を図3に示す。
図3のFPGA(1)は,図1に示したFPGA(1)と比較して,PL(21)にCRAM診断回路22を追加した部分が異なっている。
この図3のPL(21)は回路部分を7行に区切っており,これに対応する形でCRAM診断回路22も7つの部分に区切っており,PL(21)の対応する行ごとに診断を行う。
CRAM診断回路22は,近年のSRAM型FPGAでは一般的に実装されている,符号理論に基づくアルゴリズムを用いてPL(21)内の各行が保持しているデータの反転を検出する回路であり,本発明のFPGAにおけるPL診断手法として容易に実装することができる。
これらの診断によって,たとえPL(3)が故障した場合であってもPLデータ信号15のハードマクロ2へ送信を止めることができるため,結果,外部へ不正なデータが出力されることを防ぐことができる。 本実施例では,高い安全性が要求されるアプリケーションは,ハードマクロ2で実行するか,又は,PL(3)で実行された後ハードマクロを介して外部へ出力されるよう構成する。このように構成することで,FPGA(1)から外部への出力される高い安全性が要求されるデータは,ハードマクロ2で実行された演算結果か,又は,健全性が確認されたPL(3)のによる演算結果とすることができるため,FPGA(1)を用いて高い安全性を実現することができる。
図1から図3で示した本発明のFPGAを用いて,高い安全性が要求されるシステムを実装した場合の動作の流れの一例を図4に示す。
図4(a)は,システムが故障無く安全に動作している状態の一例を示したタイムチャートである。
このシステムは,PL部分のハードウェアがリアルタイム(Real−Time,以下RT)性の高い処理を実行するRT処理51,CRAM診断回路などによってPL診断を行うPL診断処理52,インタフェース回路を介してPLからハードマクロへPL処理データを転送するFPGA内部転送処理53,インタフェース回路のはたらきによってPLからハードマクロへのデータ転送の切断中にFPGA外部に接続された機器に制御信号を出力する外部出力処理54,何もしないで次の命令を待つアイドル時間55の5つを一つの制御周期内に繰り返すシステムであり,図4(a)の1周期目も2周期目も正常に動作を続けている例を示している。尚,RT処理51,PL診断処理52,を行っている際には,インタフェース回路によってPLからハードマクロへの接続は切断されている。
一方,図4(b)は,1周期目は図4(a)の例と同じであるが,2周期目のPL診断62でPLにソフトエラーによる故障が発生したことを検出したことを受け,安全処理70に移行した例を示しており,図4(a)と異なり内部転送処理63および外部出力処理64を行わないため不用意なデータがFPGA外部に送信されることが無く,再開処理71にてシステムを再開させ,ソフトエラーの影響が無くなった状態でシステム動作をやり直す場合の例を示している。
また図4(c)は,図4(b)と異なり,安全処理70の後に停止処理72にてシステムを停止させて安全な状態で停止させる例を示しており,例えばPL部分の故障によるシステムの再開処理によってシステムが再起動しても故障の影響が無くならない場合などが該当する。 このように,SRAMで構成されるPL部分でソフトエラーなどの故障が発生したとしても,故障の影響をFPGAの外部に出力することがないので,安全性を担保したままでシステムの動作を継続したり,システムを安全に停止させたりする仕組みを容易に構築することが可能になる。
次に,本発明のフィールドプログラマブルゲートアレイを用いたシステムにおいて,さらなる高安全性を実現する場合の例を示す。
図5に示したタイムチャートは,図4に示したタイムチャートと比較して,(a),(b),(c)の全てでPL診断処理52が制御周期の先頭になっている部分が異なっている。
制御周期の最初にPL診断処理52を行うことで,PL部分の故障が検出されなかった場合にのみRT処理を実行するようになる。
このように,制御周期の最初にPL診断処理を行うことで,制御周期単位でシステムとして安全動作状態を維持することができる。
次に,本発明のフィールドプログラマブルゲートアレイにおいて,FPGA外部へ不正なデータを出力させることなくさらなる高安全性を実現する場合の一例を,図6および図7にて示す。
図6に示すFPGA(301)は,図1に示したFPGA(1)と比較して,ハードマクロ302内に比較器305,306を実装し,PL(3)の部分に演算回路303,304を実装した部分が異なっている。
ここで,演算回路303,304は同一の機能を持つ回路構成である。
また,図7に示すインタフェース回路307は,図2に示したインタフェース回路4と比較して,データ転送制御部331内にもう一組のデータ転送判定部332と出力ポート333を実装した部分が異なっている。
データ転送判定部332は演算回路304からPLデータ信号322を入力し,データ転送判定部9と同様にPL診断結果信号17の値によって,ポート333からハードマクロ(2)へ出力するPLデータ信号324の値を制御する。
図6の演算回路303,304は同一の回路構成であるため,PL(3)が正常動作中はPL(3)のインタフェース回路307を介して出力されるPLデータ信号323,324は同一の値であり,この2つの信号は比較器305および306で一致しているか否かを判定され,一致している場合のみ外部端子311,312からFPGA外部に出力される。
このように,FPGAの外部端子に出力する前のデータを比較判定する構成にすることで,FPGAから外部へ不正なデータを出力させなくするようなFPGAを実現することが可能になる。
次に,本発明のフィールドプログラマブルゲートアレイにおいて,FPGAのハードマクロ内に通信ポートを設けることでさらなる高安全性を実現する場合の一例を示す。
図8に示したFPGA(401)は,図1に示したFPGA(1)と比較して,ハードマクロ402内に出力として動作する内蔵ポート403と入力として動作する内蔵ポート404を追加した点が異なっている。
内蔵ポート403と内蔵ポート404はハードマクロ2として構成されているものの一部であり,回路構成は変更できないので,PL(3)が故障した影響がインタフェース回路4を介してハードマクロ2に伝わる可能性がある場合でも,ハードマクロ2の中でしか制御できない入力ポート404をクローズすることで故障の影響がハードマクロ402を介してFPGA外部に送信されないようにすることができる。
このように,FPGAのハードマクロ内に専用の内蔵ポートを設けることで,ソフトエラーの影響を受けやすいプログラマブルロジックから不用意なデータがハードマクロ側に伝わる可能性を無くし,FPGA外部に不用意なデータが送信されないようにすることで,システムとしての安全性を高めることが可能になる。
次に,本発明のプログラマブルゲートアレイにおいて,ハードマクロ部分に直結する外部端子の位置を固定して実装する場合の例を示す。
図9(a)は,半導体パッケージの外周に外部端子が配置されるQuad Flat Package(QFP)で実装したハードマクロ内蔵FPGA(501)の例を示した図であり,パッケージ内部では境界領域502を境にハードマクロとプログラマブルロジックの実装領域が分断されている。
図9(a)のFPGA(501)では,ハードマクロ部分は,半導体パッケージの1辺に隣接して設けられ,外部端子503としか接続しておらず,それ以外の外部端子はプログラマブルロジック部分と接続している。
また,図9(b)は,半導体パッケージの底面に外部端子が配置されるBall Grid Array(BGA)で実装したハードマクロ内蔵FPGA(511)の例を示した図であり,パッケージ内部では境界領域512を境にハードマクロとプログラマブルロジックの実装領域が分断されている。
図9(a)のFPGA(511)では,ハードマクロ部分は外部端子513しか接続しておらず,それ以外の外部端子はプログラマブルロジックに接続している。
このように,ハードマクロが接続する外部端子とプログラマブルロジックが接続する外部端子を分けたパッケージにすることで,このFPGAを使って高安全なシステムを設計する場合の基板実装が容易になる。
次に,本発明のフィールドプログラマブルゲートアレイにおいて,ハードマクロ部分とプログラマブルロジック部分を積層して実装する場合の例を示す。
図10は,BGAで実装された本発明のFPGAの断面図の一例を示したものであり,FPGA外部と接続するための外部端子606はメタル配線層604を介してボールバンプ605と接続しており,ボールバンプ605とはハードマクロ層602が接続する構成となっている。
ここで,プログラマブルロジック層603はハードマクロ層602の上部に実装され,ボールバンプ605とは物理的に離れている。
このように,FPGAの外部端子から接続する回路をハードマクロ部分のみに限定し,プログラマブルロジック部分とボールバンプを離れた位置に立体的に配置することで,高安全な処理を行うハードマクロと,ソフトエラー発生確率は高いが高速な並列処理を行うプログラマブルロジックとを小さなパッケージで低コストに実装することが可能になる。
またこの図10ではパッケージをBGAで実装した例を示したが,QFPなどの外部端子がパッケージの外周に接続されるような場合でも同様に積層して実装することができる。
次に,本発明のフィールドプログラマブルゲートアレイにおいて,産業用途システムなどで使用される制御コントローラに適用した場合の一例を示す。
図11は,電力供給システムを制御する装置の例を示したものであり,制御コントローラ701を構成する部品の一つに本発明のFPGA(1)を搭載している。
この制御コントローラ701は,電力供給を担う機械の動作状態を監視カメラ702によって常時監視し,動力装置部分に接続されるモータ703によって発電制御を行う。
また,リレー装置704は,システムが故障などの影響で異常状態に陥りそうな時に,電力システムを安全に緊急停止するためのリレー回路を内蔵するものである。
動作状態の監視はリアルタイム性が重要であるため,FPGA(1)のPLに画像処理回路を実装し,FPGA(1)のPLから監視カメラ702に対して監視カメラ制御信号711を出力し,監視カメラ702からFPGA(1)のPLへは監視カメラデータ信号712を出力し,PLのハードウェアで画像処理を行う。
また,電力供給を担う機械を動作させるモータも,回転数をきめ細かに制御するためのリアルタイム性がやはり重要であるため,FPGA(1)のPLにモータ制御回路を実装し,FPGA(1)のPLからモータ703に対してモータ制御信号713を出力し,モータ703からFPGA(1)のPLへはモータデータ信号714を出力し,PLのハードウェアでモータ制御を行う。
一方,リレー装置704は,システムが故障した場合などの緊急停止動作を司るもので,故障検出時に確実に動作してシステムを安全に停止させる必要があるので,高い安全性が要求される。
そのため,リレー装置704を制御するリレー制御信号721はFPGA(1)のハードマクロ部分からリレー装置704に送信し,緊急時にはリレー装置704から緊急停止信号722を停止させるべき装置に送信してシステムを安全に停止させる。
このように,本発明のFPGAを適用することで,産業用途システムなどにおいて要求されることが多いリアルタイム性と高い安全性を両立したシステムを容易に実現することが可能になる。
次に,本発明のフィールドプログラマブルゲートアレイにおいて,鉄道信号制御システムに適用した場合の一例を示す。
図12は,列車の進行を制御する鉄道信号システムを構成する装置の例を示したものであり,鉄道信号制御コントローラ801を構成する部品の一つに本発明のFPGA(1)を搭載している。
レール部分に取り付けられたセンサによって得られた列車805の走行中の位置情報は,有線や無線などの通信手段を介して列車位置計算部803に対して列車位置情報811が送信され,列車位置計算部803によって計算された列車位置データ812は鉄道信号制御コントローラ801のFPGA(1)のPL部分に送られ,ハードウェアで処理される。
一方,信号機804は,鉄道システムにおいて故障や事故などの緊急時に走行中の列車に対して停止を通知する装置であり,緊急時には確実に動作して列車を安全に停止させる必要があるので,高い安全性が要求される。
そのため,信号機804を制御する信号制御部802に対して送信する信号制御信号813はFPGA(1)のハードマクロ部分から信号制御部802に送信し,緊急時には信号制御部802から停止指示信号814を信号機804に送信して停止の通知をすることで列車を安全に停止させる。
このように,本発明のFPGAを適用することで,非常に高い安全性が要求される鉄道向けのシステムなどにおいて,安全性の高いシステムを容易に実現することが可能になる。
次に,本発明のフィールドプログラマブルゲートアレイにおいて,自動車の運転支援システムに適用した場合の一例を示す。
図13は,走行中の画像情報を走行制御に使用する,自動車の運転支援システムの構成例を示したものであり,自動車901全体の制御を行う統合ECU(Electric Control Unit)930を構成する部品の一つに本発明のFPGA(1)を搭載している。
この自動車901は,車体前方に取り付けられたステレオカメラ902によって走行中の画像情報をリアルタイムに認識する機能を有する。
ステレオカメラ902内には二つの単眼カメラ903,904があり,FPGA(1)内のPLから二つの単眼カメラ903,904に対して単眼カメラ制御信号921,923をそれぞれ出力して制御を行い,単眼カメラ903,904からは単眼カメラデータ信号922,924をそれぞれFPGA(1)のPLに送信し,PLでは画像処理アルゴリズムに基づいて実装されたハードウェアで処理される。
一方,前輪905,906および後輪907,908に取り付けられたブレーキ909,910,911,912は,自動車901の内部でシステムが故障した場合などの緊急時には確実に動作して自動車901を安全に停止させる必要があり,緊急時に停止できなければ危険な状態に陥る可能性があるため,高い安全性が要求される。
そのため,ブレーキ909,910,911,912を制御するブレーキ制御ECU(931)に対して送信するブレーキ制御信号925はFPGA(1)のハードマクロ部分からブレーキ制御ECU(931)に送信し,緊急時にはブレーキ制御ECU(931)から停止指示信号926を各ブレーキに送信して前輪と後輪を止め,自動車を安全に停止させる。
このように,本発明のFPGAを適用することで,画像処理などのリアルタイム性が要求されるシステムと,ブレーキなどの高安全性が要求されるようなシステムであっても,一つのFPGAで容易に実現することが可能になる。
なお,本発明は上記した実施例に限定されるものではなく,様々な変形例が含まれる。例えば,上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり,必ずしも説明した全ての構成を備えるものに限定されるものではない。また,ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり,また,ある実施例の構成に他の実施例の構成を加えることも可能である。また,各実施例の構成の一部について,他の構成の追加・削除・置換をすることが可能である。
1,301,401,501,511… フィールドプログラマブルゲートアレイ(FPGA)
2,302,402… ハードマクロ
3,21… プログラマブルロジック(PL)
4,307… インタフェース回路
5… PL診断制御部
6… データ転送制御部
7… PL診断データ結果比較部
8… 期待値保持部
9… データ転送判定部
22… CRAM診断回路
51,61… RT処理
52,62… PL診断処理
53,63… FPGA内部転送処理
54,64… 外部出力処理
55,65… アイドル時間
70… 安全処理
71… 再開処理
72… 停止処理
701… 制御コントローラ
702… 監視カメラ
703… モータ
704… リレー装置
801… 鉄道信号制御コントローラ
802… 信号制御部
803… 列車位置計測部
804… 信号機
805… 列車
901… 自動車
902… ステレオカメラ
930… 統合CEU
931… ブレーキ制御ECU

Claims (12)

  1. 回路構造が固定されたハードマクロと,
    前記ハードマクロと間隔を隔てて配置されており,回路構造を変更可能なプログラマブルロジックと,
    前記プログラマブルロジック内に備えられ,前記プログラマブルロジックでの処理結果を前記ハードマクロへ出力するI/F回路と,を備え,
    前記I/F回路は,前記プログラマブルロジックの健全性を監視しており,当該監視結果に基づいて前記ハードマクロへ送信される前記処理結果の出力を停止するフィールドプログラマブルゲートアレイ。
  2. 請求項1に記載のフィールドプログラマブルゲートアレイであって,
    前記I/F回路は,前記ハードマクロからの制御信号に従って前記プログラマブルロジックの健全性を監視することを特徴とするフィールドプログラマブルゲートアレイ。
  3. 請求項2に記載のフィールドプログラマブルゲートアレイであって,
    前記I/F回路は,コンフィグレーション・ランダム・アクセス・メモリの巡回冗長検査を用いた前記プログラマブルロジックの診断結果を用いて監視を行うことを特徴とするフィールドプログラマブルゲートアレイ。
  4. 請求項2に記載のフィールドプログラマブルゲートアレイにおいて,
    前記I/F回路は,コンフィグレーション・ランダム・アクセス・メモリの誤り訂正符号を用いた前記プログラマブルロジックの診断結果を用いて監視を行うことを特徴とするフィールドプログラマブルゲートアレイ。
  5. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて,
    前記ハードマクロで実行されるアプリケーションは,前記プログラマブルロジックで実行されるアプリケーションよりも高い安全性が要求されるアプリケーションであることを特徴とするフィールドプログラマブルゲートアレイ。
  6. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて,
    前記プログラマブルロジックは前記ハードマクロとの接続を切断して,前記ハードマクロへ出力する信号の演算処理を行い,
    前記演算処理の処理終了後に,前記ハードマクロに接続して処理結果を前記ハードマクロへ送信し,
    前記ハードマクロへの前記処理結果の送信後,前記ハードマクロとの接続を切断し,
    前記ハードマクロは,前記プログラマブルロジックとの接続が切断されている間に前記フィールドプログラマブルゲートアレイの外部に前記処理結果を出力することを特徴とするフィールドプログラマブルゲートアレイ。
  7. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて,
    前記プログラマブルロジックから前記ハードマクロへ出力される信号は多重化されており,
    前記ハードマクロは,前記多重化された信号を比較する比較回路を有し,当該比較の結果,不一致であった場合には,前記フィールドプログラマブルゲートアレイの外部への出力を停止することを特徴とするフィールドプログラマブルゲートアレイ。
  8. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて,
    前記ハードマクロには,前記I/F回路と接続され,前記I/F回路との接続を切断可能な通信ポートを有することを特徴とするフィールドプログラマブルゲートアレイ。
  9. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて,
    前記フィールドプログラマブルゲートアレイの外部端子は,
    前記ハードマクロに専用に接続される外部端子と,
    前記プログラマブルロジックに専用に接続される外部端子と,に分かれていることを特徴とするフィールドプログラマブルゲートアレイ。
  10. 請求項9に記載のフィールドプログラマブルゲートアレイにおいて,
    パッケージの四辺に外部端子が実装されており,
    前記ハードマクロは,前記パッケージのいずれかの辺と隣接して設けられること特徴とするフィールドプログラマブルゲートアレイ。
  11. 請求項9に記載のフィールドプログラマブルゲートアレイにおいて,
    パッケージの底面に外部端子が実装されることを特徴とするフィールドプログラマブルゲートアレイ。
  12. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて,
    前記ハードマクロは前記フィールドプログラマブルゲートアレイの外部ピンの上層に配置され,
    前記プログラマブルロジックは前記ハードマクロよりさらに上層に配置されることを特徴とするフィールドプログラマブルゲートアレイ。
JP2016571564A 2015-01-28 2015-01-28 フィールドプログラマブルゲートアレイ Expired - Fee Related JP6430541B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/052258 WO2016121015A1 (ja) 2015-01-28 2015-01-28 フィールドプログラマブルゲートアレイ

Publications (2)

Publication Number Publication Date
JPWO2016121015A1 true JPWO2016121015A1 (ja) 2017-10-19
JP6430541B2 JP6430541B2 (ja) 2018-11-28

Family

ID=56542672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016571564A Expired - Fee Related JP6430541B2 (ja) 2015-01-28 2015-01-28 フィールドプログラマブルゲートアレイ

Country Status (3)

Country Link
US (1) US10425081B2 (ja)
JP (1) JP6430541B2 (ja)
WO (1) WO2016121015A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6696352B2 (ja) * 2016-08-18 2020-05-20 富士通株式会社 プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム
JP6546213B2 (ja) * 2017-04-13 2019-07-17 ファナック株式会社 回路構成最適化装置及び機械学習装置
JP6924621B2 (ja) 2017-06-12 2021-08-25 日立Astemo株式会社 電子制御装置、車載システム、および電源装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243671A (ja) * 2006-03-09 2007-09-20 Kddi Corp 論理プログラマブルデバイス保護回路
JP2009017010A (ja) * 2007-07-02 2009-01-22 Nec Electronics Corp 再構成可能デバイス

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8626516D0 (en) * 1986-11-06 1986-12-10 Int Computers Ltd Testing programmable logic arrays
US6530049B1 (en) 2000-07-06 2003-03-04 Lattice Semiconductor Corporation On-line fault tolerant operation via incremental reconfiguration of field programmable gate arrays
US7036059B1 (en) * 2001-02-14 2006-04-25 Xilinx, Inc. Techniques for mitigating, detecting and correcting single event upset effects in systems using SRAM-based field programmable gate arrays
US6744274B1 (en) * 2001-08-09 2004-06-01 Stretch, Inc. Programmable logic core adapter
JP4643977B2 (ja) * 2004-11-30 2011-03-02 富士通株式会社 プログラマブル・ロジック・デバイス、情報処理装置、プログラマブル・ロジック・デバイスの制御方法
JP2007058419A (ja) * 2005-08-23 2007-03-08 Hitachi Ltd Pld上のメモリ内の情報に従って構築される論理回路を備えたストレージシステム
US7573295B1 (en) * 2007-05-14 2009-08-11 Xilinx, Inc. Hard macro-to-user logic interface
US7800404B2 (en) * 2007-12-05 2010-09-21 Integrated Device Technology, Inc. Field programmable application specific integrated circuit with programmable logic array and method of designing and programming the programmable logic array
US8117512B2 (en) * 2008-02-06 2012-02-14 Westinghouse Electric Company Llc Failure detection and mitigation in logic circuits
US8306563B2 (en) * 2009-01-29 2012-11-06 Adc Telecommunications, Inc. Method and apparatus for muting a digital link in a distributed antenna system
JP2012099760A (ja) * 2010-11-05 2012-05-24 Nec Corp プログラマブルゲートアレイおよびプログラマブルゲートアレイのプログラミング方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243671A (ja) * 2006-03-09 2007-09-20 Kddi Corp 論理プログラマブルデバイス保護回路
JP2009017010A (ja) * 2007-07-02 2009-01-22 Nec Electronics Corp 再構成可能デバイス

Also Published As

Publication number Publication date
JP6430541B2 (ja) 2018-11-28
WO2016121015A1 (ja) 2016-08-04
US10425081B2 (en) 2019-09-24
US20180278254A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
JP6464263B2 (ja) フィールドプログラマブルゲートアレイ
JP6525906B2 (ja) セーフティクリティカルなエラーを処理するための方法と装置
WO2017107665A1 (zh) 一种用于列车控制的安全计算机系统
US10120772B2 (en) Operation of I/O in a safe system
JP6430541B2 (ja) フィールドプログラマブルゲートアレイ
KR101490022B1 (ko) 자동 출입문 제어 장치
US10254733B2 (en) Motor control device
US20140351658A1 (en) Redundant computing architecture
US9367375B2 (en) Direct connect algorithm
JP6222362B2 (ja) 電力変換装置
KR20210050575A (ko) 차량을 위한 제어 아키텍쳐
US9665447B2 (en) Fault-tolerant failsafe computer system using COTS components
US10120742B2 (en) Power supply controller system and semiconductor device
EP2190712B1 (en) A control system for vehicles
JP7360277B2 (ja) 航空機の制御システム
ES2853724T3 (es) Conmutación entre controladores de elementos en operaciones ferroviarias
JP2022036850A (ja) 半導体記憶素子、半導体記憶装置、およびシステムオンチップ
KR20110020429A (ko) 정보교환을 통한 개별적인 이중 방식 이씨유 고장 판단방법
JP2017228159A (ja) 制御装置、および制御装置の制御方法
CN117425881A (zh) 用于车辆的控制装置以及辅助系统
JP7299344B2 (ja) 車載電子制御装置
US20230176538A1 (en) Solid state power controllers
JP2011248625A (ja) 制御装置の故障診断回路および故障診断方法
KR101808618B1 (ko) 철도시스템 기반의 고 안전성 이중화 시스템
JP6457149B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180918

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181031

R150 Certificate of patent or registration of utility model

Ref document number: 6430541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees