- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字系统EDA技术
实验指导书
学院:
学号:
姓名:
实验一 八位全加器的设计
预习内容
结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程;
八位全加器设计原理。
二、实验目的
图形设计方法
二、实验目的
掌握图形设计方法;
熟悉QuartusⅡ软件的使用及设计流程;
掌握全加器原理,能进行多位加法器的设计。
三、实验器材
实验器材
PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干
四、实验要求
1、用VHDL设计一个四位并行全加器;
2、用图形方式构成一个八位全加器的顶层文件;
3、完成八位全加器的时序仿真。
五、实验原理与内容
1、原理:
加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。
2、实现框图:
1)四位加法器
四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。
通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。因此,减小进位的延迟对提高运算速度非常有效。下图是减少了进位延迟的一种实现方法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。因此,总的延迟是两级门的延迟,其高速也就自不待言。
2)八位加法器
用两个并行四位加法器实现一个八位加法器的框图如下:
六、实验步骤
用VHDL语言或图形输入法设计一个并行四位全加器;
利用步骤一得到的四位全加器使用图形输入法实现一个8位全加器;
对最后的顶层文件进行编译、仿真;
如果时间有余可以直接设计一个八位的串行全加器,比较上述两种方法
综合后的不同(主要从消耗资源和运算速度考虑)。
七、实验报告
1、
四位加法器
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity adder4 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 adder4;
architecture art of adder4 is
signal s5:std_logic_vector(4 downto 0);
signal a5,b5:std_logic_vector(4 downto 0);
begin
a5=0a4;
b5=0b4;
s5=a5+b5+c4;
s4=s5(3 downto 0);
co4=s5(4);
end architecture art;
连线图
仿真波形
分析实验结果;
从波形中可以看出,S8的输出由A8和B8的和来得到,而且显示是以8个为一组进行显示的。
心得体会;
首先编写正确的程序是非常重要的,特别注意拼写的情况。另外在仿真是一定要搞清楚,顶层文件和其它组成文件的区别。在一开始就应该注意到,免得在后面又重新来建立新的工程。
八、问题及思考
试设计一由8 位二进制加法器为基本元件构成的8位减法器。
源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity adder8 is
port(c8: in std_logic;
a8: in std_logic_vector(7 downto 0);
b8: in std_logic_vecto
文档评论(0)