雑多な趣味の記録帳

tom01h.exblog.jp

zero-riscy の Verilator 用シミュレーターを改善する

zero-riscy のオリジナル(ETH Zurich) の Verilator 用の環境は、実行命令のトレース出力機能が付いていませんでした。どうやら Verilator の System Verilog のサポートが十分じゃないらしく、Model-SIM で通る記述が Verilator ではエラーになってしまうようです。
今までは V-scale で使っていた記述をだましだまし使っていましたが、今回はオリジナルのトレースを Verilator でも実行できる記述に変更してみました。
class が無いのはしょうがないと思っていたのですが、string 型のサポートも結構足りないみたいですね。sformat とかでも使えない機能があって、インデントを合わせるために頑張ってスペースでそろえる必要がありました。すごく格好悪い。もっといい方法あったら教えてください。
また、Verilator では結構長いシミュレーションをしてしまうので、波形取得の開始・終了時刻を指定できるようにしました。グローバル変数が増えて、こっちも格好悪いですが…
Github 更新しています。

[PR]
トラックバックURL : https://tom01h.exblog.jp/tb/29419366
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by tom01h | 2018-01-30 22:30 | PCとか | Trackback | Comments(0)