EDA一位全加器

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

南昌大学实验报告

学生姓名:邱永洪学号:6100210026专业班级:中兴101

实验类型:□验证□综合■设计□创新实验日期:2012、10、12

实验一一位二进制全加器设计实验

一、实验目的

1、学习Quartus II的文本和原理图输入方法设计简单组合电路以熟悉QuartusII的使用;

2、熟悉设备和软件,掌握实验操作。

二、实验内容与要求

(1)在利用VHDL编辑程序实现半加器和或门,在主层中进行应用。熟悉层次设计概念;

(2)给出此项设计的仿真波形;

(3)参照实验板的引脚号,选定和锁定引脚,编程下载,进行硬件测试。

三、设计思路

1 ,一个1位全加器可以用两个1位半加器及一个或门连接而成。而一个1位半加

a b so co

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

其中a为被加数,b为加数,co为本位向高位进位,so为本位和

因而可得表达式为:co=ab而so= ab+ab =a⊕b

其VHDL文本如下

LIBRARY IEEE; --半加器描述(1):布尔方程描述方法

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY h_adder IS

PORT (a, b : IN STD_LOGIC;

co, so : OUT STD_LOGIC);

END ENTITY h_adder;

ARCHITECTURE fh1 OF h_adder is

BEGIN

so <= NOT(a XOR (NOT b)) ; co <= a AND b ;

END ARCHITECTURE fh1;

2,而全加器的真值表如下;

其中ain sum为本位和所以,一位全加器的表达式如下:

Sum=ain⊕bin⊕cin

count=ainbin+cinain+cinbin

3,或门VHDL文本如下

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;

四、VHDL文本输入法设计

常用的硬件描述语言(HDL)就是VHDL语言,同原理图设计方法类似,首先打开Quartus II 7.2建立工程文件,然后选择菜单File->New,在Device Design Files标签选项框中选择VHDL File。

LIBRARY IEEE; --半加器描述(1):布尔方程描述方法

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY h_adder IS

PORT (a, b : IN STD_LOGIC;

co, so : OUT STD_LOGIC);

END ENTITY h_adder;

ARCHITECTURE fh1 OF h_adder is

BEGIN

so <= NOT(a XOR (NOT b)) ; co <= a AND b ;

END ARCHITECTURE fh1;

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;

LIBRARY IEEE; --1位二进制全加器顶层设计描述

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,b : IN STD_LOGIC;

co,so : OUT STD_LOGIC);

END COMPONENT;

COMPONENT or2a

PORT (a,b : IN STD_LOGIC;

c : OUT STD_LOGIC);

END COMPONENT;

SIGNAL d,e,f : STD_LOGIC; --定义3个信号作为内部的连接线。

BEGIN

u1 : h_adder PORT MAP(a=>ain,b=>bin,co=>d,so=>e);--例化语句

u2 : h_adder PORT MAP(a=>e,b=>cin,co=>f,so=>sum);

u3 : or2a PORT MAP(a=>d,b=>f,c=>cout);

END ARCHITECTURE fd1;

六、VHDL文本输入法设计实验步骤

1.新建项目,选择项目文件夹,输入工程名称,添加文件(一般为空),选择芯片型号,选择仿真工具(一般为默认),最后生成项目。

2.新建VHDL文件,输入设计语言,保存时要注意与工程文件名相同。如下图:

图(2)文本输入

3.保存好后,进行综合编译,如果有错误,折回修改。

4、建立波形文件,导入结点,并设置好仿真结束时间,保存文件,进行仿真设置,然后进行波形仿真,如下图:

图(4)

六、仿真波形分析

相关文档
最新文档