KR260 にはSFP+が実装されていて,10G通信ができる.
いままでなんとなくで使っていたIPについて調べてみる.

このIPには,PMA・PCS・MACが含まれているが,MACの機能を使うと有償のライセンスが必要になる.そのため,個人で利用する多くの場合はMAC IPを自作するか適当なものを拾ってくる必要がある.
このような,10G/25G Ethernet Subsystem IP でMACを利用しない場合に関しての情報をまとめる.
このような使い方をしている例としてFixstersさんの記事がありました.
https://proc-cpuinfo.fixstars.com/2020/05/alveo-u50-10g-ethernet
以下の様に設定した場合について調査したメモ.(Configurations以外のタブは全てデフォルトのまま.)


クロック

gt_ref_clk:GTYトランシーバの差動クロック
- gt_ref_clk_n : 差動クロック,KR260ではY5へ接続されているクロック(156.25MHz)を利用
- gt_ref_clk_p : 差動クロック,KR260ではY6へ接続されているクロック(156.25MHz)を利用
- tx_mii_clk:TX側のMIIバスで用いるクロックは,tx_mii_clkに同期させる必要あり.
以下PG210の一部の日本語訳
”tx_mii_clk は出力信号であり,tx_serdes_refclk と同じクロックです.TX パス全体はこのクロックで駆動されます.このクロック出力に TX パスの MII バスを同期させる必要があります.すべての TX 制御およびステータス信号はこのクロックを基準にします.” - dclk:GT DRP (Dynamic Reconfiguration Port)用のクロック.DRPはAXI4-Liteで駆動する為,AXI4-Liteのマスタ側のクロックソースと接続.
- gt_refclk_out:差動入力された gt_ref_clk を バッファ越しに出力.
- rx_serdes_clk:CDR(Clock Data Recovery)によるクロック生成から復元されたクロック.子のクロックは受信データと同期している.
- rx_clk_out:rx_serdes_clkに等しい.
- rxrecclkout:GTレシーバの受信側で再生されたクロック出力
rx_core_clk
rx_core_clk:以下の通り.
以下PG210の一部の日本語訳
”rx_core_clk 信号は RX の AXI4-Streamインターフェースのクロックに使用される.FIFO が含まれない場合,rx_clk_out で駆動する必要があります.FIFO が含まれる場合,rx_core_clk は tx_clk_out,rx_clk_out,または同じ周波数の非同期クロックで駆動でき
る.”
具体的な例を以下に記載する.
RX パス
- 簡易的なデータフロー:
- mii_rx_0 → 外部ロジック
サブシステムの mii_rx_0 ポートからデータが外部ロジックや上位層に直接渡される。
- mii_rx_0 → 外部ロジック
- FIFO を使用する場合:
- mii_rx_0 → FIFO → 外部ロジックまたは上位層
mii_rx_0 と外部ロジックの間に FIFO を挿入し、クロックドメインの非同期性を吸収します。 - この場合、rx_clk_out_0 が FIFO の書き込みクロック、外部ロジックのクロック が FIFO の読み出しクロックになります。
- mii_rx_0 → FIFO → 外部ロジックまたは上位層
TX パス
- 簡易的なデータフロー:
- 外部ロジック → mii_tx_0
外部ロジックや上位層からのデータが直接 mii_tx_0 に入力される。
- 外部ロジック → mii_tx_0
- FIFO を使用する場合:
- 外部ロジック → FIFO → mii_tx_0
外部ロジック と mii_tx_0 の間に FIFO を挿入し、クロックドメインの非同期性を吸収します。 - この場合、外部ロジックのクロック が FIFO の書き込みクロック、tx_clk_out_0 が FIFO の読み出しクロックになります。
- 外部ロジック → FIFO → mii_tx_0
TXOUTCLKSEL_IN_0* と RXOUTCLKSEL_IN_0* に関して
これらに関しては,”7 シリーズ FPGA GTX/GTH トランシーバー ユーザー ガイド (UG476)” に説明がある.ここでは省略.
リセット
- sys_reset:GT,TX,RXコアを一括リセットする.
- gtwiz_reset_tx_datapath:TX側データパス(PMA+PCS)の行う.
- gtwiz_reset_rx_datapath:RX側データパス(PMA+PCS)の行う.
- tx_reset:TX回路用のリセット.アクティブHighでクロックが安定するまでHighにしておく必要あり.
- rx_reset:RX回路用のリセット.アクティブHighでクロックが安定するまでHighにしておく必要あり.
- user_tx_reset:GTのTX側のリセットが完了するとアサートされる.
PG210には”GT resetdone が Low または,クロックが不安定になったときにアサートされる”と記載されている.ここで,”GT resetdone” は 7 Series FPGAs GTX/GTH Transceivers User Guide (ug476) の Reset and Initialization を読むと,詳細がある.
ug476 中では,TXRESETDONE と記載されている.
(参考)TXRESETDONEがHighになると,GT トランシーバのリセットが完了し使用可能であることを表す. - user_rx_reset:GTのRX側のリセットが完了するとアサートされる.
このあたりの話を正確に理解しようとした場合には,GTトランシーバへの理解が必要になるので,GTX/GTHトランシーバやGTYトランシーバのユーザガイドも確認する必要があります.
統計カウンタ,その他
以下のポートは統計情報にアクセスするために利用される.pm_tickをアサートするとトリガーすることができるらしい.今回は省略する.
- pm_tick_*
- stat_tx_*
- stat_rx_*
- stat_rx_status:現在のリンク状況を出力
- user_reg0_*:User-defined signal from the AXI4-Lite Reg map user_reg0 register.
コメント
how to order enclomiphene generic version
is generic enclomiphene effective
kamagra american express canada
kamagra pour les femmes et les hommes qui souhaitent tomber enceinte
cheapest buy dutasteride price new zealand
discount dutasteride cheap from canada
cheap flexeril cyclobenzaprine uk generic
how to order flexeril cyclobenzaprine generic india
buy gabapentin online canada
gabapentin without a persription
online order fildena cost effectiveness
how to order fildena generic overnight delivery
buy itraconazole australia to buy
buy itraconazole generic version
get avodart australia where to buy
buy cheap avodart canada drugs
cheapest buy staxyn generic good
how to buy staxyn canada purchase
cheap xifaxan price generic
order xifaxan toronto canada
kamagra dodání přes noc bez r x
online lékárny bez předpisu kamagra