FPGA中浮點運算實現方法——定標,fpga浮點運算

來源:互聯網
上載者:User

FPGA中浮點運算實現方法——定標,fpga浮點運算

有些FPGA中是不能直接對浮點數進行操作的,只能採用定點數進行數值運算。對於FPGA而言,參與數學運算的書就是16位的整型數,但如果數學運算中出現小數怎麼辦呢?要知道,FPGA對小數是無能為力的,一種解決辦法就是採用定標。數的定標就是將要運算的浮點數擴大很多倍,然後取整,再用這個數進行運算,運算得到的結果再縮小相應的倍數就可以了。在設計中,一定不要忘記小數點。在FPGA 中是體現不出來小數點的,小數點的位置只有程式員知道。Q表示小數點的位置,Q15就表示小數點在第15位。

浮點數(x)轉換為定點數(xq): xq=(int)x*2^Q

定點數(xq)轉換浮點數(x): x= (float)xq*2^(-Q)

比如,16進位數2000H,用Q0表示就是8192;若用Q15表示,則為0.25。

下面介紹Q格式運算中Q值的確定:

(1)定點加減法:需要轉換成相同Q格式才能加減

(2)定點乘法:不同Q格式的資料相乘,相當於Q值相加

(3)定點除法:不同Q格式的資料相除,相當於Q值相減

(4)定點左移:相當於Q值增加

(5)定點右移:相當於Q值減少

比如,Q15表示的4000H(浮點數0.5)乘以Q15表示的4000H,4000H×4000H=1000 0000H,乘完之後Q值變為15+15=30,即結果為0.01B,即為浮點數0.25。


fpga 怎進行浮點運算

將浮點數乘以2的n次方,換成整數計算 ,最後在縮小。只能做到近似。
 
FPGA助,利用verilog實現浮點數的計算

DSP的小數格式是什麼樣的。是定點數還是浮點數格式。如果是定點數,可以通過FPGA的定點轉浮點IP core進行轉換,然後調用的浮點計算的IP core就行了,有浮點計算的加減乘除。
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.