【验证小bai】静态模块(module或interface等)中的可控随机探索($urandom/$random)

This blog explores the use of $urandom and $random in static modules like modules or interfaces for controlled random exploration. It discusses the need for different random values across instances and runs while maintaining seed control. The author presents experiments and methods, such as using the %m identifier, to generate unique random numbers within static modules, ultimately proposing a function and macro for reusability." 112375238,10536235,OpenCV模板匹配详解与代码实践,"['计算机视觉', '图像处理', 'OpenCV库', '编程']
摘要由CSDN通过智能技术生成

前言

搭建简单的superbench

在centOS中依靠makefile和VCS搭建了自己的平台之后,可以逐步将之前记录和解决的问题付诸实践,慢慢的归纳和分享。这次要来解决的是一个经典问题,就是验证环境中的静态模块(主要是module和interface)的随机问题;

内容较多,节约时间可直接至“结论”;

背景

我需要做一个延时模块,目的是把输入信号延时一段时间,然后输出,主要的应用场景就是模拟跨异步传输延时误差和总线传输延时误差;

因为总线不止1bit,因此要例化多个模块,那么我的需求是这样的:

1.同一个延时模块进行多次延时,每次随机值应该不同;

2.不同延时模块进行同一次延时,延时随机值应该不同;

3.随机延时值必须可控,即相同种子的两次用例结果应该是一致的;

一般来说,我们做随机,常用的函数就是几个:$random、$urandom、$urandom_range(min, max)、std:randomize(),其中第一个大家一定都知道是要尽量避免使用的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼德兰的喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值