Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実践的!FPGA開発セミナー vol.11

実践的!FPGA開発セミナー vol.11

2022年6月29日実施の「実践的!FPGA開発セミナー vol.11」の当日資料です。

fixstars

July 01, 2022
Tweet

More Decks by fixstars

Other Decks in Programming

Transcript

  1. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group Copyright © Fixstars Group
    実践的!FPGA開発セミナー vol.11
    2022/06/29 18:00~

    View Slide

  2. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group Copyright © Fixstars Group
    Intel® Agilex™ 開発キットを用いた
    各種機能トライアル
    ~Agilex™ を体感する~

    View Slide

  3. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Who I am
    3
    写真
    Ryuji NISHIDA
    西田 竜之
    ソリューション第四事業部
    シニアエンジニア

    View Slide

  4. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    自己紹介
    ● 西田竜之
    ○ FPGAを用いたシステム開発に従事
    ○ ハードウェア開発をメインに担当
    ○ 略歴
    ■ 半導体ベンダ
    ● サーバー向けASIC開発
    ■ 映像事務機メーカー
    ● 高画質エンジンLSI 映像機器向けFPGA開発
    ■ フィックスターズ
    ● FPGAを用いた高速取引金融システム
    ● OpenCLによるアプリの高速化
    4

    View Slide

  5. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    アジェンダ
    1. Intel® Agilex™ 概要
    2. Intel® Agilex™ 性能試行&使いこなし
    1. コア性能
    2. ネットワーク I/O 性能
    3. HPS 試行
    3. まとめ
    5

    View Slide

  6. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Intel® Agilex™ 概要
    ● Intel® Agilex™ とは
    ○ Intel® FPGA 最新デバイス(2019年発表)
    ○ シリーズ
    ■ F シリーズ : フレキシブル
    ● データセンター、ネットワーク、エッジ
    PCIe Gen4, DDR4, Cortex-A53(オプション)
    ■ I シリーズ : インターフェース
    ● 高帯域&高性能プロセッシング
    PCIe Gen5, DDR4, Cortex-A53, Xeon CXL
    ■ M シリーズ : メモリー
    ● 最高性能 高メモリ帯域
    PCIe Gen5, DDR5, Cortex-A53, Xeon CXL, HBM2e
    6

    View Slide

  7. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    使用評価ボード
    ● Intel® Agilex™ Fシリーズ FPGA 開発キット
    ○ AGFB014R24A2E2VR0
    ※ES品のためPCIe Gen4未対応
    ○ 2 x QSFP-DD(2 x 200Gbps) ※接続ケーブルは40Gbpsまで
    ○ 3 x DDR4 DIMM for FPGA, 1 x DDR4 DIMM for HPS
    7
    参照URL: https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/agilex/f-series.html

    View Slide

  8. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    開発環境
    ● 合成ツールバージョン
    ○ Quartus® Prime Pro ver 22.1
    ※ただし、Programmer は ver 20.4 を使用
    (.sof ファイルのconfigに失敗するため)
    ● 合成マシン
    ○ CPU : AMD Ryzen Threadripper 3960X 24コア/48スレッド
    ○ メモリ : 256GB
    ○ OS : CentOS 7.9
    8

    View Slide

  9. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ コア性能 性能試行
    ● 目的&方法
    ○ コアロジック領域(ALM、配線)に着目して
    ■ どこまでロジック領域を使い切れるのか?
    ■ その時のFmaxはどの程度か?
    ALMを敷き詰める回路で実験
    ● ALM 構造(参考)
    ○ 4 FF, 2 addr,
    LUT, MUX
    などで構成される
    9
    参照URL:
    https://www.intel.com/content/www/us/en/docs/programmabl
    e/683577/current/alm-resources.html

    View Slide

  10. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ● ALM 敷き詰め回路
    ○ 3入力EXOR x 2 + 4FF ≒ 1 ALM
    ○ 690 x 660 = 455,400 ALM(デバイスTotal 487,200 ALM)
    ○ 入出力端は FF をスキャンチェーン接続し、入出力1ポートず
    つを外部接続 ※削除されないようにするため
    ○ 合成ターゲット周波数:1GHz
    Agilex™ コア性能 性能試行
    10

    View Slide

  11. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ コア性能 性能試行
    ● 合成結果:Logic Utilization 98%, Fmax 848MHz を達成
    ○ Hyperflex™アーキテクチャの恩恵も一つの要因
    11
    Timing
    レポート例
    Hyper-Register
    (配線領域のFF)
    を使い、配線遅延
    の影響を緩和

    View Slide

  12. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ コア性能 Hyperflex™アーキテクチャ
    ● Stratix10から採用
    ● 配線領域にFFが存在 ⇒ パイプラインを刻みやすい
    12
    参照URL:
    https://www.intel.com/content/www/us/en/docs/programmabl
    e/683458/current/core-architecture.html
    ・Agilex™ ではBypassパスがより高速に

    View Slide

  13. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ コア性能 Hyperflex™アーキテクチャ活用法
    ● 基本的な使い方
    ○ Hyper-Retimer(配線領域 FF への移動)、
    Hyper-Retiming(FFをまたいだタイミング最適化)
    ⇒ デフォルトでON
    自動で最適化が実行される
    13

    View Slide

  14. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ コア性能 Hyperflex™アーキテクチャ活用法
    ● さらなるFmax向上のための対処
    ○ あらかじめパイプライン段数を刻む
    ■ 例)モジュール間のバス接続の配線遅延に、パイプライン挿入
    ■ スループット→ 向上
    レイテンシ → サイクルは増えるものの、
    Fmax向上分は補償される
    ■ パイプラインが有効な箇所、段数の判断はツールサポートがある
    (Fast Forward Compile)
    ○ パイプライン追加時の注意点
    ■ Hyperflex™に適した構成にすることでFmaxの改善が見込める
    (詳細は後述)
    14

    View Slide

  15. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ コア性能 Hyperflex™アーキテクチャ活用法
    ● Fmax向上のためのパイプライン追加時の主な注意点
    ○ 非同期リセットを使用しない → Hyper-Registerに移動できない
    ○ 同期リセット
    データパスのパイプライン先頭と末尾のみをリセットし、
    その間のリセットを削除
    末尾のリセット解除タイミングを遅らせることで、不定値伝搬を防ぐ
    ○ クロックイネーブルは対応可能
    ただし大きなファンアウトは
    性能低下となる
    ○ Retiming の妨げになる Loop は
    避ける
    15
    参照URL:
    https://www.intel.com/content/www/us/en/docs/programmable/683353/21-3/retiming-with-clock-enables.html
    データ保持用のFFを
    分離してDuplicate

    View Slide

  16. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ コア性能 Hyperflex™アーキテクチャ活用法
    ● その他ツール対応
    ○ Platform Designer : Hyperflex™ に対応可能
    ※ただし、デフォルトから適宜変更必要な設定もある
    16
    デフォルトOFF
    → ONに変更
    デフォルトFALSE
    → TRUEでFmax改善

    View Slide

  17. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ コア性能 Hyperflex™アーキテクチャ活用法
    ● その他ツール対応
    ○ Intel™ HLS : Hyperflex™対応のRTLが出力される
    ■ 高位合成ツールは、Fmaxに合わせてパイプラインを刻むことは得意
    Hyperflex™との親和性も高いと考えらえる
    17

    View Slide

  18. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ ネットワークI/O性能 Tile構成
    ● Agilex™ トランシーバー
    ○ マルチダイ構成
    機能に適したTransceiver Tile(ハードIP)が搭載される
    ○ E-Tile ← 今回、試行に使用
    ■ 12ch x 58Gbps PAM4 / 24ch x 28.9Gbps NRZ
    ■ 100GbE etc.
    ○ F-Tile
    ■ 4ch x 116Gbps & 12ch x 58G PAM4
    ■ PCIe Gen4, ~400GbE, etc.
    ○ P-Tile
    ■ 16ch x 16Gbps NRZ
    ■ PCIe Gen4 16Lane, etc.
    ○ R-Tile
    ■ 16ch x 32Gbps NRZ
    ■ PCIe Gen5 16Lane, CXL etc. 18
    参考 URL
    https://www.macnica.co.jp/business/semiconductor/articles/intel/140562/

    View Slide

  19. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Agilex™ ネットワークI/O性能
    ● E-Tile Hard IP for Ethernet
    ○ 主な特徴
    ■ MAC + PCS, PCS only, FlexE, OTN
    ■ 100GE (25Gbps x 4ch)、25GE(25Gbps x 1ch)、
    10GE(10Gbps x 1ch)
    ■ RS-FEC, PTP (Precision Time Protocol)も使用可能
    ■ 有償ライセンスではない
    ○ 10GE x 4Laneを試行
    ※40G 対応Cuケーブルを使用したため
    19

    View Slide

  20. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ● E-Tile Hard IP for Ethernet試行
    ○ 10GE x 4Lane 動作デザイン
    ■ Exampleデザインを流用
    Exampleデザインは、1portのみがインスタンス
    Internal LoopBack or TX->RX LoopBackモジュールを使う前提
    ■ 2port分インスタンスして、ケーブル接続
    実動作に近い評価を行うことが目的
    Agilex™ ネットワークI/O性能
    20
    (Example
    original)
    TX
    RX TX
    RX
    TX
    RX
    ToolKi
    t
    ToolKi
    t

    View Slide

  21. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ● E-Tile Hard IP for Ethernet試行
    ○ E-Tile ToolKit 実行結果
    ■ PRBS31通信 2 port 合計 8ch
    ■ No Error で実行可能
    Agilex™ ネットワークI/O性能
    21

    View Slide

  22. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ● E-Tile Hard IP for Ethernet試行
    ○ 通信特性の確保
    ■ ToolKit 実行では、RX Adaptaion mode を有効にする
    Initial Adaptation → Start One-Time
    or Continuous Adaptation
    ■ 通常動作時は、Continuous Adaptation モードで動作
    している様子
    ■ 高速信号の通信品質の確保には、RX Adaptaionは必須
    Agilex™ ネットワークI/O性能
    22

    View Slide

  23. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ● Agilex™ Hard Processor System
    ○ Cotrtex-A53 クアッドコア
    ○ Linux 動作手順は、RocketBoards.org
    Agilex SoC Golden System Reference Design に記載がある
    ○ ただし、
    Intel® Agilex™ F-Series
    Transceiver-SoC Development Kit 用で
    production versionを使うことが
    明記されている
    ⇒ 手持ちの ES 品評価ボード用に移植、
    Linux 起動にチャレンジ
    Agilex™ HPS 試行
    23
    参照URL: https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/agilex/f-series-transceiver.html

    View Slide

  24. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ● Linux 起動試行 ⇒ 失敗。。
    ○ QSPIからのコンフィグが正常終了しない
    (ES品だから??デバッグ間に合わず。)
    ○ 今回、ボード移植にあたって実施した内容を共有する
    ● ハードウェアのGSRDとの差異を変更
    ○ DDR4 DRAM構成
    ■ DRAMモジュール → UDIMMに変更
    ○ ボードペリフェラルの変更
    ■ Triple Speed Eathernet IPを削除
    ● Linuxビルドは手順通り実行を完了出来た
    Agilex™ HPS 試行
    24

    View Slide

  25. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ● ボード移植
    ○ DDR4 DRAM変更
    ■ UDIMM タイプのDRAMモジュールを挿入
    DRAM データシートに従って、EMIF IP 設定を変更する
    ■ EMIF Example デザインを生成し、Calibration PASSすればOK
    ■ 各種エラーに対応必要
    ● HPS 用EMIFが2 rank構成UDIMMに未対応
    → 1 rankとして使用
    ● ECCモードでエラー(GSRDではECC使用)
    → ECCオフにして、64bitモードで使用
    ● Example Design の Calibration PASS/FAIL 点灯が逆?
    ○ Triple Speed Eathernet IPを削除
    ■ HPSのペリフェラルをボードに合わせて設定変更
    ■ Eathernet IPを残すとライセンスエラーで途中停止
    Agilex™ HPS 試行
    25

    View Slide

  26. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ● Agilex™ 評価ボードを用いて、以下の各種試行を実施した。
    ○ コア性能
    ○ ネットワークI/O性能
    ○ HPS 機能
    ● コア性能は、98% Utilization, Fmax 848MHz を達成
    Hyperflex™アーキテクチャが有効に働いていることが
    要因の一つと考えられる
    Hyperflex™を有効に活用する情報を整理、提供した。
    ● ネットワーク I/O 性能確認において、安定した10Gbps x 4Lane x 2port
    の通信が確認出来た。
    ● HPS Linux起動にチャレンジしたがQSPIコンフィグに失敗
    まとめ
    26

    View Slide

  27. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group Copyright © Fixstars Group
    腕の見せ所が満載な
    FPGA 開発ボードのすすめ

    View Slide

  28. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Who I am
    28
    写真
    Kenta IDA
    井田 健太
    ソリューション第一事業部
    シニアエンジニア

    View Slide

  29. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    自己紹介
    ● 井田 健太
    ● FPGA エンジニア
    ○ 主にFPGA開発を担当
    ■ RTL開発からLinuxドライバまで
    ■ Vivadoぽちぽちマン
    ○ ときどきMCU/組込みLinux案件もやります
    ● 略歴
    ○ 製造装置メーカー
    ■ 装置の組込みソフトウェア担当
    ● RTOSを使ったファームウェア開発
    ● Windowsソフトウェア開発
    ■ 制御ボード上のFPGAの設計にも手をだす
    ● Cyclone II/III/IVが載っていた
    ○ フィックスターズ
    ■ FPGA を用いたリアルタイム映像処理システム開発
    ■ Alveoなど比較的大規模なFPGA向けの開発が多い
    29

    View Slide

  30. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ALINX AXU5EV-P
    • ALINX社のZynq Ultrascale+ XCZU5EV搭載ボード
    30

    View Slide

  31. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ALINX AXU5EV-P
    • ALINX社のZynq Ultrascale+ XCZU5EV搭載ボード
    31
    HDMI OUT
    HDMI IN
    SFP+ 2
    SFP+ 1
    PCIe Gen3 x2
    MIPI CSI-2 M.2 NVMe
    GbE (PS)
    GbE (PL)
    USB3.0 x4
    (ハブ経由)
    Display
    Port
    UART
    (PS)
    UART (PL)
    FMC
    RS-485
    CAN
    JTAG

    View Slide

  32. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ALINX AXU5EV-Pの特徴
    • ALINX社のZynq Ultrascale+ XCZU5EV搭載ボード
    • aliexpressで17万円くらい (2022/06/06時点)
    • 機能
    • XCZU5EV-SFVC784-1
    • EVなのでMali + H.264/265 CODEC
    • フルハイト・ちょっと長い目のPCIeカード型
    • 200mmなのでハーフよりは長い
    • 後ろ向きにコネクタあるのでフルくらい必要
    • PCIe Gen3 x2
    • カードエッジはx4だが2レーンのみ接続
    • SFP+スロット x2
    • HDMI In, Out
    • ADV7611/7511経由なのでHDMI IP不要
    • MIPI CSI-2
    • 2レーン
    • Raspberry Pi互換
    • GbE x2
    • RGMIIのPHY経由
    • PS, PLに1つづつ
    • USB-UART
    • PS, PLに1つづつ
    • なぜかコネクタはmini-B (ケーブル付属) 32

    View Slide

  33. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    ALINX AXU5EV-Pの特徴(つづき)
    • 機能 (つづき)
    • ミニディスプレイポート (PS)
    • M.2コネクタ
    • NVMe用
    • PS側PCIe 1レーンのみ
    • FMC-HPC
    • LVDS 36本
    • GTは繋がってない
    • JTAGコネクタ
    • 2.54ピッチのボックスコネクタ
    • ピン配置はAltera互換に見える
    • USB-JTAGアダプタ付属
    • ちゃんとVivado付属の
    Xilinx JTAG向けドライバ設定で
    使える
    • とりあえずSFP+とPCIeついてるの
    が(筆者的に)うれしい
    • ネットワークオフロード遊びが出来そう
    33

    View Slide

  34. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    似たようなボードあるのでは?
    • XilinxのZCUで始まるボード
    • ZCU102
    • 基板サイズ大きい
    • 価格:$2994
    • PCIeカードエッジ無し
    • XCZUEVじゃないのでH.264エンコーダ・デコーダ無し
    • ZCU104
    • SFP+スロット無し
    • PCIeカードエッジ無し
    • ZCU106
    • 基板サイズ大きい
    • 価格:$2994
    • Kria KV260
    • SFP+スロット無し
    • PCIeカードエッジ無し
    • Kria KR260
    • PCIeカードエッジ無し
    • MIPI CSI2カメラつながらない
    • SFP+なネットワーク遊びには良さそう
    • PL側にも3個GbEがつながってるのも良い
    34

    View Slide

  35. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    購入先
    • amazon.comのストア
    • https://www.amazon.com/stores/Affortable+FPGA+Board+for+Students+and+Enginee
    rs/page/9AA2DB81-D645-4CF0-928B-119339325E99
    • aliexpressのストア
    • https://ja.aliexpress.com/store/911112202
    35
    出典:https://ja.aliexpress.com/store/911112202

    View Slide

  36. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    購入~到着
    • 6/6にaliexpressで注文
    • 6/9に日本到着・通関手続き完了
    • 配送はDHL
    • 通関手続き後、関税支払い待ちに
    • 支払いしなければ対面で支払い
    • DHLのサイトから支払い
    • 6/10到着
    36

    View Slide

  37. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    開封
    • ロゴ入りの箱があらわれる
    37

    View Slide

  38. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    開封
    • 箱の中はきっちり緩衝材が入っている
    38

    View Slide

  39. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    基板外観
    • HDMI OUT/IN ADV7511とADV7611が見える
    39

    View Slide

  40. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    基板外観
    • USB HUB GL3523T
    • PS/PL Ethernet PHY
    • KSZ9031RNX
    40

    View Slide

  41. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    基板外観
    • SFP+スロット2つ
    • PCIe x4カードエッジ
    • x2のみ接続
    • ポリイミドテープで
    保護されている
    41

    View Slide

  42. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    基板外観
    • M.2 Mkey
    • 1レーン
    • 2280まで
    • スペーサー付属
    • 付属ネジが変なので要別途購入
    • 頭が小さすぎて
    SSDの基板止められない…
    42

    View Slide

  43. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    動作確認
    43
    mini DP
    ディスプレイへ接続
    PS USB-UART
    開発用PCへ接続
    +12V供給
    裏にmicroSD
    USBに
    キーボード
    マウス
    接続

    View Slide

  44. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    動作確認
    • Zynq Ultrascale+なので単体動作可能
    • ファクトリテストのイメージ書き込みmicroSDが刺さった状態で届くので
    電源投入したら動く
    • 12Vの電源を入力
    • アダプタ付属するけどPSE的にダメなアダプタなので
    USB Type-C PDトリガーケーブル 12Vから供給
    • Shigezoneで買ったケーブルを使用
    • https://www.shigezone.com/product/triggercable/
    44

    View Slide

  45. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    動作確認
    • 出荷時確認画面が表示される
    • ボードの各種機能を確認しているように見える
    45

    View Slide

  46. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    動作確認
    • 開発PCからUSB-UARTでコンソールにアクセス
    • PetaLinuxが動いている
    • root:rootでログインできる
    • sshも動作しているのでPS Ethernet接続すればログイン可能
    46

    View Slide

  47. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    開発環境
    • Vivado動作PCと同じマシンに挿すと、PCIeを試すときの再起動が面倒
    • 別のマシンを用意して接続
    • ハーフハイトPCIまでのマシンだったのでしばらく蓋を開けて運用
    • そのうち延長ケーブルで何とかしたい…
    • 余談:
    • DellのOptiplexだと
    50系以上だとIntel AMTが使えるものが
    多いので、50系の中古品を調達したが
    つかえなかった… 無念
    • AMT使えるとリモートで
    電源ON/OFFができる
    • PCIe開発には是非欲しい機能
    • Optiplex 7050などでは使えるのを
    確認しているので、そのあたりを
    買うと便利
    • このマシンは後でRPiから
    電源ボタンを制御する回路接続予定
    • オフィスのAlveo U50DD搭載機は
    RPiで電源ボタン制御できるように
    なっています
    47

    View Slide

  48. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    サンプルデザイン
    • ボードにメールアドレスが書かれたカードが付属
    • 適当にボード買ったからリンク送ってとメールをする
    • メールで販売元とボード型式を送ると、
    rarアーカイブのダウンロードリンクが送られてくる
    • Dropboxと聞いてたけど別のサービス経由
    • 23.9[GiB] と結構大きいサイズ
    • 中にはボードの各機能を動かすVivadoのサンプルデザインと、
    ボードの回路図やユーザーマニュアルのPDFが含まれている
    • 一通り開発には困らない情報が含まれる
    48

    View Slide

  49. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    デザイン作成の目標
    • 目標
    • ホストとPCIe Gen3 x2での通信を行えるようにする
    • SFP+経由での10GbE通信を行えるようにする
    • 要するに、Alveo U50を廉価に置き換えができる環境を構築したい
    49

    View Slide

  50. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    PCI Expressの動作確認
    • サンプルデザインになぜかPCIeのデザインが含まれていない
    • とりあえずXDMAを入れたデザインを作って動作を確認
    50
    XDMA
    PCIe リセット
    PCIe refclk
    DMAアクセス用BRAM
    PSからILA用クロック供給 リンクアップ信号観測用ILA

    View Slide

  51. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    PCI Expressの動作確認
    • XDMAの設定 - 対象デバイスにGTHが1つだけなので特に迷うことはない
    51
    Gen3 x2

    View Slide

  52. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    PCI Expressの動作確認
    • XDMAの設定 - XDMA IPでのGTの配置制約を無効化
    • ボード固有の設定を使うようにする
    • ピンの制約を追加
    52
    trueに設定
    set_property PACKAGE_PIN AC11 [get_ports perstn]
    set_property IOSTANDARD LVCMOS33 [get_ports perstn]
    set_property PACKAGE_PIN Y6 [get_ports {pcie_refclk_clk_p[0]}]
    set_property PACKAGE_PIN P2 [get_ports {pcie_mgt_rxp[1]}]
    set_property PACKAGE_PIN T2 [get_ports {pcie_mgt_rxp[0]}]

    View Slide

  53. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    PCI Expressの動作確認
    • 動作確認
    • ホストPCがPCIe Gen3 x2として認識
    • DMA転送の動作を確認
    53
    $ sudo lspci -s 01:00.0 -vvv
    01:00.0 Serial controller: Xilinx Corporation Device 9032 (prog-if 01 [16450])
    Subsystem: Xilinx Corporation Device 0007
    ...
    Region 0: Memory at f7000000 (64-bit, non-prefetchable) [size=1M]
    Region 2: Memory at f7100000 (64-bit, non-prefetchable) [size=64K]
    ...
    Capabilities: [70] Express (v2) Endpoint, MSI 00
    ...
    LnkCap: Port #0, Speed 8GT/s, Width x2, ASPM not supported
    ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
    LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
    ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
    LnkSta: Speed 8GT/s (ok), Width x2 (ok)
    TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

    View Slide

  54. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10G用通信機能の追加
    • 基本の通信機能 (トランシーバの制御)はXilinx IPで行う
    • 10G/25G High Speed Ethernet Subsystem
    • 10G用のPCS/PMA (トランシーバ部分) だけは無償で使える
    • 問題1: 10Gの通信とPCIeの通信に使うGTHが共用
    • ダイにはもう1つGTHがあるが
    使用しているパッケージでは未配線
    • XDMAはPCIeのトランシーバのクロックに
    QPLL1を使う
    • Gen3の場合
    • Gen2はQPLL1もしくはCPLL
    • 10Gの通信にもQPLLが必要
    • 10.3125[GHz]のクロックが必要
    54

    View Slide

  55. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10G用通信機能の追加(つづき)
    • 問題2: ボード上のリファレンスクロックが10GbE用ではない
    • 10GbEの通信には、QPLLから10.3125[GHz]を作る必要がある
    • 一般的に156.25[MHz] x 66倍 もしくは 161.1328125[MHz] x 64倍で作る
    • つまり、リファレンスクロックとしていずれかのクロック入力が必要
    • しかし、ボード上に実装されているのは 100[MHz] と 125[MHz] のクロック
    • Xilinxのリファレンス・ボードのようにプログラマブルではない固定のクロック
    • おそらく10GbEではなく、 1000BASE-X (GbE) 用の1.25[GHz]を作るためのもの
    55

    View Slide

  56. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10G用通信機能の追加(つづき)
    • 対策
    • リファレンスクロックを貼りかえる
    • 100[MHz]もしくは125[MHz]から10.3125[GHz]を作る
    • FPGA内部で生成した156.25[MHz]を使う
    56

    View Slide

  57. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10G用通信機能の追加(つづき)
    • 100[MHz]もしくは125[MHz]から10.3125[GHz]を作る
    • QPLLには
    Fractional-Nという機能があり、整数比ではないクロックを作ることができる
    57
    UG576 p.51 https://docs.xilinx.com/v/u/en-US/ug576-ultrascale-gth-transceivers

    View Slide

  58. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10G用通信機能の追加(つづき)
    • GT Wizardにて使いたいリファレンス周波数をいれてCalcを押すと計算してくれる
    58

    View Slide

  59. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10G用通信機能の追加(つづき)
    • FPGA内部で生成した156.25[MHz]を使う
    • GTのリファレンスクロックは、
    専用のクロック入力から入力した
    クロックを使うことが推奨される
    • GT用のクロック入力とそれ以外の入力では
    電源が異なる
    • GT用:VCCINT
    • それ以外:VCCAUX
    • ノイズが載りやすい電源とは
    別にすることにより、
    ジッタの発生を抑えている
    • 内部テスト用にMMCMなどから
    クロックを入力することが可能
    • GTGREFCLKxにMMCMから入力
    • QPLLxREFCLKSELを3’b111に設定
    59

    View Slide

  60. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    通信できるかどうかの確認
    • リファレンスクロックが125[MHz]となっているので、
    SFPは10[Gbps]通らない設計なのでは?
    • サンプルデザインに12.5[Gbps] のIBERTデザインがあるので動作確認
    • 10GbE用のDACでSFP1SFP2を接続
    • SFP1->SFP2で測定 → 問題なさそう
    60

    View Slide

  61. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    通信できるかどうかの確認
    • 10GbE用の光モジュールとループバック用ファイバを使って測定
    • DACより減衰しているようだが、リンクは出来ている。
    61

    View Slide

  62. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    通信できるかどうかの確認
    • 1000BASE-X (1.25[Gbps]) では動くか?
    • →デザインを作成して10GbEのスイッチと光モジュール+ファイバで接続
    • リンクすることを確認
    • IBERTも問題なさそう
    62

    View Slide

  63. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!
    • ハードウェア的には問題なさそうなので、10GbEのデザインを作成
    63

    View Slide

  64. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!
    • ハードウェア的には問題なさそうなので、10GbEのデザインを作成
    64
    10G周り
    XDMA
    GT
    COMMON

    View Slide

  65. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!
    • ハードウェア的には問題なさそうなので、10GbEのデザインを作成
    65
    10G周り
    GT
    COMMON

    View Slide

  66. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!
    • ハードウェア的には問題なさそうなので、10GbEのデザインを作成
    66
    10G周り
    GT
    COMMON
    10G
    PCS/PMA
    In System
    IBERT
    10G
    MAC

    View Slide

  67. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!
    • 配線が大変なことになっている
    • 通常はXDMAがGT COMMONを内蔵しているが、設定のため外部に置いている
    • IPIでやると配線大変ですね…
    67
    XDMA
    GT
    COMMON

    View Slide

  68. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!
    • 配線が大変なことになっている
    • In System IBERTの接続が結構大変
    • DRPポートとデバッグ線の接続
    • 補助用RTLモジュールを作って
    なんとか配線
    68
    IBERT
    配線
    補助
    RTL
    PCS
    /PMA

    View Slide

  69. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!
    • リファレンスクロックはMMCMで156.25[MHz]を生成
    69
    156.25[MHz]
    QPLLREFCLKSEL[2:0]
    = 3’b111

    View Slide

  70. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!!
    • 合成できたので10GbEスイッチに接続! …リンクせず。。。
    • IBERTを確認
    • In System IBERTを入れてあるので同じデザインで確認できる
    • 光ファイバでのループバックで確認
    • 結果
    • 全く開いていない… どうして。。。
    70

    View Slide

  71. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    10GbEチャレンジ!!
    • 同じデザインで10GbEのDACをSFP1SFP2に接続
    • SFP2->SFP1のリンクを測定
    • ちゃんと通信できそう…
    71

    View Slide

  72. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    まとめ
    • 10GbEを動かすにはもう少し調整が必要そう
    • 12.5[Gbps] は動いてるので伝送路的には問題ないはず
    • ただし、リファレンスクロックの問題は要検討
    • トランシーバのアナログ周りの設定 (スイングや増幅器の設定など) を調査
    • IBERTは便利
    • この周波数帯を観測できる機材はさすがに手がでない…
    • 現状AXU5EV-Pですぐに動かせるのは 1000BASE-X + PCIe Gen3x2 まで
    • 10GbEで通信して何かしらPL側で処理をしてホストに流すシステムを作るには
    10GbEの問題の解決が必要
    • AXU5EV-P
    • 比較的安価に手に入るボードとしてインターフェースも豊富
    • 10GbEさえ動けば、ボードに期待する機能が一通り動きそうなので
    引き続き調査を行う
    72

    View Slide

  73. Fixstars Group www.fixstars.com
    Copyright © Fixstars Group
    Thank You
    お問い合わせ窓口 : [email protected]

    View Slide