(57)【要約】【課題】量産品にデバッグ用の回路を付加しなくてもトレースを行なうことが可能な半導体装置を提供すること。【解決手段】トレースチップ１は、データ処理を行なう回路を搭載したターゲットロジックチップ３と、ターゲットロジックチップ３が使用するデータが格納されるメモリを搭載したメモリチップ２との間の信号を監視し、ターゲットロジックチップ３の動作をトレースする。トレースチップ１は、ターゲットロジックチップ３およびメモリチップ２と別個のチップによって構成されるので、量産品にトレースチップ１を搭載しないようにすれば、量産品にデバッグ用の回路が付加されなくなり、製造コストを削減することが可能となる。【選択図】　　　　図１
2004102331.tif 000002
【特許請求の範囲】
【請求項１】
トレース対象であり、データ処理を行なう回路を搭載した第１のチップと、
前記第１のチップが使用するデータが格納される記憶回路を搭載した第２のチップと、
前記第１のチップと第２のチップとの間の信号を監視し、前記第１のチップの動作をトレースする、前記第１のチップおよび第２のチップと別個のチップによって構成される第３のチップとを含む半導体装置。
【請求項２】
前記半導体装置は、前記第１のチップ、第２のチップおよび第３のチップを高さ方向に実装するスタック型のマルチ・チップ・パッケージである、請求項１記載の半導体装置。
【請求項３】
前記半導体装置は、前記第１のチップ、第２のチップおよび第３のチップを水平方向に実装するプレーン型のマルチ・チップ・パッケージである、請求項１記載の半導体装置。
【請求項４】
前記第１のチップ、第２のチップおよび第３のチップの接続は、ワイヤボンディングによって行なわれる、請求項１〜３のいずれかに記載の半導体装置。
【請求項５】
前記第１のチップ、第２のチップおよび第３のチップの接続の少なくとも一部は、フリップチップ接続によって行なわれる、請求項１または２記載の半導体装置。
【請求項６】
前記第３のチップは、前記第１のチップと第２のチップとの間の配線に挿入されるサンプルパッドと、
前記サンプルパッドに流れる信号を監視し、前記第１のチップのトレースを制御するトレース回路と、
前記サンプルパッドに流れる信号をトレース情報として順次記憶する第１の記憶回路と、
前記第１の記憶回路に記憶されたトレース情報を外部に出力し、外部からデータを入力して前記トレース回路に設定する外部入出力ポートとを含む、請求項１〜５のいずれかに記載の半導体装置。
【請求項７】
前記トレース回路は、観測したいメモリアドレスを格納するトレースポイントレジスタと、
前記サンプルパッドを流れるアドレス値と、前記トレースポイントレジスタに格納されたメモリアドレスとを比較する比較回路と、
前記比較回路による比較結果によって、トレースの進行を制御する制御回路とを含む、請求項６記載の半導体装置。
【請求項８】
前記トレース回路は、トレースを制御するためのプログラムを記憶する第２の記憶回路と、
前記第２の記憶回路に記憶されるプログラムに従って、前記サンプルパッドを流れる信号を監視してトレースを制御するマイクロコントローラとを含む、請求項６記載の半導体装置。
【請求項９】
前記トレース回路は、外部からの情報によって回路の再構成が可能であり、前記サンプルパッドを流れる信号を監視してトレースを制御する再構成可能デバイスを含む、請求項６記載の半導体装置。
【請求項１０】
前記第３のチップはさらに、前記第１の記憶回路に記憶されたトレース情報を外部へ高速に出力する高速Ｉ／Ｏを含む、請求項６〜９のいずれかに記載の半導体装置。
【請求項１１】
前記第３のチップはさらに、前記第１の記憶回路に記憶されたトレース情報を外部へ出力するＵＳＢインタフェースを含む、請求項６〜９のいずれかに記載の半導体装置。
【請求項１２】
前記第３のチップはさらに、前記第１の記憶回路に記憶されたトレース情報を外部へ出力するＵＳＢホスト機能を含む、請求項６〜９のいずれかに記載の半導体装置。
【請求項１３】
前記サンプルパッドは、前記第１のチップと配線によって接続される第１のパッドと、
前記第２のチップと配線によって接続される第２のパッドと、
前記第１のパッドと前記第２のパッドとの間に接続されるドライバとを含む、請求項６〜９のいずれかに記載の半導体装置。
【請求項１４】
前記サンプルパッドは、前記第１のチップと配線によって接続される第１のパッドと、
前記第２のチップと配線によって接続される第２のパッドと、
前記第１のパッドと前記第２のパッドとの間の配線に接続される終端抵抗とを含む、請求項６〜９のいずれかに記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）を搭載したシステムのデバッグに使用されるトレース機能に関し、特に、ＣＰＵを搭載したパッケージと同じパッケージ内にトレース機能を有するチップを搭載した半導体装置に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ等の情報機器や、家電機器等においてＣＰＵが広く使用されている。ＣＰＵ自体の開発や、そのＣＰＵを搭載した情報機器、家電機器等のシステムの開発において、ＣＰＵが実行したプログラムの流れを解析することは重要である。
【０００３】
ＣＰＵを搭載したシステムのソフトウェアのデバッグにおいては、ＩＣＥ（ＩｎＣｉｒｃｕｉｔ　Ｅｍｕｌａｔｏｒ）と呼ばれる装置が、ターゲットＣＰＵのメモリアクセス状況、プログラム実行過程のトレース、内部レジスタ値の読出しなどを行ない、トレース情報を生成する。そして、解析用のパーソナル・コンピュータ（以下、ＰＣと呼ぶ。）などの端末装置が、ＩＣＥによって作成されたトレース情報を処理したり、解析したりするのが一般的である。
【０００４】
特に、ターゲットＣＰＵがＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）マイコンである場合には、各マイコンの仕様の差異を吸収し、共通のＩＣＥでデバッグを行なうことができるように、ターゲットＣＰＵにデバッグ用のインタフェースを付加することが多い。
【０００５】
図１２は、従来のＣＰＵ搭載システムのデバッグ環境を説明するためのブロック図である。このデバッグ環境は、ＣＰＵ搭載システム１０１と、ＩＣＥ１０２と、解析用ＰＣ１０３とを含む。
【０００６】
ＩＣＥ１０２は、ＣＰＵ搭載システム１０１から出力されるＣＰＵコア１１１の内部信号を、プロセッサプローブ１０４を介して読出し、内部のトレースメモリに保存する。解析用ＰＣ１０３は、端末接続線１０５を介してＩＣＥ１０２内のトレースメモリからトレース情報を受信し、トレース情報を表示画面に表示するなどして使用者にトレース情報を提示する。
【０００７】
ＣＰＵ搭載システム１０１は、ターゲットＣＰＵチップ１１０と、ＲＡＭ１３０とを含む。また、ターゲットＣＰＵチップ１１０は、ＣＰＵコア１１１と、デバッグＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１１２と、周辺回路１１３とを含む。さらに、デバッグＩ／Ｆ１１２は、外部Ｉ／Ｆ１２１と、トレース制御部１２２とを含む。
【０００８】
ＣＰＵコア１１１は、命令をフェッチして実行することによって、ＲＡＭ１３０などに格納されるデータを読出し、そのデータに何らかの処理を行なった後再びＲＡＭ１３０に格納するといった処理を繰返す。
【０００９】
トレース制御部１２２は、ＣＰＵコア１１１の動作を監視しており、ＣＰＵコア１１１の内部信号やメモリアクセス履歴などのデータを外部Ｉ／Ｆ１２１およびプロセッサプローブ１０４を介してＩＣＥ１０２に転送する。
【００１０】
【発明が解決しようとする課題】
上述した従来のデバッグ環境においては、ターゲットＣＰＵチップ１１０がＣＰＵコア１１１の内部信号やメモリアクセス履歴を、プロセッサプローブ１０４を介してＩＣＥ１０２に転送していた。そのため、ターゲットＣＰＵチップ１１０の動作周波数が高くなると、プロセッサプローブ１０４の浮遊容量などによってＩＣＥ１０２がＣＰＵコア１１１の内部信号をクロックサイクル毎にサンプリングしてトレースメモリに書込むことが困難になるといった問題点があった。
【００１１】
また、プロセッサプローブ１０４の外部ピン数の制約によって、十分な量のトレース情報をＩＣＥ１０２へ出力できず、デバッグに長時間を要することがあるといった問題点があった。
【００１２】
また、ターゲットＣＰＵチップ１１０内にデバッグ用インタフェースを追加する必要があるため、チップ面積の増大や、機能素子および配線の追加による歩留まりの低下を招き、チップコストが高くなるといった問題点があった。
【００１３】
本発明は、上記問題点を解決するためになされたものであり、第１の目的は、量産品に搭載されるチップと同じチップを用いてトレースを行なうことが可能な半導体装置を提供することである。
【００１４】
第２の目的は、量産品にデバッグ用の回路を付加しなくてもトレースを行なうことが可能な半導体装置を提供することである。
【００１５】
第３の目的は、トレース対象の内部信号の周波数が高くなっても、トレース動作を行うことが可能な半導体装置を提供することである。
【００１６】
第４の目的は、トレース時間を長くすることが可能な半導体装置を提供することである。
【００１７】
第５の目的は、トレース情報を外部へ高速に転送することが可能な半導体装置を提供することである。
【００１８】
【課題を解決するための手段】
請求項１に記載の半導体装置は、トレース対象であり、データ処理を行なう回路を搭載した第１のチップと、第１のチップが使用するデータが格納される記憶回路を搭載した第２のチップと、第１のチップと第２のチップとの間の信号を監視し、第１のチップの動作をトレースする、第１のチップおよび第２のチップと別個のチップによって構成される第３のチップとを含む。
【００１９】
第３のチップは、第１のチップおよび第２のチップと別個のチップによって構成されるので、量産品に第３のチップを搭載しないようにすれば、量産品にデバッグ用の回路が付加されなくなり、製造コストを削減することが可能となる。また、第３のチップは、量産品に搭載される第１のチップおよび第２のチップを用いてトレースを行うので、量産品とほぼ同じ半導体装置を用いたトレースが可能となる。さらには、第１のチップの内部信号に付加される浮遊容量が少なくなるので、第１のチップの内部信号の周波数が高くなっても、トレース動作を行うことが可能となる。
【００２０】
請求項２に記載の半導体装置は、請求項１記載の半導体装置であって、第１のチップ、第２のチップおよび第３のチップを高さ方向に実装するスタック型のマルチ・チップ・パッケージである。
【００２１】
したがって、チップの実装面積を削減でき、半導体装置のコストを削減することが可能となる。
【００２２】
請求項３に記載の半導体装置は、請求項１記載の半導体装置であって、第１のチップ、第２のチップおよび第３のチップを水平方向に実装するプレーン型のマルチ・チップ・パッケージである。
【００２３】
したがって、ワイヤボンディングが容易となり、製造工程を簡略化することが可能となる。
【００２４】
請求項４に記載の半導体装置は、請求項１〜３のいずれかに記載の半導体装置であって、第１のチップ、第２のチップおよび第３のチップの接続は、ワイヤボンディングによって行なわれる。
【００２５】
したがって、チップの配置がある程度自由に行なえ、半導体装置の設計を容易にすることが可能となる。
【００２６】
請求項５に記載の半導体装置は、請求項１または２記載の半導体装置であって、第１のチップ、第２のチップおよび第３のチップの接続の少なくとも一部は、フリップチップ接続によって行なわれる。
【００２７】
したがって、ワイヤのループによってチップの高さが高くなることを防止することが可能となる。
【００２８】
請求項６に記載の半導体装置は、請求項１〜５のいずれかに記載の半導体装置であって、第３のチップは、第１のチップと第２のチップとの間の配線に挿入されるサンプルパッドと、サンプルパッドに流れる信号を監視し、第１のチップのトレースを制御するトレース回路と、サンプルパッドに流れる信号をトレース情報として順次記憶する第１の記憶回路と、第１の記憶回路に記憶されたトレース情報を外部に出力し、外部からデータを入力して前記トレース回路に設定する外部入出力ポートとを含む。
【００２９】
サンプルパッドが第１のチップと第２のチップとの間の配線に挿入されるので、第３のチップはサンプルパッドを介して第１のチップと第２のチップとの間の通信を読取ることが可能となる。
【００３０】
請求項７に記載の半導体装置は、請求項６記載の半導体装置であって、トレース回路は、観測したいメモリアドレスを格納するトレースポイントレジスタと、サンプルパッドを流れるアドレス値と、トレースポイントレジスタに格納されたメモリアドレスとを比較する比較回路と、比較回路による比較結果によって、トレースの進行を制御する制御回路とを含む。
【００３１】
したがって、メモリアドレスが所定のアドレス値となったときに、トレース動作を終了させることが可能となる。
【００３２】
請求項８に記載の半導体装置は、請求項６記載の半導体装置であって、トレース回路は、トレースを制御するためのプログラムを記憶する第２の記憶回路と、第２の記憶回路に記憶されるプログラムに従って、サンプルパッドを流れる信号を監視してトレースを制御するマイクロコントローラとを含む。
【００３３】
したがって、第２の記憶回路に記憶されるプログラムを変更するだけでトレース方法を変更でき、複雑なトレース条件を設定することが可能となる。また、第３の記憶回路に記憶されるプログラムを変更するだけで様々なデータ処理回路に対応できるので、第３のチップを汎用化することも可能となる。
【００３４】
請求項９に記載の半導体装置は、請求項６記載の半導体装置であって、トレース回路は、外部からの情報によって回路の再構成が可能であり、サンプルパッドを流れる信号を監視してトレースを制御する再構成可能デバイスを含む。
【００３５】
したがって、再構成可能デバイスの回路構成を変更するだけでトレース方法を変更でき、複雑なトレース条件を設定することが可能となる。また、再構成可能デバイスの回路構成を変更するだけで様々なデータ処理回路に対応できるので、第３のチップを汎用化することも可能となる。
【００３６】
請求項１０に記載の半導体装置は、請求項６〜９のいずれかに記載の半導体装置であって、第３のチップはさらに、第１の記憶回路に記憶されたトレース情報を外部へ高速に出力する高速Ｉ／Ｏを含む。
【００３７】
したがって、第３のチップは、トレース情報を高速に外部へ転送することが可能となる。
【００３８】
請求項１１に記載の半導体装置は、請求項６〜９のいずれかに記載の半導体装置であって、第３のチップはさらに、第１の記憶回路に記憶されたトレース情報を外部へ出力するＵＳＢインタフェースを含む。
【００３９】
したがって、外部に設けられたＰＣなどの端末装置へトレース情報を直接転送することが可能となる。
【００４０】
請求項１２に記載の半導体装置は、請求項６〜９のいずれかに記載の半導体装置であって、第３のチップはさらに、第１の記憶回路に記憶されたトレース情報を外部へ出力するＵＳＢホスト機能を含む。
【００４１】
したがって、ＰＣなどの端末装置を経由せずに、外部に設けられたハードディスクドライブなどに直接トレース情報を転送することができ、トレース時間を長くすることが可能となる。
【００４２】
請求項１３に記載の半導体装置は、請求項６〜９のいずれかに記載の半導体装置であって、サンプルパッドは、第１のチップと配線によって接続される第１のパッドと、第２のチップと配線によって接続される第２のパッドと、第１のパッドと第２のパッドとの間に接続されるドライバとを含む。
【００４３】
したがって、サンプルパッドの浮遊容量などによって鈍った信号を補正することが可能となる。
【００４４】
請求項１４に記載の半導体装置は、請求項６〜９のいずれかに記載の半導体装置であって、サンプルパッドは、第１のチップと配線によって接続される第１のパッドと、第２のチップと配線によって接続される第２のパッドと、第１のパッドと第２のパッドとの間の配線に接続される終端抵抗とを含む。
【００４５】
したがって、サンプルパッドにおいて発生する信号の反射を抑え、ノイズを低減することが可能となる。
【００４６】
【発明の実施の形態】
（第１の実施の形態）
図１は、本発明の第１の実施の形態における半導体装置の構成を示す側面図である。本実施の形態における半導体装置は、ＳＩＰ（Ｓｙｓｔｅｍ　Ｉｎ　Ｐａｃｋａｇｅ）構成を有し、半導体装置内部にトレースチップを設けて内部でトレースを行なうものである。
【００４７】
図１（ａ）は、トレースチップ１を挿入する前のＳＩＰ構成の半導体装置の側面図である。この半導体装置は、モールド７内に設けられたメモリチップ２と、ＣＰＵなどのデータ処理を行なうターゲットロジックチップ３と、パッケージの外部入出力ピン８を複数有するフレーム９とを含む。
【００４８】
メモリチップ２、ターゲットロジックチップ３およびフレーム９上には、チップ間配線を接続するためのパッド４が設けられている。フレーム９上のパッド４と、ターゲットロジックチップ３上のパッド４とが配線５によって接続される。また、ターゲットロジックチップ３上のパッド４と、メモリチップ２上のパッド４とが配線５によって接続される。
【００４９】
図１（ｂ）は、トレースチップ１を挿入した後のＳＩＰ構成の半導体装置の側面図である。メモリチップ２とフレーム９との間に、トレースチップ１が設けられる。フレーム９上のパッド４と、ターゲットロジックチップ３上のパッド４とが配線５によって接続される。また、ターゲットロジックチップ３上のパッド４と、トレースチップ１上のサンプルパッド６とが配線５によって接続される。さらには、トレースチップ１上のサンプルパッド６と、メモリチップ２上のパッド４とが配線５によって接続される。
【００５０】
図２は、本発明の第１の実施の形態におけるトレースチップ１ａの概略構成を示すブロック図である。このトレースチップ１ａは、サンプルパッド６と、複数のトレースポイントレジスタ２１と、比較器２２と、トレースバッファメモリ２３と、トレースチップ制御回路２４と、外部入出力ポート２５とを含む。
【００５１】
サンプルパッド６は、２つのパッドが接続された構成を有しており、一方のパッドが配線５によってターゲットロジックチップ３上のパッド４に接続され、他方のパッドが配線５によってメモリチップ２上のパッド４に接続される。すなわち、サンプルパッド６は、ターゲットロジックチップ３とメモリチップ２との間の配線に挿入され、配線を流れる情報を読取るためのものである。
【００５２】
トレースポイントレジスタ２１は、観測したいメモリアドレスを記憶するためのレジスタである。このトレースポイントレジスタ２１は、外部入出力ポート２５を介して外部のＰＣなどからアクセス可能なレジスタである。
【００５３】
比較器２２は、トレースポイントレジスタ２１に記憶されているメモリアドレスと、サンプルパッド６を流れるアドレスとを比較し、一致した場合にトレースブレーク信号をアサートする。
【００５４】
トレースバッファメモリ２３は、サンプルパッド６を流れる信号の論理を、ターゲットロジックチップ３において使用されるクロックと同じクロック周波数でサンプリングし、その結果を保存する。
【００５５】
トレースチップ制御回路２４は、比較器２２、トレースバッファメモリ２３、外部入出力ポート２５などを制御して、トレースチップ１ａの全体的な制御を行なう。
【００５６】
外部入出力ポート２５は、トレースポイントレジスタ２１に設定するトレースポイントなどのトレースに必要な情報を入力し、トレースメモリバッファ２３の内容を外部に出力する。
【００５７】
次に、１回のトレース動作の一例について説明する。トレースチップ１ａは、サンプルパッド６に流れる信号を読取って、ターゲットロジックチップ３によるメモリチップ２へのデータ書込み、またはメモリチップ２からのデータ読出しを検出する。このとき、サンプルパッド６を流れる信号は、比較器２２およびトレースバッファメモリ２３に入力される。トレースバッファメモリ２３は、サンプルパッド６を流れる信号を順次サンプリングし、トレース情報として格納する。
【００５８】
比較器２２は、トレースポイントレジスタ２１に予め格納されているトレースポイントのアドレス値と、サンプルパッド６から読取られたアドレス値とを比較し、一致すればトレースブレーク信号をアサートする。アドレス値が一致しなければ、そのままトレースが続行される。
【００５９】
トレース制御回路２４は、トレースブレーク信号がアサートされるか、トレースバッファメモリ２３が一杯になったときにトレースを終了させる。トレースが終了したときに、外部に設けられたＰＣなどの端末装置が外部入出力ポート２５を介して、トレースバッファメモリ２３に蓄積されたトレース情報を読出して解析を行なう。
【００６０】
なお、本実施の形態の半導体装置においては、半導体装置のパッケージ内部に、上からターゲットロジックチップ３、メモリチップ２、トレースチップ１の順に配置するようにしたが、各チップを配置する順番は任意であり、必要に応じて複数のトレースチップをパッケージ内部に配置するようにしてもよい。また、図２においては、サンプルパッド６がトレースチップ１ａの片側にのみ設けられているが、トレースチップ１ａ上のどこに配置されてもよい。
【００６１】
以上説明したように、本実施の形態における半導体装置によれば、トレースチップ１ａがサンプルパッド６を介してターゲットロジックチップ３と、メモリチップ２との間の通信を読取るようにしたので、ターゲットロジックチップ３やメモリチップ２を変更せずに、トレース動作を実現することが可能となった。また、量産して出荷する半導体装置に搭載されるターゲットロジックチップ３およびメモリチップ２と同じものを用いてトレースが行なえるので、量産される半導体装置とほぼ同じものでデバッグが行なえるようになった。
【００６２】
また、量産される半導体装置にはトレースチップ１が搭載されないので、量産される半導体装置にデバッグ用の回路を付加する必要がなくなり、半導体装置の製造コストを削減することが可能となった。
【００６３】
また、従来のデバッグ環境のように、ＩＣＥが半導体装置の内部信号を外部ピンを介して読出す場合、外部ピン数の制約によって観測可能な内部信号が制限されることになる。しかし、本実施の形態における半導体装置のように、半導体装置のパッケージ内部にトレースチップ１を設け、トレースバッファメモリ２３にトレース情報を蓄積し、外部入出力ポート２５を介して外部へ出力するようにすれば、外部ピン数に制約されることなく多量の内部信号をトレースすることが可能となる。
【００６４】
また、従来のデバッグ環境のように、ＩＣＥがプロセッサプローブを介して外部信号線の状態を読取る場合には、外部信号線に大きな浮遊容量が発生して、トレース可能な周波数に限界が生じる。しかし、本実施の形態における半導体装置のように、トレースチップ１を半導体装置のパッケージ内部に設けることによって、浮遊容量を小さくすることができ、内部信号の周波数が高くなってもトレースを行なうことが可能となる。
【００６５】
（第２の実施の形態）
図３（ａ）は、本発明の第２の実施の形態における半導体装置の構成を示す側面図であり、図３（ｂ）はその上面図である。本実施の形態における半導体装置の構成は、図１（ｂ）に示す第１の実施の形態における半導体装置の構成と比較して、トレースチップ１、ターゲットロジックチップ３およびメモリチップ２の配置が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００６６】
本発明の第１の実施の形態のように、トレースチップ１、ターゲットロジックチップ３およびメモリチップ２を重ねて実装するスタック型のＭＣＰ（Ｍｕｌｔｉ　Ｃｈｉｐ　Ｐａｃｋａｇｅ）の場合、３つのチップが高さ方向に重なるため、各チップ間のワイヤのボンディング位置が非常に近くなる。そのため、上下のワイヤが接触しないようにループコントロールしたり、チップのエッジにワイヤが接触しないようにループコントロールしたりすることが困難になる。
【００６７】
また、各チップの大きさが極端に異なると、超短ループと長ループとを組合せたワイヤボンドが必要になり、ワイヤボンディングが難しくなる。また、ワイヤが上下に接近しているので、モールド封入時にワイヤ変形が起こると容易にワイヤが接触してしまうため、モールド工程も難しくなる。
【００６８】
本実施の形態においては、図３（ａ）および図３（ｂ）に示すように、トレースチップ１、ターゲットロジックチップ３およびメモリチップ２を横に配置するプレーン型のＭＣＰを用いているため、各チップ間を接続するワイヤが重ならず、チップも同一平面上に配置されるため、チップエッジとワイヤとの接触も起こりにくく、アッセンブリが容易になる。
【００６９】
なお、図３（ａ）および図３（ｂ）においては、サンプルパッド６がトレースチップ１の中央に配置されているが、サンプルパッド６はチップ１上のどこに配置されてもよい。
【００７０】
（第３の実施の形態）
図４は、本発明の第３の実施の形態における半導体装置の構成を示す側面図である。本実施の形態における半導体装置は、フリップチップ接続構成のＳＩＰである。図４（ａ）は、トレースチップ１を挿入する前のフリップチップ接続構成の半導体装置の側面図である。
【００７１】
この半導体装置は、モールド７内に設けられるＣＰＵなどのデータ処理を行なうターゲットロジックチップ３と、パッケージの外部入出力ピン８を複数有するフレーム９と、フリップチップ接続用のメモリチップ１１とを含む。ターゲットロジックチップ３のパッド４と、メモリチップ１１のパッド４とがはんだボール１０によって接続される。
【００７２】
図４（ｂ）は、トレースチップ１を挿入した後のフリップチップ接続構成の半導体装置の側面図である。メモリチップ１１とターゲットロジックチップ３との間に、トレースチップ１とフレーム９’とが挿入される。ターゲットロジックチップ３上のパッド４と、フレーム９’とがはんだボールでフリップ接続される。また、トレースチップ１上のサンプルパッド６の一方のパッドと、メモリチップ１１上のパッド４とがはんだボールでフリップ接続される。また、トレースチップ１上のサンプルパッド６の他方のパッドと、フレーム９’上のパッド４とがワイヤで配線される。
【００７３】
フリップチップ接続においては、チップのボンディングパッド上に予めハンダバンプや金バンプを形成し、チップを裏返した状態でバンプと対応するチップ上のパッドとの位置合わせをした後、熱によるハンダリフローや、加圧した状態での超音波振動によって接続が行なわれる。このようにして、フリップチップ接続のＳＩＰにおいても、第１の実施の形態と同様に、ターゲットロジックチップ３のトレースを行なうことが可能となる。
【００７４】
また、フリップチップ接続においては、ワイヤによるワイヤボンディングを行なわないので、ワイヤでの配線遅延が少なくなり、ターゲットロジックチップ３の高速動作が可能となる。また、ワイヤボンディングを用いた場合、ワイヤのループの高さがパッケージの高さを決める要因になっていたが、フリップチップ構成にすることによってループの必要がなくなるため、パッケージの高さを低くすることが可能となる。
【００７５】
なお、本実施の形態においては、ターゲットロジックチップ３の上にメモリチップ１１を配置する構成としたが、これらのチップの位置が入替わってもよい。
【００７６】
（第４の実施の形態）
図５は、本発明の第４の実施の形態における半導体装置に設けられるトレースチップの概略構成を示すブロック図である。このトレースチップ１ｂは、サンプルパッド６と、トレースバッファメモリ２３と、外部入出力ポート２５と、マイクロコントローラ３１と、フラッシュメモリ３２とを含む。なお、図２に示す第１の実施の形態におけるトレースチップ１ａと同じ構成および機能を有する部分については、同一の参照符号を付すものとする。
【００７７】
第１の実施の形態のトレースチップ１ａにおいては、比較器２２がサンプルパッド６から読取ったメモリアクセス情報と、トレースポイントレジスタ２１に格納されたアドレスとを比較して、トレースの開始、継続および中断を判断した。
【００７８】
第４の実施の形態のトレースチップ１ｂにおいては、フラッシュメモリ３１にトレースの実行、停止などを判断するためのプログラムを予め格納しておき、マイクロコントローラ３１がフラッシュメモリ３２に格納されたプログラムに従ってトレースの制御を行なうものである。なお、外部に設けられたＰＣなどの端末装置が、外部入出力ポート２５を介してフラッシュメモリ３２にプログラムなどの情報を格納することが可能である。
【００７９】
トレースが開始されると、マイクロコントローラ３１は、フラッシュメモリ３２に格納されたプログラムに従って、サンプルパッド６から読取ったメモリアクセス情報の監視を開始する。メモリアクセスが、特定の番地へのアクセス、メモリへの所定データの書込み、メモリからの所定データの読出しなどの一定の条件を満たす場合に、マイクロコントローラ３１はトレースブレーク信号をアサートして、トレースを終了させる。
【００８０】
以上説明したように、本実施の形態における半導体装置によれば、マイクロコントローラ３１がフラッシュメモリ３２に格納されたプログラムに従って、トレースの制御を行なうようにしたので、第１の実施の形態において説明した効果に加えて、フラッシュメモリ３２に格納されるプログラムを変更することによって、トレース方法を容易に変更することが可能となった。
【００８１】
また、プログラムを変更することによって、メモリアクセスの順序に依存するような複雑なトレース条件を設定することも可能となった。さらには、プログラムを変更することによって各種ターゲットロジックチップやメモリチップに対応することができるので、トレースチップを汎用化することも可能となった。
【００８２】
（第５の実施の形態）
図６は、本発明の第５の実施の形態における半導体装置に設けられるトレースチップの概略構成を示すブロック図である。このトレースチップ１ｃは、サンプルパッド６と、トレースバッファメモリ２３と、外部入出力ポート２５と、再構成可能デバイス４１とを含む。なお、図２に示す第１の実施の形態におけるトレースチップ１ａと同じ構成および機能を有する部分については、同一の参照符号を付すものとする。
【００８３】
第１の実施の形態のトレースチップ１ａにおいては、比較器２２がサンプルパッド６から読取ったメモリアクセス情報と、トレースポイントレジスタ２１に格納されたアドレスとを比較して、トレースの開始、継続および中断を判断した。
【００８４】
第５の実施の形態のトレースチップ１ｃにおいては、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ　Ｌｏｇｉｃ　Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｇａｔｅ　Ａｒｒａｙ）などの再構成可能デバイス４１がサンプルパッド６からメモリアクセス情報を読取り、メモリアクセス情報が一定の条件を満たす場合に、トレースブレーク信号をアサートしてトレースを終了させる。なお、外部に設けられたＰＣなどの端末装置が、外部入出力ポート２５を介して再構成可能デバイス４１に回路情報を設定して、シーケンサなどのトレース回路を構築することが可能である。
【００８５】
以上説明したように、本実施の形態における半導体装置によれば、再構成可能デバイス４１がトレースの制御を行なうようにしたので、第１の実施の形態において説明した効果に加えて、再構成可能デバイス４１の回路構成を変更することによって、トレース方法を容易に変更することが可能となった。
【００８６】
また、回路構成を変更することによって、ターゲットロジックチップ３の内部状態に依存するような複雑なトレース条件を設定することも可能となった。また、回路構成を変更することによって各種ターゲットロジックチップやメモリチップに対応することができるので、トレースチップを汎用化することも可能となった。さらには、再構成可能デバイス４１によってシーケンサなどのハードウェアをトレースチップ１ｃ上に構成することができるので、トレースを高速に行なうことが可能となった。
【００８７】
（第６の実施の形態）
図７は、本発明の第６の実施の形態における半導体装置およびそれに接続される外部メモリの概略構成を示すブロック図である。第１〜第５の実施の形態においては、一旦トレースを終了した後に、外部に設けられたＰＣなどの端末装置が外部入出力ポート２５を介してトレースバッファメモリ２３に蓄積されたトレース情報を読出すものであった。すなわち、トレースバッファメモリ２３に蓄積できるトレース情報量には限界があるため、トレースバッファメモリ２３が一杯になると、ＰＣなどの端末装置がトレース情報を読出すために一旦トレースを終了させる必要があった。
【００８８】
本発明の第６の実施の形態の半導体装置においては、外部入出力ポート２５にＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）２．０、ＩＥＥＥ（ｔｈｅ　Ｉｎｓｔｉｔｕｔｅ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　ａｎｄ　Ｅｌｅｃｔｒｏｎｉｃｓ　Ｅｎｇｉｎｅｅｒｓ，　Ｉｎｃ）１３９４などの高速Ｉ／Ｏを付加し、トレース動作中に高速Ｉ／Ｏを用いてトレース情報を外部メモリ５１に高速に転送するものである。
【００８９】
高速Ｉ／Ｏは、トレース速度と同等以上の速度を有するものであればよい。また、外部メモリ５１は、半導体装置の外部に設けられ、たとえばＤＲＡＭ（Ｄｙｎａｍｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）など、高速Ｉ／Ｏの転送速度に見合ったものであればよい。
【００９０】
以上説明したように、本実施の形態における半導体装置においては、外部入出力ポート２５に高速Ｉ／Ｏを付加し、トレースバッファメモリ２３をＦＩＦＯ（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）として使用するようにしたので、トレース動作と並行してトレース情報を外部へ出力することができ、トレース時間を大幅に長くすることが可能となった。
【００９１】
（第７の実施の形態）
図８は、本発明の第７の実施の形態における半導体装置およびそれに接続される解析用ＰＣの概略構成を示すブロック図である。本実施の形態の半導体装置においては、トレースチップにＵＳＢインタフェースを付加し、外部に設けられたＰＣ６２がＵＳＢ６１を用いて、半導体装置からトレース情報を直接読出すことができるようにしたものである。
【００９２】
トレースチップ１にＵＳＢインタフェースを組込むことによって、従来必要であったデータ読出し用のＩＣＥを接続する必要がなくなる。また、半導体装置にＵＳＢインタフェース用のＩ／Ｏピンを設けるだけでトレース情報をＰＣ６２に送信することができるので、ＩＣＥを接続する場合と比較してＩ／Ｏピン数を削減することが可能となる。
【００９３】
また、トレースチップ１上のトレースバッファメモリ２３をＦＩＦＯバッファとして利用することにより、ＵＳＢインタフェースがトレース情報をＰＣ６２に転送することができる。さらには、トレース情報の保存先としてＰＣ６２のＨＤＤ（Ｈａｒｄ　Ｄｉｓｋ　Ｄｒｉｖｅ）を使用することにより、トレース時間を大幅に長くすることが可能となる。
【００９４】
なお、本実施の形態においては、トレースチップ１とＰＣ６２との接続をＵＳＢによって行なっているが、Ｂｌｕｅｔｏｏｔｈなど、トレースチップ１とＰＣ６２とを接続できるものであれば、どのようなインタフェースであってもよい。
【００９５】
（第８の実施の形態）
図９は、本発明の第８の実施の形態における半導体装置およびそれに接続されるＨＤＤの概略構成を示すブロック図である。本実施の形態の半導体装置においては、トレースチップにＵＳＢホスト機能７１を付加し、ＵＳＢホスト機能７１が外部に設けられたＨＤＤ７２に直接トレース情報を転送することができるようにしたものである。
【００９６】
実施の形態７においては、ＰＣ６２がＵＳＢインタフェースを介してトレース情報を読出していた。しかし、ＰＣ６２がトレース情報の転送に介在すると、データ転送速度が遅くなる。本発明の第８の実施の形態においては、トレースチップ１ｆにＵＳＢホスト機能７１を付加し、外部に設けられたＨＤＤ７２に直接トレース情報を転送するものである。
【００９７】
ＵＳＢホスト機能７１の制御は、図５に示すマイクロコントローラ３１、図６に示す再構成可能デバイス４１などによって行なわれる。このように、トレースチップ１ｆにＵＳＢホスト機能７１を付加し、ＵＳＢホスト機能７１がトレースバッファメモリ２３に蓄積されたトレース情報を直接ＨＤＤ７２に転送することによって、実施の形態１において説明した効果に加えて、トレース情報のデータ転送速度を向上させることが可能となる。
【００９８】
（第９の実施の形態）
図１０は、本発明の第９の実施の形態におけるトレースチップの概略構成を示すブロック図である。本実施の形態におけるトレースチップ１ｇは、図２、図５または図６に示すトレースチップと比較して、サンプルパッドの構成が異なる点が異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態においては、トレース回路、トレースバッファメモリ、外部入出力ポートおよびトレースチップ制御回路をまとめて回路８１と呼ぶことにし、サンプルパッドの参照符号を６’として説明する。
【００９９】
本実施の形態におけるトレースチップ１ｇは、サンプルパッド６’と、回路８１とを含む。サンプルパッド６’は、２つのパッドが中継用のドライバ８２を介して接続される構成を有する。ターゲットロジックチップ３が接続される側のパッド（ドライバ８２の入力端子側）に回路８１に含まれる各回路の端子が接続される。ドライバ８２は、ターゲットロジックチップ３からメモリチップ２または１１に伝送される信号、またはメモリチップ２または１１からターゲットロジックチップ３に伝送される信号を増幅する。
【０１００】
このように構成することによって、サンプルパッド６’の浮遊容量などの影響で鈍った観測信号を補正することができるようになり、ターゲットロジックチップ３とメモリチップ２または１１との間の信号伝送に与える悪影響を削減することが可能となる。
【０１０１】
（第１０の実施の形態）
図１１は、本発明の第１０の実施の形態におけるトレースチップの概略構成を示すブロック図である。本実施の形態におけるトレースチップ１ｈは、図２、図５または図６に示すトレースチップと比較して、サンプルパッドの構成が異なる点が異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態においては、トレース回路、トレースバッファメモリ、外部入出力ポートおよびトレースチップ制御回路をまとめて回路８１と呼ぶことにし、サンプルパッドの参照符号を６”として説明する。
【０１０２】
本実施の形態におけるトレースチップ１ｈは、サンプルパッド６”と、回路８１とを含む。サンプルパッド６”は、２つのパッドを接続する配線に終端抵抗８３を接続した構成を有する。終端抵抗８３の他方の端子は、回路８１に含まれる各回路の端子に接続される。
【０１０３】
このように構成することによって、高速動作時にサンプルパッド６”において発生する信号の反射を抑え、ノイズを低減することが可能となる。
【０１０４】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１０５】
【発明の効果】
請求項１に記載の半導体装置によれば、第３のチップが、第１のチップおよび第２のチップと別個のチップによって構成されるので、量産品に第３のチップを搭載しないようにすれば、量産品にデバッグ用の回路が付加されなくなり、製造コストを削減することが可能となった。また、第３のチップは、量産品に搭載される第１のチップおよび第２のチップを用いてトレースを行うので、量産品とほぼ同じ半導体装置を用いたトレースが可能となった。さらには、第１のチップの内部信号に付加される浮遊容量が少なくなるので、第１のチップの内部信号の周波数が高くなっても、トレース動作を行うことが可能となった。
【０１０６】
請求項２に記載の半導体装置によれば、チップの実装面積を削減でき、半導体装置のコストを削減することが可能となった。
【０１０７】
請求項３に記載の半導体装置によれば、ワイヤボンディングが容易となり、製造工程を簡略化することが可能となった。
【０１０８】
請求項４に記載の半導体装置によれば、チップの配置がある程度自由に行なえ、半導体装置の設計を容易にすることが可能となった。
【０１０９】
請求項５に記載の半導体装置によれば、ワイヤのループによってチップの高さが高くなることを防止することが可能となった。
【０１１０】
請求項６に記載の半導体装置によれば、サンプルパッドが第１のチップと第２のチップとの間の配線に挿入されるので、第３のチップはサンプルパッドを介して第１のチップと第２のチップとの間の通信を読取ることが可能となった。
【０１１１】
請求項７に記載の半導体装置によれば、メモリアドレスが所定のアドレス値となったときに、トレース動作を終了させることが可能となった。
【０１１２】
請求項８に記載の半導体装置によれば、第２の記憶回路に記憶されるプログラムを変更するだけでトレース方法を変更でき、複雑なトレース条件を設定することが可能となった。また、第３の記憶回路に記憶されるプログラムを変更するだけで様々なデータ処理回路に対応できるので、第３のチップを汎用化することも可能となった。
【０１１３】
請求項９に記載の半導体装置によれば、再構成可能デバイスの回路構成を変更するだけでトレース方法を変更でき、複雑なトレース条件を設定することが可能となった。また、再構成可能デバイスの回路構成を変更するだけで様々なデータ処理回路に対応できるので、第３のチップを汎用化することも可能となった。
【０１１４】
請求項１０に記載の半導体装置によれば、第３のチップがトレース情報を高速に外部へ転送することが可能となった。
【０１１５】
請求項１１に記載の半導体装置によれば、外部に設けられたＰＣなどの端末装置へトレース情報を直接転送することが可能となった。
【０１１６】
請求項１２に記載の半導体装置によれば、ＰＣなどの端末装置を経由せずに、外部に設けられたハードディスクドライブなどに直接トレース情報を転送することができ、トレース時間を長くすることが可能となった。
【０１１７】
請求項１３に記載の半導体装置によれば、サンプルパッドの浮遊容量などによって鈍った信号を補正することが可能となった。
【０１１８】
請求項１４に記載の半導体装置によれば、サンプルパッドにおいて発生する信号の反射を抑え、ノイズを低減することが可能となった。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における半導体装置の構成を示す側面図である。
【図２】本発明の第１の実施の形態におけるトレースチップ１ａの概略構成を示すブロック図である。
【図３】本発明の第２の実施の形態における半導体装置の構成を示す図である。
【図４】本発明の第３の実施の形態における半導体装置の構成を示す側面図である。
【図５】本発明の第４の実施の形態における半導体装置に設けられるトレースチップの概略構成を示すブロック図である。
【図６】本発明の第５の実施の形態における半導体装置に設けられるトレースチップの概略構成を示すブロック図である。
【図７】本発明の第６の実施の形態における半導体装置およびそれに接続される外部メモリの概略構成を示すブロック図である。
【図８】本発明の第７の実施の形態における半導体装置およびそれに接続される解析用ＰＣの概略構成を示すブロック図である。
【図９】本発明の第８の実施の形態における半導体装置およびそれに接続されるＨＤＤの概略構成を示すブロック図である。
【図１０】本発明の第９の実施の形態における半導体装置に設けられるトレースチップの概略構成を示すブロック図である。
【図１１】本発明の第１０の実施の形態における半導体装置に設けられるトレースチップの概略構成を示すブロック図である。
【図１２】従来のＣＰＵ搭載システムのデバッグ環境を説明するためのブロック図である。
【符号の説明】
１，１ａ〜１ｈ　トレースチップ、２，１１　メモリチップ、３　ターゲットロジックチップ、４　パッド、５　配線、６，６’，６”　サンプルパッド、７モールド、８　外部入出力ピン、９，９’　フレーム、１０　はんだボール、２１　トレースポイントレジスタ、２２　比較器、２３　トレースバッファメモリ、２４　トレース制御回路、２５　外部入出力ポート、３１　マイクロコントローラ、３２　フラッシュメモリ、４１　再構成可能デバイス、５１　外部メモリ、６１　ＵＳＢ、６２，１０３　解析用ＰＣ、７１　ＵＳＢホスト機能、７２ＨＤＤ、８１　回路、８２　ドライバ、８３　終端抵抗、１０１　ＣＰＵ搭載システム、１０２　ＩＣＥ、１０４　プロセッサプローブ、１０５　端末接続線、１１０　ターゲットＣＰＵチップ、１１１　ＣＰＵコア、１１２　デバッグＩ／Ｆ、１１３　周辺回路、１２１　外部Ｉ／Ｆ、１２２　トレース制御部、１３０　ＲＡＭ。
【図１】
2004102331.tif 000003
【図２】
2004102331.tif 000004
【図３】
2004102331.tif 000005
【図４】
2004102331.tif 000006
【図５】
2004102331.tif 000007
【図６】
2004102331.tif 000008
【図７】
2004102331.tif 000009
【図８】
2004102331.tif 000010
【図９】
2004102331.tif 000011
【図１０】
2004102331.tif 000012
【図１１】
2004102331.tif 000013
【図１２】
2004102331.tif 000014