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

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

Info

Publication number
JP6464263B2
JP6464263B2 JP2017524277A JP2017524277A JP6464263B2 JP 6464263 B2 JP6464263 B2 JP 6464263B2 JP 2017524277 A JP2017524277 A JP 2017524277A JP 2017524277 A JP2017524277 A JP 2017524277A JP 6464263 B2 JP6464263 B2 JP 6464263B2
Authority
JP
Japan
Prior art keywords
gate array
programmable gate
field programmable
fail
output
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
JP2017524277A
Other languages
English (en)
Other versions
JPWO2016207933A1 (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 JPWO2016207933A1 publication Critical patent/JPWO2016207933A1/ja
Application granted granted Critical
Publication of JP6464263B2 publication Critical patent/JP6464263B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/085Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
    • 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
    • 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
    • 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
    • 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/17728Reconfigurable logic blocks, e.g. lookup tables
    • 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/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • 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/17758Structural details of configuration resources for speeding up configuration or reconfiguration
    • 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/1776Structural details of configuration resources for memories
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L5/00Local operating mechanisms for points or track-mounted scotch-blocks; Visible or audible signals; Local operating mechanisms for visible or audible signals
    • B61L5/12Visible signals
    • B61L5/18Light signals; Mechanisms associated therewith, e.g. blinders

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Logic Circuits (AREA)

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内の回路で故障を検出し、故障と判定した場合は装置を安全な状態であるフェールセーフ(Fail−Safe、以下FS)に移行させるような仕組みを確実に作り込む必要がある。
このような背景から、回路構成が固定されているASICに比べてソフトエラーが起こりやすいと言われているSRAM型FPGAの安全性を高めるための技術が提案されている。
例えば特許文献1には、SRAM型FPGAの内部に保護回路を実装してFPGAが故障した時の耐性を高める例が記載されている。
特開2007−243671号広報
ところで、従来のFPGAの安全性を高める技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
特許文献1の例では、SRAM型FPGAのFPGAファブリック部分に内部保護回路を実装しているが、内部保護回路そのものもSRAM型FPGAファブリックで実現されるため、ソフトエラーなどにより内部保護回路そのものが故障してしまう可能性が否定できず、結果としてシステムとしての正常動作が保てるかどうかの保証ができないという問題があった。
また、特許文献1で示される内部保護回路や隣接保護回路をSRAM型FPGAの外部に設置するようなシステム構成にした場合は、回路の外付けによって高速性・リアルタイム性が損なわれてしまう点と、部品コストが余計にかかる点が問題となった。
そこで本発明では、SRAMで構成されるプログラマブルロジック(Programmable Logic、以下PL)部分が故障しても不適切な値がFPGAの外部に出力されることを防止し、システムの安全性を保つことが可能なフィールドプログラマブルゲートアレイを提供することを目的とする。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願のフィールドプログラマブルゲートアレイは上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、回路構造が固定されたハードマクロCPU(Central Processing Unit)と、回路構造を変更可能なプログラマブルロジックと、前記プログラマブルロジックの異常を診断する診断回路と、前記プログラマブルロジックからの外部出力を安全側に制御可能なフェールセーフインタフェース回路と、前記診断回路によってエラーが検出されると、前記ハードマクロCPUが前記フェールセーフインタフェース回路に対し安全側の出力であるフェールセーフ信号を出力することを特徴とする。
本発明によれば、SRAMで構成されるプログラマブルロジック(Programmable Logic、以下PL)部分が故障しても不適切な値がFPGAの外部に出力されることを防止し、システムの安全性を保つことが可能なフィールドプログラマブルゲートアレイを提供することができる。
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
実施例1における、本発明のフィールドプログラマブルゲートアレイの全体図の一例である。 実施例1のフィールドプログラマブルゲートアレイにおけるフェールセーフインタフェース回路の実装の一例である。 実施例1のフィールドプログラマブルゲートアレイにおけるPL診断回路の実装の一例である。 実施例1のフィールドプログラマブルゲートアレイを使用してアクチュエータを制御する場合の一例である。 実施例1のフィールドプログラマブルゲートアレイにおけるハードマクロCPUで動作させるソフトウェアの実装の一例である。 実施例1のフィールドプログラマブルゲートアレイを使用して制御周期に基づいた制御を行う場合のタイミングチャートの一例である。 実施例2における制御周期に基づいた制御を行う場合のタイミングチャートの一例である。 実施例3における、フェールセーフ出力信号の例を示した図である。 実施例4のフィールドプログラマブルゲートアレイにおける、ハードマクロに接続される外部ピンとプログラマブルロジックに接続される外部ピンの配置図の一例である。 実施例4のフィールドプログラマブルゲートアレイにおける、ハードマクロCPUとの専用インタフェースを実装した場合を示す一例である。 実施例5における、本発明のフィールドプログラマブルゲートアレイを使用した制御コントローラの実装の一例である。 実施例6における、本発明のフィールドプログラマブルゲートアレイを使用した鉄道信号制御システムの実装の一例である。 実施例7における、本発明のフィールドプログラマブルゲートアレイを使用した自動車の運転支援システムの実装の一例である。
以下、本発明の実施例を、図面を用いて説明する。
図1は、本発明のフィールドプログラマブルゲートアレイ(FPGA)の全体図を表す一例を示したものである。
このFPGA(1)は、回路構成が固定され機能変更ができないハードマクロCPU(2)と、電源投入時や動作中に回路構成を変更可能なプログラマブルロジック(PL)3と、PL(3)内に構成されるフェールセーフ(FS)インタフェース回路4と、PL診断回路5を内蔵している。
ハードマクロCPU(2)は単方向のFS制御信号11をFSインタフェース回路4に出力するよう実装され、またハードマクロCPU(2)からは双方向のPL制御信号12がPL(3)との間で実装されている構成である。
またPL診断回路5は、PL(3)に故障やエラーなどが起こっている場合に検出ができる診断回路であり、PL診断信号6を介してPL(3)と接続され、診断に必要な情報をやり取りする。本実施例では、PL診断回路5による診断結果は、PL(3)を通じてハードマクロCPU(2)送られるが、PL診断回路5から直接ハードマクロCPU(2)へ診断結果を通知してもよい。
図2に、FSインタフェース回路4の実装の一例を示す。
図2(a)で示したFSインタフェース回路の例は、PL出力16とFS出力17の二つの出力をマルチプレクサ(MUX)13で選択しFPGA出力18としてFPGA外部に出力する構成となっており、二つの出力16、17はハードマクロCPU出力15の値によって選択される構造となっている。
ここでのマルチプレクサ13は、予めFPGAに内蔵されていて回路構造が固定されているハードマクロブロックを使用し、出力選択の信号もハードマクロCPUから出力された信号を使用することでソフトエラーなどの故障耐性を高めることができる。
また図2(b)で示したFSインタフェース回路の例は、図2(a)で示したFSインタフェース回路の例と比較して、入出力バッファ(IOBUF)14を追加した部分が異なっている。
入出力バッファ14にもハードマクロCPU出力15を入力し、ハードマクロCPU出力15が出力許可を示す期間だけFPGA出力19をFPGA外部に出力する構造となっている。
なお、図2(b)ではマルチプレクサ13と入出力バッファ14へ同じハードマクロCPU出力15を入力して制御を簡略化する例を示したが、図2(c)に示したようにハードマクロCPU出力19を追加して別々に制御する構造にしても良い。
図1で説明したPL診断機能として、コンフィグレーション・ランダム・アクセス・メモリ(Configuration Randum Access Memory、以下CRAM)診断回路を使う場合の一例を図3に示す。
この図3では、PL(21)は回路全体を15列の領域に区切っており、これに対応する形でCRAM診断回路であるPL診断回路(22)も15の領域に区切っており、PL(21)の対応する行ごとに診断を行う。
PL診断回路22は、近年のSRAM型FPGAでは一般的に実装されている、符号理論に基づくアルゴリズムを用いてPL(21)内の各列が保持しているデータの反転を検出する回路であり、本発明のFPGAにおけるPL診断手法として容易に実装することができる。
図4は、図1に示したFPGAを使用してアクチュエータを制御する場合の一例を示したものである。
図4では、FPGA(1)内のFSインタフェース回路4からFPGA出力信号41をアクチュエータ40に出力してアクチュエータ40の制御を行い、アクチュエータ40からはFPGA入力信号42をFPGA(1)内のFSインタフェース回路4で受信してアクチュエータ40の状態をFPGA(1)で監視できる構成になっている。
図5は、本発明のFPGA内のハードマクロCPUで動作させるソフトウェアプログラムの一例を示したものである。
本発明のFPGAを用いたシステムは、FPGAに内蔵されたハードマクロCPUで実行される図5のプログラム31によって動作するものとし、電源投入後にプログラム31の1行目のmain()から処理が開始されるものとする。
電源投入後、プログラム31の3行目の起動処理(start_routine())、4行目のPL診断処理(diag_pl())、5行目の初期化処理(initial_routine())の順に処理が進み、7行目のwhileループに入ると8行目から18行目の部分を繰り返す。
繰り返しの途中、9行目でPL診断結果を示す変数(STATUS)の値によって、適切な処理を行うために分岐して処理を行う。
図1から図5で示した本発明のFPGA、システム、ソフトウェアを使って高い安全性が要求されるシステムを実装した場合の動作の流れの一例を図6に示す。
図6(a)は、システムが故障無く安全に動作している状態の一例を示したタイムチャートである。
このシステムは、PL部分のハードウェアがリアルタイム(Real−Time、以下RT)性の高い処理を実行するRT処理51、CRAM診断回路などによってPL診断を行うPL診断処理52、PLからハードマクロへPL処理データを転送する内部転送処理53、FPGA外部に接続された機器に制御信号を出力する外部出力処理54、何もしないで次の命令を待つアイドルの5つの処理を一つの制御周期内に繰り返すシステムであり、図6(a)は1つの周期において正常に動作を続けている例を示している。
一方、図6(b)は、制御周期内のPL診断処理52でPLに故障が発生したことを検出した場合の例であり、図6(a)と異なり外部出力処理54を行なわず、安全処理70の後に停止処理72を行ってシステムを安全な状態で停止させる例を示している。
このように、FPGAのSRAMで構成されるPL部分でソフトエラーなどの故障が発生したとしても、故障の影響をFPGAの外部に出力することがないので、安全性を担保したままでシステムの動作を継続したり、システムを安全に停止させたりする仕組みを容易かつ低コストに構築することが可能になる。
次に、本発明のFPGAを用いたシステムにおいて、さらなる高安全性を実現する場合の例を示す。
図7(a)は、本発明のFPGAを用いたシステムの立ち上げ処理の一例を示したタイムチャートであり、実施例1の図6のタイムチャートに示したものと同じ内容の制御周期で動作するシステムを想定している。
このシステムでは、図7(a)のように制御周期による定常処理に入る前に、電源投入により立ち上げ処理をしてまずFS出力開始処理55が実行され、FPGAに接続される機器に対してFSとなる信号を出力する状態になる。
FS出力開始処理55の後に起動処理56が行われてシステムが稼動するために必要な最小限のリソースが立ち上がった後、PL診断処理52によってPLの診断が正常に終了したら、初期化処理57を行ってシステムの立ち上げ処理が全て完了した時点で、FS出力終了処理58が実行されてFPGAに接続される機器にFPGAの出力が接続されるようになり、定常の制御周期に入ってRT処理51を開始する。
一方、図7(b)は、図7(a)に示したタイムチャートと比較して、立ち上げ処理中のPL診断処理52によってPL内で故障やエラーが発生していることを検出した場合の例を示しており、この場合はPL診断処理52の終了後に安全処理70を行ってFS出力を出すなどした後、停止処理72によってシステムを安全に停止させている。
このように、システムが起動する最初のタイミングでSRAM型FPGA内に故障が発生していたとしても、FS出力処理を行うことができるため危険状態に入る前に安全に停止させることが可能となる。
次に、本発明のFPGAにおいて、FPGA外部へ不正なデータを出力させることのないFS構成を実現する場合の一例を示す。
図8は、FPGA内のFSインタフェース回路から出力される、クロック信号に同期して出力される4種類のFS信号の例を示している。
図8(a)は、システムの故障や異常時に高電位(High)となるFS信号を出力する場合の例であり、ここではクロックサイクルc2にてFPGA内エラーを検出後、クロックサイクルc3以降はFS信号としてHighを出力し続けている。
図8(b)は図8(a)とは逆に、システムの故障や異常時に低電位(Low)となるFS信号を出力する場合の例であり、ここではクロックサイクルc2にてFPGA内エラーを検出後、クロックサイクルc3以降はFS信号としてLowを出力し続けている。
図8(c)は、システムが通常動作時はクロックサイクルごとにHighとLowを繰り返す交番信号を出力し、システムの故障や異常時には高電位(High)となるFS信号を出力する場合の例であり、ここではクロックサイクルc7にてFPGA内エラーを検出後、クロックサイクルc8以降はFS信号としてHighを出力し続けている。
図8(d)は、FPGA内のFSインタフェース回路からの信号に意味付けをした複数ビットで実現するコマンドを乗せて出力する場合の例であり、クロックサイクルc0とc1はPLの診断を行うサイクル、クロックサイクルc2とc3はPL内の故障や異常を検出したサイクル、c4以降はFPGAに接続した機器を停止させるサイクルを示している。
このように、本発明のFPGAを適用することで、故障の可能性があるFPGAにおいても接続する機器をフェールセーフに制御することが可能になる。
次に、本発明のFPGAにおいて、ハードマクロ部分に直結する外部端子の位置を固定して実装する場合の例を示す。
図9(a)は、半導体パッケージの外周に外部端子が配置されるQuad Flat Package(QFP)で実装したFPGA(501)の例を示した図であり、このFPGA(501)は、ハードマクロCPU(502)、ハードマクロFSインタフェース回路503、PL(504)を内蔵している。
FPGA(501)では、外部端子群511、512がハードマクロCPU(502)の入力端子となるように接続され、外部端子群513、514がハードマクロCPU(502)の出力端子となるように接続されている。
またこのFPGA(501)では、外部端子群517がハードマクロFSインタフェース回路503の入力端子となるように接続され、外部端子群518がハードマクロFSインタフェース回路503の出力端子となるように接続されている。
更にこのFPGA(501)では、外部端子群515がPL(504)の入力端子となるように接続され、外部端子群516がPL(504)の出力端子となるように接続されている。
また、図9(b)は、半導体パッケージの底面に外部端子が配置されるBall Grid Array(BGA)で実装したハードマクロ内蔵FPGA(506)の例を示した図である。
図9(b)のFPGA(506)では、FPGA(506)に内蔵されるハードマクロ部分は外部端子群519しか接続しておらず、それ以外の外部端子はPLに接続した構成となっている。
図10(a)は、図9(a)に示したFPGA(501)に対し、FPGA内部の通信インタフェースの例を明示したものである。
ハードマクロCPU(502)とハードマクロFSインタフェース回路503との間は、FS制御送信信号601とFS制御受信信号602を用いて専用の通信を行う。
また、ハードマクロCPU(502)とPL(504)との間は、PL制御送信信号603とPL制御受信信号604を用いて専用の通信を行う。
更に図10(b)は、図10(a)に示したFPGA(501)と比較して、ハードマクロCPUの部分を507、508に分割した部分が異なっている。
図10(b)のFPGA(521)では、ハードマクロCPU(507)がハードマクロFSインタフェース回路503と専用通信を行い、ハードマクロCPU(508)がPL(504)と専用通信を行う。
このように、ハードマクロが接続する外部端子とプログラマブルロジックが接続する外部端子を分けたパッケージ実装にすることで、このFPGAを使って高安全なシステムを設計する場合の基板実装が容易になる。
次に、本発明のフィールドプログラマブルゲートアレイにおいて、産業用途システムなどで使用される制御コントローラに適用した場合の一例を示す。
図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)のFSインタフェース回路部分からリレー装置704に送信し、緊急時にはリレー装置704から緊急停止信号722を停止させるべき装置に送信してシステムを安全に停止させる。
このように、本発明のFPGAを適用することで、産業用途システムなどにおいて要求されることが多いリアルタイム性と高い安全性を両立したシステムを容易に実現することが可能になる。
次に、本発明のフィールドプログラマブルゲートアレイにおいて、鉄道信号制御システムに適用した場合の一例を示す。
図12は、列車の進行を制御する鉄道信号システムを構成する装置の例を示したものであり、鉄道信号制御コントローラ801を構成する部品の一つに本発明のFPGA(1)を搭載している。
レール部分に取り付けられたセンサによって得られた列車805の走行中の位置情報は、有線や無線などの通信手段を介して列車位置計算部803に対して列車位置情報811が送信され、列車位置計算部803によって計算された列車位置データ812は鉄道信号制御コントローラ801のFPGA(1)のPL部分に送られ、ハードウェアで処理される。
一方、信号機804は、鉄道システムにおいて故障や事故などの緊急時に走行中の列車に対して停止を通知する装置であり、緊急時には確実に動作して列車を安全に停止させる必要があるので、高い安全性が要求される。
そのため、信号機804を制御する信号制御部802に対して送信する信号制御信号813はFPGA(1)のFSインタフェース回路部分から信号制御部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)のFSインタフェース回路部分からブレーキ制御ECU(931)に送信し、緊急時にはブレーキ制御ECU(931)から停止指示信号926を各ブレーキに送信して前輪と後輪を止め、自動車を安全に停止させる。
このように、本発明のFPGAを適用することで、画像処理などのリアルタイム性が要求されるシステムと、ブレーキなどの高安全性が要求されるようなシステムであっても、一つのFPGAで容易に実現することが可能になる。
以上説明した実施例のように、安全性が重要視される装置にSRAM型FPGAを使用する場合において、近年普及が進んでいるCPU内蔵SRAM型FPGAを活用し、SRAMで構成されるPL部分が故障しても不適切な値がFPGAの外部に出力されない構成をとることで、システムの安全性を保つことが可能な仕組みを提供することができる。
すなわち、故障する恐れのあるPL部分からは、安全側に出力を制御可能なフェールセーフ回路を介して外部への出力するよう構成する。そして、PL部分の異常を検知すると、故障の恐れの少ないハードマクロCPU部分によって、フェールセーフ回路を安全側へ制御する。
これによって、仮にFPGAが故障してもその影響が外部機器へ伝達する前にシステムを安全な状態に移行させることが可能になり、結果として高速でリアルタイムなシステムを低コストに実現できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。












































