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

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

FPGAの部屋

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

Verilog2001版DDR SDRAMコントローラーのISE9.1iSP1によるインプリメント

Verilog2001版DDR SDRAMコントローラーのインプリメントでISE9.1iSP1でインプリメントするとロータリーエンコーダと設定値を表示するLCD表示回路は動作するが(下の写真のピンクで囲んだ部分)、DDR SDRAMのリード値を表示するLCD表示回路(下の写真の緑色で囲んだ部分) は "0000" のままで表示が変化しない。
DDR_Verilog_ISE91i_Config_2_070224.jpg

ISE9.1iSP1 がおかしいのかと思って、.ngc を何とかテキストに変換して ISE8.2iSP3 のものと比較しようかと思ったが、うまく行かない。Translate終了後のVerilogシミュレーションモデルも比較してみたが、まったく違っていて比較が出来ない。
その時に、ふとFPGAインフォメーションBBSConfiguration Rateを変更したらコンフィギュレーションが安定したという記事を見たのを思い出した。

これ以下の記述は間違っています。コンフィギュレーションレートを変更して正常動作したのではなくて、何度もコンフィギュレーションすると正常動作するようです。

もしかしてと思って、"Generate Programming File" の Properties の Configuration Options の Configuration Rate の Default(1) を 3 に変更してみたら、今まで動かなかったDDR SDRAMのリード値を表示するLCD表示回路も動くようになった。
DDR_Verilog_ISE91i_Config_070224.png

Help を見ると Spartan3E のデフォルトの clock configuration rate は 1MHz だそうだ。ヘルプの文章を引用する。

Configuration Rate

Specifies the clock configuration rate in MHz. Select a value from the drop-down list. For Spartan™-3 devices, the default is 6 MHz. For Spartan-3E, the default is 1 MHz. For Spartan-3A and Spartan 3A Extended, the default is 25 MHz. For all other devices, the default is 4 MHz.


コンフィギュレーションのクロックをあげると、動作するようになるということはなぜなのだろう?
またナゾが増えたが、動作するようになったのはうれしいことだ。

ISE8.2iSP3 の設定を見てみたが、Default(1) で同じだった。ISE8.2iSP3 では問題なくて ISE9.1iSP1 では問題があるということだろうか? またナゾが。。。

補足:新しいプロジェクトを作成して、最初にコンフィグするときに正常動作しない状態になりやすいようでした。5回中2回再現しました。(iMPACTでコンフィグが成功しても、上記のように正常動作しませんでした)いずれの場合も、もう一度コンフィグすると正常になります。
それとはまた別にプロジェクトを作成する場合にISEが反応しなくなる、または落ちる状況が発生しました。

また1回は上の条件でなくても発生しました。やはりiMPACTを立ち上げて最初の一回目です。やり直せば問題ありません。
  1. 2007年02月24日 08:22 |
  2. Xilinx ISEについて
  3. | トラックバック:0
  4. | コメント:20