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

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

FPGAの部屋

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

Vivado 2013.4 Simulator でのROMまたはRAMの初期化ファイルの使用方法

現在、AXI VDMAのレジスタ設定用AXI Lite Master IPのシミュレーションをしているが、ROMの初期化ファイルの取り扱いに困っていた。それを書いておこうと思う。

AXI VDMAのレジスタ設定用AXI Lite Master IPについては、以下のブログ記事を参照のこと。

AXI VDMAのレジスタ設定用AXI Lite Master IPの作製1(仕様の検討)
AXI VDMAのレジスタ設定用AXI Lite Master IPの作製2(シミュレーション)
AXI VDMAのレジスタ設定用AXI Lite Master IPの作製3(HDLソースの公開)
AXI VDMAのレジスタ設定用AXI Lite Master IPの作製4(XPSへAdd IP)


まずは、reg_set_axi_lite_master.v に initial文で、ROMの初期化ファイルのvdma_reg_set.txt を読んでくるように書いてある。そのVerilog HDLファイルの一部を下に示す。

    initial begin
        $readmemh("vdma_reg_set.txt", rom, 0, 255);
    end


このように vdma_reg_set.txt をシミュレーション用のフォルダに置く必要がある。フォルダの位置は、\reg_set_axi_lm\reg_set_axi_lm.sim\sim_1\behav となる。これは、Behavioral Simulation の場合だ。このフォルダに vdma_reg_set.txt をコピーする。
Vivado_2013_4_1_140105.png

Simulation -> Simulation Settings をクリックする。
Vivado_2013_4_2_140105.png

Simulation ダイアログで、Clean up simulation files のチェックを外しておく。こうしないとシミュレーションのたびにシミュレーション用のフォルダを消去して作りなおしてしまうので、vdma_reg_set.txt も消去されてしまう。vdma_reg_set.txt を消去されるのを防ぐ目的がある。
Vivado_2013_4_3_140105.png

このように設定すると、きちんと初期値が入ったROMとしてシミュレーションすることが出来る。
Vivado_2013_4_4_140105.png

Vivado 2013.4の Simulator は ISim に比べてかなり速い気がします。後で計測してみたいです。
  1. 2014年01月05日 05:32 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:0

mt9d111_inf_axis を Vivado 2013.4 IP Integrator に移行する3(新規プロジェクトでIP化)

”mt9d111_inf_axis を Vivado 2013.4 IP Integrator に移行する2(IPの使用)”の続き。

前々回、前回とISEプロジェクトからインポートしてVivado 2013.4のプロジェクトを作製して、IP化した。そして、そのIPを使用するプロジェクトを作製してインプリメントを試みたが、パスが長すぎて?エラーが発生した。

今回は、Vivado 2013.4のプロジェクトを新規で作製してIP化して、IPを使用するプロジェクトを作製してインプリメントを試みる。

・Vivado 2013.4のプロジェクトを新規で作製し、HDLファイルをコピーした。

・pixel_fifo をIP Catalog の FIFO Generator から新規作製した。

下にVivado 2013.4の mt9d111_inf_axis のプロジェクトを示す。すでにインプリメントを通してある。
IP_Integrator_2013_4_17_140105.png

・IP化を行った。
IP_Integrator_2013_4_18_140105.png

・このプロジェクトは終了し、新規プロジェクトを作製した。

・mt9d111_inf_axi_stream IP を IP Catalog に追加した。

・IP Integrator で mt9d111_inf_axi_stream IP をインスタンスして、ポートを追加した(design_1)。

・design_1 を右クリックして、右クリックメニューから Create HDL Wapper... を選択して、Verilog HDLのラッパー・ファイルを作製した。

・論理合成、インプリメントが通った。
IP_Integrator_2013_4_19_140105.png

IP_Integrator_2013_4_20_140105.png

・シミュレーションもしてみた。問題ないようだ。Vivado Simulator は ISim に比べて数倍速いと思う。これはとても良いと思う。
IP_Integrator_2013_4_21_140105.png

Vivado 2013.4の新規プロジェクトを作製して、IP化するとうまく行った。ISEプロジェクトのインポートを行うと階層が深くなり、たぶんWindowsでは、うまく行かないようだ。
  1. 2014年01月05日 04:45 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:0