FPGA中加減乘除運算的注意問題
FPGA中有關加減乘除運算的位寬問題:
1:在進行加減乘除運算時一定要注意位寬,保證足夠大的位寬,防止資料溢位,如果溢位結果就會出現錯誤,尤
其是加和乘運算,一定要計算好位寬(位寬的計算可以都取其最大值,看最大值計算後的位寬就是最大位寬,採
用這個位寬資料就溢位不了)
2:除法運算時:除法和減法都是縮小資料,得到的最後結果如果要比原來的位寬小的時候,那取資料的低位,把
高位拋棄,取低位的位寬數和輸出結果的位寬數一致就行
例如:結果data_out是8位資料位寬
原來的數sum是11位位寬,sum經過除法運算(sum/8,就是右移3位),
那麼結果data_out=sum[7:0](即取低8位才是結果)
3:乘法運算時注意位寬足夠就行,別溢位
4:乘法:就是左移,移動是位數是2的指數,即*8就是左移3位,*16就是左移4位
除法:就是右移,移動位數原則和乘法一樣。
5:除法運算:例子:m=n/9;怎樣計算一個數除以9(這個數不是2的整數倍)m是要求的結果,n是原來的數
首先我們可以先解決9,比如我們利用1024(這個數正好是2^10,便於移位計算),因為1024/9=113.7我們取
整即為113(64+32+16+1),因此可以得到9=1024/113,這樣我們就把1024/113這個數當成9,
即m=n/(1024/113)=(n*113)/1024
=(n*113)>>10,這樣就有可以轉換為移位操作了,就變的簡單了,其中那個113可以用乘法的移位來計算
這其中1024是自己任意取的主要是要和2的指數倍相關,便於移位,其中這個1024取的越大,出來的結果的精
度就越高,比如還能取2048,4096等,越大精度越高。
1:在進行加減乘除運算時一定要注意位寬,保證足夠大的位寬,防止資料溢位,如果溢位結果就會出現錯誤,尤
其是加和乘運算,一定要計算好位寬(位寬的計算可以都取其最大值,看最大值計算後的位寬就是最大位寬,採
用這個位寬資料就溢位不了)
2:除法運算時:除法和減法都是縮小資料,得到的最後結果如果要比原來的位寬小的時候,那取資料的低位,把
高位拋棄,取低位的位寬數和輸出結果的位寬數一致就行
例如:結果data_out是8位資料位寬
原來的數sum是11位位寬,sum經過除法運算(sum/8,就是右移3位),
那麼結果data_out=sum[7:0](即取低8位才是結果)
3:乘法運算時注意位寬足夠就行,別溢位
4:乘法:就是左移,移動是位數是2的指數,即*8就是左移3位,*16就是左移4位
除法:就是右移,移動位數原則和乘法一樣。
5:除法運算:例子:m=n/9;怎樣計算一個數除以9(這個數不是2的整數倍)m是要求的結果,n是原來的數
首先我們可以先解決9,比如我們利用1024(這個數正好是2^10,便於移位計算),因為1024/9=113.7我們取
整即為113(64+32+16+1),因此可以得到9=1024/113,這樣我們就把1024/113這個數當成9,
即m=n/(1024/113)=(n*113)/1024
=(n*113)>>10,這樣就有可以轉換為移位操作了,就變的簡單了,其中那個113可以用乘法的移位來計算
這其中1024是自己任意取的主要是要和2的指數倍相關,便於移位,其中這個1024取的越大,出來的結果的精
度就越高,比如還能取2048,4096等,越大精度越高。
相關文章
- shell加減乘除運算
- MongoDB 中的【加減乘除】運算MongoDB
- 位運算實現加減乘除
- Verilog實現加減乘除運算
- 浮點數的加減乘除運算細節
- 三個數字的加減乘除模運算
- NumPy 簡單算術:加減乘除及其他運算
- 二進位制運算加減乘除+快速冪
- JS 加減乘除 尤其是減法精度問題JS
- 超大整數的加減乘除計算方法
- Python運算子可不只有加減乘除Python
- 7-2 算術入門之加減乘除
- JavaScript浮點數加減乘除精確計算JavaScript
- BigDecimal加減乘除運算,保留2位小數點,初始化,與0的比較Decimal
- [每日一題] 第六題:不用加減乘除做加法每日一題
- Java中的"+"運算問題Java
- 簡單的加減乘除(遞迴)遞迴
- 運用mysqldump 工具時需要注意的問題MySql
- 79 不用加減乘除做加法
- ABAP面試問題 - 不使用加減乘除等操作比較兩個整數大小面試
- JS加減乘除位移方法封裝JS封裝
- 利用Python自動生成小學生加減乘除口算考試題卷,不再為手寫算術題煩惱!Python
- 新媒體運營內容運營要注意哪些問題?
- JavaScript加減乘數運算JavaScript
- FPGA的DAC轉換部分遇到的問題FPGA
- 面試官常問的位運算問題總結面試
- java的多項式的加減乘除和賦值Java賦值
- 計算水仙花數運算超時問題
- angular注意問題Angular
- 高精度四件套(加減乘除)
- 每日一練(34):不用加減乘除做加法
- 關於int型別數值的運算問題型別
- 決策樹減支問題(優化)dfs減支問題優化
- 如何巧妙著運用「位運算」來解決問題?
- JavaScript解決浮點數算數運算精度問題JavaScript
- 面試官:集合使用時應該注意哪些問題?我:應該注意該注意的問題!面試
- UI設計中色彩運用應該注意哪些問題UI
- Redux的應該注意的問題Redux