rand/randcの違い
rand
変数の範囲すべてを網羅する前に同じ値が返ることもある。(一様分布)
randc
変数の範囲すべてを網羅するまで同じ値は返らない。(ランダム循環)
サンプルコード
module top;
class sample;
rand bit [1:0] data1;
randc bit [1:0] data2;
endclass
sample a;
initial begin
a = new();
for (int i = 0; i < 4; i++) begin
a.randomize();
$display("rand: %d, randc: %d", a.data1, a.data2);
end
end
endmodule
// 出力
// rand: 3, randc: 3
// rand: 3, randc: 2
// rand: 0, randc: 1
// rand: 1, randc: 0
まとめ
rand/randcの違いを調べました。
Random-cyclic variablesってなんて訳すんでしょうか。
コメント