FC2カウンター FPGAの部屋 DDR SDRAMコントローラの高度なシミュレーション2
FC2ブログ

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

FPGAの部屋

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

DDR SDRAMコントローラの高度なシミュレーション2

”DDR SDRAMコントローラの高度なシミュレーション”では、DDR SDRAMコントローラのアクセスパターンとしては、バースト・アクセス(キャッシュ・フィル、キャッシュ書き出し)が多いと思うので、テストベンチをバースト・アクセスに対応するように書き換えてみた。しかし、DDR SDRAMコントローラへのリード・コマンドを発行後すぐに、DDR SDRAMコントローラへライト用のコマンドが入らないという状況があった。DDR SDRAMのリードデータを受けるプロセスとDDR SDRAMコントローラへライト用のコマンドを入れるプロセスを並列化できれば、もっとDDR SDRAMコンローラのライトとリードが接近するはずだ。
ということで、”DDR SDRAMコントローラの高度なシミュレーション”で書き直したバーストでランダム・リードするタスクのうち、DDR SDRAMコントローラへリード・コマンドを発行するプロセスが終了したら、DDR SDRAMコントローラへライト用のコマンドを入れるタスクが走るように、それらのタスクを呼び出すルーチンをfork, joinで平行プロセスに書き換えた。そうしたところ、
シミュレーション波形は下の図のようになった。バーストでランダム・リードするタスクのうち、DDR SDRAMから出てきたリードデータをFIFOに入れるプロセスと、バーストでランダム・ライトするタスクが平行に実行されるようになった。
DDR_SDRAM_CONT_adv_sim_2_080313.png

上の図を見ると、以前の図(下)よりもアクセスの密度が増えたのがわかると思う。
DDR_SDRAM_CONT_adv_sim_1_080312.png

たっくさんの許可をもらっていないので、Verilogコードを書いていないのが、ちょっともどかしいが。文章だけで説明するのは難しい。。。
ともかく、これで当初の目的は達成した。DDR SDRAMコントローラのテストベンチでのデバックは終了した。これでバグはほとんどつぶせたと思う。(といいな?という希望です)

#明日から、娘も合格したし、蔵王スキー場に1泊2日でスキーに行ってきます。
  1. 2008年03月14日 05:38 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:2

コメント

密度が違うのが一目瞭然ですね。素晴らしいです!
私が書いたコードが元になっていたとしても気にする必要はなく、自由に切り貼りして頂いて構いません。

遅ればせながら、娘さんの合格おめでとうございました。家は娘二人なのですが、まだまだ先です。
  1. 2008/03/14(金) 06:45:23 |
  2. URL |
  3. たっく #-
  4. [ 編集 ]

たっくさん、こんにちは。

ありがとうございます。変更したコードを載せることにします。

まだまだ先と思っていても、結構思い返してみると、あっという間のような気がします。その先のほうがあっという間かもしれませんが。。。
  1. 2008/03/14(金) 12:21:45 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/755-caad8585
この記事にトラックバックする(FC2ブログユーザー)