在做項(xiàng)目的過(guò)程中,經(jīng)常遇到乘法計(jì)算,乘法器的設(shè)計(jì)就尤為重要。乘法器決定了最終電路功能能否實(shí)現(xiàn),資源使用量多少以及時(shí)序性能優(yōu)劣等。
乘法計(jì)算中,通常會(huì)使用 “*” 或者設(shè)計(jì)乘法器實(shí)現(xiàn)。
設(shè)計(jì)乘法器時(shí),通常使用加法樹(shù)乘法器,實(shí)現(xiàn)流程圖如下:
如a[3:0]與b[3:0]乘法器設(shè)計(jì),與分布式算法類(lèi)似,a*b乘法計(jì)算設(shè)計(jì)如下:a*b[0]<<0 + a*b[1]<<1 + a*b[2]<<2 + a*b[3]<<3,通過(guò)移位和加法運(yùn)算實(shí)現(xiàn)最終功能。結(jié)構(gòu)框圖如上。
設(shè)計(jì)中,上述邏輯存在大量組合邏輯,延時(shí)大,當(dāng)時(shí)序要求不高的情況下,可以使用,當(dāng)時(shí)序要求很高時(shí),此電路會(huì)產(chǎn)生時(shí)序違規(guī)。要想提高電路時(shí)序性能,需要在x、y、z三處選一處、兩處或者三處加入觸發(fā)器流水邏輯,提高電路時(shí)序性能,但其結(jié)果會(huì)使輸出延遲幾個(gè)時(shí)鐘周期,設(shè)計(jì)時(shí)應(yīng)該考慮這一情況。
當(dāng)使用 “*” 做乘法運(yùn)算時(shí),一般綜合工具都會(huì)直接調(diào)用FPGA片上集成的硬核乘法器,而不再使用邏輯單元搭建乘法器。設(shè)計(jì)結(jié)構(gòu)圖如下:
為利用FPGA片上乘法器實(shí)現(xiàn)最終乘法。為了提高時(shí)序性能,可在w處加入寄存器流水線(xiàn)。
上述設(shè)計(jì)速度明顯優(yōu)于第一種設(shè)計(jì),但會(huì)消耗大量的片上硬核乘法器。
上述兩種設(shè)計(jì)各有其優(yōu)勢(shì),在使用中請(qǐng)根據(jù)實(shí)際設(shè)計(jì)電路采用合理的方案。
在前述文章中,設(shè)計(jì)FFT和IFFT,乘法設(shè)計(jì)采用第二種方案,提高電路速度。如果采用第一種方案,將會(huì)增加流水線(xiàn)程度,增大FFT以及IFFT的計(jì)算周期。
而在簡(jiǎn)單和低速的乘法計(jì)算中使用第一種方案是一種比較良好的選擇。
-
FPGA
+關(guān)注
關(guān)注
1660文章
22386瀏覽量
634249 -
乘法器
+關(guān)注
關(guān)注
9文章
221瀏覽量
38705
原文標(biāo)題:淺談乘法器的用法
文章出處:【微信號(hào):ALIFPGA,微信公眾號(hào):FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
怎么設(shè)計(jì)基于FPGA的WALLACETREE乘法器?
模擬乘法器AD834的原理與應(yīng)用
乘法器的基本概念
1/4平方乘法器
脈沖-寬度-高度調(diào)制乘法器
變跨導(dǎo)乘法器
基于IP核的乘法器設(shè)計(jì)
基于CMOS工藝下的Gillbert單元乘法器的研究
使用verilogHDL實(shí)現(xiàn)乘法器
乘法器原理_乘法器的作用
采用Gillbert單元如何實(shí)現(xiàn)CMOS模擬乘法器的應(yīng)用設(shè)計(jì)
乘法器的使用方法你知道哪些?
評(píng)論