1、501、506、521… フィールドプログラマブルゲートアレイ(FPGA)
2、502、507、508… ハードマクロCPU
3、21、504… プログラマブルロジック(PL)
4… フェールセーフインタフェース回路
5、22… PL診断回路
13… マルチプレクサ
14… 入出力バッファ
40… アクチュエータ
51… RT処理
52… PL診断処理
53… 内部転送処理
54… 外部出力処理
55… フェールセーフ出力開始処理
56… 起動処理
57… 初期化処理
58… フェールセーフ出力終了処理
70… 安全処理
72… 停止処理
503… ハードマクロフェールセーフインタフェース回路
701… 制御コントローラ
702… 監視カメラ
703… モータ
704… リレー装置
801… 鉄道信号制御コントローラ
802… 信号制御部
803… 列車位置計測部
804… 信号機
805… 列車
901… 自動車
902… ステレオカメラ
930… 統合ECU
931… ブレーキ制御ECU

Claims (12)

  1. 回路構造が固定されたハードマクロCPUと、
    回路構造を変更可能なプログラマブルロジックと、
    前記プログラマブルロジックの異常を診断する診断回路と、
    前記プログラマブルロジックからの外部出力を安全側に制御可能なフェールセーフインタフェース回路と、
    前記診断回路によってエラーが検出されると、前記ハードマクロCPUが前記フェールセーフインタフェース回路に対し安全側の出力をするよう指示する機能を備えるフィールドプログラマブルゲートアレイ。
  2. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フェールセーフインタフェース回路は前記プログラマブルロジック内に備えられ、
    前記ハードマクロCPUから前記フェールセーフインタフェース回路への指示は、前記ハードマクロ側から前記プログラマブルロジック側へのみデータを送信可能な通信路を介して行われることを特徴とするフィールドプログラマブルゲートアレイ。
  3. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フェールセーフインタフェース回路は、ハードマクロで実装されることを特徴とするフィールドプログラマブルゲートアレイ。
  4. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記ハードマクロCPUが実行するソフトウェアプログラムによって前記フェールセーフインタフェースを制御することを特徴とするフィールドプログラマブルゲートアレイ。
  5. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記診断回路は、コンフィグレーション・ランダム・アクセス・メモリの巡回冗長検査、又は、誤り訂正符号を使用して、前記プログラマブルロジックを診断することを特徴とするフィールドプログラマブルゲートアレイ。
  6. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フィールドプログラマブルゲートアレイに接続した制御システムの立ち上げ処理開始時に前記フェールセーフインタフェース回路から前記制御システムへ出力し、
    前記制御システムの立ち上げ処理終了時に前記フェールセーフインタフェース回路から前記制御システムへ出力を終了することを特徴とするフィールドプログラマブルゲートアレイ。
  7. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フェールセーフインタフェースから高電位(High)固定もしくは低電位(Low)固定の値を出力することを特徴とするフィールドプログラマブルゲートアレイ。
  8. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フェールセーフインタフェースから一定の間隔で高電位(High)と低電位(Low)を繰り返す交番信号を出力することを特徴とするフィールドプログラマブルゲートアレイ。
  9. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フェールセーフインタフェースから複数ビットで構成されるコマンドを出力することを特徴とするフィールドプログラマブルゲートアレイ。
  10. 請求項1に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フィールドプログラマブルゲートアレイの外部端子は、
    前記ハードマクロCPUに専用に接続される外部端子と、
    前記プログラマブルロジックに専用に接続される外部端子と、
    前記フェールセーフインタフェース回路に専用に接続される外部端子とに分けられることを特徴とするフィールドプログラマブルゲートアレイ。
  11. 請求項10に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フィールドプログラマブルゲートアレイは、パッケージの四辺に外部端子が実装されること特徴とするフィールドプログラマブルゲートアレイ。
  12. 請求項10に記載のフィールドプログラマブルゲートアレイにおいて、
    前記フィールドプログラマブルゲートアレイは、パッケージの底面に外部端子が実装されることを特徴とするフィールドプログラマブルゲートアレイ。
