1.2K Views
June 29, 22
スライド概要
フィックスターズならではの「FPGA」に関する高速化手法、 効率的な開発ノウハウ、苦労話などについてお話しいたします。
<講演内容>
1、Intel®️ Agilex™️ 開発キットを用いた各種機能トライアル~Agilex™️ を体感する~
Intel®️ FPGAの最新デバイスである Intel®️ Agilex™️ と、その開発の勘所を紹介します。
Agilex™️ シリーズは、エッジからクラウドまで幅広く適用されることが想定されており、今後、目にする機会も増えてくるかと思います。今回、Intel®️ Agilex™️ FシリーズFPGA 開発キットを使えることになり、コアロジック性能、I/O(ネットワーク)、HPS(Hard Processor System = ARMコア)の各要素について試行、評価しましたので共有致します。
Agilex™️ 気になっていたけれど触ったことがない、知っておきたいという方、この機会にぜひご聴講下さい。
2、腕の見せ所が満載な FPGA 開発ボードのすすめ
昨今の部品供給状況の悪化や円安などの影響により、有名どころのFPGAボードのリードタイムの悪化や価格の上昇が起きています。
こういった状況の中、中国のベンダーが開発しているFPGAボードは円安の現時点でも価格が手ごろで、入手性も悪くないということが分かりました。
今回はそういったボードのうち、ALINX社のボードAXU5EV-Pを入手しましたので、使用してみて判明した利点や欠点についての情報を共有いたします。
・当社技術ブログ 記事: https://proc-cpuinfo.fixstars.com/
・フィックスターズグループ/セミナー一覧: https://www.fixstars.com/ja/seminar
・フィックスターズのFPGAシステム開発: https://www.fixstars.com/ja/services/fpga
フィックスターズは、コンピュータの性能を最大限に引き出すソフトウェア開発のスペシャリストです。車載、産業機器、金融、医療など、幅広い分野での開発経験があります。また、ディープラーニングや機械学習などの最先端技術にも力を入れています。 並列化や最適化技術を駆使して、マルチコアCPU、GPU、FPGA、量子アニーリングマシンなど、さまざまなハードウェアでソフトウェアを高速化するサービスを提供しています。さらに、長年の経験から培ったハードウェアの知識と最適化ノウハウを活かし、高精度で高性能なアルゴリズムの開発も行っています。 ・開催セミナー一覧:https://www.fixstars.com/ja/seminar ・技術ブログ :https://proc-cpuinfo.fixstars.com/
Fixstars Group www.fixstars.com 実践的!FPGA開発セミナー vol.11 2022/06/29 18:00~ Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Group www.fixstars.com Intel® Agilex™ 開発キットを用いた 各種機能トライアル ~Agilex™ を体感する~ Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Group www.fixstars.com Who I am Ryuji NISHIDA 写真 西田 竜之 ソリューション第四事業部 シニアエンジニア 3 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 自己紹介 ● 西田竜之 ○ FPGAを用いたシステム開発に従事 ○ ハードウェア開発をメインに担当 ○ 略歴 ■ 半導体ベンダ ● サーバー向けASIC開発 ■ 映像事務機メーカー ● 高画質エンジンLSI 映像機器向けFPGA開発 ■ フィックスターズ ● FPGAを用いた高速取引金融システム ● OpenCLによるアプリの高速化 4 Copyright © Fixstars Group
Fixstars Group www.fixstars.com アジェンダ 1. Intel® Agilex™ 概要 2. Intel® Agilex™ 性能試行&使いこなし 1. コア性能 2. ネットワーク I/O 性能 3. HPS 試行 3. まとめ 5 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 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 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 使用評価ボード ● 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 参照URL: https://www.intel.com/content/www/us/en/products/details/fpga/development -kits/agilex/f-series.html Copyright © Fixstars Group 7
Fixstars Group www.fixstars.com 開発環境 ● 合成ツールバージョン ○ 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 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ コア性能 性能試行 ● 目的&方法 ○ コアロジック領域(ALM、配線)に着目して ■ どこまでロジック領域を使い切れるのか? ■ その時のFmaxはどの程度か? ALMを敷き詰める回路で実験 ● ALM 構造(参考) ○ 4 FF, 2 addr, LUT, MUX などで構成される 参照URL: 9 https://www.intel.com/content/www/us/en/docs/programmabl e/683577/current/alm-resources.html Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ コア性能 性能試行 ● ALM 敷き詰め回路 ○ 3入力EXOR x 2 + 4FF ≒ 1 ALM ○ 690 x 660 = 455,400 ALM(デバイスTotal 487,200 ALM) ○ 入出力端は FF をスキャンチェーン接続し、入出力1ポートず つを外部接続 ※削除されないようにするため ○ 合成ターゲット周波数:1GHz 10 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ コア性能 性能試行 ● 合成結果:Logic Utilization 98%, Fmax 848MHz を達成 ○ Hyperflex™アーキテクチャの恩恵も一つの要因 Timing レポート例 Hyper-Register (配線領域のFF) を使い、配線遅延 の影響を緩和 11 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ コア性能 Hyperflex™アーキテクチャ ● Stratix10から採用 ● 配線領域にFFが存在 ⇒ パイプラインを刻みやすい ・Agilex™ ではBypassパスがより高速に 参照URL: https://www.intel.com/content/www/us/en/docs/programmabl e/683458/current/core-architecture.html Copyright © Fixstars Group 12
Fixstars Group www.fixstars.com Agilex™ コア性能 Hyperflex™アーキテクチャ活用法 ● 基本的な使い方 ○ Hyper-Retimer(配線領域 FF への移動)、 Hyper-Retiming(FFをまたいだタイミング最適化) ⇒ デフォルトでON 自動で最適化が実行される 13 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ コア性能 Hyperflex™アーキテクチャ活用法 ● さらなるFmax向上のための対処 ○ あらかじめパイプライン段数を刻む ■ 例)モジュール間のバス接続の配線遅延に、パイプライン挿入 ■ スループット→ 向上 レイテンシ → サイクルは増えるものの、 Fmax向上分は補償される ■ パイプラインが有効な箇所、段数の判断はツールサポートがある (Fast Forward Compile) ○ パイプライン追加時の注意点 ■ Hyperflex™に適した構成にすることでFmaxの改善が見込める (詳細は後述) 14 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ コア性能 Hyperflex™アーキテクチャ活用法 ● Fmax向上のためのパイプライン追加時の主な注意点 ○ 非同期リセットを使用しない → Hyper-Registerに移動できない ○ 同期リセット データパスのパイプライン先頭と末尾のみをリセットし、 その間のリセットを削除 末尾のリセット解除タイミングを遅らせることで、不定値伝搬を防ぐ ○ クロックイネーブルは対応可能 ただし大きなファンアウトは 性能低下となる ○ Retiming の妨げになる Loop は 避ける データ保持用のFFを 分離してDuplicate 参照URL: https://www.intel.com/content/www/us/en/docs/programmable/683353/21-3/retiming-with-clock-enables.html Copyright © Fixstars Group 15
Fixstars Group www.fixstars.com Agilex™ コア性能 Hyperflex™アーキテクチャ活用法 ● その他ツール対応 ○ Platform Designer : Hyperflex™ に対応可能 ※ただし、デフォルトから適宜変更必要な設定もある デフォルトFALSE → TRUEでFmax改善 デフォルトOFF → ONに変更 16 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ コア性能 Hyperflex™アーキテクチャ活用法 ● その他ツール対応 ○ Intel™ HLS : Hyperflex™対応のRTLが出力される ■ 高位合成ツールは、Fmaxに合わせてパイプラインを刻むことは得意 Hyperflex™との親和性も高いと考えらえる 17 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ ネットワークI/O性能 ● Agilex™ トランシーバー Tile構成 ○ マルチダイ構成 機能に適した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 参考 URL ■ 16ch x 32Gbps NRZ https://www.macnica.co.jp/business/semiconductor/articles/intel/140562/ ■ PCIe Gen5 16Lane, CXL etc. 18 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 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 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ ネットワークI/O性能 ● E-Tile Hard IP for Ethernet試行 ○ 10GE x 4Lane 動作デザイン ■ Exampleデザインを流用 Exampleデザインは、1portのみがインスタンス Internal LoopBack or TX->RX LoopBackモジュールを使う前提 ■ 2port分インスタンスして、ケーブル接続 実動作に近い評価を行うことが目的 ToolKi t (Example original) TX RX TX RX ToolKi t TX RX 20 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ ネットワークI/O性能 ● E-Tile Hard IP for Ethernet試行 ○ E-Tile ToolKit 実行結果 ■ PRBS31通信 2 port 合計 8ch ■ No Error で実行可能 21 Copyright © Fixstars Group
Fixstars Group www.fixstars.com Agilex™ ネットワークI/O性能 ● E-Tile Hard IP for Ethernet試行 ○ 通信特性の確保 ■ ToolKit 実行では、RX Adaptaion mode を有効にする Initial Adaptation → Start One-Time or Continuous Adaptation ■ 通常動作時は、Continuous Adaptation モードで動作 している様子 ■ 高速信号の通信品質の確保には、RX Adaptaionは必須 Copyright © Fixstars Group 22
Fixstars Group www.fixstars.com Agilex™ HPS 試行 ● 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 起動にチャレンジ 参照URL: https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/agilex/f-series-transceiver.html Copyright © Fixstars Group 23
Fixstars Group www.fixstars.com Agilex™ HPS 試行 ● Linux 起動試行 ⇒ 失敗。。 ○ QSPIからのコンフィグが正常終了しない (ES品だから??デバッグ間に合わず。) ○ 今回、ボード移植にあたって実施した内容を共有する ● ハードウェアのGSRDとの差異を変更 ○ DDR4 DRAM構成 ■ DRAMモジュール → UDIMMに変更 ○ ボードペリフェラルの変更 ■ Triple Speed Eathernet IPを削除 ● Linuxビルドは手順通り実行を完了出来た Copyright © Fixstars Group 24
Fixstars Group www.fixstars.com Agilex™ HPS 試行 ● ボード移植 ○ 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を残すとライセンスエラーで途中停止 Copyright © Fixstars Group 25
Fixstars Group www.fixstars.com まとめ ● Agilex™ 評価ボードを用いて、以下の各種試行を実施した。 ○ コア性能 ○ ネットワークI/O性能 ○ HPS 機能 ● コア性能は、98% Utilization, Fmax 848MHz を達成 Hyperflex™アーキテクチャが有効に働いていることが 要因の一つと考えられる Hyperflex™を有効に活用する情報を整理、提供した。 ● ネットワーク I/O 性能確認において、安定した10Gbps x 4Lane x 2port の通信が確認出来た。 ● HPS Linux起動にチャレンジしたがQSPIコンフィグに失敗 Copyright © Fixstars Group 26
Fixstars Group www.fixstars.com 腕の見せ所が満載な FPGA 開発ボードのすすめ Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Group www.fixstars.com Who I am Kenta IDA 写真 井田 健太 ソリューション第一事業部 シニアエンジニア 28 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 自己紹介 ● 井田 健太 ● FPGA エンジニア ○ 主にFPGA開発を担当 ■ RTL開発からLinuxドライバまで ■ Vivadoぽちぽちマン ○ ときどきMCU/組込みLinux案件もやります ● 略歴 ○ 製造装置メーカー ■ 装置の組込みソフトウェア担当 ● RTOSを使ったファームウェア開発 ● Windowsソフトウェア開発 ■ 制御ボード上のFPGAの設計にも手をだす ● Cyclone II/III/IVが載っていた ○ フィックスターズ ■ FPGA を用いたリアルタイム映像処理システム開発 ■ Alveoなど比較的大規模なFPGA向けの開発が多い 29 Copyright © Fixstars Group
Fixstars Group www.fixstars.com ALINX AXU5EV-P • ALINX社のZynq Ultrascale+ XCZU5EV搭載ボード 30 Copyright © Fixstars Group
Fixstars Group www.fixstars.com ALINX AXU5EV-P • ALINX社のZynq Ultrascale+ XCZU5EV搭載ボード JTAG CAN RS-485 FMC UART (PL) UART (PS) HDMI OUT Display Port USB3.0 x4 (ハブ経由) HDMI IN GbE (PL) SFP+ 2 GbE (PS) SFP+ 1 MIPI CSI-2 PCIe Gen3 x2 Copyright © Fixstars Group M.2 NVMe 31
Fixstars Group www.fixstars.com 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 (ケーブル付属) Copyright © Fixstars Group 32
Fixstars Group www.fixstars.com 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ついてるの が(筆者的に)うれしい • ネットワークオフロード遊びが出来そう Copyright © Fixstars Group 33
Fixstars Group www.fixstars.com 似たようなボードあるのでは? • 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 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 購入先 • • 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 出典:https://ja.aliexpress.com/store/911112202 35 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 購入~到着 • • 6/6にaliexpressで注文 6/9に日本到着・通関手続き完了 • 配送はDHL • 通関手続き後、関税支払い待ちに • • 支払いしなければ対面で支払い • DHLのサイトから支払い 6/10到着 36 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 開封 • ロゴ入りの箱があらわれる 37 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 開封 • 箱の中はきっちり緩衝材が入っている 38 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 基板外観 • HDMI OUT/IN ADV7511とADV7611が見える 39 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 基板外観 • • USB HUB GL3523T PS/PL Ethernet PHY • KSZ9031RNX 40 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 基板外観 • • SFP+スロット2つ PCIe x4カードエッジ • x2のみ接続 • ポリイミドテープで 保護されている 41 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 基板外観 • M.2 • • • • Mkey 1レーン 2280まで スペーサー付属 付属ネジが変なので要別途購入 • 頭が小さすぎて SSDの基板止められない… 42 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 動作確認 PS USB-UART 開発用PCへ接続 mini DP ディスプレイへ接続 USBに キーボード マウス 接続 +12V供給 裏にmicroSD 43 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 動作確認 • • • Zynq Ultrascale+なので単体動作可能 ファクトリテストのイメージ書き込みmicroSDが刺さった状態で届くので 電源投入したら動く 12Vの電源を入力 • アダプタ付属するけどPSE的にダメなアダプタなので USB Type-C PDトリガーケーブル 12Vから供給 • • Shigezoneで買ったケーブルを使用 https://www.shigezone.com/product/triggercable/ 44 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 動作確認 • 出荷時確認画面が表示される • ボードの各種機能を確認しているように見える 45 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 動作確認 • 開発PCからUSB-UARTでコンソールにアクセス • PetaLinuxが動いている • root:rootでログインできる • sshも動作しているのでPS Ethernet接続すればログイン可能 46 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 開発環境 • • • Vivado動作PCと同じマシンに挿すと、PCIeを試すときの再起動が面倒 別のマシンを用意して接続 • ハーフハイトPCIまでのマシンだったのでしばらく蓋を開けて運用 • そのうち延長ケーブルで何とかしたい… 余談: • DellのOptiplexだと 50系以上だとIntel AMTが使えるものが 多いので、50系の中古品を調達したが つかえなかった… 無念 • • • • AMT使えるとリモートで 電源ON/OFFができる PCIe開発には是非欲しい機能 • Optiplex 7050などでは使えるのを 確認しているので、そのあたりを 買うと便利 このマシンは後でRPiから 電源ボタンを制御する回路接続予定 オフィスのAlveo U50DD搭載機は RPiで電源ボタン制御できるように なっています 47 Copyright © Fixstars Group
Fixstars Group www.fixstars.com サンプルデザイン • • • ボードにメールアドレスが書かれたカードが付属 • 適当にボード買ったからリンク送ってとメールをする メールで販売元とボード型式を送ると、 rarアーカイブのダウンロードリンクが送られてくる • Dropboxと聞いてたけど別のサービス経由 • 23.9[GiB] と結構大きいサイズ 中にはボードの各機能を動かすVivadoのサンプルデザインと、 ボードの回路図やユーザーマニュアルのPDFが含まれている • 一通り開発には困らない情報が含まれる 48 Copyright © Fixstars Group
Fixstars Group www.fixstars.com デザイン作成の目標 • 目標 • ホストとPCIe Gen3 x2での通信を行えるようにする • SFP+経由での10GbE通信を行えるようにする • 要するに、Alveo U50を廉価に置き換えができる環境を構築したい 49 Copyright © Fixstars Group
Fixstars Group www.fixstars.com PCI Expressの動作確認 • • サンプルデザインになぜかPCIeのデザインが含まれていない とりあえずXDMAを入れたデザインを作って動作を確認 DMAアクセス用BRAM PCIe refclk PCIe リセット XDMA PSからILA用クロック供給 リンクアップ信号観測用ILA 50 Copyright © Fixstars Group
Fixstars Group www.fixstars.com PCI Expressの動作確認 • XDMAの設定 - 対象デバイスにGTHが1つだけなので特に迷うことはない Gen3 x2 51 Copyright © Fixstars Group
Fixstars Group www.fixstars.com PCI Expressの動作確認 • XDMAの設定 - XDMA IPでのGTの配置制約を無効化 • ボード固有の設定を使うようにする trueに設定 • ピンの制約を追加 set_property set_property set_property set_property set_property PACKAGE_PIN AC11 [get_ports perstn] IOSTANDARD LVCMOS33 [get_ports perstn] PACKAGE_PIN Y6 [get_ports {pcie_refclk_clk_p[0]}] PACKAGE_PIN P2 [get_ports {pcie_mgt_rxp[1]}] PACKAGE_PIN T2 [get_ports {pcie_mgt_rxp[0]}] 52 Copyright © Fixstars Group
Fixstars Group www.fixstars.com PCI Expressの動作確認 • 動作確認 • ホストPCがPCIe Gen3 x2として認識 • DMA転送の動作を確認 $ 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- AutBWIntLnkSta: Speed 8GT/s (ok), Width x2 (ok) TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt53 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 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]のクロックが必要 Copyright © Fixstars Group 54
Fixstars Group www.fixstars.com 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 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10G用通信機能の追加(つづき) • 対策 • リファレンスクロックを貼りかえる • 100[MHz]もしくは125[MHz]から10.3125[GHz]を作る • FPGA内部で生成した156.25[MHz]を使う 56 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10G用通信機能の追加(つづき) • • 100[MHz]もしくは125[MHz]から10.3125[GHz]を作る QPLLには Fractional-Nという機能があり、整数比ではないクロックを作ることができる UG576 p.51 https://docs.xilinx.com/v/u/en-US/ug576-ultrascale-gth-transceivers 57 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10G用通信機能の追加(つづき) • GT Wizardにて使いたいリファレンス周波数をいれてCalcを押すと計算してくれる 58 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10G用通信機能の追加(つづき) • FPGA内部で生成した156.25[MHz]を使う • GTのリファレンスクロックは、 専用のクロック入力から入力した クロックを使うことが推奨される • GT用のクロック入力とそれ以外の入力では 電源が異なる • • GT用:VCCINT それ以外:VCCAUX • ノイズが載りやすい電源とは 別にすることにより、 ジッタの発生を抑えている • 内部テスト用にMMCMなどから クロックを入力することが可能 • GTGREFCLKxにMMCMから入力 • QPLLxREFCLKSELを3’b111に設定 59 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 通信できるかどうかの確認 • • • • リファレンスクロックが125[MHz]となっているので、 SFPは10[Gbps]通らない設計なのでは? サンプルデザインに12.5[Gbps] のIBERTデザインがあるので動作確認 10GbE用のDACでSFP1<->SFP2を接続 SFP1->SFP2で測定 → 問題なさそう 60 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 通信できるかどうかの確認 • • 10GbE用の光モジュールとループバック用ファイバを使って測定 DACより減衰しているようだが、リンクは出来ている。 61 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 通信できるかどうかの確認 • • 1000BASE-X (1.25[Gbps]) では動くか? • →デザインを作成して10GbEのスイッチと光モジュール+ファイバで接続 • リンクすることを確認 IBERTも問題なさそう 62 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ! • ハードウェア的には問題なさそうなので、10GbEのデザインを作成 63 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ! • ハードウェア的には問題なさそうなので、10GbEのデザインを作成 10G周り XDMA GT COMMON 64 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ! • ハードウェア的には問題なさそうなので、10GbEのデザインを作成 10G周り GT COMMON 65 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ! • ハードウェア的には問題なさそうなので、10GbEのデザインを作成 In System IBERT 10G PCS/PMA 10G 10G周り MAC GT COMMON 66 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ! • 配線が大変なことになっている • 通常はXDMAがGT COMMONを内蔵しているが、設定のため外部に置いている • IPIでやると配線大変ですね… XDMA GT COMMON 67 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ! • 配線が大変なことになっている • In System IBERTの接続が結構大変 • DRPポートとデバッグ線の接続 • 補助用RTLモジュールを作って なんとか配線 IBERT 配線 補助 RTL PCS /PMA 68 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ! • リファレンスクロックはMMCMで156.25[MHz]を生成 156.25[MHz] QPLLREFCLKSEL[2:0] = 3’b111 69 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ!! • • • 合成できたので10GbEスイッチに接続! …リンクせず。。。 IBERTを確認 • In System IBERTを入れてあるので同じデザインで確認できる • 光ファイバでのループバックで確認 結果 • 全く開いていない… どうして。。。 70 Copyright © Fixstars Group
Fixstars Group www.fixstars.com 10GbEチャレンジ!! • • • 同じデザインで10GbEのDACをSFP1<->SFP2に接続 SFP2->SFP1のリンクを測定 ちゃんと通信できそう… 71 Copyright © Fixstars Group
Fixstars Group www.fixstars.com まとめ • 10GbEを動かすにはもう少し調整が必要そう • 12.5[Gbps] は動いてるので伝送路的には問題ないはず • ただし、リファレンスクロックの問題は要検討 • トランシーバのアナログ周りの設定 (スイングや増幅器の設定など) を調査 • IBERTは便利 • この周波数帯を観測できる機材はさすがに手がでない… • • 現状AXU5EV-Pですぐに動かせるのは 1000BASE-X + PCIe Gen3x2 まで 10GbEで通信して何かしらPL側で処理をしてホストに流すシステムを作るには 10GbEの問題の解決が必要 • AXU5EV-P • 比較的安価に手に入るボードとしてインターフェースも豊富 • 10GbEさえ動けば、ボードに期待する機能が一通り動きそうなので 引き続き調査を行う Copyright © Fixstars Group 72
Fixstars Group www.fixstars.com Thank You お問い合わせ窓口 : [email protected] Copyright © Fixstars Group