Vivadoに触れてみる
IPを使ってみる
公開日:2023年7月31日
ブロックデザインを利用するとモジュールを視覚的に配置して設計できることがわかりました。Vivadoでは、様々な機能のモジュールがIPとして準備されています。前の記事では、2つのLEDを2つのBlink moduleで点滅させました。ここでは、Clocking WizardというIPを用いて、片方の点滅の時間を変更します。
Clocking Wizardは、入力されたクロックの周波数を変換するIPです。Blink moduleは、入力されたクロックをカウントして点滅間隔を決めています。このため、入力クロックの周波数を遅くすれば、点滅の間隔は長くなります。
Clocking Wizardを追加する
Diagram上部のAdd IPからClocking Wizardを選択します。
Clocking Wizardのパラメータを設定する
今回の用途に合わせてパラメータを設定します。簡単のため、以下の方針でパラメータを決めます。
- 入力クロックの周波数を25MHzに変換する。
- その他、未使用の機能は無効にする
Clocking Wizardをダブルクリックして設定画面を開きます。Output Clocksのタブのみ変更しその他は初期値のまま使用します。Output FrequencyのRequestedに25.000を入力します。reset,lockedは今回使用しません。チェックを外します。Clock設定がRequestとなっているのは、ハードウェアの制限で設定した周波数を実現できない場合があります。設定後、Actualの値が要求通りになるか確認します。
配線する
Blink_1のCLK入力の前にClocking Wizardを挿入します。Blink_1のCLK Pinを右クリックして、Disconnect Pinでネットを切り離します。配線ネットを選択して削除すると配線すべてが削除されます。特定のPinをネットから切り離したい場合は、この手順が便利です。あとは、CLK_0をClocking Wizardの入力に、Clocking Wizardの出力をBlink_1のCLK入力に接続します。
動作確認
Generate bitstreamを実行し、動作確認します。LD0,LD1が点滅します。Blinkモジュールに入力されるクロックは、以下のとおりになりますので、LD1は、LD0と比較して5倍の点滅間隔になります。
入力CLK周波数 | |
---|---|
Blink_0 | 125MHz |
Blink_1 | 25MHz |
※文中に記載されている各種名称、会社名、商品名などは各社の商標もしくは登録商標です。