以前作ったVerilator用dual port SRAMモデルは重たかったので、ビットイネーブルを外してライトイネーブルだけを付けたSRAMモデルのeRubyテンプレートを作り直した。バイトイネーブルが欲しくなったら、データ幅8ビットで生成したこのモデルを横に並べればいい。
他に変更点としては、書き込みをクロック同期に直したのと、リードデータをホールドしないようにした。前のRAMモデルを使ったテストで、書き込む前に読みだすバグを見つけ損ねてしまっていたので。
使い方は、ファイル先頭のName, DataWidth, Depthを好みの値に書き換えて
% erb ramdp.v.erb > ramdp.vとでもすれば、RTLができる。etを使って
% erb ramdp.v.erb | et > ramdp.vとやれば、インデントがそれなりに揃う。
0 件のコメント:
コメントを投稿