(57)【要約】【課題】記憶手段に記憶可能な容量以上のデータを残す。【解決手段】本発明の一態様にかかるデータ転送装置は、所定のデータ処理を行う回路モジュール（１１〜１３）から出力された内部信号の波形データを記憶する記憶手段（１５）と、記憶手段（１５）に記憶された波形データのデータサイズが所定のデータサイズ以上になった場合に、記憶手段（１５）に記憶されている波形データを、インタフェース（１０）を介して接続された記憶装置（２）に転送する転送手段（１４）と、を有することを特徴とする。【選択図】図２
2016014971.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータ処理を行う回路モジュールから出力された内部信号の波形データを記憶する記憶手段と、
前記記憶手段に記憶された前記波形データのデータサイズが所定のデータサイズ以上になった場合に、前記記憶手段に記憶されている前記波形データを、インタフェースを介して接続された記憶装置に転送する転送手段と、を有することを特徴とするデータ転送装置。
【請求項２】
前記内部信号をサンプリングして波形データに変換する変換手段と、
サンプリングレートを変更する変更手段と、を有することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記波形データを圧縮する圧縮手段と、
前記圧縮手段で圧縮する波形データの内部信号を選択する内部信号選択手段と、を有することを特徴とする請求項１または請求項２記載のデータ転送装置。
【請求項４】
前記波形データを前記記憶手段に記憶するトレース対象の回路モジュールを選択する回路モジュール選択手段を有することを特徴とする請求項１から請求項３の何れか１項に記載のデータ転送装置。
【請求項５】
前記波形データを前記記憶手段に記憶するトレース対象の内部信号を選択する内部信号選択手段を有することを特徴とする請求項１から請求項４の何れか１項に記載のデータ転送装置。
【請求項６】
所定のデータ処理を行う回路モジュールから出力された内部信号の波形データを記憶手段に記憶する記憶工程と、
前記記憶手段に記憶された前記波形データのデータサイズが所定のデータサイズ以上になった場合に、前記記憶手段に記憶されている前記波形データを、インタフェースを介して接続された記憶装置に転送する転送工程と、を有することを特徴とするデータ転送方法。
【請求項７】
所定のデータ処理を行う回路モジュールから出力された内部信号の波形データを記憶手段に記憶する記憶処理と、
前記記憶手段に記憶された前記波形データのデータサイズが所定のデータサイズ以上になった場合に、前記記憶手段に記憶されている前記波形データを、インタフェースを介して接続された記憶装置に転送する転送処理と、をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のデータ処理を行う回路モジュールから出力された内部信号の波形データを転送する技術に関する。
【背景技術】
【０００２】
従来技術として、大規模集積回路であるＬＳＩ（Large Scale Integration、以下、ＬＳＩと記載する）のデータ処理を実施するモジュールから出力された内部信号をロジックアナライザを用いて取得する方法がある。
【０００３】
図１は、モジュールから出力された内部信号をロジックアナライザを用いて取得する装置の構成例を示す図である。
【０００４】
従来のＬＳＩ１００は、ＬＳＩのデータ処理を実施するモジュール１０２〜１０４、ＢＵＳ Ｓｅｌｅｃｔｏｒ１０５を有して構成している。ロジックアナライザ２００は、ＢＵＳ Ｓｅｌｅｃｔｏｒ１０５と接続する。
【０００５】
ＢＵＳ Ｓｅｌｅｃｔｏｒ１０５は、モジュール１０２〜１０４の中からデバッグ対象のモジュールを選択し、その選択したデバッグ対象のモジュールから出力された内部信号を、ロジックアナライザ２００から出力されたデバッグ用のＬＳＩ外部信号に合わせてロジックアナライザ２００に出力する。これにより、ロジックアナライザ２００は、デバッグ対象のモジュールから出力された内部信号を取得することができる。なお、ＢＵＳ Ｓｅｌｅｃｔｏｒ１０５において選択するデバッグ対象のモジュールは、ＢＵＳ Ｓｅｌｅｃｔｏｒ１０５内のレジスタにＣＰＵ（Central Processing Unit）が設定する。この場合、ＣＰＵは、ＬＳＩ１００に内蔵されていても良く、また、ＬＳＩ１００と外部接続されていても良い。
【０００６】
図１に示すＬＳＩ１００の構成は、ＬＳＩ１００に接続されたロジックアナライザ２００がデバッグ対象のモジュールから出力された内部信号を取得する構成になっている。しかし、近年のＬＳＩは、ハードウェアの集積度が向上し、ＬＳＩの小型化が進んでいるため、ロジックアナライザ２００をＬＳＩ１００に接続し難く、デバッグ対象のモジュールから出力された内部信号を取得し難くなっている。
【０００７】
このため、例えば、特許文献１（特開平８−６３３７４号公報）には、ＬＳＩ動作の履歴情報を保持できる機能を実現するトレース機能内蔵型のＬＳＩが開示されている。
【０００８】
特許文献１は、ＬＳＩ本来の目的機能部分である内部回路３への入出力データ、または、内部回路３内の内部信号をトレースＲＡＭ７に入力し、常に最新の所定個数のデータをトレースＲＡＭ７で記録保持するようにしている。そして、エラー発生時にトレースＲＡＭ７における新規データの記録保持動作を停止し、外部からの指示に応じて、トレースＲＡＭ７内のデータを外部に読み出すようにしている。また、動作条件検出回路１６ｂを設け、動作条件検出回路１６ｂに書き込まれた動作条件が満たされた場合に、トレースＲＡＭ７における新規データの記録保持動作を停止し、外部からの指示に応じて、トレースＲＡＭ７内のデータを外部に読み出すようにしている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１の発明は、常に最新の所定個数のデータをトレースＲＡＭ７で記録保持するようにしている。このため、特許文献１の発明は、トレースＲＡＭ７に記録された最新の所定個数のデータしか外部に読み出すことができない。近年のＬＳＩは、ハードウェアの集積度が向上し、これに伴い収集すべきデータ量も大幅に増大してきている。その結果、トレースＲＡＭ７に記録することが可能なデータ量が少ない場合は、トレースＲＡＭ７に記録された最新の所定個数のデータだけではバグ等を解析できない状態を発生させてしまう場合が考えられる。このため、トレースＲＡＭ７等の記憶手段に記憶可能な容量以上のデータを残しておき、記憶手段に記録された最新の所定個数のデータだけではバグ等を解析できない状態を防止する必要がある。
【００１０】
本発明の目的は、記憶手段に記憶可能な容量以上のデータを残すことである。
【課題を解決するための手段】
【００１１】
本発明の一態様にかかるデータ転送装置は、
所定のデータ処理を行う回路モジュールから出力された内部信号の波形データを記憶する記憶手段と、
前記記憶手段に記憶された前記波形データのデータサイズが所定のデータサイズ以上になった場合に、前記記憶手段に記憶されている前記波形データを、インタフェースを介して接続された記憶装置に転送する転送手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明の一態様によれば、記憶手段に記憶可能な容量以上のデータを残すことができる。
【図面の簡単な説明】
【００１３】
【図１】従来のＬＳＩの構成例を示す図である。
【図２】本実施形態のＬＳＩの構成例を示す図である。
【図３】本実施形態の内部信号記録装置１４の詳細構成例を示す図である。
【図４】サンプリングレート選択部２１の第１の処理動作例を示す図である。
【図５】サンプリングレート選択部２１の第２の処理動作例を示す図である。
【図６】トリガ条件監視部２４の処理動作例を示す図である。
【図７】本実施形態のＬＳＩの処理動作例を示す図である。
【図８】第２の実施形態のＬＳＩの構成例を示す図である。
【発明を実施するための形態】
【００１４】
（本発明の一態様にかかるデータ転送装置の実施形態の概要）
まず、図２、図８を参照しながら、本発明の一態様にかかるデータ転送装置の実施形態の概要について説明する。図２、図８は、本発明の一態様にかかるデータ転送装置の構成例を示す図である。
【００１５】
本発明の一態様にかかるデータ転送装置は、記憶手段、転送手段を有して構成する大規模集積回路であるＬＳＩ１を一例とする。
【００１６】
記憶手段は、所定のデータ処理を行う回路モジュールから出力された内部信号の波形データを記憶する。回路モジュールは、例えば、図２に示すモジュール１１〜１３が機能する。記憶手段は、例えば、図２に示す内蔵メモリ１５が機能する。
【００１７】
転送手段は、記憶手段に記憶された波形データのデータサイズが所定のデータサイズ以上になった場合に、記憶手段に記憶されている波形データを、インタフェースを介して接続された記憶装置に転送する。インタフェースとしては、例えば、図２に示す外部メディアＩ／Ｆ１０や図８に示すネットワークＩ／Ｆ３０が機能する。また、記憶装置としては、例えば、図２に示す外部記憶メディア２や図８に示すサーバ３等が機能する。転送手段は、例えば、図２に示す内部信号記録装置１４が機能する。
【００１８】
本発明の一態様にかかるデータ転送装置は、記憶手段に記憶された波形データのデータサイズが所定のデータサイズ以上になった場合に、その記憶手段に記憶されている波形データを、インタフェースを介して接続された記憶装置に転送する。このため、本発明の一態様にかかるデータ転送装置は、インタフェースを介して接続された記憶装置を利用して記憶手段に記憶可能な容量以上の波形データを残すことができる。その結果、本発明の一態様にかかるデータ転送装置は、所定のデータ処理を行う回路モジュールから出力された内部信号の波形データを基にバグ等を解析できない状態を防止することができる。以下、添付図面を参照しながら、本発明の一態様にかかるデータ転送装置について詳細に説明する。なお、以下の実施形態では、データ転送装置としてＬＳＩ１を例に説明する。但し、本発明の一態様にかかるデータ転送装置は、大規模集積回路であるＬＳＩ１に限定せず、所定のデータ処理を行う回路モジュールを組み込んだ装置に適用可能である。
【００１９】
（第１の実施形態）
＜ＬＳＩ１の構成例＞
まず、図２を参照しながら、本実施形態のＬＳＩ１の構成例について説明する。図２は、本実施形態のＬＳＩ１の構成例を示す図である。本実施形態のＬＳＩ１は、ＬＳＩ動作の履歴情報を保持できる機能を実現するトレース機能内蔵型のＬＳＩである。ＬＳＩ動作の履歴情報としては、例えば、ＬＳＩのデータ処理を実施するモジュールから出力される内部信号の波形データ等があげられる。
【００２０】
本実施形態のＬＳＩ１は、外部メディアＩ／Ｆ１０、ＬＳＩのデータ処理を実施するモジュール１１〜１３、内部信号記録装置１４、内蔵メモリ１５で構成する。本実施形態の内蔵メモリ１５のデータサイズは１０２４バイトとする。但し、１０２４バイトに限定されるものではない。モジュール１１〜１３は、所定のデータ処理を行う回路モジュールであり、本実施形態では、ＬＳＩのデータ処理を実施する。なお、モジュール１１〜１３の数は、３つに限定されるものではない。
【００２１】
本実施形態のＬＳＩ１は、ＬＳＩのデータ処理を実施するモジュール１１〜１３から出力された内部信号の波形データである内部波形データを内蔵メモリ１５に記憶する。そして、内蔵メモリ１５に記憶された内部波形データのデータサイズが所定のデータサイズ以上になった場合に、その内蔵メモリ１５に記憶されている内部波形データを外部記憶メディア２に転送して書き込むようにしている。外部記憶メディア２としては、ＵＳＢメモリ、ＳＤメモリカード、ＨＤＤなどがあげられる。外部記憶メディア２のデータ単位は、１セクタ５１２バイトである規格が多いため、データ転送を開始するための所定のデータサイズとしては、５１２バイトとすることが好ましい。但し、５１２バイトに限定されるものではない。
【００２２】
内部信号記録装置１４は、内蔵メモリ１５に記憶するトレース対象の内部信号の情報と、内蔵メモリ１５に記憶された内部波形データを外部記憶メディア２に転送する処理を開始する契機となるトリガ条件と、が設定されている。内部信号の情報とトリガ条件は、例えば、ＣＰＵにより設定される。ＣＰＵは、ＬＳＩ１に内蔵されていても良く、また、ＬＳＩ１と外部接続されていても良い。
【００２３】
内部信号記録装置１４は、ＣＰＵにより内部信号の情報とトリガ条件とが設定された場合に、トレース対象の内部信号の内部波形データを内蔵メモリ１５に書き込む処理を開始する。そして、内部信号記録装置１４は、トレース対象の内部信号の状態を監視し、トレース対象の内部信号の状態がＣＰＵにより設定されたトリガ条件を満たした場合に、内部波形データを内蔵メモリ１５に書き込む処理を停止する。また、内部信号記録装置１４は、内蔵メモリ１５に書き込まれている最終データを外部メディアＩ／Ｆ１０を介して外部記憶メディア２に書き込む。
【００２４】
また、内部信号記録装置１４は、内蔵メモリ１５に書き込まれた内部波形データが所定のデータサイズ以上になった場合に、内蔵メモリ１５に書き込まれている内部波形データを外部記憶メディア２に書き込む処理を実施する。
【００２５】
＜内部信号記録装置１４の詳細構成例＞
次に、図３を参照しながら、本実施形態の内部信号記録装置１４の詳細構成例について説明する。図３は、本実施形態の内部信号記録装置１４の詳細構成例を示す図である。
【００２６】
本実施形態の内部信号記録装置１４は、モジュール信号セレクタ部２０、サンプリングレート選択部２１、データ圧縮処理部２２、内蔵メモリ書き込みＩ／Ｆ２３、トリガ条件監視部２４を有して構成する。
【００２７】
モジュール信号セレクタ部２０は、各モジュール１１〜１３から入力されてくるデバック用の信号線の中から内蔵メモリ１５に記憶するトレース対象のモジュールやトレース対象の内部信号を選択し、サンプリングレート選択部２１に出力する。
【００２８】
サンプリングレート選択部２１は、モジュール信号セレクタ部２０から出力された内部信号を内部波形データに変換する。なお、サンプリングレート選択部２１は、内部波形データに変換する際に使用するサンプリングレートを選択し、その選択したサンプリングレートで内部信号をサンプリングして内部波形データに変換する。例えば、ＬＳＩ１に入力されるシステムクロックを最小単位とし、分周回路でシステムクロックを分周することでサンプリングレートを粗くすることができる。サンプリングレートを粗くすることで、内部信号の内部波形データの精度は低減することになるが、より多くの内部信号の内部波形データを内蔵メモリ１５に記憶することができる。
【００２９】
データ圧縮処理部２２は、内部波形データの圧縮を実施する。サンプリングレート単位で取得した内部波形データは、１と０とで構成されるデータである。このため、例えば、ファックスなどで用いられている２値データの圧縮技術を使うことができる。
【００３０】
データ圧縮処理部２２は、内部信号毎に圧縮処理を実施する。２値データの圧縮技術は“１”か“０”が連続するデータに対して高い圧縮率を実現し、内部波形データのデータ量を低減することができる。しかし、クロックなどのような“１”と“０”が連続しないデータを圧縮する場合は、逆に元のデータよりもデータ量が大きくなることが多い。このため、圧縮することで元のデータよりもデータ量が大きくなるような特性を持つデータに対しては、データ圧縮処理部２２で圧縮しない方が好ましい。従って、データ圧縮処理部２２において圧縮するか圧縮しないかを決定する設定レジスタを設け、その設定レジスタに圧縮する内部信号や圧縮しない内部信号を設定する。そして、設定レジスタに設定された情報を基に、内部波形データに対してデータ圧縮処理部２２で圧縮を行うか否かを切り替えるようにすることが好ましい。これにより、内部波形データのデータ構成に応じてデータ圧縮処理部２２で圧縮するか否かを決定することができる。
【００３１】
内蔵メモリ書き込みＩ／Ｆ２３は、内部波形データを内蔵メモリ１５に書き込む。そして、内蔵メモリ１５に書き込んだ内部波形データのデータサイズが所定のデータサイズ以上になった場合に、外部メディアＩ／Ｆ１０に対し、内蔵メモリ１５に書き込まれている内部波形データを外部記憶メディア２に書き込むための指示を行う。
【００３２】
内蔵メモリ書き込みＩ／Ｆ２３は、内部波形データを内蔵メモリ１５に書き込むための書き込み開始命令がトリガ条件監視部２４から通知された場合に、内部波形データを内蔵メモリ１５に書き込むための処理を開始する。また、内部波形データの書き込みを終了するための書き込み停止命令がトリガ条件監視部２４から通知された場合に、内部波形データを内蔵メモリ１５に書き込むための処理を終了する。
【００３３】
内蔵メモリ書き込みＩ／Ｆ２３は、書き込み開始命令が通知された時に、外部記憶メディア２が外部メディアＩ／Ｆ１０に接続されておらず、データ書き込み不可能な状態の場合は、トリガ条件監視部２４から通知された書き込み開始命令を無効とする。そして、内部波形データを内蔵メモリ１５に書き込むための処理を開始しないようにする。また、内蔵メモリ書き込みＩ／Ｆ２３は、内部波形データを内蔵メモリ１５に書き込むことができない旨のエラーをＣＰＵに通知する。
【００３４】
トリガ条件監視部２４は、ＣＰＵにより内部信号の情報とトリガ条件とが設定された場合に、内部波形データを内蔵メモリ１５に書き込むための書き込み開始命令を内蔵メモリ書き込みＩ／Ｆ２３に通知する。その後、ＣＰＵにより設定された内部信号の情報を基にトレース対象の内部信号を随時監視する。そして、トレース対象の内部信号の状態がＣＰＵにより設定されたトリガ条件を満たした場合に、内蔵メモリ１５への内部波形データの書き込みを終了するための書き込み停止命令を内蔵メモリ書き込みＩ／Ｆ２３に通知する。
【００３５】
＜サンプリングレート選択部２１の処理動作例＞
次に、図４、図５を参照しながら、サンプリングレート選択部２１の処理動作例について説明する。図４、図５は、サンプリングレート選択部２１の処理動作例を示す図である。
【００３６】
本実施形態においては、サンプリングレートの基準をＬＳＩ１に外部から入力されるシステムクロックとする。また、トレース対象の内部信号Ａもシステムクロック基準で動作しているとする。システムクロックは、ＬＳＩ１内部で使用されるクロック周波数の最高周波数とする。
【００３７】
サンプリングレート選択部２１は、トレース対象の内部信号Ａの内部波形データをシステムクロック基準で取得する。例えば、図４（ｂ）に示すトレース対象の内部信号Ａの内部波形データを図４（ａ）に示すシステムクロック基準で取得すると、図４（ｃ）に示すデータ列の内部波形データとなる。図４（ｃ）に示すデータ列は、「0,0,1,1,1,1,1,0,0,0,0,0」となっている。なお、図４（ｃ）に示すデータ列の内部波形データを基に内部信号Ａを再現するとトレース対象の内部信号Ａと同じ波形を再現することができる。
【００３８】
また、サンプリングレート選択部２１は、システムクロックの２分周をサンプリングレートとして選択し、上記と同じトレース対象の内部信号Ａの内部波形データを２分周のシステムクロック基準で取得する。例えば、図５（ｂ）に示すトレース対象の内部信号Ａの内部波形データを図５（ａ）に示す２分周のシステムクロック基準で取得すると、図５（ｃ）に示すデータ列の内部波形データとなる。図５（ｃ）に示すデータ列は、「0,1,1,1,0,0」となっており、図４に示す最初のシステムクロック基準で取得した内部波形データの半分のデータ量となっている。このため、サンプリングレートを粗くすることで、より多くの内部信号の内部波形データを内蔵メモリ１５に記憶することができる。但し、図５（ｃ）に示すデータ列の内部波形データを基に内部信号Ａを再現するとトレース対象の内部信号Ａと同じ波形を再現することができず、システムクロック１クロック分の誤差が生じ、内部信号の内部波形データの精度は落ちることになる。
【００３９】
このように、サンプリングレート選択部２１でサンプリングレートを変更し、内部信号の内部波形データの精度を犠牲にすることで、数多くのトレース対象の内部信号の内部波形データを内蔵メモリ１５に記憶することができる。
【００４０】
なお、内部信号の内部波形データの精度を高くして、少ない時間の内部波形データを取得するか、または、内部信号の内部波形データの精度を粗くして、多くの時間の内部波形データを取得するかを、ユーザが任意に設定変更するように構築することが好ましい。これにより、ユーザは、ユーザ自身の所望する状態の内部波形データを取得することができる。この設定は、ＣＰＵによりサンプリングレート選択部２１に設定することで実現できる。
【００４１】
＜トリガ条件監視部２４の処理動作例＞
次に、図６を参照しながら、トリガ条件監視部２４の処理動作例について説明する。図６は、トリガ条件監視部２４の処理動作例を示す図である。
【００４２】
各モジュール１１〜１３からモジュール信号セレクタ部２０に入力される内部信号が32bit幅のバス信号線と仮定する。この場合、トリガ条件監視部２４は、32bitの有効ビット選択レジスタ２４１とトリガ条件設定レジスタ２４２とを有して構成する。そして、有効ビット選択レジスタ２４１とトリガ条件設定レジスタ２４２とを用いて、トレース対象の内部信号の状態に応じたトリガ条件を設定する。
【００４３】
トレース対象のモジュール１１〜１３が出力する32bitバス中の0bitがエラー信号だと仮定すると、図６に示すように有効ビット選択レジスタ２４１の0bitを１に設定し、トリガ条件設定レジスタ２４２の0bitも１に設定する。これにより、トリガ条件監視部２４は、トレース対象のモジュール１１〜１３が出力する32bitバス中の0bitが１になったことを検出した場合に、トレース対象の内部信号の状態がトリガ条件を満たしたと判断する。そして、内部波形データの書き込みを終了するための書き込み停止命令を内蔵メモリ書き込みＩ／Ｆ２３に通知する。
【００４４】
本実施形態のトリガ条件監視部２４は、有効ビット選択レジスタ２４１とトリガ条件設定レジスタ２４２とを有して構成する。これにより、エラー信号以外であってもアドレスバスなどがトレース対象のモジュール１１〜１３から出力される内部信号に存在していれば、トレース対象の内部信号の状態に応じたトリガ条件を設定することができる。
【００４５】
有効ビット選択レジスタ２４１は、トレース対象の信号線を選択するレジスタである。トリガ条件設定レジスタ２４２は、有効ビット選択レジスタ２４１で有効となったトレース対象の信号線のトリガ条件を“１（High）”または“０（Low）”に決めるレジスタである。
【００４６】
本実施形態のトリガ条件監視部２４は、有効ビット選択レジスタ２４１に設定された情報を基に、各モジュール１１〜１３から入力される内部信号の中からトレース対象の内部信号を随時監視する。具体的には、有効ビット選択レジスタ２４１で有効となった信号線の内部信号を常時監視する。そして、トレース対象の内部信号の状態がトリガ条件設定レジスタ２４２に設定されたトリガ条件（“１（High）”か“０（Low）”）になった場合に、トリガ条件が発生したと判断する。
【００４７】
本実施形態では、有効ビット選択レジスタ２４１には、トレース対象の信号線のアドレスを設定する。そして、トリガ条件設定レジスタ２４２に設定されたトリガ条件が１の場合は、有効ビット選択レジスタ２４１に設定したトレース対象の信号線の内部信号がLowからHighになった状態の場合に、トレース対象の内部信号にトリガ条件が発生したと判断する。また、トリガ条件設定レジスタ２４２に設定されたトリガ条件が０の場合は、有効ビット選択レジスタ２４１に設定したトレース対象の信号線の内部信号がHighからLowになった状態の場合に、トレース対象の内部信号にトリガ条件が発生したと判断する。
【００４８】
＜ＬＳＩ１の処理動作例＞
次に、図７を参照しながら、本実施形態のＬＳＩ１の処理動作例について説明する。図７は、本実施形態のＬＳＩ１の処理動作例を示す図である。
【００４９】
ＣＰＵは、内部信号を取得するトレース対象のモジュールをモジュール信号セレクタ部２０に設定する（ステップＳ１）。
【００５０】
また、ＣＰＵは、トレース対象の内部信号のサンプリングレートを決定するための分周比をサンプリングレート選択部２１に設定する（ステップＳ２）。
【００５１】
また、ＣＰＵは、有効ビット選択レジスタ２４１にトレース対象の信号線の情報を設定し、トリガ条件設定レジスタ２４２にトリガ条件を設定する（ステップＳ３）。
【００５２】
トリガ条件監視部２４は、トリガ条件が設定された場合に、トレース対象の内部信号の内部波形データを内蔵メモリ１５に書き込むための書き込み開始命令を内蔵メモリ書き込みＩ／Ｆ２３に通知する（ステップＳ４）。
【００５３】
内蔵メモリ書き込みＩ／Ｆ２３は、書き込み開始命令が通知された場合に、外部メディアＩ／Ｆ１０に対して外部記憶メディア２の書き込み準備ができているか確認する（ステップＳ５）。外部記憶メディア２がＬＳＩ１に挿入されると、外部記憶メディア２と外部メディアＩ／Ｆ１０との接続確立のための処理が実行される。外部記憶メディア２へのデータ書き込みが可能か否かの判断は、外部メディアＩ／Ｆ１０で実施されることが高速シリアルＩ／Ｆ系の規格で決まっている。このため、内蔵メモリ書き込みＩ／Ｆ２３は、外部記憶メディア２の書き込み準備ができているか確認することができる。例えば、外部記憶メディア２がＬＳＩ１に挿入されていなければ、外部記憶メディア２の書き込み準備ができていないと判断できる（ステップＳ６／Ｎｏ）。この場合、内蔵メモリ書き込みＩ／Ｆ２３は、トリガ条件監視部２４から通知された書き込み開始命令を無効とし、内部波形データを内蔵メモリ１５に書き込むための処理を開始しないようにする。また、内蔵メモリ書き込みＩ／Ｆ２３は、内部波形データを内蔵メモリ１５に書き込むことができない旨のエラーをＣＰＵに通知する（ステップＳ７）。
【００５４】
内蔵メモリ書き込みＩ／Ｆ２３は、外部記憶メディア２がＬＳＩ１に挿入されていれば、外部記憶メディア２の書き込み準備ができていると判断できる（ステップＳ６／Ｙｅｓ）。この場合、内蔵メモリ書き込みＩ／Ｆ２３は、内部波形データを内蔵メモリ１５に書き込むための処理を開始する（ステップＳ８）。
【００５５】
内蔵メモリ書き込みＩ／Ｆ２３は、内蔵メモリ１５に書き込んだ内部波形データのデータサイズがある一定のサイズである５１２バイト以上になった場合に、外部メディアＩ／Ｆ１０に対し内蔵メモリ１５へのデータ書き込みが終了したことを通知する。また、内蔵メモリ書き込みＩ／Ｆ２３は、外部メディアＩ／Ｆ１０に対し内蔵メモリ１５に書き込まれた内部波形データの読み出しを実行させて外部記憶メディア２に内部波形データの書き込みを実行させる（ステップＳ９）。これにより、内蔵メモリ１５に５１２バイトの内部波形データの書き込みが終了した時点で、内蔵メモリ１５に書き込まれた内部波形データを外部記憶メディア２へ転送して外部記憶メディア２に書き込むことができる。内蔵メモリ１５に書き込んだ内部波形データのデータサイズは、例えば、内蔵メモリ書き込みＩ／Ｆ２３が内蔵メモリ１５に内部波形データを書き込む際にデータサイズカウンタを用いてデータサイズをカウントすることで求めることができる。
【００５６】
内蔵メモリ書き込みＩ／Ｆ２３は、外部メディアＩ／Ｆ１０に対し内部波形データの読み出しを実行させた後も、内蔵メモリ１５への内部波形データの書き込みを継続する（ステップＳ１０）。この場合、内蔵メモリ１５の最終メモリアドレスまで内部波形データを書き込んだ場合は、先頭メモリアドレスに戻って内部波形データを書き込み、内部波形データの書き込みを継続する。
【００５７】
外部メディアＩ／Ｆ１０は、外部記憶メディア２への内部波形データの書き込みが終了した場合に、内蔵メモリ書き込みＩ／Ｆ２３に対しデータ書込終了を通知する（ステップＳ１１）。
【００５８】
内蔵メモリ書き込みＩ／Ｆ２３は、内蔵メモリ１５に５１２バイトの内部波形データの書き込みが完了したか否かを判定する（ステップＳ１２）。内蔵メモリ１５に５１２バイトの内部波形データの書き込みが完了した場合は（ステップＳ１２／Ｙｅｓ）、ステップＳ９の処理に移行する。そして、内蔵メモリ書き込みＩ／Ｆ２３は、外部メディアＩ／Ｆ１０に対し内蔵メモリ１５に書き込まれた内部波形データの読み出しを実行させて外部記憶メディア２に内部波形データの書き込みを実行させる。
【００５９】
また、内蔵メモリ１５に５１２バイトの内部波形データの書き込みが完了していない場合は（ステップＳ１２／Ｎｏ）、トリガ条件が発生したか否かを判定する（ステップＳ１３）。トリガ条件が発生していない場合は（ステップＳ１３／Ｎｏ）、ステップＳ１２の処理に移行し、内蔵メモリ１５に５１２バイトの内部波形データの書き込みが完了したか否かを判定する。
【００６０】
内蔵メモリ書き込みＩ／Ｆ２３は、トリガ条件が発生した場合は（ステップＳ１３／Ｙｅｓ）、内蔵メモリ１５に書き込まれている最終内部波形データのバイト数を外部メディアＩ／Ｆ１０に通知する。そして、内蔵メモリ書き込みＩ／Ｆ２３は、外部メディアＩ／Ｆ１０に対し内蔵メモリ１５に書き込まれた最終内部波形データの読み出しを実行させて外部記憶メディア２に最終内部波形データの書き込みを実行させ、トレース処理を終了する（ステップＳ１４）。
【００６１】
なお、上記の処理動作例では、内蔵メモリ１５に書き込んだ内部波形データのデータサイズがある一定のサイズである５１２バイト以上になった場合に、外部記憶メディア２に内部波形データの書き込みを行うようにしている。これは、外部記憶メディア２のデータ単位が１セクタ５１２バイトである規格が多いためである。但し、一定のサイズを５１２バイトに限定せず、任意のデータサイズに設定することも可能である。
【００６２】
また、上記の処理動作例では、内蔵メモリ１５の最終メモリアドレスまで内部波形データを書き込んだ場合は、先頭メモリアドレスに戻って内部波形データを書き込み、内部波形データの書き込みを継続するようにしている。しかし、例えば、１０２４バイトの内蔵メモリ１５を５１２バイト毎の領域に区分けし、トグルさせることで、双方の領域に５１２バイト分の内部波形データを交互に書き込むようにすることも可能である。
【００６３】
また、上記の処理動作例では、内部信号を取得するトレース対象のモジュールをモジュール信号セレクタ部２０に設定することにしている。しかし、トレース対象のモジュールを設定せず、ＬＳＩ１内部の全てのモジュール１１〜１３から出力された内部信号の内部波形データを内蔵メモリ１５に記憶するようにすることも可能である。この場合は、内蔵メモリ１５にＬＳＩ１内部の全てのモジュール１１〜１３から出力された内部信号の内部波形データを記憶することになり、データサイズが大幅に増加することになる。しかし、多くのモジュールの内部波形データを取得することができるため、デバック効率を向上させることができる。なお、ＬＳＩ１内部の全てのモジュール１１〜１３の内部波形データを取得するようにした場合は、不要な内部信号の内部波形データも内蔵メモリ１５に記憶することになる。この場合、不要な内部信号の内部波形データを内蔵メモリ１５に記憶させないように有効ビット選択レジスタ２４１にトレース対象の内部信号を設定する。これにより、不要な内部信号の内部波形データを内蔵メモリ１５に記憶させないようにすることができる。
【００６４】
＜本実施形態のＬＳＩの作用・効果＞
このように、本実施形態のＬＳＩ１は、ＬＳＩのデータ処理を実施するモジュール１１〜１３から出力された内部信号の波形データを内蔵メモリ１５に記憶する記憶処理を行う。そして、内蔵メモリ１５に記憶された波形データのデータサイズが所定のデータサイズ以上になった場合に、内蔵メモリ１５に記憶されている波形データを、外部メディアＩ／Ｆ１０を介して接続された外部記憶メディア２に転送する転送処理を行う。これにより、外部記憶メディア２を利用して内蔵メモリ１５に記憶可能な容量以上の波形データを残すことができる。その結果、ＬＳＩのデータ処理を実施するモジュール１１〜１３から出力された内部信号の波形データを基にバグ等を解析できない状態を防止することができる。
【００６５】
（第２の実施形態）
次に、第２の実施形態について説明する。
【００６６】
第１の実施形態は、図２に示すように、内蔵メモリ１５に記憶されている波形データを、外部メディアＩ／Ｆ１０を介して接続された外部記憶メディア２に転送することにしている。
【００６７】
第２の実施形態は、図８に示すように、内蔵メモリ１５に記憶されている波形データを、ネットワークＩ／Ｆ３０を介して接続されたネットワーク上のサーバ３等の機器に転送することにしている。この場合も、ネットワーク上のサーバ３等の機器を利用して内蔵メモリ１５に記憶可能なデータサイズ以上の波形データを残すことができる。以下、図８を参照しながら、本実施形態のＬＳＩ１の構成例について説明する。
【００６８】
＜ＬＳＩ１の構成例＞
本実施形態のＬＳＩ１は、ネットワークＩ／Ｆ３０を有して構成する。
【００６９】
本実施形態のＬＳＩ１は、ネットワークＩ／Ｆ３０を有しているため、内蔵メモリ１５に記憶した内部波形データをネットワークＩ／Ｆ３０を介してネットワーク上のサーバ３等の機器に転送して書き込むことができる。この場合、ネットワークＩ／Ｆ３０は、内蔵メモリ１５に記憶された内部波形データを基にパケットを生成し、その生成したパケットをネットワーク上のサーバ３等の機器に転送することになる。ネットワーク上に存在するサーバ３等の機器は、外部記憶メディア２よりも多くのデータを記憶することができる。その結果、第１の実施形態よりもバグ等を解析できない状態を防止することができる。
【００７０】
また、第１の実施形態の場合は、外部メディアＩ／Ｆ１０に外部記憶メディア２を挿入して接続する操作が必要になる。しかし、本実施形態の場合は、ネットワークＩ／Ｆ３０を介してネットワークに常時接続されたサーバ３等の機器であれば、その機器に対してネットワークＩ／Ｆ３０を介して自動的に内部波形データを転送することができる。
【００７１】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００７２】
例えば、上述した本実施形態のＬＳＩ１を構成する各部の制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【００７３】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータ内のメモリにインストールして実行させることが可能である。
【００７４】
例えば、プログラムは、記録媒体としてのハードディスクやＲＯＭ（Read Only Memory）に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に一時的、あるいは、永続的に記録しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。リムーバブル記録媒体は、磁気ディスク、半導体メモリなどの各種記録媒体があげられる。
【００７５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトからコンピュータに無線転送することになる。また、ネットワークを介してコンピュータに有線で転送することになる。
【００７６】
プログラムの形態としては、クラウド等によるネット上のサーバからの利用もありえる。一部のプログラムのみをコンピュータに転送して利用する形態もありえる。
【００７７】
また、上記実施形態のＬＳＩ１を構成する各部は、上記実施形態で説明した処理動作に従って時系列的に処理を実行するだけに限定するものでない。例えば、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に処理を実行するように構築することも可能である。
【００７８】
また、上記実施形態では、大規模集積回路であるＬＳＩを例として説明した。しかし、本発明は、ＬＳＩだけに限定されるものではなく、様々な集積回路等にも適用可能である。
【符号の説明】
【００７９】
１    ＬＳＩ（データ転送装置）
２    外部記憶メディア（記憶装置）
３    サーバ（記憶装置）
１０    外部メディアＩ／Ｆ（インタフェース）
１１、１２、１３    モジュール（回路モジュール）
１４    内部信号記録装置
１５    内蔵メモリ
２０    モジュール信号セレクタ部
２１    サンプリングレート選択部
２２    データ圧縮処理部
２３    内蔵メモリ書き込みＩ／Ｆ
２４    トリガ条件監視部
３０    ネットワークＩ／Ｆ（インタフェース）
２４１    有効ビット選択レジスタ
２４２    トリガ条件設定レジスタ
【先行技術文献】
【特許文献】
【００８０】
【特許文献１】特開平８−６３３７４号公報
【図１】
2016014971.tif 000003
【図２】
2016014971.tif 000004
【図３】
2016014971.tif 000005
【図４】
2016014971.tif 000006
【図５】
2016014971.tif 000007
【図６】
2016014971.tif 000008
【図７】
2016014971.tif 000009
【図８】
2016014971.tif 000010