njithjw的个人空间 https://blog.eetop.cn/505866 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

构造随机长度数据包

已有 690 次阅读| 2017-6-8 09:51 |个人分类:FPGA_Verilog|系统分类:芯片设计

program tst;

class Packet;
rand bit [7:0] length,payload[$];
constraint c_valid {length > 0;payload.size == length;}
constraint payload_val {foreach(payload[i]) payload[i] < 100;};

    function void display;
$display("Packet len=%0d,payload size=%0d,byte=",length,payload.size());
for(int i=0; (i<10 && i<payload.size()); i++)
            $write("%0d\t",payload[i]);
$display( "\n------------------------------------------------------------------------------" );
endfunction
endclass

Packet p;

initial begin
    for(int i=0;i<=9;i++)
    begin
    p = new();
        if (i%2==0) begin
            p.length.rand_mode(1);
            $display("i=%0d,rand_mode = %0d",i,p.length.rand_mode());
            $display("Simple randomize, queue's length is random");
            assert (p.randomize());
            p.display;
        end else begin
        p.length.rand_mode(0);
        $display("i=%0d,rand_mode = %0d",i,p.length.rand_mode());
        p.length = 42;
        $display("Randomize with rand_mode, queue's length is = %0d",p.length);
        assert(p.randomize());
        p.display;
        end
    end
    $stop;
end

endprogram

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 0

    获赞
  • 17

    评论
  • 3512

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 06:25 , Processed in 0.014677 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部