PLLとDLLの違い:制御するもの・逓倍・ジッタ・安定性・用途を比較

どちらも基準のクロックとの位相のずれを検出し、それがゼロになるようにフィードバックで制御する回路ですが、動かすものが違います。PLLは電圧制御発振器(VCO)の周波数を動かし、自分で発振したクロックを基準に合わせるので、分周器と組み合わせて基準の何倍もの周波数を作れます。DLLは入力のクロックそのものを遅延線に通し、その遅延を調整して位相をそろえるだけなので、周波数は変えられませんが、ジッタが蓄積せず、ループも安定で設計しやすいという特長があります。

項目PLLDLL
名前Phase-Locked Loop(位相同期回路)Delay-Locked Loop(遅延同期ループ)
制御するものVCOの周波数(位相は周波数を積分したもの)遅延線の遅延の量
主な構成位相周波数比較器、チャージポンプ、ループフィルタ、VCO、帰還の分周器位相比較器、チャージポンプ、ループフィルタ(コンデンサ)、電圧制御の遅延線
出力のクロックVCOが自分で発振したクロック入力のクロックを遅らせたもの
周波数の逓倍できる。帰還に1/Nの分周器を入れると基準のN倍(小数倍の方式もある)基本はできない。出力は入力と同じ周波数(多相の出力を組み合わせて逓倍する方式もある)
ジッタVCOのゆらぎが周期ごとに蓄積し、ループの帯域より低い成分だけが補正される。基準のジッタは帯域より高い成分が除かれる遅延線はジッタを蓄積しない。入力のジッタはほぼそのまま出力に伝わる
ループの安定性VCOが積分の働きをするので2次以上のループになり、位相余裕を見てループフィルタを設計する必要がある遅延線は積分の働きを持たないので1次のループにでき、安定で設計しやすい
ロック広い周波数の範囲でロックできるが、ロックまでの時間は長め速くロックできるが、遅延の範囲が限られ、1周期ずれた位置にロックする誤ったロックに注意が必要
主な用途水晶の基準から高い周波数のクロックを作る、無線の周波数シンセサイザ、SerDesのクロックやクロック・データ・リカバリ(CDR)DDR DRAMの出力とクロックのタイミング合わせ、クロックのデスキュー、多相のクロックの生成

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

PLL
基準のクロックと違う周波数(多くは何倍も高い周波数)のクロックが必要なとき。水晶の基準からCPUやSerDesのクロックを作るとき、無線の周波数を作るとき。
DLL
周波数は同じでよく、チップの内部の遅延を打ち消してクロックの位相をそろえたいとき。DDR DRAMのデータの出力のタイミング合わせや、クロックのデスキュー。
組み合わせ
PLLで必要な周波数のクロックを作り、メモリのインターフェースなどでは、そのクロックを基準にDLLで細かい位相の調整(例えばストローブを1/4周期ずらす)を行う、という組み合わせがよく使われます。

よくある質問

DLLで、周波数を変えられないのはなぜですか?

DLLの出力は、入力のクロックを遅延線で遅らせたものだからです。遅延をいくら変えても、エッジの間隔は入力と同じで、周波数は変わりません。PLLは自分で発振するVCOを持ち、分周したクロックを基準に合わせるので、基準のN倍の周波数を作れます。

DLLでジッタが蓄積しないのはなぜですか?

DLLの出力の各エッジは、入力の各エッジを遅らせたもので、前の周期の誤差を引き継がないからです。PLLのVCOは、前の周期の終わりから次の周期が始まるので、ゆらぎが積み重なり、ループが補正するまで残ります。その代わり、DLLは入力のジッタをそのまま通してしまいます。

PLLのループの帯域は、どう決めますか?

帯域を広くすると、VCOのゆらぎを素早く補正できますが、基準のクロックのジッタは通りやすくなります。狭くすると、基準のジッタはよく除けますが、VCOのゆらぎが残り、ロックも遅くなります。基準とVCOのどちらのノイズが小さいかや、ループの安定性(位相余裕)を見て決めます。

