FC2カウンター FPGAの部屋 DMA Read IP を単体でシミュレーション1(論理シミュレーション)

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

FPGAの部屋

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

DMA Read IP を単体でシミュレーション1(論理シミュレーション)

Vivado HLSで作ったDMA Read IP を実機でテスト1(動作しない)”で DMA Read IP が全く動作しないので、単体でシミュレーションしみることにした。

シミュレーションするにあたって、必要なIP は、”AXI4 Slave Bus Functional Model のVerilog HDL版4”と、”レジスタ設定用AXI4 Master IPをVivado HLS で作ってみた”で作った reg_write_read IP だ。

DMA_Read_test プロジェクトを作成して、 reg_write_read IP をIP Catalog に登録した。AXI4 Slave Bus Functional Model のVerilog HDL版はプロジェクトに入れて使用しようと思ったのだが、面倒なので axi_slave_bfm IP を作ることにした。

axi_slave_bfm プロジェクトを作成して、Tools メニューから Create and Package IP... を選択してIP 化を行った。
DMA_Read_IP_test_3_160913.png

上の図で、edit packaging settings をクリックすると、Project Settings のIP が開くので、Create archive of IP にチェックと入れると、IP がまとめらえたZIP ファイルができる。
DMA_Read_IP_test_4_160913.png

それが、xilinx.com_user_axi_slave_bfm_1.0.zip だ。
DMA_Read_IP_test_5_160913.png

xilinx.com_user_axi_slave_bfm_1.0.zip の中身を示す。
DMA_Read_IP_test_6_160913.png

DMA_Read_test フォルダの下に axi_slave_bfm フォルダを作って、そのZIP ファイルの中身を入れた。

DMA_Read_test プロジェクトで axi_slave_bfm フォルダをIP Catalog に登録した。
DMA_Read_IP_test_7_160913.png

DMA_Read_test ブロックデザインを生成して、Add IP して回路を構成した。
DMA_Read_IP_test_8_160913.png

Address Editor。
DMA_Read_IP_test_9_160913.png

DMA Read IP のレジスタを設定する reg_write_read IP を編集して、レジスタに書き込む値をセットする。
DMA_Read_IP_test_10_160913.png

reg_write_read_reg_?_rom.dat を編集する。dat ファイルの機能の割り当てを示す。

reg_write_read_reg_0_rom.dat : Write - 0, Read - 1
reg_write_read_reg_1_rom.dat : Delay、単位はクロック数
reg_write_read_reg_2_rom.dat : アドレス、16進数
reg_write_read_reg_3_rom.dat : データ、16進数


実際にレジスタをセットする値を示す。

R/W  Delay Address      value
0    0    0x44A00018    0x10000000
0    0    0x44A00020    0x10000000
0    0    0x44A00028    0x10000000
0    0    0x44A00030    0x00000000
0    0    0x44A00000    0x00000001


実際に値を書き込んでいるところだ。
DMA_Read_IP_test_11_160913.png

これで Re-Package IP を行う。

次に、今回は、AXI4 Master Read のみなので、AXI4 Slave BFM の設定をRead されたら 0 から順に +1 された出力を出すモードに変更した。
DMA_Read_IP_test_12_160913.png

これで論理シミュレーションの準備が整ったので、シミュレーションを行った。
DMA_Read_IP_test_13_160913.png

シミュレーション波形を示す。動作している問題ないようだ。
最初に、AXI4-Stream 出力とレジスタ設定用のAXI4-Lite Slave Write を示す。AXI4-Stream 出力も出力されている。
DMA_Read_IP_test_14_160913.png

AXI4 Master Read を示す。こちらも正常のようだ。
DMA_Read_IP_test_15_160913.png

論理シミュレーションは正常のようだが、それじゃなんで動作しないのだろうか?
  1. 2016年09月13日 21:47 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3571-d9d42432
この記事にトラックバックする(FC2ブログユーザー)