实验一 半加器和全加器的设计

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

实验一 半加器和全加器的设计

一、 实验目的

1、掌握图形的设计方式;

2、掌握自建元件及调用自建元件的方法;

3、熟练掌握MAXPLUS II 的使用。

二、实验内容

1、熟练软件基本操作,完成半加器和全加器的设计;

2、正确设置仿真激励信号,全面检测设计逻辑;

3、综合下载,进行硬件电路测试。

三、实验原理

1、半加器的设计

半加器只考虑了两个加数本身,没有考虑由低位来的进位。 半加器真值表:

半加器逻辑表达式:B A B A B A S ⊕=+=;AB C = LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT(

A:IN STD_LOGIC; B:IN STD_LOGIC;

SO:OUT STD_LOGIC;

CO:OUT STD_LOGIC

);

END ENTITY h_adder;

ARCHITECTURE fh1 OF h_adder IS

BEGIN

SO <= A XOR B;

CO <= A AND B;

END ARCHITECTURE fh1;

A:60ns B:30ns

2.全加器的设计

全加器除考虑两个加数外,还考虑了低位的进位。全加器真值表:

全加器逻辑表达式:

1-⊕⊕=i i i i C B A S ;AB C B A C i i i i +⊕=-1)(

3、利用半加器元件完成全加器的设计 (1)图形方式

其中HADDER 为半加器元件。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS

PORT(ain,bin,cin:IN STD_LOGIC; cout,sum:out STD_LOGIC); END ENTITY f_adder;

ARCHITECTURE fd1 OF f_adder IS COMPONENT h_adder PORT(

A:IN STD_LOGIC; B:IN STD_LOGIC;

SO:OUT STD_LOGIC;

CO:OUT STD_LOGIC

);

END COMPONENT;

COMPONENT or2a

PORT(

a:IN STD_LOGIC;

b:IN STD_LOGIC;

c:OUT STD_LOGIC

);

END COMPONENT;

SIGNAL net1,net2,net3:STD_LOGIC;

BEGIN

u1:h_adder port MAP(A=>ain,B=>bin,CO=>net2,SO=>net1); u2:h_adder port MAP(net1,cin,net3,sum);

u3: or2a port MAP(a=>net2,b=>net3,c=>cout);

END ARCHITECTURE fd1;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY or2a IS

PORT(a,b:IN STD_LOGIC;

c:out STD_LOGIC);

END ENTITY or2a;

ARCHITECTURE one OF or2a IS

BEGIN

c <= a OR b;

END ARCHITECTURE one;

ain:60ns bin:50ns cin:40ns

四、实验步骤

1.对文件进行建立,是txt

2.添加相关程序,保存文件位vhd

3.设置工程为底层

4.对程序进行编译

5.没有错后对波形图进行新建

6.设置输入得出输出波形,与真值表进行对照

五、实验小结:

本次实验针对半加器和全加器的设计与仿真相对简单,而半加器可以说是全加器的重要组成部分,实验过程从建立文件对程序进行编写到波形的仿真验证都相对容易,其中在全加器中出现问题,由于对程序的理解不到位,并没有建立调用声明门元件的相关程序。经此次实验以及对相关知识的回顾,对于VHDL设计更加明了。

相关文档
最新文档