2011年10月03日

CPU周りの設計(5)

 前の記事、キャラクタROMは50MHz動作でした(修正済み)。

 キャラクタROMを50MHzに動作するように変更し、PC-6001 の内蔵RAMもとりあえずダミーを付けて、BASICROMは付けずにT80と接続してみると...CycloneIIIのメモリが足らない(;_;)

 内蔵RAMを8Kバイト(画面1ページ分)にしてレイアウトしてみると、画面に妙な模様が...

 調べた結果、T80 が暴走していて(当たり前だが)、そのために画面メモリに何かのデータを書き込んでいたようでした。

 T80 のデータバスに 0x76 の固定値を与えてやると、初期状態で与えていたRAMの内容の画面がキレイに出ました(0x76 はHALT ですね)。


 結局、SDRAMを実装しないとこの後全然進まないようなので、SDRAM部の仕様を決めてみる。

 ・アドレス空間は次の通り

 0x0000 〜 0x3FFF : BASIC-ROM
 0x4000 〜 0x7FFF : 空き
 0x8000 〜 0xBFFF : RAM or 空き
 0xC000 〜 0xCFFF : RAM

 ・空きの部分から読み出した場合は、0xFF が読み出せるようにする。
 ・SDRAM部 の初期設定動作時に、以下の設定を行う
 1)SDRAM の初期設定

 2)ROMデータの読み込みと、SDRAMへの書き込み
   外部FLASH または、外部SDカードからデータを読み込み、SDRAMのBASIC領域に書き込む。

 3)空き、及びRAM領域に固定値 0xFF を書き込む。


 SDRAM の制御以外に、SDカードの制御も必要になりました...


 ついでなので、キャラクタROM も外部SDカードからデータを読み出しキャラクタROMにする、という変更を行います。


 これに伴い、リセット系は、

 PLL安定 → キャラクタROM初期設定完了 → SDRAM初期設定完了 → CPUリセット解除

 と、キャラクタROMの初期設定を追加します。


posted by えすび at 19:22| Comment(2) | FPGA化:CPU周り | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
|ω・)ミテマスヨ

技術の話はちんぷんかんぷんですが、色々と課題が発生しているのを一つ一つ解決していく様子が面白いです。
Posted by Hashi at 2011年10月03日 22:44
 コメントありがとうございます。

 ハードウエアをやった事ない人には、まったくわからないだろうなー、と思いながら書いています(^^;

 今は、SDカード対応とSDRAMのアクセス方法でちょっとぐったりです。ただこれを超えると、先が見えてくるかな?
Posted by えすび at 2011年10月04日 09:58
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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