本發明專利技術公開了一種用于旋轉角計算的基于PLB總線的嵌入式IP軟核及旋轉角計算方法,計算IP軟核包括主控制模塊,PLB總線時序轉換模塊,配置寄存器模塊,查找表RAM模塊,FIFO模塊,象限轉換模塊和若干個迭代模塊;多個迭代模塊構成多級流水線結構,迭代模塊將輸出反饋到輸入實現多次迭代功能,旋轉角計算采用反饋式流水線結構,即先反饋后流水的“真”流水線結構,將單精度浮點型的正弦值和余弦值,轉換成單精度浮點角度值,并通過片內總線PLB總線與片內處理器相連,在計算速度上優于“純”反饋式迭代結構和先流水后反饋的“偽”流水線結構,在占用資源上優于“純”流水線結構,在嵌入式系統中的可移植性上優于傳統的設計。
【技術實現步驟摘要】
本專利技術屬于嵌入式系統中復雜函數的精確計算領域,涉及PLB總線和CORDIC算法,具體涉及基于PLB總線的嵌入式旋轉角計算IP軟核及旋轉角計算方法。
技術介紹
CORDIC算法是實現復雜函數計算的經典方法,其基本思想是用查找表、移位和加/減法,不斷逼近的方式,來實現三角函數、雙曲線、指數、對數等復雜函數的計算。目前,旋轉角計算(反正切計算)一般采用反饋式結構或流水線結構實現CORDIC算法,并利用定點運算單元執行算法中的加/減運算功能。這種方案的主要缺陷就是:定點運算精度不足。為了解決精度不足問題,可以把定點運算單元改成浮點運算單元FPU,一般是直接使用現有的浮點運算單元FPU。這種方案的主要缺陷是:FPU的引入會占用FPGA的大量邏輯資源,造成FPGA邏輯資源缺乏。中國專利CN201110436482公開了一種基于FPGA的三角函數實現方法,在迭代開始前根據三角函數的對稱性把輸入角度轉化到第一象限,CORDIC算法采用流水線結構,最后將計算出來的結果轉換成IEEE-754標準格式。中國專利CN201210168992公開了一種基于浮點運算單元的基本超越函數運算方法及其協處理器,通過增加一個結構簡單的函數運算控制模塊,在已有浮點運算單元的基礎上利用已有浮點運算指令實現三角和反三角函數,雙曲函數,指數函數和對數函數的計算;中國專利CN201210433693公開了一種基于CORDIC算法的反饋和流水線結構相結合的三角函數運算器,提出了基于配置的偽流水CORDIC算法結構,即將低級數的流水線結構的輸出不斷反饋回其輸入的偽流水形式,實現無限制精度的三角函數運算。中國專利CN201310065877公開了一種覆蓋全圓周角度的單精度浮點三角函數的實現方法,將單精度浮點數據轉換到的圓周范圍內,并轉換為高精度定點數據,將得到的高精度定點數據輸入至流水線結構的迭代運算模塊,計算出高精度定點結果,再將其轉換成單精度浮點數據輸出。以上公開的現有技術中:C0RDIC算法結構主要采用反饋式結構或流水線結構,還有改進后的先流水后反饋的“偽”流水線結構;但在嵌入式系統的應用中,接口封裝形式與處理器本地PLB總線接口不一致,不能直接連接在總線上,基于PLB總線外圍接口封裝形式的旋轉角計算IP核暫時還沒有。
技術實現思路
本專利技術目的在于克服現有技術的不足,提供了一種基于PLB總線的嵌入式旋轉角計算IP軟核及旋轉角計算方法,采用PLB總線接口提高了 IP軟核在嵌入式系統中的可移植性。為達到上述目的,本專利技術采用以下技術方案:基于PLB總線的嵌入式旋轉角計算IP軟核,具有PLB總線訪問功能,迭代次數可配置功能,旋轉角計算功能,計算結果緩存回讀功能;包括主控制模塊,PLB總線時序轉換模塊,配置寄存器模塊,查找表RAM模塊,FIFO模塊,象限轉換模塊和若干個迭代模塊;主控制模塊和PLB總線時序轉換模塊均與PLB總線連接,配置寄存器模塊、查找表RAM模塊和FIFO模塊分別與主控制模塊連接,象限轉換模塊分別與主控制模塊和若干個迭代模塊連接;主控制模塊用于控制迭代模塊的迭代啟動、迭代次數和迭代停止,對查找表RAM中計算參數的讀取以及FIFO模塊的讀/寫操作;配置寄存器模塊用于存儲配置迭代的次數,迭代計算狀態;查找表RAM模塊用于存放計算過程中的固定參數;FIFO模塊用于存儲旋轉角計算的結果;象限轉換模塊用于判斷輸入角的象限,并將其轉換到第一象限的對應角;迭代模塊由多個浮點移位器和多個浮點加法器構成,多個迭代模塊構成多級流水線結構,迭代模塊將輸出反饋到輸入實現多次迭代功能;浮點移位器用于實現單精度浮點數的向左/向右的移位功能;浮點加法器用于實現單精度浮點數的加/減法功能。進一步地,包括3個迭代模塊,構成3級流水線結構,每個迭代模塊由2個浮點移位器和3個浮點加法器構成。進一步地,所述象限轉換模塊根據輸入角的正弦值和余弦值的正負號,判斷其所在象限,再根據三角函數的誘導公式,將其轉換到第一象限,計算出第一象限對應角的正弦值和余弦值以及初始相位。進一步地,所述浮點移位器通過遵循“左加右減”的原則,對浮點數的指數部分進行相應位數的加/減,實現單精度浮點數的移位功能。一種旋轉角計算方法,IP軟核包括3個迭代模塊,構成3級流水線結構,旋轉角計算方法如下:第一步,由PLB總線接口配置迭代次數和修改查找表的內容;第二步,輸入浮點正弦值X0,浮點余弦值YO和浮點初始相位ZO到象限轉換模塊,將所求的角度轉換到第一象限的對應角,其正弦值為xo’,余弦值為Y0’,此時初始相位為Z0’,Z0’ = 0°、±90° 或 ±180° ;第三步,將(Χ0’,Υ0’,Ζ0’)送入第I級流水線單元,進行⑶RDIC算法的η次迭代,得到(Xn, Yn, Zn) ; (Xn, Yn, Zn)進入第2級流水線單元,進行CORDIC算法的η次迭代,得到(Χ2η,Υ2η,Ζ2η) ; (Χ2η, Υ2η,Ζ2η)進入第3級流水線單元,進行CORDIC算法的η次迭代,得到(Χ3η,Υ3η,Ζ3η);此時,Y3n ^ 0,Ζ3η即為所求旋轉角的計算結果。本專利技術具有以下效果:(I)本專利技術基于PLB總線的嵌入式旋轉角計算IP軟核,多個迭代模塊構成多級流水線結構,迭代模塊將輸出反饋到輸入實現多次迭代功能,旋轉角計算采用反饋式流水線結構,即先反饋后流水的“真”流水線結構,將單精度浮點型的正弦值和余弦值,轉換成單精度浮點角度值,并通過片內總線PLB總線與片內處理器相連,在計算速度上優于“純”反饋式迭代結構和先流水后反饋的“偽”流水線結構,在占用資源上優于“純”流水線結構,在嵌入式系統中的可移植性上優于傳統的設計。(2)本專利技術中單精度浮點運算單元FPU的引入,大大提高了計算精度,15次迭代的計算精度在±0.004°以內,解決定點運算精度不足問題;(3)本專利技術中迭代次數根據查找表空間大小配置迭代次數,這將使得計算精度在一定范圍內可以無限提高;(4)本專利技術中加入象限轉換模塊,擴展了 CORDIC算法旋轉角計算范圍,從(-99.88。?99.88。)擴展到(-180。?180。)。(5)本專利技術采用PLB總線接口,大大提高了其在嵌入式系統中的可移植性。進一步,本專利技術中包括3個迭代模塊,構成3級流水線結構,3η次迭代的3級流水線結構占用FPGA的邏輯資源,是3η次迭代的3η級流水線結構占用FPGA的邏輯資源的I/η,起到了減少邏輯資源的效果?!靖綀D說明】圖1是基于PLB總線的嵌入式旋轉角計算IP軟核的結構框圖。【具體實施方式】以下結合附圖對本
技術實現思路
進行詳細說明:本專利技術基于PLB總線的嵌入式旋轉角計算IP軟核:旋轉角計算采用反饋式流水線結構,即先反饋后流水的“真”流水線結構,將單精度浮點型的正弦值和余弦值,轉換成單精度浮點角度值,并通過片內總線PLB總線與片內處理器相連。基于PLB總線的嵌入式旋轉角計算IP軟核具體功能包括:PLB總線訪問功能,迭代次數可配置功能,旋轉角計算功能,計算結果緩存回讀功能。本專利技術是基于PLB總線的嵌入式旋轉角計算IP軟核,主要由21個基本模塊組成,具體包括個主控制模塊,I個PLB總線時序轉換模塊,I個配置寄存器模塊,I個查找表RAM模塊,I個FIFO模塊,I個象限轉換模塊本文檔來自技高網...

