当前位置: 首页> 汽车> 行情 > 湖南人文科技学院简介_集团网站建设运营公司_东莞网站推广优化网站_免费建自己的网站

湖南人文科技学院简介_集团网站建设运营公司_东莞网站推广优化网站_免费建自己的网站

时间:2025/7/11 17:55:16来源:https://blog.csdn.net/2201_75518371/article/details/145999755 浏览次数: 0次
湖南人文科技学院简介_集团网站建设运营公司_东莞网站推广优化网站_免费建自己的网站

目录

一、四位全加器原理

1、半加器

2、一位全加器

3、四位全加器

二、在Quartus里实现四位全加器

三、在Quartus里三八译码器

1、三八译码器真值表

2、七段数码管

3、verilog代码

总结

一、四位全加器原理

1、半加器

半加器是一种基本的数字电路元件,用于对两个二进制数进行加法运算。它只能处理两个一位二进制数的加法,无法处理来自低位的进位。半加器具有两个输入和输出,其真值表如下图所示:

A、B表示两个输入,C表示进位,S表示和

在Quartus里面画出的逻辑电路图如下:

2、一位全加器

全加器可以对三个二进制数进行加法运算。与半加器不同,全加器能够处理来自低位的进位,因此适用于多位二进制数的加法运算。其真值表如下图所示:

它有三个输入和两个输出,Ain、Bin表示两个二进制数,Cin表示地位进位,Cout表示高位进位,Sum表示相加得到的和

使用verilog语言编写一位全加器:

module full_adder (// 输入信号:被加数 (ain),加数 (bin),低位进位 (cin)input ain, bin, cin,// 输出信号:和 (sum),高位进位 (cout)output sum, cout
);// 计算和与进位assign sum = ain ^ bin ^ cin; // 本位和assign cout = (ain & bin) | (bin & cin) | (ain & cin); // 进位
endmodule

得到的仿真图如下:

3、四位全加器

四位全加器通过级联四个全加器实现,能够对两个四位二进制数进行加法运算,并处理进位。它是计算机硬件中实现算术运算的基础模块之一。其真值表如下图所示:

verilog语言

module adder_4bit (// 输入信号:4 位被加数 (a),4 位加数 (b),低位进位 (cin)input [3:0] a, b,input cin,// 输出信号:4 位和 (sum),高位进位 (cout)output [3:0] sum,output cout
);// 内部信号:用于存储每一位的进位wire c1, c2, c3;// 实例化四个一位全加器,级联实现四位全加器full_adder fa0 (.ain(a[0]),.bin(b[0]),.cin(cin),.sum(sum[0]),.cout(c1));full_adder fa1 (.ain(a[1]),.bin(b[1]),.cin(c1),.sum(sum[1]),.cout(c2));full_adder fa2 (.ain(a[2]),.bin(b[2]),.cin(c2),.sum(sum[2]),.cout(c3));full_adder fa3 (.ain(a[3]),.bin(b[3]),.cin(c3),.sum(sum[3]),.cout(cout));endmodule

生成仿真图如下所示:

二、在Quartus里实现四位全加器

1、创建工程过程 启动 Quartus II 软件,选择File->New Project Wizard,在出现的界面下先Next,填写工程的路径和名称,然后接着Next,直到出现下面界面并进行相应操作。接着一路Next,直到Finish,完成工程的创建。

img

2、创建Verilog文件

首先创建一个一位全加器的Verilog HDL 文件full_adder,然后输入上面的Verilog代码,保存并编译

然后再创建四位全加器文件adder_4bit,输入上面的Verilog代码,保存并编译

通过tool->Netlist Viewers->RTL Viewer,可以查看电路图

3、创建一个向量波形文件,选择菜单项 File→New->VWF

添加信号

4、编辑仿真信号并得到波形图

5、绑定引脚

我们在开发板上需要用到按键去表示输入的二进制值,查询DE2-115开发板的按键引脚如下图所示:

知道需要用到的按键之后就可以在Quartus里面绑定,通过Assignments->Pin Planner,打开引脚配置

img

6、烧录程序

实物图如下:

四位全加器

三、在Quartus里三八译码器

1、三八译码器真值表

2、七段数码管

为方便查看三八译码器的输出,我们可以将输出转化到七段数码管上查看。

本次使用开发板采用共阳极数码seg值

3、verilog代码

//利用38译码器点亮8段数码管
module yima_38(input wire [2:0] sw,  // 3位输入开关,用于选择数码管显示的8数字output reg [6:0] seg  // 8位输出,连接到数码管的段选信号(a-g + dp)
);
​// 数码管段选信号定义(共阳极)// seg[6:0] 分别对应数码管的  g, f, e, d, c, b, a// 共阳极数码管:0 点亮,1 熄灭always @(sw) begincase (sw)3'b000: seg = 8'b1100_0000; // 显示数字 03'b001: seg = 8'b1111_1001; // 显示数字 13'b010: seg = 8'b1010_0100; // 显示数字 23'b011: seg = 8'b1011_0000; // 显示数字 33'b100: seg = 8'b1001_1001; // 显示数字 43'b101: seg = 8'b1001_0010; // 显示数字 53'b110: seg = 8'b1000_0010; // 显示数字 63'b111: seg = 8'b1111_1000;default: seg = 8'b1111_1111; // 默认全灭endcaseend
endmodule

仿真图如下:

实物效果如下所示:

三八译码器

参考

FPGA——1位全加器的实现_fpga全加器代码-CSDN博客

FPGA——1位全加器和4位全加器的实现_一位全加器电路图-CSDN博客

总结

此次FPGA的实验受益颇多,更进一步了解了四位全加器和三八译码器的原理以及verilog代码的编写。

关键字:湖南人文科技学院简介_集团网站建设运营公司_东莞网站推广优化网站_免费建自己的网站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: