02.08.2013 Views

AXI リファレンス ガイド - Xilinx

AXI リファレンス ガイド - Xilinx

AXI リファレンス ガイド - Xilinx

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>AXI</strong> <strong>リファレンス</strong><br />

<strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


<strong>Xilinx</strong> is providing this product documentation, hereinafter “Information,” to you “AS IS” with no warranty of any kind, express<br />

or implied. <strong>Xilinx</strong> makes no representation that the Information, or any particular implementation thereof, is free from any claims<br />

of infringement. You are responsible for obtaining any rights you may require for any implementation based on the Information.<br />

All specifications are subject to change without notice.<br />

XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE<br />

INFORMATION OR ANY IMPLEMENTATION BASED THEREON, INCLUDING BUT NOT LIMITED TO ANY<br />

WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF<br />

INFRINGEMENT AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR<br />

PURPOSE.<br />

Except as stated herein, none of the Information may be copied, reproduced, distributed, republished, downloaded, displayed,<br />

posted, or transmitted in any form or by any means including, but not limited to, electronic, mechanical, photocopying,<br />

recording, or otherwise, without the prior written consent of <strong>Xilinx</strong>.<br />

© 2011 <strong>Xilinx</strong>, Inc. XILINX, the <strong>Xilinx</strong> logo, Virtex, Spartan, ISE, and other designated brands included herein are trademarks<br />

of <strong>Xilinx</strong> in the United States and other countries. All other trademarks are the property of their respective owners.<br />

ARM ® and AMBA ® are registered trademarks of ARM in the EU and other countries. All other trademarks are the property of<br />

their respective owners.<br />

本資料は英語版 (v13.1) を翻訳し た も ので、 内容に相違が生じ る場合には原文を優先し ます。<br />

資料に よ っては英語版の更新に対応し ていない も のがあ り ます。<br />

日本語版は参考用 と し てご使用の上、 最新情報につき ま し ては、 必ず最新英語版を ご参照 く だ さ い。<br />

改訂履歴<br />

次の表に、 こ の文書の改訂履歴を示し ます。<br />

日付 バージ ョ ン 改訂の説明<br />

2010 年 9 月 21 日 1.0 ザイ リ ンクスによる初版リ リース 12.4。<br />

2011 年 3 月 1 日 2.0 ザイ リ ンクスによる第 2 版リ リース 13.1。<br />

2011 年 3 月 7 日 3.0 リ ン ク 切れを修正。<br />

<strong>AXI</strong> イ ン ターコ ネ ク ト の新機能を追加。<br />

付録 A の ARESETN に関する説明を修正。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com UG761 (v13.1) 2011 年 3 月 7 日


目次<br />

改訂履歴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

第 1 章 : ザイ リンクス システム開発のための <strong>AXI</strong> 入門<br />

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

<strong>AXI</strong> の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

<strong>AXI</strong>4 の利点のま と め . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6<br />

<strong>AXI</strong> の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

IP の相互運用性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

データ解釈について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8<br />

IP の互換性について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8<br />

インフラスト ラクチャ IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9<br />

メモリマップ方式のプロトコル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9<br />

<strong>AXI</strong>4-Stream プロ ト コル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9<br />

<strong>AXI</strong>4-Stream とメモリマップ方式のプロトコルの組み合わせ. . . . . . . . . . . . . . . . . . . . . . . . . .9<br />

<strong>AXI</strong> によって置き換えられるプロ ト コル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

ターゲッ ト <strong>リファレンス</strong> デザイ ン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

その他の参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

ザイ リ ンクス デザイ ン ツールによ る <strong>AXI</strong> 開発の支援 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

エンベデ ッ ド 開発キ ッ ト : Embedded Edition および System Edition . . . . . . . . . . . . . . . . . . .13<br />

<strong>AXI</strong> エンベデッ ド シ ス テムの新規作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13<br />

<strong>AXI</strong> IP の作成 と イ ンポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14<br />

デザ イ ンのデバ ッ グおよび検証 : XPS による ChipScope の使用法 . . . . . . . . . . . . . . . .14<br />

Project Navigator におけるプロセ ッ サを含まないエンベデッ ド IP の使用法 . . . . . . . . . . . . .14<br />

System Generator : DSP Edition の使用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15<br />

System Generator による <strong>AXI</strong>4 のサポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15<br />

ザイ リ ンクス <strong>AXI</strong> IP : Logic Edition での使用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17<br />

ザイ リ ンクス <strong>AXI</strong> インフラスト ラクチャ IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

ザイ リ ンクス <strong>AXI</strong> インターコネク ト コア IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19<br />

<strong>AXI</strong> インターコネク ト コアの特長. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19<br />

<strong>AXI</strong> インターコネク ト コアの制約. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22<br />

<strong>AXI</strong> インターコネク ト コ ア接続図. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23<br />

<strong>AXI</strong> インターコネク ト コアの使用モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23<br />

幅変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27<br />

N 対 M インターコネク ト (共有ア ク セス モード) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28<br />

クロック変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29<br />

パイプライン処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29<br />

ペリフェラル レジスタ スライス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29<br />

データ パス FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29<br />

<strong>AXI</strong> インターコネク ト コアのスレーブとマスターの接続. . . . . . . . . . . . . . . . . . . . . . . . . . . .30<br />

<strong>AXI</strong>-To-<strong>AXI</strong> コネクターの特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30<br />

内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30<br />

<strong>AXI</strong>-To-<strong>AXI</strong> コ ネ ク ターの使用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31<br />

外部マス ターおよびス レーブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31<br />

機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31<br />

