sv中随机化seed的设置

本文详细介绍了如何使用Verilog创建一个网络数据包类,并通过设置种子值和随机化属性来生成具有特定源地址和目的地址的数据包实例。展示了通过命令行调用编译器和仿真器进行编译、链接、运行和测试的过程,包括生成数据包实例并打印其源地址、目的地址及数据字段的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class Packet;
    rand bit [31:0] src_addr, des_addr, data[4];
    constraint  c { src_addr >10;
		    des_addr >10;}
endclass

initial begin
    Packet p1;
    p1=new();
    p1.srandom(100);
    assert (p1.randomize());
    //else $display("ERROR!");
    
    $display("%d", p1.src_addr);
    $display("%d", p1.des_addr);
    $display("%d", p1.data[0]);
    $display("%d", p1.data[1]);
    $display("%d", p1.data[2]);
    $display("%d", p1.data[3]);
end

1, 手动设置seed为100, p1.srandom(100);

2, 随机化, p1.randomize(0;


cc = g++
sv_file =ch06.sv

all: clean comp run

clean:
	rm -rf comp.log simv ucli.key csrc run.log simv.daidir vc_hdrs.h

comp:
	vcs -sverilog ${sv_file} -l comp.log

run:
	./simv -l run.log


./simv -l run.log
Chronologic VCS simulator copyright 1991-2013
Contains Synopsys proprietary information.
Compiler version H-2013.06; Runtime version H-2013.06;  Aug 25 10:48 2014
 558890116
3058217485
1955256730
1804025437
3160202246
1737188030
$finish called from file "ch06.sv", line 9.
$finish at simulation time               100000



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值