Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1009052
  • 博文数量: 159
  • 博客积分: 4079
  • 博客等级: 上校
  • 技术积分: 2373
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-24 13:35
个人简介

诚实守信!

文章分类

全部博文(159)

文章存档

2015年(2)

2014年(18)

2013年(9)

2012年(57)

2011年(31)

2009年(42)

分类:

2009-09-08 14:41:46

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
阅读(760) | 评论(0) | 转发(0) |
0

上一篇:2选1选择器

下一篇:计数器2

给主人留下些什么吧!~~