Centralized DMA (セン ト ラル DMA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33<br />

<strong>AXI</strong> セン ト ラル DMA の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34<br />

<strong>AXI</strong> セン ト ラル DMA のスキャ ッター ギ ャザー機能 . . . . . . . . . . . . . . . . . . . . . . . . . . .34<br />

セン ト ラル DMA の設定可能な機能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34<br />

セン ト ラル DMA の <strong>AXI</strong>4 インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 1<br />

UG761 (v13.1) 2011 年 3 月 7 日


イーサネッ ト DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35<br />

<strong>AXI</strong>4 DMA の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37<br />

DMA の <strong>AXI</strong>4 インターフェイス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38<br />

ビデオ DMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39<br />

<strong>AXI</strong> VDMA の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40<br />

VDMA の <strong>AXI</strong>4 インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41<br />

メモリ制御 IP およびメモリ インターフェイス ジェネレーター . . . . . . . . . . . . . . . . . . . . . . .41<br />

Virtex-6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42<br />

Spartan-6 のメモリ制御ブロック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42<br />

第 3 章 : ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

メモリマップ方式 IP の機能の導入 と サポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

<strong>AXI</strong>4-Stream の導入 と サポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

<strong>AXI</strong>4-Stream 信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47<br />

<strong>AXI</strong>4-Stream 内の数値データ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47<br />

実数ス カ ラー データ の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49<br />

複素ス カ ラー データ の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50<br />

ベクター データ の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51<br />

パケ ッ ト と ヌル バイ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54<br />

サイ ドバンド信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55<br />

イベン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55<br />

TLAST イベン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56<br />

DSP とワイヤレス IP <strong>AXI</strong> 機能の導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

IP コアの <strong>AXI</strong> への移行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59<br />

<strong>AXI</strong>-To-PLB ブリッジ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

機能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60<br />

<strong>AXI</strong>4 スレーブ インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60<br />

PLBv4.6 マスター インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61<br />

<strong>AXI</strong>-To-PLBv4.6 ブ リ ッ ジの機能説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61<br />

Local-Link から <strong>AXI</strong>4-Stream への移行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

Local-Link の必須信号か ら <strong>AXI</strong>4-Stream 信号への対応付け . . . . . . . . . . . . . . . . . . . . . . . . . .62<br />

Local-Link のオプシ ョ ン信号から <strong>AXI</strong>4-Stream 信号への対応付け . . . . . . . . . . . . . . . .64<br />

Local-Link IP のバ リ エーシ ョ ン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65<br />

Local-Link に関する参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65<br />

IP 移行におけ る System Generator の使用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

System Generator for DSP IP の <strong>AXI</strong> への移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65<br />

リセット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65<br />

クロック イネーブル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65<br />

TDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65<br />

ポー ト の順序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66<br />

レイテンシ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67<br />

出力幅の仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67<br />

System Generator における PLBv4.6 インターフェイスの移行. . . . . . . . . . . . . . . . . . . . . . . .67<br />

FSL ( 高速シンプレ ッ ク ス リンク) から <strong>AXI</strong>4-Stream への移行 . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

マスター FSL から <strong>AXI</strong>4-Stream 信号への対応付け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67<br />

スレーブ FSL から <strong>AXI</strong>4-Stream 信号への対応付け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68<br />

ス ロ ッ ト ルの相違点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68<br />

DSP IP で <strong>AXI</strong>4-Stream を使用する ための HDL デザイ ンの移行 . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

各 DSP IP 固有の移行に関する指示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69<br />

デモ テス トベンチ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69<br />

IP アップグレードのための CORE Generator の使用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70<br />

レイテンシの変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70<br />

スレーブ FSL から <strong>AXI</strong>4-Stream 信号への対応付け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71<br />

2 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


<strong>AXI</strong> 移行におけ る ソ フ ト ウ ェ ア ツールに関する考慮事項 ( エンディアンの反転 ) . . . . . . . . . . . . 71<br />

ビッグ エンディ アンから リ トル エンデ ィ アンへの移行時のガ イ ド ラ イ ン. . . . . . . . . . . . . . . . . . . 72<br />

データ タイプとエンディアンネス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

ハイ エン ド の検証 ソ リ ューシ ョ ン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />

付録 A : <strong>AXI</strong> 導入のま と め<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

グローバル信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 書き込みアド レス チャネル信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . .76<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 書き込みデータ チャネル信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 書き込み応答チャ ネル信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 読み出し ア ド レ ス チャネル信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . .78<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 読み出しデータ チャネル信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80<br />

<strong>AXI</strong>4-Stream 信号のま と め. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />

付録 B : <strong>AXI</strong> の用語<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 3<br />

UG761 (v13.1) 2011 年 3 月 7 日


4 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


ザイ リンクス システム開発のための <strong>AXI</strong> 入門<br />

概要<br />

<strong>AXI</strong> の概要<br />

第 1 章<br />

ザイ リ ンクス ® では、 Spartan ® -6 および Virtex ® -6 デバイ ス以降、 IP コアに <strong>AXI</strong> (Advanced<br />

eXtensible Interface) プ ロ ト コルを採用し ています。<br />

この<strong>リファレンス</strong> <strong>ガイド</strong>は、 次を目的としています。<br />

• <strong>AXI</strong> プ ロ ト コルの主要概念の紹介<br />

• <strong>AXI</strong> ベースの IP 作成に利用で き るザ イ リ ン ク ス ツールの概要紹介<br />

• ザイ リ ンクスが採用した <strong>AXI</strong> の機能の説明<br />

• 既存デザ イ ンか ら <strong>AXI</strong> への移行方法に関する ガ イ ド ラ イ ンの提供<br />

メモ : この<strong>リファレンス</strong> <strong>ガイド</strong>は、 AMBA ® (Advanced Microcontroller Bus Architecture) ARM ®<br />

<strong>AXI</strong>4 仕様に代わ る も のではあ り ません。<strong>AXI</strong> によるデザインを開始する前に、『ARM AMBA <strong>AXI</strong><br />

Protocol v2.0 Specification』 および『AMBA4 <strong>AXI</strong>4-Stream Protocol v1.0』 をダウンロードして読<br />

み理解する必要があ り ます。<br />

仕様のダ ウ ン ロー ド 手順は次の と お り です。 資料をダ ウ ン ロー ド する前に、 簡単な登録フ ォームに<br />

入力する必要があ り ます。<br />

1. www.amba.com にアクセスします。<br />

2. [Download Specifications] をク リ ックします。<br />

3. 画面左側の [Contents] ペインよ り [AMBA] → [AMBA Specifications] → [AMBA4] をク リ ッ<br />

クします。<br />

4. 『ABMA <strong>AXI</strong>4-Stream Protocol Specification』 および『ABMA <strong>AXI</strong> Protocol Specification<br />

v2.0』 の両方をダ ウ ン ロー ド し ます。<br />

<strong>AXI</strong> は、 1996 年に公開されたマイ ク ロ コ ン ト ローラー バス ファミ リ ARM AMBA の一部です。<br />

<strong>AXI</strong> の最初のバージ ョ ンは、 2003 年に リ リ ース された AMBA 3.0 で導入されま し た。 2010 年に<br />

リリースされた AMBA 4.0 には <strong>AXI</strong> の 2 番目のバージ ョ ンであ る <strong>AXI</strong>4 が含まれています。<br />

<strong>AXI</strong>4 インターフェイスには、 次の 3 つの種類があ り ます。<br />

• <strong>AXI</strong>4 ― メ モ リ マ ッ プ方式の高性能イ ン ターフ ェ イ スです。<br />

• <strong>AXI</strong>4-Lite ― 簡素化さ れた低スループ ッ ト の メ モ リ マ ッ プ方式通信イ ン ターフ ェ イ スです<br />

(制御レ ジ ス タやス テータ ス レ ジ ス タ と の通信などに使用)。<br />

• <strong>AXI</strong>4-Stream ― 高速のデータ ストリーミング用インターフェイスです。 ザイ リ ンクスでは、ISE ® Design Suite リリース 12.3 で、 これらのイ ン ターフ ェ イ ス を導入し ま し た。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 5<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 1 章 : ザイ リンクス システム開発のための <strong>AXI</strong> 入門<br />

<strong>AXI</strong> の動作<br />

<strong>AXI</strong>4 の利点のま とめ<br />

<strong>AXI</strong>4 はあ ら ゆ る ザ イ リ ン ク ス製品を改善および強化し、 生産性、 柔軟性、 そ し て可用性の向上 と<br />

い う 利点を提供し ます。<br />

• 生産性 ― <strong>AXI</strong> イ ン ターフ ェ イ スに よ る標準化に よ り 、開発者が習得し なければな ら ない IP 用<br />

のプロ ト コルが 1 つで済みます。<br />

• 柔軟性 ― アプ リ ケーシ ョ ンに適し たプ ロ ト コルを提供で き ます。<br />

• <strong>AXI</strong>4 は メ モ リ マ ッ プ方式のイ ン ターフ ェ イ ス用プロ ト コルであ り 、1 つのア ド レ ス フェー<br />

ズによって最大 256 データ サイクルのバース ト転送が可能です。<br />

• <strong>AXI</strong>4-Lite は、 メ モ リ マ ッ プ方式を用いた単一 ト ラ ンザ ク シ ョ ン専用の軽量イ ン ターフ ェ<br />

イ スです。 ロ ジ ッ ク のフ ッ ト プ リ ン ト が小 さ く 、 設計時に も使用時に も扱いやすいシンプ<br />

ルなインターフェ イ スです。<br />

• <strong>AXI</strong>4-Stream は、 ア ド レ ス フェーズの要件をすべて取り去った、 データ バース ト サイズに<br />

制約のないプロ ト コルです。<strong>AXI</strong>4-Stream によ る イ ン ターフ ェ イ スおよび転送にはア ド レ ス<br />

フェーズが存在しないため、 メモリマップ方式のインターフェイスとは見なされません。<br />

• 可用性 ― 業界の標準規格に移行する こ と で、 ザ イ リ ン ク スの IP カ タ ロ グだけでな く 、 世界的<br />

に展開し ている ARM 社パー ト ナー コ ミ ュ ニテ ィ が提供する IP が利用可能にな り ます。<br />

• 多くの IP プロバイダーが <strong>AXI</strong> プロ ト コルをサポート しています。<br />

• <strong>AXI</strong> ツールの強力なサードパーテ ィ ベンダーが、 検証、 シ ス テム開発、 性能評価用の さ<br />

ま ざ ま なツールを提供し ています。<strong>AXI</strong> ベースの よ り 高性能なシ ス テムの開発を始め る に<br />

は、 こ れ ら のツールが不可欠 と な り ます。<br />

ここでは、<strong>AXI</strong> イ ン ターフ ェ イ スの動作について概要を説明し ます。 5 ページの 「概要」 に ARM<br />

仕様を入手する手順を示し ています。 <strong>AXI</strong> の動作の詳細は、 こ れ ら の仕様を参照し て く だ さ い。<br />

<strong>AXI</strong> 仕様では、 相互に情報を交換する IP コアとして表された 1 つの <strong>AXI</strong> マスターと 1 つの <strong>AXI</strong><br />

ス レーブ間のイ ン ターフ ェ イ ス を規定し ています。 メ モ リ マ ッ プ方式の <strong>AXI</strong> のマス ターと スレー<br />

ブは、 イ ン ターコネク ト ブロック と呼ばれる構造によって接続されます。 ザイ リ ンクスの <strong>AXI</strong> イ<br />

ンターコネク ト IP には <strong>AXI</strong> 準拠のマ ス ターおよびス レーブ インターフェイスが含まれ、1 つ以上<br />

の <strong>AXI</strong> マ ス ターおよびス レーブ間の ト ラ ンザ ク シ ョ ン配線に使用で き ます。 <strong>AXI</strong> インターコネク<br />

ト IP については、 19 ページの 「ザ イ リ ン ク ス <strong>AXI</strong> インターコネク ト コア IP」 で説明し ます。<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite インターフェイスは、 次の 5 つのチャ ネルか ら構成 さ れます。<br />

• 読み出し ア ド レ ス チャネル<br />

• 書き込みアド レス チャネル<br />

• 読み出しデータ チャネル<br />

• 書き込みデータ チャネル<br />

• 書き込み応答チャ ネル<br />

データは、 マス ター と ス レーブ間で双方向に同時転送が可能であ り 、 それぞれの転送データ のサ イ<br />

ズは異なっていてもかまいません。 サポー ト されるバース ト トランザクションのサイズは最大で<br />

256 のデータ転送です。<strong>AXI</strong>4-Lite の場合は、1 トランザクションあたり 1 データ の転送のみサポー<br />

トされます。<br />

7 ページの図 1-1 は、 <strong>AXI</strong>4 読み出し ト ラ ンザ ク シ ョ ンにおいて、 読み出し ア ド レ スおよび読み出<br />

しデータ チャ ネルがどの よ う に使用 さ れるかを示し た も のです。<br />

6 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


X-Ref Target - Figure 1-1<br />

<strong>AXI</strong> の動作<br />

図 1-2 は、 書き込み ト ラ ンザ ク シ ョ ンにおいて、 書き込みア ド レ ス、 書き込みデータ、 および書き<br />

込み応答チャ ネルがどの よ う に使用さ れるかを示し た も のです。<br />

X-Ref Target - Figure 1-2<br />

Master<br />

interface<br />

Master<br />

interface<br />

Address<br />

and<br />

control<br />

Address<br />

and<br />

control<br />

Read<br />

data<br />

Read address channel<br />

図 1-1 : 読み出しのチ ャ ネル アーキテクチャ<br />

Write<br />

data<br />

Read data channel<br />

図 1-2 : 書き込みのチ ャ ネル アーキテクチャ<br />

図に示し た と お り 、 <strong>AXI</strong>4 では読み出し と 書き込みのいずれの場合も、 データ と ア ド レ スで別々の<br />

接続を使用し ます。 こ の よ う なアーキテ ク チャ を使用し てい る こ と に よ り 、 双方向か ら同時にデー<br />

タ を転送で き る よ う にな り ます。 <strong>AXI</strong>4 はア ド レスを 1 つ要求し、 最大 256 ワードのデータをバー<br />

スト転送します。<strong>AXI</strong>4 準拠のシ ス テムのデータ スループッ ト を高めるさまざまなオプシ ョ ンが<br />

<strong>AXI</strong>4 プ ロ ト コルに記述 さ れています。 た と えばバース ト 以外に も、 データ のア ッ プサ イ ジングお<br />

よびダウンサイジング、 Multiple Outstanding ア ド レ ス機能、 ア ウ ト オブオーダー トランザクショ<br />

ン処理な どの機能があ り ます。<br />

ハー ド ウ ェ ア レベルの特徴 と し ては、 <strong>AXI</strong> マスター/ス レーブの各ペアに対し て異な る ク ロ ッ ク を<br />

使用でき る と い う 機能があ り ます。 ま た、 タ イ ミ ン グ クロージャを容易にするためにレジスタ ス<br />

ライス (パイプライン ステージとも呼ばれる) を挿入できます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 7<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

Read<br />

data<br />

Read<br />

data<br />

Write address channel<br />

Write data channel<br />

Write<br />

data<br />

Write<br />

data<br />

Write response channel<br />

Read<br />

data<br />

Write<br />

data<br />

Write<br />

response<br />

Slave<br />

interface<br />

X12076<br />

Slave<br />

interface<br />

X12077


第 1 章 : ザイ リンクス システム開発のための <strong>AXI</strong> 入門<br />

IP の相互運用性<br />

<strong>AXI</strong>4-Lite の機能は、 い く つかの点を除き <strong>AXI</strong>4 と 同様です。 最も顕著な相違点は、 <strong>AXI</strong>4-Lite では<br />

バース ト 転送がサポー ト されていない こ と です。 『ARM AMBA <strong>AXI</strong> Protocol v2.0 Specification』 の<br />

<strong>AXI</strong>4-Lite に関する章に、 このプロ ト コルに関する詳細が記載されています。<br />

<strong>AXI</strong>4-Stream プロ ト コルは、 ス ト リーミ ング データ の伝送に使用する単一のチャ ネルを定義し ま<br />

す。 <strong>AXI</strong>4-Stream チャネルは、 <strong>AXI</strong>4 の書き込みデータ チャネルをモデルにしています。 ただし、<br />

<strong>AXI</strong>4 とは異なり、 <strong>AXI</strong>4-Stream イ ン ターフ ェ イ スでは、 バース ト 転送するデータ量に制限があ り<br />

ません。 『<strong>AXI</strong>4-Stream Protocol Specification』 には、 これ以外にもオプシ ョ ン機能についての記<br />

述があ り ます。 また、 <strong>AXI</strong>4-Stream 準拠の イ ン ターフ ェ イ ス を分割、 結合、 イ ン ター リ ーブ、 ア ッ<br />

プサイジング、 ダウンサイジングする方法も記載されています。 <strong>AXI</strong>4 とは異なり、 <strong>AXI</strong>4-Stream<br />

では転送順序を並べ替え る こ と はで き ません。<br />

<strong>AXI</strong>4-Stream の場合、 2 つの IP がいずれも <strong>AXI</strong>4-Stream 仕様に従って設計 さ れ、 信号レベルでは<br />

互換性を持っていた と し て も、 よ り ハイ レベルのシ ス テム を考えた場合、 こ れら 2 つのコ ンポーネ<br />

ン ト が適切に連動する と は限 り ません。 詳細は、 http://japan.xilinx.com/ipcenter/axi4.htm の <strong>AXI</strong><br />

IP 仕様、 および 47 ページの 「<strong>AXI</strong>4-Stream 信号」 を参照して く ださい。<br />

<strong>AXI</strong> 仕様は、 シグナ リ ン グの規格を定義する こ と で、IP 間のデータ転送用プ ロ ト コルを規定する フ<br />

レームワークを提供します。 この規格は、 データが IP 間で確実に交換さ れ、 シ ス テム全体に行き<br />

渡るよ うにします。<br />

<strong>AXI</strong> IP の相互運用性は、 次に影響を与え ます。<br />

• IP アプ リ ケーシ ョ ン空間<br />

• IP に よ るデータ解釈の方法<br />

• 使用する <strong>AXI</strong> インターフェイス プロ ト コル (<strong>AXI</strong>4、 <strong>AXI</strong>4-Lite、 <strong>AXI</strong>4-Stream のいずれか)<br />

<strong>AXI</strong> プ ロ ト コルは、 データ の交換、 転送、 変換方法を定義し ます。 ま た、 効率的かつ柔軟で予測性<br />

の高い、 確実なデータ転送手段を提供し ます。<br />

データ解釈について<br />

<strong>AXI</strong> プ ロ ト コルに よ ってデータ解釈が規定ま たは実行 さ れる こ と はあ り ません。 し たがって、 設計<br />

者がデータ の内容を把握し、 異な る IP 間でデータ解釈の方法に互換性を持たせる必要があ り ます。<br />

メモリマップ方式の <strong>AXI</strong>4 イ ン ターフ ェ イ ス を持つ汎用プ ロ セ ッ サなどの IP の場合、 エン ド ポ イ<br />

ント IP の要件に応じ てデータ を フ ォーマ ッ ト および解釈するプロセ ッ サをどのよ う にプロ グ ラ ミ<br />

ン グする かには、 高い自由度があ り ます。<br />

IP の互換性について<br />

<strong>AXI</strong>4-Stream を使用する IP の中でも、 イーサネ ッ ト MAC (EMAC) やビデオ ディスプレイなどの<br />

特定用途向け IP の場合、その互換性は対応する アプ リ ケーシ ョ ンに限定さ れた も のにな り ます。 し<br />

たがって、たと えばイーサネッ ト MAC の IP をビデオ ディスプレイ IP に直接接続する こ と は現実<br />

的ではあ り ません。<br />

メモ : EMAC と ビデオ ス トリーミングなどの 2 つの IP が理論上はデータ を交換で き た と し て も、<br />

ビッ ト フ ィ ール ド やデータ パケ ッ ト の解釈の方法が両者ではま った く 異な るため、連携し た動作は<br />

不可能です。<br />

8 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


インフラストラクチャ IP<br />

IP の相互運用性<br />

シ ス テム を構築する IP の別の形態と し て、 イ ン フ ラ ス ト ラ クチャ IP があ り ます。 イ ン フ ラ ス ト ラ<br />

クチャ IP は、 シ ス テム内のデータ を汎用 <strong>AXI</strong>4 イ ン ターフ ェ イ スに よ って転送ま たは変換する の<br />

みでデータ の解釈は行わない、 汎用 IP の場合がほ と んどです。<br />

インフラスト ラクチャ IP には、 た と えば次の よ う な も のがあ り ます。<br />

• レジスタ スライス (パイプライン用)<br />

• <strong>AXI</strong> FIFO (バ ッ フ ァー動作/ ク ロ ッ ク 変換用)<br />

• <strong>AXI</strong> インターコネク ト IP ( メモリマップ方式 IP の相互接続用)<br />

• <strong>AXI</strong> DMA (Direct Memory Access) エンジン ( メ モ リ マ ッ プ方式か ら ス ト リ ーム方式への変換用)<br />

これらの IP は複数の IP を接続し てシ ス テム を構築する場合には役立ち ますが、 通常、 データ のエ<br />

ンドポイントにはなりません。<br />

メモリマップ方式のプロトコル<br />

メ モ リ マ ッ プ方式の <strong>AXI</strong> (<strong>AXI</strong>3、 <strong>AXI</strong>4、 <strong>AXI</strong>4-Lite) では、 すべての ト ラ ンザク シ ョ ンに、 システ<br />

ム メ モ リ 空間内の宛先ア ド レ ス と 転送するデータ が関連し ます。<br />

多 く の場合、 メ モ リ マ ッ プ方式のシ ス テムでは、 定義された メ モ リ マ ッ プを中心に IP が動作する<br />

ため、 シ ス テム全体が よ り 均質な も の と し て捉え られます。<br />

<strong>AXI</strong>4-Stream プロト コル<br />

<strong>AXI</strong>4-Stream プ ロ ト コルは、 ア ド レ ス と い う 概念がないかま たは必要 と し ない、 データ中心のデー<br />

タ フ ロー方式を用い る アプ リ ケーシ ョ ンで使用 さ れます。 <strong>AXI</strong>4-Stream の各イ ン ターフ ェ イ スは、<br />

ハン ドシェ イ ク データ フ ローに よ る単独の単方向チャ ネル と し て機能し ます。<br />

メ モ リ マ ッ プ方式の <strong>AXI</strong> プロ ト コル タイプよりも低レベルの動作であることから、IP 間のデータ<br />

転送 メ カニズムはよ り 効率的に定義さ れます。 ただ し、 IP 間に統一 さ れたア ド レ ス関係は存在し ま<br />

せん。 <strong>AXI</strong>4-Stream IP はデータ フロー アプ リ ケーシ ョ ンの性能を最適化する には適し てい る も の<br />

の、 特定のアプ リ ケーシ ョ ン空間に専用化 さ れる傾向があ り ます。<br />

<strong>AXI</strong>4-Stream と メ モ リ マ ッ プ方式のプ ロ ト コルの組み合わせ<br />

<strong>AXI</strong>4-Stream とメモリマップ方式の <strong>AXI</strong> IP の両方を組み合わせてシ ス テム を構築する手法も あ り<br />

ます。 メ モ リ か ら ス ト リ ーム を入出力する には、 多 く の場合 DMA エンジンを使用します。 たとえ<br />

ば、 プ ロ セ ッ サを DMA エンジン と 組み合わせる こ と で、 パケ ッ ト をデコー ド し た り 、 データ のス<br />

トリーミングにプロトコル ス タ ッ ク を イ ンプ リ メ ン ト し て よ り 複雑なシ ス テム を構築し、異な る ア<br />

プリケーション空間または IP の間のデータ転送を可能にし た り でき ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 9<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 1 章 : ザイ リンクス システム開発のための <strong>AXI</strong> 入門<br />

<strong>AXI</strong> によって置き換えられるプロ ト コル<br />

表 1-1 は、 利用可能な <strong>AXI</strong>4 のハイ レベルの機能と、 <strong>AXI</strong> の各オプシ ョ ンが置換する既存プ ロ ト コ<br />

ルをま とめたものです。<br />

表 1-1 : 使用可能な <strong>AXI</strong>4 の機能および置き換え られる IP (1)<br />

インターフェイス 機能 置換対象<br />

ターゲッ ト <strong>リファレンス</strong> デザイ ン<br />

<strong>AXI</strong>4 • 従来の メ モ リ マ ッ プ方式のア ド レ ス/データ<br />

インターフェイス<br />

• データ バース ト のサポー ト<br />

<strong>AXI</strong>4-Lite • 従来の メ モ リ マ ッ プ方式のア ド レ ス/データ<br />

インターフェイス<br />

• 単一データ サイクルのみ<br />

PLBv3.4/v4.6<br />

こ のガイ ド の別の章では、 ザイ リ ン ク スのツールや IP の <strong>AXI</strong> への対応について、 よ り 詳細に解説<br />

しています。 Spartan-6 および Virtex-6 ターゲッ ト <strong>リファレンス</strong> デザイ ン も <strong>AXI</strong> 対応に移行済み<br />

で、 <strong>AXI</strong> への移行をサポー ト し ています。 こ れ ら はザ イ リ ン ク スの ターゲ ッ ト デザイ ン プラッ ト<br />

フォームの一部である、 ド メイン特化プラッ トフォーム ソ リ ューシ ョ ンの基盤となるデザインで<br />

す。 ターゲ ッ ト <strong>リファレンス</strong> デザ イ ン を活用する こ と で、 エンベデ ッ ド 、 DSP、 コネクティビティ<br />

をはじめとするザイ リ ンク スのさまざまなデザイン分野に <strong>AXI</strong> がどのよ うに適用されるのかを知<br />

ることができます。 ターゲット <strong>リファレンス</strong> デザイ ンの詳細は http://japan.xilinx.com/products/<br />

targeted_design_platforms.htm に掲載されています。<br />

10 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

OPB<br />

NPI<br />

XCL<br />

PLBv4.6 (シングルのみ)<br />

DCR<br />

DRP<br />

<strong>AXI</strong>4-Stream • データ のみのバース ト Local-Link<br />

1. 詳細は、 第 4 章 「ザイ リ ンクス <strong>AXI</strong> プロ ト コルへの移行」 を参照して く ださい。<br />

DSP<br />

TRN (PCIe 内で使用)<br />

FSL


その他の参考資料<br />

参考資料 と し て、 次の仕様書があ り ます。<br />

• 『ARM AMBA <strong>AXI</strong> Protocol v2.0 Specification』<br />

• 『AMBA4 <strong>AXI</strong>4-Stream Protocol v1.0』<br />

その他の参考資料<br />

http://www.amba.com よ り ARM ® AMBA ® <strong>AXI</strong> 仕様をダウ ン ロー ド する手順については、 5 ペー<br />

ジの 「概要」 を参照して く ださい。<br />

さらに、 この<strong>リファレンス</strong> <strong>ガイド</strong>では、 ザイ リンクス ウェブサイトに掲載された次の資料を参照<br />

しています。<br />

http://japan.xilinx.com/support/documentation/axi_ip_documentation.htm<br />

• 『<strong>AXI</strong>I Interconnect IP データ シー ト 』 (DS768)<br />

• 『<strong>AXI</strong>-To-<strong>AXI</strong> Connector IP データ シー ト 』 (DS803)<br />

• 『<strong>AXI</strong> External Master Connector データ シー ト 』 (DS804)<br />

• 『<strong>AXI</strong> External Slave Connector データ シー ト 』 (DS805)<br />

• 『MicroBlaze プロセッサ <strong>リファレンス</strong> <strong>ガイド</strong>』 (UG081)<br />

ま た、 次のウ ェブサ イ ト を紹介し ています。<br />

• <strong>AXI</strong> IP 関連資料のウ ェ ブサ イ ト : http://japan.xilinx.com/ipcenter/axi4.htm<br />

• EDK のウェブサイ ト : http://japan.xilinx.com/tools/embedded.htm<br />

• CORE Generator ® ツール : http://japan.xilinx.com/tools/coregen.htm<br />

• メモリ制御 : http://japan.xilinx.com/products/design_resources/mem_corner<br />

• System Generator : http://japan.xilinx.com/tools/sysgen.htm<br />

• Local-Link :<br />

http://japan.xilinx.com/products/design_resources/conn_central/locallink_member/sp06.pdf<br />

• ターゲッ ト デザイ ン プラッ ト フォーム :<br />

http://japan.xilinx.com/products/targeted_design_platforms.htm<br />

• アンサー データベース : http://japan.xilinx.com/support/answers/37425.htm<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 11<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 1 章 : ザイ リンクス システム開発のための <strong>AXI</strong> 入門<br />

12 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


ザイ リンクスのツールおよび IP による<br />

<strong>AXI</strong> のサポー ト<br />

ザイ リンクス デザイ ン ツールによる <strong>AXI</strong> 開発の支援<br />

第 2 章<br />

ここでは、ザイリンクス ® ツールを使用して、 ザイ リ ンク ス <strong>AXI</strong> IP を相互接続し たシ ス テム を構<br />

築する方法 (<strong>Xilinx</strong> Platform Studio または System Generator for DSP を使用)、 および個々の <strong>AXI</strong><br />

IP を実装する方法 (CORE Generator ツールを使用) を説明し ます。<br />

エンベデッ ド開発キッ ト : Embedded Edition および System Edition<br />

ザイ リ ンクス ISE Design Suite : Embedded Edition および System Edition は、こ の後説明する一連<br />

のツールによって、 デザインに <strong>AXI</strong> コ ア を追加する作業をサポー ト し ます。<br />

<strong>AXI</strong> エンベデッ ド システムの新規作成<br />

次のエンベデ ッ ド 開発キ ッ ト (EDK) ツールは、 <strong>AXI</strong> ベースの IP コア (pcore) の作成および追加を<br />

サポー ト し ます。<br />

• Base System Builder (BSB) ウ ィザード ― サポー ト 対象の開発ボード に搭載されたあ らゆる<br />

機能、 ま たはたいていのエンベデ ッ ド シ ス テムに一般的に含まれる基本的な機能を用いて、<br />

<strong>AXI</strong> または PLBv.46 の動作する エンベデ ッ ド デザインを作成します。 作成した基本システム<br />

は <strong>Xilinx</strong> Platform Studio (XPS) のメイン ビューおよび ISE でカスタマイズします。 ザイ リ ン<br />

クスでは、BSB を使用し て新規デザ イ ン を作成する こ と を推奨し ています。 詳細は XPS ヘル<br />

プを参照して く ださい。<br />

• <strong>Xilinx</strong> Platform Studio (XPS) ― さまざまなバス インターフェイス (<strong>AXI</strong> を含む) によって<br />

IP ブロックを接続してエンベデッ ド シ ス テム を作成する、 ブ ロ ッ ク ベースのシ ス テム アセン<br />

ブリ ツールを提供し ます。 プ ロ セ ッ サを含むシ ス テム、 含ま ないシ ス テムのいずれに も対応し<br />

ています。 このツールでは、 グラフ ィ カル インターフェイスによって、プロセッサ、ペリフェ<br />

ラル、 バス インターフェイスを接続します。<br />

• ソ フ ト ウ ェ ア開発キ ッ ト (SDK) ― アプ リ ケーシ ョ ン プ ロ ジ ェ ク ト 用の ソ フ ト ウ ェ ア開発環<br />

境です。 SDK は Eclipse オープン ソ ース規格に基づいて構築 さ れています。 <strong>AXI</strong> ベースのエ<br />

ンベデッ ド シ ス テムの場合、ハー ド ウ ェ ア プ ラ ッ ト フ ォーム仕様を XML 形式で SDK にエク<br />

スポート します (XPS ベースの ソ フ ト ウ ェ ア開発やデバ ッ グには対応し ていません)。 詳細は<br />

SDK ヘルプを参照して く ださい。<br />

EDK の詳細は、 次のサイ ト を参照し て く ださい。<br />

http://japan.xilinx.com/support/documentation/dt_edk.htm<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 13<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

<strong>AXI</strong> IP の作成と イ ンポー ト<br />

XPS には、 Platform Studio の IP リポジト リーに IP を自動的に登録で き る よ う にする Create and<br />

Import Peripheral (CIP) Wizard があ り ます。<br />

デザイ ンのデバッ グおよび検証 : XPS による ChipScope の使用法<br />

ChipScope Pro Analyzer <strong>AXI</strong> モニター コア (chipscope_axi_monitor) は、 ザイ リ ン ク スの <strong>AXI</strong>4<br />

または <strong>AXI</strong>4-Lite プロ ト コル インターフェイスのモニターおよびデバッグをサポート します。この<br />

コアを使用することで、 メモリマップ方式のあらゆる <strong>AXI</strong> マスター/スレーブ バス インターフェ<br />

イスを、 XPS からプローブできます。<br />

このプローブによって、ペリフェラルから <strong>AXI</strong> インターコネク ト コアに送信される <strong>AXI</strong> 信号を監<br />

視できます。 たとえば、MicroBlaze プロセッサの命令またはデータ インターフェイスにモニター<br />

をセ ッ ト する こ と で、プ ロ セ ッ サに対し て入出力を行 う すべての メ モ リ トランザクションを監視し<br />

ます。<br />

モニター コ アはそれぞれ独立し て動作する ため、 ト リ ガー出力をチェーン接続すればシ ス テム レ<br />

ベルの測定も可能です。モニ ター コ アの補助 ト リ ガー入力ポー ト や ト リ ガー出力を用いてマルチレ<br />

ベルの ト リ ガー環境を構築する こ と で、 シ ス テム レベルの複雑な測定が簡素化 さ れます。<br />

たとえば、 マスターが 100MHz、 スレーブが 50MHz で動作し てい る場合、 こ の多層 ト リ ガーを使<br />

用すれば、 異な る タ イ ム ド メ イ ン間のデータ転送を解析で き ます。 ま た、 シ ス テム レベルの測定<br />

によって、 複数のタイム ドメインが存在する複雑なシステム レベルの障害のデバッグや、 レイテ<br />

ンシのボ ト ルネ ッ ク 解析が可能にな り ます。<br />

chipscope_axi_monitor コアは IP カタログの /debug フォルダー下にあり、 XPS から次の手順で<br />

システムに追加できます。<br />

1. バス インターフェイスの System Assembly View (SAV) に chipscope_axi_monitor を追加し ます。<br />

2. [Bus Name] で、 プローブするバス を選択し ます。<br />

バス を選択する と 、 ペ リ フ ェ ラ ル と <strong>AXI</strong> インターコネク ト コア IP の間にモニ ターの頭文字<br />

「M」 が表示さ れます。<br />

3. ChipScope の ICON コ アをシ ス テムに追加し、 制御バス を <strong>AXI</strong> モニターに接続します。<br />

4. モニター コアの [SAV Ports] タブ上で、 コアの MON_<strong>AXI</strong>_ACLK ポー ト を、 プローブ対象の<br />

<strong>AXI</strong> イ ン ターフ ェ イ スが使用する ク ロ ッ ク と 同様に設定し ます。<br />

オプシ ョ ン と して、 MON_<strong>AXI</strong>_TRIG_OUT ポー ト を割 り 当て、 システム内のほかの<br />

chipscope_axi_monitor コアに接続できます。<br />

Project Navigator におけるプロセッサを含まないエンベデッ ド IP の使用法<br />

プロセッサ システム以外でも EDK IP の一部が必要 と な る場合があ り ます。 た と えば、 マルチポー<br />

トの DDR3 コ ン ト ローラーを構築する には <strong>AXI</strong> インターコネク ト コア ブロッ クを使用します。こ<br />

のよ うに、 プロセッサを含まないシステムでも、EDK IP の管理、 接続、 提供に XPS を使用できま<br />

す。 詳細は、 ザ イ リ ン ク ス アンサー レコード #37856 を参照して く ださい。<br />

14 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


System Generator : DSP Edition の使用法<br />

ザイ リンクス デザイ ン ツールによる <strong>AXI</strong> 開発の支援<br />

System Generator for DSP は、<strong>AXI</strong>4 および <strong>AXI</strong>4-Stream の両イ ン ターフ ェ イ スに対応し ています。<br />

• <strong>AXI</strong>4 インターフェイスは EDK プロセッサ ブロックでサポート されます。<br />

• <strong>AXI</strong>4-Stream インターフェイスは、 System Generator の <strong>AXI</strong>4 ブロッ ク ライブラリに含まれ<br />

る IP によってサポート されます。<br />

System Generator による <strong>AXI</strong>4 のサポー ト<br />

System Generator は、 そのブロ ッ ク セッ トに含まれる EDK プロセッサ ブロッ クを使用して <strong>AXI</strong>4<br />

( メモリマップ方式) をサポート します。EDK プロセッサ ブロックは、System Generator で作成し た<br />

ハー ド ウ ェ ア回路 と ザ イ リ ン ク ス MicroBlaze プ ロ セ ッ サの接続を可能に し ます。プロ セ ッ サへの<br />

接続オプシ ョ ン と し ては、 PLBv4.6 または <strong>AXI</strong>4 イ ン ターフ ェ イ スのいずれかを使用でき ます。<br />

System Generator のフローを使用する場合、 <strong>AXI</strong>4 の専門用語を熟知し てい る必要はあ り ません。<br />

これは、 EDK プロセッサ ブロックがメモリ を中心と した、 複数のバス タ イ プで動作する イ ン ター<br />

フ ェ イ ス を提供する ためです。<br />

共有レ ジ ス タ、 共有 FIFO、 共有メモ リ を用いたハード ウ ェアを作成できます。 指定したインター<br />

フェイスへのメモリの接続は、 EDK プロセッサ ブロックが管理します。<br />

図 2-1 に、 [EDK Processor] ダイアログ ボックスの [Implementation] タブで <strong>AXI</strong>4 バス タイプを<br />

選択し た状態を示し ます。<br />

X-Ref Target - Figure 2-1<br />

図 2-1 : [EDK Processor] ダイアログ ボックスの [Implementation] タブ<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 15<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

ポー ト 名の短縮<br />

System Generator は <strong>AXI</strong>4-Stream の信号名を短縮する こ と で、 ブ ロ ッ ク 上の表示を読みやす く し<br />

ます。 こ れは表示方法に限られ、 ネ ッ ト リ ス ト 内では <strong>AXI</strong>4-Stream の完全な名前が使用されます。<br />

ポー ト 名短縮のデフ ォル ト 設定はオンです。 完全なポー ト 名を表示させる には、 ブ ロ ッ ク パラ メー<br />

ターのダイアログ ボックスで [Display shortened port names] をオフにします。<br />

ポー ト のグループ化<br />

System Generator は <strong>AXI</strong>4-Stream チ ャ ネル信号を グループ化し、 各ブ ロ ッ ク を色分け し て表示し<br />

ます。<br />

次の図の例では、一番上の入力ポー ト data_tready と、上の 2 つの出力ポー ト data_tvalid と<br />

data_tdata は、同じ <strong>AXI</strong>4-Stream チャネルに属し ます。同様に、phase_tready、phase_tvalid、<br />

phase_tdata は同じチャ ネルに属し ます。<br />

<strong>AXI</strong>4-Stream チャネルのいずれにも含まれない信号は、 ブロッ クの背景と同じ色で表示されます。<br />

図 2-2 の rst 信号は、 その例です。<br />

X-Ref Target - Figure 2-2<br />

マルチチャネル TDATA の各チ ャ ネル表示<br />

図 2-2 : ブロ ッ ク信号のグループ化<br />

<strong>AXI</strong>4-Stream の TDATA 信号には、 複数のデータ チャネルが含まれる場合があり ます。 System<br />

Generator では、 TDATA の各チャネルが表示されます。 た と えば、 図 2-3 の複素乗算器では、 dout<br />

ポー ト の TDATA が虚数部分 と 実数部分に分けて表示さ れています。<br />

16 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


X-Ref Target - Figure 2-3<br />

ザイ リンクス デザイ ン ツールによる <strong>AXI</strong> 開発の支援<br />

図 2-3 : マルチチャネルの TDATA<br />

メモ : マルチチャネル TDATA の各チャネルが表示されて も、 デザイ ンに余分な ロ ジ ッ ク が追加さ<br />

れる わけではあ り ません。 データはバイ ト ご と に適切にそろえ られます。<br />

System Generator および <strong>AXI</strong> IP 作成の詳細は、 次の ウ ェ ブサ イ ト を ご覧 く だ さ い。<br />

http://japan.xilinx.com/tools/sysgen.htm<br />

ザイ リンクス <strong>AXI</strong> IP : Logic Edition での使用法<br />

<strong>AXI</strong>4 インターフェイスを備えたザイ リンクス IP は、 CORE Generator、 Project Navigator、<br />

PlanAhead の IP カ タ ロ グか ら直接利用で き ます。IP カタログの [<strong>AXI</strong>4] 列には、<strong>AXI</strong>4 サポー ト の<br />

有無が表示さ れます。 ま た、 IP の情報パネルには、 その IP がサポー ト する <strong>AXI</strong>4、 <strong>AXI</strong>4-Stream、<br />

<strong>AXI</strong>4-Lite インターフェイスが表示されます。<br />

通常、 Virtex ® -6 および Spartan ® -6 デバイ ス フ ァ ミ リ の場合、 <strong>AXI</strong>4 インターフェイスに対応して<br />

いる IP は、 最新バージ ョ ンの も のです。 こ れ以前の 「Production」 バージ ョ ンの IP も、 引き続き<br />

Virtex-6、 Spartan-6、 Virtex ® -5、 Virtex ® -4、 Spartan ® -3 デバイ ス フ ァ ミ リ の コ アに該当する レガ<br />

シー インターフェイスによってサポート されます。IP カタログにはデフォルトで、IP の<br />

「Production」 バージ ョ ンがすべて表示されます。 図 2-4 は、 CORE Generator の IP カタログです。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 17<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

X-Ref Target - Figure 2-4<br />

X-Ref Target - Figure 2-5<br />

図 2-4 : ザイ リンクス ソフトウェアの IP カタログ<br />

18 ページの図 2-5 は、 PlanAhead を使用した場合の [<strong>AXI</strong>4] 列 と、 IP の詳細情報パネルに表示 さ<br />

れた、 サポー ト 対象の <strong>AXI</strong>4 インターフェイスです。<br />

図 2-5 : PlanAhead ソフトウェアの IP カタログ<br />

18 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

ザ イ リ ン ク スは、 提供中の IP の大部分を <strong>AXI</strong> プ ロ ト コルに移行し ま し た。 こ こ では、 多 く の <strong>AXI</strong><br />

ベースのシ ス テムで使用さ れる、 よ り 複雑な IP の概要を説明し ます。<br />

Virtex ® -6 や Spartan ® -6 デバイス、および今後サポート されるデバイスには、ザイ リ ンクスによる、<br />

次の一般的な イ ン フ ラ ス ト ラ ク チャ IP を使用できます。<br />

• ザイ リ ンクス <strong>AXI</strong> インターコネク ト コア IP<br />

• <strong>AXI</strong> インターコネク ト コアのスレーブとマスターの接続<br />

• 外部マス ターおよびス レーブ<br />

• Centralized DMA (セン ト ラル DMA)<br />

• イーサネッ ト DMA<br />

• ビデオ DMA<br />

• メモリ制御 IP およびメモリ インターフェイス ジェネレーター<br />

使用法の詳細は、 第 4 章 「ザイリンクス <strong>AXI</strong> プロ ト コルへの移行」 を参照して ください。 また、<br />

<strong>AXI</strong> IP の全 リ ス ト は、 次のウ ェ ブサ イ ト に掲載さ れています。<br />

http://japan.xilinx.com/ipcenter/axi4.htm<br />

ザイ リンクス <strong>AXI</strong> インターコネクト コア IP<br />

<strong>AXI</strong> インターコネク ト コア IP (axi_interconnect) は、 1 つ以上の メ モ リ マ ッ プ方式 <strong>AXI</strong> マスター<br />

デバイ ス と 、 1 つ以上の メ モ リ マ ッ プ方式のス レーブ デバイ ス を接続し ます。 <strong>AXI</strong> インターフェイ<br />

スは、ARM ® の AMBA ® <strong>AXI</strong> 仕様のバージ ョ ン 4 に準拠し ています。 この仕様には <strong>AXI</strong>4-Lite 制<br />

御レジスタ インターフェイスのサブセッ ト も含まれます。<br />

メモ : <strong>AXI</strong> インターコネク ト コア IP は、 メ モ リ マ ッ プ方式の転送のみを前提に構成 さ れてい る た<br />

め、<strong>AXI</strong>4-Stream によ る転送には適用でき ません。<strong>AXI</strong>4-Stream インターフェイスを備えた IP は、<br />

通常同種の IP ど うし、および DMA IP と接続されます。<br />

<strong>AXI</strong> インターコネク ト コア IP は、 <strong>Xilinx</strong> Platform Studio ソ フ ト ウ ェ アに含まれる、 暗号化 さ れた<br />

ライセンス不要の (無償) pcore として提供されます。<br />

<strong>AXI</strong> インターコネクト コ アの特長<br />

<strong>AXI</strong> インターコネク ト IP には次のよ う な特長があ り ます。<br />

• <strong>AXI</strong> プロ ト コル (<strong>AXI</strong>3、 <strong>AXI</strong>4、 <strong>AXI</strong>4-Lite) に準拠し た次の機能<br />

• 最大バース ト 長 256 のインク リ メンタル (INCR) バース ト が可能です。<br />

• 宛先が <strong>AXI</strong>3 のス レーブの場合、16 ビー ト を超える <strong>AXI</strong>4 バース ト には ト ラ ンザ ク シ ョ ン<br />

を分割する変換を加え ます。<br />

• 複数のア ド レ ス デコー ド 範囲を持つス レーブに対し て REGION 出力を生成し ます。<br />

• USER 信号が存在する場合、 それを各チャ ネルに伝搬し ます。 その場合、 USER 信号幅は<br />

チャネルごとに独立して設定できます (オプシ ョ ン)。<br />

• サービ ス品質 (QoS) 信号が存在する場合、 それを伝搬し ます。 こ の信号は <strong>AXI</strong> インター<br />

コネク ト コアでは使用しません (オプシ ョ ン)。<br />

• インターフェイス データ幅<br />

• <strong>AXI</strong>4 : 32、 64、 128、 256 ビット<br />

• <strong>AXI</strong>4-Lite : 32 ビッ ト<br />

• アドレス幅 32 ビッ ト<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 19<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

• 1 ~ 16 個のマス ターと 1 ~ 16 個のス レーブの接続<br />

• マスターとスレーブを 1 対 1 で接続する場合、 <strong>AXI</strong> インターコネク ト コアは必要に応じ<br />

てア ド レ ス範囲チェ ッ ク を実行で き ます。 さ ら に、 通常のデータ幅、 ク ロ ッ ク レート、 プ<br />

ロ ト コルの変換やパイ プ ラ イ ン処理も実行で き ます。<br />

• マスターとスレーブを 1 対 1 で接続し、 変換ま たはア ド レ ス範囲チェ ッ ク のいずれ も実行<br />

しない場合、 <strong>AXI</strong> インターコネク ト コアはワイヤとしてインプリ メント され、 リ ソース<br />

を使用せず、 遅延やレ イ テンシ も発生し ません。<br />

• ビル ト イン データ幅変換<br />

• マスターおよびスレーブの各接続では、 それぞれ独立したデータ幅 (32、 64、 128、 256<br />

ビッ ト幅のいずれか) を使用できます。<br />

- 内部 ク ロ スバーは、 ネ イ テ ィ ブ データ幅が 32、 64、 128、 256 ビッ トになるよ うなコ<br />

ンフィギュレーションが可能です。<br />

- クロスバーのネイティブ データ幅と異なる幅のマスターおよびスレーブ接続ではデー<br />

タ幅を変換します。<br />

• よ り データ幅の広い イ ン ターフ ェ イ スに変換する場合 (アップサイジング)、 データをパッ<br />

ク (結合) します (オプシ ョ ン)。 それには、アドレス チャ ネル制御信号に よ って許可する<br />

(CACHE 変更許可ビ ッ ト を アサー ト する) 必要があ り ます。<br />

• よ り データ幅の狭い イ ン ターフ ェ イ スに変換 (ダウンサイジング) する際に、そのままでは<br />

最大バース ト 長を超えて し ま う 場合は、 バース ト トランザクションを複数のトランザク<br />

シ ョ ンに分割で き ます。<br />

• ビル ト イン クロック レート変換<br />

• マス ターおよびス レーブの接続は、 それぞれ独立し た ク ロ ッ ク レー ト を使用で き ます。<br />

• 内部 ク ロ スバーのネ イ テ ィ ブ クロック レー ト へ整数比 (N:1 および 1:N) の同期変換が可<br />

能です。<br />

• 非同期 ク ロ ッ ク 変換に も対応し ています (ただ し、 同期変換よ り も多 く のス ト レージを使<br />

用し、 よ り長いレイテンシを発生します)。<br />

• <strong>AXI</strong> インターコネク ト コアは、 接続された各マスター/スレーブ ペアのク ロ ッ ク レー ト<br />

に再同期さ れた リ セ ッ ト 信号をエ ク ス ポー ト し ます。<br />

• ビル ト イン <strong>AXI</strong>4-Lite プロ ト コル変換<br />

• <strong>AXI</strong> インターコネク ト コ アは、 あ ら ゆ る比率の <strong>AXI</strong>4 と <strong>AXI</strong>4-Lite マスター/スレーブの<br />

組み合わせに対する接続が可能です。<br />

• <strong>AXI</strong> インターコネク ト コアを <strong>AXI</strong>4-Lite のス レーブに接続し た場合、 ト ラ ンザ ク シ ョ ン<br />

ID が保存さ れ、 応答転送時に リ ス ト ア さ れます。<br />

- <strong>AXI</strong>4-Lite のス レーブの場合は ID をサンプリ ングした り保存した りする必要はあ り<br />

ません。<br />

• <strong>AXI</strong> インターコネク ト コ アは、 複数ワー ド のバース ト が実行 さ れる ト ラ ンザ ク シ ョ ンな<br />

ど、 <strong>AXI</strong>4 マスターからの不正な <strong>AXI</strong>4-Lite トランザクションを検出します。 このときマ<br />

ス ターに対し てプ ロ ト コルに準拠し たエ ラー応答を生成する と 共に、 こ の不正な ト ラ ンザ<br />

クションが <strong>AXI</strong>4-Lite スレーブに伝搬されないよ うにします。<br />

• <strong>AXI</strong>4-Lite ス レーブへの書き込みおよび読み出しは単一ス レ ッ ド の ト ラ ンザ ク シ ョ ンです。<br />

つま り 、 一度に 1 つのア ド レ スのみを伝搬し ます。 これによ って通常は、 書き込みと 読み<br />

出し のア ド レ ス信号を分け る こ と に よ る リ ソースのオーバーヘ ッ ド を抑止で き ます。<br />

20 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


• ビル ト イン <strong>AXI</strong>3 プロ ト コル変換<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

• <strong>AXI</strong>3 スレーブに接続した場合、<strong>AXI</strong> インターコネク ト コアは、<strong>AXI</strong>4 マスターからの 16<br />

ビー ト を超えるバース ト トランザクションを、16 ビート 以下の複数の ト ランザクシ ョ ン<br />

に分割し ます。<br />

• レジスタ スライスによるパイプライン処理 (オプシ ョ ン)<br />

• マス ターやス レーブに接続する、 各 <strong>AXI</strong> チャネルに適用できます。<br />

• 周波数対レ イ テンシの ト レー ド オフ を調整する こ と で、 タ イ ミ ン グ クロージャを容易にし<br />

ます。<br />

• すべての <strong>AXI</strong> ハン ド シェ イ ク条件において、 レジス タ スライスあたりのレイテンシは<br />

1 サ イ ク ルで、 データ スループ ッ ト が低下する こ と はあ り ません。<br />

• データ パス FIFO に よ るバ ッ フ ァ ー処理 (オプシ ョ ン)<br />

• マス ターやス レーブに接続する、 書き込みおよび読み出し のデータ パスに適用できます。<br />

• 深さ 32 の LUT-RAM ベースのバ ッ フ ァーを提供し ます。<br />

• 深さ 512 のブロ ッ ク RAM ベースのバ ッ フ ァ ーを提供し ます。<br />

• 選択可能な イ ン ターコ ネ ク ト アーキテクチャ<br />

• 共有ア ド レ ス複数データ (SAMD : Shared-Address, Multiple-Data) クロスバー<br />

- 書き込みおよび読み出しデータ チャネル用の並列のクロスバー パスです。複数の書き<br />

込みま たは読み出しデータ ソースが異なる宛先に対してデータを送信しよ う と してい<br />

る場合、 <strong>AXI</strong> の順序の規定に従っていれば、 こ れ ら のデータ転送を独立し て同時に実<br />

行でき ます。<br />

- コネクティビティ マップのコンフィギュレーションに従った、 スペース クロスバー<br />

データ パスは リ ソース使用量を低減し ます。<br />

- 書き込みア ド レ スの共有アービ ター と 読み出し ア ド レ スの共有アービ ターをそれぞれ<br />

1 つずつ含みます。 通常、 ト ラ ンザ ク シ ョ ンが平均 3 データ ビー ト 以上の場合、 アー<br />

ビトレーションに要するレイテンシはデータ スループッ ト に影響を与えません。<br />

• 共有ア ク セ ス モード (エ リ ア最適化)<br />

- 書き込みデータ、 読み出しデータ、 1 つのア ド レ ス パスを共有します。<br />

- 一度に 1 つの Outstanding トランザクションを発行します。<br />

- リ ソ ース使用率を最小化し ます。<br />

• Multiple Outstanding (複数の未処理) トランザクションのサポート<br />

• マス ターに よ る複数の深さ レベルの順序変更 (ID スレッド) に対応し ます。<br />

• 最大 16 ビッ ト幅の ID 信号に対応し ます (システム共通)。<br />

• 書き込み応答の順序変更に対応し ます。 読み出しデータ の順序変更および読み出しデータ<br />

の イ ン ター リ ーブに も対応し ています。<br />

• 接続さ れた各マ ス ターに対し て、 書き込みおよび読み出し ト ラ ンザ ク シ ョ ンの受け付け限<br />

度を設定で き ます。<br />

• 接続さ れた各ス レーブに対し て、 書き込みおよび読み出し ト ラ ンザ ク シ ョ ンの発行限度を<br />

設定で き ます。<br />

• サ イ ク ル依存性 (デッ ドロッ ク) を予防する 「ID あたり 1 スレーブ」 の手法<br />

• マスターは、発行した各 ID ス レ ッ ド において、 書き込みおよび読み出し のス レーブ各 1 つ<br />

ずつに対する Outstanding ト ラ ンザク シ ョ ンをいつでも実行でき ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 21<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

• 固定優先順位 と ラ ウ ン ド ロ ビ ン アービ ト レーシ ョ ン<br />

• 16 段階の静的優先順位を設定で き ます。<br />

• よ り 優先順位が高いほかのマ ス ターか ら の要求がない場合、 最低の優先順位に設定 さ れた<br />

(優先順位 0 の) すべてのマス ター間で、 ラ ウ ン ド ロ ビ ン方式のアービ ト レーシ ョ ンが実行<br />

されます。<br />

• 受け付け限度に達し たマス ター、 発行限度に達し た ス レーブを宛先 と し てい る マ ス ター、<br />

またはデッ ドロッ クのおそれがある方法でスレーブにアクセスしよ う と しているマスター<br />

は、 アービ ト レーシ ョ ンへの参加資格を一時的に奪われます。 こ れに よ って、 ほかのマ ス<br />

ターがアービトレーションに参加できるようにします。<br />

• 接続さ れた各ス レーブに対する TrustZone セキュ リ ティの一括サポート<br />

- セキ ュ アな ス レーブ と し て設定する と 、セキ ュ アな <strong>AXI</strong> ア クセス しか受け付けな く な<br />

ります。<br />

- セキュアでないアクセスはブロ ッ ク され、<strong>AXI</strong> インターコネク ト コアがマスターに対<br />

して DECERR 応答を返し ます。<br />

• リ ソ ース使用量を低減する読み出し専用および書き込み専用マ ス ター /スレーブのサポート<br />

<strong>AXI</strong> インターコネクト コ アの制約<br />

• <strong>AXI</strong> インターコネク ト コアは、 次の <strong>AXI</strong>3 機能には対応し ていません。<br />

• アト ミック ロック トランザクション ― こ の機能は <strong>AXI</strong>4 プロ ト コルでは廃止されまし<br />

た。 分割禁止に ロ ッ ク さ れた ト ラ ンザ ク シ ョ ンは、 ロ ッ ク を解除 さ れた ト ラ ンザ ク シ ョ ン<br />

に変換さ れた う えでス レーブに伝搬 さ れます。<br />

• 書き込みイ ン ター リ ーブ ― こ の機能は <strong>AXI</strong>4 プロ ト コルでは廃止されました。 したがっ<br />

て、 <strong>AXI</strong>3 マスターは、 書き込みインターリーブの深さが 1 のス レーブに接続する よ う に<br />

設定する必要があ り ます。<br />

• <strong>AXI</strong>4 の QoS 信号は、 アービ ト レーシ ョ ンの優先順位に影響を与え ません。 QoS 信号は、 マ<br />

ス ターか ら ス レーブに伝搬さ れます。<br />

• 複数ビー ト のバース ト を複数の単一ビー ト ト ラ ンザ ク シ ョ ンに変換する <strong>AXI</strong> インターコネク<br />

ト コアの機能は、 <strong>AXI</strong>4-Lite スレーブに接続した場合は実行されません。<br />

• <strong>AXI</strong> インターコネク ト コ アは低消費電力モー ド ま たは <strong>AXI</strong> チャ ネル信号に よ る伝搬には対応<br />

していません。<br />

• <strong>AXI</strong> インターコネク ト コアは、 <strong>AXI</strong> チャ ネル伝送のいずれかの宛先が恒久的にス ト ールし て<br />

も、 タイムアウ ト しません。 したがって、 すべての <strong>AXI</strong> スレーブは受信したト ランザクショ<br />

ンのすべてに対し て <strong>AXI</strong> プ ロ ト コルの要件に従った応答を返す必要があ り ます。<br />

• <strong>AXI</strong> インターコネク ト コアはアドレスマップの再割り当てを行いません。<br />

• <strong>AXI</strong> インターコネク ト コアは、APB などの非 <strong>AXI</strong> プ ロ ト コルへのビル ト イ ン変換機能を備え<br />

ていません。<br />

• <strong>AXI</strong> インターコネク ト コアにはクロック イネーブル (ACLKEN) 入力があ り ません。 こ のため、<br />

ザイ リ ンクス シ ス テムでは メ モ リ マ ッ プ方式の <strong>AXI</strong> インターフェイス間で ACLKEN を使用で<br />

きません。<br />

メモ : ザイ リ ンクス <strong>AXI</strong>4-Stream インターフェイスでは ACLKEN 信号がサポー ト されています。<br />

22 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


X-Ref Target - Figure 2-6<br />

<strong>AXI</strong> インターコネクト コ ア接続図<br />

Slave<br />

Interface<br />

図 2-6 は、 <strong>AXI</strong> イ ン ターコ ネ ク ト の最上位接続図です。<br />

<strong>AXI</strong> Interconnect<br />

<strong>AXI</strong> インターコネクト コ アの使用モデル<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

<strong>AXI</strong> インターコネク ト コア IP は、1 つ以上の メ モ リ マ ッ プ方式 <strong>AXI</strong> マスター デバイ ス と 、1 つ以<br />

上の メ モ リ マ ッ プ方式のス レーブ デバイ ス を接続し ます。 以降のサブセ ク シ ョ ンでは、 使用例につ<br />

いて説明し ます。<br />

• パス スルー<br />

• 変換のみ<br />

• N 対 1 のインターコネク ト<br />

• 1 対 N のインターコネク ト<br />

• N 対 M インターコネク ト (スパース クロスバー)<br />

• N 対 M インターコネク ト (共有ア ク セ ス モード)<br />

パス スルー<br />

SI Hemisphere MI Hemisphere<br />

図 2-6 : <strong>AXI</strong> イ ン タ ー コ ネ ク ト の最上位接続図<br />

接続さ れるデバイ スがマ ス ター と ス レーブのそれぞれ 1 つだけで、 オプシ ョ ンの変換機能やパイ プ<br />

ライン処理を実行しない場合、<strong>AXI</strong> インターコネク ト コ アはワ イ ヤに よ る直接接続にな り 、 レ イ<br />

テンシを発生せず、 ロ ジ ッ ク リソースも消費しません。<br />

図 2-7 はパス スルーの接続図です。<br />

Master<br />

Interface<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 23<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

Crossbar<br />

Master 0 Slave 0<br />

Master 1<br />

X-Ref Target - Figure 2-7<br />

Register Slices<br />

Up-sizers<br />

Clock Converters<br />

Down-sizers<br />

Data FIFOs<br />

Interconnect<br />

Master 0 Slave 0<br />

図 2-7 : <strong>AXI</strong> イ ン タ ーコ ネ ク ト の使用例-パス スルー<br />

Data FIFOs<br />

Up-sizers<br />

Clock Converters<br />

Down-sizers<br />

Protocol Converters<br />

Register Slices<br />

Slave 1<br />

X12047


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

変換のみ<br />

<strong>AXI</strong> インターコネク ト コアは、1 つのマス ターを 1 つのス レーブに接続し た場合、次のよ う な さ ま<br />

ざ ま な変換およびパイ プ ラ イ ン機能を実行で き ます。 次に例を示し ます。<br />

• データ幅変換<br />

• クロック レート変換<br />

• <strong>AXI</strong>4-Lite スレーブ適合<br />

• <strong>AXI</strong>-3 スレーブ適合<br />

• レジスタ スライスまたはデータ チャネル FIFO によるパイプライン処理<br />

これらの使用例では、 <strong>AXI</strong> インターコネク ト コアにアービ ト レーション、 デコード、 ルーティング<br />

の ロ ジ ッ ク は含まれません。 ま た、 実行する変換に よ ってはレ イ テンシが発生する場合があ り ます。<br />

図 2-8 は、 1 対 1 変換の使用例を示し た も のです。<br />

X-Ref Target - Figure 2-8<br />

N 対 1 のインターコネク ト<br />

Interconnect<br />

Master 0 Slave 0<br />

Conversion<br />

and/or<br />

Pipelining<br />

図 2-8 : <strong>AXI</strong> イ ン タ ーコ ネ ク ト の使用例- 1 対 1 変換<br />

一般に、 こ のよ う な <strong>AXI</strong> インターコネク ト コアのコンフィギュレーションを行うのは、 複数のマ<br />

スター デバイ スが、 1 つのス レーブ デバイ ス、 通常は メ モ リ コント ローラーへのアクセスについ<br />

てアービ ト レーシ ョ ン を実行する場合です。<br />

このよ うなケースでは、 アドレス デコード ロジックが不要になることがあり、 その場合 <strong>AXI</strong> イン<br />

ターコネク ト コアから除外されます (ただ し ア ド レ ス範囲検証が不要の場合に限 り ます)。<br />

このコンフィギュレーションでも、 データ幅やククロック レー ト などの変換機能は動作し ます。<br />

図 2-9 は N 対 1 の <strong>AXI</strong> イ ン ターコ ネ ク ト の使用例を示し た も のです。<br />

24 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

X12049


.<br />

X-Ref Target - Figure 2-9<br />

1 対 N のインターコネク ト<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

もう 1 つの <strong>AXI</strong> インターコネク ト コアのコンフィギュレーション ケースが、1 つのマス ター デバ<br />

イ ス、 通常はプ ロ セ ッ サが、 複数の メ モ リ マ ッ プ方式のス レーブ ペリフェラルにアクセスする場合<br />

です。 こ の よ う な場合、 ア ド レ スおよび書き込みデータ パスのアービ ト レーシ ョ ンは実行されませ<br />

ん。 25 ページの図 2-10 は、 1 対 N の イ ン ターコ ネ ク ト の使用例を示し た も のです。<br />

X-Ref Target - Figure 2-10<br />

Master 0<br />

Master 1<br />

Master 0<br />

Interconnect<br />

図 2-9 : <strong>AXI</strong> イ ン タ ー コ ネ ク ト の使用例 - N 対 1<br />

図 2-10 : <strong>AXI</strong> イ ン タ ー コ ネ ク ト の使用例- 1 対 N<br />

N 対 M インターコネクト (スパース クロスバー)<br />

Slave 0<br />

<strong>AXI</strong> インターコネク トは SAMD (共有ア ド レ ス複数データ) トポロジを取ることができます。 これ<br />

は、 図 2-11 に示すよ う にスパース データ ク ロ スバー接続か ら構成さ れ、 単一ス レ ッ ド の書き込み<br />

および読み出し ア ド レ ス アービ ト レーシ ョ ンが実行 さ れます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 25<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

Arbiter<br />

Interconnect<br />

Decoder/Router<br />

X12050<br />

Slave 0<br />

Slave 1<br />

X12051


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

X-Ref Target - Figure 2-11<br />

X-Ref Target - Figure 2-12<br />

Master 0<br />

Master 1<br />

Master 2<br />

Master 0<br />

Master 1<br />

Master 2<br />

W<br />

R<br />

W<br />

R<br />

W<br />

R<br />

AW<br />

AR<br />

AW<br />

AR<br />

AW<br />

AR<br />

Interconnect<br />

図 2-11 : 共有書き込みおよび読み出し ア ド レス アービ ト レーシ ョ ン<br />

26 ページの図 2-12 は、スパース ク ロ スバーに よ る書き込みおよび読み出しデータ パスを示したも<br />

のです。<br />

Interconnect<br />

Write<br />

Transaction<br />

Arbiter<br />

Read<br />

Transaction<br />

Arbiter<br />

26 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

Router<br />

Router<br />

Write Data Crossbar<br />

Read Data Crossbar<br />

図 2-12 : スパース ク ロスバーによ る書き込みおよび読み出し デー タ パス<br />

Slave 0<br />

AW<br />

AR<br />

Slave 1<br />

AW<br />

AR<br />

Slave 2<br />

AW<br />

AR<br />

X12052<br />

Slave 0<br />

W<br />

R<br />

Slave 1<br />

W<br />

R<br />

Slave 2<br />

W<br />

R<br />

X12053


ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

並列書き込みおよび読み出しデータ パスは、 スパース コネクティビティ マップのコンフィギュ<br />

レーシ ョ ンに従い、 各 SI (Slave Interface) スロッ ト (左側の <strong>AXI</strong> マスターに接続) を、 アクセス可<br />

能なすべての MI (Master Interface) スロッ ト (右側の <strong>AXI</strong> スレーブに接続) に接続し ます。 複数の<br />

ソースが異なる宛先に対してデータを送信しよ う と している場合、<strong>AXI</strong> の順序の規定に従っていれ<br />

ば、 データ転送を独立し て同時に実行で き ます。<br />

すべての SI スロッ ト (複数の場合) の書き込みア ド レ ス チャネルはセン ト ラル アービ ターに入力<br />

され、 アービターは一度に 1 つの SI ス ロ ッ ト へのア ク セス を許可し ます。 読み出し ア ド レ ス チャ<br />

ネルの場合も同様です。 各アービ ト レーシ ョ ン サイクルでアクセス権を得たマスターは、 宛先の<br />

MI ス ロ ッ ト にア ド レ ス情報を転送し、 該当する コ マン ド キューにエント リをプッシュします。 こ<br />

のよ うにして <strong>AXI</strong> の順序の規定に従いつつ、 さ ま ざ ま なデータ パス を経由し て適切な宛先にデー<br />

タが送られます。<br />

幅変換<br />

<strong>AXI</strong> Interconnect コアには、 パラメーターによって内部ネイティブ データ幅が定義さ れています。<br />

サポー ト されるデータ幅は、 32、 64、 128、 256 ビ ッ ト です。 ク ロ スバーに接続さ れた <strong>AXI</strong> データ<br />

チャネルは、 C_INTERCONNECT_DATA_WIDTH パラ メーターによって指定された <strong>AXI</strong> インター<br />

コ ネ ク ト の 「ネ イ テ ィ ブ」 幅に調整さ れます。<br />

これとは異なる幅の SI スロッ トまたは MI スロッ トがあると、 <strong>AXI</strong> インターコネク ト コアは幅変<br />

換ユニ ッ ト を挿入し て、 ス ロ ッ ト 幅を <strong>AXI</strong> インターコネク ト コアのネイティブ幅に適合させてか<br />

ら、 ク ロ スバーを も う 一方の側へ と 横断させます。<br />

データ が SI から MI に向か う 方向で見てデータ パス幅が広く なる ( 「ア ップサイジング」 ) 場合 と 、<br />

狭くなる ( 「ダウンサイジング」 ) 場合で、 幅変換の機能は異な り ますが、 SI 側 (SI から <strong>AXI</strong> イン<br />

ターコネク ト ネイティブ幅への変換) と MI 側 (<strong>AXI</strong> インターコネク ト ネイティブ幅から MI への<br />

変換) では同じにな り ます。<br />

MI と SI の各ス ロ ッ ト には、 それぞれ個別にパラ メ ーターによ ってデータ幅の値が関連付け られて<br />

います。 <strong>AXI</strong> インターコネク ト コアは、 MI および SI の各ス ロ ッ ト を次の手順で自動的に内部ネ<br />

イティブ データ幅に適合 させます。<br />

• SI スロッ トのデータ幅が <strong>AXI</strong> インターコネクトの内部ネイティブ データ幅よ り も広い場合、<br />

SI ス ロ ッ ト のパスに沿ってダ ウ ンサ イ ジン グの変換を実行し ます。<br />

• <strong>AXI</strong> インターコネクト コアの内部ネイティブ データ幅が MI スロ ッ トのデータ幅よ り も広い<br />

場合、 MI ス ロ ッ ト のパスに沿ってダ ウ ンサ イ ジングの変換を実行し ます。<br />

• SI スロッ トのデータ幅が <strong>AXI</strong> インターコネクトの内部ネイティブ データ幅よ り も狭い場合、<br />

SI ス ロ ッ ト のパスに沿ってア ッ プサ イ ジン グの変換を実行し ます。<br />

• <strong>AXI</strong> インターコネクト コアの内部ネイティブ データ幅が MI スロ ッ トのデータ幅よ り も狭い<br />

場合、 MI ス ロ ッ ト のパスに沿ってア ッ プサ イ ジングの変換を実行し ます。<br />

通常、 <strong>AXI</strong> インターコネク ト コアのデータ幅は、システム デザイ ン内の最大 SI スロッ ト幅と最大<br />

MI ス ロ ッ ト 幅の う ち小さい方に合わせられます。<br />

こ の後、 ダ ウ ンサ イ ジン グおよびア ッ プサ イ ジン グの動作について説明し ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 27<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

ダウンサイジング<br />

幅の広いマス ター デバイ ス を接続するパスに使用さ れる ダ ウ ンサ イザーには、 <strong>AXI</strong> の最大バース<br />

ト 長を超え る可能性があ るバース ト ト ラ ンザ ク シ ョ ン を分割する機能が (そのよ う なバース ト が実<br />

際には決して発生しない場合であっても) 実装 さ れています。SI 側のデータ幅が MI 側よ り も広く、<br />

かつ ト ラ ンザク シ ョ ンの転送サイ ズ も MI 側 のデータ幅よ り広い場合、ダウンサイジングが実行さ<br />

れ、 MI 側に発行さ れる ト ラ ンザ ク シ ョ ンのデータ ビー ト 数は分割数に応じ て倍増し ます。<br />

• 書き込みの場合、 データ がシ リ アル化 さ れます。<br />

• 読み出し の場合、 データ が結合さ れます。<br />

転送サ イ ズが MI 側のデータ幅以下の場合、 ト ラ ンザ ク シ ョ ン (アドレス チャネルの値) は変化せ<br />

ず、 転送データはバイ ト レーン ステア リ ングの場合を除き、 そのまま通過します。 これは、 書き<br />

込みおよび読み出し の両方に当てはま り ます。<br />

アップサイジング<br />

SI 側のア ッ プサイザーでは、 AW/ARCACHE[1] ビッ ト (変更許可) がアサー ト さ れていれば、 デー<br />

タ圧縮が実行されます (INCR および WRAP バース ト の場合)。<br />

その結果、 MI 側に発行さ れる ト ラ ンザ ク シ ョ ンのデータ ビート数は圧縮に応じて減少します。<br />

• 書き込みの場合、 データ が結合さ れます。<br />

• 読み出し の場合、 データ がシ リ アル化 さ れます。<br />

N 対 M インターコネクト (共有ア ク セス モード)<br />

共有ア ク セ ス モード における N 対 M 接続の場合、 28 ページの図 2-13 に示すよ う に、 <strong>AXI</strong> イ<br />

ンターコネク ト コアは一度に 1 つだけ Outstanding トランザクションを提供します。接続された<br />

各マス ターでは、 読み出し ト ラ ンザ ク シ ョ ン要求が書き込み要求よ り も常に優先 さ れます。 要求を<br />

送信し たマス ターのいずれかをアービ ターが選択し ます。 こ れに よ って、 宛先のス レーブ デバイ ス<br />

に対する書き込みまたは読み出しデータ転送が有効になり ます。 データ転送が完了 (書き込み応答<br />

を含む) すると、 次の要求が選択され処理されます。<br />

共有ア ク セ ス モード はイ ン ターコネ ク ト のク ロ スバー モジュールをインプ リ メ ン ト するために必<br />

要な リ ソ ース を最小限に抑え ます。 図 2-13 に、 共有ア ク セス モード を示し ます。<br />

X-Ref Target - Figure 2-13<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

図 2-13 : 共有ア ク セス モード<br />

28 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


クロック変換<br />

ク ロ ッ ク 変換は、 次の条件に従って実行さ れます。<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

• クロック レート リダクション モジュールは、入力 (SI) 側から出力 (MI) 側に向けて整数比 N:1<br />

でクロック レー ト を分周し ます。<br />

• クロック レート アクセラレーション モジュールは、 入力 (SI) 側から出力 (MI) 側に向けて整<br />

数比 1:N でクロック レー ト を逓倍し ます。<br />

• 同期 ク ロ ッ ク 変換モジ ュールは、 非同期 FIFO を通してチャネル信号を渡すこ とで、 ク ロ ッ ク<br />

レー ト を増減し ます。<br />

リダクションおよびアクセラレーションのいずれのモジュールでも、より高速なクロック ドメイン<br />

のサンプ リ ング サ イ ク ルは自動的に決定 さ れます。 各モジ ュールは、 5 つの <strong>AXI</strong> チャネルのすべ<br />

てに適用可能です。<br />

MIおよび SI は複数の ク ロ ッ ク 入力を持ち、 その各ビ ッ ト は対応する イ ン ターフ ェ イ ス スロッ トの<br />

全信号 と 同期し ています。 <strong>AXI</strong> インターコネク ト コアには専用のネイティブ クロック入力があり<br />

ます。 <strong>AXI</strong> インターコネク ト コアは、 MI および SI の各ス ロ ッ ト の ク ロ ッ ク レート を <strong>AXI</strong> イン<br />

ターコネク トのク ロ ッ ク レー ト に自動的に適合 させます。<br />

通常、 <strong>AXI</strong> インターコネク ト コアのネイティブ クロック入力は、システム デザ イ ン内の最大周波<br />

数の SI または MI スロッ ト、 たとえばメイン メモリ コ ン ト ローラーに接続 さ れた MI スロッ トな<br />

どが使用し てい る も の と 同じ ク ロ ッ ク ソースに接続 さ れます。<br />

パイプライン処理<br />

ある環境下では、 データ バース ト をバ ッ フ ァ リ ングする こ と で <strong>AXI</strong> インターコネク ト コアのス<br />

ループ ッ ト が向上する場合があ り ます。 こ の よ う な状況は通常、 データ幅ま たは ク ロ ッ ク レー ト の<br />

変換に よ って SI または MI スロッ トのデータ レート が <strong>AXI</strong> インターコネク ト コアのネイティブ<br />

データ レート と異なる場合に見られます。<br />

レー ト 変換の種々の組み合わせに対応する ために、オプシ ョ ンで さ ま ざ ま な位置にデータ バース ト<br />

バ ッ フ ァーを挿入で き ます。<br />

さらにオプションとして深さ 2 のレジスタ スライス (スキッ ド バッファー) を、各 SI または MI ス<br />

ロットの 5 つの <strong>AXI</strong> チャネルのそれぞれに対して挿入し、 システムのタイ ミ ング クロージャを改<br />

善する こ と も で き ます。<br />

ペリフェラル レジスタ スライス<br />

SI および MI 両方の最外周部分では、 必要に応じ て、 各イ ン ターフ ェ イ ス スロッ トの各チャネルに<br />

レジスタ スライス バッファーを挿入できます。 その主な目的は、 レイテンシは 1 サ イ ク ル分増加<br />

しますが、 システム タ イ ミ ン グ を改善する こ と です。<br />

ペリフェラル レジスタ スライスは、 常に SI または MI ス ロ ッ ト の ク ロ ッ ク に同期し ます。<br />

データ パス FIFO<br />

<strong>AXI</strong> インターコネク ト コアの SI および MI の間で実行さ れる、さ ま ざ ま なデータ フロー レー ト変<br />

換の組み合わせに対応する ために、 必要に応じ て次の 4 箇所にデータ パス バッファーを挿入でき<br />

ます。<br />

• 各 SI ス ロ ッ ト の書き込みデータ ルーターの前の、 SI 側書き込みデータ FIFO<br />

• 各 MI ス ロ ッ ト の書き込みデータ マルチプレ ク サーの後の、 MI 側書き込みデータ FIFO<br />

• 各 MI ス ロ ッ ト の読み出しデータ ルーターの前 (MI 側) の、 MI 側読み出しデータ FIFO<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 29<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

• 各 SI ス ロ ッ ト の読み出しデータ マルチプレ クサー の後 (SI 側) の、SI 側読み出しデータ FIFO<br />

(マルチス レ ッ ド SI ス ロ ッ ト の場合、 複数の ID スレッド パス間のマルチプレクサーも含まれ<br />

ます)<br />

データ FIFO は <strong>AXI</strong> インターコネク ト コアのネイティブ ク ロ ッ ク に同期し ます。 各データ FIFO<br />

の幅は、 <strong>AXI</strong> インターコネク ト コアのネイティブ データ幅 と 同じ です。<br />

<strong>AXI</strong> インターコネク ト IP の詳細および必要な信号やパ ラ メ ーターについては、 ザ イ リ ン ク スの<br />

ウェブサイトより提供している 『<strong>AXI</strong> インターコネク ト IP データ シー ト 』 (DS768) を参照して く<br />

ださい。 http://japan.xilinx.com/support/documentation/axi_ip_documentation.htm<br />

<strong>AXI</strong> インターコネクト コアのスレーブとマスターの接続<br />

<strong>AXI</strong> インターコネク ト コア モジュールのスレーブ インターフェイスを、 別の <strong>AXI</strong> インターコネ<br />

クト コ アに接続する場合、 <strong>AXI</strong>-to-<strong>AXI</strong> コネクター IP (axi2axi_connector) を使用すれば、 ほかの<br />

ロジックの介在は不要です。 axi2axi_connector IP は、 シ ス テム内のコ ネ ク テ ィ ビテ ィ を記述する<br />

ために必要なポー ト 接続点、 および接続 さ れる <strong>AXI</strong> インターコネク ト コア モジ ュールの対応する<br />

イ ン ターフ ェ イ スの設定に使用する一連のパラ メ ーターを提供し ます。<br />

<strong>AXI</strong>-To-<strong>AXI</strong> コ ネ ク タ ーの特徴<br />

内容<br />

axi2axi_connector には、 次の よ う な特徴があ り ます。<br />

• 1 つの <strong>AXI</strong> インターコネク ト コア モジュールのマスター インターフェイスを、 別の <strong>AXI</strong> イ<br />

ンターコネク ト コア モジュールのスレーブ インターフェイスに接続します。<br />

• すべてのマス ター イ ン ターフ ェ イ ス信号をすべてのス レーブ イ ン ターフ ェ イ ス信号に直接接<br />

続します。<br />

• ロジックまたはス ト レージは含まれず、 EDK 内ではバス ブリッジとして機能します。<br />

axi2axi_connector ( 「コネク ター」 ) モジュールの <strong>AXI</strong> スレーブ インターフェイスは、必ず ( 「ア ッ<br />

プス ト リームの」) <strong>AXI</strong> インターコネク ト コア モジュールのマスター イ ン ターフ ェ イ ス接続点 (ス<br />

ロット) の 1 つに接続されます。 一方、 コネ ク ターの <strong>AXI</strong> マスター インターフェイスは、 必ず上<br />

記とは異なる ( 「ダウ ンス ト リ ームの」 ) <strong>AXI</strong> インターコネク ト コア モジュールのスレーブ イン<br />

ターフェイス スロッ トに接続されます (31 ページの図 2-14 参照)。<br />

30 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


X-Ref Target - Figure 2-14<br />

<strong>AXI</strong>-To-<strong>AXI</strong> コ ネ ク タ ーの使用法<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

<strong>AXI</strong>-To-<strong>AXI</strong> コネクター (axi2axi_connector) を使用する と 、 2 つの <strong>AXI</strong> インターコネク ト コアを<br />

カスケード接続できます。 axi2axi_connector IP のデータ幅およびク ロ ッ ク周波数のパラ メーター<br />

は、マス ターおよびス レーブ イ ン ターフ ェ イ スの特性が適切に一致する よ う に、EDK ツールによっ<br />

て設定し ます。<br />

さらに、EDK ツールは、 互いに接続さ れた イ ン ターコ ネ ク ト モジュールが同じ ク ロ ッ ク ソースに<br />

同期する よ う に、 axi2axi_connector のクロック ポー ト を自動的に接続し ます。<br />

<strong>AXI</strong> To <strong>AXI</strong> コ ネ ク ターの詳細および必要な信号やパ ラ メ ーターについては、 ザ イ リ ン ク スのウ ェ<br />

ブサ イ ト よ り 提供し てい る 『<strong>AXI</strong> To <strong>AXI</strong> Connector IP データ シー ト 』 (DS803) を参照して く ださ<br />

い。 http://japan.xilinx.com/support/documentation/axi_ip_documentation.htm<br />

外部マス タ ーおよびスレーブ<br />

機能<br />

mb_0<br />

M_<strong>AXI</strong>_IP<br />

M_<strong>AXI</strong>_DP<br />

M_<strong>AXI</strong>_IC<br />

M_<strong>AXI</strong>_DC<br />

<strong>AXI</strong>_Interconnect_0<br />

<strong>AXI</strong>_Interconnect_2<br />

slave_2<br />

axi2axi_connector<br />

slave_1<br />

<strong>AXI</strong>_Interconnect_1<br />

図 2-14 : 2 つの <strong>AXI</strong> インターコネクト コアを接続するマスターおよびスレーブ インターフェイス モジュール<br />

slave_3<br />

EDK の pcore として入手できない <strong>AXI</strong> マスターまたはスレーブ IP モジュール (純粋な HDL モ<br />

ジュールなど) が存在し、 これら を EDK のサブモジュール内で <strong>AXI</strong> インターコネク ト コアに接続<br />

する必要がある場合に、 これらのユーティ リ ティ コアを使用します。 <strong>AXI</strong> マスターまたはスレー<br />

ブ モジ ュールをデザ イ ンの最上位に配置し た ま ま、 こ のユーテ ィ リ テ ィ pcore を使用して <strong>AXI</strong> 信<br />

号を EDK のサブシ ス テムに接続し ます。<br />

• <strong>AXI</strong> マスターまたはスレーブ インターフェイスを <strong>AXI</strong> インターコネク ト コア IP に接続し ます。<br />

• 一方の側にマス ターま たはス レーブの <strong>AXI</strong> バス イ ン ターフ ェ イ ス、 も う 一方の側に <strong>AXI</strong> ポー<br />

トがあります。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 31<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

X12036


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

X-Ref Target - Figure 2-15<br />

X-Ref Target - Figure 2-16<br />

• ほかのポー ト は I/O インターフェイスとしてモデル化され、外部インターフェイス化できます。<br />

こ の外部イ ン ターフ ェ イ スに よ って、 必要な信号を最上位のマ ス ターま たはス レーブに接続で<br />

きます。<br />

32 ページの図 2-15 は、 <strong>AXI</strong> 外部マス ター コネ ク ターのブロ ッ ク図です。<br />

Individual <strong>AXI</strong> Ports made<br />

external to sub-system<br />

interface<br />

図 2-15 : 外部マス タ ー コネクターを使用した EDK サブシステム<br />

図 2-16 は、 外部ス レーブ コネ ク ターのブロ ッ ク図です。<br />

Microblaze<br />

Microblaze<br />

Axi_ext_master_conn<br />

EDK sub-system<br />

EDK sub-system<br />

Platform Studio の IP カ タ ロ グには、 外部マス ターおよび外部ス レーブ コネクターが用意されてい<br />

ます。詳細は、次のウェブサイトを参照してください。<br />

http://japan.xilinx.com/ipcenter/axi4.htm<br />

32 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

IC<strong>AXI</strong><br />

DC<strong>AXI</strong><br />

M_<strong>AXI</strong><br />

Axi_interconnect<br />

S_<strong>AXI</strong><br />

IC<strong>AXI</strong> S_<strong>AXI</strong> Memory controller<br />

DC<strong>AXI</strong><br />

Axi_interconnect<br />

S_<strong>AXI</strong><br />

S_<strong>AXI</strong><br />

Axi_gpio<br />

Axi_ext_slave_conn<br />

図 2-16 : 外部スレーブ コネクターを使用した EDK サブシステム<br />

Memory controller<br />

Individual <strong>AXI</strong> Ports made<br />

external to sub-system<br />

interface<br />

X12075<br />

X12040


X-Ref Target - Figure 2-17<br />

<strong>AXI</strong> Intc<br />

Interrupt<br />

CPU<br />

(<strong>AXI</strong><br />

MicroBlaze)<br />

<strong>AXI</strong><br />

DDRx<br />

<strong>AXI</strong><br />

BRAM<br />

Centralized DMA (セン ト ラル DMA)<br />

<strong>AXI</strong>4-Lite<br />

Interrupts In<br />

DP<br />

DC<br />

IC<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

ザイ リ ンクスでは、<strong>AXI</strong> 対応のセン ト ラル DMA を提供しています。 このコアは、既存の PLBv4.6<br />

セン ト ラル DMA を <strong>AXI</strong>4 対応のバージ ョ ンに置き換え る も ので、機能 と 性能が強化 さ れています。<br />

図 2-17 は、 <strong>AXI</strong> (<strong>AXI</strong>4 と <strong>AXI</strong>4-Lite) セン ト ラル DMA を導入し た代表的なエンベデ ッ ド システ<br />

ム アーキテクチャを示したものです。<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4 MMap<br />

Interconnect<br />

(<strong>AXI</strong>4-Lite)<br />

<strong>AXI</strong>4 MMap<br />

Interconnect<br />

(<strong>AXI</strong>4)<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4 Read<br />

<strong>AXI</strong>4 Write<br />

Registers<br />

図 2-17 : <strong>AXI</strong> セン ト ラル DMA の一般的使用例<br />

Scatter<br />

Gather<br />

Engine<br />

<strong>AXI</strong> CDMA<br />

<strong>AXI</strong>4 セン ト ラル DMA は、 あ る メ モ リ マ ッ プ空間か ら別の メ モ リ マ ッ プ空間に、 シ ス テムのマ イ<br />

クロプロセッサの制御のもと、<strong>AXI</strong>4 バース ト プ ロ ト コルに よ って高速にデータ を転送し ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 33<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

<strong>AXI</strong>4<br />

Interrupt Out<br />

(To <strong>AXI</strong> Intc)<br />

DataMover<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4-Stream<br />

X12037


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

<strong>AXI</strong> セン ト ラル DMA の概要<br />

<strong>AXI</strong> セン ト ラル DMA では、 従来の PLBv4.6 セン ト ラル DMA と 同様、 シンプル転送モー ド 動作<br />

を使用できます。 シンプル モー ド に よ る転送では、 CPU が 1 回の転送ご と にセン ト ラル DMA の<br />

レジスタ セ ッ ト をプ ロ グ ラ ム し、 転送を起動し ます。 セン ト ラ ル DMA には次のよ う な機能があ り<br />

ます。<br />

• 転送を実行し ます。<br />

• 転送が完了する と 割 り 込みを発生し ます。<br />

• マ イ ク ロ プ ロ セ ッ サが次の転送をプ ロ グ ラ ム し、 起動する まで待機し ます。<br />

さらに、<strong>AXI</strong> セン ト ラル DMA には、オプシ ョ ン と して 32 ビッ トおよび 64 ビッ トのバス幅のデー<br />

タ リ ア ラ イ メ ン ト 機能を備えています。 こ の機能に よ って、 転送元および送信先のア ド レ ス を独立<br />

し て指定で き ます。<br />

<strong>AXI</strong> セン ト ラル DMA のスキャ ッ ター ギャザー機能<br />

<strong>AXI</strong> セン ト ラル DMA には、従来の PLBv4.6 セン ト ラル DMA 動作のサポー ト に加えて、オプシ ョ<br />

ンのスキャ ッ ター ギャザー (SG) 機能があ り ます。<br />

SG 機能に よ って、転送制御に伴 う シ ス テム CPU の負荷を、セン ト ラル DMA のスキャ ッ ター ギャ<br />

ザー エンジンが提供する高速のハー ド ウ ェ ア オー ト メ ーシ ョ ンに軽減でき ます。 SG 機能は、 あ ら<br />

かじめフォーマッ ト された転送コマンド (バッファー ディスク リプター) を、 システムに可能な最<br />

大の速度でシステム メモリからフェッチして実行します。 この際、 CPU に よ る介入は必要最小限<br />

に抑え ら れ ま す。 セ ン ト ラ ル DMA のアーキテクチャでは SG <strong>AXI</strong>4 バス インターフェイスを<br />

<strong>AXI</strong>4 データ転送イ ン ターフ ェ イ ス と 分離し ます。 こ れに よ って、 バ ッ フ ァー ディスク リプターの<br />

フ ェ ッ チおよび更新を、 実行中のデータ転送 と 並列し て進め る こ と が可能 と な り 、 性能が大幅に改<br />

善されます。<br />

DMA 転送は、 セン ト ラ ル DMA に内蔵さ れた、 プ ロ グ ラ ム可能で柔軟な割 り 込み生成手法に よ っ<br />

て、 システム CPU と 適切に連携し て進行し ます。 さ ら に、 <strong>AXI</strong> セン ト ラル DMA では、 シンプル<br />

モード と SG アシス ト モード を、 プロ グ ラ ム可能なレジス タ セッ トを用いて、 システム プログラ<br />

マーが切 り 替える こ と ができ ます。<br />

<strong>AXI</strong> セン ト ラル DMA は、 新し い高性能 <strong>AXI</strong> DataMover ヘルパー コアを中心に構築されていま<br />

す。 こ の コ アは、 <strong>AXI</strong>4-Stream とメモリマップ方式の <strong>AXI</strong>4 バスの間で基本的なブ リ ッ ジング エ<br />

レメントとして機能します。<strong>AXI</strong> セン ト ラル DMA の場合、 DataMover の出力ス ト リ ームは、 内<br />

部で入力ス ト リ ームへと ループ バックされます。SG 機能は、 ス キ ャ ッ ター ギ ャザー対応に機能強<br />

化されたすべての <strong>AXI</strong> DMA 製品に使用 さ れる、 ザ イ リ ン ク ス SG ヘルパー コアによって実現さ<br />

れています。<br />

セン ト ラル DMA の設定可能な機能<br />

<strong>AXI</strong>4 セン ト ラル DMA では、 イ ンプ リ メ ン ト する機能セッ ト と FPGA リソースの使用量間のト<br />

レー ド オフが可能です。 FPGA のインプリ メンテーショ ン時に、 次の機能をパラ メーターを介して<br />

設定で き ます。<br />

• メイン データ転送への DataMover Lite 適用 (このデータ転送メカニズムでは、 データ リアラ<br />

イメント エンジン (DRE)、 および SG モード はサポー ト されない)<br />

• スキャッター ギ ャザー機能の有効/無効<br />

• DRE 機能の有効/無効 (DRE は 32 ビッ トおよび 64 ビ ッ ト のデータ転送バス幅の場合のみ使用<br />

可能)<br />

• メイン データ転送のバス幅の指定 (32、 64、 128、 256 ビット)<br />

• データ転送時に DataMover が使用でき る <strong>AXI</strong>4 の最大バース ト 長の指定<br />

34 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


セン ト ラル DMA の <strong>AXI</strong>4 インターフェイス<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

次の表は、 <strong>AXI</strong>4 セン ト ラル DMA の 4 つの外部インターフェイス、 およびこの DMA 機能に含ま<br />

れる内部でブリ ッジングされた DataMover ス トリーム インターフェイスをまとめたものです。<br />

表 2-1 : <strong>AXI</strong> セン ト ラル DMA の <strong>AXI</strong>4 インターフェイス<br />

インターフェイス <strong>AXI</strong> の種類 データ幅 内容<br />

制御<br />

<strong>AXI</strong>4-Lite<br />

スレーブ<br />

イーサネッ ト DMA<br />

32 <strong>AXI</strong> セン ト ラル DMA の内部レ ジ ス タ にア ク セス し ます。 通<br />

常は、システム プロセッサが <strong>AXI</strong> セン ト ラル DMA の動作を<br />

制御および監視する ために使用し ます。<br />

スキャッター ギャザー <strong>AXI</strong>4 マスター 32 <strong>AXI</strong> セン ト ラル DMA がシステム メモリから DMA 転送デ ィ<br />

ス ク リ プ ターを読み出す と き、および関連する転送動作が終了<br />

し た時点で更新済みのデ ィ ス ク リ プ ター情報をシ ス テム メモ<br />

リ に書き戻す と き に使用する、メ モ リ マ ッ プ方式の <strong>AXI</strong>4 マス<br />

ター インターフェイスです。<br />

データ MMap<br />

読み出し<br />

データ MMap<br />

書き込み<br />

<strong>AXI</strong>4 読み出し<br />

マスター<br />

<strong>AXI</strong>4 書き込み<br />

マスター<br />

32、 64、<br />

128、 256<br />

32、 64、<br />

128、 256<br />

ザ イ リ ン ク スのエンベデ ッ ド 処理シ ス テムに導入 さ れた <strong>AXI</strong>4 プロ ト コルには、DMA (ダイレク ト<br />

メモリ アクセス) 機能を備えた イーサネ ッ ト ソ リューションがあります。これは <strong>AXI</strong>4 の性能面の<br />

利点 と 、 ザ イ リ ン ク スの既存イーサネ ッ ト IP ソ リ ューシ ョ ンが持つ効果的な動作を融合 さ せた手<br />

法です。<br />

36 ページの図 2-18 は、 <strong>AXI</strong> DMA の上位ブロ ッ ク図です。<br />

メモリマップ方式のソース ア ド レ スか ら転送ペイ ロー ド デー<br />

タ を読み出し ます。データ幅は、パ ラ メ ーターに よ って 32、64、<br />

128、 256 ビ ッ ト 幅のいずれかに設定で き ます。<br />

メ モ リ マ ッ プ方式の宛先ア ド レ スに転送ペイ ロー ド データ を<br />

書き込みます。データ幅は、パラ メ ーターに よ って 32、64、128、<br />

256 ビ ッ ト 幅のいずれかに設定で き ます。幅はデータ読み出し<br />

インターフェイスと同じになります。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 35<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

X-Ref Target - Figure 2-18<br />

X-Ref Target - Figure 2-19<br />

<strong>AXI</strong> Memory Map SG Read / Write<br />

<strong>AXI</strong> Lite<br />

MM2S_IntrOut<br />

S2MM_IntrOut<br />

<strong>AXI</strong> Lite Slave Interface<br />

Register Module<br />

MM2S_DMACR<br />

MM2S_DMASR<br />

MM2S_CURDESC<br />

Reserved<br />

MM2S_TAILDESC<br />

Reserved<br />

S2MM_DMACR<br />

S2MM_DMASR<br />

S2MM_CURDESC<br />

Reserved<br />

S2MM_TAILDESC<br />

Reserved<br />

<strong>AXI</strong> Memory Map Read (MM2S)<br />

<strong>AXI</strong> Memory Map Write (S2MM)<br />

Reset<br />

Module<br />

<strong>AXI</strong> DMA<br />

MM2S DMA Controller<br />

<strong>AXI</strong> DataMover<br />

S2MM DMA Controller<br />

図 2-18 : <strong>AXI</strong> DMA の上位ブ ロ ッ ク図<br />

SG Interface<br />

SG Engine<br />

(Interrupt Coalescing)<br />

図 2-19 は、 <strong>AXI</strong> イーサネ ッ ト の代表的なシ ス テム アーキテクチャです。<br />

<strong>AXI</strong> Intc<br />

Interrupt<br />

CPU<br />

(<strong>AXI</strong><br />

MicroBlaze)<br />

<strong>AXI</strong><br />

DDRx<br />

<strong>AXI</strong><br />

BRAM<br />

DP<br />

DC<br />

IC<br />

<strong>AXI</strong>4-Lite<br />

Interrupts In<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4 MMap<br />

Interconnect<br />

<strong>AXI</strong>4 MMap<br />

Interconnect<br />

<strong>AXI</strong> DMA<br />

Registers<br />

SG Interface<br />

図 2-19 : <strong>AXI</strong> DMA および <strong>AXI</strong>4 イーサネ ッ ト の代表的使用例<br />

36 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4 Read<br />

<strong>AXI</strong>4 Write<br />

Interrupt Out<br />

(To <strong>AXI</strong> Intc)<br />

<strong>AXI</strong>4-Lite<br />

Scatter<br />

Gather<br />

Engine<br />

Ethernet<br />

Control<br />

and Status<br />

DataMover<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong> Control<br />

Interface<br />

<strong>AXI</strong> Status<br />

Interface<br />

<strong>AXI</strong> Ethernet<br />

Registers<br />

Interrupt Out<br />

(To <strong>AXI</strong> Intc)<br />

AVB<br />

Tx<br />

Control<br />

Rx<br />

Status<br />

Tx<br />

Payload<br />

Rx<br />

Payload<br />

MIIM<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4-Stream<br />

Ethernet Tx<br />

Ethernet Rx<br />

X12039<br />

<strong>AXI</strong> Control<br />

Stream (MM2S)<br />

<strong>AXI</strong> Stream<br />

(MM2S)<br />

<strong>AXI</strong> Stream<br />

(S2MM)<br />

<strong>AXI</strong> Status Stream<br />

(S2MM)<br />

X12038


ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

36 ページの図 2-19 に示した とお り 、 <strong>AXI</strong> イーサネッ トは新しい <strong>AXI</strong> DMA IP と組み合わせて使<br />

用されるよ うになり ました。 <strong>AXI</strong> DMA は、 従来の PLBv4.6 マルチポー ト メモリ コント ローラー<br />

(MPMC) が提供し ていた PLBv4.6 SDMA 機能を置き換え ます。<br />

<strong>AXI</strong> DMA は、 <strong>AXI</strong> イーサネッ トの <strong>AXI</strong>4-Stream ネイティブ プロ ト コルと、 エンベデッ ド処理シ<br />

ステムが必要とするメモリマップ方式の <strong>AXI</strong>4 プロ ト コルの間をブリ ッジングします。<br />

<strong>AXI</strong>4 DMA の概要<br />

<strong>AXI</strong> DMA エンジンは、 システム メモリ と <strong>AXI</strong>4-Stream タイプのターゲット ペリフェラルの間の<br />

高性能 DMA 機能を提供し ます。 ま た、 ス キ ャ ッ ター ギャザー (SG) 機能も備え、 CPU は転送の制<br />

御および実行に伴 う 負荷をハー ド ウ ェ ア オー ト メ ーシ ョ ンにオフ ロード でき ます。<br />

<strong>AXI</strong> DMA および SG エンジンは、 <strong>AXI</strong> DataMover ヘルパー コア (共有サブブ ロ ッ ク) を中心に構<br />

築されています。 このコアは、 <strong>AXI</strong>4-Stream とメモリマップ方式の <strong>AXI</strong>4 バスの間で基本的なブ<br />

リッジング エレ メ ン ト と し て機能し ます。<br />

<strong>AXI</strong> DMA では、送信チャネルの メ モ リ マップから ス レーブ (MM2S) と 、受信チャ ネルのス レーブ<br />

から メモリマップ (S2MM) の転送動作を独立し て実行で き ます。 ま た、 パケ ッ ト メタデータの負<br />

荷を軽減する独立し た <strong>AXI</strong>4-Stream インターフェイスを提供します。<br />

MM2S の <strong>AXI</strong> 制御ス ト リ ームは、<strong>AXI</strong> DMA よ り 送信 さ れる SG ディスク リプターから、ユーザー<br />

アプ リ ケーシ ョ ンのデータを提供します。<br />

同様に、 S2MM の <strong>AXI</strong> ステータス ス ト リ ームは、 受信パケ ッ ト に関連付け られた SG ディスク リ<br />

プ ター内に受信、 格納 さ れる <strong>AXI</strong>4 イーサネッ ト などのソース IP から、 ユーザー アプ リ ケーシ ョ<br />

ンのデータ を提供し ます。<br />

<strong>AXI</strong> イーサネッ ト アプ リ ケーシ ョ ンでは、 チェ ッ クサム オフ ロー ド の実行に必要な機能を、 <strong>AXI</strong>4<br />

制御ス ト リ ームおよび <strong>AXI</strong>4 ステータス ス ト リ ームが提供し ます。<br />

オプシ ョ ン と して、 SG デ ィ ス ク リ プ ターのキ ューに も対応し てお り 、 <strong>AXI</strong> DMA 内部に最大 4 つ<br />

のデ ィ ス ク リ プターを フ ェ ッ チし た り キ ューイ ング し た り でき ます。 こ の機能は、 メ イ ン データ バ<br />

ス上の広帯域幅に よ るデータ転送を可能 と し ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 37<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

表 2-2 : <strong>AXI</strong> DMA インターフェイス<br />

DMA の <strong>AXI</strong>4 インターフェイス<br />

ザイ リ ンクスでは、 <strong>AXI</strong>4 機能を幅広 く 活用し て DMA を イ ンプ リ メ ン ト し てい ます。 次の表は、<br />

<strong>AXI</strong> DMA 機能で使用さ れてい る 8 つの <strong>AXI</strong>4 インターフェイスについてまとめたものです。<br />

インターフェイス <strong>AXI</strong> の種類 データ幅 内容<br />

制御<br />

<strong>AXI</strong>4-Lite<br />

スレーブ<br />

32 <strong>AXI</strong> DMA の内部レ ジ ス タ にア ク セス し ます。通常は、シ ス<br />

テム プロセッサが <strong>AXI</strong> DMA の動作を制御および監視す<br />

る ために使用し ます。<br />

スキャッター ギャザー <strong>AXI</strong>4 マスター 32 <strong>AXI</strong>4 DMA がシステム メモリから DMA 転送デ ィ ス ク リ プ<br />

ターを読み出す と き、および関連する転送動作が終了し た時<br />

点で更新済みのデ ィ ス ク リ プ ター情報をシ ス テム メモリに<br />

書き戻す と きに使用する、 メ モ リ マ ッ プ方式の <strong>AXI</strong>4 マス<br />

ター インターフェイスです。<br />

データ MM 読み出し <strong>AXI</strong>4 読み出し<br />

マスター<br />

データ MM 書き込み <strong>AXI</strong>4 書き込み<br />

マスター<br />

データ ス トリーム出力<br />

データ ス トリーム入力<br />

制御ス ト リ ーム出力<br />

ステータス ス トリーム入力<br />

<strong>AXI</strong>4-Stream<br />

マスター<br />

<strong>AXI</strong>4-Stream<br />

スレーブ<br />

<strong>AXI</strong>4-Stream<br />

マスター<br />

<strong>AXI</strong>4-Stream<br />

スレーブ<br />

32、 64、<br />

128、 256<br />

32、 64、<br />

128、 256<br />

32、 64、<br />

128、 256<br />

32、 64、<br />

128、 256<br />

DMA のメモリマップ方式インターフェイス側から、メイン<br />

ス ト リ ーム出力側へのデータ転送動作時に、 ペイ ロー ド<br />

データ を転送し ます。<br />

DMA のデータ ス トリーム入力インターフェイス側から、<br />

DMA の メ モ リ マ ッ プ方式イ ン ターフ ェ イ ス側へのデータ<br />

転送動作時に、 ペイ ロー ド データ を転送し ます。<br />

データ MM 読み出し イ ン ターフ ェ イ スによ って読み出さ<br />

れたデータ を、 <strong>AXI</strong>4-Stream プ ロ ト コルを使用し て宛先の<br />

受信 IP に転送し ます。<br />

<strong>AXI</strong>4-Stream プ ロ ト コルを使用し て ソ ース IP か らデータ<br />

を受信します。 受信したデータは、 データ MM 書き込みイ<br />

ンターフェイスを介して、 メモリマップ方式のシステムに<br />

転送し ます。<br />

32 Tx 転送デ ィ ス ク リ プ ターに埋め込まれた制御情報を、 宛先<br />

IP に転送する ために使用し ます。<br />

32 ソース IP から Rx 転送情報を受信し、 関連する転送デ ィ ス<br />

ク リ プ ターのデータ を更新し た う えで、 シ ス テム メモリに<br />

書き戻します。 ディ スク リプターの更新にはスキャ ッ ター<br />

ギャザー インターフェイスを使用します。<br />

38 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


X-Ref Target - Figure 2-20<br />

ビデオ DMA<br />

<strong>AXI</strong> Memory Map SG Read<br />

<strong>AXI</strong> Lite<br />

MM2S_IntrOut<br />

S2MM_IntrOut<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

<strong>AXI</strong>4 プロ ト コルによるビデオ DMA (VDMA) は、 ビデオ アプ リ ケーシ ョ ン を広帯域化する ソ<br />

リューションです。 イーサネット DMA ソ リ ューシ ョ ン と 同様の方法で イ ンプ リ メ ン ト さ れます。<br />

図 2-20 は、 <strong>AXI</strong>4 VDMA の上位ブロ ッ ク図です。<br />

<strong>AXI</strong> Lite Slave Interface<br />

<strong>AXI</strong> Memory Map Read (MM2S)<br />

<strong>AXI</strong> Memory Map Write (S2MM)<br />

axi_resetn<br />

Register Module<br />

MM2S_DMACR<br />

MM2S_DMASR<br />

MM2S_CURDESC<br />

Reserved<br />

MM2S_TAILDESC<br />

Reserved<br />

S2MM_DMACR<br />

S2MM_DMASR<br />

S2MM_CURDESC<br />

Reserved<br />

S2MM_TAILDESC<br />

Reserved<br />

Reset<br />

Module<br />

Down<br />

Sizer<br />

Up<br />

Sizer<br />

<strong>AXI</strong> VDMA<br />

MM2S DMA Controller<br />

<strong>AXI</strong> DataMover<br />

S2MM DMA Controller<br />

図 2-20 : <strong>AXI</strong> VDMA の上位ブ ロ ッ ク図<br />

MM2S Frame Size<br />

MM2S Stride<br />

MM2S Strt Addr 0<br />

MM2S Strt Addr N<br />

SG Engine<br />

(Interrupt Coalescing )<br />

40 ページの図 2-21 は、 <strong>AXI</strong> VDMA の代表的なシ ス テム アーキテ クチャです。<br />

MM2S<br />

FSync<br />

MM2S<br />

Gen-Lock<br />

MM2S Line<br />

Bufffer Status<br />

<strong>AXI</strong> MM2S<br />

Stream<br />

S2MM Line<br />

Bufffer Status<br />

<strong>AXI</strong> S2MM<br />

Stream<br />

S2MM<br />

FSync<br />

S2MM<br />

Gen-Lock<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 39<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

Line<br />

Buffer<br />

Line<br />

Buffer<br />

:<br />

MM2S Frame Size<br />

MM2S Stride<br />

MM2S Strt Addr 0<br />

:<br />

MM2S Strt Addr N<br />

MM2S Frame Size<br />

MM2S Stride<br />

MM2S Strt Addr 0<br />

:<br />

MM2S Strt Addr N<br />

MM2S Frame Size<br />

MM2S Stride<br />

MM2S Strt Addr 0<br />

:<br />

MM2S Strt Addr N<br />

m_axis_mm2s_aresetn<br />

s_axis_s2mm_aresetn<br />

x12054


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

X-Ref Target - Figure 2-21<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<strong>AXI</strong> VDMA の概要<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

図 2-21 : <strong>AXI</strong> VDMA およびビデオ IP の代表的使用例<br />

<strong>AXI</strong> VDMA エンジンは、 システム メモリ と <strong>AXI</strong>4-Stream タイプのターゲット ペリフェラルの間の<br />

高性能 DMA 機能を提供し ます。 ま た、 ス キ ャ ッ ター ギャザー (SG) 機能も備え、 CPU は転送の制御<br />

および実行に伴 う 負荷をハー ド ウ ェ ア オー ト メ ーシ ョ ンにオフ ロード でき ます。 <strong>AXI</strong> VDMA および<br />

SG エンジンは、<strong>AXI</strong> DataMover ヘルパー コアを中心に構築されています。このコアは、<strong>AXI</strong>4-Stream<br />

とメモリマップ方式の <strong>AXI</strong>4 バスの間で基本的なブ リ ッ ジング要素 と し て機能し ます。<br />

<strong>AXI</strong> VDMA には、 最大 16 フレーム バッファーの循環フレーム バッファー アクセス機能があり、<br />

ビデオ フ レームの一部ま たは全体を転送する ツールを提供し ます。<br />

また、 同じビデオ フレーム データ を繰 り 返し転送する、 フ レームの 「保留」 機能も備えています。<br />

VDMA は独立し たフ レーム同期機能および独立し た <strong>AXI</strong> クロックを持ち、各チャネルを異なるフ<br />

レーム レートおよび異なるピクセル レー ト で動作 さ せる こ と がで き ます。2 つの独立し て動作する<br />

<strong>AXI</strong> VDMA チャネル間の同期を保つため、オプシ ョ ンと して Gen-Lock 同期機能も使用で き ます。<br />

Gen-Lock を使用する と、 1 つ以上の <strong>AXI</strong> VDMA マスターに、 <strong>AXI</strong> VDMA ス レーブを自動的に<br />

同期させる こ と がで き ます。 こ の機能に よ って、 ス レーブではマス ター と は異な る フ レーム バッ<br />

フ ァー空間に よ る動作が可能にな り ます。 こ のモー ド では、 ス レーブ チャ ネルがフ レーム を自動的<br />

にスキップするか、 繰り返します。 いずれのチャネルを Gen-Lock スレーブまたは Gen-Lock マス<br />

ターに設定してもかまいません。<br />

ビデオ データ を転送する場合、 <strong>AXI</strong>4-Stream ポー ト は、 8 ビッ トから最大 256 ビッ ト幅に設定で<br />

きます。<strong>AXI</strong>4-Stream ポー ト の幅が、 関連する メ モ リ マ ッ プ方式の <strong>AXI</strong>4 ポー ト よ り も狭いコ ン<br />

フィギュレーションでは、<strong>AXI</strong> VDMA がデータのア ッ プサイ ジング またはダウ ンサイ ジングを実<br />

行し、 メ モ リ マ ッ プ方式イ ン ターフ ェ イ ス側のバース ト にバス幅全体を使用で き る よ う に し ます。<br />

40 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


表 2-3 : <strong>AXI</strong> VDMA インターフェイス<br />

VDMA の <strong>AXI</strong>4 インターフェイス<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

表 2-3 は、<strong>AXI</strong> VDMA 機能で使用される 6 つの <strong>AXI</strong>4 インターフェ イ スについてま とめたものです。<br />

インターフェイス <strong>AXI</strong> の種類 データ幅 内容<br />

制御 <strong>AXI</strong>4-Lite スレーブ 32 <strong>AXI</strong> VDMA の内部レ ジ ス タ にア ク セス し ます。 通常<br />

は、 シ ス テム プロセッサが <strong>AXI</strong> VDMA の動作を制御<br />

および監視する ために使用し ます。<br />

スキャッター<br />

ギャザー<br />

<strong>AXI</strong>4 マスター 32 <strong>AXI</strong> VDMA がシステム メモリから DMA 転送デ ィ ス<br />

ク リ プ ターを読み出す と き に使用する、 メ モ リ マ ッ プ<br />

方式の <strong>AXI</strong>4 マスター インターフェイスです。 フェッ<br />

チされたスキャッター ギャザー ディスク リプターは、<br />

ビデオ転送に関する内部パ ラ メ ーターを設定し ます。<br />

データ MM 読み出し <strong>AXI</strong>4 読み出し マス ター 32、 64、<br />

128、 256<br />

データ MM 書き込み <strong>AXI</strong>4 書き込みマスター 32、 64、<br />

128、 256<br />

データ ス トリーム<br />

出力<br />

データ ス トリーム<br />

入力<br />

<strong>AXI</strong>4-Stream マスター 8、 16、 32、<br />

64、 128、<br />

256<br />

<strong>AXI</strong>4-Stream スレーブ 8、 16、 32、<br />

64、 128、<br />

256<br />

DMA のメモリマップ方式インターフェイス側から、メ<br />

イン ス ト リ ーム出力側へのデータ転送動作時に、 ペイ<br />

ロード データ を転送し ます。<br />

DMA のデータ ストリーム入力インターフェイス側か<br />

ら、DMA のメモリマップ方式インターフェイス側への<br />

データ転送動作時に、ペイ ロー ド データ を転送し ます。<br />

データ MM 読み出し イ ン ターフ ェ イ スによ って読み出<br />

されたデータを、 <strong>AXI</strong>4-Stream プロ ト コルを使用して<br />

宛先の受信 IP に転送し ます。<br />

<strong>AXI</strong>4-Stream プ ロ ト コルを使用し て ソース IP から<br />

データ を受信し ます。受信し たデータは、データ MM 書<br />

き込みインターフェイスを介して、 メモリマップ方式<br />

のシ ス テムに転送し ます。<br />

メモリ制御 IP およびメモリ インターフェイス ジェネレーター<br />

IP カタログには、 2 つの DDRx (SDRAM) <strong>AXI</strong> メモリ コント ローラーがあります。<br />

Virtex-6 と Spartan-6 デバイ スでは メ モ リ 制御 メ カニズムが原理的に異な る ため、 メ モ リ 制御記述<br />

も必然的にデバ イ ス固有の も のにな り ます (Virtex-6 はファブ リ ッ ク ベースの コ ン ト ローラーを使<br />

用しているのに対し、 Spartan-6 はオンチップの メ モ リ 制御ブロ ッ ク (MCB) を搭載)。 この後は、<br />

Virtex-6 および Spartan-6 デバイ スによ る <strong>AXI</strong> メ モ リ 制御について説明し ます。<br />

Virtex-6 および Spartan-6 のメモリ コント ローラーは、2 つの異な る ソ フ ト ウ ェア パッケージ内で<br />

使用で き ます。<br />

• EDK では、メ モ リ コント ローラー コアの axi_v6_ddrx または axi_s6_ddrx を使用し ます。<br />

• CORE Generator インターフェイスの場合は、 メモリ インターフェイス ジェネレーター<br />

(MIG) ツールを使用し ます。<br />

下位の HDL コードは、 ラ ッパーが異なる以外は 2 つのパッ ケージで同じです。<br />

<strong>AXI</strong>4 イ ン ターフ ェ イ スの柔軟性か ら、 いずれの タ イ プの コ ン ト ローラーを使用し た場合で も適合<br />

は容易です。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 41<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

X-Ref Target - Figure 2-22<br />

Virtex-6<br />

<strong>AXI</strong>4 Master<br />

Virtex-6 メモリ コント ローラー ソ リューションは、メモリ インターフェイス ジェネレーター (MIG)<br />

ツールでサポー ト しており、 オプシ ョ ンで <strong>AXI</strong>4 インターフェイスを指定して更新できます。<br />

このソ リ ューションは EDK から、 <strong>AXI</strong>4 専用イ ン ターフ ェ イ ス を axi_v6_ddrx メモリ コント<br />

ローラー と 指定し て も使用で き ます。<br />

axi_v6_ddrx メモリ コ ン ト ローラーは、 ハー ド ウ ェ ア記述言語 (HDL) のロジッ ク、 GUI 共に同<br />

じものを使用しますが、XPS による EDK プロセッサのサポート用にパッケージ化されています。<br />

Virtex-6 メモリ コント ローラーは、<strong>AXI</strong>4-to-UI ブリッジ (<strong>AXI</strong>4 からユーザー インターフェイスへ<br />

のブ リ ッ ジ) を使用して <strong>AXI</strong>4 スレーブ インターフェイス (SI) に適合させます。<strong>AXI</strong>4-to-UI ブリッ<br />

ジは、<strong>AXI</strong>4 スレーブ トランザクションを、MIG Virtex-6 UI プ ロ ト コルに変換し ます。 こ れに よ っ<br />

て、 従来の Virtex-6 メモリ ソ リューションと同じオプションが使用できるようになります。<br />

<strong>AXI</strong>4 の最適データ幅は UI データ幅 と 同じ で、メ モ リ データ幅の 4 倍です。<strong>AXI</strong>4 メモリ インター<br />

フェイスのデータ幅は、UI イ ン ターフ ェ イ ス よ り も狭 く する こ と ができ ますが、 このよ う にする こ<br />

と は推奨し ていません。 幅変換のサポー ト に、 エ リ アが大き く タ イ ミ ン グや性能の劣る コ アが使用<br />

さ れる可能性があ る ためです。<br />

<strong>AXI</strong>4 インターフェイスは、 <strong>AXI</strong>4 の各トランザクションをよりストライドの短い、 メモリのサイ<br />

ズに合った ト ランザクシ ョ ンに分割する こ とで、 UI へとマッピングします。 さらに Virtex-6 メモ<br />

リ コント ローラーがバンク/行を管理する こ と で、 メ モ リ 使用率が向上し ます。<br />

図 2-22 は、<strong>AXI</strong>4 インターフェイスを使用した Virtex-6 メモリ ソ リューションのブロック図です。<br />

<strong>AXI</strong>4<br />

Interface<br />

<strong>AXI</strong>4 Slave<br />

Interface<br />

Block<br />

Spartan-6 のメモリ制御ブロック<br />

axi_v6_ddrx (EDK) or memc_ui_top (COREGen) top level<br />

UI<br />

Interface<br />

User<br />

Interface<br />

bllock<br />

Native<br />

Interface<br />

Virtex-6<br />

Memory<br />

Controller<br />

図 2-22 : Virtex-6 メ モ リ 制御のブロ ッ ク図<br />

Spartan-6 デバイ スは、 こ のデバイ ス固有の、 ハー ド ウ ェ アに よ る メ モ リ 制御ブ ロ ッ ク (MCB) プリ<br />

ミティブを使用します。Spartan-6 MCB ソ リューションは、メモリマップ方式の <strong>AXI</strong>4 スレーブ イ<br />

ンターフェイス (SI) に適合し ます。<br />

Spartan-6 アーキテ ク チ ャ の外部 メ モ リ に対する <strong>AXI</strong>4 ト ラ ンザ ク シ ョ ン を処理する には、 MCB<br />

ユーザー イ ン ターフ ェ イ スへの変換ブ リ ッ ジが必要です。<br />

これら 2 つのイ ン ターフ ェ イ スが類似し ている こ と から、<strong>AXI</strong>4 の SI を軽量に設定する こ と がで き<br />

ます。 それには、 データ幅の狭いバース ト を発行せず、 かつ設定対象の MCB インターフェイスと<br />

同じネイティブ データ幅を持つマ ス ターに接続し ます。<br />

<strong>AXI</strong>4 ブリッジには、次のような特徴があります。<br />

DDR2 /<br />

DDR3 PHY<br />

DDR2 / DDR3<br />

• 16 ビー ト 以下の転送の場合は、 <strong>AXI</strong>4 のインク リ メンタル (INCR) コマンドを MCB のコマン<br />

ドに 1 対 1 で変換し ます。<br />

42 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

DFI<br />

DDR2 or<br />

DDR3<br />

SDRAM<br />

external


X-Ref Target - Figure 2-23<br />

ザイ リンクス <strong>AXI</strong> インフラストラクチャ IP<br />

• 16 ビー ト を超える <strong>AXI</strong>4 転送は、 最大 16 ビー ト の ト ランザクシ ョ ンに分割して MCB プロ ト<br />

コルに よ って送信し ます。<br />

これによって、 マルチポート システムにおける性能とレイテンシのバランスを取るこ とができま<br />

す。 <strong>AXI</strong>4 の WRAP コマンドは、MCB イ ン ターフ ェ イ ス上でラ ッ プ処理でき る よ う に 2 つの MCB<br />

トランザクションに分割されます。MCB インターフェイスは WRAP をネイティブ コマンド と して<br />

サポー ト していないためです。<br />

axi_s6_ddrx コアと CORE Generator による Spartan-6 <strong>AXI</strong> MIG コアは、最大 6 ポー ト (MCB ポー<br />

ト コンフィギュレーションによって異なる) を用いた 32、 64、 128 ビッ ト幅のインターフェイスな<br />

ど、MCB のネイテ ィ ブ ポー ト コ ン フ ィ ギ ュ レーシ ョ ン をすべてサポー ト し ます。図 2-23 は、<strong>AXI</strong><br />

Spartan-6 メモリ ソ リューションのブロック図です。<br />

<strong>AXI</strong>4 Master<br />

<strong>AXI</strong>4 Master<br />

<strong>AXI</strong>4 Master<br />

<strong>AXI</strong>4 Slave<br />

Interface 0<br />

<strong>AXI</strong>4 Slave<br />

Interface 1<br />

<strong>AXI</strong>4 Slave<br />

Interface 5<br />

axi_s6_ddrx or mcb_ui_top<br />

mcb_raw_wrapper<br />

図 2-23 : Spartan-6 メモリ ソリューションのブロック図<br />

メモリ制御の詳細は、 メモリ ソ リューションのウェブサイト<br />

http://japan.xilinx.com/products/design_resources/mem_corner の資料を参照し て く だ さ い。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 43<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

Port 0<br />

Port 1<br />

Port 5<br />

MCB<br />

MCB Soft Calibration Logic<br />

fpga boundary<br />

LPDDR/<br />

DDR/<br />

DDR2/<br />

DDR3<br />

SDRAM<br />

X12046


第 2 章 : ザイ リンクスのツールおよび IP による <strong>AXI</strong> のサポー ト<br />

44 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


第 3 章<br />

ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

この章では、<strong>AXI</strong> 規格の各機能がザ イ リ ン ク ス ® の IP に具体的にどの よ う に利用 さ れてい る かにつ<br />

いて説明し、 IP 設計者が <strong>AXI</strong> 関連の さ ま ざ ま なデザ イ ンや統合手法を自在に選択でき る よ う にす<br />

る こ と を目的 と し ています。<br />

メモリマップ方式 IP の機能の導入とサポー ト<br />

ザイ リ ンクスは、 <strong>AXI</strong>4 および <strong>AXI</strong>4-Lite に基づ く 豊富な機能の イ ンプ リ メ ンテーシ ョ ン と サポー<br />

ト を進めて き ま し た。 これらの機能は、 ザイ リ ン ク スの開発チーム、 ユーザー、 サー ド パーテ ィ の<br />

パー ト ナーな どが作成し た メ モ リ マ ッ プ方式 IP 間の相互運用を容易に し ます。<br />

表 3-1 は、 ザイ リ ン ク スが導入し た <strong>AXI</strong>4 および <strong>AXI</strong>4-Lite の主要機能、 ザ イ リ ン ク ス IP がイン<br />

プリ メントした <strong>AXI</strong>4 仕様 と それに対する サポー ト レベルについてま とめたものです。<br />

表 3-1 : ザイ リンクスによる <strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 機能の導入とサポー ト 状況<br />

<strong>AXI</strong> の機能 ザイ リンクス IP のサポー ト<br />

READY/VALID<br />

ハン ドシェ イ ク<br />

<strong>AXI</strong> プロ ト コルによって規定された READY/VALID ハン ド シ ェ イ ク に よ る順方向、逆方向の完全<br />

フ ロー制御です。<br />

転送長 メモリマップ方式 <strong>AXI</strong>4 のバース ト 長 :<br />

• インク リ メンタル バース ト の場合 1 ~ 256 ビー ト<br />

• ラップ バース ト の場合 1 ~ 16 ビー ト<br />

ザイ リ ンクス IP では固定バース ト を使用しないで く ださい。<br />

固定バース ト に よ ってハン ド シ ェ イ ク レベルのプロ ト コル違反が発生するわけではあ り ません<br />

が、 こ の動作は未定義であ り 、 イ ン ク リ メ ン タル バース ト に置き換え ら れる場合があ り ます。<br />

転送サ イ ズ/データ幅 IP のネイテ ィ ブ データ幅は、 32、 64、 128、 256 ビッ トのいずれかに定義できます。<br />

ただし、 <strong>AXI</strong>4-Lite でサポー ト さ れるデータ幅は 32 ビッ トのみです。<br />

幅の狭い <strong>AXI</strong>4 バース ト にも対応し ていますが、推奨でき ません。狭いバース ト はシステム性能<br />

を劣化 させ、 シ ス テム規模を増大 させる恐れがあ る ためです。<br />

幅が異な るザイ リ ン ク ス IP 間で通信する必要があ る場合、 <strong>AXI</strong> インターコネク トがデータ幅変<br />

換の機能を提供し ます。<br />

読み出し/書き込み専用 読み出し/書き込み、 読み出し専用、 書き込み専用の イ ン ターフ ェ イ ス を使用で き ます。<br />

<strong>AXI</strong> インターコネク トをはじめとする多くの IP では、 イ ン ターフ ェ イ ス を読み出し専用ま たは<br />

書き込み専用に設定する と 、 こ れに合わせて ロ ジ ッ ク が最適化 さ れます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 45<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 3 章 : ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

表 3-1 : ザイ リンクスによる <strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 機能の導入とサポー ト 状況 (続き)<br />

<strong>AXI</strong> の機能 ザイ リンクス IP のサポー ト<br />

<strong>AXI</strong>3 vs. <strong>AXI</strong>4 本来は <strong>AXI</strong>4 をサポートするよ う設計されています。 <strong>AXI</strong>3 と の相互運用が必要な場合は、 <strong>AXI</strong><br />

インターコネク トに必要な変換ロジックがインプリ メント されているため、 これを使用して<br />

<strong>AXI</strong>3 と <strong>AXI</strong>4 デバイ ス を接続でき ます。<br />

ただし、<strong>AXI</strong>3 の書き込みイ ン ター リ ーブ機能はサポー ト し ていません。ザイ リ ン ク ス IP では使<br />

用しないでください。<br />

メモ : この機能は、 <strong>AXI</strong>4 仕様になって削除 さ れま し た。<br />

ロック/排他的ア ク セ ス ロ ッ ク さ れた転送には対応し ていません。<br />

ザイ リ ンクス インフラスト ラクチャ IP は、シ ス テム内のあ ら ゆ る場所に排他的ア ク セス トラン<br />

ザクショ ンを転送できますが、 ザイ リンクス IP 側では排他的ア ク セス機能をサポー ト し ていま<br />

せん。 こ のため、 排他的ア ク セス要求に対する応答には、 すべて 「OK」 が返されます。<br />

保護/キャッシュ ビッ ト インフラスト ラクチャ IP は、 シ ス テム内のあ ら ゆ る場所に保護ビ ッ ト およびキ ャ ッ シ ュ ビッ ト<br />

を転送でき ますが、 通常のエン ド ポイ ン ト IP は動的保護ま たはキ ャ ッ シ ュ ビッ トをサポートし<br />

ていません。<br />

サービ ス品質 (QoS)<br />

ビッ ト<br />

• 保護ビ ッ ト は、 常時セキ ュ アな ト ラ ンザ ク シ ョ ン タ イ プを意味する定数 000 に固定し て く だ<br />

さい。<br />

• キャッシュ ビッ トは通常 0011 に固定し ます。 この値は、 バッ フ ァ リ ングおよび変更が可能<br />

なトランザクションであることを示します。<br />

こ の よ う に設定する と 、 シ ス テム を通過する ト ラ ンザ ク シ ョ ン を イ ン フ ラ ス ト ラ ク チャ IP が転<br />

送および変更する際に高い柔軟性が得られ、 性能が向上し ます。<br />

インフラスト ラクチャ IP は QoS ビ ッ ト をシステム内のあ らゆる場所に転送でき ますが、 エンド<br />

ポイント IP は、 通常 QoS ビ ッ ト を無視し ます。<br />

REGION ビッ ト ザイ リ ンクス <strong>AXI</strong> インターコネク トは、 そのアドレスマップ定義に規定された、 デコーダーの<br />

ベース/上限ア ド レ スに基づいて REGION ビ ッ ト を生成し ます。<br />

レジスタ スライスなどのザイリンクス インフラスト ラクチャ IP は REGION ビッ トをシステム<br />

全体に転送し ます。<br />

複数のア ド レ ス範囲に対応し た一部のエン ド ポ イ ン ト スレーブ IP は、ア ド レ ス デコーダーが冗<br />

長になる こ と を防ぐために REGION ビ ッ ト を使用する場合があ り ます。<br />

<strong>AXI</strong> マスター エンドポイン ト IP は REGION ビ ッ ト を生成し ません。<br />

ユーザー ビッ ト インフラスト ラクチャ IP はシステム内のあらゆる場所にユーザー ビ ッ ト を転送し ますが、 エン<br />

ドポイント IP は通常これら を無視し ます。<br />

相互運用性の問題が懸念 さ れる ため、 汎用 IP ではユーザー ビットの使用を推奨しません。<br />

ただし、システム内にユーザー ビ ッ ト を転送する機能は、 ト ラ ンザ ク シ ョ ン ご と に補助的なサ イ<br />

ド バン ド 信号を必要 と する、特殊用途のカ ス タ ム シ ス テム を構築する場合に役立ち ます。た と え<br />

ば、 パ リ テ ィ ま たはデバ ッ グ情報を転送する ためにユーザー ビ ッ ト を使用で き ます。<br />

リセット ザイ リ ンクス IP は通常、 リ セ ッ ト か ら 8 サ イ ク ル以内にすべての VALID 出力をデ ィ アサー ト<br />

します。 リセッ ト パルス幅の要件は 16 サ イ ク ル以上です。<br />

低消費電力<br />

インターフェイス<br />

最も遅い <strong>AXI</strong> クロックの 16 サイクルの間 <strong>AXI</strong> の ARESETN をアサート状態に保てば、 ザイ リ<br />

ンクス IP のリセット パルス幅 と し ては通常十分です。<br />

サポー ト されていません。 <strong>AXI</strong> のオプシ ョ ンであ る低消費電力イ ン ターフ ェ イ ス、 CSYSREQ、<br />

CSYSACK、 CACTIVE は IP インターフェイスに含まれません。<br />

46 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


<strong>AXI</strong>4-Stream の導入とサポー ト<br />

<strong>AXI</strong>4-Stream 信号<br />

<strong>AXI</strong>4-Stream の導入とサポー ト<br />

相互運用を容易にする ために、ス ト リ ー ミ ン グ インターフェイスを必要とするザイ リンクス IP は、<br />

<strong>AXI</strong>4-Stream プ ロ ト コルのサブセ ッ ト に厳密に従っています。<br />

表 3-2 に、 <strong>AXI</strong>4-Stream の信号、 使用条件、 使用上の注意を示し ます。<br />

表 3-2 : <strong>AXI</strong>4-Stream の信号<br />

信号 使用条件 注意事項<br />

TVALID 必須<br />

TREADY オプシ ョ ン TREADY の使用は任意ですが、 強 く 推奨し ます。<br />

TDATA オプシ ョ ン<br />

TSTRB オプシ ョ ン 通常、エン ド ポ イ ン ト IP では使用さ れませんが、スパース ス トリー<br />

ム信号で使用可能です。 メ モ : 残 り のパケ ッ ト を示すには、 TSTRB<br />

ではな く TKEEP を使用し ます。<br />

TKEEP 未使用 ヌル バイ ト は残 り のパケ ッ ト を示すためにのみ使用し ます。先頭ま<br />

TLAST オプシ ョ ン<br />

<strong>AXI</strong>4-Stream 内の数値デー タ<br />

たは途中のヌル バイ トは通常サポート されません。<br />

TID オプシ ョ ン 通常、エン ド ポ イ ン ト IP では使用 さ れませんが、 イ ン フ ラ ス ト ラ ク<br />

チャ IP では使用可能です。<br />

TDEST オプシ ョ ン 通常、エン ド ポ イ ン ト IP では使用 さ れませんが、 イ ン フ ラ ス ト ラ ク<br />

TUSER オプシ ョ ン<br />

チャ IP では使用可能です。<br />

<strong>AXI</strong>4-Stream チャ ネルは、 マス ターか ら ス レーブにデータ を転送する手段 と し て使用し ます。 相互<br />

運用性を確保する ため、データ ビ ッ ト の解釈方法がマ ス ター と ス レーブで正し く 一致し てい る必要<br />

があ り ます。<br />

ザイ リ ンクス IP では、 サンプ リ ン グ さ れた物理量を表す数値データ (例 : ビデオのピ クセル デー<br />

タ、 音声データ、 信号処理データ など) の転送にス ト リ ー ミ ング イ ン ターフ ェ イ ス を しばしば使用<br />

し ます。 相互運用に対応する には、 数値データ の一貫し た解釈方法が必要です。<br />

ザイ リ ンクス IP 内の数値データ ス ト リ ームは、 論理および物理の 2 つのレベルで定義されます。<br />

情報を実質的にデータ構造 と し て転送で き る DSP アプ リ ケーシ ョ ンでは、 これらの定義を把握す<br />

る こ と が特に重要です。<br />

• 論理レベル と は、 アプ リ ケーシ ョ ン固有のデータ構造の記述を指し ます。<br />

• 物理レベルでは、 こ の論理に よ って規定 さ れたデータ を、 ビ ッ ト や下位の <strong>AXI</strong>4-Stream 信号<br />

にどの よ う に対応付け る かを記述し ます。<br />

論理レベルでは単純な値のベ ク ターに よ って数値データ を表現し ます。 個々の値はアプ リ ケーシ ョ<br />

ンに応じ て実数ま たは複素数の形を取 り ます。 ベ ク ターの要素数も、 値 と 同様にアプ リ ケーシ ョ ン<br />

固有です。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 47<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 3 章 : ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

物理レベルでは、 論理レベルで規定さ れたデータ を イ ン ターフ ェ イ スの物理ワ イ ヤにマ ッ プする必<br />

要があ り ます。 論理値は、 ビ ッ ト 幅 N の基本単位に よ って表し ます。 N はアプ リ ケーシ ョ ン固有の<br />

値です。 通常は、 次の よ う に規定さ れます。<br />

• N ビ ッ ト は、 固定小数点型の値 と し て解釈 さ れますが、 浮動小数点型の値も使用で き ます。<br />

• 実数の値は、 1 つの基本単位に よ って表さ れます。<br />

• 複素数の値は、 基本単位の対 と し て表 さ れ、 実数成分の後ろに虚数成分が続き ます。<br />

相互運用を容易にする ために、 ス ト リ ーム内の論理値は、 すべて同じ ビ ッ ト 幅の基本単位に よ って<br />

表現し ます。<br />

<strong>AXI</strong>4-Stream の信号 TDATA に対応付け る前に、 各基本単位の N ビ ッ ト には幅がバイ ト 単位にな る<br />

ようにパディング ビ ッ ト を付加し ます。 例 :<br />

• N=12 の基本単位は、 16 ビッ トの値として TDATA に格納されます。<br />

• N=20 の基本単位は、 24 ビッ トの値として TDATA に格納されます。<br />

こ の よ う にする こ と で メ モ リ に基づ く シ ス テム と の イ ン ターフ ェ イ スが簡素化 さ れる と 共に、 ア ッ<br />

プサイジングやダウンサイジングを行 う <strong>AXI</strong> インターコネク トなどの <strong>AXI</strong> インフラスト ラクチャ<br />

IP を使用でき る よ う にな り ます。<br />

通常、 パデ ィ ン グ用の追加ビ ッ ト はス レーブへの入力時に無視 さ れる ため、 余分な リ ソースは使用<br />

せず、 バ ッ ク エン ド ツールに よ って削除さ れます。 診断を簡素化する ために、 マス ターは未使用<br />

ビッ トを次のように駆動します。<br />

• 符号な し の値は、 ゼ ロ拡張し ます (未使用ビ ッ ト をゼ ロ に し ます)。<br />

• 符号付き の値は、 符号拡張し ます (未使用ビ ッ ト を符号ビ ッ ト と 同じ値に し ます)。<br />

TDATA の幅に よ っては、 複数の基本単位を同じ サ イ ク ル内に並列で転送で き ます。 た と えば、 基本<br />

単位が 16 ビッ トで TDATA 信号幅が 64 ビ ッ ト の場合、 4 つの基本単位 (4 つのス カ ラー値または<br />

2 つの複素数の値) を並列で転送で き ます。論理ベ ク ターを構成する基本単位は、はじめに空間的に<br />

(1 つの TDATA の幅方向)、 続いて時間的 (連続する各 TDATA 転送) に対応付け られます。<br />

フ ィ ール ド幅の合計がバイ ト の整数倍にな ら ない複数のデータ サブフ ィールド を連結する操作を、<br />

バイ ト 境界への位置合わせの前後のいずれに実行すべき かは、 通常、 情報のア ト ミ ッ ク 性を考慮し<br />

て決定し ます。 ア ト ミ ッ クな情報とは、 それだけで解釈が可能なデータ を意味し ます。 一方、 ア ト<br />

ミ ッ ク ではない情報 と は、 データ解釈を目的 と し た場合に不完全な も のを指し ます。<br />

た と えば、 ア ト ミ ッ ク なデータ には、 浮動小数点数の情報ビ ッ ト がすべて含まれます。 し か し、 浮<br />

動小数点数の指数ビ ッ ト だけではア ト ミ ッ ク なデータ と は言え ません。 通常 TDATA に情報を格納<br />

する場合、 データ の非ア ト ミ ッ ク ビッ トに対しては、(データ幅にかかわらず) ア ト ミ ッ ク な単位が<br />

完成する まで連結操作を続け ます。 ア ト ミ ッ ク な単位が完成し た時点で、 必要であればパデ ィ ン グ<br />

ビ ッ ト を加えてバイ ト 境界に揃え ます。<br />

48 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


実数ス カ ラー データの例<br />

<strong>AXI</strong>4-Stream の導入とサポー ト<br />

スカラー値のス ト リームの場合、 オプションの TLAST 信号には 2 つの使用方法があ り ます。 いず<br />

れ も、 等し く 有効な方法です。 例を挙げて説明し ます。<br />

次の表に示す特性を持った数値データ のス ト リ ーム を考え ます。<br />

論理タ イ プ 符号な し実数<br />

論理ベ ク ター長 1 (たとえば、 スカラー値)<br />

物理基本単位 12 ビ ッ ト 固定小数点<br />

物理基本単位格納幅 16 ビッ ト<br />

物理 TDATA 幅 16 ビッ ト<br />

こ のデータは、 図 3-1 に示すよ う な <strong>AXI</strong>4-Stream として表されます。<br />

X-Ref Target - Figure 3-1<br />

図 3-1 : <strong>AXI</strong>4-Stream による実数スカラー (符号な し) データの例<br />

ス カ ラー値は、ま った く パケ ッ ト 化 さ れていないデータ と 見なす こ と がで き ます。 こ の場合、TLAST<br />

はアクテ ィブ Low に駆動し てかまいません (TLAST A)。また TLAST はオプシ ョ ン信号であるため、<br />

チャ ネルか ら完全に削除する こ と も で き ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 49<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

X12056


第 3 章 : ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

一方、 ス カ ラー値を長さ 1 のベ ク ターであ る と 見なす こ と も で き ます。 こ の場合は、 TLAST をアク<br />

ティブ High に駆動する必要があ り ます (TLAST B )。符号なしであるため、使用しないパディング<br />

ビッ トは 0 に駆動されています (ゼロ拡張)。<br />

一方、 符号付き のデータ では、 図 3-2 に示すよ う に使用し ないパデ ィ ング ビッ トを符号ビッ ト と同<br />

じ値で駆動します (符号拡張)。<br />

X-Ref Target - Figure 3-2<br />

TDATA[15] ... TDATA[12]<br />

複素ス カ ラー データの例<br />

図 3-2 : 符号付きス カ ラー値 (符号拡張) の例<br />

次の表に示す特性を持った数値データ のス ト リ ーム を考え ます。<br />

論理タ イ プ 符号付き複素数<br />

論理ベ ク ター長 1 (たとえば、 スカラー値)<br />

物理基本単位 12 ビ ッ ト 固定小数点<br />

物理基本単位格納幅 16 ビッ ト<br />

物理 TDATA 幅 16 ビッ ト<br />

こ のデータは、 図 3-3 に示すよ う な <strong>AXI</strong>4-Stream として表されます。<br />

X-Ref Target - Figure 3-3<br />

図 3-3 : <strong>AXI</strong>4-Stream による複素スカラー データの例<br />

図の re(X) および im(X) は、 それぞれ X の実数成分 と 虚数成分を表し ます。<br />

50 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

X12057<br />

X12058


<strong>AXI</strong>4-Stream の導入とサポー ト<br />

メモ : 図を見やす く する ために、 符号拡張し た TDATA[15:12] は省略し てあ り ます。 複素数の値は、<br />

2 クロック サイクルごとに 1 つ転送さ れます。<br />

TDATA 信号の幅が 32 ビ ッ ト のチャ ネルで も同じデータ を転送で き ます。 こ の場合、 バス幅が広い<br />

ことから、図 3-4 に示すよ う に、 1 クロック サイクルごとに 1 つの複素数の値を転送で き ます。<br />

X-Ref Target - Figure 3-4<br />

上の 2 つの図に示し た同じデータ の異な る表現方法 (直列および並列) は、シ ス テム固有の要件に合<br />

わせてデータ の表現を調整で き る こ と を意味し ています。 こ れら 2 つの表現方法は、 た と えば次の<br />

ように使い分けます。<br />

• 高速フー リ エ変換 (FFT) などの高スループ ッ ト の処理エンジンでは、 並列の表現が望ま しいで<br />

しょう。<br />

• MAC ベースの有限イ ンパルス応答 (FIR) の場合は、 時分割多重化 (TDM) によるデータ パス<br />

共有が可能な直列表現が適し ています。<br />

表現方法が異な る サブシ ス テム間の相互運用性を得る には、 変換の メ カニズムが必要にな り ます。<br />

こ の場合、 表現方法は標準の <strong>AXI</strong> インフラスト ラクチャ IP に よ って簡単に変換がで き る も のを選<br />

択します。<br />

• 直列形式か ら並列形式への変換には <strong>AXI</strong>4-Stream ベースのア ッ プサ イ ザーを使用し ます。<br />

• 並列形式か ら直列形式への変換には <strong>AXI</strong>4-Stream ベースのダ ウ ンサ イ ザーを使用し ます。<br />

ベクター データの例<br />

図 3-4 : 32 ビット幅の TDATA 信号によ る複素ス カ ラー値転送の例<br />

次の表に示す特性を持った数値データ のス ト リ ーム を考え ます。<br />

論理タ イ プ 符号付き複素数<br />

論理ベ ク ター長<br />

物理基本単位 12 ビ ッ ト 固定小数点<br />

物理基本単位格納幅 16 ビッ ト<br />

物理 TDATA 幅 16 ビッ ト<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 51<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

4<br />

X12059


第 3 章 : ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

X-Ref Target - Figure 3-5<br />

X-Ref Target - Figure 3-6<br />

<strong>AXI</strong>4-Stream に よ る表現方法を図 3-5 に示し ます。<br />

図 3-5 : 数値ス ト リ ームの例<br />

ス カ ラーの場合と同様に、同じデータ を 32 ビット幅の TDATA チャネルに送出できます (図 3-6 参照)。<br />

図 3-6 : <strong>AXI</strong>4-Stream スカラーの例<br />

52 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

X12060<br />

X12061


X-Ref Target - Figure 3-7<br />

<strong>AXI</strong>4-Stream の導入とサポー ト<br />

TDATA の幅が 64 ビッ トのチャネルでは、 並列度をさらに高めることができます (図 3-7 参照)。<br />

TDATA の幅を 128 ビ ッ ト にする こ と で、 並列度を最大限に高めた例が図 3-8 です。<br />

X-Ref Target - Figure 3-8<br />

図 3-7 : 64 ビット幅 TDATA の例<br />

スカラー データ に関し て こ こ までの図に示し た と お り 、 数値データ には複数の表現方法があ り 、 こ<br />

れらはアプ リ ケーシ ョ ンに応じ て調整可能です。<br />

同様に、 変換には <strong>AXI</strong>4-Stream のアップサイザーおよびダウンサイザーを使用できます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 53<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

x12062<br />

図 3-8 : 128 ビット幅 TDATA の例<br />

X12063


第 3 章 : ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

パケ ッ ト と ヌル バイ ト<br />

<strong>AXI</strong>4-Stream プロ ト コルでは、オプショ ンの TLAST 信号を使用し てパケ ッ ト の境界を指定でき ます。<br />

多 く の場合、 こ の指定方法で十分です。 し か し、 原理的に TLAST 信号はデータ のサ イ ズ をパケ ッ<br />

トの末尾で示すのに対し、多くの IP ではパケ ッ ト の先頭でサ イ ズが必要にな り ます。 こ の よ う に<br />

パケ ッ ト サ イ ズを最初に指定する必要があ る場合、 IP は別の メ カニズムでパケ ッ ト サイズを知る<br />

必要があ り ます。こ の こ と か ら、ス ト リ ー ミ ン グのス レーブ チャネルは次の 3 種類に分類で き ます。<br />

• パケ ッ ト 境界の解釈を必要 と し ないス レーブ<br />

スレーブ チャ ネルにパケ ッ ト 境界 と い う 概念がま った く 存在し ない場合、あ る いはコ アが実行<br />

する処理動作がパケ ッ ト サ イ ズの影響を受けない場合があ り ます。 多 く の場合、 こ の種の IP<br />

は、 入力か ら出力にデータ と 同じ レ イ テンシで TLAST を伝搬するパス スルー機能を備えてい<br />

ます。<br />

• パケ ッ ト 境界を識別する ために TLAST 信号を必要 と する ス レーブ<br />

これらのスレーブ チャ ネルは本質的にパケ ッ ト 向けに設計さ れ、パケ ッ ト サ イ ズの指標 と し て<br />

TLAST を使用で き ます。 た と えば、 巡回冗長検査 (CRC) コ アは、 データ転送 と 並行に CRC を<br />

計算で き、 TLAST 信号を検出し た時点で CRC が正しいかど う かを検証でき ます。<br />

• パケ ッ ト 境界を識別する ために TLAST 信号を必要 と し ないス レーブ<br />

スレーブ チャネルの中には、必要なパケッ ト サ イ ズを内部的に予測で き る も のがあ り ます。た<br />

とえば、FFT の入力パケ ッ ト サ イ ズは常に変換のサ イ ズ と 同じ です。 こ の よ う な場合、 TLAST<br />

が示す情報は冗長 と な るばか り か、 パケ ッ ト のサ イ ズ判断に曖昧 さ を も た らす恐れがあ り ます<br />

(例 : N ポイントの FFT に N-1 のサンプル パケッ ト が入力された場合など)。<br />

こ の よ う な曖昧さ を排除する ため、 多 く のザ イ リ ン ク ス IP コアではスレーブ チャネルの<br />

TLAST を無視し、明示的に得ら れる ほかのパケ ッ ト サ イ ズ情報を利用し ます。こ の場合、TLAST<br />

の状態にかかわらず、<strong>AXI</strong> 転送の必要数が使用 さ れます。 こ の方法であれば、 TLAST をアサー<br />

ト する タ イ ミ ン グ をマ ス ター と ス レーブで一致 させる必要も な く 、 ほ と んどの場合相互運用性<br />

が大幅に向上し ます。<br />

例として、 FIR に続き N ポイント FFT を実行する場合を考え ます。 FIR はス ト リーム ベース<br />

のコアであり、N 回の転送ご と に TLAST を アサー ト し た ス ト リ ーム を生成する機能は、本来備<br />

えていません。FFT が TLAST 入力を無視する よ う に設計 さ れていれば、 こ れは問題にな らず、<br />

システムは期待どおりに機能します。ただし、FFT が TLAST を必要 と する場合は、必要な信号<br />

を発生させる ために、 「再フ レー ミ ン グ」 のための中間的な コ アが必要にな り ます。<br />

• パケ ッ ト 化さ れたデータ の場合、 残 り のパケ ッ ト を示すために TKEEP が必要な場合があ り ま<br />

す。 TDATA の幅がストリームのアトミック サイズ (データ の最小粒度) よ り も広い場合、 デー<br />

タ ビー ト 全体を埋めるに十分なデータ バイ ト数がないために、 パケッ トが残る可能性があり<br />

ます。 ザイ リ ンクスのエン ドポイン ト IP がサポー ト する TKEEP の使用方法は、 残 り のパケ ッ<br />

トを示すことのみです。ディアサートされた TKEEP ビッ ト (これらを <strong>AXI</strong>4-Stream プロ ト コ<br />

ル v1.0 では 「ヌル バイ ト」 と呼びます) は TLAST がアサー ト さ れたデータ ビー ト 内にしか存<br />

在し ません。 パケッ ト 化されていない連続ス ト リ ーム、 またはパケッ ト 化されていてもデータ<br />

幅がそのデータ のア ト ミ ッ ク サイズ以下のスト リームでは TKEEP は不要です。 こ れは、 通常、<br />

<strong>AXI</strong>4-Stream プロ ト コルに記載された 「アライ メン ト された連続スト リーム」 モデルに従って<br />

います。<br />

<strong>AXI</strong>4-Stream プ ロ ト コルは、 サ イ ズ変換後、 特に中途半端な長 さ のパケ ッ ト をア ッ プサ イ ジン<br />

グした後にパケット長を保つためにヌル バイ ト を末尾にエン コー ド する場合の TKEEP の使用<br />

方法を定義し ています。 こ の TKEEP 使用方法は、基本的にパケ ッ ト 末尾の後ろに残余バイ ト を<br />

エン コー ド する と い う も のです。 こ れはデータ のア ト ミ ッ ク サイズを超えてパケット をアップ<br />

サ イ ジン グ し た こ と に よ って生じ る、 意味のない情報です。<br />

54 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


<strong>AXI</strong>4-Stream の導入とサポー ト<br />

ザイ リ ンクスの <strong>AXI</strong> マスター IP は転送末尾で TKEEP ビッ トすべてがディアサートされてい<br />

るパケッ ト を生成しません。つま り、 このガイ ド ラインによって、ザイ リ ンクス IP はこのよ う<br />

なパケ ッ ト の送信元にな る こ と はないため、 互換性 と スループ ッ ト が最大化さ れます。 TKEEP<br />

ビッ トがディアサートされている場合は、同じデータ ビー ト 内で TLAST = 1 とすることで、パ<br />

ケ ッ ト 内の最後のデータ バイ ト の位置を示す必要があ り ます。<br />

ザイ リ ンクスの <strong>AXI</strong> スレーブ IP は、通常 TKEEP ビ ッ ト がすべてデ ィ アサー ト さ れた転送末尾<br />

のパケッ トを受信できるようには設計されていません。 TKEEP 入力を備えた ス レーブ IP は、<br />

TLAST がアサート された TKEEP のみをサンプ リ ング し て、パケ ッ ト の残 り のバイ ト を判断し<br />

ます。 通常、 ザ イ リ ン ク ス IP を使用する シ ス テムでは、 ほかの IP が <strong>AXI</strong>4-Stream 仕様に記述<br />

さ れた「ア ラ イ メ ン ト さ れた連続ス ト リ ーム」に準拠し て設計 さ れてい る ため、すべての TKEEP<br />

ビッ トがディアサートされた末尾の転送は発生しません。<br />

ザイ リ ンクス IP のシ ス テムに入力さ れるすべてのス ト リ ームは、入力時点で完全に満た さ れて<br />

いなければな り ません (先頭ま たは途中にヌル バイ ト を含まない)。 これにより、どのようなサ<br />

イ ズ変換を実行し て も、 TKEEP は残 り のパケ ッ ト に対するエン コー ド のみに使用され、 すべて<br />

の TKEEP ビッ トがディアサートされたデータ ビー ト は発生し ません。<br />

サイ ドバン ド信号<br />

イベン ト<br />

<strong>AXI</strong>4-Stream インターフェイス プロ ト コルでは、 TUSER バスを使用してサイ ドバンド信号を転送<br />

できます。<br />

相互運用性 と い う 観点か ら見る と 、 <strong>AXI</strong>4-Stream チャネル上で TUSER を使用する と 、 TDATA だけ<br />

でな く TUSER に も マ ス ター と ス レーブで同じ解釈方法を使用する必要があ る ため課題が生じ ます。<br />

通常、 ザ イ リ ン ク ス IP で TUSER フ ィ ール ド を使用する のは、 TDATA フ ィ ール ド のデータ を補強す<br />

る ために有益であ り 、 かつ最終的には無視し て も よ い情報を追加する場合のみです。 TUSER を無視<br />

する こ と で、 情報の一部が失われる可能性があ り ますが、 TDATA フィールドにはある情報が残され<br />

ます。<br />

たとえば、FFT コア インプリ メンテーションにおいて TDATA バスに適用するブロ ッ ク指数を<br />

TUSER 出力に よ って示すこ と がで き ます。 こ の場合、 TUSER を無視する と 指数の倍率は失われま<br />

すが、 TDATA には倍率をかけ る前の変換データ が含まれています。<br />

イベン ト 信号 と は、 特定の状態 (た と えば、 入力パラ メ ーターが無効、 バッ フ ァーが空またはフル、<br />

コ アが追加情報の待機中な ど) が存在する こ と を示すためにコ アが使用する、 単線の イ ン ターフ ェ<br />

イ スです。 イベン ト 信号は特定の状態が存在する間アサー ト さ れ、 状態が解消 さ れた時点でデ ィ ア<br />

サー ト さ れ、 ラ ッ チは さ れません。 使用する コ ア、 およびそのシ ス テム内での使用方法に応じ て、<br />

アサー ト さ れる イベン ト はエ ラー、 警告、 情報な ど を表し ます。 イベン ト 信号は、 オプシ ョ ンの信<br />

号を含まない VALID 信号のみの <strong>AXI</strong>4-Stream チャネルと見なすこ とができます。 あるいは OOB<br />

(Out-Of-Band) 情報であると考え、汎用フラグ、割り込み、ステータス信号のように扱うこともで<br />

きます。<br />

イベン ト 信号には、 次の よ う に さ ま ざ ま な使用方法が考え られます。<br />

• 無視する<br />

明示的に述べられていない限 り 、 シ ス テムはいずれの イベン ト 条件も無視で き ます。<br />

通常、 イベン ト がアサー ト さ れてい る間も、 あ る程度の性能劣化の可能性はあ る も のの コ アは<br />

動作を続け ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 55<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 3 章 : ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

• 割 り 込みま たは GPIO と し て使用する<br />

適切な割 り 込みコ ン ト ローラーま たは汎用 I/O コン ト ローラーを介してイベン ト 信号をプロ<br />

セ ッ サに接続し ます。 入力 さ れた イベン ト に対し て、 シ ス テム ソフトウェアは必要に応じて自<br />

由に応答で き ます。<br />

• シ ミ ュ レーシ ョ ン診断に使用する<br />

イベン トは、ハード ウェア シ ミ ュ レーシ ョ ン時に役に立つ場合があ り ます。イベン ト に よ って、<br />

マス ター と ス レーブ間の相互運用性の問題点を明ら かに し た り 、 サブシ ス テム間の対話におけ<br />

る解釈の誤り を示したりできます。<br />

• ハー ド ウ ェ ア診断に使用する<br />

イベン ト は、ハー ド ウ ェ ア診断時に も役立つ場合があ り ます。イベン ト 信号を診断 LED または<br />

テス ト ポイントに配線したり、 ChipScopeェ Pro Analyzer に接続し た り でき ます。<br />

シ ス テムが、 開発か ら統合を経て リ リ ースに移行する と 共に動作に対する信頼性が高ま り 、 こ れに<br />

合わせて イベン ト の必要性は低 く な る と 思われます。<br />

た と えば、 開発時のシ ミ ュ レーシ ョ ンでは、 イベン ト を積極的に監視し、 シ ステムが期待どお り 動作<br />

しているこ とを確認します。 ハード ウェア統合に移行してからは、 予想外の動作を示したと きのみイ<br />

ベン ト を監視し ます。 完全にテ ス ト 済みのシ ステムでは、 イベン ト を無視し て も問題あ り ません。<br />

イベン ト 信号は、その記述する状態を コ アが検出し た時点でアサー ト さ れる こ と に注意が必要です。<br />

つま り 、 コ ア内部のレ イ テンシやバ ッ フ ァ リ ン グの方法に よ っては、 イベン ト を発生 させる入力か<br />

ら不確定の時間の経過後に、 イベン ト 信号がアサー ト さ れる場合があ る と い う こ と です。<br />

TLAST イベン ト<br />

スレーブ チャネルの中には、 パケッ ト境界を示す TLAST 信号を必要 と し ない も のがあ り ます。 こ<br />

のよ うな場合、 入力される TLAST と 、 内部のパケ ッ ト 境界の概念の不一致を示す 2 つのイベン ト<br />

があ り ます。<br />

• TLAST 欠落 : コアの予想に反して TLAST がアサー ト されない状況です。<br />

• 予期せぬ TLAST : コアの予想に反して TLAST がアサー ト さ れる状況です。<br />

これら の イベン ト で問題が発生する可能性があ るかど う かはシ ス テム デザイ ンによ って異な り ます。<br />

例として、 CPU のコプロセッサと して FFT コアを使用する場合を考えます。 このシステムでは、<br />

パケ ッ ト 形式の DMA エンジンに よ ってデータ がコ アにス ト リ ーム転送さ れます。<br />

DMA エンジンは、 指定さ れた長さ の連続し た メ モ リ 領域を FFT コ アに送信し、 パケ ッ ト の末尾で<br />

適切に TLAST を アサー ト する よ う に設定で き ます。 シ ス テム ソフトウェアは、 このコプロセッサ<br />

を次に示すい く つかの方法で使用でき ます。<br />

• 単独変換<br />

最も単純な動作モー ド では、 FFT コアと DMA エンジンをロ ッ ク ステップ方式で動作させま<br />

す。FFT コアが N ポ イ ン ト 変換を実行する よ う に設定さ れてい る場合、DMA エンジンは N 個<br />

の複素数サンプルか ら な るパケ ッ ト を送信する よ う に設定する必要があ り ます。<br />

ソ フ ト ウ ェ ア ま たはハー ド ウ ェ アのバグに よ って こ の関係が崩れた場合、 FFT コアは TLAST<br />

の不一致を検出し て、 該当する イベン ト をアサー ト し ます。 こ の場合の イベン ト はエ ラー状態<br />

を示し ます。<br />

56 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


• グループ変換<br />

DSP とワイヤレス IP <strong>AXI</strong> 機能の導入<br />

通常、 DMA エンジンに よ って転送さ れる 1 パケ ッ ト ご と に、 開始ア ド レ ス、 転送長、 フ ラ グ<br />

を含むデ ィ ス ク リ プ ターが必要です。 こ の よ う なデ ィ ス ク リ プ ターを生成し てエンジンに送信<br />

する動作はホス ト CPU の負荷にな り ます。 変換サ イ ズが短 く 、 変換回数が多 く な る と 、 こ の<br />

デ ィ ス ク リ プ ター管理のオーバーヘ ッ ド が、 FFT コアに CPU 処理をオフ ロー ド する メ リ ッ ト<br />

を上回る可能性があ り ます。<br />

こ の課題に対する解決策の 1 つが、複数の変換を 1 つの DMA 動作にグループ化する方法です。<br />

たとえば、FFT コアを 32 ポ イ ン ト 変換用に コ ン フ ィ ギ ュ レーシ ョ ン し てい る場合、CPU は 64<br />

回の変換を 1 回の DMA 動作にま と め る こ と がで き ます。DMA エンジンは、64 回の変換に必<br />

要なデータ を含む長さ 2048 のサンプル パケッ ト を 1 つのみ生成し ます。 し か し、 DMA エン<br />

ジンが送信するパケ ッ ト は こ の 1 つのみであ る ため、TLAST が適切にアサー ト されるのは最後<br />

の変換に対するデータ のみにな り ます。 し たがって、 グループ化 さ れた転送では、 FFT コアが<br />

63 回の 「TLAST 欠落」 イベン ト を発生し ます。 こ の イベン ト 発生は完全に予測 さ れた結果で<br />

あり、 エラー状態を示しているわけではありません。<br />

こ の例では、グループ転送の通常動作中に 「予期せぬ TLAST」イベントはアサートされません。<br />

TLAST が FFT 変換の最末尾に一致し ない DMA 転送は行われないはずです。しかし、前述の単<br />

独変換の場合と同じよ うに、 ソフ ト ウェアまたはハードウェアのエラーがこのイベント をア<br />

サー ト する可能性があ り ます。 た と えば、 グループ化 さ れたパケ ッ ト の途中で、 変換サ イ ズを<br />

誤って変更し た場合な どに こ のエ ラーが発生し ます。<br />

• ストリーミング変換<br />

大規模な変換の場合、 入力パケ ッ ト 全体を 1 つの連続し た メ モ リ 領域に格納する のが困難な場<br />

合があ り ます。<br />

このよ うな場合は、複数のよ り小さな DMA 転送に よ って FFT コ アにデータ を送信する必要が<br />

あ る こ と があ り ます。 各転送の最後に TLAST 信号がアサー ト さ れます。 CPU による DMA 転<br />

送の管理方法に よ っては、 FFT コ ア内部のパケ ッ ト 境界の概念 と TLAST 信号がま った く 一致<br />

しない場合があります。<br />

こ の よ う な場合、 FFT コ アはデータ転送中に 「TLAST 欠落」 と 「予期せぬ TLAST」 イベン ト<br />

の両方をアサー ト する こ と にな り ます。 こ れはすべて想定 さ れた結果であ り 、 エ ラー状態を示<br />

しているわけではありません。<br />

DSP とワイヤレス IP <strong>AXI</strong> 機能の導入<br />

個々の <strong>AXI</strong>4-Stream スレーブ チャネルは、 ブロック型またはノンブロック型チャネルのいずれか<br />

に分類されます。<br />

チャ ネル上で ト ラ ンザ ク シ ョ ン を実行し てい る間、 コ アの動作が禁止 さ れる場合、 こ のチャ ネルを<br />

ブ ロ ッ ク 型チャ ネル と 呼びます。<br />

たとえば、データ チャネルと制御チャネルの 2 つのス レーブ チャネルを持つ FFT コアを考えます。<br />

データ チ ャ ネルは入力データ を、 制御チャ ネルは入力データ の処理方法 (変換サ イ ズなど) を指示<br />

する制御パケ ッ ト を転送し ます。<br />

制御チャネルは、 ブロック型またはノンブロック型のいずれにも設計できます。<br />

• ブ ロ ッ ク 型の場合、 コ アに制御パケ ッ ト と データ パケ ッ ト の両方が存在する場合にのみ変換が<br />

実行さ れます。<br />

• ノ ンブ ロ ッ ク 型の場合は、 データ パケ ッ ト だけがあれば変換を実行で き ます。 コ アは前回の変<br />

換の制御情報を再利用し ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 57<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 3 章 : ザイ リンクス FPGA に導入された <strong>AXI</strong> 機能<br />

ブロ ッ ク型と ノ ンブロ ッ ク型のイ ン ターフ ェ イ スの選択に関し ては、 次のよ う にい く つかの ト レー<br />

ドオフがあります。<br />

機能 ブロック型 ノンブロック型<br />

同期化 自動<br />

シグナリ ングの<br />

オーバーヘッ ド<br />

コアはト ランザクションに合わせて動作<br />

します。たとえば、1 つの制御パケ ッ ト と<br />

1 つの入力データ パケッ ト によって、1 つ<br />

の出力データ パケッ ト が生成されます。<br />

若干あ り<br />

接続 単純<br />

リソースの<br />

オーバーヘッ ド<br />

前回 と 同じ であ って も、 制御情報を毎回<br />

転送する必要があ り ます。<br />

ブロック型コアのシステムには必要な<br />

データ が必要な と き に供給さ れ、 自動同<br />

期機能に よ って制御 と データ のパケ ッ<br />

ト は確実に同期が保たれます。<br />

若干あ り<br />

ブロ ッ ク動作を可能 と する ために、 通常、<br />

コアに少数のバッファーおよびステート<br />

マシンを追加する必要があ り ます。<br />

非自動<br />

一般的には、 ブロ ッ ク型チャネルの簡便さはそのデ メ リ ッ ト を上回 り ます。<br />

シ ス テム設計者は、 制御情報が<br />

データ よ り 先に コ アに到達する<br />

よ う 設計する必要があ り ます。<br />

最小限<br />

前回 と 異な る場合のみ、 制御情<br />

報を転送し ます。<br />

メモ : ブ ロ ッ ク 型 と ノ ンブ ロ ッ ク 型の動作の違いは、 与え られたデータ と 制御情報を コ アが使用す<br />

る方法であ り、スレーブ チャネルの TREADY の駆動方法に直接影響する と は限 り ません。た と えば、<br />

スレーブ チャネルに内部バッファーを適用したコアでは、このバッファーに空き領域があると きに<br />

TREADY をアサートする場合があり ます。<br />

58 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

複雑<br />

ノンブロック型のコアでは、 シ<br />

ステム内のデータ フローと制御<br />

フ ローをシ ス テム設計者が管理<br />

する必要があ り ます。<br />

なし<br />

ノンブロック型の動作には、通<br />

常、 リ ソースの追加は不要です。


ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

概要<br />

第 4 章<br />

既存のコ ア を移行する プ ロ セスでは、 既存の I/O 信号を <strong>AXI</strong> プ ロ ト コルの対応する信号にマ ッ ピ<br />

ン グ し ます。 ロ ジ ッ ク の追加が必要にな る場合も あ り ます。<br />

MicroBlaze エンベデッ ド プロセッサではエンディアンネスが従来のビッグ エンディ アン<br />

(PowerPC ® エンベデッ ド プロセッサの PLB インターフェイスに対応) から、 リ トル エンディ アン<br />

(ARM ® プ ロ セ ッ サの要件および <strong>AXI</strong> プロ ト コルに対応) に変更されま し た。 ソ フ ト ウ ェ アの移行<br />

に関し ては、 70 ページの 「IP アップグレードのための CORE Generator の使用法」 で説明し ます。<br />

IP コアの <strong>AXI</strong> への移行<br />

IP の移行に関し て、 次のよ う なガイ ド ラ イ ンがあ り ます。<br />

エンベデッ ド PLBv4.6 IP : エンベデッ ド IP の種類に応じ て次の 3 と お り の移行ケース を検討する<br />

必要があ り ます。<br />

• ゼ ロ か ら構築さ れた IP<br />

• 旧バージ ョ ンのザイ リ ン ク ス ツールが提供する Create and Import Perihperal Wizard を使<br />

用して作成された IP<br />

• 変更不可であ り 、既存の PLBv4.6 イ ン ターフ ェ イ ス を用いて現状のま ま使用する必要があ<br />

る IP<br />

ゼロから作成した IP については、 こ こ では取 り 上げません。 45 ページの 「 メ モ リ マ ッ プ方式 IP の<br />

機能の導入 と サポー ト 」および ARM 社の ウ ェ ブサ イ ト に掲載さ れてい る仕様書『ARM AMBA <strong>AXI</strong><br />

Protocol v2.0 Specification』 を参照してください。 新規の IP は <strong>AXI</strong> プ ロ ト コルに従って設計する<br />

必要があ り ます。<br />

旧バージ ョ ンのザイ リ ン ク ス ツールが提供する Create and Import Peripheral (CIP) Wizard によっ<br />

て作成した IP は、 アンサー レコード http://japan.xilinx.com/support/answers/37425.htm に掲載さ<br />

れているテンプレー ト を使用して <strong>AXI</strong> 対応に移行で き ます。<br />

変更せずに現状を保つ必要があ る IP であっても、 <strong>AXI</strong>-To-PLB ブ リ ッ ジを使用すれば ザイ リ ンク<br />

ス ツール内での処理が可能になります。詳細は、次のセクション 「<strong>AXI</strong>-To-PLB ブリッジ」 を参照<br />

してください。<br />

大規模なザ イ リ ン ク ス IP (しばしばコネクティ ビティ IP または Foundation IP と 呼ばれる も の) :<br />

この種の IP については、 その IP 別の資料に、 移行に関する指示が記載 さ れています。 PCIe、 イー<br />

サネッ ト 、 メモ リ コア、 高速シリアル I/O などの IP がこの分類に含まれます。<br />

DSP IP : この多岐にわたる IP の変換に関する一般的なガイ ド ラ イ ンが示されています。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 59<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

<strong>AXI</strong>-To-PLB ブリッジ<br />

機能<br />

Local-Link インターフェイス : Local-Link はザイ リ ン ク ス ソ フ ト ウ ェ アで何世代に も わたって使<br />

用されてきた、 FIFO 方式の汎用ス ト リ ー ミ ング インターフェイスです。詳細は、62 ページの<br />

「Local-Link から <strong>AXI</strong>4-Stream への移行」 を参照して く ださい。<br />

PLBv4.6 ベースの IP を独自に開発し て き たザ イ リ ン ク スのエンベデ ッ ド プ ロ セ ッ サの顧客企業向<br />

けに、<strong>AXI</strong>-To-PLB ブリッジは既存の IP を <strong>AXI</strong> ベースのシ ス テムに取 り 込む メ カニズム を提供し<br />

ます。<br />

この <strong>AXI</strong>4 からプロセッサのローカル バス (PLBv4.6) へのブ リ ッ ジは、<strong>AXI</strong>4 トランザクションを<br />

PLBv4.6 トランザクションに変換します。<strong>AXI</strong>4 側では 32 ビッ トまたは 64 ビッ トのスレーブとし<br />

て、 PLBv4.6 側では 32 ビッ トまたは 64 ビッ トのマスターとして機能します。<br />

ザイ リ ンクス <strong>AXI</strong> (<strong>AXI</strong>4 と <strong>AXI</strong>4-Lite) から PLBv4.6 へのブ リ ッ ジは、 次の機能をサポー ト する<br />

ソフト IP コアです。<br />

• <strong>AXI</strong>4、 <strong>AXI</strong>4-Lite および PLB v.46 (ザイ リ ンクス シンプリ フ ィケーシ ョ ンを適用したもの)<br />

• 同期 ク ロ ッ ク 比 : <strong>AXI</strong>:PLB=1:1<br />

• <strong>AXI</strong> および PLB インターフェイスのアドレス幅 : 32 ビッ ト<br />

• <strong>AXI</strong> および PLB インターフェイスのデータ バス幅 : 32 ビッ トまたは 64 ビッ ト (<strong>AXI</strong>:PLB=1:1)<br />

• 書き込みおよび読み出しデータ のバ ッ フ ァ リ ン グ<br />

<strong>AXI</strong>4 スレーブ インターフェイス<br />

<strong>AXI</strong>4 スレーブ インターフェイス (SI) の次の機能に対応し ています。<br />

• <strong>AXI</strong>4 インターフェイス カテゴ リの設定<br />

• 制御 (<strong>AXI</strong>4-Lite) インターフェイス<br />

• 読み出し/書き込みインターフェイス<br />

• 読み出し専用イ ン ターフ ェ イ ス<br />

• 書き込み専用イ ン ターフ ェ イ ス<br />

• デザ イ ンの内部レ ジ ス タ にア ク セ スする追加制御イ ン ターフ ェ イ ス<br />

• 1 ~ 256 の INCR バース ト<br />

• FIXED タイプの 1 ~ 16 バース ト 転送<br />

• WRAP タイプの 2、 4、 8、 16 バース ト 転送<br />

• 幅の狭い転送に対するサポー ト の設定<br />

• アライメントなしのト ランザクション<br />

• バ ッ フ ァ リ ン グ可能な書き込み転送に対する早期応答<br />

• バ ッ フ ァ リ ン グ可能な書き込み転送時のエ ラー /タイムアウト状態を調べるデバッグ レジスタ<br />

• パイ プ ラ イ ン化する読み出し/書き込みア ド レ ス数 (最大 2) の設定<br />

• ヌル データ書き込みス ト ローブに対する割 り 込み生成<br />

• 先頭および末尾のデータ ビー ト を除 く 、 部分データ ス ト ローブに対する割 り 込み生成<br />

• 読み出し/書き込み同時動作のサポー ト<br />

60 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


X-Ref Target - Figure 4-1<br />

PLBv4.6 マスター インターフェイス<br />

サポー ト 対象の PLBv4.6 マスター インターフェイス (MI) 機能は次の と お り です。<br />

• パイ プ ラ イ ン化する読み出し/書き込みア ド レ ス数 (最大 2) の設定<br />

• ザイ リ ンクス シンプリ フ ィケーシ ョ ンを適用した PLBv4.6 プロ ト コル<br />

• 最小 1 バイ ト、 4 ~ 8 バイ ト までの単独転送<br />

• 2 ~ 16 データ ビー ト の固定長<br />

• ライン サイズ 4 および 8 のキャ ッシュ ラ イン トランザクション<br />

• 読み出し 1 回および書き込み 1 回に対する ア ド レ スのパイ プ ラ イ ン化<br />

• 読み出し/書き込み同時動作のサポー ト<br />

<strong>AXI</strong>-To-PLB ブリッジ<br />

• 必要に応じ てデータ を複製する 32、 64、 128 ビッ トの PLBv4.6 データ バスのサポート<br />

<strong>AXI</strong>-To-PLBv4.6 ブ リ ッ ジの機能説明<br />

PORT 1<br />

<strong>AXI</strong>4<br />

PORT 2<br />

<strong>AXI</strong>4 Lite<br />

図 4-1 は、 <strong>AXI</strong>-To-PLBv4.6 ブリッジのブロック図です。<br />

<strong>AXI</strong> PLBv46 Bridge<br />

Valid only when<br />

(C_BRIDGE_<strong>AXI</strong>_PROTOCOL=”axi4”)<br />

Valid only when<br />

(C_BRIDGE_<strong>AXI</strong>_PROTOCOL=”axi4lite”)<br />

Invalid if<br />

(C_BRIDGE_<strong>AXI</strong>_PROTOCOL=”axi4lite”)<br />

OR (C_S0_<strong>AXI</strong>_SUPPORTS_WRITE=0) OR<br />

(C_S0_<strong>AXI</strong>_DEBUG_REGISTER_EN=0)<br />

図 4-1 : <strong>AXI</strong>-To-PLBv4.6 ブリッジのブロック図<br />

Bridge Logic<br />

<strong>AXI</strong>4-PLBv46<br />

Bridge<br />

<strong>AXI</strong>Lite-<br />

PLBv46<br />

Bridge<br />

Registers<br />

• PORT-2 は、 C_EN_DEBUG_REG=1、 C_S_<strong>AXI</strong>_PROTOCOL=”<strong>AXI</strong>4”、<br />

C_S_<strong>AXI</strong>_SUPPORTS_WRITE=1 の場合のみ有効です。<br />

• <strong>AXI</strong> のデータ バス幅は 32 および 64 ビット、PLBv4.6 マスターは 32 および 64 ビッ トのデバ<br />

イスです (例 : C_MPLB_NATIVE_DWIDTH= 32/64)。<br />

<strong>AXI</strong>-To-PLBv4.6 ブリッジは、PLBv4.6 のデータ バス幅と して、 32 ビット、64 ビッ ト、128<br />

ビ ッ ト をサポー ト し、 必要な らばデータ を複製し ます。<br />

• <strong>AXI</strong> トランザクションは <strong>AXI</strong> スレーブ インターフェイス (SI) に よ って受信 さ れた後、<br />

PLBv4.6 バス マスター インターフェイス上の PLBv4.6 トランザクションに変換されます。<br />

• 読み出しおよび書き込みデータはいずれ も ブ リ ッ ジ内にバ ッ フ ァ リ ン グ さ れます<br />

(C_S_<strong>AXI</strong>_PROTOCOL=”<strong>AXI</strong>4” の場合)。 これは、<strong>AXI</strong> と PLBv4.6 プロ ト コル間に機能の相<br />

違があ る ためです。 具体的には、 <strong>AXI</strong> プロ ト コルではマスターがデータ フロー量を調整 (ス<br />

ロットル) できるのに対し、 PLBv4.6 プロ ト コルの PLB マスターはデータ フローをスロッ ト<br />

ルでき ません。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 61<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

PLB v46<br />

X12064


第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

ブ リ ッ ジには次のよ う な特徴があ り ます。<br />

• PLBv4.6 書き込み ト ラ ンザ ク シ ョ ン を開始する前に、<strong>AXI</strong> ポー ト か ら の書き込みデータ入力を<br />

バッファ リングします。<br />

• 最大バース ト 長 (16) の PLB 転送 2 回分のデータ を格納で き る深 さ 32x32/64x32 の読み出し<br />

および書き込みデータ バッファーをインプリ メン ト します。<br />

• <strong>AXI</strong> から PLB への読み出し/書き込み同時動作をサポー ト し ます。<br />

Local-Link から <strong>AXI</strong>4-Stream への移行<br />

Local-Link は、 ザイ リ ン ク ス IP コアに広く使用されているアクティブ Low の信号の規格です。 こ<br />

れらの信号の多くに <strong>AXI</strong>4-Stream 内の信号が対応し ている ため、 <strong>AXI</strong>4-Stream プロ ト コルに簡単<br />

に変換でき ます。<br />

Local-Link の必須信号から <strong>AXI</strong>4-Stream 信号への対応付け<br />

Local-Link には一連の必須信号 と 、オプシ ョ ン信号があ り ます。表 4-1 は、必須信号 と <strong>AXI</strong>4-Stream<br />

プ ロ ト コル信号の対応を ま と めた も のです。<br />

表 4-1 : Local-Link の必須信号<br />

信号名 方向 内容<br />

CLK 入力 クロック : すべての信号は、 こ の ク<br />

ロ ッ ク に同期し ます。<br />

RST_N 入力 リセット : リセットがアサートされ<br />

る と 、 制御信号がデ ィ アサー ト さ れ<br />

ます。<br />

DATA ソースから宛先 データ バス : フレーム データは こ<br />

のバスを通して送信されます。<br />

SRC_RDY_N ソースから宛先 ソース Ready : ソースのデータ送信<br />

準備が整った こ と を示し ます。<br />

DST_RDY_N 宛先か ら ソース デスティネーシ ョ ン Ready : シンク<br />

のデータ受信準備が整った こ と を<br />

示します。<br />

SOF_N ソースから宛先 フレームの開始 : フレームの先頭<br />

ビー ト を示し ます。<br />

EOF_N ソースから宛先 フレームの終了 : フレームの最終<br />

ビー ト を示し ます。<br />

CLK 入力 クロック : すべての信号は、 こ の ク<br />

ロ ッ ク に同期し ます。<br />

対応する<br />

<strong>AXI</strong>4-Stream 信号<br />

ACLK<br />

ARESETN<br />

(または、その他の<br />

リセット)<br />

TDATA<br />

TVAILD<br />

TREADY<br />

<br />

TLAST<br />

ACLK<br />

• ク ロ ッ ク および リ セ ッ ト 信号は、 移行対象の イ ン ターフ ェ イ スの該当する ク ロ ッ ク および リ<br />

セ ッ ト 信号に直接対応付け る こ と がで き ます。ARESETN 信号を使用し ない IP コアもあります<br />

が、 その場合は別のシ ス テム リ セ ッ ト 信号を使用で き ます。<br />

62 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


X-Ref Target - Figure 4-3<br />

Local-Link から <strong>AXI</strong>4-Stream への移行<br />

• <strong>AXI</strong>4-Stream の TDATA 信号はオプシ ョ ンです。 Local-Link では DATA 信号が必須であ る た<br />

め、Local-Link から <strong>AXI</strong>4-Stream に変換された イ ン ターフ ェ イ スでも TDATA 信号を生成する<br />

必要があ る と 考え られます。<br />

• ソ ースおよび宛先の Ready はアクテ ィブ Low の信号です。 こ れ ら の信号はア ク テ ィ ブ High<br />

の信号に反転する こ と で TVALID および TREADY 信号に変換で き ます。<br />

メモ : TREADY 信号はオプシ ョ ンです。 イ ン ターフ ェ イ ス を変換する場合、 こ の信号を使用す<br />

る こ と を前提 と し ています。<br />

• EOF_N はフレームの終端を示すためのアクティブ Low の信号です。こ の信号は反転する こ と<br />

でオプシ ョ ンの TLAST に直接接続で き ます。<br />

• SOF_N には、 <strong>AXI</strong>4-Stream プ ロ ト コル内に直接対応付け られる信号があ り ません。<br />

フレームは必ず TLAST (またはリセッ ト) 検出後の最初の有効なビー ト か ら開始 さ れる ため、<br />

その先頭は明示的に示さ な く て も わか り ます。 こ のため、 イ ン ターフ ェ イ スに こ の信号は不要<br />

にな り ま した。 この信号を TUSER フィールドに印加してもかまいません。<br />

図 4-2 は、 単一 Local-Link の一般的な波形です。<br />

X-Ref Target - Figure 4-2<br />

CLK<br />

SOF_N<br />

EOF_N<br />

SRC_RDY_N<br />

DST_RDY_N<br />

DATA[63:0]<br />

P0 P1 P2 P3 P4 P5<br />

図 4-2 : 単一 Local-Link の波形<br />

図 4-2 か ら、 フ ロー制御信号 (SRC_RDY_N および DST_RDY_N) がデータ フローをどのように制<br />

御しているかがわかり ます。また、SOF_N と EOF_N 信号がデータ パケッ ト のフレームを規定して<br />

いる方法も確認してください。<br />

図 4-3 は、 <strong>AXI</strong>4-Stream によって同じタイプのト ランザクシ ョ ンを処理する場合を示したもので<br />

す。 Local-Link と の顕著な差異は、 フ レーム開始が示さ れる よ う にな り 、 その機能を担っていた<br />

SOF 信号が削除された点のみであ る こ と に注目し て く ださ い。<br />

ACLK<br />

TLAST<br />

TVALID<br />

TREADY<br />

TDATA P0 P1 P2 P3 P4 P5<br />

図 4-3 : <strong>AXI</strong>4-Stream の波形<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 63<br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

X12042<br />

X12043


第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

Local-Link のオプシ ョ ン信号から <strong>AXI</strong>4-Stream 信号への対応付け<br />

表 4-2 は、Local-Link のオプシ ョ ン信号の中か ら使用頻度高い も のについて、<strong>AXI</strong>4-Stream への対<br />

応をま とめたものです。<br />

表 4-2 : Local-Link のオプシ ョ ン信号から <strong>AXI</strong>4-Stream 信号への対応付け<br />

信号名 方向 内容 対応する <strong>AXI</strong> 信号<br />

SOP_N ソースから宛先 パケッ ト 先頭 : フレーム内の<br />

パケッ ト 指定<br />

EOP_N ソースから宛先 パケッ ト 終端 : フレーム内の<br />

パケッ ト 指定<br />

REM ソースから宛先 データ の余 り を示すバス : 有<br />

効データ と 無効データ の境界<br />

指定<br />

SRC_DSC_N ソースから宛先 ソース中断 : ソース デバイ ス<br />

がフレームを中断したこ とを<br />

示します。<br />

DST_DSC_N 宛先か ら ソース 宛先中断 : 宛先デバイ スがフ<br />

レームを中断したこ と を示し<br />

ます。<br />

CH ソースから宛先 チャネル バス番号 : チャネル<br />

または宛先 ID を指定する た<br />

めに使用し ます。<br />

PARITY ソースから宛先 パリティ : データ バス全体に<br />

わたって計算したパ リ テ ィ を<br />

含みます。<br />

TUSER<br />

TUSER<br />

TKEEP<br />

TUSER<br />

<br />

• この表に示していないオプシ ョ ン信号は、 いずれも TUSER 信号を使用し て送信する必要があ<br />

ります。<br />

• Local-Link で SOP_N および EOP_N 信号が使用さ れる こ と はまれです。 こ れら の信号は、<br />

SOF/EOF 信号に粒度を付加し ます。 こ れ ら の信号が必要な場合は、 TUSER フィールド内に作<br />

成する必要があ り ます。<br />

• REM 信号はパケ ッ ト の残 り の部分を指定し ます。 <strong>AXI</strong>4-Stream で TLAST = 1 の場合、 パケ ッ<br />

ト 内の最終バイ ト の位置を示すために TKEEP バスがディアサート されるこ とがあ り ます。<br />

• ソ ース中断信号 SRC_DSC_N はソース側から早期に ト ラ ンザク シ ョ ンを終了するための メ カ<br />

ニズムです。 この機能は、 TUSER フィールドを使用して実現できます。 ソース デバイ スは<br />

TLAST 信号も印加する必要があ り ます。<br />

• 宛先側からの中断については、<strong>AXI</strong>4-Stream プ ロ ト コル側に対応する ネ イ テ ィ ブ機能があ り ま<br />

せん。 TUSER は常に ソース デバイ スか ら送信さ れる ため、 こ の機能には使用で き ません。 し<br />

たがって、 <strong>AXI</strong>4-Stream には規定さ れていない、 専用のサ イ ド バン ド 信号を使用し ます。 こ の<br />

ような信号は、<strong>AXI</strong>4-Stream には含まれない と考えられます。<br />

• CH インジケーターは、 スレッド ID (TID) に対応付け る こ と がで き ます。 パ リ テ ィ ま たは何ら<br />

かのエラー チェ ッ ク に使用する リ ソース と し ては TUSER が最適です。<br />

64 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

TID<br />

TUSER


Local-Link IP のバリ エーシ ョ ン<br />

Local-Link にはい く つかのバ リ エーシ ョ ンがあ り 、 注意が必要です。<br />

IP 移行における System Generator の使用法<br />

• 一部ア ク テ ィ ブ High の信号を使用する も のがあ り ます。 <strong>AXI</strong>4-Stream もアクティブ High の<br />

信号を使用する ため (ARESETN を除く)、 こ の よ う な変形例では移行後も極性が変わ り ません。<br />

• 独自の Local-Link 信号を作成する ユーザーも います。 こ れ ら の信号は Local-Link 仕様には定<br />

義されていません。<br />

• 信号が ソ ースか ら宛先に送信さ れる も のの場合、移行先 と し ては TUSER が適し ています。<br />

• 信号が宛先から ソースに向か う 場合は、 TUSER その他の <strong>AXI</strong>4-Stream 信号はいずれ も使<br />

用でき ません。 このよ う な場合には、 宛先から ソースに信号を戻す別の <strong>AXI</strong>4-Stream イ<br />

ン ターフ ェ イ ス を作成する方法が推奨 さ れます。 こ の イ ン ターフ ェ イ スでは オプシ ョ ンの<br />

<strong>AXI</strong>4-Stream 信号の大部分を使用し ません。 使用する のは TVALID と TUSER 信号のみ<br />

です。<br />

Local-Link に関する参考文献<br />

Local-Link の資料は、 次のウ ェブサイ ト から入手でき ます。<br />

http://japan.xilinx.com/products/design_resources/conn_central/locallink_member/sp06.pdf<br />

IP 移行における System Generator の使用法<br />

DSP および PLBv4.6 いずれの IP も、 System Generator ソ フ ト ウ ェ ア を使用し た移行が可能です。<br />

System Generator for DSP IP の <strong>AXI</strong> への移行<br />

<strong>AXI</strong> IP を使用するために System Generator for DSP によ るデザ イ ン を移行する場合、 一般的な考<br />

慮事項がい く つかあ り ます。 こ こ では、 こ れ ら の重要な項目について詳細を述べ、 移行プ ロ セ スの<br />

概要を示し ます。 各 IP 固有の移行に関する詳細については、 それぞれのデータ シー ト を参照し て<br />

ください。<br />

リセッ ト<br />

System Generator では、 非 <strong>AXI</strong> IP の リセット信号はアクティブ High です。 <strong>AXI</strong> IP 一般および<br />

System Generator 内の リ セ ッ ト 信号にはア ク テ ィ ブ Low の aresetn が使用されます。 し たがっ<br />

て、 <strong>AXI</strong> と 非 <strong>AXI</strong> の IP の両方を 1 つの リ セ ッ ト 信号で リ セ ッ ト するには、 System Generator の<br />

「Inverter」 ブ ロ ッ ク が必要にな り ます。<br />

aresetn 信号は内部レ ジ ス タ に ラ ッ チ さ れる ため、Low パルスは少な く と も 2 サ イ ク ル必要です。<br />

また、 aresetn は常に aclken よ りも優先されます。<br />

クロック イネーブル<br />

System Generator では、 ク ロ ッ ク イネーブルとして非 <strong>AXI</strong> IP および <strong>AXI</strong> IP のいずれに対しても<br />

アクティブ High 信号を使用し ます。System Generator の <strong>AXI</strong> IP ではア ク テ ィ ブ High のクロック<br />

イネーブル aclken を使用し ます。<br />

TDATA<br />

<strong>AXI</strong> プロ ト コルでは、 データは 1 つの TDATA 入力ス ト リ ームに統合さ れます。 こ れに よ って、<br />

CORE Generator 内の DSP IP の最上位ポー ト と の一貫性が保たれます。 データ ポー ト の接続を容<br />

易にする ために、 System Generator のブロ ッ ク ビューでは TDATA が個々のポー ト に分解し て表示<br />

されます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 65<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

X-Ref Target - Figure 4-5<br />

図 4-4 に、 こ の例の <strong>AXI</strong> Complex Multiplier ブロッ クを示します。<br />

X-Ref Target - Figure 4-4<br />

ポー ト の順序<br />

図 4-4 : <strong>AXI</strong> Complex Multiplier ブロック<br />

非 <strong>AXI</strong> と <strong>AXI</strong> の IP、 た と えば複素乗算器の 3.1 (非 <strong>AXI</strong>) と 4.0 (<strong>AXI</strong>) では、 ブ ロ ッ ク 上の実数お<br />

よび虚数ポー ト の表示順序が上下逆にな り ます。 し たがっ て、 <strong>AXI</strong> ブロックをデータ パスに接続<br />

する と きは、 誤って交差させない よ う に注意が必要です。 図 4-5 に、 ポー ト 信号の例を示し ます。<br />

図 4-5 : ポー ト 信号の例<br />

66 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


レイテンシ<br />

FSL (高速シンプ レ ッ ク ス リンク) から <strong>AXI</strong>4-Stream への移行<br />

System Generator の <strong>AXI</strong> IP では、非 <strong>AXI</strong> IP と はレ イ テンシの扱い方が異な り ます。非 <strong>AXI</strong> IP で<br />

は、 GUI のオプシ ョ ン を使用する か、 maximum performance オプシ ョ ンに -1 を指定する こ と で<br />

直接レ イ テンシを規定で き ます。 こ れに対し て <strong>AXI</strong> IP のレイテンシの場合は、 Automatic または<br />

Manual のいずれかを指定し ます。<br />

• Automatic が maximum performance オプシ ョ ンの -1 に相当し ます。<br />

• レ イ テンシを手作業で設定する場合は、 <strong>AXI</strong> ブロックの Minimum Latency と呼ばれるパラ<br />

メーターを使用します。ブロック型のモードではシステムにバック プレ ッ シ ャ があ る場合、 レ<br />

イテンシは指定した最小レイテンシよ り も大きくなるためです。 ノンブロック型の <strong>AXI</strong> コン<br />

フ ィ ギ ュ レーシ ョ ンの場合、 レ イ テンシは必然的に決定し ます。<br />

出力幅の仕様<br />

System Generator では出力ワード幅の仕様が、 非 <strong>AXI</strong> と <strong>AXI</strong> の IP で異な り ます。 非 <strong>AXI</strong> IP で<br />

は、 出力の最上位ビ ッ ト (MSB) と最下位ビッ ト (LSB) の両方を指定する必要があ り ます。 一方、<br />

<strong>AXI</strong> IP では出力幅 (全体の幅) のみ指定すれば、 2 進数の小数点位置は自動的に判断 さ れます。 出<br />

力の丸め動作は、 非 <strong>AXI</strong> と <strong>AXI</strong> の IP で同様です。<br />

System Generator における PLBv4.6 インターフェイスの移行<br />

System Generator では、 既に PLBv4.6 イ ン ターフ ェ イ スが含まれているデザイ ンの移行が容易で<br />

す。15 ページの図 2-1 に示すよ う に、プロセ ッ サ コア (pcore) を生成する前に EDK プロセッサ ブ<br />

ロックで <strong>AXI</strong>4 インターフェイスを選択します。<br />

プロセッサ インポート モー ド を使用する場合、 [Bus Type] は灰色表示 と な り 、 入力で き ません。<br />

これは、インポートする MicroBlaze プロセッサに使用されているバスを System Generator が自<br />

動的に検出し、 適切な イ ン ターフ ェ イ ス を適用する ためです。 System Generator へのイ ンポー ト を<br />

実行する前に、 <strong>AXI</strong>4 インターフェイスを備えた MicroBlaze プ ロ セ ッ サを含む新規の XPS プロ<br />

ジ ェ ク ト を作成する必要があ り ます。<br />

FSL (高速シンプレ ッ ク ス リンク) から <strong>AXI</strong>4-Stream への移行<br />

FSL (高速シンプレ ッ ク ス リンク) ペリフェラルを <strong>AXI</strong>4-Stream ペ リ フ ェ ラ ルに変換する場合に検<br />

討すべき項目がい く つかあ り ます。 移行が必要と な る対象は次の とお り です。<br />

• スレーブ FSL ポー ト から <strong>AXI</strong>4-Stream スレーブ インターフェイスへ<br />

• マスター FSL ポー ト から <strong>AXI</strong>4-Stream マスター インターフェイスへ<br />

次の表は、 マス ター FSL およびスレーブ FSL から <strong>AXI</strong>4-Stream 信号への変換表です。<br />

マスター FSL から <strong>AXI</strong>4-Stream 信号への対応付け<br />

表 4-3 に、 <strong>AXI</strong>4-Stream 信号の対応付けを示し ます。<br />

表 4-3 : <strong>AXI</strong>4-Stream 信号の対応付け<br />

信号 方向 <strong>AXI</strong> 信号 方向<br />

FSL_M_Clk 出力 M_<strong>AXI</strong>S_ACLK 入力<br />

FSL_M_Write 出力 M_<strong>AXI</strong>S_TVALID 出力<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 67<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

スレーブ FSL から <strong>AXI</strong>4-Stream 信号への対応付け<br />

スロ ッ ト ルの相違点<br />

表 4-3 : <strong>AXI</strong>4-Stream 信号の対応付け (続き)<br />

FSL_M_Full 入力 M_<strong>AXI</strong>S_TREADY 入力<br />

FSL_M_Data 出力 M_<strong>AXI</strong>S_TDATA 出力<br />

FSL_M_Control 出力 M_<strong>AXI</strong>S_TLAST 出力<br />

表 4-4 に、 FSL から <strong>AXI</strong>4-Stream 信号への対応付けを示し ます。<br />

表 4-4 :<br />

信号 方向 <strong>AXI</strong> 信号 方向<br />

信号 方向 <strong>AXI</strong> 信号 方向<br />

FSL_S_Clk 出力 S_<strong>AXI</strong>S_ACLK 入力<br />

FSL_S_Write 入力 S_<strong>AXI</strong>S_TVALID 入力<br />

FSL_S_Full 出力 S_<strong>AXI</strong>S_TREADY 出力<br />

FSL_S_Data 入力 S_<strong>AXI</strong>S_TDATA 入力<br />

FSL_S_Control 入力 S_<strong>AXI</strong>S_TLAST 入力<br />

FSL と <strong>AXI</strong>4-Stream ではス ロ ッ ト ルの方法に、 次の よ う な根本的な相違があ り ます。<br />

• <strong>AXI</strong>_M_TVALID 信号は、 いったんアサー ト する と <strong>AXI</strong>_TREADY 信号に よ って転送が完了す<br />

るまでディアサートできません。 ただし、 <strong>AXI</strong>_TREADY は、 <strong>AXI</strong>4-Stream スレーブからの要<br />

求があれば、 常にアサー ト およびデ ィ アサー ト で き ます。<br />

• FSL の場合、 FSL_Full および FSL_Exists 信号が イ ン ターフ ェ イ スの状態 (スレーブがフ<br />

ルかど う かやマス ターに有効なデータがあるかど う かなど) を示し ます。<br />

• FSL マ ス ターは、 書き込みを実行する前に、 FSL スレーブの FSL_Full 信号の現在の状態を<br />

確認する こ と で、 ス レーブが転送を受信で き る かど う かを確認し ます。<br />

• <strong>AXI</strong>4-Stream のマ ス ターの場合は、 転送が開始さ れてか ら のみ、 <strong>AXI</strong>_S_TREADY の状態を使<br />

用でき ます。<br />

MicroBlaze プロセッサには、FSL イ ン ターフ ェ イ スの現在の状態を確認する FSL テス ト命令があ<br />

ります。<strong>AXI</strong>4-Stream において こ の命令を動作させる ために、 MicroBlaze の <strong>AXI</strong>4-Stream マス<br />

ター イ ン ターフ ェ イ スは、 それぞれに出力保持レ ジ ス タ と し て機能する 32 ビ ッ ト のデータ フ リッ<br />

プフロ ップ (DFF) を備えています。<br />

MicroBlaze は put fsl 命令を実行する際、こ の DFF に書き込みます。MicroBlaze 内の <strong>AXI</strong>4-Stream<br />

ロジックは、<strong>AXI</strong>4-Stream に許可される と ただちに値を DFF から外部の <strong>AXI</strong>4-Stream スレーブ デバ<br />

イスに転送します。 <strong>AXI</strong>4-Stream の TREADY/TVALID 信号を確認する代わ り に、 FSL のテス ト 命令<br />

によって DFF に有効なデータ が格納さ れている かど う かを確認し ます。 こ れは、 こ の目的に<br />

<strong>AXI</strong>_S_TREADY 信号を直接使用でき ないためです。<br />

この 32 ビッ ト DFF の追加に よ って、 現在の FSL 命令のすべてが <strong>AXI</strong>4-Stream 上でも シームレ ス<br />

に動作する こ と が保証さ れます。 FSL から <strong>AXI</strong>4-Stream への変換に ソ フ ト ウ ェ アの変更は必要あ<br />

りません。<br />

68 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


DSP IP で <strong>AXI</strong>4-Stream を使用するための HDL デザイ ンの移行<br />

下位互換性を確保する ために、 MicroBlaze プロセッサは <strong>AXI</strong>4 向けに通常の メ モ リ マップ方式<br />

<strong>AXI</strong> インターフェイスが設定されている場合でも、 引き続き FSL インターフェイスをサポート し<br />

ます。 こ れを可能 と する のが、 独立し た MicroBlaze コンフィギュレーション パラ メーター<br />

(C_STREAM_INTERCONNECT) であ り、 このパラ メーターに基づいてス ト リーム インターフェイ<br />

スが <strong>AXI</strong>4-Stream あるいは FSL のいずれ と すべき かを判断し ています。<br />

DSP IP で <strong>AXI</strong>4-Stream を使用するための HDL デザイ ンの移行<br />

DSP IP で <strong>AXI</strong>4-stream インターフェイスを使用する際には、 それによってフ ィルターまたは FFT<br />

などの DSP 機能つま り 信号処理動作が変化し ない よ う にする必要があ り ます。 し か し、 DSP IP に<br />

入力 さ れるデータ のシーケ ン スが変わ る と 、 その DSP IP か ら の機能出力も著し く 変化する可能性<br />

があ り ます。 た と えば、 時分割多重化 (TDM) さ れた入力データ ス トリームにおいて 1 サンプル分<br />

のシフ ト が発生しただけでも、 すべての TDM データ に誤った結果が出力さ れます。<br />

<strong>AXI</strong>4-Stream インターフェイスを備えた DSP IP を使用する ための HDL デザ イ ンの移行を容易に<br />

する ために、 こ こ では一般的な検討課題を示し ます。<br />

各 DSP IP 固有の移行に関する指示<br />

各 IP のデータ シー ト には、 その IP 固有の移行に関する詳細な指示が記載さ れていますが、 こ こ で<br />

はそれ ら について概観し ます。特定の IP を移行する前に、その IP のデータ シー ト の 「<strong>AXI</strong>4-Stream<br />

に関する考慮事項」 および 「旧バージ ョ ンか ら の移行」 の項を確認し て く だ さ い。<br />

デモ テストベンチ<br />

図 4-6 に、 IP のデータシートに含まれるリストの例を示します。<br />

X-Ref Target - Figure 4-6<br />

図 4-6 : IP データ シー ト の例<br />

コアの移行をサポートするために CORE Generator ではテ ス ト ベンチ例を生成で き ます。 生成 さ れ<br />

たテス トベンチは、CORE Generator プロジェク ト ディレク ト リの下の demo_tb ディレク ト リ内<br />

に保存 さ れ ま す。 こ の テ ス ト ベ ン チは、 生成 さ れ た コ ア を イ ン ス タ ン シ エー ト し、 DSP IP が<br />

<strong>AXI</strong>4-stream イ ン ターフ ェ イ ス と 共にどの よ う に動作する かを簡単な例で示し ます。 こ れは、 コ ア<br />

を実行する単純な VHDL テス トベンチです。 ソース コードは CORE Generator 出力デ ィ レ ク ト リ<br />

内にあ る 1 つの VHDL ファイル demo_tb/tb_.vhd です。 ソース コード<br />

には詳細な コ メ ン ト が記載さ れています。デモン ス ト レーシ ョ ン テ ス ト ベンチはコ アの入力信号を<br />

駆動し て、 <strong>AXI</strong>4-Stream イ ン ターフ ェ イ ス を備えた コ アの機能 と 動作モー ド の実行例を示し ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 69<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

X-Ref Target - Figure 4-8<br />

生成さ れたテ ス ト ベンチの詳細な使用法は、 各 IP データ シー ト のデモ テス トベンチに関するセク<br />

シ ョ ン を参照し て く だ さ い。<br />

図 4-7 は、 demo_tb ディレク ト リの構造を示したものです。<br />

X-Ref Target - Figure 4-7<br />

IP アップグレードのための CORE Generator の使用法<br />

レ イ テンシの変更<br />

図 4-7 : demo_tb デ ィ レ ク ト リ の構造<br />

CORE Generator が使用可能であれば、 その コ ア ア ッ プグ レー ド 機能を使用し て既存の XCO ファ<br />

イルを旧バージ ョ ンのコ アか ら最新バージ ョ ンにア ッ プグ レー ド でき ます。<br />

FIR Compiler v6.0、 Fast Fourier Transform v8.0、 DDS Compiler v5.0、 Complex Multipler v4.0 な<br />

どの DSP IP コアには、XCO パラ メーターを旧バージョ ンのコアからアップグレードする機能があ<br />

ります。図 4-8 に、 CORE Generator のア ッ プグ レー ド 機能を示し ます。<br />

図 4-8 : CORE Generator のア ッ プグレード機能<br />

メモ : ア ッ プグ レー ド の メ カニズムだけでは、 最新バージ ョ ン と 互換性のあ る コ アは作成 さ れませ<br />

ん。 ア ッ プグ レー ド 機能は、 パラ メ ーターを旧バージ ョ ン と 等価にな る よ う 選択するのみです。<br />

<strong>AXI</strong>4-Stream インターフェイスを使用するには、デザイン内のコアのインスタンシエーションも更<br />

新する必要があ り ます。 ア ッ プグ レー ド 機能は、 以前の XCO ファイルのバックアップも作成しま<br />

す。 生成さ れた出力は、 CORE Generator プロジェク トの /tmp フ ォルダーに保存さ れます。<br />

<strong>AXI</strong>4-Stream の各ス レーブ チャネルは、 ブロック型またはノンブロック型のいずれかに分類され<br />

ます。 チャ ネル上で ト ラ ンザ ク シ ョ ン を実行し てい る間、 コ アの動作が禁止 さ れる場合、 こ のチャ<br />

ネルをブ ロ ッ ク 型チャ ネル と 呼びます。 通常、 DSP IP の <strong>AXI</strong>4-Stream インターフェイスのレイテ<br />

ンシは、 非ブロッキング モード では一定に、 ブロ ッ キング モード では可変にな り ます。 デザイ ン<br />

移行時のエ ラーを回避する ために、 IP データ シー ト の 「Latency Changes」 および「Instructions for<br />

Minimum Change Migration」 のセ ク シ ョ ン を参照し て く だ さ い。<br />

70 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


<strong>AXI</strong> 移行における ソ フ ト ウ ェ ア ツールに関する考慮事項 (エンデ ィ アンの反転)<br />

スレーブ FSL から <strong>AXI</strong>4-Stream 信号への対応付け<br />

表 4-4 に、 FSL から <strong>AXI</strong>4-Stream 信号への対応付けを示し ます。<br />

表 4-5 : FSL から <strong>AXI</strong>4-Stream 信号への対応付け<br />

信号 方向 <strong>AXI</strong> 信号 方向<br />

FSL_S_Clk 出力 S_<strong>AXI</strong>S_ACLK 入力<br />

FSL_S_Write 入力 S_<strong>AXI</strong>S_TVALID 入力<br />

FSL_S_Full 出力 S_<strong>AXI</strong>S_TREADY 出力<br />

FSL_S_Data 入力 S_<strong>AXI</strong>S_TDATA 入力<br />

FSL_S_Control 入力 S_<strong>AXI</strong>S_TLAST 入力<br />

<strong>AXI</strong> 移行における ソ フ ト ウ ェ ア ツールに関する考慮事項 (エンディアンの<br />

反転)<br />

MicroBlaze の PLBv4.6 に基づ く ビ ッ グ エンディアン システムを <strong>AXI</strong> ベースの リ ト ル エンディ<br />

アン システムに変換する場合、 ソフ ト ウェア フ ローへの影響に配慮する必要があ り ます。 こ こ で<br />

は、 こ の よ う なデザ イ ン向けの ソ フ ト ウ ェ ア開発におけ る一般的な考慮事項を解説し ます。<br />

<strong>AXI</strong>4 の場合も、 ザイ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト (SDK) のソフ ト ウェア ツールのフローは<br />

変わ り ません。IDE および下位の ソ フ ト ウ ェ ア ツールは MicroBlaze プロセッサ インターフェイス<br />

を自動的に検出し、 使用する適切なオプシ ョ ン を推定し ます。<br />

たとえば、SDK で管理する ビル ド でボー ド サポー ト パッケージやユーザー アプ リ ケーシ ョ ンを構<br />

築する と 、 コ ンパイ ラーのフ ラ グ -mlittle-endian が自動的に追加 さ れます。 ただ し、 コ マン<br />

ド ラインから直接 MicroBlaze GNU コ ンパイ ラーを呼び出す場合は、 明示的に こ のオプシ ョ ン を<br />

付加する必要があ り ます。<br />

Libgen、 XMD、その他のコマンド ライン ソフトウェア ツールは、 エンデ ィ アンネ ス を考慮し た う<br />

えで出力を生成し、 プロセッサ システムと対話します。 さらに、 デザインに使用されている <strong>AXI</strong><br />

エンベデ ッ ド 処理 IP に適切な ド ラ イバーが関連付け られます。 こ れには、MicroBlaze v8.00.a の更<br />

新された CPU ドライバーも含まれます。<br />

ただし、 <strong>Xilinx</strong> Platform Studio IDE は、 <strong>AXI</strong> ベースのデザ イ ン向けのボー ド サポー ト パッケージ<br />

またはユーザー アプ リ ケーシ ョ ンの作成には対応していません。 代わりに SDK を使用する か、 コ<br />

マンド ラインから直接ソフトウェア ツールを起動し て く だ さ い。<br />

MicroBlaze のビッグ エンディアン システム向けに作成されたエンドユーザー アプ リ ケーシ ョ ン<br />

であ って も、コー ド がエンデ ィ アンネ スの影響を受けない も のであれば、最小限の変更、ま たはま っ<br />

たく変更なしに同等のリ トル エンディ アン システムで動作させるこ とができます。 ハードウェア<br />

の移行が完了後、ハー ド ウ ェ ア デザ イ ンの更新 と 同じ手法に よ って、 ソ フ ト ウ ェ ア アプ リ ケーシ ョ<br />

ン を移行し ます (推奨手順は SDK のオン ラ イン ヘルプを参照し て く だ さ い)。 API が変更された場<br />

合、 OS のライブラ リやドライバー用のボード サポー ト パッケージ関数に対するユーザー アプ リ<br />

ケーシ ョ ン内の呼び出し を変更する必要があ り ます。<br />

ユーザー コード、 カスタム ドライバー、その他のコードは、ビッグ エンディアンまたはリ トル エ<br />

ンディ アン フ ォーマ ッ ト に よ るデータ表現の影響を受け る場合、再作成が必要にな る可能性があ り<br />

ます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 71<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

ビッグ エンディアンからリ トル エンデ ィ アンへの移行時のガ イ ド ラ イ ン<br />

以降に MicroBlaze のビッグ エンディアン表現で使用されている ソフ ト ウェア フ ローやコー ド を、<br />

リトル エンデ ィ アンのデザ イ ンに移行する場合に考慮すべき一般的なガ イ ド ラ イ ン を示し ます。<br />

1. エンデ ィ アンネ スの影響を受けやすい ソ フ ト ウ ェ アの場合は状況を的確に把握し て く だ さ い。<br />

メ モ リ 、 フ ァ イル、 ス ト リ ーム と の間で読み出し ま たは書き込みを実行する場合は、 特に注意<br />

が必要です。<br />

2. MicroBlaze の PLBv4.6 ビッグ エンディアン シ ス テム上で動作する既存の ソ フ ト ウ ェ アには<br />

変更が必要な場合があ り ます。<br />

a. XPS ソフトウェア フローは <strong>AXI</strong> をサポー ト していないため、 SDK を使用する必要があ<br />

ります。<br />

b. SDK では、新しい <strong>AXI</strong> ハー ド ウ ェ ア ハン ドオフのインポー ト 、新しいボード ソフトウェ<br />

ア パ ッ ケージの作成、 ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンのインポート を実行します。<br />

c. 必要に応じ て ド ラ イバー呼び出し を変更し、ユーザー コードがエンディアン変更の影響を<br />

受けない こ と を確認し ます。 ユーザー開発の ド ラ イバーは、 動作がエンデ ィ アンネ スの影<br />

響を受け る場合、 再作成が必要 と な る可能性があ り ます。<br />

d. コマンド ラインから GNU ツールを実行して makefile を作成する場合、 適切な コ ンパイ<br />

ラー フラグ –mlittle-endian を使用する必要があ り ます。<br />

3. MicroBlaze のリ トル エンディアンと ビッグ エンディ アン ソ フ ト ウ ェ アには互換性があ り ま<br />

せん。<br />

a. データ表現のエンデ ィ アンネ スが異な る オブジ ェ ク ト ファイル (.o) およびライブラ リ を、<br />

混在させないで く だ さ い。<br />

b. 互換性が確認さ れてい る場合を除き、 ド ラ イバーを混在 させないで く だ さ い。<br />

c. ビッグ エンディアン シ ス テム用に作成 さ れた ELF ファイルを、リトル エンディ アン シス<br />

テム上で使用しないでください (その逆も同様)。<br />

d. 生成されたザイ リ ン ク ス データ ファイルがシステム内のエンディアンネスの影響を受ける<br />

場合は (たとえば、ELF ファイルなどの ブロック RAM データ を含む BIT ファイルなど) 使<br />

用しないでください。<br />

e. ブロック RAM の初期化やデータ共有の設定は、 マ ス ターのエンデ ィ アンネ ス要件に合わ<br />

せる必要があ り ます。<br />

f. エンディアンネス (ファイル内のバイト順) の影響を受ける、 旧アプ リ ケーシ ョ ン データ<br />

ファイルは使用しないでください。<br />

g. MicroBlaze のエンディ アンネスに注意を払い、 ソ フ ト ウ ェア コードを適切に作成してく<br />

ださい。<br />

h. ビッグ エンディアンと リ トル エンデ ィ アンのマ ス ター間でデータ を交換する場合、 ユー<br />

ザー アプ リ ケーシ ョ ン コードおよびド ラ イバー (または、 いずれか一方) に よ ってデータ<br />

のバイ ト 順を操作し、 相互運用性を確保する必要があ り ます。<br />

下の表は、 MicroBlaze が各種データ の表現にビ ッ グ エンディアンまたはリ トル エンディ アンを使<br />

用する場合のデータ構成を ま と めた も のです。 こ の表は、『MicroBlaze プロセッサ <strong>リファレンス</strong> ガ<br />

イド』 (UG081) を基に作成し ま した。<br />

72 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日


データ タイプとエンディアンネス<br />

データ タイプとエンディアンネス<br />

MicroBlaze がデータ表現にビ ッ グ エンディ アンまたはリ トル エンディ アンのいずれのフォーマッ<br />

ト を使用する かは、 パ ラ メ ーター C_ENDIANNESS の設定によ って決定し ます。 MicroBlaze プロ<br />

セッサのハードウェアがサポートするデータ タイプは、 ワード、 ハーフ ワード、 バイ ト です。<br />

反転ロー ド および反転ス ト ア命令の LHUR、 LWR、 SHR、 SWR を使用する と 、 表の 「バイ ト 反転オー<br />

ダー」 に示し た よ う に、 データ内のバイ ト が反転 さ れます。<br />

表 4-6 ~ 74 ページの表 4-8 に、 各データ タイプのビットおよびバイト構成を示します。<br />

表 4-6 : ワード データ タイプのビットおよびバイト構成<br />

ワード データ タイプ 値<br />

ビッグ エンディ アン バイ ト アドレス n n+1 n+2 n+3<br />

ビッグ エンディ アン上位/下位バイ ト 上位バイ ト 下位バイ ト<br />

ビッグ エンディ アン バイ ト順 n n+1 n+2 n+3<br />

ビッグ エンディ アン バイ ト 反転順 n+3 n+2 n+1 n<br />

リトル エンディ アン バイ ト アドレス n+3 n+2 n+1 n<br />

リトル エンディ アン上位/下位バイ ト 上位バイ ト 下位バイ ト<br />

リトル エンディ アン バイ ト順 n+3 n+2 n+1 n<br />

リトル エンディ アン バイ ト 反転順 n n+1 n+2 n+3<br />

ビッ ト ラベル 0 31<br />

上位ビ ッ ト /下位ビ ッ ト 上位ビ ッ ト 下位ビ ッ ト<br />

表 4-7 : ハーフ ワード データ タイプ<br />

ハーフ ワード データ タイプ 値<br />

ビッグ エンディ アン バイ ト アドレス n n+1<br />

ビッグ エンディ アン上位/下位バイ ト 上位バイ ト 下位バイ ト<br />

ビッグ エンディ アン バイ ト順 n n+1<br />

ビッグ エンディ アン バイ ト 反転順 n+1 n<br />

リトル エンディ アン バイ ト アドレス n+1 n<br />

リトル エンディ アン上位/下位バイ ト 上位バイ ト 下位バイ ト<br />

リトル エンディ アン バイ ト順 n+1 n<br />

リトル エンディ アン バイ ト 反転順 n n+1<br />

ビッ ト ラベル 0 15<br />

上位ビ ッ ト /下位ビ ッ ト 上位ビ ッ ト 下位ビ ッ ト<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 73<br />

UG761 (v13.1) 2011 年 3 月 7 日


第 4 章 : ザイ リンクス <strong>AXI</strong> プ ロ ト コルへの移行<br />

表 4-8 : バイ ト データ タイプ<br />

バイ ト アドレス<br />

ハイ エン ド の検証ソ リ ューシ ョ ン<br />

ビッ ト ラベル 0 7<br />

上位ビ ッ ト /下位ビ ッ ト 上位ビ ッ 下位ビ ッ ト<br />

多 く のサー ド パーテ ィ 企業が (Cadence Design Systems、 ARM、 Mentor Graphics、 Synopsys など<br />

の各社)、システム レベルの検証およびシ ス テム レベル デザ イ ンの性能を調整する機能を持つツー<br />

ルを提供し ています。 <strong>AXI</strong> ベースの大規模シ ス テム設計において、 可能なかぎ り 高度な検証および<br />

性能が必要とされる場合は、 これらのサードパーティ ツールを使用する こ と を推奨し ます。<br />

74 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v13.1) 2011 年 3 月 7 日<br />

