在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA設計的IP和算法應用綜述

FPGA之家 ? 來源:FPGA之家 ? 2024-03-07 09:35 ? 次閱讀

FPGA設計的IP和算法應用

基于IP的設計已成為目前FPGA設計的主流方法之一,本章首先給出IP的定義,然后以FFT IP核為例,介紹賽靈思IP核的應用。

IP核綜述

IP(Intelligent Property) 核是具有知識產(chǎn)權核的集成電路芯核總稱,是經(jīng)過反復驗證過的、具有特定功能的宏模塊,與芯片制造工藝無關,可以移植到不同的半導體工藝中。到了SOC 階段,IP核設計已成為ASIC電路設計公司和FPGA提供商的重要任務,也是其實力體現(xiàn)。對于FPGA 開發(fā)軟件,其提供的IP核越豐富,用戶的設計就越方便,其市場占用率就越高。目前,IP核已經(jīng)變成系統(tǒng)設計的基本單元,并作為獨立設計成果被交換、轉讓和銷售。

從IP核的提供方式上,通常將其分為軟核、硬核和固核這3類。從完成IP核所花費的成本來講,硬核代價最大;從使用靈活性來講,軟核的可復用使用性最高。( 這部分內(nèi)容前面已經(jīng)闡述,這里再重申一下)

軟核(Soft IP Core)

軟核在EDA設計領域指的是綜合之前的寄存器傳輸級(RTL) 模型;具體在FPGA設計中指的是對電路的硬件語言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過功能仿真,需要經(jīng)過綜合以及布局布線才能使用。其優(yōu)點是靈活性高、可移植性強,允許用戶自配置;缺點是對模塊的預測性較低,在后續(xù)設計中存在發(fā)生錯誤的可能性,有一定的設計風險。軟核是IP 核應用最廣泛的形式。

固核(Firm IP Core)

固核在EDA設計領域指的是帶有平面規(guī)劃信息的網(wǎng)表;具體在FPGA設計中可以看做帶有布局規(guī)劃的軟核,通常以RTL 代碼和對應具體工藝網(wǎng)表的混合形式提供。將RTL描述結合具體標準單元庫進行綜合優(yōu)化設計,形成門級網(wǎng)表,再通過布局布線工具即可使用。和軟核相比,固核的設計靈活性稍差,但在可靠性上有較大提高。目前,固核也是IP核的主流形式之一。

硬核(Hard IP Core)

硬核在EDA 設計領域指經(jīng)過驗證的設計版圖;具體在FPGA 設計中指布局和工藝固定、經(jīng)過前端和后端驗證的設計,設計人員不能對其修改。不能修改的原因有兩個:首先是系統(tǒng)設計對各個模塊的時序要求很嚴格,不允許打亂已有的物理版圖;其次是保護知識產(chǎn)權的要求,不允許設計人員對其有任何改動。IP 硬核的不許修改特點使其復用有一定的困難,因此只能用于某些特定應用,使用范圍較窄。

IP Core生成器(Core Generator) 是Xilinx FPGA設計中的一個重要設計工具,提供了大量成熟的、高效的IP Core為用戶所用,涵蓋了汽車工業(yè)、基本單元、通信網(wǎng)絡、數(shù)字信號處理、FPGA特點和設計、數(shù)學函數(shù)、記憶和存儲單元、標準總線接口等8 大類,從簡單的基本設計模塊到復雜的處理器一應俱全。配合賽靈思網(wǎng)站的IP中心使用,能夠大幅度減輕設計人員的工作量,提高設計可靠性。

Core Generator最重要的配置文件的后綴是xco,既可以是輸出文件又可以是輸入文件,包含了當前工程的屬性和IP Core的參數(shù)信息。

5.7.2 FFT IP核應用示例

ISE提供了FFT/IFFT的IP Core,可以完成實數(shù)、復數(shù)信號的FFT以及IFFT運算。FFT的IP Core提供三種結構,分別為:

(1) 流水線,Streaming I/O結構:允許連續(xù)的數(shù)據(jù)處理;

(2) 基4,Burst I/O結構:提供數(shù)據(jù)導入/導出階段和處理階段。此結構擁有較小的結構,但轉換時間較長;

