《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 浮點反正切函數的FPGA實現
浮點反正切函數的FPGA實現
來源:電子技術應用2010年第8期
李 全
桂林電子科技大學 信息與通信學院,廣西 桂林541004
摘要: 設計了一種基于CORDIC算法計算浮點反正切函數的的硬件結構,并在Altera公司的FPGA芯片上進行了驗證,最后在Nios II處理器系統中以用戶自定義指令的形式實現,通過C語言程序驗證了浮點反正切模塊的正確性。
中圖分類號: TP301
文獻標識碼: A
The implementation of floating arc tangent function based on FPGA
LI Quan
Information and Communication Institute,Guilin University of Electronic Technology,Guilin 541004,China
Abstract: This paper presents a architecture of arc tangent calculate circuit based on CORDIC algorithm. Software simulation and hardware experiment has been done for this module on Altera FPGA. Finally, we accomplish the hardware module by adding custom instruction on the Nios II processor system of Altera corporation. The floating-point arc tangent module′s correctness is proved by C program running in the Nios II processor.
Key words : CORDIC;arc tangent;floating-point;Nios II

    在數字信號處理、導航通訊等許多領域會大量使用反正切函數進行必要的計算,當FPGA系統應用于上述領域時常常會遇到如何使用硬件來完成反正切函數計算的問題。本文設計了基于CORDIC算法的反正切函數計算模塊,并且根據IEEE-754單精度浮點數據格式對輸入輸出數據進行處理,實現了高精度的浮點反正切函數的計算。
1 反正切函數實現原理
    CORDIC算法有旋轉模式和向量模式兩種計算模式。旋轉模式可以用來計算一個輸入角的正弦、余弦,向量模式可以計算給定向量的角度和長度。
    CORDIC算法的基本迭代公式為:
 
    從上式可以看出,CORDIC算法在向量模式可以計算出給定向量(X,Y)的長度和角度,即從平面坐標到極坐標的變換。
2 數據格式轉換接口模塊
    本文設計的反正切函數硬件模塊輸入為IEEE-754單精度浮點數據,而模塊內部迭代使用的是定點整型數據,因此需要進行轉換。
    在圖1的輸入數據轉換接口示意圖中,X、Y為輸入的IEEE-754浮點數據格式,輸入范圍是(-∞,+∞),經過接口模塊轉換為整型定點數據Xn、Yn,其表示范圍是[-1 +1]。

    矢量(X,Y)在平面坐標系中的角度為arctan(Y/X),它只與Y和X的比值有關,與Y和X的實際長度無關。用這個性質可以以X和Y中絕對值最大的值作為歸一化數值,將X和Y的范圍重新映射在[-1 +1]之間,實現(X,Y)到(Xn,Yn)的轉換。
    計算結束后輸出結果Z。Z是32位定點整型數據,且232被定義為2π,將其規格化為IEEE-754格式的過程如圖2所示。在對Z進行規格化之前,需要進行前導零檢測,以確定規格化時尾數左移的位數和指數位的大小,前導零的檢測硬件上可以用casex語句實現。

3 整體設計以及仿真綜合
    浮點反正切函數的硬件結構包括了三個主要部分,即浮點數據格式轉換接口模塊、CORDIC內核計算模塊和浮點輸出數據轉換接口模塊,如圖3所示。

    采用Quartus II對設計進行FPGA綜合,FPGA芯片選擇EP2C70F896C6,硬件環境為Altera公司的DE2-70平臺,總共需要1 522個邏輯單元,占用芯片資源的2%,最高工作頻率為100 MHz。
4 Nios II中反正切函數的自定義指令實現
    反正切函數與Nios II CPU的接口采用multi-cycle custom instruction,dataa和datab為輸入數據,result為結果輸出,要從C語言中直接調用自定義指令,需要一個宏定義接口。可以在system.h文件中找到自定義指令的宏定義,如:
#define ALT_CI_CORDIC_ATAN2_N 0x00000000
#define ALT_CI_CORDIC_ATAN2(A,B) __builtin_custom_inii
(ALT_CI_CORDIC_ATAN2_N,(A),(B))
    為了正確調用自定義指令,在主程序中重新做以下宏定義:
