Hadd
要求:实现一个半加器
module top_module(
input a, b,
output cout, sum );
assign {cout,sum} = a + b;
endmodule
Fadd
要求:实现一个全加器
module top_module(
input a, b, cin,
output cout, sum );
assign {cout,sum} = a + b + cin;
endmodule
Adder3
要求:通过实例化3个1位全加器实现1个3位全加器
module top_module(
input [2:0] a, b,
input cin,
output [2:0] cout,
output [2:0] sum );
full_adder full_adder_inst0(a[0],b[0],cin,cout[0],sum[0]);
full_adder full_adder_inst1(a[1],b[1],cout[0],cout[1],sum[1]);
full_adder full_adder_inst2(a[2],b[2],cout[1],cout[2],sum[2]);
endmodule
module full_adder(
input a,b,cin,
output cout,sum);
assign {cout,sum} = a + b + cin;
endmodule
Adder (Exams/m2014 q4j)
要求:实现下图电路。
module top_module (
input [3:0] x,
input [3:0] y,
output [4:0] sum);
wire [2:0] cout;
full_adder full_adder_inst0(x[0],y[0],0,cout[0],sum[0]);
full_adder full_adder_inst1(x[1],y[1],cout[0],cout[1],sum[1]);
full_adder full_adder_inst2(x[2],y[2],cout[1],cout[2],sum[2]);
full_adder full_adder_inst3(x[3],y[3],cout[2],sum[4],sum[3]);
endmodule
module full_adder(
input a,b,cin,
output cout,sum);
assign {cout,sum} = a + b + cin;
endmodule
Signed addition overflow(Exams/ece241 2014 q1c)
要求:输入两个有符号数,输出两数之和,并判断是否有符号溢出
module top_module (
input [7:0] a,
input [7:0] b,
output [7:0] s,
output overflow
);
assign s = a + b;
//判断是否有符号溢出,即两个负数相加,结果一定是负数,若最高位符号为正,则表明有符号溢出
//两个正数相加同理
assign overflow = (a[7] & b[7] & ~s[7]) | (~a[7] & ~b[7] & s[7]);
endmodule
Adder100
要求:实现100位的全加器
module top_module(
input [99:0] a, b,
input cin,
output cout,
output [99:0] sum );
assign {cout,sum} = a + b + cin;
endmodule
Bcdadd4
要求:已提供一个名为bcd_fadd的BCD一位加法器,可以将两个BCD数字和进位相加,产生一个和与进位,实例化4个bcd_fadd来创建一个4位BCD进位加法器。
module top_module(
input [15:0] a, b,
input cin,
output cout,
output [15:0] sum );
wire [2:0] cout_m;
bcd_fadd bcd_fadd_inst0(a[3:0],b[3:0],cin,cout_m[0],sum[3:0]);
bcd_fadd bcd_fadd_inst1(a[7:4],b[7:4],cout_m[0],cout_m[1],sum[7:4]);
bcd_fadd bcd_fadd_inst2(a[11:8],b[11:8],cout_m[1],cout_m[2],sum[11:8]);
bcd_fadd bcd_fadd_inst3(a[15:12],b[15:12],cout_m[2],cout,sum[15:12]);
endmodule
总结:本小节主要是对各种加法器的构建,加法器时各种运算电路的核心,通过对加法器与逻辑门的组合可以实现各种数学运算功能。