微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教个随机约束的写法

请教个随机约束的写法

时间:10-02 整理:3721RD 点击:
rand bit [3:0] data[16];
期望产生16个data,分别对应0-15(当然顺序不固定)
这个约束应该怎么写呢?
如果是randc bit [3:0] data[16],那是两次随机过程中
同一个data会不重复地取[0:15]中数,不是想要的约束。
请指教。谢谢

这个约束不是太好写,systemverilog for verification 2nd上有介绍,不过我更喜欢用下面的方法:
bit [3:0] data[16];
initial begin
    foreach(data[i]) begin
        data[i] = i;
    end
    data.shuffle();
    foreach(data[i]) begin
        $display("data[%0d] = %0d", i, data[i]);
    end
end

en.用两个foreach 循环可以写。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top