(57)【要約】【課題】  資源の利用効率を改善した半導体回路装置、及び、電子装置を提供する。【解決手段】  半導体回路装置であって、制御信号を出力する制御部と、前記制御部から出力される前記制御信号を前記半導体回路装置の外部に出力する出力部と、前記出力部から出力するトリガ信号の生成条件及び出力条件を保持する条件保持部と、前記制御部から出力される前記制御信号が前記生成条件を満たすと、前記トリガ信号を生成するトリガ信号生成部と、  前記トリガ信号生成部で生成される前記トリガ信号に、前記出力条件に基づく遅延を与える遅延制御部と、前記制御部と前記出力部との間に設けられ、前記出力条件に基づき、前記制御部から出力される前記制御信号の代わりに、前記遅延制御部で遅延された前記トリガ信号を選択して前記出力部に出力する選択部とを含む。【選択図】図６
2014238670.tif 000002
【特許請求の範囲】
【請求項１】
半導体回路装置であって、
制御信号を出力する制御部と、
前記制御部から出力される前記制御信号を前記半導体回路装置の外部に出力する出力部と、
前記出力部から出力するトリガ信号の生成条件及び出力条件を保持する条件保持部と、
前記制御部から出力される前記制御信号が前記生成条件を満たすと、前記トリガ信号を生成するトリガ信号生成部と、
前記トリガ信号生成部で生成される前記トリガ信号に、前記出力条件に基づく遅延を与える遅延制御部と、
前記制御部と前記出力部との間に設けられ、前記出力条件に基づき、前記制御部から出力される前記制御信号の代わりに、前記遅延制御部で遅延された前記トリガ信号を選択して前記出力部に出力する選択部と
を含む、半導体回路装置。
【請求項２】
前記選択部は、
前記制御部と前記出力部との間に設けられ、前記制御部から出力される前記制御信号と、前記遅延制御部で遅延された前記トリガ信号とが入力され、前記制御信号又は前記遅延されたトリガ信号を出力する選択回路と、
前記出力条件に基づき、前記選択回路に前記制御信号又は前記遅延されたトリガ信号を選択させる選択信号を前記選択回路に入力する選択制御部と
を有する、請求項１記載の半導体回路装置。
【請求項３】
前記選択部は、さらに、前記選択制御部が前記選択回路に入力する前記選択信号の出力履歴を保持する履歴保持部を有する、請求項２記載の半導体回路装置。
【請求項４】
前記選択制御部は、前記遅延された前記トリガ信号が前記遅延制御部から出力されたときに、前記出力部が使用中であることを表す使用通知信号を前記制御部から受信すると、前記制御信号を選択する選択信号を前記選択回路に入力する、請求項３記載の半導体回路装置。
【請求項５】
請求項１乃至４のいずれか一項記載の半導体回路装置と、
前記半導体回路装置が実装され、前記出力部が接続される配線を有する基板と、
前記基板に実装され、前記配線を介して前記半導体回路装置と接続される他の半導体回路装置と
を含み、
前記選択部によって前記制御部から出力される前記制御信号の代わりに選択される前記遅延された前記トリガ信号は、前記出力部から前記配線に出力される、電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体回路装置、及び、電子装置に関する。
【背景技術】
【０００２】
従来より、複数のデバイスを相互に接続するバスと、複数のデバイスを相互に接続して識別信号が出力される１本又は複数本の信号線と、各デバイスにマスタデバイスからアクセスを受けるターゲット動作時にデバイス毎に異なる識別信号を出力する識別信号出力手段を備える情報処理装置がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３３０８１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来の情報処理装置の各デバイスは、識別信号を１本又は複数本の信号線に出力するための１又は複数の端子を含む必要があった。
【０００５】
この１又は複数の端子は、外部測定装置を用いてデバイスの動作状態を観測する目的にのみ使用され、通常動作時（各デバイスが通常の演算処理等を行う動作時）には、用いられないものである。
【０００６】
このため、従来の情報処理装置の各デバイスは、資源の利用効率が低いという課題があった。
【０００７】
そこで、資源の利用効率を改善した半導体回路装置、及び、電子装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施の形態の半導体回路装置であって、制御信号を出力する制御部と、前記制御部から出力される前記制御信号を前記半導体回路装置の外部に出力する出力部と、前記出力部から出力するトリガ信号の生成条件及び出力条件を保持する条件保持部と、前記制御部から出力される前記制御信号が前記生成条件を満たすと、前記トリガ信号を生成するトリガ信号生成部と、
前記トリガ信号生成部で生成される前記トリガ信号に、前記出力条件に基づく遅延を与える遅延制御部と、前記制御部と前記出力部との間に設けられ、前記出力条件に基づき、前記制御部から出力される前記制御信号の代わりに、前記遅延制御部で遅延された前記トリガ信号を選択して前記出力部に出力する選択部とを含む。
【発明の効果】
【０００９】
資源の利用効率を改善した半導体回路装置、及び、電子装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】前提技術の電子装置１にオシロスコープ３０を接続している状態を示す図である。
【図２】前提技術の電子装置１における各信号の波形を示す図である。
【図３】実施の形態１の半導体回路装置及び電子装置を含むサーバ５００の構成を示す図である。
【図４】実施の形態１のデバイス１００を含む電子装置４００Ａを示す図である。
【図５】実施の形態１のデバイス１００から出力される信号の波形を示すタイミングチャートである。
【図６】実施の形態２のデバイス２００を含む電子装置４００Ｂを示す図である。
【図７】トリガ生成部２２０を示す図である。
【図８】制御レジスタ２６０に格納される生成条件、出力条件、トリガパターン条件、及び遅延条件を表すテーブルデータを示す図である。
【図９】実施の形態２のデバイス２００から出力される信号の波形を示すタイミングチャートである。
【図１０】実施の形態２のデバイス２００で出力するトリガ信号を定義するために、デバイス２００の利用者が行う手順を示す図である。
【図１１】実施の形態３のデバイス３００を含む電子装置４００Ｃを示す図である。
【図１２】実施の形態３のデバイス３００におけるログ情報の記録処理の流れについて説明する図である。
【図１３】ログレジスタ３９０の構成と、ログレジスタ３９０に記録されるログ情報のデータ構造とを示す図である。
【図１４】実施の形態３のデバイス３００から出力される信号の波形を示すタイミングチャートである。
【発明を実施するための形態】
【００１１】
実施の形態の半導体回路装置、及び、電子装置について説明する前に、前提技術による半導体回路装置、及び、電子装置について説明する。
【００１２】
図１は、前提技術の電子装置１にオシロスコープ３０を接続している状態を示す図である。
【００１３】
電子装置１は、基板２、デバイス１０、２０を含む。電子装置１は、例えば、サーバの一部である。また、デバイス１０、２０は、例えば、半導体製造技術によって製造される。より具体的には、例えば、デバイス１０は、制御処理を行う制御部であり、デバイス２０は、データを格納するメモリである。
【００１４】
ここでは、制御処理部として機能するデバイス１０が、メモリとして用いられるデバイス２０に対して、データの書き込み又は読み出しを行う場合について説明する。
【００１５】
基板２は、例えば、ＦＲ−４（Flame Retardant type 4）規格の多層プリント基板であり、デバイス１０及び２０が実装されている。基板２は、所謂マザーボードである。基板２の表面、裏面、及び内層には、例えば、デバイス１０と２０を接続するバス及び配線と、デバイス１０、２０に電力を供給する電源用の配線とが形成されるとともに、内層には、電源層及びグランド層が含まれている。
【００１６】
デバイス１０は、読み書き制御部（Read/Write制御）１１とトリガ生成部１２とを含み、デバイス２０へのデータの書き込み、及び、デバイス２０に書き込まれたデータの読み出しを行う。
【００１７】
また、デバイス１０は、端子１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ、１０Ｅを含む。端子１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ、１０Ｅは、それぞれ、基板２のバス２Ａ、２Ｂ、２Ｃ、２Ｄ、トリガ信号端子２Ｅに接続される。
【００１８】
読み書き制御部１１は、例えば、ＣＰＵ(Central Processing Unit：中央演算処理装置)チップによって実現される。読み書き制御部１１としてのＣＰＵチップは、内部メモリを含む。
【００１９】
読み書き制御部１１は、基板２のバス２Ａ、２Ｂ、２Ｃを介して、クロック(Clock)、コマンド(Command)信号、アドレス(Address)信号をデバイス２０に入力する。
【００２０】
クロックは、電子装置１のシステムクロックである。コマンドは、デバイス２０へのデータの書き込み、又は、デバイス２０からのデータの読み出しを行うための指令である。アドレス信号は、データの書き込み、又は、データの読み出しを行うデバイス２０内のメモリセルのアドレスを指定するための信号である。
【００２１】
読み書き制御部１１は、クロック、コマンド信号、アドレス信号をデバイス２０に入力し、アドレス信号によって特定されるデバイス２０の内部のメモリセルに対して、コマンド信号に応じてデータ(Data)の書き込み又は読み出しを行う。データの書き込み又は読み出しは、基板２のバス２Ｄを介して行われる。
【００２２】
トリガ生成部１２は、オシロスコープ３０を用いてデバイス１０の出力信号の波形を観測する際に、オシロスコープ３０に観測処理を開始させるためのトリガ信号を生成する。
【００２３】
トリガ生成部１２は、読み書き制御部１１から内部制御信号が入力されると、読み書き制御部が出力するクロック、コマンド信号、アドレス信号に基づいて、トリガ信号(Trigger)を出力する。トリガ信号は、デバイス１０から基板２のトリガ信号端子２Ｅに出力される。
【００２４】
このような電子装置１のデバイス１０がバス２Ｂ、２Ｃを介して出力するコマンド信号、アドレス信号、又は、デバイス１０と２０との間のバス２Ｄで伝送されるデータを観測するときは、オシロスコープ３０を用いる。
【００２５】
例えば、オシロスコープ３０は４つのプローブＰ１、Ｐ２、Ｐ３、Ｐ４を有する場合に、プローブＰ１、Ｐ２、Ｐ３、Ｐ４を、それぞれ、バス２Ｂ、２Ｃ、２Ｄ、トリガ信号端子２Ｅに接続する。プローブＰ１、Ｐ２、Ｐ３は、バス２Ｂ、２Ｃ、２Ｄに存在するビア又はピン等に接続すればよい。また、バス２Ｂ、２Ｃ、２Ｄには、プローブＰ１、Ｐ２、Ｐ３を接続するための端子を設けてもよい。
【００２６】
オシロスコープ３０のプローブＰ４でトリガ信号端子２Ｅに出力されるトリガ信号を検出したときに、オシロスコープ３０でプローブＰ１、Ｐ２、Ｐ３に入力される信号波形を観測すれば、プローブＰ１、Ｐ２、Ｐ３を介して、コマンド信号、アドレス信号、データの波形を観測することができる。
【００２７】
図２は、前提技術の電子装置１における各信号の波形を示す図である。図２には、クロックCLK、２つのコマンド信号Cmd#0, Cmd#1、４つのアドレス信号Addr#0-3、８つのデータData#0-7、トリガ信号Triggerを示す。
【００２８】
図２に示す例では、アドレス0x9に対して、コマンド信号Cmd#0がＬ(Low)レベルの状態で、コマンド信号Cmd#1がＬレベルからＨ(High)レベルに遷移するときに、トリガ生成部１２がトリガ信号TriggerのＨレベルのパルスを生成するようになっていることとする。トリガ信号Triggerは、トリガ信号端子２Ｅに出力される。
【００２９】
従って、オシロスコープ３０のプローブＰ４でトリガ信号Triggerを検出したときに、観測を開始すれば、プローブＰ１、Ｐ２、Ｐ３を介して取り込んだコマンド信号、アドレス信号、データの波形をオシロスコープ３０で観測することができる。
【００３０】
ところで、電子装置１のデバイス１０のトリガ信号端子２Ｅは、オシロスコープ３０でバス２Ｂ、２Ｃ、２Ｄを伝送されるクロック(Clock)、コマンド(Command)信号、アドレス(Address)信号を観測するときにのみ用いられる。
【００３１】
すなわち、電子装置１のデバイス１０は、通常動作時には用いないトリガ信号端子２Ｅを含む。ここで、通常動作時とは、電子装置１が演算処理等の通常の動作を行うときをいう。
【００３２】
従って、前提技術のデバイス１０は、資源の利用効率が低いという問題点がある。
【００３３】
そこで、以下で説明する実施の形態では、資源の利用効率を改善した半導体回路装置及び電子装置を提供することを目的とする。
【００３４】
以下、本発明の半導体回路装置、及び、電子装置を適用した実施の形態について説明する。
【００３５】
＜実施の形態１＞
図３は、実施の形態１の半導体回路装置及び電子装置を含むサーバ５００の構成を示す図である。サーバ５００は、情報処理装置の一例である。
【００３６】
サーバ５００は、ＣＰＵ５１０Ａ、５１０Ｂ、メモリ５２０Ａ、５２０Ｂ、Ｉ／Ｏハブ(I/O Hub)５３０、ストレージ(Storage)５４０、及びＩ／Ｏ５５０を含む。
【００３７】
ＣＰＵ５１０Ａ、５１０Ｂには、それぞれ、メモリ５２０Ａ、５２０Ｂが接続されている。また、ＣＰＵ５１０Ａ、５１０Ｂには、Ｉ／Ｏハブ５３０を介して、ストレージ５４０とＩ／Ｏ５５０が接続されている。
【００３８】
ＣＰＵ５１０Ａ、５１０Ｂは、所謂ＣＰＵチップである。また、メモリ５２０Ａ、５２０Ｂは、例えば、ＮＡＮＤフラッシュメモリである。Ｉ／Ｏハブ５３０は、ＣＰＵ５１０Ａ、５１０Ｂと、ストレージ５４０及びＩ／Ｏ５５０との間を接続する集積回路である。Ｉ／Ｏハブ５３０は、ＣＰＵ５１０Ａ、５１０Ｂに含まれていてもよい。
【００３９】
ストレージ５４０は、例えば、ＨＤＤ（Hard Disk Drive）又はＳＳＤ(Solid State Drive)である。Ｉ／Ｏ５５０は、ＬＡＮ(Local Area Network)に接続されるＩ／Ｏである。
【００４０】
このようなサーバ５００において、実施の形態１の電子装置は、例えば、ＣＰＵ５１０Ａとメモリ５２０Ａとによって実現される。この場合に、実施の形態１の半導体回路装置は、ＣＰＵ５１０Ａである。
【００４１】
同様に、実施の形態１の電子装置は、例えば、ＣＰＵ５１０Ｂとメモリ５２０Ｂとによって実現されてもよい。この場合に、実施の形態１の半導体回路装置は、ＣＰＵ５１０Ｂである。
【００４２】
また、実施の形態１の電子装置は、例えば、ＣＰＵ５１０ＡとＣＰＵ５１０Ｂとによって実現されてもよい。この場合に、実施の形態１の半導体回路装置は、ＣＰＵ５１０Ａ又は５１０Ｂである。
【００４３】
また、実施の形態１の電子装置は、例えば、ＣＰＵ５１０ＡとＩ／Ｏハブ５３０とによって実現されてもよい。この場合に、実施の形態１の半導体回路装置は、ＣＰＵ５１０Ａである。同様に、実施の形態１の電子装置は、例えば、ＣＰＵ５１０ＢとＩ／Ｏハブ５３０とによって実現される。
【００４４】
また、実施の形態１の電子装置は、例えば、Ｉ／Ｏハブ５３０とストレージ５４０とによって実現されてもよい。この場合に、実施の形態１の半導体回路装置は、Ｉ／Ｏハブ５３０である。
【００４５】
また、実施の形態１の電子装置は、例えば、Ｉ／Ｏハブ５３０とＩ／Ｏ５５０とによって実現されてもよい。この場合に、実施の形態１の半導体回路装置は、Ｉ／Ｏハブ５３０である。
【００４６】
このように、実施の形態１の半導体回路装置及び電子装置は、サーバ５００の様々な部分に適用することができる。なお、ここでは、実施の形態１の半導体回路装置及び電子装置をサーバ５００に適用する形態について説明するが、実施の形態１の半導体回路装置及び電子装置は、内部でデータが伝送される装置であれば、サーバ５００以外の装置に適用することもできる。
【００４７】
次に、図４を用いて実施の形態１のデバイス１００を含む電子装置４００Ａについて説明する。
【００４８】
図４は、実施の形態１のデバイス１００を含む電子装置４００Ａを示す図である。
【００４９】
電子装置４００Ａは、デバイス１００、２０、及び基板４０を含む。また、図４には、電子装置４００Ａにオシロスコープ３０Ａを接続している状態を示す。
【００５０】
デバイス１００は、サーバ５００の一部である。また、デバイス１００、２０は、例えば、半導体製造技術によって製造される。
【００５１】
より具体的には、例えば、デバイス１００は、サーバ５００のＣＰＵ５１０Ａ又は５１０Ｂ（図３参照）の全部又は一部であり、サーバ５００の動作に必要な制御処理を行う。また、この場合に、デバイス２０は、例えば、データを格納するメモリ５２０Ａ又は５２０Ｂ（図３参照）である。
【００５２】
デバイス１００は、半導体回路装置の一例である。なお、ここでは、デバイス１００が制御処理を行う形態について説明するが、デバイス１００は、演算処理等のデータ処理を行う回路であってもよい。また、デバイス１００は、制御処理又は演算処理等のデータ処理を行わない半導体回路装置であってもよい。例えば、デバイス１００は、サーバ５００のＩ／Ｏハブ５３０（図３参照）のようにデータを転送する半導体回路装置であってもよい。
【００５３】
また、デバイス２０は、前提技術のデバイス２０と同様であり、他の半導体回路装置の一例である。なお、ここでは、デバイス２０がメモリである形態について説明するが、デバイス２０は、メモリ以外の回路であってもよい。例えば、デバイス２０は、データを格納する回路ではなく、Ｉ／Ｏハブ５３０のようにデバイス１００との間でデータの転送を行う回路であってもよく、また、演算処理又は制御処理等のデータ処理を行う回路であってもよい。
【００５４】
以下、実施の形態１では、図３に示すＣＰＵ５１０Ａの全部又は一部に対応するデバイス１００が、図３に示すメモリ５２０Ａに対応するデバイス２０に対して、データの書き込み又は読み出しを行う場合について説明する。
【００５５】
基板４０は、例えば、ＦＲ−４（Flame Retardant type 4）規格の多層プリント基板であり、デバイス１００及び２０が実装されている。基板４０は、所謂マザーボードである。基板４０は、バス４０Ａ、４０Ｂ、４０Ｃ、４０Ｄを含む。また、基板４０は、バス４０Ａ、４０Ｂ、４０Ｃ、４０Ｄ以外に、他のバス、配線、電源層、及びグランド層等を、基板４０の表面、裏面、及び内層に含む。
【００５６】
ここで、バス４０Ｃにプローブ端子４０Ｃ１を示すが、バス４０Ａ、４０Ｂ、４０Ｄにもプローブ端子が設けられていてもよい。
【００５７】
デバイス１００は、読み書き制御部（Read/Write制御）１１０、トリガ生成部１２０、遅延制御部１３０、出力先制御部１４０、信号選択部１５０、条件保持部１６０、及び端子１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄを含む。
【００５８】
デバイス１００は、デバイス２０へのデータの書き込み、及び、デバイス２０に書き込まれたデータの読み出しを行う。
【００５９】
端子１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄは、それぞれ、基板４０のバス４０Ａ、４０Ｂ、４０Ｃ、４０Ｄに接続される。端子１０１Ａ、１０１Ｂ、１０１Ｃは、それぞれ、クロック(Clock)、コマンド(Command)信号、アドレス(Address)信号を出力する。端子１０１Ａ、１０１Ｂ、１０１Ｃは、出力部の一例である。
【００６０】
また、端子１０１Ｄは、データ(Data)を入力又は出力する。
【００６１】
図４には、説明の便宜上、端子１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄを１つずつ示す。
【００６２】
しかしながら、デバイス１００が複数のクロックを出力する場合は、デバイス１００は、クロックの数に応じた複数の端子１０１Ａを含む。また、デバイス１００が複数のコマンド信号を出力する場合は、デバイス１００は、コマンド信号の数に応じた複数の端子１０１Ｂを含む。
【００６３】
また、デバイス１００が複数のアドレス信号を出力する場合は、デバイス１００は、アドレス信号の数に応じた複数の端子１０１Ｃを含む。同様に、デバイス１００が複数のデータを入力又は出力する場合は、デバイス１００は、データの数に応じた複数の端子１０１Ｄを含む。
【００６４】
また、同様に、基板４０は、端子１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄの数に応じた数のバス４０Ａ、４０Ｂ、４０Ｃ、４０Ｄをそれぞれ有する。
【００６５】
なお、図４では、オシロスコープ３０ＡのプローブＰ１、Ｐ２は、それぞれ、バス４０Ｂ、４０Ｃに接続されている。また、バス４０Ｄは２本あり、オシロスコープ３０ＡのプローブＰ３、Ｐ４は、それぞれ、２本のバス４０Ｄに接続されている。
【００６６】
読み書き制御部１１０は、デバイス２０に対するデータの書き込み、又は、データの読み出しを行うために、クロック(Clock)、コマンド(Command)信号、アドレス(Address)信号を出力する。読み書き制御部１１０は、制御部の一例である。
【００６７】
読み書き制御部１１０が出力するクロック、コマンド信号、アドレス信号は、通常動作時は、信号選択部１５０を介して基板４０のバス４０Ａ、４０Ｂ、４０Ｃに出力される。
【００６８】
読み書き制御部１１０は、通常動作時は、基板４０のバス４０Ａ、４０Ｂ、４０Ｃを介して、クロック、コマンド信号、アドレス信号をデバイス２０に入力し、デバイス２０に対するデータの書き込み、又は、データの読み出しを行う。デバイス１００と２０との間では、データは基板４０のバス４０Ｄを介して伝送される。
【００６９】
ここで、通常動作時とは、デバイス１００がデータ処理等の通常の動作を行うときをいう。より具体的には、通常動作時とは、デバイス１００が動作する状態のうち、波形観測用の動作を行う観測動作時以外の動作時をいう。観測動作時とは、オシロスコープ３０Ａが観測するための信号をデバイス１００が出力する動作時をいう。
【００７０】
なお、デバイス１００が通常動作を行うときは、電子装置４００Ａも通常動作を行うことになり、デバイス１００が観測用の動作を行うときは、電子装置４００Ａも観測用の動作を行うことになる。
【００７１】
また、読み書き制御部１１０が出力するクロック、コマンド信号、アドレス信号は、通常動作時及び観測動作時に、トリガ生成部１２０に入力される。
【００７２】
クロックは、電子装置４００Ａのシステムクロックである。コマンドは、デバイス２０へのデータの書き込み、又は、デバイス２０からのデータの読み出しを行うための指令である。アドレス信号は、データの書き込み、又は、データの読み出しを行うデバイス２０内のメモリセルのアドレスを指定するための信号である。
【００７３】
読み書き制御部１１０は、クロック、コマンド信号、アドレス信号をデバイス２０に入力し、アドレス信号によって特定されるデバイス２０の内部のメモリセルに対して、コマンド信号に応じてデータ(Data)の書き込み又は読み出しを行う。データの書き込み又は読み出しは、基板４０のバス４０Ｄを介して行われる。
【００７４】
トリガ生成部１２０は、読み書き制御部１１０から内部制御信号が入力されると、条件保持部１６０から入力される生成条件と、読み書き制御部１１０が出力するクロック、コマンド信号、アドレス信号とに基づき、トリガ信号(Trigger)を生成する。トリガ生成部１２０は、トリガ信号生成部の一例である。
【００７５】
トリガ生成部１２０は、読み書き制御部１１０が出力するクロック、コマンド信号、アドレス信号が、条件保持部１６０から入力される生成条件を満たしたと判定したときに、トリガ信号を生成する。
【００７６】
なお、内部制御信号は、観測用の動作を開始する際に、読み書き制御部１１０からトリガ生成部１２０に入力される。内部制御信号は、例えば、サーバ５００（図３参照）の立ち上げ時に、リクエスト送信処理のタイムアウトを監視するためのタイムアウトタイマーのカウント値が、タイムアウトになる場合のカウント値の半分を超えた場合に、読み書き制御部１１０が出力するようにすればよい。
【００７７】
なお、ここでは、読み書き制御部１１０からトリガ生成部１２０に内部制御信号が入力され、トリガ生成部１２０が生成条件を満たしたと判定したときに、トリガ生成部１２０がトリガ信号(Trigger)を生成する形態について説明する。
【００７８】
しかしながら、実施の形態１のデバイス１００では、内部制御信号を用いなくてもよいし、また、内部制御信号を上述とは異なる手法で用いてもよい。例えば、内部制御信号が入力される前にトリガ生成部１２０が生成条件を満たしているかどうか判定し、生成条件を満たしていると判定した場合であっても、内部制御信号が入力されるまではトリガ信号を出力できないようにしてもよい。
【００７９】
トリガ信号は、オシロスコープ３０Ａを用いてデバイス１００の出力信号の波形を観測する際に、観測用の動作を開始させるためのトリガになる信号である。トリガ生成部１２０が生成するトリガ信号は、遅延制御部１３０に入力される。
【００８０】
詳細は後述するが、トリガ信号は、観測動作時に、遅延制御部１３０と信号選択部１５０を経て、デバイス１００の端子１０１Ａ、１０１Ｂ、又は１０１Ｃから基板４０のバス４０Ａ、４０Ｂ、又は４０Ｃに出力される。
【００８１】
遅延制御部１３０は、トリガ生成部１２０から入力されるトリガ信号に、条件保持部１６０から入力される遅延条件に基づく遅延時間を与えて信号選択部１５０に出力する。また、遅延制御部１３０は、遅延したトリガ信号を出力する際に、遅延したトリガ信号を出力することを表す通知信号を出力先制御部１４０に出力する。
【００８２】
出力先制御部１４０は、観測動作時に遅延制御部１３０から通知信号が入力されると、条件保持部１６０から入力される出力条件に基づいて選択信号を生成し、信号選択部１５０に入力する。
【００８３】
選択信号は、読み書き制御部１１０から入力されるクロック、コマンド信号、又はアドレス信号のうちの少なくともいずれか１つの代わりに、信号選択部１５０にトリガ信号を選択させるための信号である。
【００８４】
信号選択部１５０は、マルチプレクサ１５１、１５２、１５３を含む。マルチプレクサ１５１、１５２、１５３の一方の入力端子には、それぞれ、読み書き制御部１１０から入力されるクロック、コマンド信号、アドレス信号が入力される。また、マルチプレクサ１５１、１５２、１５３の他方の入力端子には、それぞれ、遅延制御部１３０によって遅延されたトリガ信号が入力される。
【００８５】
マルチプレクサ１５１、１５２、１５３の選択信号入力端子には、出力先制御部１４０から選択信号が入力される。マルチプレクサ１５１、１５２、１５３は、それぞれ、選択信号に従って、読み書き制御部１１０から入力されるクロック、コマンド信号、又はアドレス信号と、トリガ信号とのいずれかを選択して出力する。
【００８６】
なお、端子１０１Ａ、１０１Ｂ、１０１Ｃのいずれかが複数ある場合は、信号選択部１５０は、対応するマルチプレクサ１５１、１５２、１５３を同一数だけ含む。
【００８７】
また、出力先制御部１４０及び信号選択部１５０は、選択部の一例である。出力先制御部１４０は、選択部のうちの選択制御部の一例であり、信号選択部１５０は、選択部のうちの選択回路の一例である。
【００８８】
条件保持部１６０は、トリガ信号の生成条件、遅延条件、及び出力条件を保持する。条件保持部１６０は、例えば、レジスタのような揮発性のメモリであればよい。
【００８９】
生成条件、遅延条件、及び出力条件は、デバイス１００の電源を立ち上げる際に、利用者によって設定される。
【００９０】
生成条件は、トリガ信号を生成する条件である。実施の形態１のデバイス１００は、クロック、コマンド信号、又はアドレス信号のいずれかが出力されていないときに、クロック、コマンド信号、又はアドレス信号のいずれかの代わりにトリガ信号を生成し、端子１０１Ａ、１０１Ｂ、又は１０１Ｃから出力する。
【００９１】
生成条件は、クロック、コマンド信号、又はアドレス信号の信号レベルに基づいて、トリガ信号の生成を開始する条件を表す。この生成条件については、図５を用いて後述する。
【００９２】
遅延条件は、トリガ生成部１２０によって生成されたトリガ信号に与える遅延時間を表す条件である。実施の形態１のデバイス１００は、クロック、コマンド信号、又はアドレス信号のいずれかが出力されていないときに、クロック、コマンド信号、又はアドレス信号のいずれかの代わりにトリガ信号を端子１０１Ａ、１０１Ｂ、又は１０１Ｃから出力する。
【００９３】
このため、遅延条件は、クロック、コマンド信号、又はアドレス信号のいずれかが出力されていないときまで、トリガ生成部１２０によって生成されたトリガ信号を遅延させる遅延時間を表す。
【００９４】
出力条件は、遅延制御部１３０で遅延されたトリガ信号をクロック、コマンド信号、又はアドレス信号のいずれかの代わりに出力するかを決める条件である。
【００９５】
出力条件がクロックの代わりに遅延制御部１３０で遅延されたトリガ信号を出力することを表す場合は、信号選択部１５０のマルチプレクサ１５１に遅延制御部１３０で遅延されたトリガ信号を選択させるための選択信号が入力される。
【００９６】
また、出力条件がコマンド信号の代わりに遅延制御部１３０で遅延されたトリガ信号を出力することを表す場合は、信号選択部１５０のマルチプレクサ１５２に遅延制御部１３０で遅延されたトリガ信号を選択させるための選択信号が入力される。
【００９７】
また、出力条件がアドレス信号の代わりに遅延制御部１３０で遅延されたトリガ信号を出力することを表す場合は、信号選択部１５０のマルチプレクサ１５３に遅延制御部１３０で遅延されたトリガ信号を選択させるための選択信号が入力される。
【００９８】
また、出力条件がクロック、コマンド信号、又はアドレス信号のうちのいずれか２つ以上の信号の代わりに遅延制御部１３０で遅延されたトリガ信号を出力することを表す場合は、対応する（マルチプレクサ１５１〜１５３のうちのいずれか２つ以上）に遅延制御部１３０で遅延されたトリガ信号を選択させるための選択信号が入力される。
【００９９】
なお、ここでは、条件保持部１６０が生成条件、遅延条件、及び出力条件を保持する形態について説明するが、遅延条件は、出力条件に含まれていてもよい。この場合は、条件保持部１６０が、生成条件と、遅延条件を含む出力条件との２つの条件を保持することになる。
【０１００】
次に、図５を用いて、実施の形態１のデバイス１００の観測動作時における動作について説明する。
【０１０１】
図５は、実施の形態１のデバイス１００から出力される信号の波形を示すタイミングチャートである。
【０１０２】
図５には、端子１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄからバス４０Ａ、４０Ｂ、４０Ｃ、４０Ｄに出力される信号を示す。デバイス１００は、通常動作時には、端子１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄからバス４０Ａ、４０Ｂ、４０Ｃ、４０Ｄに、クロックCLK、２つのコマンド信号Cmd#0, Cmd#1、４つのアドレス信号Addr#0-3を出力し、８つのデータData#0-7を入力又は出力する。
【０１０３】
これは、図４で言えば、端子１０１Ｂ、マルチプレクサ１５２、及びバス４０Ｂは２つずつあり、端子１０１Ｃ、マルチプレクサ１５３、及びバス４０Ｃは４つずつあることになる。また、データを伝送するバス４０Ｄは８本あることになる。
【０１０４】
図５には、２つの端子１０１Ｂから出力される信号については、別々に示すこととする。
【０１０５】
また、図５には、通常動作時に端子１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄからバス４０Ａ、４０Ｂ、４０Ｃ、４０Ｄに出力される信号の名称を併記する。
【０１０６】
ここでは、一例として、アドレス0x9に対して、コマンド信号Cmd#0がＬ(Low)レベルの状態で、コマンド信号Cmd#1がＬレベルからＨ(High)レベルに遷移するときに、トリガ信号を生成する生成条件が満たされることとする。
【０１０７】
生成条件が満たされたか否かは、トリガ生成部１２０が、読み書き制御部１１０から出力されるクロック、コマンド信号、及びアドレス信号に基づいて判定する。
【０１０８】
トリガ生成部１２０は、読み書き制御部１１０から内部制御信号が入力され、かつ、生成条件が満たされたと判定すると、信号選択部１５０のマルチプレクサ１５２がコマンド信号Cmd#0, Cmd#1の代わりにトリガ信号を２本のバス４０Ｂに出力することとする。
【０１０９】
トリガ生成部１２０は、条件保持部１６０に保持される生成条件に基づき、２つのコマンド信号Cmd#0, Cmd#1の代わりに出力される、同時に立ち上がる２つの１クロックサイクル分のＨレベルのパルスをトリガ信号として生成する。同時に立ち上がる２つの１クロックサイクル分のＨレベルのパルスで構築されるトリガ信号は、遅延制御部１３０で遅延され、マルチプレクサ１５２で選択されると、２つの端子１０１Ｂから、それぞれ、２本のバス４０Ｂに出力される。
【０１１０】
ここで、コマンド信号Cmd#0, Cmd#1を用いる伝送プロトコルには、コマンド信号Cmd#0, Cmd#1の両方が同時に１クロックサイクルにわたってＨレベルになることはないこととする。
【０１１１】
実施の形態１では、このように、デバイス１００で用いる伝送プロトコルに存在しない信号パターンのトリガ信号を生成し、２本のバス４０Ｂに出力する。
【０１１２】
実施の形態１のデバイス１００のトリガ生成部１２０が条件保持部１６０に保持される生成条件に基づいて生成するトリガ信号は、デバイス１００で用いる伝送プロトコルに存在しない信号パターンである。換言すれば、このトリガ信号は、デバイス１００で用いる伝送プロトコルでは無効な信号パターンである。
【０１１３】
デバイス１００で用いる伝送プロトコルでは無効な信号パターンをトリガ信号として用いれば、トリガ信号と等しいパターンの信号は他に存在しないため、オシロスコープ３０Ａで波形を観測する際に、トリガ信号を正確に見分けることができる。
【０１１４】
この結果、オシロスコープ３０ＡのプローブＰ１、Ｐ２、Ｐ３、Ｐ４で、バス４０Ｂ、４０Ｃ、及び、２本のバス４０Ｄを伝送される４種類の信号を観測することができる。
【０１１５】
また、遅延制御部１３０が条件保持部１６０に保持される遅延条件に基づいてトリガ信号に与える遅延時間は、トリガ生成部１２０が生成条件が成立したことを判定してから、トリガ信号の出力を遅延させる時間である。
【０１１６】
これは、トリガ信号を端子１０１Ｂからバス４０Ｂに出力する際に、トリガ信号がコマンド信号とかち合わないようにするために、バス４０Ｂにコマンド信号が存在しなくなるタイミングまで待つために、トリガ信号に遅延を与えることとしたものである。
【０１１７】
伝送プロトコルによって、クロック、コマンド信号、及びアドレス信号等が出力されるタイミングは決まっており、既知であるため、ここでは、コマンド信号が存在しないタイミングまでトリガ信号を遅延させてから、バス４０Ｂにトリガ信号を出力することとしている。
【０１１８】
すなわち、図５には、アドレス0x9に対して、コマンド信号Cmd#0がＬ(Low)レベルの状態で、コマンド信号Cmd#1がＬレベルからＨ(High)レベルに遷移する時刻ｔ１から、トリガ信号をバス４０Ｂに出力する時刻ｔ２までの間が、トリガ信号に与えられる遅延時間である。
【０１１９】
時刻ｔ２では、バス４０Ｂにコマンド信号Cmd#0, Cmd#1が存在せず、２つの１クロックサイクル分のＨレベルのパルスが、コマンド信号Cmd#0, Cmd#1の代わりに、バス４０Ｂに存在する。
【０１２０】
２つの１クロックサイクル分のＨレベルのパルスが同時に立ち上がることは、バス４０Ｂにコマンド信号Cmd#0, Cmd#1を用いる伝送プロトコルには存在しない信号パターンである。
【０１２１】
このため、時刻ｔ２で同時に立ち上がる２つの１クロックサイクル分のＨレベルのパルスをオシロスコープ３０Ａで観測すれば、オシロスコープ３０Ａでの波形観測を開始することができる。
【０１２２】
なお、波形を観測したいタイミング（Writeコマンドの伝送）よりも遅れてトリガが出力されることになるが、今日では、オシロスコープ３０Ａはトリガ検出した時刻からある程度遡って波形を表示する機能を持つのが一般的であるため、この遅延は問題とならない。
【０１２３】
以上、実施の形態１のデバイス１００によれば、通常動作時にコマンド信号を出力する端子１０１Ｂから、観測動作時にトリガ信号を出力することができる。
【０１２４】
従って、前提技術のデバイス１０のように、トリガ信号を出力する専用の端子１０Ｅを設ける必要がない。
【０１２５】
このため、実施の形態１によれば、資源の利用効率を改善したデバイス１００を提供することができる。
【０１２６】
また、この結果、オシロスコープ３０ＡのプローブＰ１、Ｐ２、Ｐ３、Ｐ４のうちの１つでトリガ信号を検出できるとともに、バス４０Ｂ、４０Ｃ、及び、２本のバス４０Ｄを伝送される４種類の信号を観測することができる。
【０１２７】
これは、前提技術のデバイス１０（図１参照）にオシロスコープ３０を接続する場合に比べて、トリガ信号を検出するための専用のプローブが不要になるとともに、観測可能な信号の数が１つ多いことを意味する。
【０１２８】
従って、実施の形態１によれば、観測効率を改善したデバイス１００及び電子装置４００Ａを提供することができる。
【０１２９】
なお、以上では、トリガ信号を端子１０１Ｂから出力する形態について説明したが、トリガ信号は端子１０１Ｂ以外の端子１０１Ａ、１０１Ｃ、又は１０１Ｄから出力してもよい。
【０１３０】
例えば、クロックが出力されない期間に、端子１０１Ａからトリガ信号を出力してもよい。また、アドレス信号が出力されない期間に、トリガ信号を端子１０１Ｃから出力してもよい。また、データのデバイス１００への入力及びデバイス１００からの出力が行われない期間に、トリガ信号を端子１０１Ｄから出力してもよい。
【０１３１】
また、実施の形態１のデバイス１００を含む電子装置４００Ａは、オシロスコープ３０のプローブＰ１〜Ｐ４をバス４０Ａ〜４０Ｄに接続して、デバイス１００が実際に動作しているときの信号波形を観測できる。このようにデバイス１００及び電子装置４００が実際に動作しているときの信号波形を観測できることにより、デバイス１００及び電子装置４００の動作を正確に把握することができる。
【０１３２】
＜実施の形態２＞
図６は、実施の形態２のデバイス２００を含む電子装置４００Ｂを示す図である。実施の形態２のデバイス２００は、実施の形態１のデバイス１００に、ＮＡＮＤフラッシュメモリの規格であるＯＮＦｉ(Open NAND Flash interface)プロトコルを適用したものであり、ＮＡＮＤ制御部（NAND controller）として機能する。
【０１３３】
電子装置４００Ｂは、デバイス２００、メモリ２０Ａ、及び基板５０を含む。また、図６には、電子装置４００Ｂに波形観測用のオシロスコープ３０Ａを接続している状態を示す。
【０１３４】
デバイス２００は、サーバ５００（図３参照）の一部である。また、デバイス２００、メモリ２０Ａは、例えば、半導体製造技術によって製造される。実施の形態２では、デバイス２００が制御処理を行う形態について説明するが、デバイス２００は、制御処理を行わない半導体回路装置であってもよい。これは、実施の形態１のデバイス１００と同様である。
【０１３５】
また、メモリ２０Ａは、実施の形態１のデバイス２０に対応し、実施の形態２では、一例として、ＮＡＮＤフラッシュメモリである。
【０１３６】
以下、実施の形態１のデバイス１００と同様の構成要素には同一符号を付し、その説明を省略する。
【０１３７】
基板５０は、実施の形態１の基板４０と同様に、例えば、ＦＲ−４規格の多層プリント基板であり、デバイス２００及びメモリ２０Ａが実装されている。基板５０は、所謂マザーボードである。基板５０は、バス５０Ａ、５０Ｂ、５０Ｃ、５０Ｄ、５０Ｅを含む。また、基板５０は、バス５０Ａ、５０Ｂ、５０Ｃ、５０Ｄ、５０Ｅ以外に、他のバス、配線、電源層、及びグランド層等を、基板５０の表面、裏面、及び内層に含んでもよい。
【０１３８】
デバイス２００は、読み書き制御部（Read/Write制御）２１０、トリガ生成部２２０、遅延制御部２３０、出力先制御部１４０、信号選択部２５０、制御レジスタ２６０、ＯＮＦｉ制御部２７０、入出力バッファ２８０、及び端子２０１Ａ、２０１Ｂ、２０１Ｃ、２０１Ｄ、２０１Ｅを含む。
【０１３９】
デバイス２００は、メモリ２０Ａへのデータの書き込み、及び、メモリ２０Ａに書き込まれたデータの読み出しを行う。デバイス２００は、半導体回路装置の一例である。
【０１４０】
端子２０１Ａ、２０１Ｂ、２０１Ｃ、２０１Ｄ、２０１Ｅは、それぞれ、基板５０のバス５０Ａ、５０Ｂ、５０Ｃ、５０Ｄ、５０Ｅに接続される。端子２０１Ａは、クロック(Clock)を出力する。端子２０１Ｂは、CE_n信号を出力する。端子２０１Ｃは、コマンド信号（ALE信号、CLE信号、及びRE信号）を出力する。端子２０１Ｄは、ストローブ信号DQSを入力又は出力する。端子２０１Ｅは、データDQ#0-7を入力又は出力する。
【０１４１】
図６には、説明の便宜上、１つの端子２０１Ｃを示すが、コマンド信号は、ALE信号、CLE信号、及びRE信号を含んでおり、ALE信号、CLE信号、及びRE信号は、それぞれ別々にメモリ２０Ａに伝送されるため、端子２０１Ｃは、実際には３つあることになる。また、これに伴い、基板５０は、実際には３本のバス５０Ｃを有する。
【０１４２】
また、コマンド信号（ALE信号、CLE信号、及びRE信号）が入力される信号選択部２５０は、実際には３つあり、入出力バッファ２８０には、３つの信号選択部２５０の出力が入力される。
【０１４３】
また、ＯＮＦｉ制御部２７０からトリガ生成部２２０には、コマンド信号（ALE信号、CLE信号、及びRE信号）が別々に入力される。デバイス２００に含まれるトリガ生成部２２０の数は１つである。
【０１４４】
また、図６には、説明の便宜上、１つの端子２０１Ｄを示すが、ストローブ信号DQSが差動形式である場合は、端子２０１Ｄは２つあり、ポジティブ側のストローブ信号DQSと、ネガティブ側のストローブ信号DQSとの入出力端子になる。
【０１４５】
また、図６には、説明の便宜上、１つの端子２０１Ｅを示すが、実施の形態２では、一例として、データDQ#0-7は８ビットであるので、端子２０１Ｅは８つあることになる。
【０１４６】
なお、図６では、オシロスコープ３０ＡのプローブＰ１、Ｐ２は、実際には３本あるバス５０Ｃのうちの２本に接続されている。また、オシロスコープ３０ＡのプローブＰ３、Ｐ４は、それぞれ、２本のバス５０Ｄのうちの１本、８本のバス５０Ｅのうちの１本に接続されている。
【０１４７】
読み書き制御部２１０は、デバイス２００の上位装置からメモリ２０Ａに対するデータの書き込み、又は、データの読み出しの要求がなされると、ＯＮＦｉ制御部２７０に対して、データの書き込み、又は、データの読み出しの要求を伝送する。また、読み書き制御部２１０は、メモリ２０Ａから読み出されたデータを含む応答信号を上位装置に伝送する。
【０１４８】
なお、データの書き込みの要求には、メモリ２０Ａに書き込まれるデータ自体が含まれている。
【０１４９】
ＯＮＦｉ制御部２７０は、読み書き制御部２１０からデータの書き込み、又は、データの読み出しの要求がなされると、データの書き込み、又は、データの読み出しの要求をＯＮＦｉのプロトコルにおけるコマンドに変換し、チップイネーブル信号(CE)、コマンド信号（ALE信号、CLE信号、及びRE信号）を出力する。また、ＯＮＦｉ制御部２７０は、クロック(Clock)を出力する。
【０１５０】
また、ＯＮＦｉ制御部２７０は、読み書き制御部２１０からデータの書き込みの要求がなされたときには、データの書き込みの要求に含まれるデータをＯＮＦｉのプロトコルに適合する８ビットのデータDQ#0-7に変換する。
【０１５１】
また、ＯＮＦｉ制御部２７０は、書き込みを行うデータDQ#0-7を出力する際に、ストローブ信号DQSを出力する。
【０１５２】
ＯＮＦｉ制御部２７０は、チップイネーブル信号(CE)を入出力バッファ２８０に入力する。また、ＯＮＦｉ制御部２７０は、コマンド信号（ALE信号、CLE信号、及びRE信号）を信号選択部２５０とトリガ生成部２２０とに入力する。
【０１５３】
また、ＯＮＦｉ制御部２７０は、入出力バッファ２８０との間でストローブ信号DQSとデータDQ#0-7を伝送する。また、データDQ#0-7は、トリガ生成部２２０にも伝送される。
【０１５４】
なお、読み書き制御部２１０とＯＮＦｉ制御部２７０は、制御部の一例である。
【０１５５】
また、ＯＮＦｉ制御部２７０は、読み書き制御部２１０からデータの読み出しの要求がなされると、入出力バッファ２８０を介して、メモリ２０Ａからデータを読み出す。メモリ２０Ａから読み出されたデータは、トリガ生成部２２０にも伝送される。
【０１５６】
読み書き制御部２１０が出力するコマンド信号（ALE信号、CLE信号、及びRE信号）は、通常動作時は、信号選択部２５０を介して基板５０のバス５０Ｃに出力される。
【０１５７】
読み書き制御部２１０は、通常動作時は、基板５０のバス５０Ｃを介して、コマンド信号（ALE信号、CLE信号、及びRE信号）をメモリ２０Ａに入力し、メモリ２０Ａに対するデータの書き込み、又は、データの読み出しを行う。デバイス２００とメモリ２０Ａとの間では、ストローブ信号DQSとデータDQ#0-7は、それぞれ、基板５０のバス５０Ｄ、５０Ｅを介して伝送される。
【０１５８】
ここで、通常動作時とは、デバイス２００がデータ処理等の通常の動作を行うときをいう。より具体的には、通常動作時とは、デバイス２００が動作する状態のうち、波形観測用の動作を行う観測動作時以外の動作時をいう。観測動作時とは、オシロスコープ３０Ａが観測するための信号をデバイス２００が出力する動作時をいう。
【０１５９】
また、ＯＮＦｉ制御部２７０が出力するコマンド信号（ALE信号、CLE信号、及びRE信号）およびデータ信号（DQ#0-7）は、通常動作時及び観測動作時に、トリガ生成部２２０に入力される。
【０１６０】
ここで、チップイネーブル信号(CE)とコマンド信号（ALE信号、CLE信号、RE信号）とは、ＯＮＦｉの仕様によって定義される信号である。
【０１６１】
また、チップイネーブル信号(CE: Chip Enable)は、バス５０Ｃの有効又は無効を表す信号である。CE信号がＨレベルであるときは、バス５０Ｃが有効であるため、デバイス２００はメモリ２０Ａにアクセスすることができる。一方、CE信号がＬレベルであるときは、バス５０Ｃが無効であるため、デバイス２００はメモリ２０Ａにアクセスすることができない。
【０１６２】
なお、CE信号は、入出力バッファ２８０で反転されてCE_n信号として出力される。CE_n信号は、CE信号の信号レベルを反転した信号である。
【０１６３】
コマンド信号のうちのALE信号は、アドレスラッチイネーブル(Address Latch Enable)信号であり、データDQ#0-7をアドレスデータとして取り扱うようにする信号である。ALE信号がＨレベルのときは、データDQ#0-7がアドレスデータとして取り扱われる。
【０１６４】
コマンド信号のうちのCLE信号は、コマンドラッチイネーブル(Command Latch Enable)信号であり、データDQ#0-7をコマンドとして取り扱うようにする信号である。CLE信号がＨレベルのときは、データDQ#0-7がコマンドとして取り扱われ。
【０１６５】
なお、ALE信号及びCLE信号がともにＬレベルのときは、データDQ#0-7がデータとして取り扱われる。
【０１６６】
コマンド信号のうちのRE信号は、リードイネーブル(Read Enable)信号であり、データの読み出し動作のタイミング信号として用いられる。RE信号は、デバイス２００がメモリ２０Ａからデータを読み出すときにＨレベル／Ｌレベルを交互に繰り返すトグルパターンにされ、デバイス２００がメモリ２０Ａにデータを書き込むときにＬレベルにされる。
【０１６７】
また、クロックCLKは、電子装置４００Ｂのシステムクロックである。
【０１６８】
トリガ生成部２２０は、制御レジスタ２６０から入力される生成条件及びトリガパターン条件と、読み書き制御部２１０が出力するコマンド信号及びデータとに基づき、トリガ信号(Trigger)を生成する。トリガ生成部２２０は、トリガ信号生成部の一例である。
【０１６９】
トリガ生成部２２０は、読み書き制御部２１０が出力するコマンド信号及びデータが、制御レジスタ２６０から入力される生成条件を満たしたと判定したときに、トリガ信号を生成する。
【０１７０】
トリガ信号は、オシロスコープ３０Ａを用いてデバイス２００の出力信号の波形を観測する際に、オシロスコープ３０Ａに観測用の動作を開始させるためのトリガになる信号である。トリガ生成部２２０が生成するトリガ信号は、遅延制御部２３０に入力され、遅延時間を与える遅延処理が行われる。
【０１７１】
詳細は後述するが、トリガ信号は、観測動作時に、遅延制御部２３０と信号選択部２５０を経て、コマンド信号の代わりに、デバイス２００の端子２０１Ｃから基板５０のバス５０Ｃに出力される。
【０１７２】
遅延制御部２３０は、トリガ生成部２２０から入力されるトリガ信号に、制御レジスタ２６０から入力される遅延条件に基づく遅延時間を与えて信号選択部２５０に出力する。また、遅延制御部２３０は、遅延したトリガ信号を出力する際に、遅延したトリガ信号を出力することを表す通知信号を出力先制御部１４０に出力する。
【０１７３】
実施の形態２では、遅延制御部２３０は、トリガ生成部２２０から入力されるトリガ信号に、一例として、システムクロックの１０サイクル分の遅延時間を与えて出力する。このような遅延制御部２３０は、例えば、システムクロックで動作し、直列に接続される１０個のＦＦ（Flip Flop）を有することにより、システムクロックの１０サイクル分の遅延時間を与えるようにしてもよい。
【０１７４】
また、遅延制御部２３０は、遅延制御部２３０の入力端子と出力端子との間に直列に接続される複数のインバータを有し、いずれかのインバータの出力を出力端子に向けて折り返す折返し点を切り替えることにより、遅延時間を可変的に選択できる回路であってもよい。このような遅延制御部２３０で、システムクロックの１０サイクル分の遅延時間を与えるようにしてもよい。
【０１７５】
出力先制御部１４０は、観測動作時に遅延制御部２３０から通知信号が入力されると、制御レジスタ２６０から入力される出力条件に基づいて選択信号を生成し、信号選択部２５０に入力する。
【０１７６】
選択信号は、読み書き制御部２１０から入力されるコマンド信号の代わりに、信号選択部２５０にトリガ信号を選択させるための信号である。
【０１７７】
信号選択部２５０は、マルチプレクサ２５１を含む。マルチプレクサ２５１の一方の入力端子には、ＯＮＦｉ制御部２７０から入力されるコマンド信号が入力される。また、マルチプレクサ２５１の他方の入力端子には、遅延制御部２３０によって遅延されたトリガ信号が入力される。
【０１７８】
マルチプレクサ２５１の選択信号入力端子には、出力先制御部１４０から選択信号が入力される。マルチプレクサ２５１は、選択信号に従って、ＯＮＦｉ制御部２７０から入力されるコマンド信号と、遅延制御部２３０で遅延されたトリガ信号とのいずれかを選択して出力する。
【０１７９】
なお、信号選択部２５０は、実際には３つあり、それぞれ、コマンド信号のALE信号、CLE信号、及びRE信号が入力される。
【０１８０】
また、出力先制御部１４０及び信号選択部２５０は、選択部の一例である。出力先制御部１４０は、選択部のうちの選択制御部の一例であり、信号選択部２５０は、選択部のうちの選択回路の一例である。
【０１８１】
制御レジスタ２６０は、外部のコンピュータに接続されるインターフェイスを有し、トリガ信号の生成条件及びトリガパターン条件、遅延条件、及び出力条件を保持する。制御レジスタ２６０は、例えば、揮発性のメモリを含む。
【０１８２】
生成条件、トリガパターン条件、遅延条件、及び出力条件は、デバイス２００の電源を立ち上げる際に、インターフェイスを通じて利用者によって設定される。
【０１８３】
生成条件は、トリガ信号を生成するときに用いられる条件である。実施の形態２のデバイス２００は、コマンド信号が出力されていないときに、コマンド信号の代わりにトリガ信号を生成し、端子２０１Ｃから出力する。
【０１８４】
生成条件は、コマンド信号等のパターンに基づいて、トリガ信号の生成を開始する条件を表す。この生成条件については、図８及び図９を用いて後述する。
【０１８５】
トリガパターン条件は、トリガ信号の信号パターンを表す条件である。このトリガパターン条件については、図８及び図９を用いて後述する。
【０１８６】
遅延条件は、トリガ生成部２２０によって生成されたトリガ信号に与える遅延時間を表す条件である。実施の形態２のデバイス２００は、コマンド信号が出力されていないときに、コマンド信号の代わりにトリガ信号を端子２０１Ｃから出力する。
【０１８７】
このため、遅延条件は、コマンド信号が出力されていないときまで、トリガ生成部２２０によって生成されたトリガ信号を遅延させる遅延時間を表す。
【０１８８】
出力条件は、遅延制御部２３０で遅延されたトリガ信号をコマンド信号（ALE信号、CLE信号、RE信号）の代わりに出力する出力先を表す条件である。コマンド信号は、ALE信号、CLE信号、RE信号の３つの信号を含むため、出力条件は、３つの信号のうちのどの信号の代わりにトリガ信号を出力するかを表す。
【０１８９】
すなわち、出力条件は、ALE信号、CLE信号、RE信号に対応して実際には３つある信号選択部２５０のうちのどの信号選択部２５０の出力を切り替えるかを表す。
【０１９０】
なお、ここでは、制御レジスタ２６０が生成条件、トリガパターン条件、遅延条件、及び出力条件を保持する形態について説明するが、トリガパターン条件は、生成条件に含まれていてもよい。また、遅延条件は、出力条件に含まれていてもよい。この場合は、制御レジスタ２６０が、トリガパターン条件を含む生成条件と、遅延条件を含む出力条件との２つの条件を保持することになる。
【０１９１】
制御レジスタ２６０への生成条件、遅延条件、及び出力条件は、例えば、デバイス２００の電源を投入してデバイス２００を立ち上げているときに、ＢＩＯＳ(Basic Input Output System)又はデバッグ用のＯＳ(Operating System)を介して、ストレージ５４０（図３参照）が動作を開始する前に、電子装置４００Ｂの利用者が書き込めばよい。
【０１９２】
入出力バッファ２８０は、ＯＮＦｉ制御部２７０からクロックとチップイネーブル信号が入力されるとともに、信号選択部２５０から出力されるコマンド信号又はトリガ信号が入力される。また、入出力バッファ２８０は、ＯＮＦｉ制御部２７０とメモリ２０Ａとの間でデータの受け渡しを行う。
【０１９３】
入出力バッファ２８０は、クロックとチップイネーブル信号、コマンド信号、トリガ信号、及びデータの増幅及び波形整形等を行って出力する。
【０１９４】
端子２０１Ａは、バス５０Ａに接続され、入出力バッファ２８０から入力されるクロックをバス５０Ａに出力する。
【０１９５】
端子２０１Ｂは、バス５０Ｂに接続され、入出力バッファ２８０から入力される反転されたチップイネーブル信号をバス５０Ｂに出力する。
【０１９６】
端子２０１Ｃは、バス５０Ｃに接続され、入出力バッファ２８０から入力されるコマンド信号又はトリガ信号をバス５０Ｃに出力する。
【０１９７】
端子２０１Ｄは、バス５０Ｄに接続され、入出力バッファ２８０とバス５０Ｄとの間でストローブ信号DQSを受け渡す。
【０１９８】
端子２０１Ｅは、バス５０Ｅに接続され、入出力バッファ２８０とバス５０Ｅとの間でデータDQ#0-7を受け渡す。
【０１９９】
次に、図７を用いて、トリガ生成部２２０の詳細について説明する。
【０２００】
図７は、トリガ生成部２２０を示す図である。
【０２０１】
トリガ生成部２２０は、端子２２０Ａ、２２０Ｂ、２２０Ｃ、２２０Ｄ、２２０Ｅ、２２０Ｆ、条件比較部２２１、パルス生成数カウンタ２２２、及びパルス発生器２２３を含む。
【０２０２】
端子２２０Ａは、ＯＮＦｉ制御部２７０に接続され、コマンド信号(ALE信号、CLE信号、RE信号)が入力される。端子２２０Ａは、コマンド信号を条件比較部２２１に入力する。ここでは、コマンド信号がALE信号、CLE信号、RE信号を含むため、端子２２０Ａは、実際には３つある。
【０２０３】
端子２２０Ｂは、ＯＮＦｉ制御部２７０に接続され、データDQ#0-7が入力される。端子２２０Ｂは、データDQ#0-7を条件比較部２２１に入力する。ここでは、８つのデータDQ#0-7を取り扱うため、端子２２０Ｂは、実際には８つある。
【０２０４】
端子２２０Ｃは、制御レジスタ２６０に接続され、生成条件を表す信号が入力される。端子２２０Ｃは、生成条件を表す信号を条件比較部２２１に入力する。
【０２０５】
端子２２０Ｄは、制御レジスタ２６０に接続され、トリガパターン条件のうちのパルス数、及び、パルスの間隔を表すデータが入力される。端子２２０Ｄは、トリガパターン条件のうちのパルス数、及び、パルスの間隔を表すデータをパルス生成数カウンタ２２２に入力する。
【０２０６】
端子２２０Ｅは、制御レジスタ２６０に接続され、トリガパターン条件のうちのパルス幅とパルスの信号レベルを表すデータが入力される。端子２２０Ｅは、トリガパターン条件のうちのパルス幅とパルスの信号レベルを表すデータをパルス発生器２２３に入力する。
【０２０７】
端子２２０Ｆは、パルス発生器２２３の出力端子に接続され、パルス発生器２２３が生成するトリガ信号(Trigger)を遅延制御部２３０（図６参照）に入力する。
【０２０８】
条件比較部２２１は、端子２２０Ａ及び２２０Ｂを介してＯＮＦｉ制御部２７０から入力されるコマンド信号のうちのALE信号及びCLE信号とデータDQ#0-7とを、端子２２０Ｃを介して制御レジスタ２６０から入力される生成条件を表す信号と比較する。そして、条件比較部２２１は、コマンド信号のうちのALE信号及びCLE信号とデータDQ#0-7とが生成条件を満たしたかどうかを判定する。
【０２０９】
条件比較部２２１は、コマンド信号のうちのALE信号及びCLE信号とデータDQ#0-7とが生成条件を満たしたと判定すると、条件が成立したことを表す成立信号をパルス生成数カウンタ２２２に送信する。Ｈレベルの成立信号は、条件が成立したことを表し、Ｌレベルの成立信号は、条件が成立していないことを表す。
【０２１０】
このような条件比較部２２１は、ALE信号、CLE信号、及びデータDQ#0-7の各々と、生成条件を表す信号とを比較する複数のコンパレータによって実現することができる。
【０２１１】
パルス生成数カウンタ２２２は、条件比較部２２１からＨレベルの成立信号が入力されると、トリガパターン条件のうちのパルス数、及び、パルスの間隔を表すデータに基づき、指示されたパルス数と等しい数の生成指示信号を、指示されたパルス間隔と等しい時間間隔を空けて、パルス発生器２２３に出力する。
【０２１２】
パルス発生器２２３は、パルス生成数カウンタ２２２から生成指示信号が入力されると、トリガパターン条件のうちのパルス幅とパルスの信号レベルを表すデータに基づき、指定されたパルス幅、信号レベルを持つパルスであるトリガ信号を生成する。パルス発生器２２３は、生成したトリガ信号を端子２２０Ｅに出力する。端子２２０Ｅは、遅延制御部２３０（図６参照）に接続されているので、遅延制御部２３０にトリガ信号が入力される。
【０２１３】
次に、図８を用いて、制御レジスタ２６０に設定される生成条件、出力条件、トリガパターン条件、及び遅延条件について説明する。
【０２１４】
図８は、制御レジスタ２６０に格納される生成条件、出力条件、トリガパターン条件、及び遅延条件を表すテーブルデータを示す図である。
【０２１５】
図８に示すように、制御レジスタ２６０には、生成条件、出力条件、トリガパターン条件、及び遅延条件を表すデータがテーブル形式のデータとして格納される。
【０２１６】
生成条件は、コマンドとアドレスを含んでおり、コマンドが書き込み(WRITE(PROGRAM))コマンドで、アドレスが0xFFXXである場合に、生成条件を満たすことになる。すなわち、アドレス0xFFXXに対して書き込み(WRITE)コマンドが発行されたときに、生成条件が成立することになる。
【０２１７】
ここで、書き込み(WRITE)コマンドは、ＬレベルのALE信号と、ＨレベルのCLE信号と、値が0x80であるDQ#0-7信号によって表される。なお、ここでは用いないが、読み込み(READ)コマンドは、ＬレベルのALE信号と、ＨレベルのCLE信号と、値が0x00であるDQ#0-7信号によって表される。
【０２１８】
出力条件は、遅延制御部２３０で遅延されたトリガ信号をコマンド信号のうちのALE信号、CLE信号、RE信号のどの信号の代わりに出力するかを表す条件である。
【０２１９】
出力条件は、ALE信号、CLE信号、及びRE信号を含み、図８では、ALE信号がオン、CLE信号がオン、かつ、RE信号がオフである。すなわち、観測動作時には、コマンド信号のうち、ALE信号とCLE信号の代わりにトリガ信号出力し、RE信号は、観測動作時には、出力しないことを表す。
【０２２０】
換言すれば、ALE信号がオン、CLE信号がオン、かつ、RE信号がオフであることを表す出力条件により、ALE信号とCLE信号に対応する信号選択部２５０の出力をトリガ信号に切り替える選択信号が、出力先制御部１４０から出力される。
【０２２１】
なお、RE信号を観測動作時に出力しないのは、この例では観測対象としてオシロスコープに接続しておらず、トリガとして使用されないためである。
【０２２２】
トリガパターン条件は、トリガ信号のパルス幅、信号レベル、パルス数、及びパルス間隔を含む。パルス幅は、トリガ信号のパルスの幅である。信号レベルは、トリガ信号の信号レベル（Ｈ又はＬ）を表す。パルス数は、トリガ信号のパルスの数を表す。換言すれば、パルス数は、トリガ信号の繰り返し回数であり、トリガ信号の周期数を表す。パルス間隔は、トリガ信号のパルスが複数ある場合におけるパルス同士の間隔を表す。
【０２２３】
図８に示すトリガパターン条件は、パルス幅が１サイクル、信号レベルがＨ(High)レベル、パルス数が２、パルス間隔が１サイクルであるため、このパルス幅、信号レベル、パルス数、及びパルス間隔によって定義されるトリガ信号がALE信号とCLE信号の代わりに生成されることになる。
【０２２４】
なお、ＯＮＦｉのプロトコル（ＯＮＦｉの規格）では、ALE信号とCLE信号が同時にＨレベルになるコマンドは定義されていない。
【０２２５】
実施の形態２では、このように、ＯＮＦｉのプロトコルで定義されていないコマンドをトリガ信号として利用する。
【０２２６】
遅延条件は、生成条件が成立してトリガ信号が生成されてから、デバイス２００からトリガ信号を出力するまでに、トリガ信号に与える遅延時間を表す。なお、トリガ信号が生成されるのは、生成条件が成立した直後であり、トリガ信号の１サイクルの期間に比べて無視できるほど短いこととする。
【０２２７】
次に、図９を用いて、実施の形態２のデバイス２００の観測動作時における動作について説明する。
【０２２８】
図９は、実施の形態２のデバイス２００から出力される信号の波形を示すタイミングチャートである。
【０２２９】
図９には、端子２０１Ａ、２０１Ｂ、２０１Ｃ、２０１Ｅからバス５０Ａ、５０Ｂ、５０Ｃ、５０Ｅに出力される信号を示す。
【０２３０】
デバイス２００は、通常動作時には、端子２０１Ａ、２０１Ｂ、２０１Ｃ、２０１Ｅからバス５０Ａ、５０Ｂ、５０Ｃ、５０Ｅに、それぞれ、クロックCLK、チップイネーブル信号(CE)、コマンド信号のうちのALE信号とCLE信号、データDQ#0-7を出力する。
【０２３１】
このため、図９には、通常動作時にバス５０Ａ、５０Ｂ、５０Ｃ、５０Ｅに出力される信号の名称を併記する。
【０２３２】
これらのうち、コマンド信号のうちのALE信号とCLE信号と、データDQ#0-7とは、トリガ生成部２２０が生成条件が成立したかどうかの判定に用いる信号である。
【０２３３】
また、図９には、３本のバス５０Ｃ（図６参照）のうち、ALE信号とCLE信号を伝送する２本のバス５０Ｃの状態(busy)を示す。状態(busy)がＨレベルであることは、２本のバス５０ＣによってALE信号又はCLE信号の少なくとも一方が伝送されていることを表す。状態(busy)がＬレベルであることは、２本のバス５０ＣによってALE信号及びCLE信号のいずれも伝送されていないことを表す。
【０２３４】
また、図９のクロックCLKの上には、デバイス２００の動作状態（WRITEコマンド、NOP(NO Operation)、トリガ出力、WRITEデータ）を表す。WRITEコマンドは書き込みコマンドを出力していることを表す。NOPは動作を行っていないことを表す。トリガ出力はトリガ信号を出力していることを表す。WRITEデータはメモリ２０Ａにデータを書き込んでいることを表す。
【０２３５】
また、図９に示すように、時刻ｔ１１において、ALE信号はＬレベルであり、CE信号とCLE信号はＨレベルに立ち上がる。ＯＮＦｉのプロトコルでは、ＬレベルのALE信号と、ＨレベルのCLE信号との組み合わせはコマンドを意味するため、ALE信号がＬレベルでCLE信号がＨレベルである期間は、データDQ#0-7はコマンド(CMD)として取り扱われる。
【０２３６】
また、時刻ｔ１１において、コマンドの伝送を開始することにより、状態(busy)はＨレベルになる。
【０２３７】
このように書き込み（WRITE）コマンドが発行されることにより、時刻ｔ１１で、トリガ信号の生成条件が成立する。
【０２３８】
ＯＮＦｉのプロトコルでは、書き込み（WRITE）コマンドが発行は、１０サイクル以内に完了するようになっている。
【０２３９】
時刻ｔ１１の後は、クロックCLKの１サイクル毎に書き込み（WRITE）コマンドが発行されるアドレスがaddr1, addr2, addr3, addr4,addr5と５サイクルかけて指定される。そして、書き込み（WRITE）コマンドの発行は、生成条件が成立した時刻ｔ１１から６サイクルで完了し、７サイクル目に入る時刻ｔ１２からは、デバイス２００の動作状態は、NOPになる。これにより、クロックCLKも停止する。また、時刻ｔ１２からクロックの１周期分の期間が経過したときに状態(busy)はＬレベルになる。
【０２４０】
また、ＯＮＦｉのプロトコルでは、書き込み（WRITE）コマンドの発行が終了してから、データの書き込みが行われるまでは、所定の期間は、動作が行われないことになっている。
【０２４１】
そして、時刻ｔ１１で、トリガ信号の生成条件が成立してからクロックCLKの１０サイクルが経過する時刻ｔ１３において、ALE信号とCLE信号を伝送する２本のバス５０Ｃに、トリガ信号が出力される。この１０サイクルは、遅延条件（図８参照）によって設定された遅延時間である。
【０２４２】
時刻ｔ１３からクロックCLKの３サイクルに相当する時間が経過する時刻ｔ１４までに出力されるトリガ信号は、２つの端子２０２Ｃ（図６参照）から２本のバス５０Ｃに出力される。
【０２４３】
トリガ信号のパターンは、トリガパターン条件（図８参照）によって定義されている通り、パルス幅はクロックCLKの１サイクル分であり、パルスの信号レベルはＨレベルであり、パルス数は２つであり、パルス間隔はクロックCLKの１サイクル分である。
【０２４４】
すなわち、実施の形態２のトリガ信号は、図９の時刻ｔ１３から時刻ｔ１４までの期間に示すように、通常動作時にALE信号とCLE信号を伝送する２本のバス５０Ｃにそれぞれ出力されるパルス信号であって、クロックCLKの１サイクル分のパルス幅とパルス間隔を有するＨレベルの２つのパルスによって構築される。
【０２４５】
上述のように、ＯＮＦｉのプロトコルでは、ALE信号とCLE信号が同時にＨレベルになるコマンドは定義されていないため、このようなトリガ信号を通常動作時にALE信号とCLE信号を伝送する２本のバス５０Ｃにそれぞれ出力しても、メモリ２０Ａに誤動作が生じることはない。
【０２４６】
そして、書き込み（WRITE）コマンドの発行が終了してから、データの書き込みが行われるまでの所定の期間が終了する時刻ｔ１５以降に、データdata1, data2. data3. data4. data5が、アドレスaddr1, addr2, addr3, addr4,addr5で示されたアドレスに書き込まれる。
【０２４７】
実施の形態２では、このように、デバイス２００で用いるＯＮＦｉのプロトコルに存在しない信号パターンのトリガ信号を生成し、通常動作時にALE信号とCLE信号を伝送する２本のバス５０Ｃに出力する。
【０２４８】
実施の形態２のデバイス２００のトリガ生成部２２０が制御レジスタ２６０に保持される生成条件に基づいて生成するトリガ信号は、デバイス２００で用いるＯＮＦｉのプロトコルに存在しない信号パターンである。換言すれば、このトリガ信号は、デバイス２００で用いるＯＮＦｉのプロトコルでは無効な信号パターンである。
【０２４９】
従って、このようなトリガ信号を通常動作時にALE信号とCLE信号を伝送する２本のバス５０Ｃにそれぞれ出力しても、メモリ２０Ａに誤動作が生じることはない。
【０２５０】
また、デバイス２００で用いるＯＮＦｉのプロトコルでは無効な信号パターンをトリガ信号として用いれば、トリガ信号と等しいパターンの信号は他に存在しないため、オシロスコープ３０Ａで波形を観測する際に、トリガ信号を正確に見分けることができる。
【０２５１】
この結果、図６に示すようにオシロスコープ３０ＡのプローブＰ１、Ｐ２、Ｐ３、Ｐ４を２本のバス５０Ｃ、バス５０Ｄ、５０Ｅに接続した場合に、２本のバス５０Ｃ、バス５０Ｄ、５０Ｅを伝送される４種類の信号を観測することができる。
【０２５２】
以上、実施の形態２のデバイス２００によれば、通常動作時にALE信号とCLE信号を出力する２つの端子２０１Ｃから、観測動作時にトリガ信号を出力することができる。トリガ信号は、図９に示す時刻ｔ１２から時刻ｔ１５の間のように、２本のバス５０ＣにALE信号とCLE信号が伝送されていない空き時間を利用して出力される。
【０２５３】
従って、前提技術のデバイス１０のように、トリガ信号を出力する専用の端子１０Ｅを設ける必要がない。
【０２５４】
このため、実施の形態２によれば、資源の利用効率を改善したデバイス２００を提供することができる。
【０２５５】
また、この結果、オシロスコープ３０ＡのプローブＰ１、Ｐ２、Ｐ３、Ｐ４のうちの２つでトリガ信号を検出できるとともに、２本のバス５０Ｃ、バス５０Ｄ、５０Ｅを伝送される４種類の信号を観測することができる。
【０２５６】
オシロスコープ３０Ａは、トリガ信号を検出して観測動作を開始することができるため、プローブＰ１〜Ｐ４によって、ALE信号、CLE信号、ストローブ信号DQS、データDQ#0-7（DQ#0-7のうちの１つ）の信号波形を観測することができる。
【０２５７】
これは、前提技術のデバイス１０（図１参照）にオシロスコープ３０を接続する場合に比べて、トリガ信号を検出するための専用のプローブが不要になるとともに、観測可能な信号の数が１つ多いことを意味する。
【０２５８】
従って、実施の形態２によれば、観測効率を改善したデバイス２００及び電子装置４００Ｂを提供することができる。
【０２５９】
なお、以上では、通常動作時にALE信号とCLE信号を出力する２つの端子２０１Ｃから、ALE信号とCLE信号の代わりに、図９の時刻ｔ１３からｔ１４の間に示すトリガ信号を出力する形態について説明した。このトリガ信号は、ＯＮＦｉのプロトコルで定義されているコマンドには該当せず、ＯＮＦｉのプロトコルでは無効なコマンドである。
【０２６０】
しかしながら、上述したトリガ信号は一例である。CE信号、ALE信号、CLE信号、RE信号等を用いて、ＯＮＦｉのプロトコルで定義されていない信号であれば、トリガ信号として用いることができる。
【０２６１】
また、ここでは、一例として、ＯＮＦｉのプロトコルを用いて説明を行ったが、ＯＮＦｉ以外の規格においても、同様に、その規格で定義されていないパターンの信号をトリガ信号として用いれば、上述の場合と同様に実施可能である。
【０２６２】
なお、ここでは、時刻ｔ１２からクロックの１周期分の期間が経過したときに状態(busy)がＬレベルになる形態について説明したが、状態(busy)をＬレベルに戻すタイミングは、デバイス２００の特性等に応じて、より早くしてもよいし、より遅くしてもよい。
【０２６３】
ここで、図１０を用いて、実施の形態２のデバイス２００で出力するトリガ信号を定義するために、デバイス２００の利用者が行う手順について簡単に説明する。
【０２６４】
図１０は、実施の形態２のデバイス２００で出力するトリガ信号を定義するために、デバイス２００の利用者が行う手順を示す図である。
【０２６５】
まず、オシロスコープ３０Ａで波形を観測したいデバイス２００の動作のタイミングと、観測したい信号を明確にする（ステップＳ１）。
【０２６６】
上述の例では、デバイス２００の特定アドレスへの書き込み実行時に、ALE信号、CLE信号、ストローブ信号DQS、データDQ#0-7（DQ#0-7のうちの１つ）を観測するように利用者が設定する場合について説明した。このように、オシロスコープ３０Ａで波形を観測したいデバイス２００の動作のタイミングと、観測したい信号を明確にすればよい。
【０２６７】
次に、トリガ信号の生成条件を制御レジスタ２６０に設定する（ステップＳ２）。
【０２６８】
上述の例では、デバイス２００の電源を投入してデバイス２００を立ち上げているときに、ＢＩＯＳ又はデバッグ用のＯＳを介して、ストレージ５４０（図３参照）が動作を開始する前に、電子装置４００Ｂの利用者が生成条件を制御レジスタ２６０に書き込む形態について説明した。このように、生成条件を制御レジスタ２６０に設定すればよい。
【０２６９】
次に、トリガ信号を出力する信号を選択し、出力条件として制御レジスタ２６０に設定する（ステップＳ３）。
【０２７０】
上述の例では、コマンド信号のうちのALE信号とCLE信号を選択し、RE信号は選択しない内容の出力条件（図８参照）を設定する形態について説明した。このように、出力条件を設定すればよい。
【０２７１】
次に、伝送プロトコルに存在しない信号パターンを探し、トリガパターン条件として定義する（ステップＳ４）。
【０２７２】
上述の例では、ＯＮＦｉのプロトコルにおいて、コマンド信号のうちのALE信号とCLE信号がともにＨレベルになるコマンドが存在しないことに着目し、トリガパターン条件として定義した。このように、伝送プロトコルに存在しない信号パターンをトリガパターン条件として定義すればよい。
【０２７３】
次に、ステップＳ４で定義したトリガパターン条件を制御レジスタ２６０に設定する（ステップＳ５）。
【０２７４】
上述の例では、ＯＮＦｉのプロトコルにおいて、コマンド信号のうちのALE信号とCLE信号がともにＨレベルになるトリガパターン条件（図８参照）を制御レジスタ２６０に設定した。このように、トリガパターン条件を制御レジスタ２６０に設定すればよい。
【０２７５】
次に、伝送プロトコルで、ステップＳ４で定義したトリガパターン条件に含まれる信号を伝送するバスの空き時間を探し、必要な遅延時間を計算する（ステップＳ６）。
【０２７６】
上述の例では、書き込み(WRITE)コマンドが、１０サイクル以内に終了し、その後に書き込み動作が開始するまでに所定期間の空き時間があることに着目し、遅延時間を１０サイクルに設定した。このように、必要な遅延時間を計算すればよい。
【０２７７】
最後に、ステップＳ６で計算した遅延時間を遅延条件として制御レジスタ２６０に設定する（ステップＳ７）。
【０２７８】
これは、上述の例において、図８に示した通りである。
【０２７９】
以上のように、生成条件、出力条件、トリガパターン条件、及び遅延条件を決定し、制御レジスタ２６０に設定すればよい。
【０２８０】
＜実施の形態３＞
図１１は、実施の形態３のデバイス３００を含む電子装置４００Ｃを示す図である。実施の形態３のデバイス３００は、実施の形態２のデバイス２００に２つのメモリ２０Ａ０、２０Ａ１を接続したものである。メモリ２０Ａ０、２０Ａ１は、実施の形態２のメモリ２０Ａと同様のＮＡＮＤフラッシュメモリである。
【０２８１】
２つのメモリ２０Ａ０、２０Ａ１を接続することに伴い、実施の形態３のデバイス３００は、ＯＮＦｉ制御部３７０、入出力バッファ３８０、及びログレジスタ３９０を含む点が、実施の形態２のデバイス２００（図６参照）と異なる。
【０２８２】
以下では、実施の形態２のデバイス２００と同様の構成要素には同一符号を付し、その説明を省略する。
【０２８３】
伝送プロトコル又はコマンドの発行頻度によっては、バス５０Ｃの空き時間を確保できない場合があり得る。例えば、実施の形態２と同様の３本のバス５０Ｃの各々に、２つのメモリ２０Ａ０、２０Ａ１を接続し、並列的にアクセスする場合は、実施の形態２のデバイス２００に比べてコマンド発行数が増加するため、バス５０Ｃの空き時間が殆どない状態が一時的に発生する可能性がある。
【０２８４】
この傾向は、メモリ２０Ａ０、２０Ａ１に加えて、さらにメモリを増設した場合には、より顕著になる可能性がある。メモリの並列数に比例してコマンド発行数が増加するためである。
【０２８５】
実施の形態３は、このようにバス５０Ｃの空き時間を確保しにくい場合に、バス５０Ｃの空き状況を表すログをログレジスタ３９０に記録し、バス５０Ｃの空き状況を把握できるようにするものである。
【０２８６】
電子装置４００Ｃは、デバイス３００、メモリ２０Ａ０、２０Ａ１、及び基板５０を含む。また、図１１には、電子装置４００Ｃに波形観測用のオシロスコープ３０Ａを接続している状態を示す。
【０２８７】
デバイス３００は、サーバ５００（図３参照）の一部である。また、デバイス３００、メモリ２０Ａ０、２０Ａ１は、例えば、半導体製造技術によって製造される。実施の形態３では、デバイス３００が制御処理を行う形態について説明するが、デバイス３００は、制御処理を行わない半導体回路装置であってもよい。これは、実施の形態１、２のデバイス１００、２００と同様である。
【０２８８】
また、メモリ２０Ａ０、２０Ａ１は、実施の形態２のメモリ２０Ａと同様のＮＡＮＤフラッシュメモリである。
【０２８９】
基板５０は、実施の形態２の基板５０と同様の基板であり、実施の形態３では、デバイス３００と、メモリ２０Ａ０、２０Ａ１が実装される。メモリ２０Ａ０、２０Ａ１は、バス５０Ａ，５０Ｃ〜５０Ｅを共用する。すなわち、バス５０Ａ，５０Ｃ〜５０Ｅに対して、メモリ２０Ａ０、２０Ａ１は、並列に接続されている。
【０２９０】
デバイス３００は、読み書き制御部（Read/Write制御）２１０、トリガ生成部２２０、遅延制御部２３０、出力先制御部３４０、信号選択部２５０、制御レジスタ２６０、ＯＮＦｉ制御部３７０、入出力バッファ３８０、ログレジスタ３９０、及び端子２０１Ａ、２０１Ｂ、２０１Ｃ、２０１Ｄ、２０１Ｅを含む。
【０２９１】
デバイス３００は、メモリ２０Ａ０、２０Ａ１へのデータの書き込み、及び、メモリ２０Ａ０、２０Ａ１に書き込まれたデータの読み出しを行う。デバイス３００は、半導体回路装置の一例である。
【０２９２】
ＯＮＦｉ制御部３７０からトリガ生成部２２０には、コマンド信号（ALE信号、CLE信号、及びRE信号）が別々に入力される。デバイス３００に含まれるトリガ生成部２２０の数は１つである。
【０２９３】
読み書き制御部２１０は、デバイス３００の上位装置からメモリ２０Ａ０、２０Ａ１に対するデータの書き込み、又は、データの読み出しの要求がなされると、ＯＮＦｉ制御部３７０に対して、データの書き込み、又は、データの読み出しの要求を伝送する。
【０２９４】
なお、メモリ２０Ａ０、２０Ａ１に対するデータの書き込みは、別々のタイミングで行われる。これは、メモリ２０Ａ０、２０Ａ１のデータの読み出す場合も同様である。
【０２９５】
ＯＮＦｉ制御部３７０は、読み書き制御部２１０からデータの書き込み、又は、データの読み出しの要求がなされると、データの書き込み、又は、データの読み出しの要求をＯＮＦｉのプロトコルにおけるコマンドに変換し、チップイネーブル信号(CE0/1)、コマンド信号（ALE信号、CLE信号、及びRE信号）を出力する。
【０２９６】
ここで、チップイネーブル信号(CE0/1)は、CE0信号とCE1信号の２つのチップイネーブル信号であり、それぞれ、メモリ２０Ａ０、２０Ａ１に対してデータの読み出し又は書き込みを行う際に、バス５０Ｃの有効又は無効を表す信号である。
【０２９７】
CE0信号とCE1信号は、ＯＮＦｉ制御部３７０から別々に出力され、入出力バッファ３８０を経て、端子２０１Ｂから出力されるため、実施の形態３では、端子２０１Ｂは２つあることになる。また、このため、実施の形態３では、基板５０のバス５０Ｂは２本あることになる。
【０２９８】
CE0信号とCE1信号は、それぞれ、バス５０Ｃの有効又は無効を表す信号である。CE0信号がＨレベルであるときは、バス５０Ｃが有効であるため、デバイス３００はメモリ２０Ａ０にアクセスすることができる。一方、CE0信号がＬレベルであるときは、バス５０Ｃが無効であるため、デバイス３００はメモリ２０Ａ０にアクセスすることができない。
【０２９９】
同様に、CE1信号がＨレベルであるときは、バス５０Ｃが有効であるため、デバイス３００はメモリ２０Ａ１にアクセスすることができる。一方、CE1信号がＬレベルであるときは、バス５０Ｃが無効であるため、デバイス３００はメモリ２０Ａ１にアクセスすることができない。
【０３００】
なお、CE0信号とCE1信号は、それぞれ、入出力バッファ３８０で反転されてCE0_n信号とCE1_n信号として出力される。CE0_n信号とCE1_n信号を略してCE0_/1_nと記す。
【０３０１】
また、ＯＮＦｉ制御部３７０は、busy信号を出力する。busy信号は、２本のバス５０Ｃの状態を示し、busy信号がＨレベルであることは、２本のバス５０ＣによってALE信号又はCLE信号の少なくとも一方が伝送されていることを表す。換言すれば、busy信号は、２本のバス５０Ｃに接続される２つの端子２０１Ｃの少なくとも一方が出力されていることを表す。busy信号は、使用通知信号の一例である。
【０３０２】
busy信号がＬレベルであることは、２本のバス５０ＣによってALE信号及びCLE信号のいずれも伝送されていないことを表す。ＯＮＦｉ制御部３７０が出力するbusy信号は、出力先制御部３４０に入力される。
【０３０３】
また、ＯＮＦｉ制御部３７０は、クロック(Clock)を出力する。
【０３０４】
ＯＮＦｉ制御部３７０は、チップイネーブル信号(CE0/1)を入出力バッファ３８０に入力する。また、ＯＮＦｉ制御部３７０は、コマンド信号（ALE信号、CLE信号、及びRE信号）を信号選択部２５０とトリガ生成部２２０とに入力する。
【０３０５】
また、ＯＮＦｉ制御部３７０は、入出力バッファ３８０との間でストローブ信号DQSとデータDQ#0-7を伝送する。また、データDQ#0-7は、トリガ生成部２２０にも伝送される。
【０３０６】
また、ＯＮＦｉ制御部３７０は、読み書き制御部２１０からデータの読み出しの要求がなされると、入出力バッファ３８０を介して、メモリ２０Ａ０、２０Ａ１からデータを読み出す。メモリ２０Ａ０、２０Ａ１から読み出されたデータは、トリガ生成部２２０にも伝送される。
【０３０７】
ＯＮＦｉ制御部３７０が出力するコマンド信号（ALE信号、CLE信号、及びRE信号）は、通常動作時は、信号選択部２５０を介して基板５０のバス５０Ｃに出力される。
【０３０８】
ＯＮＦｉ制御部３７０は、通常動作時は、基板５０のバス５０Ｃを介して、コマンド信号（ALE信号、CLE信号、及びRE信号）をメモリ２０Ａ０、２０Ａ１に入力し、メモリ２０Ａ０、２０Ａ１に対するデータの書き込み、又は、データの読み出しを行う。デバイス３００とメモリ２０Ａ０、２０Ａ１との間では、ストローブ信号DQSとデータDQ#0-7は、それぞれ、基板５０のバス５０Ｄ、５０Ｅを介して伝送される。
【０３０９】
出力先制御部３４０は、観測動作時に遅延制御部２３０から通知信号が入力されると、制御レジスタ２６０から入力される出力条件に基づいて選択信号を生成し、信号選択部２５０に入力する。
【０３１０】
選択信号は、ＯＮＦｉ制御部３７０から入力されるコマンド信号の代わりに、信号選択部２５０にトリガ信号を選択させるための信号である。
【０３１１】
また、出力先制御部３４０には、ＯＮＦｉ制御部３７０が出力するbusy信号が入力される。
【０３１２】
出力先制御部３４０は、busy信号がＨレベルのときは、選択信号を出力せずに、トリガ信号を放棄させる。これは、例えば、生成条件が成立した後に、システムクロックの１０サイクル分の遅延時間が与えられたトリガ信号が遅延制御部２３０から信号選択部２５０に入力された場合に、出力先制御部３４０は、busy信号がＨレベルのときは選択信号を出力しないことを意味する。
【０３１３】
このように遅延時間が与えられたトリガ信号が遅延制御部２３０から信号選択部２５０に入力されている場合でも、出力先制御部３４０が選択信号を信号選択部２５０に入力しないことにより、遅延制御部２３０から信号選択部２５０に入力されるトリガ信号は、放棄されることになる。
【０３１４】
出力先制御部３４０は、遅延制御部２３０から通知信号を受信して選択信号を出力するときに、busy信号がＨレベルであって選択信号の出力を取りやめた場合は、選択信号の出力を取りやめたタイミングを表すログ情報をログレジスタ３９０に出力する。ログレジスタ３９０は、出力先制御部３４０から出力されるログ情報を記録する。
【０３１５】
入出力バッファ３８０は、ＯＮＦｉ制御部３７０からクロックとチップイネーブル信号(CE0/1)が入力されるとともに、信号選択部２５０から出力されるコマンド信号又はトリガ信号が入力される。また、入出力バッファ３８０は、ＯＮＦｉ制御部３７０とメモリ２０Ａ０、２０Ａ１との間でデータの受け渡しを行う。
【０３１６】
ここで、図１２を用いて、実施の形態３のデバイス３００におけるログ情報の記録処理の流れについて説明する。
【０３１７】
図１２は、実施の形態３のデバイス３００におけるログ情報の記録処理の流れについて説明する図である。
【０３１８】
まず、トリガ生成部２２０は、制御レジスタ２６０から入力される生成条件及びトリガパターン条件と、ＯＮＦｉ制御部３７０が出力するコマンド信号及びデータとに基づき、トリガ信号(Trigger)を生成し、出力する（ステップＳ１１）。
【０３１９】
次に、遅延制御部２３０は、トリガ生成部２２０から入力されるトリガ信号に、制御レジスタ２６０から入力される遅延条件に基づく遅延時間を与えて信号選択部２５０に出力する（ステップＳ１２）。
【０３２０】
次に、出力先制御部３４０は、遅延制御部２３０から通知信号が入力されると、制御レジスタ２６０から入力される出力条件に基づいて選択信号を生成し、バス５０Ｃが使用中であるか否かを判定する（ステップＳ１３）。出力先制御部３４０は、バス５０Ｃが使用中であるかどうかを、busy信号の信号レベルに基づいて判定する。
【０３２１】
出力先制御部３４０は、busy信号がＨレベルのとき（Ｓ１３：ＹＥＳ）は、選択信号を出力せずに、トリガ信号を放棄する（ステップＳ１４）。この結果、信号選択部２５０はトリガ信号を選択せずに、コマンド信号のうちのALE信号とCLE信号を選択して端子２０１Ｃに出力する。
【０３２２】
次いで、出力先制御部３４０は、選択信号の出力を取りやめたタイミングを表すログ情報をログレジスタ３９０に記録する（ステップＳ１５）。
【０３２３】
なお、出力先制御部３４０は、ステップＳ１３において、busy信号がＬレベルでありバス５０Ｃが使用中ではないと判定したとき（Ｓ１３：ＮＯ）は、選択信号を信号選択部２５０に出力する（ステップＳ１６）。この結果、信号選択部２５０は、コマンド信号のうちのALE信号とCLE信号の代わりに、トリガ信号を選択して端子２０１Ｃに出力する。
【０３２４】
以上のように、バス５０Ｃが使用中のときは、ログ情報がログレジスタ３９０に記録される。
【０３２５】
次に、図１３を用いて、ログレジスタ３９０に記録されるログ情報について説明する。
【０３２６】
図１３は、ログレジスタ３９０の構成と、ログレジスタ３９０に記録されるログ情報のデータ構造とを示す図である。ログレジスタ３９０は、履歴保持部の一例である。
【０３２７】
ログレジスタ３９０は、図１３の左側に示すように、書き込みポインタ(Write Pointer)及び読み出しポインタ(Read Pointer)を持つリングバッファである。図１３には、一例として、ログ情報を書き込み可能な９つの領域を有するリングバッファを示す。
【０３２８】
emptyは、ログ情報が書き込まれていない領域を表す。書き込みポインタ(Write Pointer)は、９つの領域に順番にログ情報を書き込んで行く。図１３では、５つのログ＃１−５が書き込まれている。読み出しポインタ(Read Pointer)は、順番にログ情報を読み出して行く。読み出しポインタ(Read Pointer)によってログ情報が読み出された領域は、emptyになる。
【０３２９】
図１３の右側には、ログ＃５のログ情報の一例をログレジスタエントリとして示す。ログ情報は、ログ項目とログ内容に分けられ、１番目(No.1)のログ項目は、有効／無効フラグである。２番目(No.2)のログ項目は、タイムスタンプである。３番目(No.3)から９番目(No.9)のログ項目は、バス使用状況である。
【０３３０】
図１３の右側に示す例では、１番目(No.1)のログ項目である有効／無効フラグが有効である。また、２番目(No.2)のログ項目であるタイムスタンプは、2013年2月21日の13:30:11（１３時３０分１１秒）を示す。また、３番目(No.3)から９番目(No.9)のログ項目であるバス使用状況には、トリガ放棄が発生したタイミングの3cycle前はWRITEコマンドであり、2cycle前と1cycle前はNOPであり、放棄時はERASEコマンドであり、放棄時の1cycle後、2cycle後、3cycle後はERASEコマンドであることが記録されている。
【０３３１】
このようなログ情報をデバイス３００の利用者が解析することにより、バス５０Ｃの空き時間を見つける際の判断材料にすることができる。すなわち、遅延時間を調整しながら何度かログ情報を入手することにより、デバイス３００の利用者は、トリガ信号を放棄せずに済むバス５０Ｃの空き時間を見つけることができる。
【０３３２】
次に、図１４を用いて、実施の形態３のデバイス３００の観測動作時における動作について説明する。
【０３３３】
図１４は、実施の形態３のデバイス３００から出力される信号の波形を示すタイミングチャートである。
【０３３４】
図１４には、端子２０１Ａ、２０１Ｂ、２０１Ｃ、２０１Ｅからバス５０Ａ、５０Ｂ、５０Ｃ、５０Ｅに出力される信号を示す。
【０３３５】
デバイス３００は、通常動作時には、端子２０１Ａ、２０１Ｂ、２０１Ｃ、２０１Ｅからバス５０Ａ、５０Ｂ、５０Ｃ、５０Ｅに、それぞれ、クロックCLK、チップイネーブル信号(CE0, CE1)、コマンド信号のうちのALE信号とCLE信号、データDQ#0-7を出力する。
【０３３６】
このため、図１４には、通常動作時にバス５０Ａ、５０Ｂ、５０Ｃ、５０Ｅに出力される信号の名称を併記する。
【０３３７】
これらのうち、コマンド信号のうちのALE信号とCLE信号と、データDQ#0-7とは、トリガ生成部２２０が生成条件が成立したかどうかの判定に用いる信号である。
【０３３８】
また、図１４には、busy信号を示す。busy信号がＨレベルであることは、２本のバス５０ＣによってALE信号又はCLE信号の少なくとも一方が伝送されていることを表す。busy信号がＬレベルであることは、２本のバス５０ＣによってALE信号及びCLE信号のいずれも伝送されていないことを表す。
【０３３９】
また、図１４のクロックCLKの上には、デバイス３００の動作状態（メモリ２０Ａ０へのWRITEコマンド、NOP、メモリ２０Ａ１へのERASEコマンド、メモリ２０Ａ０へのWRITEデータ）を表す。
【０３４０】
メモリ２０Ａ０へのWRITEコマンドは、メモリ２０Ａ０に書き込みコマンドを出力していることを表す。NOPは動作を行っていないことを表す。メモリ２０Ａ１へのERASEコマンドはメモリ２０Ａ１に消去コマンドを出力していることを表す。メモリ２０Ａ０へのWRITEデータはメモリ２０Ａ０にデータを書き込んでいることを表す。
【０３４１】
また、図１４に示すように、時刻ｔ２１において、ALE信号とCE1信号はＬレベルであり、CE0信号とCLE信号はＨレベルに立ち上がる。ＯＮＦｉのプロトコルでは、ＬレベルのALE信号と、ＨレベルのCLE信号との組み合わせはコマンドを意味するため、ALE信号がＬレベルでCLE信号がＨレベルである期間は、データDQ#0-7はコマンド(CMD)として取り扱われる。
【０３４２】
また、時刻ｔ２１において、コマンドの伝送を開始することにより、状態(busy)はＨレベルになる。
【０３４３】
このように書き込み（WRITE）コマンドが発行されることにより、時刻ｔ２１で、トリガ信号の生成条件が成立する。
【０３４４】
ＯＮＦｉのプロトコルでは、書き込み（WRITE）コマンドが発行は、１０サイクル以内に完了するようになっている。
【０３４５】
時刻ｔ２１の後は、クロックCLKの１サイクル毎に書き込み（WRITE）コマンドが発行されるアドレスがaddr1, addr2, addr3, addr4,addr5と５サイクルかけて指定される。そして、書き込み（WRITE）コマンドの発行は、生成条件が成立した時刻ｔ２１から６サイクルで完了し、７サイクル目に入る時刻ｔ２２からは、デバイス３００の動作状態は、NOPになる。これにより、クロックCLKも停止する。また、時刻ｔ２２からクロックの１周期分の期間が経過したときに状態(busy)はＬレベルになる。
【０３４６】
時刻ｔ２１でトリガ信号の生成条件が成立してからクロックCLKの１０サイクルが経過する時刻ｔ２３において、CE1信号がＨレベルに立ち上がるとともに、CLE信号がＨレベルに立ち上がる。これにより、時刻ｔ２３でbusy信号はＨレベルになる。
【０３４７】
時刻ｔ２３では、CE1信号がＨレベルに立ち上がるとともに、CLE信号がＨレベルに立ち上がることにより、メモリ２０Ａ１へのERASEコマンドが発行される。
【０３４８】
一方、時刻ｔ２３は、時刻ｔ２１でトリガ信号の生成条件が成立してからクロックCLKの１０サイクルが経過する時刻であるため、メモリ２０Ａ１へのERASEコマンドが発行されていなければ、ALE信号とCLE信号を伝送する２本のバス５０Ｃにトリガ信号が出力されることになる。
【０３４９】
しかし、時刻ｔ２３でbusy信号はＨレベルになることにより、出力先制御部３４０は、選択信号の出力を取りやめる。この結果、トリガ信号は放棄され、放棄されたことを表すログ情報（図１３参照）がログレジスタ３９０に記録される。
【０３５０】
時刻ｔ２３の１サイクル後の時刻ｔ２４では、ALE信号がＨレベルに立ち上がるとともに、CLE信号がＬレベルに立ち下がる。これによりクロックCLKの１サイクル毎に消去(ERASE)コマンドが発行されるアドレスがaddr1, addr2, addr3と３サイクルかけて指定される。
【０３５１】
そして、時刻ｔ２５において、ALE信号がＬレベルに立ち下がるとともに、CLE信号がＨレベルに立ち上がることにより、消去(ERASE)コマンドの終端であることを示す消去(ERASE)第２コマンドが発行され、時刻ｔ２５の１サイクル後の時刻ｔ２６に消去(ERASE)コマンドの発行が終了する。これにより、時刻ｔ２６からクロックの１周期分の期間が経過したときにbusy信号はＬレベルになる。
【０３５２】
そして、メモリ２０Ａ０への書き込み（WRITE）コマンドの発行が終了してから、データの書き込みが行われるまでの所定の期間が終了する時刻ｔ２７に、データdata1, data2. data3. data4. data5が、addr1, addr2, addr3, addr4,addr5で示されたアドレスに書き込まれる。
【０３５３】
実施の形態３では、トリガ信号を発行するタイミングで、トリガ信号を出力するバス５０Ｃがbusy状態である場合は、トリガ信号の発行を取りやめる。
【０３５４】
これは、バス５０Ｃに伝送されているコマンドと、トリガ信号がかち合うことを避けるためである。図１４に示す動作例では、トリガ信号が発行される予定の時刻ｔ２３に消去(ERASE)コマンドが発行されたため、デバイス３００は、トリガ信号を放棄した。
【０３５５】
そして、デバイス３００は、トリガ信号を放棄した際のログ情報をログレジスタ３９０に記録した。
【０３５６】
従って、ログレジスタ３９０に記録されたログ情報をデバイス３００の利用者が解析することにより、バス５０Ｃの空き時間を見つける際の判断材料にすることができる。すなわち、遅延時間を調整しながら何度かログ情報を入手することにより、デバイス３００の利用者は、トリガ信号を放棄せずに済むバス５０Ｃの空き時間を見つけることができる。
【０３５７】
このため、実施の形態３のデバイス３００は、利用者にバス５０Ｃの空き時間に関する適切な情報を提供することができ、トリガ信号を確実にバス５０Ｃに出力することができるようになる。これは、資源の利用効率がさらに改善されることを意味する。
【０３５８】
以上、実施の形態３のデバイス３００によれば、実施の形態２のデバイス２００と同様に、通常動作時にALE信号とCLE信号を出力する２つの端子２０１Ｃから、観測動作時にトリガ信号を出力することができる。
【０３５９】
従って、前提技術のデバイス１０のように、トリガ信号を出力する専用の端子１０Ｅを設ける必要がない。
【０３６０】
このため、実施の形態３によれば、資源の利用効率を改善したデバイス３００を提供することができる。
【０３６１】
また、この結果、オシロスコープ３０ＡのプローブＰ１、Ｐ２、Ｐ３、Ｐ４のうちの２つでトリガ信号を検出できるとともに、２本のバス５０Ｃ、バス５０Ｄ、５０Ｅを伝送される４種類の信号を観測することができる。
【０３６２】
また、実施の形態３のデバイス３００は、利用者にバス５０Ｃの空き時間に関する適切な情報を提供することができ、トリガ信号を確実にバス５０Ｃに出力することができるため、資源の利用効率がさらに改善することができる。
【０３６３】
以上、本発明の例示的な実施の形態の半導体回路装置、及び、電子装置について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
半導体回路装置であって、
制御信号を出力する制御部と、
前記制御部から出力される前記制御信号を前記半導体回路装置の外部に出力する出力部と、
前記出力部から出力するトリガ信号の生成条件及び出力条件を保持する条件保持部と、
前記制御部から出力される前記制御信号が前記生成条件を満たすと、前記トリガ信号を生成するトリガ信号生成部と、
前記トリガ信号生成部で生成される前記トリガ信号に、前記出力条件に基づく遅延を与える遅延制御部と、
前記制御部と前記出力部との間に設けられ、前記出力条件に基づき、前記制御部から出力される前記制御信号の代わりに、前記遅延制御部で遅延された前記トリガ信号を選択して前記出力部に出力する選択部と
を含む、半導体回路装置。
（付記２）
前記選択部は、
前記制御部と前記出力部との間に設けられ、前記制御部から出力される前記制御信号と、前記遅延制御部で遅延された前記トリガ信号とが入力され、前記制御信号又は前記遅延されたトリガ信号を出力する選択回路と、
前記出力条件に基づき、前記選択回路に前記制御信号又は前記遅延されたトリガ信号を選択させる選択信号を前記選択回路に入力する選択制御部と
を有する、付記１記載の半導体回路装置。
（付記３）
前記選択部は、さらに、前記選択制御部が前記選択回路に入力する前記選択信号の出力履歴を保持する履歴保持部を有する、付記２記載の半導体回路装置。
（付記４）
前記選択制御部は、前記遅延された前記トリガ信号が前記遅延制御部から出力されたときに、前記出力部が使用中であることを表す使用通知信号を前記制御部から受信すると、前記制御信号を選択する選択信号を前記選択回路に入力する、付記３記載の半導体回路装置。
（付記５）
前記遅延制御部は、前記遅延したトリガ信号を前記選択部に出力するときに、前記遅延したトリガ信号を出力することを表す通知信号を前記選択制御部に送信し、
前記選択制御部は、前記通知信号を前記遅延制御部から受信したときに、前記出力部が使用中であることを表す使用通知信号を前記制御部から受信すると、前記制御信号を選択する選択信号を前記選択回路に入力する、付記４記載の半導体回路装置。
（付記６）
付記１乃至５のいずれか一項記載の半導体回路装置と、
前記半導体回路装置が実装され、前記出力部が接続される配線を有する基板と、
前記基板に実装され、前記配線を介して前記半導体回路装置と接続される他の半導体回路装置と
を含み、
前記選択部によって前記制御部から出力される前記制御信号の代わりに選択される前記遅延された前記トリガ信号は、前記出力部から前記配線に出力される、電子装置。
（付記７）
前記配線にプローブ端子を有する、付記６記載の電子装置。
【符号の説明】
【０３６４】
５００  サーバ
４００Ａ  電子装置
１００、２０  デバイス
１１０  読み書き制御部
１２０  トリガ生成部
１３０  遅延制御部
１４０  出力先制御部
１５０  信号選択部
１６０  条件保持部
１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄ  端子
３０Ａ  オシロスコープ
４０  基板
４０Ａ、４０Ｂ、４０Ｃ、４０Ｄ  バス
４００Ｂ  電子装置
２００  デバイス
２１０  読み書き制御部
２２０  トリガ生成部
２３０  遅延制御部
２５０  信号選択部
２６０  制御レジスタ
２７０  ＯＮＦｉ制御部
２８０  入出力バッファ
２０１Ａ、２０１Ｂ、２０１Ｃ、２０１Ｄ、２０１Ｅ  端子
５０  基板
５０Ａ、５０Ｂ、５０Ｃ、５０Ｄ、５０Ｅ  バス
３００  デバイス
４００Ｃ  電子装置
３４０  出力先制御部
３７０  ＯＮＦｉ制御部
３８０  入出力バッファ
３９０  ログレジスタ
【図１】
2014238670.tif 000003
【図２】
2014238670.tif 000004
【図３】
2014238670.tif 000005
【図４】
2014238670.tif 000006
【図５】
2014238670.tif 000007
【図６】
2014238670.tif 000008
【図７】
2014238670.tif 000009
【図８】
2014238670.tif 000010
【図９】
2014238670.tif 000011
【図１０】
2014238670.tif 000012
【図１１】
2014238670.tif 000013
【図１２】
2014238670.tif 000014
【図１３】
2014238670.tif 000015
【図１４】
2014238670.tif 000016