999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于System Generator的任意底對(duì)數(shù)變換FPGA實(shí)現(xiàn)方法

2022-12-25 12:41:36李武旭
艦船電子對(duì)抗 2022年6期
關(guān)鍵詞:設(shè)計(jì)

李武旭,李 宏

(四川九洲空管科技有限責(zé)任公司,四川 綿陽 621000)

0 引 言

現(xiàn)場(chǎng)可編程門陣列(FPGA)具備極強(qiáng)的并行處理能力,被廣泛運(yùn)用于雷達(dá)、通信和測(cè)量等領(lǐng)域中,尤其對(duì)實(shí)時(shí)性要求較高的應(yīng)用中。在這些應(yīng)用中可能涉及到對(duì)數(shù)運(yùn)算。目前,在FPGA上實(shí)現(xiàn)對(duì)數(shù)變換的方法主要有查表法[1-2]、CORDIC[3-4]和線性近似法[5]等。查表法所需要的存儲(chǔ)單元隨著精度的增加或輸入值范圍的增大而呈指數(shù)增加。CORDIC[3]法的實(shí)現(xiàn)結(jié)構(gòu)簡(jiǎn)單,但計(jì)算精度與迭代次數(shù)直接相關(guān),處理延時(shí)和邏輯資源花銷也會(huì)增加。線性近似法由于本身的缺陷導(dǎo)致精度有限,且近似曲線的設(shè)計(jì)過程復(fù)雜。

本文介紹一種采用分段擬合方式實(shí)現(xiàn)任意底對(duì)數(shù)變換的近似方法,并聯(lián)合System Generator、MATLAB和Simulink等工具進(jìn)行設(shè)計(jì)與驗(yàn)證協(xié)同開發(fā),將近似曲線的設(shè)計(jì)、理論模擬仿真、算法FPGA實(shí)現(xiàn)以及算法仿真驗(yàn)證等過程統(tǒng)一起來,并通過修改參數(shù)設(shè)計(jì)出不同底和精度要求的對(duì)數(shù)變換。

1 任意底對(duì)數(shù)的近似計(jì)算原理

在數(shù)字系統(tǒng)中,數(shù)據(jù)通常采用2種二進(jìn)制表示形式定點(diǎn)數(shù)和浮點(diǎn)數(shù)。浮點(diǎn)數(shù)格式由符號(hào)位(S)、偏移指數(shù)位(E)和尾數(shù)位(M)三部分組成[6]。單精度浮點(diǎn)數(shù)格式的x可表示為:

x=(-1)s2(E-127)(1+M)

(1)

對(duì)于任意非負(fù)數(shù)x(S=0),其以a(a>0,且a1)為底的對(duì)數(shù)logax可分為以2為底的對(duì)數(shù)轉(zhuǎn)換和對(duì)數(shù)底變換2個(gè)處理過程,即:

(2)

通常,連續(xù)函數(shù)可以通過麥克勞林級(jí)數(shù)進(jìn)行近似表示,則對(duì)數(shù)函數(shù)log2(1+t)的麥克勞林級(jí)數(shù)可表示為:

-1

(3)

此外,因?yàn)閷?duì)數(shù)log2(1+t)的麥克勞林級(jí)數(shù)存在公因式t。若定義輔助函數(shù)faux(t)為:

(4)

則式(2)可重寫為:

(5)

2 輔助函數(shù)的近似計(jì)算

