FC2カウンター FPGAの部屋 2021年07月31日
fc2ブログ

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

FPGAの部屋

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

DFX をやってみよう15(Dynamic Function eXchange Wizard と I/O Planing 、 Pblock の指定)

DFX をやってみよう14(Blink1 と Blink05 を使用した DFX_test2 プロジェクトを作成し、DFXを設定)”の続き。

前回は、Vivado 2021.1 で DFX_test2 プロジェクトを作成し、Blink1, DMA_pow2 IP を使用して、DFX_test2 プロジェクトを作成した。 Blink1 をブロック・デザイン・コンテナにして、DFX を設定し Blink05 を リコンフィギャブル・モジュール(RM)として追加した。
今回は、Generate Output Products を実行して、Dynamic Function eXchange Wizard を実行してから、 Synthesized Design で I/O Planing 、 Pblock の指定を行う。

Flow Navigator から Generate Block Design をクリックする。
Generate Output Products ダイアログが表示された。
Generate ボタンをクリックする。
DFX_136_210729.png

Generate Output Products ダイアログが表示された。
OK ボタンをクリックした。
DFX_137_210729.png

Flow Navigator から Dynamic Function eXchange Wizard を選択する。
Dynamic Function eXchange Wizard ダイアログが表示された。
Next > ボタンをクリックする。
DFX_137_210729.png

Edit Reconfigurable Modules 画面が表示された。
デフォルトのまま Next > ボタンをクリックする。
DFX_138_210729.png

Edit Configuration 画面が表示された。
automatically create configuration をクリックする。
config1 の Blink1_inst_0 と config2 の Blink05_inst_0 が表示された。
Next > ボタンをクリックする。
DFX_139_210729.png

Edit Configuration Runs 画面が表示された。
automatically create configuration をクリックする。
config1 が impl_1 で、 config2 が child_0_impl_1 に割り当てられている。
Next > ボタンをクリックする。
DFX_140_210729.png

Dynamic Function eXchange Summary 画面が表示された。
Finish ボタンをクリックする。
DFX_141_210729.png

Flow Navigator の SYNTHESIS -> Run Synthesis をクリックする。

Launch Runs ダイアログが表示された。
OK ボタンをクリックする。

論理合成が成功した。
Synthesis Completed ダイアログが表示された。
Cancel ボタンをクリックした。

Flow Navigator の SYNTHESIS -> Open Synthesized Design をクリックして、 Synthesized Design を開いた。
Layout メニューから I/O Planing を選択して I/O を割り当てた。
DFX_142_210729.png

Netlist ウインドウの Blink1 を右クリックし、右クリックメニューから Floorplanning -> Draw Pblock を選択する。

Device タブをクリックして、 X1Y2 領域に適当に PBlock を指定した。(適当と言っても 7 シリーズの FPGA は X1Y2 の領域に Pblock の境界をピッタリ合わせないとダメなようだ)
DFX_143_210729.png

Pblock Properties 画面で、 RESET_AFTER_RECONFIG のチェックボックスにチェックを入れて、SNAPPING_MODE を ROUTING にする。
SNAPPING_MODE を ON や ROUTING にすると、丁度良い境界から Pblock を取ってくれる。
DFX_144_210729.png

セーブ・ボタンを押すと Out of Date Design ダイアログが表示された。
OK ボタンをクリックする。

Save Constraints ダイアログが表示された。
デフォルトのまま OK ボタンをクリックする。
File name は DFX_test2.xdc とした。

DFX_test2.xdc を示す。

set_property IOSTANDARD LVCMOS33 [get_ports clk125]
set_property IOSTANDARD LVCMOS33 [get_ports {LD0[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports BTN0]
set_property PACKAGE_PIN K17 [get_ports clk125]
set_property PACKAGE_PIN M14 [get_ports {LD0[0]}]
set_property PACKAGE_PIN K18 [get_ports BTN0]
create_pblock pblock_Blink1
add_cells_to_pblock [get_pblocks pblock_Blink1] [get_cells -quiet [list DFX_test2_i/Blink1]]
resize_pblock [get_pblocks pblock_Blink1] -add {SLICE_X88Y51:SLICE_X97Y99}
resize_pblock [get_pblocks pblock_Blink1] -add {DSP48_X3Y22:DSP48_X3Y39}
resize_pblock [get_pblocks pblock_Blink1] -add {RAMB18_X4Y22:RAMB18_X4Y39}
resize_pblock [get_pblocks pblock_Blink1] -add {RAMB36_X4Y11:RAMB36_X4Y19}
set_property RESET_AFTER_RECONFIG true [get_pblocks pblock_Blink1]
set_property SNAPPING_MODE ROUTING [get_pblocks pblock_Blink1]

  1. 2021年07月31日 04:07 |
  2. Dynamic Function eXchange
  3. | トラックバック:0
  4. | コメント:0