Kintex-7 PCIe Express光ボード「Cosmo-K」>開発日記>2017年5月

2017年5月

1Gs/s 16bit ADCからのデータ受信

2016.5.11

ついに1Gs/s 16bit 2CHの高速ADC(TI社 ADS54J60)からのデータの受信ができるようになりました。

Csk_1g

使っているボードは、Cosmo-K+というKintex-7のPCI Expressボード。いまはPCI Expressには挿さずにスタンドアローンで動かしています。

ADCからのデータは、JESD204Bという規格で、10Gbps×4本で送られてきます。

1494561450_1g

トータルで40Gbpsの信号です。

この中にJESD204Bのデータが入っています。

何度かやってみると、毎回、4つあるGTXのフレームの先頭がずれるようですます。

次の図ではGTX1だけ1ワード遅れています。また、先頭にある11Cというコード(/R/)が2回見えています。

Zure1

GTXの中でチャネルボンディングとかしてうまく合わせられるはずなのですが、まだうまく行っていません。

とりあえず、このFPGA内蔵ロジアナで取り込んだデータをExcelにエクスポートしました。

Exp

これから解析ですよ。

16進に直して、Kコードを置換したり色を付けて見やすくします。

Kcode

/A//R//Q/で始まるILASフェーズが見えてきましたね。

トラ技によればILASフェースは14バイトとのことなのですが、上の解析データでは17バイトあります。これはSYSREFの周期の違いだそうで、後ろに無駄なデータが詰まっているだけなので問題はないようです。

データを見てみると、GTX1とGTX3は00とFFばかりです。つまり、AD変換結果の上位16bitなのでしょう。

Excelで各セルに

=MOD(HEX2DEC(K271)+HEX2DEC(P271)*255+32768,65536)-32768

みたいな式を書いて2つの16進数値を結合し、10進に直して、さらに時系列に並べます。

すると、生の波形が見えてきました。

Raw

これは入力に何もつながないときの波形です。ノイズのヒストグラムを取ってみます。

Hist

おお、釣り鐘型のヒストグラムが見えてきました。4つおきに大きな頻度になっているのはDNLが極端に悪いか、何かを間違っているためでしょう。

とりあえず、まだ波形は綺麗ではないのですが、何か正しそうなデータが受信できるようになりました。

あとは、弾性バッファを入れたり、チャネルボンディングとかをできるようにして、4つのGTXのフレームの先頭がぴったり合うようにしたいですね。

FPGAからARPをひたすら投げる

2016.5.10

インターンで来ている学生さんが、Kintex-7のGTXにGigabitEtherを実装してARPをひたすら投げる回路を作ってくれました。FPGAから全力でARPを投げると帯域の50%を使うそうです。「これをやるとネットワークがめっちゃ遅くなる」そうです。

 

ARP自体のパケットのサイズ、プリアンプル、フレーム間ギャップなどを考えると、これで妥当な速度だそうです。

それから、他人のARPに勝手に反応するFPGAを作ればネットワークを使用不可能にさせてしまうものも作れるそうです。

 

↓のモジュールはSFP+からケーブルのイーサネットを引き出すためのものだそうです。

 

JESD204Bの安定受信

2016.5.9

学生さんがついにJESD204Bの10Gbps×4の信号を安定してKintex-7で受信できるようにしてくれました。今日、私はこれを解析しようと規格やADコンバータの使い方を調べています。

 

高速ADCのSYSREFという信号にノウハウがあるそうです。

 

Cosmo-Kのマニュアルを作った

2017.5.8

久しぶりに製品のマニュアルを執筆しました。

Cosmo-Kのトップページ

http://www.tokudenkairo.co.jp/cosmok/

のリンクから誰でもダウンロードできます。

 

やっぱり、紙のマニュアルがあるっていいですね。

 

Cosmo-KのIBERT試験

2017.05.04

Cosmo-KのIBERT試験を行いました。

Cosmok3pcs

IBERT試験というのは、高速シリアルトランシーバがエラーを起こすマージンを解析するものです。つまり、どのくらい電圧や時間がぶれても大丈夫かを調べることができます。

なんでこんな検査を行ったかというと、今まで6層だとP板のウルトラクイックとかでも10日くらいかかっていたのですが、さすがに納期が長い。

だが、日本の基板会社なら2~4日で製造できる。でも、本当に2日や4日で作った基板で品質は大丈夫だろうか・・・そんな心配があったから比べてみました。

10Gbpsの通信に差はでるでしょうか。

使っているFPGAはXC7K160T-2FFG676Cです。

 

まずは、新基板(日本)でのIBERT検査の結果です。

Newpcb


Newpcb2


10Gbpsで測って、だいたい50%程度のマージンが出ています。10Gbpsでも余裕で通します。

P板(韓国か台湾)で作ったものはどうでしょうか。

Oldpcb


Oldpcb2


いずれのチャネルも10Gbpsで十分に通信ができ、なんと60%を超えているところもあります。

ただ、新基板は2台作っていて、もう1台のもので測ってみると、

Newpcb3

1台目のものよりも良い性能が得られました。P版で作ったものも、過去に測ったときには60%が出たことはなく50%か43.8%でした。このあたりは偶然なのでしょう。

 

結論を言うと、基板メーカーによる差はなく、おそらくFPGAの個体差なのだと思います。10Gbpsが出ているのだから良しとしましょう。


© 2015 TokushuDenshiKairo Inc. All rights reserved