fixed-point

    0熱度

    1回答

    我正在使用Altera de0 nano soc FPGA。我有小數點存儲在固定點類型(5 downto -27)(數字總是正數)。我把它放到std邏輯矢量(32位),並通過Avalon接口發送到soc FPGA的HPS。但我不知道如何將接收到的數字解碼爲(c語言)中的c浮點數。這個怎麼做? 我用fixed_pkg library ieee_proposed; USE ieee.std_logi

    0熱度

    1回答

    我想加快在FPGA上執行我的算法。我試圖在C代碼中以32:32(64)的長度查找固定的數學庫,這些庫很容易轉換爲OpenCL。有沒有人知道一個好的圖書館?我試圖避免使用128位數據類型,因爲它們是OpenCL上的浮點數,如果必須再次使用浮點數,我想它不會加速我的算法。任何建議表示讚賞。如果有一個指南來創建一個自己的庫,那麼只要它解釋得夠簡單,哈哈就可以了。 感謝

    1熱度

    2回答

    我已經根據麥卡錫91以下功能原理: mc91 :: Integer -> Integer mc91 n | n > 100 = n - 10 | otherwise = mc91 (mc91 (n + 11)) 當我在前奏 mc91 85我有 91鍵入 。 我無法配置它,它如何擴展,爲什麼我有91。

    0熱度

    1回答

    我正在使用Altera DE0 nano SoC FPGA。我想知道如何從HPS向FPGA發送浮點數。 讓一個float ex_hps = 6000.9282;通過Avalon內存映射接口發送。如果Avalon_write_data address有32位數據長度(可以從Qsys中設置),在FPGA端,這個數字存儲在一個32位的std_logic_vector右邊? 此std_logic_vect

    2熱度

    2回答

    我經常在我,我的代碼讀取,像這樣的位置: (iterate improve x) 而我要找的第一個值不再是比上屆提高。 filter和take-while都不適用於明顯的解決方案。不過,我猶豫寫出來: (loop [current x next (improve x)] (if (= current next) current (recur next

    12熱度

    1回答

    在埃德Kmett的recursion-scheme包修復,木,怒江之間的差異,有三個聲明: newtype Fix f = Fix (f (Fix f)) newtype Mu f = Mu (forall a. (f a -> a) -> a) data Nu f where Nu :: (a -> f a) -> a -> Nu f 是什麼這三種數據類型之間的區別?

    0熱度

    2回答

    我正在使用David bishop的定點庫在vhdl中做了一些數學計算。我需要將最終值解碼爲整數。我遵循的方法如下,我確實得到了小數部分的精確值,但小數值不正確。我還沒找到問題。在小數部分前兩位數字是錯誤的。 xx 8374.839923 xx數字總是錯的。 當我執行,我得到 74334.738295爲 74334.738295 內部架構, 內部過程中,我做的聲明這些變量, variable cp

    0熱度

    1回答

    我正在嘗試使用ufixed數據類型並將2個固定值加在一起,我已經計算出我應該有足夠的位來存儲結果並且輸出應該能夠被存儲在信號中,但是當我嘗試執行它時,我得到了一個綁定檢查失敗。有人能告訴我爲什麼我得到這個? 代碼的重要部分是: -- definition of parameters used in the failing calculation input : in ufixed(0 down

    2熱度

    1回答

    我是新來的ghdl模擬器,並在windows上使用ghdl。我在我的電腦上安裝了ghdl(ghdl-0.33-win32),並試用了簡單的加法器代碼,它工作正常。我目前需要模擬一些使用David Bishop的固定和浮點軟件包的數學方程。當我包括圖書館我和編譯提示錯誤: "fixed_pkg" not found in library "ieee" ,或者如果我複製fixed_pkg_c文件到我的

    1熱度

    1回答

    我有一些數據可用於定點16.16,我想用QDoubleSpinbox修改。 問題是,無論何時將我的固定點轉換爲雙精度值,都存在不可避免的舍入問題。 double = fixed/(double)65536 就拿0.2,在固定點,這是0x00003333,但是當我把它放到QDoubleSpinBox它顯示0.19999694824188。 但是,只要我碰到了紡絲箱,它就會輪到0.2。 如何使QDou