DSP48最早出現(xiàn)在XilinxVirtex-4 FPGA中,但就乘法器而言,Virtex-II和Virtex-II Pro中就已經(jīng)有了專用的18x18的乘法器,不過DSP48可不只是乘法器,其功能更加多樣化。DSP48基本結(jié)構(gòu)如下圖所示(圖片來源:ug073, Figure 2-1)。DSP48中的核心單元是18x18的乘法器。從圖中不難看出,DSP48可實(shí)現(xiàn)基本數(shù)學(xué)函數(shù)P=Z±(X+Y+CIN)。這里X、Y和Z是圖中3個(gè)MUX的輸出。根據(jù)圖中MUX的輸入,上述數(shù)學(xué)函數(shù)可以變?yōu)镻=A*B+C或P=A*B+PCIN,后者需用級(jí)聯(lián)DSP48。因?yàn)镻CIN和PCOUT是專用走線相連。同時(shí),與Virtex-II不同,Virtex-II中,相鄰的DSP48和Block RAM共享互連資源,而在Virtex-4中,DSP48和Block RAM有獨(dú)立的布線資源。
此外,從資源角度看,Virtex-4SX55包含的DSP48最多,一共8列512個(gè)DSP48,在全流水模式下,可運(yùn)行到的最高頻率為500MHz。
在Virtex-5中,引入了增強(qiáng)型DSP48,稱之為DSP48E,其基本結(jié)構(gòu)如下圖所示(圖片來源ug193, Figure 1-1)。這種增強(qiáng)體現(xiàn)在以下幾點(diǎn):乘法器變?yōu)?5x18;A端口變?yōu)?0位,其中低25位可用于乘法器的輸入,A和B可拼接為48位,從而可實(shí)現(xiàn){A,B}+C(兩個(gè)48位數(shù)據(jù)相加);乘法器之后不再是簡單的累加器,而是功能更為多樣的ALU(算術(shù)邏輯單元),可實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算。這里特別介紹一下ALU,ALU支持SIMD功能(Single InstructionMultiple Data),使得ALU可配置為2個(gè)24位的加法器或者4個(gè)12位的加法器。從資源角度看,Virtex-5 SX240T包含的DSP48E最多,共1056個(gè),在全流水模式下,可運(yùn)行到的最高頻率為550MHz。
在Virtex-6和7系列FPGA中,DSP48E功能進(jìn)一步增強(qiáng),稱之為DSP48E1,其基本結(jié)構(gòu)如下圖所示(圖片來源ug369, Figure 1-1)。最顯著的變化是在DSP48E中添加了預(yù)加器(可實(shí)現(xiàn)25位的加法運(yùn)算),這對(duì)于系數(shù)對(duì)稱的濾波器而言非常有利,可將乘法器資源減半。
在UltraScale和UltraScale Plus系列FPGA中,引入了DSP48E2,其基本結(jié)構(gòu)如下圖所示(圖片來源ug579,Figure 2-1)。相比于DSP48E1,其中的乘法器變?yōu)?7x18,端口D的位寬也由25位變?yōu)?7位,這樣預(yù)加器可支持27位的加法運(yùn)算。預(yù)加器的輸出可同時(shí)送給乘法器的兩個(gè)輸入端口,從而很容易實(shí)現(xiàn)平方運(yùn)算。同時(shí),增加了一個(gè)MUX,對(duì)應(yīng)圖中的W。ALU可實(shí)現(xiàn)Z+W+X+Y。
對(duì)比DSP48、DSP48E、DSP48E1和DSP48E2,如下表所示。
Tcl之$$a 80%的概率...... AI Engine到底是什么?
ACAP不可不知的幾個(gè)基本概念
嵌套的for循環(huán),到底對(duì)哪個(gè)執(zhí)行pipeline更好
HLS中循環(huán)的并行性(2)
HLS中循環(huán)的并行性(1)
HLS優(yōu)化方法DATAFLOW你用了嗎
HLS中如何控制流水程度
Vivado HLS學(xué)習(xí)資料有哪些
如何查看可綜合C代碼的中間結(jié)果
如何在C代碼中插入移位寄存器
HLS IP Library? HLS Math Library:csim ?C/RTL co-sim(2) HLS Math Library:csim ?C/RTL co-sim(1) 用Tcl實(shí)現(xiàn)Vivado設(shè)計(jì)全流程(1) 借助Elaborated Design優(yōu)化RTL代碼 (a-b)^2如何高效實(shí)現(xiàn)? 如何快速找到組合邏輯生成的時(shí)鐘 并行加法的高效實(shí)現(xiàn) 加法樹還是加法鏈?
兩個(gè)數(shù)相加,三個(gè)數(shù)相加有什么不同
加法運(yùn)算很簡單? AXI-4 Lite與AXI-4 Memory Mapped有什么區(qū)別? 深入理解AXI-4 Memory Mapped 接口協(xié)議 AXI是Interface還是Bus? 如何閱讀時(shí)序報(bào)告 時(shí)序報(bào)告要看哪些指標(biāo) 如何使set_max_delay不被覆蓋 一些小巧的IP IP是用DCP還是XCI? 如果使用第三方綜合工具,Xilinx IP… IP生成文件知多少 IP的約束需要處理嗎? IP為什么被Locked? copy_ip你用過嗎? IP是XCI還是XCIX 如何降低OSERDES/CLK和CLKDIV的Clock Skew 如何獲取Device DNA 談?wù)勗O(shè)計(jì)復(fù)用 過約束到底怎么做 時(shí)序收斂之Baseline 什么情況下要用OOC綜合方式 異步跨時(shí)鐘域電路該怎么約束 如何復(fù)用關(guān)鍵路徑的布局布線信息 Vivado學(xué)習(xí)資料有哪些? 異步跨時(shí)鐘域電路怎么設(shè)計(jì) ECO都有哪些應(yīng)用 FPGA中的CLOCK REGION和SLR是什么含義 FPGA中的BEL, SITE, TILE是什么含義 約束文件有哪些 如何高效復(fù)用Block的位置信息? 如何復(fù)用關(guān)鍵寄存器的位置信息 部分可重配置都生成哪些.bit文件 VIO你用對(duì)了嗎 Device視圖下能看到什么 Schematic視圖下能看到什么 都是pin,有什么區(qū)別 都是net,有什么區(qū)別 如何快速查找目標(biāo)cell 學(xué)習(xí)筆記:深度學(xué)習(xí)與INT8 學(xué)習(xí)筆記:多層感知器 學(xué)習(xí)筆記:單層感知器的局限性 學(xué)習(xí)筆記:單層感知器基礎(chǔ)知識(shí) 學(xué)習(xí)筆記:神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法 學(xué)習(xí)筆記:神經(jīng)網(wǎng)絡(luò)模型 學(xué)習(xí)筆記:ReLU的各種變形函數(shù) 學(xué)習(xí)筆記:神經(jīng)元模型(2) 學(xué)習(xí)筆記:神經(jīng)元模型(1) 學(xué)習(xí)筆記:深度學(xué)習(xí)之“深” 學(xué)習(xí)筆記:深度學(xué)習(xí)之“學(xué)習(xí)” 學(xué)習(xí)筆記:人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí) 2019文章匯總
責(zé)任編輯:xj
原文標(biāo)題:DSP48演變史
文章出處:【微信公眾號(hào):Lauren的FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
dsp
+關(guān)注
關(guān)注
553文章
7998瀏覽量
348848 -
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121367 -
FGPA
+關(guān)注
關(guān)注
1文章
24瀏覽量
16015
原文標(biāo)題:DSP48演變史
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論