n


<strong>AXI</strong> 導入のま と め<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 信号<br />

グローバル信号<br />

表 A-1 : グローバル <strong>AXI</strong> 信号<br />

付録 A<br />

こ の付録では、 ザ イ リ ン ク ス ® が <strong>AXI</strong>4、 <strong>AXI</strong>-Lite、 <strong>AXI</strong>4-Stream インターフェイス プロ ト コル IP<br />

に導入し たプロ ト コル信号を ま と めています。 これらの信号の詳細は、 <strong>AXI</strong> 仕様 (www.amba.com<br />

よ り 入手可能) を参照して く ださい。<br />

表 A-1 にグローバル <strong>AXI</strong> 信号を示し ます。<br />

信号 <strong>AXI</strong>4 <strong>AXI</strong>4-Lite<br />

ACLK クロック ソース。 関連する ク ロ ッ ク イネーブル信号 ACLKEN が併用さ れる場合があ り ます。<br />

ただし、ACLKEN は業界の便宜上使用さ れる信号であ り 、ARM 仕様には明示的に規定 さ れていない こ と<br />

に注意し て く ださい。<br />

ARESETN アクティブ Low のグローバル リセット ソース。IP がリセット ソース (極性を問いません) として別の<br />

信号を使用で き る場合、 こ の信号はイ ン ターフ ェ イ ス上に表れません。 ザ イ リ ン ク ス IP では通常、 リ<br />

