0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在questasim里如何设置和查看种子值呢?

冬至子 来源:CSDN 作者:谷公子 2023-05-29 17:50 次阅读

在systemverilog代码运行中,EDA工具会先给1个随机种子值(seed),所有代码里的随机数都是根据这个初始种子衍生出来的。因此,通常来说,只要代码没有改动,且初始种子一样,那么仿真运行结果也一样。那么在questasim里如何设置和查看种子值呢?

1. 设置种子值

Questasim给vsim命令提供了-sv_seed | random的参数。有几个关键点:

如果vsim后面没有跟着sv_seed,那么默认seed是0;

如果vsim后面跟着sv_seed,但没有提供 或 random,那么会报错;

如果sv_seed后面跟着非负32-bit整数(interger),那么这个非负整数就是初始seed值。如果是无效值的话,那么questasim会报warning信息并且忽略掉;

如果sv_seed后面这个random单词的话,那么vsim命令每次运行都会使用随机生成的seed;

sv_seed在modelsim.ini文件里是只读的,不能改写;

2. 读取种子值

Questasim里提供了$get_initial_random_seed系统函数,User可以在systemverilog code里调用这个系统函数就可以得到当前仿真使用的初始seed值。

另外一种方式是在Tcl shell窗口中,通过echo $Sv_Seed把seed值展示在shell窗口。

3. 使用例子

3.1 设置初始seed值为666的整数:

vsim -sv_seed 666

3.2 设置初始seed值为随机数:

vsim -sv_seed random

4. 测试代码

测试代码如下:

vsim -sv_seed random
$display("1. The seed is: %0d, random data:%0d", $get_initial_random_seed, $urandom);
vsim -sv_seed 666
$display("2. The seed is: %0d, random data:%0d", $get_initial_random_seed, $urandom);
vsim
$display("3. The seed is: %0d, random data:%0d", $get_initial_random_seed, $urandom);
vsim -sv_seed
$display("4. The seed is: %0d, random data:%0d", $get_initial_random_seed, $urandom);

结果如下:

1. The seed is: 281111952, random data:3445949350
2. The seed is: 666, random data:3072267859
3. The seed is: 0, random data:313949478
Error. Use the -help option for complete vsim usage.
4. Error. Use the -help option for complete vsim usage.
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • EDA工具
    +关注

    关注

    4

    文章

    267

    浏览量

    31789
  • Verilog
    +关注

    关注

    28

    文章

    1351

    浏览量

    110078
  • TCL
    TCL
    +关注

    关注

    10

    文章

    1722

    浏览量

    88569
收藏 人收藏

    评论

    相关推荐

    Questasim软件安装破解教程

    patch_dll.bat,此时会生成一个txt文件。将txt文件另存,另存的路径为:C:\modeltech_10.1a\LICENSE.TXT。 7. 新建系统环境变量点击电脑的开始菜单,搜索框搜索“环境变量
    发表于 05-22 17:16

    怎么uvision查看数据寄存器的

    我现在做AD转换,想在uvision中直接查看数据寄存器ADC_JDRx中的转换,怎么看,或许看某变量的,怎么操作,谢谢
    发表于 09-02 02:20

    如何查看mdk环境调试的

    我发现有些宏定义的MDK调试的时候不能查看,如下图,比如原子哥的代码 LED0LED1,请问如何才能
    发表于 09-05 03:55

    293无法更新模拟器questasim设置文件怎么办?

    喜我通过Xilinx Platform 14.1生成了EDK的questasim libof。它有一些问题。但这些lib secureip,unisim都可以。我UNIX工作。错误信息:排除已取代
    发表于 05-11 08:10

    用R命令查看的寄存器的是当前CPU中AX这些寄存器真实的吗?

    在学习8086汇编时,我虚拟机上安装了MS-DOS(假设就是真实的8086计算机的DOS,就是想知道真实的那种DOS的情况):1.
    发表于 08-28 08:06

    keil软件的debug环境下查看变量的,为什么有时添加不进去?

    keil软件的debug环境下查看变量的,有时候可以添加到watch中,有时候就添加不进去,为什么???还有我想清除watch的数据,重新添加怎么操作
    发表于 08-25 07:23

    questasim 6.5 (for xp/linux)

    questasim 6.5 (for xp/linux)
    发表于 04-01 00:17 192次下载
    <b class='flag-5'>questasim</b> 6.5 (for xp/linux)

    ModelSim和QuestaSim功能简介及应用

    ModelSim和QuestaSim功能简介及应用 ModelSim是工业界最优秀的语言仿真器,它提供最友好的调试环境
    发表于 04-29 09:07 2w次阅读
    ModelSim和<b class='flag-5'>QuestaSim</b>功能简介及应用

    如何使用WEBENCH查看工作和图表评估电源设计?

    使用WEBENCH®Power Designer查看工作和图表
    的头像 发表于 08-15 01:33 2637次阅读

    通过种子发芽箱来实时掌控种子发芽的环境

    种子发芽箱是由托普云农研发供应的,该仪器可提供种子生长的适宜环境,种子发芽需要合适的环境参数,如温度、湿度、光照度、空气质量等。种子发芽需要每个参数的参与,任何一个参数如果超出了临界
    发表于 09-21 14:43 650次阅读

    种子发芽箱的产品特点,它的使用效果如何

    种子发芽过程中国,我们都知道需要适宜的水分、温度、光照等等,那么如何满足不同种子所需要的不同条件?我们可以使用种子发芽箱来研究不同环境对
    发表于 10-16 15:20 543次阅读

    种子发芽箱主机的作用,让种子发芽率得到极大的提高

    种子发芽过程中,我们都知道需要适宜的水分、温度、光照等等,那么如何满足不同种子所需的不同条件?我们可以使用种子发芽箱来研究不同环境对
    发表于 10-26 14:49 608次阅读

    Proteus设置任意电源的POWER的实现

    Proteus不像multisim那样属性设置就能设置电源。Proteus要自己建立或者修改符合自己要求的电源
    发表于 01-11 14:45 26次下载
    Proteus<b class='flag-5'>里</b><b class='flag-5'>设置</b>任意电源<b class='flag-5'>值</b>的POWER的实现

    Modelsim/Questasim基本命令

    Modelsim/Questasim基本命令
    发表于 10-21 15:06 1次下载

    Questasim与Visualizer的livesim仿真如何启动

    Live-Simulation (live-sim)模式允许Visualizer调试环境与Questasim进行交互操作,此模式将Visualizer GUI与Questasim仿真相结合,因此可以在线调试当前仿真的结果和波形。
    的头像 发表于 10-10 11:33 627次阅读
    <b class='flag-5'>Questasim</b>与Visualizer的livesim仿真如何启动<b class='flag-5'>呢</b>?