【设计】一位二进制全减器设计
- 格式:docx
- 大小:39.04 KB
- 文档页数:3
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
1文档收集于互联网,如有不妥请联系删除. 【关键字】设计
南昌大学实验报告
学生姓名: 学 号: 89 专业班级: 电子081
实验类型:□ 验证 □ 综合 设计 □ 创新 实验日期: 实验成绩:
实验一 1位二进制全减器设计
一、实验目的
1) 熟悉实验设备和软件,掌握Quartus II 的VHDL文本设计及原理图设计全过程;
2) 熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件尝试结果;
二、实验内容与要求
1) 完成一位二进制全减器的设计,用LED显示输出结果;
2) 用分层设计的方法设计,顶层为全减器(文本输入法),底层为半减器(原理图输入法)和逻辑门组成;
3) 自行完成设计与仿真、波形分析、下载与硬件尝试等全过程,验证设计是否正确;
三、设计思路/原理图
首先根据一位二进制半减器运行原理,列出半减器真值表(如图一所示),并由真值表设计出半减器原理图(如图二),根据全减器真值表(图三)可用两个半减器和一个或门组成一位二进制全减器。
a b so co
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
图一 半减器真值表
图二 半减器原理图
a b c cout sub
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
图三 全减器真值表
图四 由半减器组成的全减器原理图
四、实验程序(顶层程序参考EDA教材88页一位二进制全加器顶层文本设计)
底层(原理图输入)
半加器连接图:
定义或门:
顶层(文本输入)
LIBRARY IEEE; --1位二进制全减器顶层描述
USE IEEE.STD_LOGIC_1164.ALL; 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
2文档收集于互联网,如有不妥请联系删除. 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. 下载程序,验证实验结果;
六、仿真波形分析
下图为实验所得的波形图: 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
3文档收集于互联网,如有不妥请联系删除.
对实验所得的波形图作如上标记,可以得到下表:
区 间 ain bin cin cout sub LED6 LED5
a-b 0 0 0 0 0 灭 灭
b-c 0 0 1 1 1 亮 亮
c-d 0 1 0 1 1 亮 亮
d-e 0 1 1 1 0 亮 灭
e-f 1 0 0 0 1 灭 亮
f-g 1 0 1 0 0 灭 灭
g-h 1 1 0 0 0 灭 灭
h-i 1 1 1 1 1 亮 亮
数码管LED6、LED5分别显示cout和sub的值,亮为1,灭为0。cin为下一位借位情况,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的设计流程,熟悉了基本组合电路的设计,对于程序的下载过程还需要在实验室多熟悉。对于软件的操作还有许多不明白的地方,需要进一步的学习。
此文档是由网络收集并进行重新排版整理.word可编辑版本! a b c d e f g h i