搜索

[FPGA] 基于TD软件的4位全加器实现

[复制链接]
114|1
 楼主 | 2020-9-8 15:45 | 显示全部楼层 |阅读模式
一、全加器
全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。
二、vhdl代码
  1. module f_add(a,b,cin,sum,count);

  2. input a,b,cin;
  3. output sum,count;

  4. wire s1,t1,t2,t3;
  5. xor
  6.         ux1(s1,a,b),
  7.         ux2(sum,s1,cin);
  8.        
  9. and
  10.         ua1(t3,a,b),
  11.         ua2(t2,b,cin),
  12.         ua3(t1,a,cin);
  13. or
  14.         uo1(count,t1,t2,t3);
  15.        

  16. endmodule



  17. module four_f_add(fa,fb,fcin,fsum,fcount);

  18. parameter size=4;
  19. input [size:1]fa,fb;
  20. output[size:1]fsum;
  21. input fcin;
  22. output fcount;

  23. wire [size-1:1]ftemp;

  24. f_add
  25.        
  26.         ufa1(.a(fa[1]),.b(fb[1]),.cin(fcin),.sum(fsum[1]),.count(ftemp[1])),
  27.        
  28.         ufa2(.a(fa[2]),.b(fb[2]),.cin(ftemp[1]),.sum(fsum[2]),.count(ftemp[2])),
  29.        
  30.         ufa3(.a(fa[3]),.b(fb[3]),.cin(ftemp[2]),.sum(fsum[3]),.count(ftemp[3])),
  31.        
  32.         ufa4(fa[4],fb[4],ftemp[3],fsum[4],fcount);

  33. endmodule

复制代码



三、RTL
235405f57365d89c01.png


239465f57368ee3fa5.png

使用特权

评论回复
| 2020-9-9 17:28 | 显示全部楼层
谢谢分享,学习了!

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表