2015年06月15日

DE0-CV移植

約一週間掛けてやっと元通りの動作をするまで移植が完了しました。
予想以上に手こずりました。というのも、内部SRAMの構造が変わったらしく、
デュアルポートSRAMを作った時にCyclone3の時にはリードデータは書き込み前の
データを出力する設定がありましたがCyclone Vではその設定が無くなり、
必ず書き込み後のデータが出力されるようになりました。
キャッシュ部でこの部分を書き込み前データを出力する設定で使用していましたが
それができなくなった為SRAMではなくRTL記述に変更し、合わせて関連部分を
見やすく書き直しましたが、どうにも同じ動きをしてくれません。
色々修正し、何とか動くようになりましたが、今一動作が不安定です。

どうもSDRAMコントローラの動作が不安定になっているらしく、調べたところ
SDRAMは同期回路としてSRAMコントローラと同じクロックで動作させていましたが
稀にコマンドを誤って解釈していることがあるようです。
仕方が無いのでSDRAMのクロックをSDRAMコントローラと裏拍動作に変更したところ
なんとなく正しい動作をし始めましたがまだおかしな時があるようで、SDRAMは
120MHzで動作させていましたが、2/3の80MHzに下げたところ正常に動作するように
なりました。裏拍に変えたことでタイミングが厳しくなってしまったのでしょう。
ビデオのドットクロックはSDRAMクロックの1/3を使用していましたが、これも
1/2に変更して画面表示も正常になりました。

これでやっと通常デバグに戻れます。
posted by プー at 00:18| Comment(0) | X68000 | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください