實現一個4位乘法器,乘法器的Verilog HDL實現

 2023-12-06 阅读 23 评论 0

摘要:原文鏈接:http://www.cnblogs.com/shengansong/archive/2011/05/23/2054401.html 1. 串行乘法器? 兩個N位二進制數x、y的乘積用簡單的方法計算就是利用移位操作來實現。 module multi_CX(clk, x, y, result);input clk;input [7:0] x, y;output [15:0] result;reg [15

原文鏈接:http://www.cnblogs.com/shengansong/archive/2011/05/23/2054401.html

1. 串行乘法器?
兩個N位二進制數x、y的乘積用簡單的方法計算就是利用移位操作來實現。

復制代碼
module multi_CX(clk, x, y, result);input clk;input [7:0] x, y;output [15:0] result;reg [15:0] result;parameter s0 = 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 @(posedge clk) begincase (state)s0: begincount <= 0;P <= 0;y_reg <= y;T <= {{8{1'b0}}, x};state <= s1;ends1: beginif(count == 3'b111)state <= s2;else beginif(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
復制代碼

乘法功能是正確的,但計算一次乘法須要8個周期。因此能夠看出串行乘法器速度比較慢、時延大。但這樣的乘法器的長處是所占用的資源是全部類型乘法器中最少的,在低速的信號處理中有著廣泛的應用。

2.流水線乘法器?
一般的高速乘法器通常採用逐位并行的迭代陣列結構,將每一個操作數的N位都并行地提交給乘法器。可是一般對于FPGA來講。進位的速度快于加法的速度,這樣的陣列結構并非最優的。所以能夠採用多級流水線的形式。將相鄰的兩個部分乘積結果再加到終于的輸出乘積上,即排成一個二叉樹形式的結構,這樣對于N位乘法器須要lb(N)級來實現。

實現一個4位乘法器、

復制代碼
module multi_4bits_pipelining(mul_a, mul_b, clk, rst_n, mul_out);input [3:0] mul_a, mul_b;input       clk;input       rst_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 @(posedge clk or negedge rst_n) beginif(!rst_n) beginmul_out <= 0;stored0 <= 0;stored1 <= 0;stored2 <= 0;stored3 <= 0;add01 <= 0;add23 <= 0;endelse beginstored0 <= 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;
add01 <= stored1 + stored0;add23 <= stored3 + stored2;mul_out <= add01 + add23;endendendmodule
復制代碼

從圖中能夠看出,流水線乘法器比串行乘法器的速度快非常多非常多,在非快速的信號處理中有廣泛的應用。至于快速信號的乘法一般須要利用FPGA芯片中內嵌的硬核DSP單元來實現。

轉載于:https://www.cnblogs.com/blfshiye/p/5398699.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/192190.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息