#define ATAN2(A,B) __builtin_custom_fnff(ALT_CI_CORDIC_ATAN2_N,(A),(B))
    與system.h文件中系統自動生成的宏定義不同之處在于將宏定義的接口說明由“__builtin_custom_inii”改為了“__builtin_custom_fnff”。系統自動生成的宏定義默認輸入輸出皆為整型數據,改為“__builtin_custom_fnff”就是通知系統這是一條輸入輸出都是單精度浮點數據類型的用戶自定義指令。這樣由CPU調用時就不會出現數據類型不匹配的錯誤。
    通過在Nios II CPU中加入的JTAG_UART模塊,可以從調試終端窗口中獲得運行結果。硬件IP核平均計算用時73個周期,而軟件計算平均用時21 000個周期,計算速度提升300倍以上。此時CPU工作頻率為100 MHz,且配置為最高性能,浮點反正切函數硬件模塊僅工作在50 MHz。浮點反正切函數硬件模塊的計算精度完全可以滿足單精度浮點數據的要求,計算誤差小于10e-6,因此可以用于對精度和速度都要求很高的各種信號處理領域。
    反正切函數是應用范圍最廣的一個反三角函數,而用硬件實現浮點反正切函數對相應算法的速度會起到一個很大的提升作用,硬件浮點反正切函數可以很方便地作為一個IP核被系統調用,實現高速并行的超越函數計算。目前,已經設計完成并用Nios II處理器驗證過浮點超越函數計算IP,包括浮點正弦函數、浮點余弦函數、浮點反正切函數和浮點反正弦函數。Nios II處理器通過加入這些IP核模塊就能實現大部分浮點超越函數計算,使用硬件IP核計算比用軟件計算在速度上至少可以提升300~1 000倍,這樣就可以將Nios II處理器用于原先只有用DSP才能處理的一些場合,可以充分發揮FPGA系統的靈活性以及并行數據處理的能力。

