实验一 4位全加器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一4位全加器的设计

一、实验目的:

1 熟悉QuartusⅡ与ModelSim的使用;

2 学会使用文本输入方式和原理图输入方式进行工程设计;

3 分别使用数据流、行为和结构化描述方法进行四位全加器的设计;

4 理解RTL视图和Technology Map视图的区别;

5 掌握简单的testbench文件的编写。

二、实验原理:

一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。

三、实验内容:

1.QuartusII软件的熟悉

熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本第4章的内容,重点掌握层次化的设计方法。

2.设计1位全加器原理图

设计的原理图如下所示:

VHDL源程序如下(行为描述):-- Quartus II VHDL Template

-- Unsigned Adder

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity f_add is

port

(

a : in std_logic;

b : in std_logic;

ci : in std_logic;

y : out std_logic;

co : out std_logic

);

end entity;

architecture rtl of f_add is

begin

(co,y)<=('0',a)+('0',b)+('0',ci);

end rtl;

VHDL源程序如下(行为描述)的RTL与technology map视

VHDL源程序如下(数据流描述):

-- Quartus II VHDL Template

-- Unsigned Adder

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity f_add_df is

port

(

a : in std_logic;

b : in std_logic;

ci : in std_logic;

y : out std_logic;

co : out std_logic

);

end entity;

architecture rtl of f_add_df is begin

y<=a xor b xor ci;

co<=((a xor b) and ci) or (a and b); end rtl;

VHDL源程序如下(数据流描述)的RTL与technology map

视图:

VHDL源程序如下(结构化描述):

-- Quartus II VHDL Template

-- Unsigned Adder

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity f_add_st is

port

(

af : in std_logic;

bf : in std_logic;

cif : in std_logic;

yf : out std_logic;

cof : out std_logic

);

end entity;

architecture rtl of f_add_st is COMPONENT h_add

PORT

(

a : IN STD_LOGIC;

b : IN STD_LOGIC;

y : OUT STD_LOGIC;

co : OUT STD_LOGIC

);

END COMPONENT;

signal s1:std_LOGIC;

signal co1:std_LOGIC;

signal co2:std_LOGIC;

begin

U1: h_add port map(a=> af,b=> bf,y=>s1,co=> co1 ); U2: h_add port map (a=> s1,b=> cif,y=> yf,co=> co2 ); cof <= co1 or co2;

end rtl;

VHDL源程序如下(结构化描述)的RTL与technology map

视图:

Testbench文件源程序如下:LIBRARY cycloneiii ;

LIBRARY ieee ;

USE cycloneiii.cycloneiii_components.all ; USE ieee.std_logic_1164.all ;

ENTITY f_add_st_tb IS

END ;

ARCHITECTURE f_add_st_tb_arch OF f_add_st_tb IS SIGNAL bf : STD_LOGIC :='0' ;

SIGNAL cof : STD_LOGIC ;

SIGNAL cif : STD_LOGIC :='0' ;

SIGNAL af : STD_LOGIC :='0' ;

SIGNAL yf : STD_LOGIC ;

相关文档
最新文档