FC2カウンター FPGAの部屋 2014年06月28日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Vivado 2014.2 で IP の更新のやり方を試してみた

Vivado 2014.2 を使用して、Vivado プロジェクトで、IP Integrator(ブロック・デザイン)を使用している時に、IPを修正する方法を試してみた。

IPのパラメータ、たぶん外部ポートもだが、を修正する時は、ブロック・デザイン上でIPを削除し、IPのプロジェクトで、IP-XACT のcomponent.xml を削除してから、再度IPをパッケージ化する必要があるのは、”VivadoでZYBOのAXI4 Slave キャラクタ・ディスプレイ・コントローラ6(ブロック・デザインのデバック)”に書いた。更に、IPをパッケージ化する時のIP のアドレスも、たぶん、IP-XACT のcomponent.xml を削除する必要があった。
さて、IPのHDLを変更する場合は、IPを右クリックして、右クリックメニューから Edit in IP Packager を選択して、IP Packager を立ちあげて、HDLを変更して再パケージすれば、HDLの変更がブロック・デザインのプロジェクトに反映されるのかをテストした。

テスト用プロジェクトとしては、”VivadoでZYBO用LEDテストプロジェクト3(SDK、実機テスト)”で書いた Vivado 2013.4 の ZYBO用LEDテストプロジェクトを、Vivado 2014.2 にアップグレードして使用する。このプロジェクトは、GitHubの”marsee101/Vivado_ZYBO_LED_test2”に上げてある。
このプロジェクトを Vivado 2014.2 に変換して、IPをアップグレードするときは、AXIインターコネクトがロックされしまった。結局何をやってもダメなので、一旦削除して新たにインスタンスした。更に、注意点としては、Windows の260文字パス制限にすぐ引っかかってしまうので、とにかく浅いパスのフォルダに置くことだ。
下に、Vivado 2014.2 に変換したZYBO用LEDテストプロジェクトを下に示す。
Vivado_2014_2_1_140628.png

・led4_axi_lite_slave_0 を右クリックして、右クリックメニューから、Edit in IP Packager を選択する。
Vivado_2014_2_2_140628.png

・Edit in IP Packager ダイアログが表示された。デフォルト値のまま、OKボタンをクリックした。
Vivado_2014_2_3_140628.png

・led4_axi_lite_slave_v1_0_project が開いて、Package IP 画面が表示された。
Vivado_2014_2_4_140628.png

・IP File Groups をクリックして、led4_axi_lite_slave.v を表示させた。
Vivado_2014_2_5_140628.png

・led4_axi_lite_slave.v を右クリックして、右クリックメニューから Open Files を選択して、表示させた。
Vivado_2014_2_6_140628.png

ここで、上の図で選択されている部分を


LED_Display_Counter <= LED_Display_Counter + 4'd1;

から、


LED_Display_Counter <= LED_Display_Counter - 4'd1;

に変更した。
なお、リセットの部分を


LED_Display_Counter <= 4'd0;


LED_Display_Counter <= 4'd3;

に変更したが、LEDの表示は3 にはならなかった。ARESETNが 0 になることはないのか?ハードウェアをコンフィギュレーションしたあとで。。。

・Review and Package 画面で、Re-Package IP ボタンをクリックした。
Vivado_2014_2_7_140628.png

・IP Status 画面を見ると、/led4_axi_lite_slave_0 に更新マーク?が付いている。Rerun をクリックする。
Vivado_2014_2_8_140628.png

・Address Editor タブで、led4_axi_lite_slave_0 のアドレスのRange を 4G から 64K に設定を変更しておく。

・Flow Navigator の Program and Debug -> Generate Bitstream をクリックして、インプリメントとビットストリームの生成を行う。

・Synthesis is Out-of-date ダイアログが表示された。Yesボタンをクリックした。

・ビットストリームの生成まで正常に終了した。Open Implemented Design ラジオボタンをクリックして、OKボタンをクリックした。

・ビットストリームの生成まで終了した。
Vivado_2014_2_9_140628.png

ここからが Vivado 2014.1 とちょっと違っている。Launch SDK が別にあった。

・File メニューから Export -> Export Hardware を選択した。
Vivado_2014_2_10_140628.png

・Export Hardware ダイアログが表示された。OKボタンをクリックした。
Vivado_2014_2_11_140628.png

・File メニューから Launch SDK を選択した。
Vivado_2014_2_12_140628.png

・Launch SDK が表示された。OKボタンをクリックした。
Vivado_2014_2_13_140628.png

・SDKが開いた。
Vivado_2014_2_14_140628.png

後の手順は、”VivadoでZYBOのAXI4 Slave キャラクタ・ディスプレイ・コントローラ9(SDK、実機テスト)”と同様だ。(省略)

ソフトウェアを起動して、動作させたところ、LEDは加算ではなく、減算を行った。うまく行った。これで、この手順で、IPのHDLを変更できることがわかった。
  1. 2014年06月28日 06:44 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:2