当前位置:文档之家› 实验一 八位全加器的设计

实验一 八位全加器的设计

电子科技大学电子工程学院标准实验报告(实验)课程名称EDA技术与应用
**:**
学号:*************
****:**
电子科技大学教务处制表
实验一八位全加器的设计
一、预习内容
1.结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程;
2.八位全加器设计原理。

二、实验目的
1.掌握图形设计方法;
2.熟悉QuartusⅡ软件的使用及设计流程;
3.掌握全加器原理,能进行多位加法器的设计。

三、实验器材
PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干
四、实验要求
1、用VHDL设计一个四位并行全加器;
2、用图形方式构成一个八位全加器的顶层文件;
3、完成八位全加器的时序仿真。

五、实验原理与内容
1、原理:
加法器是数字系统中的基本逻辑器件。

例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。

但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。

多位加法器的构成有两种方式:并行进位和串行进位方式。

并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。

通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。

实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。

这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。

因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。

2、实现框图:
1)四位加法器
四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。

显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。

通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。

因此,减小进位的延迟对提高运算速度非常有效。

下图是减少了进位延迟的一种实现方法。

可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。

因此,总的延迟是两级门的延迟,其高速也就自不待言。

2)八位加法器
用两个并行四位加法器实现一个八位加法器的框图如下:
六、实验步骤
1、用VHDL语言或图形输入法设计一个并行四位全加器;
2、利用步骤一得到的四位全加器使用图形输入法实现一个8位全加器;
3、对最后的顶层文件进行编译、仿真;
4、如果时间有余可以直接设计一个八位的串行全加器,比较上述两种方法
综合后的不同(主要从消耗资源和运算速度考虑)。

七、实验源程序、编译报告及仿真波形
源程序:
1、并行四位全加器源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ADD_4BIT IS
PORT(C4:IN STD_LOGIC;
A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
CO4:OUT STD_LOGIC);
END ENTITY ADD_4BIT;
ARCHITECTURE ART OF ADD_4BIT IS
SIGNAL S5:STD_LOGIC_VECTOR(4 DOWNTO 0);
SIGNAL A5,B5:STD_LOGIC_VECTOR(4 DOWNTO 0);
BEGIN
A5<='0'&A4;
B5<='0'&B4;
S5<=A5+B5+C4;
S4<=S5(3 DOWNTO 0);
CO4<=S5(4);
END ARCHITECTURE ART;
2、使用并行四位全加器构成的8位全加器图形
仿真波形:
八、结果分析及心得体会
从仿真波形可以看出,本设计符合8位全加器的要求,由于是时序仿真,我们
可以看到输出总有些许延迟,而且能看到输入改变的时候,输出会产生毛刺。

通过本次实验,初步学习了Quartus II 软件的使用,应用了VHDL 语言进行了编程,巩固了理论知识。

由于课前没有预习,造成上手有点慢,下次上课前一定好好预习。

九、思考题
利用8 位二进制加法器为基本元件构成的8位减法器图形如下。

补充说明:add_8bit为本实验中设计的8位全加器;A为8位无符号被减数,B为8位无符号减数,CP为输入借位信号,C为差,D为输出借位信号(低有效)。

相关主题