2017年 06月 24日
Vivado で AXI の IP を作ってみる
次のPDFファイル Vivado IP インテグレーターへのカスタム AXI IP の組み込み に従って、AXI Lite のマスタとスレーブIPを作ってみます。vivado のバージョンが違うのでいろいろ違うけど、細かいことは気にしないで進みます。
1つのフォルダで複数のIPを作ると上手く行かない?まぁ、普通はそんな事しないと思うので、IP毎にフォルダを分けてみましょう。
vivadoip/ ← IPを使ってみるプロジェクト用のフォルダvivadoip/axi_lite_slave/ ← axi_lite_slave IP 用のフォルダvivadoip/axi_lite_master/ ← axi_lite_master IP 用のフォルダ
出来ました。
最初は自動で連結してもらったんだけど、バスとか、リセット・クロックコントローラとかいっぱい生成されて大変なことになったので、手で繋ぎなおしました。ちなみにリセットの極性を間違えていたのですが、シミュレーションする以前から、これ反対なんじゃない?って指摘してきました。すげーなぁ。
して、シミュレーションもPDF通りに進めて行けば出来ます。Vivado Simulator は使い慣れないんですが…
なんか遅い。これ参考にしちゃうと、すごく遅いIP作りそうだ… 勉強するのもめんどいしなぁ。
ひとまず適当にマスターのライトを速くしてみた。IPを修正しても、全体のプロジェクトには簡単には反映されないみたい。いろいろ試した結果、IPのプロジェクトも開いておいて、変更したら Re-Package IP を押す。全体のプロジェクトでシミュレーションを閉じると、Refresh IP Catalog を押せって言ってくるので押す。更新した IP を選択して、Upgrade Selected を押す。そのあと、シミュレーションのやり直し。
2サイクルかかるのは、スレーブのせいだと思います。ラッチが推論されている気がするけどまぁ良いよね。
by tom01h
| 2017-06-24 17:34