www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要 基于IEEE浮點(diǎn)表示格式及FFT算法,提出一種基2FFT的FPGA方法,完成了基于FPGA高精度浮點(diǎn)運(yùn)算器的FFT的設(shè)計(jì)。利用VHDL語言描述了蝶形運(yùn)算過程及地址產(chǎn)生單元,其仿真波形基本能正確的表示輸出結(jié)果。 關(guān)鍵詞 快速

摘要 基于IEEE浮點(diǎn)表示格式及FFT算法,提出一種基2FFT的FPGA方法,完成了基于FPGA高精度浮點(diǎn)運(yùn)算器的FFT的設(shè)計(jì)。利用VHDL語言描述了蝶形運(yùn)算過程及地址產(chǎn)生單元,其仿真波形基本能正確的表示輸出結(jié)果。
關(guān)鍵詞 快速傅里葉變換;浮點(diǎn);蝶形運(yùn)算;VHDL

    FFT作為數(shù)字信號(hào)處理中的重要的手段之一,主要在數(shù)字通信、語音信號(hào)處理、圖像處理、功率譜估計(jì)、仿真、系統(tǒng)分析、雷達(dá)理論、光學(xué)、醫(yī)學(xué)、地震以及數(shù)值分析等方面得到廣泛應(yīng)用?;贔PGA實(shí)現(xiàn)FFT,具有軟件編程的靈活性及電路擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。隨著集成電路技術(shù)進(jìn)步和制造工藝水平的提高,F(xiàn)PGA芯片具有的功能越來越強(qiáng),成為快速實(shí)時(shí)實(shí)現(xiàn)FFT的重要手段。采用基2法完成基于FPGA浮點(diǎn)運(yùn)算器的FFT。

1 基于FPGA浮點(diǎn)運(yùn)算器的FFT
1.1 浮點(diǎn)的IEEE標(biāo)準(zhǔn)格式
    設(shè)計(jì)采用單精度浮點(diǎn)運(yùn)算,IEEE定義的二進(jìn)制浮點(diǎn)格式為32位。結(jié)構(gòu)表示如圖1所示。


    將32位分為3部分:31位為符號(hào)位S,S為0時(shí)表示正數(shù),為1時(shí)表示負(fù)數(shù);30~23為指數(shù)E,是一個(gè)0~255之間的八位二進(jìn)制數(shù),其實(shí)際的指數(shù)是E-127,所表示的指數(shù)范圍是2-127~2128;22~0表示尾數(shù)F,小數(shù)點(diǎn)前還隱藏了一位‘1’,單精度尾數(shù)可表示最大數(shù)為2(23+1)=16 777 216。因?yàn)?07<16 777 216<108,所以單精度浮點(diǎn)數(shù)的有效位數(shù)是7位,即浮點(diǎn)數(shù)的精度為10-6。為方便FFT的運(yùn)算,文中采用原碼存儲(chǔ)。
1.2 基2的DIT-FFT算法
    在蝶形運(yùn)算中采用復(fù)數(shù)形式表示數(shù)據(jù)。對(duì)于一個(gè)2點(diǎn)的蝶形運(yùn)算,輸入復(fù)數(shù)為A=x+jX,B=y+jY;經(jīng)運(yùn)算,輸出復(fù)數(shù)A’=(x+ycosφ+ Ysinφ)+j(X+Ycosφ-ysinφ),B’=[x-(ycosφ+Ysinφ)]+j[X-(Ycosφ-ysinφ)]。
    設(shè)計(jì)主要針對(duì)8點(diǎn)FFT進(jìn)行設(shè)計(jì),8點(diǎn)FFT算法的原理圖如圖2所示。


    整個(gè)FFT過程中共有三級(jí)蝶形運(yùn)算,每級(jí)蝶形運(yùn)算有4個(gè)蝶形運(yùn)算單元。在數(shù)據(jù)輸入時(shí)按照自然順序輸入,最后倒序輸出。
1.3 FFT處理器
    FFT處理器主要對(duì)數(shù)據(jù)進(jìn)行蝶形運(yùn)算及數(shù)據(jù)存取。設(shè)計(jì)采用基2蝶形運(yùn)算器,包括存儲(chǔ)器ROM和RAM,控制器及地址產(chǎn)生單元等。其FFT的結(jié)構(gòu)模型如圖3所示。


