パラレルインタフェースを有するメモリと、前記メモリへのアクセスを命令するメモリアクセスコマンドを発行するシステム回路と、に接続されるメモリアクセス回路において、基準信号の基準周波数にロックされたPLLPhaseLockedLoop出力を生成する位相同期回路と、前記PLL出力を遅延させて基準クロック信号を生成する第1ファイクロックツリーと、前記基準クロック信号と、前記システム回路により生成されるシステムクロック信号との間のクロックスキューを補正して、前記システムクロック信号のソース信号を生成する第1遅延同期回路と、前記基準クロック信号と、前記メモリアクセス回路内で使用されるファイクロック信号との間のクロックスキューを補正して、前記ファイクロック信号のソース信号を生成する第2遅延同期回路と、前記システムクロック信号と前記ファイクロック信号との間の位相差を検出し、前記位相差に応じた第1検出信号を生成する第1位相検出回路と、前記基準クロック信号と前記ファイクロック信号との間の位相差を検出し、前記位相差に応じた第2検出信号を生成する第2位相検出回路と、前記基準クロック信号をカウントして、遅延補正信号を生成するマスタ遅延同期回路と、を備え、前記第1遅延同期回路は、前記第1検出信号に基づいて補正方向を決定し、前記遅延補正信号に基づいて補正量を決定し、前記第2遅延同期回路は、前記第2検出信号に基づいて補正方向を決定し、前記遅延補正信号に基づいて補正量を決定することを特徴とするメモリアクセス回路。前記第1遅延同期回路及び前記第2遅延同期回路の少なくとも1つは、前記基準クロック信号の複数相のうち、複数の基準相の前記基準クロック信号を選択する複数の基準相マルチプレクサと、任意の選択相の前記基準クロック信号を選択する選択相マルチプレクサと、前記複数の基準相マルチプレクサにより選択された前記複数の基準相の前記基準クロック信号を遅延させて、前記複数の基準相の遅延基準クロック信号を生成する複数の遅延素子アレイと、前記複数の遅延素子アレイから出力された複数の基準相の遅延基準クロック信号の1つを選択するDLLDelayLockedLoop出力マルチプレクサと、前記選択相と前記基準相とを比較し、前記選択相及び前記基準相の位相差に応じたクロックスキュー信号を生成する位相比較回路と、前記クロックスキュー信号に基づいて、選択すべき相を切り替えるように前記基準相マルチプレクサと、前記選択相マルチプレクサと、前記DLL出力マルチプレクサと、を制御するとともに、前記遅延素子アレイに対して、前記遅延補正信号に基づいて動作させる遅延素子の数を調整する遅延制御回路と、を備える請求項1のメモリアクセス回路。前記基準クロック信号を遅延させて、DLLクロック信号を生成する第2ファイクロックツリーと、前記第2遅延同期回路の出力を遅延させて、前記ファイクロック信号を生成する第3ファイクロックツリーと、前記基準クロック信号と前記DLLクロック信号との間のクロックスキューを補正して、前記メモリへ供給すべきストローブ信号のソース信号を生成する第3遅延同期回路と、前記基準クロック信号と前記DLLクロック信号との間のクロックスキューを補正して、前記メモリへ供給すべきデータクロックのソース信号を生成する第4遅延同期回路と、前記第2遅延同期回路の補正量に基づいて、前記第3遅延同期回路及び前記第4遅延同期回路へ供給すべき設定角度を算出する設定角度算出部と、をさらに備え、前記第3遅延同期回路及び前記第4遅延同期回路は、前記設定角度に基づいて、前記クロックスキューを補正する請求項1又は2のメモリアクセス回路。前記第1遅延同期回路及び前記第2遅延同期回路の少なくとも1つは、前記基準クロック信号の複数相のうち、1つの基準相を選択する基準相マルチプレクサと、前記基準相マルチプレクサにより選択された前記基準相の前記基準クロック信号を遅延させて、遅延基準クロック信号を生成する遅延素子アレイと、前記遅延補正信号に基づいて、選択すべき相を切り替えるように前記基準相マルチプレクサを制御するとともに、前記遅延素子アレイに対して、動作させる遅延素子の数を調整する遅延制御回路と、を備える請求項1のメモリアクセス回路。パラレルインタフェースを有するメモリと、前記メモリへのアクセスを命令するメモリアクセスコマンドを発行するシステム回路と、基準信号の基準周波数にロックされたPLLPhaseLockedLoop出力を生成する位相同期回路と、前記PLL出力を遅延させて基準クロック信号を生成する第1ファイクロックツリーと、前記基準クロック信号と、前記システム回路により生成されるシステムクロック信号との間のクロックスキューを補正して、前記システムクロック信号のソース信号を生成する第1遅延同期回路と、前記基準クロック信号と、前記メモリアクセス回路内で使用されるファイクロック信号との間のクロックスキューを補正して、前記ファイクロック信号のソース信号を生成する第2遅延同期回路と、前記システムクロック信号と前記ファイクロック信号との間の位相差を検出し、前記位相差に応じた第1検出信号を生成する第1位相検出回路と、前記基準クロック信号と前記ファイクロック信号との間の位相差を検出し、前記位相差に応じた第2検出信号を生成する第2位相検出回路と、前記基準クロック信号をカウントして、遅延補正信号を生成するマスタ遅延同期回路と、を備え、前記第1遅延同期回路は、前記第1検出信号に基づいて補正方向を決定し、前記遅延補正信号に基づいて補正量を決定し、前記第2遅延同期回路は、前記第2検出信号に基づいて補正方向を決定し、前記遅延補正信号に基づいて補正量を決定することを特徴とするメモリアクセスシステム。本発明が解決しようとする課題は、メモリアクセス回路のクロックスキューを補正することである。本実施形態のメモリアクセス回路は、パラレルインタフェースを有するメモリと、前記メモリへのアクセスを命令するメモリアクセスコマンドを発行するシステム回路と、に接続される。メモリアクセス回路は、位相同期回路と、第1ファイクロックツリーと、第1及び第2遅延同期回路と、第1及び第2位相検出回路と、マスタ遅延同期回路と、を備える。位相同期回路は、基準信号の基準周波数にロックされたPLLPhaseLockedLoop出力を生成する。第1ファイクロックツリーは、PLL出力を遅延させて基準クロック信号を生成する。第1遅延同期回路は、基準クロック信号と、システム回路により生成されるシステムクロック信号との間のクロックスキューを補正して、システムクロック信号のソース信号を生成する。第2遅延同期回路は、基準クロック信号と、メモリアクセス回路内で使用されるファイクロック信号との間のクロックスキューを補正して、ファイクロック信号のソース信号を生成する。第1位相検出回路は、基準クロック信号とファイクロック信号との間の位相差を検出し、位相差に応じた第1検出信号を生成する。第2位相検出回路は、基準クロック信号とファイクロック信号との間の位相差を検出し、位相差に応じた第2検出信号を生成する。マスタ遅延同期回路は、基準クロック信号をカウントして、遅延補正信号を生成する。第1及び第2遅延同期回路は、それぞれ、第1及び第2検出信号に基づいて補正方向を決定し、遅延補正信号に基づいて補正量を決定する。図面を参照しながら本実施形態を説明する。本実施形態のメモリシステムの構成を説明する。図1は、本実施形態のメモリシステム1のブロック図である。メモリシステム1は、メモリアクセス装置10と、メモリ20と、CPUCentralProcessingUnit30と、バス40と、を備える。CPU30は、所定のアプリケーションを起動して、メモリ20に格納されたデータに対してデータ処理を実行するモジュールである。CPU30は、メモリ20からデータを読み出し、アプリケーションの命令に基づいて読み出したデータに対して所定のデータ処理を実行し、データ処理の実行結果をメモリ20へ書き込む。また、CPU30は、メモリ20からデータを読み出すために、メモリアクセスを要求するリクエストを発行する。メモリアクセス装置10は、メモリアクセスを制御する装置である。メモリアクセス装置10は、バス40を介してCPU30に接続され、バス40を介さずにメモリ20に接続される。また、メモリアクセス装置10は、CPU30により発行されたリクエストに基づいて、メモリアクセスを制御する。メモリ20は、パラレルインタフェースを有し、様々なデータを記憶する記憶媒体例えば、DRAMである。本実施形態のメモリアクセス装置の構成を説明する。図2は、本実施形態のメモリアクセス装置10の構成図である。図2に示すように、メモリアクセス装置10は、システム回路12と、メモリアクセス回路14と、を備える。メモリアクセス回路14は、メモリ20と、システム回路12と、に接続される。システム回路12は、メモリアクセスコマンドMACを発行する回路である。システム回路12は、メモリアクセスコマンド発行部121と、システムクロックツリー122と、メモリデ-タ制御部124と、を備える。メモリアクセス回路14は、メモリアクセスを制御する回路である。メモリアクセス回路14は、PLL141と、第1DLL142~第5DLL146と、第1位相検出回路以下、PDPhaseDetectorという147aと、第2PD147bと、第1論理回路148~第3論理回路150と、第1ファイクロックツリー151~第3ファイクロックツリー153と、設定角度算出部154と、マスタDLL155と、第1増幅回路156~第4増幅回路159と、を備える。なお、DLLの数は、6つに限られるものではない。すなわち、メモリアクセス回路14は、6つ以上のDLLを備えても良い。また、メモリアクセスコマンド発行部121及び第1論理回路148~第3論理回路150は、幾つでも良い。メモリアクセスコマンド発行部121は、メモリ20へのアクセスを命令するメモリアクセスコマンドMACを発行するモジュールである。メモリアクセスコマンド発行部121は、バス40を介して転送されるリクエストREQとシステムクロック信号SYSTEMCLKとを入力し、入力したリクエストREQ及びシステムクロック信号SYSTEMCLKに基づいてメモリアクセスコマンドMACを発行する。メモリデ-タ制御部124は、メモリアクセスコマンド発行部121が発行したメモリアクセスコマンドMACに応じて、バス40から入力されるデータDATAを第1論理回路148と、第2論理回路149と、へ出力する。PLL141は、基準信号REFの周波数を逓倍した、任意の周波数以下、基準周波数というと出力信号以下、PLL出力というの位相差を検出し、検出した位相差に基づいて基準周波数にロックされたPLL出力を生成する回路である。PLL出力は、基準クロック信号PHYCLKCKのソース信号である。第1ファイクロックツリー151は、所定の第1クロックツリー長TL1の分だけPLL出力を遅延させて基準クロック信号PHYCLKCKを生成するモジュールである。基準クロック信号PHYCLKCKは、基準周波数の逓倍の周波数を有する。基準クロック信号PHYCLKCKは、メモリ20の動作タイミングを制御するためのタイミング制御信号のソース信号すなわち、メモリ20のソースクロックであるので、メモリアクセス回路14で使用される信号の中で、クロックジッタを低減する優先度が最も高い信号であり、配線長が最も短い配線で伝送される。マスタDLL155は、クロックスキューの補正や位相角度の設定に用いられる遅延補正信号DLLCNTを生成する回路である。マスタDLL155は、基準クロック信号PHYCLKCKを入力し、入力した基準クロック信号PHYCLKCKのクロックをカウントして遅延補正信号DLLCNTを生成する。遅延補正信号DLLCNTは、補正量ΔCや位相角度の基準となる、基準クロック信号の1サイクル分の周期に相当する遅延素子数を示す信号である。第1DLL142は、基準クロック信号PHYCLKCKとシステムクロック信号SYSTEMCLKとの間のクロックスキューを補正するクロックデスキュー回路である。システムクロック信号SYSTEMCLKは、システムクロックツリー122により生成される信号である。第1DLL142は、基準クロック信号PHYCLKCKと、第1PD147aの出力である第1PD出力PDOUT1と、遅延補正信号DLLCNTと、を入力し、第1PD出力PDOUT1に基づいて補正方向を決定し、遅延補正信号DLLCNTに基づいて補正量ΔC2を決定し、決定した補正方向及び補正量ΔC2に基づいて基準クロック信号PHYCLKCKを遅延させて、第1DLL出力DLLOUT1を生成する。第1DLL出力DLLOUT1は、システムクロック信号SYSTEMCLKのソース信号である。システムクロックツリー122は、PLL出力に対して所定の第3クロックツリー長TL3の分だけ第1DLL出力DLLOUT1を遅延させて、システムクロック信号SYSTEMCLKを生成するモジュールである。すなわち、システムクロック信号SYSTEMCLKは、クロックスキューが補正された第1DLL出力DLLOUT1に基づいて生成される信号である。第2ファイクロックツリー152は、基準クロック信号PHYCLKCKを入力し、PLL出力に対して所定の第2クロックツリー長TL2の分だけ基準クロック信号PHYCLKCKを遅延させて、DLLクロック信号DLLCLKを生成するモジュールである。DLLクロック信号DLLCLKは、タイミング制御信号の一種であるストローブ信号DQS及びデータ信号DQのソース信号である。第2DLL143は、基準クロック信号PHYCLKCKとファイクロック信号PHYCLKとの間のクロックスキューを補正するクロックデスキュー回路である。ファイクロック信号PHYCLKは、メモリアクセス回路14内で使用される信号である。第2DLL143は、基準クロック信号PHYCLKCKと、第2PD147bの出力である第2PD出力PDOUT2と、遅延補正信号DLLCNTと、を入力し、第2PD出力PDOUT2に基づいて補正方向を決定し、遅延補正信号DLLCNTに基づいて補正量ΔC1を決定し、決定した補正方向及び補正量ΔC1に基づいて基準クロック信号PHYCLKCKを遅延させて、第2DLL出力DLLOUT2を生成する。第2DLL出力DLLOUT2は、ファイクロック信号PHYCLKのソース信号である。また、第2DLL143は、補正量ΔC1に対応する基準角度Aを生成する。第3ファイクロックツリー153は、第2DLL出力DLLOUT2を入力し、PLL出力に対して所定の第2クロックツリー長TL2の分だけ第2DLL出力DLLOUT2を遅延させて、ファイクロック信号PHYCLKを生成するモジュールである。すなわち、ファイクロック信号PHYCLKは、クロックスキューが補正された第2DLL出力DLLOUT2に基づいて生成される信号である。ファイクロック信号PHYCLKのクロックツリー長は、DLLクロック信号DLLCLKのクロックツリー長と等しい。設定角度算出部154は、第3DLL144~第5DLL146へ供給すべき設定角度を算出するモジュールである。設定角度は、第1論理回路148の出力であるストローブ信号DQSと、第2論理回路149の出力であるデータ信号DQ及びデータマスク信号DMと、第3論理回路150の出力であるアドレス信号ADDR及びコマンド信号CMDとの間に設定すべき位相差を示す情報である。設定角度算出部154は、第2DLL143により生成された基準角度Aと、メモリアクセス回路14に接続された所定の外部回路例えば、システム回路12により生成された所定の位相角度Bと、を加算し、基準角度A及び位相角度Bの和を設定角度として第3DLL144~第5DLL146へ出力する。位相角度Bは、第3DLL144~第5DLL146のそれぞれについて、システム回路12により個別に決められる任意の追加補正量を示す角度であって、ストローブ信号DQSと、データ信号DQ及びデータマスク信号DM、アドレス信号ADDR及びコマンド信号CMDとの間に設定すべき位相差に対応する角度である。すなわち、システム回路12は、第3DLL144用の位相角度と、第4DLL145用の位相角度と、第5DLL146用の位相角度と、を個別に決める。なお、位相角度Bは、ストローブ信号DQSと、データ信号DQ及びデータマスク信号DMと、アドレス信号ADDR及びコマンド信号CMDとの間に設定すべき位相差に加えて、ストローブ信号DQSとメモリ基準信号CKとの間に設定すべき位相差を含んでも良い。第3DLL144~第5DLL146は、それぞれ、基準クロック信号PHYCLKCKとDLLクロック信号DLLCLKとの間のクロックスキューを補正するクロックデスキュー回路である。加えて、任意の位相角度を設定することができる回路である。第3DLL144~第5DLL146は、それぞれ、設定角度と、DLLクロック信号DLLCLKと、遅延補正信号DLLCNTと、設定角度算出部154の出力信号と、を入力し、設定角度及び遅延補正信号DLLCNTに基づいて補正量を決定し、決定した補正方向及び補正量に基づいてDLLクロック信号DLLCLKを遅延させて第3DLL出力DLLOUT3~第5DLL出力DLLOUT5を生成する。第3DLL出力DLLOUT3は、ストローブ信号DQSのソース信号である。第4DLL出力DLLOUT4は、データ信号DQ及びデータマスク信号DMのソース信号である。第5DLL出力DLLOUT5は、アドレス信号ADDR及びコマンド信号CMDのソース信号である。第2PD147bは、ファイクロック信号PHYCLKのクロックエッジの位相と基準クロック信号PHYCLKCKのクロックエッジの位相との間のずれを検出する回路例えばフリップフロップである。第2PD147bは、ファイクロック信号PHYCLKと、基準クロック信号PHYCLKCKと、を入力し、ファイクロック信号PHYCLKのクロックエッジと基準クロック信号PHYCLKCKのクロックエッジとのずれを検出し、ファイクロック信号PHYCLKのシステムクロック信号SYSTEMCLKに対する遅延方向ファイクロック信号PHYCLKがシステムクロック信号SYSTEMCLKに対して遅れているか又は進んでいるかを示す第2検出信号PDOUT2を生成する。第2検出信号PDOUT2は、ファイクロック信号PHYCLKと基準クロック信号PHYCLKCKの位相差に応じた1ビットの信号であって、例えば、0はファイクロック信号PHYCLKが基準クロック信号PHYCLKCKに対して遅れていることを示し、1はファイクロック信号PHYCLKが基準クロック信号PHYCLKCKに対して進んでいることを示す。第1PD147aは、ファイクロック信号PHYCLKのクロックエッジの位相とシステムクロック信号SYSTEMCLKのクロックエッジの位相との間のずれを検出する回路例えばフリップフロップである。第1PD147aは、ファイクロック信号PHYCLKと、システムクロック信号SYSTEMCLKと、を入力し、ファイクロック信号PHYCLKのクロックエッジとシステムクロック信号SYSTEMCLKのクロックエッジとのずれを検出し、ファイクロック信号PHYCLKのシステムクロック信号SYSTEMCLKに対する遅延方向ファイクロック信号PHYCLKがシステムクロック信号SYSTEMCLKに対して遅れているか又は進んでいるかを示す第1検出信号PDOUT1を生成する。第1検出信号PDOUT1は、ファイクロック信号PHYCLKとシステムクロック信号SYSTEMCLKの位相差に応じた1ビットの信号であって、例えば、0はファイクロック信号PHYCLKがシステムクロック信号SYSTEMCLKに対して遅れていることを示し、1はファイクロック信号PHYCLKがシステムクロック信号SYSTEMCLKに対して進んでいることを示す。第1論理回路148は、メモリ20のストローブ信号DQSを生成する回路である。第1論理回路148は、ファイクロック信号PHYCLKと、データDATAと、第3DLL出力DLLOUT3と、を入力し、入力した信号からストローブ信号DQSを生成し、生成したストローブ信号DQSを、第1増幅回路156を介してメモリ20へ出力する。なお、第1論理回路148は、第3DLL144に組み込まれても良い。第2論理回路149は、メモリ20のデータ信号DQ及びデータマスク信号DMを生成する回路である。第2論理回路149は、ファイクロック信号PHYCLKと、データDATAと、第4DLL出力DLLOUT4と、を入力し、入力した信号からデータ信号DQを生成し、生成したデータ信号DQを、第2増幅回路157を介してメモリ20へ出力する。なお、第2論理回路149は、第4DLL145に組み込まれても良い。第3論理回路150は、メモリ20のアドレス信号ADDR及びコマンド信号CMDを生成する回路である。第3論理回路150は、ファイクロック信号PHYCLKと、メモリアクセスコマンドMACと、第5DLL出力DLLOUT5と、を入力し、入力した信号からアドレス信号ADDR及びコマンド信号CMDを生成し、生成したアドレス信号ADDR及びコマンド信号CMDを、第3増幅回路158を介してメモリ20へ出力する。なお、第3論理回路150は、第5DLL146に組み込まれても良い。第1増幅回路156は、第1論理回路148から出力されたストローブ信号DQSを増幅し、増幅したストローブ信号DQSをメモリ20へ出力する回路である。第2増幅回路157は、第2論理回路149から出力されたデータ信号DQ及びデータマスク信号DMを増幅し、増幅したデータ信号DQをメモリ20へ出力する回路である。第3増幅回路158は、第3論理回路150から出力されたアドレス信号ADDR及びコマンド信号CMDを増幅し、増幅したアドレス信号ADDR及びコマンド信号CMDをメモリ20へ出力する回路である。第4増幅回路159は、基準クロック信号PHYCLKCKを増幅してメモリ20のタイミング制御信号の一種であるメモリ基準信号CKを生成し、生成したメモリ基準信号CKをメモリ20へ出力する回路である。本実施形態のメモリアクセス装置で取り扱われる信号を説明する。図3は、本実施形態のメモリアクセス装置10で取り扱われる信号波形図である。図3に示すように、ある時点において、第2PD147bの入力である第2PD入力は、PLL出力に対して第2クロックツリー長TL2だけ遅延している。この第2PD入力は、第2DLL143がクロックスキューを補正していないときに第3ファイクロックツリー153から出力される信号である。第2クロックツリー長TL2は、第1クロックツリー長TL1より長く、且つ第3クロックツリー長TL3より短い。これは、第3ファイクロックツリー153が、PLL出力に対して第2クロックツリー長TL2の分だけ第2DLL出力DLLOUT2を遅延させるためである。この場合に、第2PD147bは、基準クロック信号PHYCLKCKと第2PD入力との間に第2クロックツリー長TL2の分の位相差が存在することを示す第2検出信号PDOUT2を生成する。次いで、第2DLL143は、第2検出信号PDOUT2に基づいて基準クロック信号PHYCLKCKの補正量ΔC1を算出し、基準クロック信号PHYCLKCKを補正量ΔC1だけ補正して第2DLL出力DLLOUT2を生成する。次いで、第3ファイクロックツリー153は、第2DLL出力DLLOUT2を遅延させて、ファイクロック信号PHYCLKを生成する。これにより、ファイクロック信号PHYCLKの位相が基準クロック信号PHYCLKCKと等しくなる。次に、ある時刻において、第1PD147aの入力である第1PD入力は、PLL出力に対して第3クロックツリー長TL3だけ遅延している。この第1PD入力は、第1DLL142がクロックスキューを補正していないときに第3ファイクロックツリー153から出力される信号である。第3クロックツリー長TL3は、第2クロックツリー長TL2より長い。これは、システムクロックツリー122が、第3ファイクロックツリー153より長いためである。この場合に、第1PD147aは、ファイクロック信号PHYCLKと第1PD入力との間に第3クロックツリー長TL3の分の位相差が存在することを示す第1検出信号PDOUT1を生成する。次いで、第1DLL142は、第1検出信号PDOUT1に基づいて基準クロック信号PHYCLKCKの補正量ΔC2を算出し、基準クロック信号PHYCLKCKを補正量ΔC2だけ補正して第1DLL出力DLLOUT1を生成する。次いで、システムクロックツリー122は、第1DLL出力DLLOUT1を遅延させて、システムクロック信号SYSTEMCLKを生成する。ファイクロック信号PHYCLKの位相は、上記のとおり、基準クロック信号PHYCLKCKと等しいため、システムクロック信号SYSTEMCLKの位相もファイクロック信号PHYCLKと等しくなる。補正量ΔC2は、第3クロックツリー長TL3と第1クロックツリー長TL1との差である。本実施形態のマスタDLLを説明する。図4は、本実施形態のマスタDLL155の構成図である。図4は、4相クロックを使用するマスタDLL155を示している。マスタDLL155は、複数の遅延素子21a~21dと、複数の位相比較回路22a~22dと、遅延制御回路23と、を備える。複数の遅延素子21a~21dは、それぞれ、4相の基準クロック信号0度の基準クロック信号CLK0、90度の基準クロック信号CLK90、180度の基準クロック信号CLK180、及び270度の基準クロック信号CLK270のうちの1相を入力し、入力した基準クロック信号を1相分遅延させて遅延基準クロック信号を生成する。例えば、遅延素子21aは、0度の基準クロック信号CLK0を入力し、入力した0度の基準クロック信号CLK0を90度遅延させて90度の遅延基準クロック信号CLK90’を生成する。複数の位相比較回路22a~22dは、それぞれ、4相の基準クロック信号0度の基準クロック信号CLK0~270度の基準クロック信号CLK270のうちの1相と、各遅延素子21a~21dの出力である4相の遅延基準クロック信号CLK0’~CLK270’と、を入力し、基準クロック信号CLK0~CLK270と遅延基準クロック信号CLK0’~CLK270’の位相を比較し、基準クロック信号CLK0~CLK270と遅延基準クロック信号CLK0’~CLK270’の位相差に応じたクロックスキュー信号CS1~CS4を生成する。遅延制御回路23は、クロックスキュー信号CS1~CS4の何れかに基づいて、動作させる遅延素子21a~21dの数を調整する回路である。遅延制御回路23は、クロックスキュー信号CS1~CS4を入力し、入力したクロックスキュー信号CS1~CS4の何れかに基づいて90度に相当する遅延値すなわち、クロック周期の1/4に相当する時間と等価の遅延素子以下、90度分の遅延素子というの数を算出し、算出90度分の遅延素子の数に応じた遅延補正信号DLLCNTを生成し、生成した遅延補正信号DLLCNTを第1DLL142~第5DLL146へ出力する。第1実施形態第1実施形態を説明する。第1実施形態は、マスタDLLを使用する場合の第1DLL~第5DLLの例である。第1実施形態の第1DLL~第5DLLの構成を説明する。図5は、第1実施形態の第1DLL142及び第2DLL143の構成図である。図6は、第1実施形態の第3DLL144~第5DLL146の構成図である。図5は、4相クロックを使用する第1DLL142及び第2DLL143を示している。第1DLL142及び第2DLL143は、それぞれ、複数の第1マルチプレクサ31a~31cと、複数の遅延素子アレイ32a及び32bと、複数の第2マルチプレクサ33a及び33bと、位相比較回路34と、遅延制御回路35と、を備える。第1マルチプレクサ31a~31cは、それぞれ、4相の基準クロック信号0度の基準クロック信号CLK0、90度の基準クロック信号CLK90、180度の基準クロック信号CLK180、及び270度の基準クロック信号CLK270のうちの1相を選択する。第1マルチプレクサ31a及び31cは、それぞれ、位相制御又は遅延補正信号算出に使用される基準クロック信号の複数相のうち任意の基準相を選択する基準相マルチプレクサである。第1マルチプレクサ31a及び31cにより選択される2つの基準相は、互いに同一であっても良いし、異なっても良い。第1マルチプレクサ31bは、基準クロック信号の複数相のうち、遅延制御回路35により算出される基準角度Aに対して任意の選択相例えば、1相先の先行相の基準クロック信号を選択する選択相マルチプレクサである。例えば、第1マルチプレクサ31bは、基準角度Aが120度の場合には180度のクロック信号を選択し、基準角度Aが225度の場合には270度のクロック信号を選択する。基準相及び選択相の組み合わせは4通りである。すなわち、基準相及び選択相の組み合わせは、基準クロック信号CLK0及びCLK90、CLK90及びCLK180、CLK180及びCLK270、並びにCLK270及びCLK0である。従って、算出される遅延補正信号DLLCNTも4通りである。4相の基準クロック信号が入力されるときにスキュー差が発生するので、各遅延補正信号DLLCNTの値がばらつく場合があるが、タイミングマージンが十分に確保されていれば、各遅延補正信号DLLCNTの値のばらつきは無視することができる。遅延素子アレイ32aは、第1マルチプレクサ31aにより選択された基準相の基準クロック信号を遅延させて、基準相の遅延基準クロック信号を生成する。遅延素子アレイ32aは、位相制御用の遅延素子アレイ又は遅延補正信号算出用の遅延素子アレイとして使用される。遅延素子アレイ32bは、第1マルチプレクサ31cにより選択された選択相の基準クロック信号を遅延させて、選択相の遅延基準クロック信号を生成する。遅延素子アレイ32bは、遅延素子アレイ32aが位相制御用の遅延素子アレイとして使用される場合には、遅延補正信号算出用の遅延素子アレイとして使用され、遅延素子アレイ32aが遅延補正信号算出用の遅延素子アレイとして使用される場合には、位相制御用の遅延素子アレイとして使用される。すなわち、2つの遅延素子アレイ32a及び32bの機能は、互いに排他的である。第2マルチプレクサ33a及び33bは、位相制御用の遅延素子アレイ例えば、遅延素子アレイ32aの機能と、遅延補正信号算出用の遅延素子アレイ例えば、遅延素子アレイ32bの機能と、を切り替えるモジュールである。第2マルチプレクサ33aは、遅延素子アレイ32aから出力された基準クロック信号例えば、位相制御用の基準クロック信号及び遅延素子アレイ32bから出力された基準クロック信号例えば、遅延補正信号算出用の基準クロック信号の一方を選択し、選択した基準クロック信号を第1DLL出力DLLOUT1又は第2DLL出力DLLOUT2として、システムクロックツリー122又は第3ファイクロックツリー153へ出力するDLL出力マルチプレクサである。第2マルチプレクサ33bは、遅延素子アレイ32aから出力された基準クロック信号例えば、位相制御用の基準クロック信号及び遅延素子アレイ32bから出力された基準クロック信号例えば、遅延補正信号算出用の基準クロック信号の一方を選択するDLL出力マルチプレクサである。位相比較回路34は、選択相の基準クロック信号と、第2マルチプレクサ33bにより選択された基準クロック信号と、を入力し、2つの基準クロック信号の位相を比較し、2つの基準クロック信号の位相差に応じたクロックスキュー信号を生成する。遅延制御回路35は、第1検出信号PDOUT1又は第2検出信号PDOUT2と、遅延補正信号DLLCNTと、クロックスキュー信号とに基づいて、第1マルチプレクサ31a~31c、第1遅延素子32a、第2遅延素子32b、並びに第2マルチプレクサ33a及び33bを制御する。具体的には、遅延制御回路35は、第1検出信号PDOUT1又は第2検出信号PDOUT2に基づいて補正方向を決定する。また、遅延制御回路35は、クロックスキュー信号に基づいて、遅延補正信号DLLCNTを補正する。次いで、遅延制御回路35は、第1検出信号PDOUT1又は第2検出信号PDOUT2に応じた補正方向に基づいて、補正量ΔCを更新する。これにより、補正量ΔCが増加又は減少し、第1検出信号PDOUT1又は第2検出信号PDOUT2の補正方向が逆になる。次いで、遅延制御回路35は、更新された補正量ΔCと遅延補正信号DLLCNTとの値の比率を計算し、計算した比率に基づいてクロックスキューを調整するための基準角度Aを決定する。このとき、遅延制御回路35は、基準角度Aが0~90度である場合には、0度の基準クロック信号CLK0を選択するように第1マルチプレクサ31aを制御し、基準角度Aが90~180度である場合には、90度の基準クロック信号CLK90を選択するように第1マルチプレクサ31aを制御し、基準角度Aが180~270度である場合には、180度の基準クロック信号CLK180を選択するように第1マルチプレクサ31aを制御し、基準角度Aが270~360度である場合には、270度の基準クロック信号CLK270を選択するように第1マルチプレクサ31aを制御する。図6は、4相クロックを使用する第3DLL144~第5DLL146を示している。第3DLL144~第5DLL146は、それぞれ、複数の第1マルチプレクサ41a~41cと、複数の遅延素子アレイ42a及び42bと、複数の第2マルチプレクサ43a及び43bと、位相比較回路44と、遅延制御回路45と、を備える。なお、遅延素子アレイ42a及び42b、並びに位相比較回路44は、第1DLL142及び第2DLL143と同様である図5を参照。第1マルチプレクサ41a~41cは、それぞれ、4相の基準クロック信号0度の基準クロック信号CLK0、90度の基準クロック信号CLK90、180度の基準クロック信号CLK180、及び270度の基準クロック信号CLK270のうちの1相を選択する。第1マルチプレクサ41a及び41cは、それぞれ、位相制御又は遅延補正信号算出に使用される基準クロック信号の複数相のうち任意の基準相を選択する基準相マルチプレクサである。第1マルチプレクサ41a及び41cにより選択される2つの基準相は、互いに同一であっても良いし、異なっても良い。第1マルチプレクサ41bは、基準クロック信号の複数相のうち、遅延制御回路45により算出される設定角度に対して選択相例えば、1相先の先行相の基準クロック信号を選択する選択相マルチプレクサである。例えば、第1マルチプレクサ41bは、設定角度が120度の場合には180度のクロック信号を選択し、設定角度が225度の場合には270度のクロック信号を選択する。基準相及び選択相の組み合わせは4通りである。すなわち、基準相及び選択相の組み合わせは、基準クロック信号CLK0及びCLK90、CLK90及びCLK180、CLK180及びCLK270、並びにCLK270及びCLK0である。従って、算出される遅延補正信号DLLCNTも4通りである。4相の基準クロック信号が入力されるときにスキュー差が発生するので、各遅延補正信号DLLCNTの値がばらつく場合があるが、タイミングマージンが十分に確保されていれば、各遅延補正信号DLLCNTの値のばらつきは無視することができる。第2マルチプレクサ43a及び43bは、位相制御用の遅延素子アレイ例えば、遅延素子アレイ42aの機能と、遅延補正信号算出用の遅延素子アレイ例えば、遅延素子アレイ42bの機能と、を切り替えるモジュールである。第2マルチプレクサ43aは、遅延素子アレイ42aから出力された基準クロック信号例えば、位相制御用の基準クロック信号及び遅延素子アレイ42bから出力された基準クロック信号例えば、遅延補正信号算出用の基準クロック信号の一方を選択し、選択した基準クロック信号を第3DLL出力DLLOUT3~第5DLL出力DLLOUT5として、第1論理回路148~第3論理回路150へ出力する基準クロック選択部である。第2マルチプレクサ43bは、遅延素子アレイ42aから出力された基準クロック信号例えば、位相制御用の基準クロック信号及び遅延素子アレイ42bから出力された基準クロック信号例えば、遅延補正信号算出用の基準クロック信号の一方を選択する基準クロック選択部である。遅延制御回路45は、設定角度及びクロックスキュー信号に基づいて、第1マルチプレクサ41a~41c、第1遅延素子42a、第2遅延素子42b、並びに第2マルチプレクサ43a及び43bを制御する。具体的には、遅延制御回路45は、設定角度が0~90度である場合には、0度の基準クロック信号CLK0を選択するように第1マルチプレクサ41aを制御し、設定角度が90~180度である場合には、90度の基準クロック信号CLK90を選択するように第1マルチプレクサ41aを制御し、設定角度が180~270度である場合には、180度の基準クロック信号CLK180を選択するように第1マルチプレクサ41aを制御し、設定角度が270~360度である場合には、270度の基準クロック信号CLK270を選択するように第1マルチプレクサ41aを制御する。第1実施形態の第1DLL~第5DLLの動作を説明する。図7は、第1実施形態の第1DLL142~第5DLL146の動作説明図である。なお、図6の第3DLL144~第5DLL146は、図5の第1DLL142及び第2DLL143と同様に動作するので、その説明を省略する。例えば、図7に示すように、基準角度Aが45度である場合には、遅延制御回路35は、0度の基準クロック信号CLK0を選択するように第1マルチプレクサ31a及び31cを制御し、90度の基準クロック信号CLK90を選択するように第1マルチプレクサ31bを制御する。また、設定角度が45度である場合には、図6の遅延制御回路45は、図5の遅延制御回路35と同様に動作する。また、図5の遅延制御回路35は、基準角度A及び遅延補正信号DLLCNTに基づいて、遅延補正信号算出用の遅延素子アレイ例えば、遅延素子アレイ32bの90度分の遅延素子の数を調整する。例えば、遅延制御回路35は、式1を用いて遅延素子の数を算出する。式1において、Nは遅延素子の数であり、Cは遅延補正信号DLLCNTの値であり、MODR/90はRを90で除したときの余りであり、Rは基準角度Aである。遅延制御回路35は、第1DLL142~第5DLL146に対して最適化された遅延調整量を示す遅延補正信号DLLCNTとして、式1の算出結果を保持する。また、図6の遅延制御回路45は、図5の遅延制御回路35と同様に動作する。遅延制御回路35の動作例を説明する。はじめに、遅延制御回路35は、任意の相の基準クロック信号例えば、0度の基準クロック信号CLK0を選択するように、第1マルチプレクサ31cを制御する。次に、遅延制御回路35は、所定の象限例えば、0度~90度の象限で遅延補正信号算出用の遅延素子アレイ例えば、遅延素子アレイ32bの遅延素子の数を調整する。次に、遅延制御回路35は、遅延素子の数を調整していない象限以下、未調整象限というの相の基準クロック信号を選択するように第1マルチプレクサ31cを制御する。次に、遅延制御回路35は、算出済みの遅延補正信号の値を起点として、未調整象限の遅延素子の数を調整する。これにより、第1DLL142~第5DLL146の初期調整が終了する。初期調整では、未調整象限の遅延素子の数を調整するときに、算出済みの遅延補正信号すなわち、遅延素子の数を調整した象限の算出結果を使用するので、遅延補正信号の算出の所要時間を短縮することができる。遅延制御回路35は、第1DLL142~第5DLL146の初期調整を終了すると、第1DLL142~第5DLL146が動作している間に、位相比較回路34を常に監視する。例えば、遅延素子アレイ32bが遅延補正信号算出用の遅延素子アレイとして使用される場合には、遅延制御回路35は、第2マルチプレクサ33bに遅延素子アレイ32bを選択させ、第1マルチプレクサ31bに使用中のクロック例えば、120度に対して1相先のクロック例えば、180度を選択させ、第1マルチプレクサ31cに使用中のクロックに対して1相前のクロック例えば、90度を選択させる。遅延素子アレイ32bは、遅延補正信号DLLCNTを約90度遅延させる。このとき、遅延制御回路35は、クロックスキュー信号が遅延素子を通るパスの方が長いことを示す場合には、遅延補正信号の値を小さくし、クロックスキュー信号が遅延素子を通るパスの方が短いことを示す場合には、遅延補正信号の値を大きくする。例えば、電圧及び温度に応じて遅延素子の特性を補正する場合には、常に、遅延補正信号DLLCNTの値を遅延補正信号算出用の遅延素子アレイを用いて、更新する必要がある。また、ディレイラインとして使用している象限以外の遅延補正信号DLLCNTも、更新する必要がある。この初期調整と並行して、第1DLL142及び第2DLL143は、それぞれ、初期調整後も第1検出信号PDOUT1及び第2検出信号PDOUT2を参照し続け、スキューの変化に応じて補正量ΔCを変化させる。第1実施形態のメモリアクセス回路14は、上記のとおり、メモリアクセス回路14のタイミングマージンにあわせて最適に配線されたクロックツリーでクロック間のスキューを補正する第1DLL142~第5DLL146を備えている。従って、メモリアクセス回路14の回路規模及び消費電力の増加を抑え、且つ、タイミングマージンを減少させることなく、メモリアクセス回路14のクロックスキューを補正することができる。第2実施形態第2実施形態を説明する。第2実施形態は、第1実施形態より回路面積及び消費電力が小さい第1DLL~第5DLLの例である。なお、上述の実施形態と同様の説明は省略する。第2実施形態の第1DLL~第5DLLの構成を説明する。図8は、第2実施形態の第1DLL142~第5DLL146の構成図である。図8は、4相クロックを使用する各DLLを示している。第1DLL142~第5DLL146は、それぞれ、第1マルチプレクサ31又は41と、遅延素子アレイ32又は42と、遅延制御回路35又は45と、を備える。第1マルチプレクサ31及び41は、それぞれ、4相の基準クロック信号0度の基準クロック信号CLK0、90度の基準クロック信号CLK90、180度の基準クロック信号CLK180、及び270度の基準クロック信号CLK270のうちの1相を選択する基準相マルチプレクサである。遅延素子アレイ32及び42は、それぞれ、第1マルチプレクサ31及び41から出力された基準クロック信号を遅延させて、遅延基準クロック信号を生成し、生成した遅延基準クロック信号を第1DLL出力DLLOUT1~第5DLL出力DLLOUT5として、システムクロックツリー122、第1論理回路148、又は第2論理回路149へ出力する。遅延制御回路35及び45は、それぞれ、第1PD出力PDOUT1、第2PD出力PDOUT2、又は設定角度に基づいて、第1マルチプレクサ31及び41を制御する。具体的には、遅延制御回路35及び45は、それぞれ、基準角度A及び設定角度が0~90度である場合には、0度の基準クロック信号CLK0を選択するように第1マルチプレクサ31及び41を制御し、基準角度A及び設定角度が90~180度である場合には、90度の基準クロック信号CLK90を選択するように第1マルチプレクサ31及び41を制御し、基準角度A及び設定角度が180~270度である場合には、180度の基準クロック信号CLK180を選択するように第1マルチプレクサ31及び41を制御し、基準角度A及び設定角度が270~360度である場合には、270度の基準クロック信号CLK270を選択するように第1マルチプレクサ31及び41を制御する。また、第3DLL144~第5DLL146の遅延制御回路45は、設定角度及び遅延補正信号DLLCNTに基づいて、遅延素子アレイ42の90度分の遅延素子の数を調整する。例えば、遅延制御回路45は、式1を用いて遅延素子の数を算出する。遅延制御回路45は、第3DLL144~第5DLL146に対して最適化された遅延調整量に対応する遅延補正信号DLLCNTとして、式1の算出結果を保持する。第2実施形態の第1DLL142及び第2DLL143は、第1実施形態の第2マルチプレクサ33a及び33b、並びに位相比較回路34を備えていない。また、第2実施形態の第3DLL144~第5DLL146は、第1実施形態の第2マルチプレクサ43a及び43b、並びに位相比較回路44を備えていない。また、第2実施形態の第1マルチプレクサ31及び41、並びに遅延素子アレイ32及び42は、第1実施形態より少ない。従って、タイミングマージンに対する要求が比較的緩いパスのクロックスキューを補正する場合に、第1DLL142~第5DLL146の回路面積及び消費電力を第1実施形態より低減することができる。第3実施形態第3実施形態を説明する。第3実施形態は、遅延制御回路がn相クロックの補正量を算出する例である。なお、上述の実施形態と同様の説明は省略する。第3実施形態の第1DLL~第5DLLの構成は、第1実施形態と同様である図5及び図6。第3実施形態の第1DLL~第5DLLの動作を説明する。図9及び図10は、第3実施形態の第1DLL142~第5DLL146の動作説明図である。遅延補正信号の合計すなわち、360度を遅延素子の数Nで除算すると、1相あたりの遅延補正信号DLLCNTの理想値が得られる。例えば、mmは自然数相目の遅延補正信号DLLCNTを補正量の算出式は、m-1相目までの遅延補正信号DLLCNTの合計とm-1相目までの理想値の合計との大小関係と、m相目までの遅延補正信号DLLCNTの合計とm相目までの理想値の合計との大小関係と、に応じて変わる。例えば、360×m-1/N度を設定するためには、m相目の0度補正値が必要となる。図9は、4相クロックにおいて、実際の基準クロック信号CLK90、CLK180、及びCLK270が、基準クロック信号CLK0より短い場合の遅延補正信号DLLCNTを示している。1相目0度以上では、遅延補正信号DLLCNT81が90度理想値より小さい。従って、遅延制御回路35及び45は、式2を用いて、基準クロック信号CLK90と90度理想値との差D1を算出する。式2において、SUMは遅延補正信号DLLCNTの合計であり、DLLCNTは1相目の遅延補正信号DLLCNT81である。補正後の遅延補正信号DLLCNTは、1相目0度以上の遅延補正信号DLLCNT81及び差D1の和に相当する。2相目90度以上では、基準クロック信号CLK90が90度理想値より小さい。従って、遅延制御回路35及び45は、それぞれ、基準クロック信号CLK90の位相に差D1を加算した値0度補正値を算出する。2相目90度以上では、遅延補正信号DLLCNT83が180度理想値より小さい。従って、遅延制御回路35及び45は、それぞれ、式3を用いて、基準クロック信号CLK180と180度理想値との差D2を算出する。式3において、SUMは遅延補正信号DLLCNTの合計であり、SUMは2相目までの遅延補正信号DLLCNTの合計である。補正後の遅延補正信号DLLCNTは、2相目90度以上の遅延補正信号DLLCNT83及び差D2の和に相当する。図10は、4相クロックにおいて、実際の基準クロック信号CLK90、CLK180、及びCLK270が、基準クロック信号CLK0より長い場合の遅延補正信号DLLCNTを示している。1相目0度以上では、遅延補正信号DLLCNT91が90度理想値より大きい。従って、遅延制御回路35及び45は、それぞれ、式4を用いて、基準クロック信号CLK90と90度理想値との差D3を算出する。式4において、DLLCNTは1相目の遅延補正信号DLLCNT91であり、SUMは遅延補正信号DLLCNTの合計である。補正後の遅延補正信号DLLCNTは、1相目0度以上の遅延補正信号DLLCNT91及び差D3の和に相当する。区間92の角度を設定する場合には、基準クロック信号CLK0を起点に、90度分の遅延である遅延補正信号DLLCNT91を90度補正値として設定する。区間92は、基準クロック信号CLK90の実際値と理想値との差分を表す。換言すると、区間92は、基準クロック信号CLK0を起点にして設定角度を設定する場合の位相の範囲を表す。次に、遅延補正回路35及び45は、それぞれ、設定角度から90度を引いた値90度補正値を遅延素子アレイ32a又は32b、及び42a又は42bに設定する。区間93の角度を設定する場合には、遅延補正回路35及び45は、それぞれ、基準クロック信号CLK90を起点に、設定角度すなわち、遅延補正信号DLLCNT91から差D3を引いた値を遅延素子アレイ32a又は32b、及び42a又は42bに設定する。第3実施形態では、遅延制御回路35及び45が、それぞれ、n相クロックの補正量を算出する。従って、n相クロックのスキュー差によるタイミングマージンの減少を問題とする場合に、補正の精度を改善することができる。第4実施形態第4実施形態を説明する。システムクロック信号SYSTEMCLKがPLL141に供給される例である。なお、上述の実施形態と同様の説明は省略する。第4実施形態のメモリアクセス装置の構成を説明する。図11は、第4実施形態のメモリアクセス装置10の構成図である。図11に示すように、メモリアクセス装置10は、第1実施形態~第3実施形態と同様に、システム回路12と、メモリアクセス回路14と、を備える。メモリアクセス回路14は、メモリ20と、システム回路12と、に接続される。システム回路12は、メモリアクセスコマンドMACを発行する回路である。システム回路12は、メモリアクセスコマンド発行部121と、システムクロックツリー122と、メモリデ-タ制御部124と、を備える。メモリアクセス回路14は、メモリアクセスを制御する回路である。メモリアクセス回路14は、PLL141と、第2DLL143~第5DLL146と、第2PD147bと、第1論理回路148~第3論理回路150と、第1ファイクロックツリー151~第3ファイクロックツリー153と、設定角度算出部154と、マスタDLL155と、第1増幅回路156~第4増幅回路159と、を備える。なお、DLLの数は、5つに限られるものではない。すなわち、メモリアクセス回路14は、5つ以上のDLLを備えても良い。また、メモリアクセスコマンド発行部121及び第1論理回路148~第3論理回路150は、幾つでも良い。メモリアクセスコマンド発行部121は、メモリ20へのアクセスを命令するメモリアクセスコマンドMACを発行するモジュールである。メモリアクセスコマンド発行部121は、バス40を介して転送されるリクエストREQと、システムクロックツリー122により生成されるシステムクロック信号SYSTEMCLKと、を入力し、入力したリクエストREQ及びシステムクロック信号SYSTEMCLKに基づいてメモリアクセスコマンドMACを発行する。システムクロックツリー調整部122は、基準信号REFを所定の第3クロックツリー長TL3の分だけ遅延させて、システムクロック信号SYSTEMCLKを生成するモジュールである。メモリデ-タ制御部124は、メモリアクセスコマンド発行部121が発行したメモリアクセスコマンドMACに応じて、バス40から入力されるデータDATAを第1論理回路148と、第2論理回路149と、へ出力する。PLL141は、基準周波数とPLL出力との位相差を検出し、検出した位相差に基づいて基準周波数にロックされたPLL出力を生成する回路である。PLL出力は、基準クロック信号PHYCLKCKのソース信号である。すなわち、システムクロック信号SYSTEMCLKと基準クロック信号PLLCLKCKは、PLL141によりデスキューされている。第1ファイクロックツリー151は、所定の第1クロックツリー長TLαの分だけPLL出力を遅延させて基準クロック信号PHYCLKCKを生成するモジュールである。基準クロック信号PHYCLKCKは、基準周波数の逓倍の周波数を有する。基準クロック信号PHYCLKCKは、メモリ20の動作タイミングを制御するためのタイミング制御信号のソース信号すなわち、メモリ20のソースクロックであるので、メモリアクセス回路14で使用される信号の中で、クロックジッタを低減する優先度が最も高い信号であり、配線長が最も短い配線で伝送される。マスタDLL155は、クロックスキューの補正量ΔCの決定に用いられる遅延補正信号DLLCNTを生成する回路である。マスタDLL155は、基準クロック信号PHYCLKCKを入力し、入力した基準クロック信号PHYCLKCKのクロックをカウントして遅延補正信号DLLCNTを生成する。遅延補正信号DLLCNTは、補正量ΔCの基準となる、基準クロック信号の1サイクル分の周期に相当する遅延素子数を示す信号である。第2ファイクロックツリー152は、基準クロック信号PHYCLKCKを入力し、PLL出力に対して所定の第2クロックツリー長TL2の分だけ基準クロック信号PHYCLKCKを遅延させて、DLLクロック信号DLLCLKを生成するモジュールである。DLLクロック信号DLLCLKは、タイミング制御信号の一種であるストローブ信号DQS及びデータ信号DQのソース信号である。第2DLL143は、基準クロック信号PHYCLKCKとファイクロック信号PHYCLKとの間のクロックスキューを補正するクロックデスキュー回路である。ファイクロック信号PHYCLKは、メモリアクセス回路14内で使用される信号である。第2DLL143は、基準クロック信号PHYCLKCKと、第2PD147bの出力である第2PD出力PDOUT2と、遅延補正信号DLLCNTと、を入力し、第2PD出力PDOUT2に基づいて補正方向を決定し、遅延補正信号DLLCNTに基づいて補正量ΔC1を決定し、決定した補正方向及び補正量ΔC1に基づいて基準クロック信号PHYCLKCKを遅延させて、第2DLL出力DLLOUT2を生成する。第2DLL出力DLLOUT2は、ファイクロック信号PHYCLKのソース信号である。また、第2DLL143は、補正量ΔC1に対応する基準角度Aを生成する。第3ファイクロックツリー153は、第2DLL出力DLLOUT2を入力し、PLL出力に対して所定の第2クロックツリー長TL2の分だけ第2DLL出力DLLOUT2を遅延させて、ファイクロック信号PHYCLKを生成するモジュールである。すなわち、ファイクロック信号PHYCLKは、クロックスキューが補正された第2DLL出力DLLOUT2に基づいて生成される信号である。ファイクロック信号PHYCLKのクロックツリー長は、DLLクロック信号DLLCLKのクロックツリー長と等しい。設定角度算出部154は、第3DLL144~第5DLL146へ供給すべき設定角度を算出するモジュールである。設定角度は、第1論理回路148の出力であるストローブ信号DQSと、第2論理回路149の出力であるデータ信号DQ及びデータマスク信号DMと、第3論理回路150の出力であるアドレス信号ADDR及びコマンド信号CMDとの間に設定すべき位相差を示す情報である。設定角度算出部154は、第2DLL143により生成された基準角度Aと、メモリアクセス回路14に接続された所定の外部回路例えば、システム回路12により生成された所定の位相角度Bと、を加算し、基準角度A及び位相角度Bの和を設定角度として第3DLL144~第5DLL146へ出力する。位相角度Bは、第3DLL144~第5DLL146のそれぞれについて、システム回路12により個別に決められる任意の追加補正量を示す角度であって、ストローブ信号DQSと、データ信号DQ及びデータマスク信号DMと、第3論理回路150の出力であるアドレス信号ADDR及びコマンド信号CMDとの間に設定すべき位相差に対応する角度である。すなわち、システム回路12は、第3DLL144用の位相角度と、第4DLL145用の位相角度と、第5DLL146用の位相角度と、を個別に決める。なお、位相角度Bは、ストローブ信号DQSと、データ信号DQと、アドレス信号ADDR及びコマンド信号CMDとの間に設定すべき位相差に加えて、ストローブ信号DQSとメモリ基準信号CKとの間に設定すべき位相差を含んでも良い。第3DLL144~第5DLL146は、それぞれ、基準クロック信号PHYCLKCKとDLLクロック信号DLLCLKとの間のクロックスキューを補正するクロックデスキュー回路である。第3DLL144~第5DLL146は、それぞれ、設定角度と、DLLクロック信号DLLCLKと、遅延補正信号DLLCNTと、を入力し、設定角度及び遅延補正信号DLLCNTに基づいて補正方向及び補正量を決定し、決定した補正方向及び補正量に基づいて基準クロック信号PHYCLKCKを遅延させて第3DLL出力DLLOUT3~第5DLL出力DLLOUT5を生成する。第3DLL出力DLLOUT3は、ストローブ信号DQSのソース信号である。第4DLL出力DLLOUT4は、データ信号DQ及びデータマスク信号DMのソース信号である。第5DLL出力DLLOUT5は、アドレス信号ADDR及びコマンド信号CMDのソース信号である。第2PD147bは、ファイクロック信号PHYCLKのクロックエッジの位相と基準クロック信号PHYCLKCKのクロックエッジの位相との間のずれを検出する回路例えばフリップフロップである。第2PD147bは、ファイクロック信号PHYCLKと、基準クロック信号PHYCLKCKと、を入力し、ファイクロック信号PHYCLKのクロックエッジと基準クロック信号PHYCLKCKのクロックエッジとのずれを検出し、ファイクロック信号PHYCLKのシステムクロック信号SYSTEMCLKに対する遅延方向ファイクロック信号PHYCLKがシステムクロック信号SYSTEMCLKに対して遅れているか又は進んでいるかを示す第2検出信号PDOUT2を生成する。第2検出信号PDOUT2は、ファイクロック信号PHYCLKと基準クロック信号PHYCLKCKの位相差に応じた1ビットの信号であって、例えば、0はファイクロック信号PHYCLKが基準クロック信号PHYCLKCKに対して遅れていることを示し、1はファイクロック信号PHYCLKが基準クロック信号PHYCLKCKに対して進んでいることを示す。第1論理回路148は、メモリ20のストローブ信号DQSを生成する回路である。第1論理回路148は、ファイクロック信号PHYCLKと、データDATAと、第3DLL出力DLLOUT3と、を入力し、入力した信号からストローブ信号DQSを生成し、生成したストローブ信号DQSをメモリ20へ出力する。なお、第1論理回路148は、第3DLL144に組み込まれても良い。第2論理回路149は、メモリ20のデータ信号DQ及びデータマスク信号DMを生成する回路である。第2論理回路149は、ファイクロック信号PHYCLKと、データDATAと、第4DLL出力DLLOUT4と、を入力し、入力した信号からデータ信号DQを生成し、生成したデータ信号DQをメモリ20へ出力する。なお、第2論理回路149は、第4DLL145に組み込まれても良い。第3論理回路150は、メモリ20のアドレス信号ADDR及びコマンド信号CMDを生成する回路である。第3論理回路150は、ファイクロック信号PHYCLKと、メモリアクセスコマンドMACと、第5DLL出力DLLOUT5と、を入力し、入力した信号からアドレス信号ADDR及びコマンド信号CMDを生成し、生成したアドレス信号ADDR及びコマンド信号CMDを、第3増幅回路158を介してメモリ20へ出力する。なお、第3論理回路150は、第5DLL146に組み込まれても良い。第1増幅回路156は、第1論理回路148から出力されたストローブ信号DQSを増幅し、増幅したストローブ信号DQSをメモリ20へ出力する回路である。第2増幅回路157は、第2論理回路149から出力されたデータ信号DQ及びデータマスク信号DMを増幅し、増幅したデータ信号DQ及びデータマスク信号DMをメモリ20へ出力する回路である。第3増幅回路158は、第3論理回路150から出力されたアドレス信号ADDR及びコマンド信号CMDを増幅し、増幅したアドレス信号ADDR及びコマンド信号CMDをメモリ20へ出力する回路である。第4増幅回路159は、基準クロック信号PHYCLKCKを増幅してメモリ20のタイミング制御信号の一種であるメモリ基準信号CKを生成し、生成したメモリ基準信号CKをメモリ20へ出力する回路である。第4実施形態のメモリアクセス装置で取り扱われる信号を説明する。図12は、第4実施形態のメモリアクセス装置10で取り扱われる信号波形図である。図12に示すように、PLL141の位相調整機能により、システムクロック信号SYSTEMCLKと基準クロック信号PHYCLKCKの遅延量の差分TLαは、補正量ΔCαで補正される。このとき、PLL141から見た基準クロックはシステムクロック信号SYSTEMCLKとなる。ある時点において、第2PD入力は、PLL出力に対して第2クロックツリー長TL2だけ遅延している。この第2PD入力は、第2DLL143がクロックスキューを補正していないときに第3ファイクロックツリー153から出力される信号である。第2クロックツリー長TL2は、第1クロックツリー長TL1より長く、且つ、第3クロックツリー長TL3より短い。これは、第3ファイクロックツリー153が、PLL出力に対して第2クロックツリー長TL2の分だけ第2DLL出力DLLOUT2を遅延させるためである。この場合に、第2PD147bは、基準クロック信号PHYCLKCKと第2PD入力との間に第2クロックツリー長TL2の分の位相差が存在することを示す第2検出信号PDOUT2を生成する。次いで、第2DLL143は、第2検出信号PDOUT2に基づいて基準クロック信号PHYCLKCKの補正量ΔC1を算出し、基準クロック信号PHYCLKCKを補正量ΔC1だけ補正して第2DLL出力DLLOUT2を生成する。次いで、第3ファイクロックツリー153は、第2DLL出力DLLOUT2を遅延させて、ファイクロック信号PHYCLKを生成する。これにより、ファイクロック信号PHYCLKの位相が基準クロック信号PHYCLKCKと等しくなる。第4実施形態によれば、第1実施形態~第3実施形態の第1DLL142及び第1PD147aを省略したメモリアクセス装置10により、第1実施形態~第3実施形態と同様の効果が得られる。これにより、第1実施形態~第3実施形態と比べて、メモリアクセス装置10の回路規模を縮小することができる。なお、本実施形態では、データ信号DQ及びストローブ信号DQSを生成する場合に、バイトごとに複数のDLLを組み合わせても良い。このとき、組み合わせられるDLLの構成は、同一であっても良いし、互いに異なっていても良い。例えば、第1DLL142及び第2DLL143は、図5の構成を備え、第3DLL144~第5DLL146は、図8の構成を備えていても良い。この場合には、図8の構成を備える第3DLL144~第5DLL146は、図5の構成を備える第1DLL142又は第2DLL143から遅延補正信号DLLCNTを取得することにより、回路面積を抑え、且つ、精度を保ったまま、複数の位相を調整することができる。また、本実施形態では、第2論理回路149がデータ信号DQ及びデータマスク信号DMを出力する例について説明したが、第2論理回路149は、データ信号DQのみを出力しても良い。なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で構成要素を変形して具体化される。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明が形成可能である。例えば、上述した実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。