作者kid0368 (老叭噗)
看板CSSE
標題[問題] Verilog的$random [(seed)]
時間Sun Jul 24 20:06:06 2011
如題...
最近剛學verilog看到$random [(seed)] <---這個解釋是
a 32-bit random number of signed integer
意思是說有2的32次方個數值嗎?
假設
always #5 Y= $random%60; \\有限制,隨機在-59~59間產生數據輸出
這邊我也不太懂...? 如果今天隨機輸出的值是32 那換成表示是2bit 10000
那在時序圖上的表示是如何呢?
因為在時序圖上只能看到high low這樣的脈波阿...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.134.12
1F:推 micklin:那個英文的意思是「一個32位元的有號隨機數」 07/24 20:30
這個我瞭解 只是我的意思是說當我輸入%60時 會跑-59~59
所以最大值就是%2^32 這個數值對嗎?
那如果我#5 5ns後動作那個Y= $random%60 有什麼意義...
因為在時序圖上5ns動作後 假設隨機值是32那
5ns到10ns間這個值是多少?......看時序圖 也只有high low 這樣
看不出他的值 那如果只有high low...那為什麼要設60?
而不假設%1 就好 同樣都只有high low不是嗎@@?
※ 編輯: kid0368 來自: 140.124.134.12 (07/24 20:38)
假設說今天F = X&Y
Text bench中設定
always #5 X=$random%60
always #5 Y=$random%60
再假設X隨機值16 Y隨機值15
那F會變成什麼??.... 謝謝= ="
※ 編輯: kid0368 來自: 140.124.134.12 (07/24 20:43)
2F:→ kid0368:還是說這整個就只是假設= ="沒有意義.... 07/24 20:48
3F:推 micklin:i don't know verilog 07/25 00:22
4F:→ firejox:我猜%是mod的意思 07/25 00:24
5F:→ firejox:如果是%1就會變成0 (逃~~ 07/25 00:25
6F:→ kid0368:我記得%是Mod XDD好像是樓上說的這樣 07/25 20:46
7F:→ kid0368:但樓上的大大= ="可以解釋一下為什麼MOD 1 會等於0 07/25 20:57
8F:→ kid0368:我突然忘記要怎麼解釋了...是說任何數對1取餘數 07/25 20:57
9F:→ kid0368:商數只能為0 所以餘數不是1 嗎= =" 07/25 20:58
10F:→ firejox:MOD n 出來的值是-(n-1) ~ n-1 07/25 21:02
11F:→ firejox:假如可以除下去就不能算餘數呀~ 07/25 21:04
12F:→ firejox:有負號會是指亂數是負的情況(以電腦而言) 07/25 21:06
13F:→ firejox:被除數=除數*商數+餘數 07/25 21:07
14F:→ kid0368:我懂了 @@ 感謝T^T 07/25 21:11