文档库 最新最全的文档下载
当前位置:文档库 › 数字电路加法器实验报告

数字电路加法器实验报告

中山大学移动信息工程学院本科生实验报告

(2014学年秋季学期)

课程名称:数字电路实验任课教师:王军助教:李正

一、实验题目

Lab9:用3种不同的方法实现4位加法器

1.行为级描述的加法器

2.行波进位加法器

3.超前进位加法器

二、实验目的

1.更加熟练的运用ISE软件进行实验设计和仿真。

2.加深对verilog语言的理解和运用

3.掌握加法器的原理,学会用不同层级实现方法来实现加法器

三、实验内容

1. 实验步骤

?编写文本文件并编译

?软件仿真

?进行硬件配置

2. 实验原理

四、实验结果

https://www.wendangku.net/doc/262643088.html,b9: 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]&b[i]+a[i]&c[i-1]+b[i]&c[i-1],即进位分别为对应位相应的a,b输入和上一位数的进位数,如果有两个以上不为0,则进位,否则,则不进位。对于相应的输出,y[i]=a[i]^b[i]^c[i],即相应的位数的输出取决于对应位数的a,b,输入和相应的进位数的不为零的数的奇偶性。如果为奇数,则y[i]=1,偶数,则y[i]=0;

2.2 仿真波形图

3. ISE软件进行4位加法器的设计与实现(超前进位加法器)

3.1 RTL图

如图所示,根据超前进位的原理,对于相应的位数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.通过本次实验,让我对使用ISE系统进行实验设计的步骤,从创建工程,到仿真,到bit文件的生成和下载都熟练于心。此外,对verilog语言有了进一步的理解,相比于前几个实验,减少了语法错误和对变量操作的简单错误。

2.应该先将实验的原理理解透彻,再进行代码的编写。

3.对非输入输出的变量,声明和赋值应该分开,并且注意变量类型的选择。

4.always语句中不能有assign语句。

附录:实验代码

仿真代码

相关文档
相关文档 最新文档