(57)【要約】【課題】大規模かつ多数のクロック領域を持ったシステムＬＳＩにおいては、ユーザが各クロック領域のクロック周波数（分周比）の設定を間違ったとしても、デッドロックすることなく動作し続けることができるような、クロック分周器を提供することを課題とする。【解決手段】他のクロック分周器の分周比を参照し、自己のクロック分周器の分周比を決定する分周比決定手段（５０３）と、前記決定された分周比で入力クロックを分周して分周クロックを生成する分周クロック生成手段（５１９）とを有することを特徴とするクロック分周器が提供される。【選択図】図５
2007259125.tif 000002
【特許請求の範囲】
【請求項１】
他のクロック分周器の分周比を参照し、自己のクロック分周器の分周比を決定する分周比決定手段と、
前記決定された分周比で入力クロックを分周して分周クロックを生成する分周クロック生成手段と
を有することを特徴とするクロック分周器。
【請求項２】
前記分周比決定手段は、他のクロック分周器の分周比を参照し、自己のクロック分周器の分周比が妥当か否かを判定する分周比判定手段を有することを特徴とする請求項１記載のクロック分周器。
【請求項３】
前記分周比決定手段は、前記自己のクロック分周器の分周比が妥当でないと判定されたときには、前記自己のクロック分周器の分周比の代替となる分周比を生成する代替分周比生成手段を有することを特徴とする請求項２記載のクロック分周器。
【請求項４】
前記分周クロック生成手段は、前記自己のクロック分周器の分周比が妥当であると判定され、かつ他のクロック分周器の分周比が妥当である旨の信号を入力したとき、前記分周クロックを生成することを特徴とする請求項２又は３記載のクロック分周器。
【請求項５】
自己のクロック分周器の分周比が妥当か否かを判定し、その判定結果を他のクロック分周器に出力する分周比判定手段と、
前記自己のクロック分周器の分周比が妥当でないと判定されたときには、前記自己のクロック分周器の分周比の代替となる分周比を生成する代替分周比生成手段と、
前記自己のクロック分周器の分周比が妥当であると判定されたときには、前記自己のクロック分周器の分周比で入力クロックを分周して分周クロックを生成する分周クロック生成手段と
を有することを特徴とするクロック分周器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック分周器に関する。
【背景技術】
【０００２】
システムＬＳＩでは、回路内部に様々な周波数のクロック周波数の領域を持ちながら動作していることが多い。また、各クロック領域の周波数は、ユーザがレジスタ設定により各クロック領域の周波数を可変にする回路構成をとることが多い。この回路構成の利点としては、高い性能を必要としない場合にクロック周波数設定を下げることができることが挙げられる。従って、システムＬＳＩ全体の消費電力をできるだけ抑える回路設計をすることができる。
【０００３】
ここで、“ユーザ"とは、ＬＳＩの分周クロック設定を変更したいと思う者(物)を指す。たとえばソフトウェア設計者だけでなく、ＣＰＵ等による自動的な設定や、ＬＳＩ内部あるいは外部の他の機能モジュールやプログラム等による自動設定も含める。以降、“ユーザ"という単語はこの意味で使用する。
【０００４】
図２と図３に代表的なシステムＬＳＩにおけるクロック生成回路の回路図を示す。
図２は、システムＬＳＩ２０１内部の各分周クロックを生成するための回路例を示す図である。図２において、ＬＳＩ外部から入力されたクロックＸＣＫは、ＰＬＬ回路２０３でクロック周波数が逓倍され、ＰＬＬ出力クロックＰＣＫとして出力される。クロックＰＣＫは、クロックＸＣＫに対して、周波数がｍ倍である。ここで、ｍ＝１，２，３，・・・である。
【０００５】
第１のクロック分周器２０５は、クロックＰＣＫを１／ｎ１分周して、クロックＤＣＫ１を出力する。クロックＤＣＫ１は、クロックＰＣＫに対して周波数が１／ｎ１になる。第２のクロック分周器２０６は、クロックＰＣＫを１／ｎ２分周して、クロックＤＣＫ２を出力する。クロックＤＣＫ２は、クロックＰＣＫに対して周波数が１／ｎ２になる。第３のクロック分周器２０７は、クロックＰＣＫを１／ｎ３分周して、クロックＤＣＫ３を出力する。クロックＤＣＫ３は、クロックＰＣＫに対して周波数が１／ｎ３になる。クロックＤＣＫ１〜ＤＣＫ３は、それぞれＬＳＩ２０１の各フリップフロップ等の同一クロック領域に供給される。
【０００６】
図３は、図２の第１〜第３のクロック分周器２０５〜２０７の構成例を示す図である。クロック分周器３０１は、第１〜第３のクロック分周器２０５〜２０７に対応する。ここでは簡単のために入力クロックＰＣＫの１／ｎ（ｎ＝１，２，３，…）分周クロックＤＣＫｘ（ｘ＝１，２，３）を生成するクロック分周器３０１の例を表す。クロック分周器３０１は、分周比記憶レジスタ３０２、Ｎ−１進カウンタ３０３、及び分周クロック生成回路３０４を有する。
【０００７】
分周比記憶レジスタ３０２は、レジスタ設定端子３０５を介してＣＰＵから分周比ｎｘを入力して記憶する。Ｎ−１進カウンタ３０３は、Ｎ−１進（Ｎはレジスタ設定値により可変である）のダウンカウンタである。分周クロック生成回路３０４は、Ｎ−１進カウンタ３０３の値と分周比記憶レジスタ３０２の値ｎｘを参照し、Ｎ−１進カウンタ３０３の値が（ｎｘ−１）／２より大きいときに高（ハイ）レベル、それ以外で低（ロー）レベルとなるクロックＤＣＫｘを出力する。
【０００８】
図３の場合、分周比記憶レジスタ３０２に、希望の分周比ｎｘを設定すると、Ｎ−１進カウンタ３０３はｎｘ−１進カウンタとなる。分周クロック生成回路３０４は、分周クロックＤＣＫｘを出力する。クロックＤＣＫｘは、入力クロックＰＣＫを１／ｎｘ分周したクロックである。従って、図２及び図３の回路をユーザが使用する場合には、ＬＳＩ全体の回路構成図を考えた上で、各クロック領域に指定するクロック分周比（レジスタ値）を指定していくことで、ＬＳＩ内部が適正な動作をする設定となる。
【０００９】
図４は、図３のクロック分周器３０１の動作の流れを示すフローチャートである。ステップＳ４０１では、このクロック分周器を使用する際にはユーザは、分周比記憶レジスタ３０２に分周比ｎｘを設定する。次に、ステップＳ４０２では、分周比記憶レジスタ３０２の値がｎｘに更新される。次に、ステップＳ４０３では、Ｎ−１進カウンタのＮの値がｎｘに更新され、新しい分周比ｎｘのクロックＤＣＫｘが生成される。
【００１０】
また、下記の特許文献１には、製造上のばらつきによって動作速度が低下したＬＳＩに対しては、内部クロックのデューティを自動的に再調整して動作速度を向上させることによって、歩留まりを改善することができるクロック発生回路が記載されている。
【００１１】
【特許文献１】特開２００４−８８４３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
近年システムＬＳＩの回路構成が大きくまた複雑になってきており、ＬＳＩ内部の各回路ブロックに対して別々のクロック周波数制御を行うだけでなく、各回路ブロック内部にも、複数のクロック領域を持たせる等して、それらを制御することにより、不必要なときにはできるだけクロック周波数を抑えて低消費電力となるようになる回路設計が存在している。その結果、ユーザがクロック周波数設定の際に考慮すべきクロック領域の数は増えてきている。
【００１３】
一方で、各回路ブロックの周波数は、必ずしも任意の周波数を採ってよいということはなく、例えばシステムＬＳＩ内部の他のクロック領域の周波数に対して整数分の１の周波数関係でなければいけい、あるいはシステムＬＳＩ内部のある領域の周波数よりも必ず低い周波数でなければいけない、等といった制約がある場合が多い。その結果、ユーザが各クロック領域の周波数を設定する際に考慮すべき制約は更に増加していくこととなる。
【００１４】
このように、多数のクロック領域を持ったシステムＬＳＩにおいては、ユーザがクロック設定をする際に考慮すべき事項はとても多い。しかも、考慮すべき項目の１点でも抜け落ちてしまえば、回路は正しく動作しないだけでなく、システムＬＳＩ全体がデッドロックしてしまうこともある。しかし、システムＬＳＩにおいてユーザは、ＬＳＩ内部の詳細な回路やクロック系統図まで理解しながらクロック設定を行うことは非常に手間がかかるし、設定ミスによる誤動作も生じやすい。
【００１５】
本発明の目的は、大規模かつ多数のクロック領域を持ったシステムＬＳＩにおいては、ユーザが各クロック領域のクロック周波数（分周比）の設定を間違ったとしても、デッドロックすることなく動作し続けることができるような、クロック分周器を提供することである。
【課題を解決するための手段】
【００１６】
本発明のクロック分周器は、他のクロック分周器の分周比を参照し、自己のクロック分周器の分周比を決定する分周比決定手段と、前記決定された分周比で入力クロックを分周して分周クロックを生成する分周クロック生成手段とを有することを特徴とする。
【００１７】
また、本発明のクロック分周器は、自己のクロック分周器の分周比が妥当か否かを判定し、その判定結果を他のクロック分周器に出力する分周比判定手段と、前記自己のクロック分周器の分周比が妥当でないと判定されたときには、前記自己のクロック分周器の分周比の代替となる分周比を生成する代替分周比生成手段と、前記自己のクロック分周器の分周比が妥当であると判定されたときには、前記自己のクロック分周器の分周比で入力クロックを分周して分周クロックを生成する分周クロック生成手段とを有することを特徴とする。
【発明の効果】
【００１８】
適切な分周比を決定することができるので、分周クロックを基に動作するシステムＬＳＩはデッドロックすることなく動作し続けることができる。
【発明を実施するための最良の形態】
【００１９】
（第１の実施形態）
図１は、本発明の第１の実施形態によるシステムＬＳＩ１０１の構成例を示す図であり、システムＬＳＩ内部の各分周クロックを生成するための回路の例である。ＰＬＬ回路１０３は、ＬＳＩ外部から入力されたクロックＸＣＫの周波数を逓倍し、ＰＬＬ出力クロックＰＣＫを出力する。クロックＰＣＫは、クロックＸＣＫに対して、周波数がｍ倍である。ここで、ｍ＝１，２，３，・・・である。
【００２０】
第１のクロック分周器１０５は、クロックＰＣＫを１／ｎ１分周して、クロックＤＣＫ１を出力する。クロックＤＣＫ１は、クロックＰＣＫに対して周波数が１／ｎ１になる。第２のクロック分周器１０６は、クロックＰＣＫを１／ｎ２分周して、クロックＤＣＫ２を出力する。クロックＤＣＫ２は、クロックＰＣＫに対して周波数が１／ｎ２になる。第３のクロック分周器１０７は、クロックＰＣＫを１／ｎ３分周して、クロックＤＣＫ３を出力する。クロックＤＣＫ３は、クロックＰＣＫに対して周波数が１／ｎ３になる。クロックＤＣＫ１〜ＤＣＫ３は、それぞれＬＳＩ１０１の各フリップフロップ等の同一クロック領域に供給される。
【００２１】
各クロック分周器１０５〜１０７は、クロック分周器間を通信するバス１１１〜１１３を介して接続されている。バス１１１はアドレス線、バス１１２はデータ線、バス１１３は制御線である。クロック分周器１０５〜１０７は、それぞれ独立に分周比を設定できるのではなく、互いにクロック分周比の設定を参照しながら設定できるものとする。
【００２２】
図５は、図１の第１〜第３のクロック分周器１０５〜１０７の構成例を示す図であり、図３のクロック分周器と対応している。クロック分周器５０１は、第１〜第３のクロック分周器１０５〜１０７に対応する。ここでは簡単のために入力クロックＰＣＫの１／ｎ（ｎ＝１，２，３，…）分周クロックＤＣＫｘ（ｘ＝１，２，３）を生成するクロック分周器５０１の例を表す。クロック分周器５０１は、分周比設定レジスタ５０２、分周比判定回路５０３、代替分周比生成回路５０３、論理積回路５０４、及び分周クロック生成部５１９を有する。分周クロック生成部５１９は、分周比記憶レジスタ５０５、Ｎ−１進カウンタ５０６、及び分周クロック生成回路５０７を有する。
【００２３】
分周比設定レジスタ５０２は、入力クロックＰＣＫに同期して、レジスタ設定端子５１０を介してＣＰＵから入力した分周比Ｎｓｅｔを記憶する。図３においてはユーザが設定した分周比が即座に分周比記憶レジスタ３０２に反映され、新しい分周クロックに切り替わる回路になっているのに対して、図５ではユーザ設定した分周比は、一旦、分周比設定レジスタ５０２に格納される。
【００２４】
分周比判定回路５０３は、分周比設定レジスタ５０２に記憶された分周比Ｎｓｅｔと通信バス５２０の分周比Ｎｓｅｔを入力し、分周比設定レジスタ５０２に記憶された分周比Ｎｓｅｔが妥当であるかを判定し、判定結果信号ＥＮを出力する。通信バス５２０は、図１のバス１１１〜１１３に対応する。通信バス５２０の分周比Ｎｓｅｔは、他のクロック分周器の分周比である。例えば、第１のクロック分周器１０５の分周比判定回路５０３は、第２のクロック分周器１０６及び／又は第３のクロック分周器１０７の分周比Ｎｓｅｔを参照し、第１のクロック分周器１０５の分周比Ｎｓｅｔが妥当か否かを判定する。判定結果信号ＥＮは、分周比設定レジスタ５０２に記憶された分周比Ｎｓｅｔが妥当であればＯＫとなり、妥当でなければＮＧとなる。
【００２５】
もし判定結果信号ＥＮがＮＧであれば、代替分周比生成回路５０３は、代替となる分周比Ｎａｌｔを生成し、分周比Ｎａｌｔを分周比設定レジスタ５０２の新たな分周比Ｎｓｅｔとして再設定する。その後、再び、分周比判定回路５０３は、判定を行う。判定結果信号ＥＮがＯＫになるまで、上記の処理を繰り返す。
【００２６】
分周比設定レジスタ５０２に記憶されている分周比Ｎｓｅｔ及び分周比判定回路５０３の判定結果信号ＥＮは、バス５２１を介して、他のクロック分周器に出力される。バス５２１は、図１のバス１１１〜１１３に対応する。例えば、第１のクロック分周器１０５は、バス５２１を介して、分周比Ｎｓｅｔ及び判定結果信号ＥＮを第２のクロック分周器１０６及び／又は第３のクロック分周器１０７に出力する。
【００２７】
また、クロック分周器５０１は、バス５２０を介して、他のクロック分周器から分周比Ｎｓｅｔ及び判定結果信号ＥＮを入力する。例えば、第１のクロック分周器１０５は、バス５２０を介して、分周比Ｎｓｅｔ及び判定結果信号ＥＮを第２のクロック分周器１０６及び／又は第３のクロック分周器１０７から入力する。
【００２８】
論理積回路５０４は、分周比判定回路５０３の判定結果信号ＥＮ及びバス５２０の判定結果信号ＥＮを入力し、それらの論理積信号ＥＮａｌｌを出力する。論理積信号ＥＮａｌｌは、分周比判定回路５０３の判定結果信号ＥＮ及びバス５２０の判定結果信号ＥＮのすべてがＯＫ（＝１）の場合に１となり、それ以外の場合に０となる。
【００２９】
分周比記憶レジスタ５０５は、入力クロックＰＣＫに同期し、論理積信号ＥＮａｌｌが１のときに、分周比設定レジスタ５０２の分周比Ｎｓｅｔを分周比Ｎｍｅｍとして記憶する。すなわち、自己のクロック分周器５０１の判定結果信号ＥＮと関連するクロック分周器の判定結果信号ＥＮがすべてＯＫのときに、分周比Ｎｓｅｔを分周比Ｎｍｅｍとして記憶する。
【００３０】
Ｎ−１進カウンタ５０６は、Ｎｍｅｍ−１進のダウンカウンタであり、入力クロックＰＣＫに同期して、カウント値Ｃｏｕｎｔをダウンカウントする。具体的には、カウンタ５０６は、分周比記憶レジスタ５０５の分周比Ｎｍｅｍをカウント値Ｃｏｕｎｔとして設定し、入力クロックＰＣＫに同期してカウント値Ｃｏｕｎｔを１ずつ減算し、カウント値Ｃｏｕｎｔが０になったら分周比Ｎｍｅｍをカウント値Ｃｏｕｎｔとして再設定する動作を繰り返す。
【００３１】
分周クロック生成回路（論理回路）５０７は、カウンタ５０６のカウント値Ｃｏｕｎｔと分周比記憶レジスタ５０５の分周比Ｎｍｅｍを参照し、カウント値Ｃｏｕｎｔが（Ｎｍｅｍ−１）／２より大きいときに高（ハイ）レベル、（Ｎｍｅｍ−１）／２以下であるときに低（ロー）レベルとなるクロックＤＣＫｘを出力する。クロックＤＣＫｘは、入力クロックＰＣＫを１／Ｎｍｅｍ分周したクロックであり、入力クロックＰＣＫに対して周波数が１／Ｎｍｅｍである。
【００３２】
ここで、分周クロック生成部５１９の分周クロック生成方式は一例であり、この分周クロック生成方法に限るものではない。クロック分周器５０１は、通常のクロック分周器に、他のクロックの分周器の分周比設定を参照しながら分周比を決定する機能、設定された分周比を判定する機能と、不正な分周比を設定する場合にそれを修正する機能のいずれかを兼ね備えていることが重要である。
【００３３】
図６は、図５のクロック分周器５０１の動作の流れを示すフローチャートである。ステップＳ６０１では、このクロック分周器５０１を使用する際にはユーザは、分周比設定レジスタ５０２に分周比Ｎｓｅｔを設定する。次に、ステップＳ６０２では、分周比判定回路５０３が分周比Ｎｓｅｔの妥当性を判定し、判定結果信号ＥＮを出力する。次に、ステップＳ６０３では、判定結果信号ＥＮをチェックし、判定結果信号ＥＮがＯＫであればステップＳ６０６に進み、判定結果信号ＥＮがＮＧであればステップＳ６０４に進む。ステップＳ６０４では、代替分周比生成回路５０３は代替分周比Ｎａｌｔを生成して分周比設定レジスタ５０２に出力する。次に、ステップＳ６０５では、分周比設定レジスタ５０２は代替分周比Ｎａｌｔを新たな分周比Ｎｓｅｔとして再設定して記憶する。その後、ステップＳ６０２に戻り、上記の処理を繰り返す。
【００３４】
ステップＳ６０６では、論理積回路５０４は、分周比判定回路５０３の判定結果信号ＥＮがＯＫであり、かつ関連するクロック分周器の判定結果信号ＥＮもＯＫであるときには論理積信号ＥＮａｌｌを１にし、それ以外のときには論理積信号ＥＮａｌｌを０にして出力する。次に、ステップＳ６０７では、論理積信号ＥＮａｌｌをチェックし、論理積信号ＥＮａｌｌが１であればステップＳ６０８に進み、論理積信号ＥＮａｌｌが０であればステップＳ６０２に戻って上記の処理を繰り返す。
【００３５】
ステップＳ６０８では、分周比記憶レジスタ５０５は、分周比設定レジスタ５０２の分周比Ｎｓｅｔを分周比Ｎｍｅｍとして記憶する。次に、ステップＳ６０９では、Ｎ−１進カウンタ５０６は、分周比Ｎｍｅｍをカウント値Ｃｏｕｎｔに設定し、ダウンカウントする。分周クロック生成回路５０７は、カウント値Ｃｏｕｎｔ及び分周比Ｎｍｅｍを基に、分周クロックＤＣＫｘを生成する。
【００３６】
以上のように、分周比判定回路５０３及び代替分周比生成回路５０３は、予めＬＳＩ設計者が、生成される分周クロックに仕様上必要な制約条件を決め、またユーザが不正な設定を行った場合の代替分周比Ｎａｌｔを決めて、予め回路的に組み込むこととなる。以下の実施形態では、分周比判定回路５０３及び代替分周比生成回路５０３の具体例を挙げる。
【００３７】
（第２の実施形態）
図７は、本発明の第２の実施形態によるクロック分周器５０１の構成例を示す図である。本実施形態のクロック分周器５０１は、分周比が関連する他のクロック分周器の分周比以上になる制約を持つクロック分周器の例である。本実施形態（図７）は、第１の実施形態（図５）に対して、分周比判定回路５０３及び代替分周比生成回路５０３が具体的な構成になっている。
【００３８】
分周比判定回路５０３は、分周比設定レジスタ５０２の分周比Ｎｓｅｔ及びバス５２０の分周比Ｎｓｅｔを比較する論理回路を有し、判定結果信号ＥＮを出力する。ここで、分周比設定レジスタ５０２の分周比ＮｓｅｔをＮｘとし、バス５２０の分周比ＮｓｅｔをＮｙとすると、判定結果信号ＥＮは次式（１）及び（２）で表される。
【００３９】
Ｎｘ≧ＮｙならばＥＮ＝１（ＯＫ）      ・・・（１）
Ｎｘ＜ＮｙならばＥＮ＝０（ＮＧ）      ・・・（２）
【００４０】
式（１）の条件を満たせば、分周比Ｎｘが分周比Ｎｙ以上であるので、判定結果信号ＥＮがＯＫになる。逆に、式（２）の条件を満たせば、分周比Ｎｘが分周比Ｎｙ未満であるので、判定結果信号ＥＮがＮＧになる。
【００４１】
代替分周比生成回路５０３は、分周比判定回路５０３の判定結果信号ＥＮがＮＧである場合に、代替となるクロック分周比Ｎａｌｔを出力する。例えば、代替分周比Ｎａｌｔは、次式（３）で表される。
【００４２】
Ｎｘ＜ＮｙならばＮａｌｔ＝Ｎｙ      ・・・（３）
【００４３】
式（３）の修正が行われた代替分周比Ｎａｌｔは、分周比設定レジスタ５０２に設定された後、再度、分周比判定回路５０３により判定される。その際には、必ず式（１）の条件が満たされ、判定結果信号ＥＮがＯＫになる。
【００４４】
さらに、論理積回路５０４は、分周比判定回路５０３の判定結果信号ＥＮ及びバス５２０の判定結果信号ＥＮの論理積を取ることにより、このクロック分周器５０１の分周比だけでなく、関連する他のクロック分周器の分周比も妥当であるときだけ、分周比設定レジスタ５０２の分周比Ｎｓｅｔは分周比記憶レジスタ５０５に記憶され、新しい分周クロックＤＣＫｘが出力されるため、分周比Ｎｘ及びＮｙは常に式（１）の条件を満たした分周比設定になる。
【００４５】
（第３の実施形態）
図８は、本発明の第３の実施形態によるクロック分周器５０１の構成例を示す図である。本実施形態のクロック分周器５０１は、分周比が関連する他のクロック分周器の分周比に対して必ず整数倍である制約を持つクロック分周器の例である。本実施形態（図８）は、第１の実施形態（図５）に対して、分周比判定回路５０３及び代替分周比生成回路５０３が具体的な構成になっている。
【００４６】
分周比判定回路５０３は、分周比設定レジスタ５０２の分周比Ｎｓｅｔ及びバス５２０の分周比Ｎｓｅｔを比較する論理回路を有し、判定結果信号ＥＮを出力する。ここで、分周比設定レジスタ５０２の分周比ＮｓｅｔをＮｘとし、バス５２０の分周比ＮｓｅｔをＮｙとすると、判定結果信号ＥＮは次式（４）及び（５）で表される。ここで、“％”は、剰余演算を表す。
【００４７】
Ｎｘ％Ｎｙ＝０ならばＥＮ＝１（ＯＫ）      ・・・（４）
Ｎｘ％Ｎｙ≠０ならばＥＮ＝０（ＮＧ）      ・・・（５）
【００４８】
上記の剰余演算が０であれば、分周比Ｎｘは分周比Ｎｙの整数倍であるので、判定結果信号ＥＮがＯＫになる。逆に、上記の剰余演算が０でなければ、分周比Ｎｘは分周比Ｎｙの整数倍でないので、判定結果信号ＥＮがＮＧになる。
【００４９】
代替分周比生成回路５０３は、分周比判定回路５０３の判定結果信号ＥＮがＮＧである場合に、代替となるクロック分周比Ｎａｌｔを出力する。例えば、代替分周比Ｎａｌｔは、次式（６）で表される。
【００５０】
Ｎｘ％Ｎｙ≠０ならばＮａｌｔ＝Ｎｘ＋１    ・・・（６）
【００５１】
式（６）の修正が行われた代替分周比Ｎａｌｔは、分周比設定レジスタ５０２に設定された後、再度、分周比判定回路５０３により判定される。何度か式（６）の修正及び判定を繰り返すうちに、式（４）の条件を満たす分周比（しかも当初設定したＮｘに最も近い分周比）にたどり着く。
【００５２】
さらに、論理積回路５０４は、分周比判定回路５０３の判定結果信号ＥＮ及びバス５２０の判定結果信号ＥＮの論理積を取ることにより、このクロック分周器５０１の分周比だけでなく、関連する他のクロック分周器の分周比も妥当であるときだけ、分周比設定レジスタ５０２の分周比Ｎｓｅｔは分周比記憶レジスタ５０５に記憶され、新しい分周クロックＤＣＫｘが出力されるため、分周比Ｎｘ及びＮｙは常に式（４）の条件を満たした分周比設定になる。
【００５３】
（第４の実施形態）
図９は、本発明の第４の実施形態によるクロック分周器５０１の構成例を示す図である。本実施形態のクロック分周器５０１は、分周比が必ず一定値Ｎｍａｘ以下の値でなければいけない制約を持つクロック分周器の例である。本実施形態（図９）は、第１の実施形態（図５）に対して、分周比判定回路５０３及び代替分周比生成回路５０３が具体的な構成になっており、論理積回路５０４が削除されている。また、クロック分周器５０１は、バス５２０に接続する必要がない。レジスタ９０８は、一定値Ｎｍａｘを記憶している。
【００５４】
分周比判定回路５０３は、分周比設定レジスタ５０２の分周比Ｎｓｅｔ及びレジスタ９０８の一定値Ｎｍａｘを比較する論理回路を有し、判定結果信号ＥＮを出力する。ここで、分周比設定レジスタ５０２の分周比ＮｓｅｔをＮｘとすると、判定結果信号ＥＮは次式（７）及び（８）で表される。
【００５５】
Ｎｘ≦ＮｍａｘならばＥＮ＝１（ＯＫ）      ・・・（７）
Ｎｘ＞ＮｍａｘならばＥＮ＝０（ＮＧ）      ・・・（８）
【００５６】
分周比Ｎｘが一定値Ｎｍａｘ以下であれば、判定結果信号ＥＮがＯＫになる。逆に、分周比Ｎｘが一定値Ｎｍａｘより大きければ、判定結果信号ＥＮがＮＧになる。
【００５７】
代替分周比生成回路５０３は、分周比判定回路５０３の判定結果信号ＥＮがＮＧである場合に、代替となるクロック分周比Ｎａｌｔを出力する。例えば、代替分周比Ｎａｌｔは、次式（９）で表される。
【００５８】
Ｎｘ＞ＮｍａｘならばＮａｌｔ＝Ｎｍａｘ  ・・・（９）
【００５９】
式（９）の修正が行われた代替分周比Ｎａｌｔは、分周比設定レジスタ５０２に設定された後、再度、分周比判定回路５０３により判定される。その際には、必ず式（７）の条件が満たされ、判定結果信号ＥＮがＯＫになる。
【００６０】
論理積回路５０４は、分周比判定回路５０３の判定結果信号ＥＮがＯＫであるときだけ、分周比設定レジスタ５０２の分周比Ｎｓｅｔは分周比記憶レジスタ５０５に記憶され、新しい分周クロックＤＣＫｘが出力されるため、分周比Ｎｘは常に式（７）の条件を満たした分周比設定になる。
【００６１】
以上のように、第１〜第４の実施形態は、他のクロック分周器の分周比を参照し、自己のクロック分周器の分周比を決定する分周比決定手段と、前記決定された分周比で入力クロックを分周して分周クロックを生成する分周クロック生成手段５１９とを有する。分周比決定手段は、他のクロック分周器の分周比を参照し、自己のクロック分周器の設定されたクロック分周比Ｎｓｅｔが妥当であるか否かを判定する分周比判定回路５０３と、判定結果信号がＮＧである場合に自己のクロック分周器の分周比Ｎｓｅｔの代替となるクロック分周比Ｎａｌｔを生成する代替分周比生成回路５０３とを有する。
【００６２】
分周比判定回路５０３及び代替分周比生成回路５０３には、生成される分周クロックＮｓｅｔに仕様上必要な制約条件、及びユーザが不正な設定を行った場合の代替クロック分周比Ｎａｌｔの演算方法を予め回路的に組み込む。そのため、ユーザがどのようなクロック分周比の設定を行ったとしても（たとえそれが設定ミスだとしても）、ＬＳＩ内部の分周クロックは仕様上必要な制約条件を満たす分周クロックのみ生成されるため、分周クロックの不正設定によりシステムＬＳＩ１０１が誤動作やデッドロックすることはなくなる。
【００６３】
なお、分周比は、１以上でも１以下でもよい。すなわち、分周クロックＤＣＫｘは、入力クロックＰＣＫに対して、周波数が低くても、高くてもよい。
【００６４】
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００６５】
本発明の実施形態は、例えば以下のように種々の適用が可能である。
【００６６】
（付記１）
他のクロック分周器の分周比を参照し、自己のクロック分周器の分周比を決定する分周比決定手段と、
前記決定された分周比で入力クロックを分周して分周クロックを生成する分周クロック生成手段と
を有することを特徴とするクロック分周器。
（付記２）
前記分周比決定手段は、他のクロック分周器の分周比を参照し、自己のクロック分周器の分周比が妥当か否かを判定する分周比判定手段を有することを特徴とする付記１記載のクロック分周器。
（付記３）
前記分周比決定手段は、前記自己のクロック分周器の分周比が妥当でないと判定されたときには、前記自己のクロック分周器の分周比の代替となる分周比を生成する代替分周比生成手段を有することを特徴とする付記２記載のクロック分周器。
（付記４）
前記分周クロック生成手段は、前記自己のクロック分周器の分周比が妥当であると判定され、かつ他のクロック分周器の分周比が妥当である旨の信号を入力したとき、前記分周クロックを生成することを特徴とする付記２又は３記載のクロック分周器。
（付記５）
前記分周クロック生成手段は、
前記決定された分周比を基にカウントを行うカウンタと、
前記決定された分周比及び前記カウント値を基に分周クロックを生成する論理回路とを有することを特徴とする付記１〜４のいずれか１項に記載のクロック分周器。
（付記６）
自己のクロック分周器の分周比が妥当か否かを判定し、その判定結果を他のクロック分周器に出力する分周比判定手段と、
前記自己のクロック分周器の分周比が妥当でないと判定されたときには、前記自己のクロック分周器の分周比の代替となる分周比を生成する代替分周比生成手段と、
前記自己のクロック分周器の分周比が妥当であると判定されたときには、前記自己のクロック分周器の分周比で入力クロックを分周して分周クロックを生成する分周クロック生成手段と
を有することを特徴とするクロック分周器。
【図面の簡単な説明】
【００６７】
【図１】本発明の第１の実施形態によるシステムＬＳＩの構成例を示す図である。
【図２】システムＬＳＩ内部の各分周クロックを生成するための回路例を示す図である。
【図３】図２のクロック分周器の構成例を示す図である。
【図４】図３のクロック分周器の動作の流れを示すフローチャートである。
【図５】図１のクロック分周器の構成例を示す図である。
【図６】図５のクロック分周器の動作の流れを示すフローチャートである。
【図７】本発明の第２の実施形態によるクロック分周器の構成例を示す図である。
【図８】本発明の第３の実施形態によるクロック分周器の構成例を示す図である。
【図９】本発明の第４の実施形態によるクロック分周器の構成例を示す図である。
【符号の説明】
【００６８】
１０１  システムＬＳＩ
１０３  ＰＬＬ回路
１０５〜１０７  クロック分周器
１１１  アドレス線
１１２  データ線
１１３  制御線
５０１  クロック分周器
５０２  分周比設定レジスタ
５０３  分周比判定回路、代替分周比生成回路
５０４  論理積回路
５０５  分周比記憶レジスタ
５０６  Ｎ−１進カウンタ
５０７  分周クロック生成回路
５１９  分周クロック生成部
【図１】
2007259125.tif 000003
【図２】
2007259125.tif 000004
【図３】
2007259125.tif 000005
【図４】
2007259125.tif 000006
【図５】
2007259125.tif 000007
【図６】
2007259125.tif 000008
【図７】
2007259125.tif 000009
【図８】
2007259125.tif 000010
【図９】
2007259125.tif 000011