推 ptta: 寫一個簡單的C來比對結果吧! 12/28 13:27
→ htps0763: 你在verilog裡面寫加減和乘都是把數字當無號數運算,這 12/29 08:17
→ htps0763: 樣跟你的設計會不會一樣你可以思考一下 12/29 08:17
→ htps0763: 要這樣算的話,你的h如果是負數,你就不能只是把signed 12/29 08:24
→ htps0763: bit寫成1,要做補數 12/29 08:24
→ corydoras09: 整數部分要做二補數,但整數是0,二補數完還是0啊? 12/29 12:19
→ corydoras09: 還是除了有號數其他要做二補數? 12/29 12:19
→ yuleen123: 要整個8bits一起做二補數吧,定點數小數的運算方式和整 12/29 12:55
→ yuleen123: 數一樣 12/29 12:55
→ corydoras09: 雖然我已經交失敗報告了XD,不過還是感謝!! 12/29 20:27
推 mmonkeyboyy: @_@ 所以這是作業? 12/29 22:36
算一個小報告吧@@我覺得我好蠢
老師文件裡面都說要娶二補數了
我還傻傻的只取整數的二補數(都是零XD
※ 編輯: corydoras09 (111.248.201.167), 12/30/2017 03:14:12
我改了,結果輸出變好大?@@
parameter word_size_out=2*word_size_in;
parameter b0=8'b00010110; //010110=0.34375
parameter b1=8'b11110111; //001001=0.140625,負數,做二補數
parameter b2=8'b00000111; //000111=0.109375
parameter b3=8'b11110110;//001010=0.15625,負數,做二補數
輸出
timer=0 input=00000000 output=zzxxxxxxxxxxxxxxxx 0
timer=1 input=00000000 output=zz0000000000000000 50
timer=0 input=10000001 output=zz0000000000000000 100
timer=1 input=10000001 output=zz0000101100010110 150
timer=0 input=10000001 output=zz0000101100010110 200
timer=1 input=10000001 output=zz1000011110001101 250
timer=0 input=10000001 output=zz1000011110001101 300
timer=1 input=10000001 output=zz1000101100010100 350
timer=0 input=10000001 output=zz1000101100010100 400
timer=1 input=10000001 output=zz0000011100001010 450
timer=0 input=10000001 output=zz0000011100001010 500
timer=1 input=10000001 output=zz0000011100001010 550
timer=0 input=10000001 output=zz0000011100001010 600
timer=1 input=10000001 output=zz0000011100001010 650
timer=0 input=10000001 output=zz0000011100001010 700
前四位是1符號+3整數,後面12位是小數
0000.011100001010=0.439941406
@@
※ 編輯: corydoras09 (111.248.201.167), 12/30/2017 04:16:38
※ 編輯: corydoras09 (111.248.201.167), 12/30/2017 04:17:49
另外想請教,位什麼輸出要+2?
parameter order=3;
parameter word_size_in=8;
parameter word_size_out=2*word_size_in+2;
我都把它槓掉,但剛剛發現,如果輸入是負數
輸出會變成01開頭,是這樣所以我加減才有誤嗎?
如果加回去,哪裡開始才是我的小數點的標準位置呢?
加回去後的輸入
timer=0 input=00000001 output=000000001000001010 1000
※ 編輯: corydoras09 (111.248.201.167), 12/30/2017 04:35:04