FC2カウンター FPGAの部屋 Xilinx/PYNQのプロジェクトを生成した1

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

FPGAの部屋

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

Xilinx/PYNQのプロジェクトを生成した1

ikwzm さんの”PYNQ-Z1 の ビットストリームを再ビルドしたときのタイミング違反を無くす”を見ながら、Xilinx/PYNQのプロジェクトを生成してみた。

(注) この記事はbase.tcl を動作させるディレクトリを間違っていました。Xilinx/PYNQによると/Pynq-Z1/vivado/base でbase.tcl をどうさせるそうです。でも、TCLスクリプト・ファイルは動作させるディレクトリにおいてほしいですね。。。
これでうまく行っているので、このままで行くことにします。

Xilinx/PYNQのプロジェクトをZIP ファイルでダウンロードした。

PYNQ-master.zip の PYNQ-master フォルダの下を、C:\Users\Masaaki\Documents\Vivado\PYNQ\PYNQ-m フォルダの下にコピーした。

C:\Users\Masaaki\Documents\Vivado\PYNQ\PYNQ-m\Pynq-Z1\bitstream\base.tcl を開いて編集した。
23行目のset scripts_vivado_version 2016.1 を set scripts_vivado_version 2016.2 に変更した。
pynq-master_3_170122.png

Vivado 2016.2 を起動して、TCLスクリプト・ウインドウを開き、

cd c:/Users/Masaaki/Documents/Vivado/PYNQ/PYNQ-m/Pynq-Z1/bitstream/
source base.tcl

コマンドを入力した。
pynq-master_5_170122.png

audio_direct IP でエラー発生。
pynq-master_6_170122.png

エラー内容を示す。

CRITICAL WARNING: [BD 41-52] Could not find the abstraction definition specified by the vlnv: digilentinc.com:interface:tmds_rtl:1.0
CRITICAL WARNING: [BD 41-181] Type specified by the VLNV: 'digilentinc.com:interface:tmds_rtl:1.0', cannot be found. Interface port: 'hdmi_in' cannot be created
CRITICAL WARNING: [BD 41-52] Could not find the abstraction definition specified by the vlnv: digilentinc.com:interface:tmds_rtl:1.0
CRITICAL WARNING: [BD 41-181] Type specified by the VLNV: 'digilentinc.com:interface:tmds_rtl:1.0', cannot be found. Interface port: 'hdmi_out' cannot be created
ERROR: [BD 5-390] IP definition not found for VLNV: xilinx.com:user:audio_direct:1.0
ERROR: [Common 17-39] 'create_bd_cell' failed due to earlier errors.


audio_direct IP などが見えないみたいだ。
Vivado 2016,2 のTcl Shell でやってみても同様にエラーだった。
pynq-master_7_170122.png
pynq-master_8_170122.png  

IPをリポジトリに登録する set_property ip_repo_paths を探すと 49 行目にあった。パスが間違っている。../ip じゃなくて ../vivado/ip のはずだ。修正を行った。49行目 set_property ip_repo_paths ../ip [current_project] を set_property ip_repo_paths ../vivado/ip [current_project] に変更。

これで base.tcl を実行すると、ブロックデザインは完成したが、3391行目の add_files -fileset constrs_1 -norecurse ./src/constraints/top.xdcでエラー発生。またパスが間違っている。正しくは、add_files -fileset constrs_1 -norecurse ../vivado/base/src/constraints/top.xdc だ。
pynq-master_9_170122.png

同様に、3394行目も add_files -norecurse ./src/top.v を add_files -norecurse ../vivado/base/src/top.v に修正する必要がある。
これで、もう一度、Vivado 2016.2 を閉じて、生成したプロジェクトを消去し、もう一度、Vivado 2016.2 を立ち上げた。
TCLスクリプト・ウインドウを開いて、先ほどの cd と source コマンドを入れると、ブロックデザインを作って、論理合成、インプリメント、ビットストリームの生成を行った。が、しかし、 3409行目でエラー発生。これもパスが間違っていて、file copy -force ./base/base.runs/impl_1/top.bit ../../bitstream/base.bit は file copy -force ./base/base.runs/impl_1/top.bit ./base.bit だろうと思う。(まだ、動かしていない)
pynq-master_10_170122.png

結果のレポートを示す。やはり、タイミングがメットしていない。
pynq-master_11_170122.png
  1. 2017年01月22日 12:09 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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