1.3.1 蝶形處理單元
    蝶形處理單元是整個(gè)FFT的中心環(huán)節(jié),采用復(fù)數(shù)表示,將實(shí)部與虛部分別存儲(chǔ),利用基2的DIT-FFT算法實(shí)現(xiàn)運(yùn)算。


    蝶形運(yùn)算過程包括一個(gè)乘法運(yùn)算和一個(gè)加/減法運(yùn)算。數(shù)據(jù)的讀取由時(shí)鐘單元的信號(hào)來控制:當(dāng)時(shí)鐘為c0時(shí),讀取y;c1時(shí),讀取Y;c2時(shí),讀取x;c3時(shí),讀取X。經(jīng)蝶形運(yùn)算后得到x’=x+(ycosφ+Ysinφ),X’=X+(Ycosφ-ysinφ),y’=x-(ycosφ+Ysinφ),Y’=X-(Ycosφ-ysinφ)然后將數(shù)據(jù)寫入同樣地址的RAM中,至此,2點(diǎn)的蝶形運(yùn)算單元完成。在蝶形運(yùn)算共需一個(gè)乘法器和兩個(gè)加法器。
    (1)浮點(diǎn)乘法器。乘法過程對(duì)浮點(diǎn)數(shù)的符號(hào)位、指數(shù)以及尾數(shù)分別進(jìn)行計(jì)算,符號(hào)異或,指數(shù)相加再減127,尾數(shù)加入隱含的‘1’后再進(jìn)行乘法運(yùn)算,如果尾數(shù)相乘的結(jié)果有溢出則指數(shù)加1尾數(shù)取前23位,若無溢出,則取最高位后的23位。但若輸入的數(shù)據(jù)有一個(gè)是0,則輸出為0。

    圖5的波形為兩浮點(diǎn)數(shù)的乘法運(yùn)算,輸入以16進(jìn)制表示,分別將不同類型的數(shù)據(jù)搭配進(jìn)行測試,結(jié)果表示仿真正確。


    (2)浮點(diǎn)加法器。加法運(yùn)算是將兩數(shù)指數(shù)比較,存儲(chǔ)較大的指數(shù),將指數(shù)小的尾數(shù)移位,再進(jìn)行加減操作,規(guī)格化后輸出。加法過程由多個(gè)模塊組合實(shí)現(xiàn),包括比較模塊,右移模塊、加/減法模塊、前導(dǎo)零檢測模塊、左移模塊和結(jié)果整合輸出模塊。
    比較模塊主要對(duì)指數(shù)操作,判斷指數(shù)的大小,較大的指數(shù)暫作結(jié)果的指數(shù),較小指數(shù)的數(shù)做移位操作,其階差為移位量。以下程序采用for循環(huán)來實(shí)現(xiàn)移位,S(5 downto 0)存儲(chǔ)階差,最大值是32。

    然后尾數(shù)經(jīng)加減運(yùn)算后規(guī)格化并輸出,為了以標(biāo)準(zhǔn)浮點(diǎn)格式輸出,規(guī)格化需要前導(dǎo)零檢測。
   
    
    然后進(jìn)行移位操作,最后將規(guī)格化后的數(shù)據(jù)整合輸出,就完成兩個(gè)浮點(diǎn)數(shù)的加法運(yùn)算。


    圖6的波形為兩個(gè)輸入浮點(diǎn)數(shù)的加法運(yùn)算數(shù)據(jù),以16進(jìn)制表示。上述數(shù)據(jù)分別將不同類型的數(shù)據(jù)搭配運(yùn)算,數(shù)據(jù)表明該仿真結(jié)果正確。
1.3.2 地址產(chǎn)生單元
    地址產(chǎn)生單元主要是跟蹤FFT運(yùn)算進(jìn)度,進(jìn)而更好地調(diào)配存儲(chǔ)單元,及控制各相關(guān)模塊的運(yùn)行。
    (1)通過計(jì)數(shù)器來跟蹤記錄FFT計(jì)算的狀況。為方便對(duì)存儲(chǔ)單元操作,采用計(jì)數(shù)器來記錄FFT的計(jì)算情況。8點(diǎn)的FFT,每個(gè)單元包括4個(gè)數(shù)據(jù),所以用一個(gè)4位計(jì)數(shù)器Butterfly表示全部的運(yùn)算狀態(tài)。一個(gè)2位級(jí)計(jì)數(shù)器Stage表示三級(jí)蝶形單元。當(dāng)Butterfly計(jì)數(shù)為4時(shí),級(jí)計(jì)數(shù)器Stage加1,當(dāng)Stage計(jì)數(shù)為3時(shí),表示FFT的計(jì)算操作完成。當(dāng)Butterfly計(jì)數(shù)為15時(shí),輸入輸出信號(hào)置‘1’,反饋回控制器輸入輸出操作完成。
    (2)ROM讀取的地址。旋轉(zhuǎn)因子存儲(chǔ)在ROM中,由實(shí)部cos(2×k×π/8)和虛部sin(2×k×π/8)兩部分組成,讀取由時(shí)鐘單元的信號(hào)控制。由圖2可以看出每一級(jí)參加蝶形運(yùn)算的旋轉(zhuǎn)因子不同。
    (3)RAM數(shù)據(jù)地址。在整個(gè)地址單元中,分配RAM中數(shù)據(jù)的地址是重點(diǎn),8點(diǎn)蝶形運(yùn)算共需16個(gè)存儲(chǔ)單元,數(shù)據(jù)地址的產(chǎn)生遵循一定規(guī)則。例如,Butterfly的信號(hào)為“a3a2a1a0”,則x,y的地址產(chǎn)生規(guī)則如表1所示。


    數(shù)據(jù)的讀取靠時(shí)鐘信號(hào)來控制。
