Versal FPGA中最新的DSP原語DSP58,它在最新的DSP48版本上已經(jīng)有了許多改進(jìn),主要是從27x18有符號(hào)乘法器和48位后加法器增加到了27x24和58位。但除此之外,DSP58還有兩種額外的操作模式,分別稱為DSPCPLX和DSPFP32。本文將重點(diǎn)介紹其中的DSPFP32,它是一個(gè)硬化的浮點(diǎn)加法器和乘法器。
DSPFP32包括一個(gè)單精度浮點(diǎn)加法器和乘法器。它們可以獨(dú)立使用,也可以組合為乘累加操作。
下圖展示了DSPFP32的內(nèi)部架構(gòu):
DSPFP32在某種程度上類似于DSP58,真正的區(qū)別,除了使用單精度浮點(diǎn)數(shù)而不是定點(diǎn)數(shù)之外,還有兩個(gè)輸出FPA和FPM,而不僅僅是后加法器P端口,以及沒有預(yù)加法器。這個(gè)圖展示了FP32加法器和乘法器獨(dú)立使用,顏色高亮表示實(shí)現(xiàn)805MHz最大可能速度所需的最小流水線數(shù)量。你基本上在每個(gè)DSP58中得到一個(gè)延遲為2的FP32加法器和一個(gè)延遲為3的乘法器。加法器的兩個(gè)輸入操作數(shù)的符號(hào)可以選擇性地反轉(zhuǎn),這些操作數(shù)有多種選擇,包括ZERO、C、D和PCIN輸入,以及FPA輸出本身,可以用來構(gòu)建累加器。
PCIN/PCOUT級(jí)聯(lián)鏈允許你級(jí)聯(lián)多個(gè)DSPFP32加法器,構(gòu)建超過兩項(xiàng)的求和。如果你使用fabric routing將FPA輸出外部連接到B輸入,你可以在5個(gè)時(shí)鐘周期的延遲下計(jì)算類似FPM=A*(C+D)的東西。 第二張圖顯示了FP32乘法器和加法器內(nèi)部連接為MAC,因此可以在4個(gè)時(shí)鐘周期的延遲下計(jì)算FPA=C+AB或FPA=FPA+AB。C和FPOPMODE輸入路徑中的可選額外流水線寄存器可用于補(bǔ)償乘法器路徑的額外延遲,以便整個(gè)MAC對(duì)所有數(shù)據(jù)輸入的總延遲為4個(gè)時(shí)鐘周期。
雖然這些圖中沒有顯示,但FPA和FPM都可以路由到PCOUT端口,因此使用P級(jí)聯(lián)輸出從相鄰的DSP借用一個(gè)乘法器,你也可以在四個(gè)時(shí)鐘周期的延遲內(nèi)計(jì)算FPA=C+A1B1+A2B2,因此可以用4個(gè)DSPFP32和沒有其他fabric資源構(gòu)建一個(gè)完整的復(fù)數(shù)乘法器加一個(gè)復(fù)數(shù)加法器。
在早期的FPGA系列中,浮點(diǎn)設(shè)計(jì)總是可能的,Xilinx多年來一直提供基于fabric的軟浮點(diǎn)IP,但硬化的DSPFP32現(xiàn)在提供了使用單個(gè)DSP58原語和幾乎沒有fabric資源的選項(xiàng),具有更低的延遲(3-4個(gè)時(shí)鐘周期而不是8-11個(gè)),更低的功耗和高達(dá)805MHz的時(shí)鐘速度,在最快的兩個(gè)速度等級(jí)中。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602977 -
寄存器
+關(guān)注
關(guān)注
31文章
5336瀏覽量
120229 -
加法器
+關(guān)注
關(guān)注
6文章
183瀏覽量
30114 -
FPM
+關(guān)注
關(guān)注
0文章
5瀏覽量
1286
原文標(biāo)題:Versal FPGA中的浮點(diǎn)計(jì)算單元
文章出處:【微信號(hào):傅里葉的貓,微信公眾號(hào):傅里葉的貓】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論