(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
実施形態を説明する前に、スタンバイ信号発生に関する技術を、図を参照して説明する。
【0013】
図1は、マイクロコンピュータ(マイコン)で制御部を形成した製品の構成例を示す図であり、ここではDVD/BDレコーダの構成例を示している。
DVD/BDレコーダは、アンテナ1と、チューナ2と、画像処理エンジン3と、HDD4と、制御部を形成するマイコン10と、を有する。制御部(マイコン)10は、発振器11と、RTC12と、レギュレータ13と、メモリ14と、スタンバイ制御回路15と、CPU16と、GPIO17と、リモコン受信部18と、シリアルインターフェース(Serial I/F)19と、を有する。RTC(リアルタイムクロック回路)12には、32kHzの水晶振動子5が接続される。GPIO17は、DVD/BDレコーダの各種のボタン6の操作を検出する。リモコン受信部18は、リモコン操作器7の操作を検出し、リモコン操作器7での表示情報等をリモコン操作器7へ送信する。
図1に示したDVD/BDレコーダの構成は広く知られているので、詳しい説明は省略する。
【0014】
以下に説明する実施形態は、
図1のスタンバイ制御回路15内で使用する回路を例として説明するが、スタンバイ制御回路に限定されるものではない。
【0015】
例えば、
図1のDVD/BDレコーダの低消費電力化について考察する。あるテレビ番組の録画をタイマ予約して外出したとする。このとき、レコーダに搭載されたマイコンはスタンバイモードに入り、以下のような動作を行う。
【0016】
スタンバイ制御回路15は、CPU16からシステムモードの信号線を経由してスタンバイ命令を受けると、マイコンシステム内の関連する各部へのクロックの供給を停止して、レギュレータ13をスタンバイモードに入れる。レギュレータ13とは、システム内の電圧・電流を常に一定に保つように制御する回路である。
【0017】
スタンバイモードの時には、マイコン10の内部回路のうち、起動するために必要なスタンバイ制御回路15と一部回路を除き、電源遮断を行ってもよい。
【0018】
レコーダ本体のボタン6を押下するか、リモコン操作器7で送信してレコーダの中のマイコン10を起こすこともあるが、ここではRTC12に設定されたアラーム割り込みを復帰信号としてマイコン10を起こす場合を例として説明する。
【0019】
復帰信号により、スタンバイ制御回路15は、レギュレータ13をスタンバイモードから復帰させて、その後マイコンシステム内の各部へのクロックの供給を再開する。
【0020】
マイコン10は、スタンバイモードから復帰する。CPU16は、シリアルI/F19を介して画像処理エンジン3に、たとえば高画質録画の指令を出す。
【0021】
図2は、スタンバイモードへの移行およびスタンバイモードからの復帰時のスタンバイシーケンスを示すタイムチャートである。
【0022】
図2に示すように、CPUコア等より、システムモードを、ラン(RUN)モードからスタンバイモード(STANBY)切り替えるスタンバイ命令を受ける(A1)。これに応じて、システムをスタンバイモードに移行する信号SYS_STBYが高(H:High)になり、さらにレギュレータ13をスタンバイモードにすると共に発振器11を停止する信号REG_STBYがHになる。これに応じて、レギュレータ13がスタンバイ状態になる(A2)。以下の説明ではHアクティブとして説明する。以下、スタンバイモードから復帰するまで、発振器11が動作を停止し、クロックが供給されない状態になる。ただし、RTC12は、32kHzの低速クロックで動作している。
【0023】
RTC12が所定時間を計時して、アラーム割り込みを発生し、復帰信号がHになり、マイコン10を起こす(C)。
これに応じて、REG_STBYが低(L:Low)になり、レギュレータ13をスタンバイ状態から復帰させ、発振器11の発振を再開させる(D1)。
【0024】
さらに、信号REG_WAITがHになり、レギュレータ13の出力が安定するまでシステムへのクロック供給を行わないように制御する(D2)。REG_WAITがHの間、発振器11からのクロックのシステムへの供給はマスクされる。また、REG_WAITがHの間、レギュレータ13の出力安定までの時間に対応するクロックのカウントが行われ、所定のカウント値になると、REG_WAITがLになり、システムへのクロック供給を再開する(D3)。
【0025】
その後、システムは動作状態になり、SYS_STBYがL、復帰信号がLになり、CPU16は画像処理エンジン3に高画質録画の指令を出す(E)。
【0026】
システムがスタンバイシーケンスを実行中であることを示すシーケンスビジーフラグは、SYS_STBYのHへの変化に同期してHになり、REG_WAITのLへの変化に同期してLに変化する。後述するように、“シーケンスビジーフラグ”のLへの変化に応じて、シーケンスの終了を示す “シーケンス終了フラグ”が発生される。
【0027】
ここで、復帰時のスタンバイシーケンスは、クロックレス下(発振器11が停止し、システムクロックが供給されない状態)で行う。そのため、ある信号入力に対して出力をアサートする、またはネゲートする動作を、クロックレス下で行うことになるが、これはクロックに同期した動作でないため、RTL言語を利用した設計では一般的に難しい。
【0028】
上記のような動作を行う回路を、要素回路として考える。その要素回路は、2つの入力によってコントロールされ、一方の入力は要素回路の出力を“1”(H)にする(アサートする)ためのセット信号であり、他方の入力は要素回路の出力を“0”(L)にする(ネゲートする)ためのリセット信号である。ここでは、セット信号を“A”と呼び、リセット信号を“B”と呼ぶことにする。AおよびBは、共にハイアクティブの信号とする。これらの信号は、クロックレス下で入力されるため、非同期入力であり、一般的にはシステム外部から入力される信号を想定している。また、上記のようにRTC12の割り込み信号の場合もあるが、その場合でも、32kHzの発振器5の発生する低周波クロックと、発振器11の発生するクロックは非同期である。
【0029】
要素回路は、出力が“1”の期間は、スタンバイシーケンスを構成する各処理の実行期間を表す。つまり、出力が“0”から“1”に切り替わる立ち上がりエッジが処理開始、出力が“1”から“0”に切り替わる立ち下がりエッジが処理終了を表す。スタンバイシーケンスをクロックレス下で制御するには、この要素回路が、
図2の信号REG_STBYおよび信号REG_WAITを生成することが求められる。
【0030】
SRラッチ(フリップフロップ(SR−FF))は、上記のような動作を行うことが広く知られている。言い換えれば、上記の要素回路の入出力定義は、SRラッチの入出力定義そのものである。しかしながら、SRラッチにはセットとリセットが同時にアクティブになると準安定状態になるという問題があることが知られており、現在ではRTL言語による回路設計では使用しないようにしており、要素回路として適さない。例えば、
図2のREG_STBY信号をSRラッチで生成する場合を考える。このとき、SYS_STBY信号を“S”(セット)、復帰信号を“R”(リセット)とする。クロック停止中のため、フリップフロップで生成されるSYS_STBY信号はアクティブ状態を保持している。そのため、復帰信号がアクティブになったとき、SRラッチのセットとリセットが同時にアクティブとなり、その出力であるREG_STBY信号は“1”に固定されるか“0”に固定されるか不定である。
【0031】
これまで、SR−FFを利用して発振停止状態からスタンバイ解除する方法が提案されている。しかしながら、SR−FFには以下に示すような実装上の難点があるため、誤動作を誘発するという問題があった。
【0032】
・セット、リセットの両方がアサートされたとき、高優先度のリセットが有効になる(セット<リセットとする)。しかし、リセットがネゲートされたとき、実動作ではセットが有効になるべきところ、RTL言語ではエッジセンシティブで記述するため、SR−FFの出力はリセットされたまま変化しない。RTLシミュレーションでは、セット、リセットの両方をもつFFの実動作を正確に再現できないため、設計検証に特別なコストが必要となり、製品の信頼性を高めることが難しくなる。
【0033】
・FFの出力を非同期セット/リセット端子に入力すると、一般的に、論理合成ツールは同パスのタイミング解析を一切行わないため、仮に大きな遅延が存在しても気づかないおそれがあり、やはり製品の信頼性を高めることが難しくなる。
【0034】
そこで、クロックレス下での入力信号の状態監視を容易化するため、2つの入力(AとB)を“エッジセンス”とする要素回路を考える。ただし、Bがアクティブ状態のときのAの立ち上がりエッジは無視する。すなわち、その立ち上がりエッジで開始されるはずの処理はスキップする。このような制限を設けるのは、処理を開始しても、処理を終了させられない可能性があるからである。例えば、前述の信号REG_STBYを要素回路で生成するとき、シーケンス開始時にすでに復帰信号Bがアクティブ状態であると、シーケンス実行中はクロックが停止するため、復帰信号Bは以後もアクティブ状態を継続する可能性がある。つまり、信号AであるSYS_STBYの立ち上がりエッジで処理を開始しても、処理を終了させるためのBの立ち上がりエッジが見つからない可能性がある。ただし、スキップしてよい処理かどうかを見極める必要がある。
【0035】
図3は、以上の記載に基づいた要素回路の入出力定義を示す図である。
図4は、要素回路の例を示す図であり、(A)は入力信号からのパルス発生回路を、(B)は要素回路を示す。
【0036】
要素回路では、クロック端子にHレベルを印加したときにデータ入力が通過するDラッチ(D−FF)20を使用する。Dラッチは、クロックに同期して動作するが、クロックに代わるAとBの立ち上がりエッジの検出方法として、AまたはBがLからHに切り替わったところで任意の時間幅をもつパルスを生成し、Dラッチのクロック端子に入力する。パルスの生成は、
図4の(A)に示すような、入力Aとディレイ素子により入力Aを遅らせたADの反転信号との論理積(AND)をとる既知の方法を使用する。
【0037】
一方、
図4の(B)に示すように、Dラッチのデータ端子には、たとえば、入力Aと入力Bの反転信号との論理積や、入力Bの反転信号を入力する。
【0038】
図5は、
図4の(B)に示した要素回路の問題点を説明する図であり、(A)が信号経路を、(B)がタイムチャートを示す。
【0039】
図5の(A)に示すように、図示の要素回路では、入力A,BからDラッチのクロック端子に至るまでのパスと、同じく入力A,BからDラッチのデータ端子に至るまでのパスとの間の遅延差が所定の関係にあることが要求される。
図5の(B)に示すように、BがLの状態でAが立ち上がると、D端子入力がHに立ち上がり、クロック端子入力がHに立ち上がった後Lに戻るパルス状に変化する。これに応じて、Dラッチの出力がHに変化すれば所望の動作であるが、もし、D端子入力がHに立ち上がる前に、クロック端子入力がHに立ち上がると、Dラッチの出力はLのままであり、所望の動作とならない。また、AがHの状態でBが立ち上がると、D端子入力はLに変化し、クロック端子入力がHに立ち上がった後Lに戻るパルス状に変化する。これに応じて、Dラッチの出力がLに変化すれば所望の動作であるが、もし、D端子入力がLに変化する前に、クロック端子入力がHに立ち上がると、Dラッチの出力はHのままであり、所望の動作とならない。このように、図示の要素回路に確実に所望の動作を行わせるには、入力A,BからDラッチのクロック端子に至るまでのパスと、同じく入力A,BからDラッチのデータ端子に至るまでのパスとの間の遅延差を調整することになる。誤動作を回避する対策は確立されているが、その対策は、通常のタイミング制約とは異なる制約が必要であり、タイミング設計の手間が増えるという問題があった。特に、このような要素回路が多数設けられる回路では、その作業は設計作業量を増大させる。
【0040】
マイコン開発では、複数種類のクロックを使用した複雑な設計がなされることが一般的であり、温度や電圧の変動による影響、システムの大規模化によるチップ内のタイミングばらつきの相対的な増加が次第に大きくなるなど、タイミング設計は複雑さを増している。タイミング設計の複雑化は、開発工程を遅らせる原因となる。
【0041】
以下、実施形態のスタンバイモード制御に使用する非同期信号用回路(要素回路)について説明する。実施形態の非同期信号用回路は、上記の問題点に鑑みてなされたものであり、システムの待機消費電力を削減するため、発振停止状態のスタンバイモードになる場合に関係する。実施形態では、発振停止状態からのスタンバイ解除において、高い信頼性をもつスタンバイシーケンスを実現する実装容易な要素回路を提供する。
【0042】
まず、
図4の(B)の要素回路のDラッチ20のデータ端子に入力Bの反転信号を入力する方法に着眼した。その理由は、入力AのHへの変化で生成したパルスがクロック端子に入力するまでの時間が多少前後しても、入力AのHへの変化時では、Dラッチのデータ端子は、Hレベルで安定しているためである。そのため、入力Aから生成したパルスに対しては、Dラッチのデータ入力を通過させるためのパルス幅を保証すること以外にタイミング調整が事実上不要である。そのため、入力Bについても、
図4の(B)の要素回路における入力Aと同様に、タイミング調整が事実上不要であるようにできれば、タイミング調整が不要になる。
【0043】
また、前述のように、RTLシミュレーションを行う上では、信号はできるだけクロック同期信号であることが望ましい。そのため、仮に入力Bおよび入力Bから生成したパルスがクロックに同期した信号であれば、タイミング調整は他の同期回路とほぼ同じように扱うことができるようになるので、設計上は好ましい。
【0044】
上記の着眼が示唆するものは、Aが非同期入力、B(およびそれから生成するパルス)が同期入力であれば、複雑なタイミング調整を必要とせずに、非同期入力の状態変化を検出して、出力を正しく切り替えることができるということである。
【0045】
要素回路では、入力AまたはBは、クロックに同期した信号ではない。そこで、クロックに同期した信号は、要素回路の第3の入力とする。仮にこの第3の入力を“C”と呼ぶことにすると、要素回路の内部に2つのDラッチを持たせ、一方のDラッチはAおよびCの2つの入力によってコントロールし、他方のDラッチはBおよびCの2つの入力によってコントロールする。クロック停止中は、一方のDラッチでAがLからHに切り替わる状態変化を記憶し、他方のDラッチでBがLからHに切り替わる状態変化を記憶する。Aの記憶出力をBの記憶出力でマスクすることにより、AがLからHに切り替わる状態変化を検出して、要素回路の出力をアサートし、BがLからHに切り替わる状態変化を検出して、要素回路の出力をネゲートする。ここでは、Aの記憶出力を “QA”と、Bの記憶出力を “QB”と呼ぶ。クロック動作中は、再び非同期入力の記憶を可能にするため、Cを用いて2つのDラッチを初期化する。
【0046】
図6は、上記の制御を行うのに使用するシーケンス終了フラグ1とシーケンス終了フラグ2を示す図であり。(A)が波形を、(B)が問題点を示す。
また、
図7は、
図6の(B)の問題点を解消する方法を示す図である。
【0047】
クロック停止中に要素回路の出力をアサートして、ネゲートする動作は1回のため、Dラッチの初期化はスタンバイシーケンスが終了した後に行えばよい。そこで、
図6の(A)に示すように、入力Cとして、たとえば、スタンバイシーケンスが終了したことを示す“シーケンス終了フラグ”を使用する。シーケンス終了フラグは、たとえば、
図2にも示した“シーケンスビジーフラグ”の立ち下がりエッジをパルス化して生成する。シーケンスビジーフラグとは、スタンバイシーケンスが実行中であることを示すステータスフラグである。パルス幅が1クロック周期のシーケンス終了フラグを“シーケンス終了フラグ1”と呼ぶことにし、これを2つのDラッチのクロック端子にそれぞれ入力する。一方、2つのDラッチのデータ端子には、シーケンス終了フラグ1の反転信号ではなく、パルス幅が2クロックサイクルの“シーケンス終了フラグ2”の反転信号をそれぞれ入力する。これは、Dラッチの初期化を確実に行うためのタイミング保証である。
【0048】
2つのDラッチは同一のシーケンス終了フラグ1と2を使用するため、
図6の(B)に示すように、QAをQBでマスクする際に、ハザード(ひげ状ノイズ)が生じる可能性がある。これを回避するために、
図7に示すように、Bの記憶出力を司るDラッチでは、1クロック周期の遅延(ディレイ)を加えた“シーケンス終了フラグ1D”および“シーケンス終了フラグ2D”を使用する。
【0049】
第1実施形態では、暗黙の内にクロックモードを定義する。つまり、クロック停止中とクロック動作中の2つのモードである。通常の回路動作は信号入力に対して常に即応性が求められるが、応答回数を制限し、モードを横断する回路動作を行うことにより、非同期回路でありながら、他の同期回路とほぼ同じ扱いやすさを実現する。さらに、クロックモードを信号として導入することにより、非同期入力を検出するための非同期パルスが不要となり、要素回路は他の同期回路と全く同様に扱うことができるようになる。
【0050】
図8は、スタンバイモード制御に使用する第1実施形態の同期・非同期信号回路(要素回路)の構成を示すブロック図である。
【0051】
第1実施形態の要素回路30は、初期化回路31と、主動作回路32と、を有する。初期化回路31は、第1初期化信号生成部41と、第2初期化信号生成部42と、を有する。主動作回路32は、第1選択部43と、第2選択部44と、第1記憶部45と、第2記憶部46と、最終出力部47と、を有する。第1初期化信号生成部41は、クロックモード信号のアクティブから非アクティブへの変化に応じて、クロック信号の1周期の長さを有する第1制御信号、およびクロック信号の2周期の長さを有する第2制御信号を生成する。第2初期化信号生成部42は、第1制御信号をクロック信号の1周期分遅延した第3制御信号、および第2制御信号をクロック信号の1周期分遅延した第4制御信号と、を生成する。第1選択部43は、クロック信号に対して非同期である第1信号Aと第1制御信号が入力され、クロックモード信号のアクティブ期間中は第1信号Aを選択し、クロックモード信号の非アクティブ期間中は第1制御信号を選択する。第2選択部44は、クロック信号に対して非同期である第2信号Bと第3制御信号が入力され、クロックモード信号のアクティブ期間中は第2信号Bを選択し、クロックモード信号の非アクティブ期間中は第3制御信号を選択する。第1記憶部45は、第1選択部43の出力に応じて第2制御信号を反転した上でラッチして保持する。第2記憶部46は、第2選択部44の出力に応じて第4制御信号を反転した上でラッチして保持する。出力部47は、第1記憶部45の出力を第2記憶部46の出力でマスクして出力する。
【0052】
図8の第1実施形態の要素回路30を、
図2のREG_STBYの生成に使用する場合には、例えば、クロックモード信号はシーケンスビジーフラグに、第1信号AはSYS_STBYに、第2信号Bは復帰信号に対応する。
【0053】
第1実施形態では、第1信号Aおよび第2信号Bの変化タイミングの検出を第1記憶部45と第2記憶部46の2個のラッチで別々に行っており、前述のように、第1信号Aおよび第2信号Bに対するタイミング調整は事実上不要である。
【0054】
さらに、第1実施形態では、第1選択部43が、クロックモード信号のアクティブ期間中は第1信号Aを選択し、クロックモード信号の非アクティブ期間中は第1制御信号を選択し、第1記憶部45に入力する。これにより、第1信号Aの変化エッジでのパルスの発生は行わず、第1信号Aの変化エッジのみを使用し、さらに、第1記憶部45には、クロック同期の第1制御信号が入力される。第2選択部44についても同様である。また、第1記憶部45および第2記憶部46のデータとして入力される第2制御信号および第4制御信号として、シーケンス終了フラグ2を利用すれば、ハザードは発生せずに確実に初期化できる。
【0055】
図9は、
図8の第1実施形態の要素回路を具体化した、スタンバイモード制御に使用する同期・非同期信号回路(要素回路)50の回路図である。
【0056】
図9の要素回路50は、初期化回路51と、主動作回路52と、を有する。初期化回路5は、第1初期化信号生成部61と、第2初期化信号生成部62と、を有する。主動作回路52は、第1選択部63と、第2選択部64と、第1記憶部65と、第2記憶部66と、最終出力部67と、を有する。各部は、
図8に図示した各部に対応する。
【0057】
図9の要素回路50は、さらに2個のインバータ68および69を有する。第1初期化信号生成部61は、2個のD−FF(Dラッチ)71および72と、2個のANDゲート73および74と、を有する。第2初期化信号生成部62は、2個のD−FF(Dラッチ)75および76を有する。各部の接続は、図から明らかなので、説明は省略する。
【0058】
図10は、
図9の要素回路50の動作を示すタイムチャートであり、(A)が全体の動作を、(B)はDラッチ65の動作を、(C)がDラッチ66の動作を、それぞれ示す。
【0059】
図9の要素回路50では、内部に持たせたDラッチ65および66のクロック入力は、クロックモード信号よって切り替えられる。ここでは、クロックモード信号として、上記のシーケンスビジーフラグを使用する。
【0060】
第1初期化信号生成部61において、Dラッチ71は、シーケンスビジーフラグを1クロック周期遅延する。ANDゲート73は、シーケンスビジーフラグの反転信号と、1周期遅延シーケンスビジーフラグとの論理積を演算して、シーケンス終了フラグ1を生成する。
図10の(A)に示すように、シーケンス終了フラグ1は、シーケンスビジーフラグのLへの変化エッジから1クロック周期の幅を有するパルスである。Dラッチ72は、1周期遅延シーケンスビジーフラグをさらに1クロック周期遅延した2周期遅延シーケンスビジーフラグを生成する。ANDゲート74は、シーケンスビジーフラグの反転信号と、2周期遅延シーケンスビジーフラグとの論理積を演算して、シーケンス終了フラグ2を生成する。シーケンス終了フラグ2は、シーケンスビジーフラグのLへの変化エッジから2クロック周期の幅を有するパルスである。
【0061】
第2初期化信号生成部62において、Dラッチ74は、シーケンス終了フラグ1を1クロック周期遅延したシーケンス終了フラグ1Dを生成する。Dラッチ75は、シーケンス終了フラグ2を1クロック周期遅延したシーケンス終了フラグ2Dを生成する。
【0062】
スタンバイシーケンスが実行中であるとき、システムはクロック停止中である。このとき、クロック停止中に主動作回路82に入力する信号は、AまたはBから生成するパルスではなく、AまたはBそのものである。クロック動作中に主動作回路82に入力する信号は、上記のシーケンス終了フラグ1または1Dである。一方、Dラッチ65のデータ入力は、クロックモードによらず、上記のシーケンス終了フラグ2の反転信号であり、Dラッチ66のデータ入力は、クロックモードによらず、上記のシーケンス終了フラグ2Dの反転信号である。AがLからHに切り替わる状態変化を記憶するDラッチ65の出力を、BがLからHに切り替わる状態変化を記憶するDラッチ66の出力でマスクすることにより、要素回路の最終出力とする。
【0063】
クロックモードの導入により、Dラッチ65および66のクロック入力がクロック停止中と動作中とで明確に区分されること、クロックモードでマスクされたAまたはBがアクティブの期間、Dラッチのデータ入力はHレベルで安定している。このことから、AまたはBがLからHに切り替わる状態変化を記憶するために、その切り替わりの瞬間にパルスを生成する必要はなくなる。
【0064】
以上のことから、
図10の(B)および(C)に示すように、Dラッチ65および66のデータ入力は、入力AおよびBの変化エッジでは“H”レベルで安定しており、タイミング調整は不要である。
【0065】
また、シーケンス終了フラグ1、シーケンス終了フラグ2、シーケンス終了フラグ1Dおよびシーケンス終了フラグ2Dは、クロックに同期した信号であり、通常のRTLシミュレーションが行えるので、特別な設計検証は不要である。
【0066】
第1実施形態の要素回路は、クロックレス下で動作する非同期回路でありながら、他の同期回路と同じように扱うことができるため、半導体設計における特別なコストが不要となる。さらに、その実装の容易性から、高い信頼性をもつスタンバイシーケンスの実現に結び付けることが可能となる。
【0067】
図11は、
図9の要素回路において、誤動作を引き起こすハザード(ひげ状ノイズ)が発生しないこと、および入力信号でハザードが発生しても問題が生じないことを示すタイムチャートであり、
図10に対応する。
【0068】
図11に示すように、
図9の要素回路においては、アクティブの期間に、AまたはBにノイズが重畳しても、シーケンス外でAまたはBにノイズが重畳しても、Dラッチ65および66のデータ入力Dが安定しているので、これらの影響は受けない。
【0069】
図12は、第1実施形態の要素回路をスタンバイ制御回路に適用した場合の動作を示すタイムチャートである。
図12は、
図2のタイムチャートに対応し、シーケンス終了フラグ1、シーケンス終了フラグ2、シーケンス終了フラグ1Dおよびシーケンス終了フラグ2Dが加えられている。
【0070】
第1実施形態の要素回路は、信号REG_STBYおよびREG_WAITを生成する。クロックモード信号(=シーケンスビジーフラグ)、クロックモード信号から生成されるシーケンス終了フラグ1、シーケンス終了フラグ2、シーケンス終了フラグ1Dおよびシーケンス終了フラグ2Dは、
図10および
図11で説明した信号である。
【0071】
図13は、第1実施形態の非同期信号用回路を利用して、
図12のスタンバイシーケンスを実行するシーケンサの構成を示す図である。
このシーケンサは、初期化回路81と、レギュレータスタンバイ信号生成(REG_STBY)回路82と、カウントイネーブル信号生成(REG_WAIT)回路83と、安定待ちカウンタ84と、モードデコーダ85と、ビジー判定回路86と、を有する。
【0072】
モードデコーダ85は、システムモード信号から、信号SYS_STBYを生成する。
ビジー判定回路86は、信号SYS_STBYおよび安定待ちカウンタ84からのカウント終了信号から、シーケンスビジーフラグを生成する。ビジー判定回路86は、SYS_STBYがアクティブになると、シーケンス開始と判断し、安定待ちカウントが終了すると、シーケンス終了と判断して、シーケンスビジーフラグを生成する。
【0073】
初期化回路81は、
図9の初期化回路51に対応する。初期化回路81は、シーケンス終了フラグ1、シーケンス終了フラグ2、シーケンス終了フラグ1Dおよびシーケンス終了フラグ2Dを生成し、シーケンスビジーフラグと共にREG_STBY回路82およびREG_WAIT回路83に供給する。このように、
図13のシーケンサでは、REG_STBY回路82とREG_WAIT回路83で、初期化回路81を共有している。
【0074】
REG_STBY回路82は、
図9の主動作回路52の構成を有し、入力Aとして信号SYS_STBYが、入力Bとして復帰信号が供給される。さらに、REG_STBY回路82は、シーケンスビジーフラグ、シーケンス終了フラグ1、シーケンス終了フラグ2、シーケンス終了フラグ1Dおよびシーケンス終了フラグ2Dが供給され、信号REG_STBYを出力する。つまり、REG_STBY回路82は、SYS_STBYがアクティブになる状態変化を検出して、REG_STBYをアサートし、復帰信号がアクティブになる状態変化を検出して、REG_STBYをネゲートする。
【0075】
REG_WAIT回路83は、
図9の主動作回路52の構成を有し、入力Aとして復帰信号が、入力BとしてLレベル固定(ゼロ固定)信号が供給される。さらに、REG_WAIT回路83は、シーケンスビジーフラグ、シーケンス終了フラグ1、シーケンス終了フラグ2、シーケンス終了フラグ1Dおよびシーケンス終了フラグ2Dが供給され、信号REG_WAITを出力する。つまり、REG_WAIT回路83は、復帰信号がアクティブになる状態変化を検出して、REG_WAITをアサートし、シーケンス終了フラグ1がアクティブになる状態変化を検出して、REG_WAITをネゲートする。
【0076】
安定待ちカウンタ84は、信号REG_WAITの間、クロックをカウントし、所定値までカウントするとカウント終了信号をビジー判定回路85に出力する。
【0077】
図13のシーケンサは、CPU16からシステムモードの信号線を介してスタンバイ命令を受けると、モードデコーダ85は、スタンバイ命令を1ビットの信号であるSYS_STBYに変換する。ここで、レギュレータ13のスタンバイモードが複数ある場合は、複数の1ビット信号に変換してもよい。
【0078】
図13のシーケンサにおいて、REG_STBY回路82およびREG_WAIT回路83以外は、クロック同期設計で作成される。
【0079】
図14は、第1実施形態の非同期信号用回路を利用して、
図12のスタンバイシーケンスが複数ある場合に対応したシーケンサの構成を示す図である。
【0080】
図14のシーケンサは、
図13のシーケンサにおいて、REG_STBY回路82の代わりに、第1REG_STBY回路82Aおよび第2REG_STBY回路82Bを設け、複数のスタンバイモードに対応してREG_STBY0およびREG_STBY1を生成することが異なる。
【0081】
REG_STBY0およびREG_STBY1は、排他的動作となるため、初期化回路81を共有する場合、第1REG_STBY回路82Aおよび第2REG_STBY回路82Bのうちの非アクティブの要素回路において、シーケンス終了フラグ1の生成によるハザードが生じる可能性がある。このため、排他的動作を行う第1REG_STBY回路82Aと第2REG_STBY回路82Bの間では、シーケンス終了フラグ1の生成は選択的に行うことが考えられる。また、スタンバイモードの度合いに応じて安定待ちカウント数を変更することが考えられる。
【0082】
図15は、複数のレギュレータをもつ多電源システムのマイクロコンピュータに、
図13のシーケンサを、適用したシーケンサの場合の構成例を示す図である。
図15の例では、第1レギュレータ13Aおよび第1レギュレータ13Bに対応させて、2つのシーケンサ90Aおよびシーケンサ90Bを設けている。シーケンサ90Aおよびシーケンサ90Bは、
図13のシーケンサと同じ構成を有するので、説明は省略する。
【0083】
以上説明したように、実施形態の同期・非同期信号回路(要素回路)は、クロックレス下で動作する非同期回路でありながら、他の同期回路と同じように扱うことができるため、半導体設計における特別なコストが不要となる。さらに、その実装の容易性から、高い信頼性をもつスタンバイシーケンスの実現に結び付けることが可能となる。
【0084】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。