名称:8位有符号乘法器设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
8位有符号乘法器设计
1、输入2个8位有符号数
2、计算他们的乘积
3、支持清零、置数功能
4、输出乘积及运算结束标志
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1.工程文件
2.程序文件
3.程序运行
4.程序RTL图
5.顶层原理图文件
6.Testbench
7.仿真图
部分代码展示:
module?arithmetic_unit( input?CLK, input?[7:0]?A,//有符号乘数A input?[7:0]?B,//有符号被乘数B input?CLR,//清零信号,高电平有效 input?LOAD,//加载信号,低电平有效 output?[15:0]?Z,//有符号乘积 output?END_FLAG//乘法结束指示信号 ); //LOAD信号的下降沿检测模块 down_delect?downdelect( .?CLK(CLK), .?LOAD(LOAD), .?LOAD_down(LOAD_down) ); wire?[7:0]?RA;//寄存器 wire?[7:0]?RB;//寄存器 //寄存器模块 AB_reg?A_reg( .?CLK(CLK), .?LOAD_down(LOAD_down), .?data_in(A), .?data_out(RA) ); //寄存器模块 AB_reg?B_reg( .?CLK(CLK), .?LOAD_down(LOAD_down), .?data_in(B), .?data_out(RB) ); wire?[7:0]?unsigned_operand_A; wire?[7:0]?unsigned_operand_B; //有符号数据转换为无符号数据 mod_operand?Model_A( .operand(RA), .Model_operand(unsigned_operand_A) ); //有符号数据转换为无符号数据 mod_operand?Model_B( .operand(RB), .Model_operand(unsigned_operand_B) ); wire?[15:0]?square_out;//无符号乘积结果 square?square_A_1?( .?CLK(CLK), .?CLR(CLR),//清零 .?LOAD_down(LOAD_down),//开始 .?unsigned_operand_A(unsigned_operand_A),//A .?unsigned_operand_B(unsigned_operand_B),//B .?END_FLAG(END_FLAG),//结束 .?square_out(square_out)//乘积 );
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1271
阅读全文
469