セッ トのアサートから 8 サ イ ク ル以内に VALID 出力をデ ィ アサー ト する必要があ り ます。<br />

また、 リセッ ト パルスの幅は、 通常最も遅い ク ロ ッ ク の 16 サ イ ク ル以上であ る こ と が要求 さ れます。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 75<br />

UG761 (v 13.1) 2011 年 3 月 7 日


付録 A: <strong>AXI</strong> 導入のま と め<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 書き込みアド レス チ ャ ネル信号<br />

表 A-2 : 書き込みア ド レス チ ャ ネル信号<br />

表 A-2 に書き込みア ド レ ス チャ ネル信号を示し ます。<br />

メモ : 読み出し専用のマス ターま たはス レーブ インターフェイスは、書き込みアドレス チャネル全<br />

体があ り ません。<br />

信号 <strong>AXI</strong>4 <strong>AXI</strong>4-Lite<br />

AWID 完全サポー ト 。<br />

マスターは、 ID ビ ッ ト の変化する部分 (存在する場合) のみを出力し て、<br />

順序変更可能な ト ラ ンザ ク シ ョ ンのス レ ッ ド を表示し ます。<br />

単一ス レ ッ ド のマス ター イ ン ターフ ェ イ スの場合、 こ の信号を無視し てかまいま<br />

