コメを噛め

コメを噛め

rerofumi の電子工作メモ

hatena bookmark

CPLD 内部をほとんどスルーで構成して、V850 から SRAM が読み書きできるかどうかをテストする。
まあ、いくつか不具合があって修正しながらなんとか動作確認ができたのでめでたしめでたし。
不具合の内訳は、配線ミス 2箇所、CPLD の inout(データバス)部分で in の時はハイインピーダンスに設定するあたりが良くわかっていなかったというのが一つ。

ひとまず動作している様に見える CPLD の VHDL ソースとピン設定。
sram_test_cpld.zip

V850側のSRAMチェックソースコード。
v850_sram_check.zip
レジスタ設定しか参考にならないと思うけれども。いちお、メモ代わりに。

実際に外部バスへメモリを接続すると、V850側からは 0x100000 以降が外部RAM領域になる。それ未満のアドレスでは、読み出し時は ROM から、書き込み時は外部RAMへと変則的なアクセスとなる。
PM+ で新しいプロジェクト作成時「外部RAMを使うか」という項目があるけれども、ここで「はい」を選ぶとディレクティブの .data 領域(変数や可変データが置かれる領域)が 0x100000 に設定されてしまう。ああ、そういう意味だったのかと思った次第。
今回 SRAM 領域をコンパイラに使われると不具合があるので、内蔵 RAM を使うような設定となることを確認しておく。

配線のリストをちょっと更新。
必要かどうか悩んだV850のクロックを一応CPLDに与える事にした。そのために一部配線を入れ替え。

記事としては面白みが無いところだけれども、私としては動いて一安心という一区切りなのでした。

Leave a Reply