(57)【特許請求の範囲】
【請求項１】
入力クロックの１サイクル毎に、前記入力クロックの遅延値を変化させることにより、出力クロックの周波数を一定の変調周期で変調するスペクトラム拡散クロックジェネレータであって、
直列に接続された複数の遅延セルを有し、前記入力クロックの遅延値を変更する遅延段数選択信号に対応する段数の前記遅延セルにより間引き出力クロックを遅延し、前記出力クロックとして出力する遅延ラインと、
前記出力クロックの変調周期および変調度に応じてあらかじめ設定された、出力周波数がダウンスプレッドの出力クロックを生成する変調パターンに基づいて、前記入力クロックの１サイクル毎に、前記遅延段数選択信号を生成する遅延段数設定回路、前記変調パターンに基づいて算出される、１変調周期に含まれる前記出力クロックのサイクル数Ｍおよび変調ステップ幅ΔＴに基づいて、前記遅延ラインにおける累積遅延最大値Ｄｍａｘを算出する累積遅延最大値算出回路、および、前記出力クロックのサイクル数Ｍおよび前記入力クロックの間引き数Ｕに基づいて、前記入力クロックを間引く期間を表す間引きタイミング信号を生成する間引きタイミング信号生成回路を有する遅延ライン制御部と、
前記入力クロックの周期を算出する入力クロック周期算出部と、
前記入力クロックの周期および前記遅延ラインにおける累積遅延最大値Ｄｍａｘに基づいて、前記入力クロックの間引き数Ｕを算出するクロック間引き数算出部と、
前記間引きタイミング信号がアサートされた期間の前記入力クロックを間引き、前記間引き出力クロックとして出力するクロック間引き部とを備え、
前記遅延セルは、複数の基本遅延セルを直列に接続して構成され、１段の前記基本遅延セルによる遅延値はＤ０であり、１段の前記遅延セルによる遅延値は、前記直列に接続された基本遅延セルの個数と前記１段の基本遅延セルの遅延値Ｄ０とを乗算した値と等しい時間であることを特徴とするスペクトラム拡散クロックジェネレータ。
【請求項２】
前記遅延段数設定回路は、
前記入力クロックのサイクル数をアップカウントしたカウント値を出力する制御カウンタと、
前記入力クロックの１サイクル毎に、前記変調パターンに基づいて、前記制御カウンタのカウント値に対応する、１変調周期に含まれる、前記出力クロックの各々のサイクルの段数差分を算出する段数差分算出回路と、
前記入力クロックの１サイクル毎に、１変調周期に含まれる、前記出力クロックの全てのサイクルの段数差分を累積加算して、各々のサイクルにおける累積遅延段数を算出する累積遅延段数算出回路と、
各々のサイクルにおける前記累積遅延段数をデコードして、前記累積遅延段数に対応する前記遅延段数選択信号を生成するデコーダとを備える請求項１に記載のスペクトラム拡散クロックジェネレータ。
【請求項３】
前記入力クロック周期算出部は、前記入力クロックの１周期の期間のうち、前記基本遅延セルの遅延値Ｄ０の整数倍に相当する期間を有効期間とし、残りの期間を無効期間として切り捨てて、前記入力クロックの１周期の期間が、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出するものである請求項１または２に記載のスペクトラム拡散クロックジェネレータ。
【請求項４】
前記累積遅延最大値算出回路は、前記累積遅延最大値Ｄｍａｘを、Ｄｍａｘ＝（Ｍ／２）＊（Ｍ／２）＊ΔＴにより算出するものである請求項１〜３のいずれか１項に記載のスペクトラム拡散クロックジェネレータ。
【請求項５】
前記累積遅延最大値算出回路は、前記変調ステップ幅ΔＴが、直列に接続されたＣ段の前記基本遅延セルによる遅延値Ｃ＊Ｄ０に相当する場合、前記累積遅延最大値Ｄｍａｘが、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第２の倍数Ｑを、Ｑ＝（Ｍ／２）＊（Ｍ／２）＊Ｃにより算出するものである請求項３に記載のスペクトラム拡散クロックジェネレータ。
【請求項６】
前記クロック間引き数算出部は、前記間引き数Ｕを、Ｕ＝Ｑ／Ｐの小数点以下の値を切り上げることにより算出するものである請求項５に記載のスペクトラム拡散クロックジェネレータ。
【請求項７】
前記間引きタイミング信号生成回路は、前記制御カウンタのカウント値が、０から（Ｍ−１）にアップカウントされたサイクルの入力クロックが前記遅延ラインに入力された後、前記間引きタイミング信号をアサートし、前記制御カウンタのカウント値が、（Ｍ−１）から（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックが間引かれた後、前記間引きタイミング信号をネゲートするものであり、
前記制御カウンタは、前記制御カウンタのカウント値が（Ｍ−１）＋Ｕにアップカウントされたサイクルの次のサイクルの入力クロックに同期して０に初期化されるものである請求項２に記載のスペクトラム拡散クロックジェネレータ。
【請求項８】
入力クロックの１サイクル毎に、前記入力クロックの遅延値を変化させることにより、出力クロックの周波数を一定の変調周期で変調するスペクトラム拡散クロックジェネレータであって、
直列に接続された複数の基本遅延セルを有し、前記入力クロックの遅延値を変更するプリ遅延段数選択信号に対応する段数の前記基本遅延セルにより間引き出力クロックを遅延し、プリ遅延出力クロックとして出力するプリ遅延ラインと、
直列に接続された複数の遅延セルを有し、前記入力クロックの遅延値を変更する遅延段数選択信号に対応する段数の前記遅延セルにより間引き出力クロックを遅延し、前記出力クロックとして出力する遅延ラインと、
１変調周期毎に、前記プリ遅延段数選択信号を生成するプリ遅延段数設定回路と、前記出力クロックの変調周期および変調度に応じてあらかじめ設定された、出力周波数がダウンスプレッドの出力クロックを生成する変調パターンに基づいて、前記入力クロックの１サイクル毎に、前記遅延段数選択信号を生成する遅延段数設定回路、前記変調パターンに基づいて、１変調周期毎に、前記プリ遅延段数選択信号を生成するプリ遅延段数設定回路、前記変調パターンに基づいて算出される、１変調周期に含まれる前記出力クロックのサイクル数Ｍおよび変調ステップ幅ΔＴに基づいて、前記遅延ラインにおける累積遅延最大値Ｄｍａｘを算出する累積遅延最大値算出回路、および、前記出力クロックのサイクル数Ｍおよび前記入力クロックの間引き数の初期値Ｕ０から算出される、現在の変調周期の間引き数Ｕに基づいて、前記入力クロックを間引く期間を表す間引きタイミング信号を生成する間引きタイミング信号生成回路を有する遅延ライン制御部と、
前記入力クロックの周期を算出する入力クロック周期算出部と、
前記入力クロックの周期および前記遅延ラインにおける累積遅延最大値Ｄｍａｘに基づいて、前記入力クロックの間引き数の初期値Ｕ０を算出するクロック間引き数算出部と、
前記間引きタイミング信号がアサートされた期間の前記入力クロックを間引き、前記間引き出力クロックとして出力するクロック間引き部とを備え、
前記遅延セルは、複数の前記基本遅延セルを直列に接続して構成され、１段の前記基本遅延セルによる遅延値はＤ０であり、１段の前記遅延セルによる遅延値は、前記直列に接続された基本遅延セルの個数と前記１段の基本遅延セルの遅延値Ｄ０とを乗算した値と等しい時間であることを特徴とするスペクトラム拡散クロックジェネレータ。
【請求項９】
前記遅延セルは、複数の前記基本遅延セルを直列に接続して構成され、１段の前記遅延セルによる遅延値は、前記変調ステップ幅ΔＴに等しい時間に設定されている請求項８に記載のスペクトラム拡散クロックジェネレータ。
【請求項１０】
前記プリ遅延段数設定回路は、
前記累積遅延最大値Ｄｍａｘのうち、前記累積遅延最大値Ｄｍａｘに含まれる入力クロックの１周期の期間の個数に相当する期間を除いた残りの期間を表すプリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥを、ＴＲＩＭ＿ＢＡＳＥ＝Ｑ−Ｐ＊Ｕにより算出するプリ遅延基本段数算出回路と、
１変調周期毎に、プリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥと、現在の変調周期におけるプリ遅延段数とを加算して、次の変調周期におけるプリ遅延段数ＴＲＩＭを算出するプリ遅延段数算出回路と、
各々の変調周期における前記プリ遅延段数ＴＲＩＭをデコードして、前記プリ遅延段数ＴＲＩＭに対応する前記プリ遅延段数選択信号を生成する第１のデコーダとを備える請求項８または９に記載のスペクトラム拡散クロックジェネレータ。
【請求項１１】
前記遅延段数設定回路は、
前記入力クロックのサイクル数をアップカウントしたカウント値を出力する制御カウンタと、
前記入力クロックの１サイクル毎に、前記変調パターンに基づいて、前記制御カウンタのカウント値に対応する、１変調周期に含まれる、前記出力クロックの各々のサイクルの段数差分を算出する段数差分算出回路と、
前記入力クロックの１サイクル毎に、１変調周期に含まれる、前記出力クロックの全てのサイクルの段数差分を累積加算して、各々のサイクルにおける累積遅延段数を算出する累積遅延段数算出回路と、
各々のサイクルにおける前記累積遅延段数をデコードして、前記累積遅延段数に対応する前記遅延段数選択信号を生成する第２のデコーダとを備える請求項１０に記載のスペクトラム拡散クロックジェネレータ。
【請求項１２】
前記入力クロック周期算出部は、前記入力クロックの１周期の期間のうち、前記基本遅延セルの遅延値Ｄ０の整数倍に相当する期間を有効期間とし、残りの期間を無効期間として切り捨てて、前記入力クロックの１周期の期間が、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出するものである請求項８〜１１のいずれか１項に記載のスペクトラム拡散クロックジェネレータ。
【請求項１３】
前記累積遅延最大値算出回路は、前記累積遅延最大値Ｄｍａｘを、Ｄｍａｘ＝（Ｍ／２）＊（Ｍ／２）＊ΔＴにより算出するものである請求項８〜１１のいずれか１項に記載のスペクトラム拡散クロックジェネレータ。
【請求項１４】
前記累積遅延最大値算出回路は、前記変調ステップ幅ΔＴが、直列に接続されたＣ段の前記基本遅延セルによる遅延値Ｃ＊Ｄ０に相当する場合、前記累積遅延最大値Ｄｍａｘが、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第２の倍数Ｑを、Ｑ＝（Ｍ／２）＊（Ｍ／２）＊Ｃにより算出するものである請求項１２に記載のスペクトラム拡散クロックジェネレータ。
【請求項１５】
前記クロック間引き数算出部は、前記間引き数の初期値Ｕ０を、Ｕ０＝Ｑ／Ｐの小数点以下の値を切り捨てることにより算出するものである請求項１４に記載のスペクトラム拡散クロックジェネレータ。
【請求項１６】
前記入力クロック周期算出部は、前記入力クロックの１周期の期間のうち、前記基本遅延セルの遅延値Ｄ０の整数倍に相当する期間を有効期間とし、残りの期間を無効期間として切り捨てて、前記入力クロックの１周期の期間が、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出するものであり、
前記間引きタイミング信号生成回路は、前記制御カウンタのカウント値が、０から（Ｍ−１）にアップカウントされたサイクルの入力クロックが前記遅延ラインに入力された後、前記間引きタイミング信号をアサートし、前記現在の変調周期におけるプリ遅延段数ＴＲＩＭが前記第１の倍数Ｐ以下の場合、前記制御カウンタのカウント値が、（Ｍ−１）から（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックが間引かれた後、前記間引きタイミング信号をネゲートするものであり、
前記プリ遅延段数算出回路は、前記間引きタイミング信号がネゲートされた後、前記プリ遅延段数ＴＲＩＭを、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥに更新するものであり、
前記制御カウンタは、前記制御カウンタのカウント値が（Ｍ−１）＋Ｕにアップカウントされたサイクルの次のサイクルの入力クロックに同期して０に初期化されるものである請求項１１に記載のスペクトラム拡散クロックジェネレータ。
【請求項１７】
前記入力クロック周期算出部は、前記入力クロックの１周期の期間のうち、前記基本遅延セルの遅延値Ｄ０の整数倍に相当する期間を有効期間とし、残りの期間を無効期間として切り捨てて、前記入力クロックの１周期の期間が、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出するものであり、
前記間引きタイミング信号生成回路は、前記制御カウンタのカウント値が、０から（Ｍ−１）にアップカウントされたサイクルの入力クロックが前記遅延ラインに入力された後、前記間引きタイミング信号をアサートし、前記現在の変調周期におけるプリ遅延段数ＴＲＩＭが前記第１の倍数Ｐよりも大きい場合、前記間引き数Ｕを、Ｕ＝Ｕ＋１に更新し、前記制御カウンタのカウント値が、（Ｍ−１）から（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックが間引かれた後、前記間引きタイミング信号をネゲートするものであり、
前記プリ遅延段数算出回路は、前記間引きタイミング信号がネゲートされた後、前記プリ遅延段数ＴＲＩＭを、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥ−Ｐに更新するものであり、
前記制御カウンタは、前記制御カウンタのカウント値が（Ｍ−１）＋Ｕにアップカウントされたサイクルの次のサイクルの入力クロックに同期して０に初期化されるものである請求項１１に記載のスペクトラム拡散クロックジェネレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１サイクル毎に、入力クロックの遅延値を変化させることにより、出力クロックの周波数を変調するスペクトラム拡散クロックジェネレータ（以下、ＳＳＣＧ（Spread Spectrum Clock Generator）ともいう）に関するものである。
【背景技術】
【０００２】
図１５は、従来のＳＳＣＧの構成を表す一例のブロック図である。同図に示すＳＳＣＧ７０は、特許文献１、２に記載されたディジタルＳＳＣＧであり、遅延ライン７２と、遅延ライン制御部７４とによって構成されている。
【０００３】
ＳＳＣＧ７０では、遅延ライン制御部７４により、出力クロックＣＬＫＯＵＴの変調周期および変調度に応じてあらかじめ設定された、出力周波数がセンタースプレッドの出力クロックＣＬＫＯＵＴを生成する変調パターンに従って、入力クロックＣＬＫＩＮの１サイクル毎に、入力クロックＣＬＫＩＮの遅延値を順次変更する遅延段数選択信号Ｓ［ｎ：０］が生成される。
【０００４】
遅延ライン７２は、図１６に示すように、直列に接続された複数の遅延セル７６［ｎ：０］を備えており、入力クロックＣＬＫＩＮの１サイクル毎に、遅延段数選択信号Ｓ［ｎ：０］に対応する段数の遅延セル７６［ｎ：０］により入力クロックＣＬＫＩＮを遅延し、出力クロックＣＬＫＯＵＴとして出力する。このように、入力クロックＣＬＫＩＮの遅延値を変化させることにより、出力クロックＣＬＫＯＵＴの周波数（すなわち、周期）が一定の変調周期で変調される。
【０００５】
ＳＳＣＧ７０には、入力クロックＣＬＫＩＮの１サイクル毎に、出力クロックＣＬＫＯＵＴの周波数を周期的に変調することにより、電磁干渉（ＥＭＩ（Electro-Magnetic Interference））を低減させることができるという効果がある。
【０００６】
ＳＳＣＧ７０の変調プロファイル、つまり、出力クロックＣＬＫＯＵＴの周期がどのように変調されるかは、変調周期と変調度によって決定される。変調周期は変調パターンの周期を表し、ＳＳＣＧ７０の内部では、１変調周期に含まれる出力クロックＣＬＫＯＵＴのサイクル数Ｍで規定される。また、変調度は入力クロックＣＬＫＩＮの周期に対する出力クロックＣＬＫＯＵＴの周期の変化分の割合を表し、ＳＳＣＧ７０の内部では、１サイクル当たりの変調ステップ幅ΔＴで規定される。
【０００７】
１サイクル目の遅延値が０の場合、そのサイクルの出力クロックＣＬＫＯＵＴの周期は、入力クロックＣＬＫＩＮの周期Ｔｉｎとなる。また、２サイクル目の遅延値がΔＴの場合、出力クロックＣＬＫＯＵＴの周期はＴｉｎ＋ΔＴとなり、３サイクル目の遅延値が２ΔＴの場合、出力クロックＣＬＫＯＵＴの周期はＴｉｎ＋２・ΔＴとなる。つまり、ＳＳＣＧ７０では、１サイクル毎に、前のサイクルの出力クロックＣＬＫＯＵＴの遅延値とそのサイクルの出力クロックＣＬＫＯＵＴの遅延値との差分が、出力クロックＣＬＫＯＵＴの周期の変化分となる。
【０００８】
ここで、入力クロックＣＬＫＩＮの周期Ｔｉｎ［ｎｓ］、出力クロックＣＬＫＯＵＴの変調周期Ｔｍｏｄ［ｎｓ］および変調度Ｒ［％］とすると、ＳＳＣＧ７０では、出力クロックＣＬＫＯＵＴのサイクル数Ｍおよび変調ステップ幅ΔＴは、式（１）により算出される。
Ｍ＝Ｔｍｏｄ／Ｔｉｎ
ΔＴ＝（Ｔｉｎ＊Ｒ）／（Ｍ／４）  …  式（１）
【０００９】
この場合、変調パターンに従って、出力クロックＣＬＫＯＵＴの周期Ｔｏｕｔ［ｎｓ］が、式（２）により算出される範囲で変化するセンタースプレッドの変調プロファイルが実現される。
Ｔｏｕｔ＝Ｔｉｎ−ΔＴ＊（Ｍ／４）〜Ｔｉｎ＋ΔＴ＊（Ｍ／４）  …  式（２）
【００１０】
例えば、入力クロックＣＬＫＩＮの周期Ｔｉｎ＝１０ｎｓ、出力クロックＣＬＫＯＵＴの変調周期Ｔｍｏｄ＝４４０ｎｓおよび変調度Ｒ＝±１１％の場合、出力クロックＣＬＫＯＵＴのサイクル数Ｍおよび変調ステップ幅ΔＴは、式（３）の通りとなる。
出力クロックＣＬＫＯＵＴのサイクル数Ｍ＝４４０／１０＝４４
変調ステップ幅ΔＴ＝（１０＊０．１１）／（４４／４）＝０．１ｎｓ  …  式（３）
【００１１】
続いて、図１７（Ａ）、（Ｂ）および（Ｃ）は、それぞれ、図１５に示す従来のＳＳＣＧの出力クロックＣＬＫＯＵＴの出力周波数、出力周期および累積遅延値の変化を表す一例のグラフである。これらのグラフは、上記数値例の場合の出力クロックＣＬＫＯＵＴの出力周波数、出力周期および累積遅延値を表すものであり、それぞれの縦軸は、出力周波数［ＭＨｚ］、出力周期［ｎｓ］および累積遅延値［ΔＴ］を表し、横軸は、時間［ｔ］を表す。
【００１２】
上記数値例の場合、出力クロックＣＬＫＯＵＴの出力周波数は、同図（Ａ）のグラフに示すように、入力クロックＣＬＫＩＮの周波数＝１００ＭＨｚを中心として、約９０．１ＭＨｚから約１１２．４ＭＨｚの範囲で１サイクル毎に変化（増減）する。
つまり、ダウンスプレッドの期間に、１００ＭＨｚから順次減少して、１変調周期の１／４のタイミングで最小値の約９０．１ＭＨｚとなり、最小値から順次増加して、１変調周期の１／２のタイミングで１００ＭＨｚに戻る。続いて、アップスプレッドの期間に、１００ＭＨｚから順次増加して、１変調周期の３／４のタイミングで最大値の約１１２．４ＭＨｚとなり、最大値から順次減少して、１変調周期のタイミングで１００ＭＨｚに戻る。
【００１３】
一方、出力クロックＣＬＫＯＵＴの出力周期は、同図（Ｂ）のグラフに示すように、入力クロックＣＬＫＩＮの周期＝１０ｎｓを中心として、８．９ｎｓから１１．１ｎｓの範囲で１サイクル毎に変化（増減）する。
つまり、ダウンスプレッドの期間に、１０ｎｓから順次増加して、１変調周期の１／４のタイミングで最大値の１１．１ｎｓとなり、最大値から順次減少して、１変調周期の１／２のタイミングで１０ｎｓに戻る。続いて、アップスプレッドの期間に、１０ｎｓから順次減少して、１変調周期の３／４のタイミングで最小値の８．９ｎｓとなり、最小値から順次増加して、１変調周期のタイミングで１０ｎｓに戻る。
【００１４】
出力クロックＣＬＫＯＵＴの累積遅延値は、同図（Ｃ）に示すように、０＊ΔＴから１２１＊ΔＴの範囲で１サイクル毎に変化（増減）する。
つまり、ダウンスプレッドの期間に、０＊ΔＴから順次増加して、１変調周期の１／２のタイミングで最大値の１２１＊ΔＴとなり、アップスプレッドの期間に、最大値から順次減少して、１変調周期のタイミングで０＊ΔＴに戻る。
【００１５】
続いて、表１は、上記数値例の場合における、時間［ｎｓ］、入力クロックＣＬＫＩＮのサイクル数［＃］、段数差分［ΔＴ］、累積遅延段数［ΔＴ］、および、遅延段数選択信号Ｓ［ｎ：０］を表したものである。
【００１６】
段数差分は、１つ前のサイクルにおいて、入力クロックＣＬＫＩＮを遅延するために使用された遅延セル７６の段数と、現在のサイクルにおいて、入力クロックＣＬＫＩＮを遅延するために使用する遅延セル７６の段数との差分を表す。
累積遅延段数は、出力クロックＣＬＫＯＵＴの１変調周期に含まれる出力クロックＣＬＫＯＵＴの各々のサイクルにおいて、入力クロックＣＬＫＩＮを遅延するために使用される遅延セル７６の段数を表す。
【００１７】
【表１】
0006423709.tif 000002
【００１８】
段数差分を見ると、ＳＳＣＧ７０では、センタースプレッドの変調プロファイルが実現されていることが分かる。また、累積遅延段数を見ると、ＳＳＣＧ７０では、出力クロックＣＬＫＯＵＴの１変調周期において、累積遅延段数が最小値の０から増加して最大値の１２１となり、その後、最大値の１２１から減少して最小値の０に戻ることが分かる。つまり、入力クロックＣＬＫＩＮは１変調周期の最後で遅延されていないため、センタースプレッドの動作を連続して行うことができる。
【００１９】
センタースプレッドの変調プロファイルは、ＳＳＣＧ７０の出力クロックＣＬＫＯＵＴで動作する回路に対し、ＳＳＣＧ７０を使用しない場合よりも高いクロック周波数での動作を要求するため、回路設計が難しくなり、回路規模の増加を招く。
また、ＳＳＣＧ７０を搭載予定で開発中のＬＳＩと一緒に使用する既存ＬＳＩも、ＳＳＣＧ７０を使用しない場合よりも高いクロック周波数での動作が要求されるため、動作周波数の上限を超え、既存ＬＳＩを使用できないという問題が発生する場合がある。
【００２０】
この場合、アナログＳＳＣＧで実現されているダウンスプレッドの変調プロファイルをディジタルＳＳＣＧ７０で実現することが考えられる。
しかし、従来のディジタルＳＳＣＧ７０は、同図（Ｃ）に示すように、ダウンスプレッド動作で最大値まで増加した累積遅延値を、アップスプレッド動作で減少させて最小値とした後、次の変調周期へ移行する必要がある。そのため、ダウンスプレッド動作のみを連続して行わせることが難しいという問題点がある。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００８−２２７６１３号公報
【特許文献２】特開２０１１−１４６７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
本発明の目的は、前記従来技術の問題点を解消し、ダウンスプレッド動作を連続して行うことができるスペクトラム拡散クロックジェネレータを提供することにある。
【課題を解決するための手段】
【００２３】
上記目的を達成するために、本発明は、入力クロックの１サイクル毎に、前記入力クロックの遅延値を変化させることにより、出力クロックの周波数を一定の変調周期で変調するスペクトラム拡散クロックジェネレータであって、
直列に接続された複数の遅延セルを有し、前記入力クロックの遅延値を変更する遅延段数選択信号に対応する段数の前記遅延セルにより間引き出力クロックを遅延し、前記出力クロックとして出力する遅延ラインと、
前記出力クロックの変調周期および変調度に応じてあらかじめ設定された、出力周波数がダウンスプレッドの出力クロックを生成する変調パターンに基づいて、前記入力クロックの１サイクル毎に、前記遅延段数選択信号を生成する遅延段数設定回路、前記変調パターンに基づいて算出される、１変調周期に含まれる前記出力クロックのサイクル数Ｍおよび変調ステップ幅ΔＴに基づいて、前記遅延ラインにおける累積遅延最大値Ｄｍａｘを算出する累積遅延最大値算出回路、および、前記出力クロックのサイクル数Ｍおよび前記入力クロックの間引き数Ｕに基づいて、前記入力クロックを間引く期間を表す間引きタイミング信号を生成する間引きタイミング信号生成回路を有する遅延ライン制御部と、
前記入力クロックの周期を算出する入力クロック周期算出部と、
前記入力クロックの周期および前記遅延ラインにおける累積遅延最大値Ｄｍａｘに基づいて、前記入力クロックの間引き数Ｕを算出するクロック間引き数算出部と、
前記間引きタイミング信号がアサートされた期間の前記入力クロックを間引き、前記間引き出力クロックとして出力するクロック間引き部とを備え、
前記遅延セルは、複数の基本遅延セルを直列に接続して構成され、１段の前記基本遅延セルによる遅延値はＤ０であり、１段の前記遅延セルによる遅延値は、前記直列に接続された基本遅延セルの個数と前記１段の基本遅延セルの遅延値Ｄ０とを乗算した値と等しい時間であることを特徴とするスペクトラム拡散クロックジェネレータを提供するものである。
【００２４】
ここで、前記遅延段数設定回路は、
前記入力クロックのサイクル数をアップカウントしたカウント値を出力する制御カウンタと、
前記入力クロックの１サイクル毎に、前記変調パターンに基づいて、前記制御カウンタのカウント値に対応する、１変調周期に含まれる、前記出力クロックの各々のサイクルの段数差分を算出する段数差分算出回路と、
前記入力クロックの１サイクル毎に、１変調周期に含まれる、前記出力クロックの全てのサイクルの段数差分を累積加算して、各々のサイクルにおける累積遅延段数を算出する累積遅延段数算出回路と、
各々のサイクルにおける前記累積遅延段数をデコードして、前記累積遅延段数に対応する前記遅延段数選択信号を生成するデコーダとを備えることが好ましい。
【００２５】
また、前記入力クロック周期算出部は、前記入力クロックの１周期の期間のうち、前記基本遅延セルの遅延値Ｄ０の整数倍に相当する期間を有効期間とし、残りの期間を無効期間として切り捨てて、前記入力クロックの１周期の期間が、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出するものであることが好ましい。
【００２６】
また、前記累積遅延最大値算出回路は、前記累積遅延最大値Ｄｍａｘを、Ｄｍａｘ＝（Ｍ／２）＊（Ｍ／２）＊ΔＴにより算出するものであることが好ましい。
【００２７】
また、前記累積遅延最大値算出回路は、前記変調ステップ幅ΔＴが、直列に接続されたＣ段の前記基本遅延セルによる遅延値Ｃ＊Ｄ０に相当する場合、前記累積遅延最大値Ｄｍａｘが、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第２の倍数Ｑを、Ｑ＝（Ｍ／２）＊（Ｍ／２）＊Ｃにより算出するものであることが好ましい。
【００２８】
また、前記クロック間引き数算出部は、前記間引き数Ｕを、Ｕ＝Ｑ／Ｐの小数点以下の値を切り上げることにより算出するものであることが好ましい。
【００２９】
また、前記間引きタイミング信号生成回路は、前記制御カウンタのカウント値が、０から（Ｍ−１）にアップカウントされたサイクルの入力クロックが前記遅延ラインに入力された後、前記間引きタイミング信号をアサートし、前記制御カウンタのカウント値が、（Ｍ−１）から（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックが間引かれた後、前記間引きタイミング信号をネゲートするものであり、
前記制御カウンタは、前記制御カウンタのカウント値が（Ｍ−１）＋Ｕにアップカウントされたサイクルの次のサイクルの入力クロックに同期して０に初期化されるものであることが好ましい。
【００３０】
また、本発明は、入力クロックの１サイクル毎に、前記入力クロックの遅延値を変化させることにより、出力クロックの周波数を一定の変調周期で変調するスペクトラム拡散クロックジェネレータであって、
直列に接続された複数の基本遅延セルを有し、前記入力クロックの遅延値を変更するプリ遅延段数選択信号に対応する段数の前記基本遅延セルにより間引き出力クロックを遅延し、プリ遅延出力クロックとして出力するプリ遅延ラインと、
直列に接続された複数の遅延セルを有し、前記入力クロックの遅延値を変更する遅延段数選択信号に対応する段数の前記遅延セルにより間引き出力クロックを遅延し、前記出力クロックとして出力する遅延ラインと、
１変調周期毎に、前記プリ遅延段数選択信号を生成するプリ遅延段数設定回路と、前記出力クロックの変調周期および変調度に応じてあらかじめ設定された、出力周波数がダウンスプレッドの出力クロックを生成する変調パターンに基づいて、前記入力クロックの１サイクル毎に、前記遅延段数選択信号を生成する遅延段数設定回路、前記変調パターンに基づいて、１変調周期毎に、前記プリ遅延段数選択信号を生成するプリ遅延段数設定回路、前記変調パターンに基づいて算出される、１変調周期に含まれる前記出力クロックのサイクル数Ｍおよび変調ステップ幅ΔＴに基づいて、前記遅延ラインにおける累積遅延最大値Ｄｍａｘを算出する累積遅延最大値算出回路、および、前記出力クロックのサイクル数Ｍおよび前記入力クロックの間引き数の初期値Ｕ０から算出される、現在の変調周期の間引き数Ｕに基づいて、前記入力クロックを間引く期間を表す間引きタイミング信号を生成する間引きタイミング信号生成回路を有する遅延ライン制御部と、
前記入力クロックの周期を算出する入力クロック周期算出部と、
前記入力クロックの周期および前記遅延ラインにおける累積遅延最大値Ｄｍａｘに基づいて、前記入力クロックの間引き数の初期値Ｕ０を算出するクロック間引き数算出部と、
前記間引きタイミング信号がアサートされた期間の前記入力クロックを間引き、前記間引き出力クロックとして出力するクロック間引き部とを備え、
前記遅延セルは、複数の前記基本遅延セルを直列に接続して構成され、１段の前記基本遅延セルによる遅延値はＤ０であり、１段の前記遅延セルによる遅延値は、前記直列に接続された基本遅延セルの個数と前記１段の基本遅延セルの遅延値Ｄ０とを乗算した値と等しい時間であることを特徴とするスペクトラム拡散クロックジェネレータを提供する。
【００３１】
ここで、前記遅延セルは、複数の前記基本遅延セルを直列に接続して構成され、１段の前記遅延セルによる遅延値は、前記変調ステップ幅ΔＴに等しい時間に設定されていることが好ましい。
【００３２】
また、前記プリ遅延段数設定回路は、
前記累積遅延最大値Ｄｍａｘのうち、前記累積遅延最大値Ｄｍａｘに含まれる入力クロックの１周期の期間の個数に相当する期間を除いた残りの期間を表すプリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥを、ＴＲＩＭ＿ＢＡＳＥ＝Ｑ−Ｐ＊Ｕにより算出するプリ遅延基本段数算出回路と、
１変調周期毎に、プリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥと、現在の変調周期におけるプリ遅延段数とを加算して、次の変調周期におけるプリ遅延段数ＴＲＩＭを算出するプリ遅延段数算出回路と、
各々の変調周期における前記プリ遅延段数ＴＲＩＭをデコードして、前記プリ遅延段数ＴＲＩＭに対応する前記プリ遅延段数選択信号を生成する第１のデコーダとを備えることが好ましい。
【００３３】
また、前記遅延段数設定回路は、
前記入力クロックのサイクル数をアップカウントしたカウント値を出力する制御カウンタと、
前記入力クロックの１サイクル毎に、前記変調パターンに基づいて、前記制御カウンタのカウント値に対応する、１変調周期に含まれる、前記出力クロックの各々のサイクルの段数差分を算出する段数差分算出回路と、
前記入力クロックの１サイクル毎に、１変調周期に含まれる、前記出力クロックの全てのサイクルの段数差分を累積加算して、各々のサイクルにおける累積遅延段数を算出する累積遅延段数算出回路と、
各々のサイクルにおける前記累積遅延段数をデコードして、前記累積遅延段数に対応する前記遅延段数選択信号を生成する第２のデコーダとを備えることが好ましい。
【００３４】
また、前記入力クロック周期算出部は、前記入力クロックの１周期の期間のうち、前記基本遅延セルの遅延値Ｄ０の整数倍に相当する期間を有効期間とし、残りの期間を無効期間として切り捨てて、前記入力クロックの１周期の期間が、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出するものであることが好ましい。
【００３５】
また、前記累積遅延最大値算出回路は、前記累積遅延最大値Ｄｍａｘを、Ｄｍａｘ＝（Ｍ／２）＊（Ｍ／２）＊ΔＴにより算出するものであることが好ましい。
【００３６】
また、前記累積遅延最大値算出回路は、前記変調ステップ幅ΔＴが、直列に接続されたＣ段の前記基本遅延セルによる遅延値Ｃ＊Ｄ０に相当する場合、前記累積遅延最大値Ｄｍａｘが、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第２の倍数Ｑを、Ｑ＝（Ｍ／２）＊（Ｍ／２）＊Ｃにより算出するものであることが好ましい。
【００３７】
また、前記クロック間引き数算出部は、前記間引き数の初期値Ｕ０を、Ｕ０＝Ｑ／Ｐの小数点以下の値を切り捨てることにより算出するものであることが好ましい。
【００３８】
また、前記入力クロック周期算出部は、前記入力クロックの１周期の期間のうち、前記基本遅延セルの遅延値Ｄ０の整数倍に相当する期間を有効期間とし、残りの期間を無効期間として切り捨てて、前記入力クロックの１周期の期間が、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出するものであり、
前記間引きタイミング信号生成回路は、前記制御カウンタのカウント値が、０から（Ｍ−１）にアップカウントされたサイクルの入力クロックが前記遅延ラインに入力された後、前記間引きタイミング信号をアサートし、前記現在の変調周期におけるプリ遅延段数ＴＲＩＭが前記第１の倍数Ｐ以下の場合、前記制御カウンタのカウント値が、（Ｍ−１）から（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックが間引かれた後、前記間引きタイミング信号をネゲートするものであり、
前記プリ遅延段数算出回路は、前記間引きタイミング信号がネゲートされた後、前記プリ遅延段数ＴＲＩＭを、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥに更新するものであり、
前記制御カウンタは、前記制御カウンタのカウント値が（Ｍ−１）＋Ｕにアップカウントされたサイクルの次のサイクルの入力クロックに同期して０に初期化されるものであることが好ましい。
【００３９】
また、前記入力クロック周期算出部は、前記入力クロックの１周期の期間のうち、前記基本遅延セルの遅延値Ｄ０の整数倍に相当する期間を有効期間とし、残りの期間を無効期間として切り捨てて、前記入力クロックの１周期の期間が、前記基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出するものであり、
前記間引きタイミング信号生成回路は、前記制御カウンタのカウント値が、０から（Ｍ−１）にアップカウントされたサイクルの入力クロックが前記遅延ラインに入力された後、前記間引きタイミング信号をアサートし、前記現在の変調周期におけるプリ遅延段数ＴＲＩＭが前記第１の倍数Ｐよりも大きい場合、前記間引き数Ｕを、Ｕ＝Ｕ＋１に更新し、前記制御カウンタのカウント値が、（Ｍ−１）から（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックが間引かれた後、前記間引きタイミング信号をネゲートするものであり、
前記プリ遅延段数算出回路は、前記間引きタイミング信号がネゲートされた後、前記プリ遅延段数ＴＲＩＭを、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥ−Ｐに更新するものであり、
前記制御カウンタは、前記制御カウンタのカウント値が（Ｍ−１）＋Ｕにアップカウントされたサイクルの次のサイクルの入力クロックに同期して０に初期化されるものであることが好ましい。
【発明の効果】
【００４０】
本発明は、ディジタルＳＳＣＧでダウンスプレッドのみの変調プロファイルを実現するため、センタースプレッドの変調プロファイルを実現する従来のＳＳＣＧに比べ、動作クロック周波数を上げる必要がない。そのため、回路設計を容易にすることができるとともに、回路規模の増加を抑えることができ、既存設計回路、既存ＬＳＩの流用範囲も拡げることができる。
また、本発明は、ダウンスプレッドのみの変調プロファイルを実現するアナログＳＳＣＧと比べた場合、シリコン面積を縮小することができるとともに、専用パッドと専用ピンが不要になるという利点がある。
さらに、本発明は、入力クロックを、基本遅延セルによる遅延値の単位で遅延させることにより、出力クロックの周期を、変調ステップ幅ΔＴの単位で遅延させる場合よりもなめらかに変調する変調プロファイルを実現することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明のＳＳＣＧの構成を表す第１の実施形態のブロック図である。
【図２】図１に示す遅延ラインの構成を表す一例の回路図である。
【図３】図１に示す遅延ライン制御部の構成を表す一例のブロック図である。
【図４】図３に示す遅延段数設定回路の構成を表す一例のブロック図である。
【図５】（Ａ）、（Ｂ）および（Ｃ）は、それぞれ、図１に示す本実施形態のＳＳＣＧの出力クロックの出力周波数、出力周期および累積遅延値を表す一例のグラフ、（Ｄ）は、図１に示す本実施形態のＳＳＣＧの入力クロック、間引きタイミング信号、間引き出力クロック、および、出力クロックの動作を表す一例のタイミングチャートである。
【図６】図１に示すＳＳＣＧの動作を表す一例のフローチャートである。
【図７】図１に示すＳＳＣＧの動作を表す一例のフローチャートである。
【図８】本発明のＳＳＣＧの構成を表す第２の実施形態のブロック図である。
【図９】図８に示すプリ遅延ラインの構成を表す一例の回路図である。
【図１０】図８に示す遅延ライン制御部の構成を表す一例のブロック図である。
【図１１】図１０に示すプリ遅延段数設定回路の構成を表す一例のブロック図である。
【図１２】（Ａ）は、出力クロックの出力周期を表す一例のグラフ、（Ｂ）は、入力クロック、間引きタイミング信号、間引き出力クロック、プリ遅延出力クロック、および、出力クロックの動作を表す一例のタイミングチャートである。
【図１３】図８に示すＳＳＣＧの動作を表す一例のフローチャートである。
【図１４】図８に示すＳＳＣＧの動作を表す一例のフローチャートである。
【図１５】従来のＳＳＣＧの構成を表す一例のブロック図である。
【図１６】図１５に示す遅延ラインの構成を表す一例の回路図である。
【図１７】（Ａ）、（Ｂ）および（Ｃ）は、それぞれ、図１５に示す従来のＳＳＣＧの出力クロックの出力周波数、出力周期および累積遅延値を表す一例のグラフである。
【発明を実施するための形態】
【００４２】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のスペクトラム拡散クロックジェネレータを詳細に説明する。
【００４３】
図１は、本発明のＳＳＣＧの構成を表す第１の実施形態のブロック図である。同図に示すＳＳＣＧ１０は、入力クロックＣＬＫＩＮの１サイクル毎に、入力クロックＣＬＫＩＮの遅延値を変化（増減）させることにより、出力クロックＣＬＫＯＵＴの周波数（周期）を一定の変調周期で変調するものである。
ＳＳＣＧ１０は、遅延ライン１２と、遅延ライン制御部１４と、入力クロック周期算出部１６と、クロック間引き数算出部１８と、クロック間引き部２０とによって構成されている。
【００４４】
遅延ライン１２は、間引き出力クロックＭＣＬＫＯＵＴを、遅延段数選択信号Ｓ［ｎ：０］（ｎは、０以上の整数）に応じて遅延し、出力クロックＣＬＫＯＵＴとして出力するものである。
本実施形態の遅延ライン１２は、図２に示すように、直列に接続された（ｎ＋１）個の遅延セル２２［ｎ：０］と、遅延セル２２［ｎ：０］の各々に対応して設けられた（ｎ＋１）個のＡＮＤ回路２４［ｎ：０］とによって構成されている。
【００４５】
各々の遅延セル２２［ｉ］（ｉは、０≦ｉ≦ｎの整数）は、複数の基本遅延セル（図示省略）を直列に接続して構成されている。１段の基本遅延セルによる遅延値はＤ０であり、１段の遅延セル２２［ｉ］による遅延値は、遅延セル２２［ｉ］を構成するために直列に接続された基本遅延セルの個数と１段の基本遅延セルの遅延値Ｄ０とを乗算した値となる。ここでは、１段の遅延セル２２［ｉ］による遅延値が、変調ステップ幅ΔＴ（Ｄ０≦ΔＴ）に等しい時間の場合で説明する。
【００４６】
初段の遅延セル２２［ｎ］の入力端子は電源に接続され、最終段の遅延セル２２［０］の出力端子から、出力クロックＣＬＫＯＵＴが出力されている。ＡＮＤ回路２４［ｎ：０］の一方の入力端子には、クロック間引き部２０から、間引き出力クロックＭＣＬＫＯＵＴが入力され、その他方の入力端子には、遅延ライン制御部１４から、それぞれ対応する遅延段数選択信号Ｓ［ｎ：０］が入力されている。また、ＡＮＤ回路２４［ｎ：０］の出力信号は、それぞれ対応する遅延セル２２［ｎ：０］の制御入力端子に入力されている。
【００４７】
遅延段数選択信号Ｓ［ｎ：０］は、例えば、１サイクル毎に、１つだけがアクティブ状態となる信号、本実施形態の場合、アクティブ状態のハイレベルとなる信号である。
【００４８】
遅延ライン１２では、遅延段数選択信号Ｓ［ｉ］がアクティブ状態のハイレベルになると、遅延ライン１２に対する入力クロックＣＬＫＩＮとして、間引き出力クロックＭＣＬＫＯＵＴが、ＡＮＤ回路２４［ｉ］を介して遅延セル２２［ｉ］に入力される。これにより、遅延段数選択信号Ｓ［ｉ］に対応する段数の遅延セル２２［ｉ］により間引き出力クロックＭＣＬＫＯＵＴを遅延し、出力クロックＣＬＫＯＵＴとして出力する。
【００４９】
ｉ＝０の場合、つまり、遅延段数選択信号Ｓ［０］がアクティブ状態のハイレベルになると、間引き出力クロックＭＣＬＫＯＵＴは、ＡＮＤ回路２４［０］を介して遅延セル２２［０］に入力される。この場合、間引き出力クロックＭＣＬＫＯＵＴは、遅延セル２２［０］により遅延されず、つまり、表２に示すように、遅延値は０＊ΔＴとなり、遅延セル２２［０］を通過して、そのまま出力クロックＣＬＫＯＵＴとして出力される。
【００５０】
一方、ｉ＝１〜ｎの場合、遅延段数選択信号Ｓ［ｉ］がアクティブ状態のハイレベルになると、間引き出力クロックＭＣＬＫＯＵＴは、ＡＮＤ回路２４［ｉ］を介して遅延セル２２［ｉ］に入力される。この場合、間引き出力クロックＭＣＬＫＯＵＴは、遅延セル２２［ｉ］を通過し、表２に示すように、遅延セル２２［ｉ−１：０］により遅延値ｉ＊ΔＴだけ遅延され、出力クロックＣＬＫＯＵＴとして出力される。
【００５１】
【表２】
0006423709.tif 000003
【００５２】
続いて、遅延ライン制御部１４は、遅延段数選択信号Ｓ［ｎ：０］の生成、遅延ライン１２における累積遅延最大値Ｄｍａｘの算出、および、間引きタイミング信号ＧＡＴＥの生成を行うものである。
遅延ライン制御部１４は、図３示すように、遅延段数設定回路２６と、累積遅延最大値算出回路２８と、間引きタイミング信号生成回路３０とによって構成されている。
【００５３】
遅延段数設定回路２６は、出力クロックＣＬＫＯＵＴの変調周期および変調度に応じてあらかじめ設定された、出力周波数がダウンスプレッドの出力クロックＣＬＫＯＵＴを生成する変調パターンに基づいて、入力クロックＣＬＫＩＮの１サイクル毎に、入力クロックＣＬＫＩＮの遅延値を、遅延セル２２［ｉ］の遅延値ΔＴの単位で順次変更する遅延段数選択信号Ｓ［ｎ：０］を生成するものである。
【００５４】
遅延段数設定回路２６は、図４に示すように、制御カウンタ３２と、段数差分算出回路３４と、加算器３８および累積遅延段数ラッチ４０からなる累積遅延段数算出回路（累積加算器）３６と、デコーダ４２とによって構成されている。
【００５５】
制御カウンタ３２は、入力クロックＣＬＫＩＮのサイクル数をアップカウントして、そのカウント値ＣＴＲＬ＿ＣＯＵＮＴを順次出力するものである。
カウント値ＣＴＲＬ＿ＣＯＵＮＴは、図３に示すように、間引きタイミング信号生成回路３０によっても利用される。
【００５６】
段数差分算出回路３４は、入力クロックＣＬＫＩＮの１サイクル毎に、変調パターンに基づいて、カウント値ＣＴＲＬ＿ＣＯＵＮＴに対応する、１変調周期に含まれる、出力クロックＣＬＫＯＵＴの各々のサイクルの段数差分を順次算出するものである。
【００５７】
累積遅延段数算出回路３６は、入力クロックＣＬＫＩＮの１サイクル毎に、１変調周期に含まれる、出力クロックＣＬＫＯＵＴの全てのサイクルの段数差分を順次累積加算して、各々のサイクルにおける累積遅延段数を算出するものである。
本実施形態の場合、加算器３８および累積遅延段数ラッチ４０により構成される累積加算器により累積加算が行われる。
【００５８】
デコーダ４２は、各々のサイクルにおける累積遅延段数をデコードして、累積遅延段数に対応する遅延段数選択信号Ｓ［ｎ：０］を順次生成するものである。
【００５９】
続いて、遅延ライン制御部１４の累積遅延最大値算出回路２８は、変調パターンに基づいて算出される、出力クロックＣＬＫＯＵＴのサイクル数Ｍおよび変調ステップ幅ΔＴに基づいて、遅延ライン１２における累積遅延最大値Ｄｍａｘを算出するものである。
【００６０】
累積遅延最大値Ｄｍａｘの算出方法は何ら限定されないが、例えば、Ｄｍａｘ＝（Ｍ／２）＊（Ｍ／２）＊ΔＴにより算出することができる。本実施形態の累積遅延最大値算出回路２８は、変調ステップ幅ΔＴが、直列に接続されたＣ段の基本遅延セルによる遅延値に相当する場合（ΔＴ＝Ｃ＊Ｄ０）、累積遅延最大値Ｄｍａｘが基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第２の倍数Ｑを、Ｑ＝（Ｍ／２）＊（Ｍ／２）＊Ｃにより算出する。
【００６１】
ここで、累積遅延最大値Ｄｍａｘの算出方法について説明する。
【００６２】
表３は、出力クロックＣＬＫＯＵＴのサイクル数Ｍ＝１６、変調ステップ幅ΔＴの場合の遅延増加分Ａ（ｋ）および累積遅延値Ｂ（ｋ）（ｋは、１≦ｋ≦Ｍの整数）を表したものである。表３において、クロック数ｋ＝１６の場合の累積遅延値Ｂ（１６）＝６４＊ΔＴが累積遅延最大値Ｄｍａｘであり、その値は、クロック数ｋ＝１〜１６までの遅延増加分Ａ（１）〜Ａ（１６）の和であり、Ｑ（１６）＝Ａ（１）＋Ａ（２）＋  …  ＋Ａ（１５）＋Ａ（１６）により算出することができる。
【００６３】
ここで、遅延増加分Ａ（１）〜Ａ（１６）について、Ａ（１）＋Ａ（９）、Ａ（２）＋Ａ（１０），  …  Ａ（７）＋Ａ（１５）、Ａ（８）＋Ａ（１６）の各組に着目すると、各組の値はいずれもＭ／２＊ΔＴとなり、組の個数はＭ／２となる。従って、累積遅延最大値ＤｍａｘはＭ／２＊ΔＴとＭ／２のかけ算、つまり、Ｄｍａｘ＝（Ｍ／２）＊（Ｍ／２）＊ΔＴにより算出することができる。
【００６４】
【表３】
0006423709.tif 000004
【００６５】
続いて、間引きタイミング信号生成回路３０は、入力クロックＣＬＫＩＮに同期して動作し、変調パターンに基づいて算出される、出力クロックＣＬＫＯＵＴのサイクル数Ｍ、および、クロック間引き数算出部１８により算出される入力クロックＣＬＫＩＮの間引き数Ｕに基づいて、入力クロックＣＬＫＩＮを間引く期間を表す間引きタイミング信号ＧＡＴＥを生成するものである。
本実施形態の場合、間引きタイミング信号ＧＡＴＥは、入力クロックＣＬＫＩＮの間引きを行う期間に、アクティブ状態のハイレベルとなる。
【００６６】
続いて、入力クロック周期算出部１６は、入力クロックＣＬＫＩＮの周期を算出するものである。
本実施形態の入力クロック周期算出部１６は、入力クロックＣＬＫＩＮの１周期の期間、遅延ライン１２を構成する基本遅延セルと同一の基本遅延セルをリング状に接続して構成されたリングオシレータにより生成される発振クロックのサイクル数を、カウンタでアップカウントし、そのカウント値に基づいて、入力クロックＣＬＫＩＮの１周期の期間が、基本遅延セルの遅延値Ｄ０の何倍に相当するのかを表す第１の倍数Ｐを算出する。
【００６７】
入力クロック周期算出部１６は、第１の倍数Ｐを算出する際、入力クロックＣＬＫＩＮの１周期の期間のうち、基本遅延セルの遅延値Ｄ０の整数倍の期間、つまり、カウンタでアップカウントすることができた期間を有効期間とし、残りの期間、つまり、アップカウントすることができない期間を無効期間として切り捨てる。この切り捨て処理を行うことにより、出力クロックＣＬＫＯＵＴに細かい出力パルスが発生するのを防止することができる。
【００６８】
続いて、クロック間引き数算出部１８は、入力クロックＣＬＫＩＮに同期して動作し、入力クロックＣＬＫＩＮの周期および遅延ライン１２における累積遅延最大値Ｄｍａｘに基づいて、入力クロックＣＬＫＩＮの間引き数Ｕを算出するものである。
本実施形態のクロック間引き数算出部１８は、第１の倍数Ｐおよび第２の倍数Ｑに基づいて、入力クロックＣＬＫＩＮの間引き数Ｕを、Ｕ＝Ｑ／Ｐにより算出する。
【００６９】
クロック間引き数算出部１８は、間引き数Ｕを算出する際、間引き数Ｕの小数点以下の値を切り上げる。この切り上げ処理を行うことにより、出力クロックＣＬＫＯＵＴに細かい出力パルスが発生するのを防止することができる。
つまり、間引き数Ｕは、累積遅延最大値Ｄｍａｘの期間が、入力クロックＣＬＫＩＮの１周期の期間の何倍以下に相当するのかを表す。
【００７０】
最後に、クロック間引き部２０は、間引きタイミング信号ＧＡＴＥがアサートされた期間の入力クロックＣＬＫＩＮを間引き、間引き出力クロックＭＣＬＫＯＵＴとして出力するものである。
本実施形態のクロック間引き部２０は、間引きタイミング信号ＧＡＴＥがアサートされると、間引きタイミング信号ＧＡＴＥがアクティブ状態のハイレベルの期間の入力クロックＣＬＫＩＮを間引き、間引き出力クロックＭＣＬＫＯＵＴとして、ローレベルを出力する。
【００７１】
同様に、入力クロックＣＬＫＩＮの周期Ｔｉｎ［ｎｓ］、出力クロックＣＬＫＯＵＴの変調周期Ｔｍｏｄ［ｎｓ］および変調度Ｒ［％］とすると、ＳＳＣＧ１０では、出力クロックＣＬＫＯＵＴのサイクル数Ｍおよび変調ステップ幅ΔＴは、式（４）により算出される。
Ｍ＝Ｔｍｏｄ／Ｔｉｎ
ΔＴ＝（Ｔｉｎ＊Ｒ）／（Ｍ／２）  …  式（４）
【００７２】
この場合、変調パターンに従って、出力クロックＣＬＫＯＵＴの周期Ｔｏｕｔ［ｎｓ］が、式（５）により算出される範囲で変化するダウンスプレッドの変調プロファイルが実現される。
Ｔｏｕｔ＝Ｔｉｎ−ΔＴ＊（Ｍ／２）〜Ｔｉｎ  …  式（５）
【００７３】
例えば、入力クロックＣＬＫＩＮの周期Ｔｉｎ＝１０ｎｓ、出力クロックＣＬＫＯＵＴの変調周期Ｔｍｏｄ＝４４０ｎｓおよび変調度Ｒ＝−２２％の場合、出力クロックＣＬＫＯＵＴのサイクル数Ｍおよび変調ステップ幅ΔＴは、式（６）の通りとなる。
出力クロックＣＬＫＯＵＴのサイクル数Ｍ＝４４０／１０＝４４
変調ステップ幅ΔＴ＝（１０＊０．２２）／（４４／２）＝０．１ｎｓ  …  式（６）
【００７４】
続いて、図５（Ａ）、（Ｂ）および（Ｃ）は、それぞれ、図１に示す本実施形態のＳＳＣＧの出力クロックＣＬＫＯＵＴの出力周波数、出力周期および累積遅延値を表す一例のグラフである。これらのグラフは、上記数値例の場合の出力クロックＣＬＫＯＵＴの出力周波数、出力周期および累積遅延値を表すものであり、それぞれの縦軸は、出力周波数［ＭＨｚ］、出力周期［ｎｓ］および累積遅延値［ΔＴ］を表し、横軸は、時間［ｔ］を表す。
【００７５】
上記数値例の場合、出力クロックＣＬＫＯＵＴの出力周波数は、同図（Ａ）のグラフに示すように、入力クロックＣＬＫＩＮの周波数＝１００ＭＨｚから約８２．０ＭＨｚの範囲で１サイクル毎に変化（増減）する。
つまり、１００ＭＨｚから順次減少して、１変調周期の１／２のタイミングで最小値の約８２．０ＭＨｚとなり、最小値から順次増加して、１変調周期のタイミングで１００ＭＨｚに戻る。
【００７６】
一方、出力クロックＣＬＫＯＵＴの出力周期は、同図（Ｂ）のグラフに示すように、入力クロックＣＬＫＩＮの周期＝１０ｎｓから１２．２ｎｓの範囲で１サイクル毎に変化（増減）する。
つまり、１０ｎｓから順次増加して、１変調周期の１／２のタイミングで最大値の１２．２ｎｓとなり、最大値から順次減少して、１変調周期のタイミングで１０ｎｓに戻る。
【００７７】
出力クロックＣＬＫＯＵＴの累積遅延値は、同図（Ｃ）に示すように、０＊ΔＴから４８４＊ΔＴまで１サイクル毎に変化（増加）する。
つまり、０＊ΔＴから順次増加して、１変調周期のタイミングで最大値の４８４＊ΔＴとなる。
【００７８】
続いて、表４は、上記数値例の場合における、時間［ｎｓ］、入力クロックＣＬＫＩＮのサイクル数［＃］、段数差分［ΔＴ］、累積遅延段数［ΔＴ］、および、遅延段数選択信号Ｓ［ｎ：０］を表したものである。
【００７９】
【表４】
0006423709.tif 000005
【００８０】
段数差分を見ると、ＳＳＣＧ１０では、ダウンスプレッドのみの変調プロファイルが実現されていることが分かる。また、累積遅延段数を見ると、ＳＳＣＧ１０では、出力クロックＣＬＫＯＵＴの１変調周期において、累積遅延段数が最小値の０から増加して最大値の４８４となることが分かる。従って、１変調周期の最後では、入力クロックＣＬＫＩＮが、４８４個の遅延セル２２により遅延されている状態となる。
【００８１】
図５（Ｄ）は、図１に示す本実施形態のＳＳＣＧの入力クロックＣＬＫＩＮ、間引きタイミング信号ＧＡＴＥ、間引き出力クロックＭＣＬＫＯＵＴ、および、出力クロックＣＬＫＯＵＴの動作を表す一例のタイミングチャートである。
【００８２】
入力クロックＣＬＫＩＮの周波数を変調してダウンスプレッドの出力クロックＣＬＫＯＵＴを生成すると、前述の数値例の場合、同図（Ｄ）のタイミングチャートに示すように、１変調周期に含まれる入力クロックＣＬＫＩＮのサイクル数が０〜４８までの４９サイクルであるのに対して、１変調周期に含まれる出力クロックＣＬＫＯＵＴのサイクル数は０〜４３までの４４サイクルとなり、両者の間には、入力クロックＣＬＫＩＮの５サイクル分の差が生じる。
この出力クロックＣＬＫＯＵＴとして出力されない入力クロックＣＬＫＩＮのサイクル数、前述の数値例の場合、４９−４４＝５サイクルが、間引き数Ｕとなる。
【００８３】
ＳＳＣＧ１０は、間引きタイミング信号ＧＡＴＥをアサートして、間引き数Ｕに対応する入力クロックＣＬＫＩＮのサイクルの期間、間引きが行われた入力クロックＣＬＫＩＮを遅延ライン１２に入力する。これにより、１変調周期に含まれる最後の出力クロックＣＬＫＯＵＴに対応する入力クロックＣＬＫＩＮが遅延ライン１２に入力されてから、次の１変調周期に含まれる最初の出力クロックＣＬＫＯＵＴに対応する入力クロックＣＬＫＩＮが遅延ライン１２に入力されるまでの期間、入力クロックＣＬＫＩＮは遅延ライン１２に入力されない（本実施形態の場合、ローレベルとなる）。
【００８４】
また、間引き数Ｕを算出する際に、切り上げ処理が行われているため、間引き数Ｕに対応する入力クロックＣＬＫＩＮのサイクルの期間は、累積遅延最大値Ｄｍａｘの期間以上となる。つまり、１変調周期に含まれる最後の出力クロックＣＬＫＯＵＴに対応する入力クロックＣＬＫＩＮは、遅延ライン１２に入力されてから、間引き数Ｕに対応するサイクル数の入力クロックＣＬＫＩＮの期間に、出力クロックＣＬＫＯＵＴとして出力され、遅延ライン１２における累積遅延は０になる。そのため、ＳＳＣＧ１０は、ダウンスプレッド動作を連続して行うことができる。
【００８５】
次に、図６および図７のフローチャートを参照しながら、ＳＳＣＧ１０の動作を説明する。
【００８６】
まず、入力クロック周期算出部１６により第１の倍数Ｐ（切り捨て）が算出され、累積遅延最大値算出回路２８により第２の倍数Ｑが算出され、クロック間引き数算出部１８により、間引き数Ｕが、Ｕ＝Ｑ／Ｐ（切り上げ）により算出される。
また、リセット信号ＲＥＳＥＴがアクティブ状態のローレベルとなって、制御カウンタ３２が初期化され、そのカウント値ＣＴＲＬ＿ＣＯＵＮＴが０になる（ステップＳ１）。
【００８７】
例えば、前述の数値例のように、入力クロックＣＬＫＩＮの周期Ｔｉｎ＝１０ｎｓ、出力クロックＣＬＫＯＵＴの変調周期Ｔｍｏｄ＝４４０ｎｓおよび変調度Ｒ＝−２２％であり、かつ、変調ステップ幅ΔＴが、Ｃ段の遅延セル２２の遅延値Ｄ０に相当する場合（ΔＴ＝Ｃ＊Ｄ０）、Ｃ＝４とした場合、第１の倍数Ｐは、Ｐ＝Ｔｉｎ／ΔＴ＊Ｃ＝１０ｎｓ／０．１ｎｓ＊４＝４００となる。
また、第２の倍数Ｑは、Ｑ＝（Ｍ／２）＊（Ｍ／２）＊Ｃ＝（４４／２）＊（４４／２）＊４＝１９３６となり、間引き数Ｕは、Ｕ＝Ｑ／Ｐ＝１９３６／４００＝４．８４より、Ｕ＝５となる。
【００８８】
リセット信号ＲＥＳＥＴが非アクティブ状態のハイレベルになると、制御カウンタ３２により、入力クロックＣＬＫＩＮのサイクル数がアップカウントされ、そのカウント値ＣＴＲＬ＿ＣＯＵＮＴが順次出力される（ステップＳ２）。つまり、入力クロックＣＬＫＩＮの１サイクル毎に、カウント値ＣＴＲＬ＿ＣＯＵＮＴ＝ＣＴＲＬ＿ＣＯＵＮＴ＋１となる。
【００８９】
続いて、間引きタイミング信号生成回路３０により、カウント値ＣＴＲＬ＿ＣＯＵＮＴが、０からアップカウントされて（Ｍ−１）となったか否かの判定が行われる（ステップＳ３）。
前述の数値例の場合、（Ｍ−１）＝（４４−１）＝４３となる。
【００９０】
ここで、カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）となっていない場合（ステップＳ３でＮ）、ステップＳ２へ戻り、制御カウンタ３２により、入力クロックＣＬＫＩＮのサイクル数のアップカウントが引き続き行われる。
【００９１】
カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）となった場合（ステップＳ３でＹ）、カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）にアップカウントされたサイクルの入力クロックＣＬＫＩＮが遅延ライン１２に入力された後、間引きタイミング信号生成回路３０により、間引きタイミング信号ＧＡＴＥがアサートされる（ステップＳ４）。つまり、クロック間引き部２０による入力クロックＣＬＫＩＮの間引きが開始される。
【００９２】
続いて、制御カウンタ３２により、入力クロックＣＬＫＩＮのサイクル数のアップカウントが引き続き行われ、そのカウント値ＣＴＲＬ＿ＣＯＵＮＴが順次出力される（ステップＳ５）。
【００９３】
続いて、間引きタイミング信号生成回路３０により、カウント値ＣＴＲＬ＿ＣＯＵＮＴが、（Ｍ−１）からさらにアップカウントされて（Ｍ−１）＋Ｕとなったか否かの判定が行われる（ステップＳ６）。
前述の数値例の場合、（Ｍ−１）＋Ｕ＝（４４−１）＋５＝４８となる。
【００９４】
ここで、カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）＋Ｕとなっていない場合（ステップＳ６でＮ）、ステップＳ５へ戻り、制御カウンタ３２により、入力クロックＣＬＫＩＮのサイクル数のアップカウントが引き続き行われる。
【００９５】
カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）＋Ｕとなった場合（ステップＳ６でＹ）、クロック間引き部２０により、カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックＣＬＫＩＮが間引かれた後、間引きタイミング信号生成回路３０により、間引きタイミング信号ＧＡＴＥがネゲートされる（ステップＳ７）。つまり、クロック間引き部２０による入力クロックＣＬＫＩＮの間引きが終了する。
【００９６】
つまり、制御カウンタ３２のカウント値ＣＴＲＬ＿ＣＯＵＮＴが、サイクル数Ｍから（Ｍ−１）＋Ｕまでの期間、間引きタイミング信号ＧＡＴＥがアサートされ、間引きが行われた入力クロックＣＬＫＩＮが遅延ライン１２に入力される。
【００９７】
続いて、制御カウンタ３２は、カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）＋Ｕにアップカウントされたサイクルの次のサイクルの入力クロックＣＬＫＩＮに同期して再び初期化され、そのカウント値ＣＴＲＬ＿ＣＯＵＮＴは０になる（ステップＳ８）。つまり、制御カウンタ３２は、入力クロックＣＬＫＩＮの間引きが終了した直後の最初の入力クロックＣＬＫＩＮで初期化される。これ以後の動作は上記の繰り返しとなる。
【００９８】
一方、遅延段数設定回路２６では、前述のように、リセット信号ＲＥＳＥＴがアクティブ状態のローレベルになると、制御カウンタ３２、段数差分算出回路３４、および、累積遅延段数算出回路３６を構成する累積遅延段数ラッチ４０が初期化され、制御カウンタ３２のカウント値ＣＴＲＬ＿ＣＯＵＮＴ、段数差分算出回路３４により算出される段数差分、および、累積遅延段数算出回路３６により算出される累積遅延段数はいずれも０になる（ステップＳ９）。
【００９９】
リセット信号ＲＥＳＥＴが非アクティブ状態のハイレベルになると、前述のように、制御カウンタ３２により、入力クロックＣＬＫＩＮのサイクル数がアップカウントされ、そのカウント値ＣＴＲＬ＿ＣＯＵＮＴが順次出力される（ステップＳ１０）。
【０１００】
続いて、段数差分算出回路３４により、変調パターンに基づいて、入力クロックＣＬＫＩＮの１サイクル毎に、カウント値ＣＴＲＬ＿ＣＯＵＮＴに対応する段数差分が算出される（ステップＳ１１）。
【０１０１】
続いて、累積遅延段数算出回路３６では、加算器３８により、現在のサイクルにおける段数差分と、累積遅延段数ラッチ４０により保持された１つ前のサイクルまでの段数差分の累積値、つまり、１つ前のサイクルにおける累積遅延段数とが加算され、入力クロックＣＬＫＩＮに同期して、再び累積遅延段数ラッチ４０に保持される。これにより、現在のサイクルまでの段数差分が累積加算され、現在のサイクルにおける累積遅延段数が算出される（ステップＳ１２）。
【０１０２】
つまり、累積遅延段数算出回路３６により、入力クロックＣＬＫＩＮの１サイクル毎に、１変調周期に含まれる、出力クロックＣＬＫＯＵＴの全てのサイクルの段数差分が累積加算され、各々のサイクルにおける累積遅延段数が順次算出される。
【０１０３】
そして、デコーダ４２により、各々のサイクルにおける累積遅延段数がデコードされ、累積遅延段数に対応する遅延段数選択信号Ｓ［ｎ：０］が順次生成されて、遅延ライン１２に入力される（ステップＳ１３）。
【０１０４】
前述の数値例の場合、段数差分、累積遅延段数、および、遅延段数選択信号Ｓ［ｎ：０］は、表４のように変化する。
【０１０５】
続いて、遅延ライン１２により、遅延段数選択信号Ｓ［ｎ：０］に応じて、間引き出力クロックＭＣＬＫＯＵＴが遅延され、出力クロックＣＬＫＯＵＴとして順次出力される（ステップＳ１４）。
その結果、図５（Ａ）および（Ｂ）に示す出力周波数および出力周期を持つ出力クロックＣＬＫＯＵＴが遅延ライン１２から出力される。
【０１０６】
ＳＳＣＧ１０は、ディジタルＳＳＣＧでダウンスプレッドの変調プロファイルを実現するため、センタースプレッドの変調プロファイルを実現する従来のＳＳＣＧ７０に比べ、動作クロック周波数を上げる必要がない。そのため、回路設計を容易にすることができ、回路規模の増加を抑えることができるとともに、既存設計回路、既存ＬＳＩの流用範囲も拡げることができる。
また、ＳＳＣＧ１０は、ダウンスプレッドの変調プロファイルを実現するアナログＳＳＣＧと比べた場合、シリコン面積を縮小することができるとともに、専用パッドと専用ピンが不要になるという利点がある。
【０１０７】
次に、本発明のＳＳＣＧの第２の実施形態について説明する。
【０１０８】
図８は、本発明のＳＳＣＧの構成を表す第２の実施形態のブロック図である。同図に示すＳＳＣＧ５０は、図１に示すＳＳＣＧ１０において、さらに、プリ遅延ライン５２を備え、遅延ライン制御部１４およびクロック間引き数算出部１８の代わりに、遅延ライン制御部１４Ｂおよびクロック間引き数算出部１８Ｂを備えている。
つまり、ＳＳＣＧ５０は、遅延ライン１２と、遅延ライン制御部１４Ｂと、入力クロック周期算出部１６と、クロック間引き数算出部１８Ｂと、クロック間引き部２０と、プリ遅延ライン５２とによって構成されている。
【０１０９】
以下、ＳＳＣＧ１０と同一の構成要素には同一の符号を付して、その詳細な説明を省略し、プリ遅延ライン５２、遅延ライン制御部１４Ｂおよびクロック間引き数算出部１８Ｂ、について説明する。
【０１１０】
プリ遅延ライン５２は、プリ遅延ライン５２に対する入力クロックＣＬＫＩＮとして、間引き出力クロックＭＣＬＫＯＵＴを、プリ遅延段数選択信号ＰＳ［ｍ：０］（ｍは、０以上の整数）に応じて遅延し、プリ遅延出力クロックＰＣＬＫＯＵＴとして出力するものである。プリ遅延出力クロックＰＣＬＫＯＵＴは、遅延ライン１２に対する入力クロックＣＬＫＩＮとして、遅延ライン１２に入力される。
本実施形態のプリ遅延ライン５２は、図９に示すように、直列に接続された（ｍ＋１）個の基本遅延セル５４［ｍ：０］と、基本遅延セル５４［ｍ：０］の各々に対応して設けられた（ｍ＋１）個のＡＮＤ回路５６［ｍ：０］とによって構成されている。
【０１１１】
プリ遅延ライン５２は、複数の基本遅延セルで構成された遅延セル２２［ｉ］およびＡＮＤ回路２４［ｉ］の代わりに、基本遅延セル５４［ｊ］（ｊは、０≦ｊ≦ｍの整数）およびＡＮＤ回路５６［ｊ］が用いられ、遅延段数選択信号Ｓ［ｉ］の代わりに、プリ遅延段数選択信号ＰＳ［ｊ］が入力され、出力クロックＣＬＫＯＵＴの代わりに、プリ遅延出力クロックＰＣＬＫＯＵＴが出力される点が、図２に示す遅延ライン１２と相違するだけであり、基本的な構成および動作は同様であるから、その詳細な説明は省略する。
【０１１２】
プリ遅延段数選択信号ＰＳ［ｍ：０］は、例えば、１変調周期毎に、１つだけがアクティブ状態となる信号、本実施形態の場合、アクティブ状態のハイレベルとなる信号である。プリ遅延ライン５２では、プリ遅延段数選択信号ＰＳ［ｊ］に対応する段数の基本遅延セル５４［ｊ］により間引き出力クロックＭＣＬＫＯＵＴを遅延し、プリ遅延出力クロックＰＣＬＫＯＵＴとして出力する。プリ遅延段数選択信号ＰＳ［ｊ］と、遅延値との関係は表５の通りである。
【０１１３】
【表５】
0006423709.tif 000006
【０１１４】
続いて、クロック間引き数算出部１８Ｂは、入力クロックＣＬＫＩＮに同期して動作し、第１の倍数Ｐおよび第２の倍数Ｑに基づいて、入力クロックＣＬＫＩＮの間引き数の初期値Ｕ０を、Ｕ０＝Ｑ／Ｐにより算出するものである。
【０１１５】
クロック間引き数算出部１８Ｂは、間引き数の初期値Ｕ０を算出する際、間引き数の初期値Ｕ０の小数点以下の値を切り捨てる。
つまり、間引き数の初期値Ｕ０は、累積遅延最大値Ｄｍａｘの期間に、入力クロックＣＬＫＩＮの１周期の期間が何個含まれるのかを表す。
間引き数の初期値Ｕ０は、間引きタイミング信号生成回路３０Ｂにより、間引き数Ｕの初期値として使用される。
【０１１６】
続いて、遅延ライン制御部１４Ｂは、図１０に示すように、図１に示す遅延ライン制御部１４において、さらに、プリ遅延段数設定回路５８を備え、間引きタイミング信号生成回路３０の代わりに、間引きタイミング信号生成回路３０Ｂを備えるものである。
つまり、遅延ライン制御部１４Ｂは、遅延段数設定回路２６と、プリ遅延段数設定回路５８と、累積遅延最大値算出回路２８と、間引きタイミング信号生成回路３０Ｂとによって構成されている。
【０１１７】
プリ遅延段数設定回路５８は、１変調周期毎に、入力クロックＣＬＫＩＮの遅延値を、基本遅延セル５４［ｊ］の遅延値Ｄ０の単位で順次変更するプリ遅延段数選択信号ＰＳ［ｍ：０］を生成するものである。
プリ遅延段数設定回路５８は、図１１に示すように、プリ遅延基本段数算出回路６０と、プリ遅延段数算出回路６２と、デコーダ６４とによって構成されている。
【０１１８】
プリ遅延基本段数算出回路６０は、プリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥを、ＴＲＩＭ＿ＢＡＳＥ＝Ｑ−Ｐ＊Ｕにより算出するものである。
つまり、プリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥは、累積遅延最大値Ｄｍａｘのうち、累積遅延最大値Ｄｍａｘに含まれる入力クロックの１周期の期間の個数に相当する期間を除いた残りの期間を表す。
【０１１９】
プリ遅延段数算出回路６２は、１変調周期毎に、プリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥと、プリ遅延段数ラッチにより保持された現在の変調周期におけるプリ遅延段数とを加算して、次の変調周期におけるプリ遅延段数ＴＲＩＭを順次算出するものである。
【０１２０】
本実施形態のプリ遅延段数算出回路６２は、現在のプリ遅延段数ＴＲＩＭが、第１の倍数Ｐ以下の場合、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥにより、次の変調周期におけるプリ遅延段数ＴＲＩＭを算出する。一方、現在のプリ遅延段数ＴＲＩＭが、第１の倍数Ｐよりも大きい場合、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥ−Ｐにより、次の変調周期におけるプリ遅延段数ＴＲＩＭを算出する。
【０１２１】
デコーダ６４は、各々の変調周期におけるプリ遅延段数ＴＲＩＭをデコードして、プリ遅延段数ＴＲＩＭに対応するプリ遅延段数選択信号ＰＳ［ｍ：０］を順次生成するものである。
【０１２２】
続いて、遅延ライン制御部１４Ｂの間引きタイミング信号生成回路３０Ｂは、入力クロックＣＬＫＩＮに同期して動作し、変調パターンに基づいて算出される、出力クロックＣＬＫＯＵＴのサイクル数Ｍ、および、クロック間引き数算出部１８Ｂにより算出される入力クロックＣＬＫＩＮの間引き数の初期値Ｕ０から算出される、現在の変調周期の間引き数Ｕに基づいて、入力クロックＣＬＫＩＮを間引く期間を表す間引きタイミング信号ＧＡＴＥを生成するものである。
【０１２３】
次に、図１２（Ａ）のグラフおよび同図（Ｂ）のタイミングチャート、ならびに、図１３および図１４のフローチャートを参照しながら、ＳＳＣＧ５０の動作を説明する。
【０１２４】
図１２（Ａ）は、出力クロックの出力周期を表す一例のグラフである。このグラフは、図５（Ｂ）のグラフと同様のものである。同図（Ｂ）は、入力クロックＣＬＫＩＮ、間引きタイミング信号ＧＡＴＥ、間引き出力クロックＭＣＬＫＯＵＴ、プリ遅延出力クロックＰＣＬＫＯＵＴ、および、出力クロックＣＬＫＯＵＴの動作を表す一例のタイミングチャートである。
【０１２５】
まず、入力クロック周期算出部１６により第１の倍数Ｐ（切り捨て）が算出され、累積遅延最大値算出回路２８により第２の倍数Ｑが算出され、クロック間引き数算出部１８Ｂにより、間引き数の初期値Ｕ０が、Ｕ０＝Ｑ／Ｐ（切り捨て）により算出される。そして、間引きタイミング信号生成回路３０Ｂにより、間引き数ＵがＵ＝Ｕ０に初期化される。
プリ遅延基本段数算出回路６０により、プリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥが、ＴＲＩＭ＿ＢＡＳＥ＝Ｑ−Ｐ＊Ｕにより算出され、プリ遅延段数算出回路６２によりプリ遅延段数ＴＲＩＭが０に初期化される。
また、リセット信号ＲＥＳＥＴがアクティブ状態のローレベルとなって、制御カウンタ３２が初期化され、そのカウント値ＣＴＲＬ＿ＣＯＵＮＴが０になる（ステップＳ２０）。
【０１２６】
例えば、前述の数値例の場合、第１の倍数Ｐは、Ｐ＝Ｔｉｎ／ΔＴ＊Ｃ＝１０ｎｓ／０．１ｎｓ＊４＝４００、第２の倍数Ｑは、Ｑ＝（Ｍ／２）＊（Ｍ／２）＊Ｃ＝（４４／２）＊（４４／２）＊４＝１９３６となり、間引き数の初期値Ｕ０は、Ｕ＝Ｑ／Ｐ＝１９３６／４００＝４．８４より、Ｕ０＝４となる。
また、プリ遅延基本段数ＴＲＩＭ＿ＢＡＳＥは、ＴＲＩＭ＿ＢＡＳＥ＝Ｑ−Ｐ＊Ｕ＝１９３６−４００＊４＝３３６となる。
【０１２７】
ステップＳ２１〜Ｓ２５までの動作は、図６に示すステップＳ２〜Ｓ６までの動作と同じである。
【０１２８】
カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）＋Ｕとなった場合（ステップＳ２５でＹ）、続いて、プリ遅延段数算出回路６２により、現在の変調周期におけるプリ遅延段数ＴＲＩＭが第１の倍数Ｐよりも大きいか否かの判定が行われる（ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥ＞Ｐ）（ステップＳ２６）。
前述の数値例の場合、（Ｍ−１）＋Ｕ＝（４４−１）＋４＝４７となり、ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥ＝０＋３３６＝３３６となる。
【０１２９】
ここで、現在の変調周期におけるプリ遅延段数ＴＲＩＭが第１の倍数Ｐ以下の場合（ステップＳ２６でＮ）、クロック間引き部２０により、カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）から（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックＣＬＫＩＮが間引かれた後、間引きタイミング信号生成回路３０Ｂにより、間引きタイミング信号ＧＡＴＥがネゲートされる（ステップＳ２７）。つまり、クロック間引き部２０による入力クロックＣＬＫＩＮの間引きが終了する。
【０１３０】
つまり、制御カウンタ３２のカウント値ＣＴＲＬ＿ＣＯＵＮＴが、サイクル数Ｍから（Ｍ−１）＋Ｕまでの期間、間引きタイミング信号ＧＡＴＥがアサートされ、その期間、間引きされた出力クロックＭＣＬＫＯＵＴが、入力クロックＣＬＫＩＮとして、プリ遅延ライン５２に入力される。
【０１３１】
続いて、間引きタイミング信号生成回路３０Ｂにより、間引きタイミング信号ＧＡＴＥがネゲートされた後、プリ遅延段数ＴＲＩＭが、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥに更新される（ステップＳ２８）。
【０１３２】
続いて、制御カウンタ３２は、カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）＋Ｕにアップカウントされたサイクルの次のサイクルの入力クロックＣＬＫＩＮに同期して再び初期化され、そのカウント値ＣＴＲＬ＿ＣＯＵＮＴは０になる（ステップＳ２９）。つまり、制御カウンタ３２は、入力クロックＣＬＫＩＮの間引きが終了した直後の最初の入力クロックＣＬＫＩＮで初期化される。これ以後の動作は上記の繰り返しとなる。
【０１３３】
ステップＳ２６において、現在の変調周期におけるプリ遅延段数ＴＲＩＭが第１の倍数Ｐよりも大きい場合（ステップＳ２６でＹ）、間引きタイミング信号生成回路３０Ｂにより、間引き数Ｕが、Ｕ＝Ｕ＋１に更新される。
前述の数値例の場合、間引き数Ｕは、Ｕ＝Ｕ＋１＝４＋１＝５となる。
また、制御カウンタ３２により、入力クロックＣＬＫＩＮのサイクル数のアップカウントが引き続き行われ、カウント値ＣＴＲＬ＿ＣＯＵＮＴ＝ＣＴＲＬ＿ＣＯＵＮＴ＋１となる（ステップＳ３０）。
【０１３４】
続いて、クロック間引き部２０により、カウント値ＣＴＲＬ＿ＣＯＵＮＴが（Ｍ−１）から（Ｍ−１）＋Ｕにアップカウントされたサイクルの入力クロックＣＬＫＩＮが間引かれた後、間引きタイミング信号生成回路３０Ｂにより、間引きタイミング信号ＧＡＴＥがネゲートされる（ステップＳ３１）。つまり、クロック間引き部２０による入力クロックＣＬＫＩＮの間引きが終了する。
【０１３５】
続いて、間引きタイミング信号生成回路３０Ｂにより、間引きタイミング信号ＧＡＴＥがネゲートされた後、プリ遅延段数ＴＲＩＭが、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥ−Ｐに更新され、ステップＳ２９へ進む。これ以後の動作は上記の繰り返しとなる。
【０１３６】
一方、プリ遅延段数設定回路５８において、ステップＳ３３〜Ｓ３７までの動作は、図７に示すステップＳ９〜Ｓ１３までの動作と同じである。
【０１３７】
続いて、デコーダ６４により、プリ遅延段数ＴＲＩＭに対応するプリ遅延段数選択信号ＰＳ［ｍ：０］が生成される（ステップＳ３８）。
【０１３８】
続いて、プリ遅延ライン５２により、プリ遅延段数選択信号ＰＳ［ｍ：０］に応じて、間引き出力クロックＭＣＬＫＯＵＴが遅延され、プリ遅延出力クロックＰＣＬＫＯＵＴとして順次出力される（ステップＳ３９）。
【０１３９】
前述の数値例で間引き数Ｕが、Ｕ＝４の場合（変調周期１回目）、図１２（Ｂ）のタイミングチャートの中央部に示すように、（Ｍ−１）＋Ｕ＝（４４−１）＋４＝４７となり、プリ遅延段数ＴＲＩＭは、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥ＝０＋３３６＝３３６となる。
Ｕ＝５の場合（変調周期２回目）、同図（Ｂ）のタイミングチャートの右部に示すように、（Ｍ−１）＋Ｕ＝（４４−１）＋５＝４８となり、プリ遅延段数ＴＲＩＭは、ＴＲＩＭ＝ＴＲＩＭ＋ＴＲＩＭ＿ＢＡＳＥ−Ｐ＝３３６＋３３６−４００＝２７２となる。
【０１４０】
そして、遅延ライン１２により、遅延段数選択信号Ｓ［ｎ：０］に応じて、間引き出力クロックＭＣＬＫＯＵＴが遅延され、出力クロックＣＬＫＯＵＴとして順次出力される（ステップＳ４０）。
その結果、図１２（Ａ）に示す出力周期を持つ出力クロックＣＬＫＯＵＴが遅延ライン１２から出力される。
【０１４１】
第１の実施形態のＳＳＣＧ１０は、遅延ライン１２の遅延セル２２［ｉ］により、入力クロックＣＬＫＩＮを変調ステップ幅ΔＴの単位で遅延させるが、第２の実施形態のＳＳＣＧ５０は、プリ遅延ライン５２の基本遅延セル５４［ｊ］により、入力クロックＣＬＫＩＮを、基本遅延セル５４［ｊ］による遅延値Ｄ０の単位で遅延させる。そのため、ＳＳＣＧ５０は、出力クロックＣＬＫＯＵＴの周期を、ＳＳＣＧ１０よりも、現在の変調周期と次の変調周期をよりなめらかに繋ぐことができる変調プロファイルを実現することができる。
【０１４２】
なお、本発明のＳＳＣＧを構成する各構成要素の具体的な構成は何ら限定されず、同様の機能を果たすことができる各種構成のものを使用することができる。
【０１４３】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【符号の説明】
【０１４４】
１０、５０  ＳＳＣＧ
１２  遅延ライン
１４、１４Ｂ  遅延ライン制御部
１６  入力クロック周期算出部
１８、１８Ｂ  クロック間引き数算出部
２０  クロック間引き部
２２  遅延セル
２４、５６  ＡＮＤ回路
２６  遅延段数設定回路
２８  累積遅延最大値算出回路
３０、３０Ｂ  間引きタイミング信号生成回路
３２  制御カウンタ
３４  段数差分算出回路
３６  累積遅延段数算出回路
３８  加算器
４０  累積遅延段数ラッチ
４２、６４  デコーダ
５２  プリ遅延ライン
５４  基本遅延セル
５８  プリ遅延段数設定回路
６０  プリ遅延基本段数算出回路
６２  プリ遅延段数算出回路
【図１】
0006423709.tif 000007
【図２】
0006423709.tif 000008
【図３】
0006423709.tif 000009
【図４】
0006423709.tif 000010
【図５】
0006423709.tif 000011
【図６】
0006423709.tif 000012
【図７】
0006423709.tif 000013
【図８】
0006423709.tif 000014
【図９】
0006423709.tif 000015
【図１０】
0006423709.tif 000016
【図１１】
0006423709.tif 000017
【図１２】
0006423709.tif 000018
【図１３】
0006423709.tif 000019
【図１４】
0006423709.tif 000020
【図１５】
0006423709.tif 000021
【図１６】
0006423709.tif 000022
【図１７】
0006423709.tif 000023