LoginSignup
1
1

More than 3 years have passed since last update.

Vivado HLS fifoインターフェース使用時の注意

Last updated at Posted at 2019-12-11

環境

  • ボード
    • Arty Z7(zynq評価ボード)
  • ツール
    • Vivado2018.3(Windows10)
    • petalinux2018.3(Ubuntu 16.04)

やりたかったこと

FIFOに貯めたデータをDDR3に転送したく、Vivado HLSにて高位合成を行いました。詳細は、様々な方が既に実践されておられるのでそちらを参照してください。

転送したいデータは、FIFO Generatorで作成したFIFOにあります。HLSで作成したIPにて、FIFOをリードしてAXIに流しています。
ただ、そこでFIFOのリードが始まらず困ることがあったので注意喚起として残しておきます。

FIFO GeneratorとHLSのFIFOインターフェース

FIFO Generatorが持つリードインターフェースは、dout, rd_en, emptyの3つです。

HLSで下記のようにFIFOインターフェースを指定すると、Generatorと同じようにdout, read, empty_nの3つが生成されます。
#pragma HLS INTERFACE ap_fifo port=in
fifohls.PNG

一見同じインターフェースなのですが、emptyのアクティブが違います・・・
GeneratorはアクティブH、HLSはアクティブLです。
これでかなりはまりました。
(そりゃぁ、信号名にネガティブのnが入ってるので気づかない自分もあれなんですが、
他社IP同士ならまだしも、同じXilinxならインターフェースは統一してほしいですね)

追記

関連記事がありましたのでリンクしておきます。
https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/HLS-Integrator-fifo-interface/td-p/847004

1
1
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
1
1