作者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