...

Xilinx版TOE2-IPコアのご紹介 超高速のTCPを今すぐお届けします

by user

on
Category: Documents
3

views

Report

Comments

Transcript

Xilinx版TOE2-IPコアのご紹介 超高速のTCPを今すぐお届けします
Xilinx版
Xilinx版TOE2TOE2-IPコアのご
IPコアのご紹介
コアのご紹介
Ver1.3J
超高速の
超高速のTCPを
TCPを今すぐお届
すぐお届けします
2015/2/2
Design Gateway
Page 1
アジェンダ
• GbE
GbEでの
でのTCP/IP
でのTCP/IP実装
TCP/IP実装メリット・デメリット
実装メリット・デメリット
• TOE2コアの概要
概要
TOE2-IPコアの
IPコアの
• コアの動作
コアの動作
– 初期化
– 高速送信
– 高速受信
• ユーザ
ユーザI/F
I/F・
I/F・バッファ容量
バッファ容量のパラメタライズ
容量のパラメタライズ
• リファレンス・デザイン
• リソース例
リソース例・実機パフォーマンス
実機パフォーマンス例
パフォーマンス例
2015/2/2
Design Gateway
Page 2
GbEでの
GbEでのTCP/IP
でのTCP/IP実装
TCP/IP実装メリット
実装メリット
• GbE (ギガビット・イーサネット
(ギガビット・イーサネット)
ギガビット・イーサネット)の実装メリット
実装メリット
–
–
–
理論上限は
理論上限は1Gbpsと
Gbpsと高速転送
どのパソコンにもGbE
どのパソコンにもGbEのポートが
GbEのポートが標準
のポートが標準で
標準で搭載
広く普及し
普及し、装置、
装置、ケーブルのコストが安
ケーブルのコストが安い
• TCP/IPの
TCP/IPの実装メリット
実装メリット
– イーサネットの
イーサネットの標準
標準プロトコル
標準プロトコル規格
プロトコル規格
– データの欠損
転送データの
データの信頼性
データの欠損がなく
欠損がなく転送
がなく転送
データの信頼性が
信頼性が確保される
確保される
– 多くのOS
くのOSが
OSが標準でプロトコルスタックを
標準でプロトコルスタックを持
でプロトコルスタックを持っている
2015/2/2
Design Gateway
Page 3
GbEでの
GbEでのTCP/IP
でのTCP/IP実装
TCP/IP実装デメリット
実装デメリット
• パフォーマンスが出
パフォーマンスが出ない
– プロトコル
プロトコル処理
処理が
処理が複雑
– 実装には
実装には高性能
には高性能の
高性能のCPUが
CPUが必要
– それでも200
それでも200~
200~300Mbps
300Mbps程度
Mbps程度が
程度が実情
• 高性能の
高性能の外部CPU
外部CPUが
CPUが必要
– FPGA
FPGA内蔵
内蔵CPU(MicroBlaze)
内蔵CPU(MicroBlaze)ではパフォーマンスが
CPU(MicroBlaze)ではパフォーマンスが出
ではパフォーマンスが出ない
– 外部にハイエンドの
外部にハイエンドの高価
にハイエンドの高価な
高価なCPUが
CPUが必要となる
必要となる
– Zynqで
するとCPU
CPUリソースの
Zynqで実装すると
実装すると
CPUリソースの大半
リソースの大半を
大半を消耗してしまう
消耗してしまう
2015/2/2
Design Gateway
Page 4
TOE2TOE2-IPコアの
IPコアの概要
コアの概要
•
•
•
•
第2世代の
世代のTCP/IPオフロード・エンジン・コア
TCP/IPオフロード・エンジン・コア
ユーザ回路
ユーザ回路と
回路とXilinx製
Xilinx製TEMACコアの
TEMACコアの間
コアの間に挿入
TCPの
TCPの送信・
送信・受信の
受信の両方向の
両方向の処理を
処理を完全HW
完全HW化
HW化
Full Duplex(送受信同時
Duplex(送受信同時)
送受信同時)通信をサポート
通信をサポート
TOE2-IPコア・ブロック図
2015/2/2
Xilinx標準
Xilinx標準MAC
標準MACコア
MACコア
(EF(EF-DIDI-TEMAC)
Design Gateway
Page 5
TOE2TOE2-IPコアの
IPコアの特長
コアの特長1
特長1
• TCP/IP処理
TCP/IP処理を
処理を完全ロジック・ハードウエア
完全ロジック・ハードウエア化
ロジック・ハードウエア化
– CPU
CPUなしでの
なしでの組込
なしでの組込みシステム
組込みシステム実装
みシステム実装が
実装が可能!
可能!
– CPUシステムでは
CPUシステムではCPU
システムではCPU負荷
CPU負荷がゼロ
負荷がゼロ!
がゼロ!
• 送信のみ
送信のみ/
のみ/受信のみ
受信のみ/
のみ/同時送受信を
同時送受信を高速転送
– 片方向
片方向で
で110MByte/sec
110MByte/secの
MByte/secの実パフォーマンス
– 同時送受信(Full
同時送受信(Full Duplex)でも
Duplex)でも送受信
でも送受信とも
送受信とも100MByte/sec
とも100MByte/sec
• 転送データの
転送データの信頼性
データの信頼性を
信頼性を確保
– 送信時
送信時:
:ACK抜
ACK抜け/重複/
重複/タイムアウト等
タイムアウト等で自動リトライ
自動リトライ
– 受信時:
受信時:シーケンス番号
シーケンス番号を
番号を評価し
評価し返信ACK
返信ACKを
ACKを自動制御
2015/2/2
Design Gateway
Page 6
TOE2TOE2-IPコアの
IPコアの特長
コアの特長2
特長2
• データバッファ容量
データバッファ容量を
容量を選択可能
– FPGAメモリ・リソースとパフォーマンスからユーザが
FPGAメモリ・リソースとパフォーマンスからユーザが選択
メモリ・リソースとパフォーマンスからユーザが選択
• Xilinx純正
Xilinx純正MAC
純正MACコア
MACコア(
コア(EFEF-DIDI-TEMAC)に
TEMAC)に対応
– 直結可能のため
直結可能のため接続用
のため接続用の
接続用の外部ロジック
外部ロジック不要
ロジック不要
• 豊富な
豊富な実機動作リファレンス・デザイン
実機動作リファレンス・デザイン
–
–
–
–
–
Xilinx評価
Xilinx評価ボードで
評価ボードで動作
ボードで動作するプロジェクト
動作するプロジェクト
購入前にパフォーマンス・
購入前にパフォーマンス・信頼性
にパフォーマンス・信頼性の
信頼性の実機評価を
実機評価を検証可能
製品のリファレンスはコア
製品のリファレンスはコア以外
のリファレンスはコア以外の
以外の全回路をソースで
全回路をソースで添付
をソースで添付
高速(TOE2
高速(TOE2(TOE2-IP)/低速
IP)/低速(CPU)
低速(CPU)の2ポート・デザインあり
(CPU)の2ポート・デザインあり
TOE2TOE2-IPコア
IPコア応用高速
コア応用高速FTP
応用高速FTPサーバーのデザインあり
FTPサーバーのデザインあり
2015/2/2
Design Gateway
Page 7
TOE2TOE2-IPコアの
IPコアの動作概要
コアの動作概要
•
•
•
•
•
•
リセット状態
アドレス等
を設定
リセット状態でパラメータ
状態でパラメータ(IP&MACアドレス
でパラメータ
アドレス等)を
リセット解除
等)を
を実行
リセット解除で
解除で初期化(ARP等
初期化
初期化完了でアイドル
初期化完了でアイドル(コマンド
状態
でアイドル コマンド待
コマンド待ち)状態
その後
その後ポートをオープン(アクティブ
ポートをオープン アクティブ/パッシブ
アクティブ パッシブ)
パッシブ
送信・
送信・受信は
受信は独立して
独立して動作
して動作(同時送受信可
動作 同時送受信可)
同時送受信可
パラメータ変更
パラメータ変更はリセット
変更はリセット状態
はリセット状態で
状態で実施
(転送長
転送長/パケット
転送長 パケット長
パケット長はビジー状態以外
はビジー状態以外で
状態以外で変更可)
変更可
コアの状態遷移図
2015/2/2
Design Gateway
Page 8
初期化動作
• パラメータの初期値設定
パラメータの初期値設定
– コアのリセット
コアのリセット維持中
維持中にユーザ
維持中にユーザ回路
にユーザ回路より
回路より設定
より設定
– IPおよび
IPおよびMAC
およびMACアドレス・ポート
MACアドレス・ポート番号
アドレス・ポート番号を
番号を指定
– 設定を
設定を完了するとリセットを
完了するとリセットを解除
するとリセットを解除
• リセット解除後
リセット解除後ARP
解除後ARP実行
ARP実行
– 接続
接続ターゲットに
ターゲットに対
ターゲットに対してARP
してARPを
ARPを発行
– 実行結果からターゲット
実行結果からターゲットMAC
からターゲットMACアドレス
MACアドレス情報
アドレス情報を
情報を自動更新
ユーザ回路
ユーザ回路
ARP
コア内部
コア内部パラメータ
内部パラメータ
コア内部
コア内部パラメータ
内部パラメータ
リセット解除
リセット解除
リセット中
リセット中にユーザ回路
にユーザ回路か
回路か
らパラメータをセット
2015/2/2
MAC Adr
接続
ターゲット
リセット解除後
リセット解除後ARP
解除後ARPで
ARPで
MACアドレス
MACアドレス情報
アドレス情報を
情報を更新
Design Gateway
Page 9
高速送信
• 送信パケットの
送信パケットの生成
パケットの生成
– ユーザ
ユーザ回路
回路は
回路は送信データを
送信データをFIFO
データをFIFO I/Fで
I/Fで書込み
書込み
– 送信データをフレームサイズで
送信データをフレームサイズで分割
データをフレームサイズで分割
– ヘッダと送信
データを結合
結合し
ヘッダと送信データを
送信データを
結合しEMACへ
EMACへ出力
• 自動再送機能
– ターゲットからの
ターゲットからのACK
ACKを
ACKを常時チェック
常時チェック
– ACK抜
ACK抜け/重複/
重複/タイムアウト等
タイムアウト等の異常ACK
異常ACKを
ACKを検出
– 異常ACK
じて適切
適切な
異常ACKの
ACKの種類に
種類に応じて
適切な再送データを
再送データを用意
データを用意
2015/2/2
Design Gateway
Page 10
送信パケットの
送信パケットの生成
パケットの生成
• 送信データにヘッダを
送信データにヘッダを自動的
データにヘッダを自動的に
自動的に付加し
付加しEMACへ
EMACへ転送
– データはコア
データはコア内
内にてフレーム・サイズで分割
にてフレーム・サイズで分割
– チェックサムやシーケンス番号
チェックサムやシーケンス番号などもコアが
番号などもコアが自動生成
などもコアが自動生成
フレームごとに分割
フレームごとに分割
1460Byte
1460Byte
ヘッダを結合
ヘッダを結合
送信データのパケット生成
2015/2/2
Design Gateway
Page 11
自動再送機能
• 専用設計された
専用設計された特殊
された特殊な
特殊なFIFOで
FIFOで再送を
再送を実装
– 正常
正常ACK
ACKで
ACKで読み出しポインタを進
しポインタを進める
– 異常ACK
異常ACKの
ACKの場合コアは
場合コアは適切
コアは適切な
適切な位置にポインタを
位置にポインタを戻
にポインタを戻す
– ポインタ制御
ポインタ制御・
制御・再送の
再送の実行をコアが
実行をコアが自動制御
をコアが自動制御
ACKエラーでデータ
ACKエラーでデータ読
エラーでデータ読み
出しポインタを戻
しポインタを戻す
正常ACK
正常ACK受信
ACK受信でデータ
受信でデータ読
でデータ読み
出しポインタを進
しポインタを進める
送信データ
読み出しポインタ
正常ACK
正常ACK未着
ACK未着で
未着で送信が
送信が確認されていないデータは
確認されていないデータはFIFO
されていないデータはFIFOに
FIFOに
残るようコアはユーザ回路
るようコアはユーザ回路からの
回路からの書込
からの書込みを
書込みを制御
みを制御
送信データ
書き込みポインタ
特殊FIFOによる再送機能
2015/2/2
Design Gateway
Page 12
高速受信
• 受信パケットのヘッダ・チェック
受信パケットのヘッダ・チェック
– 受信対象でない
受信対象でない場合
でない場合やチェックサム・エラーの
場合やチェックサム・エラーの場合
やチェックサム・エラーの場合は
場合は破棄
• データ並
データ並び替え
– シーケンス
シーケンス番号
番号の
番号の入れ替え発生時に
発生時に並び替え
– 受信済みデータの
受信済みデータの再送要求
みデータの再送要求を
再送要求を防ぎ転送効率を
転送効率を維持
– 並び替え処理できない
処理できない場合
できない場合は
場合は重複ACK
重複ACKで
ACKで再送要求
• 重複データの
重複データの結合
データの結合
– 受信
受信データが
データが前回受信
データが前回受信パケットと
前回受信パケットと重複
パケットと重複する
重複する部分
する部分を
部分を検出
– 重複箇所のみ
破棄し
し連続データとして
重複箇所のみ破棄
のみ破棄
連続データとして復元
データとして復元
• フロー制御
フロー制御
– Window Sizeの
の復活で
パケット自動送信
復活でWindow Updateパケット
パケット自動送信
2015/2/2
Design Gateway
Page 13
受信パケットのヘッダ・チェック
受信パケットのヘッダ・チェック
• 受信ヘッダのチェック・サムが
受信ヘッダのチェック・サムが正
ヘッダのチェック・サムが正しいことを確認
しいことを確認
– 更に以下の
以下の条件を
条件を満たすこともコアが確認
たすこともコアが確認
Byteオフセット
0-5
6-11
12-13
14
20
23
26-29
30-33
プロトコル
データ内容
ICMP あて先MACアドレス
ICMP 送信元MACアドレス
ICMP タイプ
IP
バージョン/ヘッダ長
IP
フラグ/フラグメントOFS
IP
プロトコル番号
IP
送信元IPアドレス
IP
あて先IPアドレス
34-35
36-37
38-41
TCP
TCP
TCP
送信元ポート番号
あて先ポート番号
シーケンス番号
確認条件
SML/SMHレジスタで設定したコアのMACアドレスと一致
ARPで検出した通信ターゲットのMACアドレスと一致
0x0800 (IPパケット)であること
0x45 (IPv4, IPヘッダ長=20)であること
下位6ビットがゼロ(フラグメントの有無チェック)であること
0x06(TCPパケット)であること
DIPレジスタで設定した通信ターゲットのIPアドレスと一致
SIPレジスタで設定したコアのIPアドレスと一致
DPNレジスタで設定/パッシブオープンで
取得した通信ターゲットのポート番号と一致
SPNレジスタで設定したコアのポート番号と一致
前回処理時のシーケンス番号との差分がコアで処理可能範囲内
受信パケット・ヘッダの確認条件
2015/2/2
Design Gateway
Page 14
データ並
データ並び替え
• シーケンス番号
シーケンス番号がスキップした
番号がスキップした(
がスキップした(ロスト)
ロスト)場合に
場合に機能
– ロスト
ロスト状態
状態を
状態を解消するパケット
解消するパケット以外
するパケット以外は
以外は受信しない
受信しない
– スキップ部
のデータを回復
回復するロスト
スキップ部のデータを
回復するロスト解消
するロスト解消パケットのみ
解消パケットのみ受信
パケットのみ受信
• データ並
データ並び替え
– ロスト
ロスト解消
解消パケットからデータの
解消パケットからデータの連続性
パケットからデータの連続性を
連続性を完全に
完全に復元
– 受信済みデータは
受信済みデータは再送要求
みデータは再送要求せずパフォーマンスを
再送要求せずパフォーマンスを維持
せずパフォーマンスを維持
①
①
①
①
①
②
③
②
③
②
③
③
④
③
(正
正しい受信
しい受信パケット
受信パケット)
パケット
②をロストし③を受信
②をロストし③を受信
×
②
④
④
②以外を
以外を拒否
③
正常に
正常に復帰
②を受信
②を受信
受信済みの③は
受信済みの③は再送不要
みの③は再送不要!
再送不要!
2015/2/2
Page 15
Design Gateway
重複データの
重複データの結合
データの結合
• データの重複
データの重複を
重複を検出し
検出し自動的に
自動的に補正
– シーケンス
シーケンス番号
番号から
番号から受信
から受信データの
受信データの重複
データの重複を
重複を検出
– 重複箇所のみ
重複箇所のみ破棄
のみ破棄し
破棄し連続データとして
連続データとして復元
データとして復元
今回パケットの
今回パケットの後半
パケットの後半
1000Byte
Byteのみ
1000
Byteのみ格納
のみ格納
1460Byte
1460Byte
1460Byte
1460Byte
前回SEQ#
前回
=0
今回SEQ#
今回
=1460
前回SEQ#
前回
=0
今回SEQ#
今回
=1000
今回パケットの
今回パケットの重複
パケットの重複データ
重複データ
460Byte
460Byteを
Byteを破棄
重複がない
重複がない場合
がない場合はその
場合はその
まま受信
まま受信バッファに
受信バッファに格納
バッファに格納
受信バッファ
受信バッファ
2015/2/2
受信バッファ
受信バッファ
Design Gateway
Page 16
④
フロー制御
フロー制御
(Window Update自動送信機能
Update自動送信機能)
自動送信機能)
• TCP Window Update (ACK)パケット
(ACK)パケット生成
パケット生成
– 受信
受信データ・バッファの
データ・バッファの空
データ・バッファの空きスペース復活
きスペース復活を
復活を検出
– 設定した
Updateパケットを
パケットを自動送信
設定した閾値
した閾値で
閾値でWindow Update
パケットを自動送信
– PC側
PC側ではWindow
ではWindowサイズ
Windowサイズ復活
サイズ復活で
復活で送信が
送信が再開可能
(PC(PC->FPGAの
>FPGAの受信
に対する通常
する通常ACK)
通常ACK)
IP末尾
末尾25=PC
末尾
IP末尾
末尾42=FPGA
末尾
Windowサイズ
Windowサイズ復活
サイズ復活
後PCからのデータ
PCからのデータ
送信を
送信を再開
Window Updateパケットの自動送信
2015/2/2
Windowサイズ
Windowサイズ復活
サイズ復活でコ
復活でコ
アからWindow
アからWindow Update
パケットを自動発行
パケットを自動発行
Design Gateway
Page 17
ユーザ・インターフェース(
ユーザ・インターフェース(制御)
制御)
• レジスタI/F
レジスタI/F、
I/F、送信FIFO
送信FIFO I/F、
I/F、受信FIFO
受信FIFO I/Fの3
I/Fの3種類
の3種類
– レジスタ
レジスタI/F
I/Fは
I/Fは初期パラメータの
初期パラメータの設定
パラメータの設定、
設定、方向切り
方向切り替え指示
– 送信データ・
受信データ
データ用
送信データ・受信
データ・受信
データ用I/Fは
I/Fは標準的な
標準的なFIFO I/F
Clk
[レジスタの書込
レジスタの書込み
書込み]
①アドレスとデータを
設定し
設定しWrEnで
WrEnで書込み
書込み
2
RegAddr[3:0]
A0
RegWrData[31:0]
D0
RegWrEn
RegRdData[31:0]
A1
1
D1
3
[レジスタの読出
レジスタの読出し
読出し]
②アドレスを与
与えたる
②アドレスを
③次クロックで有効
クロックで有効
データが出力
データが出力
レジスタI/Fのタイムチャート
2015/2/2
Design Gateway
Page 18
ユーザ・インターフェース(
ユーザ・インターフェース(データ)
データ)
[送信データの
送信データの書込
データの書込み
書込み]
①データをWrEn
WrEnで
①データを
WrEnで書込み
書込み
②Fullになってから
Fullになってから4
になってから4クロック
以内にライト
以内にライト中断
にライト中断
③Flushで
FlushでFIFOクリア
FIFOクリア
送信FIFO I/Fのタイムチャート
[受信データの
受信データの読
データの読み出し]
①非Emptyで
EmptyでRdEnにて
RdEnにて読出
にて読出し
読出し
②次のクロックでデータ出力
のクロックでデータ出力
③Emptyではリード
Emptyではリード禁止
ではリード禁止
④Flushで
FlushでFIFOクリア
FIFOクリア
受信FIFO I/Fのタイムチャート
2015/2/2
Design Gateway
Page 19
データ・バッファ容量
データ・バッファ容量の
容量の設定
• 3種類のデータ・バッファをパラメタライズで
種類のデータ・バッファをパラメタライズで設定可能
のデータ・バッファをパラメタライズで設定可能
① 送信データ・バッファ
送信データ・バッファ:
データ・バッファ: 4KByte~
KByte~64KByte
64KByte
② 送信パケット・バッファ
送信パケット・バッファ:
パケット・バッファ: 2KByte~
KByte~16KByte
16KByte
③ 受信データ・バッファ
受信データ・バッファ:
データ・バッファ: 2KByte~
KByte~64KByte
64KByte
• リソースとパフォーマンスの最適点
リソースとパフォーマンスの最適点を
最適点を調整できる
調整できる
ジェネリック名
ジェネリック名
TxBufBitWidth
設定範囲
1212-16
説明
送信データ・バッファ・サイズをアドレス・ビット
送信データ・バッファ・サイズをアドレス・ビット幅
データ・バッファ・サイズをアドレス・ビット幅で設定します
設定します。
します。
例えば 12 の場合 4K バイト、
バイト、16 の場合 64K バイトとなります。
バイトとなります。
TxPacBitWidth
1111-14
送信パケット・バッファ・サイズをアドレス・ビット
送信パケット・バッファ・サイズをアドレス・ビット幅
パケット・バッファ・サイズをアドレス・ビット幅で設定します
設定します。
します。
例えば 11 の場合 2K バイト、
バイト、14 の場合 16K バイトとなります。
バイトとなります。
RxBufBitWidth
1111-16
受信データ・バッファ・サイズをアドレス・ビット
受信データ・バッファ・サイズをアドレス・ビット幅
設定します。
データ・バッファ・サイズをアドレス・ビット幅で設定します
します。
例えば 11 の場合 2K バイト、
バイト、16 の場合 64K バイトとなります。
バイトとなります。
各データ・バッファはパラメタライズで設定できる
2015/2/2
Design Gateway
Page 20
評価用BIT
評価用BITファイル
BITファイル
• Xilinx各評価
Xilinx各評価ボードで
各評価ボードで動作
ボードで動作する
動作するbit
するbitファイル
bitファイル
–
–
–
–
VC707/KC705/AC701/ZC706(※)で
VC707/KC705/AC701/ZC706(※)で評価可能
片方向(
片方向(送信or
送信or受信
or受信)/
受信)/同時双方向
)/同時双方向を
同時双方向を実機評価
転送パフォーマンス
転送パフォーマンス測定
パフォーマンス測定・データベリファイ
測定・データベリファイ確認
・データベリファイ確認
2ポート(
ポート(高速+
高速+低速)
低速)評価版/FTP
評価版/FTP評価版
/FTP評価版あり
評価版あり
(※)ZC706評価ではSFP-RJ45アダプタが別途必要
Xilinx評価ボードを使った実機検証環境
2015/2/2
Design Gateway
Page 21
リファレンス・デザイン概要
リファレンス・デザイン概要
• 実機動作するデザインプロジェクト
実機動作するデザインプロジェクト
– コア
コア((ネットリスト)
ネットリスト)部以外の
部以外の全回路をソースコードで
全回路をソースコードで提供
をソースコードで提供
– 標準デモと
標準デモと同時送受信
デモと同時送受信デモのデザインを
同時送受信デモのデザインを製品
デモのデザインを製品に
製品に標準添付
– 正規ユーザに
正規ユーザに2
ユーザに2ポート版
ポート版/FTPデモのプロジェクト
/FTPデモのプロジェクト無償提供
デモのプロジェクト無償提供
User Module
PacSel
Tx Packet Size
Register
TCPTxFfFull
rPacketSizeSet
Tx Packet
Counter
TCPTxFfWrEn
TxFfDataCnt
TxPatt
Generator
RxPatt
Generator
rRxFfRdEn
TCPTxFfWrData
TCPRxFfRdEmpty
DFF
TCPRxFfRdEn
rExpPatt
ErrLED
TCPRxFfRdData
Comparator
TOE2-IP
ConnOn
StartSW
Debounce
rStartCnt
RegAddr
rState
ModeSel
State
Machine
State
Decoder
RegWrEn
RegWrData
RegRdData
GMII I/F
MAC I/F
EMAC
TCPCtrlTest. vhd
実動作するVivado/EDKプロジェクト
2015/2/2
Design Gateway
リファレンス・デザイン・ブロック図
Page 22
リファレンス・デザイン(
リファレンス・デザイン(2ポート版
2ポート版)
• TOE2
TOE2-IPによる
IPによる高速
による高速ポートと
高速ポートとCPU
ポートとCPUによる
CPUによる低速
による低速ポートを
低速ポートを実装
ポートを実装
• 高速ポートのデータ
高速ポートのデータ送受信
ポートのデータ送受信と
送受信と低速ポートの
低速ポートのPing
ポートのPing応答
Ping応答をサポート
応答をサポート
• プリンタ/
プリンタ/計測機等の
計測機等の実製品システムをエミュレーション
実製品システムをエミュレーション
マルチプレクサで高速
マルチプレクサで高速or
高速or低速
or低速ポートを
低速ポートを選択
ポートを選択
TOE2TOE2-IPコアによる
IPコアによる
高速ポートでテスト
高速ポートでテスト
・データを送受信
・データを送受信
低速ポートは
低速ポートはCPU
ポートはCPUが
CPUが制御し
制御し
Ping 応答(ICMP)
応答(ICMP)をサポート
(ICMP)をサポート
2ポート版デザイン・ブロック図
2015/2/2
Design Gateway
Page 23
リファレンス・デザイン(
リファレンス・デザイン(FTP版
FTP版)
• FPGA
FPGAボードが
ボードが高速
ボードが高速FTP
高速FTPサーバーとして
FTPサーバーとして動作
サーバーとして動作
• ファイル・データの転送
ファイル・データの転送は
転送はTOE2TOE2-IPコアで
IPコアで超高速転送
コアで超高速転送
• FTPコマンド
FTPコマンド処理
コマンド処理は
処理はCPU(MicroBlaze)ファームウエアで
CPU(MicroBlaze)ファームウエアで実装
ファームウエアで実装
FTPコマンドは
FTPコマンドはCPU
コマンドはCPUフ
CPUフ
ァームウエアで処理
ァームウエアで処理
PC側
PC側は標準の
標準のFTPツ
FTPツ
ールでアクセス可
ールでアクセス可
(CPU)
(TOE2(TOE2-IPコア
IPコア)
コア)
ファイル・データはTOE2
ファイル・データはTOE2TOE2IPコアで
IPコアで高速転送
コアで高速転送
2015/2/2
FTPデモのシステム・イメージ
Design Gateway
Page 24
リファレンス・デザイン(
リファレンス・デザイン(FTP版
FTP版:続き)
• 100MB/sを
100MB/sを超えるファイル転送
えるファイル転送パフォーマンス
転送パフォーマンス!
パフォーマンス!
943MBのファイルを
943MBのファイルを8
のファイルを8秒で転送
FTPアプリ(FileZilla)で943MBのファイルをPCへダウンロードした結果例
2015/2/2
Design Gateway
Page 25
リファレンスと実機評価
リファレンスと実機評価による
実機評価による開発
による開発
• リファレンス+
リファレンス+評価ボードによる
評価ボードによる確実
ボードによる確実な
確実な開発
–
–
–
–
まず最初
まず最初に
最初に製品添付のリファレンスで
製品添付のリファレンスで実機動作
のリファレンスで実機動作を
実機動作を確認
そこからユーザ製品
そこからユーザ製品に
製品に向け少しずつ編集
しずつ編集
編集ごとに
編集ごとに実機動作
ごとに実機動作を
実機動作をStep by Stepで
Stepで確認
問題があれば1ステップ
問題があれば1ステップ前
があれば1ステップ前に戻るだけで
動く状態にすぐ
状態にすぐ復帰
にすぐ復帰できる
復帰できる
大きな後戻
きな後戻りがなく
後戻りがなく確実
りがなく確実で
確実で短期間での
短期間での製品開発
での製品開発が
製品開発が可能!
可能!
2015/2/2
Design Gateway
Page 26
消費リソース
消費リソース
• コアの消費
コアの消費リソース
消費リソース
– 送信データ・バッファ
送信データ・バッファ=64
データ・バッファ=64KByte
=64KByte、
KByte、送信パケット・バッファ
送信パケット・バッファ
=16KByte
=16KByte、
KByte、受信データ・バッファ
受信データ・バッファ=64
データ・バッファ=64KByte
=64KByteの
KByteの最大設定時
Family
Example Device
Fmax
(MHz)
Slice
Regs
Slice
LUTs
Slic
es1
RAMB
36E1
Design
Tools
Artix-7
XC7A200T-2FBG676
125
2674
2502
1020
37
Vivado2014.1
Kintex-7
XC7K325T-2FFG900
125
2674
2502
1087
37
Vivado2014.1
Zynq-7000
XC7Z045-2FFG900
125
2674
2052
1119
37
Vivado2014.1
Virtex-7
XC7VX485T-2FFG1761
125
2674
2502
1086
37
Vivado2014.1
TOE2-IPコア単体コンパイル結果
メモリ消費量
メモリ消費量は
消費量は送受信ともバッファを
送受信ともバッファを最大
ともバッファを最大に
最大に設定した
設定した場合
した場合です
場合です。
です。
バッファ容量
バッファ容量を
削減すれば内部
容量を削減すれば
すれば内部メモリ
内部メモリ消費
メモリ消費リソースを
消費リソースを節約
リソースを節約できます
節約できます。
できます。
2015/2/2
Design Gateway
Page 27
転送パフォーマンス
転送パフォーマンス
• 同時送受信(Full
同時送受信(Full Duplex)での
Duplex)での実機
での実機パフォーマンス
実機パフォーマンス
送受信同時で
送受信同時で100MByte/secの
100MByte/secの
高速転送を
高速転送を実現
2015/2/2
Design Gateway
Page 28
TOE2TOE2-IPのアプリケーション
IPのアプリケーション
• FAなどにおけるデータ
FAなどにおけるデータ転送
などにおけるデータ転送
– 医療系
医療系の
の画像処理装置の
画像処理装置の採用例が
採用例が多い
– 欠落が
欠落が許されないセンサーデータなどをPC
されないセンサーデータなどをPCに
PCに転送
• NAS, iSCSIなどの
iSCSIなどのTCP
などのTCPを
TCPを用いたストレージ
– TCPの
TCPの負荷を
負荷を大幅に
大幅に軽減し
軽減し、転送速度UP
転送速度UP
• 監視カメラデータの
監視カメラデータの転送
カメラデータの転送
– TCPの
TCPの負荷が
負荷が軽くなり、
くなり、コストダウン、
コストダウン、
低消費電力化が
低消費電力化が可能
2015/2/2
Design Gateway
Page 29
問い合わせ
• ホームページに詳細
ホームページに詳細な
詳細な技術資料を
技術資料を用意
– http://www.dgway.com/TOE2http://www.dgway.com/TOE2-IP_X.html
• 問い合わせ
– 株式会社
株式会社Design
Design Gateway
– E-mail : [email protected]
– FAX : 050050-35883588-7915
2015/2/2
Design Gateway
Page 30
改版履歴
Rev.
1.0J
1.1J
1.2J
1.3J
2015/2/2
日時
2013/6/10
2013/8/22
2014/10/23
2015/2/2
履歴
日本語プレゼン初版リリース
page4を修正
同時双方向(Full Duplex)に対応
2ポート版/FTP版のデモ・デザイン追加、Zynqサポート追加
Design Gateway
Page 31
Fly UP