DDR DRAMで、DLLが使われるのはなぜですか?

チップの内部のクロックの経路や出力の回路には遅延があり、電圧や温度で変わります。DLLでこの遅延を打ち消すと、外からのクロックのエッジにそろえてデータを出せます。周波数を変える必要はなく、ジッタを増やしにくいDLLが向いています。

理解度チェック

基準クロックに位相を合わせながら、その整数倍などの周波数のクロックをつくる回路はどれか。

  1. APLL(位相同期回路)
  2. B整流回路
  3. Cサンプルホールド回路
答えと解説を見る

正解:A. PLL(位相同期回路)

PLLは、位相比較器、ループフィルタ、電圧制御発振器(VCO)、分周器で構成され、VCOの出力を分周した信号と基準クロックの位相が一致するように制御します。分周比をNにすると基準のN倍の周波数が得られ、例えば25 MHzの水晶から数GHzのCPUクロックを作れます。小数分周(フラクショナルN)で細かい周波数も合成でき、無線の局部発振器や、高速シリアル通信のクロック再生にも使われます。

同期式回路の「クロックスキュー」の説明として正しいものはどれか。

  1. Aクロックの周波数が時間とともに変動すること
  2. Bクロック信号がフリップフロップごとに到着する時刻のずれ
  3. Cクロック信号の電圧が電源電圧より高くなること
答えと解説を見る

正解:B. クロック信号がフリップフロップごとに到着する時刻のずれ

クロックスキューは、同じクロックが配線の長さや負荷の違いでフリップフロップごとに異なる時刻に到着するずれです。受け側のクロックが遅れるとセットアップには有利でもホールドには不利になり、逆も同様です。チップ全体に届くクロックツリーをCTS(クロックツリー合成)で設計し、バッファの配置や配線長をそろえてスキューを数十ps以下に抑えます。周期の時間的な揺らぎはジッタです。

配置配線工程でのクロックツリー合成(CTS)の主な目的はどれか。

  1. Aクロック信号が各フリップフロップへ届く時間のばらつき(スキュー)を小さくする
  2. B電源電圧を上げる
  3. Cレイアウトのデザインルール違反を修正する
答えと解説を見る

正解:A. クロック信号が各フリップフロップへ届く時間のばらつき(スキュー)を小さくする

チップ内の数百万個のフリップフロップにクロックが届く時刻がばらつくと、タイミング違反の原因になります。CTSでは、バッファを木のように配置してクロックを分配し、各フリップフロップへの到着時刻のばらつき(スキュー)を小さくします。クロックは常に切り替わるため、クロックツリーはチップの消費電力の大きな部分を占めることもあります。電源電圧やDRC違反の修正とは別の目的です。

  1. 高い周波数の信号をAD変換するとき、サンプリングクロックの時間的なゆらぎ(ジッタ)が問題になる理由として正しいものはどれか。
  2. 水晶発振器が、時計やマイコンのクロック源として広く使われる主な理由はどれか。

アナログ・電子回路の練習問題へ

関連する用語の解説

PLL(位相同期回路)
基準クロックとの位相差を検出して発振器を制御し、基準に同期した、整数倍などの周波数のクロックをつくる回路。CPUのクロック生成や無線の周波数合成に使われる。
ジッタ
クロックや信号のエッジのタイミングの、理想からの細かな時間的なゆらぎ。高い周波数の信号をサンプリングするとき、わずかなジッタでも大きな電圧誤差になる。
クロックスキュー
同じクロック信号が、フリップフロップごとに到着する時刻のずれ。セットアップやホールドの余裕を変えるため、クロックツリー合成で小さく抑える。
位相余裕(フェーズマージン)
負帰還ループの利得が1(0 dB)になる周波数で、位相の遅れが180°に達するまでの余裕。小さいと応答が振動的になり、0以下では発振する。一般に45〜60°以上を目安にする。

関連する比較