新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何實(shí)現(xiàn)FPGA基于CORDIC算法的求平方?

        如何實(shí)現(xiàn)FPGA基于CORDIC算法的求平方?

        作者: 時(shí)間:2018-08-03 來源:網(wǎng)絡(luò) 收藏

        1. 功能及原理

        本文引用地址:http://www.104case.com/article/201808/385310.htm

        是在沒有專用乘法器(最小化門數(shù)量)情況下,一組完成特定功能的算法,包括平方、超越、Log、sin/cos/artan。原理為連續(xù)的旋轉(zhuǎn)一個(gè)較小的角度,以一定精度逼近想要的角度。具體原理如下圖所示:



        2. Xilinx實(shí)現(xiàn) IP核及性能測試

        例1:無符號整數(shù)的平方操作:

        X_in[18:0],待平方的無符號整數(shù),在nd(new data)為輸入有效信號,輸出x_out[9:0]及對應(yīng)的使能信號rdy,其對應(yīng)的波形圖見下圖。


        (1)流水延遲

        最下方為輸入數(shù)據(jù),最上方為輸出求平方結(jié)果。從上圖可以看到,從nd到rdy,間隔了5個(gè)時(shí)鐘周期。

        (2)時(shí)鐘頻率

        在FX130-1芯片上綜合時(shí)鐘頻率結(jié)果為2.8ns,。

        例2:無符號整數(shù)的平方根操作:

        在定制平方根IP核時(shí),選取Unsigned FracTIon,將X_IN與X_OUT設(shè)置為相同bit位,19bit。以某項(xiàng)目為例,待平方數(shù)據(jù)需要19bit來表示。在項(xiàng)目中,因?yàn)榇_放的數(shù)據(jù)表示圖像坐標(biāo),因此為整數(shù),數(shù)據(jù)格式為UFIX19_0,即用19bit表示數(shù)據(jù),且小數(shù)位為零位。而CORDIX的輸入要求為UFIX19_18,即19bit數(shù)據(jù),其中18bit表示小數(shù)位,1bit整數(shù)。

        在數(shù)據(jù)格式與CORDIC核的輸入不一致情況下,需要對輸出結(jié)果的bit位進(jìn)行正確解釋。

        輸入x_in=180: 000 0000 0000 1011 0100

        輸出x_dout=6869:000 0001 1010 1101 0101

        解釋:因?yàn)镃ORDIC期待的輸入x_in為18bit小數(shù),因此CORDIC的輸出x_dout應(yīng)為9bit小數(shù),即13+0.25+0.125+0.03125+0.0078125+0.001953125 = 13.416??梢钥闯鲎钚〉木瓤梢员3值叫?shù)點(diǎn)第3位。在具體實(shí)現(xiàn)時(shí),可以根據(jù)精度要求進(jìn)行調(diào)整。

        注:事實(shí)上,對于x_in代表的19個(gè)bit,18bit小數(shù)位,1bit小數(shù)位這樣的數(shù)據(jù)格式下,x_dout不需要考慮移位便可得到正確解釋;而其他格式下,則需要對x_dout進(jìn)行相應(yīng)的移位解釋,比如上例,就是對x_dout進(jìn)行了9bit的右移才得到了正確的估值。



        關(guān)鍵詞: CORDIC FPGA

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 永和县| 广德县| 广安市| 皋兰县| 麻栗坡县| 洛阳市| 合山市| 吴旗县| 遂溪县| 皋兰县| 博客| 交口县| 庆云县| 佛山市| 昭通市| 应用必备| 杭锦后旗| 鄂尔多斯市| 孝感市| 郁南县| 竹溪县| 安阳县| 运城市| 石泉县| 南投县| 白朗县| 石棉县| 石台县| 隆尧县| 连州市| 乌拉特中旗| 西吉县| 大新县| 石景山区| 奎屯市| 辽源市| 罗源县| 合山市| 吴旗县| 大厂| 应用必备|