My title page contents

32位有符号乘法器设计Verilog代码VIVADO仿真

名称:32位有符号乘法器设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

32位有符号乘法器

使用移位相加的算法实现32位有符号乘法器


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

设计文档.doc

1、工程文件

2、程序文件



3、程序编译


4、仿真图


部分代码展示:

//有符号乘法器
module Multiplier_signed(
input clk,//乘法器时钟信号
input reset,//复位信号,低电平有效
input [31:0] a,//输入数 a
input [31:0] b,//输入数 b
output [63:0] z//乘积
);
//将有符号数转换为无符号数
wire [31:0] a_unsigned;//输入数 a转换为无符号数
wire [31:0] b_unsigned;//输入数 b转换为无符号数
assign a_unsigned=(a[31]==1)?(~a+1):a;//若最高位为1,表示负数,取反加1得到正数,否则直接输出正数
assign b_unsigned=(b[31]==1)?(~b+1):b;//若最高位为1,表示负数,取反加1得到正数,否则直接输出正数
reg [63:0] mult_product=64'd0;
reg [63:0] mult_product_buf=64'd0;
parameter INIT=2'd0;
parameter ADD=2'd1;
parameter SHIFT=2'd2;
reg[1:0] state=INIT;//初始状态为INIT
reg[63:0] b_buf=64'd0;//临时变量
integer Count=0;
always@(posedge clk or negedge reset)
if(reset==0)//复位
begin
mult_product_buf<=0;
Count<=0;
state<=INIT;//初始状态
end

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 32位有符号乘法器设计Verilog代码VIVADO仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员