zoukankan      html  css  js  c++  java
  • $RANDOM

    “$random函数调用时返回一个32位的随机数,它是一个带符号的整形数...”,并给出了一个例子:

     EX-1:

    reg[23:0] rand;

    rand=$random%60; //产生一个在 -59—59范围的随机数

    又给出了一个产生0~59之间的随机数的例子:

    EX-2: reg[23:0] rand;

    rand={$random} %60; //通过位拼接操作{}产生0—59范围的随机数

     —————————————————————————

    产生一个在min, max之间随机数的例子:

    EX-3: reg[23:0] rand;

    rand = min+{$random}%(max-min+1);

    解释:

    {}就是做为位拼接符使用的。

    $random产生32位有符号数,但是其实还是32位的数字,只是把它当成有符号数。所以如果20位 number=$random%100,那么就是-99~99的随机数。假如产生的number=-99,则number中存的其实是-99的补码。那么你将{number}位拼接,则它会认为number[19],。。。,number[0]拼起来返回新的书当然是无符号的,那么此时返回的数就是-99的补码对应的数。不明白的可以用modelsim做做实验。比较number和{number}的区别。所以{$random}产生的数就机器认为的符号位,{$random}%100当然就只在0~99之间。

  • 相关阅读:
    转载(腾讯云社区)——详解django-apscheduler的使用方法
    pipenv——python包管理工具
    xx系统需求进度02
    xx系统需求进度01
    Hbase简介
    第七周总结
    《软件需求十步走》阅读笔记一
    第六周总结
    HDFS
    金字塔表达方法
  • 原文地址:https://www.cnblogs.com/maple42/p/3965538.html
Copyright © 2011-2022 走看看