前言
在systemverilog中,随机变量可以通过两个关键字来进行修饰,rand和randc,本文大概介绍一下这两个关键字的区别。
一、rand和randc的区别
简单的说,rand是随机,randc是循环随机。
rand相当于样本放回的随机采样,相邻两次可能相同。
randc则是拿一个少一个,当每个可能的值都出现一遍后才会重复。
例如:
rand bit [1:0] a; // 1, 0, 0, 2, 3, 3, …
randc bit [1:0] b; // 0, 3, 2, 1, …

总结
rand是随机,randc是循环随机。