輔助函數(shù)faux(t)是由無窮項(xiàng)多項(xiàng)式構(gòu)成的冪級(jí)數(shù),在實(shí)際中,精確的計(jì)算faux(t)是不現(xiàn)實(shí)的,即使對(duì)faux(t)的級(jí)數(shù)進(jìn)行截?cái)啵残柽M(jìn)行復(fù)雜的冪運(yùn)算,故必須對(duì)faux(t)的計(jì)算方法進(jìn)行簡(jiǎn)化[7]。在[0,1)范圍內(nèi),輔助函數(shù)faux(t)的曲線呈非線性連續(xù)變化且單調(diào)遞減(見圖1),采用曲線擬合方法對(duì)faux(t)曲線進(jìn)行近似。為了降低計(jì)算復(fù)雜度,faux(t)擬合曲線的階數(shù)應(yīng)盡量小,而faux(t)呈非線性變化,直接采用一次多項(xiàng)式擬合效果肯定不理想,故將t取值區(qū)間均分為D段,按區(qū)間分段進(jìn)行一次擬合。圖1中分別顯示了4種情況下的擬合效果。

圖1 輔助函數(shù)的理論曲線和擬合結(jié)果

圖1分別顯示了faux(t)的理論曲線、擬合曲線及其兩者間差異。從圖1可看出,二次擬合誤差在±5.8×10-3以內(nèi);當(dāng)分段數(shù)為4、8和16時(shí),一次擬合誤差分別在±3.4×10-3、±9.4×10-4和±2.5×10-4以內(nèi)。與二次擬合相比,一次擬合的擬合誤差隨著分段數(shù)增加而減小,且可獲得更好的近似結(jié)果,也具有更低的計(jì)算復(fù)雜度。因此,分段一次擬合方法更適用對(duì)輔助函數(shù)faux(t)進(jìn)行近似。可見,輔助函數(shù)擬合曲線是一個(gè)分段函數(shù),其表達(dá)式為:

(6)

通過輔助函數(shù)的近似處理,可將對(duì)數(shù)快速計(jì)算過程進(jìn)一步化簡(jiǎn)為:

(7)

3 基于FPGA的對(duì)數(shù)變換設(shè)計(jì)優(yōu)化

本文采用的目標(biāo)FPGA為Xilinx的Kintex-7系列XC7K325T,其包含運(yùn)算單元DSP48E1。每個(gè)DSP48E1均包含1個(gè)25位寬的預(yù)加法器(Pre-Adder)、25×18位寬的乘法器和48位寬的累加器(Accumulator)等。對(duì)數(shù)計(jì)算的數(shù)據(jù)位寬和運(yùn)算結(jié)構(gòu)應(yīng)適應(yīng)DSP48E1的特性,需對(duì)常數(shù)和運(yùn)算結(jié)果進(jìn)行量化,但引入量化誤差。

(8)

在FPGA實(shí)現(xiàn)時(shí),通過簡(jiǎn)單的位裁剪處理實(shí)現(xiàn)這種轉(zhuǎn)換關(guān)系,不需要占用額外的邏輯資源。結(jié)合式(7)和式(8)并經(jīng)簡(jiǎn)化后,可得新的快速對(duì)數(shù)變換表達(dá)式:

(9)

在計(jì)算過程中,以M的高W位作為地址從ROM中實(shí)時(shí)獲取。

而除以D運(yùn)算可轉(zhuǎn)換為右移W位操作,無需除法器,不占用額外FPGA邏輯資源。對(duì)數(shù)變換過程主要以定點(diǎn)數(shù)乘法和加法為主,不存在其他復(fù)雜的運(yùn)算過程,其原理框圖如圖2所示。

圖2 快速對(duì)數(shù)變換的FPGA實(shí)現(xiàn)原理框圖

4 快速對(duì)數(shù)運(yùn)算的FPGA設(shè)計(jì)與驗(yàn)證

