2018年3月27日火曜日

Zynqberry FPGA開発

開発環境構築からの続き

■参考サイト
ZynqBerryチュートリアル

■プロジェクトの作成
リファレンスデザインソースに生成されたvivado_create_project_guimode.cmdを実行する。いろいろとログが出力された後に下記のVivado開発環境が立ち上がる。

■IP編集
左メニューの[Flow Navigator]-[IP INTEGRATOR]-[Open Block Design]を選択する。
下記のように初期設定のブロック図が表示される。

自作IPの作成方針として理解したのは2通り。1つはAXI4対応IPとする方法、もう1つは汎用IPとして作成しAXI4-GPIOと接続する方法。
いずれにしてもAXI4と接続しないとARMのアドレス空間経由で操作できない。

①AXI4対応IP作成方法
上部メニューの[Tools]-[Create And Package New IP]を選択する。
下記ダイアログにおいて「Create a new AXI4 peripheral」を選択しNext。

Peripheral Detail画面が表示されるのでIPの名前や保存場所を指定する。

別ウィンドウでIPのサブプロジェクトが開けば成功

成功するとAXI I/Fドライバのひな型とC言語のドライバスタブが生成される。
Sourcesウィンドウの[Design Sources]-[IP名]を選択するとVHDLのコードが生成されているのがわかる。
エディタで開いて最下部に「Add user logic here」と記載されているところに自分のロジックを組み込めばOK。

②自作汎用IPの組み込み
[PROJECT MANAGER]-[Add Sources]し、ダイアログから[Add or create design sources]を選択する。





下部の[Create File]ボタンを押して作成するHDLソースファイルを指定する。
File TypeにHDLの種類(VHDL, Verilog, SystemVerilogなど)、File nameにソースファイル名を指定する。



次の画面で入出力ポートを設定すると自動でソースファイルのひな型が生成される。


■プロジェクト設定
自作IP毎のサブプロジェクト作成について
デフォルトでは編集時にサブプロジェクトを作成し、編集後に自動で削除されるようになっている。

毎回サブプロジェクトを作成、削除するのが手間であれば自動削除しないように設定できる。
左メニュー[Flow Navigator]-[PROJECT MANAGER]-[Setting]から[Project Setting]-[IP]-[Packager]を選択する。
設定画面の[Delete project after packaging]のチェックを外すと自動削除を無効にできる。

0 件のコメント:

コメントを投稿