作者peterstun (彼得)
看板Electronics
標題[問題] verilog
時間Wed Jan 9 20:13:53 2008
a*data
a 為0或1 data為8bit ex: 0100 1011
想要 0*data=0
1*data=data
在verilog中 這是要用乘法器嗎
用asaign out= a*data好像得不到我要的結果
請問我怎麼做 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.18.90
1F:推 DinoZavolta:1-bit乘其實就是AND而已,把data的每個bit跟a作AND運算 01/09 20:28
2F:→ DinoZavolta:i.e., assign out[i] = a & data[i]; i= 0,1,2,...,7 01/09 20:30
3F:→ SILee:assign out = (a)? data : 8'h00; 01/09 21:11
4F:→ SILee:或是用Dino大的作法area更小 不過code會比較難看XD 01/09 21:13
5F:推 Jkson:assign out = a & data ; 不就好了嗎? 01/09 22:21
6F:→ Aragom:assign out = {8{a}} & data; 01/09 22:27