FC2カウンター FPGAの部屋 ZYBO Z7-20 用カメラ画像表示システムの作成1
fc2ブログ

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

FPGAの部屋

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

ZYBO Z7-20 用カメラ画像表示システムの作成1

今まで作ってきた IP を使用して、Vivado 2022.1 を使用して ZYBO Z7-20 用のカメラ画像表示システムを作ろうと思う。

今まで作ってきた IP と Digilent/vivado-library の rgb2dvi IP を使用して、Vivado 2022.1 で cam_disp プロジェクトを作成する。

まずは、Vivado 2022.1 を使用し、ZYBO Z7-20 用の cam_disp プロジェクトを作成した。
ZYBO_Z7_PYNQ_96_220731.png

cam_disp プロジェクトのディレクトリに DMA2axis_3buf, bitmap_disp_cont_axis, paracam2axis, vflip_dma_write ディレクトリを作成した。
それらのディレクトリの中に作成した各 IP をコピーした。
Digilent/vivado-library の rgb2dvi IP を cam_disp ディレクトリにコピーした。
ZYBO_Z7_PYNQ_97_220731.png

各 IP を IP Catalog に登録した。
ZYBO_Z7_PYNQ_98_220731.png

cam_disp_bd ブロック・デザインを作成し、回路を完成させた。
ZYBO_Z7_PYNQ_99_220731.png

Address Editor 画面を示す。
ZYBO_Z7_PYNQ_100_220731.png

processing_system7_0 の設定を示す。
Clock Configuration の PL Fabric Clocks の FCLK_CLK0 を 100 MHz に設定した。
ZYBO_Z7_PYNQ_104_220801.png

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

rgb2dvi_0 の設定を示す。
Reset active high のチェックボックスのチェックを外した。
TMDS clock range の < 80MHz(720p) ラジオ・ボタンをクリックした。
ZYBO_Z7_PYNQ_105_220801.png

Vivado 2022.1 の Sources ウインドウで cam_disp_bd_i を右クリックし、右クリックメニューから Create HDL Wrapper.. を選択して、cam_disp_bd_wrapper.v を作成した。
ZYBO_Z7_PYNQ_101_220731.png

cam_disp.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]


ZYBO_Z7_PYNQ_102_220731.png

論理合成、インプリメンテーション、ビットストリームの生成を行って成功した。
Project Summary を示す。
ZYBO_Z7_PYNQ_103_220731.png
  1. 2022年08月01日 05:26 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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