FPGA計算浮點數的方法 姓名:蔡秉旂
FPGA (DE2-115) FPGA使用VHDL code或Verilog code,以二進制做運算。 運算時只能計算整數,不能計算浮點數。 那該如何做浮點運算呢?
流程圖 以二進制的方式做運算,所以放大的倍率為2的n次方。 FPGA VHDL code Verilog code Input * 2^n Output 以二進制的方式做運算,所以放大的倍率為2的n次方。
將數值放大2^15 (24Q15) EX: 2.88(10) 1 1 2.88(10) * 2^15 = 94371.84 ≒ 94371 1 1 2.88(10) * 2^15 = 94371.84 ≒ 94371 1
加法 EX: 2.88(10) + 1.55(10) = 4.43(10) 同乘2^15=> 94371 + 50790 = 145162 1 + 1 1 145162 ÷ 2^15 = 4.42996 ≒ 4.43
MATLAB 模擬
Verilog code
乘法 EX: 2.88(10) * 1.55(10) = 4.464(10) 同乘2^15=> 94371 * 50790 = 4793103090 1 * 1 1 1 1 146273 ÷ 2^15 = 4.46389 ≒ 4.464
MATLAB 模擬
Verilog code
攝氏溫度轉華氏溫度 轉換公式: 華氏 = 攝氏*(9/5) + 32
MATLAB 模擬
MATLAB 模擬