せん。マスターは、マスター ID を構成する定数の部分を出力する必要はあ り ませ<br />

ん。 こ の部分は <strong>AXI</strong> イ ン ターコ ネ ク ト に よ って付加さ れます。<br />

この信号は存在しま<br />

せん。<br />

AWADDR 完全サポー ト 。<br />

32 ビッ ト幅です。必要に応じてよ り広い幅も使用します。 スレーブのネイティブ アドレス範囲を超える<br />

上位ビ ッ ト はエン ド ポ イ ン ト スレーブによって無視 (切り捨て) さ れます。 こ の結果、 ス レーブ内でア ド<br />

レ スのエ イ リ アシングが発生する可能性があ り ます。<br />

メモ : EDK は 32 ビッ ト アドレスのみサポートします。<br />

AWLEN 完全サポー ト 。<br />

サポー ト 対象のバース ト :<br />

• インク リ メンタル バース ト (INCR) の場合、 最大 256 ビー ト<br />

• ラップ バース ト (WRAP) の場合、 16 ビー ト<br />

AWSIZE 転送幅 8 ~ 256 ビ ッ ト に対応し ています。<br />

AWSIZE がネイテ ィ ブ データ幅よ り 狭いバース ト の使用は推奨で き ません。<br />

AWBURST INCR および WRAP を完全サポー ト 。<br />

