软件:Quartus
语言:Verilog
代码功能:
32位加法器设计:
1、设计32位加法器,输入输出均为32位,有进位输出。
2、首先设计16位加法器。
3、调用16位加法器,组成32位加法器。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 资源占用
6. Testbench
7. 仿真图
部分代码展示:
//32位加法器 module adder_32( input [31:0] data_a,//输入a input [31:0] data_b,//输入b output [31:0] data_c,//和c output cout//输出进位 ); wire [15:0]low_result ; wire low_cout ; wire [15:0]high_result_0 ; wire high_cout_0 ; wire [15:0]high_result_1 ; wire high_cout_1 ; //计算低16位和 adder_16 i_adder_16( . cin (1'b0),//输入进位 . data_a(data_a[15:0]),//输入a低16位 . data_b(data_b[15:0]),//输入b低16位 . result(low_result),//和 . cout (low_cout) //输出进位(溢出) ); //计算高16位和(有进位) adder_16 i0_adder_16( . cin (1'b1),//输入进位 . data_a(data_a[31:16]),//输入a高16位 . data_b(data_b[31:16]),//输入b高16位 . result(high_result_0),//和 . cout (high_cout_0) //输出进位 ); //计算高16位和(无进位) adder_16 i1_adder_16( . cin (1'b0),//输入进位 . data_a(data_a[31:16]),//输入a高16位 . data_b(data_b[31:16]),//输入b高16位 . result(high_result_1),//和 . cout (high_cout_1) //输出进位 );
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=545
阅读全文
872