EDA2实验4 8位加法器的设计 联系客服

发布时间 : 星期三 文章EDA2实验4 8位加法器的设计更新完毕开始阅读01fccf974028915f814dc219

实验四 八位加法器的设计

一、 实验目的

(1) 进一步熟悉和掌握Quartus II 软件的使用。

(2) 进一步熟悉和掌握GW48-CK或其他EDA实验开发系统的基本使用方法。 (3) 学习VHDL程序的基本构成。

二、 实验内容

设计并调试好一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器,并用GW48-CK或其他EDA实验开发系统进行硬件验证。

三、 实验条件

(1) 开发软件:Quartus II 9.0

(2) 实验设备:W48-CK EDA实验开发系统。

四、实验原理

加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可以由加法器来构成。多位加法器的构成有两种方式:并行进位和串行进位。并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。并行进位加法器通常比串行级联加法器占用更多的资源。随着位数增加。相同位数的并行加法器与串行加法器的资源占用差距也越来越大。因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。

实践证明,4位二进制并行加法器和串行级联加法器占用几乎相同的资源,这样,多位加法器由4位二进制并行加法器级联构成是较好的折中选择。本设计中的8位二进制并行加法器即是由两个4位二进制并行加法器级联而成的,其电路原理图如图所示。

五、实验设计

VHDL程序

(1)4位二进制并行加法器的源程序ADDER4B.VHD library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ADDER4B 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 ADDER4B;

architecture ART of ADDER4B 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位二进制并行加法器的源程序ADDER8B.VHD

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

entity ADDER8B is

port (C8:in std_logic;

A8:in std_logic_vector (7 downto 0); B8:in std_logic_vector (7 downto 0); S8:out std_logic_vector (7 downto 0); CO8:out std_logic); end entity ADDER8B;

architecture ART of ADDER8B is component ADDER4B 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 component ADDER4B; signal SC:std_logic; begin

U1:ADDER4B

port map (C4=>C8,A4=>A8 (3 downto 0),B4=>B8(3 downto 0), S4=>S8(3 downto 0),CO4=>SC); U2:ADDER4B

port map (C4=>SC,A4=>A8 (7 downto 4),B4=>B8(7 downto 4), S4=>S8(7 downto 4),CO4=>CO8); end architecture ART;

仿真波形设置

(1)4位二进制

(2)8位二进制

六、实验结果及总结

(1)4位二进制功能仿真结果

4位二进制时序仿真结果