以下に、本願の開示する電子機器及び同期リセット制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。例えば、以下の実施例では、電子機器の一例として携帯電話機を挙げて説明するが、これに限らず、スマートフォン、PDA(Personal Digital Assistant)、PC(Personal Computer)など同期リセット回路を有する電子機器に対して以下の実施例を適用することができる。
図1は、携帯電話機のハードウェア構成を示す図である。図1に示すように、本実施形態の携帯電話機100は、アンテナ102、無線部110、デジタルベースバンド部120、リセット・クロック制御部130、オーディオ入出力部140、スピーカ142、及びマイク144を備える。また、携帯電話機100は、記憶部150、表示部160、及びプロセッサ170を備える。
無線部110は、アンテナ102を介して音声や文字などの各種データの無線通信を行う。デジタルベースバンド部120は、無線部110で受信された信号をベースバンド信号に変換するとともに、変換された信号をA(Analog)/D(Digital)変換器によりデジタル信号へ変換する。また、デジタルベースバンド部120は、変換されたデジタル信号に対して、復調処理及び誤り訂正処理などの各種処理を行う。デジタルベースバンド部120は、例えばCPU(Central Processing Unit)またはDSP(Digital Signal Processor)などで実現される。デジタルベースバンド部120の詳細は後述する。
リセット・クロック制御部130は、例えば、プロセッサ170から出力されたクロック制御信号(CLKEN)を受信するとともに、プロセッサ170から出力された同期リセット制御信号(XSYNCRST)を受信する。そして、リセット・クロック制御部130は、受信したクロック制御信号(CLKEN)及び同期リセット制御信号(XSYNCRST)をデジタルベースバンド部120へ出力する。リセット・クロック制御部130の詳細は後述する。
また、オーディオ入出力部140は、マイク144を介して音声を入力するとともにスピーカ142を介して音声を出力する入出力インターフェースである。記憶部150は、携帯電話機100の各種機能を実行するためのデータ、及び携帯電話機100の各種機能を実行するための各種プログラムを格納するROM(Read Only Memory)を有する。また、記憶部150は、ROMに格納された各種プログラムのうち実行されるプログラムを格納するRAM(Random Access Memory)を有する。表示部160は、文字や画像などの各種情報を表示する出力インターフェースである。
プロセッサ170は、記憶部150に格納された各種プログラムを実行するCPU(Central Processing Unit)等の演算処理部である。プロセッサ170は、記憶部150に格納された各種プログラムを実行することにより、上述した無線部110、デジタルベースバンド部120、リセット・クロック制御部130、オーディオ入出力部140、表示部160等を制御する。また、プロセッサ170は、デジタルベースバンド部120の各部の同期リセットを制御するために、クロック制御信号(CLKEN)及び同期リセット制御信号(XSYNCRST)を生成してリセット・クロック制御部130へ出力する。なお、プロセッサ170で実行されるプログラムは、記憶部150に格納されるだけではなく、CD(Compact Disc)−ROMやメモリ媒体等の頒布できる記憶媒体に記録しておき、記憶媒体から読み出して実行することができる。また、ネットワークを介して接続されたサーバにプログラムを格納し、サーバ上でプログラムが動作するようにしておいて、ネットワークを介して接続される携帯電話機100からの要求に応じてサービスを要求元の携帯電話機100に提供することもできる。
次に、デジタルベースバンド部120とリセット・クロック制御部130の詳細について説明する。図2は、デジタルベースバンド部とリセット・クロック制御部の構成を示す図である。図2に示すように、デジタルベースバンド部120は、セルサーチ部121、復調部122、復号部123、コード生成部124、及びモジュレーション部125を有する。
セルサーチ部121は、無線部110を介して受信された信号に対して、基地局(セル)と同期を確立するための処理を実行する。例えば、下りフレームタイミングの検出と基地局(セル)に割り当てられたスクランブリングコードの同定を行う。セルサーチ部121は、同期リセット制御回路121aを有する。
復調部122は、セルサーチ部121によって処理された信号の復調処理を行う。復調部122は、同期リセット制御回路122aを有する。復号部123は、復調部122によって復調処理が行われた信号に対して復号処理を行う。復号部123は、同期リセット制御回路123aを有する。
コード生成部124は、無線部110を介して外部へ送信する信号のコードを生成する。コード生成部124は、同期リセット制御回路124aを有する。また、モジュレーション部125は、コード生成部124によって生成された信号に対して変調処理を行う。モジュレーション部125は、同期リセット制御回路125aを有する。
一方、リセット・クロック制御部130は、リセット生成レジスタ132と、クロックEN(enable)生成レジスタ134とを有する。リセット生成レジスタ132は、セルサーチ部121、復調部122、復号部123、コード生成部124、及びモジュレーション部125のそれぞれに対する同期リセット制御信号(XSYNCRST)を生成する。具体的には、リセット生成レジスタ132は、セルサーチ部121に対する同期リセット制御信号(XSYNCRESET_A)、復調部122に対する同期リセット制御信号(XSYNCRESET_B)、及び復号部123に対する同期リセット制御信号(XSYNCRESET_C)を生成する。また、リセット生成レジスタ132は、コード生成部124に対する同期リセット制御信号(XSYNCRESET_D)、及びモジュレーション部125に対する同期リセット制御信号(XSYNCRESET_E)を生成する。リセット生成レジスタ132は、例えば、フリップフロップ回路又は論理回路で形成することができる。
クロックEN生成レジスタ134は、セルサーチ部121、復調部122、復号部123、コード生成部124、及びモジュレーション部125のそれぞれに対するクロック制御信号(CLKEN)を生成する。具体的には、クロックEN生成レジスタ134は、セルサーチ部121に対するクロック制御信号(CLKEN_A)、復調部122に対するクロック制御信号(CLKEN_B)、及び復号部123に対するクロック制御信号(CLKEN_C)を生成する。また、クロックEN生成レジスタ134は、コード生成部124に対するクロック制御信号(CLKEN_D)、及びモジュレーション部125に対するクロック制御信号(CLKEN_E)を生成する。クロックEN生成レジスタ134は、例えば、フリップフロップ回路又は論理回路で形成することができる。
このように、デジタルベースバンド部120は、各機能ブロック(セルサーチ部121、復調部122、復号部123、コード生成部124、及びモジュレーション部125)にそれぞれ、同期リセット制御回路を備えている。このため、リセット・クロック制御部130は、セルサーチ部121、復調部122、復号部123、コード生成部124、及びモジュレーション部125のそれぞれに対して、クロック信号の供給タイミングと同期リセットのタイミングを制御することができる。
次に、実施例1の同期リセット制御回路について説明する。図3は、実施例1の同期リセット制御回路の構成を示す図である。図3は、一例として、セルサーチ部121に設けられた同期リセット制御回路121aを代表に挙げて説明するが、デジタルベースバンド部120の他のブロック(復調部122等)の同期リセット制御回路も同様である。なお、説明の便宜上、同期リセット制御回路121aに入力されるクロック制御信号をクロック制御信号(CLKEN)とし、同期リセット制御回路121aに入力される同期リセット制御信号を同期リセット制御信号(XSYNCRST)として説明する。
同期リセット制御回路121aは、AND回路202,206と、OR回路204,208と、クロックバッファ210と、Dフリップフロップ回路212とを有する。AND回路202には、EN(enable)信号、及びDIN(datain)信号が入力される。AND回路202は、EN信号及びDIN信号の論理に応じた信号を出力する。OR回路204には、AND回路202の出力信号、及びDフリップフロップ回路212の出力信号が入力される。OR回路204は、AND回路202の出力信号及びDフリップフロップ回路212の出力信号の論理に応じた信号を出力する。
AND回路206には、OR回路204の出力信号、及びリセット生成レジスタ132から出力された同期リセット制御信号(XSYNCRST)が入力される。AND回路206は、OR回路204の出力信号及び同期リセット制御信号(XSYNCRST)の論理に応じた信号を出力する。
OR回路208には、クロックEN生成レジスタ134から出力されたクロック制御信号(CLKEN)、及びリセット生成レジスタ132から出力された同期リセット制御信号(XSYNCRST)の論理を反転した信号が入力される。OR回路208は、クロック制御信号(CLKEN)、及び同期リセット制御信号(XSYNCRST)の論理を反転した信号の論理に応じた信号を出力する。
クロックバッファ210のクロックポート(CLK)には、クロック信号(CLOCK)が入力される。また、クロックバッファ210のクロックイネーブルポート(CEN)には、OR回路208の出力信号が入力される。クロックバッファ210は、クロックイネーブルポートがアクティブになったら(例えばH(HIGH)信号が入力されたら)、出力ポート(GCLK)からクロック信号の出力を開始する。
Dフリップフロップ回路212は、D入力ポート(D)にAND回路206の出力信号が入力される。また、Dフリップフロップ回路212は、クロックポート(ENCK)にクロックバッファ210の出力ポート(GCLK)から出力されたクロック信号が入力される。Dフリップフロップ回路212は、クロックポート(ENCK)にクロック信号が入力されている場合は、Dフリップフロップ回路として動作するので、D入力ポート(D)への入力信号に応じてQ出力ポート(Q)から信号を出力する。一方、Dフリップフロップ回路212は、クロックポート(ENCK)にクロック信号が入力されていない場合は、Dフリップフロップ回路として動作しない。このように、クロック制御信号(CLKEN)によって、Dフリップフロップ回路212へ選択的にクロック信号を供給することで、省電力を図ることができる。
次に、実施例1の同期リセット制御回路のタイムチャートについて説明する。図4,5は、実施例1の同期リセット制御回路のタイムチャートを示す図である。図4のタイムチャートは、同期リセット制御回路に、クロック制御信号(CLKEN)が先に供給され、その後、同期リセット制御信号(XSYNCRST)が供給された場合のタイムチャートを示すものである。一方、図5のタイムチャートは、同期リセット制御回路に、同期リセット制御信号(XSYNCRST)が先に供給され、その後、クロック制御信号(CLKEN)が供給された場合のタイムチャートを示すものである。
まず、図4のタイムチャートを説明する。図4に示すように、まず、クロック制御信号(CLKEN)がL(LOW)信号からH(HIGH)信号に立ち上がってアクティブになる(ステップS101)。これにより、OR回路208には、クロック制御信号(CLKEN)が入力され、クロックイネーブルポート(CEN)にH(HIGH)信号が入力される。これにより、クロック制御信号(CLKEN)がアクティブになった次のクロック立ち上がりタイミングでクロックバッファ210の出力ポート(GCLK)からクロック信号が出力される(ステップS102)。その後、同期リセット制御信号(XSYNCRST)がH(HIGH)信号からL(LOW)信号に立ち下がってアクティブになる(ステップS103)。その結果、クロックポート(ENCK)にクロック信号が入力された状態で、同期リセット制御信号(XSYNCRST)がアクティブになるので、同期リセット制御信号(XSYNCRST)がアクティブになった次のクロック立ち上がりタイミングでQ出力ポート(Q)からの信号の出力が停止される(同期リセットが行われる)(ステップS104)。
次に、図5のタイムチャートを説明する。図5に示すように、まず、クロック制御信号(CLKEN)がL(LOW)信号のままでアクティブになっていない状態で、同期リセット制御信号(XSYNCRST)がH(HIGH)信号からL(LOW)信号に立ち下がってアクティブになる(ステップS201)。これにより、OR回路208には、同期リセット制御信号(XSYNCRST)の論理反転したH(HIGH)信号が入力され、クロックイネーブルポート(CEN)にH(HIGH)信号が入力される。これにより、同期リセット制御信号(XSYNCRST)がアクティブになった次のクロック立ち上がりタイミングで、出力ポート(GCLK)からクロック信号が出力される(ステップS202)。その結果、クロックポート(ENCK)にクロック信号が入力された状態で、同期リセット制御信号(XSYNCRST)がアクティブになるので、Q出力ポート(Q)からの信号の出力が停止される(同期リセットが行われる)(ステップS203)。
これに対して、比較例の同期リセット制御回路と、比較例の同期リセット制御回路のタイムチャートについて説明する。図6は、比較例の同期リセット制御回路の構成を示す図である。図7は、比較例の同期リセット制御回路のタイムチャートを示す図である。
図6に示すように、比較例の同期リセット制御回路は、図3の同期リセット制御回路と比較して、OR回路208を設けず、クロック制御信号(CLKEN)を直接クロックバッファ210のクロックイネーブルポート(CEN)に入力する点が異なる。また、図6に示すように、比較例の同期リセット制御回路は、図3の同期リセット制御回路と比較して、同期リセット制御信号(XSYNCRST)の論理反転した信号をクロックバッファ210へ入力しない点が異なる。なお、その他の構成については、図3の同期リセット制御回路と同様であるので、図3の同期リセット制御回路と同様の構成については説明を省略する。
また、図7のタイムチャートは、図5と同様に、同期リセット制御回路に、同期リセット制御信号(XSYNCRST)が先に供給され、その後、クロック制御信号(CLKEN)が供給された場合のタイムチャートを示すものである。
図7に示すように、まず、クロック制御信号(CLKEN)がL(LOW)信号のままでアクティブになっていない状態で、同期リセット制御信号(XSYNCRST)がH(HIGH)信号からL(LOW)信号に立ち下がってアクティブになる(ステップS301)。しかしながら、この状態では、クロック制御信号(CLKEN)がアクティブになっていないから、同期リセット制御信号(XSYNCRST)がアクティブになった次のクロック立ち上がりタイミングで、出力ポート(GCLK)からクロック信号が出力されない(ステップS302)。その結果、クロックポート(ENCK)にクロック信号が入力されていない状態で、同期リセット制御信号(XSYNCRST)がアクティブになるので、Q出力ポート(Q)からの信号の出力は停止されない(同期リセットが行われない)(ステップS303)。
このように、実施例1の同期リセット制御回路は、クロック制御信号(CLKEN)だけではなく、同期リセット制御信号(XSYNCRST)もクロックバッファ210に入力する。そして、クロックバッファ210は、クロック制御信号(CLKEN)と同期リセット制御信号(XSYNCRST)のいずれかがアクティブになったらクロック信号の出力を開始する。したがって、実施例1の同期リセット制御回路によれば、同期リセット制御回路に、同期リセット制御信号(XSYNCRST)が先に供給され、その後、クロック制御信号(CLKEN)が供給された場合であっても、確実に同期リセットを行うことができる。また、クロック制御とリセット制御に関する制御プログラムを設計する際、クロック制御とリセット制御のタイミングを意識することなく制御プログラムを設計することができるため、制御ソフトの設計ミスよるリセット漏れを防止することができる。また、同期リセット制御信号(XSYNCRST)がクロック信号を発生させるクロック制御信号(CLKEN)の役割も果たすため、クロック制御信号(CLKEN)を供給しない設計を行うことも可能である。
次に、実施例1の同期リセット制御回路のRTL記述例について説明する。図8は、実施例1の同期リセット制御回路のRTL記述例を示す図である。図8のRTL記述例には、図3のOR回路208から出力される信号(1)を示す記述が含まれる。すなわち、図8の(1)で示したように、クロック制御信号(CLKEN)が「1」(アクティブ)になるか、又は同期リセット制御信号(XSYNCRST)が「0」(アクティブ)になったら、出力ポート(GCLK)からクロック信号が出力される。
次に、実施例2の携帯電話機について説明する。実施例2の携帯電話機は、デジタルベースバンド部の各部の同期リセット制御回路が異なるだけであり、その他の構成は実施例1と同様である。したがって、実施例1と異なる部分のみ説明をして、その他の構成については説明を省略する。
なお、実施例1では、同期リセット制御信号(XSYNCRST)がアクティブの期間は、クロックバッファ210がイネーブルになるため、クロック信号がDフリップフロップ回路212に供給され続ける。例えば、図5のように同期リセット制御信号(XSYNCRST)がパルス信号の場合は、実施例1の同期リセット制御回路でも消費電力の増加を抑制できる。一方、同期リセット制御信号(XSYNCRST)が複数クロックにまたがってアクティブであり続けるレベル信号の場合は、同期リセット制御信号(XSYNCRST)がアクティブの期間クロック信号がDフリップフロップ回路212に供給され続ける。このため、同期リセット制御信号(XSYNCRST)がレベル信号の場合、クロックバッファを設けているにも関わらず、クロック信号が供給され続けて消費電力が増加するおそれがある。実施例2の同期リセット制御回路は、この点に鑑みてなされた実施例である。
図9は、実施例2の同期リセット制御回路の構成を示す図である。図9に示すように、同期リセット制御回路121aは、クロックバッファ部121a−1と、フリップフロップ部121a−2,121a−2,・・・121a−n(nは3以上の整数)とを有する。
クロックバッファ部121a−1は、同期リセット制御信号(XSYNCRST)を、クロック信号の1周期に相当する長さのパルス信号に変換する変換回路301と、AND回路312と、OR回路314と、クロックバッファ316とを有する。変換回路301は、Dフリップフロップ回路302,310と、AND回路304,306,308とを有する。
Dフリップフロップ回路302には、クロックバッファ部121a−1に入力されたクロック信号(CLOCK)、及び同期リセット制御信号(XSYNCRST)が入力される。Dフリップフロップ回路302は、同期リセット制御信号(XSYNCRST)の入力に応じて信号を出力する。
AND回路304には、Dフリップフロップ回路302の出力信号の論理を反転した信号、及び同期リセット制御信号(XSYNCRST)が入力される。AND回路304は、Dフリップフロップ回路302の出力信号の論理を反転した信号、及び同期リセット制御信号(XSYNCRST)の論理に応じた信号を出力する。
AND回路306には、Dフリップフロップ回路302の出力信号、及び同期リセット制御信号(XSYNCRST)の論理を反転した信号が入力される。AND回路306は、Dフリップフロップ回路302の出力信号、及び同期リセット制御信号(XSYNCRST)の論理を反転した信号の論理に応じた信号を出力する。
AND回路308には、AND回路304の出力信号の論理を反転した信号、及びAND回路306の出力信号の論理を反転した信号が入力される。AND回路308は、AND回路304の出力信号の論理を反転した信号、及びAND回路306の出力信号の論理を反転した信号の論理に応じた信号を出力する。
Dフリップフロップ回路310には、クロックバッファ部121a−1に入力されたクロック信号(CLOCK)、及びAND回路308の出力信号が入力される。Dフリップフロップ回路310は、AND回路308の出力信号の入力に応じて信号を出力する。
AND回路312には、同期リセット制御信号(XSYNCRST)、及びDフリップフロップ回路310の出力信号が入力される。AND回路312は、同期リセット制御信号(XSYNCRST)、及びDフリップフロップ回路310の出力信号の論理に応じた信号を、同期リセット制御信号(XSYNCRST)として出力する。
OR回路314には、クロックEN生成レジスタ134から出力されたクロック制御信号(CLKEN)、及びDフリップフロップ回路310の出力信号の論理を反転した信号が入力される。OR回路208は、クロック制御信号(CLKEN)、及びDフリップフロップ回路310の出力信号の論理を反転した信号の論理に応じた信号を出力する。
クロックバッファ316のクロックポート(CLK)には、クロック信号(CLOCK)が入力される。また、クロックバッファ316のクロックイネーブルポート(CEN)には、OR回路314の出力信号が入力される。クロックバッファ316は、クロックイネーブルポートがアクティブになったら(H(HIGH)信号が入力されたら)、出力ポート(GCLK)からクロック信号の出力を開始する。
フリップフロップ部121a−2は、AND回路318,322と、OR回路320と、Dフリップフロップ回路324を有する。AND回路318には、EN(enable)信号、及びDIN(datain)信号が入力される。AND回路318は、EN信号及びDIN信号の論理に応じた信号を出力する。OR回路320には、AND回路318の出力信号、及びDフリップフロップ回路324の出力信号が入力される。OR回路320は、AND回路318の出力信号及びDフリップフロップ回路324の出力信号の論理に応じた信号を出力する。
AND回路322には、OR回路320の出力信号、及びAND回路312から出力された同期リセット制御信号(XSYNCRST)が入力される。AND回路322は、OR回路320の出力信号及び同期リセット制御信号(XSYNCRST)の論理に応じた信号を出力する。
Dフリップフロップ回路324は、D入力ポート(D)にAND回路322の出力信号が入力される。また、Dフリップフロップ回路324は、クロックポート(ENCK)にクロックバッファ316の出力ポート(GCLK)から出力されたクロック信号が入力される。Dフリップフロップ回路324は、クロックポート(ENCK)にクロック信号が入力されている場合は、Dフリップフロップ回路として動作するので、D入力ポート(D)への入力信号に応じてQ出力ポート(Q)から信号を出力する。一方、Dフリップフロップ回路324は、クロックポート(ENCK)にクロック信号が入力されていない場合は、Dフリップフロップ回路として動作しない。このように、クロック制御信号(CLKEN)によって、Dフリップフロップ回路324へ選択的にクロック信号を供給することで、省電力を図ることができる。なお、フリップフロップ部121a−3〜フリップフロップ部121a−nは、フリップフロップ部121a−2と同様の構成であるので、説明を省略する。
次に、実施例2の同期リセット制御回路のタイムチャートについて説明する。図10,11は、実施例2の同期リセット制御回路のタイムチャートを示す図である。図10のタイムチャートは、同期リセット制御回路に、同期リセット制御信号(XSYNCRST)が先に供給され、その後、クロック制御信号(CLKEN)が供給された場合のタイムチャートを示すものである。また、図10のタイムチャートは、リセット解除時(リセットネゲート時)にリセットをかける場合のタイムチャートである。また、図11のタイムチャートは、同期リセット制御回路に、同期リセット制御信号(XSYNCRST)が供給される一方、クロック制御信号(CLKEN)が供給されない場合のタイムチャートである。また、図11のタイムチャートは、リセットをかける時(リセットアサート時)のタイムチャートである。
まず、図10のタイムチャートを説明する。図10に示すように、まず、クロック制御信号(CLKEN)がL(LOW)信号のままでアクティブになっていない状態で、同期リセット制御信号(XSYNCRST)がL(LOW)信号からH(HIGH)信号に立ち上がってアクティブになる(ステップS401)。これにより、AND回路304からの出力がH(HIGH)信号からL(LOW)信号へ立ち下がる(ステップS402)。なお、同期リセット制御信号(XSYNCRST)は、いったんアクティブになった後、複数クロックにわたってアクティブ状態が続くレベル信号である。
続いて、同期リセット制御信号(XSYNCRST)がアクティブになった次のクロック立ち上がりタイミングで、Dフリップフロップ回路302の出力信号がL(LOW)信号からH(HIGH)信号に立ち上がる(ステップS403)。これに応じて、AND回路304からの出力がL(LOW)信号からH(HIGH)信号へ立ち上がり、Dフリップフロップ回路310からの出力がH(HIGH)信号からL(LOW)信号へ立ち下がる(ステップS404)。これにより、OR回路314には、Dフリップフロップ回路310の出力信号の論理反転したH(HIGH)信号が入力され、クロックイネーブルポート(CEN)にH(HIGH)信号が入力される。これにより、Dフリップフロップ回路310からの出力がH(HIGH)信号からL(LOW)信号へ立ち下がった次のクロック立ち上がりタイミングで、出力ポート(GCLK)からクロック信号が出力される(ステップS405)。その結果、クロックポート(ENCK)にクロック信号が入力された状態で、同期リセット制御信号(XSYNCRST)がアクティブになるので、Q出力ポート(Q)からの信号の出力が停止される(同期リセットが行われる)(ステップS406)。
次に、図11のタイムチャートを説明する。図11に示すように、まず、クロック制御信号(CLKEN)がL(LOW)信号のままでアクティブになっていない状態で、同期リセット制御信号(XSYNCRST)がH(HIGH)信号からL(LOW)信号に立ち下がってアクティブになる(ステップS501)。これにより、AND回路306からの出力がH(HIGH)信号からL(LOW)信号へ立ち下がる(ステップS502)。なお、同期リセット制御信号(XSYNCRST)は、いったんアクティブになった後、複数クロックにわたってアクティブ状態が続くレベル信号である。
続いて、同期リセット制御信号(XSYNCRST)がアクティブになった次のクロック立ち上がりタイミングで、Dフリップフロップ回路302の出力信号がH(HIGH)信号からL(LOW)信号に立ち下がる(ステップS503)。これに応じて、AND回路306からの出力がL(LOW)信号からH(HIGH)信号へ立ち上がり、Dフリップフロップ回路310からの出力がH(HIGH)信号からL(LOW)信号へ立ち下がる(ステップS504)。これにより、OR回路314には、Dフリップフロップ回路310の出力信号の論理反転したH(HIGH)信号が入力され、クロックイネーブルポート(CEN)にH(HIGH)信号が入力される。これにより、Dフリップフロップ回路310からの出力がH(HIGH)信号からL(LOW)信号へ立ち下がった次のクロック立ち上がりタイミングで、出力ポート(GCLK)からクロック信号が出力される(ステップS505)。その結果、クロックポート(ENCK)にクロック信号が入力された状態で、同期リセット制御信号(XSYNCRST)がアクティブになるので、Q出力ポート(Q)からの信号の出力が停止される(同期リセットが行われる)(ステップS506)。
このように、実施例2の同期リセット制御回路は、クロック制御信号(CLKEN)だけではなく、変換回路301を介して出力された同期リセット制御信号(XSYNCRST)もクロックバッファ316に入力する。そして、クロックバッファ316は、クロック制御信号(CLKEN)と、変換回路301を介して出力された同期リセット制御信号(XSYNCRST)のいずれかがアクティブになったらクロック信号の出力を開始する。したがって、実施例2の同期リセット制御回路によれば、同期リセット制御回路に、同期リセット制御信号(XSYNCRST)が先に供給され、その後、クロック制御信号(CLKEN)が供給された場合であっても、確実に同期リセットを行うことができる。
これに加えて、実施例2では、変換回路301を設けているので、複数クロックにわたってアクティブ状態が続くレベル信号である同期リセット制御信号(XSYNCRST)を、クロック信号の1周期に相当する長さのパルス信号に変換することができる。このため、実施例2の同期リセット制御回路によれば、同期リセット制御信号(XSYNCRST)がレベル信号であっても、クロック信号がDフリップフロップ回路324に供給され続けて消費電力が増加することを抑制することができる。
次に、実施例2の同期リセット制御回路のRTL記述例について説明する。図12は、実施例2の同期リセット制御回路のRTL記述例を示す図である。図12のRTL記述例には、図9のDフリップフロップ回路302から出力される信号(1)、AND回路304から出力される信号(2)、及びAND回路306から出力される信号(3)を示す記述が含まれる。また、図12のRTL記述例には、図9のDフリップフロップ回路310から出力される信号(4)、及びOR回路314から出力される信号(5)を示す記述が含まれる。すなわち、図12の(5)で示したように、クロック制御信号(CLKEN)が「1」(アクティブ)になるか、又は同期リセット制御信号(XSYNCRST)が「0」(アクティブ)になったことに起因してDフリップフロップ回路302の出力信号が「0」になったら、出力ポート(GCLK)からクロック信号が出力される。
なお、上述の実施例1,2は、主に携帯電話機100を中心に説明したが、これに限らず、あらかじめ用意された同期リセット制御プログラムを電子機器で実行することによって、上述の実施例と同様の機能を実現することができる。すなわち、同期リセット制御プログラムは、電子機器に、信号の出力を停止させるリセット制御信号を生成する処理を実行させる。また、同期リセット制御プログラムは、電子機器に、クロック信号の出力を開始させるクロック制御信号を生成する処理を実行させる。また、同期リセット制御プログラムは、電子機器に、前記生成されたクロック制御信号を受信するか、又は前記生成されたリセット制御信号を受信したら、クロック信号の出力を開始する処理を実行させる。また、同期リセット制御プログラムは、電子機器に、前記出力されたクロック信号を受信している状態で、前記生成されたリセット制御信号を受信したら、信号の出力を停止する処理を実行させる。なお、同期リセット制御プログラムは、インターネットなどの通信ネットワークを介して電子機器に配布することができる。また、同期リセット制御プログラムは、電子機器に設けられたメモリ、ハードディスク、その他のコンピュータで読み取り可能な記録媒体に記録され、電子機器によって記録媒体から読み出して実行することもできる。