FC2カウンター FPGAの部屋 PYNQボードでカメラ画像をリアルタイムにFASTX コーナー検出2
fc2ブログ

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

FPGAの部屋

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

PYNQボードでカメラ画像をリアルタイムにFASTX コーナー検出2

PYNQボードでカメラ画像をリアルタイムにFASTX コーナー検出1”の続き。

前回、ブロックデザインが完成したので、今回は、ビットストリームまで生成して、SDKを立ち上げてアプリケーションソフトを作り、PYNQボードでカメラ画像をリアルタイムにFASTX コーナー検出してみよう。

まずは、前回からの続きでHDL のラッパーファイル(pynq_fastx_wrapper)を生成した。
pynq_de_fastx_18_170207.png

次に制約を書いた。
pynq_de_fastx_19_170207.png

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 IOSTANDARD LVCMOS33 [get_ports mt9d111_iic_scl_io]
set_property IOSTANDARD LVCMOS33 [get_ports mt9d111_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 CLOCK_DEDICATED_ROUTE FALSE [get_nets pclk_IBUF]
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets pclk_IBUF_BUFG]

create_clock -period 55.560 -name pclk -waveform {0.000 27.780} [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 PULLUP true [get_ports mt9d111_iic_scl_io]
set_property PULLUP true [get_ports mt9d111_iic_sda_io]

set_property PACKAGE_PIN W14 [get_ports {cam_data[7]}]
set_property PACKAGE_PIN V16 [get_ports {cam_data[6]}]
set_property PACKAGE_PIN Y14 [get_ports {cam_data[5]}]
set_property PACKAGE_PIN W16 [get_ports {cam_data[4]}]
set_property PACKAGE_PIN T11 [get_ports {cam_data[3]}]
set_property PACKAGE_PIN V12 [get_ports {cam_data[2]}]
set_property PACKAGE_PIN T10 [get_ports {cam_data[1]}]
set_property PACKAGE_PIN W13 [get_ports {cam_data[0]}]
set_property IOSTANDARD TMDS_33 [get_ports TMDS_tx_0_B_p]
set_property IOSTANDARD TMDS_33 [get_ports TMDS_tx_1_R_p]
set_property IOSTANDARD TMDS_33 [get_ports TMDS_tx_2_G_p]
set_property IOSTANDARD TMDS_33 [get_ports TMDS_tx_clk_p]
set_property PACKAGE_PIN U19 [get_ports href]
set_property PACKAGE_PIN Y16 [get_ports standby]
set_property PACKAGE_PIN K17 [get_ports TMDS_tx_0_B_p]
set_property PACKAGE_PIN K19 [get_ports TMDS_tx_1_R_p]
set_property PACKAGE_PIN J18 [get_ports TMDS_tx_2_G_p]
set_property PACKAGE_PIN L16 [get_ports TMDS_tx_clk_p]
set_property PACKAGE_PIN Y19 [get_ports vsync]
set_property PACKAGE_PIN W19 [get_ports xck]
set_property PACKAGE_PIN Y18 [get_ports mt9d111_iic_scl_io]
set_property PACKAGE_PIN U18 [get_ports mt9d111_iic_sda_io]
set_property PACKAGE_PIN Y17 [get_ports pclk]

set_false_path -from [get_clocks pclk] -to [get_clocks clk_fpga_0]
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks pclk]
set_false_path -from [get_clocks [get_clocks -of_objects [get_pins pynq_fastx_i/bitmap_disp_cntrler_axi_master_0/inst/dvi_disp_i/BUFR_pixel_clk_io/O]]] -to [get_clocks clk_fpga_0]


論理合成、インプリメント、ビットストリームを生成した。と書いているが、何度か制約を修正しながらコンパイルしている。
pynq_de_fastx_20_170208.png

成功した。Clock Domain Closing のレポートを示す。
まずは、clk_fpga_0 から pclk
pynq_de_fastx_26_170209.png

次に、pclk から clk_fpga_0
pynq_de_fastx_27_170209.png

pclk_buf から clk_fpga_0
pynq_de_fastx_28_170209.png

ハードウェアをエクスポートして、SDK を立ち上げ、アプリケーションソフトを書いた。
pynq_de_fastx_21_170208.png

fastx_on_serial.elf を起動した。

threshold = 5 の時の FASTXコーナー検出の結果を示す。
pynq_de_fastx_22_170208.png

pynq_de_fastx_23_170208.jpg

threshold = 10 の時の FASTXコーナー検出の結果を示す。
pynq_de_fastx_24_170208.png

pynq_de_fastx_25_170208.jpg

うまく行った。PYNQボードでカメラ画像をリアルタイムにFASTX コーナー検出できた。。。うれしい。。。

PYNQボードの写真を示す。脇はZYBO だ。
pynq_de_fastx_29_170209.jpg

pynq_de_fastx_30_170209.jpg
  1. 2017年02月09日 04:18 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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