guruguru123’s diary

かなり雑な作業日記です。

AD9851のドライブ

前回のエラー文中に

PIN "clk_gen/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;

を制約ファイルに入れるとエラーからワーニングに移るとあったため、試してみた。すると、出ていたエラーが消え、以下のようなワーニングに移った。

Pack:1653 - At least one timing constraint is impossible to meet because component delays alone exceed the constraint.

Place:1137 - This design is not guaranteed to be routable!

Par:468 - Your design did not meet timing.

タイミングが合ってないとか出ている気がするが、ビットファイルが生成できたためとりあえず書き込みを行った。各制御ピンの出力の様子を以前と同じようにLabToolで信号取得をした。以下がそのキャプチャ。

f:id:guruguru123:20170508144620p:plain

緑の矢印の間がAD9851へのドライブ信号の1サイクルである。W_CLKが乱れているように見えるのはサンプルレートが40MHzだからであろう。取得した信号を見ていくと、赤い丸で囲まれたような不要な信号が立ち上がってしまっていることがわかる。また、ひとつの32bitの周波数データに対してAD9851へ一度書き込みをするように作ったつもりであったが、連続して書き込みが行われていることがわかる。

また、DCMを用いてAD9851制御ブロック用のクロック生成をやめて、32MHzを使って動かすことにした。