JP2004302727A - Fpgaの動作チェック方式 - Google Patents
Fpgaの動作チェック方式 Download PDFInfo
- Publication number
- JP2004302727A JP2004302727A JP2003093144A JP2003093144A JP2004302727A JP 2004302727 A JP2004302727 A JP 2004302727A JP 2003093144 A JP2003093144 A JP 2003093144A JP 2003093144 A JP2003093144 A JP 2003093144A JP 2004302727 A JP2004302727 A JP 2004302727A
- Authority
- JP
- Japan
- Prior art keywords
- fpga
- circuit
- signal
- internal
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】FPGAの内部回路の動作状態を保持し、周辺回路へ影響を及ぼすことなく、内部回路の入出力動作をチェック可能とする。
【解決手段】マルチプレクサ7とラッチ回路6は診断対象となる内部回路としてのAND回路2の出力信号を診断前の状態に記憶保持しておく。マルチプレクサ4、5はAND回路への入力信号を、信号G1,G2によって通常時の入力信号A,Bから診断入力信号K,Hに切換えて入力する。ホストCPU3は、上記の信号発生と、診断入力に対する内部回路の出力信号が正常にあるか否かを信号Fから判定する。
ホストCPUの機能をFPGA1の内部にコントロール部として設けることも含む。
【選択図】 図1
【解決手段】マルチプレクサ7とラッチ回路6は診断対象となる内部回路としてのAND回路2の出力信号を診断前の状態に記憶保持しておく。マルチプレクサ4、5はAND回路への入力信号を、信号G1,G2によって通常時の入力信号A,Bから診断入力信号K,Hに切換えて入力する。ホストCPU3は、上記の信号発生と、診断入力に対する内部回路の出力信号が正常にあるか否かを信号Fから判定する。
ホストCPUの機能をFPGA1の内部にコントロール部として設けることも含む。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、FPGAの内部回路の動作チェック方式に関する。
【0002】
【従来の技術】
近年、プリント板実装のデジタル回路には、FPGA(Field Programmable Gate Array)が欠かせない物となってきている。このFPGAは、規則的な論理ブロック構造を有するLSIであり、その論理関係と接続関係をプログラミングすることで所期のデジタル処理機能を実現でき、雑ロジックや特定目的の回路をFPGAに構成することにより、部品点数の削減、プリント板面積の縮小などに役立っている。
【0003】
ここで、FPGAの内部回路の動作チェック方法には、開発ツール上でのシミュレーション、実機でのテストプログラムによる出荷検査、F/W(ファームウェア)によるバックグランドでのチェック等がある(例えば、特許文献1参照)。
【0004】
・開発ツール上でのシミュレーションは、全ての入力、出力信号を動作させる事が可能なため、FPGAの内部回路の論理動作確認には最適なものとなる。
【0005】
・テストプログラムによる試験は、実機で行えるため、他の周辺回路ICを含んだ試験が可能となる。また、異常動作等もテストプログラムにより発生させることが出来るので、システム稼働中には出来ない項目もチェックが可能となる。
【0006】
・F/Wのバックグランドでのチェックは、システム稼働中に行われる為、プリント板に実装されているメモリへのデータ、ライト/リードチェックが主となる。
【0007】
これらの動作チェック方法のうち、F/Wによるバックグランドでのチェックのみが、システム稼働中のFPGA故障検出が可能になっている。
【0008】
【特許文献1】
特開平07−198784
【0009】
【発明が解決しようとする課題】
前記のように,F/Wによるバックグランドでのチェックのみが、システム稼働中でのFPGA故障検出が可能になっているため、システムの信頼性向上に関しては一番重要なチェック方法となっている。
【0010】
F/Wのバックグランドでのチェックはシステム稼働中に行われる為、プリント板に実装されているメモリへのデータ、ライト/リードチエックが主となる。よって、メモリアクセスに関係する回路チェックは可能だが、それ以外の組み合わせ回路(論理回路)等のチェックは出来ない。特に、システムに影響を及ぼす出力はシステムの停止を引き起こす可能性があるため、出力を変化させることは出来ない。しかし、逆にこれらは誤出力防止のため論理回路のチェックの必要性は大きい。
【0011】
FPGAは、一度書き込んだデータを電源断時でも保持するものと、電源断時にはデータが失われ、電源を投入するたびにコンフィグレーション(ROMよりデータをFPGAに書き込む作業)するものとに分類される。
【0012】
電源投入毎にコンフィグレーションするタイプは、コンフィグレーション終了後に外部からのノイズにより、内部データが壊される可能性もある。
【0013】
本発明の目的は、上記の課題を解決したFPGAの動作チェック方式を提供することにある。
【0014】
【課題を解決するための手段】
本発明は、FPGAの内部回路の動作状態を保持し、周辺回路へ影響を及ぼすことなく、内部回路の入出力動作をチェック可能とするため、基本的には、診断対象となる内部回路の出力信号を診断前の状態に記憶保持しておく出力信号保持手段と、内部回路への入力信号を通常時の入力信号から診断入力信号に切換えて入力する入力信号切換手段と、診断入力に対する内部回路の出力信号が正常にあるか否かの判定を行う判定手段とを備えたもので、以下の構成を特徴とする。
【0015】
(1)規則的な論理ブロック構造に形成したFPGAの内部回路を、その動作中に、入出力論理動作の正常/異常を診断するFPGAの動作チェック方式であって、
診断対象となる内部回路の出力信号を診断前の状態に記憶保持しておく出力信号保持手段と、
内部回路への入力信号を通常時の入力信号から診断入力信号に切換えて入力する入力信号切換手段と、
診断入力に対する内部回路の出力信号が正常にあるか否かの判定を行う判定手段とを備えたことを特徴とする。
【0016】
(2)前記出力信号保持手段と入力信号切換手段を前記FPGAの内部論理回路として構成し、
前記内部論理回路への入力信号発生手段と出力信号取り込み手段と切換制御信号発生手段および判定手段を外部のホストCPUに設けたことを特徴とする。
【0017】
(3)前記出力信号保持手段と入力信号切換手段と判定手段を前記FPGAの内部論理回路として構成し、
前記内部論理回路への入力信号発生手段と出力信号取り込み手段と切換制御信号発生手段および判定手段を前記FPGAの内部コントロール部として設けたことを特徴とする。
【0018】
(4)前記ホストCPUまたは内部コントロール部は、FPGAの内部回路のチェックを通常動作と時分割で行うことを特徴とする。
【0019】
(5)前記ホストCPUまたは内部コントロール部は、前記FPGAの内部回路の故障診断で、内部回路を再コンフィグレーションして修復する手段を備えたことを特徴とする。
【0020】
【発明の実施の形態】
(実施形態1)ホストCPUで直接制御するチェック方式。
【0021】
本実施形態では、図1に示すように、FPGA1に内部回路として生成された2入力のAND回路2の動作診断をホストCPU3の直接制御で行う場合である。
【0022】
FPGA1には、そのAND回路2の動作チェックのために、AND回路2の入力信号A,Bの入力回路として、入力信号切換のためのマルチプレクサ4、5を設ける。また、AND回路2の出力信号を診断前の状態に記憶保持しておくラッチ回路6と、出力信号Cの入力信号切換えのためのマルチプレクサ7を設ける。
【0023】
入力信号切換手段としてのマルチプレクサ4は、コントロール信号G1によって、入力信号Aから診断入力信号Kに切換えてAND回路2の一方の入力とする。同様に、マルチプレクサ5はコントロール信号G2によって入力信号Bから診断入力信号Hに切換えてAND回路2の他方の入力とする。
【0024】
出力信号保持手段としてのマルチプレクサ7とラッチ回路6は、コントロール信号Iによって、AND回路2の出力信号Fからラッチ回路6に一時記憶する信号に切換えて出力信号Cとして出力する。ラッチ回路6は、マルチプレクサ7の出力を一時記憶する。
【0025】
以上のように、FPGA1には、ホストCPU3によるAND回路2の診断用として、マルチプレクサ4、5、6およびラッチ回路6を備え、システムの稼動中でのFPGA1内のAND回路2の診断を可能とする。
【0026】
この診断には、ホストCPU3は、自己診断コントロール信号Sが与えられることで、処理を開始する。図2にホストCPU3の処理フローを示す。この開始には、ホストCPU3は、まず、FPGA1の出力制御信号(信号I)から「H」を出力する(ステップS1)。この信号Iにより、FPGA1内部では、マルチプレクサ7の出力をラッチ回路6の出力に切換えておくことで、診断直前のAND回路2の出力をそのまま出力信号Cとして保持しておく。そして、ホストCPU3は、コントロール信号G1、G2から共に「L」を出力する(ステップS2)。これら信号G1、G2により、FPGA1の内部では、マルチプレクサ4、5の入力を信号A,Bからテストパターン信号K,Hに切換え、テストデータパターン信号K、信号Hをマルチプレクサ4、5を通してAND回路2の入力とする。
【0027】
次に、ホストCPU3は、自身が管理するビットパターン・真理値管理テーブル(下記の表1参照)から最初のビットパターン「L、L」を読み込み(ステップS3)、ビットパターンに対応したテストパターン信号K(=L),H(=L)を出力する(ステップS4)。
【0028】
【表1】
【0029】
その後、FPGA1から信号「F」を取り込む(ステップS5)。そして、ビットパターン・真理値管理テーブルからビットパターン「L、L」でのAND回路値を読み込み(ステップS6)、信号「F」の値とAND回路値が一致するか否かを比較する(ステップS7)。
【0030】
この比較結果が不一致であれば、FPGA1の異常と判定し、ホストCPU3から周辺回路へ信号J(例えば、異常をHで示す)を出力し(ステップS8)、コントロール信号G1,G2から共に「H」を出力し(ステップS9)、FPGA1の出力制御信号(信号I)から「L」を出力し(ステップS10)、処理を終了する。
【0031】
ステップS6において、取得した信号Fの値とAND回路出力値が一致している場合、ビットパターン真理値管理テーブル内のビットパターンを全てチェックしたか否かを判定し(ステップS11)、チェック済みであれば、FPGA1の正常と判定し、ホストCPU3から周辺回路へ信号J(例えば、正常を「L」で示す)を出力し(ステップS12)、ステップS9,S10の終了シーケンスを実行し、処理を終了する。
【0032】
また、ステップS11において、ビットパターンにチェック残りがあれば、ビットパターン真理値管理テーブルから新たなビットパターンを読み込み(ステップS13)、ステップS4へ処理を移す。
【0033】
以上の診断制御を実行するタイミングは、入力A,Bの変化が起きないタイミングをホストCPU3が認識して行う。そして、テストデータパターンにより信号Fは「H」又は「L」に変化するが、マルチプレクサ7の出力は前回値ラッチを選択しているので、出力Cを変化させない。
【0034】
また、信号G1、G2の自己診断モードの期間に信号K,Hの変化に応じた信号F(AND回路2の出力)が期待値と不一致になるか否かで正常/異常の判定を行い、この判定結果は信号Jとして出力する。
【0035】
なお、図1では、自己診断コントロール信号Sとして、外部からホストCPUへ入力する例を示したが、図2の処理フローの起動はこれに限るものではなく、例えば、バックグラウンドで起動させるプログラムでもよい。また、ホストCPUから各信号を発生させる手段については、例えば、ホストCPUのメモリ(またはI/O)空間に入出力レジスタを設置し、そのレジスタをアクセスすることで成し遂げられる。
【0036】
(実施形態2)FPGA内部のコントロール部で制御するチェック方式。
【0037】
本実施形態は、図3に示すように、実施形態1におけるホストCPU3がもつ自己診断制御機能と同等の機能をもつコントロール部8をFPGA1内に設けた点にある。図4は、コントロール部8の診断タイムチャートを示す。
【0038】
ホストCPU3Aからのチエック実行指示(入力S)を受け取ったコントロール部8は、入力クロックに同期してFPGA1の出力制御(信号I)、入力制御(信号G1,G2)、テストデータパターン(信号K、信号H)を発生して自己診断コントロールをする。期待値(信号F)の判定もコントロール部8で行い、エラーが発生した場合はホストCPU3Aに対してエラー信号J(出力D)を出力する。
【0039】
本実施形態においても、テストデータパターンにより信号Fは「H」又は「L」に変化するが、マルチプレクサ7の出力には前回値ラッチを選択して出力Cを変化させない。
【0040】
本実施形態の場合、ホストCPU3Aは、チェック可能なタイミング時に入力SをFPGAに対して出した後は、チェックはすべてFPGA内部のコントロール部8が行うため、チェック結果を待つことなく他の処理に移ることが可能となる。
【0041】
(他の実施形態)
以上までの実施形態では、FPGAの内部回路として、2入力のAND回路の自己診断を行う場合を示すが、3入力以上のAND回路、OR回路、フリップフロップ回路などの単体の論理回路構成の内部回路の自己診断を同様に行うことができる。また、複数の論理回路をアレー構成したブラックボックス化した回路においても、診断時にマルチプレクサによる1または複数の入力信号の切換えと、マルチプレクサとラッチ回路による1または複数の出力信号の保持をした診断を行うことができる。さらに、制御方式の変更、診断結果が異常の場合の内部回路の再コンフィグレーション機能を持たせることができる。
【0042】
例えば、メモリチェックをFPGA内部のコントロール部で制御するチェック方式とすることができる。この場合、実施形態2と同様にメモリに対するチェックもFPGA内部コントロール部8が行う。メモリに対するコマンド信号もFPGAが作り出し、マルチプレクサにより実際の信号とテスト信号の選択を切り替えて実施する。この間も実施形態2と同様にホストCPUは他の処理を並行して実行可能となる。
【0043】
他の例としては、自己診断を一定周期に時分割で実施するチェック方式とすることができる。この場合、自己診断コントロール信号(入力S:信号レベルH:通常動作、信号レベルL:自己診断モード)を定周期のクロックとして通常動作と自己診断モードを時分割的に実施する。また、自己診断コントロール信号の周期を、システムの演算、データの更新に影響の無い周期とする事により、常にFPGAの診断が可能となる。
【0044】
さらに、他の例としては、FPGA異常が発生した場合、再コンフィグレーションを実施するチェック方式とすることができる。この場合、FPGA異常が発生した場合、その内容、モジュール内の他の回路に与える影響を考慮し、再コンフィグレーションを行うかどうかを決め、ホストCPUからの信号、もしくはFPGA自身が作り出す信号によりFPGAを再コンフィグレーションする。これによりFPGA内部の軽微な故障は自動修復できる。
【0045】
【発明の効果】
以上のとおり、本発明によれば、以下の効果がある。
【0046】
・FPGAの出力を変化させずに内部回路のチェックが可能なため、今まで不可能だった組み合わせ回路のチェックをシステム稼働中に実施可能となる。
【0047】
・システムの信頼性が向上する。
【0048】
・チェック中にホストCPUは他の処理が可能なため、性能が向上する。
【0049】
・外部ノイズ等による偶発的な故障は、FPGAを再コンフィグレーションすることにより、システムを止めずに修復することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態1を示す構成図。
【図2】実施形態1におけるホストCPUの処理フローチャート。
【図3】本発明の実施形態2を示す構成図。
【図4】実施形態2における動作チェックのタイムチャート。
【符号の説明】
1…FPGA
2…AND回路
3、3A…ホストCPU
4、5、7…マルチプレクサ
6…ラッチ回路
8…コントロール部
【発明の属する技術分野】
本発明は、FPGAの内部回路の動作チェック方式に関する。
【0002】
【従来の技術】
近年、プリント板実装のデジタル回路には、FPGA(Field Programmable Gate Array)が欠かせない物となってきている。このFPGAは、規則的な論理ブロック構造を有するLSIであり、その論理関係と接続関係をプログラミングすることで所期のデジタル処理機能を実現でき、雑ロジックや特定目的の回路をFPGAに構成することにより、部品点数の削減、プリント板面積の縮小などに役立っている。
【0003】
ここで、FPGAの内部回路の動作チェック方法には、開発ツール上でのシミュレーション、実機でのテストプログラムによる出荷検査、F/W(ファームウェア)によるバックグランドでのチェック等がある(例えば、特許文献1参照)。
【0004】
・開発ツール上でのシミュレーションは、全ての入力、出力信号を動作させる事が可能なため、FPGAの内部回路の論理動作確認には最適なものとなる。
【0005】
・テストプログラムによる試験は、実機で行えるため、他の周辺回路ICを含んだ試験が可能となる。また、異常動作等もテストプログラムにより発生させることが出来るので、システム稼働中には出来ない項目もチェックが可能となる。
【0006】
・F/Wのバックグランドでのチェックは、システム稼働中に行われる為、プリント板に実装されているメモリへのデータ、ライト/リードチェックが主となる。
【0007】
これらの動作チェック方法のうち、F/Wによるバックグランドでのチェックのみが、システム稼働中のFPGA故障検出が可能になっている。
【0008】
【特許文献1】
特開平07−198784
【0009】
【発明が解決しようとする課題】
前記のように,F/Wによるバックグランドでのチェックのみが、システム稼働中でのFPGA故障検出が可能になっているため、システムの信頼性向上に関しては一番重要なチェック方法となっている。
【0010】
F/Wのバックグランドでのチェックはシステム稼働中に行われる為、プリント板に実装されているメモリへのデータ、ライト/リードチエックが主となる。よって、メモリアクセスに関係する回路チェックは可能だが、それ以外の組み合わせ回路(論理回路)等のチェックは出来ない。特に、システムに影響を及ぼす出力はシステムの停止を引き起こす可能性があるため、出力を変化させることは出来ない。しかし、逆にこれらは誤出力防止のため論理回路のチェックの必要性は大きい。
【0011】
FPGAは、一度書き込んだデータを電源断時でも保持するものと、電源断時にはデータが失われ、電源を投入するたびにコンフィグレーション(ROMよりデータをFPGAに書き込む作業)するものとに分類される。
【0012】
電源投入毎にコンフィグレーションするタイプは、コンフィグレーション終了後に外部からのノイズにより、内部データが壊される可能性もある。
【0013】
本発明の目的は、上記の課題を解決したFPGAの動作チェック方式を提供することにある。
【0014】
【課題を解決するための手段】
本発明は、FPGAの内部回路の動作状態を保持し、周辺回路へ影響を及ぼすことなく、内部回路の入出力動作をチェック可能とするため、基本的には、診断対象となる内部回路の出力信号を診断前の状態に記憶保持しておく出力信号保持手段と、内部回路への入力信号を通常時の入力信号から診断入力信号に切換えて入力する入力信号切換手段と、診断入力に対する内部回路の出力信号が正常にあるか否かの判定を行う判定手段とを備えたもので、以下の構成を特徴とする。
【0015】
(1)規則的な論理ブロック構造に形成したFPGAの内部回路を、その動作中に、入出力論理動作の正常/異常を診断するFPGAの動作チェック方式であって、
診断対象となる内部回路の出力信号を診断前の状態に記憶保持しておく出力信号保持手段と、
内部回路への入力信号を通常時の入力信号から診断入力信号に切換えて入力する入力信号切換手段と、
診断入力に対する内部回路の出力信号が正常にあるか否かの判定を行う判定手段とを備えたことを特徴とする。
【0016】
(2)前記出力信号保持手段と入力信号切換手段を前記FPGAの内部論理回路として構成し、
前記内部論理回路への入力信号発生手段と出力信号取り込み手段と切換制御信号発生手段および判定手段を外部のホストCPUに設けたことを特徴とする。
【0017】
(3)前記出力信号保持手段と入力信号切換手段と判定手段を前記FPGAの内部論理回路として構成し、
前記内部論理回路への入力信号発生手段と出力信号取り込み手段と切換制御信号発生手段および判定手段を前記FPGAの内部コントロール部として設けたことを特徴とする。
【0018】
(4)前記ホストCPUまたは内部コントロール部は、FPGAの内部回路のチェックを通常動作と時分割で行うことを特徴とする。
【0019】
(5)前記ホストCPUまたは内部コントロール部は、前記FPGAの内部回路の故障診断で、内部回路を再コンフィグレーションして修復する手段を備えたことを特徴とする。
【0020】
【発明の実施の形態】
(実施形態1)ホストCPUで直接制御するチェック方式。
【0021】
本実施形態では、図1に示すように、FPGA1に内部回路として生成された2入力のAND回路2の動作診断をホストCPU3の直接制御で行う場合である。
【0022】
FPGA1には、そのAND回路2の動作チェックのために、AND回路2の入力信号A,Bの入力回路として、入力信号切換のためのマルチプレクサ4、5を設ける。また、AND回路2の出力信号を診断前の状態に記憶保持しておくラッチ回路6と、出力信号Cの入力信号切換えのためのマルチプレクサ7を設ける。
【0023】
入力信号切換手段としてのマルチプレクサ4は、コントロール信号G1によって、入力信号Aから診断入力信号Kに切換えてAND回路2の一方の入力とする。同様に、マルチプレクサ5はコントロール信号G2によって入力信号Bから診断入力信号Hに切換えてAND回路2の他方の入力とする。
【0024】
出力信号保持手段としてのマルチプレクサ7とラッチ回路6は、コントロール信号Iによって、AND回路2の出力信号Fからラッチ回路6に一時記憶する信号に切換えて出力信号Cとして出力する。ラッチ回路6は、マルチプレクサ7の出力を一時記憶する。
【0025】
以上のように、FPGA1には、ホストCPU3によるAND回路2の診断用として、マルチプレクサ4、5、6およびラッチ回路6を備え、システムの稼動中でのFPGA1内のAND回路2の診断を可能とする。
【0026】
この診断には、ホストCPU3は、自己診断コントロール信号Sが与えられることで、処理を開始する。図2にホストCPU3の処理フローを示す。この開始には、ホストCPU3は、まず、FPGA1の出力制御信号(信号I)から「H」を出力する(ステップS1)。この信号Iにより、FPGA1内部では、マルチプレクサ7の出力をラッチ回路6の出力に切換えておくことで、診断直前のAND回路2の出力をそのまま出力信号Cとして保持しておく。そして、ホストCPU3は、コントロール信号G1、G2から共に「L」を出力する(ステップS2)。これら信号G1、G2により、FPGA1の内部では、マルチプレクサ4、5の入力を信号A,Bからテストパターン信号K,Hに切換え、テストデータパターン信号K、信号Hをマルチプレクサ4、5を通してAND回路2の入力とする。
【0027】
次に、ホストCPU3は、自身が管理するビットパターン・真理値管理テーブル(下記の表1参照)から最初のビットパターン「L、L」を読み込み(ステップS3)、ビットパターンに対応したテストパターン信号K(=L),H(=L)を出力する(ステップS4)。
【0028】
【表1】
【0029】
その後、FPGA1から信号「F」を取り込む(ステップS5)。そして、ビットパターン・真理値管理テーブルからビットパターン「L、L」でのAND回路値を読み込み(ステップS6)、信号「F」の値とAND回路値が一致するか否かを比較する(ステップS7)。
【0030】
この比較結果が不一致であれば、FPGA1の異常と判定し、ホストCPU3から周辺回路へ信号J(例えば、異常をHで示す)を出力し(ステップS8)、コントロール信号G1,G2から共に「H」を出力し(ステップS9)、FPGA1の出力制御信号(信号I)から「L」を出力し(ステップS10)、処理を終了する。
【0031】
ステップS6において、取得した信号Fの値とAND回路出力値が一致している場合、ビットパターン真理値管理テーブル内のビットパターンを全てチェックしたか否かを判定し(ステップS11)、チェック済みであれば、FPGA1の正常と判定し、ホストCPU3から周辺回路へ信号J(例えば、正常を「L」で示す)を出力し(ステップS12)、ステップS9,S10の終了シーケンスを実行し、処理を終了する。
【0032】
また、ステップS11において、ビットパターンにチェック残りがあれば、ビットパターン真理値管理テーブルから新たなビットパターンを読み込み(ステップS13)、ステップS4へ処理を移す。
【0033】
以上の診断制御を実行するタイミングは、入力A,Bの変化が起きないタイミングをホストCPU3が認識して行う。そして、テストデータパターンにより信号Fは「H」又は「L」に変化するが、マルチプレクサ7の出力は前回値ラッチを選択しているので、出力Cを変化させない。
【0034】
また、信号G1、G2の自己診断モードの期間に信号K,Hの変化に応じた信号F(AND回路2の出力)が期待値と不一致になるか否かで正常/異常の判定を行い、この判定結果は信号Jとして出力する。
【0035】
なお、図1では、自己診断コントロール信号Sとして、外部からホストCPUへ入力する例を示したが、図2の処理フローの起動はこれに限るものではなく、例えば、バックグラウンドで起動させるプログラムでもよい。また、ホストCPUから各信号を発生させる手段については、例えば、ホストCPUのメモリ(またはI/O)空間に入出力レジスタを設置し、そのレジスタをアクセスすることで成し遂げられる。
【0036】
(実施形態2)FPGA内部のコントロール部で制御するチェック方式。
【0037】
本実施形態は、図3に示すように、実施形態1におけるホストCPU3がもつ自己診断制御機能と同等の機能をもつコントロール部8をFPGA1内に設けた点にある。図4は、コントロール部8の診断タイムチャートを示す。
【0038】
ホストCPU3Aからのチエック実行指示(入力S)を受け取ったコントロール部8は、入力クロックに同期してFPGA1の出力制御(信号I)、入力制御(信号G1,G2)、テストデータパターン(信号K、信号H)を発生して自己診断コントロールをする。期待値(信号F)の判定もコントロール部8で行い、エラーが発生した場合はホストCPU3Aに対してエラー信号J(出力D)を出力する。
【0039】
本実施形態においても、テストデータパターンにより信号Fは「H」又は「L」に変化するが、マルチプレクサ7の出力には前回値ラッチを選択して出力Cを変化させない。
【0040】
本実施形態の場合、ホストCPU3Aは、チェック可能なタイミング時に入力SをFPGAに対して出した後は、チェックはすべてFPGA内部のコントロール部8が行うため、チェック結果を待つことなく他の処理に移ることが可能となる。
【0041】
(他の実施形態)
以上までの実施形態では、FPGAの内部回路として、2入力のAND回路の自己診断を行う場合を示すが、3入力以上のAND回路、OR回路、フリップフロップ回路などの単体の論理回路構成の内部回路の自己診断を同様に行うことができる。また、複数の論理回路をアレー構成したブラックボックス化した回路においても、診断時にマルチプレクサによる1または複数の入力信号の切換えと、マルチプレクサとラッチ回路による1または複数の出力信号の保持をした診断を行うことができる。さらに、制御方式の変更、診断結果が異常の場合の内部回路の再コンフィグレーション機能を持たせることができる。
【0042】
例えば、メモリチェックをFPGA内部のコントロール部で制御するチェック方式とすることができる。この場合、実施形態2と同様にメモリに対するチェックもFPGA内部コントロール部8が行う。メモリに対するコマンド信号もFPGAが作り出し、マルチプレクサにより実際の信号とテスト信号の選択を切り替えて実施する。この間も実施形態2と同様にホストCPUは他の処理を並行して実行可能となる。
【0043】
他の例としては、自己診断を一定周期に時分割で実施するチェック方式とすることができる。この場合、自己診断コントロール信号(入力S:信号レベルH:通常動作、信号レベルL:自己診断モード)を定周期のクロックとして通常動作と自己診断モードを時分割的に実施する。また、自己診断コントロール信号の周期を、システムの演算、データの更新に影響の無い周期とする事により、常にFPGAの診断が可能となる。
【0044】
さらに、他の例としては、FPGA異常が発生した場合、再コンフィグレーションを実施するチェック方式とすることができる。この場合、FPGA異常が発生した場合、その内容、モジュール内の他の回路に与える影響を考慮し、再コンフィグレーションを行うかどうかを決め、ホストCPUからの信号、もしくはFPGA自身が作り出す信号によりFPGAを再コンフィグレーションする。これによりFPGA内部の軽微な故障は自動修復できる。
【0045】
【発明の効果】
以上のとおり、本発明によれば、以下の効果がある。
【0046】
・FPGAの出力を変化させずに内部回路のチェックが可能なため、今まで不可能だった組み合わせ回路のチェックをシステム稼働中に実施可能となる。
【0047】
・システムの信頼性が向上する。
【0048】
・チェック中にホストCPUは他の処理が可能なため、性能が向上する。
【0049】
・外部ノイズ等による偶発的な故障は、FPGAを再コンフィグレーションすることにより、システムを止めずに修復することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態1を示す構成図。
【図2】実施形態1におけるホストCPUの処理フローチャート。
【図3】本発明の実施形態2を示す構成図。
【図4】実施形態2における動作チェックのタイムチャート。
【符号の説明】
1…FPGA
2…AND回路
3、3A…ホストCPU
4、5、7…マルチプレクサ
6…ラッチ回路
8…コントロール部
Claims (5)
- 規則的な論理ブロック構造に形成したFPGAの内部回路を、その動作中に、入出力論理動作の正常/異常を診断するFPGAの動作チェック方式であって、
診断対象となる内部回路の出力信号を診断前の状態に記憶保持しておく出力信号保持手段と、
内部回路への入力信号を通常時の入力信号から診断入力信号に切換えて入力する入力信号切換手段と、
診断入力に対する内部回路の出力信号が正常にあるか否かの判定を行う判定手段とを備えたことを特徴とするFPGAの動作チェック方式。 - 前記出力信号保持手段と入力信号切換手段を前記FPGAの内部論理回路として構成し、
前記内部論理回路への入力信号発生手段と出力信号取り込み手段と切換制御信号発生手段および判定手段を外部のホストCPUに設けたことを特徴とする請求項1に記載のFPGAの動作チェック方式。 - 前記出力信号保持手段と入力信号切換手段と判定手段を前記FPGAの内部論理回路として構成し、
前記内部論理回路への入力信号発生手段と出力信号取り込み手段と切換制御信号発生手段および判定手段を前記FPGAの内部コントロール部として設けたことを特徴とする請求項1に記載のFPGAの動作チェック方式。 - 前記ホストCPUまたは内部コントロール部は、FPGAの内部回路のチェックを通常動作と時分割で行うことを特徴とする請求項1〜3のいずれか1項に記載のFPGAの動作チェック方式。
- 前記ホストCPUまたは内部コントロール部は、前記FPGAの内部回路の故障診断で、内部回路を再コンフィグレーションして修復する手段を備えたことを特徴とする請求項1〜4のいずれか1項に記載のFPGAの動作チェック方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003093144A JP2004302727A (ja) | 2003-03-31 | 2003-03-31 | Fpgaの動作チェック方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003093144A JP2004302727A (ja) | 2003-03-31 | 2003-03-31 | Fpgaの動作チェック方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004302727A true JP2004302727A (ja) | 2004-10-28 |
Family
ID=33406003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003093144A Pending JP2004302727A (ja) | 2003-03-31 | 2003-03-31 | Fpgaの動作チェック方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004302727A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018179677A1 (ja) | 2017-03-28 | 2018-10-04 | 日立オートモティブシステムズ株式会社 | 電子制御装置、電子制御システム、電子制御装置の制御方法 |
JP2020177358A (ja) * | 2019-04-16 | 2020-10-29 | ローム株式会社 | 監視装置 |
-
2003
- 2003-03-31 JP JP2003093144A patent/JP2004302727A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018179677A1 (ja) | 2017-03-28 | 2018-10-04 | 日立オートモティブシステムズ株式会社 | 電子制御装置、電子制御システム、電子制御装置の制御方法 |
US11080156B2 (en) | 2017-03-28 | 2021-08-03 | Hitachi Automotive Systems, Ltd. | Electronic controller and control method thereof, and electronic control system |
JP2020177358A (ja) * | 2019-04-16 | 2020-10-29 | ローム株式会社 | 監視装置 |
JP7304732B2 (ja) | 2019-04-16 | 2023-07-07 | ローム株式会社 | 監視装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6370661B1 (en) | Apparatus for testing memory in a microprocessor | |
JP7062409B2 (ja) | 自己テスト可能な集積回路装置及び集積回路を自己テストする方法 | |
JPH0548494B2 (ja) | ||
US6862704B1 (en) | Apparatus and method for testing memory in a microprocessor | |
US5568407A (en) | Method and system for the design verification of logic units and use in different environments | |
JP3293125B2 (ja) | オンチップマルチプロセッサシステムにおける初期設定・診断方式 | |
US7617428B2 (en) | Circuits and associated methods for improved debug and test of an application integrated circuit | |
JP2002323993A (ja) | シングルチップマイクロコンピュータ並びにその試験方法及び試験プログラム | |
JP2004302727A (ja) | Fpgaの動作チェック方式 | |
JP7394849B2 (ja) | メモリ組込み自己テストコントローラを用いる読み出し専用メモリのテスト | |
TW202209118A (zh) | 晶片及其設計方法與故障分析方法 | |
JP2007058450A (ja) | 半導体集積回路 | |
JP6786449B2 (ja) | 半導体装置 | |
JPS63193237A (ja) | 半導体集積回路装置 | |
JP2005190112A (ja) | マイクロコンピュータ及びそのデバッグ方法 | |
US20050289421A1 (en) | Semiconductor chip | |
KR100345673B1 (ko) | 자기 진단 가능한 집적 회로 | |
JP4131937B2 (ja) | テスト機能を有する論理回路 | |
JPH05151017A (ja) | マイクロコンピユータ | |
JP2006258654A (ja) | テストシステム | |
JPH10283388A (ja) | 論理検証装置 | |
JP2009245148A (ja) | 再構成可能な論理デバイスのデバッグ装置、デバッグ方法及びデバッグプログラム | |
JPH02140678A (ja) | 集積回路のテスト方法 | |
JP2020153867A (ja) | 半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム | |
JP2007122597A (ja) | システム検証装置 |