(57)【要約】【課題】従来のＣＰＵ内部バス情報の取得方法では、内部バス情報を内部バスクロック単位で取得するため、内部バスクロック周期未満の動作が原因で発生する問題を究明することが出来なかった。【解決手段】本発明の半導体装置は、内部バス信号の遷移情報を外部へと出力することが可能な半導体装置であって、前記内部バス信号の遷移タイミングと、所定の周期の第１クロック信号の遷移タイミングとの差に基づいて前記内部バス信号の遷移情報を生成する内部バス情報取得回路とを有する。【選択図】  図２
2008171221.tif 000002
【特許請求の範囲】
【請求項１】
内部バス信号の遷移情報を外部へと出力することが可能な半導体装置であって、
前記内部バス信号の遷移タイミングと、所定の周期の第１クロック信号の遷移タイミングとの差に基づいて前記内部バス信号の遷移情報を生成する内部バス情報取得回路を備える半導体装置。
【請求項２】
前記内部バス情報取得回路は、前記第１クロック信号の周期よりも短い周期の第２クロック信号に同期して動作するエッジ検出回路を備え、当該エッジ検出回路は前記内部バス信号の遷移タイミングを前記第２クロック信号に基づいて検出する請求項１に記載の半導体装置。
【請求項３】
前記内部バス情報取得回路は、前記第１クロック信号の周期よりも短い周期の第２クロック信号に同期して動作するカウンタ回路を備え、当該カウンタ回路は前記第１クロック信号の遷移タイミングから前記内部バス信号の遷移タイミングまでの期間を計測した結果を前記内部バス信号の遷移情報として生成する請求項１に記載の半導体装置。
【請求項４】
前記カウンタ回路のカウントする最大値は、前記第１クロック信号の周期と第２クロック信号の周期の比に応じて決定される請求項３に記載の半導体装置。
【請求項５】
前記カウンタ回路は、前記第１クロック信号の１周期内で前記第２クロック信号のサイクル数をカウントするバイナリー・カウンタ回路と、前記内部バス信号が遷移した時点で前記バイナリー・カウンタ回路のカウント値を保持するカウント値保持回路とで構成される請求項３に記載の半導体装置。
【請求項６】
前記半導体装置は、さらに、前記内部バス信号の遷移情報を出力するか否かを選択する出力制御回路を有することを特徴とする請求項１乃至５に記載の半導体装置。
【請求項７】
前記半導体装置は、さらに、前記内部バス信号から任意の内部バス群を選択して前記エッジ検出回路に出力するセレクタを有することを特徴とする請求項１乃至６に記載の半導体装置。
【請求項８】
前記第１クロック信号は、前記内部バス信号と非同期である請求項１乃至７に記載の半導体装置。
【請求項９】
前記カウンタ回路には、前記第１クロック信号を逓倍した前記第２クロック信号が入力され、前記第１クロック信号の遷移タイミングから前記内部バス信号の遷移タイミングまでの前記第２クロック信号の数をカウントすることで、前記内部バスの信号の遷移タイミングと、前記第１クロック信号の遷移するタイミングとの差とする請求項１乃至８に記載の半導体装置。
【請求項１０】
前記内部バス信号は、前記第１クロック信号に基づいて動作する信号である請求項１に記載の半導体装置。
【請求項１１】
半導体装置の内部バス信号の遷移情報を取得する方法であって、
前記内部バス信号の遷移タイミングと、所定の周期の第１クロック信号の遷移タイミングとの差に基づいて前記内部バス信号の遷移情報を取得する内部バス信号の遷移情報取得方法。
【請求項１２】
前記内部バス信号の遷移タイミングは、前記第１クロック信号の周期よりも短い周期の第２クロック信号に同期して検出する請求項１１に記載の内部バス信号の遷移情報取得方法。
【請求項１３】
前記遷移情報は、前記第１クロック信号の周期よりも短い周期の第２クロック信号に同期して前記第１のクロックの遷移から前記内部バス信号の遷移までの期間を計測した計測結果を含む請求項１１または１２に記載の内部バス信号の遷移情報取得方法。
【請求項１４】
前記第１クロック信号の遷移から前記内部バス信号の遷移までの第２クロック信号のサイクル数をカウントして、前記計測結果とする請求項１３に記載の内部バス信号の遷移情報取得方法。
【請求項１５】
前記内部バス信号は、前記第１クロック信号に基づいて動作する信号である請求項１１に記載の内部バス信号の遷移情報取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、特に内部バスを有する半導体装置に関する。
【背景技術】
【０００２】
近年、ＣＰＵ及びその他周辺機能を１つのＬＳＩに搭載するＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ）の高機能化に伴い、内部バスの構成は複雑化している。また、ＬＳＩでは、高速動作する周辺機能及び低速動作する周辺機能に伴い、それぞれの周辺機能の動作に対応した高速バス及び低速バスが複数搭載されている。このため、仮に問題が発生した場合に行うデバック作業には、その根本原因を究明するために多大な時間を要している。このような問題に対応するために、内部バス情報を外部へ出力することによって、その情報を基にデバック作業を容易にする方法が特許文献１あるいは特許文献２に記載されている。
【０００３】
図１１は特許文献１に記載の半導体装置を示すブロック図である。半導体装置１０１には、マルチプレクサ１０２が設けられている。このマルチプレクサ１０２には、既存のデバック・インターフェースであるＣＰＵコア内部のＤＳＵ１０８からの信号と内部バス１０４による内部バス信号が入力される。そして、外部入力端子１０５あるいはマルチプレクサ１０２内部に存在するレジスタ回路１０６（図１２参照）に基づいて選択された信号が半導体装置１０１外部へと出力されている。
【０００４】
図１２に示すマルチプレクサ１０２の内部構成図を用いて、以下、内部バス情報の外部への出力方法を詳細に説明する。内部バス１０４からの内部バス信号は、フリップフロップＦＦ５を介してマルチプレクサＭＵＸ４へと入力される。マルチプレクサＭＵＸ４は、レジスタ回路１０６によって生成される制御信号ＴＰ１に基づいて、分割されたＳＤ１信号あるいはＳＤ４信号のいずれかを選択し、フリップフロップＦＦ６を介してマルチプレクサＭＵＸ５へと出力する。マルチプレクサＭＵＸ５は、制御信号ＴＰ２に基づいて、ＣＰＵコア１０７内部のＤＳＵ１０３からのＣＰＵ動作トレース情報あるいはマルチプレクサＭＵＸ４によって出力された信号のいずれか一方を選択して半導体装置１０１外部へと出力している。このように半導体装置１０１の内部バス情報が外部へと出力されることによって困難なデバック作業を容易にしている。
【０００５】
また、図１３に示す特許文献２に記載の技術では、データプロセッサ１２０内部にデバック支援モジュール１２１を追加している。そして、このデバック支援モジュール１２１は、データプロセッサ１２０内部に存在する内部バス（複数可）の情報を取得して外部へと出力している。こうしてデータプロセッサ１２０外部へ出力された内部バス信号により、内部バス情報を取得して困難なデバック作業を容易にしている。
【０００６】
しかしながら、特許文献１あるいは特許文献２に記載の技術では、内部バスクロック周期以下の動作が原因による不具合を解析することができないという問題が生じてしまう。つまり、従来の技術では、内部バス情報を内部バスクロック単位で取得するため、内部バスクロック１周期未満の信号状態を確認することが出来ない。従って、バス上のアドレス信号、データ信号あるいは各制御信号について、信号のタイミングやバスサイクル自体が原因で発生する不具合を解析することができなかった。
【特許文献１】特開２０００−３３２２０５号公報
【特許文献２】特開２００２−１４９４４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記したように、従来のＣＰＵ内部バス情報の取得方法では、内部バスクロック周期未満の動作が原因で発生する問題を究明することが出来なかった。
【課題を解決するための手段】
【０００８】
本発明の１態様による半導体装置は、内部バス信号の遷移情報を外部へと出力することが可能な半導体装置であって、前記内部バス信号の遷移タイミングと、所定の周期の第１クロック信号の遷移タイミングとの差に基づいて前記内部バス信号の遷移情報を生成する内部バス情報取得回路とを備える。
【０００９】
本発明の１態様による内部バス情報の取得方法は、半導体装置の内部バス信号の遷移情報を取得する方法であって、前記内部バス信号の遷移タイミングと、所定の周期の第１クロック信号の遷移タイミングとの差に基づいて前記内部バス信号の遷移情報を取得する。
【００１０】
本発明の半導体装置によれば、内部バスクロック周期以下の信号状態を確認することが可能となる。また、バスサイクルそのものの信号動作の妥当性あるいはタイミングの妥当性を計ることが可能となるため、不具合の解析を容易に行うことが可能となる。また、原因究明までの時間を短縮することが可能となる。
【発明の効果】
【００１１】
本発明によれば、内部バスクロック周期以下の信号状態を確認することが可能となる。
【発明を実施するための最良の形態】
【００１２】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の実施の形態１に関わる内部バス情報取得回路９を内蔵する半導体装置（以下、ＣＰＵと称す）１００の構成図である。図１に示すように、本実施の形態のＣＰＵ１００は、ＣＰＵコア２、ランダム・アクセス・メモリ（以降、ＲＡＭと称す）３、入出力バッファ（以下、Ｉ／Ｏと称す）４、ダイレクト・メモリ・アクセス・コントローラ（以下、ＤＭＡＣと称す）５、内部バス６、バスブリッジ７、内部バス情報取得回路９を有している。これらのＣＰＵコア２、ＲＡＭ３、Ｉ／Ｏ４及びＤＭＡＣ５は、内部バス６を介して相互に接続されている。
【００１３】
ＣＰＵコア２は、与えられた命令に基づいた処理を実行する。ＲＡＭ３は、プログラム処理及び一時的なデータを格納するメモリである。Ｉ／Ｏ４は、ＣＰＵ１００の外部との信号（データを含む）の入出力を行う。
【００１４】
ＤＭＡＣ５は、ＣＰＵコア２を介在することなく、ＲＡＭ３へアクセスする。そして、外部の共有メモリ（不図示）あるいはロジック／プロセッサ（不図示）との間でデータの入出力を行う。内部バス６は、内部データ、アドレス信号あるいは制御信号等を伝達する部分である。バスブリッジ７は、外部バス８と内部バス６とを接続している。
【００１５】
内部バス情報取得回路９は、内部バス６による内部バス情報（以下、内部バス信号と称す）に基づいて、ＣＰＵ１００外部へクロック信号ＣＬＫ１とデータ（内部バス）信号とを出力する。以下、図２を参照して内部バス情報取得回路９の構成について詳細に説明する。
【００１６】
内部バス情報取得回路９は、マルチプレクサ回路１０、ＰＬＬ回路２０、クロックサンプル回路（以下、高クロックサンプル回路と称す）３０、出力制御回路４０、マルチプレクサ５０によって構成されている。
【００１７】
マルチプレクサ回路１０は、内部バスに同期した内部バスクロックに基づいて、複数の内部バス信号から任意の内部バス信号を選択して出力する回路である。マルチプレクサ回路１０は、フリップフロップＦＦ１、マルチプレクサＭＵＸ１、フリップフロップＦＦ２を有している。
【００１８】
フリップフロップＦＦ１は、内部バスクロック信号に同期して入力信号を保持する回路である。また、フリップフロップＦＦ１によって出力される内部バス信号は、４つのサブバス信号ＳＤ１〜ＳＤ４に分割される。
【００１９】
マルチプレクサＭＵＸ１は、出力制御回路４０によって出力されるセレクト信号ＳＥＬ１に基づいて、入力される複数のサブバス信号（ＳＤ１〜ＳＤ４）の中から１つを選択して出力する。なお、出力制御回路４０の詳細については後述する。
【００２０】
フリップフロップＦＦ２は、内部バスクロック信号に同期して入力信号を保持する回路である。また、フリップフロップＦＦ２は、マルチプレクサＭＵＸ１によって出力された内部バス信号を入力してマルチプレクサ５０へと出力する。
【００２１】
ＰＬＬ回路２０は、内部バスクロックを逓倍して出力する回路である。本実施の形態におけるＰＬＬ回路２０では、内部バスクロックを８逓倍して出力している。なお、この逓倍率は取得したい情報によって適宜変更することができる。また、ここでは内部バス６がクロック同期バスであることを前提として説明する。内部バス６がクロック非同期バスである場合については後述する。
【００２２】
高クロックサンプル回路３０は、ＰＬＬ回路２０によって生成されたクロックに基づいて内部バス信号をサンプリングし、マルチプレクサ５０へと出力する回路である。この高クロックサンプル回路３０は、サンプリングした内部バス信号と共に、その内部バス信号が内部クロックの遷移に対してどれくらいの時間差を持って遷移したのかを示すデータを付加してマルチプレクサ５０へと出力している。
【００２３】
この高クロックサンプル回路３０について詳細に説明する。高クロックサンプル回路３０は、セレクタ３１、エッジ検出・カウンタ回路３２、フリップフロップＦＦ３、マルチプレクサＭＵＸ２、フリップフロップＦＦ４を有している。セレクタ３１は、出力制御回路４０によって出力されるセレクト信号ＳＥＬ２に基づいて、複数の内部バス信号から任意の内部バスあるいは内部バス群を選択して出力する。
【００２４】
エッジ検出・カウンタ回路３２は、ＰＬＬ回路２０によって出力される８逓倍クロック信号に基づいて、セレクタ３１によって出力される信号をサンプリングする回路である。図３に高クロックサンプル回路１４に内蔵されるエッジ検出・カウンタ回路３２の構成図を示す。エッジ検出・カウンタ回路３２は、エッジ検出回路３２ａ、カウンタ回路３２ｂを有している。
【００２５】
エッジ検出回路３２ａは、８逓倍クロックの立ち上がりエッジに同期してセレクタによる出力信号の出力レベルをチェックする。そして、セレクタによる出力信号の出力レベルに変化があった場合は、セレクタ出力信号の立ち上がりエッジあるいは、立下りエッジがあったものとしてエッジ検出信号を出力する。カウンタ回路３２ｂは、内部バスクロックの１サイクルの期間の８逓倍クロックのクロック数をカウントする。ここで、図３及び図５に示すタイミングチャート図を参照して、エッジ検出・カウンタ回路３２によって出力される信号についてより詳細に説明する。
【００２６】
まず、セレクタ３１によって出力された信号は、エッジ検出回路３２ａへと入力される。エッジ検出回路３２ａは、８逓倍クロックＣＬＫ×８の立ち上がり時にセレクタによる出力信号の立ち上がりエッジを検出した場合、"Ｈ"レベルの信号を出力する（図５、ｔ１参照）。また、エッジ検出回路３２ａは、８逓倍クロックＣＬＫ×８の立ち上がり時にセレクタによる出力信号の立下りエッジを検出した場合、"Ｌ"レベルの信号を出力する（図５、ｔ３参照）。
【００２７】
カウンタ回路３２ｂは、８逓倍のクロックに同期して、０から順番に、１、２、〜６、７、０、１、・・・とカウントし、内部バスクロックの１サイクルの期間の８逓倍クロックのクロック数をカウントする。
【００２８】
その後、カウンタ回路３２ｂは、エッジ検出回路３２ａが入力信号のエッジを検出した場合に、カウントを停止する。停止されたカウンタは次の内部クロックの立ち上がりまで、そのカウント値を保持する。保持されたカウント値は、次の内部バスクロックの立ち上がりで外部へ出力される（図５、ｔ２参照）。このように、エッジ検出回路３２ａによって出力された信号及びカウンタ回路３２ｂによって出力されたカウント値はフリップフロップＦＦ３へと入力される。
【００２９】
このカウンタ回路３２ｂは、例えば図４に示す構成によって実現することができる。なお、エッジ検出回路３２ａは、フリップフロップ回路によって簡易に構成することができる（不図示）。カウンタ回路は、バイナリー・カウンタ回路と、カウント値保持回路とによって構成されている。バイナリー・カウンタ回路は、内部バスクロックの１周期内で８逓倍クロックの数をカウントする回路である。また、カウント値保持回路は、バイナリー・カウンタ回路によってカウントされたカウント値を保持する回路である。
【００３０】
バイナリー・カウンタ回路は、ＪＫフリップフロップ回路１１ａ、１１ｂ、１１ｃ、ＡＮＤ回路１３を有している。ＪＫフリップフロップ回路１１ａ、１１ｂ、１１ｃには、それぞれ、８逓倍クロックが入力される。また、ＡＮＤ回路１３の入力部には、ＪＫフリップフロップ回路１１ａの出力部及びＪＫフリップフロップ回路１１ｂの出力部が接続されている。また、ＡＮＤ回路１３の出力部にはＪＫフリップフロップ回路１１ｃの入力部が接続されている。また、ＪＫフリップフロップ回路１１ａの両方の入力部は"１"固定とされている。また、ＪＫフリップフロップ回路１１ｂの入力部はＪＫフリップフロップ回路１１ａの出力部と接続されている。
【００３１】
ＪＫフリップフロップ回路１１ａは、両方の入力（Ｊ、Ｋ）が"Ｈ"レベルである"１"であるため、クロックの入力に基づいて出力が反転する。ここで、８逓倍クロックの立ち上がりの入力に基づいて例えば初期状態が"１"の場合、反転した"Ｌ"レベルである"０"が出力される。その後、８逓倍クロックの立ち上がりの入力に基づいて、"１"、"０"、"１"・・・が出力される。ＪＫフリップフロップ回路１１ｂでは、両方の入力（Ｊ、Ｋ）が"０"の場合、クロックが入力されても出力は変化しない。また、両方の入力（Ｊ、Ｋ）が"１"の場合、クロックの入力に基づいて出力が反転する。よって、８逓倍クロックの立ち上がりに基づいて、"０"、"０"、"１"、"１"・・・が出力される。また、以下、同様にして、ＪＫフリップフロップ回路１１ｃでは、ＡＮＤ回路から"１"が出力された場合、クロックの入力に基づいて出力が反転する。よって、両方の入力（Ｊ、Ｋ）及び８逓倍クロックの立ち上がりに基づいて、"０"、"０"、"０"、"１"、"１"、"１"・・・が出力される。このようにして、８逓倍のクロック数をカウントすることができる。
【００３２】
一方、カウント値保持回路は、Ｄフリップフロップ１２ａ、１２ｂ、１２ｃ、ＸＯＲ回路１４、バッファ１５を有している。ＸＯＲ（排他的論理和）回路１４には、エッジ検出回路３２ａによる出力信号とバッファを介してエッジ検出回路による出力信号を遅延させた信号が入力される。よって、ＸＯＲ回路１４からは、遅延した分だけ"Ｈ"レベルとして出力される。また、ＸＯＲ（排他的論理和）回路１４の出力部からは、上記したクロックがそれぞれＤフリップフロップ１２ａ、１２ｂ、１２ｃへ出力される。各Ｄフリップフロップ１２ａ、１２ｂ、１２ｃはそれぞれ、ＪＫフリップフロップ回路１１ａ、１１ｂ、１１ｃによって出力された信号を入力し、上記したクロックの入力に基づいて、その後入力信号が変化してもＤフリップフロップの出力にデータが保存される。このような回路構成を設けることによって、エッジ検出回路３２ａが入力信号のエッジを検出した場合に、カウントを停止し、次の内部クロックの立ち上がりまで、そのカウント値を保持することができる。また、保持されたカウント値は、次の内部バスクロックの立ち上がりで外部へ出力することができる
【００３３】
フリップフロップＦＦ３は、内部バスクロックの反転クロックに同期して入力信号を保持する回路である。また、フリップフロップＦＦ３は、エッジ検出・カウンタ回路３２によって出力された信号を入力してマルチプレクサＭＵＸ２へと出力する。
【００３４】
マルチプレクサＭＵＸ２は、出力制御回路４０によって出力されるセレクト信号ＳＥＬ１に基づいて、フリップフロップＦＦ３から出力される信号のうち任意の信号を選択して出力する。
【００３５】
フリップフロップＦＦ４は、クロック信号ＣＬＫ×８を分周して生成した内部バスクロック（ＣＬＫ×２）に同期して入力信号を保持する回路である。また、フリップフロップＦＦ４は、マルチプレクサＭＵＸ２によって出力される信号を入力してマルチプレクサ５０へと出力する。
【００３６】
出力制御回路４０は、マルチプレクサ回路１０、高クロックサンプル回路３０及びマルチプレクサ５０の出力を制御する機能を有する回路である。この場合、上記したセレクト信号ＳＥＬといった出力を制御する信号は、出力制御回路４０内部に設けられたレジスタ４１にあらかじめ設定されている。また出力制御回路４０は、クロック信号をＣＰＵ１００外部へと出力する。
【００３７】
マルチプレクサ５０は、マルチプレクサ回路１０及び高クロックサンプル回路３０によって出力された信号のうち、出力制御回路１５によって出力されるセレクト信号ＳＥＬ３に基づいて選択された信号をＣＰＵ１００外部へと出力する。
【００３８】
次に、本実施の形態における内部バス情報取得回路内部の高クロックサンプル回路３０の動作について、図６に示すタイミングチャート図を参照して説明する。まず、内部バス６によって出力された内部バス信号がセレクタ３１へと入力される。なお、セレクタ３１に入力される内部バス信号は３２ビットであるものとする。
【００３９】
図６に示すセレクタ３１出力[０]及びセレクタ３１出力[１]は、セレクタ３１によって出力される４ビットの内部バス信号のうちの下位２ビットの信号を示すものである。セレクタ３１によって出力された信号は、エッジ検出・カウンタ回路３２へと入力される。
【００４０】
エッジ検出・カウンタ回路３２は、１ビットの内部バス信号の入力に対して、エッジ検出信号によって出力されるエッジ検出信号と、内部バスクロックの１サイクルの期間の８逓倍クロックのクロック数のカウント値である３ビットのデータを合計した４ビットのデータ信号を出力する。エッジ検出・カウンタ回路３２には４ビットの内部バス信号が入力されるため、４×４ビットのデータ信号が出力される。なお、図６に示すエッジ検出・カウンタ回路[７：４]及びエッジ検出・カウンタ回路[３：０]は、それぞれ、セレクタ３１出力[１]、セレクタ３１出力[０]に対応するデータ出力信号である。このようにエッジ検出・カウンタ回路３２によって出力された信号は、第３のフリップフロップＦＦ３に入力される。
【００４１】
第３のフリップフロップＦＦ３に入力された信号は、内部バスクロックＣＬＫの反転クロックに同期して保持される。よって、入力信号はクロック信号の立下りに同期して出力される（図６、ＦＦ３[７：０]、ＦＦ３[１５：８]参照）。
【００４２】
第３のフリップフロップＦＦ３によって出力された複数ビットの信号（ＳＤ１信号及びＳＤ２信号）は、第２のマルチプレクサＭＵＸ２に入力される。そして、セレクト信号ＳＥＬ１に基づいて、ＳＤ１信号あるいはＳＤ２信号を選択して出力する。なお、出力制御回路４０によって出力されるセレクト信号ＳＥＬ１は、クロック信号ＣＬＫの２倍の周期でＳＤ１信号あるいはＳＤ２信号を切り替えるようにマルチプレクサＭＵＸ２を制御する制御信号である（図６、マルチプレクサＭＵＸ２参照）。
【００４３】
第４のフリップフロップＦＦ４に入力された信号は、２逓倍のクロック（ＣＬＫ×２）に同期して保持される。そして、マルチプレクサ５０へと出力される（図６、ＦＦ４出力[７：０]参照）。内部バス信号は、信号変化の情報を持った信号へと変換されてマルチプレクサ５０へと出力される。そして、マルチプレクサ５０によって外部へと出力される。
【００４４】
図７は、図６に示すＦＦ３[７：０]とｄ０〜ｄ３の関係を示している。セレクト信号ＳＥＬ３に基づいてマルチプレクサ５０は内部バス信号を外部へと出力する。外部に出力された内部バス信号は、外部に出力されるクロック信号１１の立下りによってサンプルすることによって、例えば図７に示す値となる。
【００４５】
図８は、データ信号１０から画面イメージを作成する方法を示した図である。ここでは、例として図７に示すｄ０[７：４]（フリップフロップＦＦ３出力[７：４]）、ｄ１[７：４]（フリップフロップＦＦ３出力[７：４]）から画面イメージを作成している。この場合、ｄ０[３]とｄ１[３]を信号の変化点とし、ｄ０[２：０]、ｄ１[２：０]をカウント値とすることで画面イメージを作成している。
【００４６】
例えばｄ０[７：４]とｄ１[７：４]の最上位ビットのビット値が１のとき"Ｈ"レベルの信号とする（図８、ｔ１参照）。また、ｄ０[７：４]とｄ１[７：４]の最上位ビットのビット値が０のとき"Ｌ"レベルの信号とする（図８、ｔ２参照）。ｄ０[７：４]＝１０１０の最下位ビットから３ビット目までのビット値、つまり０１０に基づいて、例えば内部バス（仮想）クロックの２クロック目の立下りで"Ｈ"レベルへと変化させる（図８、ｔ１参照）。また、ｄ１[７：４]＝１０１０の最下位ビットから３ビット目までのビット値、つまり０１０に基づいて、例えば内部バス（仮想）クロックの２クロック目の立下りで"Ｌ"レベルへと変化させる（図８、ｔ２参照）。
【００４７】
図９は、内部バス情報取得回路９によって出力された４本の内部バス信号の状態を示す最終的な画面イメージ図である。内部バス信号の状態は、高クロックサンプル回路３０に入力されるＰＬＬ回路２０からのクロック周期により決定される精度に基づいて、内部バスクロックとの関係を画面イメージとして確認することができる。
【００４８】
このように、本実施の形態では、高クロックサンプル回路によって内部バスクロックよりも高速なクロック単位で内部バス情報を得る場合について説明した。しかしながら、内部バスクロックに基づいて内部バス信号を外部に出力することも可能である。以下、内部バス６によって出力された内部バス信号がマルチプレクサ回路１０によって外部へと出力される場合について説明する。
【００４９】
まず、内部バス６からの内部バス信号が、クロック信号ＣＬＫに同期して転送動作を行う第１のフリップフロップＦＦ１に与えられる。そして、このフリップフロップＦＦ１の出力する内部バス信号が４つのサブバスＳＤ１〜ＳＤ４に分割される。マルチプレクサＭＵＸ１は、出力制御回路４０によって出力されるセレクト信号ＳＥＬ１に基づいて、入力されるサブバスＳＤ１〜ＳＤ４から一つの信号を選択して出力する。そして、クロック信号ＣＬＫに同期して転送動作を行う第２のフリップフロップＦＦ２に入力された内部バス信号は、マルチプレクサ５０へと出力される。
【００５０】
マルチプレクサ５０は、出力制御回路４０によって出力されるセレクト信号ＳＥＬ３に基づいて、マルチプレクサ回路１２によって出力された内部バス信号をＣＰＵ１００外部へと出力する。このように、内部バスとマルチプレクサとの間にマルチプレクサ回路を設けることによって、通常のクロック信号ＣＬＫに基づいて、内部バス信号を外部に出力することができる。
【００５１】
以上に示したように、本実施の形態における半導体装置では、内部バス情報取得回路９内部に内部バスクロックよりも高速なクロック単位で内部バス情報を得る高クロックサンプル回路３０を設けた。よって、内部バスクロック周期以下の信号状態が原因で発生している問題のデバックが可能となった。また、マルチプレクサ回路１０及び高クロックサンプル回路３０の出力部にマルチプレクサ５０を設けることにより、通常のクロック信号ＣＬＫに基づいた内部バス信号あるいは内部バスクロックよりも高速なクロックに基づいた内部バス信号のいずれか一方を選択して出力することが可能となった。
【００５２】
また、本実施の形態では、内部バスクロックよりも高速な８逓倍クロックに基づいて内部バス信号をサンプリングする場合について説明した。８逓倍クロックに基づいて内部バス信号をサンプリングすることによって、例えばクロック周期が１００ＭＨｚ（１０ｎｓ）の場合、クロック周期に対応して１／８の１．２５ｎｓ刻みで内部バスの変化を検出することができる。
【００５３】
また、本実施の形態では８逓倍クロックに基づいて内部バス信号の変化を検出したが、任意の逓倍クロックの値を適宜適用することが可能である。例えば、クロック周期に対して１／４の刻みで内部バスの変化を検出する場合、ＰＬＬ回路を４逓倍とし、カウンタ回路を０、１、２、３、０、１、・・・とカウントする回路に変更することで実現可能である。
【００５４】
また、バスサイクルそのものの信号動作の妥当性あるいはタイミングの妥当性を計ることが可能となった。したがって、不具合の解析を容易に行うことが可能となった。また、原因究明までの時間を短縮することが可能となった。
【００５５】
実施の形態２
図１０は、本実施の形態２の半導体装置２００を示す図である。なお、図１０において、図２と共通する構成に関しては、同一の符号を付し、その詳細な説明を省略する。図２に示したＣＰＵ１００では、内部バス情報取得回路内部のＰＬＬ回路２０に内部バスクロックを入力した。本実施の形態における半導体装置２００では、ＰＬＬ回路２０に外部供給クロックを入力している。
【００５６】
内部バスがクロック非同期である場合には、半導体装置外部から外部クロックを入力する。すると、その内部バスのタイミング仕様に合わせたクロック周期で内部バス信号の状態をサンプルすることが可能となる。よって、信号タイミングを含めたデバックが可能となる。
【００５７】
以上、本発明では、ＣＰＵあるいはその他の周辺機能を１つのＬＳＩに搭載するＳｏＣなどにおいて、内部バス信号を内部バスクロック以上のクロック周期によってサンプルして外部へ出力した。よって、内部バスクロック周期以下の信号状態が原因で発生している問題のデバックを可能とした。よって、問題が発生した場合の問題解決までの時間を短縮することが可能となった。
【００５８】
以上、実施の形態に基づいて詳細に説明したが、本発明は上記した実施の形態に限定されず本発明の趣旨を変更しない限り種々の変形が可能である。
【図面の簡単な説明】
【００５９】
【図１】本実施の形態１に関わる半導体装置１００を示す図である。
【図２】本実施の形態１に関わる半導体装置１００内部の内部バス情報取得回路を示す図である。
【図３】本実施の形態１に関わる内部バス情報取得回路内部のエッジ検出・カウンタ回路を示す図である。
【図４】本実施の形態１に関わるカウンタ回路の一例を示す図である。
【図５】本実施の形態１に関わるエッジ検出・カウンタ回路のタイミングチャートを示す図である。
【図６】本実施の形態１に関わる内部バス情報取得回路内部の高クロックサンプル回路のタイミングチャートを示す図である。
【図７】本実施の形態１に関わる内部バス情報取得回路からのデータ出力の一部を示す図である。
【図８】本実施の形態１に関わる内部バス情報取得回路からのデータ出力をもとにした画面イメージの作成例を示す図である。
【図９】本実施の形態１に関わる内部バス情報取得回路により得られた結果を表示した際の画面イメージを示す図である。
【図１０】本実施の形態２に関わる内部バス情報取得回路を示す図である。
【図１１】従来の半導体装置内部のマルチプレクサを示す図である。
【図１２】従来のマルチプレクサ内部の詳細を示す図である。
【図１３】従来の半導体装置内部の内部バス情報取得回路を示す図である。
【符号の説明】
【００６０】
１００                  ＣＰＵ
２                      ＣＰＵコア
３                      ＲＡＭ
４                      Ｉ／Ｏ
５                      ＤＭＡＣ
６                      内部バス
７                      バスブリッジ
８                      外部バス
１０                    マルチプレクサ回路
１１                    ＪＫフリップフロップ回路
１２                    Ｄフリップフロップ
１３                    ＡＮＤ回路
１４                    ＸＯＲ（排他的論理和）回路
１５                    バッファ
２０                    ＰＬＬ回路
３０                    高クロックサンプル回路
３１                    セレクタ
３２                    エッジ検出・カウンタ回路
４０                    出力制御回路
４１                    レジスタ
５０                    マルチプレクサ
ＦＦ１〜ＦＦ４          第１〜第４のフリップフロップ
ＭＵＸ１、ＭＵＸ２      第１、第２のマルチプレクサ
【図１】
2008171221.tif 000003
【図２】
2008171221.tif 000004
【図３】
2008171221.tif 000005
【図４】
2008171221.tif 000006
【図５】
2008171221.tif 000007
【図６】
2008171221.tif 000008
【図７】
2008171221.tif 000009
【図８】
2008171221.tif 000010
【図９】
2008171221.tif 000011
【図１０】
2008171221.tif 000012
【図１１】
2008171221.tif 000013
【図１２】
2008171221.tif 000014
【図１３】
2008171221.tif 000015