module full_adder(
A, //输入选择地址由开关决定,0:按下,1:未按下
B, //输入选择地址由开关决定,0:按下,1:未按下
Ci, //输入选择地址由开关决定,0:按下,1:未按下
S, //输出,0:点亮,1:熄灭
Co //输出,0:点亮,1:熄灭
);
input A; //输入端口
input B; //输入端口
input Ci; //输入端口
output S; //输出端口
output Co; //输出端口
wire C0; //网线说明
wire C1; //网线说明
assign Co = C0 | C1; //或门,把两个半加器输出或后到全加器输出
half_adder half_adder_0( //第一个半加器例化
.A(A), //端口A
.B(B), //端口B
.S(A0), //端口S
.C(C0) //端口C
);
half_adder half_adder_1(
.A(A0), //端口A
.B(Ci), //端口B
.S(S), //端口S
.C(C1) //端口C
);
endmodule
module half_adder(
A, //输入选择地址由开关决定,0:按下,1:未按下
B, //输入选择地址由开关决定,0:按下,1:未按下
S, //输出,0:点亮,1:熄灭
C //输出,0:点亮,1:熄灭
);
input A; //输入端口
input B; //输入端口
output S; //输出端口
output C; //输出端口
assign S = A ^ B; //直接赋值,异或
assign C = A & B; //直接赋值,与
endmodule
阅读(792) | 评论(0) | 转发(0) |