(3) 基2,Burst I/O結構:使用最少的邏輯資源,同Radix-4相同,提供兩階段的過程。其配置界面有3頁,第一頁如圖5-57所示,主要用于配置實現(xiàn)結構;第二頁配置數(shù)據(jù)位寬以及數(shù)據(jù)處理操作;第三頁配置數(shù)據(jù)緩存空間。

c9c47df4-dc19-11ee-a297-92fbcf53809c.png

圖5-57 FFT IP core的用戶界面

在實際硬件操作中,模塊的執(zhí)行速度是很重要的參數(shù),所以本文分析第一種結構,即流水線Streaming I/O結構,以進行連續(xù)的數(shù)據(jù)處理。在進行當前幀的N點數(shù)據(jù)時,可加載下一幀的N點數(shù)據(jù),同時輸出前一幀的N點數(shù)據(jù)。此結構由多個基2的蝶形處理單元構成,每個單元都有自己的存儲單元來存儲輸入和中間處理的數(shù)據(jù),其結構如圖5-58所示。

c9df2640-dc19-11ee-a297-92fbcf53809c.png

圖5-58 FFT模塊的流水線,Streaming I/O結構

FFT的計算單元具有豐富的控制信號,其詳細說明見下文。

XN_RE、XN_IM :輸入操作數(shù),分別為實部和虛部,以2 的補碼輸入。在使用時應當確定其位寬。

START :FFT開始信號,高有效。當此信號變高時,開始輸入數(shù)據(jù),隨后直接進行FFT 轉換操作和數(shù)據(jù)輸出。一個START脈沖,允許對一幀進行FFT 轉換。如果每N 個時鐘有一個START脈沖或者START始終為高,,則都可以連續(xù)進行FFT。如果在最初的START前,還沒有NFFT_WE,F(xiàn)WD_INV_WE,SCALE_SCH_WE信號,則START變高后就使用這些信號的默認值。由于此IP Core支持非連續(xù)的數(shù)據(jù)流,因此在任何時間輸入START,即可開始數(shù)據(jù)的加載。當加載N個數(shù)據(jù)結束后,就開始FFT轉換運算。

UNLOAD :對于Burst I/O結構,此信號將開始輸出處理的結果。對于流水線結構和比特逆序輸出的情況,此端口不是必要的。

NFFT :此端口只對實時可配置應用時有用。

NFFT_WE :此端口是NFFT 端口的使能信號。

FWD_INV :用以指示IP Core為FFT還是IFFT,其等于1時IP Core進行FFT運算,否則進行IFFT 運算。至于采用哪種轉換運算是可以逐幀變化的。這一端口給FFT的使用提供了很大的方便。

FWD_INV_WE :作為FWD_INV端口的使能信號。

SCALE_SCH:(1) 在IP Core設計時,如果選擇在計算過程中進行中間數(shù)據(jù)的縮減,那么此信號才可起作用;(2) 輸入的位寬等于2*ceil(NFFT/2),其中NFFT = log2(point size)。(3) 流水線結構中,將每個基2的蝶形處理單元視為一個階段,每個階段進行一次數(shù)據(jù)的縮減,縮減的比例以此輸入中對應階段的兩比特表示。(4) 每階段的兩比特數(shù)可以是3,2,1或0 :它們表示了數(shù)據(jù)所需要移動的比特數(shù)。

SCALE_SCH_WE :作為SCALE_SCH的使能信號。

SCLR :可選端口。

Reset :重置信號端口。Reset=1時,所有工作都停止且初始化。但內(nèi)部的幀緩存保留其內(nèi)容。

CE :可選端口。

CLK :輸入時鐘。

XK_RE,XK_IM :輸出數(shù)據(jù)總線,以2 的補碼輸出。SCALE_SCH_WE有效時,輸出位寬等于輸入;否則,輸出位寬= 輸入位寬+NFFT+1。

XN_INDEX :位寬等于log2(point size),輸入數(shù)據(jù)的下標。

XK_INDEX :位寬等于log2(point size),輸出數(shù)據(jù)的下標。

