XCM-005に搭載SDRAMのMicroBlazeによるテスト

2007/11/20-

 弊社では、基本的にサンプル回路やテスト回路を公開しておりませんが、XCM-005などのSDRAMの操作についてのお尋ねがありますので、一例として、MicroBlazeを使って動作させた例をご紹介いたします。MicroBlazeを使用するにはEDKが必要です。

本テストはISE 9.2i+EDK9.1iを使用しました。
(1)SDRAMコントローラの概要
 SDRAMコントローラの仕様書から下記の構成で作ることにします。
ISEプロジェクト画面へのリンク
(2) XPSの画面
 サンプルアプリケーションとして、TestApp_Memory.cを生成させます。(for(;;)を追加して無限ループになるようにしました。ほかはそのまま)
 SDRAMコントローラ(OPB_SDRAM)を追加し、DCMを2つ追加します。
UARTも必要です。
(3)一つめのDCM(dcm_opbと命名)の設定例
(SDRAMコントローラの仕様書は下の画面のDataseetボタンをクリックして確認できます)
(4)二つめのDCM(dcm_sdramと命名)の設定例
(5)SDRAMコントローラの設定例
(6)CPUの設定例
(7)UCFファイルの例はこちら
 注意点としては、Endianの違いを考慮して接続することです。
(7)テスト回路(TOP.VHD)はこちら
 ちなみにリセット回路はこちらのarstを使っています。
各モジュールのリセット信号の論理を合わせるの忘れないでください。今回はすべて負論理とし、TOPからARST.VHDによりコンフィグレーション完了後に自動的に供給しています。
(8)実行例をごらんください

サンプルソフトは全領域をテストしないので、全領域をテストするように変更したとき、上記の一連のテストに約2分30秒かかりました。(32MBytes)
(9)テストポイントの出力波形(ロジアナによる)
 この例は、FPGAやSDRAMの性能を十分に引き出ししていないと考えられます。
どうかみなさまはもっと上手におつくりください。
この例がみなさまの参考になれば幸いです。
また間違いなど見つけられましたらぜひご指摘下さい。(当方はアプリケーションを行っておりませんので、EDKやXILINXツールの操作には未熟です)
2007.11.26追記
 Virtex-4ブレッドボードXCM-009でも確認しました。XCM-009用のUCFファイルはこちらです。
メールでのご質問はこちらへどうぞ

XILINXシリーズトップへ