2020-07-04 PYNQ > Tutorial: Reduilding the PYNQ base overlay > 失敗したところ


動作環境
Windows 10 Pro (v1909) 
PYNQ-Z1 (Digilent) (以下、PYNQと表記)
Vivado v2019.1 (64-bit)

概要

PYNQのBase overlayをVivadoを使って生成しなおす。
(base.bitとは違うデザインを試したい時に、base overlayから生成すると、HDMIなど細かい部分を自分でデザインしなくて済む。)

参考

不明点とはまった点

Tutorialを5回くらい試してようやく成功。

  • Q. どのVivadoのバージョン?
    • A. v2019.1 (2020年7月4日現在)
  • Q. Application Exception: Top module not set for fileset ...
    • A. Create HDL Wrapperしてない
  • Q. IO関連でたくさんのエラー
    • A. base.XDCをconstraintに指定してなかった
  • Q. プロジェクトを作ってからtclを実行するのか?
    • A. プロジェクトを作らずにVivadoを開いた状態でtclを実行
    • (用意したフォルダ以下に関連ファイルが生成されるのだろう)

手順

  1. https://github.com/Xilinx/PYNQ からzip取得
    • PYNQ-master.zip
  2. フォルダ作成
    • C:\pynq_proj_2020-05-23\2020-07-04_1037_baseOL
  3. 1のzipファイルのPYNQ-masterより「下」のフォルダとファイルをコピー
    • コピー先: 手順2のフォルダ
    • コピー対象: 以下のフォルダとファイル
      • .github/
      • boards/
      • doscs/
      • ...
  4. Vivado 2019.1を起動
    • 下に「Tcl Console」が見える
  5. IPの生成: tclコンソールにて以下を実行
    • cd C:/pynq_proj_2020-05-23/2020-07-04_1037_baseOL/boards/Pynq-Z1/base
    • source ./build_base_ip.tcl
    • =>
    • HLS IP builds complete」というメッセージが出て完了する
  6. Block designの生成: tclコンソールにて以下を実行
    • (手順5と同じ位置)
    • source ./base.tcl
    • => Block Designが生成される
  7. Create HDL Wrapperをする
    • Sourcesタブ のDesign Sources > baseにて右クリックで「Create HDL Wrapper」
      • Let Vivado manage wrapper and auto-update でOK
  8. base.xdcファイルをConstraintsに足す
    • Sourcesタブの Constraints > constrs_1にて右クリックで「Add Sources」
    • Add or create constraints
    • Add Files
    • C:\pynq_proj_2020-05-23\2020-07-04_1037_baseOL\boards\Pynq-Z1\base\vivado\constraints\base.xdc 選択
    • Finish
  9. Run Simulation以降の処理を実行して、bitstream生成まで行う

Core i7-6700K 4GHzでbitstream生成までに45分くらいかかる。

画像

手順7

生成されるBlock Design

次回起動時

生成したVivadoプロジェクトを次回起動する方法はC:/pynq_proj_2020-05-23/2020-07-04_1037_baseOL/boards/Pynq-Z1/base/base/base.xprを開く。