1.4 FFT仿真結(jié)果分析
    圖7中輸入8點(diǎn)數(shù)據(jù)為[-l,1,2,-0.5,-3,-1,2,0]。仿真結(jié)果經(jīng)轉(zhuǎn)換后,用10進(jìn)制表示的最后結(jié)果為[0,3.76775-1.06065i,-8-0.5i,0.23225-1.06065i,0.5,0.23225+1.06065i,-8+0.5i.3.76775+1.06065i]。Matlab仿真后結(jié)果為[-0.5000,3.7678-1.0607i,-0.8000-0.5000i,0.2322-1.0607i,0.5000,0.2322+1.0607i,-0.8000+0.5000i,3.7678+1.0607i]兩結(jié)果很接近,誤差較小,仿真結(jié)果正確。



2 結(jié)束語
    文中在分析了FFT算法后,描述了運(yùn)算的蝶形單元,地址生成單元及FFT的實(shí)現(xiàn)過程。從實(shí)際設(shè)計(jì)出發(fā),完成了基于FPGA的單精度浮點(diǎn)運(yùn)算器的FFT設(shè)計(jì),精度達(dá)到10-6。其輸出結(jié)果與Matlab仿真結(jié)果相近,達(dá)到了利用FPGA實(shí)現(xiàn)FFT的目的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

前不久,新思科技已經(jīng)正式對(duì)Ansys完成了整個(gè)收購。一家是IP和IC設(shè)計(jì)方面?zhèn)鹘y(tǒng)三強(qiáng)之一,一家是仿真與分析領(lǐng)域的老牌技術(shù)專家。雙方的結(jié)合也是呼應(yīng)整個(gè)技術(shù)潮流,為客戶提供從硅片到系統(tǒng)的完整解決方案。而且,借助Ansys的強(qiáng)...

關(guān)鍵字: Synopsis 新思科技 Ansys 仿真 汽車 AI

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動(dòng)創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會(huì)——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場可編程門陣列(FPGA)憑借其開發(fā)時(shí)間短、成本效益高以及靈活的現(xiàn)場重配置與升級(jí)等諸多優(yōu)點(diǎn),被廣泛應(yīng)用于各種產(chǎn)品領(lǐng)域。從通信設(shè)備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關(guān)鍵字: FPGA 邊緣計(jì)算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進(jìn)入體內(nèi),并對(duì)體內(nèi)器官或結(jié)構(gòu)進(jìn)行直接觀察和對(duì)疾病進(jìn)行診斷的醫(yī)療設(shè)備,一般由光學(xué)鏡頭、冷光源、光導(dǎo)纖維、圖像傳感器以及機(jī)械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運(yùn)用單片機(jī)和FPGA芯片作為主控制器件 , 單片機(jī)接收從PC機(jī)上傳過來的顯示內(nèi)容和顯示控制命令 , 通過命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號(hào)和同步的控制信號(hào)— 數(shù)據(jù)、時(shí)鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機(jī) FPGA LED顯示屏

在異構(gòu)計(jì)算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計(jì)算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時(shí)鐘頻率下實(shí)現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI

在當(dāng)今高度 自動(dòng)化的工業(yè)生產(chǎn)中 ,搬運(yùn)機(jī)械手應(yīng)用廣泛 ?,F(xiàn)對(duì)搬運(yùn)機(jī)械手液壓系統(tǒng)展開研究 ,詳細(xì)闡述其結(jié)構(gòu)組 成、工作流程與基本原理 ,并基于Fluidsim仿真設(shè)計(jì)系統(tǒng)的液壓和電氣回路 ,設(shè)置仿真參數(shù)并進(jìn)行仿真分析 。結(jié)...

關(guān)鍵字: Fluidsim 搬運(yùn)機(jī)械手 仿真 液壓系統(tǒng)

在全球FPGA市場被Xilinx(AMD)與Intel壟斷的格局下,國產(chǎn)FPGA廠商高云半導(dǎo)體通過構(gòu)建自主IP核生態(tài)與智能時(shí)序約束引擎,走出差異化高端化路徑。本文深入解析高云半導(dǎo)體FPGA工具鏈的兩大核心技術(shù)——全棧IP...

關(guān)鍵字: FPGA 高云半導(dǎo)體

針對(duì)現(xiàn)有靜電放電測試方法 ,提出了一種基于末端裝置變形的六軸機(jī)器人模型用于靜電放電測試 。用兩種方法對(duì)模型進(jìn)行了正、逆運(yùn)動(dòng)學(xué)分析,通過實(shí)例驗(yàn)證了旋量方法計(jì)算的優(yōu)勢,為后續(xù)進(jìn)行靜電放電測試自動(dòng)化控制提供了理論基礎(chǔ)。

關(guān)鍵字: 機(jī)器人 正運(yùn)動(dòng)學(xué) 逆運(yùn)動(dòng)學(xué) 變形 仿真 旋量
關(guān)閉