四位二进制数的可控加法实验报告_四位二进制加法器实验

2020-02-27 其他范文 下载本文

四位二进制数的可控加法实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“四位二进制加法器实验”。

四位二进制数的可控加法实验报告

一、实验目的。

1.了解四位二进制数运算的基本原理,制定设计方案。

2.利用ISE软件进行可编程逻辑器件设计,完成逻辑仿真功能。

3.使用编译器将设计实现,下载到BASYS2实验板上进行调试和验证所设计的四位二进制数的运算。

二、实验器材。

1.Pentium—Ⅲ计算机 一台; 2.BASYS2 实验板一只;

三、实验方案。1.基本功能。

实现了两个四位二进制数的加减法运算,能够在输出端得出结果.2.清零功能。

利用一个微动开关,在逻辑程序中表示出当按下微动开关后两个操作数都 变为零。再调用以前的加法程序,即可实现输出结果清零。3.用数码管显示。

编写程序,将数值转换为七段显示器显示。将运算结果输送到数码管中。值得注意的是四个数码管要显示不同的数字,就需要利用到人的视觉误差,做一些短暂的延时。4.溢出显示。

本实验中,设计的是一个无符号数加减法器,因而其共有两种溢出情况 一,减法时,减数大于被减数,针对这种情况可以利用比较大小进行溢出判断;

二,加法时,被操作数之和大于15。判断进位,如果进位为1则显示溢出,若反之,则不显示。

四、实验原理图。

五、实验模块说明及部分代码。

1.add1部分。将输入的两个操作数相加并判断大小。相加结果放在led中,进位放在carry中。

led[0]=num1[0]^num2[0];carry[0]=num1[0]&num2[0];

led[1]=num1[1]^num2[1]^carry[0];carry[1]=(num1[1]&num2[1])|(carry[0]&(num1[1]^num2[1]));

led[2]=num1[2]^num2[2]^carry[1];carry[2]=(num1[2]&num2[2])|(carry[1]&(num1[2]^num2[2]));

led[3]=num1[3]^num2[3]^carry[2];if(add)begin carry[3]=(num1[3]&num2[3])|(carry[2]&(num1[3]^num2[3]));end if(sub)begin if(compare)carry[3]=1;else carry[3]=(num1[3]&num2[3])|(carry[2]&(num1[3]^num2[3]))&(~sub);

2.seg7ment。输入数值,用七段显示器进行显示。

case(num)

0:a_to_g=7'b0000001;

1:a_to_g=7'b1001111;

'hE:a_to_g=7'b0110000;

3.AA部分(主模块)。实现其余功能,包括判断溢出,清零,输送显示等。

清零:

if(clr)

begin

num11=4'b0000;

num22=4'b0000;

溢出判断:

if(carry[3])

begin

an1=4'b0001;

num='hE;

六、实验中的问题及解决办法。

1.利用微动开关输入时如果利用if(x)和if(~x)来判断,按下去能显示正确结果,抬起来就会出错。这是由于微动开关按下去是1,抬起来是0造成的。利用几个并列的if语句对不同变量进行判断可以解决此问题,如: if(sub)

begin

num11=sw1;

num22=~sw2+4'b0001;

end

if(add)

begin

num11=sw1;

num22=sw2;

end

if(clr)

begin

num11=4'b0000;

num22=4'b0000;

2.数码管显示,理论上若四个都被触动则会显示相同的数值,所以可每次触动一个,循环显示,利用人的视觉误差产生四个显示不同数值的效果。

3.一个变量在多个always块中被赋值会出错。

解决办法:尽量将所有的判断条件都放在一个always里面

七、实验心得体会。

1.当完全不熟悉一种编程语言时,适当参考示例代码是非常必要的。在完成数码管显示过程中,我开始按照自己的思路编写代码,但不仅出错,而且代码冗长复杂。后来我参考了课上老师给的示例代码,最终理清了思路。

2.在调试程序时,上板测验的过程中一点要耐心并细心,如果不知道到底哪里出错,可以先将一部分代码注释,一点一点排除错误。

3.实验过程中可以先做基础,在一点点的添加拓展内容,但需要我们理清每个模块的作用和相互之间的联系。

4.通过这次实验我还明白,一门编程语言的学习不能只看书本上的知识,而应该在学习的基础上多多应用,我之前从来没有接触过verilog,但通过这几天的不断摸索,已经对verilog有了相当一部分的了解,我想后续的学习过程,也应该多以实践为主。

5.最后非常感谢实验前老师的耐心讲解。

十进制数转换为二进制数

十进制数转换为二进制数授课者:李老师授课对象:普通中专学生  教学目标知识目标:掌握十进制数转换为二进制数的方法 能力目标:培养学生逻辑思维能力与自学能力  教学重、难点十......

数独实验报告

刀豆文库小编为你整合推荐8篇数独实验报告,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......

数电实验报告

实验报告书写格式一、验证性实验报告:学院: 计算机科学与信息学院专业班级:计算机科学与技术081课程名称:数字电子技术姓名 同组人姓名 第 组 日期[实验项目] [实验目的] [实验......

EDA实验报告(四位全加器的实现)

计算机09-3班郑秀枫09081311 实验一四位全加器的实现一、实验目的1、掌握Quartus9.0图形编辑输入法2、掌握Quartus环境下文件的编译、仿真及下载方法3、了解VHDL语言的设计......

数独实验报告范文

数独实验报告范文Sudoku 数独实验报告一、 算法描述求解Sudoku让人最容易想到的方法是穷举每个方格可能的值,如果符合条件,则得到解,不符合条件则进行回溯。通过递归的方法,显然......

《四位二进制数的可控加法实验报告.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
四位二进制数的可控加法实验报告
点击下载文档
相关专题 四位二进制加法器实验 实验报告 加法 四位 四位二进制加法器实验 实验报告 加法 四位
[其他范文]相关推荐
[其他范文]热门文章
下载全文