FC2カウンター FPGAの部屋 2011年09月20日
FC2ブログ

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

FPGAの部屋

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

Spartan-3A Starter KitでEDKを使ってカメラ表示18(シミュレーションでデバック2)

Spartan-3A Starter KitでEDKを使ってカメラ表示17(シミュレーションでデバック1)”の続き。

前回、クロックがカスタムIPにつながって、やっとシミュレーションを実行することができるようになった。
シミュレーションを行うと、ip2bus_mstrd_reqを1(アクティブ)にしても、ip2buf_mst_cmdackが帰ってこない。下図参照。
Spa3A_SKit_OV7670_79_110920.png

何でか?といろいろ悩んでいたのだが、ふと気がついた。もしかしたらDDR2 SDRAMコントローラのMPMC(Multi-Port Memory Controller)の初期化が済んでいないのではないか?
MPMCのInitDone信号を入れて(もう入っているが。。。)、それを観察してみることにした。
300usecほどシミュレーションしてみた。その結果を下図に示す。
Spa3A_SKit_OV7670_80_110920.png

220usec手前辺りで、ip2buf_mst_cmdackが帰ってきているのがわかる。一番上のInitDoneを見ると、その辺りで1になっていることがわかった。
明らかにMPMCに初期化までip2buf_mst_cmdackは帰らないことになっているようだ。
そういえば、自分のカメラ表示回路では、DDR2 SDRAMコントローラの初期化が終了するまで、その他の回路が動かないようにトップモジュールで処理していたのだった。今回、EDKで作っているので、各モジュールで何とかする必要がある。

XPSを立ち上げて、Portタブをクリックして、DDR2_SDRAMを見てみると、MPMC_InitDone信号が出ていた。これをカスタムIPに接続して、1になるまで動作しないようにすれば良いはず。。。
Spa3A_SKit_OV7670_81_110920.png

MPMC_InitDone信号をカスタムIPで使用して、1になるまでリセットするようにHDLを変更しよう。
  1. 2011年09月20日 04:46 |
  2. EDK
  3. | トラックバック:0
  4. | コメント:0