(57)【要約】  分周クロック信号のサイクル時間が一定で、消費電力やレイアウト面積が小さく、設計・検証コストが小さい有理数分周回路を提供する。  分周比がＮ／Ｍ（Ｍ、Ｎは正の整数、かつＭ＞Ｎ）で規定されるクロック信号分周回路において、入力クロック信号ＣＫＩに制御値に基づく所定の遅延量を与えて出力クロック信号ＣＫＯとして出力する可変遅延回路２００と、入力クロック信号ＣＫＩのサイクル毎に、ＭからＮを引いた値を累積的に加算し、加算結果がＮ以上となった場合には、加算結果からＮを引く演算を行って演算結果Ｋを得て、入力クロック信号ＣＫＩの１サイクルに相当する可変遅延回路２００における最大遅延量に対して該最大遅延量のＫ／Ｎの遅延量に対応する制御値を求めて可変遅延回路２００に与える可変遅延制御回路１００と、を備える。
2008056551.tif 000002
【特許請求の範囲】
【請求項１】
分周比がＮ／Ｍ（Ｍ、Ｎは正の整数、かつＭ＞Ｎ）で規定されるクロック信号分周回路において、
入力クロック信号に制御値に基づく所定の遅延量を与えて出力クロック信号として出力する可変遅延回路と、
前記入力クロック信号のサイクル毎に、ＭからＮを引いた値を累積的に加算すると共に、前記加算結果がＮ以上となった場合には、前記加算結果からＮを引く演算を行って演算結果Ｋを得て、前記入力クロック信号の１サイクルに相当する前記可変遅延回路における最大遅延量に対して該最大遅延量のＫ／Ｎの遅延量に対応する制御値を求めて前記可変遅延回路に与える可変遅延制御回路と、
を備えることを特徴とするクロック信号分周回路。
【請求項２】
前記入力クロック信号と前記出力クロック信号との位相差を比較する位相比較器をさらに備え、
前記可変遅延制御回路は、初期化状態において前記位相比較器の比較結果を元に前記最大遅延量を求めて記憶することを特徴とする請求項１に記載のクロック信号分周回路。
【請求項３】
前記可変遅延制御回路は、分周動作状態において前記位相比較器の比較結果を元に前記制御値に基づく前記所定の遅延量を周期的に補正することを特徴とする請求項２に記載のクロック信号分周回路。
【請求項４】
前記可変遅延回路は、複数の遅延ユニットを備え、前記入力クロック信号が通過する遅延ユニットの数を前記制御値に基づいて変化させることで前記所定の遅延量を制御することを特徴とする請求項１に記載のクロック信号分周回路。
【請求項５】
前記遅延ユニットは、前記入力クロック信号を往路方向に伝達する第１の遅延素子と、前記入力クロック信号を復路方向に伝達する第２の遅延素子と、第１の遅延素子の出力を第２の遅延素子の入力に接続可能とするバイパス回路とを含み、
前記可変遅延回路は、前記制御値に基づいて選択された遅延ユニットに含まれるバイパス回路のみをアクティブにすることを特徴とする請求項４に記載のクロック信号分周回路。
【請求項６】
前記可変遅延回路は、前記選択された遅延ユニットの往路方向に後続する遅延ユニットに含まれる第１の遅延素子を前記入力クロック信号の伝達ルートから切り離すように制御することを特徴とする請求項５に記載のクロック信号分周回路。
【請求項７】
前記可変遅延回路は、前記入力クロック信号に対して第１の制御値に基づく第１の遅延量を与えた第１の遅延信号と、前記入力クロック信号に対して第２の制御値に基づく第２の遅延量を与えた第２の遅延信号との論理演算によって前記出力クロック信号を出力する回路であって、
前記第１の制御値は、前記最大遅延量のＫ／Ｎの遅延量に対応する制御値であって、
前記可変遅延制御回路は、前記第１の制御値に所定値を加算して前記第２の制御値として前記可変遅延回路に与える遅延補正回路をさらに備えることを特徴とする請求項１に記載のクロック信号分周回路。
【請求項８】
前記可変遅延回路は、複数の遅延ユニットを備え、前記入力クロック信号が通過する遅延ユニットの数を前記第１および第２の制御値に基づいて変化させることで前記第１および第２の遅延量を制御することを特徴とする請求項７に記載のクロック信号分周回路。
【請求項９】
前記遅延ユニットは、前記入力クロック信号を往路方向に伝達する第１の遅延素子と、前記入力クロック信号を復路方向に伝達する第２の遅延素子と、第１の遅延素子の出力を第２の遅延素子の入力に接続可能とするバイパス回路とを含み、
前記可変遅延回路は、前記第１の制御値に基づいて選択された第１の遅延ユニットに含まれるバイパス回路と、前記第２の制御値に基づいて選択された第２の遅延ユニットに含まれるバイパス回路とをアクティブにすると共に、第１の遅延ユニットに含まれる第２の遅延素子の入力において、第１の遅延ユニットに含まれるバイパス回路の出力と第１の遅延ユニットの復路方向の前段に位置する遅延ユニットに含まれる第２の遅延素子の出力とによって前記論理演算を行うことを特徴とする請求項８に記載のクロック信号分周回路。
【請求項１０】
前記可変遅延回路は、前記第２の遅延ユニットの往路方向に後続する遅延ユニットに含まれる第１の遅延素子を前記入力クロック信号の伝達ルートから切り離すように制御することを特徴とする請求項９に記載のクロック信号分周回路。
【請求項１１】
前記所定値は、前記最大遅延量に（Ｍ−Ｎ）／（２Ｎ）を乗じた遅延量に対応する制御値であることを特徴とする請求項７に記載のクロック信号分周回路。
【請求項１２】
前記第１の制御値は、前記入力クロック信号の第１のエッジに対する制御値であって、
前記第２の制御値は、前記入力クロック信号の第１のエッジと逆向きの第２のエッジに対する制御値であることを特徴とする請求項７〜１１のいずれか一に記載のクロック信号分周回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号分周回路に関し、特に、クロック信号を任意の有理数で分周するクロック信号分周回路に関する。
【背景技術】
【０００２】
ある周波数のクロック信号を分周して、より低い周波数のクロック信号を生成するクロック分周回路において、分周比、すなわち分周前のクロック信号の周波数と分周後のクロック信号の周波数との比が１／Ｍ（Ｍは正の整数）の分周回路（整数分周回路）は、カウンタ回路を用いて実現することができる。【０００３】
一方、分周比がＮ／Ｍ（Ｎ、Ｍは正の整数）であっても分周が可能な分周回路（有理数分周回路）が従来より提案されている（例えば、特許文献１、２参照）。これらの従来技術によれば、分周比の分子を設定する値（分周比Ｎ／ＭにおけるＮの値）を、入力クロック信号のサイクル毎に累積的に加算し、その加算結果が分周比の分母を設定する値（分周比Ｎ／ＭにおけるＭの値）より大きくなった場合には、その加算結果からＭを引く、という動作を行い、その加算結果を参照して入力クロック信号のパルスを適切に間引くことにより有理数分周を実現している。【０００４】
また、従来技術として、位相補間回路（Phase Interpolator）を使用したクロック生成回路が提案されている（例えば、特許文献３参照）。特許文献３に記載の技術によれば、位相補間回路によって、入力クロック信号のエッジ以外のタイミングでエッジを生成することで、サイクル時間が一定の有理数分周クロック信号を生成することができる。
【特許文献１】特開２００５‐４５５０７号公報
【特許文献２】特開２００６‐１４８８０７号公報
【特許文献３】特開２００２‐５７５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１、２に記載のクロック分周回路は、入力クロック信号のパルスを選択的に間引くことで分周を実現しているため、分周クロック信号のパルス出力のタイミングは、入力クロック信号のパルスのタイミングに制限される。その結果、分周クロック信号のサイクル時間がサイクル毎に大きく変化してしまうという問題がある。また、サイクル時間の最小値が分周比に比例して減少しないので、分周クロック信号で駆動される回路の最大遅延の制約を周波数に応じて緩和できないという問題がある。【０００６】
また、特許文献３に記載のクロック分周回路は、位相補間回路によって、サイクル時間が一定の有理数分周クロック信号を生成することができるものの、位相補間回路は比較的低周波数の入力クロック信号、例えば500MHz以下の周波数の入力クロック信号を分周する場合、大きな容量を必要とする。このため、消費電力やレイアウト面積が大きく、ノイズに弱いという問題がある。また、アナログ回路のため専用設計を必要とし、設計・検証コストが大きいという問題がある。【０００７】
本発明の目的は、上記問題点を鑑みて発明されたものであり、分周クロック信号のサイクル時間が一定であって、消費電力やレイアウト面積が小さく、設計・検証コストが小さい有理数分周回路を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一つのアスペクトに係るクロック信号分周回路は、分周比がＮ／Ｍ（Ｍ、Ｎは正の整数、かつＭ＞Ｎ）で規定されるクロック信号分周回路において、入力クロック信号に制御値に基づく所定の遅延量を与えて出力クロック信号として出力する可変遅延回路と、入力クロック信号のサイクル毎に、ＭからＮを引いた値を累積的に加算すると共に、加算結果がＮ以上となった場合には、加算結果からＮを引く演算を行って演算結果Ｋを得て、入力クロック信号の１サイクルに相当する可変遅延回路における最大遅延量に対して該最大遅延量のＫ／Ｎの遅延量に対応する制御値を求めて可変遅延回路に与える可変遅延制御回路と、を備える。【０００９】
本発明に係るクロック信号分周回路において、入力クロック信号と出力クロック信号との位相差を比較する位相比較器をさらに備え、可変遅延制御回路は、初期化状態において位相比較器の比較結果を元に最大遅延量を求めて記憶するようにしてもよい。【００１０】
本発明に係るクロック信号分周回路において、可変遅延制御回路は、分周動作状態において位相比較器の比較結果を元に制御値に基づく所定の遅延量を周期的に補正するようにしてもよい。【００１１】
本発明に係るクロック信号分周回路において、可変遅延回路は、複数の遅延ユニットを備え、入力クロック信号が通過する遅延ユニットの数を制御値に基づいて変化させることで所定の遅延量を制御するようにしてもよい。【００１２】
本発明に係るクロック信号分周回路において、遅延ユニットは、入力クロック信号を往路方向に伝達する第１の遅延素子と、入力クロック信号を復路方向に伝達する第２の遅延素子と、第１の遅延素子の出力を第２の遅延素子の入力に接続可能とするバイパス回路とを含み、可変遅延回路は、制御値に基づいて選択された遅延ユニットに含まれるバイパス回路のみをアクティブにするようにしてもよい。【００１３】
本発明に係るクロック信号分周回路において、可変遅延回路は、選択された遅延ユニットの往路方向に後続する遅延ユニットに含まれる第１の遅延素子を入力クロック信号の伝達ルートから切り離すように制御するようにしてもよい。【００１４】
本発明に係るクロック信号分周回路において、可変遅延回路は、入力クロック信号に対して第１の制御値に基づく第１の遅延量を与えた第１の遅延信号と、入力クロック信号に対して第２の制御値に基づく第２の遅延量を与えた第２の遅延信号との論理演算によって出力クロック信号を出力する回路であって、第１の制御値は、最大遅延量のＫ／Ｎの遅延量に対応する制御値であって、可変遅延制御回路は、第１の制御値に所定値を加算して第２の制御値として可変遅延回路に与える遅延補正回路をさらに備えるようにしてもよい。【００１５】
本発明に係るクロック信号分周回路において、可変遅延回路は、複数の遅延ユニットを備え、入力クロック信号が通過する遅延ユニットの数を第１および第２の制御値に基づいて変化させることで第１および第２の遅延量を制御するようにしてもよい。【００１６】
本発明に係るクロック信号分周回路において、遅延ユニットは、入力クロック信号を往路方向に伝達する第１の遅延素子と、入力クロック信号を復路方向に伝達する第２の遅延素子と、第１の遅延素子の出力を第２の遅延素子の入力に接続可能とするバイパス回路とを含み、可変遅延回路は、第１の制御値に基づいて選択された第１の遅延ユニットに含まれるバイパス回路と、第２の制御値に基づいて選択された第２の遅延ユニットに含まれるバイパス回路とをアクティブにすると共に、第１の遅延ユニットに含まれる第２の遅延素子の入力において、第１の遅延ユニットに含まれるバイパス回路の出力と第１の遅延ユニットの復路方向の前段に位置する遅延ユニットに含まれる第２の遅延素子の出力とによって論理演算を行うようにしてもよい。【００１７】
本発明に係るクロック信号分周回路において、可変遅延回路は、第２の遅延ユニットの往路方向に後続する遅延ユニットに含まれる第１の遅延素子を入力クロック信号の伝達ルートから切り離すようにしてもよい。【００１８】
本発明に係るクロック信号分周回路において、所定値は、最大遅延量に（Ｍ−Ｎ）／（２Ｎ）を乗じた遅延量に対応する制御値であってもよい。【００１９】
本発明に係るクロック信号分周回路において、第１の制御値は、入力クロック信号の第１のエッジに対する制御値であって、第２の制御値は、入力クロック信号の第１のエッジと逆向きの第２のエッジに対する制御値であってもよい。
【発明の効果】
【００２０】
本発明によれば、分周クロック信号のサイクル時間が一定であって、消費電力やレイアウト面積が小さく、設計・検証コストが小さい有理数分周回路を実現することができる。
【発明を実施するための最良の形態】
【００２１】
本発明の実施形態に係るクロック信号分周回路は、分周比が２つの正の整数Ｎ及びＭの比であるＮ／Ｍで規定されるクロック信号分周回路において、入力クロック信号（図１のＣＫＩ）に所定の遅延を付加して出力する可変遅延回路（図１の２００）と、入力クロック信号と可変遅延回路が出力する出力クロック信号（図１のＣＫＯ）との位相差を比較する位相比較器（図１の３００）と、可変遅延回路の遅延量を制御する制御値を生成する可変遅延制御回路（図１の１００）とを備え、可変遅延制御回路は、入力クロック信号のサイクル毎に、可変遅延回路の遅延量を入力クロックの１サイクルの１／Ｎの単位で制御する。【００２２】
また、可変遅延回路は、複数の遅延ユニット（図２の２０１）を備え、入力クロック信号が通過する遅延ユニットの数を、可変遅延制御回路から与えられる制御値に基づいて変化させることで、入力クロック信号に付加する遅延量を制御することが好ましい。【００２３】
さらに、可変遅延制御回路は、分周比を規定する整数Ｍから整数Ｎを引いた値を入力クロックのサイクル毎に累積的に加算し、加算の結果が前記整数Ｎより大きくなった場合には、加算の結果から整数Ｎを引く動作を行うことを特徴とし、前記加算の結果に基づいて前記制御値を生成することが好ましい。【００２４】
また、可変遅延制御回路は、可変遅延回路の遅延量を入力クロック信号の１サイクルに等しい遅延に設定する制御値を記憶する記憶手段を備え、可変遅延制御回路は、可変遅延回路の遅延量を入力クロック信号の１サイクルに等しい遅延に設定する制御値に基づいて、可変遅延回路の遅延量を制御する制御値を生成することが好ましい。【００２５】
またさらに、可変遅延制御回路は、可変遅延制御回路が記憶する、可変遅延回路の遅延量を前記入力クロック信号の１サイクルに等しい遅延に設定する制御値を、位相比較器が出力する位相比較結果に基づいて求めることが好ましい。以下、実施例に即し図面を参照して詳細に説明する。
【実施例１】
【００２６】
図１は、本発明の第１の実施例に係るクロック信号分周回路の構成を示すブロック図である。図１において、クロック信号分周回路は、可変遅延制御回路１００、可変遅延回路２００、位相比較器３００を備え、入力クロック信号ＣＫＩを分周比Ｎ／Ｍ（Ｍ、Ｎは正の整数、かつＭ＞Ｎ）で分周し、出力クロック信号ＣＫＯとして出力する。【００２７】
可変遅延制御回路１００は、入力クロック信号ＣＫＩのタイミングで動作し、分周比の設定信号Ｍ−Ｎ、−Ｎ、Ｎ及び位相比較結果信号３０１を参照して、可変遅延制御信号１０１を生成する。より具体的には、分周比の設定信号Ｍ−Ｎ、−Ｎ、Ｎを入力し、入力クロック信号ＣＫＩの各サイクルにおける可変遅延回路２００の遅延制御値を計算する。そして、計算した値に基づいて、可変遅延回路２００の遅延量を入力クロック信号ＣＫＩのサイクル毎に、入力クロック信号ＣＫＩの１サイクルの１／Ｎの単位で制御する。【００２８】
可変遅延回路２００は、可変遅延制御信号１０１で与えられる遅延制御値に比例した遅延量の遅延を入力クロック信号ＣＫＩに対して付加し、出力クロック信号ＣＫＯとして出力する。なお、遅延制御値が０の場合は出力クロック信号ＣＫＯを出力しない。【００２９】
位相比較器３００は、初期状態および周期的に入力クロック信号ＣＫＩと出力クロック信号ＣＫＯの立ち上がりエッジの位相差を比較し、その結果を位相比較結果信号３０１として出力する。この時、入力クロック信号ＣＫＩの位相に対して、出力クロック信号ＣＫＯの位相が遅れている場合、ＵＰ要求を位相比較結果信号３０１に出力する。また、入力クロック信号ＣＫＩの位相に対して、出力クロック信号ＣＫＯの位相が進んでいる場合、ＤＯＷＮ要求を位相比較結果信号３０１に出力する。【００３０】
次に、図３を参照して、可変遅延制御回路１００の構成の詳細について説明する。可変遅延制御回路１００は、遅延制御値計算回路１１０、乗算器１２０、カウンタ回路１２１を備える。また、遅延制御値計算回路１１０は、加算器１１１、大小比較器１１３、セレクタ回路１１５及び１１６、フリップフロップ回路１１７及び１１８から構成される。【００３１】
カウンタ回路１２１は、小数点以下１桁の固定小数点数を記憶し、位相比較結果信号３０１で与えられる入力クロック信号ＣＫＩと出力クロック信号ＣＫＯとの位相比較結果（ＵＰ／ＤＯＷＮ）に基づいて、記憶している固定小数点数のカウントアップまたはカウントダウンを行い、記憶している固定小数点数を遅延基準値１３２として出力する。【００３２】
乗算器１２０は、遅延計算値補正値１３１と遅延基準値１３２との乗算を行い、乗算結果の小数点以下を切り捨てた値を可変遅延制御信号１０１として出力する。【００３３】
フリップフロップ回路１１７及び１１８、カウンタ回路１２１は、入力クロック信号ＣＫＩの立ち上がりエッジのタイミングに基づいて動作する（図３においては入力クロック信号ＣＫＩの図示を簡略化のため省略している）。【００３４】
次に、図４を参照して、可変遅延制御回路１００の動作について説明する。図４は、分周比Ｎ／Ｍ＝５／８の時の可変遅延制御回路１００の動作を示すタイミング図である。図４において、入力クロック信号ＣＫＩ、出力クロック信号ＣＫＯ、及び、加算器１１１の出力である遅延計算値１３０、セレクタ回路１１６の出力である遅延計算値補正値１３１、カウンタ回路１２１の出力である遅延基準値１３２、乗算器１２０の出力である可変遅延制御信号１０１、位相比較器３００の出力である位相比較結果信号３０１を図示している。【００３５】
まず、可変遅延制御回路１００は、リセット動作直後、または分周比の変更直後、初期化中状態にある。可変遅延制御回路１００は、初期化中状態において、可変遅延回路２００の遅延量を入力クロック信号ＣＫＩの１サイクル分に制御する遅延制御値を求める動作を行う。【００３６】
セレクタ回路１１６は、初期化中状態を表す初期化情報ＩＮＩが与えられた時には、遅延計算値補正値１３１に入力Ｎ＝５を選択して出力する。カウンタ回路１２１が記憶する値の初期値は、１．０である。例えば、遅延計算値補正値１３１が５、遅延基準値１３２が１．０であるサイクルでは、可変遅延制御信号１０１は５であり、可変遅延回路２００は、遅延制御値＝５に対応した遅延で出力クロック信号ＣＫＯを出力する。【００３７】
位相比較器３００は、出力クロック信号ＣＫＯの立ち上がりエッジと入力クロック信号ＣＫＩの次の立ち上がりエッジとを比較する。出力クロック信号ＣＫＯの立ち上がりエッジは、入力クロック信号ＣＫＩの次の立ち上がりエッジよりも位相が遅れているので、位相比較結果信号３０１にＵＰ要求を出力する。カウンタ回路１２１は、入力する位相比較結果信号３０１からＵＰ要求を受け取ると、記憶している固定小数点数１．０を、１．１にカウントアップする。【００３８】
以下同様にして、出力クロック信号ＣＫＯの立ち上がりエッジと入力クロック信号ＣＫＩの次の立ち上がりエッジの位相が一致するまで、カウンタ回路１２１が記憶する値は、カウントアップされる。それに対応して可変遅延制御信号１０１の値、さらに可変遅延回路２００の遅延量が増加していく。【００３９】
遅延基準値１３２の値が２０．０、可変遅延制御信号１０１の値が１００に到達したときに、出力クロック信号ＣＫＯの立ち上がりエッジと入力クロック信号ＣＫＩの次の立ち上がりエッジとの位相が一致したとする。このとき位相比較器３００は、位相比較結果信号３０１にＵＰ要求を出力せず、ロックが検出される。カウンタ回路１２１には、可変遅延回路２００の遅延量を入力クロック信号ＣＫＩの１サイクル分に制御する遅延制御値（＝１００）の１／Ｎ（＝１／５）に相当する値（＝２０．０）が記憶される。【００４０】
可変遅延制御回路１００は、ロックを検出すると、初期化中状態から分周動作状態に遷移する。可変遅延制御回路１００は、分周動作状態において、入力クロック信号ＣＫＩを分周比Ｎ／Ｍ＝５／８で分周した出力クロック信号ＣＫＯを生成するように、可変遅延回路２００の遅延量を制御する可変遅延制御信号１０１を出力する。【００４１】
再び図４を参照して可変遅延制御回路１００の分周動作状態における動作の詳細を説明する。図４において、分周動作状態のサイクル０では、遅延計算値１３０の値は、０であるとする。【００４２】
分周動作状態では、セレクタ回路１１６は、大小比較器１１３による遅延計算値１３０とＮの比較結果を参照して、遅延計算値１３０がＮ以上であれば値０を選択し、遅延計算値１３０がＮ未満であれば遅延計算値１３０の値を選択して、遅延計算値補正値１３１として出力する。【００４３】
サイクル０では、セレクタ回路１１６は、遅延計算値１３０の値０を選択するので、遅延計算値補正値１３１の値は０である。遅延基準値１３２の値は、カウンタ回路１２１に記憶されている値２０．０である。この値２０．０は、可変遅延回路２００の遅延量を入力クロック信号ＣＫＩの１サイクル分に制御する遅延制御値である１００の１／Ｎ（Ｎ＝５）に相当する値である。従って、可変遅延制御信号１０１の値は、０となり、可変遅延回路２００は、出力クロック信号ＣＫＯを出力しない。【００４４】
次にサイクル１において、フリップフロップ１１７は、サイクル０における大小比較器１１３の結果、すなわち遅延計算値１３０がＮ未満であった旨を保持している。セレクタ回路１１５は、フリップフロップ１１７に保持されている前サイクルの大小比較器１１３の結果を参照して、遅延計算値１３０がＮ以上であったならば入力「−Ｎ」を選択し、遅延計算値１３０がＮ未満であったならば入力「Ｍ−Ｎ」を選択する。従ってサイクル１では、セレクタ回路１１５は、入力「Ｍ−Ｎ」＝８−５＝３を選択する。【００４５】
フリップフロップ１１８は、サイクル０における遅延計算値１３０の値０を保持している。従って遅延計算値１３０の値は、加算器１１１の出力０＋３＝３となる。遅延計算値１３０の値３は、Ｎ（Ｎ＝５）未満であるので、セレクタ回路１１６は、遅延計算値１３０の値３を選択し、遅延計算値補正値１３１の値は、３となる。従って、可変遅延制御信号１０１の値は、３×２０．０＝６０となる。【００４６】
可変遅延回路２００は、入力クロック信号ＣＫＩに対して遅延制御値である６０に対応する遅延を施した出力クロック信号ＣＫＯを出力する。可変遅延回路２００の遅延量は、遅延制御値が１００のときに入力クロック信号ＣＫＩの１サイクル分に等しいので、遅延制御値が６０のときは、図４に示すように、１サイクルの６０／１００＝３／５の遅延量になる。【００４７】
次にサイクル２において、フリップフロップ１１７は、サイクル１において遅延計算値１３０がＮ未満であった旨を保持している。従って、セレクタ回路１１５は入力「Ｍ−Ｎ」＝３を選択して出力する。フリップフロップ１１８は、サイクル１における遅延計算値１３０の値３を保持している。従って遅延計算値１３０の値は、加算器１１１の加算結果である３＋３＝６となる。遅延計算値１３０の値６は、Ｎ（Ｎ＝５）以上であるので、セレクタ回路１１６は、値０を選択し、遅延計算値補正値１３１の値は、０となる。従って、可変遅延制御信号１０１の値は、０×２０．０＝０となり、可変遅延回路２００は、出力クロック信号ＣＫＯを出力しない。【００４８】
次にサイクル３において、フリップフロップ１１７は、サイクル２において遅延計算値１３０の値がＮ以上であった旨を保持している。従って、セレクタ回路１１５は、入力「−Ｎ」＝−５を選択して出力する。フリップフロップ１１８は、サイクル２における遅延計算値１３０の値６を保持している。従って、遅延計算値１３０の値は、加算器１１１の加算結果である６−５＝１となる。遅延計算値１３０の値１は、Ｎ（Ｎ＝５）未満であるので、セレクタ回路１１６は、遅延計算値１３０の値１を選択し、遅延計算値補正値１３１の値は、１となる。従って、可変遅延制御信号１０１の値は、１×２０．０＝２０となり、可変遅延回路２００は、入力クロック信号ＣＫＩを遅延制御値である２０に対応する遅延量だけ遅延させた出力クロック信号ＣＫＯを出力する。可変遅延回路２００の遅延量は、遅延制御値が１００のときに入力クロック信号ＣＫＩの１サイクル分に等しいので、遅延制御値が２０のときは、図４に示すように、入力クロック信号ＣＫＩの１サイクルの２０／１００＝１／５＝１／Ｎの遅延量になる。【００４９】
同様にサイクル４において、遅延計算値１３０の値は、１＋３＝４、遅延計算値補正値１３１の値は４、可変遅延制御信号１０１の値は、８０となる。したがって、入力クロック信号ＣＫＩを入力クロック信号ＣＫＩの１サイクルの８０／１００＝４／５＝４／Ｎだけ遅延した出力クロック信号ＣＫＯが出力される。【００５０】
また、サイクル５において、遅延計算値１３０の値は、４＋３＝７、遅延計算値補正値１３１の値は０、可変遅延制御信号１０１の値は、０となる。したがって、出力クロック信号ＣＫＯは出力されない。【００５１】
さらに、サイクル６において、遅延計算値１３０の値は、７−５＝２、遅延計算値補正値１３１の値は２、可変遅延制御信号１０１の値は４０となる。したがって、入力クロック信号ＣＫＩを入力クロック信号ＣＫＩの１サイクルの４０／１００＝２／５＝２／Ｎだけ遅延した出力クロック信号ＣＫＯが出力される。【００５２】
またさらに、サイクル７において、遅延計算値１３０の値は、２＋３＝５、遅延計算値補正値１３１の値は５、可変遅延制御信号１０１の値は１００となる。したがって、入力クロック信号ＣＫＩを入力クロック信号ＣＫＩの１サイクル分だけ遅延した出力クロック信号ＣＫＯが出力される。すなわち、出力クロック信号ＣＫＯの立ち上がりエッジの位相は、入力クロック信号ＣＫＩの次の立ち上がりエッジの位相と一致することになる。【００５３】
次に、サイクル７の次のサイクル０において、フリップフロップ１１７は、サイクル７において遅延計算値１３０がＮ以上であった旨を保持している。従って、セレクタ回路１１５は、入力「−Ｎ」＝−５を選択して出力する。フリップフロップ１１８は、サイクル７における遅延計算値１３０の値５を保持している。従って遅延計算値１３０の値は、加算器１１１の５−５＝０となる。遅延計算値１３０の値０は、Ｎ（Ｎ＝５）未満であるので、セレクタ回路１１６は、値０を選択し、遅延計算値補正値１３１の値は、０となる。従って、可変遅延制御信号１０１の値は、０×２０．０＝０となり、可変遅延回路２００は、出力クロック信号ＣＫＯを出力しない。この状況は、先に説明したサイクル０の状況と同様である。【００５４】
この後、サイクル０からサイクル７の動作を繰り返すこととなる。【００５５】
以上のように、位相比較器３００は、可変遅延制御回路１００が初期化中状態にある場合は、入力クロック信号ＣＫＩの毎サイクルにおいて、入力クロック信号ＣＫＩと出力クロック信号ＣＫＯの立ち上がりエッジの位相差を比較し、その結果を位相比較結果信号３０１として出力する。また、可変遅延制御回路１００が分周動作状態にある場合は、図４からも明らかなように、サイクル０において入力クロック信号ＣＫＩと出力クロック信号ＣＫＯの立ち上がりエッジの位相が一致する。【００５６】
位相比較器３００は、可変遅延制御回路１００が分周動作状態にある場合は、サイクル０のタイミングで周期的に入力クロック信号ＣＫＩと出力クロック信号ＣＫＯの立ち上がりエッジの位相差を比較し、その結果を位相比較結果信号３０１として出力する。この時、入力クロック信号ＣＫＩの位相に対して、出力クロック信号の位相が遅れている場合、ＵＰ要求を位相比較結果信号３０１に出力する。また、入力クロック信号ＣＫＩの位相に対して、出力クロック信号の位相が進んでいる場合、ＤＯＷＮ要求を位相比較結果信号３０１に出力する。これにより、温度変動や電源電圧変動等によって可変遅延回路２００の遅延量がばらついたとしても、遅延基準値１３２が、位相比較器３００が出力する位相比較結果に基づいて調整されるので、サイクル０のタイミングで常に入力クロック信号ＣＫＩと出力クロック信号ＣＫＯの位相が一致するように動作する。すなわち、図４にも示すように、出力クロック信号ＣＫＯのサイクル時間（立ち上がりエッジ間の間隔）は、入力クロック信号ＣＫＩのサイクル時間の１／Ｎ×Ｍ＝Ｍ／Ｎ＝８／５倍で一定である。【００５７】
次に、図２を参照して、可変遅延回路２００の構成の詳細を説明する。可変遅延回路２００は、複数の遅延ユニット２０１を直列に接続した構成である。具体的には、左からＤ１、Ｄ２、…、Ｄｎ（ｎは正の整数）のｎ個の遅延ユニット２０１が直列に接続されている。【００５８】
入力クロック信号ＣＫＩは、まずＤ１の遅延ユニット２０１に入力されて右方向に伝播し、いずれかの遅延ユニット２０１で折り返して左方向に伝播し、Ｄ１の遅延ユニット２０１を再び通過し、最後にインバータ回路２３０を介して、出力クロック信号ＣＫＯとして出力される。折り返す遅延ユニット２０１の選択により、入力クロック信号ＣＫＩが通過する遅延ユニット２０１の段数を制御することが可能であって、可変遅延回路２００は可変遅延を実現する。【００５９】
遅延ユニット２０１は、ＡＮＤ回路２０５及び２０７、ＮＡＮＤ回路２０６から構成される。ＡＮＤ回路２０５は、図２において左から右方向に伝播する入力クロック信号ＣＫＩを各遅延ユニット２０１に入力するか否かについて入力マスク信号２１０に基づいて制御する。ＮＡＮＤ回路２０６は、図２において左から右方向に伝播する入力クロック信号ＣＫＩを各遅延ユニット２０１において、再び左方向に折り返して出力するか否かを折り返し制御信号２１１に基づいて制御するバイパス回路として機能する。ＡＮＤ回路２０７は、ＮＡＮＤ回路２０６を通過して折り返されたクロック信号、または右に隣接する遅延ユニット２０１から伝播したクロック信号を、左に隣接する遅延ユニット２０１に出力する。このように主としてＡＮＤ回路２０５及び２０７が遅延を生じさせる遅延素子として機能する。【００６０】
デコード回路２２０は、可変遅延制御信号１０１で与えられる遅延制御値をデコードして、各遅延ユニット２０１の折り返し制御信号２１１を生成する。また、折り返し制御信号２１１をインバータ回路２２１で論理反転した信号を入力マスク信号２１０として使用する。【００６１】
次に、図５及び図６を参照して、可変遅延回路２００の動作の詳細を説明する。図５は、分周比Ｎ／Ｍ＝３／４の時の可変遅延制御回路１００の動作を示すタイミング図である。ここでは、可変遅延回路２００の遅延量を入力クロック信号ＣＫＩの１サイクル分に制御する遅延制御値が１２であるとすると、遅延基準値１３２の値は、１２／Ｎ＝１２／３＝４に設定されている。【００６２】
サイクル０では、遅延計算値１３０の値は４、遅延計算値補正値１３１の値は０、可変遅延制御信号１０１の値は０、となる。サイクル１では、遅延計算値１３０の値は１、遅延計算値補正値１３１の値は１、可変遅延制御信号１０１の値は４、となる。サイクル２では、遅延計算値１３０の値は２、遅延計算値補正値１３１の値は２、可変遅延制御信号１０１の値は８、となる。サイクル３では、遅延計算値１３０の値は３、遅延計算値補正値１３１の値は３、可変遅延制御信号１０１の値は１２、となる。このように分周比Ｎ／Ｍ＝３／４では、サイクル０からサイクル３の動作が繰り返されて分周が実現される。【００６３】
図６は、サイクル０からサイクル３の各サイクルでの、可変遅延回路２００における入力クロック信号ＣＫＩの立ち上がり及び立ち下がりの伝播の様子を模式的に示す図である。図６には、Ｄ１からＤ１６の１６個の遅延ユニット２０１における入力マスク信号２１０、折り返し制御信号２１１、往路出力信号２１２、復路出力信号２１３の各値を示している。【００６４】
まずサイクル０では、可変遅延制御信号１０１の値は０であるので、デコード回路２２０は、図４の最も左の折り返し制御信号２１１（接続される遅延ユニット２０１は存在しない）のみを値１、その他の折り返し制御信号２１１の値を０として出力する。従って、Ｄ１の遅延ユニットの入力マスク信号２１０の値は０となるので、入力クロック信号ＣＫＩの伝播は、Ｄ１の遅延ユニットにおいてマスクされ、出力クロック信号ＣＫＯは出力されない。【００６５】
次にサイクル１では、可変遅延制御信号１０１の値は４であるので、デコード回路２２０は、Ｄ４の遅延ユニットの折り返し制御信号２１１のみを値１、その他の折り返し制御信号２１１の値を０として出力する。従って、入力クロック信号ＣＫＩの立ち上がり及び立ち下がりとも、Ｄ４の遅延ユニットで折り返されて伝播する。すなわち出力クロック信号ＣＫＯには、入力クロック信号ＣＫＩが遅延ユニット２０１の４個分の遅延だけ遅延したクロック信号が出力される。またＤ５の遅延ユニット２０１の入力マスク信号２１０の値は０となるので、入力クロック信号ＣＫＩは、Ｄ５の遅延ユニットより右側には伝播しない。【００６６】
また、サイクル２では、可変遅延制御信号１０１の値は８であるので、デコード回路２２０は、Ｄ８の遅延ユニットの折り返し制御信号２１１のみを値１、その他の折り返し制御信号２１１の値を０として出力する。従って、入力クロック信号ＣＫＩの立ち上がり及び立ち下がりとも、Ｄ８の遅延ユニットで折り返されて伝播する。すなわち出力クロック信号ＣＫＯには、入力クロック信号ＣＫＩが遅延ユニット２０１の８個分の遅延だけ遅延したクロック信号が出力される。またＤ９の遅延ユニット２０１の入力マスク信号２１０の値は０となるので、入力クロック信号ＣＫＩは、Ｄ９の遅延ユニットより右側には伝播しない。【００６７】
さらに、サイクル３では、可変遅延制御信号１０１の値は１２であるので、デコード回路２２０は、Ｄ１２の遅延ユニットの折り返し制御信号２１１のみを値１、その他の折り返し制御信号２１１の値を０として出力する。従って、入力クロック信号ＣＫＩの立ち上がり及び立ち下がりとも、Ｄ１２の遅延ユニットで折り返されて伝播する。すなわち出力クロック信号ＣＫＯには、入力クロック信号ＣＫＩが遅延ユニット２０１の１２個分の遅延だけ遅延したクロック信号が出力される。これは入力クロック信号ＣＫＩのサイクル時間と一致する。またＤ１３の遅延ユニット２０１の入力マスク信号２１０の値は０となるので、入力クロック信号ＣＫＩは、Ｄ１３の遅延ユニットより右側には伝播しない。【００６８】
以降、サイクル０からサイクル３の動作を繰り返すことで、分周比Ｎ／Ｍ＝３／４の分周を実現することができる。これは可変遅延制御回路１００が可変遅延回路２００の遅延量を、入力クロック信号ＣＫＩのサイクル毎に、入力クロック信号ＣＫＩの１サイクルの１／Ｎの単位で制御することで実現している。【００６９】
また、図５からも明らかなように、出力クロック信号ＣＫＯのサイクル時間（立ち上がりエッジ間の間隔）は、入力クロック信号ＣＫＩのサイクル時間の１／Ｎ×Ｍ＝Ｍ／Ｎ＝４／３倍で一定である。【００７０】
尚、本実施例では、可変遅延制御回路１００は、分周比の設定信号Ｍ−Ｎ、−Ｎ、及びＮを入力して使用したが、これに限るものではない。例えばＭ及びＮを入力して、内部でＭ−Ｎ及び−Ｎを生成して使用しても良い。【００７１】
また、本実施例では、カウンタ回路１２１は、可変遅延回路２００の遅延量を入力クロック信号ＣＫＩの１サイクル分に制御する遅延制御値の１／Ｎに相当する値を記憶したが、入力クロック信号ＣＫＩの１サイクル分に制御する遅延制御値が導出できる値であれば、これに限るものではない。例えば、入力クロック信号ＣＫＩの１サイクル分に制御する遅延制御値そのものを記憶して、使用する際に１／Ｎの値を計算してもよい。【００７２】
以上説明したように、本実施例によるクロック信号分周回路は、可変遅延回路２００を適切に制御することにより、入力クロック信号ＣＫＩのエッジ以外のタイミングでエッジを生成するので、サイクル時間が一定となる有理数分周クロック信号を生成することができる。【００７３】
また、本実施例によるクロック信号分周回路は、分周動作状態であっても周期的に入力クロック信号ＣＫＩと出力クロック信号ＣＫＯとの位相比較及び遅延基準値１３２の調整を行うので、温度変動や電源電圧変動等があっても変動に追従して、サイクル時間が一定の有理数分周クロック信号を生成することができる。【００７４】
さらに、可変遅延回路２００は、ディジタル論理回路のみで構成され、また可変遅延制御回路１００から出力されるディジタル値に基づいて遅延量を決定するので、従来の位相補間回路による実現に比べて、比較的低周波数のクロックを生成する場合でも大きな容量を必要としないため、消費電力やレイアウト面積が小さい。【００７５】
またさらに、アナログ回路や専用設計を必要とする回路を使用しないので、設計・検証コストが小さい。【００７６】
また、可変遅延回路２００は、入力クロック信号ＣＫＩを折り返した遅延ユニットより後段の遅延ユニットでは動作しない。すなわち、遅延の生成に必要な遅延ユニットしか動作しないので、消費電力が小さい。【００７７】
さらに、可変遅延制御回路１００は、Ｍ−Ｎの値をサイクル毎に累積的に加算し、その加算結果がＮより大きくなった場合には、その加算結果からＮを引く、という動作を行うので、加算結果をそのまま可変遅延回路の制御信号として使用することができる。
【実施例２】
【００７８】
実施例１において、分周比がＮ／Ｍであれば、サイクル時間が入力クロック信号ＣＫＩのサイクル時間のＭ／Ｎ倍で一定である分周クロック信号を生成できることを説明した。ところで実施例１では、例えば入力クロック信号ＣＫＩのｄｕｔｙ比が５０％であっても、出力クロック信号ＣＫＯのｄｕｔｙ比が５０％になることは保証されない。ここでｄｕｔｙ比とは、クロック信号のハイレベル期間（値が１の期間）またはローレベル期間（値が０の期間）とサイクル時間との比である。一般に、クロック信号のｄｕｔｙ比は、５０％であることが望ましい場合が多い。本実施例では、ｄｕｔｙ比が５０％の出力クロック信号を生成する方法について説明する。尚、第１の実施例と同様の構成については、同一番号を付して詳細な説明を省略する。【００７９】
図７は、本発明の第２の実施例に係るクロック信号分周回路の構成を示すブロック図である。図７において、クロック信号分周回路は、可変遅延制御回路１５０、可変遅延回路２５０、位相比較器３００を備え、入力クロック信号ＣＫＩを分周比Ｎ／Ｍ（Ｍ、Ｎは正の整数、かつＭ＞Ｎ）で分周し、出力クロック信号ＣＫＯとして出力する。【００８０】
可変遅延制御回路１５０は、入力クロック信号ＣＫＩのタイミングで動作し、分周比の設定信号Ｍ−Ｎ、−Ｎ、Ｎ及び位相比較結果信号３０１を参照して、立ち上がり遅延制御信号１５１及び立ち下がり遅延制御信号１５２を生成する。すなわち、分周比の設定信号Ｍ−Ｎ、−Ｎ、Ｎを入力し、入力クロック信号ＣＫＩの各サイクルにおける可変遅延回路２５０の立ち上がり遅延制御値及び立ち下がり遅延制御値を計算する。【００８１】
可変遅延回路２５０は、立ち上がり遅延制御信号１５１及び立ち下がり遅延制御信号１５２で与えられる遅延制御値に比例した遅延量の遅延を入力クロック信号ＣＫＩの立ち上がり及び立ち下がりにそれぞれ付加し、出力クロック信号ＣＫＯとして出力する。遅延制御値が０の場合は、出力クロック信号ＣＫＯを出力しない。【００８２】
次に、図８を参照して、可変遅延制御回路１５０の構成の詳細について説明する。遅延制御値計算回路１１０、乗算器１２０、カウンタ回路１２１は、実施例１における可変遅延制御回路１００と同様であり、これらに加えて立ち下がり遅延補正回路１４０が乗算器１２０の出力に付加される。乗算器１２０の出力が立ち上がり遅延制御信号１５１として、立ち下がり遅延補正回路１４０の出力が立ち下がり遅延制御信号１５２として、可変遅延回路２５０に出力される。【００８３】
立ち下がり遅延補正回路１４０は、加算器１４１、１／２乗算器１４２、フリップフロップ１４３から構成される。１／２乗算器１４２は、サイクル１における立ち上がり遅延制御信号１５１の値の１／２の値を演算する。フリップフロップ１４３は、１／２乗算器１４２の演算結果を記憶する。加算器１４１は、立ち上がり遅延制御信号１５１の値に、フリップフロップ１４３に記憶されているサイクル１における立ち上がり遅延制御信号１５１の値の１／２の値を加算し、立ち下がり遅延制御信号１５２として出力する。【００８４】
次に、図９を参照して、可変遅延回路２５０の構成の詳細を説明する。可変遅延回路２５０は、複数の遅延ユニット２５１を直列に接続した構成である。具体的には図９において、左からＤ１、Ｄ２、…、Ｄｎ（ｎは正の整数）のｎ個の遅延ユニット２５１が直列に接続されている。【００８５】
入力クロック信号ＣＫＩは、まずＤ１の遅延ユニット２５１に入力されて右方向に伝播し、いずれかの遅延ユニット２５１で折り返して左方向に伝播し、Ｄ１の遅延ユニット２５１を再び通過し、最後にインバータ回路２３０を介して出力クロック信号ＣＫＯとして出力される。折り返す遅延ユニット２５１の選択により、入力クロック信号ＣＫＩが通過する遅延ユニット２５１の段数を制御することで、可変遅延回路２５０は可変遅延を実現する。【００８６】
遅延ユニット２５１は、ＡＮＤ回路２５５及び２５７、ＮＡＮＤ回路２５６から構成される。実施例１における遅延ユニット２０１との差異は、ＮＡＮＤ回路２５６が３入力で構成され、右隣の遅延ユニット２５１からの復路出力信号２６３を参照していることである。【００８７】
立ち上がり遅延デコード回路２７０は、立ち上がり遅延制御信号１５１で与えられる立ち上がり遅延制御値をデコードし、各遅延ユニット２５１の立ち上がりの折り返し制御信号を生成する。また、立ち下がり遅延デコード回路２７１は、立ち下がり遅延制御信号１５２で与えられる立ち下がり遅延制御値をデコードし、各遅延ユニット２５１の立ち下がりの折り返し制御信号を生成する。【００８８】
立ち上がり遅延デコード回路２７０及び立ち下がり遅延デコード回路２７１が生成する折り返し制御信号は、各ＯＲ回路２７３によって論理和演算されて折り返し制御信号２６１として各遅延ユニット２５１のＮＡＮＤ回路２５６に供給される。また、立ち下がり遅延デコード回路２７１が出力する立ち下がりの折り返し制御信号をインバータ回路２７２で論理反転した信号は、各遅延ユニット２５１のＡＮＤ回路２５５に供給される。【００８９】
次に、図１０及び図１１を参照して、可変遅延回路２５０の動作の詳細を説明する。図１０は、分周比Ｎ／Ｍ＝３／４の時の可変遅延制御回路１５０の動作を示すタイミング図である。ここで、可変遅延回路２５０の遅延量を入力クロック信号ＣＫＩの１サイクル分に制御する遅延制御値が１２であるとすると、遅延基準値１３２の値は、１２／Ｎ＝１２／３＝４に設定されている。また後述するように、サイクル１における立ち上がり遅延制御信号１５１の値は、４であるので、フリップフロップ回路１４３には、その１／２の値である２が記憶されている。【００９０】
サイクル０では、遅延計算値１３０の値は４、遅延計算値補正値１３１の値は０、立ち上がり遅延制御信号１５１の値は０、立ち下がり遅延制御信号１５２の値は２、となる。サイクル１では、遅延計算値１３０の値は１、遅延計算値補正値１３１の値は１、立ち上がり遅延制御信号１５１の値は４、立ち下がり遅延制御信号１５２の値は６、となる。サイクル２では、遅延計算値１３０の値は２、遅延計算値補正値１３１の値は２、立ち上がり遅延制御信号１５１の値は８、立ち下がり遅延制御信号１５２の値は１０、となる。サイクル３では、遅延計算値１３０の値は３、遅延計算値補正値１３１の値は３、立ち上がり遅延制御信号１５１の値は１２、立ち下がり遅延制御信号１５２の値は１４、となる。このように分周比Ｎ／Ｍ＝３／４では、サイクル０からサイクル３の動作が繰り返されて分周が実現される。【００９１】
図１１は、サイクル０からサイクル３の各サイクルでの、可変遅延回路２５０における入力クロック信号ＣＫＩの立ち上がり及び立ち下がりの伝播の様子を模式的に示す図である。図１１において、Ｄ１からＤ１６の１６個の遅延ユニット２５１における入力マスク信号２６０、折り返し制御信号２６１、往路出力信号２６２、復路出力信号２６３の各値を示している。【００９２】
まずサイクル０では、立ち上がり遅延制御信号１５１の値は０であるので、立ち上がり遅延デコード回路２７０は、図９の最も左の折り返し制御信号（接続される遅延ユニット２５１は存在しない）のみを値１、その他の折り返し制御信号２６１の値を０として出力する。従って、Ｄ１の遅延ユニットの入力マスク信号２６０の値は０となるので、入力クロック信号ＣＫＩの伝播はＤ１の遅延ユニットにおいてマスクされ、出力クロック信号ＣＫＯは出力されない。【００９３】
次にサイクル１では、立ち上がり可変遅延制御信号１５１の値は４であるので、立ち上がり遅延デコード回路２７０は、Ｄ４の遅延ユニットの折り返し制御信号のみを値１、その他の折り返し制御信号の値を０として出力する。一方、立ち下がり遅延デコード回路２７１は、Ｄ６の遅延ユニットの折り返し制御信号のみを値１、その他の折り返し制御信号の値を０として出力する。【００９４】
まず、入力クロック信号ＣＫＩの立ち上がり伝播時においては、Ｄ４の遅延ユニットのＮＡＮＤ回路２５６に入力される復路出力信号２６３の値は１であるので、立ち上がりの遷移は、Ｄ４の遅延ユニットのＮＡＮＤ回路２５６を通過する。すなわち、入力クロック信号ＣＫＩの立ち上がりは、Ｄ４の遅延ユニットで折り返されて伝播する。すなわち出力クロック信号ＣＫＯには、入力クロック信号ＣＫＩの立ち上がりが遅延ユニット２５１の４個分の遅延だけ遅延した信号が出力される。同時に、入力クロック信号ＣＫＩの立ち上がりは、Ｄ６の遅延ユニットで折り返されて伝播するが、Ｄ１からＤ４の遅延ユニットの復路出力信号２６３は、Ｄ４の遅延ユニットの折り返しによって既に値１から値０へ遷移しているため、Ｄ４の遅延ユニットに到達した時点でそれ以降立ち上がりの遷移は伝播しない。また、Ｄ７の遅延ユニット２５１の入力マスク信号２６０の値は０であるので、入力クロック信号ＣＫＩはＤ７の遅延ユニットより右側には伝播しない。【００９５】
次に、入力クロック信号ＣＫＩの立ち下がり伝播時においては、Ｄ４の遅延ユニットのＮＡＮＤ回路２５６に入力される復路出力信号２６３の値は０であるので、立ち下がりの遷移は、Ｄ４の遅延ユニットのＮＡＮＤ回路２５６を通過しない。一方、Ｄ６の遅延ユニットでは折り返されて伝播する。すなわち、出力クロック信号ＣＫＯには、入力クロック信号ＣＫＩの立ち下がりが遅延ユニット２５１の６個分の遅延だけ遅延した信号が出力される。【００９６】
同様にサイクル２では、入力クロック信号ＣＫＩの立ち上がりは、Ｄ８の遅延ユニットで折り返され、入力クロック信号ＣＫＩの立ち下がりは、Ｄ１０の遅延ユニットで折り返される。すなわち、出力クロック信号ＣＫＯには、入力クロック信号ＣＫＩの立ち上がりが遅延ユニット２５１の８個分の遅延だけ遅延した信号が出力され、入力クロック信号ＣＫＩの立ち下がりが遅延ユニット２５１の１０個分の遅延だけ遅延した信号が出力される。【００９７】
また、サイクル３では、入力クロック信号ＣＫＩの立ち上がりは、Ｄ１２の遅延ユニットで折り返され、入力クロック信号ＣＫＩの立ち下がりは、Ｄ１４の遅延ユニットで折り返される。すなわち、出力クロック信号ＣＫＯには、入力クロック信号ＣＫＩの立ち上がりが遅延ユニット２５１の１２個分の遅延だけ遅延した信号が出力される。これは入力クロック信号ＣＫＩのサイクル時間と一致する。また、入力クロック信号ＣＫＩの立ち下がりが遅延ユニット２５１の１４個分の遅延だけ遅延した信号が出力される。【００９８】
以降、サイクル０からサイクル３の動作を繰り返すことで、分周比Ｎ／Ｍ＝３／４の分周を実現する。このとき、出力クロック信号ＣＫＯのサイクル時間（立ち上がりエッジ間の間隔）は、入力クロック信号ＣＫＩのサイクル時間の、１／Ｎ×Ｍ＝Ｍ／Ｎ＝４／３倍で一定である。【００９９】
さらに、本実施例では、図１０からも明らかなように、入力クロック信号ＣＫＩの立ち上がりと立ち下がりとで異なる遅延を適切に付加するので、入力クロック信号ＣＫＩのｄｕｔｙ比が５０％であれば、出力クロック信号ＣＫＯのｄｕｔｙ比も５０％になるという特徴がある。【０１００】
以上説明したように、本実施例によるクロック分周回路は、可変遅延回路２５０を適切に制御することにより、入力クロック信号ＣＫＩのエッジ以外のタイミングでエッジを生成するので、サイクル時間及びｄｕｔｙ比が一定の有理数分周クロック信号を生成することができる。【０１０１】
また、本実施例による可変遅延回路２５０は、立ち上がりと立ち下がりで異なる遅延設定が可能であるが、遅延制御信号は各サイクルに高々一度設定すればよい。そのため、本実施例による可変遅延回路はタイミング設計が容易であるという特徴がある。【０１０２】
この出願は、２００６年１１月１０日に出願された日本出願特願２００６−３０５０７５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図面の簡単な説明】
【０１０３】
【図１】本発明の第１の実施例に係るクロック信号分周回路の構成を示すブロック図である。
【図２】本発明の第１の実施例に係る可変遅延回路の回路図である。
【図３】本発明の第１の実施例に係る可変遅延制御回路の回路図である。
【図４】本発明の第１の実施例に係る可変遅延制御回路の動作を示す第１のタイミング図である。
【図５】本発明の第１の実施例に係る可変遅延制御回路の動作を示す第２のタイミング図である。
【図６】本発明の第１の実施例に係る可変遅延回路の動作を模式的に示す図である。
【図７】本発明の第２の実施例に係るクロック信号分周回路の構成を示すブロック図である。
【図８】本発明の第２の実施例に係る可変遅延制御回路の回路図である。
【図９】本発明の第２の実施例に係る可変遅延回路の回路図である。
【図１０】本発明の第２の実施例に係る可変遅延制御回路の動作を示すタイミング図である。
【図１１】本発明の第２の実施例に係る可変遅延回路の動作を模式的に示す図である。
【符号の説明】
【０１０４】
１００、１５０    可変遅延制御回路
１０１    可変遅延制御信号
１１０    遅延制御値計算回路
１１１、１４１    加算器
１１３    大小比較器
１１５、１１６    セレクタ回路
１１７、１１８、１４３    フリップフロップ回路
１２０    乗算器
１２１    カウンタ回路
１３０    遅延計算値
１３１    遅延計算値補正値
１３２    遅延基準値
１４０    立ち下がり遅延補正回路
１４２    １／２乗算器
１５１    立ち上がり遅延制御信号
１５２    立ち下がり遅延制御信号
２００、２５０    可変遅延回路
２０１、２５１    遅延ユニット
２０５、２０７、２５５、２５７    ＡＮＤ回路
２０６、２５６    ＮＡＮＤ回路
２１０、２６０    入力マスク信号
２１１、２６１    折り返し制御信号
２１２、２６２    往路出力信号
２１３、２６３    復路出力信号
２２０    デコード回路
２２１、２３０、２７２    インバータ回路
２７０    立ち上がり遅延デコード回路
２７１    立ち下がり遅延デコード回路
２７３    ＯＲ回路
３００    位相比較器
３０１    位相比較結果信号
ＣＫＩ    入力クロック信号
ＣＫＯ    出力クロック信号
ＩＮＩ    初期化情報
【図１】
2008056551.tif 000003
【図２】
2008056551.tif 000004
【図３】
2008056551.tif 000005
【図４】
2008056551.tif 000006
【図５】
2008056551.tif 000007
【図６】
2008056551.tif 000008
【図７】
2008056551.tif 000009
【図８】
2008056551.tif 000010
【図９】
2008056551.tif 000011
【図１０】
2008056551.tif 000012
【図１１】
2008056551.tif 000013
【国際調査報告】
2008056551.tif 000014
2008056551.tif 000015