FIXED バース ト は推奨し ません。<br />

FIXED バース ト で も プ ロ ト コルに準拠し たハン ド シ ェ イ ク は確立 さ れますが、<br />

FIXED 転送の影響が、 誤って INCR ま たは未定義の状態に解釈さ れる恐れがあ る<br />

ためです。<br />

AWLOCK ザイ リ ンクスのエンドポイン ト IP には、排他的ア ク セス機能が イ ンプ リ メ ン ト さ<br />

れていません。<br />

インフラスト ラクチャ IP は排他的ア ク セス ビ ッ ト をシ ス テム全体に転送し ます。<br />

AWCACHE 値 0011 の設定を推奨し ます。<br />

この信号は存在しま<br />

せん。<br />

この信号は存在しま<br />

せん。<br />

この信号は存在しま<br />

せん。<br />

この信号は存在しま<br />

せん。<br />

ザイ リ ンクス IP は通常、 ト ラ ンザ ク シ ョ ン を無視する か (スレーブの場合)、 ノ ーマル、 キ ャ ッ シ ュ不可、<br />

変更可能、 バ ッ フ ァ リ ング可能の ト ラ ンザ ク シ ョ ン を生成し ます (マスターの場合)。<br />

インフラスト ラクチャ IP はキャ ッシュ ビ ッ ト をシ ス テム全体に転送し ます。<br />

