5 |
Lチカの実装 (5) |
Vivadoの操作
実際の操作方法を記述して行きます。
- Zynqブロック作成
左端のFlow NavigatorよりIP INTEGRATORのCreate Block Designをクリック。以下のメニューでそのままOK。以下の画面で+をクリックしてIPを追加します。これによりZynq UltraScale+のPS領域を追加します。基本的にはハードのみで動作させ、ソフトは使用しないのでPSは不要ですが、今回はクロックとリセットのみを使用します。 IPの選択画面が出るため、Search窓にzyと入力し、Zynq UltraScale+ MPSoCというIPをダブルクリック。 下図のように、ブロック図にZynq UltraScale+のPS領域がインスタンスされます。 空き端子があると正常に動作しないため、pl_clk0出力をmaxihpm0_lpd_ack入力に接続します。 - blinkモジュール作成
下図のように、Flow NavigatorのPROJECT MANAGERメニューからAdd Sourcesをクリックし、Add or create design sourcesラジオボタンを選択し、Nextをクリック。blinkのフォルダの下にあらかじめverilog moduleとxdcを置いておきます。Add filesを選択し、次にverilogファイルを選択し、OKをクリック。 下図のような画面となるため、Finishをクリック。 - blinkモジュールをモジュールとして追加
blinkモジュールが読み込めたので、blinkモジュールをブロック図にモジュールとして追加します。 何もないところで右クリックし、Add Moduleをクリック。下図のように、モジュール選択画面が出るので、ここでblinkを選択し、OKをクリック。 下図のように、blinkモジュールがblink_0としてインスタンスされます。 blinkモジュールのCLK入力をZynqのpl_clk0出力に接続します。またXRST入力をpl_resetn0出力に接続します。 LED出力ピンを右クリックし、メニューを表示します。ここでCreate Portとしてこの端子をポートに接続します。 さらに何もないところで右クリックし、Regenerate Layoutをクリック。 下図のようにblinkが正しく接続されました。