2018年5月20日日曜日

ここがヘンだよ SystemC

SystemC は新規に設計された言語ではなく,C++ にライブラリを追加する形で実現されているため,いろいろと記述的にヘンであったり,煩雑なところがある.

(1) センシティビティリスト記述を,動作を記述している場所の近くに書けない (普通に書くと別ファイルになる)
(2) 信号を定義したら,その信号名を「文字列で」教えてやる必要がある.
(3) 前回の blog に書いた sc_trace() の問題.(2) と合わせると,信号の宣言,信号名の設定,トレースの設定,と同じような情報を 3箇所に書く必要がある.
(4) Verilog-2001 の always@(*) のようなセンシティビティリスト省略が出来ない
(5) Verilog-200x (いつの規格かわすれた) のインスタンス接続の省略表記「.*」が出来ない

こういうのって設計の頭使うところ以外で時間を食うことになるので,上記を改善するための SystemC preprocessor を作ってみた.

scpp.pl - SystemC preprocessor

我ながら SystemC のイライラポイントが大分改善されて満足ヽ(´ー`)ノ
下記の処理前後の diff を見てもられば,処理前の記述が大分削減されていることがわかってもらえると思う.

0 件のコメント:

コメントを投稿