FPGAの部屋FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。SDRAMテスト回路のシミュレーションが今度は本当にうまく行った。SDRAMのモデルはMicron社のVerilogモデルmt48lc16m16a2.vを使わせていただいています。SEでシミュレーションしたところ。SDRAMへの読み書きするところだ。最初に4番地に0x55667788をPCI-Xターゲット・ライトで書き込む。これがピンクで囲ったところ。SDRAMに書き込む。それが緑で囲った部分。オレンジで囲んだ部分が、同じ4番地からPCI-Xターゲット・リードでデータを読み出すトランザクション。SDRAMのリードデータが用意できないので、一旦スプリット応答でトランザクションを終了している。SDRAMのリードしたデータが出力されている。出力データは左から2番目のフィールドに0x55667788XXXXXXXXと表示されている。XXXXXXXXの部分は書き込まれていないのでXになっているようだ。読み出したデータをスプリット完了でホストに通知しているのが黄色の部分。#こちらのモデルのせいでスプリット完了のときのTRDY#がおかしいですが、それはご愛嬌ということで。今度はSTOP#(pcix_stop_b)もアサートされていない。ISE9.1SP3でインプリメントして実際に確かめてみました。SDRAMにシングル転送ですが、書き込み後読み出せることを確認できました。SDRAMデータをリードしようとしてスプリット応答し、その後スプリット完了でデータを通知するときのチップスコープ波形です。スプリット完了で0x00001234というデータを返していますが、そのデータの下位8ビットがdata_bus(39:32)に現れています。SDRAMに読み書きできました。