(57)【要約】【課題】観測対象バス数の増加によりバスモニタ回路の規模が増大しモニタ能力が低下する。【解決手段】バスデータ抽出データを記憶するFIFO部３にメモリライト制御部32とメモリリード制御部33を設ける。メモリリード制御部33はFIFOリードイネーブル信号Ｐが入力するとメモリリードアドレスを生成してメモリに出力する。また、メモリのFIFOエンプティ・フラグ信号Ｎと、FIFOオルモスト・エンプティ・フラグ信号ＯをFIFOリード制御部６に出力する。FIFOリード制御部は、FIFOエンプティ・フラグ信号およびFIFOオルモスト・エンプティ・フラグ信号により、エンプティ状態を示していないメモリに対するFIFOリードイネーブル信号のみをアクティブ状態とする。【選択図】図１
2007310516.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの観測対象となるシステムバスの状態をモニタ出力するバスモニタ回路において、
設定されたフィルタ条件とトリガ条件に適ったデータを前記システムバスから抽出するバスデータ検出部と、
前記バスデータ抽出データを記憶するために前記システムバスと１対１対応のメモリを有するFIFO部と、
FIFOライトイネーブル信号を生成して前記バスデータ抽出データと共に前記FIFO部に出力するFIFOライト制御部と、
FIFOリードイネーブル信号を生成して前記FIFO部に出力するFIFOリード制御部を備え、
前記FIFO部には前記メモリと１対１対応に、
前記FIFOライトイネーブル信号が入力するとメモリライトイネーブル信号とメモリライトアドレスを生成して前記メモリに出力するメモリライト制御部と、
前記FIFOリードイネーブル信号が入力するとメモリリードアドレスを生成して前記メモリに出力し、また前記メモリのリード・エンプティ状態を示すFIFOエンプティ・フラグ信号と、前記メモリが次に読み出されると前記リードエンプティ状態となるリード・オルモスト・エンプティ状態を示すFIFOオルモスト・エンプティ・フラグ信号を前記FIFOリード制御部出力するメモリリード制御部を設け、
前記FIFOリード制御部は、前記FIFOエンプティ・フラグ信号および前記FIFOオルモスト・エンプティ・フラグ信号により、エンプティ状態を示していないメモリに対するFIFOリードイネーブル信号のみをアクティブ状態とすることを特徴とするバスモニタ回路。
【請求項２】
前記FIFOライト制御部は、
前記バスデータ検出部から入力するトリガ条件検出信号に対して、設定されたリンク情報に従って異なるシステムバス対応のフィルタ・トリガ一致データの組合せ制御または選択制御を行い、前記メモリに対するシステムバス抽出データの書込み開始と書込み終了を制御するためのリンク制御信号を生成するリンク制御回路と、
FIFO部からのFIFOオーバーフロー制御信号と前記リンク制御回路からのリンク制御信号を生成条件として、前記バスデータ検出部から入力するフィルタ条件検出信号により、前記FFIFOライトイネーブル信号を生成するライトイネーブル生成回路を備えたことを特徴とする請求項１記載のバスモニタ回路。
【請求項３】
前記メモリライト制御部は、生成するライトポインタ値と前記メモリリードアドレスの比較結果、および前記メモリライトイネーブル信号，前記FIFOリードイネーブル信号により、前記メモリのデータライトフル状態を検出するとFIFOフルフラグ信号を前記メモリに書き込むことを特徴とする請求項１または請求項２記載のバスモニタ回路。
【請求項４】
前記メモリから読み出されたFIFOリードデータに対してシステムバス固有の識別データを付加するバス識別コード付加回路と、
前記FIFOリードイネーブル信号により前記バス識別コード付加回路の出力を多重して前記バスモニタ出力とするデータ多重制御部を設けたことを特徴とする請求項１〜請求項３記載のバスモニタ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観測対象（バスモニタ対象）となるシステムバスの状態をモニタ出力するバスモニタ回路に関する。
【背景技術】
【０００２】
この種の従来技術の一例（例えば、特許文献１参照）を図１０に示す。このバストレーサは、システムバスＡ’上のデータを入力としてトレース条件が成立した監視対象のシステムバスＡ’のデータ取込み制御信号となるトレース・イネーブル信号Ｂ’と転送フェーズ信号Ｃ’を出力するトレースコントロール回路２’と、トレースコントロール回路２’のトレース条件を設定するトレースモードReg４’と、トレースコントロール回路２’からの転送フェーズ信号Ｃ’を受けて動作を開始し、システムバスＡ’のデータを入力としてトリガ条件成立時にシステムバスＡ’のトレース停止制御信号となる割込み信号Ｈ’とトリガ条件成立信号Ｄ’を出力するトリガコントロール回路１’と、トリガコントロール回路１’のトリガ条件を設定するトリガモードReg３’と、システムバスＡ’上のデータを格納するメモリ６’と、メモリ６’の格納データをローカルバスＥ’へ出力させる読出し制御等のバストレース全体の制御を行うＭＰＵ５’と、トレースコントロール回路２’からのトレース・イネーブル信号Ｂにより、外部とのデータ授受を行うためのコミュニケーションコントローラ７’で構成される。
【０００３】
トレースコントロール回路２’は、トレースモードReg４’に設定されたトレース条件とシステムバスＡ’上のデータが一致すると、転送フェーズ信号Ｃ’を出力してトリガコントロール回路１を動作させると共に、トレース・イネーブル信号Ｂ’を出力してメモリ６へのシステムバスＡ’のデータ格納（書込み）を開始する。動作が開始されたトリガコントロール回路１’は、トリガモードReg３’に設定されたトリガ条件と一致するシステムバスＡ’上のデータを監視し、一致するシステムバスＡ’上のデータを検出するとトリガ条件成立信号Ｄ’と割込み信号Ｈ’を出力する。
【０００４】
トリガ条件成立信号Ｄ’が入力されたトレースコントロール回路２’は、トレース・イネーブル信号Ｂ’の出力を停止し（ディセーブル状態とし）、メモリ６’へのシステムバスＡ’データの格納を停止する。また、割込み信号Ｈ’が入力されたＭＰＵ５’は割込み信号Ｈ’を受け付けて、システムバスデータの取込みが終了したことを判定し、メモリ６’に格納されたトレース後のシステムバスＡデータの読出し制御を開始する。メモリ６’から読み出されたトレース後のシステムバスデータはコミュニケーションコントローラ７’を介してバストレーサ外部へ出力される。
【０００５】
この種の従来技術の他の例（例えば、特許文献２参照）を図１１に示す。このパケット分布選定方式では、ａ，ｂの２チャンネルに対応して、入力端子1a,1bとパケット受信インターフェイス2a,2bとフィルタ回路3a,3bとタイムスタンプ付加回路4a,4bとＦＩＦＯ5a,5bとＤＭＡ制御回路6a,6bを備え、ａ，ｂの２チャンネル共通にタイミング制御回路７とＣＰＵ８とメモリ９とＩ／Ｏ制御回路１０と外部演算処理装置１１を設けている。
【０００６】
パケット受信インターフェイス回路2a,2bは、入力端子1a,1bからのパケットを受信し、観測対象とするパケット情報をフィルタ回路3a,3bで選択すると共に、シーケンス番号などの開始トリガおよび終了トリガに基づいてパケット情報を取り出す。フィルタ回路3a,3bから出力されるパケットはシーケンス番号のみが取り出され、タイムスタンプ付加回路4a,4bでタイムスタンプ情報として到着時刻が付加され、シーケンス番号とタイムスタンプからなる情報がＦＩＦＯ5a,5bに順次書き込まれる。ＦＩＦＯ5a,5bに書き込まれた情報は、ＤＭＡ制御回路6a,6bによってメモリ９に蓄積され、ＣＰＵ８による読み出し制御によりＩ／Ｏ制御回路１０を介して外部に接続される外部演算処理装置１１などに出力される。尚、2a〜6a，2b〜6b間での処理は２チャンネル並行して処理され、メモリ９にはａ，ｂの２チャンネルを時分割で書き込む。
【０００７】
【特許文献１】特開平２−２８４２４９号公報（第３頁−第６頁、図２）
【特許文献２】特開平４−２６０２４８号公報（第２頁−第３頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の技術では、トレース・トリガ条件またはフィルタ条件により選択された全てのデータが一度メモリへ格納されるので、メモリに格納されるデータがトレース・トリガ条件またはフィルタ条件により収集されたデータであっても、集積回路内部の複数のシステムバスの状態を観測する場合、メモリに格納されるデータは増大するし、トレース・トリガ条件またはフィルタ条件で選択されたデータは欠損（漏れ）なく外部等へ出力する必要があり、メモリは、収集される最大のデータ量を格納できるだけの容量を持たなければならなくなるため、収集されたデータを書き込むメモリの容量が大きくなり回路規模が増加するという第１の問題点がある。
【０００９】
また、メモリに格納されたシステムバスデータを出力するため手段として、ＣＰＵ，ＤＡＭ制御回路を使用するため、メモリへの書込み／読出し制御が複雑になり回路規模が増加するし、ＣＰＵ，ＤＭＡ制御回路自体の回路規模が大きいため、これらの回路を使用することでも回路規模が増加するという第２の問題点がある。
【００１０】
システムバスデータまたはパケット入力の収集するための制御回路となるトレースコントロール回路・トリガコントロール回路またはフィルタ回路が、観測対象となるシステムバスまたはパケット入力１つ１つに設けられ個別に動作するため、観測対象が複数のシステムバスまたはパケット入力の場合、個々の観測対象の収集データ量はトレース・トリガ条件またはフィルタ条件により削減される。
【００１１】
しかし、最終的に出力される収集データ量は複数の観測対象システムバスまたはパケット入力の個々の収集データの総和となるので、収集データを格納するためのメモリの容量が増大し回路規模が増加するし、最終的に出力される複数の観測対象の収集データは、個々のトレース・トリガ条件またはフィルタ条件で収集されたデータを集めただけのデータであるため［観測対象−観測対象］間の関係が不明確で、観測対象ＡでシステムバスデータＡ’またはパケット入力Ａ’が発生（検出）時の観測対象ＢのシステムバスデータＢ’またはパケット入力Ｂ’の状態を収集データから得る場合、解析が煩雑になるという第３の問題点がある。
【００１２】
そこで、本発明の目的は、観測対象バス数の増加により発生するバスモニタ回路の規模増加，集積回路外部へのバスモニタ外部端子の増加，モニタ能力低下の問題を改善し、ＣＰＵ，ＤＭＡ制御回路を介することなく高速、且つ最小限の外部端子により、集積回路内部の複数のバス状態を集積回路外部へモニタ出力するバスモニタ回路を提供することにある。
【課題を解決するための手段】
【００１３】
本発明のバスモニタ回路は、少なくも一つの観測対象となるシステムバスの状態をモニタ出力するバスモニタ回路において、設定されたフィルタ条件とトリガ条件に適ったデータをシステムバスから抽出するバスデータ検出部（図１の１）と、バスデータ抽出データを記憶するためにシステムバスと１対１対応のメモリ（図１の31）を有するFIFO部（図１の３）と、FIFOライトイネーブル信号を生成してバスデータ抽出データと共にFIFO部に出力するFIFOライト制御部（図１の２）と、FIFOリードイネーブル信号を生成してFIFO部に出力するFIFOリード制御部（図１の６）を備え、FIFO部（図１の３）にはメモリと１対１対応に、FIFOライトイネーブル信号が入力するとメモリライトイネーブル信号とメモリライトアドレスを生成してメモリに出力するメモリライト制御部（図１の32）と、FIFOリードイネーブル信号が入力するとメモリリードアドレスを生成してメモリに出力し、またメモリのリード・エンプティ状態を示すFIFOエンプティ・フラグ信号と、メモリが次に読み出されるとリードエンプティ状態となるリード・オルモスト・エンプティ状態を示すFIFOオルモスト・エンプティ・フラグ信号をFIFOリード制御部出力するメモリリード制御部（図１の33）を設け、FIFOリード制御部（図１の６）は、FIFOエンプティ・フラグ信号およびFIFOオルモスト・エンプティ・フラグ信号により、エンプティ状態を示していないメモリに対するFIFOリードイネーブル信号のみをアクティブ状態とすることを特徴とする。
【００１４】
また、FIFOライト制御部（図１の２）は、バスデータ検出部から入力するトリガ条件検出信号に対して、設定されたリンク情報に従って異なるシステムバス対応のフィルタ・トリガ一致データの組合せ制御または選択制御を行い、メモリに対するシステムバス抽出データの書込み開始と書込み終了を制御するためのリンク制御信号を生成するリンク制御回路（図１の23）と、FIFO部からのFIFOオーバーフロー制御信号とリンク制御回路からのリンク制御信号を生成条件として、バスデータ検出部から入力するフィルタ条件検出信号により、FFIFOライトイネーブル信号を生成するライトイネーブル生成回路（図１の22）を備えたことを特徴とする。
【００１５】
また、メモリライト制御部（図１の32）は、生成するライトポインタ値とメモリリードアドレスの比較結果、およびメモリライトイネーブル信号，FIFOリードイネーブル信号により、メモリのデータライトフル状態を検出するとFIFOフルフラグ信号をメモリに書き込むことを特徴とする。
【００１６】
更に、バスモニタ回路は、メモリから読み出されたFIFOリードデータに対してシステムバス固有の識別データを付加するバス識別コード付加回路（図１の４）と、FIFOリードイネーブル信号によりバス識別コード付加回路の出力を多重してバスモニタ出力とするデータ多重制御部（図１の５）を設けたことを特徴とする。
【発明の効果】
【００１７】
本発明の第１の効果は、FIFO部のメモリのリード制御を司るFIFOリードイネーブル信号が、エンプティ状態にないメモリに対してのみ連続したアクティブ状態を継続し、エンプティ状態のメモリのリード制御がスキップされるため、エンプティ状態にないメモリのライト制御に対するリード制御の割合を常に最大とするリード制御が可能となり、メモリの容量を確定する、メモリの抽出データの滞留時間（期間）が削減され、バスモニタ回路の規模を削減できるということである。また、エンプティ状態のメモリはスキップされるリード制御のため、観測対象システムバスの抽出データが連続してモニタ出力され、観測者はモニタ出力より観測対象となるシステムバスの抽出データを容易に観測することが可能であり、観測対象となるシステムバスのデータ収集を改善できる。
【００１８】
本発明の第２の効果は、バスデータ検出部で検出された観測対象となる複数のシステムバスの抽出データと共に、メモリのオーバーフロー情報がモニタ出力され、観測者はモニタ出力されたオーバーフロー情報を観測することで、複数の観測対象システムバスのバスデータ取込み状態を確認することが可能となり、抽出される筈の観測対象システムバスデータの取りこぼしが発生した期間（事象）を、モニタ出力から容易に特定することが可能となり、バスモニタ回路のモニタ能力（効率）を改善できるということである。また、観測対象となるシステムバスの検出・抽出条件であるフィルタ条件，トリガ条件をモニタ出力より適切な条件に容易に（再）設定することが可能となる。
【００１９】
本発明の第３の効果は、観測対象となる複数のシステムバス毎に設定されるトリガ条件を１つの観測対象システムバスに対するトリガ検出条件とするだけでなく、観測対象システムバスＡのデータ抽出（モニタ出力）を観測対象システムバスＢのデータ検出で開始し、同様に観測対象システムバスＡのデータ抽出（モニタ出力）の停止を観測対象システムバスＣのデータ検出で停止する、トリガ条件の組み合わせと選択による異なる観測対象のシステムバス間の相関関係による、観測対象システムバスのデータ抽出と抽出するデータの絞り込みが行えるため、バスモニタ回路で抽出する観測対象システムバスのデータ量を削減することが可能になるということである。このことからも、FIFO部のメモリ容量が削減され、システム集積回路におけるバスモニタ回路の規模を削減でき、また、観測対象システムバスのモニタ出力から不必要なデータ出力が制限されるため、バスモニタ回路による観測対象システムバスのモニタ能力（効率）を改善する効果も得られ、高度な観測手段を提供することが可能となる。
【００２０】
本発明の第４の効果は、CPU，DMAコントローラ等の複雑な回路を使用することなく、FIFOとFIFOのリード／ライトを制御する回路でバスモニタ回路を構成するため、システム集積回路におけるバスモニタ回路の規模を削減でき、ひいては、ハードウェアのみで構成され、観測対象となる複数のシステムバスの収集データを自動的に出力するバスモニタ回路のため、ソフトウェア等を作成する工数を削減することが可能となる。
【００２１】
本発明の第５の効果は、観測対象となる複数のシステムバスの抽出データが一時格納されるメモリのリード制御に、エンプティ状態にないメモリに対してのみ連続したアクティブ状態を継続するFIFOリードイネーブル信号が用いられるため、メモリからのFIFOリードデータの多重化を容易に行うことが可能となり、データ多重制御部の回路規模を削減できるということである。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【実施例１】
【００２３】
［構成の説明］
（１）概要説明
図１は本発明のバスモニタ回路の実施例１を示す。このバスモニタ回路は、集積回路内部の観測対象（バスモニタ対象）となる複数のシステムバスの状態を集積回路外部へモニタ出力する回路であって、バスデータ検出部１，FIFOライト（Write）制御部２，FIFO部３，ｎ個のバス識別コード付加回路４，データ多重制御部５およびFIFOリード（Read）制御部６を備えている。
【００２４】
バスデータ検出部１は、入力され観測対象となるｎ本のシステムバス（１）〜（ｎ）上で送受信されるデータを監視して、システムバス毎に検出・抽出条件として設定されたフィルタ条件，トリガ（スタート・トリガ，ストップ・トリガ）条件に適ったデータをシステムバス（１）〜（ｎ）上で送受信されるデータから抽出する。そして、抽出されたデータをシステムバス抽出データＡとして、データ抽出に用いた検出・抽出条件の検出信号（検出・抽出設定条件検出信号といい、各ｎ本のフィルタ条件検出信号Ｄとトリガ条件検出信号Ｅから成る）と共にFIFOライト制御部２へ出力する。
【００２５】
FIFOライト制御部２は、バスデータ検出部１の後段に位置し、システムバス抽出データＡ毎にタイムスタンプ情報を付加し、FIFOライトデータＢとしてFIFO部３に出力する。タイムスタンプ情報とは、システムバス抽出データＡの有無に関係なくフリーでカウントアップするカウンタのカウント値をいい、フィルタ条件検出信号Ｄ，トリガ条件検出信号Ｅと、FIFO部３からのFIFOフルフラグ信号Ｉをイネーブル信号としてシステムバス抽出データＡと共にラッチされる。
【００２６】
また、FIFOライト制御部２は、バスデータ検出部１からのフィルタ条件検出信号Ｄ，トリガ条件検出信号Ｅと、FIFO部３からのFIFOオーバーフロー制御信号Ｆにより、各FIFOライトデータＢに対応したFIFOライトイネーブル信号Ｇを生成してFIFO部３へ出力する。後述のように、トリガ条件検出信号Ｅはシステムバス対応に検出され、またFIFOライトイネーブル信号Ｇはシステムバス対応に生成されるが、一つのシステムバスに対するトリガ条件検出信号Ｅを他のシステムバスに対するトリガ条件検出信号ＥとリンクさせたFIFOライトイネーブル信号Ｇとすることもできる。
【００２７】
FIFO部３は、FIFOライト制御部２の後段に位置し、システムバス（１）〜（ｎ）に対応して設けられたｎ個のメモリ31を内蔵しており、メモリ31には、FIFOライトデータＢがメモリライトイネーブル信号Ｊ１、FIFOフルフラグ信号Ｉがメモリライトイネーブル信号Ｊ２により、システムバス対応に独立して順次書き込む書込み制御により格納される。FIFOフルフラグ信号Ｉは、FIFO部３へのライトエラー発生状態を示すオーバーフロー情報として、メモリ31のデータ書込み状態を示す。
【００２８】
FIFO部３のｎ個のメモリ31に格納されたFIFOライトデータＢとFIFOフルフラグ信号Ｉは、FIFOリード制御部６からのFIFOリードイネーブル信号Ｐにより、メモリ31毎に読み出されFIFOリードデータＣとしてデータ多重制御部５へ出力される。
【００２９】
なお、FIFO部３はメモリライトイネーブル信号Ｊ１，FIFOエンプティ・フラグ（Memory Empty Flag）信号ＮおよびFIFOオルモスト・エンプティ・フラグ（FIFO Almost Empty Flag）信号ＯをFIFOリード制御部６へ出力する。FIFOエンプティ・フラグ信号Ｎは、メモリに読み出すべきデータが無い状態（エンプティ）になったときに出力され、FIFOオルモスト・エンプティ・フラグ信号Ｏは、次にデータが読み出されるとエンプティになるときに出力される。
【００３０】
FIFOリード制御部６は、FIFO部３の後段に位置し、FIFO部３からのメモリライトイネーブル信号Ｊ１と、FIFOエンプティ・フラグ信号Ｎと、FIFOオルモスト・エンプティ・フラグ信号ＯおよびFIFOリード制御部６で生成されるFIFOリードイネーブル信号Ｐにより、FIFO部３のメモリ31のデータリード状態を先読み検出し、エンプティ状態にないメモリ31に対してのみアクティブとなる、FIFOリードイネーブル信号Ｐを生成してFIFO部３へ出力する。この場合、エンプティ状態になるメモリ31に対してはFIFOリードイネーブル信号Ｐをスキップする。
【００３１】
バス識別コード付加回路４は、FIFO部３の後段に位置し、FIFO部３のメモリ31から読み出されたFIFOリードデータＣに対してシステムバス固有の識別データを付加する。この付加は、後段のデータ多重制御部５で多重されモニタ出力される、システムバス抽出データの識別を容易にするためである。尚、多重されるシステムバス抽出データがアドレス等により容易に識別可能であれば本回路は削除される。
【００３２】
データ多重制御部５は、バス識別コード付加回路４の後段に位置し、FIFOリード制御部６からのFIFOリードイネーブル信号Ｐにより、システムバス毎のFIFOリードデータＣをFIFOリード制御部６からのFIFOリードイネーブル信号Ｐにより多重し、バスモニタ出力として集積回路外部へ出力する。
【００３３】
以上説明したように、本発明のバスモニタ回路は、バスデータ検出部１で観測対象となる複数のシステムバス毎に抽出されたシステムバス抽出データＡに、FIFOライト制御部２でタイムスタンプ情報、FIFO部３でオーバーフロー情報を付加して、FIFOライト制御部２から出力されるFIFOライトイネーブル信号Ｇを基にFIFO部３のメモリ31に書き込むライト制御を行なう。
【００３４】
そして、メモリ31に書き込まれたタイムスタンプ情報，オーバーフロー情報が付加されたシステムバス抽出データを読み出すリード制御を、FIFOリード制御部６から出力されるFIFOリードイネーブル信号Ｐにより行う。更に、FIFO部３の後段に位置するバス識別コード付加回路４でメモリ31から読み出されたFIFOリードデータＣに対して固有の識別コードを付加して、データ多重制御部５おいてFIFOリードイネーブル信号Ｐにより、FIFOリードデータＣを多重し、集積回路内部の観測対象となる複数のシステムバスの状態のモニタ出力として、集積回路外部へバスモニタ出力する。
【００３５】
（２）詳細説明
以下に、FIFOライト制御部２，FIFO部３およびFIFOリード制御部６それぞれの詳細について説明する。
【００３６】
FIFOライト制御部２は、ラッチ・タイムスタンプ（Latch & Time Stamp）付加回路21，ライトイネーブル（Write Enable）生成回路22，リンク（Link）制御回路23で構成される。
【００３７】
ラッチ・タイムスタンプ付加回路21は、バスデータ検出部１からのフィルタ条件検出信号Ｄ，トリガ条件検出信号Ｅと、FIFO部３からのFIFOフルフラグ信号Ｉをイネーブル条件にして、バスデータ検出部１からのシステムバス抽出データＡと、内部生成するタイムスタンプ情報をラッチし、ｎ本のFIFOライトデータＢをFIFO部３へ出力する。
【００３８】
リンク制御回路23は、バスデータ検出部１からのｎ本のトリガ条件検出信号Ｅの入力に対して、設定されたリンク情報に従って組合せ制御または選択制御を行い、FIFO部３のメモリ31に対するシステムバス抽出データの書込み開始と、書込み終了を制御するためのリンク制御信号Ｈを生成してライトイネーブル生成回路22に出力する。
【００３９】
ライトイネーブル生成回路22は、FIFO部３からのｎ本のFIFOオーバーフロー制御信号Ｆとリンク制御回路23からのリンク制御信号Ｈを生成条件として、バスデータ検出部１からのフィルタ条件検出信号Ｄにより、FIFO部３におけるライト制御に用いられるｎ本のFFIFOライトイネーブル信号Ｇを生成する。
【００４０】
FIFO部３は、観測対象となるｎ個のシステムバスに対応して設けられたｎ個のメモリ31，ｎ個のメモリライト制御回路32およびｎ個のメモリリード制御回路33で構成される。もっとも、図１では、図面の煩雑化を回避するために、１組のメモリライト制御回路32とメモリリード制御回路33のみを示している。
【００４１】
メモリ31は、FIFOライトデータＢを記憶するシステムバス抽出データメモリと、FIFOフルフラグ信号Ｉを記憶するオーバーフロー情報メモリから成る。FIFOフルフラグ信号Ｉとは、FIFO部３へのライトエラー発生状態を示すオーバーフロー情報として、ｎ個のメモリ31のデータ書込み状態を示す信号をいう。
【００４２】
メモリライト制御回路32は、ライト制御回路321，オーバーフロー制御回路322およびメモリフル（Memory Full）検出回路323で構成される。
【００４３】
ライト制御回路321は、FIFOライト制御部２からのFIFOライトイネーブル信号Ｇをイネーブル条件、FIFOフルフラグ信号Ｉを生成条件として、ライトポインタ値Ｌおよびメモリリードイネーブル信号Ｊ１を生成する。ライトポインタ値Ｌはメモリリード制御回路33、メモリライトイネーブル信号Ｊ１はメモリ31のシステムバス抽出データメモリ，メモリリード制御回路33およびFIFOリード制御部６に出力される。
【００４４】
オーバーフロー制御回路322は、FIFOライト制御部２からのFIFOライトイネーブル信号Ｇをイネーブル条件、FIFOフルフラグ信号Ｉを生成条件として、FIFOオーバーフロー制御信号Ｆ，メモリライトイネーブル信号Ｊ２およびメモリライトアドレスＫを生成する。FIFOオーバーフロー制御信号ＦはFIFOライト制御部２のライトイネーブル生成回路22、メモリライトイネーブル信号Ｊ２はメモリ31のオーバーフロー情報メモリ、メモリライトアドレスＫはメモリ31のシステムバス抽出データメモリおよびオーバーフロー情報メモリにそれぞれ出力される。
【００４５】
メモリフル検出回路323は、ライトポインタ値Ｌとメモリリード制御部33からのメモリリードアドレスＭの比較結果、およびメモリライトイネーブル信号Ｊ１，FIFOリード制御部６からのFIFOリードイネーブル信号Ｐの状態により、メモリ31のデータライトフル状態を検出してFIFOフルフラグ信号ＩをFIFOライト制御部２へ出力する。
【００４６】
メモリリード制御部33は、リード制御回路331，メモリエンプティ（Memory Empty）検出回路332およびメモリ・オルモスト・エンプティ（Memory Almost Empty）検出回路333で構成される。
【００４７】
リード制御回路331は、FIFOリード制御部６からのFIFOリードイネーブル信号Ｐをイネーブル条件に、メモリリードアドレスＭを生成してメモリ31とメモリライト制御部32へ出力する。
【００４８】
メモリエンプティ検出回路332は、ライトポインタ値ＬとメモリリードアドレスＭの比較結果、およびメモリライトイネーブル信号Ｊ１，FIFOリードイネーブル信号Ｐの状態により、メモリ31のデータリードエンプティ状態を検出してFIFOエンプティ・フラグ信号ＮをFIFOリード制御部６へ出力する。
【００４９】
メモリ・オルモスト・エンプティ検出回路333は、同様にしてメモリ31のデータリード・オルモスト・エンプティ状態を検出してFIFOオルモスト・エンプティ・フラグ信号ＯをFIFOリード制御部６へ出力する。このように、ライトポインタ値Ｌはメモリ31のフル状態，エンプティ状態，オルモスト・エンプティ状態の検出に用いられる。また、メモリリードイネーブル信号Ｊ１はFIFOライトデータＢのシステムバス抽出データメモリへの書込みに用いられるのみならず、メモリ31のエンプティ状態とオルモスト・エンプティ状態の検出のためにも使用される。
【００５０】
尚、メモリライト制御部32と、メモリリード制御部33は、図２に示すように、ｎ個のメモリ31a〜31nと１対１対応に設けられ、ｎ本のFIFOライトイネーブル信号Ｇと、ｎ本のFIFOリードイネーブル信号Ｐにより、メモリ31a〜31n毎に独立して、ｎ本のFIFOライトデータＢのライト制御、およびリード制御によるｎ本のFIFOリードデータＣの出力が行われ、FIFOフルフラグ信号Ｉ，FIFOエンプティフラグ信号Ｎ，FIFOオルモスト・エンプティ・フラグ信号Ｏもメモリ31a〜31n毎にそれぞれｎ本出力される。
【００５１】
そして、メモリ31がフル状態時に、FIFOライトイネーブル信号ＧによるFIFOライトデータＢの書き込みが行われると、FIFOライトデータＢの書込みエラー発生を示すオーバーフロー情報がメモリ31のオーバーフロー情報メモリに上書きされるオーバーライト制御が行われる。
【００５２】
また、メモリ31a〜31nのシステムバス抽出データメモリ，オーバーフロー情報メモリに格納された、FIFOライトデータＢ，オーバーフロー情報は、ｎ本のFIFOリードイネーブル信号Ｐにより、エンプティ状態にないFIFOに対してのみリード制御が行われ、FIFOリードしデータＣとしてデータ多重制御部５へ出力される。
【００５３】
FIFOリード制御部６は、リードイネーブル生成回路61およびFIFO状態検出回路62で構成される。
【００５４】
FIFO状態検出回路62は、FIFO部３からのFIFOエンプティフラグ信号Ｎ，FIFOオルモスト・エンプティ・フラグ信号ＯおよびFIFOライトイネーブル信号Ｊ１と、FIFOリード制御部６のリードイネーブル生成回路61からのFIFOリードイネーブル信号Ｐを常時監視し、FIFOライトイネーブル信号Ｊ１およびFIFOリードイネーブル信号Ｐにより、リード／ライト制御された後のメモリ31のデータ読出し状態をリード／ライト制御される前・後で先読み検出・検出する。
【００５５】
リードイネーブル生成回路61は、FIFO状態検出回路62からのメモリ31全てのデータ読出し状態を示すFIFO状態検出信号Ｑにより、エンプティ状態でないメモリ31に対してのみアクティブ状態となり、エンプティ状態のメモリ31に対してはディセイブル状態である、FIFOリードイネーブル信号Ｐを生成して、FIFO部３のメモリライト制御部32，メモリリード制御部33とデータ多重制御部５とFIFO状態検出回路62へ出力する。
【００５６】
このように、FIFOリード制御部６は、エンプティ状態にないメモリ31に対してのみアクティブ状態が連続するｎ本のFIFOリードイネーブル信号Ｐを全てのメモリ31がエンプティ状態となるまで継続してFIFO部３へ出力するようにしたため、ｎ個のメモリ31のデータ読出し状態を、エンプティ状態にないメモリ31対して行われるリード制御が一巡する毎に先読み検出結果から判定し、次リード制御を行うエンプティ状態にないメモリ31を識別することで、エンプティ状態のメモリ31へのリードがスキップされ、エンプティ状態にないメモリ31に対してのみリード制御を行うことができる。
【００５７】
［動作の説明］
次に、以上のように構成された本バスモニタ回路の動作について、FIFOへの抽出データ書込みと、FIFOの書込みデータ読出しの場合に分けて説明する。
【００５８】
（１）FIFOへの抽出データ書込み
先ず、バスデータ検出部１は、観測対象となるｎ本のシステムバス（１）〜（ｎ）上で送受信されるバスデータを監視し、入力に対して検出条件として設定されるフィルタ条件と一致したバスデータを検出し、さらに抽出条件として設定されるトリガ条件に一致したバスデータを検出することで、フィルタ条件により検出されたバスデータの抽出開始（スタートトリガ条件）と抽出停止（ストップトリガ条件）を制御する。そして、各ｎ本のシステムバス抽出データＡ，フィルタ条件検出信号Ｄおよびトリガ条件検出信号ＥをFIFOライト制御部２へ出力する。FIFOへの抽出データ書込み動作は、FIFOライト制御部２とFIFO部３のメモリライト制御部32により行われる。
【００５９】
FIFOライト制御部２において、内部に設けられたラッチ・タイムスタンプ付加回路21は、バスデータ検出部１からのｎ本のフィルタ条件検出信号Ｄ，ｎ本のトリガ条件検出信号Ｅと、FIFO部３のメモリフル検出回路323からのｎ本のFIFOフルフラグ信号Ｉをイネーブル条件として、ｎ本のシステムバス抽出データＡをシステムバス毎に個別にラッチする。  また、システムバス抽出データＡの取込み時間を示すタイムスタンプ情報として、ラッチ・タイムスタンプ付加回路21内部に設けられたカウンタの値を、システムバス抽出データＡと同一なラッチイネーブル条件でシステムバス毎に個別にラッチする。ラッチされたシステムバス抽出データＡは、タイムスタンプ情報が付加されて、ｎ本のFIFOライトデータＢとしてFIFO部３へ出力される。また、FIFOライト制御部２は、ｎ個のメモリ31へ、FIFOライトデータＢを書き込むために、ｎ本のFIFOライトイネーブル信号Ｇを生成しFIFO部３へ出力する。
【００６０】
FIFOライトイネーブル信号Ｇの生成について図３を用いて説明する。リンク制御回路23は、バスデータ検出部１からのトリガ条件検出信号Ｅによりリンク制御信号Ｈを生成する。すなわち、トリガ条件検出信号Ｅの１発目をスタートトリガ、２発目をストップトリガとする。ライトイネーブル生成回路22は、バスデータ検出部１からのフィルタ条件検出信号Ｄをシステムバス抽出データとのタイミング調整のため、リンク制御信号Ｈをイネーブル条件としてシフトする。また、FIFO部３のオーバーフロー制御回路322からのFIFOオーバーフロー制御信号Ｆによりマスク制御することにより、FIFOライトイネーブル信号Ｇを生成する。図３の上段では、リンク制御信号Ｈが“Ｌ”の間のフィルタ条件検出信号D1，D2，D10およびD11と、FIFOオーバーフロー制御信号Ｆが“Ｈ”の間のフィルタ条件検出信号D6，D7マスクされ、フィルタ条件検出信号D3，D4，D5，D8，D9がシフトされてFIFOライトイネーブル信号G1，G2，G3，G4，G5とされている。
【００６１】
尚、リンク制御回路23でリンク制御信号Ｈの生成に用いられる、トリガ条件検出信号Ｅは、観測対象となる複数のシステムバス毎に検出される信号であり、リンク制御回路23のリンク条件設定により組合せ制御および選択制御が行え、その結果がFIFOライトイネーブル信号Ｇに反映され、FIFO部３にFIFOライトデータＢが書き込まれるため、図４に示すように、異なる観測対象のシステムバス間の相関関係による、システムバスのデータ抽出と抽出するデータの絞り込みが可能となる。
【００６２】
図４の上段はリンク条件設定が無い場合を示し、システムバスA上のAフィルタトリガ一致データ１〜7と、システムバスB上のBフィルタトリガ一致データ8〜10と、システムバスC上のCフィルタトリガ一致データ11〜12の全てが時系列にバスモニタ出力されている。一方、図４の下段はリンク条件設定された場合を示し、スタートトリンク先としてAフィルタトリガ一致データ3にCフィルタトリガ一致データ11、ストップリンク先としてAフィルタトリガ一致データ6にBフィルタトリガ一致データ10が設定されている。この場合は、Aフィルタトリガ一致データ3〜6,Bフィルタトリガ一致データ9,10,Cフィルタトリガ一致データ11,12のみがバスモニタ出力されることになる。
【００６３】
メモリライト制御部32の内のライト制御回路321の内部には、メモリフル検出回路323からのFIFOフルフラグ信号Ｉにより、メモリフル未検出時にFIFOライトイネーブル信号Ｇによりカウントアップし、メモリフル検出時にカウントアップが停止するライトポインタが設けられている。ライトポインタのカウント値はライトポインタ値Ｌとして、メモリリード制御部33のリード制御回路331に出力される。
【００６４】
そして、メモリフル検出時にはメモリ31へのライト制御を停止するため、図３の下段に示すように、ライト制御回路321でFIFOフルフラグ信号Ｉを用いて、FIFOライト制御部２からのFIFOライトイネーブル信号Ｇに対して、マスク制御を行った、メモリライトイネーブル信号Ｊ１がメモリ31のシステムバス抽出データメモリへ出力される。図３では、FIFOライトイネーブル信号Ｇの内でFIFOライトイネーブル信号G3がマスクされて、メモリライトイネーブル信号Ｊとしてメモリライトイネーブル信号J1-1,J1-2,J1-4,J1-5が出力されている。
【００６５】
メモリ31のフル状態を示すFIFOフルフラグ信号Ｉは、メモリフル検出回路323で、ライトポンタ値Ｌと、メモリリードアドレスＭの比較結果およびメモリライトイネーブル信号Ｊ１，メモリリードイネーブル信号Ｐの状態により検出され、FIFOライト制御回路321と、オーバーフロー制御回路322と、メモリ31のオーバーフロー情報メモリへ出力される。
【００６６】
ライト制御回路321におけるFIFOフルフラグ信号Ｉの使途は上述のとおりである。オーバーフロー制御回路322に出力されるFIFOフルフラグ信号Ｉは、図３の下段に示すように、FIFOライトイネーブル信号Ｇをイネーブルにシフトされ、微分されて、FIFOオーバーフロー制御信号Ｆとして、FIFOライト制御部２のライトイネーブル生成回路22に出力される。
【００６７】
FIFOフルフラグ信号Ｉは、FIFO部３へのデータ書込み時の書込みエラー発生を示すオーバーフロー情報データとしてメモリ31のオーバーフロー情報メモリに書き込まれる。その制御は、メモリ制御部32のオーバーフロー制御回路322により行われ、メモリフル検出時にFIFOライトイネーブル信号Ｇが入力されると、メモリフル検出直前にオーバーフロー未発生情報が書き込まれたオーバーフロー情報メモリのアドレスへ、FIFOフルフラグ信号Ｉをオーバーフロー発生情報として上書きするオーバーライト制御となる。
【００６８】
図３の下段において、メモリ31の書込みアドレスとして、オーバーフロー制御回路322から出力されるメモリライトアドレスＫは、メモリフル状態の未検出時にはライト制御回路321で生成されるライトポインタ値Ｌと同じ値であり、メモリフル検出回路323でメモリフル状態が検出されメモリフル検出信号Ｉが出力されると、メモリフル検出信号Ｉをセレクト制御信号として、メモリフル状態を検出する直前のメモリライトアドレス値に切り替わり出力される。図３では、メモリライトアドレスＫは(n-1)からnになるべきところ、FIFOフルフラグ信号Ｉが“Ｈ”の間は留保されている。
【００６９】
このメモリフル検出時に切り替わるメモリライトアドレスＫと、FIFOオーバーフロー制御信号Ｆによりメモリフル検出時にマスクされない、FIFOライトイネーブル信号Ｇにより、図５に示すオーバーライト制御が行われる。図５はオーバーフロー制御回路322よって行われるオーバーライト制御の動作を示した動作概略図である。
【００７０】
図５では、メモリ31に書き込まれたシステムバスデータ1〜(N-1)がリード制御されずにシステムバスデータNの書込み制御が行われて（図５の（１））、全てのメモリ領域にシステムバスデータが書き込まれた状態を示し、このときFIFOフルフラグ信号Ｉが生成される（図５の（２））。
【００７１】
この状態で、システムバスデータ1〜Nがリード制御されずに、次のシステムバスデータ（N+1）がメモリ31にライト制御されると（図５の（３））、FIFOフル検出状態でシステムバスデータがライト制御されるため、オーバーフロー制御となるシステムバスデータNのオーバーフロー情報ビットの格納領域に対して、オーバーフロー発生を示す値（FIFOフルフラグ信号Ｉ）がオーバーライト制御される（図５の（４））。そして、オーバーフロー制御の発生以降、メモリ31に対してリード制御が行われずに、システムバスデータのライト制御が行われた場合には、そのシステムバスデータ（N+1）は破棄される（図５の（５））。
【００７２】
（２）FIFOの書込みデータ読出し
FIFOの書込みデータ読出し動作は、FIFOリード制御部６とFIFO部３のメモリリード制御部33により行われる。
【００７３】
FIFOリード制御部６は、FIFO部３のメモリエンプティ検出回路332からのFIFOエンプティフラグ信号Ｎと、メモリ・オルモスト・エンプティ検出回路333からのFIFOオルモスト・エンプティ・フラグ信号Ｏと、ライト制御回路321からのメモリライトイネーブル信号Ｊ１と、FIFOリード制御部６のリードイネーブル生成回路61からのFIFOリードイネーブル信号ＰをFIFO状態検出回路62で常時監視する。
【００７４】
そして、FIFOエンプティフラグ信号Ｎからメモリライトイネーブル信号Ｊ１と、FIFOリードイネーブル信号Ｐによるリード／ライト制御後のメモリ31のデータ読出し状態を検出する。また、FIFOオルモスト・エンプティ・フラグ信号Ｏと、メモリライトイネーブル信号Ｊ１と、FIFOリードイネーブル信号Ｐから、メモリライトイネーブル信号Ｊ１と、FIFOリードイネーブル信号Ｐによるリード／ライト制御が行われる前に、リード／ライト制御後のメモリ31のデータ読出し状態を先読みして検出する。
【００７５】
FIFO状態検出回路62で検出された結果は、メモリ31全てのデータ読出し状態を示すFIFO状態検出信号Ｑとして生成される。この生成サイクルは、エンプティ状態でない全てのメモリ31に対して競合せずに１回ずつ連続してリード制御を行うための期間を１単位とし、メモリ31全てがエンプティ状態となるまで連続して繰り返される。FIFO状態検出信号Ｑはリードイネーブル生成回路61に入力し、図６に示すように連続して繰り返されるFIFOリードイネーブル信号Ｐの生成サイクル間において用いられる。
【００７６】
すなわち、FIFO状態検出信号Ｑは、１生成サイクルの最後のFIFOリードイネーブル信号Ｐがアクティブとなるのと同時に、次の生成サイクルのFIFOリードイネーブル信号Ｐの生成条件として用いられ、１生成サイクルで最後にアクティブとなったFIFOリードイネーブル信号Ｐがディセイブルになるのと同時に、次の生成サイクルの最初のFIFOリードイネーブル信号Ｐをアクティブとする制御が行わる。
【００７７】
図６において、１つ目から５つ目のリードイネーブル生成サイクルまではメモリライトイネーブル信号Ｊ１が“Ｌ”である。１つ目のリードイネーブル生成サイクルでは、全てのFIFOエンプティフラグ信号N1〜N5が“Ｌ”であるため、全てのFIFOリードイネーブル信号P1〜P5がアクティブとなっている。２つ目のリードイネーブル生成サイクルでは、FIFOエンプティフラグ信号N2が“Ｈ”となるが、それはリード制御後であるので、このサイクルにおいてFIFOリードイネーブル信号P1〜P5はアクティブを維持する。
【００７８】
３つ目のリードイネーブル生成サイクルでは、FIFOエンプティフラグ信号N2は“Ｈ”を維持しているため、FIFOリードイネーブル信号P2はリード制御後の検出によるディセイブルとなる。また、FIFOエンプティフラグ信号N5が当該サイクルの開始時に“Ｈ”となっているため、FIFOリードイネーブル信号P5はリード制御前の先読み検出によるディセイブルとなる。また、FIFOエンプティフラグ信号N3が“Ｈ”となるが、それはリード制御後であるので、このサイクルにおいてFIFOリードイネーブル信号P3がディセイブルとなることはない。
【００７９】
４つ目のリードイネーブル生成サイクルでは、FIFOエンプティフラグ信号N2，N3，N5は“Ｈ”を維持しているため、FIFOリードイネーブル信号P2，P3，P5がディセイブルとなる。また、FIFOエンプティフラグ信号N1が“Ｈ”となるが、それはリード制御後であるので、このサイクルにおいてFIFOリードイネーブル信号P1がディセイブルとなることはない。
【００８０】
５つ目のリードイネーブル生成サイクルでは、FIFOエンプティフラグ信号N1，N2，N3，N5は“Ｈ”を維持しているため、FIFOリードイネーブル信号P1，P2，P3，P5がディセイブルとなる。なお、FIFOエンプティフラグ信号N4は“Ｌ”を維持しているため、FIFOリードイネーブル信号P4はアクティブのままである。このアクティブ状態は、FIFOエンプティフラグ信号N4が“Ｈ”となるか、またはFIFOエンプティフラグ信号N1，N2，N3，N5の内の１
つ以上が“Ｌ”となるまで持続する。すなわち、エンプティ状態にないメモリ31が１つの場合のFIFOリードイネーブル信号Ｐは、そのメモリ31がエンプティ状態となるか、エンプティ状態にないメモリ31が２つ以上となるまでアクティブ状態を保持した出力となる。
【００８１】
図６では、７つ目のリードイネーブル生成サイクルまでFIFOエンプティフラグ信号N1，N2，N3，N5が“Ｈ”であるが、７つ目のリードイネーブル生成サイクルでメモリライトイネーブル信号Ｊ１が“Ｈ”となり、これを受けて８つ目のリードイネーブル生成サイクルでメモリ31のデータ読出し状態の先読み検出によりFIFOエンプティフラグ信号N1は“Ｌ”となっている。このため、これ以降のリードイネーブル生成サイクルでは、FIFOリードイネーブル信号P1，P４がアクティブとなる状態が続く。しかし、図６の右端に近づくと、再びFIFOエンプティフラグ信号N1が“Ｈ”となり、FIFOエンプティフラグ信号N4も“Ｈ”となって、全てのメモリ31がエンプティ状態となるので、アクティブ状態のFIFOリードイネーブル信号がなくなっている。
【００８２】
このように、メモリ31のリード制御は、エンプティ状態にないメモリ31対してのみ連続して行われ、エンプティ状態であるメモリ31に対してはスキップされる。図７（Ａ）はメモリ1〜メモリNの全てがエンプティ状態でなく、従ってメモリ1〜メモリNの全てに対してFIFOリードイネーブル信号が繰り返し出力されていることを示す。しかし、図７（Ｂ）はメモリ1とメモリ(N-1)がエンプティ状態となっており、メモリ1とメモリ(N-1)に対するFIFOリードイネーブル信号はスキップされていることを示している。
【００８３】
メモリリード制御部33の内のリード制御回路331の内部には、メモリエンプティ未検出時にFIFOリードイネーブル信号Ｐによりカウントアップし、メモリエンプティ検出時にカウントアップが停止するリードポインタが設けられ、リードポインタのカウント値がメモリリードアドレスＭとしてメモリ31に出力される。
【００８４】
また、メモリエンプティ検出回路332で検出されるFIFOエンプティ検出信号Ｎ，メモリ・オルモスト・エンプティ検出回路333で検出されるFIFOオルモスト・エンプティ検出信号Ｏは、リード制御回路331のリードポインタ値と、メモリライト制御部32のライト制御回路321からのライトポインタ値Ｌの比較結果、およびメモリライトイネーブル信号Ｊ１，メモリリードイネーブル信号Ｐの状態により生成される。
【００８５】
なお、読出しデータの多重動作は、データ多重制御部５により行われる。データ多重制御部５は、FIFOリード制御部６からのｎ本のFIFOリードイネーブル信号Ｐをセレクト制御信号として、FIFO部３）から読み出され、バス識別コード付加回路４により、観測システムバス毎に固有のコードが付加された、ｎ本のFIFOリードデータＣを１つのデータ列に多重する、ｎ to 1セレクト回路の単純な動作を行う。
【実施例２】
【００８６】
図８は、本発明のバスモニタ回路の実施例２を示す。このバスモニタ回路は、上述のバスモニタ回路と基本的構成は同じであるが、バスモニタ回路からのモニタ出力に割り当てられる、集積回路の端子数に制限がある場合のモニタ出力方法について工夫している。
【００８７】
図８を参照すると、このバスモニタ回路は、図１に示下バスモニタ回路の最終段に、セカンドFIFO部７と、パラレル／シリアル変換部８を追加した構成となっている。追加されたパラレル／シリアル変換部８は、観測対象となるシステムバスのデータ幅を設定されたデータ幅毎に分割し、シリアル出力するための制御機能部であり、また、セカンドFIFO部７は、データ多重制御部５からの観測対象となるシステムバスのデータ抽出速度と、パラレル／シリアル変換部８により設定されたデータ幅に分割され、集積回路外部へ出力されるシリアル出力速度との速度調整を行う制御機能部である。
【００８８】
セカンドFIFO部７は、FIFO部３のメモリ・オルモスト・エンプティ検出機能のみを削除し、他の機能は同一とするFIFO部である。このため、オーバーフロー制御が可能であり、FIFO部３のリードイネーブル信号Ｐをライトイネーブル信号として、データ多重制御部５からのバスモニタ多重データＲを格納する。
【００８９】
パラレル／シリアル変換部８は、セカンドFIFO部７から出力されるセカンドFIFOエンプティフラグ信号Ｕを常時監視し、セカンドFIFO部７にデータ多重制御部５からのバスモニタ多重データＲが書き込まれエンプティ状態にない状態を検出すると、セカンドFIFOリードイネーブル信号Ｔを出力し、セカンドFIFO部７に格納されたバスモニタ多重データＲをセカンドFIFOリードデータＳとして読み出す。また、これと共に、パラレル／シリアル変換部８でセカンドFIFOリードデータＳをラッチし、設定されたデータ幅で分割されたセカンドFIFOリードデータＳを、シリアル出力データとしてバスモニタ回路からモニタ出力する。
【００９０】
パラレル／シリアル変換部８からセカンドFIFO部７に出力されるセカンドFIFOリードイネーブル信号Ｔは、パラレル／シリアル変換部８にラッチされ、設定されたデータ幅で分割されたセカンドFIFOリードデータＳが全てシリアル出力されるまで、セカンドFIFO部７内に多数のバスモニタ多重データＲが格納された、エンプティ状態にない状態であっても、セカンドFIFOリードイネーブル信号Ｔの生成出力を停止する。
【００９１】
このため、パラレル／シリアル変換部８から生成出力されるセカンドFIFOリードイネーブル信号Ｔは、セカンドFIFO部７から読み出されパラレル／シリアル変換部８にラッチされたセカンドFIFOリードデータＳが設定されたデータ幅に分割されシリアル出力される最終サイクル毎に生成されセカンドFIFO部７へ出力される。また、パラレル／シリアル変換部８は、観測対象となる複数のシステムバスのデータ幅が異なる場合のための、パディング（Padding）機能を備え、観測対象となるシステムバスから抽出されたデータが分割出力されてシリアル出力される出力サイクル数は可変長で行われる。
【００９２】
従って、追加されるセカンドFIFO部７のメモリ容量分だけ、バスモニタ全体のFIFO部のメモリ容量が大きくなるデメリットはあるが、バスモニタ回路から出力され集積回路の端子に接続されるバスモニタ出力信号の信号幅を図９に示すように低減する効果が得られる。図９は、データ多重制御部出力の信号幅がｎビットであり、集積回路の端子に接続されるバスモニタ出力信号の信号幅が４ビットとした場合の例であり、Ｐ／Ｓ変換部出力は、４ビットづつｍ（＝ｎ／４）回に亘る。
【図面の簡単な説明】
【００９３】
【図１】本発明のバスモニタ回路の実施例１を示すブロック図
【図２】実施例１におけるFIFO部３の詳細ブロック図
【図３】実施例１におけるFIFOライト動作のタイミングチャート
【図４】実施例１におけるリンク制御回路23でのリンク設定条件によるバスモニタ出力を示す図
【図５】実施例１におけるFIFO部３オーバーフロー制御回路322によるオーバーフロー制御の概略図
【図６】実施例１におけるFIFOリードイネーブル信号Ｐ生成のタイミングチャート
【図７】実施例１におけるメモリのリード制御の概略図
【図８】本発明のバスモニタ回路の実施例２を示すブロック図
【図９】実施例１と実施例２におけるバスモニタ出力の比較図
【図１０】従来技術の一例を示すブロック図
【図１１】従来技術の他の例を示すブロック図
【符号の説明】
【００９４】
１            バスデータ検出部
２            FIFOライト制御部
３            FIFO部
４            バス識別コード付加回路
５            データ多重制御部
６            FIFOリード制御部
７            セカンドFIFO部
８            パラレル／シリアル変換部
21            ラッチ・タイムスタンプ付加回路
22            ライトイネーブル生成回路
23            リンク制御回路
31,31a〜31n   メモリ
32,32a〜32n   メモリライト制御部
33,33a〜33n   メモリリード制御部
61            リードイネーブル生成回路
62            FIFO状態検出回路
321           ライト制御回路
322           オーバーフロー制御回路
323           メモリフル検出回路
331           リード制御回路
332           メモリエンプティ検出回路
333           メモリ・オルモスト・エンプティ検出回路
Ａ            システムバス抽出データ
Ｂ            FIFOライトデータ
Ｃ            FIFOリードデータ
Ｄ            フィルタ条件検出信号
Ｅ            トリガ条件検出信号
Ｆ            FIFOオーバーフロー制御信号
Ｇ            FIFOライトイネーブル信号
Ｈ            リンク制御信号
Ｉ            FIFOフルフラグ信号
Ｊ１，Ｊ２    メモリライトイネーブル信号
Ｋ            メモリライトアドレス
Ｌ            ライトポインタ値
Ｍ            メモリリードアドレス
Ｎ            FIFOエンプティフラグ信号
Ｏ            FIFOオルモスト・エンプティ・フラグ信号
Ｐ            FIFOリードイネーブル信号
Ｑ            FIFO状態検出信号
Ｒ            バスモニタ多重データ
Ｓ            セカンドFIFOリードデータ
Ｔ            セカンドFIFOリードイネーブル信号
Ｕ            セカンドFIFOエンプティフラグ信号
【図１】
2007310516.tif 000003
【図２】
2007310516.tif 000004
【図３】
2007310516.tif 000005
【図４】
2007310516.tif 000006
【図５】
2007310516.tif 000007
【図６】
2007310516.tif 000008
【図７】
2007310516.tif 000009
【図８】
2007310516.tif 000010
【図９】
2007310516.tif 000011
【図１０】
2007310516.tif 000012
【図１１】
2007310516.tif 000013