概要
windowsでiverilogやってみた。
nslやってみた。
サンプルコード
declare test_finish {
}
module test_finish {
reg trigger[3] = 0;
reg cnt[4] = 0;
func_self exec_add();
trigger := { trigger[1:0], 0b1 };
if (trigger == 3'b011) exec_add();
func exec_add seq {
for (cnt := 0; cnt < 10; cnt++) {
_display("%d", cnt);
}
_finish("neko");
}
}
テストベンチ
module test;
reg clk,
rst;
test_finish u(.clk(clk), .rst(rst));
always #1 clk = ~clk;
initial
begin
clk = 0;
rst = 1;
#1
rst = 0;
#1
rst = 1;
#100
$finish;
end
endmodule
実行結果
Warning: register set hazard(test_finish:cnt) at 1
0
1
2
3
4
5
6
7
8
9
neko
以上。