FPGA——4位全加器及3-8译码器的实现
文章目录
- 一、全加器
- 1、Verilog实现四位全加器
- 2、下载测试
- 二、3-8译码器
- 1、Verilog实现3-8译码器
- 2、7段数码管显示3-8译码器
- 三、总结
- 四、参考资料
一、全加器
-
全加器的定义:
全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。常用二进制四位全加器74LS283。
-
一位全加器的真值表:
1、Verilog实现四位全加器
-
创建工程项目
启动 Quartus II 软件,选择File->New Project Wizard,在出现的界面下先Next,填写工程的路径和名称,然后接着Next,直到出现下面界面并进行相应操作。接着一路Next,直到Finish,完成工程的创建。
-
创建Verilog文件
-
代码实现
module full_adder4( input[3:0] a,b, input cin, output[3:0] sum, output cout ); assign{cout,sum} = a+b+cin; endmodule
保存并编译文件
-
RTL电路图
通过tool->Netlist Viewers->RTL Viewer,查看电路图
-
波形仿真
创建一个向量波形文件,选择菜单项 File→New->VWF
添加信号
2、下载测试
下载烧录前需要进行 USB Blaster 驱动,驱动方式为先给ED2-115开发板通电并用包装盒里的 USB 电缆将 PC 的 USB 端口和 DE2-115 开发板的 USB Blaster 连接器连接起来。 再打开控制面板中的设备管理器,找到Altera USB-Blaster,右键更新驱动,手动添加驱动 ,找到 …\quartus\drivers,例如我的位于E:\Quartus_18\quartus\drivers,出现以下界面说明驱动成功。
- 芯片引脚配置表
-
配置引脚
使用9个SW作为输入信号,4个LED作为输出信号
设置好接口,编译通过后点击tools->Programmer,进行相关下载烧录操作(前提是已安装好驱动)。
-
测试结果
四位全加器
二、3-8译码器
-
三八译码器的输入信号有三个,相当于有八个二进制编码可以输入,每个输入都对应着一个输出信号,其真值表如下图所示:
1、Verilog实现3-8译码器
创建项目的过程与上类似。
- 代码实现
module decoder_3_8(a,b,c,out);
input a,b,c;
output [7:0] out;
reg [7:0] out;
always @(a,b,c) begin
case({a,b,c})
3'b000:out=8'b0000_0001;
3'b001:out=8'b0000_0010;
3'b010:out=8'b0000_0100;
3'b011:out=8'b0000_1000;
3'b100:out=8'b0001_0000;
3'b101:out=8'b0010_0000;
3'b110:out=8'b0100_0000;
3'b111:out=8'b1000_0000;
endcase
end
endmodule
-
RTL电路图
-
波形仿真
2、7段数码管显示3-8译码器
- 芯片引脚表
-
配置引脚
-
测试结果
38译码器
三、总结
通过本次实验,学会了使用Verilog语言来实现四位全加器及三八译码器的设计,并下载到DE2-115板子上进行测试,其结果都符合预期。由于是第一次接触到DE2-115,所以实验过程不太熟悉,耗时较多,但相信以后会更加熟练地操作。
四、参考资料
https://blog.csdn.net/qq_42747105/article/details/128610264
https://blog.csdn.net/m0_59161987/article/details/129775428
https://blog.csdn.net/qq_43279579/article/details/115480406
https://blog.csdn.net/qq_52215423/article/details/129754388
https://blog.csdn.net/Pijiojio/article/details/145947896