基于硬件描述語言(HDL)代碼編寫的傳統(tǒng)FPGA開發(fā)方式,要求開發(fā)人員對(duì)處理算法和硬件有深入認(rèn)識(shí),開發(fā)周期比較長。當(dāng)發(fā)生算法改動(dòng)或硬件平臺(tái)改變時(shí),需要從源代碼入手進(jìn)行修改,工作量大,維護(hù)困難。System Generator作為高性能的數(shù)字信號(hào)處理(DSP)系統(tǒng)快速建模與實(shí)現(xiàn)工具,是DSP高層系統(tǒng)和Xilinx FPGA 之間的橋梁,能夠使設(shè)計(jì)人員快速開發(fā)出高性能的FPGA來實(shí)現(xiàn)DSP算法,可在MATLAB/Simulink 環(huán)境下對(duì)算法級(jí)系統(tǒng)進(jìn)行圖形化建模和系統(tǒng)級(jí)仿真[8]。System Generator通過簡(jiǎn)易的圖形化設(shè)計(jì)方式代替HDL開發(fā)的方式,避免了代碼可讀性差的缺點(diǎn),方便成熟設(shè)計(jì)的共享和移植。System Generator是Xilinx提供的FPGA硬件開發(fā)工具,使開發(fā)人員能夠在Simulink開發(fā)環(huán)境下,通過圖形化的方式搭建快速對(duì)數(shù)變換的系統(tǒng)模型,并生成針對(duì)Xilinx FPGA優(yōu)化的參數(shù)化設(shè)計(jì)。與原理框圖的組成略有差異,這個(gè)System Generator模型由輸入/輸出接口、數(shù)據(jù)分割處理、以2為底對(duì)數(shù)轉(zhuǎn)換、對(duì)數(shù)換底變換、異常檢測(cè)處理和System Generator標(biāo)志等模塊組成。輸入/輸出接口使用Gateway In和Gateway Out模塊實(shí)現(xiàn)Simulink和System Generator之間的數(shù)據(jù)傳遞,也用于確定用戶邏輯設(shè)計(jì)的邊界(相當(dāng)于HDL代碼中的頂層輸入/輸出端口定義)。System Generator標(biāo)志允許用戶設(shè)置系統(tǒng)和仿真參數(shù),包括目標(biāo)開發(fā)平臺(tái)、目標(biāo)器件、工作時(shí)鐘等,還用于調(diào)用代碼生成器將Gateway In和Gateway Out之間的模型轉(zhuǎn)換為HDL代碼。

快速對(duì)數(shù)變換的輸入采用單精度浮點(diǎn)數(shù)格式,中間計(jì)算結(jié)果和轉(zhuǎn)換輸出則采用定點(diǎn)數(shù)格式。對(duì)數(shù)運(yùn)算對(duì)負(fù)數(shù)無意義,零的對(duì)數(shù)轉(zhuǎn)換結(jié)果為負(fù)無窮(由于定點(diǎn)數(shù)的數(shù)值范圍有限而無法正確表示),通過異常檢測(cè)處理模塊來識(shí)別這2種特殊情況,同時(shí)它們的轉(zhuǎn)換結(jié)果用比正常值更小的其它數(shù)值代替。

5 對(duì)數(shù)變換的FPGA設(shè)計(jì)與驗(yàn)證聯(lián)合開發(fā)

在傳統(tǒng)FPGA開發(fā)方式下,快速對(duì)數(shù)變換實(shí)現(xiàn)分為3個(gè)獨(dú)立過程,首先需通過MATLAB對(duì)算法進(jìn)行模擬仿真驗(yàn)證,計(jì)算出參數(shù)A、c0、c1和c2并進(jìn)行量化,接著編寫HDL代碼進(jìn)行FPGA實(shí)現(xiàn),然后編寫Testbench文件通過邏輯仿真工具對(duì)FPGA設(shè)計(jì)進(jìn)行邏輯仿真驗(yàn)證。一旦FPGA平臺(tái)或者對(duì)數(shù)變換設(shè)計(jì)需求改變,很可能造成邏輯設(shè)計(jì)發(fā)生變化并須重新進(jìn)行設(shè)計(jì)與驗(yàn)證。這種方式需要設(shè)計(jì)師使用多種開發(fā)軟件平臺(tái)單獨(dú)、串行地開展算法設(shè)計(jì)、FPGA實(shí)現(xiàn)和邏輯仿真驗(yàn)證工作,開發(fā)效率低,非常不便于快速對(duì)數(shù)變換設(shè)計(jì)的共享和移植。

