作者NalrA (沒人要的廢人)
站內Electronics
標題Re: [問題] verilog問題
時間Wed May 9 22:12:33 2007
※ 引述《renj (地下情人)》之銘言:
: ※ 引述《invalid (everlasting)》之銘言:
: : 用signed宣告吧
: : synopsys的coding style有特別提到
: : 我覺得最要注意的是
: : assign a[7:0]=b[7:0]+c[1:0];
: : 跟
: : assign a=b+c;
: : 會有不同的行為
: : 前者"不"會以2's complement的方式展開c (c=10-> 00000010)
: : 後者就會 (c=10 -> 11111110)
: : 反正就是在做datapath的話
: : 要很小心sign的問題
: 這問題,之前也讓我覺得頗困擾的,到現在還沒一探究竟為何會這樣.
: 不知道有沒有哪位高手知道答案呢?
: 之前,我只知道不同的語法會有 signed 跟 unsigned 不同的運算結果.
: 但我還頗好奇這不同的語法,究竟合成得到的電路會有什麼差異呢?
: 所以,我有做了一些簡單的試驗,究竟不同的語法會合出怎樣的東西來..
: 如果看到這覺得太乏味的就先行 ← 吧 ^^"
我覺得用signed宣告是合不出電路,畢竟這種2補數加法或是乘法,都是
存在於你我的腦中運算的方式,通常我都是另外寫一個乘法或是加法的module..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.144.169
→ acelp:signed跟unsigned都可以合成 就連unsigned宣告也可以有 05/09 23:23
→ acelp:signed bit...相信我 因為我都做過了 @_@ 05/09 23:24