数字电路加法器实验报告.docx
《数字电路加法器实验报告.docx》由会员分享,可在线阅读,更多相关《数字电路加法器实验报告.docx(7页珍藏版)》请在冰豆网上搜索。
数字电路加法器实验报告
竭诚为您提供优质文档/双击可除
数字电路加法器实验报告
篇一:
数字电路加法器实验报告
中山大学移动信息工程学院本科生实验报告
(20XX学年秋季学期)
课程名称:
数字电路实验
任课教师:
王军
助教:
李正
一、实验题目
Lab9:
用3种不同的方法实现4位加法器
1.行为级描述的加法器2.行波进位加法器3.超前进位加法器
二、实验目的
1.更加熟练的运用Ise软件进行实验设计和仿真。
2.加深对verilog语言的理解和运用
3.掌握加法器的原理,学会用不同层级实现方法来实现加法器
三、实验内容
1.实验步骤
?
编写文本文件并编译?
软件仿真?
进行硬件配置2.实验原理
四、实验结果
1.Lab9:
Ise软件进行4位加法器的设计与实现(行为级描述的加法器)
1.1.综合得出的RTL电路图
图一:
加法器行为级描述RTL图
如图一所示,用行为级语言对加法器进行描述即可实现四位加法器。
1.2仿真波形图
图二:
图一:
行为级加法器实现的仿真图
如图二所示,当输入a,b二进制的四位数时,输出y分别是将四位数相加。
cf是最大进位,当a与b相加之后的数大于16,则cf输出为1,其余情况输出为0。
例如,当输入为a=1000,b=0111,时,输出相应的y应为1111,cf为0。
根据加法运算,上述仿真的结果是正确的。
1.3开发板的实际效果图
下图的左边前四个开关分别对应a输入从高位到低位的四位二进制数,靠近右边的四个开关别对应输入b从高位到低位的四位二进制数。
输出对应5个LeD灯,从高位到低位分别为靠近左边从左到右的五个灯。
图一:
a=1000,b=0101,y=1101,cf=0效果图
如上图所示,当输入为a=1000和b=0101,相应的输出为0,1101分别对应相应的第2,3,5盏灯亮
图二:
a=1000,b=0111,y=1111,cf=0效果图
如上图所示,当输入为a=1000和b=0111,相应的输出为0,1111
分别对应相应的第2,3,4,5盏灯亮
图三:
a=1000,b=1000,y=0000,cf=1效果图
如上图所示,当输入为a=1000和b=1000,相应的输出为1,0000
分别对应相应的第1盏灯亮
图四:
a=1110,b=1010,y=1000,cf=1效果图
如上图所示,当输入为a=1110和b=1010,相应的输出为1,1000
分别对应相应的第1,2盏灯亮
图五:
a=1110,b=1101,y=1011,cf=1效果图
如上图所示,当输入为a=1110和b=1101输出为1,1011
分别对应相应的第1,2,4,5盏灯亮
2.Ise软件进行4位加法器的设计与实现(行波进位加法器)2.1.综合得出的RTL电路图
如上图所示,按照加法器的实验原理,对与相应的进位数c[i],c[i]=a[i]
2.2仿真波形图
3.Ise软件进行4位加法器的设计与实现(超前进位加法器)
3.1RTL图
如图所示,根据超前进位的原理,对于相应的位数I,当a[i]=b[i]=1时,由相应进位为=1,即产生进位。
否则,若a[i]或b[i]中异或为1且上一位的进位为1,则产生进位。
而y[i]则与a[i],b[i],和上一位的进位c[i-1]这三个变量为1的奇偶性有关。
3.2仿真图
篇二:
数电实验报告1.2-一位减法器、一位加法器
实验报告
学生姓名:
班级学号:
指导老师:
李旭文超周11自动化11380331138019
一、实验名称:
学习QurtusII基本功能和使用方法,完成一位减法器、一位
加法器的原理图输入和文本输入、编译校验及功能仿真。
二、实验学时:
4学时
(:
数字电路加法器实验报告) 三、实验目的:
熟悉QuartusII基本功能和使用方法,掌握原理图输入、文本输入的步骤。
四、实验内容:
完成一位加法器、一位减法器的设计输入并进行仿真输出。
五、实验原理:
数字逻辑电路中各种门电路的功能和使用方法
六、实验步骤:
1.了解quartusII的基本功能使用;2.设计输入:
首先设计出逻辑电路,然后将所设计的数字逻辑电路以某种方式输入到计算机中,QuartusII有原理图输入和文本(代码)输入两种输入模式。
3.设计编译校验:
编译连接好的输入图形。
七、实验结果:
1.加法器:
A.半加器原理图:
文本:
波形图:
b.一位全加器全加器:
原理图:
文本输入:
波形图:
2.减法器:
原理图:
文本输入:
波形图:
八、心得体会:
这是使用这个软件的第二次实验对于软件的使用已经比较熟练能够很快连接好电路进行试验
九、附录:
1.加法器:
A.半加器
moduleadder(a,b,s,co);inputa,b;outputs,co;
andx1(a,b);xorY1(a,b);endmodule
b.一位全加器
moduleonebit_fulladd(a,b,ci,sum,cout);inputa,b,ci;outputsum,cout;
wiresum_temp,c_1,c_2,c_3;xor
xor1(sum_temp,a,b);
篇三:
加法器实验报告
实验三加法器的设计与仿真
一、实验目的
熟悉QuartusⅡ仿真软件的基本操作,用逻辑图和VhDL语言设计加法器并验证。
二、实验内容
1、熟悉QuartusⅡ软件的基本操作,了解各种设计输入方法(原理图设计、文本设计、
波形设计)
2、用逻辑图和VhDL语言设计全加器并进行仿真验证;3、用设计好的全加器组成串行加法器并进行仿真验证;4、用逻辑图设计4位先行进位全加器并进行仿真验证;
三、实验原理
1.全加器
全加器英文名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。
一位全加器可以处理低位进位,并输出本位加法进位。
多个一位全加器进行级联可以得到多位全加器。
用途:
实现一位全加操作逻辑图
真值表
第1页共7页
利用与或门设计的全加器,它只能做一位的加法,先预想好它的功能,写出真值表,就可以根据这些来设计电路了。
2.四位串行加法器
逻辑图
利用全加器的组合实现4位串行加法器,全加器只能对一位进行操作,将每一位的结果传给下一位,就可以实现4位的加法器。
3.74283:
4位先行进位全加器(4-bitFullAdder)
利用74283芯片实现的4位先行进位全加器比前两者功能更完善,它可以实现进位功能,这个自己设计难度比较大,可以参照74283的功能表加深对它的理解,
第2页共7页
按照如下的逻辑图实现进位全加器。
逻辑框图
逻辑功能表
注:
1、输入信号和输出信号采用两位对折列表,节省表格占用的空间,如:
[A1/A3]对应的列取值相同,结果和值[Σ1/Σ3]对应的运算是Σ1=A1+b1和Σ3=A3+b3。
请自行验证一下。
2、c2是低两位相加产生的半进位,c4是高两位相加后产生的进位输出,c0是低位级加法器向本级加法器的进位输入。
四、实验方法与步骤
实验方法:
第3页共7页
采用基于FpgA进行数字逻辑电路设计的方法。
采用的软件工具是QuartusII软件仿真平台,采用的硬件平台是AlteraepF10K20TI144_4的FpgA试验箱。
实验步骤:
?
全加器
1、编写源代码。
打开QuartusⅡ软件平台,点击File中得new建立一个文件。
编写的文件
名与实体名一致,点击File/saveas以“.vhd”为扩展名存盘文件。
VhDL设计源代码如下:
数据流描述:
2、按照实验箱上FpgA的芯片名更改编程芯片的设置。
点击Assign/Device,选取芯片的类型,选择“Altera的epF10K20TI144_4”
3、编译与调试。
确定源代码文件为当前工程文件,点击complier进行文件编译。
编译结果有错误或警告,则将要调试修改直至文件编译成功。
4、波形仿真及验证。
在编译成功后,点击waveform开始设计波形。
点击“insertthenode”,按照程序所述插入节点,设置输入信号的波形,给予适当的信号激励,点击保存按钮保存。
然后进行功能仿真,选择菜单processing->generateFunctionalnetlist命令产生功能仿真网表,选择菜单Assignments-->setting下拉列表中选择simulatorinput,在右侧的simulationmode下拉列表中选择Functional,完成设置;选择菜单中的processing->startsimulation启动功能仿真,然后查看波形报告中的结果
5、时序仿真。
选择菜单Assignments-->setting下拉列表中选择simulatorinput,在右侧的simulationmode下拉列表中选择Timming,完成设置;选择菜单中的processing->compilerTool命令,单击start,执行全编译,然后选择菜单中的processing->startsimulation启动时序仿真,然后查看波形报告中的结果6、FpgA芯片编程及验证。
第4页共7页
(1)进行目标器件的选择及管脚分配:
选择菜单Assignments-->pins命令,弹出包含器件顶层视图的窗口,以不同颜色的和符号表示不同类型的管脚,并以其他的符号表示I/o块,双击节点一行的Location列的空白格弹出管脚列表,本实验均选择I/o管脚。
分配完管脚后,选择菜单processing->compilerTool命令,单击start,执行全编译,更新。
(2)编程下载及硬件测试:
将实验板连接都电脑上,选择Tools-->programmer命令进入下载窗口,单击start进行下载当process栏中出现100%则下载成功。
?
4位串行加法器
1、新建一个工程,工程名与文件名相同,将全加器的vhd文件复制到该工程下,在工程中
打开,并产生bsf,以将全加器作为一个子模块在该工程中调用。
2、绘制逻辑图。
打开QuartusⅡ软件平台,点击File中得new建立一个文件,按照原理中
所述的逻辑图进行连接,点击File/saveas以“.bdf”为扩展名存盘文件。
3、进行全编译。
【注】:
后面的步骤与全加器相同,这里不再赘述。
?
4位先行进位全加器
1、绘制逻辑图。
打开QuartusⅡ软件平台,点击File中得new建立一个文件,按照原理
中所述的逻辑图进行连接,点击File/saveas以“.bdf”为扩展名存盘文件。
2、进行全编译。
【注】:
后面的步骤与全加器相同,这里不再赘述
五、实验结果与分析
?
全加器1、编译过程a)编译过程、调试结果
首先是选择processing-->AnalyzecurrentFile命令进行语法检查
然后选择processing-->start-->startAnalysis&synthesis命令进行综合分析
b)结果分析及结论:
代码的书写、结构及逻辑都是正确的,编译成功。
2、功能仿真
a)功能仿真过程及仿真结果
功能仿真过程:
点击processing→generateFunctionalsimulationnetlist产生仿真网表,点击Assignments→settings→simulatorsettings,在simulationmode下拉选项中选择Functional,点击oK。
点击processing→startsimulation进行功能仿真。
第5页共7页