FPGA——基于Intel DE2-115开发板的全加器实现

前言

本次实验在quartus18.1中进行编写实现。程序烧录在Intel DE2-115开发板上进行验证。

一、加法器原理

在通过quartus编程在Intel DE2-115板子上实现一位全加器和四位全加器之前我们需要先了解其原理。

半加器

**原理:**半加器是指对输入的两个一位二进制数相加(A与B),输出一个结果位(SUM)和进位(C),没有进位的输入加法器电路,是一个实现一位二进制数的加法电路。
电路图:
在这里插入图片描述

真值表:

被加数A加数B和SUM进位C
0000
0110
1010
1101
## 一位全加器

**原理:**在一位全加器是在半加器的基础上添加一个输入信号c表示前一位的进位情况,将半加器运算的结果再与信号c进行一个半加器的运算。
电路图:
在这里插入图片描述

真值表:

AinBinCinCoutSum
00000
00101
01001
01110
10001
10110
11010
11111

输出表达式:
Sum=Ain⊕Bin⊕Cin
C o u t = ( A i n ⊕ B i n ) ⋅ C i n + A i n B i n = ( A i n & B i n ) ∣ ( B i n & C i n ) ∣ ( A i n & C i n )

四位全加器

原理: 四位全加器是利用四个全加器,一一将前一个的输出进位参与到后一个的输入进位中进行运算,实现全加器。
电路图:
在这里插入图片描述

二、一位全加器的实现

启动quartus软件,新建项目参考

一位全加器的原理图实现

1、先实现半加器
首先选择File->New,进入后选择Block Diagram/Schematic File
在这里插入图片描述
选择元件
在这里插入图片描述

添加输入输出,完成效果
在这里插入图片描述
保存文件,并编译
通过tool->Netlist Viewers->RTL Viewer,查看电路图
在这里插入图片描述
芯片引脚配置表
在这里插入图片描述
在这里插入图片描述
创建一个向量波形文件,选择菜单项 File→New->VWF
在这里插入图片描述
双击左边空白栏,弹出信号窗口,将所有的信号都添加,最后点击OK。
在这里插入图片描述
设置好输入信号的高低电频后,开始仿真。仿真结果如下:
在这里插入图片描述
与半加器真值表进行对比,发现符合半加器的原理。说明半加器设计成功。此时就可以通过一下操作将半加器设置为可调用的元件。保存名称为half_adder。

在这里插入图片描述
2、利用设计好的半加器设计一位全加器
再安装上述新建一个绘图文件,选择File->New,进入后选择Block Diagram/Schematic File。
在这里插入图片描述
添加刚刚创建好的half_adder元件和基本的元件or2。
在这里插入图片描述
在这里插入图片描述

按照下图进行设计电路图。

在这里插入图片描述
完成后,同样可以通过tool->Netlist Viewers->RTL Viewer查看设计好的电路图

在这里插入图片描述
最后进行仿真,结果如下:

在这里插入图片描述
对照真值表,发现我们设计的全加器符合其逻辑。

一位全加器的Verilog代码实现

按照上文方法,创建一个项目。并新建一个verilog HDL File文件在这里插入图片描述
在新建的verilog HDL File中编写以下代码:

module full_adder(
	//输入信号,ain表示被加数,bin表示加数,cin表示低位向高位的进位
	input ain,bin,cin,
	//输出信号,cout表示向高位的进位,sum表示本位的相加和
	output reg cout,sum

);
reg s1,s2,s3;
always @(ain or bin or cin) begin
	sum=(ain^bin)^cin;//本位和输出表达式
	s1=ain&cin;
	s2=bin&cin;
	s3=ain&bin;
	cout=(s1|s2)|s3;//高位进位输出表达式
end
endmodule

编写代码完成后,编译通过即可进行仿真对照。

程序烧录验证

