FC2カウンター FPGAの部屋 画像フィルタを DFX する2(DFX_filter_test プロジェクト1)
fc2ブログ

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

FPGAの部屋

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

画像フィルタを DFX する2(DFX_filter_test プロジェクト1)

画像フィルタを DFX する1(概要)”の続き。

前回は、 AXI4-Stream 入出力のフィルタ IP を切り替えてみようということで、カメラ表示システムのフィルタを DFX で切り替えるシステムを説明した。今回は、Vivado 2021.1 で作成した DFX のベースとなる DFX_filter_test プロジェクトを紹介する。

Vivado 2021.1 で作成した DFX のベースとなる DFX_filter_test プロジェクトを示す。
ZYBO Z7-20 用のプロジェクトだ。
DFX2_22_210808.png

DFX_filter_test ブロック・デザインを示す。
DFX2_21_210807.png

Zynq Processing System 7 のクロックの設定を示す。
メインの FLCK_CLK0 が 100 MHz で、 SVGA 用のピクセル・クロックが FCK_CLK1 の 40 MHz 、カメラ・モジュール用の 24 MHz が FCLK_CLK2 だ。
DFX2_24_210808.png

Zynq Processing System 7 の PS-PL Configuration では、 S AXI HP0 にチェックを入れて、活かした。
DFX2_25_210808.png

rgb2dvi_0 は TMDS clock range で < 80MHz(720p) のラジオボタンをチェックした。
DFX2_26_210808.png

各 IP の説明をする。
vflip_dma_write は ”垂直方向が反転している画像のDMA(vflip_dma_write)”に書いた。

DMA2axis は”Vitis HLS 2020.2 で DMA2axis IP を作る1”に書いた。

bitmap_disp_cont_axis は”ビットマップ・ディスプレイ・コントローラをAXI4-Stream対応にする4(ソースコードの公開)”で書いた。

rgb2dvi は Digilent 社の Github から頂いてきた。

制約ファイルの DFX_filter_test.xdc を貼っておく。

set_property PACKAGE_PIN H16 [get_ports TMDS_Clk_p_0]
set_property PACKAGE_PIN D19 [get_ports {TMDS_Data_p_0[0]}]
set_property PACKAGE_PIN C20 [get_ports {TMDS_Data_p_0[1]}]
set_property PACKAGE_PIN B19 [get_ports {TMDS_Data_p_0[2]}]

set_property IOSTANDARD TMDS_33 [get_ports TMDS_Clk_p_0]
set_property IOSTANDARD TMDS_33 [get_ports {TMDS_Data_p_0[2]}]
set_property IOSTANDARD TMDS_33 [get_ports {TMDS_Data_p_0[1]}]
set_property IOSTANDARD TMDS_33 [get_ports {TMDS_Data_p_0[0]}]

set_property PACKAGE_PIN T14 [get_ports {cam_data[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {cam_data[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {cam_data[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {cam_data[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {cam_data[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {cam_data[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {cam_data[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {cam_data[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {cam_data[0]}]
set_property PACKAGE_PIN U14 [get_ports {cam_data[6]}]
set_property PACKAGE_PIN T15 [get_ports {cam_data[5]}]
set_property PACKAGE_PIN U15 [get_ports {cam_data[4]}]
set_property PACKAGE_PIN P14 [get_ports {cam_data[3]}]
set_property PACKAGE_PIN V17 [get_ports {cam_data[2]}]
set_property PACKAGE_PIN R14 [get_ports {cam_data[1]}]
set_property PACKAGE_PIN V18 [get_ports {cam_data[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports iic_scl_io]
set_property IOSTANDARD LVCMOS33 [get_ports iic_sda_io]
set_property IOSTANDARD LVCMOS33 [get_ports href]
set_property IOSTANDARD LVCMOS33 [get_ports pclk]
set_property IOSTANDARD LVCMOS33 [get_ports standby]
set_property IOSTANDARD LVCMOS33 [get_ports vsync]
set_property IOSTANDARD LVCMOS33 [get_ports xck]
set_property PACKAGE_PIN V15 [get_ports iic_scl_io]
set_property PACKAGE_PIN W14 [get_ports iic_sda_io]
set_property PACKAGE_PIN W15 [get_ports vsync]
set_property PACKAGE_PIN Y14 [get_ports href]
set_property PACKAGE_PIN T11 [get_ports standby]
set_property PACKAGE_PIN T10 [get_ports pclk]
set_property PACKAGE_PIN U12 [get_ports xck]

set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets pclk_IBUF]


set_property PULLUP true [get_ports iic_scl_io]
set_property PULLUP true [get_ports iic_sda_io]


論理合成、インプリメンテーション、ビットストリームの生成を行って成功した。
Project Summary を示す。
DFX2_27_210808.png
  1. 2021年08月08日 04:28 |
  2. Dynamic Function eXchange
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/5318-fe1229a1
この記事にトラックバックする(FC2ブログユーザー)