(57)【特許請求の範囲】
【請求項１】
入力クロックを変換して出力クロックを生成し、所定システムに前記出力クロックを提供する上昇エッジ動作システム用のクロック生成方法であって、
入力クロック周波数より小さい出力クロック周波数及び変数周波数を設定し、前記入力クロックが上昇エッジであるか否かを判断するステップと、
前記入力クロックが上昇エッジである場合、前記出力クロック周波数と前記変数周波数とを加算して算出周波数を演算するステップと、
前記算出周波数と前記入力クロック周波数とを比較するステップと、
前記比較の結果、前記算出周波数が前記入力クロック周波数以上である場合、前記出力クロックを論理状態「１」として出力し、前記算出周波数から前記入力クロック周波数を減算した値を前記変数周波数として設定するステップと、
を含み、
前記比較の結果、前記算出周波数が前記入力クロック周波数より小さい場合、前記変数周波数を前記算出周波数として設定した後、前記入力クロックが上昇エッジであるか否かを確認する、方法。
【請求項２】
前記入力クロックが上昇エッジであるか否かを判断するステップは、前記入力クロックが上昇エッジではない場合、前記入力クロックに関して上昇エッジの有無を確認し続ける、請求項１に記載の方法。
【請求項３】
前記算出周波数が前記入力クロック周波数以上である場合、前記出力クロックは論理状態「１」が出力され、次に前記入力クロックの下降エッジで論理状態「０」が出力される、請求項１に記載の方法。
【請求項４】
前記変数周波数は最初に０として設定され、この場合、前記出力クロックは論理状態「０」に設定される、請求項１に記載の方法。
【請求項５】
前記変数周波数として設定するステップの後、前記入力クロックが上昇エッジであるか否かを判断するステップが更に行われる、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上昇エッジで動作するシステム用のクロックを生成する方法に関するものであり、単純な構造、かつ高い精度でクロック信号を生成する方法に関するものである。
【背景技術】
【０００２】
クロック信号は論理状態「１」と論理状態「０」とが周期的に現れる矩形波信号である。一般的なシステムにおいてクロックは一定のデューティ比を有し、システムはクロックに同期して各種信号を処理する。
【０００３】
クロック生成装置は、システムで使用する一定のデューティ比を有するクロックを生成する装置であって、ＰＬＬ回路であってよい。しかし、ＰＬＬ回路は論理が複雑で多数のトランジスタを使用しなければならない短所がある。
【０００４】
図１は、一定デューティ比のクロックを必要とするシステムにクロックを提供する構成を示す図である。
【０００５】
図１を参照すると、ＰＬＬ回路１１は入力クロックを調整してシステム１２で使用するために適した出力クロックを生成する。この際、ＰＬＬ回路はハードウェア及びソフトウェア双方で具現できるが、ハードウェアのＰＬＬ構造は、精度は高いが複雑な論理構造のため多数のトランジスタを必要とする。一方、ソフトウェアタイプのＰＬＬ構造は出力クロックの精度を保証することができない問題がある。
【０００６】
また、一定のデューティ比を有するクロックをシステムに提供するためにはＰＬＬ回路によるクロック調整が必要であるが、クロックの上昇エッジ又は下降エッジだけで動作するシステムの場合には複雑な構造のＰＬＬ回路を必要としない。よって、一定のデューティ比を有するクロックが要求されないシステムでは精密にクロックを生成することが要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、クロックの上昇エッジで動作するシステムの場合、単純な構造であっても高い精度でクロック生成する方法を提案する。
【課題を解決するための手段】
【０００８】
本発明のクロック生成方法は、入力クロックを変換して出力クロックを生成し、所定システムで出力クロックを提供するクロック生成方法であって、所望のクロック値及び変数値を設定し、入力クロックが上昇エッジであるか否かを判断するステップと、入力クロックが上昇エッジである場合、出力クロック値と変数値とを加算して算出値を演算するステップと、算出値と入力クロック値とを比較するステップと、比較の結果、算出値が入力クロック値以上である場合、出力クロックを論理状態「１」として出力し、算出値から入力クロック値を減算した値を変数値として設定するステップと、を含む。
【０００９】
そして、出力クロックの値は入力クロックの周波数より小さい値として設定される。
【００１０】
そして、比較の結果、算出値が入力クロック値より小さい場合には、変数値を算出値として設定した後、入力クロックが上昇エッジであるか否かを確認する。
【００１１】
そして、算出値が入力クロック値以上である場合、出力クロックは論理状態「１」が出力され、次に入力クロックの下降エッジで論理状態「０」が出力される。
【００１２】
提案されるクロック生成装置及びその生成方法において、一定のデューティ比を必要とせずに、クロックの上昇エッジで動作するシステム用のクロックを精密に生成することができる。
【００１３】
よって、複雑なＰＬＬ回路を使用しなくてもクロックを生成することができるため、ソフトウェアタイプのＰＬＬ構造では保証できない出力クロックの精度を確保することができる。
【図面の簡単な説明】
【００１４】
【図１】一定デューティ比のクロックを必要とするシステムにクロックを提供する構成を示す図である。
【図２】本実施例によるクロック生成装置が使用される例を示す図である。
【図３】本実施例による上昇エッジ動作システム用クロック生成装置の構成を示す図である。
【図４】本実施例による上昇エッジ動作システム用クロック生成装置の動作を示す順序図である。
【図５】本実施例による上昇エッジ動作システム用クロック生成方法によって生成された出力クロックを示す一例の波形図である。
【発明を実施するための形態】
【００１５】
図２は本実施例によるクロック生成装置が使用される例を示す図であり、図３は本実施例による上昇エッジ動作システム用クロック生成装置の構成を示す図である。
【００１６】
図２及び図３を参照すると、実施例のクロック生成装置は上昇エッジによって動作が行われるシステムに適用される。そして、クロック生成装置１１０に入力される入力クロックをシステム１２０に適合するように変更し、生成された出力クロックを前記システム１２０に提供する。
【００１７】
そして、クロック生成装置１１０は出力クロック設定部１１１と、出力クロック生成部１１３とを含む。
【００１８】
出力クロック設定部１１１はシステム１２０に提供する出力クロックを設定するためのものであり、ユーザが出力クロックを設定可能なユーザインタフェースを提供する。例えば、出力クロック値を入力するように表示装置上に表示される入力画面と、キーボードのような入力手段とで構成される。
【００１９】
すなわち、ユーザは、キーボードを使用して表示装置上に表示される入力画面に所望の出力クロック値を入力することによって出力クロックを設定する。
【００２０】
この際、本発明の実施例では入力クロックの上昇エッジを利用して出力クロックを生成するため、出力クロック値は入力クロックの周波数より小さい範囲内に設定する。そして、出力クロック設定部１１１に設定される値の単位は周波数である。
【００２１】
一方、出力クロック生成部１１３は、出力クロック設定部１１１によって設定される設定値に基づいて入力クロックの周波数を変化させて出力クロックを生成する。出力クロック生成部１１３の動作については図４及び図５を参照して説明する。
【００２２】
図４は、本実施例による上昇エッジ動作システム用クロック生成装置の動作を示す順序図である。
【００２３】
図４を参照すると、まず所望の出力クロック値Ｎと変数値Ｎ’とを設定する（Ｓ１１０）。この際、出力クロック値Ｎは入力クロック値Ｍより小さい範囲に設定される。そして、出力クロック設定部１１１を介して出力クロック値が設定され、変数値Ｎ’は最初、「０」として設定される。
【００２４】
次に、出力クロック生成部１１３は出力クロック設定部１１１によって設定された出力クロック値及び入力クロック値を受信し、出力クロック値に基づいて入力クロックの周波数を変換してから、出力クロックを生成及び出力する。
【００２５】
詳しくは、入力クロックが上昇エッジであるかを判断し（Ｓ１２０）、上昇エッジでない場合には、持続的に入力クロックが上昇エッジであるか否かを確認する。この際、出力クロックは最初、論理状態「０」として出力される。
【００２６】
入力クロックが上昇エッジであると判断されたとき、出力クロック生成部１１３は出力クロック値Ｎに変数値Ｎ’を加算して算出値Ｎ”を生成する（Ｓ１３０）。
【００２７】
次に、入力クロック値Ｍと算出値Ｎ”とを比較し（Ｓ１４０）、算出値Ｎ”が入力クロック値Ｍより小さいとき（Ｓ１４０−Ｎｏ）、変数値Ｎ’を算出値Ｎ”として設定する（Ｓ１５０）。そして、入力クロックが上昇エッジであるか否かを更に判断する（Ｓ１２０）。
【００２８】
算出値Ｎ”が入力クロック値Ｍ以上のときは（Ｓ１４０−Ｙｅｓ）、出力クロック生成部１１３は一定期間、論理状態「１」の出力クロックを発生し、算出値Ｎ”から入力クロック値Ｍを減算した値を変数値Ｎ’として設定する（Ｓ１６０）。
【００２９】
次に、入力クロックが上昇エッジであるか否かを判断し（Ｓ１２０）、それと同じ動作を繰り返し行うことによって、出力設定値として設定された周波数に変換された出力クロックが生成される。
【００３０】
一方、出力クロックが論理状態「１」を維持する時間は、入力クロックの論理状態「１」の幅と同じである。すなわち、出力クロックの出力状態は論理状態「１」を維持した後、入力クロックの下降エッジで論理状態「０」に変換される。
【００３１】
よって、出力クロック生成部１１３は出力クロックを論理状態「１」に維持した後、入力クロックの下降エッジで出力クロックを論理状態「０」で出力する（Ｓ１７０）。
【００３２】
図５は、本実施例による上昇エッジ動作システム用クロック生成方法によって生成された出力クロックを示す一例の波形図である。
【００３３】
図５を参照すると、入力クロック値Ｍが３００ＭＨｚであり、出力クロック値Ｍが１００ＭＨｚである場合が示されている。初期に出力クロック値Ｎは１００に、変数値Ｎ’は０に設定された状態で（Ｓ１１０）、入力クロックの第１上昇エッジＥ＿ｕｐ１が入力されると（Ｓ１２０−Ｙｅｓ）、出力クロック値Ｎ １００と変数値Ｎ’ ０とを加算して算出値”１００を算出する（Ｓ１３０）。
【００３４】
次に、入力クロック値Ｍ３００と算出値Ｎ” １００とを比較し（Ｓ１４０）、入力クロック値Ｍが算出値Ｎ”より大きいとき（Ｓ１４０−Ｎｏ）、変数値Ｎ’を算出値Ｎ”として設定する（Ｓ１５０）。よって、変数値Ｎ’は１００になり、次に入力クロックが上昇エッジであるか否かを更に判断する（Ｓ１２０）。
【００３５】
次に、入力クロックの第２上昇エッジＥ＿ｕｐ２が入力されると、出力クロック値Ｎ１００と変数値Ｎ’１００とを加算して算出値Ｎ”２００を算出する（Ｓ１３０）。
【００３６】
次に、入力クロック値Ｍ ３００と算出値Ｎ” ２００とを比較し（Ｓ１４０）、入力クロック値Ｍが算出値Ｎ”より大きいとき（Ｓ１４０−Ｎｏ）、変数値Ｎ’に算出値Ｎ”を設定し（Ｓ１５０）、変数値Ｎ’は２００となり、次に入力クロックが上昇エッジであるか否かを判断する（Ｓ１２０）。
【００３７】
次に、入力クロックの第３上昇エッジＥ＿ｕｐ３が入力されると、出力クロック値Ｎ１００と変数値Ｎ’２００とを加算して算出値Ｎ”３００を算出する（Ｓ１３０）。そして、入力クロック値Ｍ３００と算出値Ｎ”３００とを比較し（Ｓ１４０）、入力クロック値Ｍが算出値Ｎ”が同じであるとき（Ｓ１４０−Ｙｅｓ）、出力クロックを論理状態「１」として出力し、算出値Ｎ”３００から入力クロック値Ｍ３００を減算した値である０が、変数値Ｎ’として設定される（Ｓ１６０）。
【００３８】
次に、入力クロックが上昇エッジであるかを更に判断し（Ｓ１２０）、それと同じ過程が繰り返されることによって出力クロックが生成される。
【００３９】
一方、出力クロックは論理状態「１」を維持してから、入力クロックの下降エッジＥ＿ｄｏｗｎ３で論理状態「０」を維持する（Ｓ１７０）。
【００４０】
このような方法によって、一定のデューティ比を必要とせずに、クロックの上昇エッジだけを使用する上昇エッジ動作システム用のクロックを生成するために適用される場合、複雑なＰＬＬを使用しなくてもクロックを生成することができる。そして、ソフトウェアタイプのＰＬＬ構造では保証できない出力クロックの精度を保証することができる。
【図１】
0005986172.tif 000002
【図２】
0005986172.tif 000003
【図３】
0005986172.tif 000004
【図４】
0005986172.tif 000005
【図５】
0005986172.tif 000006