(57)【要約】【課題】リアルタイム性を確保しつつ、演算処理部の内部信号の過渡的な変化を遺漏なく検出して検証精度を向上させた動作検証回路を提供する。【解決手段】演算処理部６１の内部信号を選択する信号選択部６２と、その出力信号を演算周期以上の検証周期により更新して通常時データを出力するレジスタ６３と、信号選択部６２の出力から異常信号を検出した際に異常判定信号を生成する異常判定部６５と、異常判定信号の存在時に検証周期の複数周期分にわたり異常信号を含むデータを抽出するデータ抽出指令部６６と、信号選択部６２の出力のうちデータ抽出指令部６６により抽出されたデータを異常時データとして出力する異常保持用メモリ６４と、異常判定信号の有無に応じて異常時データまたは通常時データを選択する信号選択部６７と、その出力信号を変換して得た検証用出力信号に基づき演算処理部６１の動作を検証するＰＣ５０と、を備える。【選択図】図１
2018106430.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル素子により構成される演算処理部の動作を検証する動作検証回路において、
所定の演算結果を内部信号として出力する前記演算処理部と、
前記内部信号のうち被検証回路の内部信号を選択して被検証データとして出力する第１の信号選択部と、
前記被検証データが保持され、この被検証データを前記演算処理部の演算周期以上の検証周期により更新して通常時データとして出力するレジスタと、
前記被検証データを期待値と比較して異常信号を検出した際に異常判定信号を生成する異常判定部と、
前記異常判定信号が存在する時に、前記検証周期の複数周期分にわたる信号であって前記異常信号を含む信号を抽出するためのアドレスを指令するデータ抽出指令部と、
前記被検証データのうち、前記データ抽出指令部により指令されたアドレスのデータを異常時データとして出力する異常保持用メモリと、
前記通常時データと前記異常時データとが入力され、前記異常判定信号が存在しない時に前記通常時データを選択し、前記異常判定信号が存在する時に前記異常時データを選択する第２の信号選択部と、
前記第２の信号選択部により選択された信号を変換して得た検証用出力信号に基づき、前記演算処理部の内部信号の正常・異常を検出して前記演算処理部の動作を検証する検証装置と、
を備えたことを特徴とする動作検証回路。
【請求項２】
請求項１に記載した動作検証回路において、
前記第２の信号選択部により選択された信号をパラレル・シリアル変換して前記検証用出力信号を生成する手段を備えたことを特徴とする動作検証回路。
【請求項３】
請求項２に記載した動作検証回路において、
前記パラレル・シリアル変換の周期を前記検証周期として、前記レジスタに保持された被検証データを更新し、前記通常時データを生成することを特徴とする動作検証回路
【請求項４】
請求項１〜３の何れか１項に記載した動作検証回路において、
前記異常保持用メモリとして、小容量のリングバッファを用いたことを特徴とする動作検証回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＰＧＡ（Field Programmable Gate Array）やＣＰＬＤ（Complex Programmable Logic Device）等のプログラマブル素子により構成される演算処理部の内部信号の正常・異常を検出して演算処理部の動作を検証する動作検証回路に関するものである。
【背景技術】
【０００２】
従来、プログラマブル素子によって構成される演算処理部の動作を検証する発明として、特許文献１に記載されたものが提案されている。
この従来技術では、外部に設けられたＣＰＵが、ＦＰＧＡに回路構成情報を送信して階層構造の論理回路（被検証回路）を構成し、検証ツールを実行して前記被検証回路の動作の正否を観測する。ここで、ＣＰＵは、変換ツールにより被検証回路に制御レジスタ及びマルチプレクサを追加して検証用ＲＴＬソースファイルを生成すると共に、上記マルチプレクサ及び制御レジスタを制御するための制御情報を有する制御情報ファイルを生成する。また、ＣＰＵは、コンパイルツールを実行し、検証用ＲＴＬソースファイルをＦＰＧＡのハードウェア構成に適した回路に変換する。
【０００３】
ＣＰＵによる検証動作は、検証ツールが、設計者が作成した入力信号のテストパターンをＦＰＧＡ内の被検証回路に与え、その際の出力信号及び内部信号をテキストファイル等に保存して期待値ファイルと比較することにより行う。観測対象となる被検証回路の内部信号は、観測信号名が設定された制御レジスタを検証ツールが指示してそのレジスタ値に対応するマルチプレクサを選択し、観測信号名に対応する内部信号を出力させることにより任意に変更可能となっている。
【０００４】
この従来技術によれば、外部のＰＣから制御レジスタの情報を変更するだけの簡単な処理により、マルチプレクサを介して所望の内部信号を選択し、出力させることができ、観測する内部信号を変更する際の再コンパイルや回路構成情報の変更を不要にしている。
【０００５】
上記従来技術に係る回路検証システムは、例えば、図４または図５に示すように構成されている。
図４，図５において、１０は電力変換器等の制御対象、２０は制御対象１０の電圧、電流等を検出するセンサ、３０は制御基板、４０はＦＰＧＡ、４１はセンサ２０の出力信号に基づいて所定の制御演算を行う演算処理部、４２は演算処理部４１から引き出された内部信号（検証対象信号）ａの中から所定のアドレスに従って出力信号を選択するマルチプレクサ等の信号選択部、４３は出力信号を記憶するメモリ、４４は信号選択部４２から出力されるパラレルデータをシリアルデータに変換するパラレル・シリアル変換部、５０は演算処理部４１の内部信号の正常・異常を検出して動作を検証するＰＣ（ローダ）である。
【０００６】
これらの回路検証システムでは、ＰＣ５０が、コンパイラを用いて生成した回路構成情報に基づいて演算処理部４１の内部信号ａを最上位階層の回路ブロックに引き出して信号選択部４２により選択すると共に、メモリ４３またはパラレル・シリアル変換部４４を介して出力端子ｂから出力させ、検証を行っている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−９７１３１号公報（段落［００６８］〜［００９６］，［０１０１］〜［０１０４］、図５，図１１等）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
近年、電力変換器等の制御装置ではＦＰＧＡを用いた制御が普及しつつあり、特に、電力変換器のスイッチング素子にＳｉＣ（炭化ケイ素）等の高速デバイスを用いて制御の高速化を図る場合には、演算処理部の動作検証に用いる出力信号の周期（検証周期）が制御周期に間に合わなくなっている。
特に、図５に示すごとく内部信号をシリアル出力させるようなシステムでは、被検証信号数の増加に伴って検証周期が長くなり、高速に変化する内部信号の過渡的な変化（異常値の発生）を見逃す可能性がある。
【０００９】
この場合、検証周期に合わせるために、内部信号を間引いて検証に用いると、内部信号の過渡的な変化を見逃すおそれがある。また、内部信号をメモリに全て記憶させ、その後に順次吐き出させて検証に用いることも考えられるが、メモリ容量が増大してコスト高になると共に、リアルタイム性が低下する等の問題がある。
【００１０】
そこで、本発明の解決課題は、演算処理部の内部信号のリアルタイム性を確保しつつ、内部信号の異常による過渡的な変化を遺漏なく検出して演算処理部の動作を確実に検証可能とした動作検証回路を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、請求項１に係る発明は、プログラマブル素子により構成される演算処理部の動作を検証する動作検証回路において、
所定の演算結果を内部信号として出力する前記演算処理部と、
前記内部信号のうち被検証回路の内部信号を選択して被検証データとして出力する第１の信号選択部と、
前記被検証データが保持され、この被検証データを前記演算処理部の演算周期以上の検証周期により更新して通常時データとして出力するレジスタと、
前記被検証データを期待値と比較して異常信号を検出した際に異常判定信号を生成する異常判定部と、
前記異常判定信号が存在する時に、前記検証周期の複数周期分にわたる信号であって前記異常信号を含む信号を抽出するためのアドレスを指令するデータ抽出指令部と、
前記被検証データのうち、前記データ抽出指令部により指令されたアドレスのデータを異常時データとして出力する異常保持用メモリと、
前記通常時データと前記異常時データとが入力され、前記異常判定信号が存在しない時に前記通常時データを選択し、前記異常判定信号が存在する時に前記異常時データを選択する第２の信号選択部と、
前記第２の信号選択部により選択された信号を変換して得た検証用出力信号に基づき、前記演算処理部の内部信号の正常・異常を検出して前記演算処理部の動作を検証する検証装置と、を備えたことを特徴とする。
【００１２】
請求項２に係る発明は、請求項１に記載した動作検証回路において、前記第２の信号選択部により選択された信号をパラレル・シリアル変換して前記検証用出力信号を生成する手段を備えたことを特徴とする。
【００１３】
請求項３に係る発明は、請求項２に記載した動作検証回路において、前記パラレル・シリアル変換の周期を前記検証周期として、前記レジスタに保持された被検証データを更新し、前記通常時データを生成することを特徴とする。
【００１４】
請求項４に係る発明は、請求項１〜３の何れか１項に記載した動作検証回路において、前記異常保持用メモリとして、小容量のリングバッファを用いたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、内部信号から異常を検出した際に検証周期の複数周期分にわたる異常時データを検証に用いるため、過渡的に発生した内部信号の異常を遺漏なく検出して演算処理部の動作検証精度を高めることができる。
また、異常保持用メモリは異常発生時の所定期間のデータのみを保持できれば足りるため、メモリ容量の少ないリングバッファを用いることによってコストの低減が可能である。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る動作検証回路の全体的な構成を示すブロック図である。
【図２】本発明の実施形態において、通常時の検証用出力信号を内部信号と共に示した図である。
【図３】本発明の実施形態において、異常時の検証用出力信号を内部信号と共に示した図である。
【図４】特許文献１における回路検証システムの一例を示す概略的な構成図である。
【図５】特許文献１における回路検証システムの他の例を示す概略的な構成図である。
【発明を実施するための形態】
【００１７】
以下、図に沿って本発明の実施形態を説明する。
図１は、この実施形態に係る動作検証回路の全体的な構成を示すブロック図である。図１において、図４，図５と同様に、１０は電力変換器等の制御対象、２０は制御対象１０の電圧、電流等を検出するセンサである。
また、３０は制御基板であり、この制御基板３０にはＦＰＧＡ６０が実装されている。更に、制御基板３０の外部には、検証装置としてのＰＣ（ローダ）５０が設けられている。
【００１８】
ＦＰＧＡ６０において、演算処理部６１は、センサ２０の出力信号に基づいて所定の制御演算を行い、適宜なインターフェイスを介して制御対象１０に対する制御動作を行う。
同時に、演算処理部６１による制御演算の結果は、内部信号Ｄ０としてマルチプレクサ等の第１の信号選択部６２に送られる。
信号選択部６２は、外部のＰＣ５０からの選択指令Ｓ２に従い、指定された被検証回路（例えば階層構造のうち最上層にある被検証回路）の内部信号Ｄ０を選択し、被検証データＤ１として出力する。この被検証データＤ１が入力されるブロックＡが、本実施形態における特徴的な構成である。
【００１９】
上記の被検証データＤ１は、レジスタ６３と、小容量のリングバッファからなる異常保持用メモリ６４と、異常判定部６５とに送出される。
レジスタ６３には、後段のパラレル・シリアル変換部６８から、検証周期（後述する検証用出力信号Ｄ４の周期であり、パラレル・シリアル変換周期に等しい）に同期した更新指令Ｓ１が入力されており、この更新指令Ｓ１に従ってサンプリングされ、保持されたレジスタ６３内のデータＤ１が、通常時データＤ２として出力されるようになっている。
【００２０】
異常判定部６５は、選択指令Ｓ２に応じて信号選択部６２から入力されたデータＤ１を期待値と比較する等の処理によって異常判定を常時行っている。この異常判定部６５がデータＤ１の異常を検出すると、異常判定信号Ｓ３をデータ抽出指令部６６と第２の信号選択部６７とに出力する。
【００２１】
データ抽出指令部６６は、異常判定信号Ｓ３が入力されると、異常保持用メモリ６４に対して保持データを抽出するためのアドレス指令Ｓ４を送出する。異常保持用メモリ６４には、検証周期の複数周期分のデータＤ１が保持されており、アドレス指令Ｓ４に従って、異常データを含む前後の複数周期分のデータＤ１を異常時データＤ３として出力する。
【００２２】
異常時データＤ３は、通常時データＤ２と共に信号選択部６７に入力されている。信号選択部６７では、通常時は通常時データＤ２を選択して出力しており、異常判定信号Ｓ３が入力された場合には異常時データＤ３を選択して出力するように動作する。
パラレル・シリアル変換部６８は、信号選択部６７から出力されたデータをパラレル・シリアル変換し、検証用出力信号Ｄ４として外部のＰＣ５０に出力する。
【００２３】
次に、図２，図３に従って本実施形態の動作を説明する。
図２は、通常時の検証用出力信号を内部信号と共に示した図である。ここで、内部信号Ｄ０は、信号選択部６２により選択して出力されたデータＤ１を概念的に示してあり、このデータがレジスタ６３に順次、保持される。なお、Δｔは演算処理部６１による内部信号の演算周期である。
【００２４】
レジスタ６３では、データＤ１を矢印のタイミングで間引いて更新（サンプリング）することにより、通常時データＤ２が生成され、この通常時データＤ２をパラレル・シリアル変換して得た検証周期（パラレル・シリアル変換周期）ｔ１の検証用出力信号Ｄ４がＰＣ５０に向けて出力される。ここで、検証周期ｔ１をできるだけ短くすれば、データＤ１（内部信号Ｄ０）をほぼリアルタイムに検証用出力信号Ｄ４として得ることが可能である。
ちなみに、図２では、検証周期ｔ１が演算周期Δｔの４倍である場合を想定している。
【００２５】
次に、図２による検証用出力信号Ｄ４のみを検証に用いる場合を想定すると、レジスタ６３が出力を更新するタイミングで発生した異常信号Ｄｘは、データＤｘ’として検証用出力信号Ｄ４に現れるため、ＰＣ５０による異常判定が可能である。しかし、上記のタイミング以外の期間で過渡的に発生した異常信号Ｄｙ，Ｄｚについては検証用出力信号Ｄ４に現われないため、ＰＣ５０はこれらの異常信号Ｄｙ，Ｄｚを見逃す恐れがある。
【００２６】
そこで、本実施形態では、図３に示す原理によって過渡的に発生した異常信号を確実に検出し、演算処理部６１の動作検証精度を向上させるようにした。
例えば、図１の異常判定部６５が、データＤ１に基づいて図３に示す異常信号Ｄａを検出したら、データ抽出指令部６６及び信号選択部６７に異常判定信号Ｓ３を出力する。データ抽出指令部６６は、異常判定信号Ｓ３が入力されると、異常信号Ｄａが保持されているアドレスの前後の複数のアドレスをアドレス指令Ｓ４により指定し、これらのアドレスに保持されている検証周期の複数周期分のデータを異常時データＤ３として信号選択部６７に出力する。
【００２７】
異常判定信号Ｓ３は信号選択部６７にも入力されているので、信号選択部６７では、異常判定信号Ｓ３の入力時に出力信号を通常時データＤ２から異常時データＤ３に切り替えるように動作し、この切替動作により選択された異常時データＤ３がパラレル・シリアル変換部６８に出力されてパラレル・シリアル変換される。
【００２８】
これにより、検証用出力信号Ｄ４には、図３の異常信号Ｄａに対応するデータＤａ’のほか、レジスタ６３が出力を更新するタイミング以外の期間で過渡的に発生した異常信号Ｄｂ，Ｄｃにそれぞれ対応するデータＤｂ’，Ｄｃ’も含まれることになる。従って、これらのデータＤｂ’，Ｄｃ’をＰＣ５０が観測することにより、検証周期ｔ１が演算周期Δｔより長い場合であっても、内部信号の異常を見逃さずに検出することができ、演算処理部６１の動作検証精度を高めることが可能になる。
【００２９】
なお、図３には、検証周期内において、内部信号Ｄ０（データＤ１）の平均値の２倍のレベルを併記してある。
すなわち、異常判定部６５に入力された内部信号Ｄ０（データＤ１）の平均値の、例えば２倍のレベルを異常判定部６５に閾値として設定しておき、内部信号Ｄ０がこの閾値を超えた場合に異常判定信号Ｓ３を発生させるようにしても良い。これにより、内部信号Ｄ０のレベルがノイズ等によって僅かに変動して上記閾値を超えない場合には異常判定信号Ｓ３を発生させないようにして、異常を誤検出するおそれをなくすことができる。
【産業上の利用可能性】
【００３０】
本発明は、ＦＰＧＡやＣＰＬＤ等のプログラマブル素子により構成される演算処理部の動作検証回路として利用することができる。
【符号の説明】
【００３１】
１０：制御対象
２０：センサ
３０：制御基板
５０：ＰＣ（ローダ）
６０：ＦＰＧＡ
６１：演算処理部
６２，６７：信号選択部
６３：レジスタ
６４：異常保持用メモリ 
６５：異常判定部
６６：データ抽出指令部
６８：パラレル・シリアル変換部
Ｓ１：更新指令
Ｓ２：選択指令
Ｓ３：異常判定信号（データ切替指令）
Ｓ４：アドレス指令
【図１】
2018106430.tif 000003
【図２】
2018106430.tif 000004
【図３】
2018106430.tif 000005
【図４】
2018106430.tif 000006
【図５】
2018106430.tif 000007