FC2カウンター FPGAの部屋 2008年02月24日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Virtex4のDCM

私はDCMを使用する際に、IPではなくDCMプリミティブを使用している。DDR2 SDRAMコントローラもSpratan3EのDDR SDRAMコントローラをベースに作り直しているので、DCMプリミティブもそのまま使用していた。
今回、インプリメント時にDDR2 SDRAMコントローラ用のDCMのDLL_FREQUENCY_MODEがLOWだとだめだとDRCが言ってきたので、HIGHに変更した。その後、シミュレーションをしていなかったのだが、スイッチや7セグLEDを上につけてシミュレーションを行ったところ、動作しなかった。
なんだなんだと思って、詳細に見てみたところCLK90が出ていなかった。そういえばVirtex2ではDLL_FREQUENCY_MODEがHIGHだとCLK90とCLK270はでなかった。
Virtex4ではDCMが変更になっているので、DCMプリミティブも変更になっているはずだと思って、ユーザーズマニュアルを見てみた。そうすると、DCM_BASE, DCM_PS, DCM_ADVの3つのプリミティブを使うようだった。(Virtex-4 ユーザーガイド UG070(v1.4)2005年9月12日の56ページから転載)
Virtex4_DCM_080224.png

これを使わないとVirtex4用のDCMは使えないようだ。ちなみにDCM_ADVのVerilog HDLソースコードを読んでみたらDLL_FREQUENCY_MODEがHIGHでもCLK90とCLK270は出力されるようだった。
やはり、CoregenでDCMのIPを使ったほうが安全だと思った。ちょっとやってみたが、DCM_ADVが出てきた。
DCM_ADV_080224.png
  1. 2008年02月24日 15:18 |
  2. Virtex4のお勉強
  3. | トラックバック:0
  4. | コメント:0