System Generator結(jié)合MATLAB和Simulink構(gòu)建出FPGA設(shè)計(jì)與驗(yàn)證聯(lián)合開發(fā)環(huán)境。System Generator以圖形化的方式完成FPGA邏輯設(shè)計(jì),并利用大量的MATLAB函數(shù)和Simulink模塊完成算法理論模擬仿真、產(chǎn)生測(cè)試激勵(lì)和開展設(shè)計(jì)效果分析。在該開發(fā)環(huán)境下,快速對(duì)數(shù)變換的整個(gè)設(shè)計(jì)包含模型初始化配置模塊、測(cè)試激勵(lì)產(chǎn)生模塊、浮點(diǎn)數(shù)對(duì)數(shù)變換模塊、快速對(duì)數(shù)變換模塊和對(duì)數(shù)轉(zhuǎn)換誤差分析模塊等部分,其中模型仿真初始化配置模塊采用m文件形式,其余模塊均采用Simulink和System Generator模塊進(jìn)行圖形化設(shè)計(jì),如圖3所示。

圖3 快速對(duì)數(shù)變換的聯(lián)合設(shè)計(jì)與驗(yàn)證模型

在Simulink環(huán)境下,測(cè)試激勵(lì)同時(shí)傳遞給浮點(diǎn)數(shù)對(duì)數(shù)變換模塊和快速對(duì)數(shù)變換模塊進(jìn)行仿真,通過對(duì)數(shù)轉(zhuǎn)換誤差分析模塊可顯示出快速對(duì)數(shù)轉(zhuǎn)換和理論對(duì)數(shù)轉(zhuǎn)換的計(jì)算結(jié)果,并分析兩者之間的差異情況。圖4顯示了2個(gè)模塊進(jìn)行以10為底對(duì)數(shù)轉(zhuǎn)換結(jié)果,從圖中可以看出兩者的轉(zhuǎn)換結(jié)果基本一致,說明快速對(duì)數(shù)轉(zhuǎn)換的算法有效且System Generator系統(tǒng)模塊設(shè)計(jì)正確。

圖4 快速對(duì)數(shù)轉(zhuǎn)換和理論計(jì)算結(jié)果

此外,以浮點(diǎn)數(shù)對(duì)數(shù)變換結(jié)果為參照,分析了不同對(duì)數(shù)轉(zhuǎn)換的絕對(duì)誤差和相對(duì)誤差情況,圖5(a)和圖5(b)顯示了相同分段擬合情況下以10為底對(duì)數(shù)和自然對(duì)數(shù)2種計(jì)算的絕對(duì)誤差情況。對(duì)比圖5(a)和圖5(c)可看出,隨著擬合分段數(shù)的增加,對(duì)數(shù)轉(zhuǎn)換的絕對(duì)誤差會(huì)改善,與理論分析一致。

圖5 快速對(duì)數(shù)轉(zhuǎn)換和理論計(jì)算的誤差情況

通過System Generator標(biāo)志調(diào)用代碼生成器將快速對(duì)數(shù)變換的系統(tǒng)模型轉(zhuǎn)換為HDL代碼,并產(chǎn)生VIVADO工程。在VIVADO開發(fā)環(huán)境中,對(duì)快速對(duì)數(shù)變換模塊的HDL代碼進(jìn)行邏輯仿真,其結(jié)果如圖6所示。快速對(duì)數(shù)變換模塊需花費(fèi)12個(gè)時(shí)鐘周期正確完成以10為底的對(duì)數(shù)轉(zhuǎn)換,其計(jì)算結(jié)果與理論值誤差很小,并能夠識(shí)別出負(fù)數(shù)和零對(duì)數(shù)轉(zhuǎn)換的異常情況。

圖6 快速對(duì)數(shù)轉(zhuǎn)換的邏輯仿真結(jié)果

在VIVADO中,對(duì)HDL代碼進(jìn)行綜合后,以10為底的對(duì)快速對(duì)數(shù)變換所使用的FPGA邏輯資源如表1所述。

