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を連打すればいいです.
そして,Finishを押せば,先ほどのSourcesのタブに追加したファイルが表示されると思います.
回路の記述はそのほかの記事や本を見てください.
制約を追加する
英語が読めてDigilentのボードを使っている場合は,Digilentのページを読むといいです.
作ったデザイン(Verilogのモジュール) とボードのIOピン(LED,Clock)等を接続する必要があります. 接続しないと,回路を生成する際にVivadoに作った回路が不要と判断されます.
制約ファイルの追加自体は,Flow Navigator->Add Sources->Add or create constraint fileとすればよいです.
制約の中身ですが,Digilentのボードを使っている場合は,制約のチートファイルみたいなのが,公開されているのでそこからとってきましょう.
このファイルで指定したピンとトップモジュール*2のピンが接続されます.
回路を書き込む
回路を書き込むためには次の手順を踏みます.
- Run Synthesis
- Run Implementation
- Generate Bitstream
これらは,Flow Navigationに対応するボタンをポチポチ押せばできます.
エラーが出なければ,ボードをPCにmicro usb type-b等で接続して,最後にOpen Hardware ManagerでAuto Connectし,Program deviceで.bit
ファイルを書き込めば終了です.少し雑?
ちなみに,Synthesisした段階で「Open Synthesis Design」で回路図を見ることができます. Implementationした段階では,「Open impemantation design」でFPGAの配線が見れます.
おわりに
あんまり有用な情報ではないかもしれん.