図4は、実施形態による半導体回路の構成例を示すブロック図である。半導体回路は、処理装置401、記憶装置402、遅延ロックループ(DLL)回路421、遅延回路422,423及びスキュー要素411〜413を有する。処理回路401は、例えば中央処理装置(CPU)である。記憶装置402は、例えばRAMである。スキュー要素411〜413は、例えば配線であり、それぞれ配線長によって遅延時間が異なる。処理装置401は、クロック信号CLK、データDATA0及びデータDATA1を出力する。記憶装置402は、クロック信号CLK、データDATA0及びデータDATA1を入力し、例えばクロック信号CLKに同期してデータDATA0及びDATA1等を記憶する。スキュー要素411は、処理装置401のクロック信号CLKの端子及び記憶装置402のクロック信号CLKの端子間に接続される。スキュー要素412は、処理装置401のデータDATA0の端子及び記憶装置402のデータDATA0の端子間に接続される。スキュー要素413は、処理装置401のデータDATA1の端子及び記憶装置402のデータDATA1の端子間に接続される。
遅延回路422は、処理装置401が出力するデータDATA0を遅延し、スキュー要素412を介して記憶装置402のデータDATA0の端子に出力する。遅延回路423は、処理装置401が出力するデータDATA1を遅延し、スキュー要素413を介して記憶装置402のデータDATA1の端子に出力する。
処理装置401は、例えばクロック信号CLK及びデータDATA0,DATA1を同タイミングで出力する。具体的には、クロック信号CLKの立ち上がりタイミングとデータDATA0,DATA1の変化タイミングが同じである。これに対し、記憶装置402は、例えばクロック信号CLKの立ち上がりエッジに同期してデータDATA0,DATA1をサンプリングする。そのため、記憶装置402では、クロック信号CLKの立ち上がりタイミングとデータDATA0,DATA1の変化タイミングが同じであると、データDATA0,DATA1は不確定の値がサンプリングされてしまう問題が生じる。そこで、遅延回路422及び423は、データDATA0及びDATA1をクロック信号CLKに対して90度遅延する。これにより、クロック信号CLKの立ち上がりタイミングは、データDATA0,DATA1の変化タイミングの中間位置に一致するため、記憶装置402は、クロック信号CLKの立ち上がりエッジに同期して安定したデータDATA0,DATA1をサンプリングすることができる。
遅延ロックループ回路421は、処理装置401が出力するクロック信号CLKの1周期の時間を検出し、クロック信号CLKの周期に応じて、制御信号CTLにより遅延回路422及び423の遅延時間を制御する。具体的には、上記のように、遅延回路422及び423は、データDATA0及びDATA1を、クロック信号CLKの360度の周期に対して90度遅延する。
上記のように、スキュー要素411〜413は、例えば配線であり、それぞれ配線長によって遅延時間が異なる。遅延回路422は、スキュー要素411及び412の遅延時間の差分に応じて、処理装置401が出力したデータDATA0の遅延時間を調整する。同様に、遅延回路423は、スキュー要素411及び413の遅延時間の差分に応じて、処理装置401が出力したデータDATA1の遅延時間を調整する。これにより、スキュー要素411〜413の遅延時間のずれに起因する、データDATA0及びDATA1の遅延時間のずれを補正することができる。
以上のように、遅延回路422及び423は、データDATA0及びDATA1を90度遅延する目的と、スキュー要素411〜413に起因する遅延時間のずれを補正する目的とを有する。
図5は、図4の遅延ロックループ回路421の構成例を示す図である。遅延ロックループ回路421は、N+1個の遅延ユニット501、位相比較器502及び制御回路503を有する。1個の遅延ユニット501は、端子A、B、C、Dを有する。N+1個の遅延ユニット501は、直列に接続される。制御回路503は、N+1個の制御信号EN[0]〜EN[N]によりN+1個の遅延ユニット501の遅延時間を制御することができる。遅延ユニット501は、制御信号EN[0]〜EN[N]に応じた遅延時間で、クロック信号CLKを遅延し、位相比較器502に出力する。遅延ユニット501は、高速に動作し、かつ動作周波数レンジを広くとることができる。位相比較器502は、クロック信号CLKと遅延ユニット501により遅延された信号を比較し、その比較結果信号を制御回路503に出力する。制御回路503は、上記の比較した2個の信号の位相が一致するように制御信号EN[0]〜EN[N]を出力する。このようなループ処理により、位相比較器502が比較する2個の信号の位相が一致する状態に収束する。この際、遅延ユニット501による遅延時間は、クロック信号CLKの1周期の時間と同じなる。制御回路503は、このようにしてクロック信号CLKの1周期の時間を検出することができる。制御回路503は、図4の遅延回路422及び423に対して90度の位相の遅延を行わせるように、制御信号CTLを遅延回路422及び423に出力する。クロック信号CLKの1周期は360度の位相であるので、制御回路503は、遅延ユニット501の遅延時間の1/4(=90度/360度)の遅延時間の遅延を遅延回路422及び423に指示する。これにより、遅延回路422及び423は、データDATA0及びDATA1を90度遅延させることができる。
クロック信号CLKの1周期は、温度及び電源電圧の動的なばらつきによって変動する。位相ロックループ回路421は、クロック信号CLKの周期を逐次検出するので、クロック信号CLKの周期が変動しても、遅延回路422及び423の遅延時間を動的に制御することができる。
図6は、図5の遅延ユニット501の構成例を示す回路図である。この遅延ユニット501は、制御信号EN[0]の遅延ユニット501を示すが、他の制御信号EN[1]〜EN[N]の遅延ユニット501も同様の構成を有する。遅延ユニット501は、端子A〜D、インバータ601及び否定論理積(NAND)回路602〜604を有する。否定論理積回路602〜604は、遅延素子である。インバータ601は、制御信号EN[0]の論理反転信号を出力する。否定論理積回路602は、インバータ601の出力信号及び端子Aの信号の否定論理積信号を端子Cに出力する。否定論理積回路603は、制御信号EN[0]及び端子Aの信号の否定論理積信号を出力する。否定論理積回路604は、否定論理積回路603の出力信号及び端子Dの信号の否定論理積信号を端子Bに出力する。
制御信号EN[0]がハイレベルであるときには、端子Cがハイレベルになり、端子Aの入力信号は2個の否定論理積回路603及び604を介して端子Bに出力される。これに対し、制御信号EN[0]がローレベルであるときには、否定論理積回路603はハイレベルを出力し、端子Aの入力信号は否定論理積回路602、端子C、後段の遅延ユニット501、端子D及び否定論理積回路604を介して端子Bに出力される。
1個の遅延ユニット501において、制御信号EN[0]がハイレベルであるときには、端子Aの入力信号は2個の否定論理積回路603及び604を介して端子Bに出力され、制御信号EN[0]がローレベルであるときには、端子Aの入力信号は2個の否定論理積回路602及び604を介して端子Bに出力される。
図5において、制御信号EN[0]〜[N]がハイレベルであるときには、クロック信号CLKは第1段目の遅延ユニット501内の2個の否定論理積回路603及び604を介して位相比較器502に出力される。この時の遅延時間は、2個の否定論理積回路(遅延素子)分の遅延時間になる。
また、制御信号EN[0]がローレベル、制御信号EN[1]〜[N]がハイレベルであるときには、クロック信号CLKは第1段目の遅延ユニット501内の2個の否定論理積回路602,604及び第2段目の遅延ユニット501内の2個の否定論理積回路603,604を介して位相比較器502に出力される。この時の遅延時間は、4個の否定論理積回路(遅延素子)分の遅延時間になる。
また、制御信号EN[0]及びEN[1]がローレベル、制御信号EN[2]〜[N]がハイレベルであるときには、クロック信号CLKは第1段目の遅延ユニット501内の2個の否定論理積回路602,604、第2段目の遅延ユニット501内の2個の否定論理積回路602,604及び第3段目の遅延ユニット501内の2個の否定論理積回路603,604を介して位相比較器502に出力される。この時の遅延時間は、6個の否定論理積回路(遅延素子)分の遅延時間になる。
以上のようにして、制御信号EN[0]〜[N]を制御することにより、クロック信号CLKの遅延時間を変えることができる。
図7は、図4の遅延回路422の構成例を示す図である。以下、遅延回路422の構成例を説明するが、遅延回路423も遅延回路422と同様の構成を有する。図7の遅延回路422は、図1の遅延回路に対して、粗調整遅延回路101が同じであり、微調整遅延回路102が異なる。入力信号INは、図4のデータDATA0に対応する。
遅延回路422は、粗調整遅延回路101及び微調整遅延回路102を有する。粗調整遅延回路101は、入力端子INの信号の遅延時間を粗調整して微調整遅延回路102に出力する。微調整遅延回路102は、粗調整遅延回路101から入力した信号の遅延時間を微調整して出力端子OUTに出力する。
粗調整遅延回路101は、遅延素子111〜118及びスイッチ121〜128を有する。遅延素子111〜118は、例えばバッファである。粗調整遅延回路101は、スイッチ121〜128を制御することにより、入力端子INの信号の遅延時間を変えることができる。例えば、スイッチ121及び125をオンし、他のスイッチ122〜124,126〜128をオフすると、入力端子INの信号は2個の遅延素子111及び112を通過して微調整遅延回路102に出力される。この時の遅延時間は、2個の遅延素子111及び112分の遅延時間である。また、スイッチ121,122及び126をオンし、他のスイッチ123〜125,127及び128をオフすると、入力端子INの信号は4個の遅延素子111〜114を通過して微調整遅延回路102に出力される。この時の遅延時間は、4個の遅延素子111〜114分の遅延時間である。また、スイッチ121,122,123及び127をオンし、他のスイッチ124〜126及び128をオフすると、入力端子INの信号は6個の遅延素子111〜116を通過して微調整遅延回路102に出力される。この時の遅延時間は、6個の遅延素子111〜116分の遅延時間である。また、スイッチ121〜124及び128をオンし、他のスイッチ125〜127をオフすると、入力端子INの信号は8個の遅延素子111〜118を通過して微調整遅延回路102に出力される。この時の遅延時間は、8個の遅延素子111〜118分の遅延時間である。粗調整遅延回路101は、スイッチ121〜128の制御信号に応じて入力信号INが通過する遅延素子の数を変えることにより入力信号INの遅延時間を制御し、入力信号INを遅延した信号を微調整遅延回路102の第1のノードINaに出力する。
微調整遅延回路102は、遅延素子131〜138及び位相補間回路151を有する。遅延素子131〜138は、例えばバッファである。第1のノードINaは、粗調整遅延回路101の出力信号を入力する。第1の遅延素子131,132は、第1のノードINa及び第2のノードINb間に接続され、第1のノードINaの信号を遅延して第2のノードINbに出力する。第2の遅延素子133,134は、第2のノードINb及び第3のノードINc間に接続され、第2のノードINbの信号を遅延して第3のノードINcに出力する。第3の遅延素子135,136は、第3のノードINc及び第4のノードINd間に接続され、第3のノードINcの信号を遅延して第4のノードINdに出力する。第4の遅延素子137,138は、第4のノードINd及び第5のノードINe間に接続され、第4のノードINdの信号を遅延して第5のノードINeに出力する。
位相補間回路151は、第1の重み付け回路201、第2の重み付け回路202、第3の重み付け回路203、第4の重み付け回路204、第5の重み付け回路205及び容量221を有する。容量221は、出力端子OUT及び基準電位(グランド電位)ノード間に接続される。第1の重み付け回路201及び第2の重み付け回路202は、図2の第1の重み付け回路201及び第2の重み付け回路202と同じ構成を有する。第3〜第5の重み付け回路203〜205も、第1及び第2の重み付け回路201及び202と同様の構成を有する。
図2に示すように、第1の重み付け回路201は、n+1個のスリーステートインバータ211を有する。n+1個のスリーステートインバータ211は、相互に並列接続され、入力端子がノードINaに接続され、出力端子が出力端子OUTに接続される。n+1個のスリーステートインバータ211は、それぞれn+1個の制御信号ENa[0]〜ENa[n]がハイレベルの時には、ノードINaの信号の論理反転信号を出力端子OUTに出力し、それぞれn+1個の制御信号ENa[0]〜ENa[n]がローレベルの時には、出力端子をハイインピーダンス状態にする。
第2の重み付け回路202は、n+1個のスリーステートインバータ212を有する。n+1個のスリーステートインバータ212は、相互に並列接続され、入力端子がノードINbに接続され、出力端子が出力端子OUTに接続される。n+1個のスリーステートインバータ212は、それぞれn+1個の制御信号ENb[0]〜ENb[n]がハイレベルの時には、ノードINbの信号の論理反転信号を出力端子OUTに出力し、それぞれn+1個の制御信号ENb[0]〜ENb[n]がローレベルの時には、出力端子をハイインピーダンス状態にする。
同様に、第3の重み付け回路203は、並列接続されたn+1個のスリーステートインバータを有し、入力端子がノードINcに接続され、出力端子が出力端子OUTに接続される。各スリーステートインバータは、制御信号がハイレベルの時には、ノードINcの信号の論理反転信号を出力端子OUTに出力し、制御信号がローレベルの時には、出力端子をハイインピーダンス状態にする。
同様に、第4の重み付け回路204は、並列接続されたn+1個のスリーステートインバータを有し、入力端子がノードINdに接続され、出力端子が出力端子OUTに接続される。各スリーステートインバータは、制御信号がハイレベルの時には、ノードINdの信号の論理反転信号を出力端子OUTに出力し、制御信号がローレベルの時には、出力端子をハイインピーダンス状態にする。
同様に、第5の重み付け回路205は、並列接続されたn+1個のスリーステートインバータを有し、入力端子がノードINeに接続され、出力端子が出力端子OUTに接続される。各スリーステートインバータは、制御信号がハイレベルの時には、ノードINeの信号の論理反転信号を出力端子OUTに出力し、制御信号がローレベルの時には、出力端子をハイインピーダンス状態にする。
第1の重み付け回路201の制御信号ENa[0]〜ENa[n]をハイレベルにし、第2〜第5の重み付け回路202〜205の制御信号をローレベルにすると、ノードINa、INb、INc、INd、INeの信号は重み付け回路201〜205により1:0:0:0:0で重み付けされ、容量221で加算される。その結果、出力端子OUTは最も早い第1のノードINaの位相の信号を出力する。また、第2の重み付け回路202の制御信号ENb[0]〜ENb[n]をハイレベルにし、第1、第3〜第5の重み付け回路201、203〜205の制御信号をローレベルにすると、ノードINa〜INeの信号は重み付け回路201〜205により0:1:0:0:0で重み付けされ、容量221で加算される。その結果、出力端子OUTは第2のノードINbの位相の信号を出力する。また、第1の重み付け回路201の制御信号ENa[0]〜ENa[n]のうちの半分の信号をハイレベルにし、第2の重み付け回路202の制御信号ENb[0]〜ENb[n]のうちの半分の信号をハイレベルにすると、ノードINa〜INeの信号は重み付け回路201〜205により1:1:0:0:0で重み付けされ、容量221で加算される。その結果、出力端子OUTは、第1のノードINaの信号の位相と第2のノードINbの信号の位相の中間の位相の信号を出力する。制御信号ENa[0]〜ENa[n]のハイレベルの数と制御信号ENb[0]〜ENb[n]のハイレベルの数の比率を制御することにより、第1のノードINaの信号の位相と第2のノードINbの信号の位相の間の位相の信号を出力端子OUTから出力することができる。
さらに、遅延時間を大きくしたいときには、上記と同様に、第2の重み付け回路202の制御信号のハイレベルの数と第3の重み付け回路203の制御信号のハイレベルの数の比率を制御することにより、第2のノードINbの信号の位相と第3のノードINcの信号の位相の間の位相の信号を出力端子OUTから出力することができる。この際、第1、第4及び第5の重み付け回路201、204及び205の制御信号はすべてローレベルである。
また、さらに、遅延時間を大きくしたいときには、上記と同様に、第3の重み付け回路203の制御信号のハイレベルの数と第4の重み付け回路204の制御信号のハイレベルの数の比率を制御することにより、第3のノードINcの信号の位相と第4のノードINdの信号の位相の間の位相の信号を出力端子OUTから出力することができる。この際、第1、第2及び第5の重み付け回路201、202及び205の制御信号はすべてローレベルである。
また、さらに、遅延時間を大きくしたいときには、上記と同様に、第4の重み付け回路204の制御信号のハイレベルの数と第5の重み付け回路205の制御信号のハイレベルの数の比率を制御することにより、第4のノードINdの信号の位相と第5のノードINeの信号の位相の間の位相の信号を出力端子OUTから出力することができる。この際、第1〜第3の重み付け回路201〜203の制御信号はすべてローレベルである。
以上のように、位相補間回路151は、ノードINa〜INeの信号をそれぞれ重み付けして加算することにより、第1のノードINaの信号の位相と第5のノードINbの信号の位相の間の位相の信号を出力端子OUTに出力することができる。
図5の遅延ロックループ回路421において、クロック信号CLKの1周期に対応する遅延時間が99個の遅延ユニット501の通過時間である場合を説明する。この場合、99個の遅延ユニット501の遅延時間がクロック信号CLKの360度の位相になる。上記のように、遅延回路422は、90度の位相の遅延を行う必要がある。図7の2個の遅延素子111及び112が図5の1個の遅延ユニット501と同じである場合を説明する。すなわち、図7の各遅延素子111〜118は、図6の各否定論理積回路602〜604に対応する。その場合、遅延回路422は、99個の遅延ユニット501の遅延時間の1/4(=90度/360度)の遅延時間で遅延を行う。すなわち、遅延回路422で通過する遅延ユニットの数は、99/4=24.75になり、粗調整遅延回路101だけでは実現できない。そこで、粗調整遅延回路101の他に、微調整遅延回路102を設けることにより、24.75個の遅延ユニット分の遅延を可能にする。
また、図1の微調整遅延回路102は、第1のノードINaの信号の位相と第2のノードINbの信号の位相の間の狭い範囲の位相の信号しか出力することができない。これに対し、図7の微調整遅延回路102は、第1のノードINaの信号の位相と第5のノードINeの信号の位相の間の広い範囲の位相の信号を出力することができるので、ジッタを低減することができる。
ここで、図7の微調整遅延回路102は、図1の微調整遅延回路102に対して、重み付け回路201〜205の数が増えるので、面積が増大する課題がある。そこで、面積の増大を抑制することができる遅延回路を、以下、説明する。
図8(A)及び(B)は、3個の重み付け回路201〜203を用いた遅延回路422を説明するための図である。図8(A)の遅延回路422は、図7の遅延回路422に対して、3個の重み付け回路201〜203を用いている点が異なる。図8(A)は小さな遅延時間で遅延を行う際の遅延回路422であり、図8(B)は大きな遅延時間で遅延を行う際の遅延回路422である。小さな遅延時間を指示する制御信号が入力されると、図8(A)に示すように、位相補間回路151は、第1のノードINa、第2のノードINb及び第3のノードINcに接続される。これに対し、大きな遅延時間を指示する制御信号が入力されると、図8(B)に示すように、位相補間回路151は、第2のノードINb、第3のノードINc及び第4のノードINdに接続される。遅延回路422は、制御信号に応じて、図8(A)の遅延回路又は図8(B)の遅延回路のいずれかの接続に切り替えられる。
位相補間回路151は、第1の重み付け回路201、第2の重み付け回路202、第3の重み付け回路203及び容量221を有する。容量221は、出力端子OUT及び基準電位ノード間に接続される。
図8(A)では、第1の重み付け回路201は、入力端子が第1のノードINaに接続され、出力端子が出力端子OUTに接続される。第2の重み付け回路202は、入力端子が第2のノードINbに接続され、出力端子が出力端子OUTに接続される。第3の重み付け回路203は、入力端子が第3のノードINcに接続され、出力端子が出力端子OUTに接続される。微調整遅延回路102は、制御信号に応じて、第1のノードINaの信号の位相と第3のノードINcの信号の位相の間の位相の信号を出力することができる。
図8(B)では、第1の重み付け回路201は、入力端子が第2のノードINbに接続され、出力端子が出力端子OUTに接続される。第2の重み付け回路202は、入力端子が第3のノードINcに接続され、出力端子が出力端子OUTに接続される。第3の重み付け回路203は、入力端子が第4のノードINdに接続され、出力端子が出力端子OUTに接続される。微調整遅延回路102は、制御信号に応じて、第2のノードINbの信号の位相と第4のノードINdの信号の位相の間の位相の信号を出力することができる。
以上のように、図8(A)の遅延回路と図8(B)の遅延回路との間で接続を切り替えることにより、微調整遅延回路102は、制御信号に応じて、第1のノードINaの信号の位相と第4のノードINdの信号の位相の間の位相の信号を出力することができる。位相補間回路151は、3個の重み付け回路201〜203を有するので、図7の5個の重み付け回路201〜205を有する位相補間回路151より面積を小さくすることができる。以下、図8(A)の遅延回路と図8(B)の遅延回路との間で接続を切り替える手段を説明する。
図9は、3個の重み付け回路201〜203を用いた遅延回路422の構成例を示す図である。遅延回路423も、遅延回路422と同様の構成を有する。図9の遅延回路は、図8(A)及び(B)の遅延回路に対して、遅延素子137〜148及びセレクタ901〜903を追加したものである。粗調整遅延回路101は、図7、図8(A)及び(B)の粗調整遅延回路101と同じである。
微調整遅延回路102は、遅延素子131〜148、セレクタ901〜903及び位相補間回路151を有する。遅延素子131〜148は、例えばバッファ又は否定論理積回路等である。遅延素子131〜148は、粗調整遅延回路101の出力端子の後段に直列に接続される。第1のノードA1は、粗調整遅延回路101の出力信号を入力する。第1の遅延素子131,132は、第1のノードA1及び第2のノードA2間に接続され、第1のノードA1の信号を遅延して第2のノードA2に出力する。第2の遅延素子133,134は、第2のノードA2及び第3のノードA3間に接続され、第2のノードA2の信号を遅延して第3のノードA3に出力する。第3の遅延素子135,136は、第3のノードA3及び第4のノードA4間に接続され、第3のノードA3の信号を遅延して第4のノードA4に出力する。第4の遅延素子137,138は、第4のノードA4及び第5のノードA5間に接続され、第4のノードA4の信号を遅延して第5のノードA5に出力する。第5の遅延素子139,140は、第5のノードA5及び第6のノードA6間に接続され、第5のノードA5の信号を遅延して第6のノードA6に出力する。第6の遅延素子141,142は、第6のノードA6及び第7のノードA7間に接続され、第6のノードA6の信号を遅延して第7のノードA7に出力する。第7の遅延素子143,144は、第7のノードA7及び第8のノードA8間に接続され、第7のノードA7の信号を遅延して第8のノードA8に出力する。第8の遅延素子145,146は、第8のノードA8及び第9のノードA9間に接続され、第8のノードA8の信号を遅延して第9のノードA9に出力する。
第1のセレクタ901は、第1のノードA1の信号、第4のノードA4の信号及び第7のノードA7の信号のうちのいずれかの信号を選択して出力する。第2のセレクタ902は、第2のノードA2の信号、第5のノードA5の信号及び第8のノードA8の信号のうちのいずれかの信号を選択して出力する。第3のセレクタ903は、第3のノードA3の信号、第6のノードA6及び第9のノードA9の信号のうちのいずれかの信号を選択して出力する。
位相補間回路151は、第1の重み付け回路201、第2の重み付け回路202、第3の重み付け回路203及び容量221を有する。第1の重み付け回路201は、第1の制御信号に応じて、第1のセレクタ901の出力ノードINaの信号を重み付けして出力端子に出力又は出力端子をハイインピーダンス状態にする。第2の重み付け回路202は、第2の制御信号に応じて、第2のセレクタ902の出力ノードINbの信号を重み付けして出力端子に出力又は出力端子をハイインピーダンス状態にする。第3の重み付け回路203は、第3の制御信号に応じて、第3のセレクタ903の出力ノードINcの信号を重み付けして出力端子に出力又は出力端子をハイインピーダンス状態にする。出力端子OUTは、第1の重み付け回路201の出力端子、第2の重み付け回路202の出力端子及び第3の重み付け回路の出力端子に接続される。容量221は、出力端子OUT及び基準電位ノード間に接続される。
遅延回路422が小さい遅延時間の制御信号CTLを入力すると、第1のセレクタ901は第1のノードA1の信号を選択し、第2のセレクタ902は第2のノードA2の信号を選択し、第3のセレクタ903は第3のノードA3の信号を選択する。位相補間回路151は、第1のノードA1の信号の位相と第3のノードA3の信号の位相の間の位相の信号を出力することができる。
次に、遅延回路422がより大きい遅延時間の制御信号CTLを入力すると、第1のセレクタ901は第4のノードA4の信号を選択し、第2のセレクタ902は第5のノードA5の信号を選択し、第3のセレクタ903は第6のノードA6の信号を選択する。位相補間回路151は、第4のノードA4の信号の位相と第6のノードA6の信号の位相の間の位相の信号を出力することができる。
次に、遅延回路422がより大きい遅延時間の制御信号CTLを入力すると、第1のセレクタ901は第7のノードA7の信号を選択し、第2のセレクタ902は第8のノードA8の信号を選択し、第3のセレクタ903は第9のノードA9の信号を選択する。位相補間回路151は、第7のノードA7の信号の位相と第9のノードA9の信号の位相の間の位相の信号を出力することができる。
第1〜第3の重み付け回路201〜203は、上記のように、隣接する2個の重み付け回路がハイレベルの制御信号を入力して動作状態であり、残りの1個の重み付け回路がローレベルの制御信号を入力して休止状態(出力端子がハイインピーダンス状態)になる。休止状態にある重み付け回路は、信号を出力しないため、セレクタにより入力信号を切り替えることができる。位相補間回路151は、制御信号に応じて、動作状態にある2個の重み付け回路に入力されている信号の重み付け比を制御することにより、遅延時間の微調整を行う。位相補間回路151の重み付け選択が最大又は最小になったとき、休止状態の重み付け回路はセレクタにより入力信号を切り替え、より早い又は遅い位相の信号を得る状態に遷移する。重み付け選択が最大又は最小になっている時点で、重み付け選択が0になっている側の重み付け回路は休止状態と同様の状態に遷移している。次に、位相補間回路151が制御信号を入力する際は、休止状態になっていた重み付け回路と、動作状態になっていた重み付け回路の間で位相補間を行う。休止状態になっている重み付け回路に入力する信号をセレクタにより選択することで、微調整遅延回路102のみの動作で遅延調整を行うことができる。
位相補間回路151は、制御信号に応じて、第1のセレクタ901の出力ノードINaの信号及び第2のセレクタ902の出力ノードINbの信号をそれぞれ重み付けして加算することにより第1のセレクタ901の出力ノードINaの信号の位相と第2のセレクタ902の出力ノードINbの信号の位相の間の位相の信号を出力し、又は第2のセレクタ902の出力ノードINbの信号及び第3のセレクタ903の出力ノードINcの信号をそれぞれ重み付けして加算することにより第2のセレクタ902の出力ノードINbの信号の位相と第3のセレクタ903の出力ノードINcの信号の位相の間の位相の信号を出力する。
以上のように、微調整遅延回路102は、制御信号に応じて、第1のノードA1の信号の位相と第9のノードA9の信号の位相の間の広い位相の範囲の信号を出力することができるので、ジッタを低減することができる。位相補間回路151は、3個の重み付け回路201〜203を有するので、図7の5個の重み付け回路201〜205を有する位相補間回路151より面積を小さくすることができる。
なお、第1のセレクタ901は少なくとも第1のノードA1の信号及び第4のノードA4の信号のうちのいずれかの信号を選択し、第2のセレクタ902は少なくとも第2のノードA2の信号及び第5のノードA5の信号のうちのいずれかの信号を選択し、第3のセレクタ903は少なくとも第3のノードA3の信号及び第6のノードA6の信号のうちのいずれかの信号を選択するものであればよい。
図10(A)は、図9の位相補間回路151の構成例を示す回路図である。位相補間回路151は、第1の重み付け回路201、第2の重み付け回路202、第3の重み付け回路203及び容量221を有する。容量221は、出力端子OUT及び基準電位ノード間に接続される。
第1の重み付け回路201は、n+1個のスリーステートインバータ211を有する。n+1個のスリーステートインバータ211は、相互に並列接続され、入力端子がノードINaに接続され、出力端子が出力端子OUTに接続される。n+1個のスリーステートインバータ211は、それぞれn+1個の制御信号ENa[0]〜ENa[n]がハイレベルの時には、ノードINaの信号の論理反転信号を出力端子OUTに出力し、それぞれn+1個の制御信号ENa[0]〜ENa[n]がローレベルの時には、出力端子をハイインピーダンス状態にする。
第2の重み付け回路202は、n+1個のスリーステートインバータ212を有する。n+1個のスリーステートインバータ212は、相互に並列接続され、入力端子がノードINbに接続され、出力端子が出力端子OUTに接続される。n+1個のスリーステートインバータ212は、それぞれn+1個の制御信号ENb[0]〜ENb[n]がハイレベルの時には、ノードINbの信号の論理反転信号を出力端子OUTに出力し、それぞれn+1個の制御信号ENb[0]〜ENb[n]がローレベルの時には、出力端子をハイインピーダンス状態にする。
第3の重み付け回路203は、n+1個のスリーステートインバータ213を有する。n+1個のスリーステートインバータ213は、相互に並列接続され、入力端子がノードINcに接続され、出力端子が出力端子OUTに接続される。n+1個のスリーステートインバータ213は、それぞれn+1個の制御信号ENc[0]〜ENc[n]がハイレベルの時には、ノードINcの信号の論理反転信号を出力端子OUTに出力し、それぞれn+1個の制御信号ENc[0]〜ENc[n]がローレベルの時には、出力端子をハイインピーダンス状態にする。
第1の重み付け回路201の制御信号ENa[0]〜ENa[n]をハイレベルにし、第2及び第3の重み付け回路202及び203の制御信号ENb[0]〜ENb[n]及びENc[0]〜ENc[n]をローレベルにすると、ノードINa、INb、INcの信号は重み付け回路201〜203により1:0:0で重み付けされ、容量221で加算される。その結果、図10(C)に示すように、出力端子OUTはノードINaの早い位相の信号1011を出力する。また、第2の重み付け回路202の制御信号ENb[0]〜ENb[n]をハイレベルにし、第1及び第3の重み付け回路201及び203の制御信号ENa[0]〜ENa[n]及びENc[0]〜ENc[n]をローレベルにすると、ノードINa〜INcの信号は重み付け回路201〜203により0:1:0で重み付けされ、容量221で加算される。その結果、図10(C)に示すように、出力端子OUTはノードINbの遅い位相の信号1013を出力する。制御信号ENa[0]〜ENa[n]のハイレベルの数と制御信号ENb[0]〜ENb[n]のハイレベルの数の比率を制御することにより、図10(C)に示すように、ノードINaの信号1011の位相とノードINbの信号1013の位相の間の位相の信号1012を出力端子OUTから出力することができる。この際、位相変化の線形性を維持するため、第1〜第3の重み付け回路201〜203の制御信号のハイレベルの数の合計はn+1個の一定値にする必要がある。
さらに、遅延時間を大きくしたいときには、上記と同様に、第2の重み付け回路202の制御信号ENb[0]〜ENb[n]のハイレベルの数と第3の重み付け回路203の制御信号ENc[0]〜ENc[n]のハイレベルの数の比率を制御することにより、ノードINbの信号の位相とノードINcの信号の位相の間の位相の信号を出力端子OUTから出力することができる。この際、第1の重み付け回路201の制御信号ENa[0]〜ENa[n]はすべてローレベルである。
以上のように、位相補間回路151は、ノードINa〜INcの信号をそれぞれ重み付けして加算することにより、ノードINaの信号の位相とノードINcの信号の位相の間の位相の信号を出力端子OUTに出力することができる。
図10(B)は、図10(A)のスリーステートインバータ211の構成例を示す回路図である。図10(A)のスリーステートインバータ212及び213も、スリーステートインバータ211と同様の構成を有する。インバータ1005は、制御信号ENa[0]の論理反転信号を出力する。pチャネル電界効果トランジスタ1001は、ソースが電源電位ノードに接続され、ゲートがノードINaに接続される。pチャネル電界効果トランジスタ1002は、ソースがpチャネル電界効果トランジスタ1001のドレインに接続され、ゲートがインバータ1005の出力端子に接続され、ドレインが出力端子OUTに接続される。nチャネル電界効果トランジスタ1003は、ドレインが出力端子OUTに接続され、ゲートに制御信号ENa[0]が入力される。nチャネル電界効果トランジスタ1004は、ドレインがnチャネル電界効果トランジスタ1003のソースに接続され、ゲートがノードINaに接続され、ソースが基準電位ノードに接続される。
制御信号ENa[0]がハイレベルになると、トランジスタ1002及び1003がオンし、ノードINaの信号の論理反転信号が出力端子OUTから出力される。これに対し、制御信号ENa[0]がローレベルになると、トランジスタ1002及び1003がオフし、出力端子OUTはハイインピーダンス状態になる。
図11(A)は、図9の第1のセレクタ901の構成例を示す回路図である。図9の第2及び第3のセレクタ902及び903も、第1のセレクタ901と同様の構成を有する。第1のセレクタ901は、トランジスタ1101〜1106及びバッファ1107を有する。バッファ1107は、入力信号を増幅してノードINaに出力する。
nチャネル電界効果トランジスタ1101は、ドレインが第1のノードA1に接続され、ゲートに制御信号B1が入力され、ソースがバッファ1107の入力端子に接続される。pチャネル電界効果トランジスタ1102は、ソースが第1のノードA1に接続され、ゲートに制御信号/B1が入力され、ドレインがバッファ1107の入力端子に接続される。制御信号/B1は、制御信号B1の論理反転信号である。トランジスタ1101及び1102は、トランスミッションゲートを構成する。
nチャネル電界効果トランジスタ1103は、ドレインが第4のノードA4に接続され、ゲートに制御信号B2が入力され、ソースがバッファ1107の入力端子に接続される。pチャネル電界効果トランジスタ1104は、ソースが第4のノードA4に接続され、ゲートに制御信号/B2が入力され、ドレインがバッファ1107の入力端子に接続される。制御信号/B2は、制御信号B2の論理反転信号である。トランジスタ1103及び1104は、トランスミッションゲートを構成する。
nチャネル電界効果トランジスタ1105は、ドレインが第7のノードA7に接続され、ゲートに制御信号B3が入力され、ソースがバッファ1107の入力端子に接続される。pチャネル電界効果トランジスタ1106は、ソースが第7のノードA7に接続され、ゲートに制御信号/B3が入力され、ドレインがバッファ1107の入力端子に接続される。制御信号/B3は、制御信号B3の論理反転信号である。トランジスタ1105及び1106は、トランスミッションゲートを構成する。
制御信号B1がハイレベル、制御信号B2及びB3がローレベルになると、トランジスタ1101及び1102がオンし、トランジスタ1103〜1106がオフする。これにより、第1のセレクタ901は、第1のノードA1の信号を選択し、ノードINaに出力することができる。
同様に、制御信号B2がハイレベル、制御信号B1及びB3がローレベルになると、トランジスタ1103及び1104がオンし、トランジスタ1101、1102、1105及び1106がオフする。これにより、第1のセレクタ901は、第4のノードA4の信号を選択し、ノードINaに出力することができる。
同様に、制御信号B3がハイレベル、制御信号B1及びB2がローレベルになると、トランジスタ1105及び1106がオンし、トランジスタ1101〜1104がオフする。これにより、第1のセレクタ901は、第7のノードA7の信号を選択し、ノードINaに出力することができる。
また、制御信号B1〜B3がローレベルになると、トランジスタ1101〜1106がオフし、ノードINaはハイインピーダンス状態になる。
図11(B)は、図9の第1のセレクタ901の他の構成例を示す回路図である。図9の第2及び第3のセレクタ902及び903も、第1のセレクタ901と同様の構成を有する。第1のセレクタ901は、スリーステートインバータ1111〜1113を有する。スリーステートインバータ1111〜1113は、図10(B)のスリーステートインバータ211と同様の構成を有する。
制御信号B1がハイレベル、制御信号B2及びB3がローレベルであるときには、スリーステートインバータ1111は第1のノードA1の信号の論理反転信号をノードINaに出力し、スリーステートインバータ1112及び1113の出力端子はハイインピーダンス状態になる。これにより、第1のセレクタ901は、第1のノードA1の信号を選択し、ノードINaに出力することができる。
制御信号B2がハイレベル、制御信号B1及びB3がローレベルであるときには、スリーステートインバータ1112は第4のノードA4の信号の論理反転信号をノードINaに出力し、スリーステートインバータ1111及び1113の出力端子はハイインピーダンス状態になる。これにより、第1のセレクタ901は、第4のノードA4の信号を選択し、ノードINaに出力することができる。
制御信号B3がハイレベル、制御信号B1及びB2がローレベルであるときには、スリーステートインバータ1113は第7のノードA7の信号の論理反転信号をノードINaに出力し、スリーステートインバータ1111及び1112の出力端子はハイインピーダンス状態になる。これにより、第1のセレクタ901は、第7のノードA7の信号を選択し、ノードINaに出力することができる。
また、制御信号B1〜B3がローレベルになると、ノードINaはハイインピーダンス状態になる。
図12は、他の実施形態による遅延回路422の構成例を示す図である。遅延回路423も、遅延回路422と同様の構成を有する。以下、図12の遅延回路422が図9の遅延回路422と異なる点を説明する。粗調整遅延回路101は、図5のN+1個の遅延ユニット501と同様に、N+1個の遅延ユニット1201を有する。遅延ユニット1201は、図6の遅延ユニット501と同様の構成を有する。複数の遅延ユニット1201は、図5の複数の遅延ユニット501と同様に接続される。複数の遅延ユニット1201は、図5の複数の遅延ユニット501に対して、制御信号EN[0]〜EN[N]の代わりに制御信号ENz[0]〜ENz[N]が入力される。粗調整遅延回路101の動作は、図5の複数の遅延ユニット501の動作と同様である。図12の粗調整遅延回路101内の否定論理積回路602〜604は、図9の粗調整遅延回路101内の遅延素子111〜118に対応する。遅延ユニット501及び1201は遅延時間が同じであるので、粗調整遅延回路101内の信号INの遅延ユニット1201の通過個数は、クロック信号CLKの遅延ユニット501の通過個数の1/4にすればよい。粗調整遅延回路101は、第4の制御信号ENz[0]〜ENz[N]に応じて入力信号INが通過する否定論理積回路(遅延素子)602〜604の数を変えることにより入力信号INの遅延時間を制御し、入力信号INを遅延した信号を第1のノードA1に出力する。
図12の微調整遅延回路102は、図9の微調整遅延回路102に対して、遅延素子131〜148の代わりに否定論理積回路(遅延素子)1231〜1248を設けたものである。否定論理積回路1231〜1248は、第1のノードA1及び基準電位ノード間に直列に接続され、各々が2個の入力信号の否定論理積信号を出力する。初段の否定論理積回路1231は、一方の入力端子が電源電位ノードに接続され、他方の入力端子が第1のノードA1に接続され、出力端子が否定論理積回路1232の入力端子に接続される。否定論理積回路1232〜1247は、一方の入力端子が電源電位ノードに接続され、他方の入力端子が前段の否定論理積回路の出力端子に接続され、出力端子が後段の否定論理積回路の入力端子に接続される。最終段の否定論理積回路1248は、一方の入力端子が電源電位ノードに接続され、他方の入力端子が否定論理積回路1247の出力端子に接続され、出力端子が基準電位ノードに接続される。
制御器1211は、図4の遅延ロックループ回路421から入力した制御信号CTLに応じて、遅延ユニット1201の制御信号ENz[0]〜ENz[N]を生成し、セレクタ901〜903の制御信号B1〜B3、/B1〜/B3(図11(A)、(B))を生成し、重み付け回路201〜203の制御信号ENa[0]〜ENa[n]、ENb[0]〜ENb[n]、ENc[0]〜ENc[n](図10(A))を生成する。制御信号CTLは、例えば、遅延時間増大制御信号及び遅延時間減少制御信号の2ビット線の信号である。また、制御信号CTLは、3ビット以上の信号により遅延時間そのものを示す信号でもよい。
以上のように、微調整遅延回路102は、遅延時間を微調整することができる範囲を広くすることができるので、ジッタを低減することができる。また、図9及び図12の微調整遅延回路102は、少ない重み付け回路201〜203で構成することができるので、面積を小さくすることができる。なお、粗調整遅延回路101は削除することができる。また、セレクタ901〜903及び重み付け回路201〜203は、それぞれ、3個に限定されず、4個以上設けてもよい。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。