原创 一位全加器

2011-7-30 20:17 3335 7 7 分类: FPGA/CPLD

b47cdeda-251b-4029-a2ec-d6e0fb1908b2.jpg                          一位全加法器设计


第一种:


module add(a,b,cin,sum,cout);


input a,b,cin;


output sum,cout;


 


 assign{cout,sum}=a+b+cin;


 


 endmodule


 


 


RTL View:


 



第二种:


module adder(a,b,cin,sum,cout);


input a,b,cin;


output sum, cout;


   assign sum="a"^b^cin; //按位异或


   assign cout=(a&b)| (b&cin) |(a&cin);//按位与再按位或


endmodule



 


第三种:


module adder(a,b,cin,sum,cout);


input a,b,cin;


output sum, cout;


reg sum,cout;


always @(a or b or cin)//abcin发生变化


begin


    sum=a^b^cin;


    cout=(a&b)| (b&cin) |(a&cin);


end


endmodule



module adder(a,b,cin,sum,cout);


input a,b,cin;


output sum, cout;


reg sum,cout;


always @(a or b or cin)//abcin发生变化


  begin


    {cout,sum}=a+b+cin;


  end


endmodule


 



 


 



 


 

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条