您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页四位全加器

四位全加器

来源:筏尚旅游网


实验报告

课程名称 EDA技术应用

专 业 电子信息工程

班 级

学 号

学 生 姓 名

黄淮学院信息工程学院

实验报告四

实验名称 学生学号 同组人员 实验类型 实验地点 四位全加器 综合性 实验时间 学生姓名 专业班级 指导老师 学 时 一、实验目的 1. 了解四位全加器的工作原理。 2. 掌握基本组合逻辑电路的FPGA 实现。 3. 熟练应用Quartus II 进行FPGA 开发。 二、实验设备 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 所示: 表9-1 全加器真值表 由真值表得到Si 和Ci 的逻辑表达式经化简后为:

这仅仅是一位的二进制全加器,要完成一个四位的二进制全加器,只需要把四个级联起来即可。 四、实验内容 本实验要完成的任务是设计一个四位二进制全加器。具体的实验过程就是利用实验系统上的拨动开关模块的SW1~SW4 作为一个加数X 输入,SW5~SW8 作为另一个加数Y 输入,用LED 模块的D1~D5 来作为结果S 输出,LED 亮表示输出‘1’,LED 灭表示输出‘0’。实验箱中的拨动开关、LED 与FPGA 的接口电路,以及拨动开关、LED 与FPGA的管脚连接在以前的实验中都做了详细说明。 五、实验过程 1. 打开QUARTUSII 软件,新建一个工程。 2. 建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。 3. 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序,用户可参照光盘中提供的示例程序。 4. 编写完VHDL 程序后,保存起来。方法同实验一。 5. 对编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。 6. 编译仿真无误后,依照《用户手册》进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。 7. 用下载电缆通过JTAG 口将对应的sof 文件加载到FPGA中。 8. 拨动相应的拨动开关SW1~SW4 作为一个加数X 输入,SW5~SW8 作为另一个加数Y 输入,用发光管模块的D1~D5作为结果S 输出,发光管亮表示输出‘1’, 发光管灭表示输出‘0’。任意输入两个四位的加数,观察发光管上的显示结果并记录。观察实验结果是否与自己的编程思想一致。 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 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; LIBRARY IEEE; --半加器描述(2):真值表描述方法 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 SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ; 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' ; WHEN \"11\" => so<='0'; co<='1' ;

WHEN OTHERS => NULL ; END CASE; END PROCESS; END ARCHITECTURE fh1 ;

实验结果: 通过编写程序,正确运行,硬件连接,引脚配置,能够顺利实现了四位全加器,通过八个拨动开关‘0’‘1’的不同,实现不同数字的相加,并且能够实现进位,还可以用led灯显示各位,顺利完成了四位全加器的设计。 七、实验分析与总结 通过本次试验的学习,了解了思维全加器的工作原理,并且对基本组合逻辑电路有了初步了解,能够设计出基本组合逻辑电路,对Quartus II软件的使用更加的熟练,在试验过程中也遇到了一些问题,在老师和同学的帮助下能够顺利克服,完成了实验任务。 指导教师批阅成绩 指导教师签字: 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务