system verilog随机函数_verilog和system verilog产生不重复随机数序列的方法

在Verilog testbench中,使用$random函数会得到相同的随机数序列,因为缺省种子相同。文章介绍了两种创建不同序列的方法:1. 在VCS脚本中设置随机种子,通过`set seed = '$$$$', +ntb_random_seed=$seed`确保每次仿真不一致;2. 在testbench内用DPI-C函数c_random()动态生成种子,通过`+SEED=1234`可指定种子。" 114980162,10538682,ECDH与KDF:Java实现的DH密钥协商,"['ECDH', 'KDF', 'Java', '加密算法', '密钥交换']
摘要由CSDN通过智能技术生成

相信各位设计

/

验证工程师在写

verilog

testbench

的时候都会需要产生随机数,

如果你直接调用系统自带的

$random

系统函数的话,

你会发现每次仿真产生的随

机数序列是一样的,

这是因为调用随机数系统函数时没有指定随机数种子,

系统

会直接调用默认的种子,

所以每次产生随机数都用了同样的种子,

那么随机数序

列也就是一样的。下面提供两种产生每次都不一样的随机数序列的方法:

1.

vcs

脚本中产生随机种子

vcs

脚本中添加:

set seed =''

set seed =$$$$

+ntb_random_seed=$seed \

这种方式只需要在

bench

中用

$urandom

就可以每次都产生不一样的随机数,如

果要配置种子,则使用命令:

run +seed=1234

2.

bench

中产生随机种子

testbench

中加入以下代码:

import "DPI-C" function int c_random();

initial begin:random_seed_cap

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值