(57)【要約】【課題】設計が容易な半導体集積回路の実現。【解決手段】初期化回路31と、非同期である第１および第２信号A,Bおよび初期化回路の出力から動作信号を生成する主動作回路32と、を有し、初期化回路は、内部リセット信号の変化エッジに応じて、１周期長および２周期長の第１および第２制御信号と、それらを１周期遅延した第３および第４制御信号を生成する第１および第２制御部41,42を有し、主動作回路は、内部リセット信号のアクティブ期間中は第１信号を、非アクティブ期間中は第１制御信号を選択する第１選択部43と、アクティブ期間中は第２信号を、非アクティブ期間中は第３制御信号を選択する第２選択部44と、第１および第２選択部の出力に応じて第２および第４制御信号をラッチする第１および第２記憶部45,46と、第１記憶部の出力を第２記憶部の出力でマスクして動作信号を生成する出力部47と、を有する半導体集積回路。【選択図】図８
2015022471.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号に同期して制御信号を生成する初期化回路と、
前記クロック信号に対して非同期である第１信号と第２信号および前記初期化回路の出力する前記制御信号を受け、内部回路の動作を許可する動作信号を生成する主動作回路と、を有し、
前記初期化回路は、
内部リセット信号のアクティブから非アクティブへの変化に応じて、クロック信号の１周期の長さを有する第１制御信号、および前記クロック信号の２周期の長さを有する第２制御信号を生成する第１制御部と、
前記第１制御信号を前記クロック信号の１周期分遅延した第３制御信号、および前記第２制御信号を前記クロック信号の１周期分遅延した第４制御信号と、を生成する第２制御部と、を有し、
前記主動作回路は、
前記第１信号と前記第１制御信号が入力され、前記内部リセット信号のアクティブ期間中は前記第１信号を選択し、前記内部リセット信号の非アクティブ期間中は前記第１制御信号を選択する第１選択部と、
前記第２信号と前記第３制御信号が入力され、前記内部リセット信号のアクティブ期間中は前記第２信号を選択し、前記内部リセット信号の非アクティブ期間中は前記第３制御信号を選択する第２選択部と、
前記第１選択部の出力に応じて前記第２制御信号をラッチして保持する第１記憶部と、
前記第２選択部の出力に応じて前記第４制御信号をラッチして保持する第２記憶部と、
前記第１記憶部の出力を前記第２記憶部の出力でマスクして前記動作信号を生成して出力する出力部と、を有することを特徴とする半導体集積回路。
【請求項２】
複数の前記主動作回路を備え、
前記初期化回路は、前記第１から第４制御信号を前記複数の主動作回路に共通に出力することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第１信号は、前記内部回路のスタンバイモードを示すシステムモード信号であり、
前記内部リセット信号は、前記内部回路が前記スタンバイモードへ移行中であることを示すシーケンスビジーフラグであり、
前記第２信号は、前記スタンバイモードからの復帰を指示する復帰信号であり、
前記クロック信号を出力する発振器を停止する発振器停止信号を生成することを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記第１信号は、前記内部回路のスタンバイモードからの復帰を指示する復帰信号であり、
前記内部リセット信号は、前記内部回路が前記スタンバイモードへ移行中であることを示すシーケンスビジーフラグであり、
前記第２信号は、低レベル固定信号であり、
前記内部回路の電源電圧を供給するレギュレータ回路を待機状態にするレギュレータ待機信号を生成することを特徴とする請求項１に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、半導体集積回路に関する。
【背景技術】
【０００２】
身の回りの家電製品から自動車、ＦＡ（ファクトリーオートメーション）に至るまで、マイクロコンピュータ（マイコン）はありとあらゆる機器に搭載されて、電子制御の要となっている。近年、電力をより効率的に利用することが求められており、１つの機器にいくつも搭載されるマイコンに対しても、顧客からの低消費電力化の要求がますます強くなっている。
【０００３】
低消費電力化を図る各種の技術が提案されており、主な技術は、ゲーテッドクロックによるクロック供給の停止、クロック発振器の発振停止、および電源遮断等である。クロック発振器の発振停止は、クロックレス、すなわち、システムクロックが原振を含めてすべて停止した状態であり、非常に大きな省電力効果が見込まれる。この状態をスタンバイ状態と称する。しかしながら、スタンバイシーケンスを制御するためには、ある信号入力に対して出力応答する（アサートする／ネゲートする）動作が必要であるが、この信号はシステムクロックが停止した状態で入力される。そのため、この信号に対する出力応答を、クロックレス下で確実に行うことが求められる。
【０００４】
このような出力応答を行う回路を、ＳＲフリップフロップ（ＳＲ−ＦＦ）を利用して実現することが提案されている。しかし、ＳＲ−ＦＦは、セット（Ｓ）とリセット（Ｒ）の２つの入力が同時にアクティブとなると、出力が所望の値に固定されない場合が発生することが知られており、誤動作を誘発するという問題があった。そのため、現在ではＳＲ−ＦＦを使用しないようにしており、特にＲＴＬ言語により記述した回路の作成では、ＳＲ−ＦＦは使用されない。
【０００５】
現在、論理回路の設計は、ＲＴＬ言語で記述して、自動的設計ソフトを利用して設計するのが一般的であり、信号パスの遅延差を計算し、誤動作の発生を回避する方法もある程度確立されている。しかし、クロックに同期しない信号については、別途検証が必要であり、タイミング設計の手間が増加する。
【０００６】
スタンバイシーケンスを制御するスタンバイ信号は、クロックレス下で入力される信号であるため、クロックに同期しない信号である。そのため、スタンバイ信号発生回路を設計する場合には、別途検証が必要であり、タイミング設計の手間が増加する。このような回路を設計する場合、クロックに同期しない信号のパスを単純にして、非スタンバイ時のクロックが供給される状態ではクロックに同期した回路とすることが望ましい。これにより、タイミング設計の手間の増加を抑制できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２３５６８０号公報
【特許文献２】特開２００９−２９６５４８号公報
【特許文献３】特開２０１１−１９２０８４号公報
【特許文献４】特開２００６−３５０４８３号公報
【特許文献５】特開平０７−２８７６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記の例では、スタンバイ信号発生回路を例として説明したが、クロック同期回路であるが、一部で非同期信号を受けて信号を発生する回路は各種使用されており、非同期信号を受ける回路のタイミング設計の手間を低減し、設計を容易にすることが望まれている。
実施形態によれば、設計が容易な半導体集積回路が実現される。
【課題を解決するための手段】
【０００９】
開示の半導体集積回路は、クロック信号に同期して制御信号を生成する初期化回路と、クロック信号に対して非同期である第１信号と第２信号および初期化回路の出力する制御信号を受け、内部回路の動作を許可する動作信号を生成する主動作回路と、を有する。初期化回路は、第１制御部と、第２制御部と、を有する。第１制御部は、内部リセット信号のアクティブから非アクティブへの変化に応じて、クロック信号の１周期の長さを有する第１制御信号、およびクロック信号の２周期の長さを有する第２制御信号を生成する。第２制御部は、第１制御信号をクロック信号の１周期分遅延した第３制御信号、および第２制御信号をクロック信号の１周期分遅延した第４制御信号と、を生成する。主動作回路は、第１選択部と、第２選択部と、第１記憶部と、第２記憶部と、出力部と、を有する。第１選択部は、第１信号と第１制御信号が入力され、内部リセット信号のアクティブ期間中は第１信号を選択し、内部リセット信号の非アクティブ期間中は第１制御信号を選択する。第２選択部は、第２信号と第３制御信号が入力され、内部リセット信号のアクティブ期間中は第２信号を選択し、内部リセット信号の非アクティブ期間中は第３制御信号を選択する。第１記憶部は、第１選択部の出力に応じて第２制御信号をラッチして保持する。第２記憶部は、第２選択部の出力に応じて第４制御信号をラッチして保持する。出力部は、第１記憶部の出力を第２記憶部の出力でマスクして動作信号を生成して出力する出力部と、を有する。
【発明の効果】
【００１０】
開示の半導体集積回路は、クロックに同期しない信号のパス数を少なくでき、クロック供給時にはクロックに同期して動作する回路となるので、タイミングの検証が容易で、タイミング設計の手間が小さくなる。
【図面の簡単な説明】
【００１１】
【図１】図１は、マイクロコンピュータ（マイコン）で制御部を形成した製品の構成例を示す図である。
【図２】図２は、スタンバイモードへの移行およびスタンバイモードからの復帰時のスタンバイシーケンスを示すタイムチャートである。
【図３】図３は、以上の記載に基づいた要素回路の入出力定義を示す図である。
【図４】図４は、要素回路の例を示す図であり、（Ａ）は入力信号からのパルス発生回路を、（Ｂ）は要素回路を示す。
【図５】図５は、図４の（Ｂ）に示した要素回路の問題点を説明する図であり、（Ａ）が信号経路を、（Ｂ）がタイムチャートを示す。
【図６】図６は、上記の制御を行うのに使用するシーケンス終了フラグ１とシーケンス終了フラグ２を示す図であり。（Ａ）が波形を、（Ｂ）が問題点を示す。
【図７】図７は、図６の（Ｂ）の問題点を解消する方法を示す図である。
【図８】図８は、スタンバイモード制御に使用する第１実施形態の同期・非同期信号回路（要素回路）の構成を示すブロック図である。
【図９】図９は、図８の第１実施形態の要素回路を具体化した、スタンバイモード制御に使用する同期・非同期信号回路（要素回路）の回路図である。
【図１０】図１０は、図９の要素回路の動作を示すタイムチャートであり、（Ａ）が全体の動作を、（Ｂ）は一方のＤラッチの動作を、（Ｃ）が他方のＤラッチの動作を、それぞれ示す。
【図１１】図１１は、図９の要素回路において、誤動作を引き起こすハザード（ひげ状ノイズ）が発生しないこと、および入力信号でハザードが発生しても問題が生じないことを示すタイムチャートであり、図１０に対応する。
【図１２】図１２は、第１実施形態の要素回路をスタンバイ制御回路に適用した場合の動作を示すタイムチャートである。
【図１３】図１３は、第１実施形態の非同期信号用回路を利用して、図１２のスタンバイシーケンスを実行するシーケンサの構成を示す図である。
【図１４】図１４は、第１実施形態の非同期信号用回路を利用して、図１２のスタンバイシーケンスが複数ある場合に対応したシーケンサの構成を示す図である。
【図１５】図１５は、複数のレギュレータをもつ多電源システムのマイクロコンピュータに、図１３のシーケンサを、適用したシーケンサの場合の構成例を示す図である。
【発明を実施するための形態】
【００１２】
実施形態を説明する前に、スタンバイ信号発生に関する技術を、図を参照して説明する。
【００１３】
図１は、マイクロコンピュータ（マイコン）で制御部を形成した製品の構成例を示す図であり、ここではＤＶＤ／ＢＤレコーダの構成例を示している。
ＤＶＤ／ＢＤレコーダは、アンテナ１と、チューナ２と、画像処理エンジン３と、ＨＤＤ４と、制御部を形成するマイコン１０と、を有する。制御部（マイコン）１０は、発振器１１と、ＲＴＣ１２と、レギュレータ１３と、メモリ１４と、スタンバイ制御回路１５と、ＣＰＵ１６と、ＧＰＩＯ１７と、リモコン受信部１８と、シリアルインターフェース(Serial I/F)１９と、を有する。ＲＴＣ（リアルタイムクロック回路）１２には、３２ｋＨｚの水晶振動子５が接続される。ＧＰＩＯ１７は、ＤＶＤ／ＢＤレコーダの各種のボタン６の操作を検出する。リモコン受信部１８は、リモコン操作器７の操作を検出し、リモコン操作器７での表示情報等をリモコン操作器７へ送信する。図１に示したＤＶＤ／ＢＤレコーダの構成は広く知られているので、詳しい説明は省略する。
【００１４】
以下に説明する実施形態は、図１のスタンバイ制御回路１５内で使用する回路を例として説明するが、スタンバイ制御回路に限定されるものではない。
【００１５】
例えば、図１のＤＶＤ／ＢＤレコーダの低消費電力化について考察する。あるテレビ番組の録画をタイマ予約して外出したとする。このとき、レコーダに搭載されたマイコンはスタンバイモードに入り、以下のような動作を行う。
【００１６】
スタンバイ制御回路１５は、ＣＰＵ１６からシステムモードの信号線を経由してスタンバイ命令を受けると、マイコンシステム内の関連する各部へのクロックの供給を停止して、レギュレータ１３をスタンバイモードに入れる。レギュレータ１３とは、システム内の電圧・電流を常に一定に保つように制御する回路である。
【００１７】
スタンバイモードの時には、マイコン１０の内部回路のうち、起動するために必要なスタンバイ制御回路１５と一部回路を除き、電源遮断を行ってもよい。
【００１８】
レコーダ本体のボタン６を押下するか、リモコン操作器７で送信してレコーダの中のマイコン１０を起こすこともあるが、ここではＲＴＣ１２に設定されたアラーム割り込みを復帰信号としてマイコン１０を起こす場合を例として説明する。
【００１９】
復帰信号により、スタンバイ制御回路１５は、レギュレータ１３をスタンバイモードから復帰させて、その後マイコンシステム内の各部へのクロックの供給を再開する。
【００２０】
マイコン１０は、スタンバイモードから復帰する。ＣＰＵ１６は、シリアルＩ／Ｆ１９を介して画像処理エンジン３に、たとえば高画質録画の指令を出す。
【００２１】
図２は、スタンバイモードへの移行およびスタンバイモードからの復帰時のスタンバイシーケンスを示すタイムチャートである。
【００２２】
図２に示すように、ＣＰＵコア等より、システムモードを、ラン(RUN)モードからスタンバイモード(STANBY)切り替えるスタンバイ命令を受ける（Ａ１）。これに応じて、システムをスタンバイモードに移行する信号SYS_STBYが高（Ｈ:High)になり、さらにレギュレータ１３をスタンバイモードにすると共に発振器１１を停止する信号REG_STBYがＨになる。これに応じて、レギュレータ１３がスタンバイ状態になる（Ａ２）。以下の説明ではＨアクティブとして説明する。以下、スタンバイモードから復帰するまで、発振器１１が動作を停止し、クロックが供給されない状態になる。ただし、ＲＴＣ１２は、３２ｋＨｚの低速クロックで動作している。
【００２３】
ＲＴＣ１２が所定時間を計時して、アラーム割り込みを発生し、復帰信号がＨになり、マイコン１０を起こす（Ｃ）。
これに応じて、REG_STBYが低（Ｌ:Low)になり、レギュレータ１３をスタンバイ状態から復帰させ、発振器１１の発振を再開させる（Ｄ１）。
【００２４】
さらに、信号REG_WAITがＨになり、レギュレータ１３の出力が安定するまでシステムへのクロック供給を行わないように制御する（Ｄ２）。REG_WAITがＨの間、発振器１１からのクロックのシステムへの供給はマスクされる。また、REG_WAITがＨの間、レギュレータ１３の出力安定までの時間に対応するクロックのカウントが行われ、所定のカウント値になると、REG_WAITがＬになり、システムへのクロック供給を再開する（Ｄ３）。
【００２５】
その後、システムは動作状態になり、SYS_STBYがＬ、復帰信号がＬになり、ＣＰＵ１６は画像処理エンジン３に高画質録画の指令を出す（Ｅ）。
【００２６】
システムがスタンバイシーケンスを実行中であることを示すシーケンスビジーフラグは、SYS_STBYのＨへの変化に同期してＨになり、REG_WAITのＬへの変化に同期してＬに変化する。後述するように、“シーケンスビジーフラグ”のＬへの変化に応じて、シーケンスの終了を示す “シーケンス終了フラグ”が発生される。
【００２７】
ここで、復帰時のスタンバイシーケンスは、クロックレス下（発振器１１が停止し、システムクロックが供給されない状態）で行う。そのため、ある信号入力に対して出力をアサートする、またはネゲートする動作を、クロックレス下で行うことになるが、これはクロックに同期した動作でないため、ＲＴＬ言語を利用した設計では一般的に難しい。
【００２８】
上記のような動作を行う回路を、要素回路として考える。その要素回路は、２つの入力によってコントロールされ、一方の入力は要素回路の出力を“１”（Ｈ）にする（アサートする）ためのセット信号であり、他方の入力は要素回路の出力を“０”（Ｌ）にする（ネゲートする）ためのリセット信号である。ここでは、セット信号を“Ａ”と呼び、リセット信号を“Ｂ”と呼ぶことにする。ＡおよびＢは、共にハイアクティブの信号とする。これらの信号は、クロックレス下で入力されるため、非同期入力であり、一般的にはシステム外部から入力される信号を想定している。また、上記のようにＲＴＣ１２の割り込み信号の場合もあるが、その場合でも、３２ｋＨｚの発振器５の発生する低周波クロックと、発振器１１の発生するクロックは非同期である。
【００２９】
要素回路は、出力が“１”の期間は、スタンバイシーケンスを構成する各処理の実行期間を表す。つまり、出力が“０”から“１”に切り替わる立ち上がりエッジが処理開始、出力が“１”から“０”に切り替わる立ち下がりエッジが処理終了を表す。スタンバイシーケンスをクロックレス下で制御するには、この要素回路が、図２の信号REG_STBYおよび信号REG_WAITを生成することが求められる。
【００３０】
ＳＲラッチ（フリップフロップ（ＳＲ−ＦＦ））は、上記のような動作を行うことが広く知られている。言い換えれば、上記の要素回路の入出力定義は、ＳＲラッチの入出力定義そのものである。しかしながら、ＳＲラッチにはセットとリセットが同時にアクティブになると準安定状態になるという問題があることが知られており、現在ではＲＴＬ言語による回路設計では使用しないようにしており、要素回路として適さない。例えば、図２のREG_STBY信号をＳＲラッチで生成する場合を考える。このとき、SYS_STBY信号を“Ｓ”（セット）、復帰信号を“Ｒ”（リセット）とする。クロック停止中のため、フリップフロップで生成されるSYS_STBY信号はアクティブ状態を保持している。そのため、復帰信号がアクティブになったとき、ＳＲラッチのセットとリセットが同時にアクティブとなり、その出力であるREG_STBY信号は“１”に固定されるか“０”に固定されるか不定である。
【００３１】
これまで、ＳＲ−ＦＦを利用して発振停止状態からスタンバイ解除する方法が提案されている。しかしながら、ＳＲ−ＦＦには以下に示すような実装上の難点があるため、誤動作を誘発するという問題があった。
【００３２】
・セット、リセットの両方がアサートされたとき、高優先度のリセットが有効になる（セット＜リセットとする）。しかし、リセットがネゲートされたとき、実動作ではセットが有効になるべきところ、ＲＴＬ言語ではエッジセンシティブで記述するため、ＳＲ−ＦＦの出力はリセットされたまま変化しない。ＲＴＬシミュレーションでは、セット、リセットの両方をもつＦＦの実動作を正確に再現できないため、設計検証に特別なコストが必要となり、製品の信頼性を高めることが難しくなる。
【００３３】
・ＦＦの出力を非同期セット／リセット端子に入力すると、一般的に、論理合成ツールは同パスのタイミング解析を一切行わないため、仮に大きな遅延が存在しても気づかないおそれがあり、やはり製品の信頼性を高めることが難しくなる。
【００３４】
そこで、クロックレス下での入力信号の状態監視を容易化するため、２つの入力（ＡとＢ）を“エッジセンス”とする要素回路を考える。ただし、Ｂがアクティブ状態のときのＡの立ち上がりエッジは無視する。すなわち、その立ち上がりエッジで開始されるはずの処理はスキップする。このような制限を設けるのは、処理を開始しても、処理を終了させられない可能性があるからである。例えば、前述の信号REG_STBYを要素回路で生成するとき、シーケンス開始時にすでに復帰信号Ｂがアクティブ状態であると、シーケンス実行中はクロックが停止するため、復帰信号Ｂは以後もアクティブ状態を継続する可能性がある。つまり、信号ＡであるSYS_STBYの立ち上がりエッジで処理を開始しても、処理を終了させるためのＢの立ち上がりエッジが見つからない可能性がある。ただし、スキップしてよい処理かどうかを見極める必要がある。
【００３５】
図３は、以上の記載に基づいた要素回路の入出力定義を示す図である。
図４は、要素回路の例を示す図であり、（Ａ）は入力信号からのパルス発生回路を、（Ｂ）は要素回路を示す。
【００３６】
要素回路では、クロック端子にＨレベルを印加したときにデータ入力が通過するＤラッチ（Ｄ−ＦＦ）２０を使用する。Ｄラッチは、クロックに同期して動作するが、クロックに代わるＡとＢの立ち上がりエッジの検出方法として、ＡまたはＢがＬからＨに切り替わったところで任意の時間幅をもつパルスを生成し、Ｄラッチのクロック端子に入力する。パルスの生成は、図４の（Ａ）に示すような、入力Ａとディレイ素子により入力Ａを遅らせたＡＤの反転信号との論理積（ＡＮＤ）をとる既知の方法を使用する。
【００３７】
一方、図４の（Ｂ）に示すように、Ｄラッチのデータ端子には、たとえば、入力Ａと入力Ｂの反転信号との論理積や、入力Ｂの反転信号を入力する。
【００３８】
図５は、図４の（Ｂ）に示した要素回路の問題点を説明する図であり、（Ａ）が信号経路を、（Ｂ）がタイムチャートを示す。
【００３９】
図５の（Ａ）に示すように、図示の要素回路では、入力Ａ，ＢからＤラッチのクロック端子に至るまでのパスと、同じく入力Ａ，ＢからＤラッチのデータ端子に至るまでのパスとの間の遅延差が所定の関係にあることが要求される。図５の（Ｂ）に示すように、ＢがＬの状態でＡが立ち上がると、Ｄ端子入力がＨに立ち上がり、クロック端子入力がＨに立ち上がった後Ｌに戻るパルス状に変化する。これに応じて、Ｄラッチの出力がＨに変化すれば所望の動作であるが、もし、Ｄ端子入力がＨに立ち上がる前に、クロック端子入力がＨに立ち上がると、Ｄラッチの出力はＬのままであり、所望の動作とならない。また、ＡがＨの状態でＢが立ち上がると、Ｄ端子入力はＬに変化し、クロック端子入力がＨに立ち上がった後Ｌに戻るパルス状に変化する。これに応じて、Ｄラッチの出力がＬに変化すれば所望の動作であるが、もし、Ｄ端子入力がＬに変化する前に、クロック端子入力がＨに立ち上がると、Ｄラッチの出力はＨのままであり、所望の動作とならない。このように、図示の要素回路に確実に所望の動作を行わせるには、入力Ａ，ＢからＤラッチのクロック端子に至るまでのパスと、同じく入力Ａ，ＢからＤラッチのデータ端子に至るまでのパスとの間の遅延差を調整することになる。誤動作を回避する対策は確立されているが、その対策は、通常のタイミング制約とは異なる制約が必要であり、タイミング設計の手間が増えるという問題があった。特に、このような要素回路が多数設けられる回路では、その作業は設計作業量を増大させる。
【００４０】
マイコン開発では、複数種類のクロックを使用した複雑な設計がなされることが一般的であり、温度や電圧の変動による影響、システムの大規模化によるチップ内のタイミングばらつきの相対的な増加が次第に大きくなるなど、タイミング設計は複雑さを増している。タイミング設計の複雑化は、開発工程を遅らせる原因となる。
【００４１】
以下、実施形態のスタンバイモード制御に使用する非同期信号用回路（要素回路）について説明する。実施形態の非同期信号用回路は、上記の問題点に鑑みてなされたものであり、システムの待機消費電力を削減するため、発振停止状態のスタンバイモードになる場合に関係する。実施形態では、発振停止状態からのスタンバイ解除において、高い信頼性をもつスタンバイシーケンスを実現する実装容易な要素回路を提供する。
【００４２】
まず、図４の（Ｂ）の要素回路のＤラッチ２０のデータ端子に入力Ｂの反転信号を入力する方法に着眼した。その理由は、入力ＡのＨへの変化で生成したパルスがクロック端子に入力するまでの時間が多少前後しても、入力ＡのＨへの変化時では、Ｄラッチのデータ端子は、Ｈレベルで安定しているためである。そのため、入力Ａから生成したパルスに対しては、Ｄラッチのデータ入力を通過させるためのパルス幅を保証すること以外にタイミング調整が事実上不要である。そのため、入力Ｂについても、図４の（Ｂ）の要素回路における入力Ａと同様に、タイミング調整が事実上不要であるようにできれば、タイミング調整が不要になる。
【００４３】
また、前述のように、ＲＴＬシミュレーションを行う上では、信号はできるだけクロック同期信号であることが望ましい。そのため、仮に入力Ｂおよび入力Ｂから生成したパルスがクロックに同期した信号であれば、タイミング調整は他の同期回路とほぼ同じように扱うことができるようになるので、設計上は好ましい。
【００４４】
上記の着眼が示唆するものは、Ａが非同期入力、Ｂ（およびそれから生成するパルス）が同期入力であれば、複雑なタイミング調整を必要とせずに、非同期入力の状態変化を検出して、出力を正しく切り替えることができるということである。
【００４５】
要素回路では、入力ＡまたはＢは、クロックに同期した信号ではない。そこで、クロックに同期した信号は、要素回路の第３の入力とする。仮にこの第３の入力を“Ｃ”と呼ぶことにすると、要素回路の内部に２つのＤラッチを持たせ、一方のＤラッチはＡおよびＣの２つの入力によってコントロールし、他方のＤラッチはＢおよびＣの２つの入力によってコントロールする。クロック停止中は、一方のＤラッチでＡがＬからＨに切り替わる状態変化を記憶し、他方のＤラッチでＢがＬからＨに切り替わる状態変化を記憶する。Ａの記憶出力をＢの記憶出力でマスクすることにより、ＡがＬからＨに切り替わる状態変化を検出して、要素回路の出力をアサートし、ＢがＬからＨに切り替わる状態変化を検出して、要素回路の出力をネゲートする。ここでは、Ａの記憶出力を “ＱＡ”と、Ｂの記憶出力を “ＱＢ”と呼ぶ。クロック動作中は、再び非同期入力の記憶を可能にするため、Ｃを用いて２つのＤラッチを初期化する。
【００４６】
図６は、上記の制御を行うのに使用するシーケンス終了フラグ１とシーケンス終了フラグ２を示す図であり。（Ａ）が波形を、（Ｂ）が問題点を示す。
また、図７は、図６の（Ｂ）の問題点を解消する方法を示す図である。
【００４７】
クロック停止中に要素回路の出力をアサートして、ネゲートする動作は１回のため、Ｄラッチの初期化はスタンバイシーケンスが終了した後に行えばよい。そこで、図６の（Ａ）に示すように、入力Ｃとして、たとえば、スタンバイシーケンスが終了したことを示す“シーケンス終了フラグ”を使用する。シーケンス終了フラグは、たとえば、図２にも示した“シーケンスビジーフラグ”の立ち下がりエッジをパルス化して生成する。シーケンスビジーフラグとは、スタンバイシーケンスが実行中であることを示すステータスフラグである。パルス幅が１クロック周期のシーケンス終了フラグを“シーケンス終了フラグ１”と呼ぶことにし、これを２つのＤラッチのクロック端子にそれぞれ入力する。一方、２つのＤラッチのデータ端子には、シーケンス終了フラグ１の反転信号ではなく、パルス幅が２クロックサイクルの“シーケンス終了フラグ２”の反転信号をそれぞれ入力する。これは、Ｄラッチの初期化を確実に行うためのタイミング保証である。
【００４８】
２つのＤラッチは同一のシーケンス終了フラグ１と２を使用するため、図６の（Ｂ）に示すように、ＱＡをＱＢでマスクする際に、ハザード（ひげ状ノイズ）が生じる可能性がある。これを回避するために、図７に示すように、Ｂの記憶出力を司るＤラッチでは、１クロック周期の遅延（ディレイ）を加えた“シーケンス終了フラグ１Ｄ”および“シーケンス終了フラグ２Ｄ”を使用する。
【００４９】
第１実施形態では、暗黙の内にクロックモードを定義する。つまり、クロック停止中とクロック動作中の２つのモードである。通常の回路動作は信号入力に対して常に即応性が求められるが、応答回数を制限し、モードを横断する回路動作を行うことにより、非同期回路でありながら、他の同期回路とほぼ同じ扱いやすさを実現する。さらに、クロックモードを信号として導入することにより、非同期入力を検出するための非同期パルスが不要となり、要素回路は他の同期回路と全く同様に扱うことができるようになる。
【００５０】
図８は、スタンバイモード制御に使用する第１実施形態の同期・非同期信号回路（要素回路）の構成を示すブロック図である。
【００５１】
第１実施形態の要素回路３０は、初期化回路３１と、主動作回路３２と、を有する。初期化回路３１は、第１初期化信号生成部４１と、第２初期化信号生成部４２と、を有する。主動作回路３２は、第１選択部４３と、第２選択部４４と、第１記憶部４５と、第２記憶部４６と、最終出力部４７と、を有する。第１初期化信号生成部４１は、クロックモード信号のアクティブから非アクティブへの変化に応じて、クロック信号の１周期の長さを有する第１制御信号、およびクロック信号の２周期の長さを有する第２制御信号を生成する。第２初期化信号生成部４２は、第１制御信号をクロック信号の１周期分遅延した第３制御信号、および第２制御信号をクロック信号の１周期分遅延した第４制御信号と、を生成する。第１選択部４３は、クロック信号に対して非同期である第１信号Ａと第１制御信号が入力され、クロックモード信号のアクティブ期間中は第１信号Ａを選択し、クロックモード信号の非アクティブ期間中は第１制御信号を選択する。第２選択部４４は、クロック信号に対して非同期である第２信号Ｂと第３制御信号が入力され、クロックモード信号のアクティブ期間中は第２信号Ｂを選択し、クロックモード信号の非アクティブ期間中は第３制御信号を選択する。第１記憶部４５は、第１選択部４３の出力に応じて第２制御信号を反転した上でラッチして保持する。第２記憶部４６は、第２選択部４４の出力に応じて第４制御信号を反転した上でラッチして保持する。出力部４７は、第１記憶部４５の出力を第２記憶部４６の出力でマスクして出力する。
【００５２】
図８の第１実施形態の要素回路３０を、図２のREG_STBYの生成に使用する場合には、例えば、クロックモード信号はシーケンスビジーフラグに、第１信号ＡはSYS_STBYに、第２信号Ｂは復帰信号に対応する。
【００５３】
第１実施形態では、第１信号Ａおよび第２信号Ｂの変化タイミングの検出を第１記憶部４５と第２記憶部４６の２個のラッチで別々に行っており、前述のように、第１信号Ａおよび第２信号Ｂに対するタイミング調整は事実上不要である。
【００５４】
さらに、第１実施形態では、第１選択部４３が、クロックモード信号のアクティブ期間中は第１信号Ａを選択し、クロックモード信号の非アクティブ期間中は第１制御信号を選択し、第１記憶部４５に入力する。これにより、第１信号Ａの変化エッジでのパルスの発生は行わず、第１信号Ａの変化エッジのみを使用し、さらに、第１記憶部４５には、クロック同期の第１制御信号が入力される。第２選択部４４についても同様である。また、第１記憶部４５および第２記憶部４６のデータとして入力される第２制御信号および第４制御信号として、シーケンス終了フラグ２を利用すれば、ハザードは発生せずに確実に初期化できる。
【００５５】
図９は、図８の第１実施形態の要素回路を具体化した、スタンバイモード制御に使用する同期・非同期信号回路（要素回路）５０の回路図である。
【００５６】
図９の要素回路５０は、初期化回路５１と、主動作回路５２と、を有する。初期化回路５は、第１初期化信号生成部６１と、第２初期化信号生成部６２と、を有する。主動作回路５２は、第１選択部６３と、第２選択部６４と、第１記憶部６５と、第２記憶部６６と、最終出力部６７と、を有する。各部は、図８に図示した各部に対応する。
【００５７】
図９の要素回路５０は、さらに２個のインバータ６８および６９を有する。第１初期化信号生成部６１は、２個のＤ−ＦＦ（Ｄラッチ）７１および７２と、２個のＡＮＤゲート７３および７４と、を有する。第２初期化信号生成部６２は、２個のＤ−ＦＦ（Ｄラッチ）７５および７６を有する。各部の接続は、図から明らかなので、説明は省略する。
【００５８】
図１０は、図９の要素回路５０の動作を示すタイムチャートであり、（Ａ）が全体の動作を、（Ｂ）はＤラッチ６５の動作を、（Ｃ）がＤラッチ６６の動作を、それぞれ示す。
【００５９】
図９の要素回路５０では、内部に持たせたＤラッチ６５および６６のクロック入力は、クロックモード信号よって切り替えられる。ここでは、クロックモード信号として、上記のシーケンスビジーフラグを使用する。
【００６０】
第１初期化信号生成部６１において、Ｄラッチ７１は、シーケンスビジーフラグを１クロック周期遅延する。ＡＮＤゲート７３は、シーケンスビジーフラグの反転信号と、１周期遅延シーケンスビジーフラグとの論理積を演算して、シーケンス終了フラグ１を生成する。図１０の（Ａ）に示すように、シーケンス終了フラグ１は、シーケンスビジーフラグのＬへの変化エッジから１クロック周期の幅を有するパルスである。Ｄラッチ７２は、１周期遅延シーケンスビジーフラグをさらに１クロック周期遅延した２周期遅延シーケンスビジーフラグを生成する。ＡＮＤゲート７４は、シーケンスビジーフラグの反転信号と、２周期遅延シーケンスビジーフラグとの論理積を演算して、シーケンス終了フラグ２を生成する。シーケンス終了フラグ２は、シーケンスビジーフラグのＬへの変化エッジから２クロック周期の幅を有するパルスである。
【００６１】
第２初期化信号生成部６２において、Ｄラッチ７４は、シーケンス終了フラグ１を１クロック周期遅延したシーケンス終了フラグ１Ｄを生成する。Ｄラッチ７５は、シーケンス終了フラグ２を１クロック周期遅延したシーケンス終了フラグ２Ｄを生成する。
【００６２】
スタンバイシーケンスが実行中であるとき、システムはクロック停止中である。このとき、クロック停止中に主動作回路８２に入力する信号は、ＡまたはＢから生成するパルスではなく、ＡまたはＢそのものである。クロック動作中に主動作回路８２に入力する信号は、上記のシーケンス終了フラグ１または１Ｄである。一方、Ｄラッチ６５のデータ入力は、クロックモードによらず、上記のシーケンス終了フラグ２の反転信号であり、Ｄラッチ６６のデータ入力は、クロックモードによらず、上記のシーケンス終了フラグ２Ｄの反転信号である。ＡがＬからＨに切り替わる状態変化を記憶するＤラッチ６５の出力を、ＢがＬからＨに切り替わる状態変化を記憶するＤラッチ６６の出力でマスクすることにより、要素回路の最終出力とする。
【００６３】
クロックモードの導入により、Ｄラッチ６５および６６のクロック入力がクロック停止中と動作中とで明確に区分されること、クロックモードでマスクされたＡまたはＢがアクティブの期間、Ｄラッチのデータ入力はＨレベルで安定している。このことから、ＡまたはＢがＬからＨに切り替わる状態変化を記憶するために、その切り替わりの瞬間にパルスを生成する必要はなくなる。
【００６４】
以上のことから、図１０の（Ｂ）および（Ｃ）に示すように、Ｄラッチ６５および６６のデータ入力は、入力ＡおよびＢの変化エッジでは“Ｈ”レベルで安定しており、タイミング調整は不要である。
【００６５】
また、シーケンス終了フラグ１、シーケンス終了フラグ２、シーケンス終了フラグ１Ｄおよびシーケンス終了フラグ２Ｄは、クロックに同期した信号であり、通常のＲＴＬシミュレーションが行えるので、特別な設計検証は不要である。
【００６６】
第１実施形態の要素回路は、クロックレス下で動作する非同期回路でありながら、他の同期回路と同じように扱うことができるため、半導体設計における特別なコストが不要となる。さらに、その実装の容易性から、高い信頼性をもつスタンバイシーケンスの実現に結び付けることが可能となる。
【００６７】
図１１は、図９の要素回路において、誤動作を引き起こすハザード（ひげ状ノイズ）が発生しないこと、および入力信号でハザードが発生しても問題が生じないことを示すタイムチャートであり、図１０に対応する。
【００６８】
図１１に示すように、図９の要素回路においては、アクティブの期間に、ＡまたはＢにノイズが重畳しても、シーケンス外でＡまたはＢにノイズが重畳しても、Ｄラッチ６５および６６のデータ入力Ｄが安定しているので、これらの影響は受けない。
【００６９】
図１２は、第１実施形態の要素回路をスタンバイ制御回路に適用した場合の動作を示すタイムチャートである。図１２は、図２のタイムチャートに対応し、シーケンス終了フラグ１、シーケンス終了フラグ２、シーケンス終了フラグ１Ｄおよびシーケンス終了フラグ２Ｄが加えられている。
【００７０】
第１実施形態の要素回路は、信号REG_STBYおよびREG_WAITを生成する。クロックモード信号（＝シーケンスビジーフラグ）、クロックモード信号から生成されるシーケンス終了フラグ１、シーケンス終了フラグ２、シーケンス終了フラグ１Ｄおよびシーケンス終了フラグ２Ｄは、図１０および図１１で説明した信号である。
【００７１】
図１３は、第１実施形態の非同期信号用回路を利用して、図１２のスタンバイシーケンスを実行するシーケンサの構成を示す図である。
このシーケンサは、初期化回路８１と、レギュレータスタンバイ信号生成(REG_STBY)回路８２と、カウントイネーブル信号生成(REG_WAIT)回路８３と、安定待ちカウンタ８４と、モードデコーダ８５と、ビジー判定回路８６と、を有する。
【００７２】
モードデコーダ８５は、システムモード信号から、信号SYS_STBYを生成する。
ビジー判定回路８６は、信号SYS_STBYおよび安定待ちカウンタ８４からのカウント終了信号から、シーケンスビジーフラグを生成する。ビジー判定回路８６は、SYS_STBYがアクティブになると、シーケンス開始と判断し、安定待ちカウントが終了すると、シーケンス終了と判断して、シーケンスビジーフラグを生成する。
【００７３】
初期化回路８１は、図９の初期化回路５１に対応する。初期化回路８１は、シーケンス終了フラグ１、シーケンス終了フラグ２、シーケンス終了フラグ１Ｄおよびシーケンス終了フラグ２Ｄを生成し、シーケンスビジーフラグと共にREG_STBY回路８２およびREG_WAIT回路８３に供給する。このように、図１３のシーケンサでは、REG_STBY回路８２とREG_WAIT回路８３で、初期化回路８１を共有している。
【００７４】
REG_STBY回路８２は、図９の主動作回路５２の構成を有し、入力Ａとして信号SYS_STBYが、入力Ｂとして復帰信号が供給される。さらに、REG_STBY回路８２は、シーケンスビジーフラグ、シーケンス終了フラグ１、シーケンス終了フラグ２、シーケンス終了フラグ１Ｄおよびシーケンス終了フラグ２Ｄが供給され、信号REG_STBYを出力する。つまり、REG_STBY回路８２は、SYS_STBYがアクティブになる状態変化を検出して、REG_STBYをアサートし、復帰信号がアクティブになる状態変化を検出して、REG_STBYをネゲートする。
【００７５】
REG_WAIT回路８３は、図９の主動作回路５２の構成を有し、入力Ａとして復帰信号が、入力ＢとしてＬレベル固定（ゼロ固定）信号が供給される。さらに、REG_WAIT回路８３は、シーケンスビジーフラグ、シーケンス終了フラグ１、シーケンス終了フラグ２、シーケンス終了フラグ１Ｄおよびシーケンス終了フラグ２Ｄが供給され、信号REG_WAITを出力する。つまり、REG_WAIT回路８３は、復帰信号がアクティブになる状態変化を検出して、REG_WAITをアサートし、シーケンス終了フラグ１がアクティブになる状態変化を検出して、REG_WAITをネゲートする。
【００７６】
安定待ちカウンタ８４は、信号REG_WAITの間、クロックをカウントし、所定値までカウントするとカウント終了信号をビジー判定回路８５に出力する。
【００７７】
図１３のシーケンサは、ＣＰＵ１６からシステムモードの信号線を介してスタンバイ命令を受けると、モードデコーダ８５は、スタンバイ命令を１ビットの信号であるSYS_STBYに変換する。ここで、レギュレータ１３のスタンバイモードが複数ある場合は、複数の１ビット信号に変換してもよい。
【００７８】
図１３のシーケンサにおいて、REG_STBY回路８２およびREG_WAIT回路８３以外は、クロック同期設計で作成される。
【００７９】
図１４は、第１実施形態の非同期信号用回路を利用して、図１２のスタンバイシーケンスが複数ある場合に対応したシーケンサの構成を示す図である。
【００８０】
図１４のシーケンサは、図１３のシーケンサにおいて、REG_STBY回路８２の代わりに、第１REG_STBY回路８２Ａおよび第２REG_STBY回路８２Ｂを設け、複数のスタンバイモードに対応してREG_STBY0およびREG_STBY1を生成することが異なる。
【００８１】
REG_STBY0およびREG_STBY1は、排他的動作となるため、初期化回路８１を共有する場合、第１REG_STBY回路８２Ａおよび第２REG_STBY回路８２Ｂのうちの非アクティブの要素回路において、シーケンス終了フラグ１の生成によるハザードが生じる可能性がある。このため、排他的動作を行う第１REG_STBY回路８２Ａと第２REG_STBY回路８２Ｂの間では、シーケンス終了フラグ１の生成は選択的に行うことが考えられる。また、スタンバイモードの度合いに応じて安定待ちカウント数を変更することが考えられる。
【００８２】
図１５は、複数のレギュレータをもつ多電源システムのマイクロコンピュータに、図１３のシーケンサを、適用したシーケンサの場合の構成例を示す図である。図１５の例では、第１レギュレータ１３Ａおよび第１レギュレータ１３Ｂに対応させて、２つのシーケンサ９０Ａおよびシーケンサ９０Ｂを設けている。シーケンサ９０Ａおよびシーケンサ９０Ｂは、図１３のシーケンサと同じ構成を有するので、説明は省略する。
【００８３】
以上説明したように、実施形態の同期・非同期信号回路（要素回路）は、クロックレス下で動作する非同期回路でありながら、他の同期回路と同じように扱うことができるため、半導体設計における特別なコストが不要となる。さらに、その実装の容易性から、高い信頼性をもつスタンバイシーケンスの実現に結び付けることが可能となる。
【００８４】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００８５】
３１    初期化回路
３２    主動作回路
４１    第１初期化信号生成部
４２    第２初期化信号生成部
４３    第１選択部
４４    第２選択部
４５    第１記憶部
４６    第２記憶部
４８    最終出力部
【図１】
2015022471.tif 000003
【図２】
2015022471.tif 000004
【図３】
2015022471.tif 000005
【図４】
2015022471.tif 000006
【図５】
2015022471.tif 000007
【図６】
2015022471.tif 000008
【図７】
2015022471.tif 000009
【図８】
2015022471.tif 000010
【図９】
2015022471.tif 000011
【図１０】
2015022471.tif 000012
【図１１】
2015022471.tif 000013
【図１２】
2015022471.tif 000014
【図１３】
2015022471.tif 000015
【図１４】
2015022471.tif 000016
【図１５】
2015022471.tif 000017