概要
ザ イ リ ン ク スデバ イ ス を使用す る 設計者は、 タ ーゲ ッ ト リ フ ァ レ ン スデザ イ ン (TRD) を活用す る こ と で即座に開発に着手 し 、 さ ま ざ ま な業界で FPGA ベー ス の ソ リ ュ ーシ ョ ン を作成で き る よ う にな り ま す。 こ の ア プ リ ケーシ ョ ン ノ ー ト では、Aurora 8B/10B シ リ アルプ ロ ト コ ル を サポー ト す る よ う に、Spartan-6 FPGA PCIe-DMA-DDR3-GbE TRD を拡張す る 設計について説明 し ます。[参照1]
PCIe-DMA ベース のプ ラ ッ ト フ ォーム では、 シ ス テ ム メ モ リ と FPGA 間でデー タ を移動 さ せます。 つ
ま り 、 転送 さ れ る デー タ は FPGA 内で使用可能なだけでな く 、Aurora 8B/10B シ リ アルプ ロ ト コ ルな ど のシ リ アル コ ネ ク テ ィ ビ テ ィ プ ロ ト コ ルを使用 し て別の FPGA へ転送 し た り 、 バ ッ ク プ レーンへ送 信で き ます。 同様に、 別の FPGA ま たはバ ッ ク プ レーンか ら Aurora プ ロ ト コ ルを介 し て当該 FPGA へ デー タ を取 り 込み、 そのデー タ を シ ス テ ム メ モ リ へ送信 し て さ ら な る 処理や解析を行い ます。 こ の よ う な拡張に よ り 、 イ ーサネ ッ ト の動作を現状の ま ま維持 し 、PCIe と イ ーサネ ッ ト 間お よ び PCIe と Aurora 間のブ リ ッ ジ機能が実現 さ れます。
コ ネ ク テ ィ ビ テ ィ
TRD
図ト ラ ン シーバー、 メ モ リ1の Spartan-6 FPGA コ ン ト ロ ー ラ ーな どコ ネ ク テ ィ ビ テ ィ TRD Spartan-6 FPGA には、PCI Express に統合 さ れた主な コ ン ポーネ ン ト を示 し用エン ド ポ イ ン ト ブ ロ ッ ク 、GTP てい ます。 こ れ ら の コ ン ポーネ ン ト は、 アプ リ ケーシ ョ ンにおいてサー ド パーテ ィ (Northwest Logic 社 ) の ス キ ャ ッ タ ー/ギ ャ ザー DMA (Direct Memory Access) エン ジ ン、Xilinx Platform Studio LocalLink ト ラ イ モ ー ド イ ー サ ネ ッ ト MAC (XPS-LL-TEMAC)、 ザ イ リ ン ク ス MIG (Memory InterfaceGenerator) な ど追加の IP コ ア と 共に動作 し ます。 こ の TRD は、 次の よ う な独立 し た アプ リ ケーシ ョ ン を導入 し てい る x1 PCI Express 用エン ド ポ イ ン ト ブ ロ ッ ク (v1.1 準拠) です。 • 次のいずれか を提供す る ネ ッ ト ワー ク イ ン タ ーフ ェ イ ス カー ド (ネ ッ ト ワ ー クパス と 呼ばれ る) • 外部の イ ーサネ ッ ト PHY を使用す る GMII モー ド — 通常は銅線ネ ッ ト ワー ク への接続に使 用 さ れ る • FPGA デバ イ ス の GTP ト ラ ン シーバーを使用す る 1000BASE-X モー ド — 通常は光フ ァ イ バーイ ーサネ ッ ト ネ ッ ト ワー ク への接続に使用 さ れ る こ のネ ッ ト ワー クパ ス に よ り 、外部ネ ッ ト ワ ー ク への接続、お よ び ウ ェ ブ上のページの閲覧、Telnet、 そ し て FTP な ど のネ ッ ト ワー ク アプ リ ケーシ ョ ンの実行が可能にな り ます。 • PCI Express を使用す る 外部 メ モ リ イ ン タ ーフ ェ イ ス (メ モ リ パ ス と 呼ばれ る)
こ の メ モ リ パ ス は、Spartan-6 FPGA を介す る シ ス テ ム メ モ リ と DDR3 SDRAM 間のデー タ 転送 を示 し ます。
TRD は、 バ ス マ ス タ リ ン グ ス キ ャ ッ タ ー/ギ ャ ザー DMA (Direct Memory Access) エ ン ジ ン を使用 し て、 プ ロ セ ッ サのデー タ 転送におけ る オーバーヘ ッ ド の負荷を軽減 し ます。DMA は、PCI Express エ ン ド ポ イ ン ト と 共に動作 し 、 シ ス テ ム と FPGA 間の高速デー タ 転送を実現 し ます。
Spartan-6 FPGA PCIe-DMA-DDR3-GbE TRD の詳細は、『Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ タ ーゲ ッ
ト リ フ ァ レ ン スデザ イ ンユーザーガ イ ド 』 (UG392) を参照 し て く だ さ い。[参照1] ア プ リ ケーシ ョ ン ノ ー ト : Spartan-6 フ ァ ミ リ XAPP492 (v1.0) 2010 年 6 月 23 日
Spartan-6 FPGA
コ ネ ク テ ィ ビ テ ィ
TRD
(PCIe-DMA-DDR3-GbE)
での
Aurora 8B/10B
シ リ アル
プ ロ ト コ ルのサポー ト
は じ めに TRD の全体的な構造は階層的に構築 さ れてい ま す。PCIe ブ ロ ッ ク お よ び DMA ブ ロ ッ ク がプ ラ ッ ト フ ォ ーム全体の基礎を成 し てい ます。 ネ ッ ト ワ ー ク パ スお よ び メ モ リ パ ス は、 こ の基礎周辺に開発 さ れた アプ リ ケーシ ョ ンです。 TRD を現状の ま ま で、 ま たは本資料で提供 さ れ る ガ イ ド ラ イ ンに沿っ て活用す る こ と で、 ほかのシ リ ア ルプ ロ ト コ ル、 ビデオ、 あ る いは LVDS を用い る 最終的なバージ ョ ンのデザ イ ン を開発で き ます。
は じ めに
こ のアプ リ ケーシ ョ ン ノ ー ト では、 ザ イ リ ン ク ス独自の Aurora 8B/10B シ リ アルプ ロ ト コ ルへ接続す る よ う に、Spartan-6 FPGA PCIe-DMA-DDR3-GbE TRD を 拡張す る 設計 を 中心に説明 し て い ま す。Aurora は、 ス ケー ラ ブルかつ軽量な リ ン ク 層プ ロ ト コ ルで、 ポ イ ン ト ツーポ イ ン ト シ リ アル リ ン ク で
のデー タ 転送に使用 さ れます。 ま た、 物理的な シ リ アル リ ン ク へ透過的な イ ン タ ーフ ェ イ ス を提供 し 、 フ レー ミ ン グお よ びス ト リ ー ミ ン グ両モー ド での動作をサポー ト し ます。 こ のアプ リ ケーシ ョ ン ノ ー ト
では Aurora を フ レー ミ ン グモー ド で使用 し ます。
ネ ッ ト ワー ク イ ン タ ーフ ェ イ ス カー ド と し て機能す る ネ ッ ト ワ ー ク パ ス は、 その ま ま使用 し ます。 メ モ リ パ ス は、Spartan-6 FPGA メ モ リ コ ン ト ロ ー ラ ーを通 し てパケ ッ ト FIFO をサポー ト す る よ う に変 更 さ れ、 パケ ッ ト FIFO を介 し て動作す る Aurora 8B/10B LogiCORE IP が統合 さ れます。
こ の ア プ リ ケ ー シ ョ ン ノ ー ト で は、図2 に 示す ブ ロ ッ ク 図 の よ う な デ ザ イ ン を 実現す る よ う に、
Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD を変更 し 、Aurora 8B/10B IP を統合す る ガ イ ド ラ イ ン を提供
し ます。 X-Ref Target - Figure 1
図 1 : Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD Packet DMA (32-bit) C2S S2C C2S S2C Target Interface x1 Link f o r PCI Express
Third Party IP FPGA Logic
32-bit T ransaction Interf ace @ 62.5 MHz DMA Register Interface Virtual FIFO Layer DMA Driver (Linux) Blockdata Driver (Linux) Ethernet Driver (Linux) GUI MIG User Interface @62.5 MHz User Space Registers
Control Plane Bridge DMA to TEMAC Bridge TEMAC to DMA Bridge
PLBv46
@62.5 MHz1000BASE-X
GMII @125 MHz 16-bit DDR3 @667 Mb/s 32-bit LocalLink @62.5 MHz 32-bit Streaming Interface @62.5 MHz 32-bit Streaming Interface @62.5 MHz User Data User Status GTP T ransceiv ers x1 Endpoint Bloc k f or PCI Express v1.1 Wr apper f or PCI Express Xilinx IP Integrated Blocks On SP605 Memory Controller Block MIG Wr apper SDRAM PLBv46 Master XPS-LL TEMAC PLBv46 Slave GTP PCS PMA SFP Marvell PHY TCP Stack RJ45 x492_01_061410Hardware
Software
は じ めに
リ フ ァ レ ン ス
デザイ ンの特長
Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD の リ フ ァ ン レ ス デザ イ ンにおけ る 主な機能変更は次の と お り
です。
• DDR3 SDRAM を LocalLink ベース のパケ ッ ト FIFO に変更
• デザ イ ンでは、 メ モ リ コ ン ト ロ ー ラ ーブ ロ ッ ク (MCB) の完全に双方向で 32 ビ ッ ト のポー ト を 2 個用いて次の経路でデー タ 転送を行 う
- PC シ ス テ ムか ら Aurora Transmit (送信側) ま での DMA (イ グ レ ス パ ス) - DMA を介す る 、PC シ ス テ ムへの Aurora Recieve (受信側) (イ ン グ レ スパ ス)
• Spartan-6 FPGA MCB の完全な双方向ポー ト を 4 個使用 し た、 拡張パケ ッ ト FIFO デザ イ ン
• Aurora 8B/10B LogiCORE IP を統合
注記 : こ のデザ イ ンでは、1000BASE-X モー ド での動作はサポー ト さ れてい ません。 X-Ref Target - Figure 2
図 2 : パケ ッ ト FIFO および Aurora IP によ っ て拡張 し た Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD
Packet DMA (32-bit) C2S S2C C2S S2C Target Interface x1 Link f o r PCI Express
Third Party IP FPGA Logic
32-bit T ransaction Interf ace @ 62.5 MHz DMA Register Interface DMA Driver (Linux) Packet Data Driver (Linux) Ethernet Driver (Linux) GUI
User Space Registers Control Plane Bridge Packet FIFO DMA to TEMAC Bridge TEMAC to DMA Bridge GMII @125 MHz PLBv46 @ 62.5 MHz 32-bit LocalLink @ 78.25 MHz 16-bit DDR3 @ 667 Mb/s 3.125Gb/s 32-bit LocalLink @62.5 MHz 32-bit Streaming Interface @62.5 MHz 32-bit Streaming Interface @62.5 MHz User Data User Status GTP T ransceiv er x1 Endpoint Bloc k f or PCI Express v1.1 Wr apper f or PCI Express Xilinx IP Integrated Blocks On SP605 SDRAM GTP T ransceiv er A uror a 8B/10B PLBv46 Master XPS-LL TEMAC PLBv46 Slave Marvell PHY TCP Stack RJ45 WR RD RD MIG IP Core MCB Port 0 Port 1 WR x492_02_061410
Hardware
Software
ハー ド ウ ェ ア
必要な もの
• Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ キ ッ ト
• Spartan-6 デバ イ ス (XC6SLX45T-3FGG484C) を搭載 し た SP605 ボー ド
• Fedora 10 Linux OS LiveCD
• ISE® Design Suite 12.1 (Embedded ま たは System Edition)
• Modelsim 6.5c ま たはそれ以降
• PCI Express に対応す る コ ン ピ ュ ー タ ー (PC)
• FMC カー ド (入手可能な場合は、HW-FMC-XM104-G)
• SMA ケーブル
注記 : FMC カー ド は Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ キ ッ ト の付属品ではあ り ません。
ハー ド ウ ェ ア
こ のセ ク シ ョ ンでは、Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD で提供 さ れ る 仮想 FIFO に よ る パケ ッ トFIFO の構築、お よ び Aurora 8B/10B IP 向けに追加 さ れた フ ロ ー制御 ロ ジ ッ ク のそれぞれについてハー ド ウ ェ アデザ イ ン を詳細に説明 し ます。
マルチポー ト
パケ ッ ト
FIFO
Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD は、メ モ リ コ ン ト ロ ー ラ ーポー ト (完全な双方向 32 ビ ッ ト イ ン タ ーフ ェ イ ス) 1 個をサポー ト す る 仮想 FIFO を提供 し ます。 こ の仮想 FIFO は、 ス ト リ ー ミ ン グ モー ド で使用 さ れ る ため、 パケ ッ ト の内容やバ ウ ン ダ リ の区切 り 文字に関す る 情報は認識せず、 デー タ ブ ロ ッ ク のみを把握 し ます。 『Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ タ ーゲ ッ ト リ フ ァ レ ン スデザ イ ンユーザーガ イ ド 』[参照1]の第 5 章で推奨 さ れてい る よ う に、 マルチポー ト ス ト リ ー ミ ン グ FIFO の構築に ス ト リ ー ミ ン グ FIFO の複 数の イ ン ス タ ン ス を複数の メ モ リ コ ン ト ロ ー ラ ーポー ト と 共に使用で き ます。 こ のアプ リ ケーシ ョ ン ノ ー ト では、 ス ト リ ー ミ ン グ FIFO 機能をパケ ッ ト FIFO にで き る 機能が追加 さ れてい ます。図3に、 パケ ッ ト FIFO デザ イ ンのブ ロ ッ ク 図を示 し ます。X-Ref Target - Figure 3
図 3 : パケ ッ ト FIFO のブ ロ ッ ク 図
Packet Segmentation and Control Generation
Write Port Control
Control Signals (Start, End Address)
ASYNC
ASYNC Read Port
Control Command Port Control Packetizer Virtual FIFO MIG MCB Streaming FIFO 16-bits @ 667 Mb/s Packet FIFO P a c k eted F raming Interf ace FIFO Interf ace Packet Reassembly x492_03_061510 DDR3
ハー ド ウ ェ ア パケ タ イ ザーモジ ュ ールは、 パケ ッ ト コ ン テ キ ス ト の情報をデー タ ス ト リ ームに埋め込み、 既存の ス ト リ ー ミ ン グ FIFO と イ ン タ ー フ ェ イ ス す る よ う に設計 さ れて い ま す。 パ ケ ッ ト FIFO は、 パ ケ タ イ ザー、 仮想 FIFO、 お よ び MIG で生成 さ れた メ モ リ コ ン ト ロ ー ラ ーラ ッ パーで作成 さ れます。 図2には、1 個の MCB ポー ト と 接続 し てい る パケ ッ ト FIFO ブ ロ ッ ク を示 し てい ます。MCB ポー ト (NUM_PORTS パ ラ メ ー タ ーで制御) が複数の場合は、 それぞれの MCB ポー ト に接続 さ れ る パケ ッ ト FIFO ブ ロ ッ ク の イ ン ス タ ン ス が複数生成 さ れます。 ユーザーデザ イ ン と 仮想 FIFO ロ ジ ッ ク 間を ま た ぐ ク ロ ッ ク ド メ イ ンの管理には、 非同期 FIFO が使用 さ れます。 パケ タ イザー パケ タ イ ザーブ ロ ッ ク は、 単純な格納お よ び転送方法に基づいて、 パケ ッ ト 内容の情報を ス ト リ ー ミ ン グデー タ に埋め込みます。パケ タ イ ザーは、パケ ッ ト 内容の情報を含む制御 ワー ド を定期的にデー タ ス ト リ ームに挿入 し ます。 制御 ワ ー ド を挿入す る 間隔は、BLOCK_SIZE パ ラ メ ー タ ーま たは EoP の ど ち ら か先に発生す る 方で定義 さ れます。 パケ ッ ト 化の方法を理解す る ために、ザ イ リ ン ク ス の LocalLink をユーザー イ ン タ ーフ ェ イ ス と し て使 用す る 次の例について考察 し てみます。
DDR3 メ モ リ は、SOP、EOP、REM な ど の フ レー ミ ン グサ イ ド バン ド 信号を個別に格納で き ないため、
パケ タ イ ザーはフ レーム を分割 し 、 制御 ワ ー ド を ブ ロ ッ ク バ ウ ン ダ リ に (BLOCK_SIZE パ ラ メ ー タ ー でプ ロ グ ラ ム さ れてい る と お り に) 挿入 し ます。 制御 ワ ー ド は、 長 さ や さ ま ざ ま な LocalLink サ イ ド バ ン ド 信号に関す る 情報を提供 し ます。 表1に、 制御 ワー ド の形式を説明 し ます。 制御 ワー ド の挿入には DDR3 のあ る 位置がオーバーヘ ッ ド と し て使用 さ れ る ため、パケ ッ ト FIFO モー ド の動作は、 ス ト リ ー ミ ン グ FIFO モー ド の動作 よ り も スループ ッ ト が若干低下 し ます。 パケ ッ ト FIFO のパラ メ ー タ ー 表2に、 パケ ッ ト FIFO に使用可能なデザ イ ンパ ラ メ ー タ ー と それ ら のデフ ォ ル ト 値を定義 し ます。 注記 : 4 個の MCB ポー ト すべて と イ ーサネ ッ ト を共に使用す る パケ ッ ト FIFO ラ ッ パーを含むデザ イ ンは、Spartan-6 LX45T デバ イ ス には適合 し ませんが、 よ り 大 き な Spartan-6 デバ イ ス では作成可能で す。 表 1 : 制御ワー ド の形式 ビ ッ ト 位置 フ ィ ール ド 説明 0 SOP ス テー タ ス パケ ッ ト ス テー タ ス の開始 1 EOP ス テー タ ス パケ ッ ト ス テー タ ス の終了 3:2 Remainder ス テー タ ス (REM) 制御 ワー ド に格納 さ れた残 り の値 (2 ビ ッ ト 幅の REM を使用) 15:3 予約 未使用、 現時点でゼ ロ を含む 31:16 長 さ 制御 ワー ド に続 く 、デー タペ イ ロ ー ド のダブル ワー ド (DW) の長 さ (1 DW = 4バ イ ト) 表 2 : デザイ ンパラ メ ー タ ー パラ メ ー タ ー デ フ ォル ト 値 説明 NUM_PORTS 2 メ モ リ コ ン ト ロ ー ラ ーのポー ト 数を定義 し ます。 メ モ リ コ ン ト ロ ー ラ ーは 4 個の完全な双方向ポー ト をサポー ト す る ため、 設定可能な 最大値は 4 です。 BLOCK_SIZE 64 パケ ッ ト 分割のバ ウ ン ダ リ を決定す る パケ タ イ ザーブ ロ ッ ク のデー タ ブ ロ ッ クサ イ ズ (ダブルワー ド 単位) です。 有効な値は、64、128 お よ び 256 です。
ハー ド ウ ェ ア MIG コ アはデフ ォ ル ト で、 ラ ウ ン ド ロ ビ ン アービ ト レーシ ョ ン手法を使用 し 、 完全な双方向 32 ビ ッ ト デー タ 幅ポー ト 4 個で生成 さ れます。 アービ ト レーシ ョ ンの方法は、 必要に応 じ て MIG IP コ アの生成 中にカ ス タ マ イ ズで き ます。 パ ケ ッ ト 分 割 お よ び ワ ー ド 挿 入 の バ ウ ン ダ リ は、BLOCK_SIZE パ ラ メ ー タ ー で 制 御 さ れ ま す。 BLOCK_SIZE よ り も 大 き いパケ ッ ト は、BLOCK_SIZE–1 に等 し いブ ロ ッ ク に分割 さ れ、 制御 ワ ー ド がデー タブ ロ ッ ク の開始点に挿入 さ れ ます。 読み出 し では、 制御 ワ ー ド はデー タ ス ト リ ーム か ら 削除 さ れ、 対応す る パ ケ ッ ト フ レ ー ミ ン グ 信号 が作成 さ れ て ユーザー イ ン タ ー フ ェ イ ス (こ の例 で は LocalLink) へ渡 さ れます。 よ り 大 き な BLOCK_SIZE が使用 さ れ る 場合、 制御 ワー ド 1 つを読み出す際 のデー タペ イ ロ ー ド が増加 し 、 一方で書 き 込み時の分割情報の格納容量が増え ま す。 現在のデザ イ ン は、 深 さ が 512 ロ ケーシ ョ ンの分割用バ ッ フ ァ ーを提供 し ます。BLOCK_SIZE を指定可能な値 よ り も 大 き く す る には、こ の分割用バ ッ フ ァ ーの深 さ を増やす必要があ り ますが、こ れに伴っ てブ ロ ッ ク RAM の全体的な使用率 も 増加 し ます。 分割の方法を理解す る ために、BLOCK_SIZE = 64 と 設定 し た、510 バ イ ト のパケ ッ ト サ イ ズの例につ いて考察 し てみます。図4に、 こ のパケ ッ ト が DDR3 SDRAM に ど の よ う に格納 さ れてい る か を示 し ます。BLOCK_SIZE が 64 の場合、510 バ イ ト のパケ ッ ト は 3 つのブ ロ ッ ク に分割 さ れます。 最初の 2 つのブ ロ ッ ク には制御情報の DW が 1 つ含まれ、 その後に 63 DW デー タ が続 き ます。 最後のブ ロ ッ ク には、 制御情報の DW 1 つ と 2 DW デー タ が含まれます。 注記 : 格納 さ れた 2 DW デー タパケ ッ ト は 8 バ イ ト で、 その う ちの合計 6 バ イ ト が有効です。REM で 示 さ れ る よ う に、 最後の 4 バ イ ト の う ち 2 バ イ ト のみが有効 と な り ます。 パケ タ イ ザーでは フ レー ミ ン グユーザーイ ン タ ーフ ェ イ スへ接続 さ れ る モジ ュ ールのみが、 その イ ン タ ーフ ェ イ ス (こ の場合は LocalLink) の詳細を認識 し ます。 制御 ワー ド が正 し く ア ラ イ メ ン ト さ れてい ない場合、17ページの 「パケ ッ ト エ ラ ーレ ジ ス タ (0x9300)」に示すパケ タ イ ザーエ ラ ービ ッ ト がセ ッ ト さ れ、 ソ フ ト ウ ェ アに よ る ポー リ ン グが可能 と な り ます。 外部 メ モ リ にデー タ の破損、 ま たは不正な ア ラ イ メ ン ト が ない限 り 、 不正な ア ラ イ メ ン ト は存在 し ない と さ れてい ま す。 こ の ア プ リ ケーシ ョ ン ノ ー ト で提供 さ れ る リ フ ァ レ ン ス デザ イ ンでは、 現時点で、 制御 ワー ド の不正なア ラ イ メ ン ト か ら 回復 す る 方法はシ ス テ ム リ セ ッ ト を要求す る 以外にあ り ません。設計者は、 パケ ッ ト FIFO のデー タ イ ン テ グ リ テ ィ を検証す る 方法を アプ リ ケーシ ョ ンに応 じ て追加で き ます。
X-Ref Target - Figure 4
図 4 : DDR3 におけるパケ ッ ト の格納
CW: LEN = 63, SOP
CW: LEN = 63, SOP CW: LEN = 2, EOP, REM = 2
63 DW Data (252 bytes)
63 DW Data (252 bytes)
2 DW Data (see note in text)
CW: LEN = 63 Storage of
510 Byte Packet in DDR3 DDR3 Start Address
ハー ド ウ ェ ア
Aurora
プ ロ ト コ ルの考察事項
Aurora は、 ス ケー ラ ブルかつ軽量な リ ン ク 層プ ロ ト コ ルで、 ポ イ ン ト ツーポ イ ン ト シ リ アル リ ン ク で
のデー タ 転送に使用 さ れます。
リ フ ァ レ ン ス デザ イ ン で は、1 レ ー ン の フ レ ー ミ ン グ、4 バ イ ト 幅の ユーザー イ ン タ ー フ ェ イ ス、
3.125Gb/s で動作す る Aurora 8B/10B リ ン ク 、FMC (FPGA Mezzanine Card) か ら ア ク セ ス可能な ト ラ
ン シーバー 1 つを使用 し てい ます。SP605 ボー ド で利用可能な 125MHz の差動 ク ロ ッ ク は、 ト ラ ン シー バーの基準 ク ロ ッ ク と し て用い ら れます。 FMC 接続が存在 し ない場合、 デザ イ ンは ト ラ ン シーバーの近端 PMA ループバ ッ ク モー ド を有効に し てテ ス ト で き ます。 ネ イ テ ィ ブ フ ロー制御 Aurora 8B/10B IP は受信方向のデス テ ィ ネーシ ョ ン準備完了制御信号を提供 し ないため、ネ イ テ ィ ブフ ロ ー制御 (NFC) イ ン タ ーフ ェ イ ス を使用 し て FIFO オーバーフ ロ ーに よ る パケ ッ ト の損失を回避 し ま す。Aurora の NFC は、 全二重チ ャ ネルの受信終了時にデー タ の伝送レー ト を制御 し ます。 デー タ ス ト リ ームに配置 し なければな ら ないア イ ド ルのデ ッ ド ビー ト の数を指定す る こ と で、NFC に よ っ て レ シー バーに送信 さ れ る デー タ レー ト を制御で き ます。 ト ラ ン ス ミ ッ タ ーに一時的にア イ ド ルのみを送信す る よ う に要求す る こ と で、 デー タ フ ロ ーを完全に無効にす る こ と も で き ます。[参照4] デザ イ ンで使用 さ れ る Aurora 8B/10B IP の コ ン フ ィ ギ ュ レーシ ョ ンは、78.125MHz のユーザー ク ロ ッ ク で動作 し ます。Aurora プ ロ ト コ ルの仕様に よ り 、NFC の要求 と 発信元のチ ャ ネルパー ト ナーに最初 に到達す る 一時停止 と の間で Aurora イ ン タ ーフ ェ イ ス を介す る 往復遅延は、256 シ ン ボル時間を超え てはな り ません。 次に例を示 し ます。 3.125Gb/s レー ト では、1 シ ン ボル = 10×640ps = 6.4ns 256 シ ン ボル時間を使用す る 場合、256×6.4 = 1638.4ns 78.125MHz ク ロ ッ ク (12.8ns 周期) を使用す る 場合、 ワ ース ト ケース の遅延は 128 ク ロ ッ ク サ イ ク ル こ れは、128 ロ ケーシ ョ ンのみが受信 FIFO で利用可能な場合に、NFC を挿入 し なければな ら ない こ と を意味 し てい ます。 NFC の制御には、 深 さ 512 ロ ケーシ ョ ンのフ ロ ー制御 FIFO を Aurora 8B/10B IP の受信 イ ン タ ーフ ェ イ ス で使用 し ます (図5参照)。
ソ フ ト ウ ェ ア
フ ロ ー制御 FIFO の最低点 と 最高点を それぞれ Almost Full FIFO お よ び Almost Empty FIFO と 考え る と 、 パケ ッ ト の損失を回避で き ます。FIFO の書 き 込み可能領域の ス テー タ ス が最低点に到達 し た場合、 XOFF NFC 要求がチ ャ ネルパー ト ナーに送信 さ れ、 リ モー ト リ ン ク パー ト ナーか ら デー タ がそれ以上 送信 さ れな く な り ます。FIFO の書 き 込み可能領域の ス テー タ ス が最高点に到達す る と 、XON NFC 要 求が送信 さ れ、 リ モー ト パー ト ナーか ら のデー タ 転送が有効にな り ます。 パケ ッ ト の損失は、 効果的な フ ロ ー制御の メ カ ニズ ムに よ っ て回避 さ れます。 最高点お よ び最低点の し き い値は、 制御レ ジ ス タ と し て提供 さ れます。 こ れ ら の値は、 ソ フ ト ウ ェ ア ド ラ イ バーを介 し てプ ロ グ ラ ム可能です。
ソ フ ト ウ ェ ア
Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD に付属す る ソ フ ト ウ ェ ア ド ラ イ バーは、「Aurora ス テー タ ス/ 制御レ ジ ス タ 」 で定義 さ れてい る Aurora ス テー タ ス/制御 ロ ジ ッ ク を含む よ う に、 メ モ リ パ ス にわずか な変更が必要です。 Aurora パス の ト ラ フ ィ ッ ク 開始前に Aurora の ス テー タ ス をチ ェ ッ ク で き る よ う に、 ド ラ イ バーを変更 し ます。Aurora リ ン ク か ら のチ ャ ネルア ッ プ ま たはレーン ア ッ プがない場合は、 ソ フ ト ウ ェ アか ら ト ラ フ ィ ッ ク が開始 さ れず、GUI に警告 メ ッ セージが表示 さ れます。 FMC がない場合の Aurora 動作向けに、ト ラ ン シーバーの近端 PMA ループバ ッ ク モー ド を有効にす る オプシ ョ ン を GUI で有効に し ます (図6)。GUI で こ の制御を オンに し た場合、Aurora 8B/10B IP で使 用 さ れ る ト ラ ン シーバーは、LOOPBACK 入力信号の値を変更す る こ と に よ っ て、 近端 PMA ループ バ ッ クモー ド で動作す る よ う にプ ロ グ ラ ム さ れます。X-Ref Target - Figure 5
図 5 : フ ロー制御 FIFO および NFC
Flow Control FIFO
Low-tide Mark
x492_05_052410 High-tide Mark
Flow Control FIFO FIFO Almost FULL, Send XOFF
ソ フ ト ウ ェ ア
ソ フ ト ウ ェ ア ド ラ イ バーの ロ ー ド/削除お よ びハー ド ウ ェ アでのデザ イ ンテ ス ト の手順は、UG392 [参
照1]ま たは UG665 [参照2]に記載 さ れてい る と お り です。ソ フ ト ウ ェ アで Aurora 8B/10B 特有の変更
を反映 さ せ る には、AURORA と い う マ ク ロ を定義 し ます。 X-Ref Target - Figure 6
図 6 : GUI
x492_06_061410 Loopback Control for Aurora
手順のま と め
手順のま と め
こ のセ ク シ ョ ンでは、 既存の Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD を再利用 し 、Aurora プ ロ ト コ ル に対応す る よ う 拡張す る 手順を ま と めてい ます。最終的な リ フ ァ レ ン スデザ イ ンは こ のアプ リ ケーシ ョ ン ノ ー ト の一部 と し て提供 さ れてい ますが、 こ れ ら の手順は既存の TRD を修正す る ためのガ イ ダ ン ス と し て簡単に ま と めた も のです。 ソ フ ト ウ ェ ア ド ラ ーバーの修正 と い う 点では、Aurora 8B/10B IP の メ モ リ パ スへの統合は、 ブ ロ ッ ク デー タ ド ラ イ バーを変更 し て追加レ ジ ス タ を統合で き る ため簡単です。 注記 : IP コ アの再生成に必要な Core Generator™ フ ァ イ ル、 デザ イ ン ソ ース コ ー ド 、 シ ミ ュ レーシ ョ ン テ ス ト ベンチ、 お よ び イ ンプ リ メ ン テーシ ョ ン ス ク リ プ ト は、 リ フ ァ レ ン ス デザ イ ン で提供 さ れて い ます。IP
の生成
• 次の仕様に従っ た Aurora 8B/10B IP を生成す る - 1 レーン、4 バ イ ト の フ レー ミ ン グ イ ン タ ーフ ェ イ ス - ラ イ ン レー ト は 3.125Gb/s で、 即時モー ド の NFC で 125MHz の基準 ク ロ ッ ク を使用 し 、 タ イ ル 1 の X1Y0 ト ラ ン シーバーを使用す る• 次の仕様に従っ た、Spartan-6 FPGA メ モ リ コ ン ト ロ ー ラ ーを MIG ツールで生成す る
- ラ ウ ン ド ロ ビ ン アービ ト レーシ ョ ン方式の DDR3 SDRAM をサポー ト す る 完全な双方向 ポー ト x 4
Aurora 8B/10B IP は 「 リ フ ァ レ ン スデザ イ ン」 フ ァ イ ルで提供 さ れ、 付属の ス ク リ プ ト を実行す る と
MIG IP が生成 さ れます。IP コ アの生成に必要なXCOフ ァ イ ル一式 も 、 design/reference/xco_
files フ ォ ルダーにあ り ます。
デザイ ン
• 「マルチポー ト パケ ッ ト FIFO」 で説明 さ れてい る よ う に、パケ タ イ ザーブ ロ ッ ク を仮想 FIFO で設 計す る • 「ネ イ テ ィ ブ フ ロ ー制御」 で説明 さ れてい る よ う に、Aurora 8B/10B IP のネ イ テ ィ ブ制御 ロ ジ ッ ク を設計す る • 必要に応 じ てその他の制御レ ジ ス タ を追加す る 。 レ ジ ス タ の簡単な説明は、「補足資料 A」 : 「レ ジ ス タ の説明」 を参照統合
• パケ ッ ト FIFO お よ び Aurora 8B/10B IP を最上位デザ イ ンに統合す る • 最上位テ ス ト ベンチを変更 し て新 し いポー ト が含まれ る よ う に し 、Aurora シ リ アル イ ン タ ーフ ェ イ スループバ ッ ク を追加す る • シ ミ ュ レーシ ョ ン ス ク リ プ ト を変更 し て新 し い ソ ース が含まれ る よ う に し 、 シ ミ ュ レーシ ョ ン を実 行す るソ フ ト ウ ェ ア
ド ラ イバーの変更
• ブ ロ ッ ク デー タ ド ラ イ バー (driver/xblockdata/user.c) を変更 し て、Aurora パ ス の制御レ ジ ス タ のプ ロ グ ラ ミ ン グ と 、Aurora リ ン ク ス テー タ ス を ト ラ フ ィ ッ ク 開始前に確認す る チ ェ ッ ク ポ イ ン ト が含まれ る よ う に追加す る • GUI を変更 し て、Aurora パス向けの ト ラ ン シーバーループバ ッ ク オプシ ョ ン を追加す る手順のま と め
デザイ ンのイ ン プ リ メ ン テーシ ョ ン
新 し い ソ ースお よ び制約を追加 し て、 イ ンプ リ メ ン テーシ ョ ン ス ク リ プ ト お よ び UCF を ア ッ プデー ト し ます。 デザ イ ンには Project Navigator フ ロ ーをサポー ト す る ス ク リ プ ト が付属 し てい ます。 デザ イ ン には完全な リ フ ァ レ ン スデザ イ ンのbitフ ァ イ ルお よ びmcsフ ァ イ ル も 、 design/reference/ configurationフ ォ ルダーにあ り ます。ハー ド ウ ェ ア
テ ス ト
ハー ド ウ ェ アでデザ イ ン を テ ス ト す る 手順は、UG392 [参照1] (第 2 章) ま たは UG665 [参照2]で説明 さ れてい る と お り です。シ ミ ュ レーシ ョ ン、 イ ン プ リ メ ン テーシ ョ ン、 および
Project Navigator
のフ ロー
readme.txt フ ァ イ ルでは、シ ミ ュ レーシ ョ ン ス ク リ プ ト お よ び イ ンプ リ メ ン テーシ ョ ン ス ク リ プ ト の使 用法が詳 し く 説明 さ れていい ます。図7に、Project Navigator の GUI を示 し ます。s6_pcie_dma_ddr3_gbe_pfifo は最上位モジ ュ ールです。
X-Ref Target - Figure 7
図 7 : Project Navigator の GUI
考察事項
考察事項
こ のセ ク シ ョ ンでは、 デザ イ ンのパフ ォーマ ン スお よ び リ ソ ース使用率に関す る 重要な考察事項を簡単 に説明 し ます。パフ ォ ーマ ン ス
• 予測 さ れ る と お り 、 スループ ッ ト はパケ ッ ト サ イ ズに比例 し ます。 つま り 、 パケ ッ ト サ イ ズが大 き く な る と 、 ス ループ ッ ト は高 く な り ます。 • 図8 に示す よ う に、 スループ ッ ト のわずかな変動で も BLOCK_SIZE で確認 さ れます。 BLOCK_SIZE が よ り 大 き い と 、 制御 ワ ー ド のオーバーヘ ッ ド が小 さ く な り 、 制御 ワ ー ド の読み出 し ご と に さ ら に多 く のデー タペ イ ロ ー ド が使用で き る こ と を意味 し ます。サ イ ズの大 き なパケ ッ ト の送信時は、 よ り 大 き な BLOCK_SIZE の使用が若干望ま し い と いえ ます。 図8に示すパフ ォーマ ン ス は Aurora 仕様の定義に従い、 ワース ト ケース の条件で導 き 出 さ れた Aurora 8B/10B IP のネ イ テ ィ ブフ ロ ー制御 FIFO し き い値で得 ら れた も のです。 スループ ッ ト に影響を与え る 要因は次の と お り です。 • パケ ッ ト FIFO の格納お よ び転送方法 • MCB ポー ト のアービ ト レーシ ョ ン • Aurora NFC に よ る ト ラ フ ィ ッ ク の ス ロ ッ ト ル ス ループ ッ ト は、Aurora ピ ア間の往復時間に応 じ て、Aurora ピ ア 1 つ と 特性評価の高い NFC し き い 値を使用す る こ と で改善で き ます。デバイ ス
リ ソ ースの使用率
表3に、図2で示 し たデザ イ ンにおけ る リ ソ ース の概算使用率を示 し ます。 こ れ ら の数値は、 最上位デ ザ イ ンで提供 さ れ る さ ま ざ ま なパ ラ メ ー タ ーのデフ ォ ル ト オプシ ョ ン、お よ びス ク リ プ ト で提供 さ れ る イ ンプ リ メ ン テーシ ョ ンオプシ ョ ン を使用 し て得てい ます。 オプシ ョ ン を変更す る と 、 使用率は変わ り ます。 ト ラ ン シーバーの使用率は、GTPA1_DUAL について レ ポー ト さ れてい ます。1 組の ト ラ ン シー バーの う ちデザ イ ンに使用 さ れ る のは 1 つのみで、 両方は使用 さ れません。X-Ref Target - Figure 8
図 8 : スループ ッ ト の変動
Block Size = 64 Block Size = 128 Block Size = 256
x492_08_061410
Packet Size in Bytes
Throughput in Gb/s 0. 593 0. 835 1. 33 1.39 1.398 0. 594 0. 835 1. 331 1.397 1.406 0. 594 0. 835 1. 331 1.411 1.423 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 256 512 1024 2048 4096
リ フ ァ レ ン スデザイ ン
リ フ ァ レ ン ス
デザイ ン
リ フ ァ レ ン スデザ イ ン フ ァ イ ルは、 次のサ イ ト か ら ダ ウ ン ロ ー ド で き ます。 https://secure.xilinx.com/webreg/clickthrough.do?cid=147907 表4に、 リ フ ァ レ ン ス デザ イ ンのチ ェ ッ ク リ ス ト を ま と めてい ます。 表 3 : リ ソ ース使用率 リ ソ ース 使用 さ れている リ ソ ース数 使用可能な 総 リ ソ ース数 使用 さ れている割合 ス ラ イ スレ ジ ス タ24,593
54,576
45 ス ラ イ ス LUT23,213
27,288
85 IOB 84 296 28RAMB16BWER
42 116 36 DCM 1 8 12 PLL_ADV 3 4 75 BUFG 12 16 75GTPA1_DUAL
2 2 100 表 4 : リ フ ァ レ ン スデザイ ンのチ ェ ッ ク リ ス ト パラ メ ー タ ー 説明 開発元 Xilinx Inc. タ ーゲ ッ ト デバ イ ス (ス テ ッ ピ ン グレベル、ES、 製 造、 ス ピー ド グ レー ド) Spartan-6LXT デバ イ ス ソ ース コ ー ド の提供 あ り ソ ース コ ー ド の形式 Verilog 既存の リ フ ァ レ ン ス デザ イ ン、 ア プ リ ケ ー シ ョ ン ノ ー ト 、 サー ド パーテ ィ 、CORE Generator™ か ら デ ザ イ ンへの コ ー ド ま たは IP 流用の有無 オプシ ョ ン • Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ TRD か ら の コ ー ド• Aurora 8B/10B の Core Generator IP
シ ミ ュ レーシ ョ ン 機能シ ミ ュ レーシ ョ ンの実行 はい タ イ ミ ン グ シ ミ ュ レーシ ョ ンの実行 いいえ 提供 さ れ る 機能シ ミ ュ レ ーシ ョ ンへのテ ス ト ベン チ の使用 はい テ ス ト ベンチの形式 Verilog シ ミ ュ レー タ ソ フ ト ウ ェ アの使用 ModelSim 6.5c SPICE/IBIS シ ミ ュ レーシ ョ ン いいえ イ ン プ リ メ ン テーシ ョ ン
合成 ソ フ ト ウ ェ アツールの使用 XST (ISE Design Suite : 12.1 Embedded ま たは System Edition)
イ ンプ リ メ ン テーシ ョ ン ソ フ ト ウ ェ アツールの使用 ISE Design Suite : 12.1 Embedded ま た は System Edition
ス タ テ ィ ッ ク タ イ ミ ン グ解析の実行 はい ハー ド ウ ェ ア検証
ハー ド ウ ェ ア検証 はい
ま と め
ま と め
こ のアプ リ ケーシ ョ ン ノ ー ト では、プ ラ ッ ト フ ォーム ソ リ ュ ーシ ョ ンの Spartan-6 FPGA コ ネ ク テ ィ ビテ ィ TRD の使用法を具体的に示 し ま し た。 提供 さ れてい る サンプルデザ イ ン で既存の イ ン フ ラ ス ト ラ
ク チ ャ (TRD) を基盤 と し て使用 し 、 修正を加え て簡単に新 し いデザ イ ン を作成 し ま し た。
参考資料
1. UG392 :『Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ タ ーゲ ッ ト リ フ ァ レ ン スデザ イ ンユーザーガ イ ド 』 2. UG665 : 『Spartan-6 FPGA コ ネ ク テ ィ ビ テ ィ キ ッ ト ス タ ー ト ア ッ プガ イ ド 』3. UG388 : 『Spartan-6 FPGA メ モ リ コ ン ト ロ ー ラ ーユーザーガ イ ド 』 4. UG353 : 『LogiCORE™ IP Aurora 8B/10B ユーザーガ イ ド 』 5. DS637 : 『LogiCORE IP Aurora 8B/10B デー タ シー ト 』 6. SP002 : 『Aurora 8B/10B プ ロ ト コ ル仕様』
補足資料 A
補足資料
A
レ ジ ス タ の説明
こ のセ ク シ ョ ン では、 マルチポー ト 仮想 FIFO お よ び Aurora IP に対応す る ために追加 さ れた制御/ス テー タ ス レ ジ ス タ について説明 し ます。 明確に定義 さ れていない レ ジ ス タ ビ ッ ト は、 読み出 し の際にゼ ロ の値を返 し 、 事実上予約済み と 想定 さ れてい ます。マルチポー ト 仮想
FIFO
のス テー タ ス
/
制御レ ジ ス タ
マルチポー ト 仮想 FIFO の ス テー タ ス/制御レ ジ ス タ は、 仮想 FIFO 専用の レ ジ ス タ を定義 し ます。 メ モ リ コ ン ト ロ ー ラ ーの複数のポー ト が使用 さ れ る ため、 各ポー ト について個別の レ ジ ス タ が定義 さ れ ま す。 ス テー タ ス レ ジ ス タ (0x9100) ス テー タ ス レ ジ ス タ は、 ソ フ ト ウ ェ ア ド ラ イ バーに対 し て DDR3 キ ャ リ ブ レーシ ョ ンの ス テー タ ス を 示 し ます。 ソ フ ト ウ ェ ア を有効に し て、 ハー ド ウ ェ アが動作準備完了か ど う か を判断 し ます。 書き込み し き い値レ ジス タ (0x9104) 書 き 込み し き い値レ ジ ス タ は、 書 き 込み FIFO に書 き 込み し き い値 と 同等ま たはそれ以上の領域があ る 場合にのみ、 メ モ リ コ ン ト ロ ー ラ ーへ書 き 込み コ マ ン ド を発行す る よ う に書 き 込み し き い値をプ ロ グ ラ ム し ます。 こ の レ ジ ス タ は、 すべてのポー ト に対 し て適用可能です。 表 5 : ユーザー ア プ リ ケーシ ョ ン レ ジ ス タ の範囲 ユーザー ロ ジ ッ ク レ ジ ス タ グループ 範囲 (BAR0 からのオ フ セ ッ ト) 「マルチポー ト 仮想 FIFO の ス テー タ ス/制御レ ジ ス タ 」 0x9100–
0x91FF 「Aurora ス テー タ ス/制御レ ジ ス タ 」 0x9200–
0x92FF 「パケ タ イ ザーレ ジ ス タ 」 0x9300–
0x93FF 表 6 : ス テー タ ス レ ジ ス タ ビ ッ ト 位置 フ ィ ール ド モー ド デ フ ォル ト 値 説明 0 キ ャ リ ブ レ ーシ ョ ンス テー タ ス RO 1'b0 キ ャ リ ブ レーシ ョ ン完了。メ モ リ コ ン ト ロ ー ラ ーか ら の キ ャ リ ブ レ ー シ ョ ン 完 了ス テー タ ス を示 し ます。 表 7 : 書き込み し き い値レ ジ ス タ ビ ッ ト 位置 フ ィ ール ド モー ド デ フ ォル ト 値 説明 7:0 書 き 込み し き い値 RW 8'h38 DDR3 へ書 き 込み コ マ ン ド を発行す る た めの書 き 込み し き い値補足資料 A 表8に、 複数の メ モ リ コ ン ト ロ ー ラ ーポー ト のア ド レ ス範囲を示 し ます。 TRD は 2 個の メ モ リ コ ン ト ロ ー ラ ーポー ト のみをサポー ト し てい ますが、メ モ リ コ ン ト ロ ー ラ ーポー ト を増や し た場合にデザ イ ン を柔軟に変更で き る よ う に、 追加の レ ジ ス タ お よ び ロ ジ ッ ク が提供 さ れて い ます。 パケ ッ ト 長レ ジス タ (0x9110、0x9140、0x9180、0x91C0) パケ ッ ト 長レ ジ ス タ は、受信方向でビル ド す る ためのパケ ッ ト サ イ ズ (バ イ ト 単位) を示 し ます。デフ ォ ル ト 値は 1KB です。 開始ア ド レ ス レ ジ ス タ (0x9114、0x9144、0x9184、0x91C4) 開始ア ド レ ス レ ジ ス タ は、DDR3 パーテ ィ シ ョ ンの開始ア ド レ ス を示 し ます。 デフ ォ ル ト 値は、Port 0 レ ジ ス タ の リ セ ッ ト でゼ ロ です。 各ポー ト に対 し て、 深 さ 1MB の FIFO があ り 、 開始ア ド レ スお よ び 終了ア ド レ ス は適宜プ ロ グ ラ ム さ れます。 こ の レ ジ ス タ の ソ フ ト ウ ェ ア プ ロ グ ラ ムはオプシ ョ ンです。 終了ア ド レ ス レ ジ ス タ (0x9118、0x9148、0x9188、0x91C8) 終了ア ド レ ス レ ジ ス タ は、DDR3 パーテ ィ シ ョ ンの終了ア ド レ ス を示 し ます。 デフ ォ ル ト 値は、 リ セ ッ ト で32'h0010_0000 と な り 、Port 0 に深 さ 1MB の FIFO があ る こ と にな り ます。 こ の レ ジ ス タ の ソ フ ト ウ ェ アプ ロ グ ラ ムはオプシ ョ ンです。 エ ラ ー統計レ ジス タ (0x911C、0x914C、0x918C、0x91CC) DDR3 のエ ラ ー統計レ ジ ス タ は、 メ モ リ コ ン ト ロ ー ラ ーか ら の さ ま ざ ま なエ ラ ービ ッ ト を記録 し ます。 こ の レ ジ ス タ は リ セ ッ ト で ク リ ア さ れます。 表 8 : メ モ リ ポー ト レ ジ ス タ メ モ リ コ ン ト ロー ラ ーポー ト 範囲 (BAR0 から のオ フ セ ッ ト) Port 0 0x9110
–
0x913F Port 1 0x9140–
0x917F Port 2 0x9180–
0x91BF Port 3 0x91C0–
0x91FF 表 9 : 受信パケ ッ ト 長レ ジ ス タ ビ ッ ト 位置 フ ィ ール ド モー ド デ フ ォル ト 値 説明 12:0 パケ ッ ト 長 RW 12'h0400 DDR3 受信パケ ッ ト 長。 受信方向にビル ド す る ためのパケ ッ ト サ イ ズ (バ イ ト 単 位) を示 し ます。 表 10 : エ ラ ー統計レ ジ ス タ ビ ッ ト 位置 フ ィ ール ド モー ド デ フ ォル ト 値 説明 0 書 き 込みの ア ン ダー ラ ン RW 0 メ モ リ コ ン ト ロ ー ラ ー ポー ト の書 き 込 みア ン ダー ラ ンス テー タ ス 1 読み出 し の オーバーフ ロ ー RW 0 メ モ リ コ ン ト ロ ー ラ ー ポー ト の読み出 し オーバーフ ロ ー ス テー タ ス補足資料 A
Aurora
ス テー タ ス
/
制御レ ジス タ
Aurora ス テー タ ス/制御レ ジ ス タグループは、特定の Aurora IP ス テー タ ス/制御レ ジ ス タ を定義 し ます。 Aurora 制御/ス テー タ ス (0x9200) ソ フ ト ウ ェ ア ド ラ イ バーは、 現時点で近端 PMA ループバ ッ ク をサポー ト す る よ う にプ ロ グ ラ ム さ れて い ます。 必要な場合はdriver/xblockdata/user.c フ ァ イ ルで、 こ れ を近端 PCS ループバ ッ ク に 変更で き ます。 Aurora 最低点レ ジ ス タ (0x9204) Aurora 最低点レ ジ ス タ は、FIFO で利用可能な領域の下限値を定義 し ます。 ネ イ テ ィ ブフ ロ ー制御 イ ン タ ーフ ェ イ ス は、 最低点お よ び最高点の値に基づいて駆動 さ れます。 Aurora 最高点レ ジ ス タ (0x9208) Aurora 最高点レ ジ ス タ は、FIFO で利用可能な領域の上限値を定義 し ます。 ネ イ テ ィ ブフ ロ ー制御 イ ン タ ーフ ェ イ ス は、 最低点お よ び最高点の値に基づいて駆動 さ れます。パケ タ イザー
レ ジ ス タ
パケ ッ ト エ ラ ーレ ジ ス タ (0x9300) パケ ッ ト エ ラ ーレ ジ ス タ は、 各パケ ッ ト FIFO ポー ト におけ る パケ ッ ト 化のエ ラ ース テー タ ス を提供 し ます。 パケ ッ ト エ ラ ーは、 パケ ッ ト の再構築での制御 ワー ド の不正な ア ラ イ メ ン ト が原因で発生 し ま す。 パケ ッ ト エ ラ ーが発生 し た場合は、 デザ イ ンの リ セ ッ ト が必要です。 表 11 : Aurora およびス テー タ ス レ ジ ス タ ビ ッ ト 位置 フ ィ ール ド モー ド デ フ ォル ト 値 説明 0 レーン ア ッ プ RO 0 Aurora レーンア ッ プ ス テー タ ス を示 し ます。 1 チ ャ ネルア ッ プ RO 0 Aurora チ ャ ネルア ッ プ ス テー タ ス を示 し ます。 31:29 ループバ ッ ク RW 0 GT ループバ ッ ク を制御 し ます。 • 3'b000 - ループバ ッ ク な し • 3'b001 - 近端 PCS ループバ ッ ク • 3'b010 - 近端 PMA ループバ ッ ク 表 12 : Aurora 最低点レ ジ ス タ ビ ッ ト 位置 フ ィ ール ド モー ド デ フ ォル ト 値 説明 8:0 最低点 RW 9’d128 FIFO の領域の可用性に対応す る 最低点 表 13 : Aurora 最高点レ ジ ス タ ビ ッ ト 位置 フ ィ ール ド モー ド デ フ ォル ト 値 説明 8:0 最高点 RW 9’d384 FIFO の領域の可用性に対応す る 最高点 表 14 : パケ ッ ト エ ラ ーレ ジス タ ビ ッ ト 位置 フ ィ ール ド モー ド デ フ ォル ト 値 説明 1:0 パケ ッ ト エ ラ ー RW 2’b0 メ モ リ コ ン ト ロ ー ラ ーポー ト 0 お よ び 1 におけ る パケ ッ ト 化のエ ラ ーを示 し ます。改訂履歴
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。Notice of
Disclaimer
Xilinx is disclosing this Application Note to you “AS-IS” with no warranty of any kind.This Application Note is one possible implementation of this feature, application, or standard, and is subject to change without further notice from Xilinx.You are responsible for obtaining any rights you may require in connection with your use or implementation of this Application Note.XILINX MAKES NO REPRESENTATIONS OR WARRANTIES, WHETHER EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE.IN NO EVENT WILL XILINX BE LIABLE FOR ANY LOSS OF DATA, LOST PROFITS, OR FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR INDIRECT DAMAGES ARISING FROM YOUR USE OF THIS APPLICATION NOTE.
CRITICAL APPLICATIONS DISCLAIMER
XILINX PRODUCTS (INCLUDING HARDWARE, SOFTWARE AND/OR IP CORES) ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN ANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN LIFE-SUPPORT OR SAFETY DEVICES OR SYSTEMS, CLASS III MEDICAL DEVICES, NUCLEAR FACILITIES, APPLICATIONS RELATED TO THE DEPLOYMENT OF AIRBAGS, OR ANY OTHER APPLICATIONS THAT COULD LEAD TO DEATH, PERSONAL INJURY OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (INDIVIDUALLY AND COLLECTIVELY, “CRITICAL APPLICATIONS”).FURTHERMORE, XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED FOR USE IN ANY APPLICATIONS THAT AFFECT CONTROL OF A VEHICLE OR AIRCRAFT, UNLESS THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF SOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNING SIGNAL UPON FAILURE TO THE OPERATOR.CUSTOMER AGREES, PRIOR TO USING OR DISTRIBUTING ANY SYSTEMS THAT INCORPORATE XILINX PRODUCTS, TO THOROUGHLY TEST THE SAME FOR SAFETY PURPOSES.TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE OF XILINX PRODUCTS IN CRITICAL APPLICATIONS.
AUTOMOTIVE APPLICATIONS DISCLAIMER
XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN ANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONS RELATED TO:(I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESS THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF SOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNING SIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATH OR PERSONAL INJURY.CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE OF XILINX PRODUCTS IN SUCH APPLICATIONS.
本資料は英語版 (v1.0) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。 こ の 資 料 に 関 す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の 問 題 に つ き ま し て は、 [email protected]ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ールア ド レ スへのお問い合わせは受け付けてお り ません。 あ ら か じ め ご了承 く だ さ い。 日付 バージ ョ ン 内容 2010 年 6 月 23 日 1.0 初版 リ リ ース