外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、位相調整のタイミングを制御する第2の制御信号を生成する累算部と、外部から所定の周波数のクロックを入力クロックとして入力し、前記累算部により生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延部と、前記累算部により生成された前記基準クロックと前記第2の制御信号を入力し、前記可変遅延部により生成された遅延クロックを入力し、前記第2の制御信号をイネーブルとして前記基準クロックの位相を前記遅延クロックで調整し、前記動作クロックの周波数を前記設定値の2倍で除算して得られる周波数を有するクロックを生成する位相調整部とを有することを特徴とするクロック生成装置。前記累算部は、整数値と小数値に区分される設定値を入力し、前記累算部は、前記設定値の累算値のビット数が所定のビット数を超えたことを検出する度に、第2の制御信号をアサートする第2制御信号生成部と、前記第2制御信号生成部により前記第2の制御信号がアサートされた際の前記設定値の小数値を特定し、特定した小数値を通知する第1の制御信号を生成する第1制御信号生成部と、前記第2の制御信号のアサートタイミングの間隔をエッジ間隔とする基準クロックを生成する基準クロック生成部とを有し、前記可変遅延部は、前記第1の制御信号で通知されている小数値に対応する遅延量を導出し、導出した遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成し、前記位相調整部は、前記第2の制御信号のアサートタイミングで前記基準クロックと前記遅延クロックとの排他論理和をとり、前記基準クロックの位相を前記遅延クロックで調整することを特徴とする請求項1に記載のクロック生成装置。外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、パルス生成タイミングを制御する第3の制御信号を生成する累算部と、前記累算部により生成された前記第3の制御信号を入力し、前記第3の制御信号をイネーブルとして、前記動作クロックの1周期分のパルスを生成するパルス生成部と、前記累算部により生成された前記第1の制御信号を入力し、前記パルス生成部により生成されたパルスを入力し、前記第1の制御信号で制御される遅延量を前記パルスに与えて、遅延パルスを生成する可変遅延部と、前記累算部により生成された前記基準クロックを入力し、前記可変遅延部で生成された前記遅延パルスを入力し、前記基準クロックの位相を前記遅延パルスで調整し、前記動作クロックの周波数を前記設定値の2倍で除算して得られる周波数を有するクロックを生成する位相調整部とを有することを特徴とするクロック生成装置。前記累算部は、整数値と小数値に区分される設定値を入力し、前記累算部は、前記設定値の小数値を前記動作クロックの周期で累算する小数累算器と、前記設定値の整数値、及び前記小数累算器による小数値の累算の結果の桁上がりと前記設定値の整数値との加算値を前記動作クロックの周期でダウンカウントする第1のダウンカウンタと、前記第1のダウンカウンタでのカウント値が1になった際にパルスを出力する第1の比較器と、前記設定値の整数値を、所定の周波数のクロックでダウンカウントする第2のダウンカウンタと、前記第2のダウンカウンタでのカウント値が1になった際にパルスを出力する第2の比較器と、前記第1の比較器からパルスを入力し、前記第1の比較器からパルスを入力した際の前記小数累算器における小数値の累算値を特定し、特定した小数値の累算値を通知する第1の制御信号を生成する第1制御信号生成部と、前記第1の比較器からパルスを入力するとともに前記第2の比較器からパルスを入力し、前記第1の比較器からパルスを入力したタイミングで立ち上がり前記第2の比較器からパルスを入力したタイミングで立ち下がる基準クロックを生成する基準クロック生成部とを有し、前記パルス生成部は、前記累算部の前記第1の比較器から出力されたパルスを前記第3の制御信号として入力し、前記第3の制御信号をイネーブルとして、前記動作クロックの1周期分のパルスを生成し、前記可変遅延部は、前記第1の制御信号で通知されている小数値に対応する遅延量を導出し、導出した遅延量を前記パルス生成部から入力したパルスに与えて、遅延パルスを生成し、前記位相調整部は、前記基準クロックと前記遅延パルスとの論理和をとり、前記基準クロックの位相を前記遅延パルスで調整することを特徴とする請求項3に記載のクロック生成装置。外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、遅延量を制御する第1の制御信号と、遅延クロックの立ち上がりタイミング及び立下りタイミングをアサートにより通知する第4の制御信号を生成する累算部と、外部から所定の周波数のクロックを入力クロックとして入力し、前記累算部により生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延部と、前記累算部により生成された第4の制御信号を入力し、第4の制御信号のアサートタイミングにおいて入力している遅延クロックを選択して出力し、第4の制御信号のアサートタイミング以外は、直近に選択した遅延クロックの出力を維持して、前記動作クロックの周波数を前記設定値の2倍で除算して得られる周波数を有するクロックを出力するクロック選択部とを有することを特徴とするクロック生成装置。前記累算部は、整数値と小数値に区分される設定値を入力し、前記累算部は、前記設定値を前記動作クロックの周期で累算し、前記クロック選択部に出力されるとともにフィードバックされた第4の制御信号を入力し、入力した前記第4の制御信号のアサートタイミングにおける前記設定値の累積値の小数値を通知する第1の制御信号を生成する第1制御信号生成部と、前記動作クロックの周期でカウントアップするカウンタと、前記第1制御信号生成部による前記設定値の累積値の整数値と前記カウンタのカウント値との差が1以下となった際に、第4の制御信号をアサートする第4制御信号生成部とを有し、前記可変遅延部は、前記第1の制御信号で通知されている小数値に対応する遅延量を導出し、導出した遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成し、前記クロック選択部は、第4の制御信号のアサートタイミングにおいて入力している遅延クロックを選択して出力するとともに、出力した遅延クロックをフィードバックし、第4の制御信号の次のアサートタイミングまでの期間は、フィードバックさせた遅延クロックを出力することを特徴とする請求項5に記載のクロック生成装置。前記クロック生成装置は、論理回路で構成されていることを特徴とする請求項1~6のいずれかに記載のクロック生成装置。請求項1~7のいずれかに記載のクロック生成装置を有し、更に、前記クロック生成装置により生成された生成クロックの位相と、外部から入力される参照クロックの位相を比較し、前記生成クロックと前記参照クロックとの位相差を出力する位相比較部と、前記位相比較部の出力である位相差から、前記位相差を0とする前記設定値に対する補正値を生成し、前記設定値へ補正値を加算する補正部と有することを特徴とするDLLDigitalLockedLoop回路。請求項1~7のいずれかに記載のクロック生成装置を有し、更に、前記クロック生成装置により生成された生成クロックの周波数と、外部から入力される参照クロックの周波数を比較し、前記生成クロックと前記参照クロックとの周波数差を出力する周波数比較部と、前記周波数比較部の出力である周波数差から、前記周波数差を0とする前記設定値に対する補正値を生成し、前記設定値へ補正値を加算する補正部と有することを特徴とするDLLDigitalLockedLoop回路。外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、位相調整のタイミングを制御する第2の制御信号を生成する累算ステップと、外部から所定の周波数のクロックを入力クロックとして入力し、前記累算ステップにより生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延ステップと、前記累算ステップにより生成された前記基準クロックと前記第2の制御信号を入力し、前記可変遅延ステップにより生成された遅延クロックを入力し、前記第2の制御信号をイネーブルとして前記基準クロックの位相を前記遅延クロックで調整し、前記動作クロックの周波数を前記設定値の2倍で除算して得られる周波数を有するクロックを生成する位相調整ステップとを有することを特徴とするクロック生成方法。外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、パルス生成タイミングを制御する第3の制御信号を生成する累算ステップと、前記累算ステップにより生成された前記第3の制御信号を入力し、前記第3の制御信号をイネーブルとして、前記動作クロックの1周期分のパルスを生成するパルス生成ステップと、前記累算ステップにより生成された前記第1の制御信号を入力し、前記パルス生成ステップにより生成されたパルスを入力し、前記第1の制御信号で制御される遅延量を前記パルスに与えて、遅延パルスを生成する可変遅延ステップと、前記累算ステップにより生成された前記基準クロックを入力し、前記可変遅延ステップで生成された前記遅延パルスを入力し、前記基準クロックの位相を前記遅延パルスで調整し、前記動作クロックの周波数を前記設定値の2倍で除算して得られる周波数を有するクロックを生成する位相調整ステップとを有することを特徴とするクロック生成方法。外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、遅延量を制御する第1の制御信号と、遅延クロックの立ち上がりタイミング及び立下りタイミングをアサートにより通知する第4の制御信号を生成する累算ステップと、外部から所定の周波数のクロックを入力クロックとして入力し、前記累算ステップにより生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延ステップと、前記累算ステップにより生成された第4の制御信号を入力し、第4の制御信号のアサートタイミングにおいて入力している遅延クロックを選択して出力し、第4の制御信号のアサートタイミング以外は、直近に選択した遅延クロックの出力を維持して、前記動作クロックの周波数を前記設定値の2倍で除算して得られる周波数を有するクロックを出力するクロック選択ステップとを有することを特徴とするクロック生成方法。以上より、従来技術では、広範囲の周波数を生成することが可能であるが周波数レンジが広い、回路規模を小さく、かつ設計を容易にする場合は生成周波数の分解能精度が悪くなり、精度を良くする場合は回路規模が大きく、かつ設計が複雑となる。つまり、従来技術では、生成周波数の精度、回路規模、設計の容易性を両立させることが不可能である。この発明は、このような課題を解決することを主な目的の一つとしており、回路規模が小さく、また設計が容易な構成にて、高精度なクロックを生成することを主な目的とする。本発明に係るクロック生成装置は、外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、位相調整のタイミングを制御する第2の制御信号を生成する累算部と、外部から所定の周波数のクロックを入力クロックとして入力し、前記累算部により生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延部と、前記累算部により生成された前記基準クロックと前記第2の制御信号を入力し、前記可変遅延部により生成された遅延クロックを入力し、前記第2の制御信号をイネーブルとして前記基準クロックの位相を前記遅延クロックで調整し、前記動作クロックの周波数を前記設定値の2倍で除算して得られる周波数を有するクロックを生成する位相調整部とを有することを特徴とする。本発明によれば、回路規模が小さく、また設計が容易な構成にて、高精度なクロックを生成することができる。実施の形態1~3では、上記の課題を解決するためのDLLDigitalLockedLoop回路を説明する。実施の形態1~3に係るDLL回路は、クロック生成部と、位相比較部と、補正部を備える。クロック生成部は、動作クロックで動作し、設定値を累算し、第1のクロックを生成する累算部と、入力クロックもしくはパルスを累算部によって制御される遅延量分遅延させ、第2のクロックを生成する可変遅延部と、前記累算部により制御されるタイミングによって前記第1のクロックの位相を前記第2のクロックで補正する位相補正部を有し、動作クロック周波数の前記設定値の2倍分の一の周波数を有する生成クロックを生成する。また、位相比較部は、前記生成クロックと、外部から入力される参照クロックの位相差を比較し、その位相差を出力する。また、補正部は、前記位相比較部の出力である位相差から、前記位相差を0とするように前記設定値を補正する補正値を生成し、前記設定値へ補正値を加算する。上記構成の実施の形態1~3によるDLL回路は、クロック生成を累算部で実施するため、上限を動作クロック周波数の1/2として、累算部のビット数分の広範囲の周波数を生成可能であり、かつ、可変遅延部生成のクロックを利用して生成クロックの位相を調整するため、生成クロックを高精度で生成可能である。更に、クロック生成部を論理設計可能な累算部と可変遅延部と位相調整部で構成するため、設計が容易であり、多ビットカウンタ1個で構成できるため、小回路規模である。また、実施の形態4~6では、実施の形態1~3で説明するクロック生成部単独で構成されているDLL回路を説明する。実施の形態1.図1は、実施の形態1によるDLL回路の構成例を示している。図1のDLL回路は、クロック生成部100と、位相比較部200、補正部300から構成され、入力は設定値k実数と、動作クロックclks、参照クロックclkr、動作クロックの2倍速クロックclks2周波数が2倍であり、出力は生成クロックclkcである。更に、クロック生成部100は、累算部110と、可変遅延部120、位相調整部130から構成される。図1の設定値kは実数値であり、動作クロック周波数を生成クロック周波数の2倍で除算して求める。例えば、動作クロック周波数が500MHzであり、生成クロック周波数が160MHzである場合、設定値kは500MHz/160MHz×2=1.5625となる。この計算により、設定値kは、生成クロックの半周期が動作クロック何周期分かを表している。前記計算では、生成クロック周波数160MHzの半周期は動作クロック500MHzの1.5625周期分となる。なお、クロック生成部100は、クロック生成装置の例である。図2は、実施の形態1の前記累算部110の構成例を示している。図2の累算部110は、累算器111と、検出部112、基準クロックclka生成部113、制御信号C1生成部114から構成される。制御信号C1生成部114は、第1制御信号生成部に相当し、検出部112は第2制御信号生成部に相当する。前記累算器111は、動作クロックclksによって動作し、入力である設定値kを累算する。図3に累算器111の動作タイミングチャートを示す。累算器111は、設定値kを動作クロックclksによって累算するため、累算器111の結果は、累算器111のビット幅以内までは直線的に変化し、ビット幅を超えると0に戻る、という推移を繰り返す。よって、この動作を連続して実施すれば、累算器111の結果は、図3に示すように、のこぎり波のような推移となる。また、累算器111の直線変化は、設定値kの値を変更すると傾きが変化し、図4に示すように、設定値kが小さければ緩やかに、設定値kが大きければ急峻になる。図2の検出部112は、累算器111結果が累算器111のビット幅すなわち、累算器111のビット幅で表示可能な最大ビット値を超えたことを検出する度に、その検出したことを示すパルス信号を制御信号C2第2の制御信号に相当として出力する制御信号C2をアサートする。制御信号C2は、位相調整のタイミングを制御するための信号である。累算器111の結果のビット幅越えの検出は、例えば、累算器111の最上位ビットの桁上がりや、累算器111の結果と累算器111のビット幅の最大値とを比較するなどで検出する。図2の基準クロックclka生成部113は、制御信号C2の入力タイミングによって、現在の基準クロックclka値を反転し、その反転信号を次の基準クロックclkaとして出力する。基準クロックclkaは次の制御信号C2入力タイミングまで値を保持する。基準クロックclkaは、位相調整の対象となるクロックである。図5に基準クロックclkaと制御信号C2の動作波形を示す。例えば、現在の基準クロックclkaが1である場合、ビット幅超え検出のタイミングにおいて1を0へ反転し、次の基準クロックclkaとする。そして、次のビット幅超え検出タイミングまでその値を保持する。このように、基準クロックclka生成部113は、制御信号C2のアサートタイミングの間隔をエッジ間隔とする基準クロックclkaを生成する。また、基準クロックclkaは、累算器111のMSBMostSignificantBitの変化をそのまま利用してもよい。図2の制御信号C1生成部114は、制御信号C2の入力タイミングによって、累算器111の小数部分を取得し、取得した小数部分を制御信号C1第1の制御信号に相当として出力する。制御信号C1は、次の制御信号C2入力タイミングまで値を保持する。制御信号C1は、可変遅延部120における遅延量を制御するための信号である。ビット幅を超えたときの累算器111の結果が小数部を有する理由は、設定値kが実数値であるためである前述の例では、K=1.5625。このように、制御信号C1生成部114は、検出部112により制御信号C2がアサートされた際の設定値の小数値を特定し、特定した小数値を通知する制御信号C1を生成し、出力する。なお、小数部分の取得は、制御信号C2で累算器111の小数値をマスクすれば、ビット幅を超えたときの累算器111の小数値が得られる。図6は、実施の形態1の前記可変遅延部120の構成を示している。図6の可変遅延部120は、複数の遅延素子121と、セレクタ122、変換部123から構成される。遅延素子121は、外部から入力される動作クロックの2倍速クロックclks2に遅延を加えるもので、それを複数個直列に接続しており、遅延素子121を1個毎に出力端子を有する。これは、よくある遅延線などでも代用可能である。図7に遅延素子121の直列接続の動作タイミングチャートを示す。遅延素子121を通過する毎に入力されたクロックが遅延素子121一個分の遅延量で遅延される。図6の変換部123は、累算部110から出力される制御信号C1からセレクタ122が遅延素子121の出力端子を選択するためのセレクト値を生成する。セレクト値は、以下の方法で生成する。動作クロックclks1周期分遅延させる遅延量を上限値として、それだけ遅延させるために必要な遅延素子121の段数をコード値として保持する。制御信号C1は、動作クロックclksでカウントできない小数値であるから、動作クロックclksの1周期を遅延量1とした場合の、必要な遅延量を表している。例えば、制御信号C1が0.5であるならば、必要な遅延量は動作クロックclksの1周期の半周期分であり、0.2ならば動作クロックclksの1周期の0.2周期分である。制御信号C1が示す必要遅延量に相当する遅延量を得られる遅延素子121の段数をコード値から選択する。これは、制御信号C1を参照値としてルックアップテーブルなどから選択してもよいし、遅延量の上限値となるコード値と制御信号C1を乗算しても求められるためそれでもよい。以上によって得られたコード値をセレクト値として出力する。この動作は制御信号C1が入力される度に実施し、次に制御信号C1が入力されるタイミングまではセレクト値は保持される。図6のセレクタ122は、変換部123出力のセレクト値によって、前記遅延素子121の直列接続の出力端子の内から1つ選択し、選択した出力端子から出力される信号を遅延クロックclkdとして出力する。このように、可変遅延部120は、外部から所定の周波数のクロックを入力クロックとして入力し、累算部110により生成された制御信号C1を入力し、制御信号C1によって制御される遅延量を入力クロックに与えて、入力クロックの遅延クロックclkdを生成し、出力する。図8は、実施の形態1の前記位相調整部130の構成を示している。図8に示す位相調整部130は、遅延クロックclkdと制御信号C2の論理積と、前記論理積出力と基準クロックclkaの排他的論理和で構成され、前記排他的論理和の出力を生成クロックclkcとして出力する。図9に、図8に示す位相調整部130の動作タイミングチャートを示す。図9に示すとおり、位相調整部130は、制御信号C2と前記可変遅延部120で選択され、毎制御信号C2アサートタイミングで変化する遅延クロックclkdとの論理積をとる。前記論理積の結果と基準クロックclkaの排他的論理和を取ることで生成クロックclkcを生成する。このように、位相調整部130は、累算部110により生成された基準クロックclkaと制御信号C2を入力し、可変遅延部120により生成された遅延クロックclkdを入力し、制御信号C2をイネーブルとして基準クロックclkaの位相を遅延クロックclkdで調整し、動作クロックclksの周波数を設定値kの2倍で除算して得られる周波数を有するクロックを生成し、生成したクロックを生成クロックclkcとして出力する。図1に示す実施の形態1の位相比較部200は、これまで説明した構成動作であるクロック生成部100が生成する生成クロックclkcと外部から入力される参照クロックclkrの位相差を検出する。このように、位相比較部200は、クロック生成部100により生成された生成クロックclkcの位相と、外部から入力される参照クロックclkrの位相を比較し、生成クロックclkcと参照クロックclkrとの位相差を出力する。図1に示す実施の形態1の補正部300は、前記位相比較部200で検出した位相差と生成クロックclkcを生成するためにクロック生成部100が使用した設定値kから、生成クロックclkcと参照クロックclkrの位相差が0とするように設定値kを補正する補正値を生成する。そして、補正部300は、生成した補正値を補正値生成に使用した設定値kへ加算し、新たな設定値kを算出する。クロック生成部100は、前記の通り算出された新たな設定値kにおいて生成クロックclkcを生成する。以上のように、図1に示す実施の形態1によるDLL回路は、クロック生成部100と位相比較部200、補正部300のループ処理により、参照クロックclkrに位相同期した生成クロックclkcを生成する。この構成により、生成クロックclkcの生成可能周波数幅は、動作クロックclks周波数の1/2を上限として、クロック生成部100内の累算部110内の累算器111のビット幅分となり、非常に広レンジを実現できる。また、生成クロックclkcの生成可能周波数精度は、前記累算器111によって生成する基準クロックclkaの位相を可変遅延部120で生成する遅延クロックclkdで補正するため、デューティ比50とすることが可能であり、高精度である。図10は、図1のDLL回路の生成クロックclkcの設定に対する精度である。図10において、生成周波数は、ターゲットとなる周波数であり、出力周波数は、生成周波数をターゲットしてクロック生成部100で生成されたクロック生成クロックclkcに相当の周波数であり、実測値である。図10に示すように、本実施の形態のDLL回路では、全てにおいて誤差は0ppmであり、高精度である。更に、図2、図6、図8に示す回路はディジタル回路で構成可能であり、容易に設計でき、構成要素もカウンタやプリミティブな論理回路であるため、小回路規模である。なお、以上の説明では、可変遅延部120に入力するクロックは動作クロックの2倍速クロックclks2としているが、これに限らない。つまり、可変遅延部120に入力するクロックは、動作クロックと同じ周期であってもよいし、動作クロックよりも速い周期のクロックであってもよいし、遅い周期のクロックであってもよい。また、動作クロックよりも速い周期のクロックを入力する場合にも、動作クロックの整数倍の周期のクロックでなくてもよい。また、動作クロックよりも遅い周期のクロックを入力する場合にも、動作クロックの整数分の一の周期のクロックでなくてもよい。また、前記位相比較部200のかわりに、前記生成クロックclkcと前記参照クロックclkrの周波数差を比較し、その周波数差を出力する周波数比較部を用いるようにしてもよい。なお、周波数比較部の詳細は、実施の形態2で説明する。このように、本実施の形態では、外部から入力される動作クロックと前記動作クロックと周波数が異なるもしくは等しい入力クロックと所望の周波数を表す設定値から前記動作クロック周波数の前記設定値の2倍分の一の周波数を有する生成クロックを生成するクロック生成部と、前記生成クロックと外部から入力される参照クロックの位相差を比較し、その位相差を出力する位相比較部と、前記位相比較部の出力である位相差から、前記位相差を0とするように前記設定値へ補正をする補正値を生成し、前記設定値へ補正値を加算する補正部とを備えるDLL回路を説明した。また、前記クロック生成部が、動作クロックで動作し、外部から入力される設定値を動作クロック周期で累算することで、第1のクロック基準クロックと遅延量を制御する第1の制御信号制御信号C1と補正タイミングを制御する第2の制御信号制御信号C2を生成する累算部と、外部から動作クロックと周波数が異なるもしくは等しい入力クロックを受け取り、前記累算部出力の前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて第2のクロックを生成する可変遅延部と、前記第2の制御信号をイネーブルとして前記第1のクロックの位相を前記第2のクロックで補正する位相調整部を有し、動作クロックの周波数の前記設定値の2倍分の一の周波数を有する生成クロックを生成可能であることを説明した。また、外部から入力される設定値は、動作クロックの周波数と、所望の周波数の2倍の除算から算出され、整数と小数で表現できる実数であることを説明した。また、前記クロック生成部を構成する前記可変遅延部は、前記累算部の前記設定値の累算結果の小数部にあたる第1の制御信号を、内部に有する変換コードに従い、遅延量へ変換し、前記遅延量に相当する遅延を入力される前記倍速クロックもしくは前記パルス生成部のパルスへ与え、前記第2のクロックを出力することを説明した。また、前記クロック生成部を構成する位相調整部は、前記累算部出力の第1のクロックと、前記可変遅延部出力の第2のクロックもしくは前記遅延パルスを前記第2の制御信号のタイミングで論理和もしくは論理積もしくは排他的論理和をとることで前記第1のクロックの位相を調整することを説明した。また、前記位相比較部のかわりに、前記生成クロックと前記参照クロックの周波数差を比較し、その周波数差を出力する周波数比較部を用いることが可能であることを説明した。また、前記クロック生成部、前記位相比較部、前記補正部は論理回路で設計できることを説明した。なお、本実施の形態に係るクロック生成部100の動作を、累算部110の動作累算ステップ、可変遅延部120の動作可変遅延ステップ、位相調整部130による動作位相調整ステップを含むクロック生成方法として捉えることもできる。実施の形態2.図11は、実施の形態2によるDLL回路構成を示している。図11のDLL回路は、実施の形態1の構成から、クロック生成部100にパルス生成部140が追加されており、可変遅延部120へ外部からのクロック入力がなく、パルス生成部140で生成されたパルスを入力する構成となる。また、位相比較部200が周波数比較部400となっている。周波数比較部400は、クロック生成部100により生成された生成クロックclkcの周波数と、外部から入力される参照クロックclkrの周波数を比較し、生成クロックclkcと参照クロックclkrとの周波数差を出力する。また、本実施の形態の補正部300は、周波数比較部400の出力である周波数差から、前記周波数差を0とする設定値kに対する補正値を生成し、設定値kへ補正値を加算する。更に、動作クロックの2倍速クロックclks2周波数が2倍はDLL回路を動かすもう1つの動作クロックとして使用する。図12は、実施の形態2の累算部110構成を示している。図12の累算部110は、累算器111と、基準クロックclka生成部113、制御信号C1生成部114、ダウンカウンタ115/117、比較器116/118、加算器119から構成される。累算器111は、入力した動作クロックclksによって動作し、設定値kの小数値のみを累算する小数値累算器1101と、設定値kの整数部のみを保持するFFフリップフロップ1102/1103で構成される。小数値累算器1101は、設定値kの小数値を前記動作クロックclksの周期で累算する。累算器111内の累算実行と値の更新は、後段の比較器116の結果で行う。図12の加算器119は、累算器111内の設定値kの整数部のみを保持するFF1102/1103の出力と設定値kの小数値のみを累算する小数値累算器1101の桁上がりの加算を行う。図12のダウンカウンタ115第1のダウンカウンタに相当は、動作クロックclksで動作し、動作クロックclksの周期で加算器119の加算結果をダウンカウントする。図12の比較器116第1の比較器に相当は、動作クロックclksで動作し、ダウンカウンタ115の出力を1と比較し、ダウンカウンタ115の出力が1になるとパルスを出力する。比較器116の出力は、制御信号C3第3の制御信号に相当として出力される。制御信号C3は、パルス生成部140におけるパルス生成タイミングを制御するための信号である。また、制御信号C3は、累算器111、ダウンカウンタ115/117へフィードバックされ、累算器111内の小数値累算器1101、FF1102/1103とダウンカウンタ115/117の値更新のイネーブル信号としても使用される。図12のダウンカウンタ117第2のダウンカウンタに相当は、動作クロックの2倍速クロックclks2で動作し、2倍速クロックclks2の周期で、累算器111の設定値kの整数部のみを保持するFF1103の出力をダウンカウントする。図12の比較器118第2の比較器に相当は、動作クロックの2倍速クロックclks2で動作し、2倍速クロックclks2の周期で、ダウンカウンタ117の出力を1と比較し、ダウンカウンタ117の出力が1になるとパルスを出力する。図12の制御信号C1生成部114は、累算器111の設定値kの小数値のみを累算する小数値累算器1101の出力と比較器116の出力から、比較結果が1以下になったタイミングで小数値を制御信号C1として出力する。つまり、制御信号C1生成部114は、比較器116からパルスを入力し、比較器116からパルスを入力した際の小数値累算器1101における小数値の累算値を特定し、特定した小数値の累算値を通知する制御信号C1を生成し、出力する。図12の基準クロックclka生成部113は、動作クロックの2倍速クロックclks2で動作し、比較器116の出力と比較器118の出力から基準クロックclkaを生成し、出力する。基準クロックclkaの生成は、比較器116の出力パルスで基準クロックclkaのポジティブエッジを生成し、比較器118の出力パルスで基準クロックclkaのネガティブエッジを生成する。なお、基準クロックclkaは、実施の形態1と同様、位相調整の対象となるクロックである。図13に、図12の累算部110内の累算器111での基準クロックclkaの生成動作タイミングを示す。図13では設定値kを3.4と仮定している。比較器116の出力パルスによって、累算器111内のFF1102/1103と小数値累算器1101、ダウンカウンタ115/117の値を更新し、ダウンカウンタ115/117はそれぞれの動作クロックclksと2倍速クロックclks2で更新された値をカウントダウンする。比較器116/118は、ダウンカウンタ値が1以下になったらパルスを出力する。基準クロックclka生成部113は、比較器116の出力パルスのタイミングで1とし、比較器118の出力パルスのタイミングで0とすることで基準クロックclkaを生成する。このように、基準クロックclka生成部113は、比較器116からパルスを入力するとともに比較器118からパルスを入力し、比較器116からパルスを入力したタイミングで立ち上がり、比較器118からパルスを入力したタイミングで立ち下がる基準クロックclkaを生成する。制御信号C1生成部114は、比較器116出力パルスのタイミングの累算器111内の小数値累算器1101の出力を制御信号C1として出力する。図14は、実施の形態2のパルス生成部140構成を示している。図14のパルス生成部140は、2倍速クロックclks2で動作し、制御信号C3を保持するFFと、制御信号C3と前記FFとの論理和回路で構成される。図14のパルス生成部140は、動作クロックclksの1周期分のパルスを生成し、入力パルスplとして出力する。このように、パルス生成部140は、比較器116から出力されたパルスを制御信号C3として入力し、制御信号C3をイネーブルとして、動作クロックclksの1周期分のパルスを生成する。図11の可変遅延部120は、図6と構成動作共に同様であり、入力が2倍速クロックclks2から前記パルス生成部140生成の入力パルスplに変化するのみである。つまり、可変遅延部120は、制御信号C1で通知されている小数値に対応する遅延量を導出し、導出した遅延量をパルス生成部140から入力したパルスplに与えて、遅延パルスpldを生成し、出力する。図11の位相調整部130は、累算部110出力の基準クロックclkaと可変遅延部120出力の遅延パルスpldの論理和で構成され図15、前記論理和の出力が生成クロックclkcとなる。図16に位相調整部130の動作タイミングを示す。基準クロックclkaと遅延パルスpldの論理和のみであるため、基準クロックclkaの位相調整は、遅延パルスpldが入力されたときのみポジティブエッジのみである。このように、位相調整部130は、累算部110により生成された基準クロックclkaを入力し、可変遅延部120で生成された遅延パルスpldを入力し、基準クロックclkaの位相を遅延パルスpldで調整し、動作クロックclksの周波数を設定値kの2倍で除算して得られる周波数を有するクロックを生成し、生成したクロックを生成クロックclkcとして出力する。図17は、実施の形態2の周波数比較部400構成を示している。図17の周波数比較部400は、カウンタ411とカウンタ421、比較期間カウンタ430、カウント値取得部412/422、セレクタ413/423、カウント換算部424、差分比較部440から構成される。周波数比較部400は、生成クロックclkcと参照クロックclkrの周波数差を検出して、出力する。図17のカウンタ411は、生成クロックclkcで動作するカウンタであり、比較期間カウンタ430のカウント期間、カウントする。カウンタ411のカウント値は、比較期間内の生成クロックclkcのトグル数を表す。図17のカウンタ421は、参照クロックclkrで動作するカウンタであり、比較期間カウンタ430のカウント期間、カウントする。カウンタ411のカウント値は、比較期間内の参照クロックclkrのトグル数を表す。図17の比較期間カウンタ430は、参照クロックclkrで動作し、カウンタ411と421のカウント値を比較する期間を決める。カウントはダウンカウントで行い、カウント値が1以下となったら、イネーブルを出力する。カウントはカウントアップでも良い。比較期間を決めるカウンタ設定値は外部から任意に設定可能である。図17のカウント値取得部412は、カウンタ411のカウント値を、比較期間カウンタ430出力イネーブルのタイミングで取り込む。図17のカウント値取得部422は、カウンタ421のカウント値を、比較期間カウンタ430出力イネーブルのタイミングで取り込む。図17のセレクタ413は、カウンタ411出力か、カウンタ411出力からカウント値取得部412出力を減算した値のどちらか選択し、カウンタ411へ入力する。値の選択は、比較期間カウンタ430出力イネーブルによって実施する。図17のセレクタ423は、カウンタ421出力か、カウンタ421出力からカウント値取得部422出力を減算した値のどちらか選択し、カウンタ421へ入力する。値の選択は、比較期間カウンタ430出力イネーブルによって実施する。図17のカウント換算部424は、カウント値取得部422が取得したカウンタ値に対して、カウンタ値x生成クロックclkc周波数/参照クロックclkr周波数の演算を行い、カウンタ値をカウンタ411の値へ換算する。図17の差分比較部440は、カウント値取得部412出力とカウント換算部424出力の減算を行い、その減算結果を生成クロックclkcと参照クロックclkrの周波数差として出力する。図18は、実施の形態2の補正部300の構成を示している。補正部300は、周波数比較部400で検出した周波数差と、生成クロックclkcを生成するためにクロック生成部100が使用した設定値kから、生成クロックclkcと参照クロックclkrの周波数差が0とするように設定値kを補正する補正値を生成する。図18のビットシフト310は、設定値kの右ビットシフトする。シフト量は外部から任意に設定可能である。ここで周波数差1に対する補正値の重みを決定する。図18の乗算器320は、周波数比較部400出力の周波数差と、ビットシフト310出力の設定値kシフト結果の乗算を行い、周波数差を補正値へ変換する。図18のビットシフト330/340は、乗算器320出力を右ビットシフトする。それぞれ、シフト量は外部から任意に設定可能である。ビットシフトすることで、補正値の補正量を調整する。図18の積分器350は、ビットシフト340出力を累算する。積分器350によって、周波数差が0となったときの補正値を保持する。図18の加算器360は、ビットシフト330出力と積分器350出力の加算を行う。図18のビットシフト370は、加算器360出力を右ビットシフトする。シフト量は外部から任意に設定可能である。ビットシフトすることで、補正値の補正量を調整し、最終的な補正値として出力する。以上のように、図11に示す実施の形態2によるDLL回路は、クロック生成部100と周波数比較部400、補正部300のループ処理により、参照クロックclkrに周波数同期した生成クロックclkcを生成する。この構成による生成クロックclkcの生成可能周波数幅や精度は、実施の形態1と同様である。また、全回路をディジタル回路で構成可能であることも同様である。更に、位相比較ではなく周波数比較としているため、位相比較を利用するより設計は容易である。また、図11の構成において、図1の位相比較部200を使用することも可能である。なお、以上の説明では、ダウンカウンタ117、比較器118及び基準クロックclka生成部113に入力するクロックは動作クロックの2倍速クロックclks2としているが、これに限らない。つまり、ダウンカウンタ117、比較器118及び基準クロックclka生成部113に入力するクロックは、動作クロックと同じ周期であってもよいし、動作クロックよりも速い周期のクロックであってもよいし、遅い周期のクロックであってもよい。また、動作クロックよりも速い周期のクロックを入力する場合にも、動作クロックの整数倍の周期のクロックでなくてもよい。また、動作クロックよりも遅い周期のクロックを入力する場合にも、動作クロックの整数分の一の周期のクロックでなくてもよい。このように、本実施の形態では、外部から入力される動作クロックと前記動作クロックと周波数が異なるもしくは等しい入力クロックと所望の周波数を表す設定値から前記動作クロック周波数の前記設定値の2倍分の一の周波数を有する生成クロックを生成するクロック生成部と、前記生成クロックと外部から入力される参照クロックの位相差を比較し、その位相差を出力する位相比較部と、前記位相比較部の出力である位相差から、前記位相差を0とするように前記設定値へ補正をする補正値を生成し、前記設定値へ補正値を加算する補正部とを備えるDLL回路を説明した。また、前記クロック生成部が、動作クロックで動作し、外部から入力される設定値を動作クロック周期で累算することで、第1のクロック基準クロックと遅延量を制御する第1の制御信号制御信号C1と、パルス生成タイミングを制御する第3の制御信号制御信号C3を生成する累算部と、前記累算部出力の前記第3の制御信号をイネーブルとして、前記動作クロックの1周期期間のパルスを生成するパルス生成部と、前記累算部出力の前記第1の制御信号で制御される遅延量を、前記パルス生成部で生成されたパルスへ与えて、遅延パルスを生成する可変遅延部と、前記第1のクロックの位相を前記遅延パルスで補正する位相調整部を有し、動作クロック周波数の前記設定値分の一の周波数を有する生成クロックを生成可能であることを説明した。また、外部から入力される設定値は、動作クロックの周波数と、所望の周波数の2倍の除算から算出され、整数と小数で表現できる実数であることを説明した。また、前記クロック生成部を構成する前記可変遅延部は、前記累算部の前記設定値の累算結果の小数部にあたる第1の制御信号を、内部に有する変換コードに従い、遅延量へ変換し、前記遅延量に相当する遅延を入力される前記倍速クロックもしくは前記パルス生成部のパルスへ与え、前記第2のクロックを出力することを説明した。また、前記クロック生成部を構成する位相調整部は、前記累算部出力の第1のクロックと、前記可変遅延部出力の第2のクロックもしくは前記遅延パルスを前記第2の制御信号のタイミングで論理和もしくは論理積もしくは排他的論理和をとることで前記第1のクロックの位相を調整することを説明した。また、前記位相比較部のかわりに、前記生成クロックと前記参照クロックの周波数差を比較し、その周波数差を出力する周波数比較部を用いることが可能であることを説明した。また、前記クロック生成部、前記位相比較部、前記補正部は論理回路で設計できることを説明した。なお、本実施の形態に係るクロック生成部100の動作を、累算部110の動作累算ステップ、パルス生成部140の動作パルス生成ステップ、可変遅延部120の動作可変遅延ステップ、位相調整部130による動作位相調整ステップを含むクロック生成方法として捉えることもできる。実施の形態3.図19は、実施の形態3によるDLL回路構成を示している。図19のDLL回路は、クロック生成部100と、位相比較部200、補正部300から構成される。入力は、動作クロックの4分周クロックclksdがクロック生成部100へ入力される以外、実施の形態1と同様である。また、クロック生成部100は、累算部110と、可変遅延部120と、位相調整部130ではなくクロック選択部150から構成されている。なお、本実施の形態では、累算部110からクロック選択部150に対して制御信号C4第4の制御信号に相当を出力する。制御信号C4は、クロック選択部150に対して、遅延クロックclkdの立ち上がりタイミング及び立下りタイミングを通知する信号である。クロック選択部150は、制御信号C4のアサートタイミングにおいて入力している遅延クロックclkdを選択して出力し、制御信号C4のアサートタイミング以外は、直近に選択した遅延クロックclkdの出力を維持して、動作クロックclksの周波数を設定値kで除算して得られる周波数を有するクロックを生成クロックclkcとして出力する。図20は、実施の形態3の累算部110の構成を示している。図20の累算部110第1制御信号生成部に相当は、累算器111と、カウンタ1112、加算器1113、比較器1114、制御信号C4生成部1115から構成される。累算器111は、動作クロックclksによって動作し、動作クロックclks周期で設定値kを累積するとともに、フィードバックされた制御信号C4のアサートタイミングによって設定値kの累算結果を出力する。累算器111の累算結果の整数値は加算器1113の入力となり、累算結果の小数値は制御信号C1として出力される。つまり、制御信号C1は、制御信号C4のアサートタイミングにおける設定値kの累積値の小数値を通知する信号である。図20のカウンタ1112は、前記累算器111と同様に動作クロックclksで動作し、1づつカウントアップし、そのカウンタ値を出力する。図20の加算器1113は、累算器111の累算結果の整数値からカウンタ1112のカウント値を減算し、その累算結果とカウンタ値の差分を出力する。図20の比較器1114は、前段の加算器1113の出力である累算器111出力とカウンタ1112出力の差分と、1を比較し、比較結果を出力する。図20の制御信号C4生成部1115第4制御信号生成部に相当は、加算器1113の出力のうちのLSBLeastSignificantBitと、比較器1114の出力を入力とし、制御信号C4を生成する。出力である制御信号C4は、外部へ出力されると同時に、前記累算器111へフィードバックされる。図19の可変遅延部120は、入力されるクロックが動作クロックの分周クロックになった以外は、実施の形態1及び2と同様の構成動作である。図21は、実施の形態3のクロック選択部150の構成を示している。図21のクロック選択部150は、現在の生成クロックclkcを動作クロックclksによって保持するFF151と、制御信号C4によってFF151の出力か遅延クロックclkdかを選択するセレクタ152から構成される。制御信号C4によって、遅延クロックclkdが切り替わったタイミングで遅延クロックclkdを選択し、次に遅延クロックclkdが切り替わるまでFF151を選択する。図19の位相比較部200及び補正部300は、実施の形態1と同様の構成動作である。また、位相比較部200の実施の形態2の周波数比較部400へ変換することも可能で、その場合の補正部は実施の形態2の構成となる。図22は、図19のDLL回路でのクロック生成時の動作を示している。図22の上段の波形がカウンタ1112によるカウンタ値推移をしている。このカウンタ値と累算器111で累算されている累算値の整数値が一致したときに、累算値の小数値によって選択された遅延クロックclkdを生成クロックとして出力する。カウンタ値と累算器111で累算されている累算値の整数値の一致判定は、加算器1113と比較器1114で実施する。選択した遅延クロックclkdの出力判定は、制御信号C4生成部1115出力の制御信号C4によって、クロック選択部150で実施する。図22において、上から下に向かう2本の矢印同一線上にある2本の矢印の組の各々が、制御信号C4のアサートタイミングに相当する。そして、2本の矢印の組のうち上側の矢印が指し示している遅延クロックclkdが累算値の小数値により選択された遅延クロックであり、下側の矢印が指し示している箇所が、生成クロックclkcにおける遅延クロックclkdの切り替わりのタイミングである。クロック選択部150は、このように、制御信号C4のアサートタイミングにおいて入力している遅延クロックclkdを選択して出力するとともに、出力した遅延クロックclkdをフィードバックしFF151で保持し、制御信号C4の次のアサートタイミングまでの期間は、フィードバックさせた遅延クロックclkdを出力する。以上のように、図19に示す実施の形態3によるDLL回路においても、実施の形態1及び2と同様に、非常に広レンジかつ、高精度な生成クロックclkcを生成可能であり、設計も容易で、小回路規模を実現できる。なお、以上の説明では、可変遅延部120に入力するクロックは動作クロックの4分周クロックclksdとしているが、これに限らない。つまり、可変遅延部120に入力するクロックは、動作クロックと同じ周期であってもよいし、動作クロックよりも速い周期のクロックであってもよいし、遅い周期のクロックであってもよい。また、動作クロックよりも速い周期のクロックを入力する場合にも、動作クロックの整数倍の周期のクロックでなくてもよい。また、動作クロックよりも遅い周期のクロックを入力する場合にも、動作クロックの整数分の一の周期のクロックでなくてもよい。このように、本実施の形態では、外部から入力される動作クロックと前記動作クロックと周波数が異なるもしくは等しい入力クロックと所望の周波数を表す設定値から前記動作クロック周波数の前記設定値の2倍分の一の周波数を有する生成クロックを生成するクロック生成部と、前記生成クロックと外部から入力される参照クロックの位相差を比較し、その位相差を出力する位相比較部と、前記位相比較部の出力である位相差から、前記位相差を0とするように前記設定値へ補正をする補正値を生成し、前記設定値へ補正値を加算する補正部とを備えるDLL回路を説明した。また、前記クロック生成部が、動作クロックで動作し、外部から入力される設定値を動作クロック周期で累算することで、遅延量を制御する第1の制御信号制御信号C1と生成クロックのエッジ間隔を決める第4の制御信号制御信号C4を生成する累算部と、外部から動作クロックと周波数が異なるもしくは等しい入力クロックを受け取り、前記累算部出力の前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて遅延クロックを生成する可変遅延部と、前記第4の制御信号によって前記遅延クロックを選択するかフィードバックした生成クロックを選択するかを決定するクロック選択部を有し、動作クロック周波数の前記設定値の2倍分の一の周波数を有する生成クロックを生成可能であることを説明した。また、外部から入力される設定値は、動作クロックの周波数と、所望の周波数の2倍の除算から算出され、整数と小数で表現できる実数であることを説明した。また、前記クロック生成部を構成する前記可変遅延部は、前記累算部の前記設定値の累算結果の小数部にあたる第1の制御信号を、内部に有する変換コードに従い、遅延量へ変換し、前記遅延量に相当する遅延を入力される前記倍速クロックもしくは前記パルス生成部のパルスへ与え、前記第2のクロックを出力することを説明した。また、前記クロック生成部を構成する位相調整部は、前記累算部出力の第1のクロックと、前記可変遅延部出力の第2のクロックもしくは前記遅延パルスを前記第2の制御信号のタイミングで論理和もしくは論理積もしくは排他的論理和をとることで前記第1のクロックの位相を調整することを説明した。また、前記位相比較部のかわりに、前記生成クロックと前記参照クロックの周波数差を比較し、その周波数差を出力する周波数比較部を用いることが可能であることを説明した。また、前記クロック生成部、前記位相比較部、前記補正部は論理回路で設計できることを説明した。なお、本実施の形態に係るクロック生成部100の動作を、累算部110の動作累算ステップ、可変遅延部120の動作可変遅延ステップ、クロック選択部150による動作クロック選択ステップを含むクロック生成方法として捉えることもできる。実施の形態4.図23は、実施の形態4によるDLL回路構成を示している。図23のDLL回路は、実施の形態1のクロック生成部100のみで構成し、位相比較部200、補正部300を削除している。以上の構成により、クロック生成部のみの設計でよいため、より設計が容易となり、かつ小回路規模となる。実施の形態5.図24は、実施の形態5によるDLL回路構成を示している。図24のDLL回路は、実施の形態2のクロック生成部100のみで構成し、周波数比較部400、補正部300を削除している。以上の構成により、クロック生成部のみの設計でよいため、より設計が容易となり、かつ小回路規模となる。実施の形態6.図25は、実施の形態6によるDLL回路構成を示している。図25のDLL回路は、実施の形態3のクロック生成部100のみで構成し、位相比較部200、補正部300を削除している。以上の構成により、クロック生成部のみの設計でよいため、より設計が容易となり、かつ小回路規模となる。