參考文獻
[1] Volder.The CORDIC trigonometric computing technique[J]. IRE Trans,1959:334-334.
[2] WALTHER.J.S.A unified algorithm for elementary functions[J].Spring Joint Computer Conf,1971:379-385.
[3] 李全,李曉歡,陳石平.基于CORDIC算法高精度浮點超越函數的FPGA實現.電子技術應用,2009,35(5):166-168.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          av成人免费在线| 国内自拍视频一区二区三区| 亚洲精品美女在线观看播放| 亚洲免费观看高清在线观看| 中日韩美女免费视频网址在线观看| 亚洲国产精品久久| 亚洲精品久久久久久久久久久| 黄色成人在线免费| 欧美一区二区三区喷汁尤物| 亚洲国产成人av好男人在线观看| 欧美一区影院| 国产麻豆午夜三级精品| 国产亚洲一本大道中文在线| 国产一级久久| 国产精品一区二区三区成人| 欧美电影在线| av不卡在线观看| 欧美啪啪成人vr| 亚洲免费在线视频一区 二区| 99国产成+人+综合+亚洲欧美| 日韩特黄影片| 亚洲一区二区三区在线视频| 亚洲欧洲另类国产综合| 亚洲精品久久视频| 噜噜噜久久亚洲精品国产品小说| 国产网站欧美日韩免费精品在线观看| 亚洲日本中文字幕免费在线不卡| 欧美一二三视频| 国产精品中文字幕欧美| 国产视频亚洲| 黄色亚洲免费| 久久久久国产精品午夜一区| 国产伦精品免费视频| 欧美日韩中字| 亚洲二区在线观看| 亚洲欧美另类在线观看| 亚洲伦理中文字幕| 亚洲精选视频在线| 国模吧视频一区| 久久成人精品电影| 欧美电影在线| 亚洲欧美日韩精品久久久久| 久久高清一区| 野花国产精品入口| 欧美成人r级一区二区三区| 久久国产66| 国产精品日韩在线| 亚洲欧美在线看| 99亚洲视频| 亚洲网站视频福利| 夜夜嗨av一区二区三区网页| 精品不卡一区| 久久综合影音| 亚洲天堂av电影| 国产精品乱码| 欧美色图五月天| 一本到高清视频免费精品| 国产精品国产馆在线真实露脸| 欧美一区二区三区视频免费| 在线看片日韩| 亚洲曰本av电影| 在线一区二区三区四区| 欧美一级一区| 欧美婷婷久久| 欧美电影美腿模特1979在线看| 亚洲女与黑人做爰| 欧美午夜女人视频在线| 国产精品女同互慰在线看| 亚洲中字黄色| 欧美一区二区三区播放老司机| 亚洲精品韩国| 欧美电影美腿模特1979在线看| 欧美日韩极品在线观看一区| 欧美午夜精品久久久久久人妖| 亚洲乱码视频| 欧美日韩亚洲在线| 午夜一级在线看亚洲| 激情伊人五月天久久综合| 欧美绝品在线观看成人午夜影视| 一区二区三欧美| 久久久成人网| 国产日韩欧美制服另类| 日韩视频在线观看一区二区| 国产欧美精品久久| 国产日韩欧美自拍| 久久精品视频在线| 国产精品专区h在线观看| 亚洲图片欧美日产| 含羞草久久爱69一区| 亚洲欧洲一区二区三区在线观看| 欧美在线高清视频| 一区二区三区欧美在线观看| 免费在线日韩av| 亚洲欧美国产精品专区久久| 国产精品自在欧美一区| 久久久精品999| 国产精品久久久999| 久久久水蜜桃av免费网站| 国产欧美精品日韩精品| 国产精品你懂的在线欣赏| 欧美日韩国产综合久久| 一区二区三区毛片| 国产精品久久97| 亚洲欧洲一区二区三区久久| 亚洲视频精品| 欧美在线在线| 亚洲免费小视频| 亚欧美中日韩视频| 一区二区亚洲精品| 美女日韩欧美| 国产精品伦一区| 国产精品视频| 久久久久一区二区三区四区| 欧美三日本三级三级在线播放| 欧美一级淫片aaaaaaa视频| 欧美日韩中文字幕日韩欧美| 国产精品国产亚洲精品看不卡15| 9人人澡人人爽人人精品| 国产精品免费一区二区三区在线观看| 亚洲精品乱码久久久久久按摩观| 久久久免费精品视频| 国产精品一区二区在线观看| 老司机午夜精品| 久久亚洲精品一区| 欧美体内she精视频| 一区二区三区视频免费在线观看| 欧美视频免费| 在线观看亚洲视频啊啊啊啊| 国产欧美日韩免费看aⅴ视频| 91久久夜色精品国产九色| 亚洲精品精选| 欧美日韩精品免费观看| 亚洲高清免费视频| 久久这里有精品视频| 国产精品久久久久999| 欧美激情第3页| 欧美在线播放| 欧美日韩精品三区| 欧美高清自拍一区| 激情欧美亚洲| 欧美区在线观看| 国产精品第三页| 国产日韩欧美日韩| 亚洲黄一区二区三区| 欧美va亚洲va日韩∨a综合色| 麻豆国产精品一区二区三区| 欧美成人午夜免费视在线看片| 欧美久久久久久蜜桃| 欧美日韩99| 国产婷婷97碰碰久久人人蜜臀| 一本色道久久综合亚洲精品不卡| 久久精品女人天堂| 国产一区二区三区日韩| 亚洲肉体裸体xxxx137| 亚洲狠狠婷婷| 亚洲欧美在线免费| 亚洲国产精品久久精品怡红院| 欧美激情四色| 国产精品mm| 亚洲最新中文字幕| 欧美va天堂va视频va在线| 久久综合色88| 136国产福利精品导航| 国产伦精品一区二区三区四区免费| 禁久久精品乱码| 亚洲欧洲在线播放| 欧美精品乱人伦久久久久久| 红桃视频亚洲| 欧美综合国产精品久久丁香| 亚洲高清二区| 国产精品v亚洲精品v日韩精品| 亚洲午夜在线观看| 亚洲天堂av在线免费观看| 国产精品久久久久久影院8一贰佰| 久久人体大胆视频| 欧美人成在线视频| 亚洲欧美电影在线观看| 久久激情久久| 国产精品99久久久久久有的能看| 欧美一区二区三区电影在线观看| 另类酷文…触手系列精品集v1小说| 亚洲午夜精品一区二区| 欧美在线1区| 国产亚洲精品高潮| 久久久噜噜噜久久中文字幕色伊伊| 欧美激情性爽国产精品17p| 欧美日一区二区在线观看| 欧美日韩精品一区二区天天拍小说| 欧美性淫爽ww久久久久无| 亚洲国产精品第一区二区| 欧美日韩一区二区在线观看| 国产精品乱码人人做人人爱| 亚洲午夜激情网页| 欧美a级在线| 久久久久久久久久码影片| 免费久久精品视频| 一本一本久久| 伊人久久亚洲美女图片| 一区精品在线| 一区二区三区国产精华| 久久只精品国产| 国产精品久久午夜夜伦鲁鲁| 国产日韩成人精品| 欧美日韩国产另类不卡| 欧美日韩午夜精品| 国产精品毛片一区二区三区| 国产亚洲福利社区一区| 国产精品毛片高清在线完整版| 久久三级福利| 国产精品magnet| 亚洲激情国产精品| 今天的高清视频免费播放成人| 国产日韩欧美中文| 欧美激情精品久久久| 亚洲高清不卡一区| 国产一区二区av| 欧美深夜影院| 久久综合影视| 欧美国产精品久久| 9久草视频在线视频精品| 99综合电影在线视频| 欧美精品一区在线发布| 久久精品2019中文字幕| 欧美不卡在线视频| 1204国产成人精品视频| 免费欧美在线| 狠狠操狠狠色综合网| 欧美日韩国产精品专区| 国产视频一区在线观看| 久久久久se| 欧美阿v一级看视频| 国产日韩欧美二区| 国产精品美女主播| 亚洲图片在线| 欧美一级久久| 亚洲国产成人久久综合| 国产精品爽爽ⅴa在线观看| 午夜久久久久久| 欧美天天视频| 欧美日韩国产在线观看| 在线视频免费在线观看一区二区| 国产精品久久久久aaaa| 欧美性片在线观看| 亚洲视频中文字幕| 久久这里只有精品视频首页| 国产色婷婷国产综合在线理论片a| 美日韩在线观看| 久久久综合精品| 国内一区二区三区在线视频| 亚洲欧美日韩高清| 亚洲精品一区二区三区av| 欧美一区二区三区视频在线| 欧美在线观看日本一区| 日韩视频在线播放| 伊人精品久久久久7777| 国产精品扒开腿做爽爽爽视频| 亚洲欧美bt| 国产麻豆日韩| 亚洲午夜黄色| 久久成人18免费观看| 国产精品女主播在线观看| 国产精品毛片在线看| 精品动漫3d一区二区三区免费版| 亚洲片国产一区一级在线观看| 欧美色精品天天在线观看视频| 国产欧美一区二区三区久久| 99视频一区二区三区| 亚洲午夜av| 久久精品国产99国产精品| 久久精品国产一区二区三区免费看| 亚洲精品视频一区| 亚洲久久一区二区| 欧美在线你懂的| 久久天天躁夜夜躁狠狠躁2022| 国产精品久久久对白| 136国产福利精品导航网址应用| 国产精品欧美日韩一区二区| 欧美日韩精品免费观看视一区二区| 亚洲成色999久久网站| 国产精品自在在线| 国产欧美日韩在线| 久久精品毛片| 国产精品视频久久久| 亚洲欧美视频一区| 欧美jizzhd精品欧美喷水| 亚洲在线一区| 国产精品久久精品日日| 欧美一区二区在线免费播放| 欧美日韩ab| 国产精品综合| 欧美精品首页| 久久精品一本久久99精品| 亚洲综合色在线| 黄色成人av| 久久精品国语| 国产亚洲精品bv在线观看| 国产欧美精品一区aⅴ影院| 久久精品国产清高在天天线| 一区二区av| 美女脱光内衣内裤视频久久影院| 亚洲午夜一区二区三区| 亚洲精品一区久久久久久| 欧美日韩精品免费在线观看视频| 欧美一区日韩一区| 国产欧美日韩精品在线| 欧美日韩一区二区三区四区五区| 影院欧美亚洲| 欧美国产欧美综合| 亚洲综合成人婷婷小说| 久久久午夜电影| 免费的成人av| 亚洲电影专区| 亚洲美女在线视频| 中文av一区特黄| 老司机午夜精品视频在线观看| 国产精品美女在线观看| 欧美成人国产va精品日本一级| 国产日韩精品电影| 久久免费一区| 欧美黄色免费网站| 韩国精品主播一区二区在线观看| 亚洲午夜久久久久久尤物| 亚洲国产1区| 亚洲欧美日韩精品| 欧美日韩国产免费观看| 亚洲精品乱码久久久久久按摩观| 久久天堂国产精品| 91久久国产精品91久久性色|