一位二进制全减器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学实验报告
学生姓名:学号:6100208089 专业班级:电子081
实验类型:□验证□综合 设计□创新实验日期:2010-10-14 实验成绩:
实验一1位二进制全减器设计
一、实验目的
1)熟悉实验设备和软件,掌握Quartus II 的VHDL文本设计及原理图设
计全过程;
2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果;
二、实验内容与要求
1)完成一位二进制全减器的设计,用LED显示输出结果;
2)用分层设计的方法设计,顶层为全减器(文本输入法),底层为半减器
(原理图输入法)和逻辑门组成;
3)自行完成设计与仿真、波形分析、下载与硬件测试等全过程,验证设
计是否正确;
三、设计思路/原理图
首先根据一位二进制半减器运行原理,列出半减器真值表(如图一所示),并由真值表设计出半减器原理图(如图二),根据全减器真值表(图三)可用两个半减器和一个或门组成一位二进制全减器。
图二半减器原理图
图四由半减器组成的全减器原理图
四、实验程序(顶层程序参考EDA教材88页一位二进制全加器顶层文本设
计)
底层(原理图输入)
半加器连接图:
定义或门:
顶层(文本输入)
LIBRARY IEEE; --1位二进制全减器顶层描述
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY f_m IS --定义f_m实体
PORT (ain,bin,cin :IN STD_LOGIC;
cout,sub:OUT STD_LOGIC);
END ENTITY f_m;
ARCHITECTURE one OF f_m IS --描述结构体
COMPONENT h_m --定义h_m各引脚
PORT ( a,b : IN STD_LOGIC ;
co,so : OUT STD_LOGIC) ;
END COMPONENT ;
COMPONENT or2a --定义or2a各引脚
PORT (a,b : IN STD_LOGIC;
c : OUT STD_LOGIC) ;
END COMPONENT ;
SIGNAL d,e,f : STD_LOGIC ; --定义信号d,e,f的类型
BEGIN --描述底层各元件的连接
u1 : h_m PORT MAP (a=>ain, b=>bin, co=>d, so=>e) ;
u2 : h_m PORT MAP (a=>e, b=>cin, co=>f, so=>sub);
u3 : or2a PORT MAP (a=>d, b=>f, c=>cout);
END ARCHITECTURE one ; --结束结构体描述
五、实验步骤
1.建立工作库文件夹和编辑设计文件
1)在D盘新建立一个文件夹命名为f_m,选择ACEX1K芯片,保存
下面的工程文件;
2)打开quartus II,选择菜单File→New→Block diagram/schematic
file,点击OK,输入半减器原理图,保存为h_m.bdf并选择菜单
file→create/update→create VHDL component declaration
files for current file
2.选择菜单File→New→Block diagram/schematic file,点击OK,定义
或门,保存为or2a.bdf并选择菜单file→create/update→create
VHDL component declaration files for current file
3.选择菜单File→New→VHDL file,点击OK后在打开的界面下输入已设
计的程序,保存为f_m.vhd;
4.对f_m.vhd进行编译
5.创建仿真文件f_m.vwf,将所有引脚拉入仿真文件,设定end time以及
ain,bin,cin输入值,进行仿真
6.选择assignments→pins 设置各引脚,并编译;
7.下载程序,验证实验结果;
六、仿真波形分析
下图为实验所得的波形图:
借位情况,cout为本位输出,sub为向上借位的值,由上表可知,仿真结果与理论值(全减器真值表)一致,故仿真成功。由仿真波形图可知,cout、sub在实际仿真中存在延迟和毛刺的现象,但并不影响仿真的结果。
七、硬件测试
引脚锁定:ain锁定为53,bin锁定为54,cin锁定为55,cout锁定为207,sub锁定为204
输出结果由LED灯显示,灯亮为“1”,灯灭为“0”,根据全减器真值表依次输入ain、bin、cin的值“000”→“111”,通过硬件测试,LED灯显示结果与全减器真值表中cout、sub的值相符,硬件测试成功。
八、实验小结
对VHDL语言还不太熟悉,在底层原理图设计中误将或非门当做或门使用导致仿真结果失败,其次对于软件的不熟悉导致整个实验操作进行缓慢,下载时由于仪器问题下载失败。
九、实验心得体会
刚开始接触EDA,对VHDL语言还不熟悉,通过这个实验基本掌握了quartus II的设计流程,熟悉了基本组合电路的设计,对于程序的下载过程还需要在实验室多熟悉。对于软件的操作还有许多不明白的地方,需要进一步的学习。