AXI リファレンス ガイド - Xilinx
AXI リファレンス ガイド - Xilinx
AXI リファレンス ガイド - Xilinx
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 日