今日は、前回FPGAが動かなかった原因を探していた。
一度完全に動いていたヴァージョン(周波数固定)に戻してみたら、正常動作していた。
ということは、後から追加したロジックが適切じゃないということだ。
周波数を可変にするために、外部から3つの信号を取り込むようにしたのだが、これがどうやらバグっているようだ。
もう一度VHDLの本を読んだりしていたら、追加した外部からの信号が、クロックと同期がまったく取れていないためだろうなと思い始めた。単純に信号を入れただけ、タイミングなんか全然考えていない。だから、当然といえば当然かもしれない。
信号を内部のクロックと同期させるために、フリップフロップを入れる必要がある。また、取り込むタイミングが曖昧な状態だったので、何クロックで処理を完了するのかなど、きちんと定義する必要があるようだ。
いつも仕事でやっているプログラムとは随分違いがあるなぁ。。。
良くわからないことだらけ。
0 件のコメント:
コメントを投稿