FX3の高速化検証2 ~サイプレス社独自検証と弊社検証の違いについて~【2013/09/15】
前回は検証の全体像と結果について説明をしました。
一方サイプレスからも転送レートの検証を行ったレポートである、アプリケーションノートAN86947 – Optimizing USB 3.0 Throughput with EZ-USB FX3 が発表されています。
今回は、サイプレスと弊社の検証の違いについて説明を行います。

<サイプレス社独自の検証結果>
サイプレスからもFX3の速度検証結果の公式なレポートが最近になって出ています。
サイプレスのアプリケーションノートAN86947 – Optimizing USB 3.0 Throughput with EZ-USB FX3 がそのレポートです。
このレポートには、下記の4つの転送速度の結果が記載されています。

1.アイソクロナス転送
2.バルク転送
3.インタラプト転送
4.GPIFⅡを用いたバルク転送

このうち今回の検証と関係するのは4番のGPIFⅡを用いたバルク転送で、レポートのP7~8に結果が記載されています。
その結果をみると、394,000KB/s(=384MB/s)の転送レートが出るとレポートをしています。
そこで、SVI-06改ボードのFX3を使用してアプリケーションノートと同様の環境を再現し検証を行ったところ、レポートに近い転送レートまで出ることを確認しています。

<サイプレス社独自検証と弊社検証でのFX3ファームウェアの違い>
今回の弊社で使用したslfifosyncファームウェアと、サイプレス社独自検証用ファームウェアの大きな違いはGPIFⅡデザイナーを見るとわかります。

サイプレス社検証ファームウェアはFX3からApplication Processorに対してクロックを送出しているのに対して、slfifosyncはApplication ProcessorからFX3にクロックを送出しています。
アプリケーションノートのサンプルはFX3が理想的に動作できる状態での検証といえます。

つまり、アプリケーションノートの検証のほうがより高速転送がしやすいと思います。

次に、ボード全体のデータのフローについて違いを説明します。 弊社検証でのボードのデータの流れを左図に示します。
今回の弊社の検証では、ピンヘッダからイメージセンサと同等のデータを受けてFPGAに取り込みます。

取り込んだデータは先程説明した通りヘッダ付加等の処理を行いDDR2 SDRAMに格納されます。 格納されたデータはFPGAがフロー制御を行いながらFX3へと渡されます。

一方、アプリケーションノートでのデータの流れは左図となります。
このアプリケーションノートの検証の場合は、弊社検証ではFPGAが行っていたフロー制御を行なっていません。
そのため、FX3はターゲットからのデータの取りこぼしが無いものと想定して動作しています(取りこぼしたかどうか誰もわからないし、知る由もない状態ともいえます)。
このような処理がないため、FX3動作は転送レートを求める上では都合のよい仕組みで動作していると考えることができます。

ゆえに、GPIFⅡを通して取り込んだ時のFX3の最大転送レートを求めることが可能となっていると考えられます。
しかし、アプリケーションノートの仕組みを現実的なシステムに活用できるかというと、このアプリケーションノートの仕組みでは現実的なシステムを作る際には問題が発生します。
それは、まったくフロー制御が行われていないため、ボード上でデータの管理が行えないという問題です。
そのため、現実のシステムとしては活用しにくいと考えられます。

つまり、弊社検証では実用的なシステム構成での転送レート検証であり、アプリケーションノートはFX3にとっての理想的な動作環境での転送レート検証といえます。
そのため、弊社が行った今回の検証のほうがより現実的なシステムであり、かつフロー制御も行われているため、速度検証としてはハードルが高くなっているといえます。

次回以降では、この違いを前提として転送レートの検証の結果等を紹介します。

» 前の記事へ戻る » FX3高速化検証3