名称:基于FPGA的4x4补码阵列乘法器Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
4x4补码阵列乘法器
调用4位无符号阵列乘法器,将有符号乘法转换为无符号乘法,若符号位为1,则表示为负数,对齐取反加1,否则表示正数,即本身。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
//无符号阵列乘法器 module?mul(A,B,P); input?[3:0]A,B;//输入A,B output?[7:0]P;//输出P //B0乘以A0~A3 wire?c00,c10,c20,c30; wire?out11,out12,out13,Co11,Co12,Co13; assign?c00=A[0]&B[0];//1bit乘法即与运算 assign?c10=A[1]&B[0];//1bit乘法即与运算 assign?c20=A[2]&B[0];//1bit乘法即与运算 assign?c30=A[3]&B[0];//1bit乘法即与运算 //B1乘以A0~A3 wire?c31; mul_one?u1(A[0],B[1],1'b0,c10,out11,Co11);//调用1位乘加模块 mul_one?u2(A[1],B[1],1'b0,c20,out12,Co12);//调用1位乘加模块 mul_one?u3(A[2],B[1],1'b0,c30,out13,Co13);//调用1位乘加模块 assign?c31=A[3]&B[1]; //B2乘以A0~A3 wire?out21,out22,out23,Co23,Co22,Co21; wire?c32; mul_one?u4(A[0],B[2],Co11,out12,out21,Co21);//调用1位乘加模块 mul_one?u5(A[1],B[2],Co12,out13,out22,Co22);//调用1位乘加模块 mul_one?u6(A[2],B[2],Co13,c31,out23,Co23);//调用1位乘加模块 assign?c32=A[3]&B[2]; //B3乘以A0~A3 wire?out31,out32,out33,Co31,Co32,Co33; wire?c33; mul_one?u7(A[0],B[3],Co21,out22,out31,Co31);//调用1位乘加模块 mul_one?u8(A[1],B[3],Co22,out23,out32,Co32);//调用1位乘加模块 mul_one?u9(A[2],B[3],Co23,c32,out33,Co33);//调用1位乘加模块 assign?c33=A[3]&B[3];
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=659
阅读全文
343