Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

二进制全加器设计 (verilog)

$
0
0

 

二进制全加器设计 

一位全加器使用乘积项之和的形式可以表示为:

 sum=a·b·c_in+a’·b·c_in’+a’·b’·c_in+a·b’·c_in’

c_out=a·b+b·c_in+a·c_in 

其中a,b和c_in为输入,sum和c_out为输出,只使用与门,或门,非门实现一个一位全加器,写出Verilog描述,限制是每个门最多只能有四个输入端。编写激励模块对其功能进行检查,并对全部的输入组合输入组合进行测试。

module fulladd(a,b,c_in,c_out,sum);

output sum,c_out;

input c_in,a,b;

wire t1,t2,t3;

wire s1,s2,s3,s4;

not (a1,a);

not (b1,b);

not (c_in1,c_in);

and (s1,a,b,c_in);

and (s2,a1,b,c_in);

and (s3,a,b1,c_in);

and (s4,a,b,c_in1);

and (t1,a,b);

and (t2,a,c_in);

and (t3,b,c_in);

or (sum,s1,s2,s3,s4);

or (c_out,t1,t2,t3);

endmodule

 module stimulus;

 regA,B;

 regC_IN;

 wireSUM;

 wireC_OUT;

 fulladd full(A,B,C_IN,C_OUT,SUM);

 initial

 begin

 $monitor($time,"A=%b,B=%b,C_OUT=%b,SUM=%b\n",A,B,C_OUT,SUM);

 end

 initial

 begin

 C_IN=1;

 #5A=1;B=0;

#5 A=0;B=1;

#5 A=1;B=1;

#5 A=0;B=0;

end

endmodule

作者:kobesdu 发表于2013-9-7 0:11:14 原文链接
阅读:158 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>