<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > FPGA與DSP協(xié)同處理系統設計之:典型實(shí)例-FPGA片上硬件乘法器的使用

FPGA與DSP協(xié)同處理系統設計之:典型實(shí)例-FPGA片上硬件乘法器的使用

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201706/348797.htm

11.5典型實(shí)例20:片上的使用

11.5.1實(shí)例的內容及目標

1.實(shí)例的主要內容

+系統設計系統中,經(jīng)常作為的協(xié)處理器來(lái)輔助完成一些計算任務(wù)。而這些計算工作中最消耗時(shí)間的就是乘法運算,因此本實(shí)例的主要內容就是幫助讀者學(xué)會(huì )調用硬件乘法IP核。

2.實(shí)例目標

通過(guò)本實(shí)例,讀者應達到以下目標。

·了解對算法的加速作用。

·掌握FPGA片上IP的調用方法。

11.5.2硬件乘法IP的使用方法

1.生成硬件乘法器

如圖11.12所示,在“NewSource”里面選擇“IP(CoreGenArchitectureWizard)”,在右邊的文件名里面輸入“multiply”,單擊“Next”按鈕,打開(kāi)如圖11.13所示的IP核類(lèi)型選擇對話(huà)框。

圖11.12新建IP核文件

圖11.13新建乘法器IP核

在IP核類(lèi)型選擇界面里面選擇MathFunctions→Multipliers→Multiplierv7.0,單擊“Next”按鈕,打開(kāi)乘法器IP核生成向導,如圖11.14所示。

圖11.14乘法器生成向導

在上面對話(huà)框里,“ComponentName”是要生成的模塊的名稱(chēng)。“Parallel”和“Sequential”兩個(gè)選項是用來(lái)選擇乘法器模式的,選擇并行結構可以加快乘法器的速度,但是同時(shí)要多占用一些資源。選擇“Constant”選項我們會(huì )發(fā)現乘法器的B輸入端口被屏蔽掉了,這時(shí)B將作為一個(gè)固定輸入。

如果不選擇“Constant”選項,可以在下面的乘法器結構框里面選擇乘法器使用的資源種類(lèi),選擇“UseLUTs”將使用片上存儲器資源,選擇“Use18*18MultiplierBlocks”將使用FPGA自帶的模塊。“Virtex-IIMultiplierOptimization”框里面的選項只有在使用Virtex-II族器件的時(shí)候才能使用。

前面選擇了Constant選項,在這個(gè)對話(huà)框里面就要對乘法器的B輸入進(jìn)行設置,在ConstantValue后面輸入B端口輸入的數值(十進(jìn)制),如圖11.15所示。

在如圖11.16所示的對話(huà)框里面設置輸入口A(yíng)的位寬和形式。

在如圖11.17所示的對話(huà)框里面設置輸出口的位寬和是否使用寄存器(使用輸出寄存器的時(shí)候由Q口輸出,不使用輸出寄存器的時(shí)候由O口輸出)。

在如圖11.18所示的對話(huà)框里面選擇“MinimumPipelining”可以看見(jiàn)在最下面的“Information”框里面的輸出延遲達到最小為1。在“RegisterOption”欄里面可以設置同步復位,異步復位和時(shí)鐘使能。

圖11.15設置端口B參數

圖11.16設置端口A(yíng)參數

圖11.17設置輸出端口

圖11.18其他參數設置

配置完成以后單擊“Generate”按鈕就可以生成乘法器了。

2.使用硬件乘法器

本實(shí)例以一個(gè)IIR數字濾波的設計為例來(lái)演示硬件乘法器的使用方法。直接打開(kāi)實(shí)例的工程文件,如圖11.19所示。其中IIR.v是IIR濾波器的設計文件,test.tbw為測試文件。

圖11.19IIR數字濾波器工程目錄

在IIR.v的文件中,可以看到硬件乘法器的調用方法。

reg[12:0]x1,x2,x3;//定義乘數a

reg[12:0]y1,y2,y3;

reg[12:0]q1,q2,q3;

wire[25:0]mul[10:1];//定義乘法的輸出結果

multiplym0(.clk(clk),.a(x1),.o(mul[1]));//乘法器的調用,輸入為a,輸出為o

multiplym1(.clk(clk),.a(x2),.o(mul[2]));

multiplym2(.clk(clk),.a(x3),.o(mul[3]));

multiplym3(.clk(clk),.a(y1),.o(mul[4]));

multiplym4(.clk(clk),.a(y2),.o(mul[5]));

multiplym5(.clk(clk),.a(y1),.o(mul[6]));

multiplym6(.clk(clk),.a(y2),.o(mul[7]));

multiplym7(.clk(clk),.a(y3),.o(mul[8]));

multiplym8(.clk(clk),.a(q1),.o(mul[9]));

multiplym9(.clk(clk),.a(q2),.o(mul[10]));

運行仿真后,可以得到輸出結果如圖11.20所示。

圖11.20IIR數字濾波器仿真結果

11.5.3小結

本節對生成和使用FPGA的片上硬件乘法器IP核的方法做了介紹,并通過(guò)編譯下載在紅色颶風(fēng)的開(kāi)發(fā)板上實(shí)現了預定功能。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>