FC2カウンター FPGAの部屋 DnnWeaverをやってみる5(Windows 10 のVivado 2016.2でやってみた1)

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

FPGAの部屋

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

DnnWeaverをやってみる5(Windows 10 のVivado 2016.2でやってみた1)

DnnWeaverをやってみる4(「PYNQ祭り」延長戦の成果)”の続き。

今まで、DnnWeaver のVivado 2016.2 のGUI では、トップレベルにいろいろなソースコードが入っていたので、これをスクリプトでまとめてビットファイルを生成していたのかと思っていた。しかしよく見てみると、zynq_wrapper.v の下に階層構造ができている。
DnnWeaver_71_170524.png

これで、ビットファイルを作ればOKじゃないか?ということで、Vivado 2016.2 単体でやってみた。
Windows 10 でやってみたいということで、Ubuntu から移行することにした。
Ubuntu 16.04 上で、File メニューからArchive Project ... を選択する。
Archive Project ダイアログが表示された。今回のコンパイル結果は、ZC702 のものなので、include run results のチェックを外してOK ボタンをクリックする。
DnnWeaver_42_170523.png

すると、dnnwever.xpr.zip が生成された。
DnnWeaver_43_170523.png

USB メモリ経由でWindows 10 に持ってきて見ているが、dnnwever.xpr.zip の中には、dnnweaver フォルダがある。
DnnWeaver_44_170523.png

dnnweaver フォルダを dnnweaver_162 として、PYNQ フォルダにコピーした。
DnnWeaver_45_170523.png

Windows 10 上のVivado 2016.2 で開いてみた。
DnnWeaver_46_170523.png

トップの zynq_wrapper.v を開いてみると、DDR とFIXED_IO だけの配線で、これだと配線位置が決まっているので、制約ファイルも要らない。
DnnWeaver_47_170523.png

さて、ZC702 からPYNQ ボード用に変更しよう。Project part のZYNQ-7 ZC702 Evaluation Board (xc7z020clg484-1) をクリックする。
DnnWeaver_48_170523.png

Project device: の… ボタンをクリックして、FPGAを変更しよう。
DnnWeaver_49_170523.png

Select Device ダイアログで、Select: を Parts にして、下の図のようにFilter を選択し、xc7z020clg400-1 を選択した。
DnnWeaver_50_170523.png

Project Settings のProject device にxc7z020clg400-1 が入った。
DnnWeaver_51_170523.png

Project Summary を見ても、Project part にxc7z020clg400-1 が入っているのが分かる。
DnnWeaver_52_170523.png

これで、ブロックデザインのzc702.bd を開くと、FPGA パーツを変更したので、IP をアップグレードする必要がある。Upgrade Selected ボタンをクリックして、IP をアップグレードする。
DnnWeaver_53_170523.png

IP をアップグレードしても、ZYNQ7 Processing System はZC702 用のままなので、いったん削除する。
DnnWeaver_54_170523.png

削除した状態を示す。
DnnWeaver_55_170523.png

新しくZYNQ7 Processing System をAdd IP した。
DnnWeaver_56_170523.png

ZYNQ7 Processing System をダブルクリックして、設定画面を開く。
Presets をクリックして、Apply Configuration を選択する。
DnnWeaver_57_170523.png

Digilent 社のPYNQ サイトのZynq Presets をダウンロードして解凍した pynq_revC.tcl を選択する。
DnnWeaver_58_170523.png

すると、PYNQ の設定がZynq Block Design に反映されているのが分かる。
DnnWeaver_59_170523.png

ついでに設定を行う。
PS-PL Configuration で、M AXI GP0 interface と S AXI HP0 interface にチェックを入れた。
DnnWeaver_60_170523.png

Clock Configuration で PL Fabric Clocks の FCLK_CLK0 を 150 MHz に設定した。
DnnWeaver_61_170523.png

配線をやり直して、ブロックデザインが完成した。
DnnWeaver_62_170523.png

次に、Address Editor で、M_AXI_GP0 を右クリックして、Assign Address を選択して、アドレスをマップした。
S_AXI_HP0 も同様にアドレスをマップした。
DnnWeaver_63_170523.png

アドレス・マップ後。
DnnWeaver_64_170523.png

これで、zc702.bd (PYNQボード用に変更はしたが名前はそのまま)は、PYNQボード用になった。
  1. 2017年05月24日 04:54 |
  2. DNN
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3807-bc5313bf
この記事にトラックバックする(FC2ブログユーザー)