实验报告
班 级 软件132班
学 号 139074190
姓 名 吕自明
指导教师 陆勤
实验1 3-8译码器设计
实验报告
1、填写下表(填亮或灭)
A B C LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7
0 0 0 亮 灭 灭 灭 灭 灭 灭 灭
1 0 0 灭 亮 灭 灭 灭 灭 灭 灭
0 1 0 灭 灭 亮 灭 灭 灭 灭 灭
1 1 0 灭 灭 灭 亮 灭 灭 灭 灭
0 0 1 灭 灭 灭 灭 亮 灭 灭 灭
1 0 1 灭 灭 灭 灭 灭 亮 灭 灭
0 1 1 灭 灭 灭 灭 灭 灭 亮 灭
1 1 1 灭 灭 灭 灭 灭 灭 灭 亮
2、结合本次实验,简述原理图输入法设计组合电路的步骤。
答:
(1)仔细分析设计要求,确定输入、输出变量。
(2)对输入和输出变量赋予0、1值,并根据输入输出之间的因果关系,列出输入 输出对应关系表,即真值表。
(3)根据真值表填卡诺图,写输出逻辑函数表达式的适当形式。
(4)画出逻辑电路图。
3、时序仿真波形中,输出波形与输入波形是否同步变化?如何解释输出波形
中存在的毛刺?
答:否,通常组合逻辑电路在各级延迟搭配不好的情况下,就可能出现毛刺。
4、请总结实验中出现的问题,你是如何解决的?
1.在文件名必须与VHDL文件中的设计实体名保持一致。
2.在设置引脚时,一定要看电路板,以及电路图,找对各个输入
输出接口对应的芯片引脚。
实验2 全加器/全减器设计
一.实验原理
1.功能描述:
输入:select,Ci, A, B 输出:S,Co
Select=0时,S为全加器的求和位(A+B),Co为全加器的高位进位。Ci为全加器低位进位。
Select=1时,S为全减器的求差位(A-B),Co为全减器的高位借位。Ci为全减器低位借位。
2.一位全加全减器真值表:
输入 输出
Select Co
0 0
0
0 0
0 1
0 0
0 1
0 1
0 1
1 0
1
1 0
1
1 1
1 1
1 0
1 1
3.逻辑化简
由真值表得
S=ABCi=((ASelect) BCi)Select
Co=(ASelect)B+Ci((ASelect)+B)=((ASelect)B)Ci+(ASelect)B
对于半加器的逻辑表达式为:S=AB Co=AB
综上,一位全加全减器可由两个半加器,两个异或门和一个或门组成。
4.毛刺的产生与消除
组合逻辑电路由于输入到输出各端的延时不同,在输出端稳定之前会产生错误的输出。
在本电路中,由于低位的进位或借位传输到输出的时间比其他信号传输的延时要长,因此当低位产生进位或借位时会出现错误的输出。
一种常见的方法是利用D触发器的D输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输入输出信号。由组合逻辑电路的最大延时Td为16.7ns,D触发器的时钟周期T应略大于Td,取20ns。
5.电路原理图设计
加法运算电路:
通过高低电平给A、B分别制数,当控制信号为低电平时,B与控制信号异或还是B,得出的结果就是A与B的和。
减法运算电路
如下图 :
首先通过高低电平给A、B制数,当控制信号为高电平时(0)时,0与B。的异或为-B,此时得出的结果为A与B 的差 。
整体电路
通过编码器给A,B两个数编码,编程四位二进制码,然后再通过异或门让A和B相加和想减,当异或门控制信号为0时是加法运算,当异或门为1时是减法运算。
通过把输入电路,加减运算电路和显示电路整合到一起就得到了如下图所示的整体的电路图。
译码显示器的设计
译码显示电路的实现是采用74HC4511BCD码驱动器,驱动共阴极LED数码管。74HC4511内接有上拉电阻,故只需在输出端与数码管之间串入限流电阻既可工作。译码器还有拒绝伪码的功能,当输入超过1001时,输出全为0。
A0、A1、A2、A3为BCD码输入端;a、b、c、d、e、f、g为译码输出端, 输出1有效,用来驱动共阴极LED数码管;LT’为测试输入端,LT’=0时,译码输出全为1;BI’为消隐输入端,BI’=0时,译码输出全为0,数码管熄灭;LE’为锁定端,LE=1时译码器处于锁定(保持)状态,译码输出保持在LE=0时的数值,LE=0为正常译码。
3.一位全加全减器gdf文件(由半加器和异或门,或门组成)
4四位全加全减器gdf文件(由四个一位全加全减器组成)
5.四位全加全减器生成的符号文件
二.仿真波形及分析
1)减法波形(select=1)
2)加法波形(select=0)
2.四位全加全减器延时分析
3.仿真波形
1)减法波形(select=1)
2)加法波形(select=0)
三 实验及仿真
整体电路
【实验数据记录及结果分析】
1)经测试,发现所有发光二极管发光时都是高电平,低电平时不发光。
2)对于本实验步骤2:
当X或Y等于1时,发光二极管与脉冲同步闪烁;
当X=0且Y=0时,发光二极管始终不发光。
真值表
| M | N | X | Y | A | B | F |
| 1 | 1 | 0 | 0 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 1 |
实验结果
| M | N | X | Y | A | B | F |
| 亮 | 亮 | 0 | 0 | 亮 | 亮 | 熄 |
| 亮 | 亮 | 0 | 1 | 亮 | 熄 | 亮 |
| 亮 | 亮 | 1 | 0 | 0 | 亮 | 亮 |
| 亮 | 亮 | 1 | 1 | 0 | 熄 | 亮 |
3)对于本实验步骤3:
| X | A | B | Y |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
4)按电路图搭好电路,依次调节三个输入端,观察输出端和借位端,记录下来:
| 输入序列 | 输出 | 借位 |
| 000 | 灭 | 灭 |
| 001 | 亮 | 灭 |
| 010 | 亮 | 灭 |
| 011 | 灭 | 亮 |
| 100 | 亮 | 灭 |
| 101 | 灭 | 亮 |
| 110 | 灭 | 亮 |
| 111 | 亮 | 亮 |
实验3 七段显示译码器的优化实现
一、实验步骤
1. 新建一个文件夹YHY,打开Quartus Ⅱ软件,选择菜单File→New,在弹出的New对话框中选择Device Design File页的原理图文件编辑器输入项VHDL File(如图一),按OK按钮打开VHDL编辑器窗口。
编译并运行,观察其波形输出(如下图)。
打开FILE——NEW,新建一个BLOCK DIAGRAM/SCHEMATIC FILE文件,单击SYMBOL TOOL 按钮,在弹出的对话框中选中PROJECT下的ADDER8,即调出其原理图(如下图所示)。
7段数码显示译码器原理图
编译结果
RTL
仿真设置
仿真结果
实验箱设置
根据试验箱指定管脚
二、实验分析与总结
1. 根据7段数码显示译码器的波形图知,实验结果正确,设计成功。
2. 通过此次实验,进一步熟悉了7段数码显示译码器的VHDL描述方法。对VHDL的使用有了更深入的了解。下载本文