Virtex5, Virtex4, Spartan3Eのインプリメント結果3(SLICEL)ではSLICELを比較したが、今度はIOBの違いを検証してみようと思う。
下はFPGA Editorで見たSpartan3EのIOB、ddr_dq<0>だ。

上のIOB、ddr_dq<0>をダブルクリックすると下のような表示が開く。

出力では出力用DDRレジスタと出力をイネーブルする信号のDDRレジスタを使用してる。入力はクロックの立下りエッジ用のFFのみを使用しているが、本当であればfall, rise両方の入力用FFを使っている。riseの方は上のモジュールで接続していないので、なくなってしまったようだ。本来ならばIOBのFFを全て使う予定なのだ。
次にVirtex4のIOBだ。

Virtex4からバッファと入力用FFと出力用FFに分かれている。
次に入力用FFの ddr_sdram_cont_inst/read_data_module_inst/dq_fall<0>を見てみよう。

入力遅延なしで入力用FFに入っている。
次に出力用FFの ddr_sdram_cont_inst/write_data_module_inst/ddr_out<0> を見てみよう。

Spartan3Eの出力用DDRレジスタと同様の回路になっている。あたりまえか???
次にVirtex5だ。Virtex4と同様に、入力用FFの ddr_sdram_cont_inst/read_data_module_inst/dq_fall<0>と出力用FFの ddr_sdram_cont_inst/write_data_module_inst/ddr_out<0> があるが、間にODELAYがある。

上の入力用FFと出力用FFを拡大するとこうなる。

まずは、入力用FFの ddr_sdram_cont_inst/read_data_module_inst/dq_fall<0>の中身は下のようだ。

真ん中から、やや右下にあるのがDDRのFFのようだ。そのうちの1つにエッジしか使用していない。
次に、出力用FFの ddr_sdram_cont_inst/write_data_module_inst/ddr_out<0>の中身を見てみる。

中のFFが2つともDDRになっている。これはSpartan3E、Virte4と同じ回路だ。(当たり前)
今後はODELAYを使ってみたい。それとISERDESとOSERDESのインスタンスがどのようになるのかも興味がある?
2007/03/25: 追記:ODELAYでなくてIODELAYでした。
Virtex5のユーザーズガイドによるとILOGIC/ISERDESとOLOGIC/OSERDESの両方または、いずれか一方と接続できるそうです。
- 2007年03月24日 20:29 |
- Virtex5のお勉強
-
| トラックバック:0
-
| コメント:0