$RANDOM

來源:互聯網
上載者:User

標籤:使用   sp   r   bs   as   函數   ash   5   無   

“$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之間。

$RANDOM

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.