<< 2026年02月
新着記事
最近のコメント
月別
カテゴリ
2026.01.27 09:38

とりあえず解決したかな


・昨日の続き。
・FPGAのドキュメントやらIPのドキュメントを眺めて色々やるのだけど、うまく行かなかったり改悪になったりして、そのたびにgit reset --hard HEAD@{0}の繰り返し。
・タイミング図やらシミュレーション波形をにらみながらやっていった結果、FIFOへの書き込み信号生成のステートマシンは自体はクロックの立ち上がりエッジで動かして、これで生成した書き込み要求(fifowrとでもしておく)を反転したクロックで取り込んで1/2クロックおくれたものを作る(fifowr_delayとでもしておく)
・で、FIFOのFULL信号(FIFO_FULLとでもしておく)がアサートされるまで書き込み要求信号をアサートするので
 assign fifowr_req = ~FIFO_FULL & fifowr & fifowr_delay;
てな具合で、立ち上がりをクロックの立ち下がりエッジに同期させておくという形。
・これで昨晩まで悩まされた10000回ループも問題なく動き出した感じ。
 今回はFULLになるまで連続書き込みなので、fifowrの立ち上がりより前にFIFO_FULLがアサートされるのが早いので幸いしているのだろうな。
・ということで、「アサートしはじめるのはクロックの立ち下がりエッジに同期させないとだめよ」という結論だな。