(57)【特許請求の範囲】
【請求項１】
ＬＳＩ論理回路の動作中にデータ採取するタイミングと採取するデータの選択条件を保持するモード保持手段と、
前記ＬＳＩ論理回路内の論理回路状態信号が前記選択条件と一致したとき、パタン一致信号とパタン種別信号を送出するパタン検出手段と、
前記パタン一致信号を受けるとパタン種別信号毎に異なる補助コードを持ったトランザクションヘッダを作成し、ヘッダの後に前記ＬＳＩ論理回路から出力される解析データを付加したユーザ定義メッセージトランザクションを作成するトランザクション生成手段と、
通常トランザクションと前記ユーザ定義メッセージトランザクションとを選択し、トランザクション出力として出力するトランザクション選択手段とを備えることを特徴とするデバッグ回路。
【請求項２】
前記ユーザー定義メッセージトランザクションを保持した後に前記トランザクション選択手段に出力するトランザクションバッファを備えることを特徴とする請求項１に記載のデバッグ回路。
【請求項３】
ＬＳＩ論理回路の動作中にデータ採取するタイミングと採取するデータの選択条件を保持するモード保持ステップと、
前記ＬＳＩ論理回路内の論理回路状態信号が前記選択条件と一致したとき、パタン一致信号とパタン種別信号を送出するパタン検出ステップと、
前記パタン一致信号を受けるとパタン種別信号毎に異なる補助コードを持ったトランザクションヘッダを作成し、ヘッダの後にＬＳＩ論理回路から出力される解析データを付加したユーザ定義メッセージトランザクションを作成するトランザクション生成ステップと、
通常トランザクションと前記ユーザ定義メッセージトランザクションとを選択し、トランザクション出力として出力するトランザクション選択ステップと
を備えることを特徴とするデバッグ方法。
【請求項４】
ＬＳＩ論理回路の動作中にデータ採取するタイミングと採取するデータの選択条件を保持するモード保持ステップと、
前記ＬＳＩ論理回路内の論理回路状態信号が前記選択条件と一致したとき、パタン一致信号とパタン種別信号を送出するパタン検出ステップと、
前記パタン一致信号を受けるとパタン種別信号毎に異なる補助コードを持ったトランザクションヘッダを作成し、ヘッダの後にＬＳＩ論理回路から出力される解析データを付加したユーザ定義メッセージトランザクションを作成するトランザクション生成ステップと、
通常トランザクションと前記ユーザ定義メッセージトランザクションとを選択し、トランザクション出力として出力するトランザクション選択ステップと
をコンピュータに実行させることを特徴とするデバッグプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデバッグ回路に関し、特に、ＬＳＩの動作不具合時のデバッグを行うデバッグ回路に関するものである。
【背景技術】
【０００２】
従来のデバッグ回路では、ＬＳＩ（Large Scale Integration）内部論理の解析データを得るために、ＬＳＩに解析データ採取用の出力を設けデータを採取していた。
また、他の従来のデバッグ回路では、ＬＳＩ（Large Scale Integration）の内部の特定タイミングでＬＳＩ内部情報データを解析する必要がある場合、通常のＬＳＩ出力信号の論理では期待するデータが得られないため、ＬＳＩ内部の動作不具合の解析を行うために、ＬＳＩ内部に解析データを保持する保持レジスタまたはラッチを内蔵し、解析データを格納し、解析データをシリアルデータに変換して出力することで、少ない外部ピンでＬＳＩ内部の複数の信号を観測可能としていた。例えば、ＬＳＩ内動作不具合の原因解明に有効と考えられる複数の内部信号を、タイミング生成ブロックから出力された信号でラッチし、シリアルデータに変換して出力ブロックに出力することで、少ない外部ピンでＬＳＩ内部の複数の信号を観測可能としていた（例えば特許文献１参照）。
また、内部タイミング信号の選択を行うデータを書き込みできるＩ／Ｏレジスタと、Ｉ／Ｏレジスタのデータをデコードして内部タイミング信号を選択する選択信号を生成するデコーダと、論理回路の内部タイミング信号を選択信号に従って選択する選択回路群とを有し、内部タイミング信号をデバッグ用外部出力端子群から直接観測することで、ＬＳＩの動作不具合のデバッグを行うようにしたものがあった（例えば、特許文献２参照）。
【特許文献１】特開２００５−０９１３１０号公報
【特許文献２】特開２０００−２５９４４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のデバッグ回路においては、次のような課題があった。  
第１の課題は、シリアルデータでデバッグデータを採取するため、ハードウェア動作中にリアルタイムで解析データを採取できないということである。
第２の課題は、デバッグデータ専用外部端子を設けるため、ＬＳＩのＰＩＮが増加してしまうことである。
本発明はこのような状況に鑑みてなされたものであり、ＬＳＩの内部動作解析のため、ＬＳＩ内部情報を採取するデバッグ回路において、ＬＳＩ内部動作解析に必要なタイミングの内部データをハードウェア動作中にリアルタイムかつＬＳＩのＰＩＮを増やすことなく採取可能とする機能を提供することを目的とする。
【課題を解決するための手段】
【０００４】
請求項１に記載のデバッグ回路は、ＬＳＩ論理回路の動作中にデータ採取するタイミングと採取するデータの選択条件を保持するモード保持手段と、前記ＬＳＩ論理回路内の論理回路状態信号が前記選択条件と一致したとき、パタン一致信号とパタン種別信号を送出するパタン検出手段と、前記パタン一致信号を受けるとパタン種別信号毎に異なる補助コードを持ったトランザクションヘッダを作成し、ヘッダの後に前記ＬＳＩ論理回路から出力される解析データを付加したユーザ定義メッセージトランザクションを作成するトランザクション生成手段と、通常トランザクションと前記ユーザ定義メッセージトランザクションとを選択し、トランザクション出力として出力するトランザクション選択手段とを備えることを特徴とする。
また、前記ユーザー定義メッセージトランザクションを保持した後に前記トランザクション選択手段に出力するトランザクションバッファを備えるようにすることができる。
請求項３に記載のデバッグ方法は、ＬＳＩ論理回路の動作中にデータ採取するタイミングと採取するデータの選択条件を保持するモード保持ステップと、前記ＬＳＩ論理回路内の論理回路状態信号が前記選択条件と一致したとき、パタン一致信号とパタン種別信号を送出するパタン検出ステップと、前記パタン一致信号を受けるとパタン種別信号毎に異なる補助コードを持ったトランザクションヘッダを作成し、ヘッダの後にＬＳＩ論理回路から出力される解析データを付加したユーザ定義メッセージトランザクションを作成するトランザクション生成ステップと、通常トランザクションと前記ユーザ定義メッセージトランザクションとを選択し、トランザクション出力として出力するトランザクション選択ステップとを備えることを特徴とする。
請求項４に記載のデバッグプログラムは、ＬＳＩ論理回路の動作中にデータ採取するタイミングと採取するデータの選択条件を保持するモード保持ステップと、前記ＬＳＩ論理回路内の論理回路状態信号が前記選択条件と一致したとき、パタン一致信号とパタン種別信号を送出するパタン検出ステップと、前記パタン一致信号を受けるとパタン種別信号毎に異なる補助コードを持ったトランザクションヘッダを作成し、ヘッダの後にＬＳＩ論理回路から出力される解析データを付加したユーザ定義メッセージトランザクションを作成するトランザクション生成ステップと、通常トランザクションと前記ユーザ定義メッセージトランザクションとを選択し、トランザクション出力として出力するトランザクション選択ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【０００５】
本発明のデバッグ回路によれば、以下に記載するような効果を奏する。
第１の効果は、モード保持回路からのデータ採取条件情報を含むモード信号とＬＳＩ論理回路の論理回路動作状態信号をパタン検出回路２０で比較し、一致したタイミングでユーザ定義メッセージトランザクションに解析データを付加するので、ハードウェア動作中に必要とするタイミングの解析データをリアルタイムで採取できることである。
第２の効果は、解析データが付加されたユーザ定義メッセージトランザクションと通常トランザクションとでＬＳＩ出力ＰＩＮを共用しているのでデバッグ用にＬＳＩ出力ＰＩＮを増やさずに解析データを採取できることである。
【発明を実施するための最良の形態】
【０００６】
本発明の概要について説明する。本発明の一実施の形態としてのデバッグ回路１は、ユーザ定義メッセージトランザクションを使用し、解析用デバッグデータをユーザ定義メッセージトランザクション内に付加してＬＳＩ７０の外へ出力することにより、ＬＳＩ内部動作解析データをハードウェア動作中にリアルタイムかつＬＳＩ７０のＰＩＮを増やすことなく採取することを特徴としている。
【０００７】
本実施の形態で述べるユーザ定義メッセージトランザクションは、通常のトランザクションと異なり、メッセージデータのみ付加されたトランザクションであり、通常動作では使用されない。通常の受信回路論理では、ユーザ定義メッセージトランザクションを受信した場合、使用されず破棄される。
【０００８】
デバッグ回路１は、ＬＳＩ論理回路５０の動作中にデータ採取するタイミングと採取するデータの選択条件を保持するモード保持手段（図１のモード保持回路１０）と、ＬＳＩ論理回路５０内の論理回路状態信号がモード保持回路１０出力の条件と一致したときパタン一致信号とパタン種別信号を送出するパタン検出手段（パタン検出回路２０）と、パタン一致信号を受けるとパタン種別信号に毎に異なる補助コードを持ったトランザクションヘッダを作成し、ヘッダの後にＬＳＩ論理回路５０から出力される解析データをつけたユーザ定義メッセージトランザクションを作成するトランザクション生成手段（トランザクション生成回路３０）と、通常トランザクションとユーザ定義メッセージトランザクションとを選択しＬＳＩ７０からトランザクション出力として出力するトランザクション選択手段（トランザクション選択回路４０）とを含む。
【０００９】
図１において、モード保持回路１０にＬＳＩ論理回路５０動作中にデータ採取するタイミングと採取するデータの選択条件が設定される。パタン検出回路２０はＬＳＩ論理回路５０内の論理回路状態信号とモード保持回路１０出力を入力し、ＬＳＩ論理回路５０内の論理回路状態信号がモード保持回路１０出力の条件と一致したとき、トランザクション生成回路３０にパタン一致信号とパタン種別信号を送出する。
【００１０】
トランザクション生成回路３０は、パタン一致信号を受けるとパタン種別信号毎に異なる補助コードを持ったトランザクションヘッダを作成し、ヘッダの後にＬＳＩ論理回路５０から出力される解析データをつけたユーザ定義メッセージトランザクションを作成する。
【００１１】
ユーザ定義メッセージトランザクションが作成されると、トランザクション選択回路４０は、通常トランザクションとユーザ定義メッセージトランザクションから出力トランザクションを選択し、トランザクション出力とする。
【００１２】
このようにして本実施の形態では、トランザクション内に解析データを付加したユーザ定義メッセージトランザクションを、ＬＳＩ７０の通常トランザクション出力パスを共用して出力するので、ハードウェアが通常動作中にＬＳＩ７０内部の解析データをリアルタイムに採取することができる。
【００１３】
以下、本発明の一実施の形態としてのデバッグ回路１について詳細に説明する。図１を参照すると、デバッグ回路１は、ＬＳＩ論理回路５０およびロジックアナライザ６０にそれぞれ接続されており、モード保持回路１０、パタン検出回路２０、トランザクション生成回路３０、トランザクション選択回路４０、ＬＳＩ論理回路５０を含んで構成される。
【００１４】
モード保持回路１０には、モード設定信号が入力されるようになっている。ＬＳＩ論理回路５０は、パタン検出回路２０に対して論理回路状態信号を供給し、トランザクション生成回路３０に対して解析データを供給し、トランザクション選択回路４０に対して通常トランザクションを供給するようになっている。モード保持回路１０は、モード信号をパタン検出回路２０に供給し、パタン検出回路２０は、パタン種別信号およびパタン一致信号をトランザクション生成回路３０にそれぞれ供給し、トランザクション生成回路３０は、ユーザ定義トランザクションをトランザクション選択回路４０に供給するようになっている。トランザクション選択回路４０は、ＬＳＩトランザクション出力をロジックアナライザ６０およびその他のＬＳＩ等に供給するようになっている。
【００１５】
モード保持回路１０はモード設定信号により、ＬＳＩ論理回路５０から出力される解析データを採取するタイミング情報と解析データ採取条件を保持する。パタン検出回路２０は、ＬＳＩ論理回路５０から出力される論理回路状態信号とモード保持回路１０の出力を入力し、ＬＳＩ論理回路５０からの論理状態信号がモード保持回路１０からの条件と一致するか否かをチェックし、一致する場合はパタン種別信号とパタン一致信号をトランザクション生成回路３０に送出する。
【００１６】
トランザクション生成回路３０は、パタン検出回路２０から送出されたパタン一致信号を受けたとき、パタン検出回路２０から送出されるパタン種別信号に応じてユーザ定義メッセージトランザクションヘッダとパタン種別信号毎に異なる補助コードを作成し、ＬＳＩ論理回路５０から送出される解析データをヘッダの後に付加したユーザ定義メッセージトランザクションを作成する。
【００１７】
トランザクション選択回路４０は、トランザクション生成回路３０から供給されるユーザ定義メッセージトランザクションとＬＳＩ論理回路５０から供給される通常トランザクションを選択し、ＬＳＩトランザクション出力とする。ＬＳＩトランザクション出力はロジックアナライザ６０に送出される。
【００１８】
ロジックアナライザ６０では、トランザクションヘッダがユーザ定義メッセージトランザクションである場合、入力データをロジックアナライザ６０内のメモリ等に記録する。ロジックアナライザ６０に記録されたデータを解析することにより、ハードウェア動作中のＬＳＩ内論理回路動作を解析することができる。ここでは、解析データを記録する装置をロジックアナライザ６０としたが、この他の記録装置でも良く、特にロジックアナライザ６０に限定しない。
【００１９】
次に、図１に示したデバッグ回路１の動作について、図２のトランザクション発生タイミング例と、図３のユーザ定義メッセージトランザクションフォーマットを参照して説明する。
【００２０】
図２に示したトランザクション発生タイミング例のように、時刻ｎから時刻（ｎ＋７＋ｍ）の間で、時刻（ｎ＋７）でモード信号保持回路１０の条件とＬＳＩ論理回路５０の論理動作が一致した場合についての動作を図１、図２、図３を参照して説明する。
【００２１】
図１において、採取したいデータのタイミングとデータ種別などの情報を含むモード設定信号がモード信号保持回路１０に設定される。モード設定信号によりＬＳＩ論理回路５０からの解析データを採取するタイミング情報と解析データ採取条件が保持される。
【００２２】
パタン検出回路２０は、ＬＳＩ論理回路５０の論理状態信号とモード保持回路１０の出力を入力し、ＬＳＩ論理回路５０からの論理状態信号がモード保持回路１０からの条件と一致するか否かを比較して判定し、一致する場合はパタン種別信号とパタン一致信号をトランザクション生成回路３０に送出する。
【００２３】
図２の例では、時刻ｎから時刻（ｎ＋６）まではモード保持回路１０から出力されるモード信号を受けたパタン検出回路２０は、ＬＳＩ論理回路５０からの論理回路状態信号とデータ採取タイミング条件とを比較し、論理回路状態信号がデータ採取タイミング条件に一致しないため、パタン一致信号を出力しない。
【００２４】
時刻（ｎ＋７）でＬＳＩ論理回路５０から出力される論理回路状態信号とモード信号が一致するため、パタン検出回路２０はトランザクション生成回路３０に対してパタン一致信号と一致したモード信号をパタン種別信号として送出する。トランザクション生成回路３０では、パタン一致信号を受けるとユーザ定義メッセージトランザクションのヘッダを作成する。
【００２５】
図３に示したように、ユーザ定義メッセージトランザクションのヘッダ情報には、補助コードフィールドにパタン種別信号が埋め込まれる。これによって、ユーザ定義メッセージトランザクションがどのようなモード設定で発生したかを解析時に判別できる。
【００２６】
トランザクション生成回路３０では、図３に示したように、解析データとして（ｍ−１）ワードのデータを採取する。解析データのワード数はパタン種別信号により変更可能である。トランザクション生成回路３０は、ＬＳＩ論理回路５０から出力される（ｍ−１）ワードの解析データを受け、図３に示したような、ｍワードのユーザ定義メッセージトランザクションを作成する。
【００２７】
ユーザ定義メッセージトランザクションは、時刻（ｎ＋７）でトランザクション選択回路４０に送出され、時刻（ｎ＋７）から時刻（ｎ＋７＋ｍ）の間、トランザクション選択回路４０で選択され、ＬＳＩトランザクション出力としてＬＳＩ７０の外に出力され、ロジックアナライザ６０に入力される。
【００２８】
時刻（ｎ＋７＋ｍ）においてパタン検出回路２０によってパタン一致が検出されないので、トランザクション選択回路４０では、図２の通常トランザクション（ｎ＋８）を選択し、ＬＳＩトランザクション出力としてＬＳＩ７０の外に出力する。
【００２９】
図２の例では、通常トランザクションとユーザ定義メッセージトランザクションのタイミングは競合しないが、競合するケースが発生した場合、トランザクション選択回路４０は通常トランザクションを優先して選択し、性能低下が生じないようにする。
【００３０】
このように、通常トランザクションとユーザ定義メッセージトランザクションは競合するケースがあるため、ユーザ定義メッセージトランザクションはＬＳＩ７０の外に出力されるまで、トランザクション生成回路３０で保持される。
【００３１】
ロジックアナライザ６０では、トランザクションヘッダがユーザ定義メッセージトランザクションである場合、データをロジックアナライザ６０のメモリ等に記録する。
【００３２】
次に、本発明の他の実施の形態について説明する。図４は、本発明の他の実施の形態の構成例を示しており、その基本的構成は図１に示した実施の形態の場合と同様であるが、図４の実施の形態では、ユーザ定義メッセージトランザクションと通常トランザクションが競合するケースについてさらに工夫している。
【００３３】
図４に示した実施の形態において、トランザクションバッファ８０は、トランザクション生成回路３０で作成したユーザ定義メッセージトランザクションを複数保持する。モード保持回路１０は、モード設定信号によりＬＳＩ論理回路５０からの解析データを採取するタイミング情報と解析データ採取条件を保持する。
【００３４】
パタン検出回路２０は、ＬＳＩ論理回路５０から出力される論理状態信号とモード保持回路１０の出力を入力し、ＬＳＩ論理回路５０からの論理状態信号がモード保持回路１０からの条件と一致するか否かをチェックし、一致する場合はパタン種別信号とパタン一致信号をトランザクション生成回路３０に送出する。
【００３５】
トランザクション生成回路３０はパタン検出回路２０からパタン一致信号を受けたとき、パタン検出回路２０から送出されるパタン種別信号に応じてユーザ定義メッセージトランザクションヘッダとパタン種別信号毎に存在する補助コードを作成し、ＬＳＩ論理回路５０から送出される解析データをヘッダの後に付加したユーザ定義メッセージトランザクションを作成する。
【００３６】
トランザクションバッファ８０は、トランザクション生成回路３０で作成されたユーザ定義メッセージトランザクションを保持する。トランザクション選択回路４０は、トランザクションバッファ８０から供給されるユーザ定義メッセージトランザクションとＬＳＩ論理回路５０から出力される通常トランザクションを選択し、ＬＳＩトランザクション出力とする。
【００３７】
ＬＳＩトランザクション出力は、ロジックアナライザ６０に送出される。ロジックアナライザ６０では、トランザクションヘッダがユーザ定義メッセージトランザクションである場合、データをロジックアナライザ６０内のメモリ等に記録する。ロジックアナライザ６０に記録されたデータを解析することにより、ハードウェア動作中のＬＳＩ内論理回路動作を解析することができる。
【００３８】
ここでは、解析データを記録する装置をロジックアナライザ６０としたが、この他の記録装置でも良く、特にロジックアナライザ６０に限定しない。
【００３９】
このように、図４に示した実施の形態では、ユーザ定義メッセージトランザクションをトランザクションバッファ８０で複数保持することができるので、ユーザ定義メッセージトランザクションが複数生成されたとき、通常トランザクションとトランザクション選択回路４０での競合が多発したときにユーザ定義メッセージトランザクションをロストすることなくＬＳＩ７０より出力できるという効果が得られる。
【００４０】
以上説明したように、本実施の形態においては、以下に記載するような効果を奏する。
第１の効果は、モード保持回路１０からのデータ採取条件情報を含むモード信号とＬＳＩ論理回路５０の論理回路状態信号をパタン検出回路２０で比較し、一致したタイミングでユーザ定義メッセージトランザクションに解析データを付加するので、ハードウェア動作中に必要とするタイミングの解析データをリアルタイムで採取できることである。
第２の効果は、解析データが付加されたユーザ定義メッセージトランザクションと通常トランザクションとでＬＳＩ出力ＰＩＮを共用しているので、デバッグ用にＬＳＩ出力ＰＩＮを増やさずに解析データを採取できることである。
【００４１】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更することができることは言うまでもない。
【産業上の利用可能性】
【００４２】
本発明はＬＳＩの内部動作解析のため、ＬＳＩ内部情報を採取するデバッグ回路に適用できる。特に解析に必要なタイミングの内部データをハードウェア動作中にリアルタイムかつＬＳＩのＰＩＮを増やすことなく採取する必要がある場合に効果的に適用できる。
【図面の簡単な説明】
【００４３】
【図１】本発明のデバッグ回路の一実施の形態の構成例を示すブロック図である。
【図２】トランザクション発生タイミング例を示す図である。
【図３】ユーザ定義メッセージトランザクションフォーマット例を示す図である。
【図４】本発明のデバッグ回路の他の実施の形態の構成例を示すブロック図である。
【符号の説明】
【００４４】
１  デバッグ回路
１０  モード保持回路  
２０  パタン検出回路
３０  トランザクション生成回路
４０  トランザクション選択回路
５０  ＬＳＩ論理回路
６０  ロジックアナライザ
７０  ＬＳＩ
８０  トランザクションバッファ
【図１】
0004787624.tif 000002
【図２】
0004787624.tif 000003
【図３】
0004787624.tif 000004
【図４】
0004787624.tif 000005