概要
windowsでiverilogやってみた。
nslやってみた。
_random使ってみた。
サンプルコード
declare test_rand simulation {
}
module test_rand {
reg trigger[3] = 0;
reg temp[8] = 0;
reg cnt[8] = 0;
func_self neko();
trigger := { trigger[1:0], 0b1 };
if (trigger == 3'b011) neko();
func neko seq {
for (cnt := 0; cnt < 5; cnt++) {
_display("random == %d", _random[7:0]);
}
_finish("End Simulation");
}
}
テストベンチ
module test;
reg clk,
rst;
test_rand 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_rand:cnt) at 1
random == 99
random == 13
random == 141
random == 101
random == 18
End Simulation
以上。