5.7 FPGA設(shè)計(jì)的IP和算法應(yīng)用 基于IP的設(shè)計(jì)已成為目前FPGA設(shè)計(jì)的主流方法之一,本章首先給出IP的定義,然后以FFT IP核為例,介紹賽靈思IP核的應(yīng)用。 5.7.1 IP核綜述 IP(Intelligent Property) 核是具有知識(shí)產(chǎn)權(quán)核的集成電路芯核總稱,是經(jīng)過(guò)反復(fù)驗(yàn)證過(guò)的、具有特定功能的宏模塊,與芯片制造工藝無(wú)關(guān),可以移植到不同的半導(dǎo)體工藝中。到了SOC 階段,IP核設(shè)計(jì)已成為ASIC電路設(shè)計(jì)公司和FPGA提供商的重要任務(wù),也是其實(shí)力體現(xiàn)。對(duì)于FPGA 開(kāi)發(fā)軟件,其提供的IP核越豐富,用戶的設(shè)計(jì)就越方便,其市場(chǎng)占用率就越高。目前,IP核已經(jīng)變成系統(tǒng)設(shè)計(jì)的基本單元,并作為獨(dú)立設(shè)計(jì)成果被交換、轉(zhuǎn)讓和銷售。 從IP核的提供方式上,通常將其分為軟核、硬核和固核這3類。從完成IP核所花費(fèi)的成本來(lái)講,硬核代價(jià)最大;從使用靈活性來(lái)講,軟核的可復(fù)用使用性最高。( 這部分內(nèi)容前面已經(jīng)闡述,這里再重申一下) 軟核(Soft IP Core) 軟核在EDA設(shè)計(jì)領(lǐng)域指的是綜合之前的寄存器傳輸級(jí)(RTL) 模型;具體在FPGA設(shè)計(jì)中指的是對(duì)電路的硬件語(yǔ)言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過(guò)功能仿真,需要經(jīng)過(guò)綜合以及布局布線才能使用。其優(yōu)點(diǎn)是靈活性高、可移植性強(qiáng),允許用戶自配置;缺點(diǎn)是對(duì)模塊的預(yù)測(cè)性較低,在后續(xù)設(shè)計(jì)中存在發(fā)生錯(cuò)誤的可能性,有一定的設(shè)計(jì)風(fēng)險(xiǎn)。軟核是IP 核應(yīng)用最廣泛的形式。 固核(Firm IP Core) 固核在EDA設(shè)計(jì)領(lǐng)域指的是帶有平面規(guī)劃信息的網(wǎng)表;具體在FPGA設(shè)計(jì)中可以看做帶有布局規(guī)劃的軟核,通常以RTL 代碼和對(duì)應(yīng)具體工藝網(wǎng)表的混合形式提供。將RTL描述結(jié)合具體標(biāo)準(zhǔn)單元庫(kù)進(jìn)行綜合優(yōu)化設(shè)計(jì),形成門(mén)級(jí)網(wǎng)表,再通過(guò)布局布線工具即可使用。和軟核相比,固核的設(shè)計(jì)靈活性稍差,但在可靠性上有較大提高。目前,固核也是IP核的主流形式之一。 硬核(Hard IP Core) 硬核在EDA 設(shè)計(jì)領(lǐng)域指經(jīng)過(guò)驗(yàn)證的設(shè)計(jì)版圖;具體在FPGA 設(shè)計(jì)中指布局和工藝固定、經(jīng)過(guò)前端和后端驗(yàn)證的設(shè)計(jì),設(shè)計(jì)人員不能對(duì)其修改。不能修改的原因有兩個(gè):首先是系統(tǒng)設(shè)計(jì)對(duì)各個(gè)模塊的時(shí)序要求很嚴(yán)格,不允許打亂已有的物理版圖;其次是保護(hù)知識(shí)產(chǎn)權(quán)的要求,不允許設(shè)計(jì)人員對(duì)其有任何改動(dòng)。IP 硬核的不許修改特點(diǎn)使其復(fù)用有一定的困難,因此只能用于某些特定應(yīng)用,使用范圍較窄。 IP Core生成器(Core Generator) 是Xilinx FPGA設(shè)計(jì)中的一個(gè)重要設(shè)計(jì)工具,提供了大量成熟的、高效的IP Core為用戶所用,涵蓋了汽車工業(yè)、基本單元、通信和網(wǎng)絡(luò)、數(shù)字信號(hào)處理、FPGA特點(diǎn)和設(shè)計(jì)、數(shù)學(xué)函數(shù)、記憶和存儲(chǔ)單元、標(biāo)準(zhǔn)總線接口等8 大類,從簡(jiǎn)單的基本設(shè)計(jì)模塊到復(fù)雜的處理器一應(yīng)俱全。配合賽靈思網(wǎng)站的IP中心使用,能夠大幅度減輕設(shè)計(jì)人員的工作量,提高設(shè)計(jì)可靠性。 Core Generator最重要的配置文件的后綴是xco,既可以是輸出文件又可以是輸入文件,包含了當(dāng)前工程的屬性和IP Core的參數(shù)信息。 5.7.2 FFT IP核應(yīng)用示例 ISE提供了FFT/IFFT的IP Core,可以完成實(shí)數(shù)、復(fù)數(shù)信號(hào)的FFT以及IFFT運(yùn)算。FFT的IP Core提供三種結(jié)構(gòu),分別為: 圖5-57 FFT IP core的用戶界面 在實(shí)際硬件操作中,模塊的執(zhí)行速度是很重要的參數(shù),所以本文分析第一種結(jié)構(gòu),即流水線Streaming I/O結(jié)構(gòu),以進(jìn)行連續(xù)的數(shù)據(jù)處理。在進(jìn)行當(dāng)前幀的N點(diǎn)數(shù)據(jù)時(shí),可加載下一幀的N點(diǎn)數(shù)據(jù),同時(shí)輸出前一幀的N點(diǎn)數(shù)據(jù)。此結(jié)構(gòu)由多個(gè)基2的蝶形處理單元構(gòu)成,每個(gè)單元都有自己的存儲(chǔ)單元來(lái)存儲(chǔ)輸入和中間處理的數(shù)據(jù),其結(jié)構(gòu)如圖5-58所示。 圖5-58 FFT模塊的流水線,Streaming I/O結(jié)構(gòu) FFT的計(jì)算單元具有豐富的控制信號(hào),其詳細(xì)說(shuō)明見(jiàn)下文。 XN_RE、XN_IM :輸入操作數(shù),分別為實(shí)部和虛部,以2 的補(bǔ)碼輸入。在使用時(shí)應(yīng)當(dāng)確定其位寬。 經(jīng)過(guò)仿真測(cè)試得到的功能波形圖如圖5-59所示: 圖5-59 FFT的IP core仿真波形 歡迎通信工程師和FPGA工程師關(guān)注公眾號(hào) FPGA微信技術(shù)群 歡迎大家加入全國(guó)FPGA微信技術(shù)群,這里有一群熱愛(ài)技術(shù)的工程師,在這里可以一起交流討論技術(shù)! 用手指按住就可以加入FPGA全國(guó)技術(shù)群哦 FPGA IP核服務(wù):各類優(yōu)質(zhì)IP核服務(wù)商,服務(wù)到位,有保障!有需求的可以直接聯(lián)系群主! FPGA技術(shù)群平臺(tái)自營(yíng):Xilinx Altera 鎂光、三星、海力士、ADI TI ST NXP 等品牌的優(yōu)勢(shì)代理分銷商,歡迎大家有需求隨時(shí)發(fā)型號(hào)清單,我們將在第一時(shí)間為您提供最優(yōu)競(jìng)爭(zhēng)力的報(bào)價(jià)!價(jià)格低于您原有供應(yīng)商5%以上!歡迎詢價(jià)-直接把需求發(fā)給群主! FPGA技術(shù)群官方鳴謝品牌:Xilinx、 intel(Altera)、microsemi(,Actel)、LattIC e,Vantis,Quicklogic,Lucent等 |
|
來(lái)自: 西北望msm66g9f > 《培訓(xùn)》