名称:基于FPGA的4位循环移位相加乘法器Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:4位循环移位相加乘法器
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真文件
6. 仿真图
转换为十进制显示,方便观察
可以看到:
6*8=48
5*7=35
4*14=56
7*9=63
2*10=20
并且由于使用的是移位相加的乘法器,不是组合逻辑,所以输出结果相对于输入有一点延迟。
部分代码展示:
//循环移位相加乘法器 module Multiplier_4bit(A,B,clk,start,product_ten,product_one); input clk,start;//start高电平时输入乘数 input [3:0] A;//A是乘数4bit input [3:0] B;//B是被乘数4bit output [3:0] product_ten;//乘积十位 output [3:0] product_one;//乘积个位 reg [7:0] mult_product=8'd0; reg [7:0] mult_product_buf=8'd0; parameter INIT=2'd0; parameter ADD=2'd1; parameter SHIFT=2'd2; reg[1:0] state=INIT;//初始状态为INIT reg[7:0] B_buf=8'd0;//临时变量 integer Count=0; ////循环移位相加状态机控制 always@(posedge clk) begin case(state)
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=681
阅读全文
463