(57)【特許請求の範囲】
【請求項１】
ＣＰＵからのアクセスが可能な半導体デバイスであって、
設定されたアクセス検出条件に基づき、前記ＣＰＵからのアクセスのうちログ取得の対象となるアクセスを検出するＣＰＵアクセス検出手段と、
設定されたイベント検出条件に基づき、前記半導体デバイスが有する機能モジュールからの内部信号のうちログ取得の対象となる内部信号を検出する内部信号検出手段と、
検出した前記ログ取得の対象となるアクセス及び内部信号の少なくともいずれかのログデータを記憶する内部メモリ手段と、
前記半導体デバイスの外部端子の状態に基づき、前記アクセス検出条件及び前記イベント検出条件を設定する検出条件設定手段と、
を有し、
前記検出条件設定手段は、前記半導体デバイスの外部リセット解除の前に、前記アクセス検出条件及び前記イベント検出条件を設定し、前記外部リセット解除の後に、一の外部端子に設定されている前記アクセス検出条件及び他の外部端子により設定されている前記イベント検出条件を有効にする半導体デバイス。
【請求項２】
前記検出条件設定手段は、前記半導体デバイスの外部端子の状態に基づき、前記ログ取得の許可又は不許可を設定し、
設定した前記ログ取得の許可又は不許可に応じて前記ログデータを記憶する前記内部メモリ手段へのアクセスを制御する内部メモリアクセス制御手段を有する、
請求項１に記載の半導体デバイス。
【請求項３】
前記内部メモリ手段は、前記ＣＰＵによる制御が開始される前、又は前記半導体デバイスを搭載したシステムが立ち上がる前における前記ログデータを一時的に記憶する、
請求項１又は２に記載の半導体デバイス。
【請求項４】
前記内部メモリ手段に記憶した前記ログデータが転送される外部メモリへのアクセスを制御する外部メモリアクセス制御手段を有する、
請求項１〜３のいずれか一項に記載の半導体デバイス。
【請求項５】
前記半導体デバイスの外部に設けられた前記外部メモリを初期化する外部メモリ初期化実行手段と、
前記外部メモリの初期化が完了したことを検出する初期化完了検出手段と、
前記外部メモリの初期化の完了を検出したことに応じて前記内部メモリ手段に記憶したログデータを、前記外部メモリアクセス制御手段を介して前記外部メモリへ転送するログデータ転送手段と、を有する、
請求項４に記載の半導体デバイス。
【請求項６】
前記半導体デバイスの外部から前記ＣＰＵを介さずに該半導体デバイスの内部メモリ手段及び前記外部メモリへのアクセスを可能とするシリアル通信手段を有し、
前記ログデータ転送手段は、前記シリアル通信手段を用いて前記内部メモリ手段から前記外部メモリへ前記ログデータを転送する、
請求項５に記載の半導体デバイス。
【請求項７】
前記検出条件設定手段は、前記ＣＰＵのリセット解除時よりも前に前記アクセス検出条件及び前記イベント検出条件の少なくともいずれかを設定する、
請求項１〜６のいずれか一項に記載の半導体デバイス。
【請求項８】
ＣＰＵからのアクセスが可能な半導体デバイスのログデータを取得する方法であって、
設定されたアクセス検出条件に基づき、該ＣＰＵのアクセスのうちログ取得の対象となるアクセスを検出し、
設定されたイベント検出条件に基づき、前記半導体デバイスが有する機能モジュールからの内部信号のうちログ取得の対象となる内部信号を検出し、
検出した前記ログ取得の対象となるアクセス及び内部信号の少なくともいずれかのログデータを内部メモリ手段へ記憶し、
前記半導体デバイスの外部端子の状態に基づき、前記アクセス検出条件及び前記イベント検出条件を設定し、
前記半導体デバイスの外部リセット解除の前に、前記アクセス検出条件及び前記イベント検出条件を設定し、前記外部リセット解除の後に、一の外部端子に設定されている前記アクセス検出条件及び他の外部端子により設定されている前記イベント検出条件を有効にする、
処理をコンピュータが実行するログ取得方法。
【請求項９】
請求項１〜７のいずれかに記載された半導体デバイスと、前記内部メモリ手段に記憶されたログデータが転送される外部メモリとを備えた電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体デバイス、ログ取得方法及び電子機器に関する。
【背景技術】
【０００２】
ＣＰＵからのアクセスが可能な半導体デバイス、および半導体デバイスを搭載する電子機器の障害解析のために、ＣＰＵのアクセスや半導体デバイスの内部信号に関する履歴（ログ）を所定の条件でメモリや半導体デバイスに搭載したシリアル通信手段へ出力することが知られている。
【０００３】
例えば、特許文献１には、デバッグ用のログデータを生成し、生成されたログデータを、エンジン制御部内のバッファの空き状況及びコントローラのデータ転送状況に応じてバッファへ蓄積するか又はコントローラへ転送する電子機器が開示されている。
【０００４】
特許文献２には、ＣＰＵからのアクセスをモニタし、ログデータを取得する半導体デバイスにおいて、ＣＰＵからのアクセスの種類によりログデータの要又は不要を判断し、必要なログデータのみを取得する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１、２では、ＣＰＵによる半導体デバイスの制御開始前又は半導体デバイスのシステムが立ち上がる前に、ログデータの取得範囲や取得条件を制御することや、取得したログデータをＤＤＲ等の外部メモリへ書き込むことは困難である。
【０００６】
そこで、一側面では、ＣＰＵによる半導体デバイスの制御開始前又は半導体デバイスのシステムが立ち上がる前に検出条件に基づき検出したログデータをメモリに記憶することを目的とする。
【課題を解決するための手段】
【０００７】
一つの案では、ＣＰＵからのアクセスが可能な半導体デバイスであって、設定されたアクセス検出条件に基づき、前記ＣＰＵからのアクセスのうちログ取得の対象となるアクセスを検出するＣＰＵアクセス検出手段と、設定されたイベント検出条件に基づき、前記半導体デバイスが有する機能モジュールからの内部信号のうちログ取得の対象となる内部信号を検出する内部信号検出手段と、検出した前記ログ取得の対象となるアクセス及び内部信号の少なくともいずれかのログデータを記憶する内部メモリ手段と、前記半導体デバイスの外部端子の状態に基づき、前記アクセス検出条件及び前記イベント検出条件を設定する検出条件設定手段と、を有し、前記検出条件設定手段は、前記半導体デバイスの外部リセット解除の前に、前記アクセス検出条件及び前記イベント検出条件を設定し、前記外部リセット解除の後に、一の外部端子に設定されている前記アクセス検出条件及び他の外部端子により設定されている前記イベント検出条件を有効にする半導体デバイスが提供される。
【発明の効果】
【０００８】
一態様によれば、ＣＰＵによる半導体デバイスの制御開始前又は半導体デバイスのシステムが立ち上がる前に検出条件に基づき検出したログデータをメモリに記憶することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態にかかる半導体デバイスの内部構成の一例を示す図。
【図２】一実施形態にかかるシステムの電源オンから外部メモリ初期化までの動作の一例を示すタイムチャート。
【図３】一実施形態にかかるログフォーマットの一例を示す図。
【図４】一実施形態にかかる検出条件の一例を示す図。
【図５】一実施形態にかかる内部メモリへのログデータ蓄積処理の一例を示すフローチャート。
【図６】一実施形態にかかる外部メモリへのログデータ転送処理の一例を示すフローチャート。
【図７】一実施形態にかかる外部メモリの初期化処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１１】
［半導体デバイスの内部構成］
まず、本発明の一実施形態にかかる半導体デバイス２７の内部構成について、図１を参照して説明する。図１は、一実施形態にかかる半導体デバイス２７の内部構成の一例を示す。半導体デバイス２７は、半導体デバイス２７の制御用であるＣＰＵ１からのアクセスが可能なデバイスである。半導体デバイス２７と後述される外部メモリとは、電子機器４０に搭載されている。
【００１２】
半導体デバイス２７は、ＣＰＵアクセス検出手段４、検出条件設定手段６、内部信号トリガ検出手段８、ログフォーマット変換手段９、内蔵メモリアクセス制御手段１０、内蔵メモリ手段１１、ログデータ転送手段１２、外部メモリアクセス制御手段１３、外部メモリ初期化実行手段１５、外部メモリ初期化完了検出手段１６、機能モジュール１７、シリアル通信手段１８、内部バスの一例であるＡＸＩ（Advanced eXtensible Interface）バス１９、ＰＬＬ（phase locked loop）２０及びリセット生成手段２１を有する。
【００１３】
ＣＰＵ１は、本実施形態にかかる半導体デバイス２７の制御用のＣＰＵであり、半導体デバイス２７にアクセスすると、ＣＰＵアクセスＩ／Ｆ（（ＩｎｔｅｒＦａｃｅ）信号３が出力される。ＣＰＵ１にはリセット信号２が入力され、これにより、ＣＰＵ１はリセットされる。
【００１４】
ＣＰＵアクセス検出手段４は、ＣＰＵアクセスＩ／Ｆ信号３を検出する。ＣＰＵアクセス検出手段４は、ＣＰＵアクセスＩ／Ｆ信号３によって、あるアドレスへＲ／Ｗ（Ｒｅａｄ／Ｗｒｉｔｅ）アクセスする動作を監視し、検出条件設定手段６が設定したアクセス検出条件に合致したＣＰＵ１からのアクセス(以下、「ＣＰＵアクセス」ともいう。)を検出する。検出したＣＰＵアクセスは、ログ取得対象のログデータの一例である。
【００１５】
検出条件設定手段６は、半導体デバイス２７の外部端子の状態を示す検出条件信号５に基づきアクセス検出条件、イベント検出条件及びログ取得の許可又は不許可を設定する。半導体デバイス２７の外部端子の状態は、半導体デバイス２７の外部ピンのレベルであり、検出条件信号５によって示される。検出条件設定手段６は、検出条件信号５を外部リセット信号２２の立ち上がりのタイミングでラッチし、保存する。ある外部ピンによりアクセス検出条件（のモード）が設定され、他の外部ピンによりイベント検出条件（のモード）が設定される。検出条件設定手段６は、半導体デバイス２７の外部ピンを複数用いることで各検出条件の選択肢を増やしてもよい。
【００１６】
内部信号トリガ検出手段８は、検出条件設定手段６が設定したイベント検出条件に基づき、半導体デバイス２７が有する機能モジュール１７からの内部信号７のうちからイベント検出条件を満たす内部信号７（Ｉ／Ｆ信号）を検出する。具体的には、内部信号トリガ検出手段８は、機能モジュール１７の内部信号７を入力する。内部信号トリガ検出手段８は、イベント検出条件に合致した、割り込み、バス、制御信号などのレベルやエッジなどの組み合わせが予め設定された内部信号７を検出する。検出した内部信号は、ログ取得対象のログデータの一例である。
【００１７】
ログフォーマット変換手段９は、検出したＣＰＵアクセスや内部信号のログデータを例えば図３に示すようなログフォーマットに変換する。
【００１８】
内蔵メモリアクセス制御手段１０は、内蔵メモリ手段１１へのアクセスを制御する。内蔵メモリアクセス制御手段１０は、ログフォーマット変換手段９から出力されたログデータに応じて、選択信号やＲ／Ｗ信号やアドレス信号を生成する。
【００１９】
内蔵メモリ手段１１は、検出したログ取得対象となるＣＰＵアクセスや内部信号のログデータを記憶する。内蔵メモリ手段１１は、例えばＳＲＡＭ（Static Random Access Memory）で構成され得る。システムの立ち上がり前であれば、通常画像処理等の他の用途に使用している内蔵メモリをジョイント（Joint）してログデータを保存するメモリ容量を増やすこともできる。
【００２０】
ログデータ転送手段１２は、内蔵メモリ手段１１のＳＲＡＭ等のメモリに転送すべきデータがバースト分溜まったことを検出し、ＡＸＩバス１９のプロトコルへ変換してバースト転送する。但し、外部メモリ１４が使用できない間（外部メモリ１４の初期化前）は一時的に内蔵メモリ手段１１へ蓄積したままとする。
【００２１】
外部メモリアクセス制御手段１３は、外部メモリ１４へのＩ／Ｆプロトコルを生成する。外部メモリ１４は、半導体デバイス２７の外部に設けられたメモリである。外部メモリ１４は、ＳＲＡＭ、ＤＲＡＭ（Dynamic Random Access Memory）、ＨＤＤ（Hard Disk Drive）、Ｆｌａｓｈメモリ等の揮発性メモリまたは不揮発性メモリで構成され得る。
【００２２】
外部メモリ初期化実行手段１５は、ＣＰＵ１を介さずに外部メモリ１４を初期化する。例えば外部メモリ１４がＤＲＡＭの場合、外部メモリ初期化実行手段１５は、ＰＨＹ／論理層のリセット制御、初期化Parameter設定、モードレジスタ設定、トレーニング等の一連動作をＣＰＵ１の介在無く実施する。
【００２３】
外部メモリ初期化完了検出手段１６は、外部メモリ初期化実行手段１５による外部メモリ１４の初期化実行処理が完了したことを、ＣＰＵ１の介在無く検出する。
【００２４】
機能モジュール１７は、半導体デバイス２７に搭載された、各種機能を実行するためのモジュールであり、画像処理やＤＭＡ、割り込みコントローラ、ＩＯ（ＩＮｐｕｔ／Ｏｕｔｐｕｔ）Ｉ／Ｆの論理層などである。機能モジュール１７は、その機能を実行するためにＣＰＵ１によってアクセスされる。機能モジュール１７は、ログ取得用に内部信号７によって内部信号トリガ検出手段８へ接続されている。
【００２５】
シリアル通信手段１８は、ＣＰＵ１の介在無く、ＣＰＵ１のアクセス範囲と同じエリアをアクセスすることができる。シリアル通信手段１８は、図示しない外部ＰＣ（Personal Computer）などからシリアルコマンドを介して接続され、内部レジスタ、内部メモリ、ＡＸＩバス１９経由で外部メモリ１４へアクセスできる。
【００２６】
ＡＸＩバス１９は、機能モジュール１７やシリアル通信手段１８、外部メモリアクセス制御手段１３等を接続する内部バスの一例である。
【００２７】
ＰＬＬ２０は、ＰＬＬ（phase locked loop）回路である。リセット生成手段２１は、半導体デバイス２７で使用するＰＬＬリセット信号１２５を生成するリセット生成回路である。内部クロック生成手段１２０は、半導体デバイス２７で使用する内部クロック信号２４を生成する回路である。内部リセット生成手段１２１は、半導体デバイス２７で使用する内部リセット信号２５を生成する回路である。最初にＰＬＬ２０のリセットが解除され、内部クロック信号２４の出力が安定してから、半導体デバイス２７内部の機能モジュール１７等のリセットが解除される。
【００２８】
外部リセット信号２２は、半導体デバイス２７の外部からリセット生成手段２１に入力するリセット信号である。外部クロック信号２３は、半導体デバイス２７の外部からＰＬＬ２０に入力するクロック信号である。
【００２９】
ＰＬＬリセット信号１２５は、ＰＬＬ２０をリセットする専用の信号であり、リセット生成手段２１から出力され、ＰＬＬ２０に入力される。内部クロック信号２４は、内部クロック生成手段１２０から出力されるクロック信号である。内部リセット信号２５は、内部クロック信号２４に応じて内部リセット生成手段１２１から出力され、半導体デバイス２７内部の機能モジュール１７等をリセットする信号である。
【００３０】
シリアル通信信号は、シリアル通信手段１８へ接続されている。外部メモリＩ／Ｆ信号２８は、例えばＤＤＲ等であり、外部メモリ１４に入力される。
【００３１】
（データの流れ）
かかる構成の半導体デバイス２７の（１）〜（４）のデータの流れについて簡単に説明する。（１）は、検出条件設定手段６により設定された各検出条件に従い、ＣＰＵアクセス検出手段４又は内部信号トリガ検出手段８が検出したログデータをログフォーマット変換手段９でフォーマット変換してログフォーマットを生成し、内蔵メモリ手段１１へ蓄積するデータフローである。（２）は、内蔵メモリ手段１１から、外部メモリ１４へデータ転送するデータフローである。（３）は、シリアル通信手段１８から、内蔵メモリ手段１１へアクセスするデータフローである。（４）は、シリアル通信手段１８から、外部メモリ１４へアクセスするデータフローである。
【００３２】
（１）のデータフローは、ＣＰＵアクセスのログデータ取得時及び内部信号のログデータ取得時に発生する。（１）のデータフローにより蓄積されるログデータの蓄積処理については、図５を参照しながら後述される。
＜ＣＰＵアクセスのログ取得＞
ＣＰＵ１からのアクセスのうち、ログ取得対象のアクセスかを判定するためのアクセス検出条件は、予め検出条件信号５に設定され、検出条件設定手段６に保存されている。ＣＰＵ１からＣＰＵアクセスＩ／Ｆ信号３を通して、半導体デバイス２７へのアクセスが行われる。ＣＰＵアクセス検出手段４は、検出条件設定手段６に設定したアクセス検出条件に合致したＣＰＵアクセスを検出する。検出されたＣＰＵアクセスのログデータは、ログフォーマット変換手段９でフォーマット変換され、内蔵メモリアクセス制御手段１０を通して、内蔵メモリ手段１１に保存される。
＜内部信号トリガのログ取得＞
機能モジュール１７からの内部信号７のうち、ログ取得対象の信号かを判定するためのイベント検出条件は、予め検出条件信号５に設定され、検出条件設定手段６に保存されている。機能モジュール１７からの内部信号７が、内部信号トリガ検出手段８に接続される。内部信号トリガ検出手段８は、検出条件設定手段６が設定したイベント検出条件に合致した内部信号７を検出する。検出された内部信号７のログデータは、ログフォーマット変換手段９でフォーマット変換され、内蔵メモリアクセス制御手段１０を通して、内蔵メモリ手段１１に保存される。
【００３３】
また、（２）のデータフローにより転送されるログデータの転送処理については、図６を参照しながら後述される。また、（４）のデータフローによりアクセスされる外部メモリ１４の初期化処理については、図７を参照しながら後述される。
＜外部メモリ初期化実行＞
本実施形態にかかる外部メモリ１４の初期化処理は、外部メモリ初期化実行手段１５により、ＣＰＵ１の介在無く実行される。外部メモリ初期化完了検出手段１６は、外部メモリ１４の初期化完了を検出し、内蔵メモリアクセス制御手段１０へ通知する。内蔵メモリアクセス制御手段１０は、ログデータ転送手段１２を起動して、内蔵メモリ手段１１から、外部メモリアクセス制御手段１３を通して外部メモリ１４へログデータを転送する。
【００３４】
［電源オンから外部メモリ初期化までの動作］
次に、本実施形態にかかるシステムの電源投入から外部メモリ１４の初期化までの動作について、図２を参照して説明する。図２は、一実施形態にかかるシステムの電源投入から外部メモリ１４の初期化までの動作の一例を示すタイムチャートである。
【００３５】
本実施形態において以下に説明する「システムが立ち上がる前」とは、ＣＰＵ１による制御開始前、又は、システム自体が立ち上がらない状態をいう。すなわち、「システムが立ち上がる前」とは、「ＣＰＵ１を含むシステムの電源は入っているが、ＣＰＵ１のリセットが解除されていない状態」、又は、「ＣＰＵ１のリセットは解除されているが、ＣＰＵ１が本来の制御ができない状態」をいう。例えば、ＰＣＩ  ｅｘｐｒｅｓｓのＬｉｎｋ  ｕｐまでの動作は、ＣＰＵ１の介在がなくてもハードウェアで実施出来る為、ＣＰＵ１による制御開始前の動作とすることが出来る。例えば、そのような構成を取った際、Ｌｉｎｋ  ｕｐしない場合にハードウェア不具合を確認する為に、本実施形態にかかるログ取得方法を適用することで、設定した検出条件に基づくログデータを検出でき、そのログデータによる解析が可能となる。
【００３６】
なお、本実施形態にかかるシステムは、ＣＰＵ１及び半導体デバイス２８を有する。しかしながら、これに限らず、本実施形態にかかるシステムは、システム電子機器４０に含まれる構成要素の全部又は一部であり、少なくともＣＰＵ１を含んでいればよい。
【００３７】
（１）外部リセット信号２２が解除されると、図２の（Ｂ−３）に示すＰＬＬリセット信号１２５が解除され、これに応じてＰＬＬ２０が動作し、図２の（Ａ−２）に示す内部クロック信号２４が生成される。図２の（Ａ−１）に示すように外部リセット信号２２の解除に応じて設定されている各検出条件が有効になる。図２の（Ｂ−３）に示すＰＬＬリセット信号１２５の解除タイミングは、外部リセット信号２２の後であって、かつ内部リセット信号２５の前である。
【００３８】
（２）内部クロック信号２４に応じて内部リセット信号２５が解除される。図２の（Ｂ−１）に示すように、内部リセット信号２５の解除に応じて外部メモリ初期化実行手段１５が、外部メモリ１４の初期化を開始する。
【００３９】
（３）ＣＰＵ１のリセット信号２の解除は、内部リセット信号２５の解除よりも後であってもよい。ＣＰＵ１のリセット信号２が解除されると、図２の（Ｃ）に示すように半導体デバイス２７へのＣＰＵアクセスが開始される。
【００４０】
（４）外部メモリ１４の初期化が完了すると、図２の（Ｄ）に示すように外部メモリ初期化完了を示す信号の論理が変化する。外部メモリ初期化完了検出手段１６は、外部メモリ初期化完了を示す信号の変化を検出する。
【００４１】
（５）ログの取得は、ＰＬＬリセット信号１２５及び内部リセット信号２５の解除時より可能となっている（図２の（Ｂ−２）を参照）。
【００４２】
（６）外部メモリ１４の初期化が完了すると、内蔵メモリ手段１１から外部メモリ１４へログデータが転送される（図２の（Ｅ）を参照）。
【００４３】
本実施形態では、（３）のＣＰＵ１の動作開始（＝ＣＰＵによるログ設定の開始）よりも前にハードウェアでログデータの取得を開始可能である。また、外部メモリ１４が使用可能になると、内蔵メモリ手段１１に取得されたログデータを外部メモリ１４へ転送可能となる。
【００４４】
つまり、本実施形態では、ＣＰＵ１の動作開始前またはシステムが立ち上がらない場合に、予めハードウェアで設定したアクセス検出条件又はイベント検出条件に合致したログデータを取得可能である。取得したログデータは、ＣＰＵ１以外からもアクセス可能な、ＬＳＩチップの内蔵メモリ手段１１または外部メモリ１４へソフトウェアの介在無く書き出して解析に役立てることができる。
【００４５】
［ログフォーマット］
次に、本実施形態にかかるログフォーマットの一例について、図３を参照して説明する。図３は、本実施形態にかかるログフォーマットの一例を示す。
（１）レジスタトレースモード
図３のレジスタトレースモードには、ＣＰＵアクセスをログフォーマット変換したフォーマット例が示されている。
（２）イベントトレースモード
図３のイベントトレースモードには、内部信号の動作組み合わせを１つのイベントとして、最大８つのイベントについて監視し、それぞれの発生時にログデータを生成したときのフォーマット例が示されている。
【００４６】
（１）、（２）ともに、内蔵のタイマによるタイムスタンプが付加されている。図３に示す「num」は、レジスタトレースモードのword識別（０：下位、１：上位）を示す。「time_cnt[15:0]」は、タイムスタンプ（上位：設定Period毎のカウント）を示す。「sub_cnt[17:0] 」は、タイムスタンプ（下位18bitのカウント）を示す。「rw」は、アクセス種別(０: リード/１: ライト) を示す。「bar」は、bar識別（2'b00=bar0、2'b01=bar4、2'b10=bar5）を示す。「addr[25:2]」は、アドレスを示す。「data[31:0]」は、データを示す。「event[3:0]」は、イベント１〜８（4'h1〜4'h8）検知結果を示し、最大８個のイベントを同時に検出している。
【００４７】
［検出条件］
次に、本実施形態にかかる検出条件設定手段６に設定されるアクセス検出条件及びイベント検出条件の一例について、図４を参照して説明する。各検出条件としては、ログ取得オン／オフ、モード（ＣＰＵアクセス又はイベント検出）選択、機能モジュール選択、アドレス／内部信号選択、ＣＰＵアクセスモード選択、イベントモード選択等を半導体デバイス２７の外部の端子から設定可能である。これらの設定は、ＣＰＵ１やシリアル通信手段１８からでも設定変更可能である。
【００４８】
［内部メモリ手段へのログデータ蓄積処理］
次に、本実施形態にかかる内部メモリ手段１１へのログデータ蓄積処理の一例について、図５のフローチャートを参照しながら説明する。本実施形態にかかる内部メモリ手段１１へのログデータ蓄積処理が開始されると、ステップＳ１にて、半導体デバイス２７の外部から検出条件信号５が入力され、これにより、アクセス検出条件やイベント検出条件が設定される。
【００４９】
次に、ステップＳ２にて、外部リセット信号２２が解除されるまで待ち、外部リセット信号２２が解除されたとき、ステップＳ３にて、検出条件設定手段６が検出条件を保存する。
【００５０】
次に、ステップＳ４にて、検出条件設定手段６に従ってログデータの取得が開始され、ステップＳ５にて、発生したＣＰＵアクセスや内部信号がログ取得条件に合致するかどうかが判定される。具体的には、ＣＰＵアクセス検出手段４は、ＣＰＵアクセスＩ／Ｆ信号３によって、アクセス検出条件に合致したＣＰＵアクセスを取得対象のログデータとして検出する。内部信号トリガ検出手段８は、イベント検出条件に合致した内部信号７のイベントを取得対象のログデータとして検出する。
【００５１】
次に、ステップＳ６にて、ログフォーマット変換手段９は、取得したログデータのフォーマットを変換し、ログフォーマットを作成する。次に、ステップＳ７にて、内蔵メモリ手段１１は、フォーマット変換後のログデータを、内蔵メモリアクセス制御手段１０を通して随時保存する。
【００５２】
次に、ステップＳ８にて、内蔵メモリ手段１１は、記憶可能なメモリ領域がＦｕｌｌになったかを判定する。記憶可能なメモリ領域がＦｕｌｌになった場合、ステップＳ９にて、内蔵メモリ手段１１は、Ｆｕｌｌのフラグを立て、ステップＳ１０に進む。記憶可能なメモリ領域がＦｕｌｌになっていない場合、そのままステップＳ１０に進む。
【００５３】
次に、ステップＳ１０にて、検出条件設定手段６が、ログ取得終了の指示が送出された場合、本処理を終了する。一方、ステップＳ１０にて、検出条件設定手段６が、ログ取得終了の指示が送出されなかった場合、ステップＳ４に戻り、ステップＳ４以降の処理を繰り返す。
【００５４】
［外部メモリへのログデータ転送処理］
次に、本実施形態にかかる外部メモリ１４へのログデータ転送処理の一例について、図６のフローチャートを参照しながら説明する。本実施形態にかかる外部メモリ１４へのログデータ転送処理が開始されると、ステップＳ１１にて、検出条件設定手段６は、検出条件信号５に応じた検出条件を設定する。次に、ステップＳ１２にて、外部リセット信号２２が解除されるまで待つ。
【００５５】
外部リセット信号２２が解除されると、内部リセット信号２５の解除に応じて、ステップＳ１３にて、外部メモリ初期化実行手段１５が起動される。これにより、図７にて示される外部メモリ１４の初期化処理が実行される。
【００５６】
次に、ステップＳ１４にて、外部メモリ初期化完了検出手段１６は、外部メモリ初期化処理が完了したかを判定する。外部メモリ初期化処理が完了したと判定された場合、ステップＳ１５にて、内蔵メモリ手段１１は一定量以上のログデータが蓄積されているかを判定する。一定量以上のログデータとしては、例えば１６ワード以上のログデータ等が挙げられる。
【００５７】
次に、内蔵メモリ手段１１に一定量以上のログデータが蓄積されていると判定された場合、ステップＳ１６にて、ログデータ転送手段１２は、内蔵メモリアクセス制御手段１０及び外部メモリアクセス制御手段１３を介してそのログデータを外部メモリ１４へ転送する。次に、ステップＳ１７にて、ログ取得終了の指示があったかを判定し、ログ取得終了の指示があった場合にはステップＳ１８に進む。ログ取得終了の指示がなかった場合にはステップＳ１５に戻り、ステップＳ１５〜Ｓ１７の処理を繰り返す。ステップＳ１８にて、内蔵メモリ手段１１に一定量未満のログデータが残っている場合、ステップＳ１６にて、残っているログデータを外部メモリ１４へ転送し、ステップＳ１７、Ｓ１８へ進んで本処理を終了する。
【００５８】
［外部メモリの初期化処理］
次に、本実施形態にかかる外部メモリ１４の初期化処理一例について、図７のフローチャートを参照しながら説明する。まず、ステップＳ２１にて、半導体デバイス２７の外部から、検出条件信号５の入力に従い、各検出条件が検出条件設定手段６により設定される。次に、ステップＳ２２にて、外部リセット信号２２が解除されるまで待つ。外部リセット信号２２が解除されると、ステップＳ２３にて、外部メモリアクセス制御手段１３（メモリコントローラ）のリセット解除後、メモリコントローラ、図示しないＤＤＲ−ＰＨＹのレジスタに初期パラメータが設定される。検出条件信号５にてＤＤＲ構成（容量、Ｂｉｔ幅、速度等）を指定して、検出条件信号５に基づきパラメータ設定値が変更される。
【００５９】
次に、ステップＳ２４にて、外部メモリ初期化実行手段１５が起動され、外部メモリ１４の初期化が開始される。次に、ステップＳ２５にて、メモリコントローラの起動後、（伝送特性向上の為）ハード動作で伝送路のインピーダンスの補正を行うＰＺＱキャリブレーションを実行する。これによりインピーダンスのプロセス・温度・電圧ばらつきをキャンセルできる。
【００６０】
次に、ステップＳ２６にて、ステップＳ２５のＰＺＱキャリブレーション後、使用するＤＤＲデバイスに応じた初期設定が、デバイス側のモードレジスタに設定される。次に、ステップＳ２７のＺＱキャリブレーションロングにて、ステップＳ２６のＤＤＲデバイスの初期設定の後に、初期化シーケンスの一環として、（伝送特性向上のため）出力抵抗・終端抵抗の補正を実行する。
【００６１】
次に、ステップＳ２８にて、（伝送特性向上の為）ライトレベリング、ゲートトレーニング、データアイのメモリトレーニングを順次実行する。次に、ステップＳ２９にて、外部メモリ初期化完了検出手段１６が、外部メモリ１４の初期化が完了したことを検出すると、図６に示す外部メモリ１４へのログデータ転送処理への移行が可能となる。
【００６２】
以上に説明したように、本実施形態にかかる半導体デバイス２７によれば、半導体デバイス２７の外部端子の状態からログ取得許可・不許可及びＣＰＵアクセス検出手段４または内部信号トリガ検出手段８による検出条件が検出条件設定手段６に設定される。外部メモリ初期化実行手段１５は、ＣＰＵ１の介在無く外部メモリ１４の初期化を実行する。外部メモリ初期化完了検出手段１６は、外部メモリ１４の初期化を完了したことを検出する。外部メモリ１４の初期化の完了が検出されると、ログデータ転送手段は、外部メモリアクセス制御手段１３を通して半導体デバイス２７の内蔵メモリ手段１１から外部メモリ１４へログデータを転送する。
【００６３】
これにより、半導体デバイス制御用のＣＰＵ１による制御開始前、またはシステム自体が立ち上がらない場合において、ログデータの取得範囲やモードの自由な制御が可能となる。また、ＣＰＵ１による半導体デバイス２７の制御開始前又はシステムが立ち上がる前において、設定した検出条件に基づき取得対象のログデータを検出し、ＣＰＵ１を介さずに半導体デバイス２７の内蔵メモリ手段１１に記憶することができる。また、外部メモリ１４の初期化が完了したタイミングに応じてＣＰＵ１を介さずに内蔵メモリ手段１１に保存したログデータを外部メモリ１４に転送することができる。
【００６４】
以上、半導体デバイス、ログ取得方法及び半導体デバイスが搭載された電子機器を上記実施形態により説明したが、本発明にかかる半導体デバイス、ログ取得方法及び電子機器は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。また、半導体デバイスの各機能は、ハードウェアにより構成されてもよく、ソフトウェアにより構成されてもよく、ハードウェアとソフトウェアとを組み合わせて構成されてもよい。
【符号の説明】
【００６５】
１：ＣＰＵ
３：ＣＰＵアクセスＩ／Ｆ信号
４：ＣＰＵアクセス検出手段
５：検出条件信号
６：検出条件設定手段
７：内部信号
８：内部信号トリガ検出手段
９：ログフォーマット変換手段
１０：内蔵メモリアクセス制御手段
１１：内蔵メモリ手段
１２：ログデータ転送手段
１３：外部メモリアクセス制御手段
１４：外部メモリ
１５：外部メモリ初期化実行手段
１６：外部メモリ初期化完了検出手段
１７：機能モジュール
１８：シリアル通信手段
１９：ＡＸＩバス
２０：ＰＬＬ
２１：リセット生成手段
２２：外部リセット信号
２３：外部クロック信号
２４：内部クロック信号
２５：内部リセット信号
２６：シリアル通信信号
２７：半導体デバイス
２８：外部メモリＩ／Ｆ信号
４０：電子機器
１２０：内部クロック生成手段
１２１：内部リセット生成手段
１２５：ＰＬＬリセット信号
【先行技術文献】
【特許文献】
【００６６】
【特許文献１】特開２０１３−２２５２９１号公報
【特許文献２】特開２００８−２８７３１９号公報
【図１】
0006447167.tif 000002
【図２】
0006447167.tif 000003
【図３】
0006447167.tif 000004
【図４】
0006447167.tif 000005
【図５】
0006447167.tif 000006
【図６】
0006447167.tif 000007
【図７】
0006447167.tif 000008