编译通过后,点击Assignments->Pin planner进行输入信号与输出信号的引脚绑定。
在这里插入图片描述
引脚绑定时小参考上文芯片引脚配置表。配置结果如下
在这里插入图片描述
如果是原理图进行实现的话,绘制的原理图会出现以下变化,输入输出旁边会标注刚刚绑定的引脚编号。

绑定完成后需要再进行一次编译

在这里插入图片描述
而后再编译一次。

此时就可以将Intel DE2-115开发板通电接上电脑了。

点击下图中上方框选的图标,在弹出窗口中点击Hardware setup 。
在这里插入图片描述
选择好下图中的移动接口,没有这个接口要到在设备管理器中找到加感叹号的USB-blaster设备,并在一下路径下18.1/quatus/drivers/USB-blaster添加驱动。
在这里插入图片描述
回到上一级菜单,选中以下2框选处,点击start开始烧录。若4处出现success表示烧录成功。
在这里插入图片描述
上板结果:

在这里插入图片描述

三、四位全加器的实现

四位全加器的原理图实现

四位全加器是由四个一位全加器组成,因此可以将之前画好的一位全加器设置为可调用的元件并命名为all_adder。
并新建一个项目,如刚刚创建好的可调用元件all_adder,设计一下电路。
在这里插入图片描述
再进行仿真,将仿真结果与真值表哦进行对比验证即可。

四位全加器的Verilog代码实现

四位全加器实现verilog代码

module full_adder_4(a,b,cin,cout,sum);

	input [3:0] a,b;
	input       cin;
	output [3:0] sum;
	output     cout;
	
	assign {cout,sum}=a+b+cin;
	
	endmodule
	

编译通过后,根据引脚配置表和LED配置表进行引脚绑定,绑定如下:
在这里插入图片描述
完成后,在进行一次编译,编译无误后即可按照上文所述的方式进行程序烧录。
最后运行结果如下:
在这里插入图片描述

错误解决方案

总结

本文主要介绍了半加器,一位全加器,四位全加器的原理及电路图。并使用quratus使用原理图和verilog编程两种方式实现了半加器、一位全加器、四位全加器。并在Intel DE2-115开发板上进行了烧录验证。

参考

Verilog实现1位全加器及输出逻辑解析

FPGA——1位全加器的实现

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
de2-115开发板是一款由Altera公司推出的基于Cyclone IV系列FPGA芯片的开发板。它是一款功能丰富且灵活扩展的开发平台,适用于各种嵌入式系统的设计与开发。 首先,de2-115开发板提供了丰富的硬件资源。它内置了一个Cyclone IV EP4CE115F29芯片,拥有115,200逻辑单元(LE)和6,981kbit的存储器单元(M9K)。这使得开发者能够实现复杂的逻辑功能和存储需求。同时,开发板上还提供了8MB的SDRAM和4MB的Flash存储器作为外部存储,方便用户存储和加载程序。 其次,de2-115开发板具有丰富的输入输出接口。它包含了许多常用的接口和组件,如USB接口、SD卡插槽、VGA接口和音频接口等。这些接口使得开发者可以方便地与外部设备进行数据交互,进一步扩展了开发板的应用范围。 另外,de2-115开发板还配备了许多实用的外设。包括16个开关、16个LED灯和9个七段数码管,方便用户进行输入和输出的交互。此外,开发板还提供了4个脉冲宽度调制(PWM)输出通道和4个可编程时钟信号源,以满足不同的应用需求。 最后,de2-115开发板还支持多种开发软件和编程语言。开发者可以使用Altera的Quartus II软件进行开发,并可选择使用Verilog HDL或VHDL等编程语言。这样,开发者可以根据自己的喜好及项目需求,进行灵活的开发和设计。 综上所述,de2-115开发板具有强大的硬件资源、丰富的输入输出接口、实用的外设和支持多种开发软件和编程语言等特点。它是一款功能丰富、易于扩展和使用的嵌入式系统开发平台,适合各种项目的设计与开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值