fifo generator v13 - xilinxfifo generator v13.2 logicore ip 製品ガイド vivado design suite...

200
FIFO Generator v13.2 LogiCORE IP 製品ガ イ ド Vivado Design Suite PG057 2017 10 4 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に よっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきまし ては、必ず最新英語版をご参照ください。

Upload: others

Post on 12-Dec-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2

LogiCORE IP 製品ガイド

Vivado Design Suite

PG057 2017 年 10 月 4 日

この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

Page 2: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 2PG057 2017 年 10 月 4 日 japan.xilinx.com

目次

IP の概要

第 1 章: 概要ネイティブ インターフェイス FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5AXI インターフェイス FIFO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6機能のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8アプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55ライセンスおよび注文情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

第 2 章: 製品仕様パフォーマンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60リ ソース使用率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

第 3 章: コアを使用した設計一般的なデザイン ガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86FIFO Generator の初期化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87FIFO の使用方法および制御. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88ク ロ ッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110リ セッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114実際の FIFO の深さ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122レイテンシ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124特別なデサイン注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

第 4 章: デザイン フローの手順ネイティブ コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139AXI コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155コアの制約の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

第 5 章: サンプル デザインの詳細サンプル デザインのインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168サンプル デザインのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

第 6 章: テストベンチテス トベンチの機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170デモンス ト レーシ ョ ン用テス トベンチのカスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171メ ッセージおよび警告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

付録 A: 検証、 順応性、 相互運用性シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Page 3: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 3PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 B: デバッグザイ リ ンクス ウェブサイ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174デバッグ ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175シ ミ ュレーシ ョ ンのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175ハードウェア デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175インターフェイスのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

付録 C: アップグレードVivado Design Suite への移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177Vivado Design Suite でのアップグレード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

付録 D: dout リセッ ト値のタイ ミング

付録 E: FIFO Generator のファイル

付録 F: 補足情報

付録 G: その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197Documentation Navigator およびデザイン ハブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198お読みください: 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

Page 4: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 4PG057 2017 年 10 月 4 日 japan.xilinx.com Production 製品仕様

概要

ザイ リ ンクス LogiCORE™ IP FIFO Generator コアは、 順序付けられたス ト レージと検索に必要なアプリ ケーシ ョ ン用の完全に検証済みの FIFO (first-in first-out) メモ リ キューです。 このコアは、 すべての FIFO コンフ ィギュレーシ ョ ンに最適なソ リ ューシ ョ ンを提供し、 最小限のリ ソースを使用して最大のパフォーマンス (500 MHz まで) を達成できるよ うになっています。 Vivado® Design Suite から取得し、 幅、 深さ、 ステータス フラグ、 メモ リ タイプ、 書き込み/読み出しポートのアスペク ト比をカスタマイズできます。

FIFO Generator コアでは、 ネイティブ インターフェイス FIFO、AXI メモ リ マップド インターフェイス FIFO、および AXI4-Stream インターフェイス FIFO がサポート されます。ネイティブ インターフェイス FIFO コアは、 バッファー、データ幅変換、 クロ ッ ク ド メ イン デカップリ ング アプリケーシ ョ ン用に最適化され、 順序付けられたス ト レージおよび検索を可能にします。

AXI メモ リ マップドおよび AXI4-Stream インターフェイス FIFO は、 ネイティブ インターフェイス FIFO から派生したものです。 AXI メモ リ マップド インターフェイスには、AXI4、 AXI3、 および AXI4-Lite の 3 つの形式があ り ます。

各インターフェイスの機能の詳細は、 第 1 章の 「機能のまとめ」 を参照してください。

IP の概要

この LogiCORE IP について

コアの仕様

サポート され

るデバイス ファ ミ リ (1)

UltraScale+™ ファ ミ リ

UltraScale™ アーキテクチャ、 Zynq®-7000、 7シ リーズ

サポート され

るユーザー インターフェイ

ネイティブ、 AXI4-Stream、 AXI4、 AXI3、AXI4-Lite

リ ソースパフォーマンスおよびリ ソース使用率のウェブ ページ

コアに含まれるもの

デザイン ファ

イル暗号化済み RTL

サンプル デザ

インVHDL

テス トベンチ VHDL

制約ファイルXDC

シ ミ ュレー

シ ョ ン モデルVerilog ビヘイビアー (2)

サポート あ り ソフ ト ウェア ド ラ イバー

該当なし

テスト済みデザイン フロー (4)

デザイン入力 Vivado Design Suite

シ ミ ュレー

シ ョ ン(3)

サポート されるシ ミ ュレータについては、

『Vivado Design Suite ユーザー ガイ ド : リ リース

ノート、 インス トールおよびライセンス』 を参

照してください。

合成 Vivado 合成

サポート

ザイ リ ンクス サポート ウェブ ページで提供

注記:1. サポート されるデバイスの一覧は、 Vivado IP カタログを参照し

てください。

2. ビヘイビアー モデルには、 同期化遅延は含まれません。 詳細

は、 第 4 章の 「シ ミ ュレーシ ョ ン」 を参照してください。

3. FIFO Generator コアでは、 UNISIM シ ミ ュレーシ ョ ン モデルがサ

ポート されます。

4. サポート されているツールのバージ ョ ンは、 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびラ

イセンス』 を参照してください。

Page 5: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 5PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章

概要FIFO Generator コアは、 完全検証済みの先入れ先出しのメモ リ キューで、 順番どおりのデータの格納や取り出しを必要とするアプリ ケーシ ョ ンで使用され、 ハイ パフォーマンスでエリ アが最適化されたデザインを可能にします。 このコアは、 あらゆる FIFO コンフ ィギュレーシ ョ ンに最適化されたソ リ ューシ ョ ンを提供し、 最小限のリ ソースを使用しながら、 最大限のパフォーマンス (最大 500 MHz まで) を実現します。

このコアでは、 ネイティブ インターフェイスの FIFO、 AXI メモ リ マップド インターフェイス FIFO、 および AXI4-Stream インターフェイス FIFO がサポート されています。 AXI メモ リ マップドおよび AXI4-Stream インターフェイス FIFO は Native インターフェイス FIFO から派生しています。 また、 AXI メモ リ マップド インターフェイスには、 AXI4、 AXI3、 および AXI4-Lite の 3 つがあ り ます。

IP カタログで Vivado IP カスタマイズ機能を使用する と、 このコアを制御ロジッ クが既にインプリ メン ト された完全ソ リ ューシ ョ ンと してカスタマイズできます。 このソ リ ューシ ョ ンには、 読み出しおよび書き込みポインターの管理や、 ステータス フラグの生成も含まれます。

注記: この資料では、 メモ リ マップド インターフェイス FIFO および AXI4-Stream インターフェイス FIFO が 「AXI FIFO」 と記述されています。

ネイティブ インターフェイス FIFOネイティブ インターフェイス FIFO はカスタマイズが可能で、 ハイ パフォーマンスで、 エ リ ア最適化された FPGA デザインを作成するため、 一部の FPGA ファ ミ リで使用可能なブロ ッ ク RAM、 分散 RAM、 ビルト イン FIFO を利用できます。

ネイティブ インターフェイス FIFO には、標準と First Word Fall Through (FWFT) という 2 つの操作モードがあ り ます。

Page 6: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 6PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

AXI インターフェイス FIFO図 1-2 に示すよ うに、 AXI インターフェイス FIFO はネイティブ インターフェイス FIFO から派生しています。 AXI メモ リ マップド インターフェイスには、 AXI4、 AXI3、 AXI4-Lite の 3 タイプがあ り ます。 ネイティブ インターフェイス FIFO でサポート されているアプリ ケーシ ョ ンに加え、AXI FIFO は AXI システム バスおよびポイン ト ツー ポイン トの高速アプリ ケーシ ョ ンでも使用可能です。

AXI インターフェイス FIFO では、 ビルト イン FIFO およびシフ ト レジスタ FIFO のコンフ ィギュレーシ ョ ンはサポート されていません。

ほかの AXI ファンクシ ョ ンに接続する必要がある と きは、 ネイティブ インターフェイス FIFO でサポート されているのと同じアプリ ケーシ ョ ンで AXI FIFO を使用してください。 AXI FIFO は、 IP インテグレーターを使用してシステムに統合できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 5] を参照してください。

X-Ref Target - Figure 1-1

図 1-1: ネイティブ インターフェイス FIFO の信号図

dout[m:0]

empty

rd_en

Write Clock Domain

Read Clock Domain

full

wr_en

din[n:0]

almost_full

Prog_full

almost_empty

prog_empty

validunderflow

prog_empty_thresh_assert

sbiterrdbiterr

wr_ackoverflow

wr_data_count[p:0]prog_full_thresh_assertprog_full_thresh_negate

prog_full_thresh

injectsbiterrinjectdbiterr

wr_rst rst rd_rst

OPTIONAL

MANDATORY

OPTIONAL SIDEBAND

wr_clk rd_clk

Read AgentWrite Agent

rd_data_count[q:0]

prog_empty_thresh_negateprog_empty_thresh

Page 7: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 7PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

AXI インターフェイスのプロ ト コルには、 valid と ready の 2 方向のハンドシェイ ク メカニズムが使用されます。情報のソースでは、 チャネルで有効なデータまたは制御情報が利用可能になる と、 それを示すのに valid 信号が使用されます。 一方、 情報のデスティネーシ ョ ンでは、 データが受信可能になる と、 それを示すのに ready 信号が使用されます。 図 1-3 は、 AXI4-Stream FIFO への書き込みおよび読み出し操作のサンプルのタイ ミ ング図、 図 1-4 は、AXI メモ リ マップド インターフェイス FIFO への書き込みおよび読み出し操作のサンプルのタイ ミ ング図です。

X-Ref Target - Figure 1-2

図 1-2: AXI FIFO の派生

X-Ref Target - Figure 1-3

図 1-3: AXI4-Stream FIFO タイ ミング図

full

rd_clk

rd_en

wr_en

wr_clk

rst

din[n:0] dout[n:0]

*VALID

*ready

*valid empty

*data

*strobe

*last

*user

*id

---

*data

*strobe

*last

*user

*id

---

s_aclk

s_aresetn

m_aclk

AXI4 SLAVE AXI4 MASTER

WRITE CLOCKDOMAIN

READ CLOCKDOMAIN

wr_data_count[P:0]

overflow

injectsbiterr

prog_full_thresh

injectdbiterr

rd_data_count[Q:0]

underflow

sbiterr

prog_empty_thresh

prog_full prog_empty

dbiterr

MANDATORY

OPTIONAL SIDEBAND

AXI4 MASTER AXI4 SLAVE

X12629

*ready

*valid

Page 8: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 8PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

図 1-3 および 図 1-4 では、情報ソースでデータが利用可能になったこ とを知らせるため valid 信号が生成されます。一方のデスティネーシ ョ ンでは、 データ受信可能になったこ と と、 valid および ready 信号がどちらも High になった場合にのみデータ転送が発生するこ とを知らせるため ready 信号が生成されます。

AXI FIFO はネイティブ インターフェイス FIFO から派生しているので、 この 2 つの動作の多くは共通しています。ready 信号は、 FIFO の空き状況に応じて生成され、 FIFO への書き込みを許可するため High に保持されます。ready 信号は、 FIFO にこれ以上書き込みできる空きがない場合にのみ Low になり ます。 valid 信号は、 FIFO のデータの利用状況に応じて生成され、 FIFO からの読み出しを可能にするために High に保持されます。 valid 信号は、 FIFO から読み出すデータがないと きにのみ Low になり ます。 information 信号は、 ネイティブ インターフェイス FIFO の din および dout のバスにマップされます。 AXI FIFO の幅は AXI インターフェイスの information 信号のすべてを連結させるこ とで決ま り ます。 information 信号には valid および ready のハンドシェイ ク信号を除いたすべての AXI 信号が含まれます。

AXI FIFO は First-Word Fall-Through (FWFT) モードでのみ動作します。 FWFT では、読み出しを発行せずに FIFO から次に使用可能なワードを先読みできます。 FIFO からデータを読み出すこ とができるよ うになる と、 最初のワードが FIFO から自動的に出力データ バスに現れます。

注記: AXI インターフェイスの場合、 安全回路はコア内部でリセッ ト と して自動的にイネーブルになり、 常に非同期になり ます。

機能のまとめ

共通の機能

• ネイティブ、 AXI4-Stream、 AXI4、 AXI3、 および AXI4-Lite インターフェイスがサポート されます。

• FIFO の深さは最高 131,072 ワードまで

• 独立または共通のクロ ッ ク ド メ イン

• IP コアのデザイン フロー (IP のインスタンシエーシ ョ ンおよびシ ミ ュレーシ ョ ン方法を含む) を見せる VHDL サンプル デザインおよびデモ用テス トベンチ

• ザイ リ ンクス Vivado IP カタログのカスタマイズ機能を使用して完全にコンフ ィギュレーシ ョ ン可能

X-Ref Target - Figure 1-4

図 1-4: AXI メモリ マップド インターフェイス FIFO のタイ ミング図

Page 9: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 9PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

ネイテ ィブ FIFO の機能

• FIFO のデータ幅は 1 から 1024 ビッ ト まで

• 対称または非対称のアスペク ト比 (read-to-write ポートの比率は 1:8 から 8:1 まで)

• 同期または非同期のリセッ ト オプシ ョ ン

• メモ リ タイプは選択可能 (ブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタ、 ビルト イン FIFO)

• 標準または First-Word Fall-Through (FWFT) の操作モード

• Full および Empty のステータス フラグ、残り 1 ワードになったと きを知らせる Almost Full および Almost Empty フラグ

• ユーザー定義の定数または専用入力ポートによ り設定されるプログラマブル Full および Empty のステータス フラグ

• コンフ ィギュレーシ ョ ン可能なハンドシェイ ク信号

• ブロ ッ ク RAM およびビルト イン FIFO コンフ ィギュレーシ ョ ン用のハミ ング符号のエラー挿入および訂正チェッ ク (ECC)

• ブロ ッ ク RAM FIFO (最大 64 ビッ トのデータ幅まで) のソフ ト ECC サポート

• ブロ ッ ク RAM およびビルト イン FIFO コンフ ィギュレーシ ョ ンのエンベデッ ド レジスタ オプシ ョ ン

• UltraScale™ アーキテクチャのビルト イン FIFO コンフ ィギュレーシ ョ ンの動的電力ゲーティングおよび ECC パイプライン レジスタのサポート

AXI FIFO の機能

• FIFO データ幅:

° AXI Stream: 1 から 4096 ビッ ト まで

° AXI4/AXI3: 32、 64.......1024 (2 の倍数) ビッ ト

° AXI4-Lite: 32、 64 ビッ ト

• AXI メモ リ マップドおよび AXI4-Stream インターフェイスのプロ ト コル - AXI4、 AXI3、 AXI4-Stream、 および AXI4-Lite

• 対称アスペク ト比

• 非同期のアクティブ Low リ セッ ト

• コンフ ィギュレーシ ョ ン タイプは選択可能 (FIFO、 レジスタ スライス、 またはパス スルー ワイヤ)

• メモ リ タイプは選択可能 (ブロ ッ ク RAM または分散 RAM)

• アプリ ケーシ ョ ン タイプは選択可能 (データ FIFO、 パケッ ト FIFO、 または低レイテンシ FIFO)

° パケッ ト FIFO 機能は、 共通/独立クロ ッ クの AXI4-Stream FIFO および共有クロ ッ クの AXI4/AXI3 FIFO でのみ使用可能です。

• First-Word Fall-Through (FWFT) モードで操作

• AXI 信号の選択、 データおよびアドレス幅に応じて FIFO の幅を自動計算

• ブロ ッ ク RAM FIFO コンフ ィギュレーシ ョ ンのハミ ング符号のエラー挿入および訂正チェッ ク (ECC) サポート

• プログラマブル Full/Empty フラグを側帯波信号と してコンフ ィギュレーシ ョ ン可能

ネイテ ィブ FIFO 機能の概要

クロックのインプリ メンテーシ ョ ンおよび操作

FIFO Generator コアでは、 書き込みおよび読み出し操作に独立または共通クロ ッ ク ド メ インを使用して FIFO をコンフ ィギュレーシ ョ ンできます。 FIFO Generator コアを独立クロ ッ クでコンフ ィギュレーシ ョ ンする場合は、 書き込み

Page 10: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 10PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

および読み出しポートにそれぞれ独立したクロ ッ ク ド メ インがインプリ メン ト されます。 FIFO Generator コアによ りク ロ ッ ク ド メ イン間の同期化が処理されるので、 位相および周波数には何の要件もあ り ません。 シングル ク ロ ッ ク ド メ インでデータ バッファ リ ングが必要な場合は、 FIFO Generator コアを使用して、 そのクロ ッ クに最適化したコアを生成できます。

ビルト イン FIFO サポート

FIFO Generator コアでは、 UltraScale、 Zynq®-7000、 および 7 シ リーズにビルト インされている FIFO マクロがサポート されているので、 このビルト イン FIFO の幅と深さの両方をカスケード して、 大型の FIFO を作成できるよ うになっています。 ビルト イン FIFO マクロにはインプリ メン ト されないオプシ ョ ンのステータス フラグを作成するには、 FPGA ロジッ クを使用して、 ビルト イン FIFO の機能を拡張できます。 たとえば、 PROG_FULL や PROG_EMPTY などのプログラマブルなフラグは、 ALMOSTFULL や ALMOSTEMPTY から派生しています。 ビルトイン FIFO マクロにあるエラー訂正チェッ ク (ECC) 機能も使用可能です。 周波数要件は、 ターゲッ トにしているデバイスのユーザー ガイ ドを参照してください。

UltraScale アーキテクチャのビルト イン FIFO では、 同期リセッ トのみがサポート されており、 次の機能が利用できます。

• 非対称のアスペク ト比

• 動的電力ゲーティング

• ECC パイプライン レジスタ

注記: ビルト イン FIFO マクロのシ ミ ュレーシ ョ ン ライブラ リの制限事項は、『Vivado Design Suite ユーザーガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 [参照 9] を参照してください。

FIFO Generator コアでは、 UltraScale デバイスでよ り深い FIFO を構築できるよ う、 低レイテンシのオプシ ョ ンが提供されています。 この場合の FIFO のレイテンシは、 [Output Register] オプシ ョ ンが選択されていないのであれば、FIFO18E2/FIFO36E2 プリ ミ ティブになり ます。 [Output Register] が選択されている場合は、 レイテンシは 1 増えます。

First-Word Fall-Through (FWFT)

FWFT では、 読み出しを発行せずに FIFO から次に使用可能なワードを先読みできます。 FIFO からデータを読み出せるよ うになる と、 最初のワードが FIFO から自動的に出力データ バス (dout) に現れます。 FWFT は、 データへ低レイテンシ アクセスが必要なアプリ ケーシ ョ ン、 および読み出されたデータの内容に基づいてスロ ッ トルが必要になるアプリ ケーシ ョ ンで有用です。 ブロ ッ ク RAM、 分散 RAM、 またはビルト イン FIFO で作成された FIFO には、FWFT のサポートがあ り ます。

FWFT が使用可能かど うかを確認するには、 表 1-2 を参照してください。 この機能を使用する と、 次のよ うな多くのほかの機能の動作に影響します。

• 読み出し操作 (90 ページの 「First-Word Fall-Through (FWFT) モードの FIFO 読み出し操作」 を参照)。

• プログラマブル Empty (105 ページの 「非対称アスペク ト比および FWFT」 を参照)。

• データ カウン ト (100 ページの 「First-Word Fall-Through (FWFT) モードのデータ カウン ト 」 および 105 ページの「非対称アスペク ト比および FWFT」 を参照)。

サポート されているメモリ タイプ

FIFO Generator コアによ り、 ブロ ッ ク RAM、 分配 RAM、 シフ ト レジスタ、 またはビルト イン FIFO から構築された FIFO がインプリ メン ト されます。 またこのコアでは、 FIFO に選択した幅および深さに基づいて、 最適なコンフ ィギュレーシ ョ ンでメモ リ プリ ミティブがま とめられます。 表 1-1 には、 デザイン要件ごとのベス ト プラ クティ スがま とめられています。

Page 11: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 11PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

非対称アスペク ト比のサポート

このコアでは、 さまざまな幅の書き込みおよび読み出しポートのある FIFO を生成できるよ うサポート されており、データ幅の自動変換が可能です。 非対称アスペク ト比は 1:8 から 8:1 までで、 書き込みおよび読み出しのポート幅がサポート されています。 この機能は、 次の FIFO インプリ メンテーシ ョ ンで利用可能です。

• 共通または独立クロ ッ クのブロ ッ ク RAM FIFO (UltraScale、 Zynq-7000、 および 7 シ リーズのデバイス)

• 共通または独立クロ ッ クのビルト イン FIFO (UltraScale デバイスのみ)

ブロック RAM および FIFO マクロのエンベデッ ド レジスタ

FPGA のブロッ ク RAM および FIFO マクロでは、 パフォーマンスを向上させ、 マクロにパイプライン レジスタを 1 つ追加するため、 エンベデッ ド出力レジスタが使用できます。 この機能は、 FIFO コアに 1 追加レイテンシを追加するか (dout バスおよび VALID 出力)、 または FWFT FIFO の出力レジスタをインプリ メン トする目的で使用可能です。 エンベデッ ド レジスタは、 デフォルト値、 または共通クロ ッ クのビルト イン FIFO 用にユーザーがプログラムした値にリセッ トできます (dout)。 詳細は、 105 ページの 「ブロ ッ ク RAM および FIFO マクロのエンベデッ ド レジスタ」 を参照してください。

エラー挿入および訂正 (ECC) のサポート

ブロ ッ ク RAM および FIFO マクロには、 ビルト インされたエラーの挿入および訂正チェッ ク機能があ り ます。 この機能は、 ブロ ッ ク RAM およびビルト イン FIFO で使用可能です。

ネイテ ィブ FIFO のコンフ ィギュレーシ ョ ンおよびインプリ メンテーシ ョ ン

表 1-2 には、 サポート されている メモ リおよびクロ ッ クのコンフ ィギュレーシ ョ ンが定義されています。

表 1-1: メモリ コンフ ィギュレーシ ョ ンの利点

独立クロック

共通クロック

小型バッファ リ

ング

中型から大型バッファ リング

ハイパフォーマンス

最小限リソース

ビルト イン FIFO

ブロ ッ ク RAM

シフ ト レジスタ

分散 RAM

表 1-2: FIFO のコンフ ィギュレーシ ョ ン

クロック ド メイン

メモリ タイプ非対称

アスペク ト比

First-wordFall-Through

ECCサポート

エンベデッ ド レジスタのサポート

共通 ブロッ ク RAM (2)

共通 分散 RAM

共通 シフ ト レジスタ

共通 ビルト イン FIFO (2)

独立 ブロッ ク RAM

独立 分散 RAM

Page 12: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 12PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

一般クロック : ブロック RAM、 分散 RAM、 シフ ト レジスタ

このインプリ メンテーシ ョ ンでは、 ブロ ッ ク RAM、 分散 RAM、 またはシフ ト レジスタを選択でき、 書き込みおよび読み出しのデータ アクセス用に共通クロ ッ クがサポート されます。 このコンフ ィギュレーシ ョ ン用にサポート されている機能セッ トには、 非対称アスペク ト比 (異なる書き込みおよび読み出しポートの幅)、 ステータス フラグ (Full、 Almost Full、 Empty、 Almost Empty)、 しきい値をユーザーが定義して生成されるプログラマブル Empty および Full フラグがあ り ます。

さ らに、 オプシ ョ ンのハンドシェイ クおよびエラー フラグがサポート されていて (書き込みの肯定応答、 オーバーフロー、 有効、 アンダーフロー )、 オプシ ョ ンのデータ カウン トによ り、 FIFO のワード数が決ま り ます。 また、 ブロ ッ ク RAM および分配 RAM のインプリ メンテーシ ョ ンの場合は、 コアのリセッ トに同期または非同期を選択するオプシ ョ ンがあ り ます。 ブロ ッ ク RAM FIFO コンフ ィギュレーシ ョ ンでは ECC もサポート されます。

一般クロック : ビルト イン FIFO

このインプリ メンテーシ ョ ンでは、 ビルト イン FIFO を選択でき、 書き込みおよび読み出しのデータ アクセス用に共通クロ ッ クがサポート されます。 このコンフ ィギュレーシ ョ ンでサポート されている機能には、 ステータス フラグ (Full および Empty)、 しきい値をユーザーが定義して生成されるオプシ ョ ンのプログラマブル Empty および Full フラグ (7 シ リーズ デバイスの場合は、 プログラマブル Full/Empty フラグは直接 ALMOSTFULL/ALMOSTEMPTY フラグに接続されています)。

さ らに、 オプシ ョ ンのハンドシェイ クおよびエラー フラグも使用可能です (書き込みの肯定応答、 オーバーフロー、有効、 アンダーフロー )。 ビルト イン FIFO コンフ ィギュレーシ ョ ンでは、 ビルト イン ECC 機能、 および非対称アスペク ト比 (さまざまな書き込みおよび読み出しポート幅)、 動的電力ゲーティング、 ECC パイプライン レジスタなどの UltraScale デバイスに特化した機能もサポート されています。

独立クロック : ブロック RAM および分散 RAM

このインプリ メンテーシ ョ ンでは、 ブロ ッ ク RAM および分散 RAM を選択でき、 書き込みおよび読み出しのデータ アクセス用に独立クロ ッ ク ド メ インがサポート されます。 読み出し ド メ インの操作は読み出しクロ ッ クに同期し、書き込みド メ インの操作は書き込みクロ ッ クに同期します。

このタイプの FIFO 用にサポート されている機能セッ トには、 非対称アスペク ト比 (異なる書き込みおよび読み出しポートの幅)、 ステータス フラグ (Full、 Almost Full、 Empty、 Almost Empty)、 しきい値をユーザーが定義して生成されるプログラマブル Empty および Full フラグがあ り ます。 オプシ ョ ンの読み出しデータ カウン トおよび書き込みデータ カウン トのインジケーターによ り、 それぞれのクロ ッ ク ド メ インに相対して FIFO のワード数が決ま り ます。さ らに、 オプシ ョ ンのハンドシェイ クおよびエラー フラグも使用可能です (書き込みの肯定応答、 オーバーフロー、有効、 アンダーフロー )。 ブロ ッ ク RAM FIFO コンフ ィギュレーシ ョ ンでは ECC もサポート されます。

独立クロック : ビルト イン FIFO

このインプリ メンテーシ ョ ンでは、 ビルト イン FIFO を選択できます。 読み出し ド メ インの操作は読み出しクロ ッ クに同期し、 書き込みド メ インの操作は書き込みクロ ッ クに同期します。

独立 ビルト イン FIFO (2) (1)

注記:1. 独立クロ ッ クのビルト イン FIFO のエンベデッ ド レジスタ サポートは UltraScale ファ ミ リにのみ提供されています。

2. ザイ リ ンクスでは UltraScale デバイスのみで非対称アスペク ト比がサポート されています。 (ビルト イン FIFO の深さは最大 8192 までです)

表 1-2: FIFO のコンフ ィギュレーシ ョ ン

クロック ド メイン

メモリ タイプ非対称

アスペク ト比

First-wordFall-Through

ECCサポート

エンベデッ ド レジスタのサポート

Page 13: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 13PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

このコンフ ィギュレーシ ョ ンでサポート されている機能セッ トには、 ステータス フラグ (Full および Empty)、 しきい値をユーザーが定義して生成されるオプシ ョ ンのプログラマブル Empty および Full フラグ (7 シ リーズ デバイスの場合は、 プログラマブル Full/Empty フラグは直接 ALMOSTFULL/ALMOSTEMPTY フラグに接続されています)。 さ らに、 オプシ ョ ンのハンドシェイ クおよびエラー フラグも使用可能です (書き込みの肯定応答、 オーバーフロー、 有効、 アンダーフロー )。 ビルト イン FIFO コンフ ィギュレーシ ョ ンでは、 ビルト イン ECC 機能、 および非対称アスペク ト比 (さまざまな書き込みおよび読み出しポート幅)、 動的電力ゲーティング、 ECC パイプライン レジスタなどの UltraScale デバイスに特化した機能もサポート されています。

FIFO Generator にネイテ ィブな機能の概要

FIFO Generator (v13.1 以降) は、 ビルト イン FIFO コンフ ィギュレーシ ョ ン用のカスケード回路を使用し、 そのパフォーマンスを改善するため、 UltraScale/UltraScale+ デバイス用にアップデート されています。 このアップデートによ り、 ビルト イン FIFO 構造のプログラマブル Full/Empty のしきい値の範囲が著し く狭くなっています。 有効な範囲を確認するには、 XGUI を開き、 ビルト イン FIFO のコンフ ィギュレーシ ョ ンを選択します。 プログラマブル Full の計算は、 最終プリ ミ ティブ、 および最初のプリ ミティブのプログラマブル Empty に左右されます。

例:

v13.0 以前の FIFO Generator では、 図 1-5 に示すよ うに、 深さ 4096 x 幅 18 ビッ トのコンフ ィギュレーシ ョ ンに FIFO マクロが 2 つ使用されていました。 すなわち、 プログラマブル Full/Empty のしきい値の値は次のよ うになっていました。

プログラマブル Full = (1-4094)

プログラマブル Empty = (2-4094) (どちらのプリ ミティブも 4kx9)

v13.1 以降の FIFO Generator では、 図 1-6 に示すよ うに、 深さ 4096 x 幅 18 ビッ トのコンフ ィギュレーシ ョ ンに FIFO マクロが 2 つ使用されます。 すなわち、 プログラマブル Full/Empty のしきい値の値は次のよ うにな り ます。

プログラマブル Full = (2050-4094) (最終プリ ミ ティブ)

プログラマブル Empty = (2-2046) (最初のプリ ミ ティブ)

X-Ref Target - Figure 1-5

図 1-5: プリ ミテ ィブ (幅)

4kx9 4kx9

1

4096

Page 14: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 14PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

注記: 上記で説明した変更が原因で、 書き込みから empty および読み出しから Full へのディアサートのレイテンシが変更になる可能性があ り ます。

表 1-3 は、 ク ロ ッ ク コンフ ィギュレーシ ョ ンおよびメモ リ タイプ別にサポート されている FIFO Generator コアの機能をま とめたものです。

X-Ref Target - Figure 1-6

図 1-6: プリ ミテ ィブ (深さ )

表 1-3: FIFO コンフ ィギュレーシ ョ ン サマリ

FIFO 機能

独立クロック 共通クロック

ブロックRAM 分散 RAM ビルト

イン FIFOブロック

RAM分配 RAM、 シフ

ト レジスタ ビルトイン FIFO

非対称アスペク ト比 (1) (1) (1)

対称アスペク ト比

Almost Full

Almost Empty

ハンドシェイ ク

データ カウン ト

プログラマブル Empty/Full のしきい値

(2) (2)

First-Word Fall-Through (FWFT)

同期リセッ ト (3) (4)

非同期リセッ ト (5) (5) (6) (5) (5) (6)

dout リ セッ ト値 (7)

ECC

エンベデッ ドまたはインターコネク ト レジスタ

(8)

エンベデッ ドおよびインターコネク ト レジスタ

ECC パイプライン レジスタ (9) (9)

2kx18

2kx18

1

2048

2049

4096

Page 15: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 15PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

ブロック RAM FIFO vs ビルト イン FIFO の使用

ビルト イン FIFO ソ リ ューシ ョ ンは、 ビルト イン FIFO マクロ内にあるロジッ クを利用するためにインプリ メン ト されます。 たとえば、 Almost Full、 Almost Empty などいくつかの機能は、 このマクロにネイティブなものではなく、 このロジッ クにインプリ メン トするにはさらに追加ロジッ クが必要になるためインプリ メン ト されていません。

マクロにネイティブでない機能をインプリ メン トするのに外部ロジッ クが追加されるので、 ブロ ッ ク RAM FIFO と比べた場合 (たとえば、 ロジッ ク リ ソースを比較した場合) のビルト イン FIFO インプリ メンテーシ ョ ンの利点は減る とベンチマーキングでは示唆されています。 特にインプリ メン ト される FIFO の深さが深くなってしま うので、 利点が減り ます。 ビルト イン FIFO にはない機能を必要とする場合は、 ブロ ッ ク RAM FIFO を使用してデザインをインプリ メン トするこ とを強く推奨します。

ネイテ ィブ FIFO インターフェイス信号

次のセクシ ョ ンでは FIFO インターフェイス信号が定義されています。 図 1-7 には、 独立の書き込みおよび読み出しクロ ッ クをサポートする FIFO コアのインターフェイス信号 (標準ポートおよびオプシ ョ ン ポートの両方) が説明されています。

動的電力ゲーティング (9) (9)

注記:1. ザイ リ ンクスでは UltraScale デバイスのみで非対称アスペク ト比がサポート されています。 (ビルト イン FIFO の深さは最大

8192 までです)。2. ビルト イン FIFO の場合、 プログラマブル Empty/Full のしきい値の範囲は、 マクロ内部のロジッ クを利用するために制限され

ています。

3. UltraScale デバイスのみで利用可能です。 同期リセッ ト (srst) は wr_clk に同期する必要があ り ます。

4. UltraScale デバイスのみで利用可能です。 同期リセッ ト (srst) は clk に同期する必要があ り ます。

5. 分散 RAM およびブロ ッ ク RAM を使用して構築された FIFO すべてに対し、 非同期リセッ トはオプシ ョ ンです。

6. 非同期リセッ トは UltraScale のビルト イン FIFO にはサポート されていません。

7. dout リ セッ ト値は共通クロ ッ クのビルト イン FIFO でのみサポート されています。

8. 独立クロ ッ クのビルト イン FIFO のエンベデッ ド レジスタ オプシ ョ ンは UltraScale ファ ミ リにのみ提供されています。「ブロ ッ

ク RAM および FIFO マクロのエンベデッ ド レジスタ」 を参照してください。 9. UltraScale デバイスのみです。

表 1-3: FIFO コンフ ィギュレーシ ョ ン サマリ (続き)

FIFO 機能

独立クロック 共通クロック

ブロックRAM 分散 RAM ビルト

イン FIFOブロック

RAM分配 RAM、 シフ

ト レジスタ ビルトイン FIFO

Page 16: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 16PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

インターフェイス信号: 独立クロックの FIFO

表 1-4 で定義されているよ うに、 rst 信号はコア全体のロジッ ク (書き込みおよび読み出しのクロ ッ ク ド メ イン) をリセッ ト させます。 使用前のコアの内部で同期化される非同期入力です。 最初のハードウェア リ セッ トはユーザーによ り生成されます。

表 1-5 には、 独立クロ ッ クの FIFO の書き込みインターフェイス信号が定義されています。 書き込みインターフェイス信号は、 必須信号とオプシ ョ ンの信号に分けられていて、 すべての信号は書き込みクロ ッ ク (wr_clk) に同期します。

X-Ref Target - Figure 1-7

図 1-7: 独立クロックの FIFO: インターフェイス信号

Note: Optional ports represented in italics

dout[m:0]

empty

rst

rd_en

rd_clk

prog_full_thresh_assert

prog_full_thresh_negate

wr_rst

prog_full_thresh

Write ClockDomain

Read ClockDomain

full

wr_en

din[n:0]

wr_clk

almost_full

prog_full

wr_ack

overflow

almost_empty

prog_empty

valid

underflow

prog_empty_thresh_assert

prog_empty_thresh_negate

rd_rst

PROG_EMPTY_THRESHprog_empty_thresh

表 1-4: 独立クロックの FIFO のリセッ トおよびスリープ信号

名前 方向 説明

rst 入力 リセッ ト : すべての内部ポインターおよび出力レジスタを初期化する非同期のリセッ ト信号。 UltraScale デバイスのビルト イン FIFO には使用できません。

sleep 入力 動的電力ゲーティング。 sleep がアクティブの場合、 FIFO は消費電力モードになり ます。

注記: UltraScale デバイスのビルト イン FIFO にのみ使用できます。

表 1-5: 独立クロックの FIFO の書き込みインターフェイス信号

名前 方向 説明

必須

wr_clk 入力 書き込みクロ ッ ク : 書き込みド メ インのすべての信号がこのクロ ッ クに同期します。

Page 17: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 17PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

din[n:0] 入力 データ入力: FIFO に書き込むと きに使用される入力データ バス。

wr_en 入力 ライ ト イネーブル: FIFO がフルでない場合、 この信号をアサートする と din のデータが FIFO に書き込まれます。

full 出力 フル フラグ: FIFO がフルであるこ とを示します。 FIFO がフルの場合は書き込み要求は無視されるので、 FIFO がフルのと きに書き込みを要求しても FIFO の内容が破損するこ とはあ り ません。

オプシ ョ ン

wr_rst 入力 書き込みリセッ ト : 書き込みクロ ッ クに同期。 これがアサート される と、 書き込みクロ ッ ク ド メ インのすべての内部ポインターおよびフラグが初期化されます。

almost_full 出力 ほぼフル: あと 1 回書き込みを実行する と FIFO がフルになるこ とを示します。

prog_full(1)出力 プログラマブル Full: FIFO のワード数がアサート しきい値以上の

と き、 この信号がアサート されます。 FIFO のワード数が二ゲート しきい値未満のと き、 ディアサート されます。

wr_data_count [d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、wr_clk/clk の立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。 D が log2(FIFO depth)-1 未満の場合、 最下位ビッ トが削除され、 バスは切り捨てられます。 注記: wr_data_count は UltraScale デバイスにも使用可能です。 その場合、

[Asymmetric Port Width] オプシ ョ ンがイネーブルになっている と きに共通

クロ ッ クのブロ ッ ク RAM ベースの FIFO が使用されます。

wr_ack 出力 書き込み肯定応答: この信号は、 その前のクロ ッ ク サイクル間で書き込み要求 (wr_en) が承認されたこ とを示します。

overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求 (wr_en) が拒否されたこ とを示します。 オーバーフローが発生しても、 FIFO の内容が破損するこ とはあ り ません。

prog_full_thresh 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。 アサート を設定し、 しきい値を同じ値に二ゲート させるか (prog_full_thresh を使用)、 またはこれらの値を独立制御するか (prog_full_thresh_assert および prog_full_thresh_negate を使用) のいずれかを選択できます。

prog_full_thresh_assert 入力 プログラマブル Full しきい値アサート : この信号は、 プログラマブル Full フラグの上位しきい値を設定するのに使用されます。 しきい値はこの信号がアサート されたと きに定義されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。 値の有効範囲は Vivado IDE を参照してください。 (1)

表 1-5: 独立クロックの FIFO の書き込みインターフェイス信号 (続き)

名前 方向 説明

Page 18: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 18PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

表 1-6 には、 独立クロ ッ クの FIFO の読み出しインターフェイス信号が定義されています。 読み出しインターフェイス信号は、 必須信号とオプシ ョ ンの信号に分けられていて、 すべての信号は読み出しクロ ッ ク (rd_clk) に同期します。

prog_full_thresh_negate 入力 プログラマブル Full しきい値二ゲート : この信号は、 プログラマブル Full フラグの下位しきい値を設定するのに使用されます。 しきい値はこの信号がディアサート されたと きに定義されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。 値の有効範囲は Vivado IDE を参照してください。 (2)

injectsbiterr 入力 ECC 機能が FIFO マクロのブロ ッ ク RAM 上で使用される場合、シングル ビッ ト エラーが挿入されます。

injectdbiterr 入力 ECC 機能が FIFO マクロのブロ ッ ク RAM 上で使用される場合、ダブル ビッ ト エラーを挿入します。

wr_rst_busy 出力 この信号がアサート される と、 書き込みド メ インがリセッ ト ステートであるこ とを示します。

注記: UltraScale デバイスのビルト イン FIFO にのみ使用できます。

注記:1. ビルト イン FIFO コンフ ィギュレーシ ョ ンを使用する 7 シ リーズ デバイスの場合、 この信号は、 FIFO18E1/FIFO36E1 プリ ミ

ティブの Almost Full 信号に接続されます。

2. Vivado IDE にある値の有効な範囲は、 選択内容によってはグレー表示になっていても、 実際の値です。

表 1-6: 独立クロックの FIFO の読み出しインターフェイス信号

名前 方向 説明

必須

rd_rst 入力 読み出し リセッ ト : 読み出しクロ ッ クに同期。 これがアサート される と、 読み出しクロ ッ ク ド メ インのすべての内部ポインター、 フラグ、 出力レジスタが初期化されます。

rd_clk 入力 読み出しクロ ッ ク : 読み出し ド メ インのすべての信号がこのクロ ッ クに同期します。

dout[m:0] 出力 データ出力: FIFO を読み出すと きに駆動される出力データ バス。

rd_en 入力 リード イネーブル: FIFO が空でない場合、 この信号をアサートする と、 FIFO からデータが読み出されます (dout で出力)。

empty 出力 空フラグ: FIFO が空であるこ とを示します。 FIFO が空の場合は読み出し要求は無視されるので、 FIFO が空のと きに読み出しを要求しても FIFO が破損するこ とはあ り ません。

オプシ ョ ン

almost_empty 出力 Almost Empty フラグ: この信号がアサート される と、FIFO には 1 ワード しか残っておらず、 ほぼ空であるこ とを示します。

prog_empty(1)出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以

下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値を超える と、 ディアサート されます。

表 1-5: 独立クロックの FIFO の書き込みインターフェイス信号 (続き)

名前 方向 説明

Page 19: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 19PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

rd_data_count [c:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 rd_clk/clk の立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ッ ク エッジの rd_data_count にのみ反映されます。 C が log2(FIFO depth)-1 未満の場合、 最下位ビッ トが削除され、バスは切り捨てられます。

注記: rd_data_count は UltraScale デバイスにも使用可能です。 その場合、

[Asymmetric Port Width] オプシ ョ ンがイネーブルになっている と きに共

通クロ ッ クのブロ ッ ク RAM ベースの FIFO が使用されます。

valid 出力 有効: この信号は有効データが出力バス (dout) で使用可能であるこ とを示します。

underflow 出力 アンダーフロー : 前のクロ ッ ク サイクルで FIFO が空であったために読み出し要求 (rd_en) が却下されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

prog_empty_thresh 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。 アサート を設定し、 しきい値を同じ値に二ゲート させるか (prog_empty_thresh を使用)、 またはこれらの値を独立制御するか (prog_empty_thresh_assert および prog_empty_thresh_negate を使用) のいずれかを選択できます。

prog_empty_thresh_assert 入力 プログラマブル Empty しきい値アサート : この信号は、 プログラマブル Empty フラグの下位しきい値を設定するのに使用されます。 しきい値はこの信号がアサート されたと きに定義されます。しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。値の有効範囲は Vivado IDE を参照してください。 (2)

prog_empty_thresh_negate 入力 プログラマブル Empty しきい値二ゲート : この信号は、 プログラマブル Empty フラグの上位しきい値を設定するのに使用されます。 しきい値はこの信号がディアサート されたと きに定義されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。 値の有効範囲は Vivado IDE を参照してください。 (2)

sbiterr 出力 シングル ビッ ト エラー : ECC デコーダーによ り、 ブロ ッ ク RAM またはビルト イン FIFO マクロにシングル ビッ ト エラーが検出されて訂正されたこ とを示します。

dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーによ り、 ブロ ッ ク RAM またはビルト イン FIFO マクロにダブル ビッ ト エラーが検出されて訂正されたこ と、 FIFO コアのデータが破損しているこ とを示します。

rd_rst_busy 出力 この信号がアサート される と、 読み出し ド メ インがリセッ ト ステートであるこ とを示します。

注記: UltraScale デバイスのビルト イン FIFO にのみ使用できます。

注記:1. ビルト イン FIFO コンフ ィギュレーシ ョ ンを使用する 7 シ リーズ デバイスの場合、 この信号は、 FIFO18E1/FIFO36E1 プリ ミ

ティブの Almost Full 信号に接続されます。

2. Vivado IDE にある値の有効な範囲は、 選択内容によってはグレー表示になっていても、 実際の値です。

表 1-6: 独立クロックの FIFO の読み出しインターフェイス信号 (続き)

名前 方向 説明

Page 20: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 20PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

インターフェイス信号: 共通クロックの FIFO

表 1-7 には、 共通の書き込みおよび読み出しクロ ッ クの FIFO のインターフェイス信号が定義されており、 標準およびオプシ ョ ンのインターフェイス信号に分けられています。 すべての信号 (非同期リセッ ト を除く ) は共通クロ ッ ク (clk) に同期します。 ユーザーには、 分散またはブロ ッ ク RAM の FIFO インプリ メンテーシ ョ ンに対し、 同期または非同期のリセッ ト を選択するオプシ ョ ンがあ り ます。

表 1-7: インターフェイス信号: 共通クロックの FIFO

名前 方向 説明

必須

rst 入力 リセッ ト : すべての内部ポインターおよび出力レジスタを初期化する非同期のリセッ ト 。 UltraScale デバイスのビルト イン FIFO には使用できません。

srst 入力 同期リセッ ト : すべての内部ポインターおよび出力レジスタを初期化する同期リセッ ト 。 UltraScale デバイスの場合、 FIFO では UltraScale デバイスのリセッ ト シーケンス メカニズムが使用されます。

clk 入力 クロ ッ ク : 書き込みおよび読み出し ド メ インのすべての信号がこのクロ ッ クに同期します。

din[n:0] 入力 データ入力: FIFO に書き込むと きに使用される入力データ バス。

wr_en 入力 ライ ト イネーブル: FIFO がフルでない場合、 この信号をアサートする と din のデータが FIFO に書き込まれます。

full 出力 フル フラグ: FIFO がフルであるこ とを示します。 FIFO がフルの場合は書き込み要求は無視されるので、 FIFO がフルのと きに書き込みを要求しても FIFO の内容が破損するこ とはあ り ません。

dout[m:0] 出力 データ出力: FIFO を読み出すと きに駆動される出力データ バス。

rd_en 入力 リード イネーブル: FIFO が空でない場合、 この信号をアサートする と、 FIFO からデータが読み出されます (dout で出力)。

empty 出力 空フラグ: FIFO が空であるこ とを示します。 FIFO が空の場合は読み出し要求は無視されるので、 FIFO が空のと きに読み出しを要求しても FIFO が破損するこ とはあ り ません。

オプシ ョ ン

data_count [c:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。 C が log2(FIFO depth)-1 未満の場合、 最下位ビッ トが削除され、 バスは切り捨てられます。

almost_full 出力 ほぼフル: あと 1 回書き込みを実行する と FIFO がフルになることを示します。

prog_full(1)出力 プログラマブル Full: FIFO のワード数がアサート しきい値以上の

と き、 この信号がアサート されます。 FIFO のワード数が二ゲート しきい値未満のと き、 ディアサート されます。

wr_ack 出力 書き込み肯定応答: この信号は、 その前のクロ ッ ク サイクル間で書き込みリ クエス ト (wr_en) が承認されたこ とを示します。

overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込みリ クエス ト (wr_en) が拒否されたこ とを示します。FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

Page 21: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 21PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

prog_full_thresh 入力 プログラマブル Full しきい値: この信号は、プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の設定に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。 アサート を設定し、 しきい値を同じ値に二ゲート させるか (prog_full_thresh を使用)、 またはこれらの値を独立制御するか (prog_full_thresh_assert および prog_full_thresh_negate を使用) のいずれかを選択できます。

prog_full_thresh_assert 入力 プログラマブル Full しきい値アサート : この信号は、 プログラマブル Full フラグの上位しきい値を設定するのに使用されます。しきい値はこの信号がアサート されたと きに定義されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。値の有効範囲は Vivado IDE を参照してください。 (2)

prog_full_thresh_negate 入力 プログラマブル Full しきい値二ゲート : この信号は、 プログラマブル Full フラグの下位しきい値を設定するのに使用されます。しきい値はこの信号がディアサート されたと きに定義されます。しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。値の有効範囲は Vivado IDE を参照してください。 (2)

almost_empty 出力 Almost Empty フラグ: この信号がアサート される と、FIFO には 1 ワード しか残っておらず、 ほぼ空であるこ とを示します。

prog_empty(3)出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以

下になる と、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

valid 出力 有効: この信号は有効データが出力バス (dout) で使用可能であるこ とを示します。

underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求 (rd_en) が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

prog_empty_thresh 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の設定に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。 アサート を設定し、 しきい値を同じ値に二ゲート させるか (prog_empty_thresh を使用)、 またはこれらの値を独立制御するか (prog_empty_thresh_assert および prog_empty_thresh_negate を使用) のいずれかを選択できます。

prog_empty_thresh_assert 入力 プログラマブル Empty しきい値アサート : この信号は、 プログラマブル Empty フラグの下位しきい値を設定するのに使用されます。 しきい値はこの信号がアサート されたと きに定義されます。しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

prog_empty_thresh_negate 入力 プログラマブル Empty しきい値二ゲート : この信号は、 プログラマブル Empty フラグの上位しきい値を設定するのに使用されます。 しきい値はこの信号がディアサート されたと きに定義されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

sbiterr 出力 シングル ビッ ト エラー : ECC デコーダーでシングル ビッ ト エラーが検出され、 修正されたこ とを示します。

表 1-7: インターフェイス信号: 共通クロックの FIFO (続き)

名前 方向 説明

Page 22: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 22PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

AXI FIFO 機能の概要

読み出しおよび書き込みチャネル用に独立した FIFO の簡単な統合

AXI メモ リ マップド インターフェイスの場合、 AXI によ り書き込みチャネルおよび読み出しチャネルが指定されます。 書き込みチャネルには、 書き込みアドレス チャネル、 書き込みデータ チャネル、 書き込み応答チャネルが含まれます。 読み出しチャネルには、 読み出しアドレス チャネルおよび読み出しデータ チャネルが含まれます。 FIFO Generator コアには、 AXI メモ リ マップドに対し、 書き込みチャネルか読み出しチャネル、 またはその両方を生成する機能があ り ます。書き込みチャネル用に 3 つの FIFO、読み出しチャネル用に 2 つの FIFO が統合されています。書き込みチャネルと読み出しチャネルの両方が選択されている場合は、 FIFO Generator コアによ り 5 つの独立した FIFO が統合されます。

AXI メモ リ マップド インターフェイスの場合、 FIFO Generator コアには 図 1-8 に示すよ うに、 チャネルごとに独立した FIFO をインプリ メン トできる機能があ り ます。 チャネルごとに、 ブロ ッ ク RAM、 分散 RAM、 またはビルト イン FIFO を生成するよ う、 個別にコアをコンフ ィギュレーシ ョ ンできます。 各 FIFO の深さ も、 個別にコンフ ィギュレーシ ョ ンできます。

dbiterr 出力 ダブル ビッ ト エラー: ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

injectsbiterr 入力 ECC 機能が使用される場合、 シングル ビッ ト エラーが挿入されます。 詳細は、 第 3 章, “コアを使用した設計.” を参照してください。

injectdbiterr 入力 ECC 機能が使用される場合、 ダブル ビッ ト エラーが挿入されます。 詳細は、 第 3 章, “コアを使用した設計.” を参照してください。

sleep 入力 動的シャッ ト ダウンによる消費電力削減。 sleep がアクティブの場合、 FIFO は消費電力モードになり ます。

注記: UltraScale デバイスのビルト イン FIFO にのみ使用できます。

wr_rst_busy 出力 この信号がアサート される と、 書き込みド メ インがリセッ ト ステートであるこ とを示します。

注記: UltraScale デバイスのビルト イン FIFO、 共通クロ ッ クのブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタ FIFO (同期リセッ ト ) にのみ使用可

能です。

rd_rst_busy 出力 この信号がアサート される と、 読み出し ド メ インがリセッ ト ステートであるこ とを示します。

注記: UltraScale デバイスのビルト イン FIFO、 共通クロ ッ クのブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタ FIFO (同期リセッ ト ) にのみ使用可

能です。

注記:1. ビルト イン FIFO コンフ ィギュレーシ ョ ンを使用する 7 シ リーズ デバイスの場合、 この信号は、 FIFO18E1/FIFO36E1 プリ ミ

ティブの Almost Full 信号に接続されます。

2. Vivado IDE にある値の有効な範囲は、 選択内容によってはグレー表示になっていても、 実際の値です。

3. ビルト イン FIFO コンフ ィギュレーシ ョ ンを使用する 7 シ リーズ デバイスの場合、 この信号は、 FIFO18E1/FIFO36E1 プリ ミ

ティブの Almost Empty 信号に接続されます。

表 1-7: インターフェイス信号: 共通クロックの FIFO (続き)

名前 方向 説明

Page 23: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 23PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

クロックおよびリセッ トのインプリ メンテーシ ョ ンおよび操作

AXI4-Stream および AXI メモ リ マップド インターフェイスの場合、 インスタンシエート された FIFO すべての間で、ク ロ ッ クおよび非同期のアクティブ Low のリセッ ト信号が共有されます (図 1-8)。 さ らに、 インスタンシエート されたすべての FIFO で、 独立クロ ッ クまたは共有クロ ッ クの操作がサポート可能です。

FIFO Generator コアを独立クロ ッ クでコンフ ィギュレーシ ョ ンする場合は、 書き込みおよび読み出しポートにそれぞれ独立したクロ ッ ク ド メ インがインプリ メン ト されます。 FIFO Generator コアによ り ク ロ ッ ク ド メ イン間の同期化が処理されるので、 位相および周波数には何の要件もあ り ません。 シングル ク ロ ッ ク ド メ インでデータ バッファ リングが必要な場合は、 FIFO Generator コアを使用し、 共通クロ ッ ク オプシ ョ ンを選択して、 シングル ク ロ ッ ク用に最適化されたコアを生成できます。

FIFO の幅の自動計算

AXI FIFO では、 FIFO の読み出しおよび書き込みポートに対称幅がサポート されています。 AXI FIFO の幅は、 選択されているインターフェイス タイプ (AXI4-Stream または AXI メモ リ マップド )、 そのインターフェイス内でユーザーが選択した信号および信号幅によって決ま り ます。 AXI FIFO の幅は、 各チャネルのすべての信号の幅を集約して、 自動的に計算されます。

X-Ref Target - Figure 1-8

図 1-8: AXI メモリ マップド FIFO のブロック図

Write Clock Domain

Read Clock Domain

Write Clock Domain

Read Clock Domain

Write Clock Domain

Write Clock Domain

Read Clock Domain

Write Clock Domain

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

VALID

READY

CHANNEL INFO

Read Clock Domain

Read Clock Domain

S_ACLK

S_ARESETN

Write Address Channel

Write Data Channel

Write Response

Channel

Read Address Channel

Read Response

Channel

Write Channels

Read Channels

Write Address Channel

Write Data Channel

Write Response Channel

Read Address Channel

Read Response Channel

Write Channels

Read Channels

M_ACLK

OptionalMandatoryDS317_09_081210

Page 24: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 24PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

サポート されているコンフ ィギュレーシ ョ ン、 メモリおよびアプリケーシ ョ ンのタイプ

FIFO Generator コアでは、 FIFO、 レジスタ スライス、 パス スルー ワイヤの中からコンフ ィギュレーシ ョ ンを選択できます。 このコアによ り、 ブロ ッ ク RAM または分配 RAM のメモ リ タイプから構築された FIFO がインプリ メン トされます。 どのアプリ ケーシ ョ ン タイプ (データ FIFO、 パケッ ト FIFO、 または低レイテンシ FIFO) が選択されているかによ り ますが、 FIFO の計算された幅と、 選択されている深さに基づいて、 コアによ り 1 つの最適なコンフ ィギュレーシ ョ ンにメモ リ プリ ミティブがま とめられます。

レジスタ スライス

各 AXI チャネルで情報は 1 方向にのみ転送されるので、 さまざまなチャネル間の関係を固定するための要件はあ りません。 このため、 どのチャネルにもレジスタ スライスは挿入できますが、 これを挿入する と 1 サイクルのレイテンシが追加されてしまいます。 ただし、 レジスタ スライスを挿入するこ とによ り、 最大動作周波数を得るこ とができます。

このコアには、 1) 完全にレジスタ化されたレジスタ スライス (2 段のパイプライン レジスタ )、 2) ライ ト ウェイ トのレジスタ スライス (1 段のパイプライン レジスタ ) という 2 つのオプシ ョ ンがあ り ます。

パス スルー ワイヤ

このコアでは、 AXI メモ リ マップド インターフェイスにパス スルー ワイヤ オプシ ョ ンを提供し、 すべての入力信号を出力へパス スルーします。

パケッ ト FIFO

パケッ ト FIFO コンフ ィギュレーシ ョ ンは、 パケッ トの終わり (最終ビート ) が受信されるまで、 パケッ トの開始 (バース ト ) 転送を遅らせます。 つま り、 マスター側で転送がひとたび始まる と、 割り込まれるこ とな くデータを使用できるので、 ソース側での AXI データ チャネルの停止を避けるこ とができます。 これは、 データ転送がマスター デバイスから開始するアプリ ケーシ ョ ンで重宝します。 たとえば、 ダウンス ト リーム AXI スイ ッチ、 または高帯域メモ リなどのスレーブ デスティネーシ ョ ンよ り も低いデータ レートで動作する リ アルタイム信号チャネルなどが例として挙げられます。

このパケッ ト FIFO の原理は、 AXI4/AXI3 メモ リ マップド バース ト ト ランザクシ ョ ン (書き込みと読み出しの両方) と、 AXI4-Stream パケッ ト転送の両方に当てはま り ます。 この機能は、 メモ リ マップドの書き込みおよびス ト リーム転送の動作を指して、 「ス ト ア アンド フォワード」 と呼ばれるこ と もあ り ます。 メモ リ マップドの読み出しの場合、 AR チャネル ト ランザクシ ョ ンで予測されるよ うに、 読み出しデータ パケッ ト全体を割り込まれるこ とな くため込むのに十分な空きが FIFO に出るまで、 ト ランザクシ ョ ンを遅らせます。 読み出し ト ランザクシ ョ ンは、 実際には RLAST 信号に依存しません。

パケッ ト FIFO 機能は、 共通クロ ッ クの AXI4/AXI3 コンフ ィギュレーシ ョ ン、 および共通/独立クロ ッ クの AXI4-Stream コンフ ィギュレーシ ョ ンでサポート されています。 AXI4-Lite コンフ ィギュレーシ ョ ンではサポート されていません。

AXI4-Stream パケッ ト FIFO

FIFO Generator コアでは AXI4-Stream パケッ ト FIFO 機能に AXI4-Stream インターフェイスが使用されます。 FIFO Generator コアは、 AXI4-Stream のスレーブ側で完了パケッ ト (tlast) を受信したと き、 または AXI4-Stream FIFO がいっぱいになったと き、 AXI4-Stream のマスター側に tvalid を表示します。 FIFO が full になったためにマスター側に tvalid が表示されるのはまれなケースです。 その場合、 パケッ ト FIFO は標準的な FWFT FIFO と して機能し、スレーブ側が tlast を受信するまで、 スレーブで受信したデータをマスターに送信します。

AXI4/AXI3 パケッ ト FIFO

FIFO Generator コアでは、 AXI4/AXI3 パケッ ト FIFO 機能に AXI メモ リ マップド インターフェイスが使用されます (書き込みおよび読み出しの両方で)。

Page 25: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 25PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

• パケッ ト FIFO (書き込みチャネル): FIFO Generator コアは、AXI 書き込みチャネルのスレーブ側が完了パケッ ト (wlast) を受信する と、 AXI AW チャネルのマスター側が awvalid を表示します。 AXI 書き込みチャネルのスレーブ側が要求された転送に必要なデータをすべて受信するまで、 AXI 書き込みアドレス チャネルに AW 転送がポス ト されないよ う、 書き込みチャネルのパケッ ト FIFO は書き込みアドレス チャネルとカップ リ ングします。 書き込みチャネルの深さの最小値は 512 に設定されているので、 書き込みチャネルのパケッ ト FIFO は、 最長のパケッ ト を 2 つ保持できます。

• パケッ ト FIFO (読み出しチャネル): FIFO Generator コアは、AXI 読み出しチャネルのマスター側が完了パケッ ト (rlast) を受信する と、 AXI 読み出しチャネルのスレーブ側が rvalid を表示します。 関連付けられているデータを格納するだけの十分な空きがパケッ ト FIFO にない場合、 AXI 読み出しアドレス チャネルに AR 転送がポス ト されないよ う、 読み出しチャネルのパケッ ト FIFO は読み出しアドレス チャネルとカップ リ ングします。読み出しチャネルの深さの最小値は 512 に設定されているので、 読み出しチャネルのパケッ ト FIFO は、 最長のパケッ ト を 2 つ保持できます。

低レイテンシ FIFO

このコアには、 共通クロ ッ ク モードのメモ リ マップド インターフェイスおよび AXI4-Stream インターフェイスに低レイテンシ FIFO のオプシ ョ ンがあ り ます。 このモードでは、 レイテンシは 1 になり ます。

エラー挿入および訂正 (ECC) のサポート

ブロ ッ ク RAM マクロには、 ビルト インされたエラーの挿入および訂正チェッ ク機能があ り ます。 この機能は、 共通クロ ッ クおよび独立クロ ッ クのブロ ッ ク RAM FIFO で使用可能です。

エラー挿入およびエラー訂正の詳細は、 第 3 章の 「ビルト インのエラー訂正チェッ ク」 を参照してください。

書き込み操作用の AXI スレーブ インターフェイス

AXI FIFO は、 書き込み操作用の AXI スレーブ インターフェイスを提供します。 図 1-4 にあるよ うに、 AXI マスターは INFOMATION および VALID 信号を供給し、 AXI FIFO は READY 信号をアサートするこ とでその INFORMATION を受け入れます。 READY 信号は FIFO がいっぱいになる と きにのみ、 ディアサート されます。

読み出し操作用の AXI スレーブ インターフェイス

AXI FIFO は、 読み出し操作用の AXI マスター インターフェイスを提供します。 図 1-4 にあるよ うに、 AXI FIFO は INFORMATION および VALID 信号を提供し、 AXI スレーブ インターフェイスからアサート された READY 信号が検出される と、 AXI FIFO はバスに次の INFORMATION を表示させます。 VALID 信号は FIFO が空のと きにのみ、 ディアサート されます。

Page 26: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 26PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

AXI FIFO 機能のまとめ

表 1-8 は、 ク ロ ッ ク コンフ ィギュレーシ ョ ンおよびメモ リ タイプ別にサポート されている FIFO Generator コアの機能をま とめたものです。

表 1-8: AXI FIFO コンフ ィギュレーシ ョ ン サマリ

FIFO オプシ ョ ン

共通クロック 独立クロック

ブロック RAM/ビルト イン

分散メモリブロック RAM/ビルト イ

ン分散メモリ

Full(1) ü ü ü ü

プログラマブル Full(2)

ü ü ü ü

Empty(3) ü ü ü ü

プログラマブル Empty(2)

ü ü ü ü

データ カウン ト (4) ü ü ü ü

ECC ü ü

注記:1. IDE の [Handshake Flag Options] によ り、 s_axis_tready/s_axi_awready/s_axi_wready/m_axi_bready/s_axi_arready/m_axi_rready にマッ

プされます。

2. IDE のオプシ ョ ンによ り、 側帯波信号と して提供されます。

3. IDE の [Handshake Flag Options] によ り、 m_axis_tvalid/m_axi_awvalid/m_axi_wvalid/s_axi_bvalid/m_axi_arvalid/s_axi_rvalid にマッ

プされます。

4. ビルト イン FIFO ではデータ カウン ト機能はサポート されていません。

Page 27: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 27PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

AXI FIFO インターフェイス信号

次のセクシ ョ ンでは AXI FIFO インターフェイス信号が定義されています。

s_axis_tready、 s_axi_awready、 s_axi_wready、 m_axi_bready、 s_axi_arready、 および m_axi_rready は、 リセッ ト ウ ィンド ウ外では 1 です。 予期しない動作を避けるため、 リセッ ト ウ ィンド ウ内では何も ト ランザクシ ョ ンを実行しないでください。

注記: リ セッ ト ウ ィンド ウ: リ セッ ト期間 + 再低速の 60 ク ロ ッ ク サイクル。

グローバル信号

表 1-9 は、 AXI FIFO のグローバル インターフェイス信号を定義しています。

s_aresetn 信号によ り、 コア ロジッ ク全体がリセッ ト されます。 これは、 アクティブ Low の非同期入力で、 使用前にコア内部で同期しています。 最初のハードウェア リ セッ トはユーザーによ り生成されます。

AXI4-Stream FIFO インターフェイス信号

表 1-10 は AXI4-Stream FIFO インターフェイス信号を定義しています。

表 1-9: AXI FIFO - グローバル インターフェイス信号

名前 方向 説明

FIFO クロックおよびリセッ ト入力にマップされているグローバル クロックおよびリセッ ト信号

m_aclk 入力 グローバル マスター インターフェイス ク ロ ッ ク : AXI FIFO のマスター インターフェイスのすべての信号が m_aclk に同期しています。

s_aclk 入力 グローバル スレーブ インターフェイス ク ロ ッ ク : このクロ ッ クの立ち上がりエッジですべての信号がサンプルされます。

s_aresetn 入力 グローバル リ セッ ト : この信号はアクティブ Low です。

FIFO の wr_en および rd_en 入力でゲート されているクロック イネーブル信号

s_aclk_en 入力 FIFO の wr_en 信号でゲート されているスレーブのクロ ッ ク イネーブル

m_aclk_en 入力 FIFO の rd_en 信号でゲート されているスレーブのクロ ッ ク イネーブル

表 1-10: AXI4-Stream FIFO インターフェイス信号

名前 方向 説明

AXI4-Stream インターフェイス: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axis_tvalid 入力 TVALID: マスターが有効な転送を駆動しているこ とを示します。 TVALID と TREADY の両方がアサート される と転送が実行されます。

s_axis_tready 出力 TREADY: 現在のサイクルでスレーブが転送を受信できるこ とを示します。

AXI4-Stream インターフェイス: FIFO データ入力 (din) バスにマップされる Infomation 信号

s_axis_tdata[m-1:0] 入力 TDATA: インターフェイスを通過するデータを供給するために使用されるプライマ リ ペイロード。 データ ペイロードの幅はバイ トの整数倍です。

Page 28: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 28PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

s_axis_tstrb[m/8-1:0] 入力 TSTRB: TDATA の関連バイ トの内容がデータ バイ ト と して処理されるか位置バイ ト と して処理されるかど うかを示すバイ ト修飾子。 64 ビッ ト データの場合は、 ビッ ト 0 がデータの最下位バイ ト、 ビッ ト 7 が最上位バイ トに対応します。

例:• STROBE[0] = 1b、 DATA[7:0] は有効

• STROBE[7] = 0b、 DATA[63:56] は無効

s_axis_tkeep[m/8-1:0] 入力 TKEEP: TDATA の関連バイ トの内容がデータ ス ト リームの一部と して処理されるかど うかを示すバイ ト修飾子。 TKEEP バイ ト修飾子がディアサート されている関連バイ トはヌル バイ トであり、 データ ス ト リームから削除できます。 64 ビッ ト データの場合は、 ビッ ト 0 がデータの最下位バイ ト、 ビッ ト 7 が最上位バイ トに対応します。

例:• KEEP[0] = 1b、 DATA[7:0] は NULL バイ ト

• KEEP [7] = 0b、 DATA[63:56] は NULL バイ トでない

s_axis_tlast 入力 TLAST: パケッ トの境界を示します。

s_axis_tid[m:0] 入力 TID: データの異なるス ト リームを表すデータ ス ト リーム識別子。

s_axis_tdest[m:0] 入力 TDEST: データ ス ト リームの配線情報を示します。

s_axis_tuser[m:0] 入力 TUSER: データ ス ト リームと共に送信可能なユーザー定義の側帯波情報。

AXI4-Stream インターフェイス: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axis_tvalid 出力 TVALID: マスターが有効な転送を駆動しているこ とを示します。 tvalid および tready の両方がアサート される と転送が開始されます。

m_axis_tready 入力 TREADY: 現在のサイクルでスレーブが転送を受信できるこ とを示します。

AXI4-Stream インターフェイス: FIFO データ出力 (dout) バスから派生する Infomation 信号

m_axis_tdata[m-1:0] 出力 TDATA: インターフェイスを通過するデータを供給するために使用されるプライマ リ ペイロード。 データ ペイロードの幅はバイ トの整数倍です。

m_axis_tstrb[m/8-1:0] 出力 TSTRB: TDATA の関連バイ トの内容がデータ バイ ト と して処理されるか位置バイ ト と して処理されるかど うかを示すバイ ト修飾子。 64 ビッ ト データの場合は、 ビッ ト 0 がデータの最下位バイ ト、 ビッ ト 7 が最上位バイ トに対応します。 例:• STROBE[0] = 1b、 DATA[7:0] は有効

• STROBE[7] = 0b、 DATA[63:56] は無効

表 1-10: AXI4-Stream FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 29: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 29PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

m_axis_tkeep[m/8-1:0] 出力 TKEEP: TDATA の関連バイ トの内容がデータ ス ト リームの一部と して処理されるかど うかを示すバイ ト修飾子。 TKEEP バイ ト修飾子がディアサート されている関連バイ トはヌル バイ トであり、 データ ス ト リームから削除できます。 64 ビッ ト データの場合は、 ビッ ト 0 がデータの最下位バイ ト、 ビッ ト 7 が最上位バイ トに対応します。 例:• KEEP[0] = 1b、 DATA[7:0] は NULL バイ ト

• KEEP [7] = 0b、 DATA[63:56] は NULL バイ トでない

m_axis_tlast 出力 TLAST: パケッ トの境界を示します。

m_axis_tid[m:0] 出力 TID: データの異なるス ト リームを表すデータ ス ト リーム識別子。

m_axis_tdest[m:0] 出力 TDEST。 データ ス ト リームの情報を配線します。

m_axis_tuser[m:0] 出力 TUSER: データ ス ト リームと共に送信可能なユーザー定義の側帯波情報。

AXI4-Stream FIFO: オプシ ョ ンの側帯波信号

axis_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。 D = log2(FIFO depth)-1

axis_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axis_injectsbiterr 入力 シングル ビッ ト エラーの挿入: ECC 機能が使用される場合、 シングル ビッ ト エラーが挿入されます。

axis_injectdbiterr 入力 ダブル ビッ ト エラーの挿入: ECC 機能が使用される場合、 ダブル ビッ ト エラーが挿入されます。

axis_sbiterr 出力 シングル ビッ ト エラー: ECC デコーダーによ りシングル ビッ ト エラーが検出されて訂正されたこ とを示します。

axis_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーによ りダブル ビッ ト エラーが検出されて訂正されたこ と、 FIFO コアのデータが破損しているこ とを示します。

axis_overflow 出力 オーバーフロー : その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axis_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。このカウン トは、 FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

表 1-10: AXI4-Stream FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 30: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 30PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

AXI4/AXI3 FIFO インターフェイス信号

書き込みチャネル

表 1-11 は、 書き込みアドレス チャネルの AXI4/AXI3 FIFO インターフェイス信号を定義しています。

axis_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあり ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axis_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ッ ク エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axis_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axis_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axis_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

表 1-11: AXI4/AXI3 書き込みアドレス チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4/AXI3 インターフェイスの書き込みアドレス チャネル: FIFO データ入力 (din) バスにマップされる Infomation 信号

s_axi_awid[m:0] 入力 書き込みアドレス ID: 信号の書き込みアドレス グループの ID タグ。

s_axi_awaddr[m:0] 入力 書き込みアドレス : 書き込みアドレス バスによ り、 書き込みバース ト ト ランザクシ ョ ンの最初の転送のアドレスが決ま り ます。 関連付けられている制御信号は、 このバース トの残りの転送のアドレスを決めるのに使用されます。

s_axi_awlen[7:0](1)入力 バース トの長さ : バース トの長さは 1 つのバース トに含ま

れる転送の数によって決ま り ます。 この長さによって、アドレスに関連付けられているデータ転送数が決ま り ます。

s_axi_awsize[2:0] 入力 バース ト サイズ: バース トの各転送のサイズです。 どのバイ ト レーンがアップデート されるのかはバイ ト レーンのス ト ローブで決ま り ます。

表 1-10: AXI4-Stream FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 31: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 31PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

s_axi_awburst[1:0] 入力 バース ト タイプ: サイズ情報と併せ、 バース ト タイプによって、 バース ト内の各転送のアドレスがどのよ うに計算されるが決ま り ます。

s_axi_awlock[1:0](2)入力 ロッ ク タイプ: 転送の不可分な特性についての追加情報を

提供します。

s_axi_awcache[3:0] 入力 キャッシュ タイプ: バッファー可能、 キャ ッシュ可能、 ライ ト スルー、 ライ トバッ クのいずれなのかを示し、 ト ランザクシ ョ ンの属性を割り当てます。

s_axi_awprot[2:0] 入力 プロテクシ ョ ン タイプ: ト ランザクシ ョ ンのセキュ リ ティ レベルが、 標準、 特権、 セキュアのどれなのかを示し、その ト ランザクシ ョ ンがデータ アクセスなのか、 命令アクセスなのかを示します。

s_axi_awqos[3:0] 入力 サービスの品質 (QoS): 各書き込みト ランザクシ ョ ンの書き込みアドレス チャネルで送信されます。

s_axi_awregion[3:0](3)入力 領域 ID: 各書き込みト ランザクシ ョ ンの書き込みアドレス

チャネルで送信されます。

s_axi_awuser[m:0] 入力 書き込みアドレス チャネルのユーザー

AXI4/AXI3 インターフェイスの書き込みアドレス チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_awvalid 入力 書き込みアドレス有効: 有効な書き込みアドレスおよび制御情報が使用可能であるこ とを示します。 • 1 = アドレスおよび制御情報が使用可能。

• 0 = アドレスおよび制御情報が使用可能でない。 アドレスおよび制御情報は、 アドレスの肯定応答信号 (awready) が High になるまで、 安定状態を保ちます。

s_axi_awready 出力 書き込みアドレス準備完了: スレーブでアドレスおよび関連の制御信号を受信できる準備が整ったこ とを示します。

• 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4/AXI3 インターフェイスの書き込みアドレス チャネル: FIFO データ出力 (dout) バスから派生する Infomation 信号

m_axi_awid[m:0] 出力 書き込みアドレス ID: 信号の書き込みアドレス グループの ID タグ。

m_axi_awaddr[m:0] 出力 書き込みアドレス : 書き込みアドレス バスによ り、 書き込みバース ト ト ランザクシ ョ ンの最初の転送のアドレスが決ま り ます。 関連付けられている制御信号は、 このバース トの残りの転送のアドレスを決めるのに使用されます。

m_axi_awlen[7:0](1)出力 バース トの長さ : バース トの長さは 1 つのバース トに含ま

れる転送の数によって決ま り ます。 この長さによって、アドレスに関連付けられているデータ転送数が決ま り ます。

m_axi_awsize[2:0] 出力 バース ト サイズ: バース トの各転送のサイズです。 どのバイ ト レーンがアップデート されるのかはバイ ト レーンのス ト ローブで決ま り ます。

m_axi_awburst[1:0] 出力 バース ト タイプ: サイズ情報と併せ、 バース ト タイプによって、 バース ト内の各転送のアドレスがどのよ うに計算されるが決ま り ます。

表 1-11: AXI4/AXI3 書き込みアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 32: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 32PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

m_axi_awlock[1:0](2)出力 ロッ ク タイプ: 転送の不可分な特性についての追加情報を

提供します。

m_axi_awcache[3:0] 出力 キャッシュ タイプ: バッファー可能、 キャ ッシュ可能、 ライ ト スルー、 ライ トバッ クのいずれなのかを示し、 ト ランザクシ ョ ンの属性を割り当てます。

m_axi_awprot[2:0] 出力 プロテクシ ョ ン タイプ: ト ランザクシ ョ ンのセキュ リ ティ レベルが、 標準、 特権、 セキュアのどれなのかを示し、その ト ランザクシ ョ ンがデータ アクセスなのか、 命令アクセスなのかを示します。

m_axi_awqos[3:0] 出力 サービスの品質 (QoS): 各書き込みト ランザクシ ョ ンの書き込みアドレス チャネルで送信されます。

m_axi_awregion[3:0](3)出力 領域 ID: 各書き込みト ランザクシ ョ ンの書き込みアドレス

チャネルで送信されます。

m_axi_awuser[m:0] 出力 書き込みアドレス チャネルのユーザー

AXI4/AXI3 インターフェイスの書き込みアドレス チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_awvalid 出力 書き込みアドレス有効: 有効な書き込みアドレスおよび制御情報が使用可能であるこ とを示します。 • 1 = アドレスおよび制御情報は利用可能 • 0 = アドレスおよび制御情報は利用不可 アドレスおよび制御情報は、 アドレスの肯定応答信号 (awready) が High になるまで、 安定状態を保ちます。

m_axi_awready 入力 書き込みアドレス準備完了: スレーブでアドレスおよび関連の制御信号を受信できる準備が整ったこ とを示します。

• 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4/AXI3 書き込みアドレス チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_aw_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_aw_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_aw_injectsbiterr 入力 シングル ビッ ト エラーの挿入: ECC 機能が使用される場合、 シングル ビッ ト エラーが挿入されます。

axi_aw_injectdbiterr 入力 ダブル ビッ ト エラーの挿入: ECC 機能が使用される場合、ダブル ビッ ト エラーが挿入されます。

axi_aw_sbiterr 出力 シングル ビッ ト エラー : ECC デコーダーでシングル ビット エラーが検出され、 修正されたこ とを示します。

axi_aw_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

表 1-11: AXI4/AXI3 書き込みアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 33: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 33PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

axi_aw_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_aw_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_aw_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ ります。

axi_aw_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ッ ク エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_aw_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_aw_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。FIFO のワード数がプログラマブルなしきい値未満のと き、ディアサート されます。

axi_aw_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

注記:1. *_awlen のポート幅は、 AXI4 の場合は 8、 AXI3 の場合は 4 です。

2. *_awlen のポート幅は、 AXI4 の場合は 1、 AXI3 の場合は 2 です。

3. ポートは AXI3 の場合はあ り ません。

表 1-11: AXI4/AXI3 書き込みアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 34: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 34PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

表 1-12 は、 書き込みデータ チャネルの AXI4/AXI3 FIFO インターフェイス信号を定義しています。

表 1-12: AXI4/AXI3 書き込みデータ チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4/AXI3 インターフェイスの書き込みデータ チャネル: FIFO データ入力 (din) バスにマップされる Infomation 信号

s_axi_wid[m:0](1)入力 書き込み ID タグ: 書き込みデータ転送の ID タグ。この WID

の値は、 書き込みト ランザクシ ョ ンの AWID 値と一致している必要があ り ます。

s_axi_wdata[m-1:0] 入力 書き込みデータ : 書き込みデータ バスは、 8、 16、 32、 64、128、 256、 または 512 ビッ ト幅になり ます。

s_axi_wstrb[m/8-1:0] 入力 書き込みス ト ローブ: メモ リのどのバイ ト レーンがアップデート されるかを示します。 書き込みデータ バスの各 8 ビッ トに対し、 書き込みス ト ローブは 1 つです。 したがって、 WSTRB[n] は WDATA[(8 × n) + 7:(8 × n)] になり ます。 64 ビッ ト データの場合は、 ビッ ト 0 がデータの最下位バイ ト、ビッ ト 7 が最上位バイ トに対応します。 例:• STROBE[0] = 1b、 DATA[7:0] は有効

• STROBE[7] = 0b、 DATA[63:56] は無効

s_axi_wlast 入力 書き込み最終: 書き込みバース トの最終転送を示します。

s_axi_wuser[m:0] 入力 書き込みデータ チャネルのユーザー

AXI4/AXI3 インターフェイスの書き込みデータ チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_wvalid 入力 書き込み有効: 有効な書き込みデータおよびス ト ローブが使用可能であるこ とを示します。 • 1 = 書き込みデータおよびス ト ローブが使用可能。

• 0 = 書き込みデータおよびス ト ローブが使用可能でない。

s_axi_wready 出力 書き込み準備完了: スレーブで書き込みデータを受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4/AXI3 インターフェイスの書き込みデータ チャネル: FIFO データ出力 (dout) バスから派生する Infomation 信号

m_axi_wid[m:0](1)出力 書き込み ID タグ: 書き込みデータ転送の ID タグ。この WID

の値は、 書き込みト ランザクシ ョ ンの AWID 値と一致している必要があ り ます。

m_axi_wdata[m-1:0] 出力 書き込みデータ : 書き込みデータ バスは、 8、 16、 32、 64、128、 256、 または 512 ビッ ト幅になり ます。

m_axi_wstrb[m/8-1:0] 出力 書き込みス ト ローブ: メモ リのどのバイ ト レーンがアップデート されるかを示します。 書き込みデータ バスの各 8 ビッ トに対し、 書き込みス ト ローブは 1 つです。 したがって、 WSTRB[n] は WDATA[(8 × n) + 7:(8 × n)] になり ます。 64 ビッ ト データの場合は、 ビッ ト 0 がデータの最下位バイ ト、ビッ ト 7 が最上位バイ トに対応します。 例:• STROBE[0] = 1b、 DATA[7:0] は有効

• STROBE[7] = 0b、 DATA[63:56] は無効

m_axi_wlast 出力 書き込み最終: 書き込みバース トの最終転送を示します。

m_axi_wuser[m:0] 出力 書き込みデータ チャネルのユーザー

AXI4/AXI3 インターフェイスの書き込みデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

Page 35: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 35PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

m_axi_wvalid 出力 書き込み有効: 有効な書き込みデータおよびス ト ローブが使用可能であるこ とを示します。 • 1 = 書き込みデータおよびス ト ローブが使用可能。

• 0 = 書き込みデータおよびス ト ローブが使用可能でない。

m_axi_wready 入力 書き込み準備完了: スレーブで書き込みデータを受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4/AXI3 書き込みデータ チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_w_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_w_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_w_injectsbiterr 入力 シングル ビッ ト エラーの挿入: ECC 機能が使用される場合、シングル ビッ ト エラーが挿入されます。

axi_w_injectdbiterr 入力 ダブル ビッ ト エラーの挿入: ECC 機能が使用される場合、ダブル ビッ ト エラーが挿入されます。

axi_w_sbiterr 出力 シングル ビッ ト エラー : ECC デコーダーによ りシングル ビッ ト エラーが検出されて訂正されたこ とを示します。

axi_w_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーによ りダブル ビッ ト エラーが検出されて訂正されたこ と、 FIFO コアのデータが破損しているこ とを示します。

axi_w_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込みリ クエス トが拒否されたこ とを示します。FIFO がオーバーフロー状態になっても FIFO に悪影響はあり ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_w_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_w_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

表 1-12: AXI4/AXI3 書き込みデータ チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 36: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 36PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

表 1-13 は、 書き込み応答チャネルの AXI4/AXI3 FIFO インターフェイス信号を定義しています。

axi_w_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ック エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_w_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_w_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axi_w_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

注記:1. ポートは AXI4 の場合はあ り ません。

表 1-13: AXI4/AXI3 書き込み応答チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4/AXI3 インターフェイスの書き込み応答チャネル: FIFO データ出力 (dout) バスにマップされる Infomation 信号

s_axi_bid[m:0] 出力 応答 ID: 書き込み応答の ID タグ。 この BID の値は、 スレーブが応答している書き込みト ランザクシ ョ ンの AWID 値と一致している必要があ り ます。

s_axi_bresp[1:0] 出力 書き込み応答: 書き込みト ランザクシ ョ ンのステータスを示します。 応答の種類には、 OKAY、 EXOKAY、 SLVERR、 および DECERR があ り ます。

s_axi_buser[m:0] 出力 書き込み応答チャネルのユーザー

AXI4/AXI3 インターフェイスの書き込み応答チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

s_axi_bvalid 出力 書き込み応答有効: 有効な書き込み応答が使用可能であることを示します。 • 1 = 書き込み応答が使用可能である。

• 0 = 書き込み応答が使用可能でない。

s_axi_bready 入力 応答準備完了: マスターで応答を受信できる準備が整ったことを示します。

• 1 = マスターの準備完了。

• 0 = マスターの準備ができていない。

AXI4/AXI3 インターフェイスの書き込み応答チャネル: FIFO データ入力 (din) バスから派生する Infomation 信号

表 1-12: AXI4/AXI3 書き込みデータ チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 37: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 37PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

m_axi_bid[m:0] 入力 応答 ID: 書き込み応答の ID タグ。 この BID の値は、 スレーブが応答している書き込みト ランザクシ ョ ンの AWID 値と一致している必要があ り ます。

m_axi_bresp[1:0] 入力 書き込み応答: 書き込みト ランザクシ ョ ンのステータスを示します。 応答の種類には、 OKAY、 EXOKAY、 SLVERR、 および DECERR があ り ます。

m_axi_buser[m:0] 入力 書き込み応答チャネルのユーザー

AXI4/AXI3 インターフェイスの書き込み応答チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

m_axi_bvalid 入力 書き込み応答有効: 有効な書き込み応答が使用可能であることを示します。 • 1 = 書き込み応答が使用可能である。

• 0 = 書き込み応答が使用可能でない。

m_axi_bready 出力 応答準備完了: マスターで応答を受信できる準備が整ったことを示します。

• 1 = マスターの準備完了。

• 0 = マスターの準備ができていない。

AXI4/AXI3 書き込み応答チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_b_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_b_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_b_injectsbiterr 入力 シングル ビッ ト エラーの挿入: ECC 機能が使用される場合、シングル ビッ ト エラーが挿入されます。

axi_b_injectdbiterr 入力 ダブル ビッ ト エラーの挿入: ECC 機能が使用される場合、 ダブル ビッ ト エラーが挿入されます。

axi_b_sbiterr 出力 シングル ビッ ト エラー : ECC デコーダーでシングル ビッ ト エラーが検出され、 修正されたこ とを示します。

axi_b_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

axi_b_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があり ます。

表 1-13: AXI4/AXI3 書き込み応答チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 38: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 38PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

読み出しチャネル

表 1-14 は、 読み出しアドレス チャネルの AXI4/AXI3 FIFO インターフェイス信号を定義しています。

axi_b_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、FIFO のワード数が少なく レポート されないよ うにします。ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_b_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_b_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ッ ク エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_b_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_b_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axi_b_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

表 1-14: AXI4/AXI3 読み出しアドレス チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4/AXI3 インターフェイスの読み出しアドレス チャネル: FIFO データ入力 (din) バスにマップされる Infomation 信号

s_axi_arid[m:0] 入力 読み出しアドレス ID: 信号の読み出しアドレス グループの ID タグ。

表 1-13: AXI4/AXI3 書き込み応答チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 39: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 39PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

s_axi_araddr[m:0] 入力 読み出しアドレス : 読み出しアドレス バスによ り、 読み出しバース ト ト ランザクシ ョ ンの最初のアドレスが決ま り ます。

バース トの開始アドレスのみが指定され、 関連付けられている制御信号によ りバース トの残りの転送のアドレス計算方法が示されます。

s_axi_arlen[7:0](1)入力 バース トの長さ : バース トの長さは 1 つのバース トに含まれ

る転送の数によって決ま り ます。 この長さによって、 アドレスに関連付けられているデータ転送数が決ま り ます。

s_axi_arsize[2:0] 入力 バース ト サイズ: バース トの各転送のサイズです。

s_axi_arburst[1:0] 入力 バース ト タイプ: サイズ情報と併せ、 バース ト タイプによって、 バース ト内の各転送のアドレスがどのよ うに計算されるが決ま り ます。

s_axi_arlock[1:0](2)入力 ロッ ク タイプ: 転送の不可分な特性についての追加情報を

提供します。

s_axi_arcache[3:0] 入力 キャッシュ タイプ: 転送のキャッシュ可能な特性についての追加情報を提供します。

s_axi_arprot[2:0] 入力 プロテクシ ョ ン タイプ: ト ランザクシ ョ ンのプロテクシ ョン ユニッ ト情報を提供します。

s_axi_arqos[3:0] 入力 サービスの品質 (QoS): 各読み出し ト ランザクシ ョ ンの読み出しアドレス チャネルで送信されます。

s_axi_arregion[3:0](3)入力 領域 ID: 各読み出し ト ランザクシ ョ ンの読み出しアドレス

チャネルで送信されます。

s_axi_aruser[m:0] 入力 読み出しアドレス チャネルのユーザー

AXI4/AXI3 インターフェイスの読み出しアドレス チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_arvalid 入力 読み出しアドレス有効: この信号が High の場合、 読み出しアドレスおよび制御情報が有効であるこ と、 アドレスの肯定応答信号 (arready) が High になるまで安定状態を保つこ とを示します。

• 1 = アドレスおよび制御情報が有効。

• 0 = アドレスおよび制御情報が無効。

s_axi_arready 出力 読み出しアドレス準備完了: スレーブでアドレスおよび関連の制御信号を受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4/AXI3 インターフェイスの読み出しアドレス チャネル: FIFO データ出力 (dout) バスから派生する Infomation 信号

m_axi_arid[m:0] 出力 読み出しアドレス ID。 読み出しアドレス信号グループの識別用タグです。

m_axi_araddr[m:0] 出力 読み出しアドレス : 読み出しアドレス バスによ り、 読み出しバース ト ト ランザクシ ョ ンの最初のアドレスが決ま り ます。

バース トの開始アドレスのみが指定され、 関連付けられている制御信号によ りバース トの残りの転送のアドレス計算方法が示されます。

表 1-14: AXI4/AXI3 読み出しアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 40: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 40PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

m_axi_arlen[7:0](1)出力 バース トの長さ : バース トの長さは 1 つのバース トに含まれ

る転送の数によって決ま り ます。 この長さによって、 アドレスに関連付けられているデータ転送数が決ま り ます。

m_axi_arsize[2:0] 出力 バース ト サイズ: バース トの各転送のサイズです。

m_axi_arburst[1:0] 出力 バース ト タイプ: サイズ情報と併せ、 バース ト タイプによって、 バース ト内の各転送のアドレスがどのよ うに計算されるが決ま り ます。

m_axi_arlock[1:0](2)出力 ロッ ク タイプ: 転送の不可分な特性についての追加情報を

提供します。

m_axi_arcache[3:0] 出力 キャッシュ タイプ: 転送のキャッシュ可能な特性についての追加情報を提供します。

m_axi_arprot[2:0] 出力 プロテクシ ョ ン タイプ: ト ランザクシ ョ ンのプロテクシ ョン ユニッ ト情報を提供します。

m_axi_arqos[3:0] 出力 サービスの品質 (QoS): 各読み出し ト ランザクシ ョ ンの読み出しアドレス チャネルで送信されます。

m_axi_arregion[3:0](3)出力 領域 ID: 各読み出し ト ランザクシ ョ ンの読み出しアドレス

チャネルで送信されます。

m_axi_aruser[m:0] 出力 読み出しアドレス チャネルのユーザー

AXI4/AXI3 インターフェイスの読み出しアドレス チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_arvalid 出力 読み出しアドレス有効: この信号が High の場合、 読み出しアドレスおよび制御情報が有効であるこ と、 アドレスの肯定応答信号 (arready) が High になるまで安定状態を保つこ とを示します。

• 1 = アドレスおよび制御情報が有効。

• 0 = アドレスおよび制御情報が無効。

m_axi_arready 入力 読み出しアドレス準備完了: スレーブでアドレスおよび関連の制御信号を受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4/AXI3 読み出しアドレス チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_ar_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_ar_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_ar_injectsbiterr 入力 シングル ビッ ト エラーの挿入: ECC 機能が使用される場合、 シングル ビッ ト エラーが挿入されます。

axi_ar_injectdbiterr 入力 ダブル ビッ ト エラーの挿入: ECC 機能が使用される場合、ダブル ビッ ト エラーが挿入されます。

表 1-14: AXI4/AXI3 読み出しアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 41: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 41PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

axi_ar_sbiterr 出力 シングル ビッ ト エラー: ECC デコーダーでシングル ビッ ト エラーが検出され、 修正されたこ とを示します。

axi_ar_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

axi_ar_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_ar_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_ar_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ ります。

axi_ar_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ック エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_ar_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_ar_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

表 1-14: AXI4/AXI3 読み出しアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 42: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 42PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

表 1-15 は、 読み出しデータ チャネルの AXI4/AXI3 FIFO インターフェイス信号を定義しています。

axi_ar_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

注記:1. *_arlen のポート幅は、 AXI4 の場合は 8、 AXI3 の場合は 4 です。

2. *_awlen のポート幅は、 AXI4 の場合は 1、 AXI3 の場合は 2 です。

3. ポートは AXI3 の場合はあ り ません。

表 1-15: AXI4/AXI3 読み出しデータ チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4/AXI3 インターフェイスの読み出しデータ チャネル: FIFO データ出力 (dout) バスにマップされる Infomation 信号

s_axi_rid[m:0] 出力 読み出し ID タグ: 信号の読み出しデータ グループの ID タグです。 この RID の値はスレーブによって生成され、 スレーブが応答している読み出し ト ランザクシ ョ ンの ARID 値と一致している必要があ り ます。

s_axi_rdata[m-1:0] 出力 読み出しデータ : 8、 16、 32、 64、 128、 256、 または 512 ビット幅になり ます。

s_axi_rresp[1:0] 出力 読み出し応答: 読み出し転送のステータスを示します。 応答の種類には、 OKAY、 EXOKAY、 SLVERR、 および DECERR があ り ます。

s_axi_rlast 出力 読み出し最終: 読み出しバース トの最終転送を示します。

s_axi_ruser[m:0] 出力 読み出しデータ チャネルのユーザー

AXI4/AXI3 インターフェイスの読み出しデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

s_axi_rvalid 出力 読み出し有効: 必要な読み出しデータが使用可能であるこ と、読み出し転送が完了可能であるこ とを示します。 • 1 = 読み出しデータが使用可能である。

• 0 = 読み出しデータが使用可能でない。

s_axi_rready 入力 読み出し準備完了: マスターで読み出しデータおよび応答を受信できる準備が整ったこ とを示します。 • 1 = マスターの準備完了。

• 0 = マスターの準備ができていない。

AXI4/AXI3 インターフェイスの読み出しデータ チャネル: FIFO データ入力 (din) バスから派生する Infomation 信号

m_axi_rid[m:0] 入力 読み出し ID タグ: 信号の読み出しデータ グループの ID タグです。 この RID の値はスレーブによって生成され、 スレーブが応答している読み出し ト ランザクシ ョ ンの ARID 値と一致している必要があ り ます。

m_axi_rdata[m-1:0] 入力 読み出しデータ : 8、 16、 32、 64、 128、 256、 または 512 ビット幅になり ます。

m_axi_ rresp[1:0] 入力 読み出し応答: 読み出し転送のステータスを示します。 応答の種類には、 OKAY、 EXOKAY、 SLVERR、 および DECERR があ り ます。

m_axi_rlast 入力 読み出し最終: 読み出しバース トの最終転送を示します。

表 1-14: AXI4/AXI3 読み出しアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 43: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 43PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

m_axi_ruser[m:0] 入力 読み出しデータ チャネルのユーザー

AXI4/AXI3 インターフェイスの読み出しデータ チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

m_axi_rvalid 入力 読み出し有効: 必要な読み出しデータが使用可能であるこ と、読み出し転送が完了可能であるこ とを示します。 • 1 = 読み出しデータが使用可能である。

• 0 = 読み出しデータが使用可能でない。

m_axi_rready 出力 読み出し準備完了: マスターで読み出しデータおよび応答を受信できる準備が整ったこ とを示します。 • 1 = マスターの準備完了。

• 0 = マスターの準備ができていない。

AXI4/AXI3 読み出しデータ チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_r_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_r_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_r_injectsbiterr 入力 ECC 機能が使用される場合、 シングル ビッ ト エラーが挿入されます。

axi_r_injectdbiterr 入力 ECC 機能が使用される場合、 ダブル ビッ ト エラーが挿入されます。

axi_r_sbiterr 出力 シングル ビッ ト エラー : ECC デコーダーでシングル ビッ ト エラーが検出され、 修正されたこ とを示します。

axi_r_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

axi_r_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があり ます。

axi_r_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、FIFO のワード数が少なく レポート されないよ うにします。ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

表 1-15: AXI4/AXI3 読み出しデータ チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 44: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 44PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

AXI4-Lite FIFO インターフェイス信号

書き込みチャネル

表 1-16 は、 書き込みアドレス チャネルの AXI4-Lite FIFO インターフェイス信号を定義しています。

axi_r_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_r_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ッ ク エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_r_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_r_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axi_r_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

表 1-16: AXI4-Lite 書き込みアドレス チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4-Lite インターフェイスの書き込みアドレス チャネル: FIFO データ入力 (din) バスにマップされる Infomation 信号

s_axi_awaddr[m:0] 入力 書き込みアドレス : 書き込みバース ト ト ランザクシ ョ ンの最初の転送のアドレスが決ま り ます。 関連付けられている制御信号は、 このバース トの残りの転送のアドレスを決めるのに使用されます。

s_axi_awprot[3:0] 入力 プロテクシ ョ ン タイプ: ト ランザクシ ョ ンのセキュ リ ティ レベルが、 標準、 特権、 セキュアのどれなのかを示し、 その ト ランザクシ ョ ンがデータ アクセスなのか、 命令アクセスなのかを示します。

AXI4-Lite インターフェイスの書き込みアドレス チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

表 1-15: AXI4/AXI3 読み出しデータ チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 45: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 45PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

s_axi_awvalid 入力 書き込みアドレス有効: 有効な書き込みアドレスおよび制御情報が使用可能であるこ とを示します。 • 1 = アドレスおよび制御情報が使用可能。

• 0 = アドレスおよび制御情報が使用可能でない。 アドレスおよび制御情報は、 アドレスの肯定応答信号 (awready) が High になるまで、 安定状態を保ちます。

s_axi_awready 出力 書き込みアドレス準備完了: スレーブでアドレスおよび関連の制御信号を受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4-Lite インターフェイスの書き込みアドレス チャネル: FIFO データ出力 (dout) バスから派生する Infomation 信号

m_axi_awaddr[m:0] 出力 書き込みアドレス : 書き込みバース ト ト ランザクシ ョ ンの最初の転送のアドレスが決ま り ます。 関連付けられている制御信号は、 このバース トの残りの転送のアドレスを決めるのに使用されます。

m_axi_awprot[3:0] 出力 プロテクシ ョ ン タイプ: ト ランザクシ ョ ンのセキュ リ ティ レベルが、 標準、 特権、 セキュアのどれなのかを示し、 その ト ランザクシ ョ ンがデータ アクセスなのか、 命令アクセスなのかを示します。

AXI4-Lite インターフェイスの書き込みアドレス チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_awvalid 出力 書き込みアドレス有効: 有効な書き込みアドレスおよび制御情報が使用可能であるこ とを示します。 • 1 = アドレスおよび制御情報が使用可能。

• 0 = アドレスおよび制御情報が使用可能でない。 アドレスおよび制御情報は、 アドレスの肯定応答信号 (awready) が High になるまで、 安定状態を保ちます。

m_axi_awready 入力 書き込みアドレス準備完了: スレーブでアドレスおよび関連の制御信号を受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4-Lite 書き込みアドレス チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_aw_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_aw_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_aw_injectsbiterr 入力 シングル ビッ ト エラーの挿入: ECC 機能が使用される場合、 シングル ビッ ト エラーが挿入されます。

axi_aw_injectdbiterr 入力 ダブル ビッ ト エラーの挿入: ECC 機能が使用される場合、ダブル ビッ ト エラーが挿入されます。

表 1-16: AXI4-Lite 書き込みアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 46: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 46PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

axi_aw_sbiterr 出力 シングル ビッ ト エラー: ECC デコーダーでシングル ビッ ト エラーが検出され、 修正されたこ とを示します。

axi_aw_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

axi_aw_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_aw_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_aw_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ ります。

axi_aw_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ック エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_aw_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_aw_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axi_aw_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

表 1-16: AXI4-Lite 書き込みアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 47: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 47PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

表 1-17 は、 書き込みデータ チャネルの AXI4-Lite FIFO インターフェイス信号を定義しています。

表 1-17: AXI4-Lite 書き込みデータ チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4-Lite インターフェイスの書き込みデータ チャネル: FIFO データ入力 (din) バスにマップされる Infomation 信号

s_axi_wdata[m-1:0] 入力 書き込みデータ : 8、 16、 32、 64、 128、 256、 または 512 ビッ ト幅になり ます。

s_axi_wstrb[m/8-1:0] 入力 書き込みス ト ローブ: メモ リのどのバイ ト レーンがアップデート されるかを示します。 書き込みデータ バスの各 8 ビッ トに対し、 書き込みス ト ローブは 1 つです。 したがって、WSTRB[n] は WDATA[(8 × n) + 7:(8 × n)] になり ます。64 ビッ ト データの場合は、 ビッ ト 0 がデータの最下位バイ ト、ビッ ト 7 が最上位バイ トに対応します。 例:• STROBE[0] = 1b、 DATA[7:0] は有効

• STROBE[7] = 0b、 DATA[63:56] は無効

AXI4-Lite インターフェイスの書き込みデータ チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_wvalid 入力 書き込み有効: 有効な書き込みデータおよびス ト ローブが使用可能であるこ とを示します。 • 1 = 書き込みデータおよびス ト ローブが使用可能。

• 0 = 書き込みデータおよびス ト ローブが使用可能でない。

s_axi_wready 出力 書き込み準備完了: スレーブで書き込みデータを受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4-Lite インターフェイスの書き込みデータ チャネル: FIFO データ出力 (dout) バスから派生する Infomation 信号

m_axi_wdata[m-1:0] 出力 書き込みデータ : 8、 16、 32、 64、 128、 256、 または 512 ビッ ト幅になり ます。

m_axi_wstrb[m/8-1:0] 出力 書き込みス ト ローブ: メモ リのどのバイ ト レーンがアップデート されるかを示します。 書き込みデータ バスの各 8 ビッ トに対し、 書き込みス ト ローブは 1 つです。 したがって、WSTRB[n] は WDATA[(8 × n) + 7:(8 × n)] になり ます。64 ビッ ト データの場合は、 ビッ ト 0 がデータの最下位バイ ト、ビッ ト 7 が最上位バイ トに対応します。

例:• STROBE[0] = 1b、 DATA[7:0] は有効

• STROBE[7] = 0b、 DATA[63:56] は無効

AXI4-Lite インターフェイスの書き込みデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_wvalid 出力 書き込み有効: 有効な書き込みデータおよびス ト ローブが使用可能であるこ とを示します。 • 1 = 書き込みデータおよびス ト ローブが使用可能。

• 0 = 書き込みデータおよびス ト ローブが使用可能でない。

m_axi_wready 入力 書き込み準備完了: スレーブで書き込みデータを受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4-Lite 書き込みデータ チャネルの FIFO: オプシ ョ ンの側帯波信号

Page 48: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 48PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

axi_w_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_w_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセット中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_w_injectsbiterr 入力 ECC 機能が使用される場合、 シングル ビッ ト エラーが挿入されます。

axi_w_injectdbiterr 入力 ECC 機能が使用される場合、 ダブル ビッ ト エラーが挿入されます。

axi_w_sbiterr 出力 シングル ビッ ト エラー: ECC デコーダーでシングル ビッ ト エラーが検出され、 修正されたこ とを示します。

axi_w_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

axi_w_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_w_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_w_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ ります。

axi_w_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ック エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

表 1-17: AXI4-Lite 書き込みデータ チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 49: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 49PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

表 1-18 は、 書き込み応答チャネルの AXI4-Lite FIFO インターフェイス信号を定義しています。

axi_w_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_w_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axi_w_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

表 1-18: AXI4-Lite 書き込み応答チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4-Lite インターフェイスの書き込み応答チャネル: FIFO データ出力 (dout) バスにマップされる Infomation 信号

s_axi_bresp[1:0] 出力 書き込み応答: 書き込みト ランザクシ ョ ンのステータスを示します。 応答の種類には、 OKAY、 EXOKAY、 SLVERR、 および DECERR があ り ます。

AXI4-Lite インターフェイスの書き込み応答チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

s_axi_bvalid 出力 書き込み応答有効: 有効な書き込み応答が使用可能であることを示します。 • 1 = 書き込み応答が使用可能である。

• 0 = 書き込み応答が使用可能でない。

s_axi_bready 入力 応答準備完了: マスターで応答を受信できる準備が整ったことを示します。

• 1 = マスターの準備完了。

• 0 = マスターの準備ができていない。

AXI4-Lite インターフェイスの書き込み応答チャネル: FIFO データ入力 (din) バスから派生する Infomation 信号

m_axi_bresp[1:0] 入力 書き込み応答: 書き込みト ランザクシ ョ ンのステータスを示します。 応答の種類には、 OKAY、 EXOKAY、 SLVERR、 および DECERR があ り ます。

AXI4-Lite インターフェイスの書き込み応答チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

m_axi_bvalid 入力 書き込み応答有効: 有効な書き込み応答が使用可能であることを示します。 • 1 = 書き込み応答が使用可能である。

• 0 = 書き込み応答が使用可能でない。

m_axi_bready 出力 応答準備完了: マスターで応答を受信できる準備が整ったことを示します。

• 1 = マスターの準備完了。

• 0 = マスターの準備ができていない。

AXI4-Lite 書き込み応答チャネルの FIFO: オプシ ョ ンの側帯波信号

表 1-17: AXI4-Lite 書き込みデータ チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 50: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 50PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

axi_b_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_b_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D is than log2(FIFO depth)-1

axi_b_injectsbiterr 入力 ECC 機能が使用される場合、 シングル ビッ ト エラーが挿入されます。

axi_b_injectdbiterr 入力 ECC 機能が使用される場合、 ダブル ビッ ト エラーが挿入されます。

axi_b_sbiterr 出力 シングル ビッ ト エラー : ECC デコーダーでシングル ビッ ト エラーが検出され、 修正されたこ とを示します。

axi_b_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

axi_b_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があり ます。

axi_b_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、FIFO のワード数が少なく レポート されないよ うにします。ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_b_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_b_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ッ ク エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

表 1-18: AXI4-Lite 書き込み応答チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 51: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 51PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

読み出しチャネル

表 1-19 は、 読み出しアドレス チャネルの AXI4-Lite FIFO インターフェイス信号を定義しています。

axi_b_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_b_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axi_b_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

表 1-19: AXI4-Lite 読み出しアドレス チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4-Lite インターフェイスの読み出しアドレス チャネル: FIFO データ入力 (din) バスにマップされる Infomation 信号

s_axi_araddr[m:0] 入力 読み出しアドレス : 読み出しアドレス バスによ り、 読み出しバース ト ト ランザクシ ョ ンの最初のアドレスが決ま り ます。 バース トの開始アドレスのみが指定され、 関連付けられている制御信号によ りバース トの残りの転送のアドレス計算方法が示されます。

s_axi_arprot[3:0] 入力 プロテクシ ョ ン タイプ: ト ランザクシ ョ ンのプロテクシ ョン ユニッ ト情報を提供します。

AXI4-Lite インターフェイスの読み出しアドレス チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_arvalid 入力 読み出しアドレス有効: この信号が High の場合、 読み出しアドレスおよび制御情報が有効であるこ と、 アドレスの肯定応答信号 (arready) が High になるまで安定状態を保つこ とを示します。

• 1 = アドレスおよび制御情報が有効。

• 0 = アドレスおよび制御情報が無効。

s_axi_arready 出力 読み出しアドレス準備完了: スレーブでアドレスおよび関連の制御信号を受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4-Lite インターフェイスの読み出しアドレス チャネル: FIFO データ出力 (dout) バスから派生する Infomation 信号

m_axi_araddr[m:0] 出力 読み出しアドレス : 読み出しアドレス バスによ り、 読み出しバース ト ト ランザクシ ョ ンの最初のアドレスが決ま り ます。 バース トの開始アドレスのみが指定され、 関連付けられている制御信号によ りバース トの残りの転送のアドレス計算方法が示されます。

m_axi_arprot[3:0] 出力 プロテクシ ョ ン タイプ: ト ランザクシ ョ ンのプロテクシ ョン ユニッ ト情報を提供します。

AXI4-Lite インターフェイスの読み出しアドレス チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

表 1-18: AXI4-Lite 書き込み応答チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 52: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 52PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

m_axi_arvalid 出力 読み出しアドレス有効: この信号が High の場合、 読み出しアドレスおよび制御情報が有効であるこ と、 アドレスの肯定応答信号 (arready) が High になるまで安定状態を保つこ とを示します。

• 1 = アドレスおよび制御情報が有効。

• 0 = アドレスおよび制御情報が無効。

m_axi_arready 入力 読み出しアドレス準備完了: スレーブでアドレスおよび関連の制御信号を受信できる準備が整ったこ とを示します。 • 1 = スレーブ準備完了。

• 0 = スレーブの準備ができていない。

AXI4-Lite 読み出しアドレス チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_ar_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_ar_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセット中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_ar_injectsbiterr 入力 シングル ビッ ト エラーの挿入: ECC 機能が使用される場合、シングル ビッ ト エラーが挿入されます。

axi_ar_injectdbiterr 入力 ダブル ビッ ト エラーの挿入: ECC 機能が使用される場合、ダブル ビッ ト エラーが挿入されます。

axi_ar_sbiterr 出力 シングル ビッ ト エラー: ECC デコーダーでシングル ビッ ト エラーが検出され、 修正されたこ とを示します。

axi_ar_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーでダブル ビッ ト エラーが検出され、 FIFO コアのデータが破損しているこ とを示します。

axi_ar_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_ar_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。 このカウン トは、 FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

表 1-19: AXI4-Lite 読み出しアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 53: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 53PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

表 1-20 は、 書き込みデータ チャネルの AXI4-Lite FIFO インターフェイス信号を定義しています。

axi_ar_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ ります。

axi_ar_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポート されないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ック エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_ar_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_ar_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axi_ar_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

表 1-20: AXI4-Lite 読み出しデータ チャネルの FIFO インターフェイス信号

名前 方向 説明

AXI4-Lite インターフェイスの読み出しデータ チャネル: FIFO データ出力 (dout) バスにマップされる Infomation 信号

s_axi_rdata[m-1:0] 出力 読み出しデータ : 読み出しデータ バスは、 8、 16、 32、 64、128、 256、 または 512 ビッ ト幅になり ます。

s_axi_rresp[1:0] 出力 読み出し応答: 読み出し転送のステータスを示します。 応答の種類には、 OKAY、 EXOKAY、 SLVERR、 および DECERR があ り ます。

AXI4-Lite インターフェイスの読み出しデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

s_axi_rvalid 出力 読み出し有効: 必要な読み出しデータが使用可能であるこ と、読み出し転送が完了可能であるこ とを示します。 • 1 = 読み出しデータが使用可能である。

• 0 = 読み出しデータが使用可能でない。

s_axi_rready 入力 読み出し準備完了: マスターで読み出しデータおよび応答を受信できる準備が整ったこ とを示します。 • 1 = マスターの準備完了。

• 0 = マスターの準備ができていない。

AXI4-Lite インターフェイスの読み出しデータ チャネル: FIFO データ入力 (din) バスから派生する Infomation 信号

表 1-19: AXI4-Lite 読み出しアドレス チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 54: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 54PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

m_axi_rdata[m-1:0] 入力 読み出しデータ : 読み出しデータ バスは、 8、 16、 32、 64、128、 256、 または 512 ビッ ト幅になり ます。

m_axi_ rresp[1:0] 入力 読み出し応答: 読み出し転送のステータスを示します。 応答の種類には、 OKAY、 EXOKAY、 SLVERR、 および DECERR があ り ます。

AXI4-Lite インターフェイスの読み出しデータ チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

m_axi_rvalid 入力 読み出し有効: 必要な読み出しデータが使用可能であるこ と、読み出し転送が完了可能であるこ とを示します。 • 1 = 読み出しデータが使用可能である。

• 0 = 読み出しデータが使用可能でない。

m_axi_rready 出力 読み出し準備完了: マスターで読み出しデータおよび応答を受信できる準備が整ったこ とを示します。 • 1 = マスターの準備完了。

• 0 = マスターの準備ができていない。

AXI4-Lite 読み出しデータ チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_r_prog_full_thresh[d:0] 入力 プログラマブル Full しきい値: この信号は、 プログラマブル Full (prog_full) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_r_prog_empty_thresh[d:0] 入力 プログラマブル Empty しきい値: この信号は、 プログラマブル Empty (prog_empty) フラグをアサートおよびディアサートするしきい値の入力に使用されます。 しきい値はリセッ ト中に回路内でダイナミ ッ クに設定されます。

D = log2(FIFO depth)-1

axi_r_injectsbiterr 入力 シングル ビッ ト エラーの挿入: ECC 機能が使用される場合、シングル ビッ ト エラーが挿入されます。

axi_r_injectdbiterr 入力 ダブル ビッ ト エラーの挿入。 ECC 機能が使用される場合、ダブル ビッ ト エラーが挿入されます。

axi_r_sbiterr 出力 シングル ビッ ト エラー : ECC デコーダーによ りシングル ビッ ト エラーが検出されて訂正されたこ とを示します。

axi_r_dbiterr 出力 ダブル ビッ ト エラー : ECC デコーダーによ りダブル ビッ ト エラーが検出されて訂正されたこ と、 FIFO コアのデータが破損しているこ とを示します。

axi_r_overflow 出力 オーバーフロー : この信号は、 その前のクロ ッ ク サイクル間で書き込み要求が拒否されたこ とを示します。 FIFO がオーバーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO がいっぱいのと きは、 コアによ り追加書き込みが許可されないので、 この信号の値は定数値 0 になる場合があり ます。

表 1-20: AXI4-Lite 読み出しデータ チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 55: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 55PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

アプリケーシ ョ ン

ネイティブ FIFO アプリケーシ ョ ン

デジタル デザインにおいて、 FIFO は、 ク ロ ッ ク乗せ換え、 低レイテンシ メモ リ バッファ リ ング、 バス幅変換などのデータ操作タスクに必要となるユビキタスな構造です。 FIFO Generator コアでは多くのコンフ ィギュレーシ ョ ンがサポート されていますが、 図 1-9 にその 1 つを取り上げ、 ま とめています。 この例では、 デザインに 2 つの独立したクロ ッ ク ド メ インがあ り、 書き込みデータ バスの幅は読み出しデータ バスの幅の 4 倍になっています。 FIFO

axi_r_wr_data_count[d:0] 出力 書き込みデータ数: FIFO に書き込まれたワード数を示します。このカウン トは、 FIFO をオーバーフローさせないため、FIFO のワード数が少なく レポート されないよ うにします。 ただし、 書き込みクロ ッ クの立ち上がりエッジで書き込み操作が実行される と きの動作は例外で、 その書き込み操作は、 次の立ち上がり ク ロ ッ ク エッジの wr_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_r_underflow 出力 アンダーフロー : この信号は、 FIFO が空だったため、 その前のクロ ッ ク サイクル間で読み出し要求が拒否されたこ とを示します。 FIFO がアンダーフロー状態になっても FIFO に悪影響はあ り ません。

注記: FIFO が空のと きは、 コアによ り追加読み出しが許可されないので、 この信号の値は定数値 0 になる場合があ り ます。

axi_r_rd_data_count[d:0] 出力 読み出しデータ カウン ト : このバスは、 FIFO の読み出しに使用できるワード数を示します。 このカウン トは、 FIFO をアンダーフローさせないよ う、 FIFO のワード数が多めにレポートされないよ うにします。 ただし、 読み出しクロ ッ クの立ち上がりエッジで読み出し操作が実行される と きの動作は例外で、 その読み出し操作は、 次の立ち上がり ク ロ ッ ク エッジの rd_data_count にのみ反映されます。

D = log2(FIFO depth)+1

axi_r_data_count[d:0] 出力 データ カウン ト : このバスは、 FIFO に格納されるワード数を示します。

D = log2(FIFO depth)+1

axi_r_prog_full 出力 プログラマブル Full: FIFO のワード数がプログラマブルなしきい値以上のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルなしきい値未満のと き、 ディアサート されます。

axi_r_prog_empty 出力 プログラマブル Empty: FIFO のワード数がアサート しきい値以下のと き、 この信号がアサート されます。 FIFO のワード数がプログラマブルな値を超える と、 ディアサート されます。

表 1-20: AXI4-Lite 読み出しデータ チャネルの FIFO インターフェイス信号 (続き)

名前 方向 説明

Page 56: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 56PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

Generator コアを使用する と、 このよ うに、 特定要件に合わせてカスタマイズされたソ リ ューシ ョ ンをすばやく生成でき、 ザイ リ ンクス デバイスに完全最適化されたソ リ ューシ ョ ンを提供できます。

AXI FIFO アプリケーシ ョ ン

AXI4-Stream FIFO

AXI4-Stream FIFO は、 非アドレスベースのポイン ト ツー ポイン ト アプ リ ケーシ ョ ンに最も適しています。 このインターフェイスを使用して、 ほかの IP コアにインターフェイスします (FFT、 DDS、 FIR コンパイラなどの AXI4 バージ ョ ンの DSP 機能)。

X-Ref Target - Figure 1-9

図 1-9: FIFO Generator コアのアプリケーシ ョ ン例

DATA OUT32 Bits

DATA IN128 Bits

Clock 1

Domain

Logic

Clock 2

Domain

Logic

CLK 1 CLK 2

FIFO Core

Configuration:

Independent Clocks

Aspect Ratio = 4:1

CLK 1 CLK 2

Page 57: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 57PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

図 1-10 には、 データ ムーバー ブロ ッ クを作成するため、 AXI4-Stream FIFO を使用した例を示しています。 このアプリ ケーシ ョ ン例では、 AXI システム バスへの LocalLink を持つ PCI Express、 イーサネッ ト MAC、 USB のモジュールにインターフェイスするため、 データ ムーバーが使用されています。 図 1-10 に示す AXI インターコネク トおよびデータ ムーバーのブロッ クは、 Vivado IP カタログにあ り ます。

AXI4-Stream FIFO では、ネイティブ インターフェイス FIFO の First-Word Fall-Through (FWFT) モードでサポート されている機能のほとんどがサポート されています。 AXI LogiCORE IP のほかの機能の最新版へ簡単にインターフェイスするには、 AXI4-Stream FIFO を使用して、 ネイティブ インターフェイス FIFO を置き換えます。

AXI4/AXI3 メモリ マップド FIFO

AXI4/AXI3 インターフェイスのフル バージ ョ ンは AXI4/AXI3 と呼ばれます。 これは 「AXI メモ リ マップド」 と も呼ばれるこ とがあ り ます。 ほかの AXI4/AXI3 ブロ ッ クへの接続にメモ リ マップド インターフェイスを必要とするブリ ッジ アプリ ケーシ ョ ンなど、 メモ リ マップドのシステム バス デザインで AXI4/AXI3 FIFO を使用します。

X-Ref Target - Figure 1-10

図 1-10: AXI4-Stream アプリケーシ ョ ン図

AXI4-Stream FIFO

AXI4-Stream FIFO

Data MoverData Mover

For example, PCIe/GMAC/USB Modules

For example, Audio/Video/DSP Modules

Processor

Switch Switch Switch

Switch Switch Switch

AXI4-Lite (Peripherals)

AXI Interconnect

Memory ControllerFlash Controller

Real Time

AXI

AXI4-Lite

AXI4-Stream

Page 58: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 58PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

図 1-11 は、 AXI4/AXI3 FIFO のアプリ ケーシ ョ ン例です。 この例では、 FIFO が AXI4/AXI3-to-AXI4/AXI3 のブリ ッジ アプリ ケーシ ョ ンに使用され、 200、 100、 66、 156 MHz で実行する AXI4/AXI3 ク ロ ッ ク ド メ インが相互に通信できるよ うになっています。 AXI4/AXI3-to-AXI4-Lite のブリ ッジは、 AXI4/AXI3 FIFO のも う 1 つのアプリ ケーシ ョ ン例です (たとえば、 プロ ト コル変換など)。 AXI4/AXI3 FIFO は、 データまたはト ランザクシ ョ ンをバッファーするため、IP コア内で使用するこ と も可能です (DRAM コン ト ローラーなど)。図 1-11 に示す AXI インターコネク トのブロ ッ クは、 Vivado IP カタログにあ り ます。

AXI4-Lite FIFO

AXI4-Lite インターフェイスは、 簡易版の AXI インターフェイスで、 単純な制御/ステータス レジスタ アクセス、 またはペリ フェラル アクセスのみを実行する必要のあるアプリ ケーシ ョ ンをサポート します。

図 1-12 は、 プロ ト コル変換を実行する、 AXI4/AXI3 から AXI4-Lite へのブリ ッジ アプリ ケーシ ョ ンで使用されている AXI4-Lite FIFO を示しています。 図 1-12 に示す AXI4-Lite インターコネク トのブロ ッ クは、 Vivado IP カタログにもあ り ます。

X-Ref Target - Figure 1-11

図 1-11: AXI4/AXI3 アプリケーシ ョ ン図

Switch Switch Switch

Switch Switch Switch

AXI4/AXI3 Async FIFO

AXI4/AXI3 Sync FIFO

AXI4-Lite Async FIFO

AXI4/AXI3 156-MHz DRAM Controller AXI4-Lite 66-MHz

Bridge Bridge Bridge

AXI4/AXI3 Async FIFO

AXI4/AXI3 (Processor)

AXI4/AXI3 200-MHzAXI4/AXI3 200-MHz

AXI4/AXI3

AXI4-Lite

AXI Interconnect(200MHz)

DS317_07_081210

Page 59: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 59PG057 2017 年 10 月 4 日 japan.xilinx.com

第 1 章: 概要

ライセンスおよび注文情報

このザイ リ ンクス LogiCORE IP モジュールは、ザイ リ ンクス エンド ユーザー ライセンスの規定に沿ってザイ リ ンクス Vivado Design Suite ツールを使用している場合は、 追加コス ト なしで提供されます。 ザイ リ ンクス LogiCORE IP モジュールについての詳細は、 ザイ リ ンクス IP ページを参照してください。 その他のザイ リ ンクス LogiCORE IP モジュールやツールの価格および提供状況については、 お近くのザイ リ ンクス販売代理店にお問い合わせください。

詳細は、 FIFO Generator コアのページを参照してください。

X-Ref Target - Figure 1-12

図 1-12: AXI4-Lite アプリケーシ ョ ン図

Peripherals INTC

Switch

AXI4/AXI3

AXI4-Lite Interconnect

AXI4-Lite Async FIFO

Bridge

Peripherals Timers

Peripherals GPIO

Register Access -USB

Register Access -GMAC

Register Access -PCIe

AXI4/AXI3

AXI4-LiteDS317_08_081210

Page 60: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 60PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章

製品仕様この章では、 パフォーマンスおよびレイテンシの詳細について説明します。

パフォーマンス

FIFO のパフォーマンスおよびリ ソース使用率は、 コアのカスタマイズ中に選択したコンフ ィギュレーシ ョ ンと機能によって異なり ます。 次の表は、 さまざまなサンプルの FIFO コンフ ィギュレーシ ョ ンのリ ソース使用率データおよび最大パフォーマンス値を示しています。

ネイテ ィブ FIFO のパフォーマンス

ネイティブ インターフェイス FIFO のパフォーマンスは、 コアのカスタマイズ中に選択したコンフ ィギュレーシ ョ ンおよび機能によって異なり ます。 表 2-1 ~ 表 2-2 は、 さまざまなサンプル FIFO コンフ ィギュレーシ ョ ンの最大パフォーマンス値を示しています。

ベンチマーク テス トでは、 すべての入力 (ク ロ ッ ク以外) および出力に 2 レベルのレジスタが追加され、 XDC に PERIOD 制約のみを含めます。 次の表に示すパフォーマンスを達成するには、 FIFO へのすべての入力にレジスタを付け、 出力が多くのロジッ ク段数を介さないよ うにする必要があ り ます。

ヒン ト : シフ ト レジスタ FIFO の方が、深さが約 16 または 32 で、分散メモ リ FIFO に比べて リ ソースおよびパフォーマンスに向いています。

表 2-1 では、 オプシ ョ ンの機能なしでコンフ ィギュレーシ ョ ンされた FIFO の結果を示します。 ベンチマーク テス トは、 次のデバイスを使用して実行されました。

注記: これらのベンチマーク結果は Vivado Design Suite を使用して取得したものです。

• Artix®-7 (XC7A200T- FFG1156-1)

• Virtex®-7 (XC7V2000T-FLG1925-1)

• Kintex®-7 (XC7K480T-FFG1156-1)

• Virtex® UltraScale™ (XCVU125-FLVA2104-1-I-ES2)

• Kintex® UltraScale™ (XCKU115-FLVD1924-1-C-ES2)

Page 61: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 61PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-1: ベンチマーク : 7 シリーズ ファ ミ リ用にオプシ ョ ンの機能なしでコンフ ィギュレーシ ョ ンされた FIFO

FIFO タイプ 深さ x 幅FPGA

ファ ミ リパフォーマンス

(MHz)

共通クロ ッ ク FIFO(ブロ ッ ク RAM)

512 x 16

Artix-7 270

Kintex-7 325

Virtex-7 325

4096 x 16

Artix-7 265

Kintex-7 350

Virtex-7 355

共通クロ ッ ク FIFO(分散 RAM)

512 x 16

Artix-7 250

Kintex-7 345

Virtex-7 350

64 x 16

Artix-7 325

Kintex-7 420

Virtex-7 440

独立クロ ッ ク FIFO(ブロ ッ ク RAM)

512 x 16

Artix-7 265

Kintex-7 335

Virtex-7 335

4096 x 16

Artix-7 275

Kintex-7 340

Virtex-7 350

独立クロ ッ ク FIFO(分散 RAM)

512 x 16

Artix-7 275

Kintex-7 355

Virtex-7 370

64 x 16

Artix-7 365

Kintex-7 445

Virtex-7 475

シフ ト レジスタ FIFO

512 x 16

Artix-7 195

Kintex-7 250

Virtex-7 240

64 x 16

Artix-7 300

Kintex-7 420

Virtex-7 410

Page 62: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 62PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-3 および 表 2-4 は、 複数のプログラマブルなしきい値を使用してコンフ ィギュレーシ ョ ンされた FIFO の結果を示します。 ベンチマーク テス トは、 次のデバイスを使用して実行されました。

注記: これらのベンチマーク結果は Vivado Design Suite を使用して取得したものです。

• Artix-7 (XC7A200T- FFG1156-1)

• Virtex-7 (XC7V2000T-FLG1925-1)

• Kintex-7 (XC7K480T-FFG1156-1)

• Virtex® UltraScale™ (XCVU125-FLVA2104-1-I-ES2)

• Kintex® UltraScale™ (XCKU115-FLVD1924-1-C-ES2)

表 2-2: ベンチマーク : UltraScale ファ ミ リ用にオプシ ョ ンの機能なしでコンフ ィギュレーシ ョ ンされた FIFO

FIFO タイプ 深さ x 幅FPGA

ファ ミ リパフォーマンス

(Fmax)

共通クロ ッ ク ブロ ッ ク RAM

512 x 16Virtex UltraScale 498

Kintex UltraScale 506

4096 x 16Virtex UltraScale 521

Kintex UltraScale 513

共通クロ ッ ク分散 RAM

512 x 16Virtex UltraScale 513

Kintex UltraScale 510

64x16

VirtexUltraScale

583

Kintex UltraScale 581

独立クロ ッ ク ブロ ッ ク RAM

512x16Virtex UltraScale 521

Kintex UltraScale 506

4096x12Virtex UltraScale 521

Kintex UltraScale 506

独立クロ ッ ク分散 RAM

512x16Virtex UltraScale 552

Kintex UltraScale 544

64x16Virtex UltraScale 631

Kintex UltraScale 629

シフ ト レジスタ FIFO

512x16Virtex UltraScale 338

Kintex UltraScale 333

64x16Virtex UltraScale 583

Kintex UltraScale 581

Page 63: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 63PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-3: ベンチマーク : 7 シリーズ用に複数のプログラマブルなしきい値を使用してコンフ ィギュレーシ ョ ンされた FIFO

FIFO タイプ 深さ x 幅 FPGA ファ ミ リ パフォーマンス (MHz)

共通クロ ッ ク FIFO(ブロ ッ ク RAM)

512 x 16

Artix-7 245

Kintex-7 325

Virtex-7 325

4096 x 16

Artix-7 265

Kintex-7 340

Virtex-7 375

共通クロ ッ ク FIFO(分散 RAM)

512 x 16

Artix-7 250

Kintex-7 355

Virtex-7 350

64 x 16

Artix-7 290

Kintex-7 400

Virtex-7 335

独立クロ ッ ク FIFO(ブロ ッ ク RAM)

512 x 16

Artix-7 265

Kintex-7 325

Virtex-7 330

4096 x 16

Artix-7 285

Kintex-7 350

Virtex-7 320

独立クロ ッ ク FIFO(分散 RAM)

512 x 16

Artix-7 255

Kintex-7 355

Virtex-7 365

64 x 16

Artix-7 345

Kintex-7 450

Virtex-7 470

シフ ト レジスタ FIFO

512 x 16

Artix-7 190

Kintex-7 245

Virtex-7 225

64 x 16

Artix-7 295

Kintex-7 400

Virtex-7 400

Page 64: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 64PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-5 および 表 2-6 は、 ビルト イン FIFO を使用するよ うにコンフ ィギュレーシ ョ ンされた FIFO の結果を示します。このベンチマーク テス トは、 次のデバイスを使用して実行されました。

注記: これらのベンチマーク結果は Vivado Design Suite を使用して取得したものです。

• Artix-7 (XC7A200T- FFG1156-1)

• Virtex-7 (XC7V2000T-FLG1925-1)

• Kintex-7 (XC7K480T-FFG1156-1)

• Virtex® UltraScale™ (XCVU125-FLVA2104-1-I-ES2)

• Kintex® UltraScale™ (XCKU115-FLVD1924-1-C-ES2)

表 2-4: ベンチマーク : UltraScale 用に複数のプログラマブルなしきい値を使用してコンフ ィギュレーシ ョ ンされた FIFOファ ミ リ

FIFO タイプ 深さ x 幅 FPGA ファ ミ リ パフォーマンス (Fmax)

共通クロ ッ ク ブロ ッ ク RAM

512 x 16

Virtex UltraScale 506

KintexUltraScale

506

4096 x 16Virtex UltraScale 521

Kintex UltraScale 513

共通クロ ッ ク分散 RAM

512 x 16Virtex UltraScale 498

Kintex UltraScale 513

64 x 16Virtex UltraScale 615

Kintex UltraScale 611

独立クロ ッ ク ブロ ッ ク RAM

512 x 16Virtex UltraScale 521

Kintex UltraScale 498

4096 x 16Virtex UltraScale 521

Kintex UltraScale 521

独立クロ ッ ク分散 RAM

512 x 16Virtex UltraScale 490

Kintex UltraScale 552

64 x 16Virtex UltraScale 631

Kintex UltraScale 631

シフ ト レジスタ FIFO

512 x 16

Virtex UltraScale 310

KintexUltraScale

307

64 x 16Virtex UltraScale 607

Kintex UltraScale 601

Page 65: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 65PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-5: ベンチマーク : 7 シリーズ ファ ミ リ用に FIFO36E1 を使用してコンフ ィギュレーシ ョ ンされた FIFO

FIFO タイプ 深さ x 幅FPGA

ファ ミ リ読み出しモード

パフォーマンス(MHz)

共通クロ ッ ク FIFO36E1(基本)

512 x 72

Artix-7標準 265

FWFT 255

Kintex-7標準 320

FWFT 310

Virtex-7標準 215

FWFT 290

16k x 8

Artix-7標準 225

FWFT 220

Kintex-7標準 265

FWFT 270

Virtex-7標準 205

FWFT 235

共通クロ ッ ク FIFO36E1(ハンドシェイ クあ り )

512 x 72

Artix-7標準 260

FWFT 250

Kintex-7標準 320

FWFT 300

Virtex-7標準 210

FWFT 300

16k x 8

Artix-7標準 220

FWFT 225

Kintex-7標準 250

FWFT 270

Virtex-7標準 250

FWFT 215

Page 66: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 66PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

独立クロ ッ ク FIFO36E1(基本)

512 x 72

Artix-7標準 300

FWFT 305

Kintex-7標準 385

FWFT 385

Virtex-7標準 315

FWFT 315

16k x 8

Artix-7標準 255

FWFT 245

Kintex-7標準 335

FWFT 345

Virtex-7標準 250

FWFT 320

独立クロ ッ ク FIFO36E1(ハンドシェイ クあ り )

512 x 72

Artix-7標準 280

FWFT 345

Kintex-7標準 410

FWFT 410

Virtex-7標準 330

FWFT 400

16k x 8

Artix-7標準 255

FWFT 265

Kintex-7標準 315

FWFT 315

Virtex-7標準 220

FWFT 210

表 2-6: ベンチマーク : UltraScale ファ ミ リ用に FIFO36E1 リソースを使用してコンフ ィギュレーシ ョ ンされた FIFO

FIFO タイプ 深さ x 幅 FPGA ファ ミ リ 読み出しモード パフォーマンス (Fmax)

共通クロ ッ ク ビルト イン FIFO

512x72

Virtex UltraScale標準 521

FWFT 521

Kintex UltraScale標準 521

FWFT 521

16kx8

Virtex UltraScale標準 521

FWFT 521

Kintex UltraScale標準 521

FWFT 521

表 2-5: ベンチマーク : 7 シリーズ ファ ミ リ用に FIFO36E1 を使用してコンフ ィギュレーシ ョ ンされた FIFO (続き)

FIFO タイプ 深さ x 幅FPGA

ファ ミ リ読み出しモード

パフォーマンス(MHz)

Page 67: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 67PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

AXI メモリ マップド FIFO のパフォーマンス

表 2-7 は、 ベンチマーク データのデフォルト コンフ ィギュレーシ ョ ン設定を示しています。 表 2-8 は、 AXI4/AXI3 および AXI4-Lite コンフ ィギュレーシ ョ ンのベンチマーク情報を示しています。 このベンチマーク結果は、 次のデバイスを使用して取得されています。

注記: これらのベンチマーク結果は Vivado Design Suite を使用して取得したものです。

• Artix-7 (XC7A200T- FFG1156-1)

• Virtex-7 (XC7V2000T-FLG1925-1)

• Kintex-7 (XC7K480T-FFG1156-1)

• Virtex® UltraScale™ (XCVU125-FLVA2104-1-I-ES2)

• Kintex® UltraScale™ (XCKU115-FLVD1924-1-C-ES2)

共通クロ ッ ク ビルト イン FIFO(ハンドシェイ クあ り )

512x72

Virtex UltraScale標準 521

FWFT 521

Kintex UltraScale標準 521

FWFT 521

16kx8

Virtex UltraScale標準 521

FWFT 521

Kintex UltraScale標準 521

FWFT 521

独立クロ ッ ク ビルト イン FIFO

512x72

Virtex UltraScale標準 521

FWFT 521

Kintex UltraScale標準 521

FWFT 521

16kx8

Virtex UltraScale標準 521

FWFT 521

Kintex UltraScale標準 521

FWFT 521

独立クロ ッ ク ビルト イン FIFO (ハンドシェイ クあ り )

512x72

Virtex UltraScale標準 521

FWFT 521

Kintex UltraScale標準 521

FWFT 521

16kx8

Virtex UltraScale標準 521

FWFT 521

Kintex UltraScale標準 521

FWFT 521

表 2-6: ベンチマーク : UltraScale ファ ミ リ用に FIFO36E1 リソースを使用してコンフ ィギュレーシ ョ ンされた FIFO (続き

FIFO タイプ 深さ x 幅 FPGA ファ ミ リ 読み出しモード パフォーマンス (Fmax)

Page 68: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 68PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-7: AXI4/AXI3 および AXI4-Lite のデフォルト コンフ ィギュレーシ ョ ン設定

AXI タイプ FIFO タイプ チャネル タイプID、 アドレスおよび

データ幅

FIFO 深さ x 幅

7 シ リーズ ファ ミリ用の AXI4/AXI3

分散 RAM 書き込みアドレス

ID = 4

アドレス = 32データ = 64a

16 x 66

ブロ ッ ク RAM 書き込みデータ 1024 x 77

分散 RAM 書き込み応答 16 x 6

分散 RAM 読み出しアドレス 16 x 66

ブロ ッ ク RAM 読み出しデータ 1024 x 71

7 シ リーズ ファ ミリ用の AXI4-Lite

分散 RAM 書き込みアドレス

ID = 4

アドレス = 32データ = 32

16 x 35

ブロ ッ ク RAM 書き込みデータ 1024 x 36

分散 RAM 書き込み応答 16 x 2

分散 RAM 読み出しアドレス 16 x 35

ブロ ッ ク RAM 読み出しデータ 1024 x 34

UltraScale ファ ミリ用の AXI4/AXI3

分散 RAM 書き込みアドレス

ID = 0

アドレス = 32データ = 64

16x61

ビルト イン 書き込みデータ 512x73

分散 RAM 書き込み応答 16x2

分散 RAM 読み出しアドレス 16x61

ビルト イン 読み出しデータ 512x67

UltraScale ファ ミリ用の AXI4-Lite

分散 RAM 書き込みアドレス

アドレス = 32データ = 64

16x35

ビルト イン 書き込みデータ 512x72

分散 RAM 書き込み応答 16x2

分散 RAM 読み出しアドレス 16x35

ビルト イン 読み出しデータ 512x66

表 2-8: AXI4/AXI3 および AXI4-Lite のパフォーマンス

FIFOタイプ

クロック タイプFPGA

ファ ミ リパフォーマンス

(MHz)

7 シ リーズ用の AXI4/AXI3

共通クロ ッ ク

Artix-7 260

Kintex-7 315

Virtex-7 179

独立クロ ッ ク

Artix-7 231

Kintex-7 335

Virtex-7 194

Page 69: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 69PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

UltraScale 用の AXI4-Lite

共通クロ ッ ク

Artix-7 245

Kintex-7 350

Virtex-7 214

独立クロ ッ ク

Artix-7 240

Kintex-7 350

Virtex-7 190

UltraScale 用の AXI4/AXI3

共通クロ ッ クVirtex UltraScale 521

Kintex UltraScale 521

独立クロ ッ クVirtex UltraScale 365

Kintex UltraScale 341

UltraScale 用の AXI4-Lite

共通クロ ッ クVirtex UltraScale 521

Kintex UltraScale 521

独立クロ ッ クVirtex UltraScale 521

Kintex UltraScale 521

表 2-8: AXI4/AXI3 および AXI4-Lite のパフォーマンス (続き)

FIFOタイプ

クロック タイプFPGA

ファ ミ リパフォーマンス

(MHz)

Page 70: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 70PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-9 および 表 2-10 は、 AXI4-Stream FIFO コンフ ィギュレーシ ョ ンのベンチマーク結果を示しています。 このベンチマーク結果は、 次のデバイスを使用して取得しました。

注記: これらのベンチマーク結果は Vivado Design Suite を使用して取得したものです。

• Artix-7 (XC7A200T- FFG1156-1)

• Virtex-7 (XC7V2000T-FLG1925-1)

• Kintex-7 (XC7K480T-FFG1156-1)

• Virtex® UltraScale™ (XCVU125-FLVA2104-1-I-ES2)

• Kintex® UltraScale™ (XCKU115-FLVD1924-1-C-ES2)

表 2-9: 7 シリーズ ファ ミ リ用の AXI4-Stream パフォーマンス

FIFO タイプ FPGA ファ ミ リ 深さ x 幅 パフォーマンス (MHz)

共通クロ ッ ク FIFO(ブロ ッ ク RAM)

512 x 16

Artix-7 254

Kintex-7 355

Virtex-7 329

4096 x 16

Artix-7 260

Kintex-7 325

Virtex-7 325

共通クロ ッ ク FIFO(分散 RAM)

512 x 16

Artix-7 259

Kintex-7 378

Virtex-7 349

64 x16

Artix-7 308

Kintex-7 445

Virtex-7 466

独立クロ ッ ク FIFO(ブロ ッ ク RAM)

512 x 16

Artix-7 266

Kintex-7 355

Virtex-7 325

4096 x 16

Artix-7 282

Kintex-7 355

Virtex-7 350

独立クロ ッ ク FIFO(分散 RAM)

512 x 16

Artix-7 110

Kintex-7 375

Virtex-7 395

64 x 16

Artix-7 340

Kintex-7 485

Virtex-7 495

Page 71: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 71PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

レイテンシ

FIFO の出力信号のレイテンシは、 コンフ ィギュレーシ ョ ンによって異なり ます。 詳細は、 第 3 章の 「レイテンシ」を参照してください。

リソース使用率

リ ソース使用率の詳細は、 パフォーマンスおよびリ ソース使用率ウェブ ページを参照してください。

ポートの説明

ネイティブ FIFO のポートのサマリ

表 2-11 は、 FIFO Generator のポートすべてを示しています。

表 2-10: UltraScale ファ ミ リ用の AXI4-Stream パフォーマンス

FIFO タイプ 深さ x ファ ミ リ FPGA ファ ミ リ パフォーマンス (Fmax)

共通クロ ッ ク FIFO (ブロ ッ ク RAM) 512x16

Virtex UltraScale 470

Kintex UltraScale 458

4096x16Virtex UltraScale 458

Kintex UltraScale 435

共通クロ ッ ク FIFO(分散 RAM)

512x16Virtex UltraScale 498

Kintex UltraScale 472

64x16Virtex UltraScale 631

Kintex UltraScale 610

独立クロ ッ ク FIFO(ブロ ッ ク RAM)

512x16Virtex UltraScale 521

Kintex UltraScale 513

4096x16Virtex UltraScale 521

Kintex UltraScale 482

独立クロ ッ ク FIFO(分散 RAM)

512x16Virtex UltraScale 521

Kintex UltraScale 490

64x16Virtex UltraScale 631

Kintex UltraScale 607

Page 72: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 72PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-11: FIFO Generator のポート

ポート名入力または

出力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

rst (UltraScale アーキテクチャのビルト イン FIFO には使用不可)

I あ り あ り あ り

srst I あ り なし あ り

clk I なし なし あ り

data_count [c:0] O あ り なし あ り

書き込みインターフェイス信号

wr_clk I なし あ り なし

din[n:0] I なし あ り あ り

wr_en I なし あ り あ り

full O なし あ り あ り

almost_full O あ り あ り あ り

prog_full O あ り あ り あ り

wr_data_count[d:0] O あ り あ り あ り

wr_ack O あ り あ り あ り

overflow O あ り あ り あ り

prog_full_thresh I あ り あ り あ り

prog_full_thresh_assert I あ り あ り あ り

prog_full_thresh_negate I あ り あ り あ り

wr_rst I あ り あ り なし

injectsbiterr I あ り あ り あ り

injectdbiterr I あ り あ り あ り

読み出しインターフェイス信号

rd_clk I なし あ り なし

dout[m:0] O なし あ り あ り

rd_en I なし あ り あ り

empty O なし あ り あ り

almost_empty O あ り あ り あ り

prog_empty O あ り あ り あ り

rd_data_count[c:0](1) O あ り あ り あ り

valid O あ り あ り あ り

underflow O あ り あ り あ り

prog_empty_thresh I あ り あ り あ り

prog_empty_thresh_assert I あ り あ り あ り

prog_empty_thresh_negate I あ り あ り あ り

sbiterr O あ り あ り あ り

Page 73: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 73PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

AXI FIFO のポートのサマリ

AXI グローバル インターフェイス ポート

AXI4-Stream FIFO インターフェイス ポート

dbiterr O あ り あ り あ り

rd_rst I あ り あ り なし

sleep(2)

wr_rst_busy(3)

rd_rst_busyb

注記:1. wr_data_count/rd_data_count は、 [Asymmetric Port Width] オプシ ョ ンがイネーブルになっている場合に共通クロ ッ クのブロ ッ ク

RAM ベースの FIFO が使用されれば、 UltraScale デバイスにも使用可能です。

2. UltraScale アーキテクチャのビルト イン FIFO にのみ使用できます。

3. UltraScale アーキテクチャのビルト イン FIFO および UltraScale アーキテクチャのビルト イン以外の FIFO (同期リセッ ト付き ) に使用可能です。

表 2-12: AXI FIFO - グローバル インターフェイスポート

ポート名 入力または出力オプシ ョ ンのポー

使用可能なポート

独立クロック 共通クロック

FIFO クロックおよびリセッ ト入力にマップされているグローバル クロックおよびリセッ ト信号

m_aclk 入力 あ り あ り なし

s_aclk 入力 なし あ り あ り

s_aresetn 入力 なし あ り あ り

表 2-13: AXI4-Stream FIFO インターフェイス ポート

ポート名入力または出力

オプシ ョ ンのポート

使用可能なポート

独立クロック 共通クロック

AXI4-Stream インターフェイス: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axis_tvalid 出力 なし あ り あ り

m_axis_tready 入力 なし あ り あ り

AXI4-Stream インターフェイス: FIFO データ出力 (dout) バスから派生する情報信号

m_axis_tdata[m-1:0] 出力 なし あ り あ り

m_axis_tstrb[m/8-1:0] 出力 あ り あ り あ り

m_axis_tkeep[m/8-1:0] 出力 あ り あ り あ り

m_axis_tlast 出力 あ り あ り あ り

m_axis_tid[m:0] 出力 あ り あ り あ り

表 2-11: FIFO Generator のポート (続き)

ポート名入力または

出力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

Page 74: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 74PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

m_axis_tdest[m:0] 出力 あ り あ り あ り

m_axis_tuser[m:0] 出力 あ り あ り あ り

AXI4-Stream インターフェイス: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axis_tvalid 入力 なし あ り あ り

s_axis_tready 出力 なし あ り あ り

AXI4-Stream インターフェイス: FIFO データ入力 (din) バスにマップされる情報信号

s_axis_tdata[m-1:0] 入力 なし あ り あ り

s_axis_tstrb[m/8-1:0] 入力 あ り あ り あ り

s_axis_tkeep[m/8-1:0] 入力 あ り あ り あ り

s_axis_tlast 入力 あ り あ り あ り

s_axis_tid[m:0] 入力 あ り あ り あ り

s_axis_tdest[m:0] 入力 あ り あ り あ り

s_axis_tuser[m:0] 入力 あ り あ り あ り

AXI4-Stream FIFO: オプシ ョ ンの側帯波信号

axis_prog_full_thresh[m:0] 入力 あ り あ り あ り

axis_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axis_injectsbiterr 入力 あ り あ り あ り

axis_injectdbiterr 入力 あ り あ り あ り

axis_sbiterr 出力 あ り あ り あ り

axis_dbiterr 出力 あ り あ り あ り

axis_overflow 出力 あ り あ り あ り

axis_wr_data_count[m:0] 出力 あ り あ り なし

axis_underflow 出力 あ り あ り あ り

axis_rd_data_count[m:0] 出力 あ り あ り なし

axis_data_count[m:0] 出力 あ り なし あ り

axis_prog_full 出力 あ り あ り あ り

axis_prog_empty 出力 あ り あ り あ り

表 2-13: AXI4-Stream FIFO インターフェイス ポート (続き)

ポート名入力または出力

オプシ ョ ンのポート

使用可能なポート

独立クロック 共通クロック

Page 75: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 75PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

AXI4/AXI3 FIFO インターフェイス ポート

書き込みチャネル

表 2-14: AXI4/AXI3 書き込みアドレス チャネルの FIFO インターフェイス ポート

ポート名入力または

出力オプシ ョ ンのポート

使用可能なポート

独立クロック 共通クロック

AXI4/AXI3 インターフェイスの書き込みアドレス チャネル: FIFO データ入力 (din) バスにマップされる情報信号

s_axi_awid[m:0] 入力 あ り あ り あ り

s_axi_awaddr[m:0] 入力 なし あ り あ り

s_axi_awlen[7:0] 入力 なし あ り あ り

s_axi_awsize[2:0] 入力 なし あ り あ り

s_axi_awburst[1:0] 入力 なし あ り あ り

s_axi_awlock[2:0] 入力 なし あ り あ り

s_axi_awcache[4:0] 入力 なし あ り あ り

s_axi_awprot[3:0] 入力 なし あ り あ り

s_axi_awqos[3:0] 入力 なし あ り あ り

s_axi_awregion[3:0] 入力 なし あ り あ り

s_axi_awuser[m:0] 入力 あ り あ り あ り

AXI4/AXI3 インターフェイスの書き込みアドレス チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_awvalid 入力 なし あ り あ り

s_axi_awready 出力 なし あ り あ り

AXI4/AXI3 インターフェイスの書き込みアドレス チャネル: FIFO データ出力 (dout) バスから派生する情報信号

m_axi_awid[m:0] 出力 あ り あ り あ り

m_axi_awaddr[m:0] 出力 なし あ り あ り

m_axi_awlen[7:0] 出力 なし あ り あ り

m_axi_awsize[2:0] 出力 なし あ り あ り

m_axi_awburst[1:0] 出力 なし あ り あ り

m_axi_awlock[2:0] 出力 なし あ り あ り

m_axi_awcache[4:0] 出力 なし あ り あ り

m_axi_awprot[3:0] 出力 なし あ り あ り

m_axi_awqos[3:0] 出力 なし あ り あ り

m_axi_awregion[3:0] 出力 なし あ り あ り

m_axi_awuser[m:0] 出力 あ り あ り あ り

AXI4/AXI3 インターフェイスの書き込みアドレス チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_awvalid 出力 なし あ り あ り

m_axi_awready 入力 なし あ り あ り

AXI4/AXI3 書き込みアドレス チャネルの FIFO: オプシ ョ ンの側帯波信号

Page 76: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 76PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

axi_aw_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_aw_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_aw_injectsbiterr 入力 あ り あ り あ り

axi_aw_injectdbiterr 入力 あ り あ り あ り

axi_aw_sbiterr 出力 あ り あ り あ り

axi_aw_dbiterr 出力 あ り あ り あ り

axi_aw_overflow 出力 あ り あ り あ り

axi_aw_wr_data_count[m:0] 出力 あ り あ り なし

axi_aw_underflow 出力 あ り あ り あ り

axi_aw_rd_data_count[m:0] 出力 あ り あ り なし

axi_aw_data_count[m:0] 出力 あ り なし あ り

axi_aw_prog_full 出力 あ り あ り あ り

axi_aw_prog_empty 出力 あ り あ り あ り

表 2-15: AXI4/AXI3 書き込みデータ チャネルの FIFO インターフェイス ポート

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

AXI4/AXI3 インターフェイスの書き込みデータ チャネル: FIFO データ入力 (din) に マップされた情報信号

s_axi_wid[m:0] 入力 あ り あ り あ り

s_axi_wdata[m-1:0] 入力 なし あ り あ り

s_axi_wstrb[m/8-1:0] 入力 なし あ り あ り

s_axi_wlast 入力 なし あ り あ り

s_axi_wuser[m:0] 入力 あ り あ り あ り

AXI4/AXI3 インターフェイスの書き込みデータ チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_wvalid 入力 なし あ り あ り

s_axi_wready 出力 なし あ り あ り

AXI4/AXI3 インターフェイスの書き込みデータ チャネル: FIFO データ出力 (dout) バスから派生する情報信号

m_axi_wid[m:0] 出力 あ り あ り あ り

m_axi_wdata[m-1:0] 出力 なし あ り あ り

m_axi_wstrb[m/8-1:0] 出力 なし あ り あ り

m_axi_wlast 出力 なし あ り あ り

m_axi_wuser[m:0] 出力 あ り あ り あ り

AXI4/AXI3 インターフェイスの書き込みデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_wvalid 出力 なし あ り あ り

表 2-14: AXI4/AXI3 書き込みアドレス チャネルの FIFO インターフェイス ポート (続き)

ポート名入力または

出力オプシ ョ ンのポート

使用可能なポート

独立クロック 共通クロック

Page 77: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 77PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

m_axi_wready 入力 なし あ り あ り

AXI4/AXI3 書き込みデータ チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_w_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_w_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_w_injectsbiterr 入力 あ り あ り あ り

axi_w_injectdbiterr 入力 あ り あ り あ り

axi_w_sbiterr 出力 あ り あ り あ り

axi_w_dbiterr 出力 あ り あ り あ り

axi_w_overflow 出力 あ り あ り あ り

axi_w_wr_data_count[m:0] 出力 あ り あ り なし

axi_w_underflow 出力 あ り あ り あ り

axi_w_rd_data_count[m:0] 出力 あ り あ り なし

axi_w_data_count[m:0] 出力 あ り なし あ り

axi_w_prog_full 出力 あ り あ り あ り

axi_w_prog_empty 出力 あ り あ り あ り

表 2-16: AXI4/AXI3 書き込み応答チャネルの FIFO インターフェイス ポート

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

AXI4/AXI3 インターフェイスの書き込み応答チャネル: FIFO データ出力 (dout) バスから派生する情報信号

s_axi_bid[m:0] 出力 あ り あ り あ り

s_axi_bresp[1:0] 出力 なし あ り あ り

s_axi_buser[m:0] 出力 あ り あ り あ り

AXI4/AXI3 インターフェイスの書き込み応答チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

s_axi_bvalid 出力 なし あ り あ り

s_axi_bready 入力 なし あ り あ り

AXI4/AXI3 インターフェイスの書き込み応答チャネル: FIFO データ入力 (din) バスにマップされる情報信号

m_axi_bid[m:0] 入力 あ り あ り あ り

m_axi_bresp[1:0] 入力 なし あ り あ り

m_axi_buser[m:0] 入力 あ り あ り あ り

AXI4/AXI3 インターフェイスの書き込み応答チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

m_axi_bvalid 入力 なし あ り あ り

m_axi_bready 出力 なし あ り あ り

AXI4/AXI3 書き込み応答チャネルの FIFO: オプシ ョ ンの側帯波信号

表 2-15: AXI4/AXI3 書き込みデータ チャネルの FIFO インターフェイス ポート (続き)

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

Page 78: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 78PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

読み出しチャネル

axi_b_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_b_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_b_injectsbiterr 入力 あ り あ り あ り

axi_b_injectdbiterr 入力 あ り あ り あ り

axi_b_sbiterr 出力 あ り あ り あ り

axi_b_dbiterr 出力 あ り あ り あ り

axi_b_overflow 出力 あ り あ り あ り

axi_b_wr_data_count[m:0] 出力 あ り あ り なし

axi_b_underflow 出力 あ り あ り あ り

axi_b_rd_data_count[m:0] 出力 あ り あ り なし

axi_b_data_count[m:0] 出力 あ り なし あ り

axi_b_prog_full 出力 あ り あ り あ り

axi_b_prog_empty 出力 あ り あ り あ り

表 2-17: AXI4/AXI3 読み出しアドレス チャネルの FIFO インターフェイス ポート

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

AXI4/AXI3 インターフェイスの読み出しアドレス チャネル: FIFO データ入力 (din) バスにマップされる情報信号

s_axi_arid[m:0] 入力 あ り あ り あ り

s_axi_araddr[m:0] 入力 なし あ り あ り

s_axi_arlen[7:0] 入力 なし あ り あ り

s_axi_arsize[2:0] 入力 なし あ り あ り

s_axi_arburst[1:0] 入力 なし あ り あ り

s_axi_arlock[2:0] 入力 なし あ り あ り

s_axi_arcache[4:0] 入力 なし あ り あ り

s_axi_arprot[3:0] 入力 なし あ り あ り

s_axi_arqos[3:0] 入力 なし あ り あ り

s_axi_arregion[3:0] 入力 なし あ り あ り

s_axi_aruser[m:0] 入力 あ り あ り あ り

AXI4/AXI3 インターフェイスの読み出しアドレス チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_arvalid 入力 なし あ り あ り

s_axi_arready 出力 なし あ り あ り

AXI4/AXI3 インターフェイスの読み出しアドレス チャネル: FIFO データ出力 (dout) バスから派生する情報信号

表 2-16: AXI4/AXI3 書き込み応答チャネルの FIFO インターフェイス ポート (続き)

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

Page 79: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 79PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

m_axi_arid[m:0] 出力 あ り あ り あ り

m_axi_araddr[m:0] 出力 なし あ り あ り

m_axi_arlen[7:0] 出力 なし あ り あ り

m_axi_arsize[2:0] 出力 なし あ り あ り

m_axi_arburst[1:0] 出力 なし あ り あ り

m_axi_arlock[2:0] 出力 なし あ り あ り

m_axi_arcache[4:0] 出力 なし あ り あ り

m_axi_arprot[3:0] 出力 なし あ り あ り

m_axi_arqos[3:0] 出力 なし あ り あ り

m_axi_arregion[3:0] 出力 なし あ り あ り

m_axi_aruser[m:0] 出力 あ り あ り あ り

AXI4/AXI3 インターフェイスの読み出しアドレス チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_arvalid 出力 なし あ り あ り

m_axi_arready 入力 なし あ り あ り

AXI4/AXI3 読み出しアドレス チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_ar_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_ar_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_ar_injectsbiterr 入力 あ り あ り あ り

axi_ar_injectdbiterr 入力 あ り あ り あ り

axi_ar_sbiterr 出力 あ り あ り あ り

axi_ar_dbiterr 出力 あ り あ り あ り

axi_ar_overflow 出力 あ り あ り あ り

axi_ar_wr_data_count[m:0] 出力 あ り あ り なし

axi_ar_underflow 出力 あ り あ り あ り

axi_ar_rd_data_count[m:0] 出力 あ り あ り なし

axi_ar_data_count[m:0] 出力 あ り なし あ り

axi_ar_prog_full 出力 あ り あ り あ り

axi_ar_prog_empty 出力 あ り あ り あ り

表 2-18: AXI4/AXI3 読み出しデータ チャネルの FIFO インターフェイス ポート

ポート名入力または

出力オプシ ョ ンのポー

使用可能なポート

共通クロック 独立クロック

AXI4/AXI3 インターフェイスの読み出しデータ チャネル: FIFO データ出力 (dout) バスから派生する情報信号

s_axi_rid[m:0] 出力 あ り あ り あ り

s_axi_rdata[m-1:0] 出力 なし あ り あ り

表 2-17: AXI4/AXI3 読み出しアドレス チャネルの FIFO インターフェイス ポート (続き)

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

Page 80: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 80PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

s_axi_rresp[1:0] 出力 なし あ り あ り

s_axi_rlast 出力 なし あ り あ り

s_axi_ruser[m:0] 出力 あ り あ り あ り

AXI4/AXI3 インターフェイスの読み出しデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

s_axi_rvalid 出力 なし あ り あ り

s_axi_rready 入力 なし あ り あ り

AXI4/AXI3 インターフェイスの読み出しデータ チャネル: FIFO データ入力 (din) バスにマップされる情報信号

m_axi_rid[m:0] 入力 あ り あ り あ り

m_axi_rdata[m-1:0] 入力 なし あ り あ り

m_axi_ rresp[1:0] 入力 なし あ り あ り

m_axi_rlast 入力 なし あ り あ り

m_axi_ruser[m:0] 入力 あ り あ り あ り

AXI4/AXI3 インターフェイスの、 読み出しデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_rvalid 入力 なし あ り あ り

m_axi_rready 出力 なし あ り あ り

AXI4/AXI3 読み出しデータ チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_r_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_r_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_r_injectsbiterr 入力 あ り あ り あ り

axi_r_injectdbiterr 入力 あ り あ り あ り

axi_r_sbiterr 出力 あ り あ り あ り

axi_r_dbiterr 出力 あ り あ り あ り

axi_r_overflow 出力 あ り あ り あ り

axi_r_wr_data_count[m:0] 出力 あ り あ り なし

axi_r_underflow 出力 あ り あ り あ り

axi_r_rd_data_count[m:0] 出力 あ り あ り なし

axi_r_data_count[m:0] 出力 あ り なし あ り

axi_r_prog_full 出力 あ り あ り あ り

axi_r_prog_empty 出力 あ り あ り あ り

表 2-18: AXI4/AXI3 読み出しデータ チャネルの FIFO インターフェイス ポート

ポート名入力または

出力オプシ ョ ンのポー

使用可能なポート

共通クロック 独立クロック

Page 81: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 81PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

AXI4-Lite FIFO インターフェイス ポート

書き込みチャネル

表 2-19: AXI4-Lite 書き込みアドレス チャネルの FIFO インターフェイス ポート

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

AXI4-Lite インターフェイスの書き込みアドレス チャネル: FIFO データ入力 (din) バスにマップされる情報信号

s_axi_awaddr[m:0] 入力 なし あ り あ り

s_axi_awprot[3:0] 入力 なし あ り あ り

AXI4-Lite インターフェイスの書き込みアドレス チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_awvalid 入力 なし あ り あ り

s_axi_awready 出力 なし あ り あ り

AXI4-Lite インターフェイスの書き込みアドレス チャネル: FIFO データ出力 (dout) バスから派生する情報信号

m_axi_awaddr[m:0] 出力 なし あ り あ り

m_axi_awprot[3:0] 出力 なし あ り あ り

AXI4-Lite インターフェイスの書き込みアドレス チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_awvalid 出力 なし あ り あ り

m_axi_awready 入力 なし あ り あ り

AXI4-Lite 書き込みアドレス チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_aw_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_aw_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_aw_injectsbiterr 入力 あ り あ り あ り

axi_aw_injectdbiterr 入力 あ り あ り あ り

axi_aw_sbiterr 出力 あ り あ り あ り

axi_aw_dbiterr 出力 あ り あ り あ り

axi_aw_overflow 出力 あ り あ り あ り

axi_aw_wr_data_count[m:0] 出力 あ り あ り なし

axi_aw_underflow 出力 あ り あ り あ り

axi_aw_rd_data_count[m:0] 出力 あ り あ り なし

axi_aw_data_count[m:0] 出力 あ り なし あ り

axi_aw_prog_full 出力 あ り あ り あ り

axi_aw_prog_empty 出力 あ り あ り あ り

Page 82: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 82PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

表 2-20: AXI4-Lite 書き込みデータ チャネルの FIFO インターフェイス ポート

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

AXI4-Lite インターフェイスの書き込みデータ チャネル: FIFO データ入力 (din) バスにマップされる情報信号

s_axi_wdata[m-1:0] 入力 なし あ り あ り

s_axi_wstrb[m/8-1:0] 入力 なし あ り あ り

AXI4-Lite インターフェイスの書き込みデータ チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_wvalid 入力 なし あ り あ り

s_axi_wready 出力 なし あ り あ り

AXI4-Lite インターフェイスの書き込みデータ チャネル: FIFO データ出力 (dout) バスから派生する情報信号

m_axi_wdata[m-1:0] 出力 なし あ り あ り

m_axi_wstrb[m/8-1:0] 出力 なし あ り あ り

AXI4-Lite インターフェイスの書き込みデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_wvalid 出力 なし あ り あ り

m_axi_wready 入力 なし あ り あ り

AXI4-Lite 書き込みデータ チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_w_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_w_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_w_injectsbiterr 入力 あ り あ り あ り

axi_w_injectdbiterr 入力 あ り あ り あ り

axi_w_sbiterr 出力 あ り あ り あ り

axi_w_dbiterr 出力 あ り あ り あ り

axi_w_overflow 出力 あ り あ り あ り

axi_w_wr_data_count[m:0] 出力 あ り あ り なし

axi_w_underflow 出力 あ り あ り あ り

axi_w_rd_data_count[m:0] 出力 あ り あ り なし

axi_w_data_count[m:0] 出力 あ り なし あり

axi_w_prog_full 出力 あ り あ り あ り

axi_w_prog_empty 出力 あ り あ り あ り

表 2-21: AXI4-Lite 書き込み応答チャネルの FIFO インターフェイス ポート

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

AXI4-Lite インターフェイスの書き込み応答チャネル: FIFO データ出力 (dout) バスから派生する情報信号

s_axi_bresp[1:0] 出力 なし あ り あ り

AXI4-Lite インターフェイスの書き込み応答チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

Page 83: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 83PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

読み出しチャネル

s_axi_bvalid 出力 なし あ り あ り

s_axi_bready 入力 なし あ り あ り

AXI4-Lite インターフェイスの書き込み応答チャネル: FIFO データ入力 (din) バスにマップされる情報信号

m_axi_bresp[1:0] 入力 なし あ り あ り

AXI4-Lite インターフェイスの書き込み応答チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

m_axi_bvalid 入力 なし あ り あ り

m_axi_bready 出力 なし あ り あ り

AXI4-Lite 書き込み応答チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_b_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_b_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_b_injectsbiterr 入力 あ り あ り あ り

axi_b_injectdbiterr 入力 あ り あ り あ り

axi_b_sbiterr 出力 あ り あ り あ り

axi_b_dbiterr 出力 あ り あ り あ り

axi_b_overflow 出力 あ り あ り あ り

axi_b_wr_data_count[m:0] 出力 あ り あ り なし

axi_b_underflow 出力 あ り あ り あ り

axi_b_rd_data_count[m:0] 出力 あ り あ り なし

axi_b_data_count[m:0] 出力 あ り なし あ り

axi_b_prog_full 出力 あ り あ り あ り

axi_b_prog_empty 出力 あ り あ り あ り

表 2-22: AXI4-Lite 読み出しアドレス チャネルの FIFO インターフェイス ポート

ポート名入力または

出力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

AXI4-Lite インターフェイスの読み出しアドレス チャネル: FIFO データ入力 (din) バスにマップされる情報信号

s_axi_araddr[m:0] 入力 なし あ り あ り

s_axi_arprot[3:0] 入力 なし あ り あ り

AXI4-Lite インターフェイスの読み出しアドレス チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

s_axi_arvalid 入力 なし あ り あ り

s_axi_arready 出力 なし あ り あ り

AXI4-Lite インターフェイスの読み出しアドレス チャネル: FIFO データ出力 (dout) バスから派生する情報信号

表 2-21: AXI4-Lite 書き込み応答チャネルの FIFO インターフェイス ポート (続き)

ポート名入力または出

力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

Page 84: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 84PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

m_axi_araddr[m:0] 出力 なし あ り あ り

m_axi_arprot[3:0] 出力 なし あ り あ り

AXI4-Lite インターフェイスの読み出しアドレス チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

m_axi_arvalid 出力 なし あ り あ り

m_axi_arready 入力 なし あ り あ り

AXI4-Lite 読み出しアドレス チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_ar_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_ar_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_ar_injectsbiterr 入力 あ り あ り あ り

axi_ar_injectdbiterr 入力 あ り あ り あ り

axi_ar_sbiterr 出力 あ り あ り あ り

axi_ar_dbiterr 出力 あ り あ り あ り

axi_ar_overflow 出力 あ り あ り あ り

axi_ar_wr_data_count[m:0] 出力 あ り あ り なし

axi_ar_underflow 出力 あ り あ り あ り

axi_ar_rd_data_count[m:0] 出力 あ り あ り なし

axi_ar_data_count[m:0] 出力 あ り なし あ り

axi_ar_prog_full 出力 あ り あ り あ り

axi_ar_prog_empty 出力 あ り あ り あ り

表 2-23: AXI4-Lite 読み出しデータ チャネルの FIFO インターフェイス ポート

ポート名入力または

出力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

AXI4-Lite インターフェイスの読み出しデータ チャネル: FIFO データ出力 (dout) バスから派生する情報信号

s_axi_rdata[m-1:0] 出力 なし あ り あ り

s_axi_rresp[1:0] 出力 なし あ り あ り

AXI4-Lite インターフェイスの読み出しデータ チャネル: FIFO 読み出しインターフェイスのハンドシェイク信号

s_axi_rvalid 出力 なし あ り あ り

s_axi_rready 入力 なし あ り あ り

AXI4-Lite インターフェイスの読み出しデータ チャネル: FIFO データ入力 (din) バスにマップされる情報信号

m_axi_rdata[m-1:0] 入力 なし あ り あ り

m_axi_ rresp[1:0] 入力 なし あ り あ り

AXI4-Lite インターフェイスの読み出しデータ チャネル: FIFO 書き込みインターフェイスのハンドシェイク信号

m_axi_rvalid 入力 なし あ り あ り

表 2-22: AXI4-Lite 読み出しアドレス チャネルの FIFO インターフェイス ポート (続き)

ポート名入力または

出力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

Page 85: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 85PG057 2017 年 10 月 4 日 japan.xilinx.com

第 2 章: 製品仕様

m_axi_rready 出力 なし あ り あ り

AXI4-Lite 読み出しデータ チャネルの FIFO: オプシ ョ ンの側帯波信号

axi_r_prog_full_thresh[m:0] 入力 あ り あ り あ り

axi_r_prog_empty_thresh[m:0] 入力 あ り あ り あ り

axi_r_injectsbiterr 入力 あ り あ り あ り

axi_r_injectdbiterr 入力 あ り あ り あ り

axi_r_sbiterr 出力 あ り あ り あ り

axi_r_dbiterr 出力 あ り あ り あ り

axi_r_overflow 出力 あ り あ り あ り

axi_r_wr_data_count[m:0] 出力 あ り あ り なし

axi_r_underflow 出力 あ り あ り あ り

axi_r_rd_data_count[m:0] 出力 あ り あ り なし

axi_r_data_count[m:0] 出力 あ り なし あ り

axi_r_prog_full 出力 あ り あ り あ り

axi_r_prog_empty 出力 あ り あ り あ り

表 2-23: AXI4-Lite 読み出しデータ チャネルの FIFO インターフェイス ポート (続き)

ポート名入力または

出力オプシ ョ ンの

ポート

使用可能なポート

独立クロック 共通クロック

Page 86: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 86PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章

コアを使用した設計この章では、 FIFO Generator コアをユーザー アプリ ケーシ ョ ン ロジッ ク と統合された完全機能のデザインに変えていくのに必要な手順を説明します。

重要: FIFO コアのコンフ ィギュレーシ ョ ンによっては、 提供されているインプリ メンテーシ ョ ンのサブセッ トのみが提供可能な場合があ り ます。 FIFO コアを問題なく使用できるよ うにするには、 この章で説明されている設計ガイド ラインに必ず従ってください。

一般的なデザイン ガイド ライン

難易度を理解する

規格に完全準拠し、 機能豊かな FIFO デザインを実装するには、 実装先がどのテク ノ ロジであっても課題は出てきます。 このため、 その難易度は次の要因によって大き く左右される可能性があるこ とを理解しておく こ とが重要です。

• 最大システム ク ロ ッ ク周波数。

• ターゲッ ト デバイスのアーキテクチャ。

• 特定のユーザー アプリ ケーシ ョ ン。

パイプライン処理、 制約の使用 (タイ ミ ング制約、 配置制約やエリア制約) など、 インプリ メンテーシ ョ ンしやすくするデザイン テクニッ クを使用してください。

信号パイプラインおよび同期化を理解する

FIFO デザインがど ういう ものなのかを理解するには、 パフォーマンスを最大化し、 ク ロ ッ ク乗せ換え用の同期化ロジッ クをインプリ メン トするためにパイプラインがどのよ うに使用されるのかを理解するこ とが重要です。 書き込みインターフェイスに書き込まれたデータが、 読み出しインターフェイスでアクセス可能になるまでには、 数クロ ッ ク サイクルかかる場合があ り ます。

同期化に関する注意事項

書き込みクロ ッ クおよび読み出しクロ ッ クがそれぞれ独立した FIFO では、 インターフェイス信号をそれぞれのクロ ッ ク ド メ インで使用する必要があ り ます。 独立クロ ッ ク FIFO では、 すべての同期化要件が処理されるので、 互いに周波数や位相に関して関連性のない 2 つのクロ ッ ク ド メ インをまたぐこ とができます。

重要: 正しい動作を得るには、 FIFO の Full および Empty フラグを使用する必要があ り ます。

図 3-1 は、 信号とそのクロ ッ ク ド メ インを表したものです。 すべての信号が特定のクロ ッ クに同期していますが、FIFO 全体の非同期リセッ ト を実行する rst は例外です。

Page 87: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 87PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

書き込み操作の場合、 ライ ト イネーブル信号 (wr_en) およびデータ入力 (din) が wr_clk に同期します。 読み出し操作の場合、 リード イネーブル信号 (rd_en) およびデータ入力 (dout) が rd_clk に同期します。 ステータス出力はすべて、 それぞれのクロ ッ ク ド メ インに同期し、 そのクロ ッ ク ド メ インでのみ使用可能です。 FIFO のパフォーマンスは、 wr_clk および rd_clk 入力信号のクロ ッ ク周期を個別に制約するこ とで計測できます。

インターフェイス信号は、 立ち上がり ク ロ ッ ク エッジ (wr_clk および rd_clk) で評価されます。 ク ロ ッ ク ソースと FIFO ク ロ ッ ク入力との間に反転を挿入する と、 これらの信号を立ち下がりエッジ アクティブ (ク ロ ッ ク ソースに相対的に) にできます。 この反転は、 内部 FIFO 制御ロジッ クに吸収されるので、 パフォーマンス低下やロジッ ク使用率の増加にはなり ません。

FIFO Generator の初期化

ビルト イン FIFO または共通クロ ッ クのシフ ト レジスタ FIFO を使用して設計する場合、 FPGA がコンフ ィギュレーシ ョ ンされた後、 操作が開始する前にリセッ トする前に、 FIFO を リセッ トする必要があ り ます。 非同期リセッ ト ピン (rst) は、 シフ ト レジスタ FIFO および 7 シ リーズのビルト イン FIFO 用に提供されています。 この リセッ トは、内部カウンターおよび出力レジスタをク リ アにする非同期のリセッ トです。 UltraScale アーキテクチャのビルト イン FIFO インプリ メンテーシ ョ ンの場合、 リセッ ト ピン (srst) は、 内部カウンターおよび出力レジスタをク リ アにするため、 clk/wr_clk に同期します。 UltraScale アーキテクチャのビルト イン FIFO では、 FIFO が書き込みまたは読み出し操作の準備が整っているかど うかを示す wr_rst_busy および rd_rst_busy 信号が提供されています。

ブロ ッ ク RAM または分散 RAM を使用してインプリ メン ト されている FIFO の場合、 リセッ トは不要で、 入力ピンはオプシ ョ ンです。 共通クロ ッ ク コンフ ィギュレーシ ョ ンの場合は、 リセッ ト を非同期にするか同期にするかのオプシ ョ ンがあ り ます。 独立クロ ッ ク コンフ ィギュレーシ ョ ンの場合は、 書き込みおよび読み出しそれぞれのクロ ック ド メ インに対し、 非同期リセッ ト (rst) にするか、 同期リセッ ト (wr_rst/rd_rst) にするかのオプシ ョ ンがあ ります。

非同期リセッ トがインプリ メン ト される と ([Enable Reset Synchronization] オプシ ョ ンが選択されている と )、 FIFO が既知のステートに初期化するよ うに、 ク ロ ッ ク ド メ インに同期化します。 この同期化ロジッ クによ り、 グ リ ッチおよびメ タステーブル動作を避けながら、 コア ロジッ クのタイ ミ ングが正し く リセッ ト されます。 リセッ ト パルスおよび同期化遅延の要件は FIFO インプリ メンテーシ ョ ン タイプに依存しています。

X-Ref Target - Figure 3-1

図 3-1: 独立クロック FIFO: 書き込みおよび読み出しのクロック ド メイン

Note: Optional ports represented in italics

dout[m:0]

empty

rst

rd_en

rd_clk

prog_full_thresh_assert

prog_full_thresh_negate

wr_rst

prog_full_thresh

Write ClockDomain

Read ClockDomain

full

wr_en

din[n:0]

wr_clk

almost_full

prog_full

wr_ack

overflow

almost_empty

prog_empty

valid

underflow

prog_empty_thresh_assert

prog_empty_thresh_negate

rd_rst

PROG_EMPTY_THRESHprog_empty_thresh

Page 88: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 88PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

wr_rst/rd_rst/rd_rst がインプリ メン ト される と ([Enable Reset Synchronization] オプシ ョ ンが選択されている と)、 wr_rst/rd_rst はそれぞれのクロ ッ ク ド メ インに同期するものと考えられます。 wr_rst がアサート されている限り、 書き込みクロ ッ ク ド メ インはリセッ ト ステートのままになり、 rd_rst がアサート されている限り、 読み出しクロ ッ ク ド メ インはリセッ ト ステートのままになり ます。 詳細は、 114 ページの 「リセッ ト 」 を参照してください。

FIFO の使用方法および制御

書き込み操作

このセクシ ョ ンでは、 FIFO の書き込み操作の動作と、 それに関連付けられているステータス フラグについて説明します。 ライ ト イネーブルがアサート され、 FIFO がいっぱいでない場合、 データは入力バス (din) から FIFO に追加され、 書き込み肯定応答 (wr_ack) がアサート されます。 FIFO からデータが読み出されないまま、 継続的に書き込みが実行される と、 FIFO はデータでいっぱいになり ます。 書き込み操作は、 FIFO がいっぱいではないと きにのみ成功します。 FIFO がいっぱいのと きにさ らに書き込みが開始する と、 その要求が無視され、 オーバーフロー フラグがアサート され、 FIFO のステートは変化しません (FIFO がオーバーフローしても深刻なダメージはあ り ません)。

almost_full および full フラグ

注記: ビルト イン FIFO では almost_full フラグはサポート されていません。

almost_full は、 あと 1 回書き込みが実行される と full がアサート される状態であるこ とを示すフラグです。 このフラグはアクティブ High で、 書き込みクロ ッ ク (wr_clk) に同期します。

full は、 FIFO からデータが読み出されない限り、 これ以上書き込みが実行できない状態を示すフラグです。 このフラグはアクティブ High で、 書き込みクロ ッ ク (wr_clk) に同期しています。 full がアサート されたと きに書き込みが開始する と、 書き込み要求が無視され、 overflow がアサート されます。

操作例

図 3-2 は、 典型的な書き込み操作を表しています。 wr_en がアサート される と、 wr_clk の次の立ち上がりエッジで書き込み操作が実行されます。 FIFO がいっぱいではないので、 wr_ack がアサート され、 書き込み操作の要求が承認されます。 FIFO にあと 1 ワード しか書き込むこ とができない場合は、 FIFO によ り almost_full フラグがアサート されます。 almost_full がアサート される と、 追加の書き込みが 1 回実行され、 FIFO から full がアサート されます。 full がアサート された後に書き込みが実行される と、 wr_ack がディアサート されて、 overflow がアサート され、 FIFO がオーバーフロー状態であるこ とを示します。 1 回以上読み出しが実行されれば、 FIFO によ り full がディアサート され、 データを FIFO に書き込むこ とができる状態になり ます (wr_ack がアサート され、overflow がディアサート されるので、 その状態になったこ とがわかる )。

X-Ref Target - Figure 3-2

図 3-2: 独立クロック FIFO の書き込み操作

wr_clk

wr_en

full

almost_full

wr_ack

overflow

din D1 D2 D3 D4 D5 D12 D13

Page 89: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 89PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

読み出し操作

このセクシ ョ ンでは、 FIFO の読み出し操作の動作と、 それに関連付けられているステータス フラグについて説明します。 リード イネーブルがアサート され、 FIFO が空でない場合、 データは出力バス (dout) で FIFO から読み出され、 有効フラグ (VALID) がアサート されます。 FIFO へデータが書き込まれるこ とな く、 継続的に読み出しが実行される と、 FIFO は空になり ます。 読み出し操作は、 FIFO が空ではないと きに成功します。 FIFO が空のと きにさ らに読み出しが要求される と、 読み出し操作は無視され、 アンダーフロー フラグがアサート され、 FIFO のステートは変化しません (FIFO がアンダーフローしても深刻なダメージはあ り ません)。

almost_empty および empty フラグ

注記: ビルト イン FIFO では almost_empty フラグはサポート されていません。

almost_empty は、 読み出し操作が実行されたあとに FIFO が空であるこ とを示します。 このフラグはアクティブ High で、 rd_clk に同期します。 このフラグは、 FIFO に読み出されるべき 1 ワードが残っている と きにアサート されます。

empty は、 FIFO が空で、 データが書き出されない限り、 これ以上読み出しが実行できない状態を示すフラグです。このフラグはアクティブ High で、 読み出しクロ ッ ク (rd_clk) に同期します。 empty がアサート されたと きに読み出しが開始する と、 読み出し要求が無視され、 underflow がアサート されます。

共通クロックに関する注記

empty がアサート されている間に、 書き込みと読み出し操作が同時に実行される と、 書き込み操作は受諾され、 読み出し操作は無視されます。 次のクロ ッ ク サイクルで empty がディアサート され、 underflow がアサート されます。

読み出し操作のモード

FIFO Generator コアでは、 読み出し操作に関して、 標準モード と First-Word Fall-Through (FWFT) モードの 2 つがサポート されています。 標準モードの読み出し操作では、 読み出しが要求されたあとのクロ ッ ク サイクルでデータが読み出されます。 FWFT モードの読み出し操作では、 読み出しが要求されたのと同じクロ ッ ク サイクルでデータが読み出されます。

表 3-1 は、 FWFT のインプリ メンテーシ ョ ンをサポート しています。

標準モードの FIFO の読み出し操作

標準 FIFO の読み出し操作の場合、 リード イネーブルがアサート された後、 FIFO が空でなければ、 FIFO に格納されている次のデータが出力バス (dout) に出力され、 有効フラグ (VALID) がアサート されます。

図 3-3 は標準の読み出しアクセスを表しています。 最低 1 ワードを FIFO に書き込むと、 empty がディアサート されます。 これはデータが読み出し可能になったこ とを示しています。 rd_en がアサート される と、 rd_clk の次の立ち

表 3-1: FWFT (First-Word Fall-Through) FIFO インプリ メンテーシ ョ ンのサポート

FWFT サポート

独立クロ ッ ク

ブロ ッ ク RAM ü

分散 RAM ü

ビルト イン ü

共通クロ ッ ク

ブロ ッ ク RAM ü

分散 RAM ü

シフ ト レジスタ

ビルト イン ü

Page 90: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 90PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

上がりエッジで読み出し操作が実行されます。 FIFO で次の使用可能なワードが dout に出力され、 読み出し操作が成功したこ とを示す VALID がアサート されます。 FIFO から最後のデータ ワードが読み出される と、 FIFO によ り empty がアサート されます。 empty がアサート されている間に rd_en がアサート され続ける と、 読み出し要求が無視され、 VALID がディアサート され、 underflow がアサート されます。 書き込みが実行される と、 FIFO によ り empty がディアサート され、 有効な読み出し操作を再開できるよ うにな り ます (VALID がディアサート され、underflow がアサート されるので、 その状態になったこ とがわかる )。

First-Word Fall-Through (FWFT) モードの FIFO 読み出し操作

FWFT では、 読み出しを発行せずに FIFO から次に使用可能なワードを先読みできます。 FIFO からデータを読み出せるよ うになる と、 最初のワードが FIFO から自動的に出力データ バス (dout) に現れます。 最初のワードが dout に出力される と、 FIFO に読み出し可能なワードが 1 つ以上あるこ とを示す empty がディアサート され、 有効なワードが dout にあるこ とを示す VALID がアサート されます。

図 3-4 は FWFT モードの読み出しアクセスを表しています。 はじめに、 FIFO は空ではなく、 次に使用可能なデータ ワードが出力バス (dout) に現れ、 VALID がアサート されます。 rd_en をアサートする と、 rd_clk の次の立ち上がり ク ロ ッ ク エッジで、 次のデータ ワードが dout に現れます。 最終データ ワードが dout に現れたあとに、 追加の読み出し要求が出される と、 dout のデータが無効になり ます。 VALID がディアサート され、 empty がアサート されるので、 無効になったこ とがわかり ます。 この後、 FIFO から読み出しを実行しよ う と しても、 アンダーフローになり ます。

標準モードの読み出し操作とは異なり、 FWFT の empty フラグは、 FIFO から最終データが読み出されたあとにアサート されます。 empty がアサート される と、 VALID がディアサート されます。 標準モードの読み出しでは、empty がアサート される と、 VALID が 1 ク ロ ッ ク サイクル アサート されます。 FWFT 機能によ り、 FIFO の実質的な読み出しの深さは 2 ワード分増えます。

最初のデータが空の FIFO に書き込まれる と、 この FWFT 機能によ り、 empty のディアサートに 2 ク ロ ッ ク サイクルのレイテンシが追加されます。

注記: FIFO を空にするには、 書き込み操作と同じ数の読み出し操作を実行する必要があ り ます。 これは、 FWFT モードでも標準モードでも変わり ません。

X-Ref Target - Figure 3-3

図 3-3: 独立クロック FIFO の標準モードの書き込み操作

rd_clk

dout

valid

underflow

rd_en

empty

D0 D1 D2 D3

almost_empty

Page 91: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 91PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

共通クロック FIFO、 読み出しおよび書き込みの同時操作

図 3-5 は、 典型的な書き込みおよび読み出し操作を表しています。 書き込みが FIFO に発行される と、 empty フラグがディアサート されます。 その後、 書き込みおよび読み出しの同時操作が発行されるのですが、 ステータス フラグには変更があ り ません。 FIFO のワードが 2 つ以上になる と、 almost_empty フラグがディアサート されます。 その後、 書き込み要求が FIFO に発行され、 FIFO があと 1 書き込みしか受け付けられないと (読み出しが実行されない限り )、 almost_full がアサート されます。 その後、 書き込みおよび読み出しの同時操作が発行されるのですが、 ステータス フラグには変更があ り ません。 最後に、 読み出しが実行されずに追加書き込みが 1 回実行される と、 FIFO から full がアサート されます。 つま り、 読み出し要求が発行されるまではこれ以上データを書き込むこ とができないこ とを示します。

ハンドシェイク フラグ

ハンドシェイ ク フラグ (VALID、 underflow、 wr_ack および overflow) は、 書き込みおよび読み出し操作のステータスに関する追加情報を提供する目的でサポート されています。 ハンドシェイ ク フラグはオプシ ョ ンで、Vivado IDE でアクティブ High またはアクティブ Low に設定できます。 これらのフラグは (アクティブ High に設定された状態) 図 3-6 で説明されています。

X-Ref Target - Figure 3-4

図 3-4: 独立クロック FIFO の FWFT モードの読み出し操作

X-Ref Target - Figure 3-5

図 3-5: 共通クロック FIFO の標準モードの書き込みおよび読み出し操作

rd_clk

dout

valid

underflow

rd_en

empty

D0 D1 D2 D3

almost_empty

clk

wr_en

D0 D1

empty

rd_en

dout

almost_empty

almost_full

full

Page 92: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 92PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

書き込み肯定応答

書き込み肯定応答フラグ (wr_ack) は、 各書き込み操作が完了する とアサート され、 din ポートのデータが FIFO に格納されたこ とを示します。 このフラグは書き込みクロ ッ ク (wr_clk) に同期します。

有効

有効フラグ (VALID) の操作は、 FIFO の読み出しモードによって異なり ます。 このフラグは読み出しクロ ッ ク (rd_clk) に同期します。

標準モードの FIFO の読み出し操作

標準モードの読み出しの場合、 VALID フラグは、 各読み出し操作の rd_clk の立ち上がりエッジでアサート され、dout バスのデータが有効であるこ とを示します。 読み出し要求が承認されないと (FIFO が空のと き )、 VALID はアサート されません。

FWFT モードの FIFO 読み出し操作

FWFT モードの読み出しの場合、 VALID フラグは出力バス (dout) のデータが現在のサイクルで有効であるこ とを示します。 FWFT ロジッ クによ り dout バスに次に読み出されるデータが自動的に配置されるので、 データが出ていて有効であるために、 読み出し要求を発行する必要はあ り ません。 VALID は、 FIFO に 1 つ以上ワードがある とアサート されます。 VALID は、 FIFO にワードが残っていないとディアサート されます。

操作例

図 3-6 は、 FIFO のフラグの動作を説明しています。 書き込みインターフェイスでは、 full がアサート されず、FIFO への書き込みが完了します (wr_ack がアサート されるこ とでわかる )。 full がアサート された後に書き込みが実行される と、 wr_ack がディアサート されて、 overflow がアサート され、 FIFO がオーバーフロー状態であることを示します。 読み出しインターフェイスでは、 FIFO が empty になる と、 読み出し要求が受諾されます。 標準モードの FIFO 操作では、 読み出し要求の次のクロ ッ ク サイクルで、 VALID がアサート され、 dout がアップデート されます。 FWFT モードの FIFO 操作では、 読み出し要求が発行される前に VALID がアサート され、 dout がアップデート されます。 empty がアサート されている間に読み出し要求が発行される と、 VALID がディアサート されて、underflow がアサート され、 FIFO がアンダーフロー状態であるこ とを示します。

Page 93: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 93PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

アンダーフロー

アンダーフロー フラグ (underflow) は、 読み出し操作が完了しなかったこ とを示すのに使用されます。 これは読み出しが開始し、 FIFO が空のと きに発生します。 このフラグは読み出しクロ ッ ク (rd_clk) に同期します。 FIFO がアンダーフロー状態になっても、 FIFO のステータスは変わり ません (深刻なダメージはあ り ません)。

オーバーフロー

オーバーフロー フラグ (overflow) は、 書き込み操作が完了しなかったこ とを示すのに使用されます。 これは、full がアサート されている間に FIFO への書き込みが開始する と発生します。 このフラグは書き込みクロ ッ ク (wr_clk) に同期します。 FIFO がオーバーフロー状態になっても、 FIFO のステータスは変わり ません (深刻なダメージはあ り ません)。

X-Ref Target - Figure 3-6

図 3-6: 独立クロック FIFO のハンドシェイク信号

D1 D3D2

Write Interface

wr_en

din

wr_ack

wr_clk

full

overflow

D1 D3D2

FWFT Read Interface

rd_clk

rd_en

empty

underflow

valid

dout

D1 D3D2

Standard Read Interface

valid

rd_clk

rd_en

empty

underflow

dout

Page 94: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 94PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

操作例

図 3-7 は、 ハンドシェイ ク フラグを説明しています。 書き込みインターフェイスでは、 full がディアサート されるので、 FIFO への書き込みが完了します (wr_ack がアサート されるこ とでわかる )。 full がアサート された後に書き込みが実行される と、 wr_ack がディアサート されて、 overflow がアサート され、 FIFO がオーバーフロー状態であるこ とを示します。 読み出しインターフェイスでは、 FIFO が空になる と、 読み出し要求が受諾されます。 読み出し要求に続いて、 VALID がアサート され、 dout がアップデート されます。 empty がアサート されている間に読み出し要求が発行される と、 VALID がディアサート されて、 underflow がアサート され、 FIFO がアンダーフロー状態であるこ とを示します。

プログラマブル フラグ

FIFO では、 FIFO がユーザー定義のフ ィル レベルに達したこ とを示すため、 プログラマブル フラグがサポート されています。

• プログラマブル full (prog_full) は、 FIFO がユーザー定義のフル状態に達したこ とを示します。

• プログラマブル empty (prog_empty) は、 FIFO がユーザー定義の空状態に達したこ とを示します。

これらのしきい値に定数値を設定するか、 または専用の入力ポート を設定して、 しきい値が回路内でダイナミ ッ クに変化するよ うに設定できます。 ヒ ステ リ シスもオプシ ョ ンでサポート されていて、 各フラグごとに重複しないアサート値およびネゲート値を提供できます。 これらのオプシ ョ ンの詳細は、 次のセクシ ョ ンで説明します。 プログラマブル フラグのレイテンシ動作についての詳細は、 124 ページの 「レイテンシ」 を参照してください。

プログラマブル full

FIFO Generator コアでは、プログラマブル full のしきい値を定義するのに、次の 4 つの方法がサポート されています。

• 1 つのしきい値を設定 (定数)

X-Ref Target - Figure 3-7

図 3-7: 共通クロック FIFO のハンドシェイク信号

D1

wr_en

din

wr_ack

valid

clk

clk

rd_en

full

empty

overflow

underflow

D1dout D3

D3D2

D2

Write Interface

Read Interface

Page 95: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 95PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

• 1 つのしきい値を設定 (専用入力ポート )

• アサート とネゲートに個別のしきい値を設定 (ヒ ステ リ シスを提供)

• 専用入力ポート を使用して、 アサート とネゲートに個別のしきい値を設定 (ヒ ステ リ シスを提供)

注記: ビルト イン FIFO では、 1 つのしきい値 (定数) のプログラマブル full のみがサポート されています。

これらのオプシ ョ ンは、 Vivado IDE で FIFO Generator のカスタマイズ ウ ィンド ウの [Programmable Flags] で設定できます (144 ページの 「[Status Flags] タブ」 )。

プログラマブル full (prog_full) のフラグは、 FIFO のワード数がユーザー定義のアサートのしきい値以上のと きにアサート されます。 このフラグがアサート される と、 full フラグがアサート されるまで、 FIFO で書き込み操作を実行できます。 FIFO のワード数がネゲートのしきい値未満になる と、 prog_full フラグはディアサート されます。

注記: ワード数をプログラマブル full のしきい値以上にさせる立ち上がり ク ロ ッ ク エッジで書き込み操作が実行される と、 prog_full フラグは次の立ち上がり ク ロ ッ ク エッジでアサート されます。 prog_full フラグのディアサートには長い遅延があ り ますが、 それは書き込みクロ ッ ク と読み出しクロ ッ ク との関係に左右されます。

プログラマブル Full: 1 つのしきい値

このオプシ ョ ンを選択する と、 prog_full のアサートおよびディアサートに対し、 1 つのしきい値を設定できます。 FIFO のエン ト リ数が設定しきい値以上になる と、 prog_full フラグはディアサート されます。 ディアサートの動作は、 ビルト イン FIFO とそ うでない FIFO (ブロ ッ ク RAM、 分散 RAM の FIFO など) とでは異なり ます。

ビルト イン FIFO の場合、 FIFO のエン ト リ数がしきい値から 1 を引いた値未満にならないと、 prog_full フラグはディアサート されません。 ビルト イン FIFO 以外の FIFO の場合は、 FIFO のワード数がネゲートのしきい値未満になる と、 prog_full フラグはディアサート されます。

このしきい値をインプリ メン トするオプシ ョ ンは 2 つあ り ます。

• 1 つのしきい値 (定数)。 Vivado IDE で FIFO Generator をカスタマイズするウ ィンド ウでしきい値を設定できます。 既に FIFO Generator コアが生成されている場合は、 コアを再生成しないと この値を変更できません。 このオプシ ョ ンでは、 専用入力ポートからしきい値を設定する場合よ り も、 使用する リ ソース数が少なくてすみます。

• 1 つのしきい値 (専用入力ポート ) (ビルト イン FIFO 以外の FIFO のみ)。 FIFO Generator コアの入力ポート (prog_full_thresh) を介してしきい値を指定できます。 回路内でプログラマブル full のしきい値を変更できる柔軟性があれば、 コアを再生成するこ とな く、 FIFO がリセッ ト状態でも、 この入力ポート を変更できます。

注記: 各しきい値の有効範囲については、 Vivado IDE を参照してください。

図 3-8 は、 ビルト イン FIFO 以外の FIFO にしきい値を 1 つ設定したプログラマブル full のフラグを示しています。FIFO に 7 ワードが格納されるまで、 FIFO に書き込むこ とができます。 プログラマブル full のしきい値が 7 に設定されているので、 FIFO に 7 ワード書き込まれる と、 FIFO によ り prog_full がアサート されます。

ヒン ト : 書き込みデータカウン ト (wr_data_count) と prog_full の両方に、1 ク ロ ッ ク サイクルの遅延があ り ます。FIFO にあるワード数が 6 以下になる と、 prog_full がディアサート されます。

X-Ref Target - Figure 3-8

図 3-8: プログラマブル Full (1 つのしきい値): しきい値が 7 に設定されている場合

Page 96: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 96PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

プログラマブル Full: アサートおよびネゲートのしきい値

このオプシ ョ ンを選択する と、 prog_full のアサート とディアサートに対し、 個別にしきい値を設定できます。FIFO のエン ト リ数がしきい値以上になる と、 prog_full フラグはディアサート されます。 FIFO のエン ト リ数がネゲート値未満になる と、 prog_full フラグはディアサート されます。

重要: この機能は、 ビルト イン FIFO では使用できません。

これらのしきい値をインプリ メン トするオプシ ョ ンは 2 つあ り ます。

• しきい値をアサートおよびネゲート します。 Vivado IDE で FIFO Generator をカスタマイズするウ ィンド ウでしきい値を設定できます。 既に FIFO Generator コアが生成されている場合は、 コアを再生成しないと、 これらの値を変更できません。 このオプシ ョ ンでは、 専用入力ポートからしきい値をアサートおよびネゲートする場合よ り も、 使用する リ ソース数が少なくて済みます。

• コアの専用入力ポート を使用して、 しきい値をアサートおよびネゲート します。 回路内でプログラマブル full のアサート (prog_full_thresh_assert) およびネゲート (prog_full_thresh_negate) のしきい値を変更できる柔軟性があれば、 コアを再生成するこ とな く、 FIFO がリセッ ト状態でも、 これらの入力ポート を変更できます。

注記: full のアサート値は full のネゲート値よ り も大きい必要があ り ます。各しきい値の有効範囲については、Vivado IDE を参照してください。

図 3-9 は、 アサートおよびネゲートのしきい値を使用したプログラマブル full のフラグを示しています。 FIFO に 10 ワードが格納されるまで、 FIFO に書き込むこ とができます。 アサートのしきい値は 10 に設定されているので、FIFO によ り prog_full がアサート されます。 ネゲートのしきい値は 7 に設定されているので、 FIFO に残っているワード数が 6 以下になる と、 FIFO によ り prog_full がディアサート されます。 書き込みデータカウン ト (wr_data_count) と prog_full の両方に、 1 ク ロ ッ ク サイクルの遅延があ り ます。

プログラマブル Full のしきい値の範囲に関する制限事項

プログラマブル Full のしきい値の範囲は、 FIFO のインプリ メンテーシ ョ ン方法を決めるいくつかの機能に左右されます。 たとえば、 次の機能がそうです。

• FIFO インプリ メンテーシ ョ ン タイプ (ビルト イン FIFO またはそれ以外の FIFO、 共通クロ ッ ク FIFO または独立クロ ッ ク FIFO など)

• 対称または非対称のポート アスペク ト比

• 読み出しモード (標準または FWFT)

• 読み出しおよび書き込みのクロ ッ ク周波数 (ビルト イン FIFO のみ)

Vivado IDE では、 これらの機能に基づいてしきい値の範囲が自動的にパラ メーター化されるので、 有効な範囲内の値のみを選択できるよ うになっています。 インプリ メンテーシ ョ ン タイプが共通クロ ッ クまたは独立クロ ッ クのビルト イン FIFO の場合は、 コア インプリ メンテーシ ョ ン上の理由から、 FIFO の深さ (プリ ミティブの深さで 1) 内の

X-Ref Target - Figure 3-9

図 3-9: アサートおよびネゲートのしきい値を設定したプログラマブル Full: アサートのしきい値 =10、 ネゲートのしきい値 = 7

9 98

wr_clk

wr_data_count

wr_ack

prog_full

wr_en

7810 6

Page 97: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 97PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

しきい値のみが選択できます。 よ り広い範囲が必要な場合は、 インプリ メンテーシ ョ ン タイプに共通クロ ッ クまたは独立クロ ッ クのブロ ッ ク RAM を使用してください。

注記: 各しきい値の有効範囲については、 Vivado IDE を参照してください。 予期しない動作を避けるには、 範囲外のしきい値を選択しないよ うにして ください。

プログラマブル Empty

FIFO Generator コアでは、 プログラマブル empty のしきい値を定義するのに、 次の 4 つの方法がサポート されています。

• 1 つのしきい値を設定 (定数)

• 1 つのしきい値を設定 (専用入力ポート )

• アサート とネゲートに個別のしきい値を設定 (ヒ ステ リ シスを提供)

• 専用入力ポート を使用して、 アサート とネゲートに個別のしきい値を設定 (ヒ ステ リ シスを提供)

注記: ビルト イン FIFO では、 1 つのしきい値 (定数) のプログラマブル full のみがサポート されています。

これらのオプシ ョ ンは、Vivado IDE のカスタマイズ ウ ィンド ウの [Programmable Flags] で設定できます (144 ページの「[Status Flags] タブ」 )。

プログラマブル empty (prog_empty) のフラグは、 FIFO のワード数がユーザー定義のアサートのしきい値以下のときに、 アサート されます。 FIFO のワード数がネゲートのしきい値よ り大きいと、 このフラグはディアサート されます。

注記: FIFO のワード数をプログラマブル empty のしきい値以下にさせる立ち上がり ク ロ ッ ク エッジで読み出し操作が実行される と、 prog_empty フラグは次の立ち上がり ク ロ ッ ク エッジでアサート されます。 prog_empty フラグのディアサートには長い遅延があ り ますが、 それは書き込みクロ ッ ク と読み出しクロ ッ ク とに左右されます。

プログラマブル Empty: 1 つのしきい値

このオプシ ョ ンを選択する と、 prog_empty のアサートおよびディアサートに対し、 1 つのしきい値を設定できます。 FIFO のエン ト リ数が設定したしきい値以下になる と、 prog_empty フラグはディアサート されます。 ディアサートの動作は、 ビルト イン FIFO とそ うでない FIFO (ブロ ッ ク RAM、分散 RAM の FIFO など) とでは異なり ます。

ビルト イン FIFO の場合、 FIFO のエン ト リ数がしきい値に 1 を足した値よ り も大き くならないと、 prog_empty フラグはディアサート されません。 ビルト イン FIFO 以外の FIFO の場合は、 FIFO のエン ト リ数がしきい値よ り も大きいと、 prog_empty フラグはディアサート されます。

このしきい値をインプリ メン トするオプシ ョ ンは 2 つあ り ます。

• しきい値をアサートおよびネゲートする。 Vivado IDE でカスタマイズ ウ ィンド ウでしきい値を設定できます。既に FIFO Generator コアが生成されている場合は、 コアを再生成しないと この値を変更できません。 このオプシ ョ ンでは、 専用入力ポートからしきい値を設定する場合よ り も、 使用する リ ソース数が少なくてすみます。

• コアの専用入力ポート を使用して、 しきい値をアサートおよびネゲートする。 コアの入力ポートは prog_empty_thresh です。 回路内でプログラマブル empty のしきい値を変更できる柔軟性があれば、 コアを再生成するこ とな く、 FIFO がリセッ ト状態でも、 この入力ポート を変更できます。

注記: 各しきい値の有効範囲については、 Vivado IDE を参照してください。

図 3-10 は、ビルト イン FIFO 以外の FIFO にしきい値を 1 つ設定したプログラマブル empty のフラグを示しています。FIFO に 5 ワードが格納されるまで、 FIFO に書き込むこ とができます。 プログラマブル empty のしきい値が 4 に設定されているので、 FIFO に 5 ワード以上書き込まれるまで prog_empty はアサート されます。 FIFO にワードが 5 つ以上ある と、 almost_empty フラグがディアサート されます。 読み出しデータカウン ト (rd_data_count) と prog_empty の両方に、 1 ク ロ ッ ク サイクルの遅延があ り ます。

Page 98: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 98PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

プログラマブル Empty: アサートおよびネゲートのしきい値

このオプシ ョ ンを選択する と、 prog_empty のアサート とディアサートに対し、 個別にしきい値を設定できます。FIFO のエン ト リ数がアサートのしきい値以下になる と、 prog_empty フラグはディアサート されます。 FIFO のエン ト リ数がネゲート値よ り大きいと、 prog_full フラグはディアサート されます。 この機能は、 ビルト イン FIFO では使用できません。

これらのしきい値をインプリ メン トするオプシ ョ ンは 2 つあ り ます。

• アサート とネゲートに個別のしきい値を設定。 これらのしきい値は Vivado IDE で指定されます。 既に FIFO Generator コアが生成されている場合は、 コアを再生成しないと、 これらの値を変更できません。 このオプシ ョンでは、 専用入力ポートからしきい値をアサートおよびネゲートする場合よ り も、 使用する リ ソース数が少なくて済みます。

• 専用入力ポート を使用して、 アサート とネゲートに個別のしきい値を設定。 これらのしきい値は、 コアの入力ポート を介して指定されます。 回路内でプログラマブル empty のアサート (prog_empty_thresh_assert) およびネゲート (prog_empty_thresh_negate) のしきい値を変更できる柔軟性があれば、 コアを再生成することな く、 FIFO がリセッ ト状態でも、 これらの入力ポート を変更できます。

注記: empty のアサート値は empty のネゲート値未満である必要があ り ます。 各しきい値の有効範囲については、Vivado IDE を参照してください。

図 3-11 は、 アサートおよびネゲートのしきい値を使用したプログラマブル empty のフラグを示しています。 FIFO に 11 ワードが格納されるまで書き込みできます。 プログラマブル empty のディアサートのしきい値が 10 に設定されているため、 FIFO に 11 個以上のワードがある と きに、 prog_empty がアサート されます。 FIFO にあるワードの残り数がプログラマブル empty のネゲートのしきい値 (7 に設定されている ) 以下になる と、 prog_empty がアサート されます。 読み出しデータカウン ト (rd_data_count) と prog_empty の両方に、 1 ク ロ ッ ク サイクルの遅延があ ります。

X-Ref Target - Figure 3-10

図 3-10: プログラマブル Empty (1 つのしきい値): しきい値が 4 に設定されている場合

X-Ref Target - Figure 3-11

図 3-11: アサートおよびネゲートのしきい値を設定したプログラマブル Empty: アサートのしきい値 =7、 ネゲートのしきい値 = 10

rd_clk

rd_data_count

valid

rd_en

44 5 36 5

prog_empty

7

rd_clk

rd_data_count

prog_empty

rd_en

8 9 1010 711 9 8

valid

Page 99: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 99PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

プログラマブル Empty のしきい値の範囲に関する制限事項

ププログラマブル empty のしきい値の範囲は、 FIFO のインプリ メンテーシ ョ ン方法を決めるいくつかの機能に左右されます。 たとえば、 次の機能がそうです。

• FIFO インプリ メンテーシ ョ ン タイプ (ビルト イン FIFO またはそれ以外の FIFO、 共通クロ ッ ク FIFO または独立クロ ッ ク FIFO など)

• 対称または非対称のポート アスペク ト比

• 読み出しモード (標準または FWFT)

• 読み出しおよび書き込みのクロ ッ ク周波数 (ビルト イン FIFO のみ)

Vivado IDE では、 これらの機能に基づいてしきい値の範囲が自動的にパラ メーター化されるので、 有効な範囲内の値のみを選択できるよ うになっています。

重要: インプリ メンテーシ ョ ン タイプが共通クロ ッ クまたは独立クロ ッ クのビルト イン FIFO の場合は、 コア インプリ メンテーシ ョ ン上の理由から、 FIFO の深さ (プリ ミ ティブの深さで 1) 内のしきい値のみが選択できます。 よ り広い範囲が必要な場合は、 インプリ メンテーシ ョ ン タイプに共通クロ ッ クまたは独立クロ ッ クのブロ ッ ク RAM を使用してください。

注記: 各しきい値の有効範囲については、 Vivado IDE を参照してください。 予期しない動作を避けるには、 範囲外のしきい値を選択しないよ うにして ください。

データ カウン ト

data_count は、 FIFO 内のワード数を確認します。 データ カウン ト バスの幅は、 最大 log2 (FIFO の深さ ) まで指定できます。 指定した幅が設定可能な最大幅よ り も小さい場合、 バスの下位ビッ トが切り捨てられます。 これらの信号は、 FIFO Generator コアのオプシ ョ ンの出力で、 Vivado IDE を介してイネーブルになり ます。 表 3-2 は、 各 FIFO インプリ メンテーシ ョ ンでサポート されているデータ カウン ト を示しています。 データ カウン トのフラグのレイテンシ動作についての詳細は、 124 ページの 「レイテンシ」 を参照してください。

データ カウン ト (共通クロック FIFO のみ)

データ カウン ト出力 (data_count) は、 共通クロ ッ ク FIFO で使用可能なワード数を正確にレポート します。 データ カウン ト バスの幅は、 最大 log2 (深さ ) まで指定できます。 指定した幅が設定可能な最大幅よ り も小さい場合、 バスの下位ビッ トが切り捨てられます。

たとえば、 最大 3 ビッ ト まで設定できる とする と、 2 ビッ ト を使用するよ う指定できます (FIFO の深さが 8 の場合)。この 2 ビッ トは、 読み出しおよび書き込み操作の FIFO の内容のステータスを知らせながら、 1/4 の解像度で FIFO のワード数を示します。

注記: 読み出しまたは書き込みの操作が clk の立ち上がり ク ロ ッ ク エッジで発生する場合、 データ カウン ト ポートは clk の同じ立ち上がり ク ロ ッ ク エッジでアップデート されます。

表 3-2: インプリ メンテーシ ョ ン別にサポート されているデータ カウン ト

FIFO インプリ メンテーシ ョ ン データ カウン ト サポート

独立クロ ッ ク

ブロ ッ ク RAM ü

分散 RAM ü

ビルト イン

共通クロ ッ ク

ブロ ッ ク RAM ü

分散 RAM ü

シフ ト レジスタ ü

ビルト イン

Page 100: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 100PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

読み出しデータ カウン ト

読み出しデータ カウン ト (rd_data_count) では、 FIFO から読み出されるワード数が不必要に悪く見積もられます。 FIFO がアンダーフローしないよ う、 ワード数が多めにレポート されるこ とはあ り ません (一時的には使用可能なワード数が少なく レポート されているよ うに見えるこ とはあ り ます)。読み出しデータ カウン ト バスの幅は、最大 log2 (読み出しの深さ ) まで指定できます。 指定した幅が設定可能な最大幅よ り も小さい場合、 バスの下位ビッ トが切り捨てられます。

たとえば、 最大 3 ビッ ト まで設定できる とする と、 2 ビッ ト を使用するよ う指定できます (FIFO の深さが 8 の場合)。この 2 ビッ トは 1/4 の解像度で FIFO のワード数を示します。 また、 読み出しクロ ッ ク ド メ インの FIFO の内容のステータスも通知します。

注記: 読み出し操作が rd_clk/clk の立ち上がり ク ロ ッ ク エッジで発生する場合、 読み出しは次のクロ ッ ク エッジの rd_data_count 信号に反映されます。wr_clk/clk/clk ク ロ ッ ク ド メ インの書き込み操作が rd_data_count に反映されるまで何クロ ッ ク サイクルかかかる可能性があ り ます。

書き込みデータ カウン ト

書き込みデータ カウン ト (wr_data_count) は、 FIFO に書き込まれるワード数を不必要に悪く見積も り ます。 FIFO がオーバーフローしないよ う、 ワード数が少なく レポート されるこ とはあ り ません (一時的に FIFO のワード数が多めにレポート されているよ うに見えるこ とはあ り ます)。 書き込みデータ カウン ト バスの幅は、 最大 log2 (書き込みの深さ ) まで指定できます。 指定した幅が設定可能な最大幅よ り も小さい場合、 バスの下位ビッ トが切り捨てられます。

たとえば、最大 3 ビッ ト まで設定できる とする と、 2 ビッ ト を使用できます (FIFO の深さが 8 の場合)。 この 2 ビッ トは 1/4 の解像度で FIFO のワード数を示します。 また、 書き込みクロ ッ ク ド メ インの FIFO の内容のステータスも通知します。

注記: 書き込み操作が wr_clk/clk の立ち上がり ク ロ ッ ク エッジで発生する場合、 書き込みは次のクロ ッ ク エッジの wr_data_count 信号に反映されます。rd_clk/clk/clk ク ロ ッ ク ド メ インの読み出し操作が wr_data_count に反映されるまで何クロ ッ ク サイクルかかかる可能性があ り ます。

First-Word Fall-Through (FWFT) モードのデータ カウン ト

次のデータ ワードを要求する前に読み出す機能を提供する First-Word Fall-Through (FWFT) モードのインプリ メンテーシ ョ ンは、 FIFO の深さを読み出しワードで 2 ワード分増やします。 このコンフ ィギュレーシ ョ ンを使用する と、FIFO Generator コアで次の 2 つの方法でデータ カウン トが生成できるよ うにな り ます。

• 概算のデータ カウン ト

• さ らに正確なデータ カウン ト (追加ロジッ クを使用)

概算のデータ カウン ト

概算のデータ カウン ト動作は、 独立クロ ッ クのブロ ッ ク RAM および分散 RAM FIFO の Vivado IDE でのデフォルト オプシ ョ ンです。 この機能は、 共通クロ ッ ク FIFO では使用できません。 wr_data_count および rd_data_count の幅は、 FWFT モード以外のコンフ ィギュレーシ ョ ンと同じですが (それぞれに log2 (書き込みの深さ ) および log2 (読み出しの深さ ))、 レポート されるデータ カウン トは、 FIFO の実際のフルの深さがサポート されていないので、 概算になり ます。

このオプシ ョ ンを選択する と、 wr_data_count および rd_data_count で特定のビッ ト を使用して、 たとえば、1/2 フル、 1/4 フルなどの FIFO のステータスを概算値で示すこ とができます。

たとえば、 深さが 16、 読み出しおよび書き込みの対称ポートの幅、 FWFT モードが選択されている FIFO の場合、 実際の FIFO の深さは 15 から 17 に増えます。 概算のデータ カウン ト を使用する と きは、 wr_data_count および rd_data_count の幅は 4 ビッ ト 、 最大値は 15 です。 このオプシ ョ ンを選択する と、 データ カウン トの MSB ビット をアサート して、 FIFO がほぼ 1/2 フルだと示すこ とができます。

Page 101: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 101PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

さらに正確なデータ カウン ト (追加ロジックを使用)

この機能は、 Vivado IDE で [More Accurate Data Counts] (追加ロジッ クを使用) が選択されている と、 イネーブルになり ます。 このコンフ ィギュレーシ ョ ンでは、 FWFT モードで大き く した深さに合わせるため、 正確なデータ カウントが出力されるよ うに、 wr_data_count、 rd_data_count、 および data_count の深さはそれぞれ、 log2(書き込みの深さ )+1、 log2(読み出しの深さ )+1、 log2(深さ )+1 になり ます。

重要: このオプシ ョ ンを選択する場合、 wr_data_count、 rd_data_count、 および data_count でビッ ト を使用して、 たとえば、 1/2 フル、 1/4 フルなどの FIFO のステータスを概算で示すこ とはできません。

たとえば、 深さが 16、 読み出しおよび書き込みの対称ポートの幅、 FWFT モードが選択されている独立クロ ッ ク FIFO の場合、 実際の FIFO の深さは 15 から 17 に増えます。 正確なデータ カウン ト を使用する と きは、wr_data_count および rd_data_count の幅は 5 ビッ ト 、 最大値は 31 です。 このオプシ ョ ンを選択する と、 データ カウン トの MSB ビッ トおよび MSB から 1 を引いたビッ ト をアサート して、 FIFO が少なく と も 1/2 フルだと示す必要があ り ます。

データ カウン トの動作

[More Accurate Data Counts] (追加ロジッ クを使用) を選択した FWFT インプリ メンテーシ ョ ンの場合、 FIFO にワードがある と き data_count が正確になり ます。 ただし、 FIFO が空に近かったり、 ほぼ空の場合、 または空の FIFO に最初の書き込みが実行されたと きは例外です。 これらの例外では、 data_count に最大で 2 ワードまでのずれが出て、 不正確になる可能性があ り ます。

表 3-3 は、 FIFO が空のと きの data_count の値を定義しています。

書き込みインターフェイスの視点からみる と、 data_count は常に正確で、 FIFO に書き込みがある とすぐに最初のワードがレポート されます。 と ころが読み出しインターフェイスからの視点からみる と、 almost_empty および empty の両方がディアサート されるまで、 data_count の出力は、 最大で 2 ワードまで値が余分にレポート される可能性があ り ます。 これは、 FWFT の FIFO でディアサート される empty のレイテンシが原因です (表 3-18 を参照)。このレイテンシが原因で、 書き込まれてはいるものの、 まだ読み出しの準備が整っていない可能性のあるワードが data_count に反映されます。

読み出しインターフェイスの視点からみる と、 データ カウン トは、 empty がディアサート される と、 大き目の数値がレポート されていたのが、 正確な値がレポート されるよ う遷移していきます。 この遷移は almost_empty がディアサートする と完了します。 almost_empty がディアサートする前に、 data_count 信号が次の動作をする可能性があ り ます。

• 読み出しインターフェイスの視点からみる と、 data_count は最大 2 ワードまで多めに値がレポート される可能性があ り ます。

書き込みデータ カウン トの動作

[More Accurate Data Counts] (追加ロジッ クを使用) を選択した FWFT インプリ メンテーシ ョ ンであっても、wr_data_count は FIFO に書き込まれているワード数の見積も りが不必要に悪くな り ます。 ただし、 この機能を追加する と、 FIFO が空のと き、 または空に近いか、 ほぼ空のと き、 wr_data_count では最大 2 ワードまで値が多めにレポート されます (読み出しおよび書き込みのポート アスペク ト比によって、 1 から 16 ワードまで)。

表 3-3 は、 FIFO が空のと きの wr_data_count の値を定義しています。

wr_data_count は、 empty がディアサート される と、 読み出しワードが 2 ワード余分にレポート される状態から遷移し離れていきます。 この遷移は almost_empty がディアサート してから数クロ ッ ク サイクル経過する と完了します。 この遷移の前は、 wr_data_count は常に少なく と も読み出しワードが 2 ワード余分にレポート されるので注意してください。 この遷移中に、 wr_data_count 信号にはいつもは見られない、 次のよ うな動作が見られる可能性があ り ます。

• wr_data_count は、 読み出し操作が実行されていなくても減る可能性があ り ます。

• wr_data_count は、 書き込み操作が実行されても増えない可能性があ り ます。

注記: リ セッ ト中、 wr_data_count および data_count の値は 0 に設定されます。

Page 102: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 102PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

重要: rd_data_count または wr_data_count がイネーブルのと き、非対称の共通クロ ッ クのブロ ッ ク RAM FIFO に対し常に追加ロジッ クが使用されます。

書き込みの深さ と読み出しの深さの比率にどの値が設定されていても、 [Use Extra Logic] が設定されていても されていなくても、 FIFO が空のと き (書き込みが実行されない場合) の rd_data_count の値は 0 です。

操作例

図 3-12 は、 書き込みおよび読み出しのデータ カウン ト を表しています。 wr_en がアサート され、 full がディアサート される と、 wr_data_count が増加します。 同様に、 rd_en がアサート され、 empty がディアサート されると、 rd_data_count が増加します。

注記: 図 3-12 の最初の部分で、 3 回目の立ち上がり ク ロ ッ ク エッジで書き込み操作が実行されますが、 次のクロ ック サイクルが完了するまでは wr_data_count には反映されません。 同様に、 読み出し操作の後 1 ク ロ ッ ク サイクルが完了する と、 rd_data_count が遷移します。

表 3-3: 空の FIFO の wr_data_count/data_count 値

書き込みの深さ読み出しの深さの比率

wr_data_count の概算値 wr_data_count の正確な値 data_count の正確な値

1:1 0 2 2(1)

1:2 0 1(1)なし

1:4 0 0 なし

1:8 0 0 なし

2:1 0 4 なし

4:1 0 8 なし

8:1 0 16 なし

注記:1. これは予期される値です。 ただし FIFO が空に近いと き、 または empty および almost_empty がディアサート されるまでは、 最

大 2 ワードまで多く レポート される可能性があ り ます。

X-Ref Target - Figure 3-12

図 3-12: 独立クロック FIFO の書き込みおよび読み出しデータ カウン ト

Page 103: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 103PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

非対称アスペク ト比

表 3-4 は、 非対称アスペク ト比のサポート をま とめたものです。

非対称アスペク ト比を使用する と、 FIFO の深さを入力と出力とで変えて設定できます。 書き込み vs 読み出しのアスペク ト比には、 1:8、 1:4、 1:2、 1:1、 2:1、 4:1、 8:1 がサポート されています。 この機能は、 Vivado IP カタログを使用して FIFO をカスタマイズする と きに、 書き込みと読み出しに幅をそれぞれ選択する と イネーブルになり ます。 デフォルトでは、 書き込み幅および読み出し幅は同じ値に設定されます (アスペク ト比が 1:1 の場合)。 ただし、 1:8 から 8:1 までのアスペク ト比がサポート されているので、 FIFO の出力の深さは、 入力の深さ、 書き込み幅、 および読み出し幅から自動的に計算されます。

非対称アスペク ト比の場合、 full および empty のフラグは 1 ワードが完全に書き込まれる と きまたは読み出される ときにのみ、 アクティブになり ます。 FIFO は部分的なワードにはアクセスできません。 たとえば FIFO がいっぱいだと想定する と、 書き込み幅が 8 ビッ ト 、 読み出しの幅が 2 ビッ トの場合、 full がディアサート され、 書き込み操作が受諾される前に、 有効な読み出し操作を 4 つ完了させておく必要があ り ます。 書き込みデータ カウン トは書き込みポートの比率にしたがって FIFO のワード数を表し、読み出しデータ カウン トは読み出しポートの比率にしたがって FIFO のワード数を表します。

注記: 書き込み幅が読み出し幅よ り小さい非対称アスペク ト比の場合 (1:8、 1:4、 1:2)、 まず最上位ビッ トが読み出されます (図 3-13 および 図 3-14 を参照)。

図 3-13 は、 アスペク ト比が 1:4 の FIFO (書き込み幅 = 2、 読み出し幅 = 8) の例です。 この図では、 読み出し操作が実行可能になる前に、 書き込み操作が 4 回連続で実行されています。 最初の書き込み操作は 01、 その後 00、 01、 10 と続きます。 メモ リは左から右へ (MSB から LSB) へといっぱいになっていきます。 読み出し操作が実行される と、 受信データは 01_00_11_10 になり ます。

図 3-14 は、 アスペク ト比が 1:4 の FIFO の din、 dout およびハンドシェイ ク信号を示しています。 4 ワードが FIFO に書き込まれた後、 empty がディアサート されます。 次に、 読み出し操作が 1 回実行され、 empty がも う一度ディアサート されます。

表 3-4: インプリ メンテーシ ョ ン別にサポート されている非対称アスペク ト比

FIFO インプリ メンテーシ ョ ン 非対称アスペク ト比のサポート

独立クロ ッ ク

ブロ ッ ク RAM ü

分散 RAM

ビルト イン (UltraScale のみ) ü

共通クロ ッ ク

ブロ ッ ク RAM ü

分散 RAM

シフ ト レジスタ

ビルト イン (UltraScale のみ) ü

X-Ref Target - Figure 3-13

図 3-13: 1:4 のアスペク ト比: データの順序

ReadOperation

110001

0001

01

MSB LSB

01 00 11 1001

00

11

10

Time

WriteOperation

10110001

Page 104: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 104PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

図 3-15 は、 アスペク ト比が 4:1 の FIFO を示しています (書き込み幅 = 8、 読み出し幅 = 2)。 この例では 1 回の書き込み操作が実行され、 その後読み出し操作が 4 回実行されます。 書き込み操作は 11_00_01_11 です。 読み出し操作が実行される と、 データは左から右 (MSB から LSB) へ受信されます。 図にあるよ うに、 最初の読み出し操作のデータは 11 になり、 その後 00、 01、 11 と続きます。

図 3-16 は、 アスペク ト比が 4:1 の FIFO の din、 dout およびハンドシェイ ク信号を示しています。 1 回の書き込みが実行された後、 FIFO によ り empty がディアサート されます。それ以上書き込みが実行されないので、読み出しが 4 回実行された後に FIFO によ り empty が再びアサート されます。

X-Ref Target - Figure 3-14

図 3-14: 1:4 のアスペク ト比: ステータス フラグの動作

X-Ref Target - Figure 3-15

図 3-15: 4:1 のアスペク ト比: データの順序

ReadOperation

00 01 11

01 11

11

MSB LSB

WriteOperation

11 00 01 11 11

00

01

11

Time

Page 105: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 105PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

非対称アスペク ト比および FWFT

FWFT FIFO は、 標準 FIFO と比較する と、 読み出しポートに読み出しワードが 2 つ余分にあ り ます。 書き込み vs 読み出しのアスペク ト比が 1 (1:1、 2:1、 4:1、 および 8:1) に等しい場合、 FWFT インプリ メンテーシ ョ ンによ り FIFO に書き込むこ とができるワード数は、 depth_ratio*2 (深さ比 = 書き込みの深さ /読み出しの深さ ) 分増えます。 書き込み vs 読み出しのアスペク ト比が 1 (1:2、 1:4、 および 1:8) 未満の場合、 読み出しワードを 2 つ余分に追加したと きにのみ、 書き込みワードの 1 ワードの分数値になり ます。 このよ うな部分的なワードを作成する と、 FIFO の prog_empty および wr_data_count 信号の動作が前段で説明された動作とは異なってきます。

プログラマブル Empty

一般的には、 prog_empty は、 FIFO の読み出し可能なワード数がこの信号のアサート しきい値以下のと き、 アサート されます。 ただし、書き込み vs 読み出しのアスペク ト比が 1 未満のと きは (読み出しおよび書き込みのクロ ッ ク周波数による )、 prog_empty がこのルールに違反する可能性があ り ますが、 違反が起きるのは、 empty がアサート されている間のみです。 このコンディシ ョ ンを避けるには、 プログラマブル empty のアサートのしきい値を 3*depth_ratio*frequency_ratio (depth_ratio = 書き込みの深さ /読み出しの深さ frequency_ratio = 書き込みのクロ ッ ク周波数/読み出しのクロ ッ ク周波数) に設定します。 プログラマブル empty のアサートのしきい値がこの値未満に設定されている場合、 empty がアサート される と prog_empty がアサートする可能性があ り ます。

書き込みデータ カウン ト

一般的に、 wr_data_count は、 FIFO に書き込まれているワード数を不必要に悪く見積も り、 また FIFO をオーバーフローさせないため、 FIFO のワード数が少なく レポート されないよ うにします。 ただし、 書き込み vs 読み出しのアスペク ト比が 1 未満のと き、 読み出しおよび書き込みの操作によって FIFO に既にある書き込みワードが部分的になる と、 FIFO のワード数が少なく レポート される可能性があ り ます。 この動作は、 FIFO があと 1、 2 ワードでいっぱいになる と きに最も重要になり ます。 というのも、 この ステートでは、 wr_data_count でカウン トか少なく レポート され、 FIFO がいっぱいになる と、 あてにならなくなるからです。 このコンフ ィギュレーシ ョ ンでは、FIFO への書き込み操作をゲート化するため、 full フラグを使用する必要があ り ます。

ブロック RAM および FIFO マクロのエンベデッ ド レジスタ

ブロ ッ ク RAM マクロおよびビルト イン FIFO マクロにはエンベデッ ド されたレジスタがビルト インされていて、 このレジスタは、 データをパイプライン化し、 マクロのタイ ミ ングを改善する目的で使用できます。 コンフ ィギュレーシ ョ ンによ り ますが、 この機能は、 FIFO コアに 1 追加レイテンシを追加するか (dout バスおよび VALID 出力)、

X-Ref Target - Figure 3-16

図 3-16: 4:1 のアスペク ト比: ステータス フラグの動作

Page 106: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 106PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

または FWFT FIFO の出力レジスタをインプリ メン トする目的で使用可能です。 ブロ ッ ク RAM コンフ ィギュレーシ ョ ンの場合は、 タイ ミ ングを改善させる目的で、 汎用インターコネク トからのエンベデッ ド されたレジスタの代わりに、 追加出力レジスタを追加できます。 ビルト イン FIFO の場合は、 エンベデッ ド レジスタのオプシ ョ ンがあ ります。 ブロ ッ ク RAM FIFO の場合は、 プリ ミティブのエンベデッ ド レジスタ、 または汎用インターコネク トからの出力レジスタのいずれかを選択するオプシ ョ ンがあ り ます。

標準 FIFO

エンベデッ ド レジスタを使用して出力パイプライン レジスタを標準 FIFO に追加する場合は、 読み出し中に、 dout および VALID の出力ポートのみが 1 ク ロ ッ ク サイクル分遅れます。図 3-17 にあるよ うに、 これらの追加パイプライン レジスタは常にイネーブルになっています。

ブロック RAM ベースの FWFT FIFO

FWFT FIFO をインプリ メン トするためにエンベデッ ド出力レジスタを使用する と きは、 コアの動作がエンベデッ ド レジスタを使用しないインプリ メンテーシ ョ ンと同じになり ます。

ビルト イン ベースの FWFT FIFO (共通クロックのみ)

FWFT の共通クロ ッ クのビルト イン ベース FIFO でエンベデッ ド出力レジスタを使用する場合は、 エンベデッ ド レジスタによ り出力パイプライン レジスタが FWFT FIFO に追加されます。 dout および VALID 出力ポートは、 7 シリーズで読み出し操作を実行している間、 1 ク ロ ッ ク サイクル遅延します。 図 3-18 にあるよ うに、 これらのパイプライン レジスタは常にイネーブルになっています。 このコンフ ィギュレーシ ョ ンの場合、 エンベデッ ド出力レジスタ機能は、 深さに FIFO マクロを 1 つしか使用しない FIFO でのみ使用可能です。

X-Ref Target - Figure 3-17

図 3-17: ブロック RAM またはビルト イン FIFO の標準モードの読み出し操作(エンベデッ ド レジスタをイネーブルにした状態)

rd_clk

D0 D3

rd_en

dout

empty

almost_empty

underflow

D1 D2

valid

Page 107: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 107PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

共通クロ ッ クのビルト イン FIFO でエンベデッ ド出力レジスタを使用する場合は、 図 3-19 よ うに、 dout リ セッ ト値機能がサポート されます。

UltraScale デザインの場合、 エンベデッ ド レジスタがイネーブルになっていても、 なっていなくても、 読み出し動作は同じです。 プ リ ミ ティブの性質上、 dout 値は読み出し操作の同じクロ ッ ク エッジで取得されます。 図 3-20 は、FWFT 機能がイネーブルになっている UltraScale デバイスで dout を生成する様子を表しています。

ブロック RAM および FIFO マクロのエンベデッ ド レジスタおよびインターコネク ト レジスタ

FIFO Generator には、 タイ ミ ングを改善するため、 ブロ ッ ク RAM ベースの FIFO (共通/独立クロ ッ ク ) エンベデッ ド レジスタ と インターコネク ト レジスタの両方を使用するオプシ ョ ンがあ り ます。 選択されているインターフェイス タイプによって出力に追加されるレイテンシが決ま り ます。 標準のブロ ッ ク RAM FIFO の場合は、 図 3-21 にあるように、 両方のレジスタが選択されている と、 出力に 2 ク ロ ッ ク サイクルのレイテンシが追加されます。

X-Ref Target - Figure 3-18

図 3-18: 7 シリーズでユーザー エンベデッ ド レジスタをイネーブルにした同期ビルト イン FIFO の FWFT 読み出し操作

X-Ref Target - Figure 3-19

図 3-19: 7 シリーズでエンベデッ ド レジスタを使用した共通クロックのビルト イン FIFO での dout リセッ ト値

X-Ref Target - Figure 3-20

図 3-20: UltraScale デバイスでユーザー エンベデッ ド レジスタをイネーブルにした同期ビルト イン FIFO の FWFT 読み出し操作

rd_clk

rd_en

D1 D2 D3 D4 D5dout

empty

valid

underflow

clk

dout Previous value DOUT reset value

Page 108: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 108PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

FWFT でエンベデッ ド レジスタ /インターコネク ト レジスタが使用される場合も、 同じよ うな動作が維持されます。レジスタを 1 つのみ選択する場合に比べ、 rd_en 信号が開始する前に empty によ り さ らに 1 ク ロ ッ ク サイクルのレイテンシが追加されます。 図 3-22 のよ うに、 ブロ ッ ク RAM の場合は、 rd_en が開始する と、 追加レイテンシなしで次の出力がラ ッチされます。

ビルト インのエラー訂正チェ ック

独立クロ ッ クまたは共通クロ ッ クのブロ ッ ク RAM FIFO およびビルト イン FIFO を使用してコンフ ィギュレーシ ョ ンされている FIFO には、 ビルト イン ECC がサポート されています。 ECC がイネーブルになっている と、 FIFO の作成に使用されるブロ ッ ク RAM およびビルト イン FIFO のプリ ミティブが、 フルの ECC モード (エンコーダーとデコーダーの両方がイネーブルになっている ) でコンフ ィギュレーシ ョ ンされ、 FIFO Generator への出力が 2 つ (sbiterr および dbiterr) 追加されます。 これらの出力によ り、 エラーなし、 シングル エラー訂正、 ダブル エラー検出の 3 つの読み出し結果が表されます。 フルの ECC モードでは、 読み出し操作によってメモ リ配列のシングル エラー訂正は実行されず、 dout に訂正されたデータのみが表示されます。

注記: 幅が 64 未満のブロッ ク RAM ベースの FIFO コンフ ィギュレーシ ョ ンでは、 ソフ ト ACC オプシ ョ ンを選択できます。 このオプシ ョ ンでは ECC ロジッ クの構築に汎用インターコネク トが使用されます。 機能性はハード ECC でもソフ ト ECC でも変わりがあ り ません。

図 3-23 には、 FIFO Generator で sbiterr および dbiterr 出力がどのよ うに生成されるのかが示されています。 出力信号は、 OR ゲート を使用して、 FIFO またはブロ ッ ク RAM のプリ ミ ティブからの sbiterr および dbiterr 信号をすべて組み合わせて作成されます。 FIFO プリ ミ ティブは深さでカスケード接続されているので、 sbiterr または dbiterr がアサート される と、 深さでチェーン接続されているビルト イン FIFO マクロまたはブロ ッ ク RAM マクロでエラーが発生している可能性があ り ます。 このため、 これらのフラグには、 FIFO Generator から現在読み出されているデータ、 または読み出し操作とは相関関係があ り ません。 またこのため、 dbiterr がフラグされる と、FIFO 全体のデータが破損し、 ユーザー ロジッ クで適切な措置をと る必要がある と想定します。 たとえば、 dbiterr がフラグされている場合、 ユーザー ロジッ クで、 すべての FIFO 操作を停止して リセッ ト し、 データ転送を再開するのが適切です。

sbiterr および dbiterr 出力は、 レジスタを介さず、 組み合わせて生成されています。 コンフ ィギュレーシ ョ ンされている FIFO で読み出し と書き込みの独立クロ ッ クが使用される場合、書き込みクロ ッ ク ド メ インまたは読み出しクロ ッ ク ド メ インのいずれかから sbiterr および dbiterr は生成されます。書き込みクロ ッ ク ド メ インで生成

X-Ref Target - Figure 3-21

図 3-21: エンベデッ ド レジスタおよびインターコネク ト レジスタが使用されている標準 FIFO の動作

X-Ref Target - Figure 3-22

図 3-22: エンベデッ ド レジスタおよびインターコネク ト レジスタが使用されている FWFT FIFO の動作

Page 109: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 109PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

されたこれらの信号は、 読み出しクロ ッ ク ド メ インで生成された sbiterr および dbiterr 信号と組み合わせる前に同期化します。

ヒン ト : 読み出しクロ ッ ク周波数と書き込みクロ ッ ク周波数が異なるのと、 信号を組み合わせるのに使用される OR ゲートが原因で、sbiterr および dbiterr フラグがアサートする読み出しクロ ッ ク サイクル数はビルト イン FIFO で検出されるエラー数を正確に反映しているわけではあ り ません。

ビルト イン エラー挿入

独立クロ ッ クまたは共通クロ ッ クのブロ ッ ク RAM FIFO およびビルト イン FIFO を使用してコンフ ィギュレーシ ョ ンされている FIFO には、 ビルト イン エラー挿入がサポート されています。 ECC およびエラー挿入がイネーブルになっている と、 FIFO の作成に使用されるブロ ッ ク RAM およびビルト イン FIFO のプリ ミ ティブが、 フルの ECC エラー挿入モードでコンフ ィギュレーシ ョ ンされ、 FIFO Generator への入力が 2 つ (injectsbiterr および injectdbiterr) 追加されます。 これらの入力によ り、 エラーなし挿入、 シングル エラー挿入、 ダブル エラー挿入の 3 つの読み出し結果が表されます。

ECC は、 ECC プリ ミティブの 64 ビッ ト幅のデータで計算されます。 選択されているデータ幅が 64 の倍数 (整数) でない場合 (たとえば、 ECC プリ ミティブのどれかに余分のビッ トがある場合)、 この余分のビッ トでエラーが 1 つ以上発生しているこ とを示すダブル ビッ ト エラー (dbiterr) が出ます。 この場合、 dbiterr 信号の正確さを担保できません。 たとえば、 データ幅が 16 に設定されている と、 ECC プリ ミ ティブの 48 ビッ トは空のままになり ます。余分なビッ トの うち 2 つが破損している と、 実際のユーザー データは破損していなくても、 dbiterr 信号はアサート される可能性があ り ます。

injectsbiterr が書き込み操作でアサート される と、 書き込まれた値の読み出し操作が実行される と きにシングル ビッ ト エラーが挿入され、 sbiterr がアサート されます。 injectdbiterr が書き込み操作でアサート される

X-Ref Target - Figure 3-23

図 3-23: FIFO Generator の sbiterr および dbiterr 出力

Page 110: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 110PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

と、 書き込まれた値の読み出し操作が実行される と きにダブル ビッ ト エラーが挿入され、 dbiterr がアサート されます。 injectsbiterr および injectdbiterr の両方が書き込み操作でアサート される と、 書き込まれた値の読み出し操作が実行される と きにダブル ビッ ト エラーが挿入され、 dbiterr がアサート されます。 図 3-24 には、FIFO Generator で sbiterr および dbiterr 出力がどのよ うに生成されるのかが示されています。

注記: ECC オプシ ョ ンが使用されている場合、 リセッ トは FIFO/BRAM マクロではサポート されません。 このため、FIFO コアの出力 (dout、 dbiterr、 および sbiterr) はリセッ トの影響を受けず、 前の値を維持します。 詳細は、114 ページの 「リセッ ト 」 を参照してください。

クロッキング

各 FIFO コンフ ィギュレーシ ョ ンには、 14 ページの表 1-3 に定義されているよ うに使用可能な機能セッ トがあ り ます。

独立クロック : ブロック RAM および分散 RAM図 3-25 には、 独立クロ ッ クの FIFO の機能インプリ メンテーシ ョ ンが説明されています。 このインプリ メンテーシ ョ ンでは、 メモ リ、 書き込みおよび読み出しポインターのカウンター、 ク ロ ッ ク ド メ イン間の同期化用のバイナリ とグレイ コードの変換、 ステータス フラグの計算用のロジッ クに、ブロ ッ ク RAM または分散 RAM が使用されています。

X-Ref Target - Figure 3-24

図 3-24: エラー挿入および訂正

Page 111: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 111PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

この FIFO は読み出しの独立クロ ッ ク (rd_clk) と書き込みの独立クロ ッ ク (wr_clk) をサポートするために設計されています。周波数または位相に関して rd_clk と wr_clk とが関係している必要があ り ません。表 3-5 には、各クロ ッ ク ド メ インのみで有効な FIFO インターフェイス信号がまとめられています。

X-Ref Target - Figure 3-25

図 3-25: 独立クロック ド メインの FIFO の機能インプリ メンテーシ ョ ン

表 3-5: インターフェイス信号および対応する クロック ド メイン

wr_clk rd_clk

din dout

wr_en rd_en

full empty

almost_full almost_empty

prog_full prog_empty

wr_ack valid

overflow underflow

Page 112: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 112PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

独立クロ ッ クを使用した FIFO コアの場合、書き込み操作と読み出し操作およびステータス フラグとのタイ ミ ングの関係は 2 つのクロ ッ クの関係の影響を受けます。 たとえば、 空の FIFO への書き込みと empty のディアサート との間のタイ ミ ングは、 書き込みクロ ッ ク と読み出しクロ ッ ク との位相および周波数の関係によって決ま り ます。 詳細は、 86 ページの 「同期化に関する注意事項」 を参照してください。

独立クロック : ビルト イン FIFO図 3-26 には、 ビルト イン FIFO プリ ミティブを使用した独立クロ ッ クの FIFO の機能インプリ メンテーシ ョ ンが説明されています。 このデザイン インプリ メンテーシ ョ ンは、 カスケード接続されたビルト イン FIFO プリ ミティブとハンドシェイ ク ロジッ ク とで構成されています。 ビルト イン FIFO プリ ミ ティブの数は、 要求されている FIFO の幅と深さによって変わり ます。

この FIFO は読み出しの独立クロ ッ ク (rd_clk) と書き込みの独立クロ ッ ク (wr_clk) をサポートするために設計されています。周波数または位相に関して rd_clk と wr_clk とが関係している必要があ り ません。表 3-6 には、各クロ ッ ク ド メ インのみで有効な FIFO インターフェイス信号がまとめられています。

wr_data_count rd_data_count

wr_rst rd_rst

injectsbiterr sbiterr

injectdbiterr dbiterr

X-Ref Target - Figure 3-26

図 3-26: ビルト イン FIFO の機能インプリ メンテーシ ョ ン

表 3-6: インターフェイス信号および対応するクロック ド メイン

wr_clk rd_clk

din dout

wr_en rd_en

full empty

prog_full prog_empty

wr_ack valid

overflow underflow

表 3-5: インターフェイス信号および対応する クロック ド メイン (続き)

wr_clk rd_clk

Page 113: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 113PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

独立クロ ッ クを使用した FIFO コアの場合、書き込み操作と読み出し操作およびステータス フラグとのタイ ミ ングの関係は 2 つのクロ ッ クの関係の影響を受けます。 たとえば、 空の FIFO への書き込みと empty のディアサート との間のタイ ミ ングは、 書き込みクロ ッ ク と読み出しクロ ッ ク との位相および周波数の関係によって決ま り ます。 詳細は、 86 ページの 「同期化に関する注意事項」 を参照してください。

ビルト イン FIFO コンフ ィギュレーシ ョ ンの場合、 FIFO マクロのビルト イン ECC 機能が提供されています。 詳細は、 “ビルト インのエラー訂正チェッ ク ,” page 108 を参照してください。

注記: ECC オプシ ョ ンが選択されている場合、 深さのビルト イン FIFO プリ ミティブの数およびすべての出力レイテンシは異なり ます。 レイテンシの詳細は、 124 ページの 「レイテンシ」 を参照してください。

たとえば、 ユーザー定義の深さが 4096、 幅が 9、 ECC が選択されていない場合は、 ビルト イン FIFO プリ ミ ティブの数は 4092/512 = 8 になり ます。 ただし、 ECC が同じコンフ ィギュレーシ ョ ンに選択されている場合は、 深さのビルトイン FIFO プリ ミティブの数は 4092/512 = 8 になり ます。

共通クロック : ビルト イン FIFOFIFO Generator コアでは、 共通クロ ッ クのビルト イン FIFO プリ ミ ティブを使用した FIFO コアがサポート されます。このサポートによ り、 シングル ク ロ ッ ク インターフェイスのみが必要でも、 ビルト イン FIFO を使用する機能が利用できます。 ビルト イン FIFO を使用した共通クロ ッ クのコンフ ィギュレーシ ョ ンの動作は、 共通クロ ッ ク (clk) に関連したすべての操作を除き、 ビルト イン FIFO を使用した独立クロ ッ ク コンフ ィギュレーシ ョ ンと同じです。 詳細は、 112 ページの 「独立クロ ッ ク : ビルト イン FIFO」 を参照してください。

共通クロック FIFO: ブロック RAM および分散 RAM図 3-27 には、 メモ リにブロ ッ ク RAM または分散 RAM を使用した共通クロ ッ クの FIFO の機能インプリ メンテーシ ョ ンが説明されています。 すべての信号はシングル ク ロ ッ ク入力に同期しています (clk)。 このデザインによ り、書き込みおよび読み出しのポインターのカウンター、 およびステータス フラグを計算するためのロジッ クがインプリ メン ト されます。 オプシ ョ ンの同期リセッ ト信号 (srst) または非同期のリセッ ト信号 (rst) も使用できます。

injectsbiterr sbiterr

injectdbiterr dbiterr

X-Ref Target - Figure 3-27

図 3-27: ブロック RAM および分散 RAM を使用した共通クロック FIFO の機能インプリ メンテーシ ョ ン

表 3-6: インターフェイス信号および対応するクロック ド メイン (続き)

Page 114: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 114PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

共通クロック FIFO: シフ ト レジスタ

図 3-28 には、 メモ リにシフ ト レジスタを使用した共通クロ ッ クの FIFO の機能インプリ メンテーシ ョ ンが説明されています。 すべての操作は同じクロ ッ ク入力に同期しています (clk)。 このデザインによ り、 書き込みおよび読み出しのポインターのシングルアップ/ダウン カウンター、 およびステータス フラグを計算するためのロジッ クがインプリ メン ト されます。

リセッ ト

FIFO Generator では、 アサート されたと きにすべてのカウンターおよび出力レジスタを リセッ トする リセッ ト入力が提供されています。 ブロ ッ ク RAM または分散 RAM インプリ メンテーシ ョ ンの場合、 FIFO のリセッ トは不要で、 リセッ ト ピンを FIFO でディ スエーブルにできます。 リセッ ト オプシ ョ ンには非同期と同期の 2 つのオプシ ョ ンがあり ます。

非同期リセッ ト

非同期リセッ ト入力 (rst) は、 アサート される と、 非同期にすべてのカウンター、 出力レジスタ、 メモ リが リセット されます。 リセッ トがインプリ メン ト されている と、 FIFO の内部ロジッ クを既知のステートに設定するため、 リセッ トはそれぞれのクロ ッ ク ド メ インのコアに内部同期します。 この同期化ロジッ クによ り、 グ リ ッチおよびメ タステーブル動作を避けながら、 コア内部のリセッ ト ロジッ クのタイ ミ ングが正し く リセッ ト されます。

重要: リ セッ トが適用される と ク ロ ッ クは使用可能になる必要があ り ます。 何らかの理由でリセッ ト時にクロ ッ クが失われる と、 ク ロ ッ クが使用可能になったと きにリセッ ト を再び適用する必要があ り ます。 この要件に違反する と予期しない動作が発生する可能性があ り ます。 場合によってはビジー信号が固まってしまい、 FPGA を リ コンフ ィギュレーシ ョ ンする必要が出てきます。

注記: 非同期リセッ トが最低速のクロ ッ クで 1 ク ロ ッ ク サイクルかかり、 最低速のクロ ッ クの立ち上がりエッジに非常に近い位置でアサート される場合、 予期しない動作が発生して リセッ トが正し く検出されない可能性があ り ます。

X-Ref Target - Figure 3-28

図 3-28: シフ ト レジスタを使用した共通クロック FIFO の機能インプリ メンテーシ ョ ン

Page 115: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 115PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

そのよ うな状況を避けるには、 非同期リセッ ト を、 最低速のクロ ッ ク サイクルで少なく と も 3 ク ロ ッ ク サイクル間、 または C_SYNCHRONIZER_STAGE で (このうちの値が大きいほう を選択) アサートするこ とを推奨します (このガイ ドにはリセッ トは 1 ク ロ ッ ク サイクルだと説明する箇所があ り ますが)。X-Ref Target - Figure 3-29

図 3-29: 安全回路を使用した FIFO の非同期リセッ トのタイ ミング

For AXI Interface, the *_axi_**valid/ready must be used outside the No Access Zone window only*_axi_**valid: * --> s_axi_/m_axi_; ** --> tvalid/awvalid/wvalid/bvalid/arvalid/rvalid

*_axi_**ready: * -->s_axi_/m_axi_; ** --> tready/awready/wready/bready/arready/rready

Page 116: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 116PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

注記: No Access Zone (アクセスなしのゾーン) にある間は、 すべての FIFO を無効とみなす必要があ り ます。

注記: No Access Zone (アクセスなしのゾーン) にある間は、 すべての FIFO を無効とみなす必要があ り ます。

共通/独立クロック : ブロック RAM、 分散 RAM、 シフ ト レジスタの FIFO

非同期リセッ ト を使用する と きは 2 つの連続する リセッ トの間に少なく と も 6 ク ロ ッ クの間隔が開いているこ とを確認します (独立クロ ッ クの場合はよ り低速なクロ ッ クにな り ます)。 非同期リセッ ト を使用したブロ ッ ク RAM の場合は、 ブロ ッ ク RAM の新入力信号のアサートおよびディアサートが同時に発生するよ うにするため、 追加の安全回路オプシ ョ ンがあ り ます。 安全回路オプシ ョ ンを使用する と きは、 wr_rst_busy 信号が 1 から 0 へと遷移するのを待ってから、 次のリセッ ト を適用するか、 書き込み操作を開始します。 DRC 警告がブロッ ク RAM に対して表示された場合、 安全回路を使用した非同期リセッ トのフォルス警告とみなされます。 FIFO Generator の安全回路オプシ ョンを選択する場合は、 リセッ ト (rst) 信号を書き込み/読み出しクロ ッ クで少なく と も 3 ク ロ ッ ク サイクル間 High (ロジッ ク 1) にアサートするか、 C_SYNCHRONIZER_STAGE を High (ロジッ ク 1) にアサートするよ うにします (いずれか低速のほう を選択)。 AXI インターフェイスの場合は、 wr_rst_busy がコアの内部でアサート され、 ト ランザクシ ョ ンは *_axi_**valid/*_axi_**ready プロ ト コルに基づきます。

表 3-7 では、 ブロ ッ ク RAM、分散 RAM、 シフ ト レジスタの FIFO の電源投入およびリセッ ト ステート中の出力ポートの値が定義されています。 アンダーフロー信号は rd_en に依存する点に注意してください。 rd_en がアサート され、 FIFO が空の場合は、 アンダーフローがアサート されます。 オーバーフロー信号は wr_en に依存します。 wr_en がアサート され、 FIFO がいっぱいの場合は、 オーバーフローがアサート されます。

X-Ref Target - Figure 3-30

図 3-30: 安全回路を使用しない FIFO の非同期リセッ トのタイ ミング

For AXI Interface, the *_axi_**valid/ready must be used outside the No Access Zone window only

*_axi_**valid: * --> s_axi_/m_axi_; ** --> tvalid/awvalid/wvalid/bvalid/arvalid/rvalid*_axi_**ready: * -->s_axi_/m_axi_; ** --> tready/awready/wready/bready/arready/rready

Page 117: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 117PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

これらの FIFO コンフ ィギュレーシ ョ ンには、1 にリセッ トする full フラグと 0 にリセッ トする full フラグの 2 つの非同期リセッ ト動作があ り ます。 FIFO のリセッ ト要件と動作は、 full フラグにどの値が選択されているかによって異なり ます。

重要: リ セッ トはエッジ センシティブであ り、 レベル センシティブではあ り ません。 同期化ロジッ クによ り、 rst の立ち上がりエッジが検索され、 コアの内部リセッ トが作成されます。 非同期リセッ トがアサート される とまもなく、 コアはあらかじめ決められている リセッ ト ステートに入り ます。 これはどのクロ ッ クの ト グルにも依存していません。 リセッ ト同期化ロジッ クは、 異なるクロ ッ ク ド メ インのロジッ クが同時にリセッ ト モードから解除されるよ うに使用されます。 これは非同期リセッ ト適切なクロ ッ ク ド メ インにディアサート し、 それを同期化するこ とで達成できます。 こ うするこ とでグ リ ッチと メ タステーブル動作を回避できます。 この同期化には、 読み出し と書き込みのそれぞれのクロ ッ クの立ち上がりエッジで非同期リセッ トが検出された後、 3 ク ロ ッ ク間かかり ます (書き込みまたは読み出し )。 予期しない動作を避けるには、 リセッ ト パルス要件に従う こ とを推奨しますが、 rst が High にアサート されている と きに、 wr_en/rd_en を駆動またはト グルするこ とは推奨しません。

値 1 にリセッ ト される full フラグ

このコンフ ィギュレーシ ョ ンでは、 FIFO で非同期のリセッ トパルスの最小値を 1 ク ロ ッ ク サイクル (書き込みまたは読み出しクロ ッ ク サイクルの遅い方) にする必要があ り ます。 書き込みクロ ッ ク サイクルの立ち上がり ク ロ ッ ク エッジでリセッ トが検出された後、 正し く リセッ ト同期を完了させるには、 書き込みクロ ッ クで 3 ク ロ ッ ク サイクル必要です。 この間に、 full、 almost_full、 prog_full フラグがアサート されます。 リセッ トがディアサートされてから、 5 ク ロ ッ ク サイクル (wr_clk/clk) 経過する と、 これらのフラグはディアサート され、 FIFO で書き込み操作が受け入れられます。

FIFO コアがリセッ ト ステートにある と き、 書き込み操作が発生しないよ うにするため、 full および almost_full フラグがアサート されます。 FIFO がリセッ ト ステート を終了し、 書き込みの準備が整う と、 full および almost_full フラグはディアサート されます。 非同期リセッ トがディアサート された後、 約 5 ク ロ ッ ク サイクル経過する と、 このフラグのディアサートが実行されます。

注記: エンベデッ ド レジスタ オプシ ョ ンは安全回路をイネーブルにするために選択する必要があ り ます。

表 3-7: ブロック RAM、 分散 RAM、 シフ ト レジスタの FIFO の非同期リセッ ト値

信号値 1 にリセッ ト される full フ

ラグ値 0 にリセッ ト される

full フラグ電源投入

dout dout リ セッ ト値または 0 dout リ セッ ト値または 0

リ セッ ト値と同じ

full 1(1) 0 0

almost full 1(1) 0 0

empty 1 1 1

almost empty 1 1 1

valid 0 (アクティブ High) または

1 (アクティブ Low)0 (アクティブ High) または 1 (アクティブ Low)

0 (アクティブ High) または 1 (アクティブ Low)

wr_ack 0 (アクティブ High) または 1 (アクティブ Low)

0 (アクティブ High) または 1 (アクティブ Low)

0 (アクティブ High) または 1 (アクティブ Low)

prog_full 1(1) 0 0

prog_empty 1 1 1

rd_data_count 0 0 0

wr_data_count 0 0 0

注記:1. リ セッ トがアサート される と、 リセッ ト中に FIFO に書き込みが実行されるのを防ぐため、 full フラグがアサート されます。

Page 118: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 118PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

動作例については、図 3-31 および 図 3-32 を参照してください。 このコンフ ィギュレーシ ョ ンの電源投入値はリセット ステート値とは異なる点に注意してください。

図 3-31 はリセッ ト パルスが 1 ク ロ ッ ク サイクル続いた場合のサンプルのタイ ミ ング図です。

図 3-32 はリセッ ト パルスが 1 ク ロ ッ ク サイクルよ り も長く続いた場合のサンプルのタイ ミ ング図です。

値 0 にリセッ ト される full フラグ

このコンフ ィギュレーシ ョ ンでは、 正し く リセッ ト非同期を完了するために、 FIFO で非同期のリセッ トパルスの最小値を 1 ク ロ ッ ク サイクル (書き込みまたは読み出しクロ ッ ク サイクルの遅い方) にする必要があ り ます。 リセッ ト時に、 full、 almost_full、 prog_full フラグがディアサート されます。 FIFO がリセッ ト同期ステート を終了する と、 FIFO で書き込みの準備が整います。 非同期リセッ トがアサート された後、 約 5 ク ロ ッ ク サイクル経過すると、 この状態になり ます。 動作例については、 および 図 3-33 を参照してください。

X-Ref Target - Figure 3-31

図 3-31: リセッ ト パルスが 1 クロック続いた場合の Full フラグの値が 1 のブロック RAM、 分散 RAM、 シフ ト レジスタ

X-Ref Target - Figure 3-32

図 3-32: リセッ ト パルスが 1 クロックよりも長く続いた場合の Full フラグの値が 1 のブロック RAM、分散 RAM、 シフト レジスタ

almost_full

wr_clk

full

prog_full

In Reset State Out of Reset State

rst

Write domain in reset state Write domain out of reset state

wr_en

wr_ack

valid

rd_clk

Read domain in reset state Read domain out of reset state

rd_en

almost_full

wr_clk

full

prog_full

No Write Zone

rst

Page 119: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 119PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

共通/独立クロック : 7 シリーズのビルト イン FIFO

表 3-8 では、 ビルト イン FIFO の電源投入およびリセッ ト ステート中の出力ポートの値が定義されています。 dout リ セッ ト値は、 エンベデッ ド レジスタ オプシ ョ ンが選択された状態の共通クロ ッ クのビルト イン FIFO でのみサポート されています。 ビルト イン FIFO では、 読み出しおよび書き込みで少なく と も 5 ク ロ ッ ク サイクルの非同期リセッ ト パルスが必要です。 すべてのビルト イン FIFO をコンフ ィギュレーシ ョ ンで同じになるよ うに、 読み出しおよび書き込みクロ ッ クで少なく と も 5 ク ロ ッ ク サイクル間、 非同期リセッ ト パルスを High にするこ とを推奨します。ただし、 FIFO Generator コアには、 すべてのビルト イン FIFO に対して、 リセッ ト パルスが読み出しおよび書き込みクロ ッ クで 5 ク ロ ッ ク間 High になるよ うにする メカニズムがあ り ます。

リセッ ト中に、 rd_en および wr_en ポート をディアサートする必要があ り ます (読み出しまたは書き込み操作は実行できません)。 リセッ ト をアサートする と、 full および prog_full フラグがディアサート され、 empty および prog_empty フラグがアサート されます。 非同期リセッ ト を解放した後、 コアはリセッ ト ステート を終了し、 書き込みの準備が整います。 動作例については、 および 図 3-34 を参照してください。

アンダーフロー信号は rd_en に依存する点に注意してください。 rd_en がアサート され、 FIFO が空の場合は、 アンダーフローがアサート されます。 オーバーフロー信号は wr_en に依存します。 wr_en がアサート され、 FIFO がいっぱいの場合は、 オーバーフローがアサート されます。

X-Ref Target - Figure 3-33

図 3-33: Full フラグのリセッ ト値が 1 のブロック RAM、 分散 RAM、 シフ ト レジスタ

表 3-8: ビルト イン FIFO の非同期値

信号 ビルト イン FIFO のリセッ ト値 電源投入値

dout 最終の読み出し値 ロケーシ ョ ン 0 のメモ リの内容

full 0 0

empty 1 1

valid 0 (アクティブ High) または 1 (アクティブ Low)

0 (アクティブ High) または 1 (アクティブ Low)

almost_full

wr_clk

full

prog_full

In Reset State Out of Reset State

rst

Write domain in reset state Write domain out of reset state

wr_en

wr_ack

valid

rd_clk

Read domain in reset state Read domain out of reset state

rd_en

Page 120: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 120PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

同期リセッ ト

同期リセッ ト入力 (wr_clk/rd_clk ド メ インに同期する srst または wr_rst/rd_rst) は、 共通/独立クロ ッ ク FIFO のブロッ ク RAM、 分散 RAM、 シフ ト レジスタ、 またはビルト イン FIFO のインプリ メンテーシ ョ ンでのみ使用できます。

共通クロック : ブロック RAM、 分散 RAM、 シフ ト レジスタの FIFO

同期リセッ ト入力 (srst) がアサート される と、 ク ロ ッ クに同期してすべてのカウンター、 出力レジスタ、 メモ リがリセッ ト されます。 リセッ ト ピンは入力クロ ッ クに同期し、 FIFO にはクロ ッ ク ド メ インが 1 つしかないため、 追加の同期ロジッ クは不要です。

図 3-37 は、 srst が解放されたあとのフラグを示しています。

独立クロックのブロック RAM および分散 RAM の FIFO ([Enable Reset Synchronization] はオフ )

同期リセッ ト入力 (wr_rst/rd_rst) がアサート される と、 ク ロ ッ クに同期して、 それぞれのクロ ッ ク ド メ インのカウンター、 出力レジスタがすべて リセッ ト されます。 リセッ ト ピンは各クロ ッ ク ド メ インに同期するので、 追加の同期ロジッ クは不要です。

図 3-38 のよ うに、 2 つの同期リセッ ト (wr_rst/rd_rst) を同時に少なく と も 1 ク ロ ッ ク サイクル間アサート します。 リセッ トがアサート /ディアサート されるタイ ミ ングは異なる可能性があるので、 この期間は FIFO の出力は無効になり ます。 予期しない動作を避けるには、 最初のリセッ トのアサートから最後のリセッ トのディアサート まで、書き込みまたは読み出し操作を実行しないでください。

prog_full 0 0

prog_empty 1 1

X-Ref Target - Figure 3-34

図 3-34: ビルト イン FIFO の非同期リセッ ト動作

X-Ref Target - Figure 3-35X-Ref Target - Figure 3-36X-Ref Target - Figure 3-37

図 3-37: 同期リセッ ト : 共通クロックの FIFO

表 3-8: ビルト イン FIFO の非同期値

clk

rst

empty

full

prog_full

prog_empty

clk

srst

full

almost_full

prog_full

In Reset state Out of Reset state

Page 121: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 121PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

注記: FWFT および ECC コンフ ィギュレーシ ョ ンで構築された FIFO の場合、 wr_rst と rd_rst の両方がディアサート されたあと有効な読み出しが実行されるまで、 sbiterr および dbiterr が High になる可能性があ り ます。

図 3-38 および 図 3-39 はリセッ トの詳細を説明しています。

表 3-9 では、 電源投入およびリセッ ト ステート中の出力ポートの値が定義されています。 dout のリセッ ト値を指定しない場合は、 デフォルトで 0 になり ます。 FIFO には、 1 ク ロ ッ ク サイクルのみのリセッ ト パルスが必要です。 リセッ トが解放されてからのクロ ッ ク サイクルで ト ランザクシ ョ ン用に FIFO を使用できます。同期リセッ トの電源投入値はリセッ ト ステートの値と同じです。

アンダーフロー信号は rd_en に依存する点に注意してください。 rd_en がアサート され、 FIFO が空の場合は、 アンダーフローがアサート されます。 オーバーフロー信号は wr_en に依存します。 wr_en がアサート され、 FIFO がいっぱいの場合は、 オーバーフローがアサート されます。

X-Ref Target - Figure 3-38

図 3-38: 同期リセッ ト : 独立クロックの FIFO wr_rst then rd_rst

X-Ref Target - Figure 3-39

図 3-39: 同期リセッ ト : 独立クロックの FIFO rd_rst then wr_rst

表 3-9: 同期リセッ トおよび電源投入値

信号リセッ トおよび電源投入中の出力ポートのブロック RAM および分散 RAM の値

dout dout リ セッ ト値または 0

full 0

almost full 0

empty 1

Page 122: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 122PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

共通/独立クロック : UltraScale のビルト イン FIFO

UltraScale アーキテクチャベースのビルト イン FIFO では、 同期リセッ ト (srst) のみがサポート されています。 リセッ トは常に書き込みクロ ッ ク (clk/wr_clk) に同期している必要があ り ます。 ビルト イン FIFO には、 少なく と も 1 ク ロ ッ ク サイクルの同期リセッ ト パルスが必要です。ビルト イン FIFO では wr_rst_busy および rd_rst_busy 出力信号が提供されます。

srst がアサート される と、 wr_clk の立ち上がりエッジのすぐ後に wr_rst_busy 出力がアサート され、 リセッ ト操作が完了するまでこのアサート状態が続きます。 wr_rst_busy がアサート された後、 内部リセッ トが rd_clk ド メ インに同期します。 rd_clk ク ロ ッ ク ド メ インに到達する と、 rd_rst_busy がアサート され、 rd_clk ク ロ ック ド メ インのすべての信号のリセッ トが完了するまでアサート されたままになり ます。 このと き、 rd_rst_busy がディアサート されます。 共通クロ ッ ク モードでは、 ク ロ ッ クの乗せ換えが不要なので、 このロジッ クは単純化されています。

リセッ ト中に、 rd_en および wr_en ポート をディアサートする必要があ り ます (読み出しまたは書き込み操作は実行できません)。 リセッ ト をアサートする と、 full および prog_full フラグがディアサート され、 empty および prog_empty フラグがアサート されます。 Wr_rst_busy および rd_rst_busy を解放した後、 コアはリセッ ト ステート を終了し、 書き込みの準備が整います。

詳細は、 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573) [参照 4] を参照してください。

重要: アンダーフローおよびオーバーフロー信号は直接プリ ミティブに接続されます。 rd_en がアサート され、FIFO が空の場合は、 アンダーフローがアサート されます。 wr_en がアサート され、 FIFO がいっぱいの場合は、オーバーフローがアサート されます。

注記: リ セッ ト を適用している間は、 FIFO Generator の入力クロ ッ クがフ リーランニングになっているこ とを確認してください。 この違反がある と リセッ ト ハング コンディシ ョ ンが発生し、 ハード再起動またはリブートが必要になり ます。 詳細は、 AR 67912 を参照してください。

実際の FIFO の深さ

FIFO の実際の深さはインプリ メンテーシ ョ ンとそのインプリ メンテーシ ョ ンに影響する機能に左右されるため、FIFO の深さの実効値または実際の値が、 GUI で選択した深さ と必ずしも同じでないこ とを理解しておく こ とが重要です。 Vivado IDE では、 FIFO の実際の深さがレポート されます。 次のセクシ ョ ンではこの情報のレポートに使用される計算について説明します。

almost empty 1

valid 0 (アクティブ High) または 1 (アクティブ Low)

wr_ack 0 (アクティブ High) または 1 (アクティブ Low)

prog_full 0

prog_empty 0

rd_data_count 0

wr_data_count 0

表 3-9: 同期リセッ トおよび電源投入値 (続き)

信号リセッ トおよび電源投入中の出力ポートのブロック RAM および分散 RAM の値

Page 123: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 123PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

ブロック RAM、 分散 RAM、 シフ ト レジスタの FIFOブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタの FIFO の実際の深さは、 インプリ メンテーシ ョ ンを変える次の機能の影響を受けます。

• 共通クロ ッ クまたは独立クロ ッ ク

• 標準または FWFT の読み出しモード

• 対称または非対称のポート アスペク ト比

FIFO がどのよ うにコンフ ィギュレーシ ョ ンされているかによって、 実際の FIFO 深さの計算は変わり ます。

• 標準読み出しモードの共通クロ ッ ク FIFO

actual_write_depth = gui_write_depth

actual_read_depth = gui_read_depth

• FWFT 読み出しモードの共通クロ ッ ク FIFO

actual_write_depth = gui_write_depth +2

actual_read_depth = gui_read_depth +2

• 標準読み出しモードの独立クロ ッ ク FIFO

actual_write_depth = gui_write_depth - 1

actual_read_depth = gui_read_depth - 1

• FWFT 読み出しモードの独立クロ ッ ク FIFO

actual_write_depth = (gui_write_depth - 1) + (2*round_down(gui_write_depth/gui_read_depth))

actual_read_depth = gui_read_depth + 1

注記

1. Gui_write_depth = GUI で実際に選択されている書き込み (入力) の深さ

2. Gui_read_depth = GUI で実際に選択されている読み出し (出力) の深さ

3. 非対称ポートのアスペク ト比 (gui_write_depth not equal to gui_read_depth) はブロッ ク RAM ベースの FIFO のみでサポート されています。

4. エンベデッ ド レジスタおよびインターコネク ト レジスタを選択する場合、 FWFT モードでエンベデッ ド /インターコネク ト レジスタを選択する場合に比べる と、 実際の書き込みの深さおよび実際の読み出しの深さは 1 増えます。

ビルト イン FIFO ビルト イン FIFO の実際の深さは、 インプリ メンテーシ ョ ンを変える次の機能の影響を受けます。

• 共通クロ ッ クまたは独立クロ ッ ク

• 標準または FWFT の読み出しモード

• インプリ メンテーシ ョ ンで使用されるビルト イン FIFO のプリ ミティブ (深さの最小値は 512)

FIFO がどのよ うにコンフ ィギュレーシ ョ ンされているかによって、 実際の FIFO 深さの計算は変わり ます。

Page 124: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 124PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

レイテンシ

このセクシ ョ ンでは、 FIFO の異なる出力信号が読み出しまたは書き込み操作に応答してアップデート される と きのレイテンシが定義されます。

注記: レイテンシは、 信号がアップデート される前の読み出しまたは書き込み操作が実行された後のクロ ッ ク エッジの数で定義されます。 たとえば、 レイテンシが 0 の場合、 操作が発生したクロ ッ ク エッジで信号がアップデート されます。 図 3-40 に示すよ うに wr_en が High のと きに wr_ack がアップデート されます。

表 3-10: ビルト イン FIFO プリ ミテ ィブ

共通クロック 独立クロック

標準 FWFT 標準 FWFT

7 シ リーズ((primitive_depth+1)*N)-1

(primitive_depth+1)*N

((primitive_depth+1)*N)-1

(primitive_depth+1)*N

UltraScale/UltraScale+

短レイテンシおよび短レイテンシの出力レジスタあ り

エンベデッド レジスタあ り

(primitive_depth+1)*N primitive_depth*N

エンベデッド レジスタなし

(primitive_depth+1)*N primitive_depth*N (primitive_depth+1)*N primitive_depth*N

短レイテンシあ り、短レイテンシの出力レジスタなし

エンベデッド レジスタあ り

primitive_depth*N primitive_depth*N

エンベデッド レジスタなし

primitive_depth*N primitive_depth*N primitive_depth*N primitive_depth*N

短レイテンシなし

エンベデッド レジスタあ り

((primitive_depth+1)*N)-1

primitive_depth*N ((primitive_depth+2)*N)-2

((primitive_depth+1)*N)-1

エンベデッド レジスタなし

(primitive_depth*N)-1 primitive_depth*N ((primitive_depth+2)*N)-2

((primitive_depth+1)*N)-1

注記:1. primitive_depth = FIFO をインプリ メン トするのに使用されるプリ ミ ティブの深さ。 これは FIFO の GUI の [Summary] タブに表示されま

す。 ざまざまな幅および深さを設定したコンフ ィギュレーシ ョ ンの primitive_depth の詳細は、 『7 シ リーズ FPGA メモ リ リ ソース ユー

ザー ガイ ド』 (UG473)[参照 3] および『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573)[参照 4] を参照してください。

2. N = 深さまたはラウンドアップでカスケード されているプリ ミ ティブの数 (gui_write_depth/primitive_depth)。

X-Ref Target - Figure 3-40

図 3-40: レイテンシが 0 のタイ ミング

Page 125: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 125PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

ビルト イン FIFO 以外の FIFO: 共通クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン

表 3-11 には、 ブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタの FIFO などのビルト イン FIFO 以外の FIFO の書き込み操作が実行されたために、 レイテンシがアップデート される書き込みポートのフラグが定義されています。

表 3-12 には、 読み出し操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-13 には、 読み出し操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-14 には、 書き込み操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-11: 書き込み操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (clk)

full 0

almost_full 0

prog_full 1

wr_ack 0

overflow 0

表 3-12: 読み出し操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (clk)

empty 0

almost_empty 0

prog_empty 1

valid 0

underflow 0

data_count 0

表 3-13: 読み出し操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (clk)

full 0

almost_full 0

prog_full 1

wr_ack(1)なし

overflow(1)なし

注記:1. 書き込みハンドシェイ ク信号は、 書き込み操作のみの影響を受けます。

表 3-14: 書き込み操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (clk)

empty 0

Page 126: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 126PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

ビルト イン FIFO 以外の FIFO: 共通クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン

表 3-15 には、 ブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタの FIFO などのビルト イン FIFO 以外の FIFO の書き込み操作が実行されたために、 レイテンシがアップデート される書き込みポートのフラグが定義されています。

表 3-16 には、 読み出し操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-17 には、 読み出し操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

almost_empty 0

prog_empty 0

valid(1)なし

underflow(1)なし

data_count 0

注記:1. 読み出しハンドシェイ ク信号は、 読み出し操作のみの影響を受けます。

表 3-15: 書き込み操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (clk)

full 0

almost_full 0

prog_full 1

wr_ack 0

overflow 0

表 3-16: 読み出し操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (clk)

empty 0

almost_empty 0

prog_empty 1

valid 0

underflow 0

data_count 0

表 3-17: 読み出し操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (clk)

full 0

almost_full 0

prog_full 1

表 3-14: 書き込み操作の結果、 レイテンシがアップデート される読み出しポート フラグ

Page 127: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 127PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

表 3-18 には、 書き込み操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

ビルト イン FIFO 以外の FIFO: 独立クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン

表 3-19 には、 書き込み操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-20 には、 読み出し操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

wr_ack(1)なし

overflow(1)なし

注記:1. 書き込みハンドシェイ ク信号は、 書き込み操作のみの影響を受けます。

表 3-18: 書き込み操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号レジスタなし

エンベデッ ドまたはインターコネク ト レジスタ

エンベデッ ドまたはインターコネク ト レジスタ

レイテンシ (clk) レイテンシ (clk) レイテンシ (clk)

empty 2 2 3

almost_empty 1 1 2

prog_empty 1 1 2

valid(1)なし なし なし

underflow(1)なし なし なし

data_count 0 0 0

注記:1. 読み出しハンドシェイ ク信号は、 読み出し操作のみの影響を受けます。

表 3-19: 書き込み操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (wr_clk)

full 0

almost_full 0

prog_full 1

wr_ack 0

overflow 0

wr_data_count 1

表 3-20: 読み出し操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (rd_clk)

empty 0

almost_empty 0

表 3-17: 読み出し操作の結果、 レイテンシがアップデート される書き込みポート フラグ

Page 128: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 128PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

表 3-21 には、 読み出し操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。 N は、 同期化ステージの数を指します。 この例では、 N は 2 です。

表 3-22 には、 書き込み操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。 N は、 同期化ステージの数を指します。 この例では、 N は 2 です。

ビルト イン FIFO 以外の FIFO: 独立クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン

表 3-23 には、 書き込み操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

prog_empty 1

valid 0

underflow 0

rd_data_count 1

表 3-21: 読み出し操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ

full 1 rd_clk + (N + 2) wr_clk (+1 wr_clk)(1)

almost_full 1 rd_clk + (N + 2) wr_clk (+1 wr_clk)(1)

prog_full 1 rd_clk + (N + 3) wr_clk (+1 wr_clk)(1)

wr_ack(2)なし

overflow(2)なし

wr_data_count 1 rd_clk + (N + 2) wr_clk (+1 wr_clk)(1)

注記:1. 独立クロ ッ ク FIFO のクロ ッ ク乗せ換えロジッ クはレイテンシの計算に 1 wr_clk のばらつきを出します。

2. 書き込みハンドシェイ ク信号は、 書き込み操作のみの影響を受けます。

表 3-22: ビルト イン FIFO 以外の FIFO: 独立クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン: 書き込み操作が原因で、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ

empty 1 wr_clk + (N + 2) rd_clk (+1 rd_clk)(1)

almost_empty 1 wr_clk + (N + 2) rd_clk (+1 rd_clk)(1)

prog_empty 1 wr_clk + (N + 3) rd_clk (+1 rd_clk)(1)

valid(2)なし

underflow(2)なし

rd_data_count 1 wr_clk + (N + 2) rd_clk (+1 rd_clk)(1)

注記:1. 独立クロ ッ ク FIFO のクロ ッ ク乗せ換えロジッ クはレイテンシの計算に 1 rd_clk のばらつきを出します。

2. 読み出しハンドシェイ ク信号は、 読み出し操作のみの影響を受けます。

表 3-20: 読み出し操作の結果、 レイテンシがアップデート される読み出しポート フラグ

Page 129: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 129PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

表 3-24 には、 読み出し操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-25 には、 読み出し操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。 N は、 同期化ステージの数を指します。 この例では、 N は 2 です。

図 3-26 には、 書き込み操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。 N は、 同期化ステージの数を指します。 この例では、 N は 2 です。

表 3-23: 書き込み操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (wr_clk)

full 0

almost_full 0

prog_full 1

wr_ack 0

overflow 0

wr_data_count 1

表 3-24: 読み出し操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (rd_clk)

empty 0

almost_empty 0

prog_empty 1

valid 0

underflow 0

rd_data_count 1

表 3-25: 読み出し操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ

full 1 rd_clk + (N + 2) wr_clk (+1 wr_clk)(1)

almost_full 1 rd_clk + (N + 2) wr_clk (+1 wr_clk)(1)

prog_full 1 rd_clk + (N + 3) wr_clk (+1 wr_clk)(1)

wr_ack(2)なし

overflow(2)なし

wr_data_count 1 rd_clk + (N + 2) wr_clk (+1 wr_clk)(1)

注記:1. 独立クロ ッ ク FIFO のクロ ッ ク乗せ換えロジッ クはレイテンシの計算に 1 wr_clk のばらつきを出します。

2. 書き込みハンドシェイ ク信号は、 書き込み操作のみの影響を受けます。

Page 130: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 130PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

ビルト イン FIFO: 共通クロックおよび標準読み出しモードのインプリメンテーシ ョ ン

注記: N は、 深さ方向にカスケード されているプリ ミティブの数を指します。 これは GUI に表示されている深さの値をプリ ミティブの深さで割って計算できます。 ECC の場合、 プリ ミティブの深さは 512 になり ます。 「ビルト イン FIFO」 とは、 FPGA のハード FIFO マクロのこ とをいいます。

1 つのプリ ミ ティブの書き込みおよび読み出しポート フラグのレイテンシのアップデートについては、 『7 シ リーズ FPGA メモ リ リ ソース ユーザー ガイ ド』 (UG473) [参照 3] を参照してください。

表 3-27 には、 書き込み操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-28 には、 読み出し操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-26: 独立クロック FWFT

信号 レジスタなしエンベデッ ドまたはインター

コネク ト レジスタエンベデッ ドおよびインター

コネク ト レジスタ

レイテンシ (clk) レイテンシ (clk) レイテンシ (clk)

empty 1 wr_clk + (N + 4) rd_clk (+1 rd_clk)(1)

1 wr_clk + (N + 4) rd_clk (+1 rd_clk)(1)

1 wr_clk + (N + 5) rd_clk (+1 rd_clk)(1)

almost_empty 1 wr_clk + (N + 4) rd_clk (+1 rd_clk)(1)

1 wr_clk + (N + 4) rd_clk (+1 rd_clk)(1)

1 wr_clk + (N + 5) rd_clk (+1 rd_clk)(1)

prog_empty 1 wr_clk + (N + 3) rd_clk (+1 rd_clk)(1)

1 wr_clk + (N + 3) rd_clk (+1 rd_clk)(1)

1 wr_clk + (N + 4) rd_clk (+1 rd_clk)(1)

valid(2)なし なし なし

underflow(2)なし なし なし

rd_data_count 1 wr_clk + (N + 2) rd_clk (+1 rd_clk)(1) + [N rd_clk (+1 rd_clk)](3)

1 wr_clk + (N + 2) rd_clk (+1 rd_clk)(1) + [N rd_clk (+1 rd_clk)](3)

1 wr_clk + (N + 2) rd_clk (+1 rd_clk)(1) + [N rd_clk (+1 rd_clk)](3)

注記:1. 独立クロ ッ ク FIFO のクロ ッ ク乗せ換えロジッ クはレイテンシの計算に 1 rd_clk のばらつきを出します。

2. 読み出しハンドシェイ ク信号は、 読み出し操作のみの影響を受けます。

3. このレイテンシはワース ト ケースのレイテンシです。 [2 rd_clk (+1 rd_clk)] のレイテンシが追加されるかど うかは empty フラ

グおよび almost empty フラグのステータスによ り ます。

表 3-27: ビルト イン FIFO: 共通クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン: 書き込み操作が原因で、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (clk)

full 0

prog_full 1

wr_ack 0

overflow 0

Page 131: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 131PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

表 3-29 には、 読み出し操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-30 には、 書き込み操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

ビルト イン FIFO: 共通クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン

注記: N は、 深さ方向にカスケード されているプリ ミティブの数を指します。 これは GUI に表示されている深さの値をプリ ミティブの深さで割って計算できます。 ECC の場合、 プリ ミティブの深さは 512 になり ます。 「ビルト イン FIFO」 とは、 FPGA のハード FIFO マクロのこ とをいいます。

1 つのプリ ミ ティブの書き込みおよび読み出しポート フラグのレイテンシのアップデートについては、 『7 シ リーズ FPGA メモ リ リ ソース ユーザー ガイ ド』 (UG473) [参照 3] を参照してください。

表 3-31 には、 書き込み操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-28: ビルト イン FIFO: 共通クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン: 読み出し操作が原因で、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (clk)

empty 0

prog_empty 1

valid 0

underflow 0

表 3-29: ビルト イン FIFO: 共通クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン: 読み出し操作が原因で、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (clk)

full (N-1)(2)

prog_full N(2)

wr_ack(1)なし

overflow(1)なし

注記:1. 書き込みハンドシェイ ク信号は、 書き込み操作のみの影響を受けます。

2. 深さ方向のプリ ミティブ数が <=16 の UltraScale デバイスの場合は、 N=1 を使用します。

表 3-30: 書き込み操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (clk)

empty (N(2)-1)*2

prog_empty (N(2)-1)*2+1

valid(1)なし

underflow(1)なし

注記:1. 読み出しハンドシェイ ク信号は、 読み出し操作のみの影響を受けます。

2. 深さ方向のプリ ミティブ数が <=16 の UltraScale デバイスの場合は、 N=1 を使用します。

Page 132: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 132PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

表 3-32 には、 読み出し操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-33 には、 読み出し操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-34 には、 書き込み操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-31: 書き込み操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (clk)

full 0

prog_full 1

wr_ack 0

overflow 0

表 3-32: 読み出し操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (clk)

empty 0

prog_empty 1

valid 0

underflow 0

表 3-33: 読み出し操作の結果、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (clk)

full (N-1)(2)

prog_full(1) N(2)

wr_ack(1)なし

overflow なし

注記:1. 書き込みハンドシェイ ク信号は、 書き込み操作のみの影響を受けます。

2. 深さ方向のプリ ミティブ数が <=16 の UltraScale デバイスの場合は、 N=1 を使用します。

表 3-34: 書き込み操作の結果、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (clk)

empty ((N(2)-1)*2+1)

prog_empty ((N(2)-1)*2+1)

valid(1)なし

underflow(1)なし

注記:1. 読み出しハンドシェイ ク信号は、 読み出し操作のみの影響を受けます。

2. 深さ方向のプリ ミティブ数が <=16 の UltraScale デバイスの場合は、 N=1 を使用します。

Page 133: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 133PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

ビルト イン FIFO: 独立クロックおよび標準読み出しモードのインプリメンテーシ ョ ン

注記: N は、 深さ方向にカスケード されているプリ ミティブの数を指します。 これは GUI に表示されている深さの値をプリ ミティブの深さで割って計算できます。 ECC の場合、 プリ ミティブの深さは 512 になり ます。 Faster_Clk はクロ ッ ク ド メ インで、 rd_clk または wr_clk の周波数の大きいほうになり ます。 「ビルト イン FIFO」 とは、FPGA のハード FIFO マクロのこ とをいいます。

1 つのプリ ミ ティブの書き込みおよび読み出しポート フラグのレイテンシのアップデートについては、 『7 シ リーズ FPGA メモ リ リ ソース ユーザー ガイ ド』 (UG473) [参照 3] を参照してください。

表 3-35 には、 書き込み操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-36 には、 読み出し操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-37 には、 読み出し操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-35: ビルト イン FIFO: 独立クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン: 書き込み操作が原因で、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (wr_clk)

full 0

prog_full 1

wr_ack 0

overflow 0

表 3-36: ビルト イン FIFO: 独立クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン: 読み出し操作が原因で、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (rd_clk)

empty 0

prog_empty 1

valid 0

underflow 0

表 3-37: ビルト イン FIFO: 独立クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン: 読み出し操作が原因で、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ

full(1) L1(2)rd_clk + (N(4)-1)*L2(2) faster_clk + L3(2)wr_clk

prog_full(1) L4(2) rd_clk + (N(4)-1)*(L2(2)-1) faster_clk + L5(2)wr_clk

wr_ack(3)なし

overflow(3)なし

注記:1. 読み出し と書き込みのクロ ッ ク エッジ間のオフセッ トによ り ますが、 empty フラグおよび full フラグは 1 ク ロ ッ ク サイクル後

にディアサートできます。

2. L1 = 1、 L2 = 4、 L3 = 3、 L4 = 1、 および L5 = 43. 書き込みハンドシェイ ク信号は、 書き込み操作のみの影響を受けます。

4. 深さ方向のプリ ミティブ数が <=16 の UltraScale デバイスの場合は、 N=1 を使用します。

Page 134: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 134PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

表 3-38 には、 書き込み操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

ビルト イン FIFO: 独立クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン

注記: N は、 深さ方向にカスケード されているプリ ミティブの数を指します。 これは GUI に表示されている深さの値をプリ ミティブの深さで割って計算できます。 ECC の場合、 プリ ミティブの深さは 512 になり ます。 Faster_Clk はクロ ッ ク ド メ インで、 rd_clk または wr_clk の周波数の大きいほうになり ます。 「ビルト イン FIFO」 とは、FPGA のハード FIFO マクロのこ とをいいます。

1 つのプリ ミ ティブの書き込みおよび読み出しポート フラグのレイテンシのアップデートについては、 『7 シ リーズ FPGA メモ リ リ ソース ユーザー ガイ ド』 (UG473) [参照 3] を参照してください。

表 3-39 には、 書き込み操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-40 には、 読み出し操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

表 3-38: ビルト イン FIFO: 独立クロックおよび標準読み出しモードのインプリ メンテーシ ョ ン: 書き込み操作が原因で、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ

empty(1) L1(2) wr_clk + (N(4)-1)*L2(2) faster_clk + L3(2)rd_clk

prog_empty(1) L4(2)wr_clk + (N(4)-1)*(L5(2)-1) faster_clk + L6(2)rd_clk

valid(3)なし

underflow(3)なし

注記:1. 読み出し と書き込みのクロ ッ ク エッジ間のオフセッ トによ り ますが、 empty フラグおよび full フラグは 1 ク ロ ッ ク サイクル後

にディアサートできます。

2. L1 = 1, L2 = 4, L3 = 4, L4 = 1, L5 = 5 and L6 = 4.3. 読み出しハンドシェイ ク信号は、 読み出し操作のみの影響を受けます。

4. 深さ方向のプリ ミティブ数が <=16 の UltraScale デバイスの場合は、 N=1 を使用します。

表 3-39: ビルト イン FIFO: 独立クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン: 書き込み操作が原因で、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ (wr_clk)

full 0

prog_full 1

wr_ack 0

overflow 0

表 3-40: ビルト イン FIFO: 独立クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン: 読み出し操作が原因で、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ (rd_clk)

empty 0

prog_empty 1

Page 135: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 135PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

表 3-41 には、 読み出し操作が実行されたためにレイテンシがアップデート される書き込みフラグが定義されています。

表 3-42 には、 書き込み操作が実行されたためにレイテンシがアップデート される読み出しフラグが定義されています。

特別なデサイン注意事項

FIFO のリセッ ト

FPGA をコンフ ィギュレーシ ョ ンし、操作を始める前に FIFO Generator コアを リセッ トする必要があ り ます。非同期 (rst) と同期 (srst) の 2 つのリセッ ト ピンが使用でき、 どちら も内部カウンターおよび出力レジスタをク リ アにします。

valid 0

underflow 0

表 3-41: ビルト イン FIFO: 独立クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン: 読み出し操作が原因で、 レイテンシがアップデート される書き込みポート フラグ

信号 レイテンシ

full(1) L1(2) rd_clk + (N(4)-1)*L2(2) faster_clk + L3(2) wr_clk

prog_full(1) L4(2) rd_clk + (N(4)-1)*(L2(2)-1) faster_clk + L5(2)wr_clk

wr_ack(3)なし

overflow(3)なし

注記:1. 読み出し と書き込みのクロ ッ ク エッジ間のオフセッ トによ り ますが、 empty フラグおよび full フラグは 1 ク ロ ッ ク サイクル後

にディアサートできます。

2. L1 = 1、 L2 = 4、 L3 = 3、 L4 = 1、 および L5 = 4。3. 書き込みハンドシェイ ク信号は、 書き込み操作のみの影響を受けます。

4. 深さ方向のプリ ミティブ数が <=16 の UltraScale デバイスの場合は、 N=1 を使用します。

表 3-42: ビルト イン FIFO: 独立クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン: 書き込み操作が原因で、 レイテンシがアップデート される読み出しポート フラグ

信号 レイテンシ

empty(1) L1(2) wr_clk + (N(4)-1)*L2(2) faster_clk + L3(2)rd_clk

prog_empty(1) L4(2) wr_clk + (N(4)-1)*(L5(2)-1) faster_clk + L6(2)rd_clk

valid(3)なし

underflow(3)なし

注記:1. 読み出し と書き込みのクロ ッ ク エッジ間のオフセッ トによ り ますが、 empty フラグおよび full フラグは 1 ク ロ ッ ク サイクル後

にディアサートできます。

2. L1 = 1、 L2 = 5、 L3 = 4、 L4 = 1、 L5 = 5、 および L6 = 4。3. 読み出しハンドシェイ ク信号は、 読み出し操作のみの影響を受けます。

4. 深さ方向のプリ ミティブ数が <=16 の UltraScale デバイスの場合は、 N=1 を使用します。

表 3-40: ビルト イン FIFO: 独立クロックおよび FWFT 読み出しモードのインプリ メンテーシ ョ ン: 読み出し操作が原因で、 レイテンシがアップデート される読み出しポート フラグ

Page 136: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 136PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

• 非同期リセッ トの場合、 内部コアへの rst がクロ ッ ク ド メ インに同期化します。 この リセッ ト ピンは、 FIFO が既知のステートに初期化するのを確認するために使用されます。 この同期化ロジッ クによ り、 グ リ ッチおよびメ タステーブル動作を避けながら、 コア ロジッ クのタイ ミ ングが正し く リセッ ト されます。 予期しない動作を避けるため、 rst が High にアサート されている と きに、 wr_en/rd_en を駆動またはト グルするこ とは推奨しません。

• 7 シ リーズの共通クロ ッ クおよび分散 RAM の同期リセッ トの場合、 リセッ ト ピンは入力クロ ッ クに同期し、FIFO にはクロ ッ ク ド メ インが 1 つしかないため、 追加の同期ロジッ クは不要です。

• 独立クロ ッ クおよび分散 RAM の同期リセッ トの場合、 リセッ ト ピン (wr_rst/rd_rst) は各クロ ッ ク ド メ インに同期するので、 追加の同期ロジッ クは不要です。 ただし予期しない動作を助けるため、 これらのルールに従う こ とを推奨します。

° wr_rst が適用される場合は、 rd_rst も適用する必要があ り、 その逆の場合も同じです。

° 両方のクロ ッ ク ド メ インがリセッ ト されるまで、 書き込み操作も読み出し操作も実行しないでください。

• UltraScale の共通クロ ッ クで、 同期リセッ ト を使用したブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタの FIFO の場合は、 UltraScale アーキテクチャのビルト イン FIFO のリセッ ト メカニズムが FIFO Generator コアで使用されます。 リセッ ト メカニズムの詳細は、 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573) [参照 4] を参照してください。

• UltraScale のビルト イン FIFO インプリ メンテーシ ョ ンの場合、 リセッ ト ピン (srst) は、 clk/wr_clk に同期します。 srst がアサート される と、 wr_clk の立ち上がりエッジのすぐ後に wr_rst_busy 出力がアサート され、 リセッ ト操作が完了するまでこのアサート状態が続きます。 wr_rst_busy がアサート された後、 内部リセッ トが rd_clk ド メ インに同期します。 rd_clk ク ロ ッ ク ド メ インに到達する と、 rd_rst_busy がアサート され、 rd_clk ク ロ ッ ク ド メ インのすべての信号のリセッ トが完了するまでアサート されたままになり ます。このと き、 rd_rst_busy がディアサート されます。 共通クロ ッ ク モードでは、 ク ロ ッ クの乗せ換えが不要なので、 このロジッ クは単純化されています。 リセッ ト メカニズムの詳細は、 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573) [参照 4] を参照してください。

生成された FIFO コアはリセッ トが既知のステートになった後に初期化されます。 リセッ トの値および動作の詳細は、 このガイ ドの 「 リ セッ ト 」 を参照してください。

連続クロック

FIFO Generator コアは、 フ リーランニングの書き込みおよび読み出しクロ ッ クを使用した場合にのみ機能するよ う設計されています。 ザイ リ ンクスでは、 rd_clk および wr_clk を操作してこのコアを制御するこ とは推奨していません。 この機能で FIFO 操作をゲートする必要がある場合は、 ライ ト イネーブル (wr_en) およびリード イネーブル (rd_en) 信号を使用するこ とを推奨します。

注記: 標準操作中にこれらのクロ ッ クが失われた場合は、 FIFO Generator コアが不安定なクロ ッ クで操作していないこ とを確認するため、 BUFGCE を使用し、 ク ロ ッ ク ラインをフラ ッ トにします。 ク ロ ッ クが安定したら、 リセッ トを一度適用するこ とを強く推奨します。

見積もりの悪い Full および Empty独立クロ ッ ク ド メ インが選択されている場合、 full (full?almost_full) フラグおよび empty (empty?almost_empty) フラグは見積も りの悪いフラグになり ます。 full および almost_full は書き込みクロ ッ ク (wr_clk) ド メ インに同期し、 empty および almost_empty は読み出しクロ ッ ク (rd_clk) ド メ インに同期します。

full フラグは、 読み出しクロ ッ ク ド メ インで読み出し操作が発生していないと想定するため、 見積も りの悪いフラグとみなされます。 almost_full は、 FIFO で使用可能なロケーシ ョ ンが 1 つしかないと きに wr_clk の立ち上がりエッジで必ずアサート され、 full は、 FIFO がいっぱいのと きに wr_clk の立ち上がりエッジで必ずアサート されます。 読み出し操作から full のディアサート までの間に何クロ ッ ク サイクル間かある可能性があ り ます。 full がディアサート されるまでの正確なクロ ッ ク サイクル数は、 ク ロ ッ ク乗せ換えと同期ロジッ クが原因で予測がつきません。 詳細は、 「full および empty フラグの同時アサート 」 を参照してください。

empty フラグは、 書き込みクロ ッ ク ド メ インで書き込み操作が発生していないと想定するため、 見積も りの悪いフラグとみなされます。 almost_empty は、 FIFO で使用可能なロケーシ ョ ンが 1 つしかないと きに rd_clk の立ち上

Page 137: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 137PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

がりエッジで必ずアサート され、 empty は、 FIFO がいっぱいのと きに rd_clk の立ち上がりエッジで必ずアサートされます。 書き込み操作から empty のディアサート までの間に何クロ ッ ク サイクル間かある可能性があ り ます。empty がディアサート されるまでの正確なクロ ッ ク サイクル数は、 ク ロ ッ ク乗せ換えと同期ロジッ クが原因で予測がつきません。 詳細は、 「full および empty フラグの同時アサート 」 を参照してください。

プログラマブルな Full および Emptyプログラマブル full (prog_full) およびプログラマブル empty (prog_empty) のフラグには、 プログラマブル フラグがアサートおよびディアサート されるタイ ミ ングをユーザーが指定できる という柔軟性があ り ます。 これらのフラグは定数値または入力ポートによって設定できます。 その信号は、 アサートのしきい値に達した後 1 ク ロ ッ ク サイクル以上経過してから 1 をアサートするので、 full および empty フラグとは異なり ます。 これらの信号は、 ネゲートのしきい値が渡された後しばら く してからディアサート されます。 このため、 prog_empty および prog_full も見積も りの悪いフラグとみなされます。 プログラマブル フラグのレイテンシおよび動作の詳細は、 このガイ ドの 「プログラマブル フラグ」 を参照してください。

full および empty フラグの同時アサート

独立クロ ッ ク FIFO の場合、 クロ ッ ク乗せ換えロジッ クが原因で、 full および empty フラグのアサート /ディアサートに遅延があ り ます。 これらの遅延がある と、 full と empty が同時にアサート されるなど、 FIFO で予期せぬ動作が発生する可能性があ り ます。 これを避けるには、 次の A と B の式が真である必要があ り ます。

A) 読み出し操作が原因で full フラグをアップデートするのにかかる時間が、 いっぱいの FIFO を空にするのにかかる時間よ り短い。

B) 書き込み操作が原因で empty フラグをアップデートするのにかかる時間が、空の FIFO をいっぱいにするのにかかる時間よ り短い。

たとえば、 次のコンフ ィギュレーシ ョ ンがある と します。

• 独立クロ ッ ク (ビルト インではない)、 標準 FIFO

• 書き込みクロ ッ ク周波数 = 3MHz, wr_clk_period = 333 ns

• 読み出しクロ ッ ク周波数 = 148 MHz, rd_clk_period = 6.75 ns

• 書き込みの深さ = 読み出しの深さ = 20

• actual_wr_depth = actual_rd_depth = 19 ( 「実際の FIFO の深さ」 を参照)

• N = 同期段の数。 この例では、 N = 2 です。

A 式を適用:

読み出し操作が原因で full フラグをアップデートするのにかかる時間が、 いっぱいの FIFO を空にするのにかかる時間よ り短いと、 1*rd_clk_period + (3 + N)*wr_clk_period < actual_rd_depth*rd_clk_period になり ます。

1*6.75 + 5*333 < 19*6.75

1671.75 ns < 128.5 ns --> 式が違反になり ます。

注記: 左側の式は、 128 ページの表 3-21 で説明したよ うに、 読み出し操作が原因でアップデート される full フラグのレイテンシ計算します。

結論: この式の違反は、 このデザインの場合、 いっぱいになっている FIFO から続けて読み出し操作を実行する と、その操作が原因で、 full フラグがディアサート される前に、 empty フラグがアサート されるこ とを証明しています。

B 式を適用:

書き込み操作が原因で empty フラグをアップデートするのにかかる時間が、 空の FIFO をいっぱいにするのにかかる時間よ り短くなっています。

Page 138: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 138PG057 2017 年 10 月 4 日 japan.xilinx.com

第 3 章: コアを使用した設計

1*wr_clk_period + (3 + N)*rd_clk_period < actual_wr_depth*wr_clk_period

1*333 + 5*6.75 < 19*333

366.75 ns < 6327 ns --> 式に違反はあ り ません。

注記: 左側の式は、 128 ページの表 3-22 で説明したよ うに、 書き込み操作が原因でアップデート される empty フラグのレイテンシ計算します。

結論: 式に違反は発生しません。 このデザインの場合、 空の FIFO に続けて書き込み操作を実行する と、 full フラグがアサート される前に empty フラグがディアサート されます。

書き込みおよび読み出しのデータ カウン ト

独立クロ ッ ク ド メ インまたは共通クロ ッ クの非対称ブロッ ク RAM FIFO (UltraScale アーキテクチャのみ) が選択されている場合、 書き込みデータ カウン ト (wr_data_count) および読み出しデータ カウン ト (rd_data_count) の信号によ り、 書き込みまたは読み出しクロ ッ ク ド メ インに相対した FIFO のワード数が示されます。

wr_data_count または rd_data_count ポート を使用した、 次のケースを考えてみまし ょ う。

• Wr_data_count および rd_data_count 出力は、 FIFO の正確なワード数をすぐには示せませんが、 その概数をすぐに示すこ とは可能です。

• wr_data_count および rd_data_count は、 ク ロ ッ ク サイクル間の値をスキップする可能性があ り ます。

• 非対称アスペク ト比を使用するか、 または周波数がダイナミ ッ クに変動するランニング ク ロ ッ クを使用する と、データ カウン ト出力間のディ スパリティおよび FIFO の実際のワード数が増えます。

注記: wr_data_count および rd_data_count 出力は、 rd_en=0 および wr_en=0 になってしばら く してから (一般的に、 読み出しおよび書き込みアクティビティが停止したあと、 わずか数クロ ッ ク サイクル経ってから )、 常に正し くな り ます。

データ カウン ト フラグのレイテンシおよび動作の詳細は、 このガイ ドの 「データ カウン ト 」 を参照してください。

セッ トアップおよびホールド タイムの違反

独立クロ ッ ク ド メ インを使用して FIFO を生成する場合 (書き込み/読み出しクロ ッ クを派生させるのに DCM が使用されているかど うかにかかわらず)、 書き込みおよび読み出しクロ ッ ク ド メ インはコアによって内部的に同期化されます。 このため、 コアの中の一部のレジスタにセッ ト アップおよびホールド タイムの違反が発生します。 シ ミ ュレーシ ョ ンでは、 これらの違反が起きているこ とを示す警告メ ッセージが表示される場合があ り ます。 これらの警告メ ッセージが FIFO Generator コアから出力されている場合は、 無視しても問題はあ り ません。 書き込みクロ ッ ク と読み出しクロ ッ ク との間の位相関係や周波数関係にかかわらず、 コアはこれらのコンディシ ョ ンを正し く処理できるよ う設計されています。

FIFO Generator コアには、 ク ロ ッ ク乗せ換えロジッ クにセッ ト アップおよびホールド違反が起きるのを防ぐため、MAXDELAY 制約を適用する IP レベルの制約があ り ます。 IP レベルの制約に加え、 リセッ ト パスに FALSE_PATH を適用するサンプル デザイン制約もあ り ます。

Page 139: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 139PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章

デザイン フローの手順この章ではコアのカスタマイズおよび生成と、 制約の設定方法、 このコアに特化したシ ミ ュレーシ ョ ン、 合成、 およびインプリ メーシ ョ ンの手順を説明します。 標準の Vivado® デザイン フローおよび IP インテグレーターの詳細は、 次の Vivado Design Suite ユーザー ガイ ドを参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 5]

• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7]

• 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8]

• 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9]

ネイティブ コアのカスタマイズおよび生成

次の手順を使用して、 IP コアに関連付けられているさまざまなパラ メーターの値を指定する と、 デザインで使用されている IP をカスタマイズできます。

1. IP カタログから IP を選択します。

2. 選択した IP をダブルク リ ッ クするか、 ツールバーから [Generate IP] コマンドをク リ ッ クするか、 または右クリ ッ ク して表示される メニューを選択します。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] および 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8] を参照してください。

注記: この章の図は、 Vivado 統合設計環境 (IDE) を表したものです。 このレイアウ トは現在のバージ ョ ンとは異なる場合があ り ます。

ネイティブ FIFO インターフェイスの IDE には次のコンフ ィギュレーシ ョ ン タブが含まれています。

• 「[Basic] タブ」

• 「[Native Ports] タブ」

• 「[Status Flags] タブ」

• 「[Data Counts] タブ」

• 「[Summary] タブ」

[Basic] タブ

[Basic] タブは、 コンポーネン ト名を定義し、 インターフェイスおよびコンフ ィギュレーシ ョ ンのオプシ ョ ンを設定します。

Page 140: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 140PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

• [Component Name]: このコアに対して生成される出力ファイルの基本名を指定します。 名前は英文字で始まる必要があ り、 a から z の英文字と、 0 から 9 までの数字、 アンダースコア (_) を含めるこ とができます。

• [Interface Type]

° [Native]: ネイティブ FIFO がインプリ メン ト されます。

° [AXI Memory Mapped]: AXI4、 AXI3 および AXI4-Lite FIFO が FWFT モードでインプリ メン ト されます。

° [AXI Stream]: AXI4-Stream FIFO が FWFT (First-Word-Fall-Through) モードでインプリ メン ト されます。

• [FIFO Implementation]

° [Common Clock (clk), Block RAM]: 詳細は、第 3 章の 「共通クロ ッ ク FIFO: ブロ ッ ク RAM および分散 RAM」 を参照してください。 このインプリ メンテーシ ョ ンでは、 FWFT モードがオプシ ョ ンでサポート されています ([Status Flags] タブで選択可能: 図 4-3)。

° [Common Clock (clk), Distributed RAM]: 詳細は、 第 3 章の 「共通クロ ッ ク FIFO: ブロ ッ ク RAM および分散 RAM」 を参照してください。 このインプリ メンテーシ ョ ンでは、 FWFT モードがオプシ ョ ンでサポート されています ([Status Flags] タブで選択可能: 図 4-3)。

° [Common Clock (clk), Shift Register]: 詳細は、 第 3 章の 「共通クロ ッ ク FIFO: シフ ト レジスタ」 を参照してください。

° [Common Clock (clk), Built-in FIFO]: 詳細は、 第 3 章の 「共通クロ ッ ク : ビルト イン FIFO」 を参照してください。 このインプリ メンテーシ ョ ンでは、 FWFT モードがオプシ ョ ンでサポート されています ([Status Flags] タブで選択可能: 図 4-3)。

° [Independent Clocks (rd_clk, wr_clk), Block RAM]: 詳細は、 第 3 章の 「独立クロ ッ ク : ブロ ッ ク RAM および分散 RAM」 を参照してください。 このインプリ メンテーシ ョ ンでは、 非対称の読み出し /書き込みポートおよび FWFT モードがオプシ ョ ンでサポート されています ([Status Flags] タブで選択可能: 図 4-3)。

X-Ref Target - Figure 4-1

図 4-1: [Basic] タブ

Page 141: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 141PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

° [Independent Clocks (rd_clk, wr_clk), Distributed RAM]: 詳細は、 第 3 章の 「独立クロ ッ ク : ブロ ッ ク RAM および分散 RAM」 を参照してください。 このインプリ メンテーシ ョ ンでは、 FWFT モードがオプシ ョ ンでサポート されています ([Status Flags] タブで選択可能: 図 4-3)。

° [Independent Clocks (rd_clk, wr_clk), Built-in FIFO]: 詳細は、 第 3 章の 「独立クロ ッ ク : ビルト イン FIFO」 を参照してください。 このインプリ メンテーシ ョ ンでは、 FWFT モードがオプシ ョ ンでサポート されています ([Status Flags] タブで選択可能: 図 4-3)。

• [Synchronization stages]: ク ロ ッ ク乗せ換えロジッ ク全体の同期段数を定義します。 表 4-1 は、 動作周波数別の同期段数例を示しています。

表 4-1: 同期段数の例

アーキテクチャ周波数(MHz) スピード グレード 同期段の数

Virtex-7/Kintex-7

200

3

3250 3300 3400 4

artix-7/zynq 7000200

32

250 2300 3

Page 142: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 142PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

[Native Ports] タブ

このタブでは、 パフォーマンス オプシ ョ ン (読み出しモード )、 データ ポート パラ メーター、 ECC および初期化オプシ ョ ンを設定します。

• [Read Mode]: ブロ ッ ク RAM または分散 RAM FIFO が選択されている と きにのみ使用可能です。

° [Standard FIFO]: 標準レイテンシを使用し、 出力レジスタを使用せずに、 FIFO がインプリ メン ト されます。

° [First-Word Fall-Through FIFO]: レジスタ出力を使用して FIFO がインプリ メン ト されます。 FWFT 機能の詳細は、 第 3 章の 「First-Word Fall-Through (FWFT) モードの FIFO 読み出し操作」 を参照してください。

• [Data Port Parameters]

° [Asymmetric Port Width]: ブロ ッ ク RAM/ビルト イン FIFO の UltraScale デバイスでのみ使用可能です。

° [Write Width]: 書き込みデータ幅の有効範囲は 1 から 1024 です。

° [Write Depth]: 書き込みの深さの有効範囲は 16 から 131072 です。 2 のべき乗の深さのみ指定可能です。

° [Read Width]: ブロ ッ ク RAM またはビルト イン FIFO のコンフ ィギュレーシ ョ ンの場合にのみ使用可能です。有効な範囲は非対称ポートのルールに準拠している必要があ り ます。 詳細は、 第 3 章の 「非対称アスペクト比」 を参照してください。

° [Read Depth]: 書き込み幅、 書き込みの深さ、 読み出し幅に基づいて自動的に計算されます。

° [Low Latency]: 深さのプリ ミティブ数が 1 よ り も大きいビルト イン FIFO コンフ ィギュレーシ ョ ンの UltraScale デバイスにのみ使用可能です。

X-Ref Target - Figure 4-2

図 4-2: [Native Ports] タブ

Page 143: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 143PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

° [Low Latency Output Register]: [Low Latency] オプシ ョ ンが選択されている場合にのみ使用可能です。

• [ECC, Output Register and Power Gating Options]

° [ECC]: エラー訂正機能がハード ECC を使用してイネーブルになっている と、 ブロ ッ ク RAM またはビルトイン FIFO がフル ECC モードに設定されます。 この場合エンコーダーとデコーダーの両方がイネーブルになり ます。

° [Single Bit Error Injection]: ECC オプシ ョ ンをイネーブルにした状態の、 共通クロ ッ クおよび独立クロ ッ クの両方のブロッ ク RAM またはビルト イン FIFO 用に使用できます。汎用インターコネク ト を使用した ECC ロジッ クのあるソフ ト ECC オプシ ョ ンは、 ブロ ッ ク RAM ベースの FIFO ビルドで使用できます。 書き込みでシングル ビッ ト エラーが挿入されるよ うに入力ポート を生成し、 またシングル ビッ ト エラーが発生したこ とを示す出力ポート を生成します。

° [Double-Bit Error Injection]: ECC オプシ ョ ンをイネーブルにした状態の、 共通クロ ッ クおよび独立クロ ッ クの両方のブロッ ク RAM またはビルト イン FIFO 用に使用できます。 書き込みでダブル ビッ ト エラーが挿入されるよ うに入力ポート を生成し、 またダブル ビッ ト エラーが発生したこ とを示す出力ポート を生成します。

° [ECC Pipeline Reg]: ビルト イン FIFO マクロには、 ECC デコーダーおよびエンコーダーのパスにオプシ ョ ンのパイプライン レジスタがあ り ます。 ECC のパイプライン レジスタが選択されている場合は、 FIFO マクロのタイ ミ ングが改善され、 DOUT に 1 ク ロ ッ クの追加レイテンシが追加されます。 リセッ トが FIFO に適用される と ECC パイプライン レジスタによ り、 パイプラインにある前の読み出しデータが保持されます。ECC のパイプライン レジスタの詳細は、 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573) [参照 4] を参照してください。

° [Dynamic Power Gating]: このダイナミ ッ ク消費電力機能によ り、 データの内容を保存している間、 ビルト イン FIFO マクロがス リープ モードのままになり ます。 ウェークアップ タイム前の FIFO のアクセス要件は確約されておらず、 メモ リの内容が破損する可能性があ り ます。 ス リープがアクティブ (High) の場合、wr_en および rd_en ピンは Low に保持されます。 このモードの間、 メモ リに格納されたデータ内容は保持されます。 動的電力ゲーティングの詳細は、 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイド』 (UG573) [参照 4] を参照してください。

° [Output Registers]: ブロ ッ ク RAM マクロには、 エンベデッ ド レジスタまたはインターコネク ト レジスタがビルト インされていて、 これらのレジスタは、 データをパイプライン化し、 マクロのタイ ミ ングを改善する目的で使用できます。 このオプシ ョ ンを使用する と、 FIFO の出力にパイプライン段を 1 段追加でき、 使用可能なエンベデッ ド レジスタを活用できます。 ビルト イン FIFO の場合、 この機能は、 深さが 1 FIFO マクロのみの同期 FIFO コンフ ィギュレーシ ョ ン用にのみサポート されています。 詳細は、 第 3 章の 「ブロ ック RAM および FIFO マクロのエンベデッ ド レジスタ」 を参照してください。

FIFO Generator には、 タイ ミ ングを満たすためにレイテンシを追加するのに、 エンベデッ ド レジスタ と インターコネク ト レジスタの両方を選択できるオプシ ョ ンもあ り ます。

• [Initialization]

° [Reset Pin]: ブロ ッ ク RAM または分散 RAM を使用してインプリ メン ト された FIFO の場合、 リセッ ト ピンは不要で入力ピンはオプシ ョ ンです。

° [Enable Reset Synchronization]: 独立ブロッ クのブロ ッ ク RAM または分散 RAM FIFO 用にのみオプシ ョ ンで選択できます。 オフになっている場合は、 wr_rst/rd_rst が使用可能です。 詳細は、 第 3 章の 「リセット 」 を参照してください。

° [Enable Safety Circuit]: 非同期リセッ トのあるブロ ッ ク RAM ベースの FIFO 用にのみ、 オプシ ョ ンで選択できます (デフォルトでイネーブルになっている )。 AXI インターフェイスの場合、 AXI インターフェイスのリセッ トは常に非同期なので、 コア内で安全回路が自動的にイネーブルになっています。 [Enable Safety Circuit] を選択する場合、 FIFO Generator の出力および制御信号を同期のフ リ ップフロ ップがブロ ッ ク RAM プリ ミ ティブに駆動するよ うにするため、 追加ロジッ クがイネーブルになり ます。 詳細は、 アンサー (AR#42571)[参照 11] を参照してください。

° [Reset Type]:

- [Asynchronous Reset]: ブロ ッ ク RAM または分散 RAM を使用してインプリ メン ト された共通クロ ッ クの FIFO にオプシ ョ ンで選択できます。

- [Synchronous Reset]: ブロ ッ ク RAM または分散 RAM を使用してインプリ メン ト された共通クロ ッ クの FIFO にオプシ ョ ンで選択できます。

Page 144: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 144PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

° [Full Flags Reset Value]: ブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタのコンフ ィギュレーシ ョ ンの場合、 リセッ ト中に full フラグ (prog_full、 almost_full、 および full) のリセッ ト値を選択できます。

° [Dout Reset Value]: リ セッ トがアサート されたと き、 FIFO の出力でアサート される 16 進数の値です。 ブロ ッ ク RAM、 分散 RAM、 シフ ト レジスタ、 またはエンベデッ ド レジスタ オプシ ョ ンでビルト インされている共通クロ ッ クの 7 シ リーズ デバイスを使用したすべてのインプリ メンテーシ ョ ンで使用できます。 リセッ ト ピンのオプシ ョ ンが選択されている場合のみ使用可能です。 選択されている場合、 リセッ トがアサート される と、 FIFO の dout 出力によ り定義されている dout のリセッ ト値に定義されます。 選択されていない場合、 FIFO dout の出力はリセッ トがアサート されても影響を受けませんし、 ビルト イン FIFO を使用した UltraScale アーキテクチャ ベースのデバイスの制限事項によ り、 dout で前の値が保持されます。

重要: UltraScale のビルト イン FIFO の場合、 [Use Dout Reset] が選択されているかど うかにかかわらず、 リセッ トがアサート される と、 FIFO の dout 出力は、 定義されている [Dout Reset Value] にリセッ ト されます。

異なるコンフ ィギュレーシ ョ ンのタイ ミ ング図は、 付録 D 「dout リ セッ ト値のタイ ミ ング」 を参照してください。

[Status Flags] タブ

オプシ ョ ンのステータス フラグを選択し、 ハンドシェイキング オプシ ョ ンおよびプログラマブル フラグ オプシ ョンを設定するために、 このタブを使用します。

X-Ref Target - Figure 4-3

図 4-3: [Status Flags] タブ

Page 145: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 145PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

• [Built-in FIFO Options]

° [Read/Write Clock Faster]: [Read Clock Faster] および [Write Clock Faster] は、 コアのクロ ッ ク乗せ換えロジックの最適なインプリ メンテーシ ョ ンを決定するために使用されます。 このオプシ ョ ンは独立クロ ッ クのビルト イン FIFO のみで使用できます。

重要: [Read Clock Faster] および [Write Clock Faster] の情報が正確であるこ とが重要です。 この情報が不正確な場合、コアの動作も不正確になり、 最適以下のソ リ ューシ ョ ンになる可能性があ り ます。

• [Optional Flags]: 書き込み/読み出し操作が原因で発生する Almost Full/Empty フラグのレイテンシについては、第 3 章の 「レイテンシ」 を参照してください。

° [Almost Full Flag]: ビルト イン FIFO を使用したインプリ メンテーシ ョ ン以外のすべての FIFO インプリ メンテーシ ョ ンで使用可能です。 FIFO がほぼいっぱいになったこ と (あと 1 ワード しか書き込めない状態) を示す出力ポートが生成されます。

° [Almost Empty Flag]: ビルト イン FIFO を使用したインプリ メンテーシ ョ ン以外のすべての FIFO インプリ メンテーシ ョ ンで使用可能です。 FIFO がほぼ空になったこ と (あと 1 ワード しか読み出せない状態) を示す出力ポートが生成されます。

• [Handshaking Options]: 書き込み/読み出し操作が原因で発生するハンドシェイ ク フラグのレイテンシについては、 第 3 章の 「レイテンシ」 を参照してください。

° [Write Port Handshaking]

- [Write Acknowledge]: 書き込み操作が完了したこ とをレポートする書き込み肯定応答フラグが生成されます。 この信号は、 アクティブ High またはアクティブ Low にコンフ ィギュレーシ ョ ン可能です (デフォルトはアクティブ High です)。

- [Overflow (Write Error)]: 前の書き込み操作がエラーになったこ とを示すオーバーフロー フラグが生成されます。 この信号は、 アクティブ High またはアクティブ Low にコンフ ィギュレーシ ョ ン可能です (デフォルトはアクティブ High です)。

° [Read Port Handshaking]

- [Valid (Read Acknowledge)]: 出力バスのデータが有効であるこ とを示す有効フラグを生成されます。 この信号は、 アクティブ High またはアクティブ Low にコンフ ィギュレーシ ョ ン可能です (デフォルトはアクティブ High です)。

注記: アクティブ Low のオプシ ョ ンは 7 シ リーズ デバイスのみで使用可能です。

- [Underflow (Read Error)]: 前の読み出し要求が満たされなかったこ とを示すアンダーフロー フラグが生成されます。 この信号は、アクティブ High またはアクティブ Low にコンフ ィギュレーシ ョ ン可能です (デフォルトはアクティブ High です)。

注記: アクティブ Low のオプシ ョ ンは 7 シ リーズ デバイスのみで使用可能です。

• [Programmable Flags]: 書き込み/読み出し操作が原因で発生するプログラマブル フラグのレイテンシについては、第 3 章の 「レイテンシ」 を参照してください。

° [Programmable Full Type]: ド ロ ップダウン リ ス トからプログラマブル full のしきいタイプを選択します。 各しきい値の有効範囲が表示されます。 範囲は IDE のほかの場所で選択されているオプシ ョ ンによって異なり ます。

° [Full Threshold Assert Value]: 単一または複数のしきい値定数のプログラマブル full が選択されている場合に使用可能です。 ユーザー定義値を入力します。 このしきい値の有効範囲は IDE で提供されます。 単一のしきい値定数を使用する場合は、 アサート しきい値のみが使用されます。

° [Full Threshold Negate Value]: 複数のしきい値定数のプログラマブル full が選択されている場合に使用可能です。 ユーザー定義値を入力します。 このしきい値の有効範囲は IDE で提供されます。

° [Programmable Empty Type]: ド ロ ップダウン リ ス トからプログラマブル empty のしきいタイプを選択します。 各しきい値の有効範囲が表示されます。 範囲は IDE のほかの場所で選択されているオプシ ョ ンによって異なり ます。

° [Empty Threshold Assert Value]: 単一または複数のしきい値定数のプログラマブル empty が選択されている場合に使用可能です。 ユーザー定義値を入力します。 このしきい値の有効範囲は IDE で提供されます。 単一のしきい値定数を使用する場合は、 アサート しきい値のみが使用されます。

Page 146: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 146PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

° [Empty Threshold Negate Value]: 複数のしきい値定数のプログラマブル empty が選択されている場合に使用可能です。 ユーザー定義値を入力します。 このしきい値の有効範囲は IDE で提供されます。

ヒン ト : ビルト イン FIFO コンフ ィギュレーシ ョ ンを使用する 7 シ リーズ デバイスの場合、 prog_full および prog_empty 信号は、 FIFO18E1/FIFO36E1 プリ ミ ティブの almostfull および almostempty に接続されます。

[Data Counts] タブ

データ カウン トのオプシ ョ ンを設定するには、 このタブを使用します。

注記: Vivado IDE にある値の有効な範囲は、 選択内容によってはグレー表示になっていても、 実際の値です。

• [Data Count Options]: 書き込み/読み出し操作が原因で発生するデータ カウン トのレイテンシについては、 第 3 章の 「レイテンシ」 を参照してください。

° [More Accurate Data Counts]: ブロ ッ ク RAM または分散 RAM を使用した独立クロ ッ ク FIFO、 および FWFT モードを使用している場合にのみ使用可能です。 このオプシ ョ ンでは、 さ らに正確なデータ カウン ト を生成するため追加の外部ロジッ クが使用されます。 この機能は、 ブロ ッ ク RAM または分散 RAM を使用した共通クロ ッ ク FIFO および FWFT モードを使用している場合に使用可能です。 詳細は、 第 3 章の「First-Word Fall-Through (FWFT) モードのデータ カウン ト 」 を参照してください。

° [Data Count (Synchronized With Clk)]: ブロ ッ ク RAM、 分散 RAM、 またはシフ ト レジスタを使用した共通クロ ッ ク FIFO が選択されている と きに使用可能です。

- [Data Count Width]: データ カウン トが選択されている と きに使用可能です。 有効範囲は 1 から log2 までです (入力の深さ )。

X-Ref Target - Figure 4-4

図 4-4: [Data Counts] タブ

Page 147: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 147PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

° [Write Data Count (Synchronized with Write Clk)]: ブロ ッ ク RAM または分散 RAM を使用した独立クロ ッ ク FIFO が選択されている と きに使用可能です。

- [Write Data Count Width]: 書き込みデータ カウン トが選択されている と きに使用可能です。 有効範囲は 1 から log2 までです (入力の深さ )。

° [Read Data Count (Synchronized with Read Clk)]: ブロ ッ ク RAM または分散 RAM を使用した独立クロ ッ ク FIFO が選択されている と きに使用可能です。

- [Read Data Count Width]: 読み出しデータ カウン トが選択されている と きに使用可能です。有効範囲は 1 から log2 までです (出力の深さ )。

[Summary] タブ

このタブには、 FIFO タイプ、 FIFO サイズ、 選択されている追加機能のステータスなど、 選択されている FIFO のオプシ ョ ンのサマ リが表示されます。 追加機能のセクシ ョ ンには、 ほとんどの機能に 「Not Selected」 (使用されていない場合)、 または 「Selected」 (使用されている場合) と表示されます。

注記: 書き込みおよび読み出しの深さによ り、 選択したコンフ ィギュレーシ ョ ンの実際の FIFO の深さが決ま り ます。これらの深さは、 IDE の 3 番目の画面で選択されている深さ とは若干異なる場合があ り ます。

ユーザー パラメーター

表 4-2 には、 Vivado IDE のパラ メーターとユーザー パラ メーターとの関係が示されています (Tcl コンソールで確認可能)。

X-Ref Target - Figure 4-5

図 4-5: [Summary] タブ

Page 148: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 148PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

表 4-2: Vivado IDE パラメーターとユーザー パラメーターの関係

Vivado IDE パラメーター ユーザー パラメーター デフォルト値

インターフェイス タイプ

ネイティブ

AXI メモ リ マップド

AXI-Stream

interface_typenativeaxi_memory_mappedaxi_stream

native

FIFO インプリ メンテーシ ョ ン

共通クロ ッ ク ブロ ッ ク RAM 共通クロ ッ ク分散 RAM 共通クロ ッ ク シフ ト レジスタ 共通クロ ッ ク ビルト イン FIFO 独立クロ ッ ク ブロ ッ ク RAM 独立クロ ッ ク分散 RAM 独立クロ ッ ク ビルト イン FIFO

fifo_implementationcommon_clock_block_ram common_clock_distributed_ram common_clock_shift_register common_clock_builtin independent_clock_block_ram independent_clock_distributed_ramindependent_clock_builtin

common_clock_block_ram (7 シリーズ デバイス)common_clock_builtin (UltraScale デバイス)

同期化オプシ ョ ン

2 ~ 8

synchronization_stages

2 ~ 8

2

読み出しモード

標準モードの FIFOFirst-Word Fall-Through (FWFT)

performance_optionsstandard_fifofirst_word_fall_through

standard_fifo

非対称ポート幅

true、 false

asymmetric_port_width

true、 false

false

書き込み幅

1 ~ 1024

input_data_width

1 ~ 1024

18

書き込み深さ

16 ~ 131072

input_depth

16 ~ 131072

1024

読み出し幅

1 ~ 1024

output_data_width

1 ~ 1024

18

読み出し深さ

16 ~ 131072

output_depth

16 ~ 131072

1024

低レイテンシ

true、 false

enable_low_latency

true、 false

false

出力レジスタ

true、 false

use_dout_register

true、 false

false

ECC のイネーブル

true、 false

enable_ecc

true、 false

false

イネーブルにする ECC のタイプ

ハード ECCソフ ト ECC

Enable ECC TypeHard ECCSoft ECC

Hard ECC

シングル ビッ ト エラー挿入

true、 false

inject_sbit_error

true、 false

false

ダブル ビッ ト エラー挿入

true、 false

inject_dbit_error

true、 false

false

Page 149: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 149PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

ECC パイプライン レジスタ

true、 false

ecc_pipeline_reg

true、 false

false

出力レジスタ

true、 false

use_embedded_registers

true、 false

false

出力レジスタ タイプ

エンベデッ ド レジスタ

ファブ リ ッ ク レジスタ

エンベデッ ドおよびファブリ ッ ク レジスタ

Output_Regsiter_TypeEmbedded_RegFabric_RegBoth

エンベデッ ド レジスタ

動的電力ゲーティング

true、 false

dynamic_power_saving

true、 false

false

リ セッ ト ピン

true、 false

reset_pin

true、 false

true

リ セッ ト同期のイネーブル

true、 false

enable_reset_synchronization

true、 false

true

安全回路のイネーブル

true、 false

enable_safety_circuit

true、 false

true

リ セッ ト タイプ

非同期リセッ ト

同期リセッ ト

reset_typeasynchronous_resetsynchronous_reset

非同期リセッ ト

Full フラグのリセッ ト値

0、 1

full_flags_reset_value

0、 1

0

Dout のリセッ ト値

true、 false

use_dout_reset

true、 false

true

dout_reset_value 0

Almost Full フラグ

true、 false

almost_full_flag

true、 false

false

Almost Empty フラグ

true、 false

almost_empty_flag

true、 false

false

読み出しクロ ッ ク周波数

1 ~ 1000

read_clock_frequency

1 ~ 1000

1

書き込みクロ ッ ク周波数

1 ~ 1000

write_clock_frequency

1 ~ 1000

1

書き込み肯定応答

true、 false

write_acknowledge_flag

true、 false アクティブ High

書き込み肯定応答の極性(1)

アクティブ Highアクティブ Low

write_acknowledge_senseactive_highactive_low

アクティブ High

オーバーフロー フラグ

true、 false

overflow_flag

true、 false

false

表 4-2: Vivado IDE パラメーターとユーザー パラメーターの関係 (続き)

Vivado IDE パラメーター ユーザー パラメーター デフォルト値

Page 150: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 150PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

オーバーフロー フラグの極性(1)

アクティブ Highアクティブ Low

overflow_senseactive_highactive_low

アクティブ High

有効フラグ

true、 false

valid_flag

true、 false

false

有効フラグの極性(1)

アクティブ Highアクティブ Low

valid_senseactive_highactive_low

アクティブ High

アンダーフロー フラグ

true、 false

underflow_flag

true、 false

false

アンダーフロー フラグの極性(1)

アクティブ Highアクティブ Low

underflow_senseactive_highactive_low

アクティブ High

プログラマブル Full タイプ

プログラマブル Full しきい値なし

単一のプログラマブル Full しきい定数

複数のプログラマブル Full しきい定数

単一のプログラマブル Full 入力ポート

複数のプログラマブル Full 入力ポート

programmable_full_typeNo_Programmable_Full_ThresholdSingle_Programmable_Full_Threshold_ConstantMultiple_programmable_Full_Threshold_ConstantsSingle_Programmable_Full_Threshold_Input_PortMultiple_Programmable_Full_Threshold_Input_Ports

No_Programmable_Full_Threshold

Full しきいアサート値 4 ~ 1022 (7 シ リーズ デバイス)5 ~ 1023 (UltraScale デバイス)

full_threshold_assert_value 1022 (7 シ リーズ デバイス)1023(UltraScale デバイス)

Full しきい二ゲート値

3 ~ 1021 (7 シ リーズ デバイス)1 ~ 1022 (UltraScale デバイス)

full_threshold_negate_value 1021 (7 シ リーズ デバイス)1022 (UltraScale デバイス)

プログラマブル Empty タイプ

プログラマブル Empty しきい値なし

単一のプログラマブル Empty しきい定数

複数のプログラマブル Empty しきい定数

単一のプログラマブル Empty 入力ポート

複数のプログラマブル Empty 入力ポート

programmable_empty_typeNo_programmable_empty_thresholdSingle_Programmable_empty_Threshold_ConstantMultiple_programmable_empty_Threshold_ConstantsSingle_Programmable_empty_Threshold_Input_PortMultiple_Programmable_empty_Threshold_Input_Ports

No_Programmable_Empty_Threshold

Empty しきいアサート値

2 ~ 1020 (7 シ リーズ デバイス)2 ~ 1022 (UltraScale デバイス)

empty_threshold_assert_value 2

表 4-2: Vivado IDE パラメーターとユーザー パラメーターの関係 (続き)

Vivado IDE パラメーター ユーザー パラメーター デフォルト値

Page 151: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 151PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

Empty しきい二ゲート値

3 ~ 1021 (7 シ リーズ デバイス)3 ~ 1023 (UltraScale デバイス)

empty_threshold_negate_value 3

よ り正確なデータ カウン ト

true、 false

use_extra_logic

true、 false

false

データ カウン ト

true、 false

data_count

true、 false

false

データ カウン ト幅

1 - log2(書き込みの深さ )+1

Data_count_width

1 - log2(書き込みの深さ )+1

10

書き込みデータ カウン ト

true、 false

wr_data_count

true、 false

false

書き込みデータ カウン ト幅

1 - log2(書き込みの深さ )+1

wr_data_count_width

1 - log2(書き込みの深さ )+1

10

読み出しデータ カウン ト

true、 false

rd_data_count

true、 false

false

読み出しデータ カウン ト幅

1 - log2(読み出しの深さ )+1

rd_data_count_width

1 - log2(読み出しの深さ )+1

10

ク ロ ッ ク乗せ換えレジスタでのタイ ミ ング違反のディ スエーブル

true、 false

Disable_timing_violations

true、 false

false

プロ ト コル

AXI4AXI3AXI4-Lite

axi_typeAXI4AXI3AXI4_Lite

AXI4

読み出し書き込みモード

読み出し /書き込み

読み出し専用

書き込み専用

read_write_moderead_writeread_onlywrite_only

読み出し /書き込み

クロ ッ ク タイプ AXI共通クロ ッ ク

独立クロ ッ ク

clock_type_axicommon_clockindependent_clock

共通クロ ッ ク

ク ロ ッ ク乗せ換えロジッ ク全体の同期段数

2 ~ 8

synchronization_stages_(2)

2 ~ 8

2

ID 幅0 ~ 32

Id_width

0 ~ 32

0

アドレス幅

1 ~ 64

address_width

1 ~ 64

32

データ幅

32 ~ 1024 (2 のべき数)

data_width

32 ~ 1024

64

表 4-2: Vivado IDE パラメーターとユーザー パラメーターの関係 (続き)

Vivado IDE パラメーター ユーザー パラメーター デフォルト値

Page 152: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 152PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

AWUSER の幅

1 ~ 256

awuser_width

1 ~ 256

1

WUSER の幅

1 ~ 256

wuser_width

1 ~ 256

1

BUSER の幅

1 ~ 256

buser_width

1 ~ 256

1

ARUSER の幅

1 ~ 256

aruser_width

1 ~ 256

1

RUSER の幅

1 ~ 256

ruser_width

1 ~ 256

1

コンフ ィギュレーシ ョ ン オプシ ョ ン

FIFO

レジスタ スライス

パス スルー ワイヤ

_type(2)

FIFO

レジスタ スライス

パス スルー ワイヤ

FIFO

FIFO インプリ メンテーシ ョ ン タイプ

共通クロ ッ ク ブロ ッ ク RAM共通クロ ッ ク分散 RAM

Fifo_implementation_(2)

共通クロ ッ ク ブロ ッ ク RAM共通クロ ッ ク分散 RAM

共通クロ ッ ク分散 RAM

FIFO アプリ ケーシ ョ ン タイプ

データ FIFOパケッ ト FIFO低レイテンシ データ FIFO

Fifo_application_type_(2)

データ FIFOパケッ ト FIFO低レイテンシ データ FIFO

データ FIFO

FIFO の深さ

16 ~ 4194304 (2 の倍数で 16 ~ 2^22)

input_depth_(2)書き込みアドレス チャネル: 16書き込みデータ チャネル: 512書き込み応答チャネル: 16読み出しアドレスチャネル: 16読み出しデータ チャネル: 512AXI タイプ = AXI Stream、 AXI Stream: 512

ECC のイネーブル

true、 false

enable_ecc_(2)

true、 false

false

シングル ビッ ト エラー挿入

true、 false

inject_sbit_error_(2)

true、 false

false

ダブル ビッ ト エラー挿入

true、 false

inject_sbit_error_(2)

true、 false

false

FIFO を占拠しているデータ カウン ト を提供

true、 false

enable_data_Counts_(2)

true、 false

false

表 4-2: Vivado IDE パラメーターとユーザー パラメーターの関係 (続き)

Vivado IDE パラメーター ユーザー パラメーター デフォルト値

Page 153: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 153PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

プログラマブル Full タイプ

プログラマブル Full しきい値なし

単一のプログラマブル Full しきい定数

複数のプログラマブル Full しきい定数

単一のプログラマブル Full 入力ポート

複数のプログラマブル Full 入力ポート

programmable_full_type_(2)

プログラマブル Full しきい値なし

単一のプログラマブル Full のしきい値定数

複数のプログラマブル Full のしきい値定数

単一のプログラマブル Full 入力ポート

複数のプログラマブル Full 入力ポート

プログラマブル Full しきい値なし

Full しきいアサート値 4 ~ 1022 (7 シ リーズ デバイス)5 ~ 1023 (UltraScale デバイス)

full_threshold_assert_value_(2) 1022 (7 シ リーズ デバイス)1023 (UltraScale デバイス)

プログラマブル Empty タイプ

プログラマブル Empty しきい値なし

単一のプログラマブル Empty のしきい値定数

複数のプログラマブル Empty のしきい値定数

単一のプログラマブル Empty 入力ポート

複数のプログラマブル Empty 入力ポート

programmable_empty_type_(2)

プログラマブル Empty しきい値なし

単一のプログラマブル Empty のしきい値定数

複数のプログラマブル Empty のしきい値定数

単一のプログラマブル Empty 入力ポート

複数のプログラマブル Empty 入力ポート

プログラマブル Empty しきい値なし

Empty しきい値アサートの値

2 ~ 1020 (7 シ リーズ デバイス)2 ~ 1022 (UltraScale デバイス)

empty_threshold_assert_value_(2) 2

アンダーフロー フラグ

true、 false

underflow_flag_axi

true、 false

false

アンダーフロー フラグ

アクティブ Highアクティブ Low

underflow_sense_axi

アクティブ Highアクティブ Low

アクティブ High

ACLKEN あ り

true、 false

has_acklen

true、 false

false

ク ロ ッ ク イネーブル タイプ

スレーブ インターフェイス ク ロ ッ ク イネーブル

マスター インターフェイス ク ロ ッ ク イネーブル

clock_enable_typeslave_interface_clock_enablemaster_interface_clock_enable

スレーブ インターフェイス クロ ッ ク イネーブル

表 4-2: Vivado IDE パラメーターとユーザー パラメーターの関係 (続き)

Vivado IDE パラメーター ユーザー パラメーター デフォルト値

Page 154: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 154PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

注記: 独立クロ ッ ク分散 RAM ベースの制約がアップデート され、 インプリ メンテーシ ョ ン段階でかかる時間が短縮されます。 これによ り偽ポジティブの CDC-1 警告メ ッセージが表示される可能性があ り ますが、 無視しても問題はあ り ません。

注記: メモ リ マップド インターフェイスで FIFO Generator IP を使用する と、 IP 内のリセッ ト同期が複数回繰り返されるため、 Vivado ツールによ り CDC-11 がト リガーされます。 wr_rst_busy 信号をディアサートする前に、 FIFO Generator 自体が両方のド メ インがリセッ ト解放されているのを確認するので、 この CDC-11 は無視しても問題あ りません。

出力の生成

コア生成時に作成されるファ イルについては、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照してください。

TDATA 数のバイ ト

0 ~ 512注記: 範囲には 2 のべき乗まで上げた値が含まれ

る。

tdata_num_bytes

0 ~ 512注記: 範囲には 2 のべき乗まで上げた値が含ま

れる。

1

TID 幅0 ~ 32

tid_width

0 ~ 32

0

TDEST 幅0 ~ 32

tdest_width

0 ~ 32

0

TUSER 幅0 ~ 4096

tuser_width

0 ~ 4096

4

TSTRB あ り

true、 false

has_tstrb

true、 false

false

TKEEP あ り

true、 false

has_tkeep

true、 false

false

TREADY

true、 false

enable_tready

true、 false

true

TLAST

true、 false

enable_tlast

true、 false

false

レジスタ スライス

完全レジスタ化

軽量

register_slice_mode_(2)

fully_registeredlight_weight

すべてレジスタ付き

クロ ッ ク乗せ換えレジスタでのタイ ミ ング違反のディ スエーブル

true、 false

Disable_timing_violations_axi

true、 false

false

注記:1. UltraScale デバイスでは使用できません。

2. このユーザー パラ メーターには、 axis、 wach、 wdch、 wrch、 rach および rdch の接尾辞が付きます。 たとえば、 enable_ecc_axis、enable_ecc_wach、 enable_ecc_wdch、 enable_ecc_wrch、 enable_ecc_rach、 enable_ecc_rdch とな り ます。

3. このユーザー パラ メーターには、 axis、 wach、 wdch、 wrch、 rach および rdch の接頭辞が付きます。 たとえば、 axis_type、 wach_type、wdch_type、 wrch_type、 rach_type、 rdch_type とな り ます。

表 4-2: Vivado IDE パラメーターとユーザー パラメーターの関係 (続き)

Vivado IDE パラメーター ユーザー パラメーター デフォルト値

Page 155: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 155PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

AXI コアのカスタマイズおよび生成

次の手順を使用して、 IP コアに関連付けられているさまざまなパラ メーターの値を指定する と、 デザインで使用されている IP をカスタマイズできます。

1. IP カタログから IP を選択します。

2. 選択した IP をダブルク リ ッ クするか、 ツールバーまたは右ク リ ッ ク メニューから [Customize IP] コマンドをクリ ッ ク します。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] および 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8] を参照してください。

注記: この章の図は、 Vivado 統合設計環境 (IDE) を表したものです。 このレイアウ トは現在のバージ ョ ンとは異なる場合があ り ます。

AXI メモ リ マップドの場合は、 FIFO Generator コアに次のコンフ ィギュレーシ ョ ン タブが含まれます。

• インターフェイス選択

• 幅の計算

• FIFO コンフ ィギュレーシ ョ ン

• FIFO コンフ ィギュレーシ ョ ン用の共通ページ

AXI4/AXI3 および AXI4-Lite インターフェイスの場合、 FIFO Generator コアには、 各 FIFO チャネルをコンフ ィギュレーシ ョ ンするための別のページが用意されています。 詳細は、 第 1 章の 「読み出しおよび書き込みチャネル用に独立した FIFO の簡単な統合」 を参照してください。

• サマリ

IDE の [AXI4 Ports] タブで指定したコンフ ィギュレーシ ョ ン設定は、 AXI4/AXI3 または AXI4-Lite インターフェイス用に選択したチャネルすべてに適用されます。

これらのカスタマイズ IDE タブの詳細は、 次のセクシ ョ ンで説明します。

[Basic] タブ

図 4-6 は、 AXI インターフェイスが選択された [Basic] タブを示しています。

Page 156: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 156PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

• [AXI Interface Options]: AXI4-Stream、 AXI4、 AXI3、 および AXI4-Lite の 4 つの AXI インターフェイス形式があり ます。

• [Clocking Options]: FIFO Generator コアでは、 書き込みおよび読み出し操作に独立または共通クロ ッ ク ド メ インを使用して FIFO をコンフ ィギュレーシ ョ ンできます。

FIFO Generator コアを独立クロ ッ クでコンフ ィギュレーシ ョ ンする場合は、 書き込みおよび読み出しポートにそれぞれ独立したクロ ッ ク ド メ インがインプリ メン トできます。 FIFO Generator コアによ り ク ロ ッ ク ド メ イン間の同期化が処理されるので、 位相および周波数には何の要件もあ り ません。 シングル ク ロ ッ ク ド メ インでデータ バッファ リ ングが必要な場合は、 FIFO Generator コアを使用し、 共通クロ ッ ク オプシ ョ ンを選択して、 シングル ク ロ ッ ク用に最適化されたコアを生成できます。

共通クロ ッ ク FIFO の詳細は、 第 3 章の 「共通クロ ッ ク FIFO: ブロ ッ ク RAM および分散 RAM」 を参照してください。

独立クロ ッ ク FIFO の詳細は、 第 3 章の 「独立クロ ッ ク : ブロ ッ ク RAM および分散 RAM」 を参照してください。

スレーブ クロック イネーブルを使用した書き込みの実行

注記: このオプシ ョ ンは AXI Stream インターフェイスでのみ使用可能です。

スレーブ インターフェイス ク ロ ッ ク イネーブルによ り、 AXI マスターは FIFO の AXI スレーブ インターフェイス (または書き込み側) の分数レートで動作します。 上のタイ ミ ング図は、 AXI マスターが FIFO AXI スレーブ インターフェイスの半分の周波数で動作しているこ とを示しています。 この場合のクロ ッ ク イネーブルは 「シングルクロ ック幅で同期」 しているので、 AXI スレーブ ク ロ ッ クの 2 ク ロ ッ ク サイクルに 1 回発生します。

X-Ref Target - Figure 4-6

図 4-6: [Basic] タブ

Page 157: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 157PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

マスター クロック イネーブルを使用した読み出しの実行

注記: このオプシ ョ ンは AXI Stream インターフェイスでのみ使用可能です。

マスター インターフェイス ク ロ ッ ク イネーブルによ り、 AXI マスターは FIFO の AXI マスター インターフェイス (または読み出し側) の分数レートで動作します。 上のタイ ミ ング図は、 AXI スレーブが FIFO AXI マスター インターフェイスの半分の周波数で動作しているこ とを示しています。 この場合のクロ ッ ク イネーブルは 「シングルクロ ック幅で同期」 しているので、 FIFO AXI スレーブ ク ロ ッ クの 2 ク ロ ッ ク サイクルに 1 回発生します。

[Ports] タブ

AXI FIFO の幅は、 各チャネルのすべての信号を集約して、 自動的に計算されます。 AXI4-Stream、 AXI4、 AXI3、 および AXI4-Lite インターフェイスのチャネル情報信号は 表 4-3 および 表 4-4 にリ ス ト されています。 IDE では次のタブを使用してコンフ ィギュレーシ ョ ンします。

• 「[AXI4-Stream Ports] タブ」

• 「[AXI4/AXI3 Ports] タブ」

• 「[AXI4-Lite Ports] タブ」

[AXI4-Stream Ports] タブ

X-Ref Target - Figure 4-7

図 4-7: [AXI4-Stream Ports] タブ

Page 158: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 158PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

AXI4-Stream FIFO では、 TDATA、 TUSER、 TID、 TDEST 信号の幅を設定できます。 TKEEP、 TSTRB 信号の幅は設定された TDATA の幅で決定され、 内部的には (TDATA Width)/8 の式で計算されます。

選択されたすべての信号について、 選択されたすべての信号の幅を合計するこ とで AXI4-Stream FIFO の幅が決定されます。

[AXI4/AXI3 Ports] タブ

AXI4/AXI3 の FIFO 幅は、 ID、 ADDR、 DATA、 USER 信号用に設定できます。 ID 幅は AXI3 インターフェイスのすべてのチャネルに適用されます。 書き込みチャネルと読み出しチャネルの両方が選択されている場合、 その両方に同じ ADDR と DATA の幅が適用されます。ユーザー信号と ID 信号は AXI4/AXI3 FIFO の唯一のオプシ ョ ン信号であ り、各チャネルで独立してコンフ ィギュレーシ ョ ンできます。

表 4-3 に示すよ うに、 選択されたすべての信号について、 各チャネルの AXI4/AXI3 FIFO の幅は、 特定のチャネルの信号の幅を合計して決定されます。

X-Ref Target - Figure 4-8

図 4-8: [AXI4/AXI3 Ports] タブ

表 4-3: AXI FIFO 幅計算で使用する AXI4/AXI3 信号

書き込みアドレスチャネル

読み出しアドレスチャネル

書き込みデータチャネル

読み出しデータチャネル

書き込み深さチャネル

AWID[m:0] ARID[m:0] WID[m:0] RID[m:0] BID[m:0]

AWADDR[m:0] ARADDR[m:0] WDATA[m-1:0] RDATA[m-1:0] BRESP[1:0]

AWLEN[7:0] ARLEN[7:0] WLAST RLAST BUSER[m:0]

AWSIZE[2:0] ARSIZE[2:0] WSTRB[m/8-1:0] RRESP[1:0]

Page 159: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 159PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

[AXI4-Lite Ports] タブ

AXI4-Lite FIFO では、 ADDR 信号と DATA 信号の幅を設定できます。 書き込みチャネルと読み出しチャネルの両方が選択されている場合、 その両方に同じ ADDR と DATA の幅が適用されます。

表 4-4 に示すよ うに、 各チャネルの AXI4-Lite FIFO の幅は、 特定のチャネルの信号の幅を合計して決定されます。

AWBURST[1:0] ARBURST[1:0] WUSER[m:0] RUSER[m:0]

AWLOCK[2:0] ARLOCK[2:0]

AWCACHE[4:0] ARCACHE[4:0]

AWPROT[3:0] ARPROT[3:0]

AWREGION[3:0] ARREGION[3:0]

AWQOS[3:0] ARQOS[3:0]

AWUSER[m:0] ARUSER[m:0]

X-Ref Target - Figure 4-9

図 4-9: [AXI4-Lite Ports] タブ

表 4-3: AXI FIFO 幅計算で使用する AXI4/AXI3 信号 (続き)

書き込みアドレスチャネル

読み出しアドレスチャネル

書き込みデータチャネル

読み出しデータチャネル

書き込み深さチャネル

Page 160: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 160PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

デフォルト設定

表 4-5 および 表 4-6 は、 各メモ リ マップドおよび AXI4 Stream インターフェイス タイプのデフォルト設定を表示します。

表 4-4: AXI4-Lite 幅計算

書き込みアドレスチャネル

読み出しアドレスチャネル

書き込みデータチャネル

読み出しデータチャネル

書き込み深さチャネル

AWADDR[m:0] ARADDR[m:0] WDATA[m-1:0] RDATA[m:0] BRESP[1:0]

AWPROT[3:0] ARPROT[3:0] WSTRB[m/8-1:0] RRESP[1:0]

表 4-5: 7 シリーズ デバイスの AXI FIFO デフォルト設定

インターフェイス タイプ

チャネル メモリ タイプ FIFO の深さ

AXI4-Stream なし ブロ ッ ク メモ リ 1024

AXI4/AXI3 書き込みアドレス、 読み出しアドレス、 書き込み応答

分散メモ リ 16

AXI4/AXI3 書き込みデータ、 読み出しデータ ブロ ッ ク メモ リ 1024

AXI4-Lite 書き込みアドレス、 読み出しアドレス、 書き込み応答

分散メモ リ 16

AXI4-Lite 書き込みデータ、 読み出しデータ 分散メモ リ 16

表 4-6: UltraScale アーキテクチャの AXI FIFO デフォルト設定

インターフェイス タイプ

チャネル メモリ タイプ FIFO の深さ

AXI4-Stream 該当なし ビルト イン 1024

AXI4/AXI3 書き込みアドレス、 読み出しアドレス、 書き込み応答

分散メモ リ 16

AXI4/AXI3 書き込みデータ、 読み出しデータ ビルト イン 1024

AXI4-Lite 書き込みアドレス、 読み出しアドレス、 書き込み応答

分散メモ リ 16

AXI4-Lite 書き込みデータ、 読み出しデータ 分散メモ リ 16

Page 161: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 161PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

[AW/W/B/AR/R/AXI4-Stream Configuration] タブ

AXI FIFO の機能は、 FWFT モードのネイティブ FIFO の機能と同じです。サポート されている機能セッ トには、 ECC (ブロ ッ ク RAM)、 プログラマブル レディ生成 (Full、 Almost Full、 プログラマブル Full)、 プログラマブル有効生成 (Empty、 Almost Empty、 プログラマブル Empty) などがあ り ます。

FWFT モードの詳細は、 第 3 章の 「First-Word Fall-Through (FWFT) モードの FIFO 読み出し操作」 を参照してください。

• [Configuration Options]: FIFO、 レジスタ スライス、 またはパス スルー ワイヤ。

• [FIFO Options]:

° [FIFO Implementation Type]: FIFO Generator コアによ り、 ブロ ッ ク RAM または分配 RAM のメモ リ タイプから構築された FIFO がインプリ メン ト されます。 またこのコアでは、 FIFO の計算された幅および選択した深さに基づいて、 最適なコンフ ィギュレーシ ョ ンでメモ リ プリ ミティブがま とめられます。

° [FIFO Application Type]: データ FIFO、 パケッ ト FIFO、 または短レイテンシ FIFO。

° [FIFO Width]: AXI FIFO では、 対称的な書き込み幅と読み出し幅がサポート されています。 AXI FIFO の幅は、 選択されたインターフェイス タイプ (AXI4-Stream、 AXI4、 AXI3、 または AXI4-Lite) と、 指定されたインターフェイス内で選択された信号と構成された信号幅に基づいて決定されます。 FIFO の書き込み幅の計算は、 157 ページの 「[Ports] タブ」 で定義されています。

° [FIFO Depth]: AXI FIFO の場合、 有効範囲は 16 から 131072 までです。 2 のべき乗の深さのみ指定可能です。

• [ECC Options]: ブロ ッ ク RAM および FIFO マクロには、 ビルト インまたは汎用インターコネク ト、 エラー挿入および訂正チェッ ク機能があ り ます。 この機能は、 共通クロ ッ クおよび独立クロ ッ クのブロ ッ ク RAM FIFO で使用可能です。

X-Ref Target - Figure 4-10

図 4-10: [AXI FIFO Configuration] タブ

Page 162: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 162PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

エラー挿入およびエラー訂正の詳細は、 第 3 章の 「ビルト インのエラー訂正チェッ ク」 を参照してください。

• [Data Threshold Parameters]:

° [Programmable Full Type]: ド ロ ップダウン リ ス トからプログラマブル full のしきいタイプを選択します。 各しきい値の有効範囲が表示されます。 範囲は IDE のほかの場所で選択されているオプシ ョ ンによって異なり ます。

- [Full Threshold Assert Value]: 単一のしきい値定数のプログラマブル full が選択されている場合に使用可能です。 ユーザー定義値を入力します。 このしきい値の有効範囲は IDE で提供されます。

° [Programmable Empty Type]: ド ロ ップダウン リ ス トからプログラマブル empty のしきい値タイプを選択します。 各しきい値の有効範囲が表示されます。 範囲は IDE のほかの場所で選択されているオプシ ョ ンによって異なり ます。

- [Empty Threshold Assert Value]: 単一のしきい値定数のプログラマブル empty が選択されている場合に使用可能です。 ユーザー定義値を入力します。 このしきい値の有効範囲は IDE で提供されます。

° FIFO 占有データ カウン ト を提供します。 オプシ ョ ンでは、 FIFO 内のワード数を指定します。 また、 ブロ ッ ク RAM および分散 RAM インプリ メンテーシ ョ ン タイプ用のオプシ ョ ンの割り込みフラグ (オーバーフローおよびアンダーフロー ) もあ り ます。

占有データ カウン ト

data_count は、 FIFO 内のワード数を追跡します。 データ カウン ト バスの幅は常に log2(FIFO 深さ )+1 に設定されます。 共通クロ ッ ク モードでは、 AXI FIFO によ り 1 つの 「デー タ カウン ト 」 出力が提供されます。 独立したクロ ック モードでは、 読み出しデータ カウン ト と書き込みデータ カウン トの出力が提供されます。

占有データ カウン トの詳細は、 第 3 章の「First-Word Fall-Through (FWFT) モードのデータ カウン ト 」 および 第 3 章の「さ らに正確なデータ カウン ト (追加ロジッ クを使用)」 を参照してください。

データしきい値パラメーターの例

• プログラマブル Full のしきい値は、 FIFO の占有率を 16 未満に制限するために使用できます。

• プログラマブル Empty のしきい値は、 そのしきい値に基づいて部分的な AXI 転送をドレインするために使用できます。

• データ カウン トは、 FIFO 内のト ランザクシ ョ ン数を決定するために使用できます。

Page 163: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 163PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

[Status Flags] タブ

• [Interrupt Flag Options]:

° [Underflow Flag]: 読み出し操作が完了しなかったこ とを示すのに使用されます。 これは読み出しが開始し、FIFO が空のと きに発生します。 このフラグは読み出しクロ ッ ク (rd_clk) に同期します。 FIFO がアンダーフロー状態になっても、 FIFO のステータスは変わり ません (深刻なダメージはあ り ません)。

° [Overflow Flag]: 書き込み操作が完了しなかったこ とを示すのに使用されます。 これは、 full がアサート されている間に FIFO への書き込みが開始する と発生します。 このフラグは書き込みクロ ッ ク (wr_clk) に同期します。 FIFO がオーバーフロー状態になっても、 FIFO のステータスは変わり ません (ダメージはあ り ません)。

オーバーフローおよびアンダーフローのフラグの詳細は、 第 3 章の 「アンダーフロー」 および 第 3 章の 「オーバーフロー」 を参照してください。

[Summary] タブ

[Summary] タブには、 インターフェイス タイプ、 FIFO タイプ、 FIFO サイズ、 選択した追加機能のステータスなど、選択した AXI FIFO オプシ ョ ンの概要が表示されます。 追加機能のセクシ ョ ンには、 ほとんどの機能に 「Not Selected」 (使用されていない場合)、 または 「Selected」 (使用されている場合) と表示されます。

注記: こ こで選択した FIFO の深さによって、 選択したコンフ ィギュレーシ ョ ンの実際の FIFO の深さが決ま り ます。これらの深さは、 IDE の 4 番目の画面で選択されている深さ とは若干異なる場合があ り ます。

X-Ref Target - Figure 4-11

図 4-11: [Status Flags] タブ

Page 164: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 164PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

[Summary] タブ (AXI4-Stream)X-Ref Target - Figure 4-12

図 4-12: [AXI4-Stream Summary] タブ

Page 165: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 165PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

[Summary] タブ (AXI メモリ マップド )

ユーザー パラメーター

Vivado IDE の GUI のフ ィールド と、 ユーザー パラ メーターとの関連性の詳細は、 表 4-2 を参照してください。

出力の生成

コア生成時に作成されるファ イルについては、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照してください。

X-Ref Target - Figure 4-13

図 4-13: [AXI Memory Mapped Summary] タブ

Page 166: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 166PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

コアの制約の設定

この章では、 Vivado Design Suite を使用してインプリ メン トする場合の FIFO Generator コアの制約について説明します。

必須の制約

FIFO Generator コアによ り、 同期/非同期 FIFO 用のサンプル ク ロ ッ ク、 最大遅延、 フォルス パス制約が提供されます。 これらのサンプル制約は、 必要に応じてユーザーのデザイン制約ファイルに追加できます。

デバイス、 パッケージ、 スピード グレードの選択

サポート デバイスの詳細は、 「IP の概要」 を参照してください。

クロック周波数

ク ロ ッ ク周波数制約はあ り ません。

クロック管理

このコアに追加のクロ ッ ク管理制約はあ り ません。

クロック配置

このコアに追加のクロ ッ ク配置制約はあ り ません。

シミ ュレーシ ョ ン

このセクシ ョ ンでは、 Vivado® Design Suite での IP のシ ミ ュレーシ ョ ンについて説明します。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

FIFO Generator コアでは Verilog シ ミ ュレーシ ョ ン モデルがサポート されています。

重要: 7 シ リーズや Zynq-7000 デバイスをターゲッ トにしたコアでは、 UNIFAST ライブラ リはサポート されていません。 ザイ リ ンクス IP は、 UNISIM ライブラ リのみでテス トおよび検証されています。

ビヘイビアー モデル

重要: 提供のビヘイビアー モデルは、 同期遅延をモデル化したものではなく、 FIFO Generator コアのビヘイビアーおよび機能を再現するよ うに設計されています。 モデルでは、 書き込み/読み出し動作 ( リ セッ ト ウ ィンド ウ外) の FIFO ジェネレーター コアに合わせて出力信号のアサート /ディアサートが維持されます。 非同期リセッ トのアサート /ディアサートがクロ ッ クの立ち上がりエッジ (clk/wr_clk/rd_clk) で正確に起こる場合、 ビヘイビアー モデルと コアの間には 1 ク ロ ッ ク サイクル (clk/wr_clk/rd_clk) の差が出る可能性があ り ます。 すべての入力信号 (clk、 wr_clk, rd_clk を除く ) はモデル内で 100 ps 遅延しているため、 構造シ ミ ュレーシ ョ ンに合わせるためには、 すべての入力信号のセッ ト アップ/ホールド ウ ィンド ウを適切に維持するこ とを強くお勧めします。 コアがリ

Page 167: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 167PG057 2017 年 10 月 4 日 japan.xilinx.com

第 4 章: デザイン フローの手順

セッ ト なしでコンフ ィギュレーシ ョ ンされている場合は、 シ ミ ュレーシ ョ ンの開始時 (時間 0 から ) に最低速で 15 クロ ッ ク サイクル間を待機するこ とを推奨します。

ビヘイビアー モデルは機能的に正し く、 コンフ ィギュレーシ ョ ンされた FIFO の動作を表します。 書き込み読み出しのレイテンシとステータス フラグの動作は、 FIFO デザインの実際のインプリ メンテーシ ョ ンと正確に一致しています。

ビヘイビアー モデルには、 次のよ うな注意事項が適用されます。

• 書き込み操作は、対応するハンドシェイ ク信号と同様に、常に書き込みクロ ッ ク (wr_clk) または共通クロ ッ ク (clk) ド メ インに相対的に発生します。

• 読み出し操作は、 対応するハンドシェイ ク信号と同様に、 読み出しクロ ッ ク (rd_clk) または共通クロ ッ ク (clk) ド メ インに対して常に相対的に発生します。

• FIFO を介した遅延 (書き込みから読み出しまでのレイテンシ) は、 VHDL モデル、 Verilog モデル、 コアと一致します。

• ステータス フラグ (Full、 Almost Full、 プログラマブル Full、 Empty、 Almost Empty、 プログラマブル Empty) のディアサートは、 VHDL モデル、 Verilog モデル、 コアに一致します。

注記: 独立クロ ッ クまたはビルト イン FIFO の共通クロ ッ クを選択した場合、 暗号化された RTL ファ イルを使用してシ ミ ュレーシ ョ ンを実行します。 ファ イル配布構造の詳細は、 付録 E を参照してください。

構造 (合成後/インプリ メンテーシ ョ ン後) モデル

構造モデルは、 シ ミ ュレーシ ョ ン時間を犠牲にして FIFO の動作をよ り正確にモデル化するよ うに設計されています。 これらのモデルによ り、非同期 FIFO のクロ ッ ク ド メ イン間でのサイクル精度の近似値が提供されます。非同期 FIFO モデルでは、 温度、 プロセス、 周波数の関係を含むクロ ッ ク ド メ イン間の物理的な関係がド メ インの交差に影響し、 その影響の度合いが不確実なため、 100% のサイクル精度を実現するこ とはできません。

注記: 構造モデルをビヘイビアー モデルと比較してシ ミ ュレーシ ョ ンを実行する場合、 シ ミ ュレーシ ョ ンのパフォーマンスに影響を与える可能性があ り ます。

合成およびインプリ メンテーシ ョ ン

合成およびインプリ メンテーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照してください。

Page 168: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 168PG057 2017 年 10 月 4 日 japan.xilinx.com

第 5 章

サンプル デザインの詳細図 5-1 は、 サンプル デザインの構造を示しています。

サンプル デザインには、 次が含まれます。

• FIFO Generator コアのインスタンス。 FIFO Generator コアは、 シ ミ ュレーシ ョ ンでブラ ッ ク ボッ クス と してインスタンシエート され、 インプリ メンテーシ ョ ンで Vivado IP カタログの IP カスタマイザーで生成される構造ネッ ト リ ス ト モデルに置換されてタイ ミ ング シ ミ ュレーシ ョ ンに使用されるか、 論理シ ミ ュレーシ ョ ンのビヘイビアー モデルに置換されます。

• 最上位ポートのクロ ッ ク信号用のグローバル ク ロ ッ ク バッファー。

サンプル デザインのインプリ メンテーシ ョ ン

コアを生成したら、 その生成されたコアを右ク リ ッ ク して [Open IP Example Design] をク リ ッ ク します。 開いているサンプル プロジェク トで [Run Synthesis] および [Run Implementation] をク リ ッ ク して、 サンプル デザインをインプリメン ト します。

X-Ref Target - Figure 5-1

図 5-1: サンプル デザインの構造

Page 169: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 169PG057 2017 年 10 月 4 日 japan.xilinx.com

第 5 章: サンプル デザインの詳細

サンプル デザインのシミ ュレーシ ョ ン

FIFO Generator コアを使用する と、 提供されているサンプル デザインを使用して、 すばやくシ ミ ュレーシ ョ ンし、 コアのビヘイビアーを観察できます。 シ ミ ュレーシ ョ ンには、 次の 5 つのタイプがあ り ます。

• ビヘイビアー

• 合成後の論理

• 合成後のタイ ミ ング

• インプリ メンテーシ ョ ン後の論理

• インプリ メンテーシ ョ ン後のタイ ミ ング

提供されるシ ミ ュレーシ ョ ン モデル (ビヘイビアー モデル) は、Vivado ツールでのコア プロジェク トの設定によって VHDL または Verilog,のいずれかになり ます。

Page 170: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 170PG057 2017 年 10 月 4 日 japan.xilinx.com

第 6 章

テストベンチこの章では、 Vivado® Design Suite で提供されるテス トベンチについて説明します。

図 6-1 は、 デモンス ト レーシ ョ ン用テス トベンチのブロ ッ ク図を示しています。

テストベンチの機能 デモンス ト レーシ ョ ン用テス トベンチは、 サンプル デザインおよびコア自体を実行するのに使用可能なシンプルな VHDL ファ イルです。 テス トベンチには、 次が含まれます。

• ク ロ ッ ク ジェネレーター

• データ ジェネレーター モジュール

• データ検証モジュール

• データ ジェネレーターおよび検証を制御するモジュール

ネイテ ィブ インターフェイスを使用するコア

ネイティブ インターフェイスを使用するコアのデモンス ト レーシ ョ ン用テス トベンチでは、 次のタスクが実行されます。

X-Ref Target - Figure 6-1

図 6-1: デモンスト レーシ ョ ン用テストベンチ

Test Bench Top

Test Bench Wrapper

FIFO Example Design

FIFOGenerator

Core

UserInterface

IOBs

DataGenerator

DataChecker

ClockGenerator

Checker

ProtocolController

X12967

Page 171: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 171PG057 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

• 入力クロ ッ ク信号が生成されます。

• リ セッ トがサンプル デザインに適用されます。

• 疑似乱数データが生成され、 FIFO のデータ入力ポートへの入力になり ます。

• データ入力ジェネレーターと同じシードを使用して、 FIFO Generator コアの dout ポートのデータが別の疑似乱数ジェネレーターで照合されます。

• full と empty の 2 つの条件でコアが実行されます。

• full/almost_full および empty/almost_empty フラグがチェッ ク されます。

AXI インターフェイスを使用するコア

AXI インターフェイスを使用するコアのデモンス ト レーシ ョ ン用テス トベンチでは、 次のタスクが実行されます。

• 入力クロ ッ ク信号が生成されます。

• リ セッ トがサンプル デザインに適用されます。

• 疑似乱数データが生成され、 FIFO の AXI インターフェイス入力信号への入力になり ます。 各チャネルの Valid-Ready ハンドシェイ ク プロ ト コルが個別にチェッ ク されます。

• 読み出し側の AXI 出力信号がまとめられ、 疑似乱数ジェネレーターのデータ と照合されます。

• AXI メモ リ マップド インターフェイスの場合、 データ ジェネレーターの 5 つのインスタンス、 データ検証、 プロ ト コル コン ト ローラーが使用されます。

• AXI4/AXI3 Full Packet FIFO の場合、 書き込みアドレス と読み出しアドレスの valid/ready 信号はチェッ ク されません。

デモンスト レーシ ョ ン用テストベンチのカスタマイズ

このセクシ ョ ンでは、 システム要件に合わせて使用可能なデモンス ト レーシ ョ ン用テス トベンチのさまざまなカスタマイズ オプシ ョ ンについて説明します。

データ /スティ ミ ュラスの変更 疑似乱数データ /スティ ミ ュラスは、 テス トベンチ ト ップ ファ イル (fg_tb_top.vhd) の FIFO Generator のテス トベンチ ラ ッパー モジュールに渡されるシードを変更する と変更できます。

テストベンチ実行時間の変更

テス トベンチのイテレーシ ョ ン カウン ト (終了前の full/empty 条件の数) は、TB_STOP_CNT パラ メーターに渡される値を変更する と変更できます。 このパラ メーターに 0 を渡すと、 テス トベンチ ト ップ ファ イル (fg_tb_top.vhd) で設定したテス トベンチ タイムアウ ト値までテス トベンチが実行されます。

また、 テス トベンチ ラ ッパー ファ イル (fg_tb_synth.vhd) で FREEZEON_ERROR パラ メーター値 (1 (TRUE)、 0 (FALSE)) を使用する と、 エラーでシ ミ ュレーシ ョ ンを停止するか、 TB_STOP_CNT で設定されたカウン トに到達する と停止するかを指定できます。

Page 172: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 172PG057 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

メ ッセージおよび警告

論理シ ミ ュレーシ ョ ンまたはタイ ミ ング シ ミ ュレーシ ョ ンが問題なく終了する と、 テス トベンチから次のメ ッセージが表示されますが、 これは無視しても問題あ り ません。

Failure: Test Completed Successfully

Page 173: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 173PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 A

検証、 順応性、 相互運用性ザイ リ ンクスでは、 社内開発のバス ファンクシ ョ ン モデルを使用して特許テス ト環境で FIFO Generator コアを検証済みです。 書き込みおよび読み出しデータ アクセスの有効なものと無効なものの両方を含めて、 何千ものテス ト ベクターが生成されて検証されています。

シミ ュレーシ ョ ン

FIFO Generator コアは、 ザイ リ ンクス Vivado Design Suite、 ザイ リ ンクス ISim/XSIM、 Cadence 社の Incisive Enterprise Simulator (IES)、 Synopsys VCS および VCS MX、 および Mentor Graphics 社の Questa SIM Simulator を使用してテス ト済みです。

Page 174: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 174PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 B

デバッグこの付録では、 FIFO Generator コアを使用するデザインのデバッグにあたって、 ザイ リ ンクス サポート ウェブサイト よ り入手可能な リ ソース、 デバッグ ツール、 および手順について説明します。

ザイリンクス ウェブサイ ト

FIFO Generator を使用した設計およびデバッグでヘルプが必要な場合は、 ザイ リ ンクス サポート ウェブ ページから製品の資料、 リ リース ノート、 アンサーなどを参照するか、 テクニカル サポートでサービス リ クエス ト を作成してください。

資料

この製品ガイ ドは FIFO Generator コアに関する主要資料です。 このガイ ド、 並びに設計プロセスで使用する各製品の関連資料はすべて、 ザイ リ ンクス サポート ウェブ ページ (https://japan.xilinx.com/support) またはザイ リ ンクス Documentation Navigator から入手できます。

ザイ リ ンクス Documentation Navigator は、 ダウンロード ページからダウンロードできます。 このツールの詳細および機能は、 インス トール後にオンライン ヘルプを参照してください。

アンサー

アンサーには、 よ く発生する問題についてその解決方法、 およびザイ リ ンクス製品に関する既知の問題などの情報が記載されています。 アンサーは、 ユーザーが該当製品の最新情報にアクセスできるよ う作成および管理されています。

このコアのアンサーを下に示します。 また、 ザイ リ ンクス サポート ウェブ ページからも検索できます。 よ り的確な検索結果を得るには、 次のよ うなキーワードを使用してください。

• 製品名

• ツールに表示される メ ッセージ

• 問題の概要

検索結果は、 フ ィルター機能を使用してさ らに絞り込むこ とができます。

FIFO Generator に関するマスター アンサー

AR: 54663

テクニカル サポート

ザイ リ ンクスは、 製品資料の説明に従って使用されている LogiCORE™ IP 製品に対するテクニカル サポート をザイリ ンクス サポート ウェブ ページで提供しています。 ただし、 次のいずれかに該当する場合、 タイ ミ ング、 機能、 サポートは保証されません。

Page 175: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 175PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 B: デバッグ

• 資料で定義されていないデバイスにソ リ ューシ ョ ンをインプリ メン ト した場合。

• 資料で定義されている許容範囲を超えてカスタマイズした場合。

• 「DO NOT MODIFY」 と されているデザイン セクシ ョ ンに変更を加えた場合。

ザイ リ ンクスでは、 さ らにヘルプが必要なカスタマーに対して、 テクニカル サポート を提供しています。 ザイ リ ンクス テクニカル サポートへのお問い合わせは、 ザイ リ ンクス サポート ウェブ ページを参照してください。

デバッグ ツール

FIFO Generator コアのデザインの問題を解決するには、 数多くのツールを利用できます。 さまざまな状況をデバッグするのに有益なツールを理解しておく こ とが重要です。

Vivado Design Suite のデバッグ機能

Vivado® Design Suite のデバッグ機能は、 Logic Analyzer および Virtual I/O コアをユーザー デザインに直接挿入します。 デバッグ機能を使用する と、 ト リガー条件を設定して、 アプリ ケーシ ョ ンおよび統合ブロッ クのポート信号をハード ウェアに取り込むこ とができます。 取り込まれた信号は、 その後解析できます。 Vivado IDE のこの機能は、ザイ リ ンクス デバイスで実行されるデザインの論理デバッグおよび検証に使用されます。

Vivado ロジッ ク解析は、 次の LogiCORE IP ロジッ ク デバッグ コアと共に使用されます。

• ILA 2.0 (およびそれ以降のバージ ョ ン)

• VIO 2.0 (およびそれ以降のバージ ョ ン)

詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 10] を参照してください。

シミ ュレーシ ョ ンのデバッグ

Vivado Design Suite でデザインをシ ミ ュレーシ ョ ンする詳細は、 『Vivado Design Suite ユーザー ガイ ド : シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

ハードウェア デバッグ

ハードウェアの問題は、 システム開始時の問題から、 テス ト後に生じる問題までさまざまです。 こ こでは、 一般的な問題のデバッグ手順を説明します。

汎用チェ ック

コアに対するタイ ミ ング制約が FIFO Generator からすべて適切に取り込まれているこ と、 さ らにインプリ メンテーシ ョ ン時にこれらの制約がすべて満たされているこ とを確認します。

• 配置配線後のタイ ミ ング シ ミ ュレーシ ョ ンで正し く動作しているかを確認します。 タイ ミ ング シ ミ ュレーシ ョンでは発生しない問題がハードウェアで発生する場合、 PCB の問題である可能性があ り ます。 すべてのクロ ック ソースがアクティブでク リーンであるこ とを確認してください。

• デザインで MMCM を使用している場合、 locked ポート をモニターして、 すべての MMCM がロッ ク しているこ とを確認します。

Page 176: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 176PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 B: デバッグ

• リ セッ ト中に wr_en および rd_en がト グルしないよ うにします。

• ビルト イン FIFO を使用する場合は、 リセッ ト ガイ ド ラインに従います。 詳細は、 第 3 章の 「共通/独立クロ ック : 7 シ リーズのビルト イン FIFO」 を参照してください。

• 独立クロ ッ ク FIFO を使用する場合は、 wr_en が書き込みクロ ッ ク ド メ インから、 rd_en が読み出しクロ ッ ク ド メ インから接続されるよ うにします。

• [Enable Reset Synchronization] オプシ ョ ンがオフの場合は、 wr_rst および rd_rst が FIFO Generator コアに渡される前に wr_clk および rd_clk を使用して同期されるよ うにします。

• 出力が 0 になった場合は、 ライセンスを確認してください。

インターフェイスのデバッグ

ネイティブ インターフェイス

データが書き込まれない場合は、 次を確認します。

• full が High の場合、 コアはデータを書き込むこ とができません。

• コアがリセッ ト ステートになっているかど うかを確認してください。

• wr_en が書き込みド メ イン ク ロ ッ ク と同期しているかど うかを確認してください。

データが読み出されない場合は、 次を確認します。

• empty が High の場合、 コアはデータを読み出すこ とができません。

• コアがリセッ ト ステートになっているかど うかを確認してください。

• rd_en が読み出し ド メ イン ク ロ ッ クに同期しているかど うかを確認してください。

Page 177: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 177PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 C

アップグレードこの付録には、 ISE® から Vivado® Design Suite へデザインを移行する際の情報、 および最新版 IP コアへのアップグレードに関する情報が記載されています。 Vivado Design Suite でアップグレードする場合のポート変更およびユーザー ロジッ クへの影響といった重要な情報も こ こに記載されています。

Vivado Design Suite への移行

Vivado Design Suite への移行方法については、 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911) [参照 6] を参照してください。

Vivado Design Suite でのアップグレード

このセクシ ョ ンでは、 Vivado Design Suite でこの IP コアの最新版にアップグレードする際の、 ユーザー ロジッ クおよびポートの変更について説明します。

重要: 7 シ リーズ デザインから UltraScale アーキテクチャを使用したデザインにアップグレードする場合、 リセッ ト中およびリセッ ト後のこのコアのビヘイビアーが約 20 の最も遅いクロ ッ ク分一致しなくな り ます。 UltraScale には、アーキテクチャ特有のユーザー パラ メーター (Asymmetric Port Width、 Low Latency、 Output Register など) があ り ます。非対称ポート幅の 7 シ リーズ デザインを UltraScale にアップグレードする場合は、 アップグレードが機能しないので、 ユーザーが操作する必要があ り ます。

パラメーターの変更点 このバージ ョ ンのコアで変更されたパラ メーターはあ り ません。

ポートの変更点

このバージ ョ ンのコアで変更されたポートはあ り ません。

Page 178: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 178PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 D

dout リセッ ト値のタイ ミング図 D-1 は、 同期リセッ ト (srst) の共通クロ ッ クのブロ ッ ク RAM、 分散 RAM、 およびシフ ト レジスタ ベースの FIFO、 および非同期リセッ ト (rst) の共通クロ ッ クのブロ ッ ク RAM FIFO の dout リ セッ ト値を示しています。

図 D-2 は、非同期リセッ ト (rst) の共通クロ ッ クの分散 RAM およびシフ ト レジスタ ベースの FIFO の dout リ セット値を示しています。

図 D-3 は、 非同期リセッ ト (rst) にエンベデッ ド レジスタを使用した 7 シ リーズ デバイスの共通クロ ッ クのビルトイン FIFO の dout リ セッ ト値を示しています。

X-Ref Target - Figure D-1

図 D-1: 共通クロックのブロック RAM ベースの FIFO の同期リセッ ト (srst) と非同期リセッ ト (rst) の dout リセッ ト値

X-Ref Target - Figure D-2

図 D-2: 共通クロックの分散/シフ ト RAM ベースの FIFO の非同期リセッ ト (rst) の dout リセッ ト値

X-Ref Target - Figure D-3

図 D-3: 共通クロックのビルト イン FIFO の dout リセッ ト値

clk

rst/srst

dout Previous value DOUT reset value

clk

rst

dout Previous value DOUT reset value

clk

dout Previous value DOUT reset value

Page 179: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 179PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 D: dout リセッ ト値のタイ ミング

図 D-4 は、非同期リセッ ト (rst) にエンベデッ ド レジスタを使用した UltraScale デバイスの共通クロ ッ クのビルト イン FIFO の dout リ セッ ト値を示しています。

図 D-5 は、 独立クロ ッ クのブロ ッ ク RAM ベースの FIFO (rd_rst) の dout リ セッ ト値を示しています。

図 D-6 は、 独立クロ ッ クの分散 RAM ベースの FIFO (rd_rst) の dout リ セッ ト値を示しています。

X-Ref Target - Figure D-4

図 D-4: UltraScale デバイスの共通クロックのビルト イン FIFO の dout リセッ ト値

X-Ref Target - Figure D-5

図 D-5: 独立クロックのブロック RAM ベースの FIFO の dout リセッ ト値

X-Ref Target - Figure D-6

図 D-6: 独立クロックの分散 RAM ベースの FIFO のdout リセッ ト値

wr_clk

wr_rst

dout Previous value DOUT reset value

rd_rst

rd_clk

wr_clk

wr_rst

dout Previous value DOUT reset value

rd_rst

rd_clk

Page 180: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 180PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 E

FIFO Generator のファイルFIFO Generator を生成する と、 多くのファ イルが作成されます。 合成に使用されるものもあれば、 ビヘイビアー シミ ュレーシ ョ ンに使用されるものもあ り ます。

ターゲッ ト言語 = VHDL/Verilog

プロジェク ト エリア:

<project_name>/<project_name>.srcs/sources_1/ip/<component_name>/fifo_generator_<core_version>/hdl

1. fifo_generator_<core_version>.vhd

° 合成に使用される FIFO Generator の最上位 RTL ファ イル

2. fifo_generator_<core_version>_vhsyn_rfs.vhd

° fifo_generator_<core_version>.vhd で使用される暗号化された RTL ファ イル

3. fifo_generator_<core_version>_rfs.v

° 最上位ファイルはビヘイビアー シ ミ ュレーシ ョ ンにのみ使用されます。 このファ イルでは、 ビヘイビアー モデルを使用するか、 暗号化された RTL を使用するかを選択できます。 ビヘイビアー モデルは <project_name>/<project_name>.srcs/sources_1/ip/<component_name>/fifo_generator_<core_version>/simulation ディ レク ト リに含まれます。

4. fifo_generator_<core_version>_rfs.vhd

° このファ イルはビヘイビアー シ ミ ュレーシ ョ ンにのみ使用されます。 このファ イルには、 ビルト イン FIFO コンフ ィギュレーシ ョ ン用の暗号化された RTL が含まれます。

Page 181: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 181PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F

補足情報次のセクシ ョ ンでは、 FIFO Generator コアに関する追加情報を示します。

自動アップグレード機能

FIFO Generator コアには、 古いバージ ョ ンの FIFO Generator コアを最新のバージ ョ ンに自動的にアップグレードする機能があ り ます。自動アップグレード機能は、 Vivado IP カタログの [Project IP] タブでプロジェク ト内の既存の FIFO Generator コアを右ク リ ッ クする と使用できます。

ネイテ ィブ FIFO SIM パラメーター

表 F-1 では、 コアの設定を指定するのに使用されるネイティブ FIFO SIM パラ メーターを定義します。 これらのパラメーターは、 HDL でコアを手動でインスタンシエート した り、 コアをダイナミ ッ クに呼び出したりする場合にのみ使用されます。 このパラ メーターのリ ス トは、 IP カタログ IDE を使用して生成されるコアには該当しません。

表 F-1: ネイティブ FIFO の SIM パラメーター

SIM パラメーター タイプ 説明

1 C_COMMON_CLOCK 整数• 0: 独立クロ ッ ク

• 1: 共通クロ ッ ク

2 C_DATA_COUNT_WIDTH 整数 data_count バスの幅 (1 – 18)

3 C_DIN_WIDTH 整数

din バスの幅 (1 – 1024)幅はダブル ビッ ト エラー挿入のある ECC の場合、1 よ り大き くする必要があ り ます。

4 C_DOUT_RST_VAL 文字列 dout のリセッ ト値 C_DOUT_WIDTH と同等の 16 進数値 0 – F

5 C_DOUT_WIDTH 整数

dout バスの幅 (1 – 1024)幅はダブル ビッ ト エラー挿入のある ECC の場合、1 よ り大き くする必要があ り ます。

6 C_ENABLE_RST_SYNC 整数

• 0: リ セッ トの同期なし (wr_rst/rd_rst は直接使用され、 独立クロ ッ クの場合にのみ使用可能)

• 1: リ セッ トの同期あ り

7 C_ERROR_INJECTION_TYPE 整数

• 0: エラー挿入なし

• 1: シングル ビッ ト エラー挿入

• 2: ダブル ビッ ト エラー挿入

• 3: シングルおよびダブル ビッ ト エラー挿入

8 C_FAMILY 文字列 デバイス ファ ミ リ (例: Virtex-7、 Kintex-7)

9 C_FULL_FLAGS_RST_VAL 整数 フル フラグのリセッ ト値 (0 または 1)

10 C_HAS_ALMOST_EMPTY 整数• 0: コアに almost_empty フラグなし

• 1: コアに almost_empty フラグあり

Page 182: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 182PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

11 C_HAS_ALMOST_FULL 整数• 0: コアに ALMOST_FULL フラグなし

• 1: コアに ALMOST_ FULL フラグあ り

12 C_HAS_DATA_COUNT 整数• 0: コアに data_count バスなし

• 1: コアに data_count バスあ り

13 C_HAS_OVERFLOW 整数• 0: コアに OVERFLOW フラグなし

• 1: コアに OVERFLOW フラグあり

14 C_HAS_RD_DATA_COUNT 整数• 0: コアに rd_data_count バスなし

• 1: コアに rd_data_count バスあ り

15 C_HAS_RST 整数• 0: コアに非同期リセッ ト (rst) なし

• 1: コアに非同期リセッ ト (rst) あ り

16 C_HAS_SRST 整数• 0: コアに同期リセッ ト (srst) なし

• 1: コアに同期リセッ ト (srst) あ り

17 C_HAS_UNDERFLOW 整数• 0: コアに underflow フラグなし

• 1: コアに underflow フラグあ り

18 C_HAS_VALID 整数• 0: コアに valid フラグなし

• 1: コアに valid フラグあ り

19 C_HAS_WR_ACK 整数• 0: コアに wr_ack フラグなし

• 1: コアに wr_ack フラグあり

20 C_HAS_WR_DATA_COUNT 整数• 0: コアに wr_data_count バスなし

• 1: コアに wr_data_count バスあ り

21 C_IMPLEMENTATION_TYPE 整数

• 0: 共通クロ ッ クのブロ ッ ク RAM/分散 RAM FIFO

• 1: 共通クロ ッ クのシフ ト RAM FIFO• 2: 独立クロ ッ クのブロ ッ ク RAM/分散 RAM

FIFO

• 6: 7 シ リーズおよび UltrasSale/UltrasSale+ ビルトイン FIFO

• 8: UltraScale 短レイテンシのビルト イン FIFO (出力レジスタなし )

• 9: UltraScale 短レイテンシのビルト イン FIFO (出力レジスタあ り )

22 C_MEMORY_TYPE 整数

• 1: ブロ ッ ク RAM• 2: 分散 RAM• 3: シフ ト RAM• 4: ビルト イン FIFO

23 C_MSGON_VAL 整数

• 0: ク ロ ッ ク ド メ インをまたがるレジスタでのタイ ミ ング違反をディ スエーブル

• 1: ク ロ ッ ク ド メ インをまたがるレジスタでのタイ ミ ング違反をイネーブル

24 C_OVERFLOW_LOW(1)整数

• 0: OVERFLOW はアクティブ High• 1: OVERFLOW はアクティブ Low

表 F-1: ネイティブ FIFO の SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 183: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 183PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

25 C_PRELOAD_LATENCY 整数

• 0: エンベデッ ド レジスタの有無に関係なく FWFT (First-Word Fall-Through)

• 1: エンベデッ ド レジスタなしの標準 FIFO• 2: エンベデッ ド レジスタあ りの標準 FIFO

26 C_PRELOAD_REGS 整数

• 0: エンベデッ ド レジスタなしの標準 FIFO• 1: エンベデッ ド レジスタあ りの標準 FIFO、 ま

たはエンベデッ ド レジスタあ り またはなしの FWFT (First-Word Fall-Through)

27 C_PRIM_FIFO_TYPE 文字列FIFO のビルドに使用されたプリ ミ ティブ (例: 512x36)

28 C_PROG_EMPTY_THRESH_ASSERT_VAL 整数 prog_empty アサートのしきい値(2)

29 C_PROG_EMPTY_THRESH_NEGATE_VAL 整数 prog_empty ネゲートのしきい値(2)

30 C_PROG_EMPTY_TYPE 整数

• 0: プログラマブル Empty なし

• 1: 単一のプログラマブル Empty のしきい値定数

• 2: 複数のプログラマブル Empty のしきい値定数

• 3: 単一のプログラマブル Empty のしきい値入力

• 4: 複数のプログラマブル Empty のしきい値入力

31 C_PROG_FULL_THRESH_ASSERT_VAL 整数 PROG_FULL アサートのしきい値(2)

32 C_PROG_FULL_THRESH_NEGATE_VAL 整数 PROG_FULL ネゲートのしきい値(2)

33 C_PROG_FULL_TYPE 整数

• 0: プログラマブル full なし

• 1: 単一のプログラマブル full のしきい値定数

• 2: 複数のプログラマブル full のしきい値定数

• 3: 単一のプログラマブル full のしきい値入力

• 4: 複数のプログラマブル full のしきい値入力

34 C_RD_DATA_COUNT_WIDTH 整数 rd_data_count バスの幅 (1 - 18)

35 C_RD_DEPTH 整数 read インターフェイスの深さ (16 – 131072)

36 C_RD_FREQ 整数 読み出しクロ ッ ク周波数 (1 MHz - 1000 MHz)

37 C_RD_PNTR_WIDTH 整数 log2(C_RD_DEPTH)

38 C_UNDERFLOW_LOW(1)整数

• 0: underflow はアクティブ High• 1: underflow はアクティブ Low

39 C_USE_DOUT_RST 整数• 0: rst で dout のリセッ ト なし

• 1: rst で dout のリセッ ト あ り

40 C_USE_ECC 整数

• 0: ECC 機能の使用なし

• 1: ハード ECC を使用

• 2: ソフ ト ECC を使用

表 F-1: ネイティブ FIFO の SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 184: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 184PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

41 C_USE_EMBEDDED_REG 整数

• 0: BRAM/ビルト イン エンベデッ ド出力レジスタの使用なし

• 1: BRAM/ビルト イン エンベデッ ド出力レジスタを使用

• 2: インターコネク ト出力レジスタを使用

• 3: BRAM エンベデッ ドおよびインターコネク ト出力レジスタを使用

42 C_USE_FWFT_DATA_COUNT 整数

• 0: FWFT データ カウン ト用に追加ロジッ クの使用なし

• 1: FWFT データ カウン ト用に追加ロジッ クを使用

• 2: BRAM FIFO に汎用インターコネク ト出力レジスタを使用

43 C_VALID_LOW(1)整数

• 0: valid はアクティブ High• 1: valid はアクティブ Low

44 C_WR_ACK_LOW(1)整数

• 0: wr_ack はアクティブ High• 1: wr_ack はアクティブ Low

45 C_WR_DATA_COUNT_WIDTH 整数 wr_data_count バスの幅 (1 – 18)

46 C_WR_DEPTH 整数 書き込みインターフェイスの深さ (16 – 131072)

47 C_WR_FREQ 整数 書き込みクロ ッ ク周波数 (1 MHz - 1000 MHz)

48 C_WR_PNTR_WIDTH 整数 log2(C_WR_DEPTH)

49 C_USE_PIPELINE_REG(3)整数

• 0: ECC パイプライン レジスタの使用なし

• 1: ECC パイプライン レジスタを使用

50 C_POWER_SAVING_MODE(3)整数

• 0: 動的電力ゲーティング機能の使用なし

• 1: 動的電力ゲーティング機能を使用

51 C_EN_SAFETY_CKT 整数

• 0: 追加の安全回路の使用なし

• 1: 非同期リセッ トの BRAM ベース FIFO に追加の安全回路を使用

注記:1. UltraScale™ アーキテクチャ ベースのデバイスでは使用できません。

2. 値の許容範囲については Vivado IDE を参照してください。

3. ビルト イン FIFO コンフ ィギュレーシ ョ ンを含む UltraScale アーキテクチャ ベースデバイスでのみ使用できます。

表 F-1: ネイティブ FIFO の SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 185: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 185PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

AXI FIFO の SIM パラメーター

表 F-2 では、 コアの設定を指定するのに使用される AXI SIM パラ メーターを定義します。 これらのパラ メーターは、HDL でコアを手動でインスタンシエート した り、 コアをダイナミ ッ クに呼び出したりする場合にのみ使用されます。このパラ メーターのリ ス トは、 Vivado IP カタログを使用して生成されるコアには該当しません。

表 F-2: AXI SIM パラメーター

SIM パラメーター タイプ 説明

1 C_INTERFACE_TYPE 整数 • 0: ネイティブ FIFO• 1: AXI4-Stream

• 2: AXI メモ リ マップド

2 C_AXI_TYPE 整数 • 1: AXI4• 2: AXI4-Lite• 3: AXI3

3 C_HAS_AXI_WR_CHANNEL 整数 • 0: コアに書き込みチャネルなし (1)

• 1: コアに書き込みチャネルあ り (1)

4 C_HAS_AXI_RD_CHANNEL 整数 • 0: コアに読み出しチャネルなし (2)

• 1: コアに読み出しチャネルあ り (2)

5 C_HAS_SLAVE_CE(3)整数 • 0: コアにスレーブ インターフェイス ク ロ ッ ク イ

ネーブルなし

• 1: コアにスレーブ インターフェイス ク ロ ッ ク イネーブルあ り

6 C_HAS_MASTER_CE(3)整数 • 0: コアにマスター インターフェイス ク ロ ッ ク イ

ネーブルなし

• 1: コアにマスター インターフェイス ク ロ ッ ク イネーブルあ り

7 C_ADD_NGC_CONSTRAINT(3)整数 • 0: コアに NGC 制約の追加なし

• 1: コアに NGC 制約の追加あ り

8 C_USE_COMMON_UNDERFLOW(3)整数 • 0: コアに common_underflow フラグなし

• 1: コアに common_underflow フラグあ り

9 C_USE_COMMON_OVERFLOW(3)整数 • 0: コアに common_overflow フラグなし

• 1: コアに common_overflow フラグあり

10 C_USE_DEFAULT_SETTINGS(3)整数 • 0: コアにデフォルト設定の使用なし

• 1: コアにデフォルト設定の使用あ り

11 C_AXI_ID_WIDTH 整数 ID 幅 (範囲は 1 ~ 32)

12 C_AXI_ADDR_WIDTH 整数 アドレス幅 (範囲は 1 ~ 64)

13 C_AXI_DATA_WIDTH 整数 データ幅 (32、 64、 128、 256、 512、 または 1024)

14 C_AXI_LEN_WIDTH 整数 AWLEN/ARLEN 幅:• 8: AXI4 用の幅 • 4: AXI3 用の幅

15 C_AXI_LOCK_WIDTH 整数 AWLOCK/ARLOCK 幅:• 1: AXI4 用の幅

• 2: AXI3 用の幅

Page 186: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 186PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

16 C_HAS_AXI_ID 整数 • 0: コアに AWID/WID/BID/ARID/RID ポート なし • 1: コアに AWID/WID/BID/ARID/RID ポート なし

17 C_HAS_AXI_AWUSER 整数 • 0: コアに AWUSER なし

• 1: コアに AWUSER あ り

18 C_HAS_AXI_WUSER 整数 • 0: コアに WUSER なし

• 1: コアに WUSER あ り

19 C_HAS_AXI_BUSER 整数 • 0: コアに BUSER なし

• 1: コアに BUSER あ り

20 C_HAS_AXI_ARUSER 整数 • 0: コアに ARUSER なし

• 1: コアに ARUSER あ り

21 C_HAS_AXI_RUSER 整数 • 0: コアに RUSER なし

• 1: コアに RUSER あ り

22 C_AXI_AWUSER_WIDTH 整数 AWUSER の幅

23 C_AXI_WUSER_WIDTH 整数 WUSER の幅

24 C_AXI_BUSER_WIDTH 整数 BUSER の幅

25 C_AXI_ARUSER_WIDTH 整数 ARUSER の幅

26 C_AXI_RUSER_WIDTH 整数 RUSER の幅

27 C_HAS_AXIS_TDATA 整数 • 0: AXI4-Stream に TDATA なし

• 1: AXI4-Stream に TDATA あ り

28 C_HAS_AXIS_TID 整数 • 0: AXI4-Stream に TID なし

• 1: AXI4-Stream に TID あ り

29 C_HAS_AXIS_TDEST 整数 • 0: AXI4-Stream に TDEST なし

• 1: AXI4-Stream に TDEST あ り

30 C_HAS_AXIS_TUSER 整数 • 0: AXI4-Stream に TUSER なし

• 1: AXI4-Stream に TUSER あ り

31 C_HAS_AXIS_TREADY 整数 • 0: AXI4-Stream に TREADY なし

• 1: AXI4-Stream に TREADY あ り

32 C_HAS_AXIS_TLAST 整数 • 0: AXI4-Stream に TLAST なし

• 1: AXI4-Stream に TLAST あ り

33 C_HAS_AXIS_TSTRB 整数 • 0: AXI4-Stream に TSTRB なし

• 1: AXI4-Stream に TSTRB あ り

34 C_HAS_AXIS_TKEEP 整数 • 0: AXI4-Stream に TKEEP なし

• 1: AXI4-Stream に TKEEP あ り

35 C_AXIS_TDATA_WIDTH 整数 AXI4-Stream の TDATA 幅

36 C_AXIS_TID_WIDTH 整数 AXI4-Stream の TID 幅

37 C_AXIS_TDEST_WIDTH 整数 AXI4-Stream の TDEST 幅

38 C_AXIS_TUSER_WIDTH 整数 AXI4-Stream の TUSER 幅

39 C_AXIS_TSTRB_WIDTH 整数 AXI4-Stream の TSTRB 幅

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 187: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 187PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

40 C_AXIS_TKEEP_WIDTH 整数 AXI4-Stream の TKEEP 幅

41 C_WACH_TYPE 整数 書き込みアドレス チャネルのタイプ

• 0: FIFO

• 1: レジスタ スライス

• 2: パス スルー ロジッ ク

42 C_WDCH_TYPE 整数 書き込みデータ チャネルのタイプ

• 0: FIFO

• 1: レジスタ スライス

• 2: パス スルー ロジッ ク

43 C_WRCH_TYPE 整数 書き込み応答チャネルのタイプ

• 0: FIFO

• 1: レジスタ スライス

• 2: パス スルー ロジッ ク

44 C_RACH_TYPE 整数 読み出しアドレス チャネルのタイプ

• 0: FIFO

• 1: レジスタ スライス

• 2: パス スルー ロジッ ク

45 C_RDCH_TYPE 整数 読み出しデータ チャネルのタイプ

• 0: FIFO

• 1: レジスタ スライス

• 2: パス スルー ロジッ ク

46 C_AXIS_TYPE 整数 AXI4-Stream のタイプ

• 0: FIFO

• 1: レジスタ スライス

• 2: パス スルー ロジッ ク

47 C_REG_SLICE_MODE_WACH 整数 書き込みアドレス チャネルのコンフ ィギュレーシ ョ ン タイプ

• 0: すべてレジスタ付き

• 1: 軽量

48 C_REG_SLICE_MODE_WDCH 整数 書き込みデータ チャネルのコンフ ィギュレーシ ョン タイプ

• 0: すべてレジスタ付き

• 1: 軽量

49 C_REG_SLICE_MODE_WRCH 整数 書き込み応答チャネルのコンフ ィギュレーシ ョ ン タイプ

• 0: すべてレジスタ付き

• 1: 軽量

50 C_REG_SLICE_MODE_RACH 整数 読み出しアドレス チャネルのコンフ ィギュレーシ ョ ン タイプ

• 0: すべてレジスタ付き

• 1: 軽量

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 188: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 188PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

51 C_REG_SLICE_MODE_RDCH 整数 読み出しデータ チャネルのコンフ ィギュレーシ ョン タイプ

• 0: すべてレジスタ付き

• 1: 軽量

52 C_REG_SLICE_MODE_AXIS 整数 AXI4-Stream のコンフ ィギュレーシ ョ ンタイプ

• 0: すべてレジスタ付き

• 1: 軽量

53 C_IMPLEMENTATION_TYPE_WACH 整数 書き込みアドレス チャネルのインプリ メンテーシ ョ ン タイプ

• 1: 共通クロ ッ クのブロ ッ ク RAM FIFO• 2: 共通クロ ッ クの分散 RAM FIFO• 5: 共通クロ ッ クのビルト イン FIFO• 11: 独立クロ ッ クのブロ ッ ク RAM FIFO• 12: 独立クロ ッ クの分散 RAM FIFO• 13: 独立クロ ッ クのビルト イン FIFO

54 C_IMPLEMENTATION_TYPE_WDCH 整数 書き込みデータ チャネルのインプリ メンテーシ ョン タイプ

• 1: 共通クロ ッ クのブロ ッ ク RAM FIFO• 2: 共通クロ ッ クの分散 RAM FIFO• 5: 共通クロ ッ クのビルト イン FIFO• 11: 独立クロ ッ クのブロ ッ ク RAM FIFO• 12: 独立クロ ッ クの分散 RAM FIFO• 13: 独立クロ ッ クのビルト イン FIFO

55 C_IMPLEMENTATION_TYPE_WRCH 整数 書き込み応答チャネルのインプリ メンテーシ ョ ン タイプ

• 1: 共通クロ ッ クのブロ ッ ク RAM FIFO• 2: 共通クロ ッ クの分散 RAM FIFO• 5: 共通クロ ッ クのビルト イン FIFO• 11: 独立クロ ッ クのブロ ッ ク RAM FIFO• 12: 独立クロ ッ クの分散 RAM FIFO• 13: 独立クロ ッ クのビルト イン FIFO

56 C_IMPLEMENTATION_TYPE_RACH 整数 読み出しアドレス チャネルのインプリ メンテーシ ョ ン タイプ

• 1: 共通クロ ッ クのブロ ッ ク RAM FIFO• 2: 共通クロ ッ クの分散 RAM FIFO• 5: 共通クロ ッ クのビルト イン FIFO• 11: 独立クロ ッ クのブロ ッ ク RAM FIFO• 12: 独立クロ ッ クの分散 RAM FIFO• 13: 独立クロ ッ クのビルト イン FIFO

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 189: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 189PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

57 C_IMPLEMENTATION_TYPE_RDCH 整数 読み出しデータ チャネルのインプリ メンテーシ ョン タイプ

• 1: 共通クロ ッ クのブロ ッ ク RAM FIFO• 2: 共通クロ ッ クの分散 RAM FIFO• 5: 共通クロ ッ クのビルト イン FIFO• 11: 独立クロ ッ クのブロ ッ ク RAM FIFO• 12: 独立クロ ッ クの分散 RAM FIFO• 13: 独立クロ ッ クのビルト イン FIFO

58 C_IMPLEMENTATION_TYPE_AXIS 整数 AXI4-Stream のインプリ メンテーシ ョ ン タイプ

• 1: 共通クロ ッ クのブロ ッ ク RAM FIFO• 2: 共通クロ ッ クの分散 RAM FIFO• 5: 共通クロ ッ クのビルト イン FIFO• 11: 独立クロ ッ クのブロ ッ ク RAM FIFO• 12: 独立クロ ッ クの分散 RAM FIFO• 13: 独立クロ ッ クのビルト イン FIFO

59 C_APPLICATION_TYPE_WACH 整数 書き込みアドレス チャネルのアプリ ケーシ ョ ン タイプ

• 0: データ FIFO• 1: パケッ ト FIFO(3)

• 2: 低レイテンシ データ FIFO

60 C_APPLICATION_TYPE_WDCH 整数 書き込みデータ チャネルのアプリ ケーシ ョ ン タイプ

• 0: データ FIFO• 1: パケッ ト FIFO(3)

• 2: 低レイテンシ データ FIFO

61 C_APPLICATION_TYPE_WRCH 整数 書き込み応答チャネルのアプリ ケーシ ョ ン タイプ

• 0: データ FIFO• 1: パケッ ト FIFO(3)

• 2: 短レイテンシ データ FIFO

62 C_APPLICATION_TYPE_RACH 整数 読み出しアドレス チャネルのアプリ ケーシ ョ ン タイプ

• 0: データ FIFO• 1: パケッ ト FIFO(3)

• 2: 短レイテンシ データ FIFO

63 C_APPLICATION_TYPE_RDCH 整数 読み出しデータ チャネルのアプリ ケーシ ョ ン タイプ

• 0: データ FIFO• 1: パケッ ト FIFO(3)

• 2: 短レイテンシ データ FIFO

64 C_APPLICATION_TYPE_AXIS 整数 AXI4-Stream のアプリ ケーシ ョ ン タイプ

• 0: データ FIFO• 1: パケッ ト FIFO(3)

• 2: 短レイテンシ データ FIFO

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 190: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 190PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

65 C_USE_ECC_WACH 整数 • 0: 書き込みアドレス チャネルに ECC オプシ ョ ンの使用なし

• 1: 書き込みアドレス チャネルに ECC オプシ ョ ンの使用あ り

66 C_USE_ECC_WDCH 整数 • 0: 書き込みデータ チャネルに ECC オプシ ョ ンの使用なし

• 1: 書き込みデータ チャネルに ECC オプシ ョ ンの使用あ り

67 C_USE_ECC_WRCH 整数 • 0: 書き込み応答チャネルに ECC オプシ ョ ンの使用なし

• 1: 書き込み応答チャネルに ECC オプシ ョ ンの使用あ り

68 C_USE_ECC_RACH 整数 • 0: 読み出しアドレス チャネルに ECC オプシ ョ ンの使用なし

• 1: 読み出しアドレス チャネルに ECC オプシ ョ ンの使用あ り

69 C_USE_ECC_RDCH 整数 • 0: 読み出しデータ チャネルに ECC オプシ ョ ンの使用なし

• 1: 読み出しデータ チャネルに ECC オプシ ョ ンの使用あ り

70 C_USE_ECC_AXIS 整数 • 0: AXI4-Stream に ECC オプシ ョ ンの使用なし

• 1: AXI4-Stream に ECC オプシ ョ ンの使用あ り

71 C_ERROR_INJECTION_TYPE_WACH 整数 書き込みアドレス チャネルの ECC エラー挿入タイプ

• 0: エラー挿入なし

• 1: シングル ビッ トのエラー挿入

• 2: ダブル ビッ トのエラー挿入

• 3: シングルビッ トおよびダブル ビッ トのエラー挿入

72 C_ERROR_INJECTION_TYPE_WDCH 整数 書き込みデータ チャネルの ECC エラー挿入タイプ

• 0: エラー挿入なし

• 1: シングル ビッ トのエラー挿入

• 2: ダブル ビッ トのエラー挿入

• 3: シングルビッ トおよびダブル ビッ トのエラー挿入

73 C_ERROR_INJECTION_TYPE_WRCH 整数 書き込み応答チャネルの ECC エラー挿入タイプ

• 0: エラー挿入なし

• 1: シングル ビッ トのエラー挿入

• 2: ダブル ビッ トのエラー挿入

• 3: シングルビッ トおよびダブル ビッ トのエラー挿入

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 191: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 191PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

74 C_ERROR_INJECTION_TYPE_RACH 整数 読み出しアドレス チャネルの ECC エラー挿入タイプ

• 0: エラー挿入なし

• 1: シングル ビッ トのエラー挿入

• 2: ダブル ビッ トのエラー挿入

• 3: シングルビッ トおよびダブル ビッ トのエラー挿入

75 C_ERROR_INJECTION_TYPE_RDCH 整数 読み出しデータ チャネルの ECC エラー挿入タイプ

• 0: エラー挿入なし

• 1: シングル ビッ トのエラー挿入

• 2: ダブル ビッ トのエラー挿入

• 3: シングルビッ トおよびダブル ビッ トのエラー挿入

76 C_ERROR_INJECTION_TYPE_AXIS 整数 AXI4-Stream の ECC エラー挿入タイプ

• 0: エラー挿入なし

• 1: シングル ビッ トのエラー挿入

• 2: ダブル ビッ トのエラー挿入

• 3: シングルビッ トおよびダブル ビッ トのエラー挿入

77 C_DIN_WIDTH_WACH 整数 書き込みアドレス チャネル バスの din 幅 (1 - 1024)。幅は、 このチャネルのすべての信号 (AWREADY および AWVALID 以外) の累積値。

78 C_DIN_WIDTH_WDCH 整数 書き込みデータ チャネル バスの din 幅 (1 - 1024)。幅は、 このチャネルのすべての信号 (AWREADY および AWVALID 以外) の累積値。

79 C_DIN_WIDTH_WRCH 整数 書き込み応答チャネル バスの din 幅 (1 - 1024)。 幅は、 このチャネルのすべての信号 (AWREADY および AWVALID 以外) の累積値。

80 C_DIN_WIDTH_RACH 整数 読み出しアドレス チャネル バスの din 幅 (1 - 1024)。幅は、 このチャネルのすべての信号 (AWREADY および AWVALID 以外) の累積値。

81 C_DIN_WIDTH_RDCH 整数 読み出しデータ チャネル バスの din 幅 (1 - 1024)。幅は、 このチャネルのすべての信号 (AWREADY および AWVALID 以外) の累積値。

82 C_DIN_WIDTH_AXIS 整数 AXI4-Stream バスの din 幅 (1 - 1024)幅は、 このチャネルのすべての信号 (AWREADY および AWVALID 以外) の累積値。

83 C_WR_DEPTH_WACH 整数 書き込みアドレス チャネルの FIFO の深さ

84 C_WR_DEPTH_WDCH 整数 書き込みデータ チャネルの FIFO の深さ

85 C_WR_DEPTH_WRCH 整数 書き込み応答チャネルの FIFO の深さ

86 C_WR_DEPTH_RACH 整数 読み出しアドレス チャネルの FIFO の深さ

87 C_WR_DEPTH_RDCH 整数 読み出しデータ チャネルの FIFO の深さ

88 C_WR_DEPTH_AXIS 整数 AXI4-Stream の FIFO の深さ

89 C_WR_PNTR_WIDTH_WACH 整数 Log2(C_WR_DEPTH_WACH)

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 192: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 192PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

90 C_WR_PNTR_WIDTH_WDCH 整数 Log2(C_WR_DEPTH_WDCH)

91 C_WR_PNTR_WIDTH_WRCH 整数 Log2(C_WR_DEPTH_WRCH)

92 C_WR_PNTR_WIDTH_RACH 整数 Log2(C_WR_DEPTH_RACH)

93 C_WR_PNTR_WIDTH_RDCH 整数 Log2(C_WR_DEPTH_RDCH)

94 C_WR_PNTR_WIDTH_AXIS 整数 Log2(C_WR_DEPTH_AXIS)

95 C_HAS_DATA_COUNTS_WACH 整数 書き込みアドレス チャネル

• 0: FIFO にデータ カウン ト なし

• 1: C_COMMON_CLOCK = 1 の場合、 FIFO にデータ カウン ト あ り

C_COMMON_CLOCK = 0 の場合、書き込み/読み出しデータ カウン ト

96 C_HAS_DATA_COUNTS_WDCH 整数 書き込みデータ チャネル

• 0: FIFO にデータ カウン ト なし

• 1: C_COMMON_CLOCK = 1 の場合、 FIFO にデータ カウン ト あ り

C_COMMON_CLOCK = 0 の場合、書き込み/読み出しデータ カウン ト

97 C_HAS_DATA_COUNTS_WRCH 整数 書き込み応答チャネル

• 0: FIFO にデータ カウン ト なし

• 1: C_COMMON_CLOCK = 1 の場合、 FIFO にデータ カウン ト あ り

C_COMMON_CLOCK = 0 の場合、書き込み/読み出しデータ カウン ト

98 C_HAS_DATA_COUNTS_RACH 整数 読み出しアドレス チャネル

• 0: FIFO にデータ カウン ト なし

• 1: C_COMMON_CLOCK = 1 の場合、 FIFO にデータ カウン ト あ り

C_COMMON_CLOCK = 0 の場合、書き込み/読み出しデータ カウン ト

99 C_HAS_DATA_COUNTS_RDCH 整数 読み出しデータ チャネル

• 0: FIFO にデータ カウン ト なし

• 1: C_COMMON_CLOCK = 1 の場合、 FIFO にデータ カウン ト あ り

C_COMMON_CLOCK = 0 の場合、書き込み/読み出しデータ カウン ト

100 C_HAS_DATA_COUNTS_AXIS 整数 AXI4-Stream

• 0: FIFO にデータ カウン ト なし

• 1: C_COMMON_CLOCK = 1 の場合、 FIFO にデータ カウン ト あ り

C_COMMON_CLOCK = 0 の場合、書き込み/読み出しデータ カウン ト

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 193: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 193PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

101 C_HAS_PROG_FLAGS_WACH 整数 書き込みアドレス チャネル

• 0: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンなし

• 1: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンあ り

102 C_HAS_PROG_FLAGS_WDCH 整数 書き込みデータ チャネル

• 0: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンなし

• 1: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンあ り

103 C_HAS_PROG_FLAGS_WRCH 整数 書き込み応答チャネル

• 0: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンなし

• 1: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンあ り

104 C_HAS_PROG_FLAGS_RACH 整数 読み出しアドレス チャネル

• 0: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンなし

• 1: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンあ り

105 C_HAS_PROG_FLAGS_RDCH 整数 読み出しデータ チャネル

• 0: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンなし

• 1: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンあ り

106 C_HAS_PROG_FLAGS_AXIS 整数 AXI4-Stream

• 0: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンなし

• 1: FIFO に Almost Full/Empty または Programmable Full/Empty を READY/valid にマップするオプシ ョ ンあ り

107 C_PROG_FULL_TYPE_WACH 整数 書き込みアドレス チャネル

• 1 または 3: PROG_FULL が READY にマップされる

• 5: FULL が READY にマップされる

• 6: ALMOST_FULL が READY にマップされる

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 194: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 194PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

108 C_PROG_FULL_TYPE_WDCH 整数 書き込みデータ チャネル

• 1 または 3: PROG_FULL が READY にマップされる

• 5: FULL が READY にマップされる

• 6: ALMOST_FULL が READY にマップされる

109 C_PROG_FULL_TYPE_WRCH 整数 書き込み応答チャネル

• 1 または 3: PROG_FULL が READY にマップされる

• 5: FULL が READY にマップされる

• 6: ALMOST_FULL が READY にマップされる

110 C_PROG_FULL_TYPE_RACH 整数 読み出しアドレス チャネル

• 1 または 3: PROG_FULL が READY にマップされる

• 5: FULL が READY にマップされる

• 6: ALMOST_FULL が READY にマップされる

111 C_PROG_FULL_TYPE_RDCH 整数 読み出しデータ チャネル

• 1 または 3: PROG_FULL が READY にマップされる

• 5: FULL が READY にマップされる

• 6: ALMOST_FULL が READY にマップされる

112 C_PROG_FULL_TYPE_AXIS 整数 AXI4-Stream

• 1 または 3: PROG_FULL が READY にマップされる

• 5: FULL が READY にマップされる

• 6: ALMOST_FULL が READY にマップされる

113 C_PROG_FULL_THRESH_ASSERT_VAL_WACH

整数 書き込みアドレス チャネルの PROG_FULL アサート しきい値(4)

114 C_PROG_FULL_THRESH_ASSERT_VAL_WDCH

整数 書き込みアドレス チャネルの PROG_FULL アサート しきい値(4)

115 C_PROG_FULL_THRESH_ASSERT_VAL_WRCH

整数 書き込み応答チャネルの PROG_FULL アサート しきい値(4)

116 C_PROG_FULL_THRESH_ASSERT_VAL_RACH

整数 読み出しアドレス チャネルの PROG_FULL アサート しきい値(4)

117 C_PROG_FULL_THRESH_ASSERT_VAL_RDCH

整数 読み出しデータ チャネルの PROG_FULL アサートしきい値(4)

118 C_PROG_FULL_THRESH_ASSERT_VAL_AXIS

整数 AXI4-Stream の PROG_FULL アサート しきい値(4)

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 195: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 195PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

119 C_PROG_EMPTY_TYPE_WACH 整数 書き込みアドレス チャネル

• 1 または 3: prog_empty が valid にマップされる

• 5: empty が valid にマップされる

• 6: almost_empty が valid にマップされる

120 C_PROG_EMPTY_TYPE_WDCH 整数 書き込みデータ チャネル

• 1 または 3: prog_empty が valid にマップされる

• 5: empty が valid にマップされる

• 6: almost_empty が valid にマップされる

121 C_PROG_EMPTY_TYPE_WRCH 整数 書き込み応答チャネル

• 1 または 3: prog_empty が valid にマップされる

• 5: empty が valid にマップされる

• 6: almost_empty が valid にマップされる

122 C_PROG_EMPTY_TYPE_RACH 整数 読み出しアドレス チャネル

• 1 または 3: prog_empty が valid にマップされる

• 5: empty が valid にマップされる

• 6: almost_empty が valid にマップされる

123 C_PROG_EMPTY_TYPE_RDCH 整数 読み出しデータ チャネル

• 1 または 3: prog_empty が valid にマップされる

• 5: empty が valid にマップされる

• 6: almost_empty が valid にマップされる

124 C_PROG_EMPTY_TYPE_AXIS 整数 AXI4-Stream

• 1 または 3: prog_empty が valid にマップされる

• 5: empty が valid にマップされる

• 6: almost_empty が valid にマップされる

125 C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH

整数 書き込みアドレス チャネルの prog_empty アサートしきい値(4)

126 C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH

整数 書き込みデータ チャネルの prog_empty アサート しきい値(4)

127 C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH

整数 書き込み応答チャネルの prog_empty アサート しきい値(4)

128 C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH

整数 読み出しアドレス チャネルの prog_empty アサートしきい値(4)()

129 C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH

整数 読み出しデータ チャネルの prog_empty アサート しきい値(4)

130 C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS

整数 AXI4-Stream の prog_empty アサート しきい値(4)

131 C_PRIM_FIFO_TYPE_WACH 文字列 FIFO (512x36 など) のビルドに使用されたプリ ミティブ

132 C_PRIM_FIFO_TYPE_WDCH 文字列 FIFO (512x36 など) のビルドに使用されたプリ ミティブ

133 C_PRIM_FIFO_TYPE_WRCH 文字列 FIFO (512x36 など) のビルドに使用されたプリ ミティブ

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 196: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 196PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 F: 補足情報

134 C_PRIM_FIFO_TYPE_RACH 文字列 FIFO (512x36 など) のビルドに使用されたプリ ミティブ

135 C_PRIM_FIFO_TYPE_RDCH 文字列 FIFO (512x36 など) のビルドに使用されたプリ ミティブ

136 C_PRIM_FIFO_TYPE_AXIS 文字列 FIFO (512x36 など) のビルドに使用されたプリ ミティブ

注記:1. 書き込みアドレス チャネル、 書き込みデータ チャネル、 書き込み応答チャネルが含まれます。

2. 読み出しアドレス チャネルおよび読み出しデータ チャネルが含まれます。

3. この機能は、 7 シ リーズ デバイスの共通クロ ッ クの AXI4/AXI3 および AXI4-Stream FIFO でのみサポート されます。

4. 値の許容範囲については Vivado IDE を参照してください。

表 F-2: AXI SIM パラメーター (続き)

SIM パラメーター タイプ 説明

Page 197: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 197PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 G

その他のリソースおよび法的通知

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。

Documentation Navigator およびデザイン ハブ

ザイ リ ンクス Documentation Navigator (DocNav) では、 ザイ リ ンクスの資料、 ビデオ、 サポート リ ソースにアクセスでき、 特定の情報を取得するためにフ ィルター機能や検索機能を利用できます。 DocNav を開くには、 次のいずれかを実行します。

• Vivado IDE で [Help] → [Documentation and Tutorials] をク リ ッ ク します。

• Windows で [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [DocNav] をク リ ッ ク します。

• Linux コマンド プロンプ トに 「docnav」 と入力します。

ザイ リ ンクス デザイン ハブには、 資料やビデオへのリ ンクがデザイン タスクおよびト ピッ クごとにま とめられており、 これらを参照するこ とでキー コンセプ ト を学び、 よ くある質問 (FAQ) を参考に問題を解決できます。 デザイン ハブにアクセスするには、 次のいずれかを実行します。

• DocNav で [Design Hubs View] タブをク リ ッ ク します。

• ザイ リ ンクス ウェブサイ トのデザイン ハブ ページを参照します。

注記: DocNav の詳細は、 ザイ リ ンクス ウェブサイ トの Documentation Navigator ページを参照してください。

注意: DocNav からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページをご利用ください。

Page 198: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 198PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 G: その他のリソースおよび法的通知

参考資料

次の資料は、 この製品ガイ ドの補足資料と して役立ちます。

注記: 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『AMBA® AXI4-Stream Protocol Specification』

2. 『AXI4 AMBA® AXI Protocol Version:2.0 Specification』

3. 『7 シ リーズ FPGA メモ リ リ ソース ユーザー ガイ ド』 (UG473)

4. 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573)

5. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994)

6. 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911)

7. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)

8. 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910)

9. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)

10. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

11. ザイ リ ンクス アンサー 42571 (AR#42571)

改訂履歴

次の表に、 この文書の改訂履歴を示します。

日付 バージ ョ ン 改訂内容

2017 年 10 月 4 日 13.2 • コア v13.2 に合わせてアップデート。 最新のコア バージ ョ ンに合わせて FIFO Generator IP の図を更新。

• 安全回路のある場合とない場合のリセッ ト ビヘイビアーを示すタイ ミ ング図を更新。

2017 年 4 月 5 日 13.1 • ビルト イン FIFO の 「Actual FIFO Depth の計算」 セクシ ョ ンをアップデート。

• 独立クロ ッ クの同期リセッ ト (wr_rst および rd_rst) のタイ ミ ング図を更新。

2016 年 10 月 5 日 13.1 • AXI インターフェイスの wr_rst_busy 信号アサート を追加。

• 第 4 章の 「コアの制約の設定」 の必要な制約をアップデート。

2016 年 6 月 8 日 13.1 • アンサー 42571 で説明した破損問題の詳細を追加。

• 第 3 章 「コアを使用した設計」 の 「 リセッ ト 」 セクシ ョ ンで wr_en/rd_en アサートに関する注記をアップデート。

2016 年 4 月 6 日 13.1 • コア v13.1 に合わせてアップデート。 最新のコア バージ ョ ンに合わせて FIFO Generator IP の図を更新。

• エンベデッ ド レジスタ と インターコネク ト レジスタの両方を選択するブロ ック RAM のオプシ ョ ンを追加。

2015 年 11 月 18 日 13.0 • UltraScale+ アーキテクチャ ベース デバイスのサポート を追加。

• 第 3 章 「コアを使用した設計」 の表 3-21、 表 3-22、 表 3-25、 表 3-26 を更新。

Page 199: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 199PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 G: その他のリソースおよび法的通知

2015 年 9 月 30 日 13.0 • コア v13.0 に合わせてアップデート。 最新のコア バージ ョ ンに合わせて FIFO Generator IP の図を更新。

• ビルト イン FIFO およびブロ ッ ク RAM の UltraScale サポートに関する情報を更新。

2015 年 6 月 24 日 12.0 • 信号およびポート名を正し く記述するよ うに図を更新。

2015 年 4 月 1 日 12.0 • 非対称アスペク ト比の UltraScale サポートに関する情報を更新。

2014 年 10 月 1 日 12.0 • ビルト イン FIFO を使用した UltraScale デバイスに低レイテンシ オプシ ョ ンを追加。

• 共通クロ ッ クのブロ ッ ク RAM FIFO を使用した UltraScale に非対称ポート幅のオプシ ョ ンを追加。

• 非同期 AXI4-Stream パケッ ト FIFO を追加。

• GUI オプシ ョ ンおよびユーザー パラ メーターの対応表を追加。

2014 年 4 月 2 日 12.0 UltraScale アーキテクチャ用に新しいポートおよびパラ メーターを追加。 ECC パイプライン レジスタおよび動的電力ゲーティングのサポート を追加。

2013 年 12 月 18 日 11.0 UltraScale™ アーキテクチャのサポート を追加。 新しい FIFO プリ ミ ティブ パラメーターを追加。

2013 年 10 月 2 日 11.0 • コアのバージ ョ ン番号と一致するよ うに資料のリ ビジ ョ ン番号を 11.0 に変更。

• すべてのポート /信号名を小文字に変更。

• パケッ ト FIFO の AXI4-Stream FIFO の深さ要件を削除。

2013 年 3 月 20 日 4.0 • コア v10.0 に合わせてアップデート。 • ISE Design Suite のサポート を終了。 • AXI4-Stream パケッ ト FIFO のエンベデッ ド レジスタのサポート を追加。 • 第 4 章 「ネイティブ コアのカスタマイズおよび生成」 のパラ メーターおよび

設定を更新。

2012 年 12 月 18 日 3.0 コア v9.3、 Vivado Design Suite v2012.3、 および ISE Design Suite v14.3 用に更新。付録 B 「デバッグ」 を追加。

2012 年 10 月 16 日 2.0 コア v9.3、 Vivado Design Suite v2012.3、 および ISE Design Suite v14.3 用に更新。AXI4-Stream インターフェイスにクロ ッ ク イネーブル ポート を追加。

2012 年 7 月 25 日 1.0 この資料を製品ガイ ド と して初めて リ リース。 この資料は、 『FIFO Generator データシート 』 (DS317)、 『FIFO Generator ユーザー ガイ ド』 (UG175)、 および『FIFO Generator 移行ガイ ド』 (XAPP992) に代わるものです。

日付 バージ ョ ン 改訂内容

Page 200: FIFO Generator v13 - XilinxFIFO Generator v13.2 LogiCORE IP 製品ガイド Vivado Design Suite PG057 2017 年 10 月 4 日この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

FIFO Generator v13.2 200PG057 2017 年 10 月 4 日 japan.xilinx.com

付録 G: その他のリソースおよび法的通知

お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する最大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) という状態で提

供され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこ

れらに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿ま

たは貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・性質の損失または損害についても、 責任を負

わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損

害には、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信

用の損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可

能であったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情

報に含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負

いません。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ませ

ん。 一定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照してください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補

助的条件に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプ

リ ケーシ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの

製品を使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照してください。

自動車用のアプリ ケーシ ョ ンの免責条項

オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性

の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー

フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用

前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品

を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

© Copyright 2012-2017 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含

まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、 それぞれ

の保有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページ

の右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語

で入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは

受け付けており ません。 あらかじめご了承ください。