[發(fā)明專利]用于旋轉(zhuǎn)角計(jì)算的基于PLB總線的嵌入式IP軟核及旋轉(zhuǎn)角計(jì)算方法有效
| 申請?zhí)枺?/td> | 201510096287.7 | 申請日: | 2015-03-04 |
| 公開(公告)號(hào): | CN104714773B | 公開(公告)日: | 2018-04-20 |
| 發(fā)明(設(shè)計(jì))人: | 唐雷雷;劉露;唐金鋒 | 申請(專利權(quán))人: | 中國航天科技集團(tuán)公司第九研究院第七七一研究所 |
| 主分類號(hào): | G06F7/548 | 分類號(hào): | G06F7/548 |
| 代理公司: | 西安通大專利代理有限責(zé)任公司61200 | 代理人: | 徐文權(quán) |
| 地址: | 710068 *** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 plb 總線 嵌入式 旋轉(zhuǎn) 計(jì)算 ip 計(jì)算方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于嵌入式系統(tǒng)中復(fù)雜函數(shù)的精確計(jì)算領(lǐng)域,涉及PLB總線和CORDIC算法,具體涉及用于旋轉(zhuǎn)角計(jì)算的基于PLB總線的嵌入式IP軟核及旋轉(zhuǎn)角計(jì)算方法。
背景技術(shù)
CORDIC算法是實(shí)現(xiàn)復(fù)雜函數(shù)計(jì)算的經(jīng)典方法,其基本思想是用查找表、移位和加/減法,不斷逼近的方式,來實(shí)現(xiàn)三角函數(shù)、雙曲線、指數(shù)、對數(shù)等復(fù)雜函數(shù)的計(jì)算。目前,旋轉(zhuǎn)角計(jì)算(反正切計(jì)算)一般采用反饋式結(jié)構(gòu)或流水線結(jié)構(gòu)實(shí)現(xiàn)CORDIC算法,并利用定點(diǎn)運(yùn)算單元執(zhí)行算法中的加/減運(yùn)算功能。這種方案的主要缺陷就是:定點(diǎn)運(yùn)算精度不足。為了解決精度不足問題,可以把定點(diǎn)運(yùn)算單元改成浮點(diǎn)運(yùn)算單元FPU,一般是直接使用現(xiàn)有的浮點(diǎn)運(yùn)算單元FPU。這種方案的主要缺陷是:FPU的引入會(huì)占用FPGA的大量邏輯資源,造成FPGA邏輯資源缺乏。
中國專利CN201110436482公開了一種基于FPGA的三角函數(shù)實(shí)現(xiàn)方法,在迭代開始前根據(jù)三角函數(shù)的對稱性把輸入角度轉(zhuǎn)化到第一象限,CORDIC算法采用流水線結(jié)構(gòu),最后將計(jì)算出來的結(jié)果轉(zhuǎn)換成IEEE-754標(biāo)準(zhǔn)格式。中國專利CN201210168992公開了一種基于浮點(diǎn)運(yùn)算單元的基本超越函數(shù)運(yùn)算方法及其協(xié)處理器,通過增加一個(gè)結(jié)構(gòu)簡單的函數(shù)運(yùn)算控制模塊,在已有浮點(diǎn)運(yùn)算單元的基礎(chǔ)上利用已有浮點(diǎn)運(yùn)算指令實(shí)現(xiàn)三角和反三角函數(shù),雙曲函數(shù),指數(shù)函數(shù)和對數(shù)函數(shù)的計(jì)算;中國專利CN201210433693公開了一種基于CORDIC算法的反饋和流水線結(jié)構(gòu)相結(jié)合的三角函數(shù)運(yùn)算器,提出了基于配置的偽流水CORDIC算法結(jié)構(gòu),即將低級(jí)數(shù)的流水線結(jié)構(gòu)的輸出不斷反饋回其輸入的偽流水形式,實(shí)現(xiàn)無限制精度的三角函數(shù)運(yùn)算。中國專利CN201310065877公開了一種覆蓋全圓周角度的單精度浮點(diǎn)三角函數(shù)的實(shí)現(xiàn)方法,將單精度浮點(diǎn)數(shù)據(jù)轉(zhuǎn)換到[-π/4,π/4]的圓周范圍內(nèi),并轉(zhuǎn)換為高精度定點(diǎn)數(shù)據(jù),將得到的高精度定點(diǎn)數(shù)據(jù)輸入至流水線結(jié)構(gòu)的迭代運(yùn)算模塊,計(jì)算出高精度定點(diǎn)結(jié)果,再將其轉(zhuǎn)換成單精度浮點(diǎn)數(shù)據(jù)輸出。
以上公開的現(xiàn)有技術(shù)中:CORDIC算法結(jié)構(gòu)主要采用反饋式結(jié)構(gòu)或流水線結(jié)構(gòu),還有改進(jìn)后的先流水后反饋的“偽”流水線結(jié)構(gòu);但在嵌入式系統(tǒng)的應(yīng)用中,接口封裝形式與處理器本地PLB總線接口不一致,不能直接連接在總線上,基于PLB總線外圍接口封裝形式的旋轉(zhuǎn)角計(jì)算IP核暫時(shí)還沒有。
發(fā)明內(nèi)容
本發(fā)明目的在于克服現(xiàn)有技術(shù)的不足,提供了一種用于旋轉(zhuǎn)角計(jì)算的基于PLB總線的嵌入式IP軟核及旋轉(zhuǎn)角計(jì)算方法,采用PLB總線接口提高了IP軟核在嵌入式系統(tǒng)中的可移植性。
為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
用于旋轉(zhuǎn)角計(jì)算的基于PLB總線的嵌入式IP軟核,具有PLB總線訪問功能,迭代次數(shù)可配置功能,旋轉(zhuǎn)角計(jì)算功能,計(jì)算結(jié)果緩存回讀功能;包括主控制模塊,PLB總線時(shí)序轉(zhuǎn)換模塊,配置寄存器模塊,查找表RAM模塊,F(xiàn)IFO模塊,象限轉(zhuǎn)換模塊和若干個(gè)迭代模塊;主控制模塊和PLB總線時(shí)序轉(zhuǎn)換模塊均與PLB總線連接,配置寄存器模塊、查找表RAM模塊和FIFO模塊分別與主控制模塊連接,象限轉(zhuǎn)換模塊分別與主控制模塊和若干個(gè)迭代模塊連接;
主控制模塊用于控制迭代模塊的迭代啟動(dòng)、迭代次數(shù)和迭代停止,對查找表RAM中計(jì)算參數(shù)的讀取以及FIFO模塊的讀/寫操作;
配置寄存器模塊用于存儲(chǔ)配置迭代的次數(shù),迭代計(jì)算狀態(tài);
查找表RAM模塊用于存放計(jì)算過程中的固定參數(shù);
FIFO模塊用于存儲(chǔ)旋轉(zhuǎn)角計(jì)算的結(jié)果;
象限轉(zhuǎn)換模塊用于判斷輸入角的象限,并將其轉(zhuǎn)換到第一象限的對應(yīng)角;
迭代模塊由多個(gè)浮點(diǎn)移位器和多個(gè)浮點(diǎn)加法器構(gòu)成,多個(gè)迭代模塊構(gòu)成多級(jí)流水線結(jié)構(gòu),迭代模塊將輸出反饋到輸入實(shí)現(xiàn)多次迭代功能;浮點(diǎn)移位器用于實(shí)現(xiàn)單精度浮點(diǎn)數(shù)的向左/向右的移位功能;浮點(diǎn)加法器用于實(shí)現(xiàn)單精度浮點(diǎn)數(shù)的加/減法功能。
進(jìn)一步地,包括3個(gè)迭代模塊,構(gòu)成3級(jí)流水線結(jié)構(gòu),每個(gè)迭代模塊由2個(gè)浮點(diǎn)移位器和3個(gè)浮點(diǎn)加法器構(gòu)成。
進(jìn)一步地,所述象限轉(zhuǎn)換模塊根據(jù)輸入角的正弦值和余弦值的正負(fù)號(hào),判斷其所在象限,再根據(jù)三角函數(shù)的誘導(dǎo)公式,將其轉(zhuǎn)換到第一象限,計(jì)算出第一象限對應(yīng)角的正弦值和余弦值以及初始相位。
進(jìn)一步地,所述浮點(diǎn)移位器通過遵循“左加右減”的原則,對浮點(diǎn)數(shù)的指數(shù)部分進(jìn)行相應(yīng)位數(shù)的加/減,實(shí)現(xiàn)單精度浮點(diǎn)數(shù)的移位功能。
一種旋轉(zhuǎn)角計(jì)算方法,IP軟核包括3個(gè)迭代模塊,構(gòu)成3級(jí)流水線結(jié)構(gòu),旋轉(zhuǎn)角計(jì)算方法如下:
第一步,由PLB總線接口配置迭代次數(shù)和修改查找表的內(nèi)容;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國航天科技集團(tuán)公司第九研究院第七七一研究所,未經(jīng)中國航天科技集團(tuán)公司第九研究院第七七一研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510096287.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F7-00 通過待處理的數(shù)據(jù)的指令或內(nèi)容進(jìn)行運(yùn)算的數(shù)據(jù)處理的方法或裝置
G06F7-02 .比較數(shù)字值的
G06F7-06 .將單個(gè)記錄載體上的數(shù)據(jù)進(jìn)行排序、選擇、合并或比較的裝置
G06F7-22 .用于排序或合并在連續(xù)記錄載體
G06F7-38 .只利用數(shù)制表示,例如利用二進(jìn)制、三進(jìn)制、十進(jìn)制表示來完成計(jì)算的方法或裝置
G06F7-58 .隨機(jī)數(shù)或偽隨機(jī)數(shù)發(fā)生器
- 內(nèi)部總線系統(tǒng)
- 一種應(yīng)用于實(shí)時(shí)數(shù)據(jù)處理的多級(jí)總線系統(tǒng)
- 協(xié)議轉(zhuǎn)換裝置
- 基于FPGA的PCI總線控制器及控制方法
- 總線監(jiān)控系統(tǒng)、方法及裝置
- 總線電路以及智能貨架系統(tǒng)
- 用于控制串行數(shù)據(jù)總線系統(tǒng)的方法及總線節(jié)點(diǎn)
- 用于在串行數(shù)據(jù)總線系統(tǒng)中分配地址的方法及總線節(jié)點(diǎn)
- 驗(yàn)證先前分配給總線節(jié)點(diǎn)的地址的正確性的方法
- 用于初始化差分雙線數(shù)據(jù)總線的方法及傳送數(shù)據(jù)的方法





