高速シリアルトランシーバ

20Q3.03B

FPGA の高速シリアルトランシーバ (5)

この連載もついに最終回です。前回は Xilinx の Transceiver Wizard で Aurora 64B/66B から送られてくる初期化シーケンスを受信するところまで見てきました。今回は初期化シーケンスを最後まで進め、データを送受信するところまでシミュレーションしてみます。 今回はデータの送信機能は実装せず、Xilinx のコアからのデータを受信するだけにとどめますが、入出力インタフェイスやクロック周りなどをしっかり実装すれば合成可能な実装に応用することもできます。前回の記事...
20Q3.03B

FPGA の高速シリアルトランシーバ (4)

早いもので、この連載もいよいよ後半です。前回はちょっとディープな内容になってしまいましたが、今回はいよいよ Xilinx の Aurora 64B/66B コアと接続して通信する回路を作ってみます。前回あたりの記事は流し読み程度の理解でも大丈夫なように書いていきたいと思いますので、お付き合いいただければ幸いです。 まずは Aurora 64B/66B の仕様から Aurora 64B/66B に関する公式のドキュメントは Xilinx のウェブサイトの IP コア関係資料の、Aur...
20Q3.03B

FPGA の高速シリアルトランシーバ (3)

前回の記事では Vivado で Aurora 64B/66B コアを生成し、シミュレーションで動かしてみましたが、中身はブラックボックスでした。外からわかるのは、 シリアルトランシーバから信号が出始めるまでは時間がかかる (約4.5µs)リンクが確立されるまではさらに時間がかかる (約19µs)データを送受信するパラレルインタフェイスは、シリアルリンクのラインレートのクロックを分周したものになっている といったことです。もちろん、Aurora 64B/66B コアを使ってデータを...
20Q3.03B

FPGA の高速シリアルトランシーバ (2)

連載2回目となりました。前回は FPGA 設計ツールはさわらずに、高速シリアルトランシーバに関する基本的なことがらを紹介しましたが、「習うより慣れろ」とか「百聞は一見にしかず」と申しますので、今回は難しい設計は一切やらずに、Xilinx の Aurora コアをぽちぽちっと生成して、シミュレーションで動かしてみることにしましょう。シミュレーションなので、トランシーバのポートを持った FPGA ボードがなくてもできますし、ボードをお持ちの方はちょっと手を加えれば実機で動かすこともそれほど難しくあ...
20Q3.03B

FPGA の高速シリアルトランシーバ (1)

このコースでは、最近の高性能 FPGA にはほぼもれなく搭載されている高速シリアルトランシーバを使ったシリアルリンクについて紹介していきたいと思います。高速シリアルトランシーバは PCI Express や Ethernet, USB のような標準インタフェイスを FPGA に実装する際にも用いられますし、FPGA どうしを直結するための専用のプロトコルも各 FPGA ベンダから提供されており、広く応用されています。多くの場合、これらは IP コアによってブラックボックス化されていて、設計者が...
タイトルとURLをコピーしました