RFD :數(shù)據(jù)有效信號,高有效,在加載數(shù)據(jù)時為高電平。

BUSY :IP Core 工作狀態(tài)的指示信號,在計算FFT 轉換時為高電平。

DV :數(shù)據(jù)有效指示信號,當輸出端口存在有效數(shù)據(jù)時變高。

EDONE :高有效。在DONE 信號變高的前一個時鐘變?yōu)楦唠娖健?br />
DONE :高有效。在FFT 完成后變高,且只存在一個時鐘。在DONE 變高后,IP Core開始輸出計算結果。

BLK_EXP :當使用Burst I/O 結構時可用,若選擇流水線,則此端口無效

OVFLO :算法溢出指示。在數(shù)據(jù)輸出時,如每幀有溢出,此信號變高。在每幀開始處,此信號重置。

例5.7.1使用IP Core實例化一個16點、位寬為16位的FFT 模塊。

IP Core 直接生成的乘法器的Verilog 模塊接口為:

module fft16(sclr, fwd_inv_we, rfd, start, fwd_inv, dv, scale_sch_we, done, clk, busy, edone, scale_sch,xn_re, xk_im, xn_index, xk_re, xn_im, xk_index);
input sclr , fwd_inv_we, start, fwd_inv, scale_sch_we, clk;
input [3 : 0] scale_sch;
input [15 : 0] xn_re;
output rfd, dv, done, busy, edone;
output [15 : 0] xk_im;
output [3 : 0] xn_index;
output [15 : 0] xk_re;
input [15 : 0] xn_im;
output [3 : 0] xk_index;
……
endmodule

在使用時,直接調(diào)用multiply 模塊即可,如

module fft16(sclr, fwd_inv_we, rfd, start, fwd_inv, dv, scale_sch_we, done, clk, busy,
edone, scale_sch, xn_re, xk_im, xn_index, xk_re, xn_im, xk_index);
input sclr , fwd_inv_we, start, fwd_inv, scale_sch_we, clk;
input [3 : 0] scale_sch;
input [15 : 0] xn_re;
output rfd, dv, done, busy, edone;
output [15 : 0] xk_im;
output [3 : 0] xn_index;
output [15 : 0] xk_re;
input [15 : 0] xn_im;
output [3 : 0] xk_index;
fft fft1( // 調(diào)用FFT 的IPCore
.sclr(sclr), .fwd_inv_we(fwd_inv_we), .rfd(rfd), .start(start), .fwd_inv(fwd_inv),
.dv(dv), .scale_sch_we(scale_sch_we), .done(done), .clk(clk), .busy(busy),
.edone(edone), .scale_sch(scale_sch), .xn_re(xn_re), .xk_im(xk_im),
.xn_index(xn_index), .xk_re(xk_re), .xn_im(xn_im), .xk_index(xk_index));
endmodule

經(jīng)過仿真測試得到的功能波形圖如圖5-59所示:

c9f2ddca-dc19-11ee-a297-92fbcf53809c.png

圖5-59 FFT的IP core仿真波形



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA設計
    +關注

    關注

    9

    文章

    428

    瀏覽量

    26632
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121172
  • EDA工具
    +關注

    關注

    4

    文章

    268

    瀏覽量

    31937
  • FFT
    FFT
    +關注

    關注

    15

    文章

    437

    瀏覽量

    59562
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59951

