[問題] Verilog的$random [(seed)]

看板CSSE (電腦科學及軟體工程)作者 (老叭噗)時間12年前 (2011/07/24 20:06), 編輯推噓2(2012)
留言14則, 3人參與, 最新討論串1/1
如題... 最近剛學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

07/24 20:30, , 1F
那個英文的意思是「一個32位元的有號隨機數」
07/24 20:30, 1F
這個我瞭解 只是我的意思是說當我輸入%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)

07/24 20:48, , 2F
還是說這整個就只是假設= ="沒有意義....
07/24 20:48, 2F

07/25 00:22, , 3F
i don't know verilog
07/25 00:22, 3F

07/25 00:24, , 4F
我猜%是mod的意思
07/25 00:24, 4F

07/25 00:25, , 5F
如果是%1就會變成0 (逃~~
07/25 00:25, 5F

07/25 20:46, , 6F
我記得%是Mod XDD好像是樓上說的這樣
07/25 20:46, 6F

07/25 20:57, , 7F
但樓上的大大= ="可以解釋一下為什麼MOD 1 會等於0
07/25 20:57, 7F

07/25 20:57, , 8F
我突然忘記要怎麼解釋了...是說任何數對1取餘數
07/25 20:57, 8F

07/25 20:58, , 9F
商數只能為0 所以餘數不是1 嗎= ="
07/25 20:58, 9F

07/25 21:02, , 10F
MOD n 出來的值是-(n-1) ~ n-1
07/25 21:02, 10F

07/25 21:04, , 11F
假如可以除下去就不能算餘數呀~
07/25 21:04, 11F

07/25 21:06, , 12F
有負號會是指亂數是負的情況(以電腦而言)
07/25 21:06, 12F

07/25 21:07, , 13F
被除數=除數*商數+餘數
07/25 21:07, 13F

07/25 21:11, , 14F
我懂了 @@ 感謝T^T
07/25 21:11, 14F
文章代碼(AID): #1EB0gn-g (CSSE)
文章代碼(AID): #1EB0gn-g (CSSE)