JP6842098B1 - デバッグ装置及びデバッグ方法 - Google Patents

デバッグ装置及びデバッグ方法 Download PDF

Info

Publication number
JP6842098B1
JP6842098B1 JP2020088322A JP2020088322A JP6842098B1 JP 6842098 B1 JP6842098 B1 JP 6842098B1 JP 2020088322 A JP2020088322 A JP 2020088322A JP 2020088322 A JP2020088322 A JP 2020088322A JP 6842098 B1 JP6842098 B1 JP 6842098B1
Authority
JP
Japan
Prior art keywords
event
rule
transition data
time interval
comparison
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
JP2020088322A
Other languages
English (en)
Other versions
JP2021182335A (ja
Inventor
南谷 淳一郎
淳一郎 南谷
Original Assignee
ベリフィケーションテクノロジー株式会社
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 ベリフィケーションテクノロジー株式会社 filed Critical ベリフィケーションテクノロジー株式会社
Priority to JP2020088322A priority Critical patent/JP6842098B1/ja
Application granted granted Critical
Publication of JP6842098B1 publication Critical patent/JP6842098B1/ja
Publication of JP2021182335A publication Critical patent/JP2021182335A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】デジタル回路を簡素な形態で効率的にデバッグするデバック装置を提供する。【解決手段】デバッグ装置1は、デジタル回路2から動作信号の変化をイベントとして検出するプローブ回路と、符号化回路と、処理回路と、を備える。符号化回路は、イベントを符号化してイベント符号化データを生成する。処理回路において、検出部は、イベント符号化データにおける今回イベントID及び前回イベントIDと時間間隔Tを検出し、今回イベントID、前回イベントID及び時間間隔Tを含むイベント遷移データを生成する。チェック部は、検出部により新たに生成されるイベント遷移データとルールRAMから読み出したルールとの比較処理によって比較結果を生成する。学習フェーズにおいては、比較結果に基づいてルールRAMへのイベント遷移データの記録の可否を判定し、運用フェーズにおいては、比較結果に基づいてデジタル回路が正常動作か異常動作かを判定する。【選択図】図1

Description

本発明は、デバック装置及びデバッグ方法に関する。
特許文献1は、デバッグのための論理検証装置を開示する。この論理検証装置は、基板上に実装され、動的に内部回路を書き換え可能なFPGAと、基板上に実装され、FPGAに対応してFPGAの内部回路を動的に再構成するデータとなるRTL及びラッパーRTLからなるコンフィグレーションデータが格納されるメモリと、基板上にFPGAに対応して実装され、FPGAに一意に対応するPLD識別情報をFPGAに対して出力する保持部と、基板上にFPGAに対応して実装され、PLD識別情報に基づくFPGAによる判定結果を出力する出力部とを備える。コンフィグレーションデータのラッパーRTLは、コンフィグレーションデータのRTLに一意に対応するRTL識別情報を有すると共に、RTL識別情報とPLD識別情報とを比較して相違の有無を判定する機能を有する。
特開2009−199425号公報
しかしながら、上記従来の技術ではFPGAと同じ基板上に実装された回路においてRTL(Register Transfer Level)情報とPLD(Programmable Logic Device)情報とが逐次比較され、装置構成が複雑化してしまう。一方、FPGAなどのデジタル回路には周期的な信号の入出力で動作する回路が多く、この周期性の利用によって装置構成を簡素化できる可能性がある。したがって、そのような周期的動作を実行するFPGAなどのデジタル回路を簡素な構成で効率的にデバッグする装置及び方法が望まれる。
そこで、本発明は、デジタル回路を簡素な形態で効率的にデバッグするデバック装置及びデバック方法を提供することを目的とする。
本発明には、以下の態様が含まれる。
〔態様1〕
デバッグ装置(1)であって、
デジタル回路(2)から動作信号の変化をイベントとして検出するプローブ回路(10)と、
前記イベントを符号化してイベント符号化データを生成する符号化回路(20)と、
前記イベント符号化データにおける今回のイベント(今回イベントID)、及び直前のイベント(前回イベントID)と該今回のイベントとの間の時間間隔(T)を検出し、前記今回イベントID、前記前回イベントID及び前記時間間隔(T)を含むイベント遷移データを生成する検出部(43)と、
前記イベント遷移データをルールとして記録するルールRAM(44)と、
前記検出部によって新たに生成されるイベント遷移データと前記ルールRAMから読み出したイベント遷移データ(以下「ルール」という。)との比較処理によって比較結果を生成し、学習フェーズにおいては前記比較結果に基づいて前記ルールRAMへの前記イベント遷移データの記録の可否を判定し、運用フェーズにおいては前記比較結果に基づいて前記デジタル回路の正常動作又は異常動作を判定するチェック部(45)と
を備えるデバッグ装置。
〔態様2〕
前記学習フェーズにおいて、前記チェック部は、前記比較処理を繰り返して実行し、前記比較処理の実行回数に基づく値Rを第1のカウンタ(47)に記憶させ、前記比較処理における前記イベント遷移データと前記ルールとの相違回数に基づく値Wを第2のカウンタ(48)に記憶させ、前記第1のカウンタの値に対する前記第2のカウンタの値の割合が閾値以下となる場合に前記ルールが適切であるとして前記学習フェーズを終了するように構成されている(S19、S20)、態様1に記載のデバッグ装置。
〔態様3〕
前記運用フェーズにおいて、前回イベントIDと今回イベントIDの組合せが前記ルールに存在しない場合(S12、No)、又は、前回イベントIDと今回イベントIDの組合せが前記ルールに存在するが該組合せに対する時間間隔が前記ルールと不一致である場合に(S14、No)、前記チェック部が前記デジタル回路の異常動作を特定する(S18)ように構成されている、態様2に記載のデバッグ装置。
〔態様4〕
前記ルールRAMに記録されたルールにおいて、同一の前回イベントIDと複数の今回イベントIDとの組み合わせ、同一の前回イベントIDと同一の今回イベントIDと複数の時間間隔(T)の組み合わせ、又は、複数の前回イベントIDと同一の今回イベントIDとの組み合わせのルールが存在する場合に、前記比較処理は、ルールの分岐を構成する全てのルールと前記検出部によって新たに生成されるイベント遷移データとの比較を実行する、態様2又は3に記載のデバッグ装置。
〔態様5〕
前記イベント遷移データが、前記時間間隔を示すインターバルフィールド(86)を含み、
前記チェック部は、前記比較処理において、前記時間間隔が相対的に短い場合には前記インターバルフィールドの全ビットについての比較に基づいて前記デジタル回路の正常動作又は異常動作を特定し、前記時間間隔が相対的に長い場合には前記インターバルフィールドの下位ビットを丸め処理して得られる残余のビットについての比較に基づいて前記デジタル回路の正常動作又は異常動作を特定するように構成されている、態様2から4のいずれか一項に記載のデバッグ装置。
〔態様6〕
デバッグ装置(1)により実行されるデバッグ方法であって、
前記デバッグ装置のプローブ回路(10)により、デジタル回路から動作信号の変化をイベントとして検出するステップと、
前記デバッグ装置の符号化回路(20)により、前記イベントを符号化してイベント符号化データを生成するステップと、
前記デバッグ装置の検出部(43)により、前記イベント符号化データにおける今回のイベント(今回イベントID)、及び直前のイベント(前回イベントID)と該今回のイベントとの間の時間間隔(T)を検出し、前記今回イベントID、前記前回イベントID及び前記時間間隔(T)を含むイベント遷移データを生成するステップと、
前記イベント遷移データに基づいて、ルールRAMに記録されたイベント遷移データ(以下「ルール」という。)を読み出すステップと、
前記デバッグ装置のチェック部(45)により、新たに検出されるイベント遷移データと前記ルールとの比較処理によって比較結果を生成し、学習フェーズにおいては前記比較結果に基づいて前記ルールRAMへのイベント遷移データの記録の可否を判定し、運用フェーズにおいては前記比較結果に基づいて前記デジタル回路の正常動作又は異常動作を判定するステップと
を備えるデバッグ方法。
〔態様7〕
前記学習フェーズにおいて、前記判定するステップは、前記比較処理を繰り返して実行し、前記比較処理の実行回数に基づく値Rを第1のカウンタ(47)に記憶させ、前記比較処理における前記イベント遷移データと前記ルールとの相違回数に基づく値Wを第2のカウンタ(48)に記憶させ、前記第1のカウンタの値に対する前記第2のカウンタの値の割合が閾値以下となる場合に前記ルールが適切であるとして前記学習フェーズを終了するステップを含む(S19、S20)、態様6に記載のデバッグ方法。
〔態様8〕
前記運用フェーズにおいて、前記判定するステップは、前回イベントIDと今回イベントIDの組合せが前記ルールに存在しない場合(S12、No)、又は、前回イベントIDと今回イベントの組合せが前記ルールに存在するが該組合せに対する時間間隔が前記ルールと不一致である場合に(S14、No)、前記デジタル回路の異常動作を特定するステップ(S18)を含む、態様7に記載のデバッグ方法。
〔態様9〕
前記ルールRAMに記録されたルールにおいて、同一の前回イベントIDと複数の今回イベントIDとの組み合わせ、同一の前回イベントIDと同一の今回イベントIDと複数の時間間隔(T)の組み合わせ、又は、複数の前回イベントIDと同一の今回イベントIDとの組み合わせのルールが存在する場合に、前記比較処理は、ルールの分岐を構成する全てのルールと前記検出部によって新たに生成されるイベント遷移データとの比較を実行する、態様7又は8に記載のデバッグ方法。
〔態様10〕
前記イベント遷移データが、前記時間間隔を示すインターバルフィールド(86)を含み、
前記比較処理は、前記時間間隔が相対的に短い場合には前記インターバルフィールドの全ビットについての比較に基づいて前記デジタル回路の正常動作又は異常動作を特定し、前記時間間隔が相対的に長い場合には前記インターバルフィールドの下位ビットを丸め処理して得られる残余のビットについての比較に基づいて前記デジタル回路の正常動作又は異常動作を特定するステップを含む、態様7から9のいずれか一項に記載のデバッグ方法。
本発明によると、デジタル回路を簡素な形態で効率的にデバッグするデバック装置及びデバック方法が実現される。
本発明の実施形態によるデバッグ装置のブロック図である。 本発明の実施形態によるデバック装置で使用されるデータフォーマットの一例を示す図である。 本発明の実施形態によるデバック装置で使用されるデータフォーマットの一例を示す図である。 本発明の実施形態における波形表示例を示す図である。 本発明の実施形態によるデバック装置で使用されるデータフォーマットの他の例を示す図である。 本発明の実施形態によるデバッグ方法の学習フェーズの処理を説明するフローチャートである。 本発明の実施形態によるデバッグ方法の運用フェーズの処理を説明するフローチャートである。
[実施形態]
図1に、本発明の実施形態によるデバッグ装置1のブロック図を示す。デバッグ装置1は、デバッグ対象となるデジタル回路2からの動作信号の入力を受け、表示装置3にデバッグ処理の結果を出力する。
なお、本実施形態では、デジタル回路2はFPGA(Field Programmable Gate Array)であるので、以下、デジタル回路2をFPGA2ともいう。FPGA2は、ある特定のシーケンスを反復して動作し得る。したがって、デバッグ装置1は、そのシーケンスの周期性に着目して学習フェーズにおいてデバッグ用のルールを作成及び学習し、その後の運用フェーズにおいて当該ルールに基づいてデバッグ処理を実行する。デバッグ装置1は、ハードウェア、又はソフトウェア、もしくはそれらの組合せからなり、例えば、デジタル回路2が実装されたFPGAや、パーソナルコンピュータ(PC)に組込み可能である。表示装置3は、パーソナルコンピューター(PC)などである。
デバッグ装置1は、プローブ回路10、符号化回路20、マルチプレクサ30、処理回路40及び入出力回路50を備える。処理回路40は、ハードウェアによって実現されてもよいし、デバッグ装置1にインストールされたソフトウェアによって実現されてもよい。
プローブ回路10は、複数のプローブP0〜Pmを含む。プローブP0〜Pmの各々は、FPGA2の対応する動作点に接続され、当該動作点の電圧である動作信号を受ける。そして、プローブP0〜Pmの各々は、各動作信号の変化をイベントとして検出する。なお、本開示において、プローブP0〜Pmを総称して又はいずれか1つ以上を代表してプローブPともいう。プローブ回路10で検出されたイベントのデータは、符号化回路20に出力される。
イベントの検出は、限定されるものではないが、動作信号が1ビット信号の場合における動作信号の立上りエッジ及び立下りエッジの一方若しくは両方に基づいて行われ、又は、動作信号がマルチビット信号の場合における動作信号の値に基づいて行われる。
例えば、動作信号が1ビット信号でかつイベントが立上りエッジ及び立下りエッジの一方に基づく場合、イベントは、1回の立上りエッジの発生、所定回数の立上りエッジの発生、1回の立下りエッジの発生、又は所定回数の立下りエッジの発生と定義され得る。
動作信号が1ビット信号でかつイベントが立上りエッジ及び立下りエッジの双方に基づく場合、イベントは、1回の立上りエッジのスキップ、1回の立下りエッジのスキップ、所定回数の立上りエッジのスキップ、又は所定回数の立下りエッジのスキップと定義され得る。
動作信号がマルチビット信号の場合、イベントは、マルチビット信号値が比較値と一致したこと又は一致しなかったことと定義され得る。あるいは、動作信号がマルチビット信号の場合、イベントは、マルチビット信号値が上限値以上若しくは未満となったこと、下限値以上若しくは未満となったこと、又は所定範囲内となったこと若しくは所定範囲外となったことと定義され得る。
符号化回路20は、複数のグループエンコーダGE0〜GEnを含む。本実施形態では、グループエンコーダGE0は、プローブP0〜P7に対応する。例えば、グループ数(n+1)が8であり、各グループエンコーダGEが8個のプローブPに対応する場合、プローブ数(m+1)は256となる。グループエンコーダGE0〜GEnの各々は、イベントを符号化してイベントデータを生成する。なお、本開示において、グループエンコーダGE0〜GEnを総称して又はいずれか1つを代表してグループエンコーダGEという。
マルチプレクサ30は、グループエンコーダGE0〜GEnによって符号化されたイベントデータを多重化し、多重化されたイベントデータを処理回路40に出力する。なお、グループ数(n+1)が1の場合には、マルチプレクサ30は省略されてもよい。
処理回路40は、処理部41及び記憶部42を含む。処理部41は、検出部43、ルールRAM(Random Access Memory)44、及びチェック部45を含む。なお、処理部41は、検出部43、ルールRAM44、及びチェック部45以外の一般的な機能(例えば、タイマ機能、通信制御機能など)も含む。例えば処理部41は、CPUであってもよい。また、検出部43とチェック部45の機能はそれぞれ厳密に別れている必要はなく、両者が他方の機能を兼ねるものであってもよい。また、処理部41は検出部43とチェック部45の機能を包含するものとして説明する。
記憶部42はデータなどを一時的に記憶するRAMなどの各種メモリを含む。記憶部42のRAMは、読出しカウンタ47(第1のカウンタ)及び書込みカウンタ48(第2のカウンタ)を含む。
検出部43は、イベントデータにおける所定のイベントの間の時間間隔を検出し、時間間隔を含むイベント遷移データを生成する。詳細には後述するように、イベント遷移データは、前回のイベント(例えば、直前のイベント)を検出したプローブPのID(以下「前回イベントID」という。)、今回のイベントを検出したプローブPのID(以下「今回イベントID」という。)、及び前回のイベントと今回のイベントとの間の時間間隔Tを含む。なお、前回イベントIDを「遷移元イベント」といい、今回イベントIDを「遷移先イベント」とも称する。なお、イベント遷移データは、前回イベントID、今回イベントID、及び前回のイベントと今回のイベントとの間の時間間隔Tに加え、前々回のイベントID及び前々回のイベントと前回のイベントとの間の時間間隔を含むようにしてもよい。
例えば、プローブP5が時刻t1においてイベントを検出し、その後の時刻t2においてプローブP0がイベントを検出した場合、時刻t2において生成されるイベント遷移データは、前回イベントID(P5)、今回イベントID(P0)、及び時間間隔T(=t2−t1)を含む。
図2Aに、イベント遷移データのフォーマットの一例を示す。イベント遷移データは、グループIDフィールド80(例えば、4ビット)、前回イベントIDフィールド82、今回イベントIDフィールド84(例えば、4〜8ビット)、及びインターバルフィールド86(例えば、24ビット)を含む。
グループIDフィールド80は、グループエンコーダGEを識別するグループIDを示す。今回イベントIDフィールド84は、イベントを検出したプローブPを識別するイベントIDを示す。前回イベントIDフィールド82は、前回にイベントを検出したプローブPを識別するイベントIDを示す。
インターバルフィールド86は、イベントの発生時刻の時間間隔Tを示すフィールドである。すなわち、インターバルフィールド86は、前回イベントIDの検出時刻と今回イベントIDの検出時刻の差分(時間間隔T)を示す。
例えば、プローブP5が時刻t1にイベントを検出し、その後の時刻t2にプローブP0がイベントを検出した場合、グループIDフィールド80はグループエンコーダGE0のIDを示し、前回イベントIDフィールド82はプローブP5のIDを示し、今回イベントIDフィールド84はプローブP0のIDを示し、インターバルフィールド86はt2−t1の値を示す。
ルールRAM44は、検出部43によって生成されたイベント遷移データをルールとして記録する。本発明では、ルールRAM44に記録されたイベント遷移データを単に「ルール」とも称する。ルールRAM44のアドレスは、グループIDと前回イベントIDから計算される。一例として、グループIDと前回イベントIDの値を連結して、そのままルールRAM44のアドレスとして使用できる。この場合、ルールRAM44に書き込むデータの例を図2Bに示す。グループIDと前回イベントIDで一対一に対応するアドレスに格納するので、書き込むデータは今回イベントIDフィールド84とインターバルフィールド86のみで良い。有効ビット88が0の場合にはそのイベント遷移データが無効であることが示され、有効ビットが1の場合にはそのイベント遷移データが有効であることが示される。
なお、ある遷移元イベントに対して発生し得る遷移先イベント、すなわち、ある前回イベントIDに対して発生し得る今回イベントIDのことを分岐ともいう。また、ある前回イベントに対して発生し得る今回イベントの総数を状態数といい、そのうちのルールに記憶される状態数のことを分岐数Nという(状態数=分岐数Nであり得る)。例えば、ルールに記憶される「前回イベントID→今回イベントID」の組合せとして、「P5→P0」、「P5→P2」、「P5→P4」及び「P5→P6」の4種類がある場合、分岐数Nは4となる。ルールRAMに記録可能な分岐数Nの上限は、ユーザ設定などによって予め設定される。これにより、ルールRAM44は、グループ数×プローブ数×分岐数Nに相当するアドレス数のイベント遷移データに関するルールを記憶することができる。この場合、ルールRAM44をアクセスする時のアドレスは、グループIDと前回イベントIDを連結した数値に分岐数Nを乗じて計算することができる。
ルールRAM44のアドレスの計算にはいくつかの方法が考えられ、グループIDと今回イベントIDを連結した数値に分岐数Nを乗じた結果を使う構成、もしくは、グループID、前回イベントID、今回イベントID、および時間間隔Tのうち任意のデータ並びにその他の情報(限定されないが、例えばデジタル回路1の動作状態を示すデータや、イベントの発生回数等のデータ)をもとに演算して求める方法も構成可能である。これらの場合はルールRAM44に記録するルールデータのフォーマットやアルゴリズムの一部が変更になる可能性がある。限定されないが、アドレスの計算の例として、グループIDとそれに関連した係数とをテーブルに予め書き込んでおき、グループIDの値で該テーブルを参照し、読みだした対応する係数を使用して、アドレスを計算するようにしてもよい。
チェック部45は、検出部43によって新たに検出及び生成されるイベント遷移データとルールRAM44から読み出したルールとを比較して比較結果を出力する。
具体的には、チェック部45は、新たに生成されたイベント遷移データにおけるグループIDと前回イベントIDとを連結した数値に分岐数Nを乗じて計算した値をアドレスとし、そのアドレスから連続したN個のルールをルールRAM44から読み出す。新たに生成されたイベント遷移データにおける今回イベントID及び時間間隔Tと、N個の全てのルール中の今回イベントID及び時間間隔Tとを比較する。ルールRAM44をアクセスするアドレスとグループIDと前回イベントIDは一対一に対応するため、グループIDと前回イベントIDの一致も同時に比較していることになる。
前回イベントIDと今回イベントID及び時間間隔Tの双方が、新たに生成されたイベント遷移データとルールRAM44から読み出されたルールとの間で一致する場合には比較結果は「一致」を示し、それ以外の場合には比較結果は「不一致」を示す。ここで、ある前回イベントに対していずれかの分岐(複数の今回イベント)について比較結果が一致を示す場合、チェック部45は一致を示す比較結果を生成する。一方、ある前回イベントに対していずれの分岐(今回イベント)についても比較結果が不一致を示す場合、チェック部45は不一致を示す比較結果を生成する。なお、時間間隔Tの比較については後述する。
学習フェーズでは、チェック部45は、上記比較結果に基づいてルールRAM44へのイベント遷移データの書き込みの可否を判定する。不一致の場合、新たに生成されたイベント遷移データがルールRAM44に記録されていないことを意味するので、新たに生成されたイベント遷移データをルールRAM44に書き込む。新たに生成されたイベント遷移データにおけるグループIDと前回イベントIDとを連結した数値に分岐数Nを乗じて計算した値をアドレスとし、そのアドレスから連続したN個のアドレスのうち、有効ビットが0になっているアドレスにイベント遷移データを書き込む。図2Bに示すとおり、今回イベントID、インターバル(時間間隔T)、及び有効ビット(値は1)のデータを含むイベント遷移データ(ルール)がルールRAM44に書き込まれる。
具体的には、チェック部45は、比較処理を繰り返し実行し、比較回数に基づく値Rを読出しカウンタ47に記憶させ(記憶値を増分し)、比較処理におけるイベント遷移データとルールとの相違回数に基づく値Wを書込みカウンタ48に記憶させる(記憶値を増分する)。そして、チェック部45は、値Rに対する値Wの割合が閾値以下である場合にルールが適切であると判定して学習フェーズを終了させる。
一方、チェック部45は、値Rに対する値Wの割合が閾値を超える場合にルールが不適であることを判定する。例えば、値Rを1000、閾値を5とすることができるが、両数値はこれに限定されない。ルールが不適となる場合とは、例えば、設定された分岐数Nが、現実に発生する状態数よりも小さい場合が挙げられる。あるいは、詳細を後述するように時間間隔Tの比較における誤差の許容範囲が狭すぎる場合が挙げられる。この場合、ユーザは、より大きな分岐数Nを再設定し、又は誤差の許容範囲を拡げ、学習フェーズを再度実行することができる。
運用フェーズでは、チェック部45は、比較結果に基づいてFPGA2の正常動作又は異常動作を判定する。すなわち、チェック部45は、FPGA2の運用中において、比較結果が一致を示し続ける場合にはFPGA2の動作は正常であると判定し、比較結果が不一致を示した場合にはFPGA2の動作に異常があると判定する。
ここで、時間間隔Tの比較には種々の手法が用いられ得る。説明の便宜上、新たに検出されるイベント遷移データのインターバルフィールドを検出インターバルフィールドといい、ルールRAM44から読み出されるインターバルフィールドをルールインターバルフィールドという。
第1の手法は、検出インターバルフィールドの全ビットとルールインターバルフィールドの全ビットとを比較するものである。検出インターバルフィールドの全ビットとルールインターバルフィールドの全ビットとが同一である場合には比較結果は一致を示し、それ以外の場合には比較結果は不一致を示す。
第2の手法は、検出インターバルフィールドの下位ビット及びルールインターバルフィールドの下位ビットをそれぞれ丸め処理し、実質的に残余の上位ビット同士を比較するものである。検出インターバルフィールド及びルールインターバルフィールドの双方の残余の上位ビットが同一である場合には比較結果は一致を示し、それ以外の場合には比較結果は不一致を示す。これは、FPGA2は同じ動作を反復していてもその動作に若干のばらつきが発生する可能性があるため、そのばらつきを許容するものである。なお、本開示において、丸め処理は、四捨五入、切捨て、又は切上げなどである。
第3の手法は、検出インターバルフィールドの値とルールインターバルフィールドの値との間の誤差を判定するものである。検出インターバルフィールドの値とルールインターバルフィールドの値の差分が所定範囲内である場合に、比較結果は一致を示し、それ以外の場合には比較結果は不一致を示す。この手法も、FPGA2の動作におけるばらつきを誤差として許容するものである。
第4の手法は、検出インターバルフィールドの値及びルールインターバルフィールドの値の大きさに応じて比較対象ビットを変更するものである。双方のインターバルフィールドの値が比較的小さい場合(時間間隔Tが比較的短い場合)には、第1の手法と同様に、検出インターバルフィールドの全ビットとルールインターバルフィールドの全ビットとが比較される。そして、検出インターバルフィールドの全ビットとルールインターバルフィールドの全ビットとが同一である場合には比較結果は一致を示し、それ以外の場合には比較結果は不一致を示す。一方、双方のインターバルフィールドの値が比較的大きい場合(時間間隔Tが比較的長い場合)には、第2の手法と同様に、検出インターバルフィールドの下位ビット及びルールインターバルフィールドの下位ビットがそれぞれ丸め処理され、残りの上位ビット同士が比較される。そして、検出インターバルフィールド及びルールインターバルフィールドの双方の残余の上位ビットが同一である場合には比較結果は一致を示し、それ以外の場合には比較結果は不一致を示す。
具体的には、第4の手法では、インターバルフィールド86は、仮数部ビット及び指数部ビットからなる浮動小数点数で構成される。基数は、例えば2であり、インターバルフィールド86は符号部ビットを含んでいてもよいが、本実施形態では正の値のみが扱われるので、符号部ビットは省略され得る。なお、チェック部45は、仮数部ビットをオーバフローする部分に対して丸め処理を行い、検出インターバルフィールド及びルールインターバルフィールドの仮数部及び指数部をそれぞれ比較する。検出インターバルフィールドの仮数部及び指数部とルールインターバルフィールドの仮数部及び指数部とがそれぞれ同一である場合には比較結果は一致を示し、それ以外の場合には比較結果は不一致を示す。
この第4の手法は、時間間隔Tが短い場合にはFPGA2内部の局所的な信号変化を検出し、時間間隔Tが長い場合にはソフトウェアも介在するようなシステムレベルの信号変化でのばらつきを検出するものである。すなわち、時間間隔Tが比較的短い場合にはFPGA2内部の局所的な信号変化を正確に検出し、時間間隔Tが比較的長い場合にはFPGA2を含むシステムレベルの信号変化を少ない処理負荷で検出することができる。このように、桁又は単位が大きく異なる広範囲の時間間隔に対しても適切な比較処理が実行され得る。
入出力回路50は、外部装置との信号の入出力を行うためのインターフェース回路である。例えば、入出力回路50は、外部装置(例えば、デバッグ装置1が実装されたPCのCPUなど)からイネーブル信号などの制御信号の入力又は解除を受け付ける。制御信号は、学習フェーズの開始又は終了、運用フェーズの開始又は終了などを処理回路40に対して指示する信号である。また、入出力回路50は、マルチプレクサ30から処理回路40への入力信号又は処理回路40からの出力信号から特定の信号(例えば、特定のイベントを示す信号)を検出することもできる。これにより、入出力回路50は、特定のイベントに応じて、学習フェーズの開始又は終了、運用フェーズの開始又は終了などを処理回路40に対して指示し得る。また、入出力回路50は、処理回路40からの出力信号を受けて、表示装置3に表示出力信号を出力する。例えば、図3に示すように、表示装置3には、学習フェーズ又は運用フェーズにおいて処理部41(チェック部45)によって処理される波形チャート、判定結果などが表示される。
図3に、波形チャートの表示例を示す。図3では、プローブP0〜P7の周期的なイベント遷移が例示される。ここで、ルールRAM44には、P7→P2が時間間隔T1で発生することが書き込まれている(分岐数N=1)。
時刻t11→t12においては、ルール通りにP7→P2の遷移が時間間隔T1で発生し、時刻t21→t22においてもルール通りにP7→P2の遷移が時間間隔T1で発生している。したがって、チェック部45は、比較結果の一致を判定する。一方、時刻t31→t32においては、P7→P5の遷移が発生している。これは、ルールRAM44に書き込まれていない遷移であり、チェック部45は、比較結果の不一致を判定する(エラー表示Er1)。
また、時刻t41→t42においては、P7→P2の遷移が発生しているが時間間隔はT2(≠T1)となっている。これも、ルールRAM44に書き込まれていない遷移であり、チェック部45は、比較結果の不一致を判定する(エラー表示Er2)。なお、表示装置3への表示態様は、図3に示すものに限られない。
図4に、ルールRAM44におけるルールデータのフォーマットの他の例を示す。ルールデータは、予約フィールド81、モードフィールド83、今回イベントIDフィールド84、インターバルフィールド86及び有効ビット88を含む。すなわち、本例のルールデータには、図2Bのルールデータに対して、モードフィールド83(例えば、2ビット)が追加されている。他のフィールドは、図2のものと同様である。
チェック部45は、モードフィールド83によってルール一致モード又はルール不一致モードを切り替えることができる。モードフィールド83がルール一致モードを示す場合、検出部43によって生成されるイベント遷移データがルールRAM44におけるルールに一致する場合にトリガを出力する。一方、チェック部45は、モードフィールド83がルール不一致モードを示す場合、検出部43によって生成されるイベント遷移データがルールRAM44におけるルールに一致しない場合にトリガを出力する。このトリガに応じて、入出力回路50を介して表示装置3に対応の比較結果が表示される。
図5及び図6に、本実施形態によるデバッグ方法のフローチャートを示す。本デバッグ方法は、図5に示す学習フェーズの処理及び図6に示す運用フェーズの処理を含む。ただし、学習フェーズの処理と運用フェーズの処理とは独立して実行されてもよいし、学習フェーズの処理(ステップS23)の直後に運用フェーズの処理(ステップS31)が連続して実行されてもよい。
まず、図5の学習フェーズの処理を説明する。
ステップS1において、処理部41(検出部43)が、新たなイベントが検出されたか否かを判定する。イベントが検出されると(ステップS1、Yes)、処理はステップS2に進む。
ステップS2において、処理部41(検出部43)が、イベント(今回イベントID)と前回イベントからの時間間隔Tを検出する。
ステップS3において、処理部41(検出部43)が、前回イベントIDとステップS2で検出した今回イベントIDとを組み合わせて、前回イベントID、今回イベントID、及びこれらの時間間隔Tを含むイベント遷移データを生成する。
ステップS4において、処理部41が、読出しカウンタ47の値である読出し回数R(初期値=0)を増分する。
ステップS5において、処理部41が、読出し回数Rが規定値に達したか否かを判定する。読出し回数Rが規定値に達していない場合(ステップS5、No)、処理はステップS6に進み、読出し回数Rが規定値に達した場合(ステップS5、Yes)、処理はステップS19に進む。
ステップS6において、処理部41は、書き込み先のルールRAM44のアドレスを決定する。書き込み先のルールRAM44のアドレスは、前述のとおりグループIDと前回イベントIDから計算される。
ステップS7において、処理部41は、ステップS6で決定したルールRAM44のアドレスからルールとしてのイベント遷移データ(ルール)を読み出す。
ステップS8において、処理部41は、ステップS7で読みだしたイベント遷移データ(ルール)中の有効ビット88が1(有効)であるか否かを判定する。有効ビット88が0(無効)である場合(ステップS8、No)、このデータには今回イベントIDと時間間隔Tが書き込まれていない。すなわち、前回イベントIDから今回イベントIDへの遷移は初めて検出されたことになる(なお、初回ループでは有効ビット88は必ず0となる)。そして、処理は、ステップS9に進む。
ステップS9において、処理部41は、ルールRAM44において、ステップS6で決定したルールRAM44のアドレスに対応するイベント遷移データ(ルール)に対して、前回イベントID、今回イベントID及び時間間隔Tを書き込み、その有効ビット88を1に設定する。
ステップ10において、処理部41は、書込みカウンタ48の値である書込み回数W(初期値=0)を増分し、処理はステップS1に戻る。
一方、ステップS8において、ステップS7で読みだしたイベント遷移データ(ルール)中の有効ビット88が1(有効)である場合、このイベント遷移データには今回イベントIDと時間間隔Tが既に書き込まれている。すなわち、前回イベントIDから今回イベントIDへの遷移は以前に検出されていることになる。そして、処理は、ステップS11に進む。
ステップS11において、処理部41(チェック部45)は、ステップS3において生成されたイベント遷移データのイベントID(今回イベントID及び前回イベントID)と、ステップS7で読みだしたイベント遷移データ(ルール)のイベントID(ルールRAM44に書き込まれていた今回イベントID及び前回イベントID)とを比較する。
ステップS12において、処理部41(チェック部45)はステップS11における比較の結果が一致を示すか否かを判定する。ステップS12において、比較結果が一致を示す場合(ステップS12、Yes)、処理はステップS13に進む。一方、比較結果が不一致を示す場合(ステップS12、No)、処理はステップS15に進む。
ステップS13において、処理部41(チェック部45)は、ステップS3において生成されたイベント遷移データの時間間隔Tと、ステップS7で読みだしたイベント遷移データ(ルール)の時間間隔T(ルールRAM44に書き込まれていた時間間隔T)とを比較する。
ステップS14において、処理部41(チェック部45)はステップS11における比較の結果が一致を示すか否かを判定する。ステップS14において、比較結果が一致を示す場合(ステップS14、Yes)、処理はステップS1に戻る。一方、比較結果が不一致を示す場合(ステップS14、No)、処理はステップS15に進む。
ステップS15において、処理部41は、比較の繰返し回数である繰返し回数Rp(初期値=1)を増分する。
ステップS16において、処理部41は、繰返し回数Rpが分岐数N以下であるか否かを判定する。繰返し回数Rpが分岐数N以下である場合(ステップS16、Yes)、処理はステップS17に進む。一方、繰返し回数Rpが分岐数Nを超える場合(ステップS16、No)、処理はステップS18に進む。
ステップS17において、処理部41(チェック部45)は、ルールRAM44における読出しアドレスを増分し、処理はステップS7に戻る。
ステップS18において、処理部41(チェック部45)は、エラーの発生を特定し、例えば、入出力回路50を介して表示装置3にエラー表示を行う。
ステップS19において、処理部41(チェック部45)は、読出し回数Rに対する書込み回数Wの割合が閾値以下であるか否か(すなわち、読出し回数Rに対する書込み回数Wの割合)を判定する。該割合が閾値以下である場合(ステップS19、Yes)、処理部41(チェック部45)は、ルールの精度が充分に高くなったと判断して、すなわち、不一致率が充分に低くなったと判断して、ステップS20にて学習フェーズの処理を終了する。
一方、書込み回数Wが閾値を超える場合(ステップS19、No)、処理部41(チェック部45)はルール抽出が不十分であると判定し、ステップS21において読出しカウンタ47の読出し回数R及び書込みカウンタ48の書込み回数Wをクリアする(R=0、W=0に設定)。その後、処理はステップS1に戻る。
次に、図6の運用フェーズの処理について説明する。
ステップS31において、処理部41(検出部43)が、新たなイベントが検出されたか否かを判定する。イベントが検出されないと(ステップS31、No)、処理はステップS32に進まない。
ステップS32において、処理部41(検出部43)がイベント(今回イベントID)及び前回イベントからの時間間隔Tを検出する。
ステップS33において、処理部41(検出部43)が、前回イベントIDとステップS32で検出した今回イベントIDとを組み合わせて、前回イベントID、今回イベントID、及びこれらの時間間隔Tを含むイベント遷移データを生成する。
ステップS34において、処理部41は、読み取り先のルールRAM44のアドレスを決定する。ルールRAM44のアドレスは、前述のとおりグループIDと前回イベントIDから計算される。
ステップS35において、処理部41は、ステップS34で決定したルールRAM44のアドレスからイベント遷移データ(ルール)を読み出す。
ステップS36において、処理部41(チェック部45)は、ステップS35で読みだしたイベント遷移データ(ルール)の有効ビット88が1(有効)であるか否かを判定する。有効ビット88が1(有効)である場合(ステップS36、Yes)、処理はステップS37に進み、0(無効)である場合(ステップS36、No)、処理はステップS44に進む。
ステップS44において、処理部41は異常動作の発生を特定する。すなわち、処理部41は、FPGA2における信号変化について誤動作を検出したことになり、例えば、入出力回路50を介して表示装置3にエラー表示を行う。
ステップS37〜S43はそれぞれ、図5のステップS11〜17における処理と同様である。
ステップS37において、処理部41(チェック部45)は、ステップS33において生成されたイベント遷移データのイベントID(今回イベントID及び前回イベントID)と、ステップS35で読みだしたイベント遷移データ(ルール)のイベントID(ルールRAM44に書き込まれていた今回イベントID及び前回イベントID)とを比較する。
ステップS38において、処理部41(チェック部45)はステップS37における比較の結果が一致を示すか否かを判定する。ステップS38において、比較結果が一致を示す場合(ステップS38、Yes)、処理はステップS39に進む。一方、比較結果が不一致を示す場合(ステップS38、No)、処理はステップS41に進む。
ステップS39において、処理部41(チェック部45)は、ステップS33において生成されたイベント遷移データの時間間隔Tと、ステップS35で読みだしたイベント遷移データ(ルール)の時間間隔T(ルールRAM44に書き込まれていた時間間隔T)とを比較する。
ステップS40において、処理部41(チェック部45)はステップS39における比較の結果が一致を示すか否かを判定する。ステップS40において、比較結果が一致を示す場合(ステップS40、Yes)、処理はステップS31に戻る。一方、比較結果が不一致を示す場合(ステップS40、No)、処理はステップS41に進む。
ステップS41において、処理部41は、比較の繰返し回数である繰返し回数Rp(初期値=1)を増分する。
ステップS42において、処理部41は、繰返し回数Rpが分岐数N以下であるか否かを判定する。繰返し回数Rpが分岐数N以下である場合(ステップS42、Yes)、処理はステップS43に進む。一方、繰返し回数Rpが分岐数Nを超える場合(ステップS42、No)、処理はステップS44に進む。
ステップS43において、処理部41(チェック部45)は、ルールRAM44における読出しアドレスを増分し、処理はステップS35に戻る。
なお、図5及び6の学習フェーズ及び運用フェーズにおいて、N個のルールRAM44が順次処理される構成を示したが、N個のルールRAM44が同時に読み出されてそれらに対する比較が並列に実行されてもよい。また、学習フェーズ又は運用フェーズは、所定の制御信号(イネーブル信号など)が入出力回路50を介して処理回路40に入力されたことに応じて、又は所定の入力信号(所定のイベントなど)がマルチプレクサ30から処理回路40に入力されたことに応じて、開始又は終了され得るようにしてもよい。あるいは、運用フェーズは、学習フェーズの終了に応じて開始されてもよい。
以上のように、本実施形態のデバッグ装置1は、デジタル回路(FPGA)2から動作信号の変化をイベントとして検出するプローブ回路10と、イベントを符号化してイベント符号化データを生成する符号化回路20と、イベント符号化データにおける所定のイベントの間の時間間隔を検出し、前回イベントID、今回イベントID及びそれらの時間間隔Tを含むイベント遷移データを生成する検出部43と、イベント遷移データをルールとして記録するルールRAM44と、検出部43によって新たに検出されるイベント遷移データとルールとの比較処理P10によって比較結果を生成し、学習フェーズにおいては比較結果に基づいてルールRAM44へのルールの記録の可否を判定し、運用フェーズにおいては比較結果に基づいてデジタル回路2の正常動作又は異常動作を判定するチェック部45とを備える。
このように、デバッグ装置1では、イベント符号化データにおける所定のイベントの間の時間間隔が検出され、イベント遷移データをルールRAM44に記録し、新たに検出されるイベント遷移データとルールとが比較されて比較結果が生成される。そして、学習フェーズにおいては比較結果に基づいてルールRAM44へのルールの記録の可否が判定され、運用フェーズにおいては比較結果に基づいてデジタル回路2の正常動作又は異常動作が判定される。このような構成により、デジタル回路2を簡素な形態で効率的にデバッグするデバック装置1及びデバック方法が実現される。特に、周期的動作を実行するFPGAなどにおいて、デバック処理が効率化される。
また、学習フェーズにおいて、チェック部45は、比較処理P10を繰り返して実行し、比較処理P10の実行回数に基づく値Rを読出しカウンタ47に記憶させ、比較処理P10におけるイベント遷移データとルールとの相違回数に基づく値Wを書込みカウンタ48に記憶させ、値Rに対する値Wの割合が閾値以下となる場合にルールが適切であるとして学習フェーズを終了する。このように、学習フェーズにおいて比較結果の不一致率(又は一致率)に応じてルールの妥当性が判定されるので、運用フェーズにおける正常動作/異常動作の判定精度が向上する。
また、運用フェーズにおいて、検出部43によって検出された前回イベント(遷移元イベント)と今回イベント(遷移先イベント)の組合せがルールに存在しない場合、又は検出部43によって検出された前回イベント(遷移元イベント)と今回イベント(遷移先イベント)の組合せがルールに存在する場合であってその組合せに対する時間間隔がルールと不一致である場合に、チェック部45がデジタル回路2の異常動作を特定する。このように、前回イベント(遷移元イベント)と今回イベント(遷移先イベント)の組合せの存否及び/又は時間間隔の一致の有無に応じて異常動作が判定されるので、デバッグ処理が効率化される。
また、ルールRAM44に記録されたルールが同一の前回イベント(遷移元イベント)から複数の今回イベント(遷移先イベント)もしくは複数の時間間隔のルールが存在する場合(ルールに分岐が存在する場合)に、比較処理は、ルールの分岐を構成する全ての(分岐数N個分の)ルール(遷移先イベントと時間間隔)とイベント遷移データとの比較を実行する。このように、信号変化の状態数に応じた分岐数Nについて比較が実行されるので、種々の状態数を有する動作信号に対応したデバッグ装置1が実現される。
また、イベント遷移データが、時間間隔を示すインターバルフィールド86を含み、チェック部45は、比較処理P10において、時間間隔が相対的に短い場合にはインターバルフィールド86の全ビットについての比較に基づいてデジタル回路2の正常動作又は異常動作を特定し、時間間隔が相対的に長い場合にはインターバルフィールド86の下位ビットを丸め処理して得られる残余のビットについての比較に基づいてデジタル回路2の正常動作又は異常動作を特定する。広範囲の時間間隔に対して適切な比較処理が実行され得る。
[変形実施形態]
以上に本発明の好適な実施形態を示したが、本発明は、例えば以下に示すように種々の態様に変形可能である。
例えば、上記実施形態では、デバッグ対象のデジタル回路2の一例としてFPGAを示したが、デジタル回路2は、デジタル信号(パルス信号)に基づく処理を実行する回路であれば、他の種類の回路であってもよい。例えば、デジタル回路2は、ユーザによるプログラミングを前提としない場合にはASIC(Application Specific Integrated Circuit)であってもよい。また、デバッグ装置1をデジタル回路2の中に組み込んで、デジタル回路2のデバッグ処理を行うようにしてもよい。
また、表示装置3は、PCではなくタブレット又はスマートフォンであってもよい。この場合、入出力回路50は、3G、4G、LTE、Wi−Fi(登録商標)などの無線通信機能を備える。また、デバッグ装置1は、エラー表示を示す信号を、表示装置3ではなくデジタル回路2へ入力するようにしてもよい。
1 デバッグ装置
2 デジタル回路(FPGA)
3 表示装置
10 プローブ回路
20 符号化回路
30 マルチプレクサ
40 処理回路
41 処理部
42 記憶部
43 検出部
44 ルールRAM
45 チェック部
47 読出しカウンタ
48 書込みカウンタ
50 入出力回路

Claims (10)

  1. デバッグ装置(1)であって、
    デジタル回路(2)から動作信号の変化をイベントとして検出するプローブ回路(10)と、
    前記イベントを符号化してイベント符号化データを生成する符号化回路(20)と、
    前記イベント符号化データにおける今回のイベント(今回イベントID)、及び直前のイベント(前回イベントID)と該今回のイベントとの間の時間間隔(T)を検出し、前記今回イベントID、前記前回イベントID及び前記時間間隔(T)を含むイベント遷移データを生成する検出部(43)と、
    前記イベント遷移データをルールとして記録するルールRAM(44)と、
    前記検出部によって新たに生成されるイベント遷移データと前記ルールRAMから読み出したイベント遷移データ(以下「ルール」という。)との比較処理によって比較結果を生成し、学習フェーズにおいては前記比較結果に基づいて前記ルールRAMへの前記イベント遷移データの記録の可否を判定し、運用フェーズにおいては前記比較結果に基づいて前記デジタル回路の正常動作又は異常動作を判定するチェック部(45)と
    を備えるデバッグ装置。
  2. 前記学習フェーズにおいて、前記チェック部は、前記比較処理を繰り返して実行し、前記比較処理の実行回数に基づく値Rを第1のカウンタ(47)に記憶させ、前記比較処理における前記イベント遷移データと前記ルールとの相違回数に基づく値Wを第2のカウンタ(48)に記憶させ、前記第1のカウンタの値に対する前記第2のカウンタの値の割合が閾値以下となる場合に前記ルールが適切であるとして前記学習フェーズを終了するように構成されている(S19、S20)、請求項1に記載のデバッグ装置。
  3. 前記運用フェーズにおいて、前記チェック部は、前回イベントIDと今回イベントIDの組合せが前記ルールに存在しない場合(S12、No)、又は、前回イベントIDと今回イベントIDの組合せが前記ルールに存在するが該組合せに対する時間間隔が前記ルールと不一致である場合に(S14、No)、前記デジタル回路の異常動作を特定する(S18)ように構成されている、請求項2に記載のデバッグ装置。
  4. 前記ルールRAMに記録されたルールにおいて、同一の前回イベントIDと複数の今回イベントIDとの組み合わせ、又は、同一の前回イベントIDと同一の今回イベントIDと複数の時間間隔(T)の組み合わせのルールが存在する場合に、前記比較処理は、ルールの分岐を構成する全てのルールと前記検出部によって新たに生成されるイベント遷移データとの比較を実行する、請求項2又は3に記載のデバッグ装置。
  5. 前記イベント遷移データが、前記時間間隔を示すインターバルフィールド(86)を含み、
    前記チェック部は、前記比較処理において、前記時間間隔が相対的に短い場合には前記インターバルフィールドの全ビットについての比較に基づいて前記デジタル回路の正常動作又は異常動作を特定し、前記時間間隔が相対的に長い場合には前記インターバルフィールドの下位ビットを丸め処理して得られる残余のビットについての比較に基づいて前記デジタル回路の正常動作又は異常動作を特定するように構成されている、請求項2から4のいずれか一項に記載のデバッグ装置。
  6. デバッグ装置(1)により実行されるデバッグ方法であって、
    前記デバッグ装置のプローブ回路(10)により、デジタル回路から動作信号の変化をイベントとして検出するステップと、
    前記デバッグ装置の符号化回路(20)により、前記イベントを符号化してイベント符号化データを生成するステップと、
    前記デバッグ装置の検出部(43)により、前記イベント符号化データにおける今回のイベント(今回イベントID)、及び直前のイベント(前回イベントID)と該今回のイベントとの間の時間間隔(T)を検出し、前記今回イベントID、前記前回イベントID及び前記時間間隔(T)を含むイベント遷移データを生成するステップと、
    前記イベント遷移データに基づいて、ルールRAMに記録されたイベント遷移データ(以下「ルール」という。)を読み出すステップと、
    前記デバッグ装置のチェック部(45)により、新たに検出されるイベント遷移データと前記ルールとの比較処理によって比較結果を生成し、学習フェーズにおいては前記比較結果に基づいて前記ルールRAMへのイベント遷移データの記録の可否を判定し、運用フェーズにおいては前記比較結果に基づいて前記デジタル回路の正常動作又は異常動作を判定するステップと
    を備えるデバッグ方法。
  7. 前記学習フェーズにおいて、前記判定するステップは、前記比較処理を繰り返して実行し、前記比較処理の実行回数に基づく値Rを第1のカウンタ(47)に記憶させ、前記比較処理における前記イベント遷移データと前記ルールとの相違回数に基づく値Wを第2のカウンタ(48)に記憶させ、前記第1のカウンタの値に対する前記第2のカウンタの値の割合が閾値以下となる場合に前記ルールが適切であるとして前記学習フェーズを終了するステップを含む(S19、S20)、請求項6に記載のデバッグ方法。
  8. 前記運用フェーズにおいて、前記判定するステップは、前回イベントIDと今回イベントIDの組合せが前記ルールに存在しない場合(S12、No)、又は、前回イベントIDと今回イベントの組合せが前記ルールに存在するが該組合せに対する時間間隔が前記ルールと不一致である場合に(S14、No)、前記デジタル回路の異常動作を特定するステップ(S18)を含む、請求項7に記載のデバッグ方法。
  9. 前記ルールRAMに記録されたルールにおいて、同一の前回イベントIDと複数の今回イベントIDとの組み合わせ、又は、同一の前回イベントIDと同一の今回イベントIDと複数の時間間隔(T)の組み合わせのルールが存在する場合に、前記比較処理は、ルールの分岐を構成する全てのルールと前記検出部によって新たに生成されるイベント遷移データとの比較を実行する、請求項7又は8に記載のデバッグ方法。
  10. 前記イベント遷移データが、前記時間間隔を示すインターバルフィールド(86)を含み、
    前記比較処理は、前記時間間隔が相対的に短い場合には前記インターバルフィールドの全ビットについての比較に基づいて前記デジタル回路の正常動作又は異常動作を特定し、前記時間間隔が相対的に長い場合には前記インターバルフィールドの下位ビットを丸め処理して得られる残余のビットについての比較に基づいて前記デジタル回路の正常動作又は異常動作を特定するステップを含む、請求項7から9のいずれか一項に記載のデバッグ方法。
JP2020088322A 2020-05-20 2020-05-20 デバッグ装置及びデバッグ方法 Active JP6842098B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020088322A JP6842098B1 (ja) 2020-05-20 2020-05-20 デバッグ装置及びデバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020088322A JP6842098B1 (ja) 2020-05-20 2020-05-20 デバッグ装置及びデバッグ方法

Publications (2)

Publication Number Publication Date
JP6842098B1 true JP6842098B1 (ja) 2021-03-17
JP2021182335A JP2021182335A (ja) 2021-11-25

Family

ID=74860710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020088322A Active JP6842098B1 (ja) 2020-05-20 2020-05-20 デバッグ装置及びデバッグ方法

Country Status (1)

Country Link
JP (1) JP6842098B1 (ja)

Also Published As

Publication number Publication date
JP2021182335A (ja) 2021-11-25

Similar Documents

Publication Publication Date Title
US5233610A (en) Semiconductor memory device having error correcting function
KR100632952B1 (ko) 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치
CN102405598B (zh) 可编程crc单元
JP3234130B2 (ja) 誤り訂正符号復号化方法およびこの方法を用いる回路
EP3428665B1 (en) Fault detection in registers
KR101852919B1 (ko) 에러 정정 능력을 테스트하기 위한 회로 및 방법
US3911261A (en) Parity prediction and checking network
US8458506B2 (en) Real time clock and method for recording data in real time clock
US9043676B2 (en) Parity error recovery method for string search CAM
CN107402830B (zh) 寄存器异常检测装置
US4498178A (en) Data error correction circuit
KR100630710B1 (ko) 다수개의 페일 비트를 검출할 수 있는 반도체 메모리의페일 비트 검출 장치
JP6842098B1 (ja) デバッグ装置及びデバッグ方法
CN112349343A (zh) 电路结构、芯片以及电子设备
EP1402365A1 (en) Method and circuit arrangement for memory error processing
US6904116B2 (en) Shift register
US7484147B2 (en) Semiconductor integrated circuit
KR100188147B1 (ko) 주기적 여유 코드를 이용한 오류검출회로
RU2450332C1 (ru) Устройство хранения информации с обнаружением одиночных и двойных ошибок
EP1160668B1 (en) Semiconductor integrated circuit and method of testing semiconductor integrated circuit
JP2006004377A (ja) データ処理装置およびデータ処理方法
CN112540866B (zh) 存储器装置及其数据存取方法
US20040117702A1 (en) Interface error monitor system and method
KR100219041B1 (ko) 롬을 자체 테스트하기 위한 방법
US8095843B2 (en) Method of acquiring a plurality of logic signals, with confirmation of state validity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200526

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200526

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210203

R150 Certificate of patent or registration of utility model

Ref document number: 6842098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150