PLL回路
 源発振とVCOの周波数を比較して、VCO側を特定の周波数に固定する回路です。
 まず、源発振とVCOをぞれぞれ任意の値で分周器にかけます。この分周比率でVCOの周波数が決定します。
 VCO周波数 = 源発振周波数 x VCO分周比 / 源発振分周比
 分周された2つのクロックの立ち上がり(位相)を比較し、AよりBが早ければBの周波数を上げて(充電)、AよりBが早ければ周波数を下げる(放電)ための信号を作ります。
 この信号がループフィルタ==VCO制御電圧を充放電することで、2つの周波数がだんだん近づいて行きます。
 位相がA=Bに重なったとき、充放電は停止して2つの周波数が同じになり、VCOの周波数が固定されます。これをロックしたといいます。

PLLフィルター部の説明

 普通のPLLフィルター回路です。R21,R22,C21,C22で応答速度を調整します。

 この部分、なにも考えず他の回路から適当にパクりました。計算すらやってません。
 本来はここの調整が重要だそうですので、そこは詳しい方にお任せしましょう。

 注意点としては、C21にタンタルコンデンサを使用することくらいです。
 電解コンデンサは高周波特性が悪く、自己放電も大きいのでここには使いたくない。

 「ピシピシとスパイク上のノイズを出す」とも聞いたことがあります。
 ダイオードのD21は、電源OFF時にVREF電圧を放電するために付けてあります。
 VREF > VCCOとなっても問題ないのなら必要ないが、データシートにはVREF/VCCOの規定はみあたらりませんでした。
 SpartanII内部でリセット電圧を検出しているなら、PLL_OUTを自分で放電するようにしてD21を排除可能かもしれません。
 VREF電圧は0.6V〜1.5V辺りで可変しますが、これを0V/3.3VのLVTTLポートで直接ドライブしているため、時間単位の充放電エネルギー量は、H/L側で何倍も違ってきます。
 フェーズディテクタからフィードバックするには問題あって、フィルターの特性も充放電で何倍も違ってしまいますし、短いパルスで大きく充電されてしまうと、放電が進まず、周波数をロックできなくなります。

 本来、直流をカットしたうえで、1.65Vにバイアスすべきなのでしょうが、主義的にここは部品をケチっています。
 フィルターの方は大きめにすればよいし、充放電エネルギー比の問題はSpartanII側で なんとかさせましょう。

 VREFの入力電流は、NAX20uA/pinなので、インピーダンスは大きめにとることが可能です。
 フィルター回路のGNDレベルはノイズの少ないところに落としてください。