2009年10月4日日曜日

VHDLの修正とModelSim



外部から与える信号が認識できていなかったので、FPGAのVHDLソースを修正した。

問題だった部分を別のファイルに書き出してモジュール化した。そして、外部信号をそのまま拾わずに、いったんタイマーで一定時間経ってからワンショットの信号を生成して、内部のラッチレジスタに取り込むような形にした。

それと同時に、PIC側の送信タイミングも若干変更した。

いざ、ボードの電源を入れて確認。初期化は正常に機能しているので、立ち上がった直後は信号がキレイに出ている。。。

ところが、先週確認したときは正常に動作していたと思っていた、DAコンバータのアンプ、3つあるうちのひとつが死んでいた。とりあえず、アンプの入力まで信号がきちんと来ているので、ICを交換すれば直るだろうから後回し。

つぎに、PIC側の周波数をデフォルトの100kHzから60kHzに下げて設定してみた。すると、FPGA側で信号はなんとか受け取っているようだが、出力波形が、ほとんどDCに近い。いや、よく見ると少しずつ動いている。一分以上かけて、上下を繰り返している。どうやら、周波数の下限である0.01Hzが出力されているようだ。

ここで問題なのは、PICの送り側なのか、FPGAの受信側なのか、良くわからなくなってきた。PICをデバッグモードで動かして確認したら、一応想定どおりの動きはしているように見える。

FPGAは???

どうすれば良いかまったく検討もつかない。
それで、いろいろ調べたところ、ModelSimというシミュレータが存在することを知った。
シミュレータでどのような挙動をしているのかを調べてみることにした。

まずは、ModelSimのインストールから。

kaki03ノート×組込×FPGA によると、普通はISEを入れたあとに、このModelSimを入れるようだ。まったくの素人なので、そんなこと知らずにいた。
インストールガイド を見ながら作業をすすめる。

・・・ファイルのサイズが大きくて、とても時間がかかるなぁ・・・

やっとのことで、ModelSimを立ち上げるところまでこぎつけた。
記念にスプラッシュ画面をUP。

0 件のコメント:

コメントを投稿