名称:基于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)给出仿真波形。
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
源代码
扫描文章末尾的公众号二维码