名称:基于FPGA的4位加法器设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
4位全加器
要求:
1.设计一个1位全加器。(注意:直接根据1位全加器的逻辑功能设计,不需要先设计半加器,即4位全加器的最底层为1个1为全加器)。
(1)列出全加器的真值表。
(2)写出1位全加器的 Verilog HDL描述。
(3)给出仿真波形。
2.采用自下而上的方法,由1位全加器设计4位全加器的逻辑功能。
(1)画出由1位全加器构成4位全加器的逻辑电路图。
(2)采用自下而上的方法写出4位全加器的 Verilog HDL描述。
(3)给出仿真波形。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1.程序工程文件
2.程序运行
3.程序文件
4.程序结构(RTL图)
5.程序仿真
1位全加器真值表
|
a |
b |
cin |
sum |
cout |
|
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
0 |
1 |
|
1 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
1 |
|
1 |
1 |
0 |
0 |
1 |
|
1 |
1 |
1 |
1 |
1 |
1位全加器verilog代码
仿真图
4位全加器逻辑电路图
4位全加器verilog代码
仿真图
a+b+cin=sum,若和大于16,则进位,同时sum=和减16.根据仿真图可以看到仿真正确
十进制表示
部分代码展示:
module add4bit(a,b,cin,sum,cout); input [3:0] a;//加数 input [3:0] b;//加数 input cin;//加数进位 output [3:0] sum;//和 output cout;//和进位 wire [3:0] T; //4个1位全加器级联,组成4位全加器 F_ADDR u1(.a(a[0]),.b(b[0]),.cin(cin) ,.sum(sum[0]),.cout(T[0])); F_ADDR u2(.a(a[1]),.b(b[1]),.cin(T[0]),.sum(sum[1]),.cout(T[1])); F_ADDR u3(.a(a[2]),.b(b[2]),.cin(T[1]),.sum(sum[2]),.cout(T[2])); F_ADDR u4(.a(a[3]),.b(b[3]),.cin(T[2]),.sum(sum[3]),.cout(cout)); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=762
1628