兩個數(shù)相加,三個數(shù)相加有什么不同 接下來,我們考慮4個32-bit有符號數(shù)相加該如何實(shí)現(xiàn),其中目標(biāo)時鐘頻率仍為400MHz。以UltraScale Plus系列芯片為目標(biāo)芯片。 第一種方案:四個數(shù)直接相加此方案對應(yīng)的電路圖如下圖所示。這里不難看出關(guān)鍵路徑是三個加法器所在路徑,這將是時序收斂的瓶頸。
此電路對應(yīng)的SystemVerilog代碼如下圖所示。
從綜合后的結(jié)果來看,邏輯級數(shù)最高為7。
第二種方案:加法樹
加法樹的結(jié)構(gòu)如下圖所示,兩兩相加。與第一種方案相比,可以有效降低邏輯級數(shù)。
此電路對應(yīng)的SystemVerilog代碼如下圖所示。
從綜合后的結(jié)果來看,邏輯級數(shù)最高為6。 第三種方案:加法鏈之所以選用加法鏈的結(jié)構(gòu)是因?yàn)?a target="_blank">DSP48本身就是這種鏈?zhǔn)浇Y(jié)構(gòu)。對應(yīng)的電路如下圖所示。其中a0和a1端口有一級寄存器,a2端口有兩級寄存器,a3端口有三級寄存器。
此電路對應(yīng)的SystemVerilog代碼如下圖所示。
接下來,我們對這三種方案進(jìn)行比較,如下圖所示。不難看出,第一種方案邏輯級數(shù)最高,消耗的LUT也最多,時序結(jié)果也是最差的(盡管達(dá)到了收斂的目的)。后兩種方案不相上下。
如果將這三種方案通過綜合屬性USE_DSP使其映射到DSP48上,結(jié)果如何呢?如下圖所示。不難看出,第一種方案只消耗了兩個DSP,資源利用率最低,但時序也是最糟糕的。后兩種方案都用了三個DSP,但第三種方案由于可以很好地匹配硬件結(jié)構(gòu),故時序最好。
對比下來不難得出這樣的結(jié)論:寫RTL代碼時,盡可能地做到代碼風(fēng)格與硬件結(jié)構(gòu)相匹配,可達(dá)到更好的性能。
Tcl之$$a 80%的概率...... AI Engine到底是什么?
ACAP不可不知的幾個基本概念
嵌套的for循環(huán),到底對哪個執(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) 加法運(yùn)算很簡單? AXI-4 Lite與AXI-4 Memory Mapped有什么區(qū)別? 深入理解AXI-4 Memory Mapped 接口協(xié)議 AXI是Interface還是Bus? 如何閱讀時序報告 時序報告要看哪些指標(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è)計復(fù)用 過約束到底怎么做 時序收斂之Baseline 什么情況下要用OOC綜合方式 異步跨時鐘域電路該怎么約束 如何復(fù)用關(guān)鍵路徑的布局布線信息 Vivado學(xué)習(xí)資料有哪些? 異步跨時鐘域電路怎么設(shè)計 ECO都有哪些應(yīng)用 FPGA中的CLOCK REGION和SLR是什么含義 FPGA中的BEL, SITE, TILE是什么含義 約束文件有哪些 如何高效復(fù)用Block的位置信息? 如何復(fù)用關(guān)鍵寄存器的位置信息 部分可重配置都生成哪些.bit文件 VIO你用對了嗎 Device視圖下能看到什么 Schematic視圖下能看到什么 都是pin,有什么區(qū)別 都是net,有什么區(qū)別 如何快速查找目標(biāo)cell 學(xué)習(xí)筆記:深度學(xué)習(xí)與INT8 學(xué)習(xí)筆記:多層感知器 學(xué)習(xí)筆記:單層感知器的局限性 學(xué)習(xí)筆記:單層感知器基礎(chǔ)知識 學(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文章匯總
原文標(biāo)題:加法樹還是加法鏈?
文章出處:【微信公眾號:Lauren的FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
電路圖
+關(guān)注
關(guān)注
10347文章
10721瀏覽量
531112 -
32-bit
+關(guān)注
關(guān)注
0文章
7瀏覽量
6418
原文標(biāo)題:加法樹還是加法鏈?
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論