Vivadoで回路を記述する,書き込む

はじめに

初めてVivadoに回路を吐かせるのに2時間ぐらいかかりました.そのとき難しいなと思ったので,記事にしようと思います.

Vivadoで行えること

次の3つを行うのがメインなような気がします.

  • シミュレーション
  • 回路合成と書き込み

今回は下についてのみ書いていきます. また,既存の回路を使うためのIP Catalogや配線をGUIで行えるBlock Design等があります. クロック等を引き込む際には,clock wizardというIPを使うことが多い*1ですが,それは抜きで書いていきます.

回路を記述する

プロジェクトを作った画面は次のようになっていると思います.

プロジェクト制作後の画面

  • Flow Navigator

いろいろな機能を使うためのボタンがたくさんあります.Vivadoの機能を使うためにはここをクリックしたり,右クリックしたりして使うことになります.

  • Sources

ここにVivadoの論理的なディレクトリ構造が書かれます. Verilog等でモジュールを制作していく際は,ここに階層的に現れます.

まず,回路を描くためのファイルを追加することになります.これは,Flow NavigatorのAdd Sourcesから行けます.この後,Add or create design sourceを選択するようにしましょう.

次の画面では,ファイルを加える場合はAdd Filesを選択して,ファイルを作る場合はCreate Fileを選択しましょう.Create Fileする際にいろいろ設定が出てきますが,無視してOkを連打すればいいです.

Add or create Design Sourcesの画面

そして,Finishを押せば,先ほどのSourcesのタブに追加したファイルが表示されると思います.

回路の記述はそのほかの記事や本を見てください.

制約を追加する

英語が読めてDigilentのボードを使っている場合は,Digilentのページを読むといいです.

作ったデザイン(Verilogのモジュール) とボードのIOピン(LED,Clock)等を接続する必要があります. 接続しないと,回路を生成する際にVivadoに作った回路が不要と判断されます.

制約ファイルの追加自体は,Flow Navigator->Add Sources->Add or create constraint fileとすればよいです.

制約の中身ですが,Digilentのボードを使っている場合は,制約のチートファイルみたいなのが,公開されているのでそこからとってきましょう.

このファイルで指定したピンとトップモジュール*2のピンが接続されます.

回路を書き込む

回路を書き込むためには次の手順を踏みます.

  1. Run Synthesis
  2. Run Implementation
  3. Generate Bitstream

これらは,Flow Navigationに対応するボタンをポチポチ押せばできます.

エラーが出なければ,ボードをPCにmicro usb type-b等で接続して,最後にOpen Hardware ManagerでAuto Connectし,Program deviceで.bitファイルを書き込めば終了です.少し雑?

Open Hard managerでAuto Connectしようとしている図

ちなみに,Synthesisした段階で「Open Synthesis Design」で回路図を見ることができます. Implementationした段階では,「Open impemantation design」でFPGAの配線が見れます.

おわりに

あんまり有用な情報ではないかもしれん.

*1:経験が浅くて実際に多いのかは知らない

*2:デザインでトップとなるもの.SourcesのタブでファイルをクリックしてSet as Topをするとトップになる.