EDA一位全加器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)
六、仿真波形分析