JP2017524277A 2015-06-22 2015-06-22 フィールドプログラマブルゲートアレイ Active JP6464263B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/067814 WO2016207933A1 (ja) 2015-06-22 2015-06-22 フィールドプログラマブルゲートアレイ

Publications (2)

Publication Number Publication Date
JPWO2016207933A1 JPWO2016207933A1 (ja) 2018-03-08
JP6464263B2 true JP6464263B2 (ja) 2019-02-06

Family

ID=57585122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017524277A Active JP6464263B2 (ja) 2015-06-22 2015-06-22 フィールドプログラマブルゲートアレイ

Country Status (3)

Country Link
US (1) US10216566B2 (ja)
JP (1) JP6464263B2 (ja)
WO (1) WO2016207933A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509757B2 (en) * 2016-09-22 2019-12-17 Altera Corporation Integrated circuits having expandable processor memory
JP6924621B2 (ja) 2017-06-12 2021-08-25 日立Astemo株式会社 電子制御装置、車載システム、および電源装置
JP7045293B2 (ja) * 2018-09-19 2022-03-31 日立Astemo株式会社 電子制御装置
JP7255605B2 (ja) 2018-10-19 2023-04-11 株式会社ソシオネクスト 画像符号化方法及び画像符号化装置
CN109902061B (zh) * 2019-02-03 2023-06-02 旋智电子科技(上海)有限公司 数字逻辑电路及微处理器
JP7157773B2 (ja) 2020-01-27 2022-10-20 株式会社日立製作所 プログラマブルデバイス及びこれを用いた制御コントローラ
JP7384061B2 (ja) 2020-02-12 2023-11-21 株式会社デンソー 電子制御装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05327477A (ja) 1992-05-26 1993-12-10 Fuji Facom Corp フィールドプログラム可能なゲートアレイの誤り検査方法及び装置
JP4195336B2 (ja) 2003-06-10 2008-12-10 株式会社東芝 電気車のフェールセーフcpu処理装置
JP2007243671A (ja) 2006-03-09 2007-09-20 Kddi Corp 論理プログラマブルデバイス保護回路
US7870299B1 (en) * 2008-02-06 2011-01-11 Westinghouse Electric Co Llc Advanced logic system
US7850127B2 (en) * 2008-03-11 2010-12-14 Ansaldo Sts Usa, Inc. Cab signal receiver demodulator employing redundant, diverse field programmable gate arrays
US20110145934A1 (en) * 2009-10-13 2011-06-16 Miron Abramovici Autonomous distributed programmable logic for monitoring and securing electronic systems
JP5660798B2 (ja) 2010-04-01 2015-01-28 三菱電機株式会社 情報処理装置
JP2013070263A (ja) 2011-09-22 2013-04-18 Renesas Electronics Corp 電力変換回路、多相ボルテージレギュレータ、及び電力変換方法
US9063851B2 (en) * 2012-11-07 2015-06-23 Infineon Technologies Ag Fail safe code functionality
US9735784B2 (en) * 2013-09-30 2017-08-15 Hitachi, Ltd. Programmable logic device and logic integration tool
US9804942B2 (en) * 2014-06-10 2017-10-31 Analog Devices, Inc. Safety node in interconnect data buses
US9391618B2 (en) * 2014-08-06 2016-07-12 Broadcom Corporation High voltage fail-safe IO design using thin oxide devices

