LoginSignup
7
0

More than 5 years have passed since last update.

DE0-Nanoで100MHzのクロック

Last updated at Posted at 2017-02-14

こんにちは。

使っているDE0-Nanoのクロックが50MHzであるため、出せるパルスの幅は20ナノ秒が下限と思っていたが違いました。

FPGAに搭載のPLL(Phase Locked Loop 位相同期回路)というものを利用すれば、入力周波数をn倍できるのだそうです。

いったいどんな魔法なのか理屈がさっぱりわかりませんが、とりあえず今日はこれを利用して2倍の100MHzのクロックをつくってみました。

まずQuartus Prime Lite Edition(自分のバージョンは16.0)の「Tools」→「IP Catalog」を選択します。

画面の右端にIP Catalogの検索ボックスが表示されるので、「PLL」と入力します。

WS000001.JPG

すると「ALTPLL」という項目が現れるのでダブルクリック。

「Save IP Variation」というダイアログが表示されます。

WS000000.JPG

「IP variation file name:」の値はプロジェクトフォルダに続けて自分は「apll」と入力しました。
(ALTPLLとかPLLと入力したら、その名前は使えないと怒られたので)

「IP variation file type:」は「Verilog」を選択しました。

すると「MegaWizard Plug-In Manager」というウィザードが始まります。

WS000002.JPG

最初の画面でもうわからなくて困りましたが、とりあえず「inputは何MHzなの?」と聞かれているのはわかるので「50MHz」と答えて「Next」をクリックしておきました。

WS000003.JPG

次の画面。
なにも答えられないので、すべてチェックのついていない状態で「Next」をクリック。

WS000004.JPG

次の画面。
なにも触らず「Next」をクリック。自分の不勉強が情けなくなってきます。

WS000005.JPG

もう何も言うことはありません。

WS000006.JPG

・・・。

WS000007.JPG

これは重要そうな予感がします!
「何MHzのクロックを作りたいの?」と聞かれている気がしたので「100MHzです!」と答えて「Next」をクリックしておきました。

WS000008.JPG

まだまだクロックを作れるような感じですが、今はひとつあれば十分なので「Use this clock」のチェックが外れていることを確認しつつ「Next」をクリック。

clk4まで同じことを繰り返します。

WS000009.JPG

なにも変更せずに「Next」をクリック。

WS000010.JPG

ついに最後の画面。
なにやら出力するファイルの確認のようです。特になにもいじらずに「Finish」をクリックします。

さて、エクスプローラーでプロジェクトフォルダを開いてみると、最初に入力した「apll」をファイル名に含むファイルがいくつか保存されていました。

WS000014.JPG

その中でも「apll.v」というファイル。これはモジュールだろうと目星をつけました。

「たしかモジュールは関数のようなものだったはず・・・」
「50MHzクロックを入力すると100MHzクロックが出るように設定したはず・・・」
「てことは、引数にCLOCK_50を指定して呼び出せばいいのかな?」

と、いろいろと憶測を交えながら以下のリストのようなVerilogコードをでっち上げました。

module double_pulse(CLOCK_50, GPIO);

    input CLOCK_50;
    output [33:0] GPIO;

    apll apll_inst(CLOCK_50, CLOCK_100);

    assign GPIO[3] = CLOCK_100;

endmodule

結果・・・うまいこと100MHzのクロックを得ることができました!

DSC_0058.JPG

わーい。

(参考)
DE0 QuartusIIのMegaWizardでPLLを使う : まごころせいじつ堂

7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0