2011年10月09日

SDRAM周りの設計(4)

 AC的に多分大丈夫な設計になったので、先に考えていたタイミングで論理設計を始めました。

 ...っと忘れてた。SDRAM は初期設定が必要なようなので、これも実装しました。

 SDRAM の初期設定
 1)電源投入直後は、SD_CKE = L、SD_LDQM = H、SD_UDQM = H、にする。
 2)リセット後、SD_CKE = H、SD_LDQM = L、SD_UDQM = L にする。SD_CLK にクロックを出力する。
 3)200 μs 待つ。
 4)precharge - ALL を発行する。
 5)Auto Refresh を8回以上行う。
 6)初期コマンドを設定する。設定する値は、バースト長1、CASレーテンシ2とする


 これだけ実装して、やっとSDRAM にアクセスが可能となります。


 ついでに、PC-6001 で使用するRAM に関しては、ALL 0xFF の書き込みを行います。
 ただし、リセット後にRAM に残っている値を使うソフトもあるので、書き込みを禁止するモードも設けます。


 SDRAM の試験はどうしようかと考えました。
 SDカードの時は、ロジアナで観測しましたが、SDRAM に関してはかなり面倒です。

 結局、立ち上げ時にBASICROM をSDカードから読み込んで、SDRAM に書き込む動作を利用しました。

 BASICROM のデータをグラフィックデータに変更して、VDG の参照アドレスを通常のRAMではなく、BASICROM空間を表示させました。


 かなり手こずると思ったんですが、一発で動きました(当然、シミュレーションでの確認は行っていましたが)。
 ちょっとびっくりです。



posted by えすび at 17:34| Comment(0) | FPGA化:SDRAM | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。