Also Published As

Publication number Publication date
JPWO2016207933A1 (ja) 2018-03-08
US20180113757A1 (en) 2018-04-26
US10216566B2 (en) 2019-02-26
WO2016207933A1 (ja) 2016-12-29

Similar Documents

Publication Publication Date Title
JP6464263B2 (ja) フィールドプログラマブルゲートアレイ
JP6525906B2 (ja) セーフティクリティカルなエラーを処理するための方法と装置
JP6109257B2 (ja) 駆動装置
US20140052325A1 (en) Semiconductor Circuit and Method in a Safety Concept for Use in a Motor Vehicle
JP2005151581A (ja) 制御システム
JP2008146659A (ja) 安全モジュール及び自動化システム
JP6133622B2 (ja) 車両制御装置
JP2014514206A (ja) フェール・サイレント機能を備えた回路構成
JP6430541B2 (ja) フィールドプログラマブルゲートアレイ
JP2009143459A (ja) 車載エレクトロニクス・システム及び自動車
JP6207987B2 (ja) 車載用電子制御装置
JP6861302B2 (ja) 車両制御装置および電子制御システム
US9665447B2 (en) Fault-tolerant failsafe computer system using COTS components
JP2022108108A (ja) 車両用電子制御装置
JP7360277B2 (ja) 航空機の制御システム
KR20170100011A (ko) 데이터 버스에서 버스의 보호
JP6681304B2 (ja) 自動車用制御装置及び自動車用内燃機関制御装置
JP6302852B2 (ja) 車両用電子制御装置
JP7299344B2 (ja) 車載電子制御装置
KR100598808B1 (ko) 캔 통신 고장시 엔진제어모듈과 변속제어모듈의 데이터통신방법
JP7226291B2 (ja) 電子制御装置
JP6274947B2 (ja) 車載制御装置のマイクロプロセッサの異常診断方法
JP2017228159A (ja) 制御装置、および制御装置の制御方法
JP2014512513A (ja) 車両のためのフレキシブルな(融通性のある)複合センサシステムモジュール
JP2022156616A (ja) 制御装置及びリセット機能の診断方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190107

R150 Certificate of patent or registration of utility model

Ref document number: 6464263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150