新聞中心

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

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

        作者: 時(shí)間:2017-10-11 來(lái)源:網(wǎng)絡(luò) 收藏

        1. 功能及原理

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

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

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

        例1:無(wú)符號(hào)整數(shù)的平方操作:

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

        (1)流水延遲

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

        (2)時(shí)鐘頻率

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

        例2:無(wú)符號(hào)整數(shù)的平方根操作:

        在定制平方根IP核時(shí),選取Unsigned FracTIon,將X_IN與X_OUT設(shè)置為相同bit位,19bit。以某項(xiàng)目為例,待平方數(shù)據(jù)需要19bit來(lái)表示。在項(xiàng)目中,因?yàn)榇_(kāi)放的數(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核的輸入不一致情況下,需要對(duì)輸出結(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í)上,對(duì)于x_in代表的19個(gè)bit,18bit小數(shù)位,1bit小數(shù)位這樣的數(shù)據(jù)格式下,x_dout不需要考慮移位便可得到正確解釋;而其他格式下,則需要對(duì)x_dout進(jìn)行相應(yīng)的移位解釋,比如上例,就是對(duì)x_dout進(jìn)行了9bit的右移才得到了正確的估值。



        關(guān)鍵詞: FPGA CORDIC

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 苗栗县| 梓潼县| 玉门市| 本溪| 云安县| 青河县| 揭西县| 集贤县| 桐城市| 西畴县| 金沙县| 改则县| 亚东县| 教育| 静乐县| 青田县| 济阳县| 辽宁省| 唐海县| 镇巴县| 成武县| 宁武县| 龙州县| 光泽县| 永宁县| 安徽省| 个旧市| 丹东市| 吉木乃县| 桂林市| 花莲市| 清流县| 那曲县| 巨鹿县| 白城市| 金华市| 紫金县| 金川县| 江川县| 雅江县| 桐柏县|