【技術保護點】
基于PLB總線的嵌入式旋轉角計算IP軟核,其特征在于:具有PLB總線訪問功能,迭代次數可配置功能,旋轉角計算功能,計算結果緩存回讀功能;包括主控制模塊,PLB總線時序轉換模塊,配置寄存器模塊,查找表RAM模塊,FIFO模塊,象限轉換模塊和若干個迭代模塊;主控制模塊和PLB總線時序轉換模塊均與PLB總線連接,配置寄存器模塊、查找表RAM模塊和FIFO模塊分別與主控制模塊連接,象限轉換模塊分別與主控制模塊和若干個迭代模塊連接;主控制模塊用于控制迭代模塊的迭代啟動、迭代次數和迭代停止,對查找表RAM中計算參數的讀取以及FIFO模塊的讀/寫操作;配置寄存器模塊用于存儲配置迭代的次數,迭代計算狀態;查找表RAM模塊用于存放計算過程中的固定參數;FIFO模塊用于存儲旋轉角計算的結果;象限轉換模塊用于判斷輸入角的象限,并將其轉換到第一象限的對應角;迭代模塊由多個浮點移位器和多個浮點加法器構成,多個迭代模塊構成多級流水線結構,迭代模塊將輸出反饋到輸入實現多次迭代功能;浮點移位器用于實現單精度浮點數的向左/向右的移位功能;浮點加法器用于實現單精度浮點數的加/減法功能。
【技術特征摘要】
【專利技術屬性】
技術研發人員:唐雷雷,劉露,唐金鋒,
申請(專利權)人:中國航天科技集團公司第九研究院第七七一研究所,
類型:發明
國別省市:陜西;61
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。