初期化機構

今日はあまり進まなかったけど少し改善された。

色々無駄があった部分をスリムにして、テンションをあげる。

でだ。論理合成自体はできてるっぽいので、BlockMemoryを繋げたシミュレーションをしようと思ったんだが、初期化の上手い方法が無さそう。レジスタファイルを自分で用意したら、readmemhというverilogの関数を使って、ぬべっっとレジスタに値をぶっこめるんだけど、coregenが吐いたメモリには使えないっぽい。

その代わり、block memoryにはインスタンス生成時のパラメータで、初期値を書いたファイル名を指定すると、その値で初期化できるっぽいとか。でもそれだと、使うメモリ分の別個のモジュールが必要で、かつ、cのsprintfみたいにファイル名を変数によって変えるとかできなさそうだから、モジュールの配列は使えないっぽいんだよな。。。ってことは羅列するわけですか。。。

というわけで、どうせいつか必要になるんだから初期化のメカニズムを組み込むことにした。面倒だと思ってたけど割りとすんなりできたのでとりあえず論理合成。おせええ!!!20分くらいかかってますけど。。。

これは厳しい。どうしたもんか。