原文標題:FPGA開發(fā)全攻略——IP核

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    移動自組網(wǎng)IP地址分配技術綜述

    算法和基于網(wǎng)絡分層的算法等,并在最后指出了未來的技術發(fā)展方向?!娟P鍵詞】:移動自組網(wǎng);;地址分配;;技術綜述【DOI】:CNKI:SUN:DSSS.0.2010-02-020【正文快照】:1引言移動
    發(fā)表于 04-23 11:20

    FPGA浮點IP內(nèi)核有哪些優(yōu)勢?

    了 100 GFLOPS。在所有信號處理算法中,對于只需要動態(tài)范圍浮點算法的很多高性能 DSP應用,這是非常重要的優(yōu)點。選擇 FPGA并結合浮點工具和 IP,設計人員能夠靈活的處理定點
    發(fā)表于 08-13 06:42

    分類規(guī)則挖掘算法綜述

    分類規(guī)則挖掘算法綜述:分類規(guī)則挖掘是數(shù)據(jù)挖掘中一個重要的研究領域。通過介紹當前數(shù)據(jù)挖掘中具有代表性的分類算法,總結了各種算法的優(yōu)缺點,給出了分類算法
    發(fā)表于 10-10 14:24 ?3次下載

    基于Xilinx_FPGA_IP核的FFT算法的設計與實現(xiàn)

    利用FPGAIP核設計和實現(xiàn)FFT算法
    發(fā)表于 05-24 14:14 ?37次下載

    基于機器學習的哈希檢索算法綜述

    基于機器學習的哈希檢索算法綜述
    發(fā)表于 06-10 11:05 ?5次下載

    多關系網(wǎng)絡的社團結構發(fā)現(xiàn)算法綜述

    多關系網(wǎng)絡的社團結構發(fā)現(xiàn)算法綜述
    發(fā)表于 06-11 16:18 ?7次下載

    FPGA在視頻處理中的應用綜述

    FPGA在視頻處理中的應用綜述
    發(fā)表于 06-19 10:37 ?18次下載

    基于蟻群算法優(yōu)化的虛擬機放置策略綜述

    基于蟻群算法優(yōu)化的虛擬機放置策略綜述
    發(fā)表于 06-19 15:27 ?17次下載

    異構環(huán)境下的多DAG任務調(diào)度算法綜述

    異構環(huán)境下的多DAG任務調(diào)度算法綜述
    發(fā)表于 06-21 15:15 ?13次下載

    基于ReliefF剪枝的多標記分類算法綜述

    基于ReliefF剪枝的多標記分類算法綜述
    發(fā)表于 06-24 14:48 ?12次下載

    基于強連接網(wǎng)絡圖的無損壓縮算法綜述

    基于強連接網(wǎng)絡圖的無損壓縮算法綜述
    發(fā)表于 06-27 11:13 ?6次下載

    基于DNN與規(guī)則學習的機器翻譯算法綜述

    基于DNN與規(guī)則學習的機器翻譯算法綜述
    發(fā)表于 06-29 15:44 ?33次下載

    容器云中基于改進遺傳算法的資源分配策略綜述

    容器云中基于改進遺傳算法的資源分配策略綜述
    發(fā)表于 06-29 16:02 ?5次下載

    改進雙向快速搜索隨機樹算法綜述

    改進雙向快速搜索隨機樹算法綜述
    發(fā)表于 07-02 14:40 ?15次下載

    SVPWM控制算法及工具綜述

    SVPWM控制算法及工具綜述
    發(fā)表于 09-08 10:41 ?6次下載
    主站蜘蛛池模板: 国产一级毛片外aaaa | 日本不卡1 | www.色.com| 在线观看视频一区二区三区 | 伊人婷婷涩六月丁香七月 | 亚洲大胆精品337p色 | 欧美精品久久天天躁 | 久久精品久久久 | 国产美女精品三级在线观看 | 99国产国人青青视频在线观看 | 亚洲免费在线观看视频 | 亚洲图片欧美色图 | 国产20岁美女一级毛片 | 四虎成人免费影院网址 | 亚洲综合激情 | 天天做夜夜爽 | 亚洲电影在线 | 国产盗摄女子私密保健视频 | 加勒比色 | 亚洲一区二区三区中文字幕 | 在线观看精品视频看看播放 | 最新欧美精品一区二区三区 | 欧美不卡在线视频 | 日本久久久 | 91国内视频 | 日韩孕交| 久久99精品久久久久久久不卡 | 免费看美女的逼 | 成人免费看片视频色多多 | 国产农村乱色xxxx | 欧美一级视频免费 | 欧美最猛性xxxx免费 | 国产精品午夜寂寞视频 | h视频在线观看免费网站 | 久久久一本 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 最新eeuss影院第256页 | 天堂bt在线网bt | 综综综综合网 | 天堂资源www天堂在线 | 日本最色网站 |