串行乘法器與并行乘法器的設(shè)計

串行乘法器與并行乘法器的設(shè)計

ID:6606184

大小:26.50 KB

頁數(shù):6頁

時間:2018-01-20

串行乘法器與并行乘法器的設(shè)計_第1頁
串行乘法器與并行乘法器的設(shè)計_第2頁
串行乘法器與并行乘法器的設(shè)計_第3頁
串行乘法器與并行乘法器的設(shè)計_第4頁
串行乘法器與并行乘法器的設(shè)計_第5頁
資源描述:

《串行乘法器與并行乘法器的設(shè)計》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、串行乘法器與并行乘法器的設(shè)計法器的VerilogHDL實(shí)現(xiàn)博客分類:FPGA1.串行乘法器兩個N位二進(jìn)制數(shù)x、y的乘積用簡單的方法計算就是利用移位操作來實(shí)現(xiàn)。對應(yīng)的HDL代碼為:Java代碼modulemulti_CX(clk,x,y,result);inputclk;input[7:0]x,y;output[15:0]result;reg[15:0]result;parameters0=0,s1=1,s2=2;reg[2:0]count=0;reg[1:0]state=0;reg[15:0]P,T;reg[7:0]y_reg;a

2、lways@(posedgeclk)begincase(state)s0:begincount<=0;P<=0;y_reg<=y;T<={{8{1'b0}},x};state<=s1;ends1:beginif(count==3'b111)state<=s2;elsebeginif(y_reg[0]==1'b1)P<=P+T;elseP<=P;y_reg<=y_reg>>1;T<=T<<1;count<=count+1;state<=s1;endends2:beginresult<=P;state<=s0;enddefault:;

3、endcaseendendmodulemodulemulti_CX(clk,x,y,result);inputclk;input[7:0]x,y;output[15:0]result;reg[15:0]result;parameters0=0,s1=1,s2=2;reg[2:0]count=0;reg[1:0]state=0;reg[15:0]P,T;reg[7:0]y_reg;always@(posedgeclk)begincase(state)s0:begincount<=0;P<=0;y_reg<=y;T<={{8{1'b0

4、}},x};state<=s1;ends1:beginif(count==3'b111)state<=s2;elsebeginif(y_reg[0]==1'b1)P<=P+T;elseP<=P;y_reg<=y_reg>>1;T<=T<<1;count<=count+1;state<=s1;endends2:beginresult<=P;state<=s0;enddefault:;endcaseendendmodule對應(yīng)的功能仿真圖為:乘法功能是正確的,但計算一次乘法需要8個周期。因此可以看出串行乘法器速度比較慢、時延大,但這種

5、乘法器的優(yōu)點(diǎn)是所占用的資源是所有類型乘法器中最少的,在低速的信號處理中有著廣泛的應(yīng)用。疑問:功能仿真圖顯示延遲不止8個時鐘周期,不知道是為什么?。。。2.流水線乘法器一般的快速乘法器通常采用逐位并行的迭代陣列結(jié)構(gòu),將每個操作數(shù)的N位都并行地提交給乘法器。但是一般對于FPGA來講,進(jìn)位的速度快于加法的速度,這種陣列結(jié)構(gòu)并不是最優(yōu)的。所以可以采用多級流水線的形式,將相鄰的兩個部分乘積結(jié)果再加到最終的輸出乘積上,即排成一個二叉樹形式的結(jié)構(gòu),這樣對于N位乘法器需要lb(N)級來實(shí)現(xiàn)。下面是用VerilogHDL實(shí)現(xiàn)一個4位的流水線乘法器:

6、Java代碼modulemulti_4bits_pipelining(mul_a,mul_b,clk,rst_n,mul_out);input[3:0]mul_a,mul_b;inputclk;inputrst_n;output[7:0]mul_out;reg[7:0]mul_out;reg[7:0]stored0;reg[7:0]stored1;reg[7:0]stored2;reg[7:0]stored3;reg[7:0]add01;reg[7:0]add23;always@(posedgeclkornegedgerst_n)

7、beginif(!rst_n)beginmul_out<=0;stored0<=0;stored1<=0;stored2<=0;stored3<=0;add01<=0;add23<=0;endelsebeginstored0<=mul_b[0]?{4'b0,mul_a}:8'b0;stored1<=mul_b[1]?{3'b0,mul_a,1'b0}:8'b0;stored2<=mul_b[2]?{2'b0,mul_a,2'b0}:8'b0;stored3<=mul_b[3]?{1'b0,mul_a,3'b0}:8'b0;add0

8、1<=stored1+stored0;add23<=stored3+stored2;mul_out<=add01+add23;endendendmodule

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。