| Verilog-HDL記述 | SystemCでは | 備考 |
| module M; ~ endmodule |
SC_MODULE(M) { ~ }; |
モジュール定義 |
| input [7:0] in_data; | sc_in<8> in_data; | 入力信号 |
| output [15:0] out_data; | sc_out<16> out_data; | 出力信号 |
| reg [31:0] tmp_reg; | sc_uint<32> tmp_reg; もしくは sc_signal< sc_uint<32> > tmp_reg; |
1つのプロセス内ならデータ型 プロセス間通信ならsc_signal<>を使う |
| wire [31:0] mm2mn_data; | sc_signal<32> mm2mn_data; | モジュール間信号接続 |
| always @ (posedge(clk))begin ~ end |
SC_METHOD(method); sensitive << clk.pos(); void method() { ~ } |
FF推定 |
| always @ (a or b)begin ~ end |
SC_METHOD(method); sensitive << a << b; void method() { ~ } |
組み合わせ |
| initial begin ~ end |
SC_THREAD(thread); void thread() { ~ } |
|
| assign文 | なし | methodの組み合わせで表現 |
| # 10 //ns | wait(10,SC_NS) | 遅延 |
| @(posedge(clk)) | wait(); | クロック立ち上がりを待つ |
| parameter width=5; | const unsigned width=5; | |
| x[m:n] | x.range(m,n) | ビットアクセス |
| {x, y} | (x, y) | 連節 |