AWPROT 値 000 の設定を推奨し ます。<br />

ザイ リ ンクス IP は通常、 ト ラ ンザ ク シ ョ ン を無視する か (スレーブの場合)、 ノーマル、セキュア、デー<br />

タ属性の ト ランザクシ ョ ンを生成します (マスターの場合)。<br />

インフラスト ラクチャ IP は保護ビ ッ ト をシ ス テム全体に転送し ます。<br />

76 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v 13.1) 2011 年 3 月 7 日


表 A-2 : 書き込みア ド レス チ ャ ネル信号 (続き)<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 書き込みデータ チ ャ ネル信号<br />

表 A-3 に書き込みデータ チャ ネル信号を示し ます。<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 信号<br />

信号 <strong>AXI</strong>4 <strong>AXI</strong>4-Lite<br />

AWQOS ザイ リ ンクス エンドポイン ト IP にはイ ンプ リ メ ン ト されていません。<br />

インフラスト ラクチャ IP は QoS ビ ッ ト をシ ス テム全体に転送し ます。<br />

AWREGION ザイ リ ンクス エンドポイン ト スレーブ IP に イ ンプ リ メ ン ト 可能です。<br />

マスター IP にはイ ンプ リ メ ン ト されていません。<br />

対応する ア ド レ ス デコーダーの範囲設定に基づき、 <strong>AXI</strong> インターコネク トによっ<br />

