0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PYNQ > DMA tutorial: DMA to streamed interfaces > Block design > 動作しないtclをsourceで読むと動作するようになった

Posted at
動作環境
Windows 10 Pro (v1909) 
PYNQ-Z1 (Digilent) (以下、PYNQと表記)
PYNQ v2.5 Image
Vivado v2019.1 (64-bit)
秀丸エディタ Version 8.9.1

関連

概要

  • DMA tutorial: DMA to streamed interfacesのtclファイルからBlock Designを生成し、bitstream生成
    • => DMA転送できる
  • DMA tutorial: DMA to streamed interfacesを参考にBlock Designを作成
    • => DMA転送できない
  • DMA tutorialと作成したBlock designのtclファイルから相違を確認して、Vivadoデザインで修正
    • => DMA転送できない
  • 修正したtclファイルをsourceコマンドで読みなおしBlock Design自体を再作成
    • => DMA転送できた

Pythonスクリプト

作成したbitstreamに対しては、以下のPythonスクリプトを試した。

成功: DMA tutorial: DMA to streamed interfacesのtclファイルからBlock Designを生成し、bitstream生成

https://github.com/Xilinx/PYNQ_Workshop/tree/master/Session_4/bitstream
にあるdma_tutorial.tclをVivado上にて

source dma_tutorial.tcl

作成されたBlock Designからbitstreamを作成して、Pythonスクリプトを試した。
DMA転送ができた。

失敗: DMA tutorial: DMA to streamed interfacesを参考にBlock Designを作成

学習のため、上記で作成されたBlock DesignをVivado上で自分で作成してみた。

bitstreamを作成してPythonスクリプトを試した。
DMA転送に失敗した。

失敗: DMA tutorialと作成したBlock designのtclファイルから相違を確認して、Vivadoデザインで修正

次に、元になったtclファイルと自分で作成したtclファイルの相違を秀丸エディタで確認した。
ここで各種の名前の相違などが見つかり、Vivadoのデザイン画面にてそれらの名前の修正を行った。

その上でさらに相違を確認すると、axi_smc_2のM00_AXIとM01_AXIの接続を反対にしていたことに気づいた。
この修正をVivadoのデザイン画面にて修正した上でbitstreamを作成した。

DMA転送に失敗した。

成功: 修正したtclファイルをsourceコマンドで読みなおしBlock Design自体を再作成

ふと、「作成したBlock designのtclファイルからBlock designを自動生成するとどうか」と思った。
実行したところ、作成したbitstreamにてDMA転送が正常に実行されるようになった。

まとめ

Block designが期待通り動作しない場合、いったんtclファイルからBlock Designを生成しなおすと、不整合がなくなるのかもしれない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?