差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
testbench:introduction_to_verilog_hdl:g-link [2015/05/21 20:20] kyotoatlas 作成 |
testbench:introduction_to_verilog_hdl:g-link [2019/02/15 09:07] (現在) |
||
---|---|---|---|
行 2: | 行 2: | ||
ここでは G-Link という通信規格を扱います。 | ここでは G-Link という通信規格を扱います。 | ||
G-Link は光通信の規格で、NIM のような電気信号に比べて高速でデータを送受信可能です。 | G-Link は光通信の規格で、NIM のような電気信号に比べて高速でデータを送受信可能です。 | ||
- | ただ、ここで扱いたいのは G-Link とはなんたるぞや、という話ではなくて、何かの素子を載せるにはどうしたらよいかということです。 | + | ただ、ここで扱いたいのは G-Link とはなんたるぞや、という話ではなくて、何らかの素子を扱うにはどうしたらよいかということです。 |
行 11: | 行 11: | ||
===== データシート ===== | ===== データシート ===== | ||
G-Link に限った話ではないですが、データシートを参照します。 | G-Link に限った話ではないですが、データシートを参照します。 | ||
+ | データシートというのは素子ごとにメーカーが用意する「取扱説明書」であり、ユーザーからしたら「教科書」みたいなものでもあります。 | ||
+ | その素子がどんな役割を持っているのか、またそれぞれのピンにはどんな信号をつなげばいいのか、といったことが全てこのデータシートの中に書いてあります。 | ||
+ | なので、初めての素子を使う時にはこのデータシートを熟読しないといけません。 | ||
+ | |||
+ | < | ||
+ | データシートはにはメーカーが提供する全ての情報が書いてあります。 | ||
+ | なので、これを熟読しておけばその素子のプロになれます。 | ||
+ | 教員から「こんなこと出来るんじゃない?」とか言われても、データシートでダメと書いてあればダメです。 | ||
+ | </ | ||
+ | |||
+ | では、実際に G-Link に使われる石のデータシートを少し見てみましょう。 | ||
+ | G-Link の Transmitter/ | ||
+ | そのチップのデータシートは [[http:// | ||
+ | ここにこのチップの各ピンの説明、どんな電源を与えればいいのか、データレートはどこまで耐えられるのかなどなど色んな情報が書いてあります。 | ||
+ | まずはざっと見てみてください。 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== G-Link Tx ===== | ||
+ | 実際に Transmitter 側のチップである HDMP-1032A を使って G-Link を送信する PT6 ファームウェアを見てみましょう。 | ||
+ | データシートの p.16, p.17 に このチップのピンの説明が書いてあります。 | ||
+ | ここは特にじっくり見るようにしましょう。 | ||
+ | ここを読み飛ばしたことによってミスることはよくあります。 | ||
+ | 例えば、ある機能を ON にするためにピン " | ||
+ | |||
+ | ここを見ながら分かることをザクザク書き出してみましょう。 | ||
+ | |||
+ | * TXDIV ( ピン 26, 27 ) | ||
+ | 横に説明がつらつら書いてありますが、Figure.2 を見に行った方が分かりやすいと思います。 | ||
+ | この 2 bit で data/word rate をコントロールしています。 | ||
+ | 何 MHz のクロックを入れるかを考えて決めましょう。 | ||
+ | ATLAS の場合 ( というか LHC のクロックを使う場合 )、40 MHz のクロックを使います。 | ||
+ | TXDIV が 2'b00 の場合 40-70 MWord/sec, 2'b01 の場合 20 - 45 MWord/sec と書いてあります。 | ||
+ | 2'b00 でもリンクはとれるのかもしれませんが、レンジのギリギリで使いたくは無いので 2'b01 で使うべきなんだということが分かります。 | ||
+ | |||
+ | また、2' | ||
+ | これを利用して一旦リンクを切って、リンクをとり直すということが可能です。 | ||
+ | 完全に余談ですが、TGC の人たちはこの操作を " | ||
+ | |||
+ | * TXFLAG, TXFLGENB ( ピン 6, 10 ) | ||
+ | G-Link は通常 TX[15:0] を利用して 16 bit/word でやりとりします。 | ||
+ | が TXFLGENB を High にすることで TXFLAG を 17 bit 目として扱うことが出来るようになります。 | ||
+ | |||
+ | * TXCNTL, TXDATA ( ピン 4, 5 ) | ||
+ | G-Link には data/ | ||
+ | TXDATA が High で TXCNTL が Low なら data word、その逆が control word, 両方 Low なら idle word です。 | ||
+ | リンクがおかしくなった時には上記の TXDIV を " | ||
+ | |||
+ | |||
+ | |||
+ | 他にも色々と説明が書いてありますので、ひと通り見てみてください。 | ||
+ | これらが分かれば、 |