当前位置:文档之家› 四位全加器

四位全加器

二、实验设备
1.C机一台;
2.Altera Blaster下载器一根;
3.KHF-5实验箱一台。
三、实验原理
全加器是由两个加数Xi和Yi以及低位来的进位Ci-1作为输入,产生本位和Si以及向高位的进位Ci的逻辑电路。它不但要完成本位二进制码Xi和Yi相加,而且还要考虑到低一位进位Ci-1的逻辑。对于输入为Xi、Yi和Ci-1,输出为Si和Ci的情况,根据二进制加法法则可以得到全加器的真值表如下表9-1所示:
五、实验过程
1.打开QUARTUSII软件,新建一个工程。
2.建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3.按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4.编写完VHDL程序后,保存起来。方法同实验一。
5.对编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
BEGIN
abc <= a & b ; --a相并b,即a与b并置操作
PROCESS(abc)
BEGIN
CASE abc IS --类似于真值表的CASE语句
WHEN "00" => so<='0'; co<='0' ;
WHEN "01" => so<='1'; co<='0' ;
WHEN "10" => so<='1'; co<='0' ;
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
SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ;
6.编译仿真无误后,依照《用户手册》进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
7.用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。
8.拨动相应的拨动开关SW1~SW4作为一个加数X输入,SW5~SW8作为另一个加数Y输入,用发光管模块的D1~D5作为结果S输出,发光管亮表示输出‘1’,发光管灭表示输出‘0’。任意输入两个四位的加数,观察发光管上的显示结果并记录。观察实验结果是否与自己的编程思想一致。
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;
LIBRARY IEEE; --半加器描述(2):真值表描述方法
USE IEEE.STD_LOGIC_1164.ALL;
WHEN "11" => so<='0'; co<='1' ;
WHEN OTHERS => NULL ;
END CASE;
END PROCESS;
END ARCHITECTURE fh1 ;
ห้องสมุดไป่ตู้实验结果:
通过编写程序,正确运行,硬件连接,引脚配置,能够顺利实现了四位全加器,通过八个拨动开关‘0’‘1’的不同,实现不同数字的相加,并且能够实现进位,还可以用led灯显示各位,顺利完成了四位全加器的设计。
七、实验分析与总结
通过本次试验的学习,了解了思维全加器的工作原理,并且对基本组合逻辑电路有了初步了解,能够设计出基本组合逻辑电路,对Quartus II软件的使用更加的熟练,在试验过程中也遇到了一些问题,在老师和同学的帮助下能够顺利克服,完成了实验任务。
指导教师批阅成绩
指导教师签字:
年 月 日
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);--例化语句
9.实验完毕,关闭电源,整理实验器材。
六、实验结果
程序:
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
表9-1全加器真值表
由真值表得到Si和Ci的逻辑表达式经化简后为:
这仅仅是一位的二进制全加器,要完成一个四位的二进制全加器,只需要把四个级联起来即可。
四、实验内容
本实验要完成的任务是设计一个四位二进制全加器。具体的实验过程就是利用实验系统上的拨动开关模块的SW1~SW4作为一个加数X输入,SW5~SW8作为另一个加数Y输入,用LED模块的D1~D5来作为结果S输出,LED亮表示输出‘1’,LED灭表示输出‘0’。实验箱中的拨动开关、LED与FPGA的接口电路,以及拨动开关、LED与FPGA的管脚连接在以前的实验中都做了详细说明。
实验报告
课程名称EDA技术应用
专 业电子信息工程
班 级
学 号
学 生 姓 名
黄淮学院信息工程学院
实验报告四
实验名称
四位全加器
实验时间
学生学号
学生姓名
同组人员
专业班级
实验类型
综合性
指导老师
实验地点
学时
一、实验目的
1.了解四位全加器的工作原理。
2.掌握基本组合逻辑电路的FPGA实现。
3.熟练应用Quartus II进行FPGA开发。
相关主题