DE10-Nano その2

Web上に転がってる資料がみんなQuartus IIのものでQuartus Primeになってしまった今、微妙にいろんなところが違ってしんどいんだけどめげずに頑張っていきたい

名前は聞いたことあったけど使ったことはなかったIPを使ってみる

一番簡単そうなところでPLLがIPとしてまとまってるらしいので使ってみる

f:id:misodengaku:20170905021455p:plain

Tools => IP catalogでIP catalogを表示させてPLLで検索するとAltera PLLが出てくるのでクリック

f:id:misodengaku:20170905021710p:plain

適当にケツにpllとでも名付ける

f:id:misodengaku:20170905021812p:plain

パラメータを変えてく、変えるべきところはReference Clock FrequencyとDesired Frequencyぐらいだけど50MHz入れたらなんか1MHz強ぐらいまでしか落とせなかったのでとりあえず10MHzを作ってあとは手で回していくことにする。

ついでにEnable locked output portとかいうののチェックを外してみたけど別にどっちでも良さそう、何もわからん

もういいわとなったらFinishをクリックでコードが生成される

f:id:misodengaku:20170905022123p:plain

生成されたコードがプロジェクトに勝手に追加されたかどうかは忘れたけどされてなければする

で、実際に生成されたコードを呼びだそうと思ったけどここがよくわからなくて、結局は雰囲気でこんなコードを書いた

生成されたIPと自分のコードを紐付けるところがよくわからなかったんだけど、要は普通のCとかと一緒で、

module pll (
        input  wire  refclk,   //  refclk.clk
        input  wire  rst,      //   reset.reset
        output wire  outclk_0  // outclk0.clk
    );

こんなモジュールを使いたいときはこう呼ぶ

wire clk0;
pll pll_0(clk_50, , clk0);

これでclk0にPLLから出てきた10MHzのパルスが流れるっぽい。

Cとかと違って指定しなければ未配線になるだけっぽいのでRSTとか知らねえよ的なピンがあったらガンガン無視していくといいっぽいことがわかった。

ところで

ここまで奮闘してきたけどよく見てみたらDE10-NanoのUser Manual見るとかなり丁寧なチュートリアルが載ってるっぽい。

www.terasic.com.tw

このままむやみやたらと殴り合っても勝てる気がしないので今後はUser Manualの通り進めていこうと思います。おわり