(57)【要約】【課題】低速クロック信号と高速クロック信号とにより動作する情報処理システムにおいて、高速クロック信号により動作するノーマルモードへの移行時に、高速発振器から高速クロック信号が安定して生成されていることの検知の信頼性を高める。【解決手段】低速クロック信号の所定クロック周期内に、高速クロック信号がいくつ生成されたかをカウンタでカウントする。低速クロック信号と同期して、カウント値と所定値とを比較し、高速クロック信号の周波数が所定周波数に達しているか判定する。発振が安定するにつれて周波数の変動が小さくなるため、前記判定が複数回にわたって肯定的は判定であると、高速発振器の発振が安定していると検知する。【選択図】図２
2008299731.tif 000002
【特許請求の範囲】
【請求項１】
高速クロック信号が安定して生成されていることを検知する半導体集積回路であって、
周期的に低速クロック信号および高速クロック信号を受信する受信部と、
前記低速クロック信号の受信間隔に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が、所定の範囲内に収まっているか判定する発振周期判定部と、
肯定的な判定がなされた場合に、安定検知信号を出力する信号出力部とを備える
ことを特徴とする半導体集積回路。
【請求項２】
前記発振周期判定部は、
設定値を記憶しているカウンタ数設定記憶部と、
前記所定期間において前記受信された高速クロック信号の数をカウントするカウンタと、
前記カウンタによる前記所定期間におけるカウント値と前記カウンタ数設定記憶部に記憶されている前記設定値とに基づいて、前記所定の範囲内に収まっているかの前記判定を行う発振周期比較器とを含む
ことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記発振周期比較器が行う前記判定とは、
前記カウント値と前記設定値との差分が所定値以下であるか否かを判定することであり、
前記信号出力部は、前記発振周期比較器により所定値以下と判定された場合に、前記安定検知信号を出力する
ことを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記カウンタ数設定記憶部は、レジスタである
ことを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力されると前記発振周期判定部による前記判定を抑止し、その後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる発振周期モニタ部を備え、
前記発振周期モニタ部は、前記判定の再開時に、再開から所定時間内に前記信号出力部から前記安定検知信号が出力されない場合に、発振異常検知信号を出力する
ことを特徴とする請求項１から４のうちいずれか１項記載の半導体集積回路。
【請求項６】
前記発振周期モニタ部は、
前記信号出力部から安定検知信号を受信する検知信号受信部と、
前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期判定部に前記判定を行わせ、前記安定検知信号を受信すると、前記発振周期判定部による前記判定を抑止する抑止部と、
前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期判定部に前記判定を再開させる判定制御部と、
前記判定の再開時に、再開から前記所定時間内に前記検知信号受信部により安定検知信号を受信しない場合に、発振異常検知信号を出力する異常検知出力部とを含む
ことを特徴とする請求項５記載の半導体集積回路。
【請求項７】
前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力されると前記発振周期判定部による前記判定を抑止し、その後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる発振周期モニタ部を備え、
前記発振周期モニタ部は、
前記信号出力部から安定検知信号を受信する検知信号受信部と、
前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期判定部に前記判定を行わせ、前記安定検知信号を受信すると、前記発振周期判定部による前記判定を抑止する抑止部と、
前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期判定部に前記判定を再開させる判定制御部と、
前記判定制御部による前記再開時における、前記発振周期判定部が前記判定を行うための前記所定期間の長さを決定する測定期間決定部と、
前記測定期間決定部により決定された前記所定期間の長さに応じた設定値を前記カウンタ数設定記憶部に記憶させる設定値制御部と、
前記判定の再開時に、再開から所定時間内に前記検知信号受信部により安定検知信号を受信しない場合に、発振異常検知信号を出力する異常検知出力部とを含み、
前記判定制御部は、前記再開時に、前記測定期間決定部により決定された長さに従って前記発振周期判定部に前記判定を行わせる
ことを特徴とする請求項２から４のうちいずれか１項記載の半導体集積回路。
【請求項８】
高速クロック信号が安定して生成されていることを検知する半導体集積回路であって、
周期的に低速クロック信号および高速クロック信号を受信する受信部と、
前記受信部により所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定部と、
前記発振周期判定部により肯定的な判定がなされた回数に基づいて、安定検知信号の出力を制御する信号出力部とを備える
ことを特徴とする半導体集積回路。
【請求項９】
前記信号出力部は、
前記発振周期判定部による肯定的な判定がなされた回数が一定回数に達した場合に、安定検知信号の前記出力を行う
ことを特徴とする請求項８記載の半導体集積回路。
【請求項１０】
前記発振周期判定部は、
前記所定の範囲内に収まっていると判定すると発振周期一致信号を出力する発振周期比較器を含み、
前記信号出力部は、
前記発振周期比較器から出力される前記発振周期一致信号を受信して、その受信回数をカウントする一致回数カウンタと、
判定回数値を記憶している判定回数設定記憶部と、
前記一致回数カウンタでカウントされたカウント値と前記判定回数設定記憶部に記憶されている前記判定回数値とを比較し、前記一致回数カウンタのカウント値が前記判定回数値以上である場合に、安定検知信号の前記出力を行う発振安定判定器とを含む
ことを特徴とする請求項９記載の半導体集積回路。
【請求項１１】
前記発振周期判定部は、
設定値を記憶しているカウンタ数設定記憶部と、
前記所定期間において前記受信された高速クロック信号の数をカウントするカウンタとを含み、
前記発振周期比較器は、前記受信部により前記所定数の低速クロック信号が受信される都度、前記カウンタによる前記所定期間におけるカウント値と前記カウンタ数設定記憶部に記憶されている前記設定値とに基づいて、前記所定の範囲内に収まっているかの前記判定を行い、肯定的な判定結果である場合に前記発振周期一致信号を出力する
ことを特徴とする請求項１０記載の半導体集積回路。
【請求項１２】
前記発振周期判定部は、
前記所定の範囲内に収まっていると判定すると発振周期一致信号を出力し、前記所定の範囲内に収まっていないと判定すると発振周期不一致信号を出力する発振周期比較器を含み、
前記信号出力部は、
前記発振周期比較器から出力される前記発振周期一致信号および前記発振周期不一致信号を受信し、受信した信号が前記発振周期一致信号であるか前記発振周期不一致信号であるかに応じて、保持しているカウント値を増減させる一致回数カウンタと、
判定回数値を記憶している判定回数設定記憶部と、
前記一致回数カウンタでカウントされているカウント値と前記判定回数設定記憶部に記憶されている判定回数値とを比較することにより安定検知信号の前記出力を制御する発振安定判定器とを含む
ことを特徴とする請求項８記載の半導体集積回路。
【請求項１３】
前記一致回数カウンタは、前記発振周期比較器から出力される前記発振周期一致信号を受信するとカウントアップし、前記発振周期比較器から出力される前記発振周期不一致信号を受信するとカウントダウンし、
前記発振安定判定器は、前記一致回数カウンタでカウントされているカウント値と前記判定回数設定記憶部に記憶されている判定回数値とを比較し、前記カウント値が前記判定回数値に達した場合に安定検知信号の前記出力を行う
ことを特徴とする請求項１２記載の半導体集積回路。
【請求項１４】
前記発振周期判定部は、
設定値を記憶しているカウンタ数設定記憶部と、
前記所定期間において前記受信された高速クロック信号の数をカウントするカウンタとを含み、
前記発振周期比較器は、前記受信部により前記所定数の低速クロック信号が受信される都度、前記カウンタによる前記所定期間におけるカウント値と前記カウンタ数設定レジスタに記憶されている前記設定値とに基づいて、前記所定の範囲内に収まっているかの前記判定を行い、肯定的な判定結果である場合に前記発振周期一致信号を出力し、否定的な判定結果である場合に前記発振周期不一致信号を出力する
ことを特徴とする請求項１３記載の半導体集積回路。
【請求項１５】
前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力されると前記発振周期判定部による前記判定を抑止し、その後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる発振周期モニタ部を備え、
前記発振周期モニタ部は、前記判定の再開時に否定的な判定がなされた場合に、発振異常検知信号を出力する
ことを特徴とする請求項８から１３のうちいずれか１項に記載の半導体集積回路。
【請求項１６】
前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力された後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる処理を行う発振周期モニタ部を備え、
前記発振周期モニタ部は、
前記発振周期一致信号および前記安定検知信号を受信する検知信号受信部と、
前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期比較器に前記判定を行わせ、前記安定検知信号を受信した後は前記発振周期比較器による前記判定を抑止する抑止部と、
前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期比較器に前記判定を再開させる判定制御部と、
前記判定の再開時に、再開から所定時間内に前記検知信号受信部により前記発振周期比較器から前記発振周期一致信号を受信しない場合に発振異常検知信号を出力する異常検知出力部とを含む
ことを特徴とする請求項１０または１１記載の半導体集積回路。
【請求項１７】
前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力された後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる処理を行う発振周期モニタ部を備え、
前記発振周期モニタ部は、
前記発振周期不一致信号および前記安定検知信号を受信する検知信号受信部と、
前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期比較器に前記判定を行わせ、前記安定検知信号を受信した後は前記発振周期比較器による前記判定を抑止する抑止部と、
前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期比較器に前記判定を再開させる判定制御部と、
前記判定の再開時に、再開から所定時間内に前記検知信号受信部により前記発振周期比較器から前記発振周期不一致信号を受信した場合に発振異常検知信号を出力する異常検知出力部とを含む
ことを特徴とする請求項１２から１４のうちいずれか１項記載の半導体集積回路。
【請求項１８】
高速クロック信号が安定して生成されていることを検知する半導体集積回路であって、
周期的に低速クロック信号および高速クロック信号を受信する受信部と、
前記受信部により所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定部と、
前記所定期間において受信された前記高速クロック信号の数の履歴を記憶し、前記履歴に示される高速クロック信号の受信数それぞれが所定の条件を満たすか判定する発振安定判定部と、
前記発振周期判定部および前記発振安定判定部が共に肯定的な判定を行った場合に安定検知信号を出力する信号出力部とを備える
ことを特徴とする半導体集積回路。
【請求項１９】
前記発振安定判定部が行う前記判定とは、前記履歴に示される高速クロック信号の受信数それぞれの差分が所定値以下であるか否かを判定することである
ことを特徴とする請求項１８記載の半導体集積回路。
【請求項２０】
前記発振安定判定部は、
前記受信部により前記所定数の低速クロック信号を受信する都度、前記所定期間における前記高速クロック信号の受信数を履歴として記憶する高速クロック履歴記憶部と、
前記高速クロック履歴部に記憶されている第１の記憶値と、検知の開始後であって前記第１の記憶値より以前に履歴として前記高速クロック履歴部に記憶された第２の記憶値との差分が所定値以下であるか判定する差分判定部とを含み、
前記信号出力部は、前記差分判定部および前記発振周期判定部が共に肯定的な判定を行った場合に、安定検知信号を出力する
ことを特徴とする請求項１９記載の半導体集積回路。
【請求項２１】
前記半導体集積回路は、
前記所定期間において前記受信された前記高速クロック信号の数をカウントするカウンタを含み、
前記高速クロック履歴記憶部は、
前記受信部により前記所定数の低速クロック信号を受信する都度、前記所定期間におけるカウンタのカウント値を取得して前記履歴として記憶する
ことを特徴とする請求項２０記載の半導体集積回路。
【請求項２２】
前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力されると前記発振周期判定部による前記判定を抑止し、その後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる発振周期モニタ部を備え、
前記発振周期モニタ部は、前記判定の再開時に否定的な判定がなされた場合に、発振異常検知信号を出力する
ことを特徴とする請求項１８から２１のうちいずれか１項記載の半導体集積回路。
【請求項２３】
前記発振周期判定部は、前記所定の範囲内に収まっていると判定すると発振周期一致信号を出力する発振周期比較器を含み、
前記発振周期モニタ部は、
前記発振周期一致信号および前記安定検知信号を受信する検知信号受信部と、
前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期比較器に前記判定を行わせ、前記安定検知信号を受信した後は前記発振周期比較器による前記判定を抑止する抑止部と、
前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期比較器に前記判定を再開させる判定制御部と、
前記判定の再開時に、再開から所定時間内に前記検知信号受信部により前記発振周期比較器から前記発振周期一致信号を受信しない場合に発振異常検知信号を出力する異常検知出力部とを含む
ことを特徴とする請求項２２記載の半導体集積回路。
【請求項２４】
高速クロック信号が安定して生成されていることを検知する半導体集積回路であって、
周期的に低速クロック信号および高速クロック信号を受信する受信部と、
前記受信部により所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定部と、
前記受信された低速クロック信号の数をカウントする低速クロックカウンタと、
前記発振周期判定部が肯定的な判定をするたびに、その肯定的な判定にかかる前記所定数の低速クロック信号を受信するまでに前記低速クロックカウンタにおいてカウントされたカウント値を取得して履歴として記憶する低速クロック履歴記憶部と、
前記低速クロック履歴記憶部に記憶されているカウント値の履歴に基づいて、前記履歴に示される複数のカウント値のそれぞれが所定の条件を満たすか判定する判定部と、
前記判定部による肯定的な判定がなされた回数が所定回数に達すると、安定検知信号を出力する信号出力部とを備える
ことを特徴とする半導体集積回路。
【請求項２５】
前記判定部が行う前記判定とは、前記低速クロック履歴記憶部に記憶されている第１のカウント値と、前記第１のカウント値より以前に履歴として記憶された第２のカウント値との差分が所定値以下であるか否かを判定することである
ことを特徴とする請求項２４記載の半導体集積回路。
【請求項２６】
前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力されると前記発振周期判定部による前記判定を抑止し、その後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる発振周期モニタ部を備え、
前記発振周期モニタ部は、前記判定の再開時に否定的な判定がなされた場合に、発振異常検知信号を出力する
ことを特徴とする請求項２４または請求項２５のうちいずれか１項に記載の半導体集積回路。
【請求項２７】
前記発振周期判定部は、前記所定の範囲内に収まっていると判定すると発振周期一致信号を出力する発振周期比較器を含み、
前記発振周期モニタ部は、
前記発振周期一致信号および前記安定検知信号を受信する検知信号受信部と、
前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期比較器に前記判定を行わせ、前記安定検知信号を受信した後は前記発振周期比較器による前記判定を抑止する抑止部と、
前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期比較器に前記判定を再開させる判定制御部と、
前記判定の再開時に、再開から所定時間内に前記検知信号受信部により前記発振周期比較器から前記発振周期一致信号を受信しない場合に発振異常検知信号を出力する異常検知出力部とを含む
ことを特徴とする請求項２６記載の半導体集積回路。
【請求項２８】
前記半導体集積回路は、さらに、
前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントする低速クロックカウンタと、
判定開始値を記憶している発振安定タイミング記憶部と、
前記低速クロックカウンタのカウント値が、前記発振安定タイミング記憶部に記憶されている前記判定開始値に達するまで前記発振周期判定部による前記判定の開始を抑止する起動タイミング制御部を備える
ことを特徴とする請求項１から２３のうちいずれか１項記載の半導体集積回路。
【請求項２９】
前記半導体集積回路は、さらに、
前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントする低速クロックカウンタと、
判定開始値を記憶する発振安定タイミング記憶部と、
起動タイミング比較器とを含み、
前記発振安定タイミング記憶部は、前記発振周期判定部が肯定的な判定を行ったとき、その判定にかかる前記所定数の低速クロック信号の受信時に前記低速クロックカウンタでカウントされているカウント値を取得して前記判定開始値として記憶し、
前記起動タイミング比較器は、前記発振安定タイミング記憶部に前記判定開始値が記憶されている場合、前記記憶されている前記判定開始値と前記低速クロックカウンタでカウントされているカウント値とを比較して、当該カウント値が前記判定開始値に達するまで前記発振周期判定部による前記判定の開始を抑止し、前記判定開始値に達した場合に前記抑止を解除する
ことを特徴とする請求項１から２３のうちいずれか１項記載の半導体集積回路。
【請求項３０】
前記低速クロックカウンタは、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントし、
前記半導体集積回路は、さらに、
判定開始値を記憶している発振安定タイミング記憶部と、
前記低速クロックカウンタのカウント値が、前記発振安定タイミング記憶部に記憶されている前記判定開始値に達するまで前記発振周期判定部による前記判定の開始を抑止する起動タイミング制御部を含む
ことを特徴とする請求項２４から請求項２７のうちいずれか１項記載の半導体集積回路。
【請求項３１】
前記低速クロックカウンタは、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントし、
前記半導体集積回路は、さらに、
判定開始値を記憶する発振安定タイミング記憶部と、
起動タイミング比較器とを含み、
前記発振安定タイミング記憶部は、前記発振周期判定部が肯定的な判定を行ったとき、その判定にかかる前記所定数の低速クロック信号の受信時に前記低速クロックカウンタでカウントされているカウント値を取得して前記判定開始値として記憶し、
前記起動タイミング比較器は、前記発振安定タイミング記憶部に前記判定開始値が記憶されている場合、前記記憶されている前記判定開始値と前記低速クロックカウンタでカウントされているカウント値とを比較して、当該カウント値が前記判定開始値に達するまで前記発振周期判定部による前記判定の開始を抑止し、前記判定開始値に達した場合に前記抑止を解除する
ことを特徴とする請求項２４から請求項２７のうちいずれか１項記載の半導体集積回路。
【請求項３２】
前記半導体集積回路は、さらに、
前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントする低速クロックカウンタと、
安定タイミング値を記憶する発振安定タイミング記憶部と、
前記信号出力部から前記出力される前記安定検知信号を受信する検知信号受信部と、
前記検知信号受信部により安定検知信号を受信した場合に、前記安定検知信号の出力にかかる肯定的な判定が前記発振周期判定部によりなされた時の、その判定にかかる前記所定数の低速クロック信号の受信時に前記低速クロックカウンタでカウントされているカウント値を取得して前記安定タイミング値として前記発振安定タイミング記憶部に記憶させる発振安定待ち制御部とを含み、
前記発振安定待ち制御部は、
前記発振安定タイミング記憶部に前記安定タイミング値が記憶されている場合に前記検知が開始すると、前記発振周期判定部による前記判定の開始を抑止し、前記低速クロックカウンタでカウントされているカウント値と前記発振安定タイミング記憶部で記憶されている前記安定タイミング値とを比較し、前記低速クロックカウンタの前記カウント値が前記安定タイミング値に達した場合に安定検知信号を出力する
ことを特徴とする請求項１から２３のうちいずれか１項記載の半導体集積回路。
【請求項３３】
前記低速クロックカウンタは、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントし、
前記半導体集積回路は、さらに、
安定タイミング値を記憶する発振安定タイミング記憶部と、
前記信号出力部から前記出力される前記安定検知信号を受信する検知信号受信部と、
前記検知信号受信部により安定検知信号を受信した場合に、前記安定検知信号の出力にかかる肯定的な判定が前記発振周期判定部によりなされた時の、その判定にかかる前記所定数の低速クロック信号の受信時に前記低速クロックカウンタでカウントされているカウント値を取得して前記安定タイミング値として前記発振安定タイミング記憶部に記憶させる発振安定待ち制御部とを含み、
前記発振安定待ち制御部は、
前記発振安定タイミング記憶部に前記安定タイミング値が記憶されている場合に前記検知が開始すると、前記発振周期判定部による前記判定の開始を抑止し、前記低速クロックカウンタでカウントされているカウント値と前記発振安定タイミング記憶部で記憶されている前記安定タイミング値とを比較し、前記低速クロックカウンタの前記カウント値が前記安定タイミング値に達した場合に安定検知信号を出力する
ことを特徴とする請求項２４から請求項２７のうちいずれか１項記載の半導体集積回路。
【請求項３４】
前記発振周期判定部の判定にかかる前記所定期間とは、前記低速クロック信号の１クロック周期である
ことを特徴とする請求項１から３３のうちいずれか１項に記載の半導体集積回路。
【請求項３５】
前記発振周期判定部の判定にかかる前記所定の範囲とは、前記高速クロック信号と前記低速クロック信号のクロック周波数の比の値に基づいた範囲である
ことを特徴とする請求項１から３３のうちいずれか１項に記載の半導体集積回路。
【請求項３６】
前記カウンタ数設定レジスタに記憶される前記設定値は、前記高速クロック信号と前記低速クロック信号のクロック周波数の比の値に基づく値である
ことを特徴とする請求項２、１１、１４のうちいずれか１項に記載の半導体集積回路。
【請求項３７】
前記半導体集積回路は、所定回路へ供給される高速クロック信号が安定しているか検知するものであり、
前記半導体集積回路は、さらに、
前記安定検知信号が前記出力されるまで前記高速クロック信号の前記所定回路への供給を遮断し、前記安定検知信号が前記出力されるとその遮断を解除する第１のクロックゲーティング回路と、
前記安定検知信号が前記出力されるまでまで前記低速クロック信号および前記高速クロック信号を自回路へ供給し、前記安定検知信号が前記出力されるとその供給を遮断する第２のクロックゲーティング回路とを備え、
前記信号出力部は、前記安定検知信号を、前記第１および第２のクロックゲーティング回路それぞれへ出力する
ことを特徴とする請求項１から３５のうちいずれか１項に記載の半導体集積回路。
【請求項３８】
動作モードとして、高速クロック信号で動作するノーマルモードと、低速クロック信号で動作するスタンバイモードとを備え、前記ノーマルモードと前記スタンバイモードとを切り替えて動作する情報処理システムであって、
前記情報処理システムは、前記スタンバイモードから前記ノーマルモードへの切替の開始時に、前記高速クロック信号が高速発振器から安定して生成されているか検知する半導体集積回路を備え、前記半導体集積回路が前記検知を行うと前記スタンバイモードから前記ノーマルモードへの移行を完了し、
前記半導体集積回路は、
周期的に低速クロック信号および高速クロック信号を受信する受信部と、
前記低速クロック信号の受信間隔に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が、所定の範囲内に収まっているか判定する発振周期判定部と、
肯定的な判定がなされた場合に、安定検知信号を出力する信号出力部とを備える
ことを特徴とする情報処理システム。
【請求項３９】
動作モードとして、高速クロック信号で動作するノーマルモードと、低速クロック信号で動作するスタンバイモードとを備え、前記ノーマルモードと前記スタンバイモードとを切り替えて動作する情報処理システムであって、
前記情報処理システムは、前記スタンバイモードから前記ノーマルモードへの切替の開始時に、前記高速クロック信号が高速発振器から安定して生成されているか検知する半導体集積回路を備え、前記半導体集積回路が前記検知を行うと前記スタンバイモードから前記ノーマルモードへの移行を完了し、
前記半導体集積回路は、
周期的に低速クロック信号および高速クロック信号を受信する受信部と、
前記受信部により所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定部と、
前記発振周期判定部により肯定的な判定がなされた回数に基づいて、安定検知信号の出力を制御する信号出力部とを備える
ことを特徴とする情報処理システム。
【請求項４０】
高速クロック信号が安定して生成されていることを検知する発振安定検知方法であって、
周期的に低速クロック信号および高速クロック信号を受信する受信ステップと、
前記低速クロック信号の受信間隔に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が、所定の範囲内に収まっているか判定する発振周期判定ステップと、
肯定的な判定がなされた場合に、安定検知信号を出力する信号出力ステップとを含むことを特徴とする発振安定検知方法。
【請求項４１】
高速クロック信号が安定して生成されていることを検知する発振安定検知方法であって、
周期的に低速クロック信号および高速クロック信号を受信する受信ステップと、
前記受信ステップにより所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定ステップと、
前記発振周期判定ステップにより肯定的な判定がなされた回数に基づいて、安定検知信号の出力を制御する信号出力ステップとを含む
ことを特徴とする発振安定検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速クロック信号が高速発振器から安定して生成されていることを早期に検知する技術に関する。
【背景技術】
【０００２】
消費電力を小さくするために、高速クロック信号と低速クロック信号とを切り替えて動作する情報処理システムが現在広く利用されている。具体的には、この情報処理システムは、動作モードとして、ノーマルモードとスタンバイモードとを備えている。ノーマルモードとは、高速発振器の供給する高速クロック信号で動作するモードのことをいう。スタンバイモードとは、高速発振器が発振を停止して低速発振器の供給する低速クロック信号で動作するモードのことをいう。
【０００３】
情報処理システムは、スタンバイモードからノーマルモードへと移行する際、高速発振器の発振が安定していること、つまり高速発振器が生成する高速クロック信号の振幅と周波数が安定していることを検知してからノーマルモードへの移行を完了する必要がある。なぜなら、高速発振器の発振が安定していないまま高速クロック信号で情報処理システムが動作すると、不安定な高速クロック信号が供給されるために情報処理システムが暴走する等の問題が起こるからである。
【０００４】
そこで、従来においては、高速発振器の発振が安定するまでに生成される高速クロック信号の数を見積もっておき、高速発振器が十分な数の高速クロック信号を生成していれば発振が安定していると推定して上記検知を行っている。例えば、高速発振器が生成する高速クロック信号を、順次、カウンタに入力する。このカウンタが高速クロック信号の入力を所定数カウントすると、情報処理システムは、ノーマルモードへの移行を完了する。
【０００５】
しかし、高速発振器の発振が安定するまでにどのように高速クロック信号が生成されるかは、高速発振器の製造バラツキ等のために、高速発振器それぞれで異なる。例えば発振が安定するまでの時間や、安定するまでの高速クロック信号の周波数の増加具合などが異なる。この他に、熱などの外的な要因などにより、高速発振器の発振が安定するのが通常よりも遅れる場合もありうる。
【０００６】
そこで、下記の特許文献１では、生成される全ての高速クロック信号の数をカウントするのではなく、振幅が安定している高速クロック信号のみをカウントする技術が開示されている。具体的には、特許文献１では、所定のしきい値以上の振幅の信号を通過させる半導体を用いて、振幅がしきい値を上回った信号の数、つまり振幅が安定している高速クロック信号の数をカウントしている。
【特許文献１】特開平３−９５６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記特許文献１記載の技術は、検知の精度に信頼が持てないという問題を有している。なぜなら、特許文献１記載の技術では、高速クロック信号の周波数が安定していることまでは検知できないからである。すなわち、高速クロック信号を所定数カウントしたからといって、所定数のカウント時点で高速クロック信号の周波数が安定しているとは限らない。そのため、上記特許文献１記載の技術は、高速クロック信号の周波数が安定していないにもかかわらず、高速発振器の発振が安定していると誤って検知するおそれがある。
【０００８】
そこで、本発明は、高速発振器から高速クロック信号が安定して生成されていることの検知の信頼性を高めることを可能とする技術、具体的には信頼性の高い検知を行う半導体集積回路、および、前記検知の信頼性を高めた発振安定検知部を含む情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、高速クロック信号が安定して生成されていることを検知する半導体集積回路であって、周期的に低速クロック信号および高速クロック信号を受信する受信部と、前記低速クロック信号の受信間隔に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が、所定の範囲内に収まっているか判定する発振周期判定部と、肯定的な判定がなされた場合に、安定検知信号を出力する信号出力部とを備える。
【発明の効果】
【００１０】
クロック信号の周波数とは、要するに単位時間あたりに生成されるクロックパルスの数のことであるから、高速クロック信号の周波数が安定しているとは、つまり、高速クロック信号が所定時間内に所定数、生成されているということである。
上述の構成を備える半導体集積回路は、特に、発振周期判定部を備えることを特徴としており、所定時間内に生成される高速クロック信号の数が所定の範囲内に収まっているかを発振周期判定部により判定する。所定の範囲内に収まっていれば、高速クロック信号が所定の周波数で生成されていることになる。したがって、上述の構成によると、高速クロック信号の周波数が安定していることを検知でき、従来と比べて検知の信頼性を向上させることができる。
【００１１】
さらに、上述の構成について補足すると、高速クロック信号の数をカウントするための前記所定期間は、低速クロック信号の受信間隔に基づいて定まる。低速クロック信号は既に安定して低速発振器から生成されているので、低速クロック信号の受信間隔はほぼ一定である。そのため、本発明の場合、前記所定期間の長さをほぼ一定に保つことができる。そうすると、検知のたびに前記所定期間の長さが大きく変動することもないので、高速発振器の製造バラツキ等、高速発振器の発振のしかたに検知の精度が影響されない。
【００１２】
また、上述のように、前記所定期間は、低速クロック信号のパルスの受信間隔に基づいて定まる。つまり、実際に受信した低速クロック信号の受信間隔に基づいて前記所定期間が決定されるので、前記所定期間を決定するために低速クロック信号の周波数およびクロック周期といった情報を取得したり保持したりする回路が不要になる。不要になった分、前記検知を行うための半導体集積回路を小型化し、また安価に製造できる。
【００１３】
ところで、従来技術においては、発振がなかなか安定しない最悪のケースを想定して、高速クロック信号の数をカウントするカウンタのサイズをある程度余裕を持たせて大きくせざるを得ない。ここで、上記特許文献１記載の技術を用いると、振幅が安定している高速クロック信号のみをカウントするので、カウンタのサイズを小さくすることはできる。しかし、上記特許文献１記載の技術は、結局、高速クロック信号の入力が所定数カウントされると高速発振器の発振が安定していると推定して前記検知を行っている。そのため、高速発振器の製造バラツキや、発振がなかなか安定しない最悪のケース等を考慮してカウンタのサイズをある程度大きくせざるを得ないという問題は残ったままであり、半導体集積回路の小型化が難しい。
【００１４】
そこで、上述の半導体集積回路は、具体的には、以下のように構成するとよい。
すなわち、前記発振周期判定部は、設定値を記憶しているカウンタ数設定記憶部と、前記所定期間において前記受信された高速クロック信号の数をカウントするカウンタと、前記カウンタによる前記所定期間におけるカウント値と前記カウンタ数設定記憶部に記憶されている前記設定値とに基づいて、前記所定の範囲内に収まっているかの前記判定を行う発振周期比較器とを含むこととしてもよい。
【００１５】
上記構成を備える本発明の場合、前記カウンタにおいてカウントすべき高速クロック信号の数は、前記所定期間の長さと、高速クロック信号が安定して生成されている時の高速クロック信号の周波数に基づいて定まる。高速発振器の発振が安定している時の高速クロック信号の周波数は、通常、既知である。したがって、本発明は、カウンタに必要なサイズが定まるので、上記特許文献１記載の技術のように製造バラツキ等を考慮して余裕を持たせてカウンタのサイズを大きくする必要がなく、小型化が容易となる。
【００１６】
ここで、上述の構成は、以下のようにするとよい。
すなわち、前記発振周期比較器が行う前記判定とは、前記カウント値と前記設定値との差分が所定値以下であるか否かを判定することであり、前記信号出力部は、前記発振周期比較器により所定値以下と判定された場合に、前記安定検知信号を出力することとしてもよい。また、前記カウンタ数設定記憶部は、レジスタであることとしてもよい。
【００１７】
上述の構成によると、発振周期比較器は、差分を取得して所定値と比較するという簡単な演算によって判定を行うことができるため、判定のために複雑な演算を行う回路が不要になる。そのため半導体集積回路を小型化できる。
ところで、生成される高速クロック信号の周波数は、高速発振器が発振を開始した後、安定時の高速クロック信号の所定周波数を超えたり下回ったりしながら、徐々に所定周波数へと収束していくものである。したがって、生成されてくる高速クロック信号の周波数が所定周波数に達したからといって、高速発振器の発振が安定しているとは限らない。
【００１８】
また、特許文献１記載の技術では、既に高速発振器の発振が安定していたとしても、高速クロック信号の周波数が安定しているかは検知できず、カウンタで所定数のクロックパルスをカウントするまでは上記検知が行われない。そのため、高速クロック信号の周波数が安定していても、検知がなされるまでは、情報処理システムはノーマルモードに移行できず、不要に電力を消費するし、また高速クロック信号による動作の開始が遅れる。特に、頻繁にスタンバイモードとノーマルモードとを切り替えて情報処理システムが動作する場合、例えば間欠受信を行う無線通信装置などの場合は、不要に電力を消費することによる電池の寿命への悪影響や、不要な電力の消費に伴う発熱、そして処理開始の遅れなどは小さい方が望ましい。
【００１９】
そこで、本発明は、以下のようにしてもよい。
すなわち、本発明は、高速クロック信号が安定して生成されていることを検知する半導体集積回路であって、周期的に低速クロック信号および高速クロック信号を受信する受信部と、前記受信部により所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定部と、前記発振周期判定部により肯定的な判定がなされた回数に基づいて、安定検知信号の出力を制御する信号出力部とを備えることを特徴とする。
【００２０】
また、前記信号出力部は、前記発振周期判定部による肯定的な判定がなされた回数が一定回数に達した場合に、安定検知信号の前記出力を行うこととしてもよい。
高速発振器が発振を開始すると、生成される高速クロック信号の周波数が所定周波数に徐々に収束していくので、上述の構成のように、所定周波数の高速クロック信号が生成されていると一定回数以上判定した場合に前記検知を行うことで、前記検知の信頼性をさらに高めることができる。なお、高速発振器の発振が安定するのに比較的時間がかかる場合は、所定回数を比較的大きくすればよい。すなわち、安定に要する時間に応じて、前記所定回数を柔軟に設定することが望ましい。
【００２１】
また、上記構成を備える本発明の場合、発振周期判定部による判定を、所定数の低速クロック信号の受信の都度、行う。そのため、既に高速発振器の発振が安定していると、高速クロック信号の周波数が安定していることを早期に検知できる。すなわち、上述の構成によると、上記特許文献１記載の技術と比べて、前記検知を早期に行う可能性が高くなり、消費電力を小さくできるとともに、高速クロック信号による動作の開始を早期に行うことができる。
【００２２】
上述の半導体集積回路は、具体的には、以下のように構成するとよい。
すなわち、前記発振周期判定部は、前記所定の範囲内に収まっていると判定すると発振周期一致信号を出力する発振周期比較器を含み、前記信号出力部は、前記発振周期比較器から出力される前記発振周期一致信号を受信して、その受信回数をカウントする一致回数カウンタと、判定回数値を記憶している判定回数設定記憶部と、前記一致回数カウンタでカウントされたカウント値と前記判定回数設定記憶部に記憶されている前記判定回数値とを比較し、前記一致回数カウンタのカウント値が前記判定回数値以上である場合に、安定検知信号の前記出力を行う発振安定判定器とを含むこととしてもよい。
【００２３】
また、前記発振周期判定部は、設定値を記憶しているカウンタ数設定記憶部と、前記所定期間において前記受信された高速クロック信号の数をカウントするカウンタとを含み、前記発振周期比較器は、前記受信部により前記所定数の低速クロック信号が受信される都度、前記カウンタによる前記所定期間におけるカウント値と前記カウンタ数設定記憶部に記憶されている前記設定値とに基づいて、前記所定の範囲内に収まっているかの前記判定を行い、肯定的な判定結果である場合に前記発振周期一致信号を出力することとしてもよい。
【００２４】
このようにカウンタ等を用いることで、上述の半導体集積回路を簡易な構成で安価に製造することができる。
ところで、発振周期比較器が所定回数以上発振周期一致信号を出力することによって検知を行うこととすると、高速発振器の発振が不安定である期間が比較的長いか、通常より長引いた場合に、高速発振器の発振が安定していないにもかかわらず、高速発振器の発振が安定していると検知してしまう可能性が出てくる。すなわち、発振周期一致信号が所定回数出力されたからといって、高速発振器の発振が必ずしも安定しているとは限らない。
【００２５】
そこで、上述の構成において、以下のように変形することもできる。
すなわち、前記発振周期判定部は、前記所定の範囲内に収まっていると判定すると発振周期一致信号を出力し、前記所定の範囲内に収まっていないと判定すると発振周期不一致信号を出力する発振周期比較器を含み、前記信号出力部は、前記発振周期比較器から出力される前記発振周期一致信号および前記発振周期不一致信号を受信し、受信した信号が前記発振周期一致信号であるか前記発振周期不一致信号であるかに応じて、保持しているカウント値を増減させる一致回数カウンタと、判定回数値を記憶している判定回数設定記憶部と、前記一致回数カウンタでカウントされているカウント値と前記判定回数設定記憶部に記憶されている判定回数値とを比較することにより安定検知信号の前記出力を制御する発振安定判定器とを含むこととしてもよい。
【００２６】
上述の構成によると、高速発振器の発振が安定していない間は、発振周期比較器から発振周期一致信号や発振周期不一致信号が出力される。一致回数カウンタは、発振周期比較器から出力される信号に応じて、カウント値を増減させる。そのため、高速発振器の発振が不安定であれば、一致回数カウンタでカウントされているカウント値は増減を繰り返すことになる。そして、高速発振器の発振が安定してくると、発振周期一致信号が出力され続けるため、一致回数カウンタのカウント値は、増加または減少し続け、やがて発振安定判定器の比較により安定検知信号が出力される。つまり、上述の構成によると、高速発振器の発振が安定していないにもかかわらず高速発振器の発振が安定していると検知してしまうおそれを小さくすることができる。
【００２７】
この場合において、具体的には、以下のようにするとよい。
すなわち、前記一致回数カウンタは、前記発振周期比較器から出力される前記発振周期一致信号を受信するとカウントアップし、前記発振周期比較器から出力される前記発振周期不一致信号を受信するとカウントダウンし、前記発振安定判定器は、前記一致回数カウンタでカウントされているカウント値と前記判定回数設定記憶部に記憶されている判定回数値とを比較し、前記カウント値が前記判定回数値に達した場合に安定検知信号の前記出力を行うこととしてもよい。
【００２８】
また、この構成において、前記発振周期判定部は、設定値を記憶しているカウンタ数設定記憶部と、前記所定期間において前記受信された高速クロック信号の数をカウントするカウンタとを含み、前記発振周期比較器は、前記受信部により前記所定数の低速クロック信号が受信される都度、前記カウンタによる前記所定期間におけるカウント値と前記カウンタ数設定レジスタに記憶されている前記設定値とに基づいて、前記所定の範囲内に収まっているかの前記判定を行い、肯定的な判定結果である場合に前記発振周期一致信号を出力し、否定的な判定結果である場合に前記発振周期不一致信号を出力することとしてもよい。
【００２９】
これにより、半導体集積回路による検知の精度を高めることができる。
また、検知の精度をさらに向上させるために、本発明は、以下の構成としてもよい。
すなわち、本発明は、高速クロック信号が安定して生成されていることを検知する半導体集積回路であって、周期的に低速クロック信号および高速クロック信号を受信する受信部と、前記受信部により所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定部と、前記所定期間において受信された前記高速クロック信号の数の履歴を記憶し、前記履歴に示される高速クロック信号の受信数それぞれが所定の条件を満たすか判定する発振安定判定部と、前記発振周期判定部および前記発振安定判定部が共に肯定的な判定を行った場合に安定検知信号を出力する信号出力部とを備えることを特徴とする。
【００３０】
受信された前記高速クロック信号の数が前記所定の範囲内に収まっていれば、生成されている高速クロック信号の周波数が所定の範囲内に収まっていることとなる。しかし、前記所定の範囲内に収まっているとしても、生成されている高速クロック信号の周波数が安定しているとは限らず、周波数の変動が大きい場合がある。
これに対し、上記構成を備える半導体集積回路は、前記カウンタにおいて前記所定期間においてカウントされた高速クロック信号の数の履歴を記憶することで、カウントされたクロックパルス数の変動が大きいか小さいかを知ることができる。すなわち、上記構成によると、高速クロック信号の周波数が所定の範囲内に収まっていて、かつ、周波数の変動が大きいか小さいかを検知することができるので、安定検知の精度を従来よりさらに向上させ、さらに、早期に検知することができる。
【００３１】
上述の構成において、発振安定判定部の判定は、以下のようにするとよい。
すなわち、前記発振安定判定部が行う前記判定とは、前記履歴に示される高速クロック信号の受信数それぞれの差分が所定値以下であるか否かを判定することである、としてもよい。
上記構成は、具体的には、以下のようにするとよい。
【００３２】
すなわち、前記発振安定判定部は、前記受信部により前記所定数の低速クロック信号を受信する都度、前記所定期間における前記高速クロック信号の受信数を履歴として記憶する高速クロック履歴記憶部と、前記高速クロック履歴部に記憶されている第１の記憶値と、検知の開始後であって前記第１の記憶値より以前に履歴として前記高速クロック履歴部に記憶された第２の記憶値との差分が所定値以下であるか判定する差分判定部とを含み、前記信号出力部は、前記差分判定部および前記発振周期判定部が共に肯定的な判定を行った場合に、安定検知信号を出力することとしてもよい。
【００３３】
また、前記半導体集積回路は、前記所定期間において前記受信された前記高速クロック信号の数をカウントするカウンタを含み、前記高速クロック履歴記憶部は、前記受信部により前記所定数の低速クロック信号を受信する都度、前記所定期間におけるカウンタのカウント値を取得して前記履歴として記憶することとしてもよい。
これにより、差分を計算して、計算した差分と所定値とを比較するという簡単な演算によって判定を行うことができるため、判定のために複雑な演算を行う回路が不要になる。そのため半導体集積回路を小型化できる。
【００３４】
この他に、検知の精度をさらに向上させるには、本発明は、以下の構成としてもよい。
すなわち、本発明は、高速クロック信号が安定して生成されていることを検知する半導体集積回路であって、周期的に低速クロック信号および高速クロック信号を受信する受信部と、前記受信部により所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定部と、前記受信された低速クロック信号の数をカウントする低速クロックカウンタと、前記発振周期判定部が肯定的な判定をするたびに、その肯定的な判定にかかる前記所定数の低速クロック信号を受信するまでに前記低速クロックカウンタにおいてカウントされたカウント値を取得して履歴として記憶する低速クロック履歴記憶部と、前記低速クロック履歴記憶部に記憶されているカウント値の履歴に基づいて、前記履歴に示される複数のカウント値のそれぞれが所定の条件を満たすか判定する判定部と、前記判定部による肯定的な判定がなされた回数が所定回数に達すると、安定検知信号を出力する信号出力部とを備えることを特徴とする。
【００３５】
この構成において、具体的には、以下のように構成するとよい。
すなわち、前記判定部が行う前記判定とは、前記低速クロック履歴記憶部に記憶されている第１のカウント値と、前記第１のカウント値より以前に履歴として記憶された第２のカウント値との差分が所定値以下であるか否かを判定することであることとしてもよい。
高速発振器の発振が安定してくると、前記発振周期判定部は、前記判定を行うたび、連続して肯定的な判定をするようになる。したがって、低速クロック信号の数をカウントしておき、発振周期判定部が肯定的な判定をするたびにその数を履歴として記憶しておくと、高速発振器の発振が安定してくるにつれて、履歴として記憶されている低速クロック信号の、それぞれの差分が徐々に小さくなる。
【００３６】
例えば、低速クロック信号の数を２つ履歴として記憶しておくと、高速クロック信号の発振が安定してくるにつれて、履歴として記憶される低速クロック信号の数それぞれの差分は１に近づく。
したがって、上記の構成を備える半導体集積回路は、低速クロック信号の数の履歴を記憶することにより、検知の精度を従来よりさらに向上させることができる。また、上記の構成では、低速クロック信号の数をカウントするための低速クロックカウンタを用意すればよいので、大きなサイズのカウンタは必要ではない。すなわち、上記構成によると、回路を小型化しつつ検知の精度を向上させることができる。
【００３７】
ところで、情報処理システムの動作の安定性を向上させる他にも、情報処理システムの消費電力を小さくすることも重要である。
そこで、前記半導体集積回路は、さらに、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントする低速クロックカウンタと、判定開始値を記憶している発振安定タイミング記憶部と、前記低速クロックカウンタのカウント値が、前記発振安定タイミング記憶部に記憶されている前記判定開始値に達するまで前記発振周期判定部による前記判定の開始を抑止する起動タイミング制御部を備えることとしてもよい。
【００３８】
なお、低速クロックの履歴に基づいて検知の精度を高める上記技術の場合、以下のようにするとよい。
すなわち、前記低速クロックカウンタは、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントし、前記半導体集積回路は、さらに、判定開始値を記憶している発振安定タイミング記憶部と、前記低速クロックカウンタのカウント値が、前記発振安定タイミング記憶部に記憶されている前記判定開始値に達するまで前記発振周期判定部による前記判定の開始を抑止する起動タイミング制御部を含むこととしてもよい。
【００３９】
このように構成すると、検知を開始した後の、発振周期判定部の動作の開始時点を判定開始値により制御することができる。特に、高速発振器が発振を開始してから安定するまでのおおよその時間が判明している場合は、その時間の分だけ発振周期判定部の判定の開始を遅らせるよう判定開始値を調整することにより、発振周期判定部の動作時間を、上記起動タイミング制御部を備えない場合と比べて減らすことができる。つまり、高速発振器の発振開始の直後から発振周期判定部が判定を行う場合と比べて、半導体集積回路の消費電力をさらに小さくすることができる。ここで、消費電力をなるべく小さくしつつ、前記検知を早期に行うには、高速発振器が発振を開始してから安定するまでのおおよその時間の間に生成される低速クロック信号の数を、前記判定開始値とすることが望ましい。
【００４０】
なお、以下のように構成することとしてもよい。
すなわち、前記半導体集積回路は、さらに、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントする低速クロックカウンタと、判定開始値を記憶する発振安定タイミング記憶部と、起動タイミング比較器とを含み、前記発振安定タイミング記憶部は、前記発振周期判定部が肯定的な判定を行ったとき、その判定にかかる前記所定数の低速クロック信号の受信時に前記低速クロックカウンタでカウントされているカウント値を取得して前記判定開始値として記憶し、前記起動タイミング比較器は、前記発振安定タイミング記憶部に前記判定開始値が記憶されている場合、前記記憶されている前記判定開始値と前記低速クロックカウンタでカウントされているカウント値とを比較して、当該カウント値が前記判定開始値に達するまで前記発振周期判定部による前記判定の開始を抑止し、前記判定開始値に達した場合に前記抑止を解除することとしてもよい。
【００４１】
ここで、低速クロックの履歴に基づいて検知の精度を高める上記技術の場合、以下のようにするとよい。
すなわち、前記低速クロックカウンタは、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントし、前記半導体集積回路は、さらに、判定開始値を記憶する発振安定タイミング記憶部と、起動タイミング比較器とを含み、前記発振安定タイミング記憶部は、前記発振周期判定部が肯定的な判定を行ったとき、その判定にかかる前記所定数の低速クロック信号の受信時に前記低速クロックカウンタでカウントされているカウント値を取得して前記判定開始値として記憶し、前記起動タイミング比較器は、前記発振安定タイミング記憶部に前記判定開始値が記憶されている場合、前記記憶されている前記判定開始値と前記低速クロックカウンタでカウントされているカウント値とを比較して、当該カウント値が前記判定開始値に達するまで前記発振周期判定部による前記判定の開始を抑止し、前記判定開始値に達した場合に前記抑止を解除することとしてもよい。
【００４２】
このように構成すると、半導体集積回路は、まず、実際に発振周期判定部が肯定的な判定をした際の低速クロックカウンタでカウントされている数を取得して判定開始値として記憶する。その記憶にかかる判定開始値を用いて発振周期判定部による判定の開始のタイミングを制御する。したがって、上記構成の半導体集積回路は、低消費電力化の点で最適な判定開始のタイミングを取得することができる。
【００４３】
ところで、上記の技術では、前記検知を開始した後、発振周期判定部による判定の開始を遅らせることで低消費電力化を実現しているが、高速発振器の発振が時間の経過とともに徐々に安定していくという性質に着目すると、安定した時点の検出方法を工夫することで、さらに低消費電力化を実現することができる。
具体的には、前記半導体集積回路は、さらに、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントする低速クロックカウンタと、安定タイミング値を記憶する発振安定タイミング記憶部と、前記信号出力部から前記出力される前記安定検知信号を受信する検知信号受信部と、前記検知信号受信部により安定検知信号を受信した場合に、前記安定検知信号の出力にかかる肯定的な判定が前記発振周期判定部によりなされた時の、その判定にかかる前記所定数の低速クロック信号の受信時に前記低速クロックカウンタでカウントされているカウント値を取得して前記安定タイミング値として前記発振安定タイミング記憶部に記憶させる発振安定待ち制御部とを含み、前記発振安定待ち制御部は、前記発振安定タイミング記憶部に前記安定タイミング値が記憶されている場合に前記検知が開始すると、前記発振周期判定部による前記判定の開始を抑止し、前記低速クロックカウンタでカウントされているカウント値と前記発振安定タイミング記憶部で記憶されている前記安定タイミング値とを比較し、前記低速クロックカウンタの前記カウント値が前記安定タイミング値に達した場合に安定検知信号を出力することとしてもよい。
【００４４】
ここで、低速クロックの履歴に基づいて検知の精度を高める上記技術の場合、以下のようにするとよい。
すなわち、前記低速クロックカウンタは、前記検知の開始にかかる所定時点以降に前記受信部により受信された前記低速クロック信号の数をカウントし、前記半導体集積回路は、さらに、安定タイミング値を記憶する発振安定タイミング記憶部と、前記信号出力部から前記出力される前記安定検知信号を受信する検知信号受信部と、前記検知信号受信部により安定検知信号を受信した場合に、前記安定検知信号の出力にかかる肯定的な判定が前記発振周期判定部によりなされた時の、その判定にかかる前記所定数の低速クロック信号の受信時に前記低速クロックカウンタでカウントされているカウント値を取得して前記安定タイミング値として前記発振安定タイミング記憶部に記憶させる発振安定待ち制御部とを含み、前記発振安定待ち制御部は、前記発振安定タイミング記憶部に前記安定タイミング値が記憶されている場合に前記検知が開始すると、前記発振周期判定部による前記判定の開始を抑止し、前記低速クロックカウンタでカウントされているカウント値と前記発振安定タイミング記憶部で記憶されている前記安定タイミング値とを比較し、前記低速クロックカウンタの前記カウント値が前記安定タイミング値に達した場合に安定検知信号を出力することとしてもよい。
【００４５】
この構成によると、一度、信号出力部から安定検知信号が出力されると、出力時点で低速クロックカウンタにおいてカウントされていた数を記憶する。したがって、以後、再度検知が行われた時は、発振周期判定部による判定を行わずとも、つまり高速クロック信号を用いなくとも、低速クロック信号のみによって前記検知を行うことができる。すなわち、この構成では、発振周期判定部そのものを動作させずとも前記検知を行うことができ、さらに低消費電力化を実現することができる。
【００４６】
ところで、上記検知が行われた後、すなわち高速クロック信号が安定して生成されていると検知された後であっても、高速発振器が外乱などの何らかの悪影響や故障を起こすと、高速クロック信号が安定して生成されなくなる。
そこで、前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力されると前記発振周期判定部による前記判定を抑止し、その後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる発振周期モニタ部を備え、前記発振周期モニタ部は、前記判定の再開時に、再開から所定時間内に前記信号出力部から前記安定検知信号が出力されない場合に、発振異常検知信号を出力することとしてもよい。
【００４７】
また、前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力されると前記発振周期判定部による前記判定を抑止し、その後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる発振周期モニタ部を備え、前記発振周期モニタ部は、前記判定の再開時に否定的な判定がなされた場合に、発振異常検知信号を出力することとしてもよい。
【００４８】
これにより、前記検知が行われた後であっても、検知を再開して、検知の再開時に高速クロック信号が安定して生成されていなければ発振異常検知信号を出力するので、高速クロック信号が安定して生成されていないことを、例えば情報処理システムなどに通知することができる。したがって、情報処理システムの暴走等を防止することができ、スタンバイモードからノーマルモードへの移行時のみに前記検知を行う場合と比べて、情報処理システムの動作の安定性を高めることができる。
【００４９】
上述の半導体集積回路は、具体的には以下のように構成するとよい。
すなわち、前記発振周期モニタ部は、前記信号出力部から安定検知信号を受信する検知信号受信部と、前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期判定部に前記判定を行わせ、前記安定検知信号を受信すると、前記発振周期判定部による前記判定を抑止する抑止部と、前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期判定部に前記判定を再開させる判定制御部と、前記判定の再開時に、再開から前記所定時間内に前記検知信号受信部により安定検知信号を受信しない場合に、発振異常検知信号を出力する異常検知出力部とを含むこととしてもよい。
【００５０】
また、前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力された後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる処理を行う発振周期モニタ部を備え、前記発振周期モニタ部は、前記発振周期一致信号および前記安定検知信号を受信する検知信号受信部と、前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期比較器に前記判定を行わせ、前記安定検知信号を受信した後は前記発振周期比較器による前記判定を抑止する抑止部と、前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期比較器に前記判定を再開させる判定制御部と、前記判定の再開時に、再開から所定時間内に前記検知信号受信部により前記発振周期比較器から前記発振周期一致信号を受信しない場合に発振異常検知信号を出力する異常検知出力部とを含むこととしてもよい。
【００５１】
また、前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力された後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる処理を行う発振周期モニタ部を備え、前記発振周期モニタ部は、前記発振周期不一致信号および前記安定検知信号を受信する検知信号受信部と、前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期比較器に前記判定を行わせ、前記安定検知信号を受信した後は前記発振周期比較器による前記判定を抑止する抑止部と、前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期比較器に前記判定を再開させる判定制御部と、前記判定の再開時に、再開から所定時間内に前記検知信号受信部により前記発振周期比較器から前記発振周期不一致信号を受信した場合に発振異常検知信号を出力する異常検知出力部とを含むこととしてもよい。
【００５２】
また、前記発振周期判定部は、前記所定の範囲内に収まっていると判定すると発振周期一致信号を出力する発振周期比較器を含み、前記発振周期モニタ部は、前記発振周期一致信号および前記安定検知信号を受信する検知信号受信部と、前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期比較器に前記判定を行わせ、前記安定検知信号を受信した後は前記発振周期比較器による前記判定を抑止する抑止部と、前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期比較器に前記判定を再開させる判定制御部と、前記判定の再開時に、再開から所定時間内に前記検知信号受信部により前記発振周期比較器から前記発振周期一致信号を受信しない場合に発振異常検知信号を出力する異常検知出力部とを含むこととしてもよい。
【００５３】
なお、検知の再開時において、発振周期判定部に判定を再開させている間は、半導体集積回路がその分、動作することになり、電力を消費することとなる。
そこで、前記半導体集積回路は、さらに、検知を開始して前記安定検知信号が前記信号出力部から出力されると前記発振周期判定部による前記判定を抑止し、その後、所定のタイミングに従って前記発振周期判定部による前記判定を再開させる発振周期モニタ部を備え、前記発振周期モニタ部は、前記信号出力部から安定検知信号を受信する検知信号受信部と、前記検知を開始した後、前記安定検知信号を前記検知信号受信部により受信するまで前記発振周期判定部に前記判定を行わせ、前記安定検知信号を受信すると、前記発振周期判定部による前記判定を抑止する抑止部と、前記抑止の開始後、前記所定のタイミングにおいて、一定期間、前記抑止部による前記抑止を解除して前記発振周期判定部に前記判定を再開させる判定制御部と、前記判定制御部による前記再開時における、前記発振周期判定部が前記判定を行うための前記所定期間の長さを決定する測定期間決定部と、前記測定期間決定部により決定された前記所定期間の長さに応じた設定値を前記カウンタ数設定記憶部に記憶させる設定値制御部と、前記判定の再開時に、再開から所定時間内に前記検知信号受信部により安定検知信号を受信しない場合に、発振異常検知信号を出力する異常検知出力部とを含み、前記判定制御部は、前記再開時に、前記測定期間決定部により決定された長さに従って前記発振周期判定部に前記判定を行わせることとしてもよい。
【００５４】
これにより、判定の再開時に発振周期判定部を動作させる時間を、低消費電力化等の要請に応えて柔軟に、例えば短くしたり長くしたりすることが出来る。こうすると、検知の再開時において、発振周期判定部の動作時間を短くする等することができ、半導体集積回路の低消費電力化を図れる。
なお、上記の構成において、前記所定期間とは、前記低速クロック信号の１クロック周期であることとしてもよい。
【００５５】
また、前記発振周期判定部の判定にかかる前記所定の範囲とは、前記高速クロック信号と前記低速クロック信号のクロック周波数の比の値に基づいた範囲であることとしてもよい。
また、前記カウンタ数設定レジスタに記憶される前記設定値は、前記高速クロック信号と前記低速クロック信号のクロック周波数の比の値に基づく値であることとしてもよい。
【００５６】
こうすることで、高速クロック信号の数をカウントするためのカウンタのサイズを小さくすることができ、半導体集積回路を小型化することができる。
なお、上記構成は、具体的には、以下のような構成を備えることとしてもよい。
すなわち、前記半導体集積回路は、所定回路へ供給される高速クロック信号が安定しているか検知するものであり、前記半導体集積回路は、さらに、前記安定検知信号が前記出力されるまで前記高速クロック信号の前記所定回路への供給を遮断し、前記安定検知信号が前記出力されるとその遮断を解除する第１のクロックゲーティング回路と、前記安定検知信号が前記出力されるまでまで前記低速クロック信号および前記高速クロック信号を自回路へ供給し、前記安定検知信号が前記出力されるとその供給を遮断する第２のクロックゲーティング回路とを備え、前記信号出力部は、前記安定検知信号を、前記第１および第２のクロックゲーティング回路それぞれへ出力することとしてもよい。
【００５７】
また、本発明は、動作モードとして、高速クロック信号で動作するノーマルモードと、低速クロック信号で動作するスタンバイモードとを備え、前記ノーマルモードと前記スタンバイモードとを切り替えて動作する情報処理システムであって、前記情報処理システムは、前記スタンバイモードから前記ノーマルモードへの切替の開始時に、前記高速クロック信号が高速発振器から安定して生成されているか検知する半導体集積回路を備え、前記半導体集積回路が前記検知を行うと前記スタンバイモードから前記ノーマルモードへの移行を完了し、前記半導体集積回路は、周期的に低速クロック信号および高速クロック信号を受信する受信部と、前記低速クロック信号の受信間隔に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が、所定の範囲内に収まっているか判定する発振周期判定部と、肯定的な判定がなされた場合に、安定検知信号を出力する信号出力部とを備えることを特徴とする情報処理システムでもある。
【００５８】
また、本発明は、動作モードとして、高速クロック信号で動作するノーマルモードと、低速クロック信号で動作するスタンバイモードとを備え、前記ノーマルモードと前記スタンバイモードとを切り替えて動作する情報処理システムであって、前記情報処理システムは、前記スタンバイモードから前記ノーマルモードへの切替の開始時に、前記高速クロック信号が高速発振器から安定して生成されているか検知する半導体集積回路を備え、前記半導体集積回路が前記検知を行うと前記スタンバイモードから前記ノーマルモードへの移行を完了し、前記半導体集積回路は、周期的に低速クロック信号および高速クロック信号を受信する受信部と、前記受信部により所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定部と、前記発振周期判定部により肯定的な判定がなされた回数に基づいて、安定検知信号の出力を制御する信号出力部とを備えることを特徴とする情報処理システムでもある。
【００５９】
また、本発明は、高速クロック信号が安定して生成されていることを検知する発振安定検知方法であって、周期的に低速クロック信号および高速クロック信号を受信する受信ステップと、前記低速クロック信号の受信間隔に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が、所定の範囲内に収まっているか判定する発振周期判定ステップと、肯定的な判定がなされた場合に、安定検知信号を出力する信号出力ステップとを含むことを特徴とする発振安定検知方法でもある。
【００６０】
また、本発明は、高速クロック信号が安定して生成されていることを検知する発振安定検知方法であって、周期的に低速クロック信号および高速クロック信号を受信する受信ステップと、前記受信ステップにより所定数の低速クロック信号を受信する都度、前記所定数の低速クロック信号の受信期間に基づいた所定期間において前記受信部により受信された前記高速クロック信号の数が所定の範囲内に収まっているか否か判定する発振周期判定ステップと、前記発振周期判定ステップにより肯定的な判定がなされた回数に基づいて、安定検知信号の出力を制御する信号出力ステップとを含むことを特徴とする発振安定検知方法でもある。
【発明を実施するための最良の形態】
【００６１】
１  実施の形態１
以下、本発明にかかる半導体集積回路について、図面を用いて説明する。
１．１  概要
本発明の半導体集積回路を含む情報処理システムの概要を簡単に説明する。
情報処理システムは、低速クロック信号（クロックパルス）を周期的に生成する低速発振器と、高速クロック信号（クロックパルス）を周期的に生成する高速発振器とを備えている。また、動作モードとして、ノーマルモードとスタンバイモードとを備え、ノーマルモードとスタンバイモードとを切り替えて動作する。
【００６２】
情報処理システムは、ノーマルモードにおいては、高速クロック信号により動作する。スタンバイモードにおいては、高速発振器の発振が停止して低速クロック信号により動作する。また、スタンバイモードにおいては、一部の回路にクロック信号を供給しない。こうすることで、低消費電力を実現する。
情報処理システムは、スタンバイモードからノーマルモードへと動作モードを切り替える際、スタンバイモードでは高速発振器の発振が停止しているので、まず、高速発振器の発振を開始する。情報処理システムは、以下に説明する本発明の半導体集積回路を備えている。そして、高速発振器の発振が安定しているかを、この半導体集積回路で検知し、検知したら、ノーマルモードへの移行を完了する。
【００６３】
ここで、ノーマルモードとスタンバイモードとを切り替えて動作する情報処理システムにおいて、前記検知が行われた後の処理、すなわち、スタンバイモードからノーマルモードへの移行を完了させるための処理や、ノーマルモードからスタンバイモードへ移行するための処理等は、従来広く知られており、また本発明の主要な部分でもないため、説明を省略する。以下、どのようにして高速発振器の発振が安定しているかを検知する技術を中心に説明する。
【００６４】
１．２  半導体集積回路の構成
図１は、本発明の半導体集積回路１の構成を示す機能ブロック図である。
図１に示すように、半導体集積回路１は、ＣＰＵ１０（Central Processing Unit）と、クロックゲーティング回路４１と、クロックゲーティング回路４２と、クロックゲーティング回路４３と、発振周期判定部２０と、発振安定判定部３０とを含む。発振周期判定部２０は、カウンタ数設定レジスタ２１と、発振周期比較器２２と、発振カウンタ２３とを含む。発振安定判定部３０は、一致回数カウンタ３３と、判定回数設定レジスタ３１と、発振安定判定器３２とを含む。
【００６５】
半導体集積回路１は、低速クロック信号Ｓ１と、高速クロック信号Ｓ２とを受信して検知を行う。なお、低速発振器は、発振が安定している時は周波数が３２ｋＨｚの低速クロック信号Ｓ１を生成し、高速発振器は、発振が安定している時は周波数が２０ＭＨｚの高速クロック信号Ｓ２を生成するよう設定されていることとする。すなわち、低速クロック信号Ｓ１の１周期時間内に、高速クロック信号Ｓ２のパルスは６２５個（２０Ｍ／３２ｋ）生成される。
【００６６】
なお、ＣＰＵ１０は、半導体集積回路１の外部にある構成要素であるとしてもよい。例えば、情報処理システムの動作を制御するＣＰＵであり、半導体集積回路１による検知に基づいて、動作モードを制御する。
以下、各構成要素の機能、具体的構成、および、接続関係（どの構成要素と接続されているか）について説明する。
【００６７】
１．２．１  クロックゲーティング回路４１
クロックゲーティング回路４１は、低速クロック信号Ｓ１の入力を受け付けて、低速クロックＧ信号Ｓ３の出力を制御する。また、発振周期比較器２２と発振カウンタ２３と発振安定判定器３２と接続される。図に示すように、発振安定判定器３２からの出力は反転してクロックゲーティング回路４１に入力される。クロックゲーティング回路４１は、発振安定判定器３２からの発振安定検知信号Ｓ７の出力を反転させた信号と、低速クロック信号Ｓ１とを受け付けるＡＮＤ回路である。
【００６８】
クロックゲーティング回路４１は、発振安定判定器３２から発振安定検知信号Ｓ７が出力されるまで、発振周期比較器２２、発振カウンタ２３、発振安定判定器３２に低速クロックＧ信号Ｓ３を供給する。発振安定検知信号Ｓ７が出力されると、発振周期比較器２２、発振カウンタ２３、発振安定判定器３２への低速クロックＧ信号Ｓ３の供給を停止する。
【００６９】
１．２．２  クロックゲーティング回路４２
クロックゲーティング回路４２は、高速クロック信号Ｓ２の入力を受け付けて、高速クロックＧ信号Ｓ４の出力を制御する。また、発振カウンタ２３と発振安定判定器３２と接続される。図示するように、発振安定判定器３２からの出力は反転してクロックゲーティング回路４２に入力される。クロックゲーティング回路４２は、発振安定判定器３２からの発振安定検知信号Ｓ７の出力を反転させた信号と、高速クロック信号Ｓ２とを受け付けるＡＮＤ回路である。
【００７０】
クロックゲーティング回路４２は、発振安定判定器３２から発振安定検知信号Ｓ７が出力されるまで、発振カウンタ２３に高速クロックＧ信号Ｓ４を供給する。発振安定検知信号Ｓ７が出力されると、発振カウンタ２３への高速クロックＧ信号Ｓ４の供給を停止する。
１．２．３  クロックゲーティング回路４３
クロックゲーティング回路４３は、高速クロック信号Ｓ２の入力を受け付けて、高速クロックＳ信号Ｓ５の出力を制御する。また、発振安定判定器３２と、ＣＰＵ１０と接続される。
【００７１】
クロックゲーティング回路４３は、発振安定判定器３２から出力される発振安定検知信号Ｓ７と、高速クロック信号Ｓ２とを受け付けるＡＮＤ回路である。発振安定判定器３２から発振安定検知信号Ｓ７が出力されるまで、ＣＰＵ１０への高速クロックＳ信号Ｓ５の供給を停止する。発振安定検知信号Ｓ７が出力されると、ＣＰＵ１０へ高速クロックＳ信号Ｓ５を供給する。
【００７２】
１．２．４  発振周期判定部２０
発振周期判定部２０は、高速クロック信号の周波数が所定の範囲内に入っているか判定する機能を有する。
以下、発振周期判定部２０の具体的構成について説明する。
１．２．４．１  カウンタ数設定レジスタ２１
カウンタ数設定レジスタ２１は、発振周期比較器２２と接続される。
【００７３】
カウンタ数設定レジスタ２１は、任意の値を設定できるレジスタである。なお、本実施形態では、高速クロック信号Ｓ２の周波数の設定値（２０ＭＨｚ）と、低速クロック信号Ｓ１の周波数の設定値（３２ｋＨｚ）との比の値である６２５を記憶していることとする。
１．２．４．２  カウンタ数設定レジスタ２１の補足
なお、レジスタに設定する値は、比の値と同値にする必要はなく、近傍の値、つまりほぼ同値の値であってもよい。
【００７４】
また、レジスタの値の設定は、予め半導体集積回路１の製造者や利用者によってなされていることとしてもよいし、高速発振器や低速発振器が発振するクロック信号の周波数の情報を外部から取得し、取得した情報に基づいて、設定にかかるレジスタの値を半導体集積回路１が算出して設定することとしてもよい。
１．２．４．３  発振カウンタ２３
発振カウンタ２３は、クロックゲーティング回路４１と、クロックゲーティング回路４２と、発振周期比較器２２と接続される。
【００７５】
発振カウンタ２３は、クロックゲーティング回路４２から高速クロックＧ信号Ｓ４を受信してカウントアップする。すなわち、受信した高速クロックＧ信号Ｓ４の数をカウントする。また、クロックゲーティング回路４１から低速クロックＧ信号Ｓ３の入力を受け付けており、低速クロックＧ信号Ｓ３のエッジの立ち上がりを検出すると、カウントしているカウント値（高速クロックＧ信号Ｓ４の数）をクリア（消去）する。なお、エッジの立ち下がりを基準としてカウンタのカウント値をクリアすることとしてもよい。以下の説明においては、主としてエッジの立ち上がりを基準として各機能ブロックの動作を開始させることとして説明するが、エッジの立ち下がりを基準としてもよいことは言うまでもない。
【００７６】
発振カウンタ２３のサイズ、つまり発振カウンタ２３がカウントすることができる数の大きさは、高速クロック信号Ｓ２の周波数の設定値と、低速クロック信号Ｓ１の周波数の設定値との比の値に基づいて決定される。本実施形態では、高速発振器が発振を開始した後、一時的に設定周波数を上回る周波数の高速クロック信号を生成することを考慮して、前記比の値よりも数％（例えば５％）程度大きい数をカウントできるカウンタを用いることとする。
【００７７】
１．２．４．４  発振カウンタ２３の補足
もちろん、カウンタのサイズは、これに限らず、高速発振器の発振のしかた（発振が安定するまでの周波数の変遷、発振が安定するまでの時間等）を考慮して、カウンタのサイズを決定することとしてもよい。例えば、高速発振器が所定周波数の高速クロック信号Ｓ２を生成する場合に、所定周波数を超えた（オーバーシュートした）信号が生成される割合、または、生成される可能性が比較的小さい場合は、カウンタのサイズに余裕を持たせなくともよい。
【００７８】
１．２．４．５  発振周期比較器２２
発振周期比較器２２は、クロックゲーティング回路４１、カウンタ数設定レジスタ２１、発振カウンタ２３、一致回数カウンタ３３と接続される。
発振周期比較器２２は、クロックゲーティング回路４１から出力される低速クロックＧ信号Ｓ３に同期して動作する論理回路である。動作のタイミングにおいては、発振カウンタ２３でカウントされている数と、カウンタ数設定レジスタ２１に記憶されている値とを取得し、比較する。比較の結果、発振カウンタ２３でカウントされている数と、前記カウンタ数設定レジスタ２１に記憶されている値とが一致、またはその差が所定値以内であれば、発振周期一致信号Ｓ６を一致回数カウンタ３３へ出力する。
【００７９】
なお、本実施形態では、発振カウンタ２３でカウントされている数と、前記カウンタ数設定レジスタ２１に記憶されている値との差が、カウンタ数設定レジスタ２１に記憶されている値の数％（例えば、２％）以内であれば、発振周期比較器２２は、発振周期一致信号Ｓ６を出力することとする。
１．２．４．６  発振周期判定部２０の補足
上述の説明では、発振周期比較器２２は、発振カウンタ２３でカウントされている数（以下、この補足において「カウント値」と言う）と、カウンタ数設定レジスタ２１に記憶されている値（以下、この補足において「設定値」と言う）とを取得し、その差分が所定値以内であれば発振周期一致信号Ｓ６を出力することとして説明した。
【００８０】
差分に限らず、この他にもカウント値と設定値とを用いて様々な比較方法により発振周期一致信号Ｓ６の出力を制御することとしてもよい。例えば、設定値を基準として、カウント値が所定の範囲内に入っている場合に発振周期比較器２２は発振周期一致信号Ｓ６を出力することとしてもよい。具体的には、「設定値の９７％＜カウント値＜設定値の１０３％」等の条件をカウント値が満たす場合などが考えられる。
【００８１】
１．２．５  発振安定判定部３０
発振安定判定部３０は、高速発振器による高速クロック信号Ｓ２の生成が安定しているか判定する機能を有する。本実施形態では、生成される高速クロック信号Ｓ２の周波数が所定周波数に達した回数に基づいて前記判定を行う。
以下、発振安定判定部３０の具体的構成について説明する。
【００８２】
１．２．５．１  判定回数設定レジスタ３１
判定回数設定レジスタ３１は、発振安定判定器３２と接続される。
判定回数設定レジスタ３１は、任意の値を設定できるレジスタである。
１．２．５．２  判定回数設定レジスタ３１の補足
なお、判定回数設定レジスタ３１に設定する値は、高速発振器の発振のしかたを考慮して決定するとよい。すなわち、高速発振器が所定周波数の高速クロック信号を生成する場合に、所定周波数の信号の出力が安定するまでに比較的時間がかかる場合は、このレジスタに設定する値を大きく、また、比較的短時間で安定する場合は、このレジスタに設定する値を小さくするとよい。こうすることで、高速発振器の発振が安定していることを早期に検知することができる。
【００８３】
１．２．５．３  一致回数カウンタ３３
一致回数カウンタ３３は、発振周期比較器２２と、発振安定判定器３２と接続される。
一致回数カウンタ３３は、発振周期比較器２２から出力される発振周期一致信号Ｓ６を受け付けており、発振周期一致信号Ｓ６のエッジの立ち上がりを検出してカウントアップする。すなわち、発振周期一致信号Ｓ６が出力された数をカウントする。
【００８４】
また、一致回数カウンタ３３は、発振安定判定器３２から出力される発振安定検知信号Ｓ７の入力を受け付けている。発振安定検知信号Ｓ７のエッジの立ち上がりを検出すると、カウントした値をクリアする。
１．２．５．４  一致回数カウンタ３３の補足
なお、一致回数カウンタ３３のサイズは、判定回数設定レジスタ３１に設定する値に応じて定まる。つまり、判定回数レジスタに設定する値と同程度の数をカウントできるようにする必要がある。ただし、判定回数設定レジスタ３１に設定する値は、上述の通り、高速発振器の発振のしかたに応じて定めることが好ましいため、一致回数カウンタ３３の大きさもまた同様に高速発振器次第で定まる。
【００８５】
１．２．５．５  発振安定判定器３２
発振安定判定器３２は、クロックゲーティング回路４１と、クロックゲーティング回路４２と、クロックゲーティング回路４３と、判定回数設定レジスタ３１と、一致回数カウンタ３３と接続されている。
発振安定判定器３２は、クロックゲーティング回路４１から出力される低速クロックＧ信号Ｓ３に同期して所定の比較を行う論理回路である。比較のタイミングにおいては、一致回数カウンタ３３でカウントされているカウント値（すなわち、発振周期一致信号Ｓ６が出力された回数）と、判定回数設定レジスタ３１に記憶されている値とを取得し、比較する。比較の結果、前記出力数と、前記判定回数レジスタに記憶されている値とが一致すると、発振安定検知信号Ｓ７を、クロックゲーティング回路４１、クロックゲーティング回路４２、クロックゲーティング回路４３、一致回数カウンタ３３に出力する。
【００８６】
発振安定判定器３２は、発振安定検知信号Ｓ７の出力を開始すると、情報処理システムがノーマルモードからスタンバイモードへと移行するまでの間、発振安定検知信号Ｓ７を出力し続ける。情報処理システムがスタンバイモードへと移行すると、発振安定判定器３２は、発振安定検知信号Ｓ７の出力を停止する。例えば、情報処理システムのＯＳ（Operating System）等のソフトウェアが、動作モードをスタンバイモードへと移行させる処理を行う場合に、これらのソフトウェアが、発振安定判定器３２による発振安定検知信号Ｓ７の出力を停止させることとすることが考えられる。
【００８７】
１．２．６  ＣＰＵ１０
ＣＰＵ１０は、クロックゲーティング回路４３と接続される。
発振安定検知信号Ｓ７が発振安定判定器３２から出力されると、ＣＰＵ１０には、クロックゲーティング回路４３から高速クロックＳ信号Ｓ５が供給される。ＣＰＵ１０は、高速クロックＳ信号Ｓ５が供給されることで、高速クロック信号に基づいたタイミングで動作する。
【００８８】
なお、上述の例の他に、発振安定検知信号Ｓ７によって一致回数カウンタ３３の値がクリアされないようにし、情報処理システムがノーマルモードからスタンバイモードに移行する際、または、検知の開始時に、一致回数カウンタ３３の値がクリアされることとしてもよい。
また、情報処理システムは、高速クロックＳ信号Ｓ５が出力されることが半導体集積回路１による検知の完了であるとみなして、スタンバイモードからノーマルモードへの移行の処理を完了させて高速クロック信号Ｓ２による動作を開始することとしてもよい。
【００８９】
１．３  動作
次に、上述のように構成された半導体集積回路１の動作について説明する。
図２は、実施の形態１における半導体集積回路１の動作例を示す図である。
図２は、上から順に、高速クロック生成状況１０１と、発振周期比較器動作１０２と、低速クロック生成状況１０３と、Ｓ６出力状況１０４と、一致回数カウンタ値１０５と、判定回数設定レジスタ値１０６と、Ｓ７出力状況１０７と、時間１０８を示す。
【００９０】
時間１０８は、低速クロック信号の周期の半分の時間ごとに、「ｔ１」「ｔ２」「ｔ３」・・と、時間を示している。
高速クロック生成状況１０１は、高速発振器が発振を開始してからの高速クロック信号Ｓ２の生成状況を示す。同図では、高速発振器が生成する高速クロック信号Ｓ２の周波数を縦軸に、時間を横軸として示している。また、同図で「所定周波数」とは、高速発振器が生成すべき高速クロック信号Ｓ２の周波数に相当する。同図では、時間の経過とともに、徐々に高速発振器の発振が安定している様子が示されている。
【００９１】
発振周期比較器動作１０２は、発振周期比較器２２において、低速クロックＧ信号Ｓ３と同期して発振カウンタ２３から取得したカウント値と、カウンタ数設定レジスタ２１に設定されている値との比較を行っている発振周期比較器２２の動作を示した図である。縦軸は、発振カウンタ２３から取得したカウント値を示す。なお、同図では、カウンタ数設定レジスタ２１に設定されている値を、設定値１０２ａとして示す。また、発振周期比較器２２は、発振カウンタ２３から取得したカウント値が、設定値１０２ａに示す値を含む所定の範囲内（例えば、上述のように設定値１０２ａを中心として数％以内の範囲）であれば発振周期一致信号Ｓ６を出力するが、この所定の範囲を、同図において点線で示す。
【００９２】
低速クロック生成状況１０３は、低速発振器が生成している低速クロック信号Ｓ１のパルス波形を示す。
Ｓ６出力状況１０４は、発振周期比較器２２から出力される発振周期一致信号Ｓ６と、時間との関係を示す。
一致回数カウンタ値１０５は、一致回数カウンタ３３でカウントされている値と、時間との関係を示す。
【００９３】
判定回数設定レジスタ値１０６は、判定回数設定レジスタ３１で記憶されている値と、時間との関係を示す。なお、この例では、判定回数設定レジスタ３１には「４」が記憶されていることとする。なお、判定回数設定レジスタ３１に記憶されている値は、検知の過程で変化しないこととする（ただし、検知の過程で変化させることとしてもよい。例えば、検知開始から所定時間が経過しても検知されない場合に、この判定回数設定レジスタ３１に記憶されている値をソフトウェア等により動的に変化させることとしてもよい。判定回数設定レジスタ３１の記憶値を増加させれば、検知の信頼性を高めることができ、記憶値を減少させれば、検知を早期に行うことができる）。
【００９４】
Ｓ７出力状況１０７は、発振安定判定器３２から出力される発振安定検知信号Ｓ７と、時間との関係を示す。
発振周期比較器２２は、低速クロックＧ信号Ｓ３と同期して、発振カウンタ２３でカウントされている値を取得する。その取得値と、カウンタ数設定レジスタ２１に設定されている値（設定値１０２ａ）との差分が所定範囲内に入っているか判定する。判定の結果、所定範囲内であれば、発振周期比較器２２は、発振周期一致信号Ｓ６を出力する（例えば、Ｓ６出力状況１０４において、ｔ７〜ｔ８の時間を参照）。
【００９５】
発振周期比較器２２が発振周期一致信号Ｓ６を出力すると、一致回数カウンタ３３のカウント値がカウントアップする（例えば、一致回数カウンタ値１０５において、ｔ７〜ｔ８の時間を参照）。
その後、一致回数カウンタ３３でカウントされている値が、判定回数設定レジスタ３１に記憶されている値と一致すると、発振安定判定器３２は、発振安定検知信号Ｓ７を出力する（一致回数カウンタ値１０５と、判定回数設定レジスタ値１０６と、Ｓ７出力状況１０７において、ｔ１５〜ｔ１６の時間を参照）。
【００９６】
２  実施の形態２
以下、本発明の別の実施形態について説明する。
２．１  概要
上記の技術を用いて、高速クロック信号が安定して生成されていることを半導体集積回路１が検知して、情報処理システムがスタンバイモードからノーマルモードへと移行したとする。しかし、ノーマルモードへ移行してから高速クロック信号の発振に異常が発生すると、情報処理システムが不安定になるおそれがある。そこで、この実施形態では、図３に示すように、発振周期モニタ回路５０を備えることとしている。
【００９７】
発振周期モニタ回路５０は、半導体集積回路が前記検知を行った後で、高速発振器の発振が安定しているかを所定のタイミングになるごとに（例えば、周期的に）確認する。
２．２  構成
図３は、実施の形態２の半導体集積回路１ｂの構成を示す機能ブロック図である。
構成は図示したとおりである。以下、実施の形態１との相違点を中心に説明する。
【００９８】
図３に示すように、実施の形態１と大きく異なる点は、発振周期モニタ回路５０を備える点である。
また、クロックゲーティング回路について、構成が実施の形態１と異なる点は、クロックゲーティング回路４１、４２、４３の代わりにクロックゲーティング回路４４、４５、４６が備わる点である。なお、カウンタ数設定レジスタ２１、判定回数設定レジスタ３１、一致回数カウンタ３３の接続関係および機能は、実施の形態１と同様であるため説明を省略する。
【００９９】
２．２．１  クロックゲーティング回路４４
クロックゲーティング回路４４は、低速クロック信号Ｓ１の入力を受け付けて、低速クロックＧ信号Ｓ３の出力を制御する。また、発振周期比較器２２と発振カウンタ２３と発振安定判定器３２と発振周期モニタ回路５０と接続される。クロックゲーティング回路４４は、発振周期モニタ回路５０から出力される発振安定検知ＥＮ信号Ｓ８と、低速クロック信号Ｓ１とを受け付けるＡＮＤ回路である。
【０１００】
クロックゲーティング回路４４は、発振周期モニタ回路５０から出力される発振安定検知ＥＮ信号Ｓ８を受け付ける。発振安定検知ＥＮ信号Ｓ８を受け付けている間、クロックゲーティング回路４４は、低速クロックＧ信号Ｓ３を、発振周期比較器２２、発振カウンタ２３、発振安定判定器３２へ供給する。発振安定検知ＥＮ信号Ｓ８が発振周期モニタ回路５０から出力されない間、クロックゲーティング回路４４は、発振周期比較器２２等への低速クロックＧ信号Ｓ３の供給を停止する。
【０１０１】
２．２．２  クロックゲーティング回路４５
クロックゲーティング回路４５は、高速クロック信号Ｓ２の入力を受け付けて、高速クロックＧ信号Ｓ４の出力を制御する。また、発振カウンタ２３と発振周期モニタ回路５０と接続される。クロックゲーティング回路４５は、発振周期モニタ回路５０から出力される発振安定検知ＥＮ信号Ｓ８と、高速クロック信号Ｓ２とを受け付けるＡＮＤ回路である。
【０１０２】
クロックゲーティング回路４５は、発振周期モニタ回路５０から出力される発振安定検知ＥＮ信号Ｓ８を受け付ける。発振安定検知ＥＮ信号Ｓ８を受け付けている間、クロックゲーティング回路４５は、高速クロックＧ信号Ｓ４を、発振カウンタ２３へ供給する。発振安定検知ＥＮ信号Ｓ８が発振周期モニタ回路５０から出力されない間、クロックゲーティング回路４５は、発振カウンタ２３への高速クロックＧ信号Ｓ４の供給を停止する。
【０１０３】
２．２．３  クロックゲーティング回路４６
クロックゲーティング回路４６は、高速クロック信号Ｓ２の入力を受け付けて、高速クロックＳ信号Ｓ５の出力を制御する。また、発振安定判定器３２と、ＣＰＵ１０と、発振周期モニタ回路５０と接続される。図示するように、発振周期モニタ回路５０が出力する発振異常検出信号Ｓ９は、反転してクロックゲーティング回路４６に入力される。クロックゲーティング回路４６は、発振周期モニタ回路５０からの発振異常検出信号Ｓ９の出力を反転させた信号と、発振安定判定器３２からの発振安定検知信号Ｓ７と、高速クロック信号Ｓ２とを受け付けるＡＮＤ回路である。
【０１０４】
クロックゲーティング回路４６は、発振安定判定器３２から発振安定検知信号Ｓ７が出力され、かつ、発振周期モニタ回路５０から発振異常検出信号Ｓ９が出力されない間、高速クロックＳ信号Ｓ５をＣＰＵ１０へ供給する。
２．２．４  発振カウンタ２３
実施の形態２の発振カウンタ２３は、実施の形態１の説明におけるクロックゲーティング回路４１とクロックゲーティング回路４２を、それぞれクロックゲーティング回路４４、クロックゲーティング回路４５と読み替えたものと同様である。
【０１０５】
２．２．５  発振周期比較器２２
発振周期比較器２２は、実施の形態２では、クロックゲーティング回路４１に代えてクロックゲーティング回路４４と接続されている。さらに、発振周期比較器２２は、発振周期モニタ回路５０と接続されている。
また、発振周期比較器２２は、発振周期一致信号Ｓ６を、一致回数カウンタ３３の他に、発振周期モニタ回路５０へも出力する。
【０１０６】
２．２．６  発振安定判定器３２
発振安定判定器３２は、実施の形態２では、クロックゲーティング回路４１に代えてクロックゲーティング回路４４と、クロックゲーティング回路４３に代えてクロックゲーティング回路４６と、さらに、発振周期モニタ回路５０とに接続されている。
発振安定判定器３２は、実施の形態２では、クロックゲーティング回路４４から出力される低速クロックＧ信号Ｓ３に同期して動作する。
【０１０７】
また、発振安定判定器３２は、発振安定検知信号Ｓ７を、クロックゲーティング回路４６、さらに、発振周期モニタ回路５０に出力する。
２．２．７  発振周期モニタ回路５０
発振周期モニタ回路５０は、クロックゲーティング回路４４、クロックゲーティング回路４５、クロックゲーティング回路４６、発振周期比較器２２、発振安定判定器３２、ＣＰＵ１０と接続されている。
【０１０８】
２．２．７．１  発振周期モニタ回路５０の概要
まず概要を説明すると、発振周期モニタ回路５０は、高速発振器が発振を開始し、半導体集積回路１ｂが検知を開始してから発振安定判定器３２が発振安定検知信号Ｓ７を出力するまで、クロックゲーティング回路４４およびクロックゲーティング回路４５に発振安定検知ＥＮ信号Ｓ８を出力する。こうすることで、発振周期判定部２０および発振安定判定部３０にクロック信号を供給して動作させる。
【０１０９】
その後、発振周期モニタ回路５０は、発振安定判定部３０の発振安定判定器３２から発振安定検知信号Ｓ７が出力されると、発振安定検知ＥＮ信号Ｓ８の出力を止めることにより発振周期判定部２０等へのクロック信号の供給を停止させる。クロック信号の供給停止後、再検知のタイミングになるごとに、発振周期モニタ回路５０は、再び発振安定検知ＥＮ信号Ｓ８を出力して発振周期判定部２０等にクロック信号を供給し、発振周期比較器２２が発振周期一致信号Ｓ６を出力するか監視する。このときに発振周期一致信号Ｓ６が出力されないと、発振異常検出信号Ｓ９をＣＰＵ１０およびクロックゲーティング回路４６に出力する。こうすることで、ＣＰＵ１０に高速発振器の発振に異常が発生したことを通知するとともに、高速クロック信号がＣＰＵ１０に供給されないようにすることができる。
【０１１０】
２．２．７．２  発振周期モニタ回路５０の動作
ここで、発振周期モニタ回路５０の動作について、図面を用いて詳しく説明する。
図４は、発振周期モニタ回路５０の動作を示すフローチャートである。
図４に示すように、発振周期モニタ回路５０は、半導体集積回路１ｂが検知を開始した後、発振安定判定器３２から発振安定検知信号Ｓ７が出力されるまで（ステップＳ２２１：ＮＯ）、クロックゲーティング回路４４およびクロックゲーティング回路４５に発振安定検知ＥＮ信号Ｓ８を供給する（ステップＳ２２２）。
【０１１１】
検知開始後、発振安定判定器３２から発振安定検知信号Ｓ７が出力されると（ステップＳ２２１：ＹＥＳ）、クロックゲーティング回路４４およびクロックゲーティング回路４５への発振安定検知ＥＮ信号Ｓ８の供給を停止する（ステップＳ２２３）。
その後、再検知のタイミングになるまで待機し（ステップＳ２２４：ＮＯ）、再検知のタイミングになると（ステップＳ２２４：ＹＥＳ）、発振安定検知ＥＮ信号Ｓ８を、低速クロック信号の所定クロック周期の間、出力する（ステップＳ２２５）。
【０１１２】
発振周期モニタ回路５０は、発振安定検知ＥＮ信号Ｓ８の出力から所定時間内に発振周期比較器２２から発振周期一致信号Ｓ６の出力があるか検知し（ステップＳ２２６）、発振周期一致信号Ｓ６の検知があれば（ステップＳ２２６：ＹＥＳ）、再度、上述のステップＳ２２４〜ステップＳ２２６の処理を繰り返す。
ステップＳ２２６において、発振周期一致信号Ｓ６の検知がなければ（ステップＳ２２６：ＮＯ）、発振異常検出信号Ｓ９をＣＰＵ１０およびクロックゲーティング回路４６へ出力する（ステップＳ２２７）。
【０１１３】
ここで、ステップＳ２２４、ステップＳ２２５について補足する。具体的には、発振周期モニタ回路５０は、発振安定検知ＥＮ信号Ｓ８をどれくらいの時間だけ出力し、どのタイミングで再検知を行い、また、発振異常検知信号Ｓ９をいつ出力するかについて説明する。
本実施形態では、一例として、ステップＳ２２５において、発振周期モニタ回路５０は、発振安定検知ＥＮ信号Ｓ８を、低速クロック信号Ｓ１の２クロック周期に相当する時間だけクロックゲーティング回路４３、クロックゲーティング回路４４に供給することとする。これは、発振カウンタ２３のカウント値をクリアしてから発振カウンタ２３にカウントを行わせて、発振周期比較器２２に比較を行わせるためである。
【０１１４】
また、発振周期モニタ回路５０は、低速クロックＧ信号Ｓ３（クロックパルス）のエッジの立ち上がりより前であって、そのパルスの１つ前に生成されたパルスのエッジの立ち下がりの後に発振安定検知ＥＮ信号Ｓ８の供給を開始することとする。ただし、発振安定検知ＥＮ信号Ｓ８のエッジの立ち上がりから低速クロックＧ信号Ｓ３のエッジの立ち上がりまでの時間の長さは、低速クロックＧ信号Ｓ３の１クロック周期の半分以下とする。
【０１１５】
また、発振周期モニタ回路５０は、発振安定検知ＥＮ信号Ｓ８の出力を開始してから低速クロック信号Ｓ１の２クロック周期に相当する時間の間に（すなわち発振安定検知ＥＮ信号Ｓ８を出力している間に）、発振周期比較器２２から発振周期一致信号Ｓ６が出力されなかった場合に、低速クロックＧ信号Ｓ３と同期して発振異常検出信号Ｓ９をＣＰＵ１０等へ出力することとする。
【０１１６】
また、低速クロック信号Ｓ１の４クロック周期に相当する時間の長さを、発振周期モニタ回路５０の再検知の１周期の時間の長さとし、発振周期モニタ回路５０は、周期的に発振安定検知ＥＮ信号Ｓ８を出力することとする。
２．２．７．３  発振周期モニタ回路５０の補足
なお、上述した発振安定検知ＥＮ信号Ｓ８の出力時間の長さや、発振安定検知ＥＮ信号Ｓ８の供給開始のタイミングや、発振異常検出信号Ｓ９の出力タイミングや発振周期モニタ回路５０の再検知の周期は一例であり、これに限られない。
【０１１７】
まず、発振安定検知ＥＮ信号Ｓ８の出力時間の長さおよび出力タイミングについて補足する。
（発振安定検知ＥＮ信号Ｓ８の出力時間の長さ）
低速クロックＧ信号Ｓ３に基づいて動作する発振周期比較器２２に比較を行わせる必要があるので、低速クロック信号Ｓ１がクロックゲーティング回路４４に入力されるタイミングでは、発振周期モニタ回路５０は、発振安定検知ＥＮ信号Ｓ８を出力している必要がある。ただし、発振安定検知ＥＮ信号Ｓ８を出力する時間の長さは、低速クロック信号Ｓ１の１クロック周期より短い時間であってもよい。なぜなら、発振周期比較器２２が発振周期一致信号Ｓ６を出力するか否かは、要するに発振カウンタ２３に高速クロックＧ信号Ｓ４を供給する時間と、カウンタ数設定レジスタ２１に記憶させる値とにより定まるからである。
【０１１８】
例えば、発振周期モニタ回路５０は、発振カウンタ２３のカウント値をクリアした後、低速クロック信号Ｓ１の１クロック周期の２分の１の時間だけ発振安定検知ＥＮ信号Ｓ８を出力することとしてもよい。この場合、発振安定検知ＥＮ信号Ｓ８の出力の終わり際に、低速クロック信号Ｓ１のエッジの立ち上がりが重なるようにする。こうすると、発振カウンタ２３には、低速クロック信号Ｓ１の１クロック周期の２分の１の時間、高速クロックＧ信号Ｓ４が入力される。
【０１１９】
このような構成は、例えば、まず、発振安定検知ＥＮ信号Ｓ８の出力を制御して所定の時点で発振カウンタ２３に低速クロックＧ信号Ｓ３を入力させてそのカウント値をクリアさせる。その後、低速クロック信号Ｓ１のエッジの立ち下がり時に発振安定検知ＥＮ信号Ｓ８の出力を開始し、直後のエッジの立ち上がり時に発振安定検知ＥＮ信号Ｓ８の出力を停止することで実現できる。なお、この場合、特に回路等を設けなくとも低速クロック信号Ｓ１のみでこの構成を実現できる。なお、ここでは、低速クロック信号Ｓ１の１クロックパルスのロー（ＬＯ）の期間とハイ（ＨＩ）の期間の長さがほぼ等しいものとしている。
【０１２０】
ここで、カウンタ数設定レジスタ２１には、高速発振器の発振が安定している場合に低速クロック信号Ｓ１の１クロック周期の２分の１の時間に生成される高速クロック信号の数を記憶させておく。なお、低速クロック信号Ｓ１の１クロックパルスのローとハイの期間の長さの比が判明していれば、その比に応じた値をカウンタ数設定レジスタ２１に設定し、発振周期モニタ回路５０は、低速クロック信号Ｓ１のエッジの立ち上がりと立ち下がりの間に発振安定検知ＥＮ信号Ｓ８を出力することも考えられる。
【０１２１】
こうすることで、高速発振器の発振が安定していれば、発振周期比較器２２に発振周期一致信号Ｓ６を出力させることができる。すなわち、発振周期モニタ回路５０は、再検知を行うことができる。もちろん、発振安定検知ＥＮ信号Ｓ８の出力時間は、低速クロック信号Ｓ１の１クロック周期の２分の１の時間に限らない。
以上の説明から明らかな通り、スタンバイモードからノーマルモードへの移行時にカウンタ数設定レジスタ２１に記憶させる値と、発振周期モニタ回路５０による再検知の際にカウンタ数設定レジスタ２１に記憶させる値とは、異なっていてもよい。再検知の際にカウンタ数設定レジスタ２１に記憶させる値は、発振周期モニタ回路５０が発振周期判定部２０に高速クロックＧ信号Ｓ４を供給する時間に応じて定まる。
【０１２２】
再検知を行うと、発振周期判定部２０に低速クロックＧ信号Ｓ３や高速クロックＧ信号Ｓ４が供給されるため、その分電力を消費する。したがって、再検知の精度に悪影響が出ない程度に、再検知の際に発振周期モニタ回路５０が発振安定検知ＥＮ信号Ｓ８をクロックゲーティング回路４４、クロックゲーティング回路４５に出力する時間を調整することが望ましい。
【０１２３】
なお、発振周期モニタ回路５０による再検知の際、発振周期判定部２０に高速クロックＧ信号Ｓ４を供給する時間に応じて、カウンタ数設定レジスタ２１に記憶させる値が決定するが、この値をカウンタ数設定レジスタ２１に記憶させるタイミングは、さまざまなものが考えられる。例えば、上述のステップＳ２２３においてクロックゲーティング回路４４およびクロックゲーティング回路４５への発振安定検知ＥＮ信号Ｓ８の供給を停止する際に、カウンタ数設定レジスタ２１にこの値を記憶させることとすることが考えられる。
【０１２４】
また、再検知の際にカウンタ数設定レジスタ２１に記憶させる値は、予め定められた所定値としてもよい。この場合、再検知の際にクロックゲーティング回路４４およびクロックゲーティング回路４５に発振安定検知ＥＮ信号Ｓ８を供給する時間も定まる。カウンタ数設定レジスタ２１に値を記憶させる処理や、発振安定検知ＥＮ信号Ｓ８をクロックゲーティング回路４４等に供給する時間の長さを決定する処理等は、発振周期モニタ回路５０が行うこととしてもよいし、その他の回路、またはソフトウェアにより行うこととしてもよい。
【０１２５】
また、発振周期モニタ回路５０は、低速クロック信号Ｓ１の入力を、低速発振器から受け付けておくこととするとよい。こうすることで、低速クロック信号Ｓ１の発生のタイミングを発振周期モニタ回路５０が取得することができる。また、この場合、低速クロック信号Ｓ１のエッジの立ち上がりと立ち下がり（すなわち、低速クロック信号Ｓ１のＨＩ区間とＬＯ区間）を用いると、発振周期モニタ回路５０は、上述の低速クロック信号Ｓ１の１クロック周期の２分の１の時間を容易に知得することができる。また、ＰＬＬ（Phase-locked loop）回路等を用いれば、低速クロック信号Ｓ１の１クロック周期の２分の１の時間に限らず、発振周期モニタ回路５０は、様々な時間を知得することができる。
【０１２６】
（発振安定検知ＥＮ信号Ｓ８の出力タイミング）
次に、発振異常検出信号Ｓ９の出力タイミングについて補足する。
上述の例に限らず、再検知によって低速クロックＧ信号Ｓ３が発振周期比較器２２に入力されてから所定時間内に発振周期一致信号Ｓ６が発振周期比較器２２から出力されなかった場合に、発振周期モニタ回路５０は、発振異常検出信号Ｓ９を出力することとしてもよい。
【０１２７】
ここでいう前記所定時間は、発振周期比較器２２が低速クロックＧ信号Ｓ３の入力を受けてから発振周期一致信号Ｓ６を出力するまでのタイムラグに相当する時間を考慮して決定する。すなわち、低速クロックＧ信号Ｓ３が発振周期比較器２２に入力されてからタイムラグに相当する間は、発振周期一致信号Ｓ６は出力されないので、タイムラグよりも前記所定時間を長くする必要がある。
【０１２８】
なお、あまりにも前記所定時間を短くしすぎると、発振周期一致信号Ｓ６が出力されているにもかかわらず、その出力がなされる前に、発振周期一致信号Ｓ６の出力がなかったものとして発振周期モニタ回路５０が発振異常検出信号Ｓ９を出力する可能性があるので、再検知の精度を考慮して前記所定時間を決定する必要がある。
（再検知のタイミング）
上述のように、実施の形態２では、半導体集積回路１ｂは、高速発振器の発振が安定したと検知した後、所定のタイミングになるごとに、発振周期モニタ回路５０により再検知を行う。ここで、上述の例では周期的に再検知を行うこととしているが、再検知のタイミングはこれに限られない。
【０１２９】
例えば、情報処理システムがノーマルモードでの動作を開始した後、異常な動作が検知された場合に、ソフトウェア等の制御によって発振周期モニタ回路５０に再検知を行わせるとよい。異常な動作とは、例えば、プログラムがエラーの発生により異常終了した場合などである。このようにすると、プログラムがバグ等により異常終了したのか、高速発振器の発振が不安定になったがために異常終了したのかを情報処理システムのユーザ等が知ることができる。
【０１３０】
（発振異常検出信号Ｓ９の出力後）
上述の例において、発振周期モニタ回路５０が発振異常検出信号Ｓ９を出力した後は、発振周期モニタ回路５０は動作を終了することとして説明したが、ＣＰＵ１０に発振異常検出信号Ｓ９が出力されるので、再度、高速発振器の発振が安定しているかの検知を半導体集積回路１ｂが行うこととしてもよい。例えば、発振周期モニタ回路５０からＣＰＵ１０へと発振異常検出信号Ｓ９が出力された後、ＣＰＵ１０は、発振異常検出信号Ｓ９を受けて、情報処理システムをスタンバイモードに移行させ、発振周期モニタ回路５０に、図４の処理を開始させることとしてもよい。
【０１３１】
２．３  動作
上述のように構成された半導体集積回路１ｂの動作について説明する。
図５は、実施の形態２における半導体集積回路１ｂの動作例を示す図である。
図５は、上から順に、高速クロック生成状況２０１と、発振周期比較器動作１０２と、低速クロック生成状況１０３と、Ｓ６出力状況１０４と、Ｓ８出力状況１２５と、Ｓ９出力状況１０９と、時間１０８を示す。
【０１３２】
なお、実施の形態１の図２と同様の箇所は、同一の参照符号を付して説明を省略する。
高速クロック生成状況２０１は、高速発振器の発振が安定して情報処理システムがスタンバイモードからノーマルモードへ移行した後の、高速発振器による高速クロック信号Ｓ２の生成状況を示す。
Ｓ８出力状況１２５は、発振周期モニタ回路５０から出力される発振安定検知ＥＮ信号Ｓ８と、時間との関係を示す。
【０１３３】
Ｓ９出力状況１０９は、発振周期モニタ回路５０から出力される発振異常検出信号Ｓ９と、時間との関係を示す。
なお、同図では、発振周期モニタ回路５０による再検知は、低速クロック信号Ｓ１の４クロック周期ごとに行われる。例えば、発振周期モニタ回路５０は、ｔ１〜ｔ８までを１周期として再検知を行う。
【０１３４】
ｔ１〜ｔ８までの区間において、発振周期モニタ回路５０は、ｔ３の時点での低速クロック信号Ｓ１のエッジの立ち上がりより前に発振安定検知ＥＮ信号Ｓ８の出力を開始する。同図では、ｔ２〜ｔ３の間に出力を開始する。発振周期モニタ回路５０は、低速クロック信号Ｓ１の２クロック周期に相当する時間、発振安定検知ＥＮ信号Ｓ８を出力し続ける（Ｓ８出力状況１２５において、ｔ２〜ｔ７の時間を参照）。
【０１３５】
発振カウンタ２３は、ｔ３の時点の低速クロック信号Ｓ１のエッジの立ち上がりを検出して、カウントしている数をクリアし、高速クロック信号Ｓ２のカウントを開始する。
発振周期比較器２２は、比較の結果、発振周期一致信号Ｓ６を出力する（Ｓ６出力状況１０４において、ｔ５〜ｔ６の時間を参照）。
発振周期モニタ回路５０は、発振周期一致信号Ｓ６が出力されると、発振異常検出信号Ｓ９を出力しない（Ｓ９出力状況１０９において、ｔ７〜ｔ９の時間を参照）。
【０１３６】
その後、ｔ８〜ｔ１６の区間において、発振周期モニタ回路５０は、再検知を行う。この場合、高速クロック信号Ｓ２が安定して生成されておらず、発振周期比較器２２から発振周期一致信号Ｓ６が出力されていない（Ｓ６出力状況１０４において、ｔ１３〜ｔ１４の時間を参照）。
そのため、発振周期モニタ回路５０は、発振異常検出信号Ｓ９を出力する（Ｓ９出力状況１０９において、ｔ１５以降の時間を参照）。
【０１３７】
３  実施の形態３
以下、本発明の別の実施形態について説明する。
３．１  概要
図６は、実施の形態３の半導体集積回路１ｃの構成を示す機能ブロック図である。
以下、実施の形態１との相違点を中心に説明する。
【０１３８】
実施の形態３では、実施の形態１と比較して、半導体集積回路１ｃが発振周期測定開始タイミング制御部６０を備えている点が異なる。
また、半導体集積回路１ｃには、クロックゲーティング回路４１に代えてクロックゲーティング回路４４が、クロックゲーティング回路４２に代えてクロックゲーティング回路４５が備わる。
【０１３９】
なお、カウンタ数設定レジスタ２１、判定回数設定レジスタ３１、一致回数カウンタ３３の接続関係および機能は、実施の形態１と同様であるため説明を省略する。
発振周期測定開始タイミング制御部６０は、半導体集積回路１ｃが検知を開始した後、発振周期判定部２０の発振周期比較器２２が発振周期一致信号Ｓ６を出力するまでの低速クロック信号Ｓ１の数をカウントして記憶する。
【０１４０】
検知が行われた後、再び半導体集積回路１ｃが検知を行う際、発振周期測定開始タイミング制御部６０は、記憶している数の分だけ低速クロック信号Ｓ１が半導体集積回路１ｃに入力されるまで、発振周期判定部２０への低速クロック信号Ｓ１および高速クロック信号Ｓ２の供給を遅らせる。要するに、高速発振器が発振を開始してから、高速クロック信号Ｓ２の周波数が初めて所定周波数に達するまでの間（検知を開始してから、発振周期判定部２０が発振周期一致信号Ｓ６を出力するまでの間に相当する時間）、発振周期判定部２０を動作させないようにすることで、半導体集積回路１ｃの低消費電力化を実現する。
【０１４１】
３．２  構成
以下、具体的に説明する。
図６に示すように、発振周期測定開始タイミング制御部６０は、低速クロックカウンタ６１と、発振周期安定タイミング記憶回路６２と、起動タイミング比較器６３と、クロックゲーティング制御回路６４とを含む。
【０１４２】
３．２．１  低速クロックカウンタ６１
低速クロックカウンタ６１は、低速クロック信号Ｓ１を受信する。また、起動タイミング比較器６３と、発振周期安定タイミング記憶回路６２と、発振安定判定器３２と接続される。
低速クロックカウンタ６１は、半導体集積回路１ｃが検知を開始した後、低速クロック信号Ｓ１を受信してカウントアップする。すなわち、低速クロック信号Ｓ１の数をカウントする。また、発振安定判定器３２から出力される発振安定検知信号Ｓ７の入力を受け付けており、発振安定検知信号Ｓ７を検出すると、カウントした値をリセットする。
【０１４３】
３．２．２  発振周期安定タイミング記憶回路６２
発振周期安定タイミング記憶回路６２は、低速クロックカウンタ６１と、起動タイミング比較器６３と、発振周期比較器２２と接続される。
発振周期安定タイミング記憶回路６２は、発振周期比較器２２から出力される発振周期一致信号Ｓ６の入力を受け付けている。発振周期一致信号Ｓ６のエッジの立ち上がりを検出すると、低速クロックカウンタ６１でカウントされている値を取得して記憶する。
【０１４４】
なお、発振周期安定タイミング記憶回路６２は、自回路に記憶されている値を、周期的にクリアすることとしてもよい。また、初めて半導体集積回路１ｃが検知を行う場合、発振周期安定タイミング記憶回路６２には、例えば、予め「０」が記憶されていることとする。
３．２．３  起動タイミング比較器６３
起動タイミング比較器６３は、低速クロック信号Ｓ１の入力を受け付けている。また、低速クロックカウンタ６１と、発振周期安定タイミング記憶回路６２と、発振安定判定器３２と、クロックゲーティング制御回路６４と接続される。
【０１４５】
起動タイミング比較器６３は、低速クロック信号Ｓ１に同期して動作し、発振周期安定タイミング記憶回路６２に記憶されている値と、低速クロックカウンタ６１でカウントされている値を比較する。比較の結果、一致、または比較した値の差分が所定値以内であると、起動タイミング一致信号Ｓ１０の、クロックゲーティング制御回路６４への出力を開始する。本実施形態では、起動タイミング比較器６３は、発振周期安定タイミング記憶回路６２に記憶されている値と、低速クロックカウンタ６１でカウントされている値との差が１以内になると、起動タイミング一致信号Ｓ１０の出力を開始することとする。
【０１４６】
また、起動タイミング比較器６３は、発振安定検知信号Ｓ７の入力を受け付けており、発振安定検知信号Ｓ７が入力されると起動タイミング一致信号Ｓ１０の出力を停止する。なお、起動タイミング一致信号Ｓ１０の出力を止めるトリガを、発振安定検知信号Ｓ７の入力としたが、これに限らず、情報処理システムがスタンバイモードに移行する際に、起動タイミング一致信号Ｓ１０の出力が停止することとしてもよい。
【０１４７】
３．２．４  クロックゲーティング制御回路６４
クロックゲーティング制御回路６４は、起動タイミング比較器６３と、発振安定判定器３２と、クロックゲーティング回路４４と、クロックゲーティング回路４５と接続される。起動タイミング比較器６３からクロックゲーティング制御回路６４へ出力される起動タイミング一致信号Ｓ１０は、反転してクロックゲーティング制御回路６４へと入力される。
【０１４８】
クロックゲーティング制御回路６４は、起動タイミング一致信号Ｓ１０の出力を反転させた信号と、発振安定判定器３２から出力される発振安定検知信号Ｓ７とを受け付けるＮＯＲ回路である。ＮＯＲ回路による論理演算の結果を、発振安定検知ＥＮ信号Ｓ８としてクロックゲーティング回路４４およびクロックゲーティング回路４５へ出力する。すなわち、発振安定検知信号Ｓ７の出力がある場合、または、起動タイミング一致信号Ｓ１０の出力がない場合、あるいはその両方の場合、クロックゲーティング制御回路６４は、発振安定検知ＥＮ信号Ｓ８をクロックゲーティング回路４４およびクロックゲーティング回路４５へ出力しない。発振安定検知信号Ｓ７の出力がなく、かつ、起動タイミング一致信号Ｓ１０の出力がある場合に、クロックゲーティング制御回路６４は、発振安定検知ＥＮ信号Ｓ８をクロックゲーティング回路４４およびクロックゲーティング回路４５へ出力する。
【０１４９】
３．２．５  発振カウンタ２３
発振カウンタ２３は、実施の形態１の説明におけるクロックゲーティング回路４１とクロックゲーティング回路４２を、それぞれクロックゲーティング回路４４、クロックゲーティング回路４５と読み替えたものと同様である。
３．２．６  発振周期比較器２２
発振周期比較器２２は、実施の形態３では、クロックゲーティング回路４１に代えてクロックゲーティング回路４４と接続されている。さらに、発振周期比較器２２は、発振周期安定タイミング記憶回路６２と接続されている。
【０１５０】
発振周期比較器２２は、発振周期一致信号Ｓ６を、一致回数カウンタ３３の他に、発振周期安定タイミング記憶回路６２へも出力する。
３．２．７  発振安定判定器３２
発振安定判定器３２は、実施の形態３では、クロックゲーティング回路４４と、クロックゲーティング回路４３と、クロックゲーティング制御回路６４と、起動タイミング比較器６３と、低速クロックカウンタ６１と、一致回数カウンタ３３に接続されている。
【０１５１】
発振安定判定器３２は、実施の形態３では、クロックゲーティング回路４４から出力される低速クロックＧ信号Ｓ３に同期して動作する。
また、発振安定判定器３２は、発振安定検知信号Ｓ７を、クロックゲーティング回路４３と、クロックゲーティング制御回路６４と、起動タイミング比較器６３と、低速クロックカウンタ６１と、一致回数カウンタ３３に出力する。
【０１５２】
３．２．８  クロックゲーティング回路４４
クロックゲーティング回路４４は、図示するように、低速クロック信号Ｓ１の入力を受け付けて、低速クロックＧ信号Ｓ３の出力を制御する。また、接続について実施の形態１のクロックゲーティング回路４１と異なる点は、クロックゲーティング制御回路６４と接続される点である。クロックゲーティング回路４４は、発振安定検知ＥＮ信号Ｓ８と、低速クロック信号Ｓ１とを受け付けるＡＮＤ回路である。
【０１５３】
３．２．９  クロックゲーティング回路４５
クロックゲーティング回路４５は、図示するように、高速クロック信号Ｓ２の入力を受け付けて、高速クロックＧ信号Ｓ４の出力を制御する。また、発振カウンタ２３と、クロックゲーティング制御回路６４と接続される。クロックゲーティング回路４５は、発振安定検知ＥＮ信号Ｓ８と、高速クロック信号Ｓ２とを受け付けるＡＮＤ回路である。
【０１５４】
３．３  動作
上述のように構成された半導体集積回路１ｃの動作について説明する。
図７は、実施の形態３における半導体集積回路１ｃの動作例を示す図である。
上から順に、高速クロック生成状況１０１と、発振周期比較器動作１０２と、低速クロック生成状況１０３と、Ｓ６出力状況１０４と、Ｓ７出力状況１０７と、低速クロックカウンタ値１１０と、発振周期安定タイミング記憶値１１１と、Ｓ１０出力状況１１２と、Ｓ８出力状況１１３と、発振カウンタ動作状況１１４と、時間１０８を示す。
【０１５５】
なお、実施の形態１と同様の箇所は、同一の参照符号を付して説明を省略する。
低速クロックカウンタ値１１０は、低速クロックカウンタ６１でカウントされている値と時間との関係を示す。
発振周期安定タイミング記憶値１１１は、発振周期安定タイミング記憶回路６２の記憶している値と時間との関係を示す。
【０１５６】
Ｓ１０出力状況１１２は、起動タイミング比較器６３から出力される起動タイミング一致信号Ｓ１０と、時間との関係を示す。
Ｓ８出力状況１１３は、クロックゲーティング制御回路６４による発振安定検知ＥＮ信号Ｓ８の出力と、時間との関係を示す。
発振カウンタ動作状況１１４は、発振カウンタ２３が動作しているか否かを時間と対応づけて示す。ここでいう動作とは、クロックゲーティング回路４５に発振安定検知ＥＮ信号Ｓ８が供給されることで発振カウンタ２３が高速クロックＧ信号Ｓ４のカウントを行っていることをいう。
【０１５７】
図７（ａ）は、半導体集積回路１ｃによる検知の１回目、または、発振周期安定タイミング記憶回路６２の記憶値がクリアされた状態の動作例を示す。
この場合の動作例では、発振周期安定タイミング記憶回路６２には、「０」が記憶されていることとする（発振周期安定タイミング記憶値１１１のｔ１〜ｔ８の時間を参照）。発振周期安定タイミング記憶回路６２の記憶値と、低速クロックカウンタ６１のカウント値との差が１以内なので、起動タイミング比較器６３は、起動タイミング一致信号Ｓ１０を出力する。
【０１５８】
発振周期比較器２２が発振周期一致信号Ｓ６を出力すると、発振周期安定タイミング記憶回路６２は、低速クロックカウンタ６１のカウント値を取得して記憶する（発振周期安定タイミング記憶値１１１のｔ７〜ｔ８の時間を参照）。
その後、発振安定判定器３２から発振安定検知信号Ｓ７が出力されると（Ｓ７出力状況１０７のｔ１５〜ｔ１６の時間を参照）、低速クロックカウンタ６１は、カウント値をリセットし（低速クロックカウンタ値１１０のｔ１５以降の時間を参照）、起動タイミング比較器６３は、起動タイミング一致信号Ｓ１０の出力を停止する（Ｓ１０出力状況１１２のｔ１５以降の時間を参照）。また、クロックゲーティング制御回路６４は、クロックゲーティング回路４４およびクロックゲーティング回路４５への発振安定検知ＥＮ信号Ｓ８の供給を停止する（Ｓ８出力状況１１３のｔ１５以降の時間を参照）。発振安定検知ＥＮ信号Ｓ８の供給の停止により、発振カウンタ２３は、その動作を停止する（発振カウンタ動作状況１１４のｔ１５以降の時間を参照）。
【０１５９】
続いて、２回目以降の検知について説明する。
図７（ｂ）は、半導体集積回路１ｃによる検知の２回目以降の動作例を示す。
なお、上述のように、発振周期安定タイミング記憶回路６２に記憶されている値と、低速クロックカウンタ６１でカウントされている値との差が１以内になると、起動タイミング比較器６３は、起動タイミング一致信号Ｓ１０の出力を開始する。また、図７（ａ）で説明したように、発振周期安定タイミング記憶回路６２には「４」が記憶されていることとする。
【０１６０】
検知の開始後、低速クロック信号Ｓ１の数を低速クロックカウンタ６１がカウントし、カウントされている値と、発振周期安定タイミング記憶回路６２に記憶されている値との差が１以内になると、起動タイミング比較器６３は、起動タイミング一致信号Ｓ１０の出力を開始する（低速クロックカウンタ値１１０と、発振周期安定タイミング記憶値１１１と、Ｓ１０出力状況１１２のｔ２５〜ｔ２６の時間を参照）。起動タイミング一致信号Ｓ１０が起動タイミング比較器６３から出力されると、クロックゲーティング制御回路６４は、発振安定検知ＥＮ信号Ｓ８を、クロックゲーティング回路４４およびクロックゲーティング回路４５へ供給する（Ｓ８出力状況１１３のｔ２５〜ｔ２６の時間を参照）。この供給により、発振カウンタ２３は、動作を開始する（発振カウンタ動作状況１１４のｔ２５〜ｔ２６の時間を参照）。
【０１６１】
その後、発振周期判定部２０および発振安定判定部３０が動作を開始し、発振安定判定器３２から発振安定検知信号Ｓ７が出力されると、クロックゲーティング制御回路６４は、発振安定検知ＥＮ信号Ｓ８の供給を停止し、この供給の停止により発振カウンタ２３の動作が停止する（Ｓ８出力状況１１３と、発振カウンタ動作状況１１４のｔ３５〜ｔ３６の時間を参照）。
【０１６２】
４  実施の形態４
以下、本発明の別の実施形態について説明する。
４．１  概要
図８は、実施の形態４の半導体集積回路１ｄの構成を示す機能ブロック図である。
以下、実施の形態１との相違点を中心に説明する。
【０１６３】
実施の形態４では、実施の形態１と比較して、半導体集積回路１ｄが発振安定タイミング記憶部７０を備えている点が異なる。
また、半導体集積回路１ｄには、クロックゲーティング回路４１に代えてクロックゲーティング回路４７が、クロックゲーティング回路４２に代えてクロックゲーティング回路４８が、クロックゲーティング回路４３に代えてクロックゲーティング回路４９が備わる。
【０１６４】
なお、カウンタ数設定レジスタ２１、判定回数設定レジスタ３１、一致回数カウンタ３３の接続関係および機能は、実施の形態１と同様であるため説明を省略する。
発振安定タイミング記憶部７０は、半導体集積回路１ｄが検知を開始した後、発振安定判定部３０の発振安定判定器３２が発振安定検知信号Ｓ７を出力するまでの間に生成される低速クロック信号Ｓ１の数をカウントして記憶する。
【０１６５】
検知が行われた後、再び半導体集積回路１ｄが検知を行う際、発振安定タイミング記憶部７０は、発振周期判定部２０や発振安定判定部３０への低速クロックＧ信号Ｓ３や高速クロックＧ信号Ｓ４の供給を抑止する。また、発振安定タイミング記憶部７０は、低速クロック信号Ｓ１のカウントを行い、カウント数が、記憶されている数に達すると、発振安定待ち解除信号Ｓ１１をクロックゲーティング回路４９へ出力する。クロックゲーティング回路４９は、発振安定待ち解除信号Ｓ１１を受け付けて、ＣＰＵ１０へ高速クロックＳ信号Ｓ５を出力する。
【０１６６】
要するに、実施の形態４の発明は、半導体集積回路１ｄがひとたび検知を行うと、次回以降の検知では、発振周期判定部２０や発振安定判定部３０にクロック信号を供給することなく検知を行うことを特徴とする。こうすることで、高速クロックＧ信号Ｓ４や低速クロックＧ信号Ｓ３が発振周期判定部２０や発振安定判定部３０に供給されないので、半導体集積回路１ｄの低消費電力化を実現することができる。
【０１６７】
なお、本実施形態では、低速クロック信号Ｓ１のみを用いて検知を行うため、発振安定検知にかかる消費電力を大幅に減らすことができる。
４．２  構成
以下、具体的に説明する。
図８に示すように、発振安定タイミング記憶部７０は、低速クロックカウンタ７１と、発振安定タイミング記憶回路７２と、発振安定待ち制御回路７３と、発振安定検知制御回路７４とを含む。
【０１６８】
４．２．１  低速クロックカウンタ７１
低速クロックカウンタ７１は、低速クロック信号Ｓ１の入力を受け付けている。また、発振安定タイミング記憶回路７２と、発振安定待ち制御回路７３と接続される。
低速クロックカウンタ７１は、半導体集積回路１ｄが検知を開始する際には、そのカウント値がリセットされている。例えば、情報処理システムがスタンバイモードからノーマルモードへと移行する移行開始を検知する所定の回路が、その検知時に低速クロックカウンタ７１のカウント値をリセットすることとしてもよい。
【０１６９】
低速クロックカウンタ７１は、半導体集積回路１ｄが検知を開始した後、低速クロック信号Ｓ１を受信してカウントアップする。すなわち、低速クロック信号Ｓ１の数をカウントする。
４．２．２  発振安定タイミング記憶回路７２
発振安定タイミング記憶回路７２は、低速クロックカウンタ７１と、発振安定待ち制御回路７３と、発振安定判定器３２と接続される。
【０１７０】
発振安定タイミング記憶回路７２は、発振安定判定器３２から出力される発振安定検知信号Ｓ７の入力を受け付けている。発振安定検知信号Ｓ７のエッジの立ち上がりを検出すると、低速クロックカウンタ７１でカウントされている値を取得して記憶する。なお、本実施形態では、発振安定タイミング記憶回路７２は、初めに「０」を記憶していることとする。
【０１７１】
また、発振安定タイミング記憶回路７２は、自回路に記憶されている値を、所定のタイミングになるごとに（例えば周期的に）クリアすることとしてもよい。
４．２．３  発振安定待ち制御回路７３
発振安定待ち制御回路７３は、低速クロック信号Ｓ１の入力を受け付けている。また、低速クロックカウンタ７１と、発振安定タイミング記憶回路７２と、発振安定判定器３２と、クロックゲーティング回路４９と接続される。
【０１７２】
発振安定待ち制御回路７３は、低速クロック信号Ｓ１に同期して動作し、発振安定タイミング記憶回路７２に記憶されている値と、低速クロックカウンタ７１でカウントされている値とを比較し、一致、または比較した値の差分が所定値以内になると、発振安定待ち解除信号Ｓ１１をクロックゲーティング回路４９へ出力する。
また、発振安定待ち制御回路７３は、発振安定判定器３２から出力される発振安定検知信号Ｓ７を受け付けており、発振安定検知信号Ｓ７を受け付けると、発振安定待ち解除信号Ｓ１１をクロックゲーティング回路４９へ出力する。なお、本実施形態では、発振安定タイミング記憶回路７２に記憶されている値と、低速クロックカウンタ７１でカウントされている値とが一致した場合に発振安定待ち解除信号Ｓ１１が出力されることとする。
【０１７３】
４．２．４  発振安定検知制御回路７４
発振安定検知制御回路７４は、発振安定判定器３２と、クロックゲーティング回路４７と、クロックゲーティング回路４８と接続される。
発振安定検知制御回路７４は、半導体集積回路１ｄの１回目の検知時、または発振安定タイミング記憶回路７２の記憶値がクリアされた状態における検知時において、発振安定判定器３２から出力される発振安定検知信号Ｓ７を受け付けており、発振安定検知信号Ｓ７を受け付けると、クロックゲーティング回路４７およびクロックゲーティング回路４８へ安定検知回路停止信号Ｓ１２を出力する。なお、図示するように、クロックゲーティング回路４７およびクロックゲーティング回路４８へは、安定検知回路停止信号Ｓ１２の出力が反転して入力される。
【０１７４】
なお、発振安定検知制御回路７４は、発振安定判定器３２から発振安定検知信号Ｓ７を受け付けているか否かを示す値をレジスタ等の記憶部に保持している。例えば、レジスタの値が「１」であれば発振安定検知信号Ｓ７を受け付けており、値が「０」であれば発振安定検知信号Ｓ７を受け付けていない状態を示すこととする。発振安定検知信号Ｓ７を受け付けている状態であれば、発振安定検知制御回路７４は、安定検知回路停止信号Ｓ１２を出力する。なお、このレジスタの値は、発振安定タイミング記憶回路７２の記憶値がクリアされた場合、発振安定検知信号Ｓ７を受け付けていない状態を示すこととする。なお、１回目の検知時には、このレジスタの値は、発振安定検知信号Ｓ７を受け付けていない状態を示す。
【０１７５】
発振安定検知制御回路７４は、発振安定検知信号Ｓ７を受け付けた状態であれば、安定検知回路停止信号Ｓ１２を出力する。
４．２．５  クロックゲーティング回路４７
クロックゲーティング回路４７は、低速クロック信号Ｓ１の入力を受け付けて、低速クロックＧ信号Ｓ３の出力を制御する。また、接続について実施の形態１のクロックゲーティング回路４１と異なる点は、発振安定検知制御回路７４と接続されている点である。クロックゲーティング回路４７は、安定検知回路停止信号Ｓ１２の出力を反転させた信号と、低速クロック信号Ｓ１とを受け付けるＡＮＤ回路である。
【０１７６】
４．２．６  クロックゲーティング回路４８
クロックゲーティング回路４８は、高速クロック信号Ｓ２の入力を受け付けて、高速クロックＧ信号Ｓ４の出力を制御する。また、発振カウンタ２３と、発振安定検知制御回路７４と接続される。クロックゲーティング回路４８は、安定検知回路停止信号Ｓ１２の出力を反転させた信号と、高速クロック信号Ｓ２とを受け付けるＡＮＤ回路である。
【０１７７】
４．２．７  クロックゲーティング回路４９
クロックゲーティング回路４９は、高速クロック信号Ｓ２の入力を受け付けて、高速クロックＳ信号Ｓ５の出力を制御する。また、発振安定待ち制御回路７３と、ＣＰＵ１０と接続される。発振安定待ち制御回路７３から発振安定待ち解除信号Ｓ１１が出力されるまで、ＣＰＵ１０への高速クロックＳ信号Ｓ５の供給を停止する。クロックゲーティング回路４９は、発振安定待ち解除信号Ｓ１１と、高速クロック信号Ｓ２とを受け付けるＡＮＤ回路である。
【０１７８】
４．３  動作
上述のように構成された半導体集積回路１ｄの動作について説明する。
図９は、実施の形態４における半導体集積回路１ｄの動作例を示す図である。
上から順に、高速クロック生成状況１０１と、発振周期比較器動作１０２と、低速クロック生成状況１０３と、Ｓ６出力状況１０４と、一致回数カウンタ値１０５と、判定回数設定レジスタ値１０６と、Ｓ７出力状況１０７と、低速クロックカウンタ値１１０ｂと、発振安定タイミング記憶値１１５と、Ｓ１１出力状況１１６と、Ｓ１２出力状況１１７と、時間１０８とを示す。
【０１７９】
なお、実施の形態１と同様の箇所は、同一の参照符号を付して説明を省略する。
低速クロックカウンタ値１１０ｂは、低速クロックカウンタ７１でカウントされている値と時間との関係を示す。
発振安定タイミング記憶値１１５は、発振安定タイミング記憶回路７２において記憶されている値と時間との関係を示す。
【０１８０】
Ｓ１１出力状況１１６は、発振安定待ち制御回路７３から出力される発振安定待ち解除信号Ｓ１１と、時間との関係を示す。
Ｓ１２出力状況１１７は、発振安定検知制御回路７４から出力される安定検知回路停止信号Ｓ１２と、時間との関係を示す。
図９（ａ）は、半導体集積回路１ｄによる検知の１回目または発振安定タイミング記憶回路７２の記憶値がクリアされた状態における半導体集積回路１ｄの動作例を示す。
【０１８１】
この場合の動作例では、発振安定タイミング記憶回路７２には、「０」が記憶されていることとする（発振安定タイミング記憶値１１５のｔ１以降の時間を参照）。
発振安定検知制御回路７４からは安定検知回路停止信号Ｓ１２が出力されておらず、そのため低速クロックＧ信号Ｓ３および高速クロックＧ信号Ｓ４が発振周期判定部２０や発振安定判定部３０に供給され、やがて発振安定判定器３２が発振安定検知信号Ｓ７を出力する（Ｓ７出力状況１０７のｔ１５〜ｔ１６の時間を参照）。
【０１８２】
発振安定検知信号Ｓ７が出力されると、発振安定タイミング記憶回路７２は、低速クロックカウンタ７１でカウントされている値を取得して記憶する（発振安定タイミング記憶値１１５のｔ１５以降の時間を参照）。この例では、カウントされている値として「８」を取得して記憶する。また、発振安定待ち制御回路７３は、発振安定検知信号Ｓ７を受け付けて、発振安定待ち解除信号Ｓ１１を出力する（Ｓ１１出力状況１１６のｔ１５以降の時間を参照）。これにより、クロックゲーティング回路４９からＣＰＵ１０へと高速クロックＳ信号Ｓ５が供給される。また、発振安定検知制御回路７４は、発振安定検知信号Ｓ７を受け付けて、安定検知回路停止信号Ｓ１２を出力する（Ｓ１２出力状況１１７のｔ１５以降の時間を参照）。これにより、低速クロックＧ信号Ｓ３および高速クロックＧ信号Ｓ４の、発振周期判定部２０や発振安定判定部３０への供給が停止される。
【０１８３】
図９（ｂ）は、半導体集積回路１ｄによる検知の２回目以降の動作例を示す。
なお、上述のように、発振安定タイミング記憶回路７２に記憶されている値と、低速クロックカウンタ７１でカウントされている値とが一致した場合に、発振安定待ち制御回路７３は、発振安定待ち解除信号Ｓ１１を出力することとする。
２回目以降の検知では、安定検知回路停止信号Ｓ１２が出力されることにより、発振周期判定部２０や発振安定判定部３０に低速クロックＧ信号Ｓ３および高速クロックＧ信号Ｓ４が供給されない（Ｓ１２出力状況１１７のｔ２１以降の時間を参照）。そのため、発振周期一致信号Ｓ６や、発振安定検知信号Ｓ７は出力されず、また、一致回数カウンタ３３はカウントアップを行わない（Ｓ６出力状況１０４と、一致回数カウンタ値１０５と、Ｓ７出力状況１０７のｔ２１以降の時間を参照）。
【０１８４】
低速クロックカウンタ７１でカウントされている値が発振安定タイミング記憶回路７２で記憶されている値と一致すると、発振安定待ち制御回路７３は、発振安定待ち解除信号Ｓ１１を出力する（Ｓ１１出力状況１１６のｔ３５〜ｔ３６の時間を参照）。
５  実施の形態５
以下、本発明の別の実施形態について説明する。
【０１８５】
５．１  概要
図１０は、実施の形態５の半導体集積回路１ｅの構成を示す機能ブロック図である。
以下、実施の形態１との相違点を中心に説明する。
実施の形態５の半導体集積回路１ｅは、実施の形態１の発振安定判定部３０とは異なる発振安定判定部８０を備えている。
【０１８６】
実施の形態５にかかる発振安定判定部８０は、要するに、高速クロック信号Ｓ２の周波数の変動が大きいか小さいかを判定し、変動が小さければ発振が安定しているとして検知を行う。つまり、高速クロック信号Ｓ２の周波数が所定周波数に達したからといって、必ずしも高速発振器の発振が安定しているとは限らず、周波数の変動が大きい場合があるが、本実施形態によると、周波数の変動が大きいか小さいかを判定できるので、検知の精度を向上させることができる。
【０１８７】
また、高速発振器の異常等の原因により高速クロック信号Ｓ２の周波数が所定周波数に達していない場合に、従来のようにクロックパルスの数を所定数以上カウントすることで検知が行われてしまうといった問題も、半導体集積回路１ｅは解決している。なぜなら、半導体集積回路１ｅは、所定周波数に達している高速クロック信号Ｓ２の変動に基づいて検知を行っている、つまり、高速クロック信号Ｓ２の周波数が所定周波数であることを前提にしているからである。
【０１８８】
具体的に高速クロック信号Ｓ２の周波数の変動の大きさを判定するために、発振安定判定部８０は、高速クロック信号Ｓ２が発振カウンタ２３でカウントされた値の履歴を記憶する。高速発振器の発振が安定していれば、履歴として記憶されている記憶値のそれぞれの差分は小さくなるはずである。この差分の大きさに基づいて、発振安定判定部８０は、高速クロック信号Ｓ２の周波数が安定しているか判定する。
【０１８９】
５．２  構成
上記技術は、図１０に示すように、以下のようにして実現される。
すなわち、発振安定判定部８０は、第１発振カウンタ値記憶器８１と、第２発振カウンタ値記憶器８２と、差分判定設定レジスタ８３と、差分比較器８４と、判定回数設定レジスタ８５と、発振安定判定器８６とを含む。
【０１９０】
５．２．１  第１発振カウンタ値記憶器８１
第１発振カウンタ値記憶器８１は、クロックゲーティング回路４１と、発振カウンタ２３と、第２発振カウンタ値記憶器８２と、差分比較器８４と接続されている。
第１発振カウンタ値記憶器８１は、低速クロックＧ信号Ｓ３に同期して動作し、発振カウンタ２３のカウント値を取得して記憶する。なお、低速クロックＧ信号Ｓ３が発振カウンタ２３に入力されてそのカウント値がリセットされる前に、第１発振カウンタ値記憶器８１は発振カウンタ２３のカウント値を取得して記憶するものとする。
【０１９１】
５．２．２  第２発振カウンタ値記憶器８２
第２発振カウンタ値記憶器８２は、クロックゲーティング回路４１と、第１発振カウンタ値記憶器８１と、差分比較器８４と接続されている。
第２発振カウンタ値記憶器８２は、低速クロックＧ信号Ｓ３に同期して動作し、第１発振カウンタ値記憶器８１で記憶されている値を取得して記憶する。なお、第２発振カウンタ値記憶器８２は、同期にかかる低速クロックＧ信号Ｓ３の１クロック周期前の信号に同期して第１発振カウンタ値記憶器８１が発振カウンタ２３から取得して記憶したカウント値を、第１発振カウンタ値記憶器８１から取得する。すなわち、低速クロックＧ信号Ｓ３の１クロック周期前に第１発振カウンタ値記憶器８１によって発振カウンタ２３から取得された値を、第２発振カウンタ値記憶器８２は記憶することとする。例えば、第１発振カウンタ値記憶器８１と第２発振カウンタ値記憶器８２とに低速クロックＧ信号Ｓ３がほぼ同時に入力されるとしても、第１低速クロックカウンタ値記憶器８１が、低速クロックＧ信号Ｓ３を受け付けてから発振カウンタ２３の値を取得するまでの時間を、バッファ等を論理回路に挿入することにより遅延させればよい。
【０１９２】
要するに、第１発振カウンタ値記憶器８１と第２発振カウンタ値記憶器８２とは、発振カウンタ２３のカウント値の履歴を記憶している。
５．２．３  差分判定設定レジスタ８３
差分判定設定レジスタ８３は、差分比較器８４と接続される。
差分判定設定レジスタ８３は、任意の値を設定できるレジスタである。この値は、例えば、高速クロック信号Ｓ２と低速クロック信号Ｓ１の周波数の比の値（実施の形態１の例で言うと、６２５）の数％（例えば、約２％に相当する１２）を基準の値とするとよい。なお、高速発振器の発振が安定している時の高速クロック信号Ｓ２の変動の大きさを考慮して、この基準の値を大きくしたり小さくしたりした値を差分判定設定レジスタ８３に設定してもよい。例えば、上記変動が比較的小さい場合は、この基準の値をさらに小さくした値を差分判定設定レジスタ８３に設定するとよい。
【０１９３】
５．２．４  差分比較器８４
差分比較器８４は、クロックゲーティング回路４１と、第１発振カウンタ値記憶器８１と、第２発振カウンタ値記憶器８２と、差分判定設定レジスタ８３と、発振安定判定器８６と接続される。
差分比較器８４は、低速クロックＧ信号Ｓ３に同期して動作し、第１発振カウンタ値記憶器８１に記憶されている値と、第２発振カウンタ値記憶器８２に記憶されている値とを比較して、比較した値の差分が、差分判定設定レジスタ８３に記憶されている値以下であれば発振周期安定信号Ｓ１３を発振安定判定器８６へ出力する。なお、差分比較器８４は、同期にかかる低速クロックＧ信号Ｓ３によって第１発振カウンタ値記憶器８１の記憶値と第２発振カウンタ値記憶器８２の記憶値とが更新されてから前記比較を行うこととする。
【０１９４】
５．２．５  判定回数設定レジスタ８５
判定回数設定レジスタ８５は、発振安定判定器８６と接続される。
判定回数設定レジスタ８５は、任意の値を設定できるレジスタである。本実施形態では、「２」を設定することとする。
５．２．６  発振安定判定器８６
発振安定判定器８６は、発振周期比較器２２と、差分比較器８４と、判定回数設定レジスタ８５と、クロックゲーティング回路４１と、クロックゲーティング回路４２と、クロックゲーティング回路４３と接続される。
【０１９５】
発振安定判定器８６は、発振周期比較器２２から出力される発振周期一致信号Ｓ６と、差分比較器８４から出力される発振周期安定信号Ｓ１３とを受け付けており、発振周期一致信号Ｓ６と発振周期安定信号Ｓ１３とが同時に入力された回数が、判定回数設定レジスタに設定された値と一致すると、発振周期安定信号Ｓ１３を出力する。
例えば、発振安定判定器８６は、発振周期一致信号Ｓ６と発振周期安定信号Ｓ１３を入力とするＡＮＤ回路と、このＡＮＤ回路を通過したパルスの数をカウントするカウンタとを含んでいる。発振安定判定器８６は、前記カウンタのカウント値が判定回数設定レジスタ８５に記憶されている値と一致すると、発振安定検知信号Ｓ７を、クロックゲーティング回路４１、クロックゲーティング回路４２、クロックゲーティング回路４３に出力する。なお、このカウンタのカウント値は、情報処理システムがノーマルモードへと移行した際にクリアされることとする。
【０１９６】
５．２．７  クロックゲーティング回路４１
クロックゲーティング回路４１は、接続関係は実施の形態１と異なる。実施の形態５において、クロックゲーティング回路４１は、図に示すように、発振周期比較器２２と、発振カウンタ２３と、第１発振カウンタ値記憶器８１と、第２発振カウンタ値記憶器８２と、差分比較器８４と、発振安定判定器８６と接続される。図に示すように、発振安定判定器８６からの出力は反転してクロックゲーティング回路４１に入力される。クロックゲーティング回路４１は、発振安定判定器８６からの発振安定検知信号Ｓ７の出力を反転させた信号と、低速クロック信号Ｓ１とを受け付けるＡＮＤ回路である。
【０１９７】
５．２．８  その他
なお、クロックゲーティング回路４２、クロックゲーティング回路４３は、それぞれ実施の形態１で説明した各クロックゲーティング回路の説明において、発振安定判定器３２を、発振安定判定器８６と読み替えたものと同様である。
また、発振周期比較器２２は、接続関係は実施の形態１とは異なる。図１０に示すように、発振周期比較器２２は、クロックゲーティング回路４１と、カウンタ数設定レジスタ２１と、発振カウンタ２３と、発振安定判定器８６と接続される。発振周期比較器２２は、発振周期一致信号Ｓ６を、発振安定判定器８６へ出力する。
【０１９８】
また、発振カウンタ２３は、接続関係は実施の形態１とは異なる。図１０に示すように、発振カウンタ２３は、クロックゲーティング回路４１と、クロックゲーティング回路４２と、発振周期比較器２２と、第１発振カウンタ値記憶器８１と接続される。
また、カウンタ数設定レジスタ２１は、実施の形態１と同様である。
このように構成することで、実施の形態１と比べて、高速クロック信号Ｓ２の周波数の変動を考慮して検知を行う分、検知の精度を向上させることができる。
【０１９９】
なお、上述の説明では、差分比較器８４は、高速クロック信号Ｓ２が発振カウンタ２３でカウントされた値の履歴を第１発振カウンタ値記憶器８１および第２発振カウンタ値記憶器８２により記憶しているが、発振カウンタ２３のカウント値を記憶する記憶器の数は２つに限らない。
また、上述の説明では、差分比較器８４は、第１発振カウンタ値記憶器８１の記憶値と第２発振カウンタ値記憶器８２の記憶値との差分に基づいて発振周期安定信号Ｓ１３の出力を制御することとしている。したがって、減算の他に複雑な計算が必要とならないので、差分比較器８４を簡単な構成で実現することができる。ここで、差分比較器８４は、差分に限らず、その他の方法により発振周期安定信号Ｓ１３の出力を制御することとしてもよい。例えば、第１発信カウンタ値記憶器８１等の記憶器に記憶されている各記憶値に基づいて所定の演算を行い、演算結果に基づいて発振周期安定信号Ｓ１３の出力を差分比較器８４が制御することが考えられる。所定の演算とは、平均や分散や標準偏差等を算出することである。ここで、所定の演算とは、高速クロック信号Ｓ２の周波数のばらつきの度合を数値化できる演算であることが望ましい。例えば、第１発振カウンタ値記憶器８１等に記憶されている記憶値の平均が所定範囲内（例えば、高速クロック信号Ｓ２と低速クロック信号Ｓ１の各周波数の比の値である６２５を中心とした範囲。中心から１％程度の範囲をとると、６１９以上６３１以下の範囲）であれば、差分比較器８４により発振周期安定信号Ｓ１３が出力されることとしてもよい。また、差分比較器８４は、平均を求めずとも第１発信カウンタ値記憶器８１等に記憶されている各記憶値の合計を所定値と比較することにより発振周期安定信号Ｓ１３の出力を制御することとしてもよい。また、平均の他にも各記憶値の分散や標準偏差などを求めて、これら分散や標準偏差等に基づいて発振周期安定信号Ｓ１３の出力を制御することとしてもよい。
【０２００】
５．３  動作
上述のように構成された半導体集積回路１ｅの動作について説明する。
図１１は、実施の形態５における半導体集積回路１ｅの動作例を示す図である。
上から順に、高速クロック生成状況１０１と、発振周期比較器動作１０２と、差分比較器動作１１８と、低速クロック生成状況１０３と、Ｓ６出力状況１０４と、Ｓ１３出力状況１１９と、判定回数設定レジスタ値１０６ｂと、Ｓ７出力状況１０７ｂと、時間１０８を示す。
【０２０１】
なお、実施の形態１と同様の箇所は、同一の参照符号を付して説明を省略する。
差分比較器動作１１８は、第１発振カウンタ値記憶器８１に記憶されている値と第２発振カウンタ値記憶器８２に記憶されている値との差分値を、差分判定設定レジスタ８３に記憶されている値と比較している差分比較器８４の動作を示している。縦軸は、前記差分値を示す。同図では、差分判定設定レジスタ８３に記憶されている値を記憶値１１８ａとして点線で示す。
【０２０２】
Ｓ１３出力状況１１９は、差分比較器８４から出力される発振周期安定信号Ｓ１３と、時間との関係を示す。
判定回数設定レジスタ値１０６ｂは、判定回数設定レジスタ８５に記憶されている値と時間との関係を示す。なお、上述のように、判定回数設定レジスタ８５には「２」が記憶されていることとする。
【０２０３】
Ｓ７出力状況１０７ｂは、発振安定判定器８６から出力される発振安定検知信号Ｓ７と、時間との関係を示す。
同図に示すように、第１発振カウンタ値記憶器８１に記憶されている値と第２発振カウンタ値記憶器８２に記憶されている値の差分値が、記憶値１１８ａに示される値以下であれば、差分比較器８４は、発振周期安定信号Ｓ１３を出力する（例えば、差分比較器動作１１８とＳ１３出力状況１１９のｔ１〜ｔ２の時間や、ｔ１３〜ｔ１４、ｔ１５〜ｔ１６の時間を参照）。
【０２０４】
発振周期一致信号Ｓ６と発振周期安定信号Ｓ１３とが同時間帯に生成され、（Ｓ６出力状況１０４およびＳ１３出力状況１１９のｔ１３〜ｔ１６の時間を参照）、その回数が、判定回数設定レジスタ９５に記憶されている値と一致すると、発振安定判定器８６は、発振安定検知信号Ｓ７を出力する（Ｓ７出力状況１０７ｂのｔ１５〜ｔ１６の時間を参照）。
【０２０５】
６  実施の形態６
以下、本発明の別の実施形態について説明する。
６．１  概要
図１２は、実施の形態６の半導体集積回路１ｆの構成を示す機能ブロック図である。
以下、実施の形態１との相違点を中心に説明する。
【０２０６】
実施の形態６の半導体集積回路１ｆは、実施の形態１の発振安定判定部３０とは異なる発振安定判定部９０を備えている。
実施の形態６にかかる半導体集積回路１ｆは、要するに、高速クロック信号Ｓ２がほぼ所定周波数で生成され続けているかを判定して検知を行う。つまり、一時的に高速クロック信号Ｓ２の周波数が所定周波数に達したとしても、連続して所定周波数の高速クロック信号Ｓ２が生成されていなければ、半導体集積回路１ｆは、高速発振器の発振が安定していると検知しない。
【０２０７】
具体的には、発振安定判定部９０は、低速クロックＧ信号Ｓ３をカウントする低速クロックカウンタ９１を有しており、さらに、発振周期比較器２２から発振周期一致信号Ｓ６が出力されたタイミングで、低速クロックカウンタ９１のカウント値を取得する。この取得したカウント値は、履歴として複数記憶する。すなわち、高速クロック信号Ｓ２の周波数が所定周波数に達した時の低速クロックカウンタの値を履歴として記憶する。高速クロック信号Ｓ２の周波数が安定してくると、発振周期比較器２２は、低速クロックＧ信号Ｓ３が入力されるたび、発振周期一致信号Ｓ６を出力するはずである。したがって、履歴として記憶されている低速クロックカウンタの値それぞれの差分を取ると、高速クロック信号Ｓ２の周波数が安定して、周波数の変動が小さくなるにつれて、その差分値が小さくなるはずである。この差分の大きさに基づいて、発振安定判定部９０は、高速クロック信号Ｓ２の周波数が安定しているか判定する。
【０２０８】
なお、上述の構成では、低速クロックＧ信号Ｓ３に基づいて判定を行っているので、低速クロックカウンタ９１のサイズは比較的小さくて済む。したがって、実施の形態６にかかる半導体集積回路１ｆは、小型化を実現しつつ、高速クロック信号Ｓ２の周波数の変動の大きさを判定して検知の精度を向上させることができる。
６．２  構成
上記技術は、図１２に示すように、以下のようにして実現される。
【０２０９】
すなわち、発振安定判定部９０は、低速クロックカウンタ９１と、第１低速クロックカウンタ値記憶器９２と、第２低速クロックカウンタ値記憶器９３と、差分計測器９４と、判定回数設定レジスタ９５と、発振安定判定器９６とを含む。
６．２．１  低速クロックカウンタ９１
低速クロックカウンタ９１は、クロックゲーティング回路４１と、第１低速クロックカウンタ値記憶器９２と、発振安定判定器９６と接続される。
【０２１０】
低速クロックカウンタ９１は、クロックゲーティング回路４１からの低速クロックＧ信号Ｓ３を受け付けて、カウントアップする。
低速クロックカウンタ９１は、発振安定判定器９６から出力される発振安定検知信号Ｓ７を受け付けており、発振安定検知信号Ｓ７を受け付けると、カウント値をリセットする。
【０２１１】
６．２．２  第１低速クロックカウンタ値記憶器９２
第１低速クロックカウンタ値記憶器９２は、発振周期比較器２２と、低速クロックカウンタ９１と、第２低速クロックカウンタ値記憶器９３と、差分計測器９４と接続される。
第１低速クロックカウンタ値記憶器９２は、発振周期比較器２２から発振周期一致信号Ｓ６を受け付けており、発振周期一致信号Ｓ６を受け付けると、低速クロックカウンタ９１でカウントされているカウント値を取得して記憶する。
【０２１２】
６．２．３  第２低速クロックカウンタ値記憶器９３
第２低速クロックカウンタ値記憶器９３は、発振周期比較器２２と、第１低速クロックカウンタ値記憶器９２と、差分計測器９４と接続される。
第２低速クロックカウンタ値記憶器９３は、発振周期比較器２２から発振周期一致信号Ｓ６を受け付けており、発振周期一致信号Ｓ６を受け付けると、第１低速クロックカウンタ値記憶器９２に記憶されている値を取得して記憶する。なお、発振周期一致信号Ｓ６は、第１低速クロックカウンタ値記憶器９２と第２低速クロックカウンタ値記憶器９３とに出力されるが、第２低速クロックカウンタ値記憶器９３は、出力にかかる発振周期一致信号Ｓ６によって第１低速クロックカウンタ値記憶器９２の記憶内容が更新される前に、その記憶内容を取得して記憶することとする。すなわち、発振周期一致信号Ｓ６が出力された時、第２低速クロックカウンタ値記憶器９３は、ひとつ前の発振周期一致信号Ｓ６の出力の際に第１低速クロックカウンタ値記憶器９２に記憶された値を取得して記憶する。例えば、発振周期一致信号Ｓ６が、第１低速クロックカウンタ値記憶器８１および第２低速クロックカウンタ値記憶器９３にほぼ同時に入力されるとしても、第１低速クロックカウンタ値記憶器８１が低速クロックカウンタ９１から値を取得するのを遅延させればよい。
【０２１３】
６．２．４  差分計測器９４
差分計測器９４は、クロックゲーティング回路４１と、第１低速クロックカウンタ値記憶器９２と、第２低速クロックカウンタ値記憶器９３と、発振安定判定器９６と接続される。
差分計測器９４は、クロックゲーティング回路４１からの低速クロックＧ信号Ｓ３に同期して動作し、第１低速クロックカウンタ値記憶器９２に記憶されている値と、第２低速クロックカウンタ値記憶器９３に記憶されている値とを取得して比較し、取得した値の差分が所定値あるいは所定値以下であれば、発振周期安定信号Ｓ１３を発振安定判定器９６へ出力する。なお、実施の形態６では、上記差分が１であれば、差分計測器９４は発振周期安定信号Ｓ１３を出力することとする。
【０２１４】
つまり、差分計測器９４は、発振周期一致信号Ｓ６が出力された時の、低速クロックカウンタ９１のカウント値の履歴に基づいて発振周期安定信号Ｓ１３の出力を制御する。
６．２．５  判定回数設定レジスタ９５
判定回数設定レジスタ９５は、発振安定判定器９６と接続される。
判定回数設定レジスタ９５は、任意の値を設定できるレジスタである。本実施形態では、「２」を記憶していることとする。
【０２１５】
６．２．６  発振安定判定器９６
発振安定判定器９６は、差分計測器９４と、判定回数設定レジスタ９５と、低速クロックカウンタ９１と、クロックゲーティング回路４１と、クロックゲーティング回路４２と、クロックゲーティング回路４３と接続される。
発振安定判定器９６は、差分計測器９４から出力される発振周期安定信号Ｓ１３を受け付けている。判定回数設定レジスタ９５に記憶されている値の回数分、発振周期安定信号Ｓ１３を受け付けると、発振安定検知信号Ｓ７を、クロックゲーティング回路４１、クロックゲーティング回路４２、クロックゲーティング回路４３、低速クロックカウンタ９１へ出力する。
【０２１６】
例えば、発振安定判定器９６は、発振周期安定信号Ｓ１３を受け付けてカウントアップするカウンタを備え、そのカウンタのカウント値と、判定回数設定レジスタ９５に記憶されている値とを比較して、一致したら発振安定検知信号Ｓ７を出力する。なお、このカウンタのカウント値は、情報処理システムがノーマルモードへの移行を完了した際にクリアされることとする。
【０２１７】
６．２．７  クロックゲーティング回路４１
クロックゲーティング回路４１は、接続関係は実施の形態１と異なる。実施の形態６において、クロックゲーティング回路４１は、図に示すように、発振周期比較器２２と、発振カウンタ２３と、低速クロックカウンタ９１と、差分計測器９４と、発振安定判定器９６と接続される。図に示すように、発振安定判定器９６からの出力は反転してクロックゲーティング回路４１に入力される。クロックゲーティング回路４１は、発振安定判定器９６からの発振安定検知信号Ｓ７の出力を反転させた信号と、低速クロック信号Ｓ１とを受け付けるＡＮＤ回路である。
【０２１８】
６．２．８  その他
なお、クロックゲーティング回路４２、クロックゲーティング回路４３は、それぞれ実施の形態１で説明した各クロックゲーティング回路の説明において、発振安定判定器３２を、発振安定判定器９６と読み替えたものと同様である。
また、発振周期比較器２２は、接続関係は実施の形態１とは異なる。図１２に示すように、発振周期比較器２２は、クロックゲーティング回路４１と、第１低速クロックカウンタ値記憶器９２と、第２低速クロックカウンタ値記憶器９３と、カウンタ数設定レジスタ２１と、発振カウンタ２３と接続される。発振周期比較器２２は、発振周期一致信号Ｓ６を、第１低速クロックカウンタ値記憶器９２と第２低速クロックカウンタ値記憶器９３へ出力する。
【０２１９】
また、発振カウンタ２３とカウンタ数設定レジスタ２１は、実施の形態１と同様である。
６．３  動作
上述のように構成された半導体集積回路１ｆの動作について説明する。
図１３は、実施の形態６における半導体集積回路１ｆの動作例を示す図である。
【０２２０】
上から順に、高速クロック生成状況１０１と、発振周期比較器動作１０２と、低速クロック生成状況１０３と、Ｓ６出力状況１０４と、低速クロックカウンタ値１１０ｃと、第１低速クロックカウンタ値記憶器記憶値１２０と、第２低速クロックカウンタ値記憶器記憶値１２１と、差分計測器動作１２２と、Ｓ１３出力状況１１９ｂと、判定回数設定レジスタ値１０６ｃと、Ｓ７出力状況１０７ｃと、時間１０８を示す。
【０２２１】
なお、実施の形態１と同様の箇所は、同一の参照符号を付して説明を省略する。
低速クロックカウンタ値１１０ｃは、低速クロックカウンタ９１でカウントされている値と時間との関係を示す。
第１低速クロックカウンタ値記憶器記憶値１２０は、第１低速クロックカウンタ値記憶器９２で記憶されている値と時間との関係を示す。
【０２２２】
第２低速クロックカウンタ値記憶器記憶値１２１は、第２低速クロックカウンタ値記憶器９３で記憶されている値と時間との関係を示す。
差分計測器動作１２２は、差分計測器９４が比較している第１低速クロックカウンタ値記憶器９２に記憶されている値と第２低速クロックカウンタ値記憶器９３に記憶されている値との差分値を示す。
【０２２３】
Ｓ１３出力状況１１９ｂは、差分計測器９４から出力される発振周期安定信号Ｓ１３と、時間との関係を示す。
判定回数設定レジスタ値１０６ｃは、判定回数設定レジスタ９５に記憶されている値を示す。上述のように、判定回数設定レジスタ９５には「２」が記憶されていることとする。
【０２２４】
Ｓ７出力状況１０７ｃは、発振安定判定器９６から出力される発振安定検知信号Ｓ７と、時間との関係を示す。
同図に示すように、発振周期一致信号Ｓ６が出力されるたびに、第２低速クロックカウンタ値記憶器９３は、第１低速クロックカウンタ値記憶器９２に記憶されている値を取得して記憶する。また、第１低速クロックカウンタ値記憶器９２は、低速クロックカウンタ９１がカウントしているカウント値を取得して記憶する（第１低速クロックカウンタ値記憶器記憶値１２０と第２低速クロックカウンタ値記憶器記憶値１２１のｔ１１〜１２等の時間を参照）。
【０２２５】
差分計測器９４は、第１低速クロックカウンタ値記憶器９２の記憶値と第２低速クロックカウンタ値記憶器９３の記憶値との差分を計算し、差分が１になると、発振周期安定信号Ｓ１３を発振安定判定器９６へ出力する（Ｓ１３出力状況１１９ｂのｔ１３〜ｔ１４等の時間を参照）。
発振安定判定器９６は、発振周期安定信号Ｓ１３が出力された回数をカウントし、その数が、判定回数設定レジスタ９５に記憶されている値に達すると、発振安定検知信号Ｓ７を出力する（Ｓ７出力状況１０７ｃのｔ１５〜ｔ１６の時間を参照）。
【０２２６】
７  実施の形態７  
以下、本発明の別の実施形態について説明する。
実施の形態７では、上述の実施の形態１〜６で説明した半導体集積回路を含む情報処理システムを説明する。なお、情報処理システムの一例として無線通信装置を挙げて説明するが、無線通信装置に限らない。上述した実施の形態１〜６の方法で高速発振器の発振が安定しているか検知する発振安定検知回路（例えば、発振周期判定部２０と発振安定判定部３０とを含む回路）を備えて動作する半導体集積回路と、高速発振器と、低速発振器とを備えていればどのような構成であってもよい。また、上記実施の形態１〜６に示した方法で前記検知を行う発振安定検知回路が、別チップとして備わっている情報処理システムであってもよい。
【０２２７】
７．１  構成
図１４は、本発明の実施の形態７における無線通信装置１０００の構成を示す機能ブロック図である。
図１４に示すように、無線通信装置１０００は、無線通信素子２と、無線回路１１と、半導体集積回路７と、高速発振器１４と、低速発振器１５とを含む。
【０２２８】
無線通信素子２は、アンテナ３と、アンテナスイッチ４と、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）５と、フィルタ回路６とを含む。アンテナスイッチ４、ＥＥＰＲＯＭ５、フィルタ回路６には、電源供給部１６から電力が供給されている。
７．１．１  アンテナ３
アンテナ３は、無線電波の送出および受信を行う。
【０２２９】
７．１．２  アンテナスイッチ４
アンテナスイッチ４は、通信電波の送信および受信を切り替えるスイッチである。すなわち、アンテナスイッチ４は、アンテナ３を、受信回路１２と送信回路１３とのいずれかと接続させる。
７．１．３  ＥＥＰＲＯＭ５
ＥＥＰＲＯＭ５には、受信回路１２や送信回路１３による無線通信に用いられる設定値（例えば、無線信号の周波数帯）などが記憶されている。
【０２３０】
７．１．４  フィルタ回路６
フィルタ回路６は、ＢＰＦ（Band-Pass Filter）などを備え、無線送信信号や無線受信信号に対するフィルタ処理を行う。
７．１．５  発振安定検知回路９
半導体集積回路７は、ＣＰＵ８と、発振安定検知回路９とを含む。
【０２３１】
発振安定検知回路９は、上述した実施の形態１〜６に示す方法で高速発振器１４の発振が安定しているか検知する回路であり、発振が安定している高速クロックＳ信号Ｓ５を、ＣＰＵ８や受信回路１２や送信回路１３などに出力する。
７．１．６  ＣＰＵ８
ＣＰＵ８は、発振安定検知回路９から供給される高速クロックＳ信号Ｓ５と、低速発振器１５から入力される低速クロック信号Ｓ１とにより動作する。ＣＰＵ８は、所定のプログラムに従って、無線通信装置１０００の動作を制御する。
【０２３２】
ＣＰＵ８は、受信回路１２から受信データ信号Ｓ１４を受け付けて所定の処理を行う。また、データを送信するために、送信回路１３に送信データ信号Ｓ１５を出力する。
７．１．７  受信回路１２
無線回路１１は、受信回路１２と送信回路１３とを含む。
受信回路１２は、発振安定検知回路９から供給される高速クロックＳ信号Ｓ５を用いて動作し、無線信号の受信にかかる処理を行う。例えば、所望の周波数帯の無線信号があるかのキャリア検出や、無線通信素子２から出力された無線受信信号Ｓ１６の復調処理等を行い、受信データを取り出して受信データ信号Ｓ１４をＣＰＵ８へ出力する。
【０２３３】
７．１．８  送信回路１３
送信回路１３は、発振安定検知回路９から供給される高速クロックＳ信号Ｓ５を用いて動作し、無線通信装置１０００から送信する無線信号の、送信にかかる処理を行う。ＣＰＵ８から出力される送信データ信号Ｓ１５の変調処理等を行い、無線送信信号Ｓ１７を、フィルタ回路６を介してアンテナ３へ出力する。
【０２３４】
７．１．９  高速発振器１４
高速発振器１４は、高速クロック信号Ｓ２を、発振安定検知回路９に出力する。
７．１．１０  低速発振器１５
低速発振器１５は、低速クロック信号Ｓ１を、ＣＰＵ８および発振安定検知回路９に出力する。
【０２３５】
７．１．１１  電源供給部１６
電源供給部１６は、電力を無線通信素子２、無線回路１１、半導体集積回路７などに供給する。
７．２  動作
上述の無線通信装置１０００の動作について説明する。
【０２３６】
図１５は、無線通信装置１０００の動作を示すフローチャートである。
無線通信装置１０００は、起動すると、電源供給部１６により電力を無線通信素子２等に供給する。電力の供給を開始すると、無線通信に必要な各種の設定を行う（ステップＳ５０１）。例えばＥＥＰＲＯＭ５の設定値が無線回路１１の受信回路１２や送信回路１３に設定される。
【０２３７】
無線通信装置１０００は、受信回路１２により所望の周波数帯の無線信号が存在するかのキャリア検出を行う（ステップＳ５０２）。所望の周波数帯の無線信号が存在しなければ（ステップＳ５０２：ＮＯ）、スタンバイモードに移行する（ステップＳ５０５）。
ステップＳ５０２において、所望の周波数帯の無線信号が存在すれば（ステップＳ５０２：ＹＥＳ）、無線通信装置１０００は、その無線信号に含まれる送信先アドレスを参照し、自装置のアドレスと比較して、自装置宛の無線信号であるか判定する（ステップＳ５０３）。自装置宛で無ければ（ステップＳ５０３：ＮＯ）、スタンバイモードに移行する（ステップＳ５０５）。
【０２３８】
ステップＳ５０３において、自装置宛の無線信号であれば（ステップＳ５０３：ＹＥＳ）、無線通信装置１０００は、無線信号の受信処理を行う。受信回路は、無線受信信号Ｓ１６として取り込んだ無線信号の受信処理を行って、受信データ信号Ｓ１４をＣＰＵ８へ出力する。ＣＰＵ８は、受信データ信号Ｓ１４を受け付けて、所定の処理を行い、必要であれば送信データ信号Ｓ１５を送信回路１３へ出力する。送信回路１３は、送信データ信号Ｓ１５を受け付けると、アンテナスイッチ４が送信回路１３側に切り替わった際に、無線送信信号Ｓ１７をアンテナ３へ出力し、アンテナ３から無線電波が送出される（ステップＳ５０４）。無線通信を終えると、無線通信装置１０００は、スタンバイモードに移行する（ステップＳ５０５）。
【０２３９】
無線通信装置１０００がスタンバイモードに移行すると、ＣＰＵ８は、高速発振器１４の発振を停止させる。
その後、一定時間が経過すると、無線通信装置１０００は、タイマ割り込み等によりノーマルモードへの復帰を開始する（ステップＳ５０６）。
無線通信装置１０００は、ノーマルモードへの復帰開始時に、高速発振器１４の発振が安定するまで待機し、発振安定検知回路９に、高速発振器１４の発振が安定しているか検知させる（ステップＳ５０７）。
【０２４０】
発振安定検知回路９は、実施の形態１〜６に記載の方法により検知を行う。無線通信装置１０００は、発振安定検知回路９が検知を行うまで待機し（ステップＳ５０８：ＮＯ）、検知がなされると（ステップＳ５０８：ＹＥＳ）、ノーマルモードへの移行を完了してステップＳ５０１の処理へと戻る。
７．３  まとめ
このように構成すると、検知を行うことにより、不安定なクロックで動作する危険を回避し、さらに、高速発振器の発振が安定しているか早期に検知できるため、高速発振器の発振安定待ちの時間を短くすることができる。これにより、消費電力を従来より小さくすることができる。また、バッテリ駆動で情報処理システムが動作する場合に、バッテリの寿命を長くすることができる。
【０２４１】
特に、周期的にノーマルモードとスタンバイモードとを切り替えて動作する情報処理システムにおいて、高速発振器の安定発振を早期に精度良く検知することができ、これにより、動作の信頼性を高めつつ消費電力を小さくすることができる。例えば、間欠受信を繰り返す無線通信装置や、周期的に電力を供給して、操作が行われたかを確認する火災報知器、防犯装置、また、省電力の制御を行うノートパソコン、ＰＤＡ等のモバイル端末などにも本発明を適用することができる。
【０２４２】
８  補足
以下、本発明のその他の変形例について説明する。
８．１  発振周期比較器２２の変形例
上述の各実施の形態では、発振周期比較器２２は、発振カウンタ２３でカウントされている数と、カウンタ数設定レジスタ２１に記憶されている値とを比較して、一致またはその差が所定値以内であれば、発振周期一致信号Ｓ６を一致回数カウンタ３３へ出力するものとして説明した。
【０２４３】
この他に、上述の実施の形態１〜４において、発振周期比較器２２は、上記比較の結果、比較した値が一致またはその差が所定値以内であれば発振周期一致信号Ｓ６を出力し、比較した値の差分が所定値より大きい場合は、発振周期不一致信号Ｓ９９を一致回数カウンタ３３等へ出力することとしてもよい。さらに、この場合において、一致回数カウンタ３３は、発振周期一致信号Ｓ６が入力されたらカウントアップし、発振周期不一致信号Ｓ９９が入力されたらカウントダウンすることとする。
【０２４４】
このように変形した場合の半導体集積回路の動作について説明する。
図１８は、変形例における半導体集積回路の動作例を示す図である。
なお、図１８は、実施の形態１における発振周期比較器２２を、上述のように変形した場合の動作例を示している。図２と同一の箇所については同一の参照符号を付して説明を省略する。なお、この動作例では、判定回数設定レジスタ３１には「３」が設定されていることとする。
【０２４５】
図１８においては、Ｓ６出力状況１０４の下に、Ｓ９９出力状況１２６を示している。
Ｓ９９出力状況１２６は、変形例における発振周期比較器２２から出力される発振周期不一致信号Ｓ９９と、時間との関係を示す。
図１８に示すように、発振周期比較器２２からは、発振周期一致信号Ｓ６または発振周期不一致信号Ｓ９９のいずれかが出力される（Ｓ６出力状況１０４およびＳ９９出力状況１２６の、ｔ１以降の時間を参照）。
【０２４６】
そして、発振周期比較器２２から発振周期不一致信号Ｓ９９が出力されると、一致回数カウンタ３３は、そのカウント値を１つ減ずる（一致回数カウンタ値１０５の、ｔ９〜ｔ１０の時間を参照）。なお、カウント値が「０」の場合は、発振周期不一致信号Ｓ９９が出力されてもカウント値は「０」のままとする。
このように一致回数カウンタ３３の値が発振周期一致信号Ｓ６および発振周期不一致信号Ｓ９９によって増加したり減少したりしながら、半導体集積回路は検知を行う。
【０２４７】
このように構成すると、高速発振器の発振が不安定な場合には一致回数カウンタ３３のカウント値が増加したり減少したりするので、発振周期一致信号Ｓ６が所定回数カウントされるのを待つ場合と比べて、高速発振器の発振が不安定であるにもかかわらず検知が行われるおそれを小さくすることができる。
８．２  その他の変形例
以上のように本発明にかかる半導体集積回路について実施の形態に基づいて説明したが、以下のように変形することもでき、本発明は上述の実施の形態で示した半導体集積回路に限られないことは勿論である。
（１）実施の形態２にかかる発振安定モニタ回路を、他の実施形態と組み合わせてもよい。例えば、実施の形態３の半導体集積回路に、発振安定モニタ回路５１を加えた構成を、図１６に示す。図１６では、実施の形態３のクロックゲーティング回路４３に代えて、クロックゲーティング回路４６を備えている。
【０２４８】
図１６に示すように、発振安定モニタ回路５１は、クロックゲーティング制御回路６４と、クロックゲーティング回路４４と、クロックゲーティング回路４５と、クロックゲーティング回路４６と、ＣＰＵ１０と、発振周期比較器２２と、発振安定判定器３２と接続される。
このように構成した場合の、発振安定モニタ回路５１の動作を説明する。
【０２４９】
図１７は、発振周期モニタ回路５１の動作を示すフローチャートである。なお、実施の形態２で図４を用いて説明した発振周期モニタ回路５０の動作と異なるのは、図４のステップＳ２２２に代えて、図１７ではステップＳ２３２を実行することである。なお、図４と同様の処理を行う箇所は、同一の参照符号を付して説明を省略する。
発振周期モニタ回路５１は、半導体集積回路が検知を開始した後、ステップＳ２２１において、発振安定検知信号Ｓ７が出力されると（ステップＳ２２１：ＹＥＳ）、クロックゲーティング制御回路６４からの発振安定検知ＥＮ信号Ｓ８の出力に応じて、クロックゲーティング回路４１およびクロックゲーティング回路４２に発振安定検知ＥＮ信号Ｓ８を出力する。すなわち、クロックゲーティング制御回路６４から発振安定検知ＥＮ信号Ｓ８が出力されていれば、発振周期モニタ回路５１は、発振安定検知ＥＮ信号Ｓ８を出力し、クロックゲーティング制御回路６４から発振安定検知ＥＮ信号Ｓ８が出力されていなければ、発振周期モニタ回路５１は、発振安定検知ＥＮ信号Ｓ８を出力しない（ステップＳ２３２）。
【０２５０】
なお、その他の各ステップで行われる処理は、図４に示したものと同様であるため説明を省略する。
なお、上述の例では、実施の形態３において発振周期モニタ回路を用いる場合を説明したが、実施の形態４等でも発振周期モニタ回路を用いてよい。要するに、検知を開始した後、クロックゲーティング回路４４等への所定の信号の供給を、発振安定検知制御回路７４や発振安定判定器８６や発振安定判定器８７等に代わって行い、発振安定検知信号Ｓ７の出力を受けて（ステップＳ２２１）、すなわち、検知が行われたことを受けて、発振周期判定部２０や発振安定判定部３０等にクロックが供給されないようにする。その後、再検知のタイミングで（ステップＳ２２４）、再度、発振周期判定部２０にクロックが供給されるようにすればよい（ステップＳ２２５）。
（２）上述の構成では、例えば図１に示すように、発振周期判定部２０が出力した発振周期一致信号Ｓ６の数が所定回数を超えたかを発振安定判定部３０で判定して発振安定検知信号Ｓ７を出力することとしているが、本発明の半導体集積回路は、この構成に限らない。例えば、発振安定判定部３０を備えず、発振周期比較器２２が、発振カウンタ２３の値とカウンタ数設定レジスタ２１に記憶されている値とを比較して、発振周期一致信号Ｓ６の代わりに発振安定検知信号Ｓ７を出力することとしてもよい。図１９は、半導体集積回路１ｇの構成を示す機能ブロック図である。図１９に示される半導体集積回路１ｇは、図１に示される半導体集積回路１と比較して、発振周期判定部３０を備えていない点が大きく異なる。
【０２５１】
半導体集積回路１ｇにおいて、発振周期比較器２２は、発振周期一致信号Ｓ６ではなく発振安定検知信号Ｓ７を出力する。接続関係については図示するとおりであるので説明を省略する。
（３）上述の構成では、発振周期判定部２０は、低速クロック信号Ｓ１の１クロック周期ごとに、発振周期比較器２２により比較を行って発振周期一致信号Ｓ６の出力を制御するものとして説明したが、低速クロック信号Ｓ１の１クロック周期ごとの比較に限らない。例えば、２クロック周期など、低速クロック信号Ｓ１の複数のクロック周期の間に受信された高速クロック信号Ｓ１の数を、発振周期比較器２２がカウンタ数設定レジスタ２１に記憶されている値と比較することで発振周期一致信号Ｓ６の出力を制御することとしてもよい。上述の構成は、例えばクロックゲーティング回路４１と、発振周期比較器２２等との間にプログラマブルカウンタ（分周器）を挿入することで、低速クロック信号Ｓ１の周波数を１／Ｎにした信号を、低速クロックＧ信号Ｓ３として発振周期比較器２２等へ供給すれば実現できる。もちろん、この他の方法で実現してもよい。
【０２５２】
また、上述の構成では、発振周期判定部２０は、低速クロックＧ信号Ｓ３を受信するごとに発振周期比較器２２による比較を行っているが、低速クロックＧ信号Ｓ３を受信するごとに限らない。例えば、検知の開始後、任意のタイミングで所定時間だけ発振周期判定部２０に低速クロックＧ信号Ｓ３および高速クロックＧ信号Ｓ４を供給することとしてもよい。すなわち、検知の開始後、低速クロック信号Ｓ１を本発明の半導体集積回路に供給し続けるのではなく、一定の時間だけ、間欠的に供給することとしてもよい。特に、検知の精度と低消費電力化に重点を置いて情報処理システムを設計したい場合に有効である。このような構成は、例えば、図３の例で説明すると、高速発振器が発振を開始して半導体集積回路１ｂが検知を開始した後、発振周期モニタ回路５０が発振安定検知ＥＮ信号Ｓ８をクロックゲーティング回路４４およびクロックゲーティング回路４５へ出力せず、任意のタイミングで（例えば、タイマ割り込み等をきっかけにして）所定時間だけ発振安定検知ＥＮ信号Ｓ８の出力を行うことで実現できる。このようにすると、検知の開始後、発振周期判定部２０等にクロックが供給され続けず、任意のタイミングで所定時間だけクロックが供給されるので、消費電力を小さくすることができる。
（４）上述した各ブロックおよび半導体集積回路は、典型的には、集積回路であるLSIとして実現される。これらは、個別に1チップ化されてもよいし、一部または全てを含むように1チップされても良い。
【０２５３】
また、ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセスで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０２５４】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
（５）上記の情報処理システム、または情報処理システムを構成する各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、情報処理システムまたは各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
（６）上記の情報処理システムまたは各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
（７）上記の情報処理システムまたは各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、などから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
（８）本発明は、上記に示す方法であるとしてもよい。
（９）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０２５５】
本発明の技術は、高速発振器が停止し低速発振器の供給する低速クロックで動作しているスタンバイモードから高速発振器の供給する高速クロック信号で動作するノーマルモードに移行する際に、高速発振器の発振安定を高い精度で安定し行い、さらに消費電力を極力抑制することができる半導体集積回路として有用である。また、低速発振器と高速発振器を搭載しているシステム全てに有用であり、特に消費電力を削減できることからバッテリ駆動のシステムにおいて有用である。
【図面の簡単な説明】
【０２５６】
【図１】本発明の半導体集積回路１の構成を示す機能ブロック図。
【図２】実施の形態１における半導体集積回路の動作例を示す図。
【図３】実施の形態２の半導体集積回路１ｂの構成を示す機能ブロック図。
【図４】発振周期モニタ回路５０の動作を示すフローチャート。
【図５】実施の形態２における半導体集積回路１ｂの動作例を示す図。
【図６】実施の形態３の半導体集積回路１ｃの構成を示す機能ブロック図。
【図７】実施の形態３における半導体集積回路１ｃの動作例を示す図。
【図８】実施の形態４の半導体集積回路１ｄの構成を示す機能ブロック図。
【図９】実施の形態４における半導体集積回路１ｄの動作例を示す図。
【図１０】実施の形態５の半導体集積回路１ｅの構成を示す機能ブロック図。
【図１１】実施の形態５における半導体集積回路１ｅの動作例を示す図である。
【図１２】実施の形態６の半導体集積回路１ｆの構成を示す機能ブロック図。
【図１３】実施の形態６における半導体集積回路１ｆの動作例を示す図。
【図１４】本発明の実施の形態７における無線通信装置１０００の構成を示す機能ブロック図。
【図１５】無線通信装置１０００の動作を示すフローチャート。
【図１６】実施の形態３の半導体集積回路に、発振安定モニタ回路５１を加えた構成を示す図。
【図１７】発振周期モニタ回路５１の動作を示すフローチャート。
【図１８】変形例における半導体集積回路の動作例を示す図。
【図１９】半導体集積回路１ｇの構成を示す機能ブロック図。
【符号の説明】
【０２５７】
１  半導体集積回路
１０  ＣＰＵ
２０  発振周期判定部
２１  カウンタ数設定レジスタ
２２  発振周期比較器
２３  発振カウンタ
３０  発振安定判定部
３１  判定回数設定レジスタ
３２  発振安定判定器
３３  一致回数カウンタ
４１  クロックゲーティング回路
４２  クロックゲーティング回路
４３  クロックゲーティング回路
４４  クロックゲーティング回路
４５  クロックゲーティング回路
４６  クロックゲーティング回路
４７  クロックゲーティング回路
４８  クロックゲーティング回路
４９  クロックゲーティング回路
５０  発振周期モニタ回路
５１  発振周期モニタ回路
６０  発振周期測定開始タイミング制御部
６１  低速クロックカウンタ
６２  発振周期安定タイミング記憶回路
６３  起動タイミング比較器
６４  クロックゲーティング制御回路
７０  発振安定タイミング記憶部
７１  低速クロックカウンタ
７２  発振安定タイミング記憶回路
７３  発振安定待ち制御回路
７４  発振安定検知制御回路
８０  発振安定判定部
８１  第１発振カウンタ値記憶器
８２  第２発振カウンタ値記憶器
８３  差分判定設定レジスタ
８４  差分比較器
８５  発振安定判定器
８６  判定回数設定レジスタ
９０  発振安定判定部
９１  低速クロックカウンタ
９２  第１低速クロックカウンタ値記憶器
９３  第２低速クロックカウンタ値記憶器
９４  差分計測器
９５  発振安定判定器
９６  判定回数設定レジスタ
２  無線通信素子
３  アンテナ
４  アンテナスイッチ
５  ＥＥＰＲＯＭ
６  フィルタ回路
７  半導体集積回路
８  ＣＰＵ
９  発振安定検知回路
１１  無線回路
１２  受信回路
１３  送信回路
１４  高速発振器
１５  低速発振器
１６  電源供給部
【図１】
2008299731.tif 000003
【図２】
2008299731.tif 000004
【図３】
2008299731.tif 000005
【図４】
2008299731.tif 000006
【図５】
2008299731.tif 000007
【図６】
2008299731.tif 000008
【図７】
2008299731.tif 000009
【図８】
2008299731.tif 000010
【図９】
2008299731.tif 000011
【図１０】
2008299731.tif 000012
【図１１】
2008299731.tif 000013
【図１２】
2008299731.tif 000014
【図１３】
2008299731.tif 000015
【図１４】
2008299731.tif 000016
【図１５】
2008299731.tif 000017
【図１６】
2008299731.tif 000018
【図１７】
2008299731.tif 000019
【図１８】
2008299731.tif 000020
【図１９】
2008299731.tif 000021