电子科技大学EDA指导书附完整答案讲解.docxVIP

  • 14
  • 0
  • 约1.03万字
  • 约 26页
  • 2021-01-17 发布于山东
  • 举报

电子科技大学EDA指导书附完整答案讲解.docx

数字系统 EDA 技术 实验指导书 学院: 学号: 姓名: 实验一 八位全加器的设计 一、 预习内容 结合教材中的介绍熟悉 QuartusⅡ软件的使用及设计流程; 八位全加器设计原理。 二、实验目的 掌握图形设计方法; 熟悉 QuartusⅡ软件的使用及设计流程; 掌握全加器原理,能进行多位加法器的设计。 三、实验器材 PC机一台、 EDA 教学实验系统一台、下载电缆一根(已接好)、导线若 干 四、实验要求 1、用 VHDL 设计一个四位并行全加器; 2、用图形方式构成一个八位全加器的顶层文件; 3、完成八位全加器的时序仿真。 五、实验原理与内容 1、原理: 加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器 和硬件乘法器都可由加法器来构成。 但宽位加法器的设计是很耗费资源的, 因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实验表明, 4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。这样,多位数加法器由 4 位二进制并行加法器级联构成是较好的折中选择。因此本实验中的 8 位加法器采用两个 4位二进制并行加法器级联而成。 2、实现框图: 1)四位加法器 四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中 CSA为一位全加器。显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。 通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。因此,减小进位的延迟对提高运算速度非常有效。下图是减少了进位延迟的一种实现方法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。因此,总的延迟是两级门的延迟,其高速也就自不待言。 2)八位加法器 用两个并行四位加法器实现一个八位加法器的框图如下: Cin DataInA[3:0] DataOut[3:0] DataINB[3:0] 四位全加器 Cout Cin DataInA[7:4] DataOut[7:4] DataINB[7:4] 四位全加器 Cout 六、实验步骤 1、 用 VHDL 语言或图形输入法设计一个并行四位全加器; 2、 利用步骤一得到的四位全加器使用图形输入法实现一个 8位全加器; 3、 对最后的顶层文件进行编译、仿真; 4、 如果时间有余可以直接设计一个八位的串行全加器, 比较上述两种方法 综合后的不同(主要从消耗资源和运算速度考虑)。 七、实验报告 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; 连线图 仿真波形 2、分析实验结果; 从波形中可以看出, S8的输出由 A8 和B8的和来得到,而且显示是以 8个为一 组进行显示的。 3、 心得体会; 首先编写正确的程序是非常重要的,特别注意拼写的情况。另外在仿真是一定要搞清楚,顶层文件和其它组成文件的区别。在一开始就应该注意到,免 得在后面又重新来建立新的工程。 八、问题及思考 试设计一由 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 d

文档评论(0)

1亿VIP精品文档

相关文档