FC2カウンター FPGAの部屋 2013年07月18日
FC2ブログ

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

FPGAの部屋

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

電飾お神輿

電飾お神輿の写真を撮って来ました。中学生が担ぐお神輿です。
densyoku_mikoshi_130718.jpg

明るい時なので、目立たないですが、暗いと綺麗だと思います。去年作ったアクリルサインも付いていますよ。
それから、これは +5V系の電源しか入れていないので、+12V系も電源を入れるともっとド派手になります。。。

動画も貼っておきます。


また夜に撮影してきます。

(追加です)
densyoku_mikoshi_2_130720.jpg
  1. 2013年07月18日 21:52 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

Vivado IP Integrator のチュートリアル(Lab1)1(Vivado プロジェクトの生成)

Vivado IP Integrator のチュートリアルをやってみたいと思う。
参照するチュートリアルは、”Vivado Design Suite Tutorial: Embedded Processor HardwareDesignUG940 (v 2013.2) June 19, 2013”だ。
日本語の”Vivado Design Suite ユーザーガイド IPを使用した設計 UG896 (v2013.1) 2013 年 3 月 20 日”もとっても参考になるが、Zynqのチュートリアルである前者のチュートリアルをやってみたいと思う。
とりあえず、チュートリアル中の”Lab 1: Programming a Zynq-7000 Processor ”をやってみる。ZC702のチュートリアルだが、ZedBoardに変換してみたいと思う。

Lab1では、Zynq-7000の ARMプロセッサ (PS) とAXIインターコネクト経由で、GPIOとAXI BRAM Controller を使うそうだ。
使用するのは、Vivado 2013.2

1.Vivado 2013.2 を立ち上げる。

2.Create New Projectをクリックした。
Vivado_IP_Integrator_1_130718.png

3.Next > をクリックした。
Vivado_IP_Integrator_2_130718.png

4.プロジェクト名を入力して、Next > をクリックした。
Vivado_IP_Integrator_3_130718.png

5.Project Type ダイアログで、RTL Projectのラジオボタンがクリックされていることを確認して、Next > をクリックした。
Vivado_IP_Integrator_4_130719.png

6.Add Sources ダイアログで、Target language をVHDLに変更して、Next > をクリックした。
Vivado_IP_Integrator_5_130719.png

7.Add Existing IP ダイアログで、入れるものが無いので、Next > をクリックした。
Vivado_IP_Integrator_6_130719.png

8.Add Constraints ダイアログでも、入れるものが無いので、Next > をクリックした。
Vivado_IP_Integrator_7_130719.png

9.Default Part ダイアログで、Specify でBoard を選択して、下のリストからZedBoard を選択した。Next > をクリックした。
Vivado_IP_Integrator_8_130719.png

10.New Project Summary ダイアログが表示された。Finish をクリックした。
Vivado_IP_Integrator_9_130719.png

11.Vivado が立ち上がった。
Vivado_IP_Integrator_10_130719.png

Vivado IP Integrator のチュートリアル(Lab1)2(IP Integrator デザインの生成1)”に続く。

(2013/07/23:ZedBoard の選択をミスっていたので、全面的に修正した)
  1. 2013年07月18日 05:36 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:0

AXI VDMAのシミュレーション8(とりあえず休止)

AXI VDMAのシミュレーション7(v_axi4s_vid_out)”の続き。

いろいろとAXI VDMAのシミュレーションのために頑張ってきたが、どうやら AXI VDMAの m_axis_mm2s_tdata, m_axis_mm2s_tkeep, m_axis_mm2s_tuser が 'X' になる状況は解決できないようだ。

ISimには、信号のドライバを表示する機能がある。
信号名のところで右クリックして、Show Drivers を選択する。
VDMA_test_17_130718.png

すると、Console にその信号を出力しているHDLソースの行番号が表示される。

ISim> 
# show driver {/system_top_tb/uut/system_i/axi_vdma_0/axi_vdma_0/m_axis_mm2s_tlast}
Driver for /system_top_tb/uut/system_i/axi_vdma_0/axi_vdma_0/m_axis_mm2s_tlast
    '0'    : /system_top_tb/uut/system_i/axi_vdma_0/axi_vdma_0/:1414
          in File "C:/HDL/Xilinx/14.5/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/axi_vdma_v5_04_a/hdl/vhdl/axi_vdma.vhd" Line 1414


だが、m_axis_mm2s_tdata と m_axis_mm2s_tkeep は no drivers と表示されている。つながっている信号がないようだ。

# show driver {/system_top_tb/uut/system_i/axi_vdma_0/axi_vdma_0/m_axis_mm2s_tdata}
/system_top_tb/uut/system_i/axi_vdma_0/axi_vdma_0/m_axis_mm2s_tdata has no drivers.
ISim>
# show driver {/system_top_tb/uut/system_i/axi_vdma_0/axi_vdma_0/m_axis_mm2s_tkeep}
/system_top_tb/uut/system_i/axi_vdma_0/axi_vdma_0/m_axis_mm2s_tkeep has no drivers.


AXI VDMAのVHDLソースを少し読んでみたが、Memory Mapped DMA のAXI Master アクセスとAXI Stream のデータバスのビット幅が同じ場合と異なる場合は、if generate を使って回路を切り分けてあるようだ。今回のプロジェクトでは、AXI Master側のデータバスが32ビット幅、AXI Stream 側のデータバスが24ビット幅というように幅が異なっている。この場合にバグがある、もしくはISimがうまくエラボレート出来ていないということが考えられる。(注:あくまで推測です)

同じバス幅では、ANALOG DEVICESのリファレンス・デザインが動作しているので、AXI Master アクセスとAXI Stream のデータバスのビット幅が同じ場合は問題ないと思う。
同じバス幅に戻してやってみようと思うが、v_axi4s_vid_out が32ビット幅にならないようだ。従って、v_axi4s_vid_out を自分で作る必要がありそうだ。

このように面倒なので、とりあえず、このプロジェクトは休止して、Vivado のIP Integrator のチュートリアルをやってみたい。時期を逃してしまうかもしれないので、雰囲気だけでも掴みたいと思っている。

AXI VDMAのシミュレーション9(v_axi4s_vid_outの変更)”に続く。
  1. 2013年07月18日 05:00 |
  2. IP
  3. | トラックバック:0
  4. | コメント:0