て生成されます。<br />

AWUSER 通常、 ザ イ リ ン ク ス エンドポイン ト IP にはイ ンプ リ メ ン ト されていません。<br />

AWVALID 完全サポー ト 。<br />

AWREADY 完全サポー ト 。<br />

表 A-3 : 書き込みデー タ チ ャ ネル信号<br />

インフラスト ラクチャ IP はユーザー ビ ッ ト をシ ス テム全体に転送し ます。<br />

この信号は存在し<br />

ません。<br />

この信号は存在し<br />

ません。<br />

この信号は存在し<br />

ません。<br />

メモ : 読み出し専用のマス ターま たはス レーブ イ ン ターフ ェ イ スは、書き込みデータ チャネル全体<br />

を無視し ます。<br />

信号 <strong>AXI</strong>4 <strong>AXI</strong>4-Lite<br />

WDATA ネイティブ幅 32 ~ 256 ビ ッ ト に対応し ています。<br />

今後、 512 ビットおよび 1024 ビット幅もサポートされる<br />

可能性があ り ます。<br />

32 ビッ ト幅に対応しています。<br />

<strong>AXI</strong>4-Lite は現在の と こ ろ 64 ビッ トのネイ<br />

ティブ データ幅をサポー ト し ていません。<br />

WSTRB 完全サポー ト 。 ス レーブ インターフェイスでは WSTRB を無<br />

視 (すべてのバイ ト を有効 と 見なす) してもか<br />

まいません。<br />

WLAST 完全サポー ト 。 こ の信号は存在し ません。<br />

WUSER 通常、ザ イ リ ン ク ス エンドポイン ト IP にはイ ンプ リ メ ン<br />

トされていません。<br />

WVALID 完全サポー ト 。<br />

WREADY 完全サポー ト 。<br />

インフラスト ラクチャ IP はユーザー ビットをシステム<br />

全体に転送し ます。<br />

この信号は存在しません。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 77<br />

UG761 (v 13.1) 2011 年 3 月 7 日


付録 A: <strong>AXI</strong> 導入のま と め<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 書き込み応答チ ャ ネル信号<br />

表 A-4 : 書き込み応答チ ャ ネル信号<br />

表 A-4 に書き込み応答チャ ネル信号を示し ます。<br />

メモ : 読み出し専用のマス ターま たはス レーブ イ ン ターフ ェ イ スは、 書き込み応答チャ ネル全体を<br />

無視し ます。<br />

信号 <strong>AXI</strong>4 <strong>AXI</strong>4-Lite<br />

BID 完全サポー ト 。<br />

詳細は、 AWID を参照して く ださい。<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 読み出し ア ド レス チ ャ ネル信号<br />

表 A-5 に読み出し ア ド レ ス チャ ネル信号を示し ます。<br />

この信号は存在しません。<br />

BRESP 完全サポー ト 。 EXOKAY の値は、仕様には規定さ れていません。<br />

BUSER 通常、 ザ イ リ ン ク ス エンドポイン ト IP にはイ ンプ リ メ<br />

ントされていません。<br />

BVALID 完全サポー ト 。<br />

BREADY 完全サポー ト 。<br />

インフラスト ラクチャ IP はユーザー ビットをシステム<br />

全体に転送し ます。<br />

表 A-5 : 読み出し ア ド レス チ ャ ネル信号<br />

この信号は存在しません。<br />

メモ : 書き込み専用のマス ターま たはス レーブ イ ン ターフ ェ イ スは、読み出し ア ド レ ス チャネル全<br />

体を無視し ます。<br />

信号 <strong>AXI</strong>4 <strong>AXI</strong>4-Lite<br />

ARID 完全サポー ト 。<br />

マスターは、ID ビ ッ ト の変化する部分 (存在する場合) のみを出力<br />

し て、順序変更可能な ト ラ ンザ ク シ ョ ンのス レ ッ ド を表示し ます。<br />

単一ス レ ッ ド のマス ター イ ン ターフ ェ イ スの場合、 こ の信号を無<br />

視してかまいません。マスターは、「マスター ID」 を構成する定数<br />

の部分を出力する必要はあ り ません。こ の部分は <strong>AXI</strong> インターコ<br />

ネク トによって付加されます。<br />

この信号は存在しません。<br />

ARADDR 完全サポー ト 。<br />

32 ビッ ト幅です。 必要に応じてよ り広い幅も使用します。 スレーブのネイティブ アドレス範囲を超える<br />

上位ビ ッ ト はエン ド ポ イ ン ト スレーブによって無視 (切り捨て) さ れます。 こ の結果、 ス レーブ内でア ド<br />

レ スのエ イ リ アシングが発生する可能性があ り ます。<br />

メモ : EDK は 32 ビッ ト アドレスのみサポートします。<br />

ARLEN INCR および WRAP を完全サポー ト 。<br />

FIXED バース ト は推奨し ません。FIXED バース ト で も プロ ト コル<br />

に準拠し たハン ド シェ イ クは確立されますが、 FIXED 転送に よ る<br />

影響が、 誤って INCR ま たは未定義の状態に解釈 さ れる恐れがあ<br />

るためです。<br />

この信号は存在しません。<br />

78 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v 13.1) 2011 年 3 月 7 日


表 A-5 : 読み出し ア ド レス チ ャ ネル信号 (続き)<br />

ARSIZE 転送幅 8 ~ 256 ビ ッ ト に対応し ています。<br />

今後、512 ビッ トおよび 1024 ビ ッ ト 幅も サポー ト さ れる可能性が<br />

あります。ARSIZE がネイテ ィ ブ データ幅よ り 狭いバース ト の使<br />

用は推奨でき ません。<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 信号<br />

信号 <strong>AXI</strong>4 <strong>AXI</strong>4-Lite<br />

ARBURST INCR および WRAP を完全サポー ト 。<br />

FIXED バース ト は推奨し ません。FIXED バース ト で も プロ ト コル<br />

に準拠し たハン ド シェ イ クは確立されますが、 FIXED 転送の影響<br />

が、 誤って INCR ま たは未定義の状態に解釈 さ れる恐れがあ る た<br />

めです。<br />

ARLOCK ザイ リ ンクスのエンドポイン ト IP には、排他的ア ク セ ス機能が イ<br />

ンプ リ メ ン ト されていません。<br />

インフラスト ラクチャ IP は排他的ア ク セ ス ビッ トをシステム全<br />

体に転送し ます。<br />

ARCACHE 値 0011 の設定を推奨し ます。<br />

この信号は存在しません。<br />

この信号は存在しません。<br />

この信号は存在しません。<br />

ザイ リ ンクス IP は通常、 ト ラ ンザ ク シ ョ ン を無視する か (スレーブの場合)、 ノ ーマル、 キ ャ ッ シ ュ不可、<br />

変更可能、 バ ッ フ ァ リ ング可能の ト ラ ンザ ク シ ョ ン を生成し ます (マスターの場合)。<br />

インフラスト ラクチャ IP はキャ ッシュ ビ ッ ト をシ ス テム全体に転送し ます。<br />

ARPROT 値 000 の設定を推奨し ます。<br />

ザイ リ ンクス IP は通常、 ト ラ ンザ ク シ ョ ン を無視する か (スレーブの場合)、 ノーマル、セキュア、デー<br />

タ属性のト ランザクシ ョ ンを生成します (マスターの場合)。<br />

インフラスト ラクチャ IP は保護ビ ッ ト をシ ス テム全体に転送し ます。<br />

ARQOS ザイ リ ンクス エンドポイン ト IP にはイ ンプ リ メ ン ト されていま<br />

せん。<br />

インフラスト ラクチャ IP は QoS ビッ トをシステム全体に転送し<br />

ます。<br />

ARREGION ザイ リ ンクス エンドポイン ト スレーブ IP にインプリ メン ト可能<br />

です。<br />

マスター IP にはイ ンプ リ メ ン ト されていません。<br />

対応する ア ド レ ス デコーダーの範囲設定に基づき、 <strong>AXI</strong> インター<br />

コ ネ ク ト に よ って生成 さ れます。<br />

ARUSER 通常、 ザ イ リ ン ク ス エンドポイン ト IP にはイ ンプ リ メ ン ト されて<br />

いません。<br />

ARVALID 完全サポー ト 。<br />

ARREADY 完全サポー ト 。<br />

インフラスト ラクチャ IP はユーザー ビ ッ ト をシ ス テム全体に転送<br />

します。<br />

この信号は存在しません。<br />

この信号は存在しません。<br />

この信号は存在しません。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 79<br />

UG761 (v 13.1) 2011 年 3 月 7 日


付録 A: <strong>AXI</strong> 導入のま と め<br />

<strong>AXI</strong>4 および <strong>AXI</strong>4-Lite 読み出し デー タ チ ャ ネル信号<br />

表 A-6 : 読み出し デー タ チ ャ ネル信号<br />

表 A-6 に読み出しデータ チャ ネル信号を示し ます。<br />

メモ : 書き込み専用のマス ターま たはス レーブ イ ン ターフ ェ イ スは、読み出しデータ チャネル全体<br />

を無視し ます。<br />

信号 <strong>AXI</strong>4 <strong>AXI</strong>4-Lite<br />

RID 完全サポー ト 。<br />

詳細は、 ARID を参照して く ださい。<br />

この信号は存在しません。<br />

RDATA ネイティブ幅 32 ~ 256 ビ ッ ト に対応し ています。 32 ビッ ト幅に対応しています。<br />

<strong>AXI</strong>4-Lite は現在の と こ ろ 64 ビッ トのネイ<br />

ティブ データ幅をサポー ト し ていません。<br />

RRESP 完全サポー ト 。 EXOKAY の値は、仕様には規定 さ れていません。<br />

RLAST 完全サポー ト 。 こ の信号は存在し ません。<br />

RUSER 通常、 ザ イ リ ン ク ス エンドポイン ト IP にはイ ンプ リ メ<br />

ントされていません。<br />

RVALID 完全サポー ト 。<br />

RREADY 完全サポー ト 。<br />

インフラスト ラクチャ IP はユーザー ビッ トをシステム<br />

全体に転送し ます。<br />

この信号は存在しません。<br />

80 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v 13.1) 2011 年 3 月 7 日


<strong>AXI</strong>4-Stream 信号のま と め<br />

表 A-7 : <strong>AXI</strong>4-Stream 信号のま と め<br />

信号 オプシ ョ ン デフォルト<br />

(全ビッ ト)<br />

<strong>AXI</strong>4-Stream 信号の一覧を表 A-7 に示し ます。<br />

TVALID 必須 N/A 変更な し<br />

TREADY オプシ ョ ン 1 変更な し<br />

TDATA オプシ ョ ン 0 変更な し<br />

TSTRB オプシ ョ ン TKEEP と<br />

同じ、<br />

それ以外<br />

の場合は 1<br />

<strong>AXI</strong>4-Stream 信号のま と め<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 81<br />

UG761 (v 13.1) 2011 年 3 月 7 日<br />

内容<br />

ザイ リ ンクス <strong>AXI</strong> IP における規則 :<br />

8 ~ 4096 ビッ ト幅までは、 ザイリンクス <strong>AXI</strong> IP が使用し ます (テス ト境界の<br />

確立)。<br />

変更な し<br />

通常、 TSTRB はスパース ス ト リ ームのエン コー ド に使用し ます。 TSTRB は、 残<br />

余パケ ッ ト のエン コー ド だけを目的 と し て使用すべき ではあ り ません。<br />

TKEEP オプシ ョ ン 1 ザイ リ ンクス IP では、ヌル バイ トの利用をパケット化されたス ト リームの末尾に<br />

発生する残余バイ ト のエン コー ド に限定し ています。<br />

ザイ リ ンクスのエンドポイン ト IP では、ス ト リ ーム中の先頭または途中のヌル バ<br />

イトに TKEEP を使用し ません。<br />

TLAST オプシ ョ ン 0 パケ ッ ト の最終データ ビー ト を示し ます。<br />

TID オプシ ョ ン 0 変更な し<br />

TDEST オプシ ョ ン 0 変更な し<br />

TUSER オプシ ョ ン 0 変更な し<br />

TLAST を省略し た場合、 連続し たパケ ッ ト 化 さ れていないス ト リ ーム と 見な さ れ<br />

ます。<br />

ザイ リ ンクス <strong>AXI</strong> IP における規則 :<br />

1 ~ 32 ビッ ト幅のみを、ザイリンクス <strong>AXI</strong> IP が使用し ます (テス ト境界の確立)。<br />

ザイ リ ンクス <strong>AXI</strong> IP における規則 :<br />

1 ~ 32 ビッ ト幅のみを、ザイリンクス <strong>AXI</strong> IP が使用し ます (テス ト境界の確立)。<br />

ザイ リ ンクス <strong>AXI</strong> IP における規則 :<br />

1 ~ 4096 ビッ ト幅のみを、 ザイリンクス <strong>AXI</strong> IP が使用し ます (テス ト境界の<br />

確立)。


付録 A: <strong>AXI</strong> 導入のま と め<br />

82 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v 13.1) 2011 年 3 月 7 日


<strong>AXI</strong> の用語<br />

表 B-1 : <strong>AXI</strong> の用語<br />

付録 B<br />

ここでは、<strong>AXI</strong> 固有の略語、用語および定義の一覧 と 共に、 こ れ ら の用語が使用 さ れる IP コアの種<br />

類を示します。<br />

用語 コ アの種類 内容 適用対象<br />

<strong>AXI</strong> 汎用<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

インターフェ<br />

イス<br />

チャネル<br />

バス<br />

メ モ リ マ ッ プ方式の<br />

ブ ロ ッ ク 転送。<br />

制御レ ジ ス タ向けの<br />

サブセッ ト 。<br />

データ ス トリーミング<br />

向けのサブセッ ト<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

インプリ メント される <strong>AXI</strong> プロ ト コル イン<br />

ターフ ェ イ ス全般を指す一般的な用語です。<br />

最大 256 データ ビー ト をバース ト 転送する、<br />

アドレス指定のインターフェイス。<br />

32 ビ ッ ト 幅のデータ を転送する メ モ リ マ ッ<br />

プ方式の軽量イ ン ターフ ェ イ ス。 転送でき る<br />

データ は一度に 1 ビー ト のみです。<br />

単一書き込みチャ ネル モデルの単方向<br />

リンク。<br />

バース ト 長に制限があ り ません。<br />

IP コ ア機能を外部に提供する ための 1 つ以<br />

上のチャ ネルの集合。 マス ターを ス レーブに<br />

接続し ます。<br />

1 つの IP が複数のイ ン ターフ ェ イ ス を持つ<br />

場合も あ り ます。<br />

VALID 信号 と 関連付け ら れた、 <strong>AXI</strong> 信号の<br />

独立し た集合。<br />

汎用 複数ビ ッ ト か ら な る信号。<br />

(インターフェイスまたはチャネルとは異な<br />

ります。)<br />

一般的な説明。<br />

エンベデッ ド コアおよびメモリ<br />

コア。<br />

例 : MIG、ブロック RAM、EDK、<br />

PCIe ブリッジ、FIFO<br />

管理レ ジ ス タ。 例 : 割り込みコン<br />

トローラー、UART Lite、IIC バス<br />

インターフェイス<br />

DSP、ビデオ、通信アプ リ ケーシ ョ<br />

ンに使用 さ れます。<br />

すべて<br />

すべて<br />

すべて<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 83<br />

UG761 (v 13.1) 2011 年 3 月 7 日


付録 B: <strong>AXI</strong> の用語<br />

表 B-1 : <strong>AXI</strong> の用語 (続き)<br />

用語 コ アの種類 内容 適用対象<br />

トランザク<br />

ション<br />

転送<br />

バース ト<br />

マスター<br />

スレーブ<br />

マスター<br />

インターフェ<br />

イス (汎用)<br />

スレーブ<br />

インターフェ<br />

イス (汎用)<br />

SI<br />

MI<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

チャネルを介して実行される完結した通信<br />

動作で、1 つ以上の転送から構成されます。完<br />

結した動作です。<br />

アドレス、データ、応答の各チャネルを介し<br />

た、互いに関連付け ら れた読み出し/書き込み<br />

通信動作すべての集合で、 1 つ以上の転送か<br />

ら構成 さ れます。 完結し た読み出し ま たは書<br />

き込み要求です。<br />

VALID 信号のハン ド シ ェ イ ク に よ って識別<br />

する、 情報を伝達する 1 つのク ロ ッ ク サイ<br />

クルです。 データ ビー ト 。<br />

DSP、ビデオ、通信アプ リ ケーシ ョ<br />

ンに使用 さ れます。<br />

エンベデッ ド コアおよびメモリ<br />

コア。<br />

管理レ ジ ス タ。<br />

すべて<br />

複数の転送から構成される ト ラ ンザク シ ョ ン。 すべて<br />

<strong>AXI</strong> トランザクションを生成してスレーブ<br />

IP へ と 接続さ れた ワ イ ヤに発信する、 IP ま<br />

たはデバイ ス (または IP 上の複数の イ ン ター<br />

フェイスのうちの 1 つ)。<br />

マスター IP へと接続されたワイヤから <strong>AXI</strong><br />

ト ラ ンザ ク シ ョ ン を受信し て応答する、IP ま<br />

たはデバイ ス (または IP 上の複数の イ ン ター<br />

フェイスのうちの 1 つ)。<br />

発信 <strong>AXI</strong> トランザクションを生成して <strong>AXI</strong><br />

転送の開始側 (送信元) となる IP またはモ<br />

ジュールのインターフェイス。<br />

<strong>AXI</strong> 転送の受信側 (宛先) となって着信 <strong>AXI</strong><br />

ト ラ ンザ ク シ ョ ン を受信する IP またはモ<br />

ジュールのインターフェイス。<br />

<strong>AXI</strong> インターコネク トのスレーブ インター<br />

フェイス : 接続さ れたすべてのマス ター IP<br />

からの着信 <strong>AXI</strong> ト ラ ンザ ク シ ョ ン を受信す<br />

る、 ベクター化された <strong>AXI</strong> スレーブ イン<br />

ターフェイス。<br />

<strong>AXI</strong> インターコネク トのマスター インター<br />

フェイス : 接続さ れたすべてのス レーブ IP<br />

への発信 <strong>AXI</strong> ト ラ ンザ ク シ ョ ン を生成する、<br />

ベクター化された <strong>AXI</strong> マスター インター<br />

フェイス。<br />

すべて<br />

すべて<br />

すべて<br />

すべて<br />

84 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v 13.1) 2011 年 3 月 7 日<br />

EDK<br />

EDK


表 B-1 : <strong>AXI</strong> の用語 (続き)<br />

用語 コ アの種類 内容 適用対象<br />

SI スロッ ト<br />

MI スロッ ト<br />

SI 側<br />

MI 側<br />

アップ<br />

サイザー<br />

ダウン<br />

サイザー<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

<strong>AXI</strong>4<br />

<strong>AXI</strong>4-Lite<br />

<strong>AXI</strong>4-Stream<br />

スレーブ インターフェイス スロッ ト : 1 つの<br />

マスター IP に接続する イ ン ターコ ネ ク ト の<br />

スレーブ インターフェイス ベ ク ター信号の<br />

1 スライス。<br />

マスター インターフェイス スロッ ト : 1 つの<br />

マスター インターフェイス スレーブ IP に接<br />

続する イ ン ターコ ネ ク ト のマス ター イン<br />

ターフェイス ベ ク ター信号の 1 スライス。<br />

インターコネク トの SI 側に近いモジ ュール<br />

インターフェイスを指します。<br />

インターコネク トの MI 側に近いモジ ュール<br />

インターフェイスを指します。<br />

スレーブ インターフェイスからマスター イ<br />

ン ターフ ェ イ スの方向にデータ が移動する場<br />

合に (書き込み/読み出しの方向に関係な く )、<br />

データ パス幅を広 く する変換機能。<br />

スレーブ インターフェイスからマスター イ<br />

ン ターフ ェ イ スにデータ が移動する場合に<br />

(書き込み/読み出し の方向に関係な く )、 デー<br />

タ パス幅を狭 く する変換機能。<br />

<strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 85<br />

UG761 (v 13.1) 2011 年 3 月 7 日<br />

EDK<br />

EDK<br />

EDK<br />

EDK<br />

すべて<br />

すべて<br />

SAMD トポロジ 共有ア ド レ ス複数データ EDK<br />

クロスバー トポロジ <strong>AXI</strong> インターコネク トの中心に位置し、さま<br />

ざまな SI スロッ トおよび MI スロッ ト間の<br />

アドレス、データ、応答の各チャネルの転送<br />

をルーテ ィ ングするモジュール。<br />

すべて


付録 B: <strong>AXI</strong> の用語<br />

86 japan.xilinx.com <strong>AXI</strong> <strong>リファレンス</strong> <strong>ガイド</strong><br />

UG761 (v 13.1) 2011 年 3 月 7 日

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!