FC2カウンター FPGAの部屋 2014年08月01日
FC2ブログ

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

FPGAの部屋

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

ZYBO用ビットマップ・ディスプレイ・コントローラの作製5(制約の生成、インプリメント)

ZYBO用ビットマップ・ディスプレイ・コントローラの作製4(デバック、論理合成)”の続き。

今回は、配置制約、タイミング制約を生成して、インプリメントを行う。

・配置制約を生成するためにFlow Navigator から Synthesized Design をクリックした。
ZYBO_Bitmap_DispC_93_140730.png

・Layout メニューから I/O Planning を選択した。
ZYBO_Bitmap_DispC_94_140731.png

・Package タブが開いた。

・下の I/O Ports で I/OポートのSite と I/O Standard を設定した。
ZYBO_Bitmap_DispC_95_140731.png

・設定した配置制約をセーブした。その制約を下の図に示す。
ZYBO_Bitmap_DispC_96_140731.png

・Flow Navigator から Implementation の下の Run Implementation をクリックして、インプリメントを行った。

・タイミングエラーが出ている。
ZYBO_Bitmap_DispC_97_140801.png

・Implementation Design を開いて、Report Timing Summary をクリックした。
ZYBO_Bitmap_DispC_98_140801.png

・Report Timing Summary ダイアログが開いた。そのままOKボタンをクリックした。
ZYBO_Bitmap_DispC_99_140801.png

・Timing Summary ウインドウが開いた。 n_0_BUFR_pixel_clk to clk_fpga_0 の Setup がエラーになっていた。

・Flow Navigator から Edit Timing Constraints をクリックした。
ZYBO_Bitmap_DispC_100_140801.png

・Timing Constraints ウインドウが開く。Exceptions を展開して、Set False Path をクリックした。

・Set False Path ウインドウで、Double click to create Set False constraint をダブル・クリックする。
ZYBO_Bitmap_DispC_101_140801.png

・Set False Path ダイアログが表示された。

・Start Points の ・・・ボタンをクリックする。
ZYBO_Bitmap_DispC_102_140801.png

・Choose Start Point ダイアログが開く。Find name of type で clocks を選択し、Findボタンをクリックした。

・クロックが5つ見つかった。 n_0_BUFR_pixel_clk を選択した。
ZYBO_Bitmap_DispC_103_140801.png

・右向き矢印ボタンをクリックすると、Selected name ペインに、 n_0_BUFR_pixel_clk が入った。OKボタンをクリックした。
ZYBO_Bitmap_DispC_104_140801.png

・Set False Path ダイアログの Start Points に n_0_BUFR_pixel_clk が入った。次に、End Points の・・・ボタンをクリックして終点を設定する。
ZYBO_Bitmap_DispC_105_140801.png

・同様に、Selected name ペインに、 clk_fpga_0 を入れた。
ZYBO_Bitmap_DispC_106_140801.png

これで、Start Points に n_0_BUFR_pixel_clk が入って、End Point に clk_fpga_0 が入ったので、OKボタンをクリックして、ダイアログを閉じる。
ZYBO_Bitmap_DispC_107_140801.png

・Set False Path ウインドウに n_0_BUFR_pixel_clk から clk_fpga_0 までのパスが入った。
ZYBO_Bitmap_DispC_108_140801.png

・同様に、Set False Path ウインドウに clk_fpga_0 から n_0_BUFR_pixel_clk までのパスを入れた。
ZYBO_Bitmap_DispC_109_140801.png

・これで、False Path が設定できた。制約をセーブする。

・制約ファイルに追加されたフォールス・パスを貼っておく。
ZYBO_Bitmap_DispC_110_140801.png

・インプリメントを行ったところ、今度は成功した。
ZYBO_Bitmap_DispC_111_140801.png

・ビットストリームも生成できた。
ZYBO_Bitmap_DispC_112_140801.png

制約ファイル(V_ZYBO_BMDC.xdc) を貼っておく。(2014/11/02:変更 hdmi_out_en を追加)

set_property IOSTANDARD LVCMOS33 [get_ports {vga_blue[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_blue[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_blue[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_blue[0]}]
set_property PACKAGE_PIN J18 [get_ports {vga_blue[3]}]
set_property PACKAGE_PIN K19 [get_ports {vga_blue[2]}]
set_property PACKAGE_PIN M20 [get_ports {vga_blue[1]}]
set_property PACKAGE_PIN P20 [get_ports {vga_blue[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {vga_blue[4]}]
set_property PACKAGE_PIN G19 [get_ports {vga_blue[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_green[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_green[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_green[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_green[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_green[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_green[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_red[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_red[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_red[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_red[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {vga_red[0]}]
set_property PACKAGE_PIN F20 [get_ports {vga_green[5]}]
set_property PACKAGE_PIN H20 [get_ports {vga_green[4]}]
set_property PACKAGE_PIN J19 [get_ports {vga_green[3]}]
set_property PACKAGE_PIN L19 [get_ports {vga_green[2]}]
set_property PACKAGE_PIN N20 [get_ports {vga_green[1]}]
set_property PACKAGE_PIN H18 [get_ports {vga_green[0]}]
set_property PACKAGE_PIN F19 [get_ports {vga_red[4]}]
set_property PACKAGE_PIN G20 [get_ports {vga_red[3]}]
set_property PACKAGE_PIN J20 [get_ports {vga_red[2]}]
set_property PACKAGE_PIN L20 [get_ports {vga_red[1]}]
set_property PACKAGE_PIN M19 [get_ports {vga_red[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports vga_hsync]
set_property IOSTANDARD LVCMOS33 [get_ports vga_vsync]
set_property PACKAGE_PIN P19 [get_ports vga_hsync]
set_property PACKAGE_PIN R19 [get_ports vga_vsync]
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 D19 [get_ports TMDS_tx_0_B_p]
set_property PACKAGE_PIN C20 [get_ports TMDS_tx_1_R_p]
set_property PACKAGE_PIN B19 [get_ports TMDS_tx_2_G_p]
set_property PACKAGE_PIN H16 [get_ports TMDS_tx_clk_p]
set_property IOSTANDARD LVCMOS33 [get_ports {hdmi_out_en[0]}]
set_property PACKAGE_PIN F17 [get_ports {hdmi_out_en[0]}]

set_false_path -from [get_clocks n_0_BUFR_pixel_clk] -to [get_clocks clk_fpga_0]
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks n_0_BUFR_pixel_clk]


ZYBO用ビットマップ・ディスプレイ・コントローラの作製6(実機動作)”に続く。
  1. 2014年08月01日 05:22 |
  2. ZYBO
  3. | トラックバック:0
  4. | コメント:0