FC2カウンター FPGAの部屋 2019年02月04日
FC2ブログ

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

FPGAの部屋

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

カメラ画像をDisplayPortに出力する6(Vivado プロジェクト)

カメラ画像をDisplayPortに出力する5(disp_dmar_aixs の2)”の続き。

前回は、Read 側のDMA の disp_dmar_axis IP のC シミュレーション、C コードの合成、C/RTL 協調シミュレーション、Export RTL を行った。今回は、使用するIP が揃ったので、Vivado 2018.3 でプロジェクトを作成しよう。

(2019/02/06 :修正)ブロックデザインを変更しました。詳しくは、”カメラ画像をDisplayPortに出力する7(ブロックデザインの変更)”をご覧ください。

Vivado 2018.3 で、cam_dp プロジェクトを作成した。
cam_displayport_20_190204.png

cam_dp ブロックデザインを生成した。階層デザインにして、camera 階層と display 階層を作った。
cam_displayport_21_190204.png

camera 階層がこれだ。
cam_displayport_22_190204.png

display 階層。
cam_displayport_23_190204.png

Address Editor を示す。
cam_displayport_26_190204.png

制約ファイルの cam_dp.xdc を示す。

set_property PACKAGE_PIN G7 [get_ports pclk]
set_property PACKAGE_PIN G6 [get_ports {cam_data[7]}]
set_property PACKAGE_PIN D5 [get_ports {cam_data[6]}]
set_property PACKAGE_PIN E6 [get_ports {cam_data[5]}]
set_property PACKAGE_PIN C7 [get_ports {cam_data[4]}]
set_property PACKAGE_PIN E5 [get_ports {cam_data[3]}]
set_property PACKAGE_PIN B6 [get_ports {cam_data[2]}]
set_property PACKAGE_PIN D6 [get_ports {cam_data[1]}]
set_property PACKAGE_PIN C5 [get_ports {cam_data[0]}]


set_property PACKAGE_PIN G5 [get_ports href]
set_property PACKAGE_PIN F7 [get_ports standby]
set_property PACKAGE_PIN F8 [get_ports vsync]
set_property PACKAGE_PIN A7 [get_ports xck]

set_property PACKAGE_PIN D7 [get_ports iic_rtl_scl_io]
set_property PACKAGE_PIN F6 [get_ports iic_rtl_sda_io]

create_clock -period 13.700 -name pclk -waveform {0.000 6.850} [get_ports pclk]
set_input_delay -clock [get_clocks pclk] 10.800 [get_ports {{cam_data[0]} {cam_data[1]} {cam_data[2]} {cam_data[3]} {cam_data[4]} {cam_data[5]} {cam_data[6]} {cam_data[7]} href pclk vsync}]

set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets pclk_IBUF_inst/O]

set_property IOSTANDARD LVCMOS18 [get_ports {cam_data[7]}]
set_property IOSTANDARD LVCMOS18 [get_ports {cam_data[6]}]
set_property IOSTANDARD LVCMOS18 [get_ports {cam_data[5]}]
set_property IOSTANDARD LVCMOS18 [get_ports {cam_data[4]}]
set_property IOSTANDARD LVCMOS18 [get_ports {cam_data[3]}]
set_property IOSTANDARD LVCMOS18 [get_ports {cam_data[2]}]
set_property IOSTANDARD LVCMOS18 [get_ports {cam_data[1]}]
set_property IOSTANDARD LVCMOS18 [get_ports {cam_data[0]}]
set_property IOSTANDARD LVCMOS18 [get_ports pclk]
set_property IOSTANDARD LVCMOS18 [get_ports href]
set_property IOSTANDARD LVCMOS18 [get_ports standby]
set_property IOSTANDARD LVCMOS18 [get_ports vsync]
set_property IOSTANDARD LVCMOS18 [get_ports xck]

set_property IOSTANDARD LVCMOS18 [get_ports iic_rtl_scl_io]
set_property IOSTANDARD LVCMOS18 [get_ports iic_rtl_sda_io]

set_false_path -from [get_clocks clk_pl_0] -to [get_clocks pclk]
set_false_path -from [get_clocks pclk] -to [get_clocks clk_pl_0]

create_clock -period 6.734 -name disp_clk -waveform {0.000 3.367} [get_pins cam_dp_i/zynq_ultra_ps_e_0/dp_video_ref_clk]

set_false_path -from [get_clocks clk_pl_0] -to [get_clocks disp_clk]
set_false_path -from [get_clocks disp_clk] -to [get_clocks clk_pl_0]


論理合成、インプリメンテーション、ビットストリームの生成を行った。結果を示す。
cam_displayport_24_190204.png
cam_displayport_25_190204.png
  1. 2019年02月04日 05:30 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0