<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種CORDIC協(xié)處理器核的設計與實(shí)現

一種CORDIC協(xié)處理器核的設計與實(shí)現

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

此模塊首先通過(guò)控制命令字、yz分量計算出旋轉的方向,然后對向量作旋轉。由于圓坐標和雙曲坐標模式下旋轉的角度不同,所以需要根據控制命令字進(jìn)行選擇。由于使用了流水線(xiàn)結構,移位操作實(shí)際上通過(guò)布線(xiàn)而靜態(tài)確定,不需要專(zhuān)門(mén)的移位器。模塊使用3個(gè)可進(jìn)行加減運算的ALU單元分別對xyz分量進(jìn)行修正。Rom存儲了圓坐標和雙曲坐標模式下的旋轉角度,其精度根據的配置而定,可以簡(jiǎn)單地通過(guò)在實(shí)例化Verilog模塊時(shí)指定參數來(lái)進(jìn)行配置。

本文引用地址:http://dyxdggzs.com/article/201609/303786.htm

2.4 后處理單元

由圖2可知,旋轉單元的輸出結果并不直接對應所提供的函數。后處理單元對旋轉單元的輸出結果進(jìn)行處理,實(shí)現所需要的函數。具體的處理如表2所示。

一種CORDIC協(xié)處理器核的設計與實(shí)現

此外,由于前處理單元對圓坐標輸入進(jìn)行了象限折疊,后處理單元需要進(jìn)行相應的修正。例如對于圓坐標旋轉模式,如果輸入的z∈[π/4,π/2],則前處理單元會(huì )將z變?yōu)?pi;/2-z,于是相應的后處理單元需要將x和y的值相交換。

2.5 補償單元

由(4)可知,每次旋轉都會(huì )改變向量的模,故需要對最終的xy分量進(jìn)行補償。由于向量模變化只與坐標系模式有關(guān),故補償單元可以用一個(gè)常數乘法器實(shí)現。常數乘法器可以通過(guò)用華萊士樹(shù)把移位后幾個(gè)向量相加來(lái)實(shí)現。本文在線(xiàn)下通過(guò)程序窮舉找出了一組加減操作數最少乘數編碼方式,對于18位的配置,可以使用一個(gè)9輸入的華萊士樹(shù)和一個(gè)加法器實(shí)現,這使得該核在缺乏硬件乘法器的基于flash的Actel 上也可以輕松使用。華萊士樹(shù)中一位的結構如圖4所示。

一種CORDIC協(xié)處理器核的設計與實(shí)現

3 性能分析

為了證明所提出的的實(shí)用性,本文選取了迭代次數16—20、擴展位數為5位的幾種配置進(jìn)行了綜合。綜合平臺使用了航天電子系統常用的2種:A3P3000E和xc4vf40 綜合結果如表3所示。

一種CORDIC協(xié)處理器核的設計與實(shí)現

可見(jiàn)本具有較高的性能和較低的資源占用率,可以較容易地被集成,且隨著(zhù)迭代次數和精度的提高,資源的增長(cháng)趨勢穩定,速度的下降并不明顯。

一直以來(lái)有很多為加速CORDIC運算而提出的方法,其中很多使用了冗余數,試圖通過(guò)冗余數進(jìn)位傳播有限的特點(diǎn)來(lái)降低加法器的延遲。但本文通過(guò)對比發(fā)現,基于冗余數的算法僅在A(yíng)3P3000E的實(shí)現上有一定速度優(yōu)勢,而在virtex4上沒(méi)有速度優(yōu)勢,還在資源利用率上有很大劣勢。原因是當前的大多數針對常見(jiàn)運算邏輯,如加法器的實(shí)現作出了特殊優(yōu)化,使用了快速進(jìn)位鏈降低加法器的進(jìn)位延遲。相對的,由于FPGA缺乏對冗余數邏輯的支持,冗余數加法器需要由基本單元綜合生成,具有較大的布線(xiàn)延遲,且需要消耗大量的LUT或邏輯門(mén)資源。此外,由于冗余數使用2倍于補碼長(cháng)度的編碼方式來(lái)表示數值,冗余數需要使用更多的寄存器寄存每級流水線(xiàn)的中間結果。綜上,對于有效位數較少的配置,本文提出的CORDIC具有更好的性能與資源利用更具優(yōu)勢。

4 精度與誤差

根據參考文獻可知,CORDIC計算的誤差主要來(lái)自2部分:由于每次迭代時(shí)用來(lái)修正z分量的角度有限而產(chǎn)生的近似誤差和由于計算位數有限而產(chǎn)生的xy分量截斷誤差。為了盡量降低誤差,首先應該保證旋轉過(guò)程中用來(lái)修正z的數值是經(jīng)過(guò)舍入得到的,而不是簡(jiǎn)單通過(guò)截斷得到的,這樣可以減小由于使用近似的旋轉角度而產(chǎn)生的舍入誤差。其次可以考慮在最終階段運算結果前進(jìn)行舍入。運算結果的舍入可以在補償單元通過(guò)增加華萊士樹(shù)的輸入實(shí)現。即增加一個(gè)輸入變量,其大小為最低有效位的一半,符號與補償單元的輸入相同。除此之外,需要根據所需的精度合理選擇CORDIC的數據位數,增加擴展位,即對于n位的CORDIC運算,在迭代運算時(shí)使用n+m位,在迭代結束后舍棄m位,這樣做可以保證前面的n位不受到截斷誤差的影響。本文選取了18位CORDIC來(lái)說(shuō)明擴展位和迭代次數對精度的影響。對于圓坐標旋轉模式,輸入向量為x=2.0,y=0.0,z∈[-π,π]的所有可能輸入向量;對于圓坐標向量模式,輸入為模為2.0,夾角屬于[-π,π]的所有可能輸入向量;對于雙曲旋轉模式,輸入為x=2.0,y=0.0,z∈[-1.0,1.0]的所有可能輸入向量;對于雙曲向量模式,輸入為x=a+1,y=a-1,α∈[0.25,1.0]的所有可能輸入。各個(gè)函數的誤差與所選取的迭代次數和擴展位的關(guān)系如表4所示。

一種CORDIC協(xié)處理器核的設計與實(shí)現

其中ulp為最低位單位。對于20位定點(diǎn)數有1ulp=2-18。配置為擴展位數和迭代次數。通過(guò)實(shí)驗可以發(fā)現,對擴展后的向量進(jìn)行截斷會(huì )帶來(lái)顯著(zhù)的誤差增長(cháng)。并且只會(huì )在使用較長(cháng)擴展位時(shí)對結果進(jìn)行舍入才有明顯的效果,因為擴展位較少的情況下舍入反而可能會(huì )讓結果向錯誤的方向舍入。最后值得注意的是雙曲模式下的函數誤差高于圓坐標模式,由(8)可知這是由于雙曲模式向量角度收斂性更差而導致的。

5 結束語(yǔ)

本文提出的CORDIC協(xié)處理器可以容易地集成進(jìn)目前常見(jiàn)的航天級FPGA中,為CPU提供更強的三角函數和超越函數運算能力。在中端的V4系列FPGA中實(shí)現萬(wàn)分之1精度的三角函數和超越函數只需要不到10%的資源,并可運行于較高的系統時(shí)鐘下。CORDIC協(xié)處理器提供了并行運算幾種常用三角和超遠函數的功能,不僅適用于導航計算機,也可以被用于其他有大量實(shí)時(shí)性計算需求的嵌入式系統中。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA IP核 CORDIC 協(xié)處理器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>