2013年12月17日火曜日

Verilatorで変換できるdual port SRAMモデル改

以前作った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 件のコメント:

コメントを投稿