表1 FPGA邏輯資源使用情況

6 結(jié)束語

本文提出利用浮點(diǎn)數(shù)的特點(diǎn)和對(duì)數(shù)轉(zhuǎn)換的性質(zhì),將任意底對(duì)數(shù)轉(zhuǎn)換過程轉(zhuǎn)換為以2為底的對(duì)數(shù)轉(zhuǎn)換和對(duì)數(shù)底變換2個(gè)步驟,利用分段擬合方法對(duì)以2為底的對(duì)數(shù)變換進(jìn)行近似,使任意底對(duì)數(shù)轉(zhuǎn)換能夠在FPGA上以有限的乘法和加法簡(jiǎn)單實(shí)現(xiàn)。同時(shí),聯(lián)合System Generator、MATLAB和Simulink開展任意底對(duì)數(shù)變換進(jìn)行FPGA實(shí)現(xiàn)的設(shè)計(jì)與驗(yàn)證聯(lián)合開發(fā),該開發(fā)方法能夠顯著提高FPGA開發(fā)效率,便于FPGA設(shè)計(jì)的共享和移植,在工程實(shí)際中具有一定的推廣意義。

猜你喜歡
設(shè)計(jì)
二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計(jì)到“設(shè)計(jì)健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 午夜精品一区二区蜜桃| 免费 国产 无码久久久| 免费国产黄线在线观看| 精品视频一区二区观看| 国产欧美日韩视频怡春院| 日韩一二三区视频精品| 中字无码av在线电影| 亚洲色图欧美一区| 精品91视频| 91在线丝袜| 天天激情综合| 国产成人综合在线观看| 91亚洲国产视频| 国产亚洲高清视频| V一区无码内射国产| 野花国产精品入口| 久久国产精品嫖妓| 国产极品美女在线| 国产高清色视频免费看的网址| 欧美第九页| 青青青国产视频手机| 欧美午夜精品| 国产日韩精品一区在线不卡 | 青青草一区| 2021国产v亚洲v天堂无码| 多人乱p欧美在线观看| 欧美成a人片在线观看| 亚洲午夜天堂| 在线精品亚洲一区二区古装| 中文字幕欧美日韩高清| 天天做天天爱天天爽综合区| 欧美亚洲综合免费精品高清在线观看| 日韩福利在线观看| 亚洲伊人久久精品影院| 亚洲综合经典在线一区二区| 九九久久精品国产av片囯产区| 亚洲成a人片在线观看88| 中文字幕第4页| 无码视频国产精品一区二区| 亚洲天堂日韩在线| 性欧美在线| 亚洲成肉网| 在线观看热码亚洲av每日更新| 国产成人乱无码视频| 国产青青操| 青青久视频| 巨熟乳波霸若妻中文观看免费| 一本无码在线观看| 免费看久久精品99| 国产福利影院在线观看| 国产区福利小视频在线观看尤物 | 欧美成人看片一区二区三区| 久久综合色88| 久操中文在线| 高h视频在线| 91色在线观看| 一级毛片在线直接观看| a天堂视频| 在线视频97| 国产九九精品视频| 国产精品漂亮美女在线观看| 亚洲热线99精品视频| 亚洲高清中文字幕在线看不卡| 国产精品亚洲а∨天堂免下载| 2021精品国产自在现线看| 国产成人精品免费视频大全五级| 亚洲综合经典在线一区二区| 欧美综合中文字幕久久| 久久午夜夜伦鲁鲁片无码免费| 亚洲va视频| 日韩在线欧美在线| 国产91色在线| 激情六月丁香婷婷四房播| 国产乱人视频免费观看| 亚洲激情99| 国产欧美日本在线观看| 欧洲亚洲一区| 国产欧美日韩综合在线第一| 国产日韩欧美成人| 五月六月伊人狠狠丁香网| 国产一级小视频| 国产精品尤物在线|