北邮大二下数电实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京邮电大学
数字电路与逻辑设计实验
学院:
班级:
姓名:
学号:
班内序号:
实验一
一、实验名称
Quartus II 原理图输出法设计
(一)半加器
二、实验任务要求
用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。
三、设计思路和过程
◎设计思路
半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路,是实现两个一位二进制数的加法运算电路。
数据输入:被加数AI、加数BI
数据输出:半加和SO、进位CO
◎设计过程
,输出有一个是和SO,另一个是进位CO。(2)根据真值表写出输出逻辑表达式
该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式如下:
AI
CO⋅
=。所以,可以用一个两输入异或门和一个两输入与门SO⊕
=,BI
BI
AI
实现。
◎实验原理图
四、仿真波形图及分析
根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。但我们也可以发现输出SO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。
(二)全加器
二、实验任务要求
用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。
三、设计思路和过程 ◎设计思路
全加器与半加器的区别在于全加器有一个低进位CI ,从外部特性来看,它是一个三输入两输出的器件。
◎设计过程
SO ,向相邻高位进位数为CO 。
(2)根据真值表写出逻辑表达式:
CI BI AI SO ⊕⊕=,BI AI CI BI AI CO ⋅+⋅⊕=)(
根据逻辑表达式,可以知道只要在半加器的基础上再加入一个异或门、一个两输入与门和两输入或门即可实现全加器。
◎实验原理图
四、仿真波形图及分析
根据仿真波形对比全加器真值表,可以确定电路实现了全加器的功能。
(三)3线—8线译码器
二、实验任务要求
用3线—8线译码器(74LS138)和逻辑门设计实现函数
C
B
F+
A
+
+
=,仿真验证其功能,并下载到实验板测试。要求用拨C
A
CBA
B
A
B
C
码开关设定输入信号,发光二极管显示输出信号。
三、设计思路和过程
◎设计思路
74LS138是一个3线—8线的译码器,其输出为低电平有效,使能端G1为高电平有效,G2、G3为低电平有效,当其中一个为高电平,输出端全部为1。在中规模集成电路中译码器的几种型号里,74LS138使用最广泛。
要实现的函数用最小项表示如下:
F(C,B,A)=∑m(0,2,4,7)
只要将相应输出用一个四输入与非门实现即可。
◎注意
(1)74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门(因为每次仅一个为低电平,其余皆为高电平);
(2)74LS138与前面不同的是,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。
◎实验原理图
四、仿真波形图及分析
当且仅当ABC 输入为000、010、100、111时,F=1;可知电路实现了函数CBA A B C A B C A B C F +++=。
实验二
一、实验名称
VHDL 组合逻辑电路设计
(一)奇校验器
二、实验任务要求
用VHDL 语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输出为‘1’,否则输出为‘0’,仿真实现验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。
三、设计思路和过程 输入元素:a3,a2,a1,a0 输入
输出 a3 a2 a1 a0 b 0
四、VHDL程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY hy_check IS
PORT(
a: IN STD_LOGIC_VECTOR (3 downto 0);
b: OUT STD_LOGIC
);
end hy_check;
ARCHITECTURE hy_arch OF hy_check IS BEGIN
PROCESS(a)
BEGIN
CASE a IS
WHEN"0000" => b <='0';
WHEN"0001" => b <='1';
WHEN"0010" => b <='1';
WHEN"0011" => b <='0';
WHEN"0100" => b <='1';
WHEN"0101" => b <='0';
WHEN"0110" => b <='0';
WHEN"0111" => b <='1';
WHEN"1000" => b <='1';
WHEN"1001" => b <='0';
WHEN"1010" => b <='0';
WHEN"1011" => b <='1';
WHEN"1100" => b <='0';
WHEN"1101" => b <='1';
WHEN"1110" => b <='1';
WHEN"1111" => b <='0';
END CASE;
END PROCESS;
END;
五、仿真波形图及分析
根据仿真波形对比奇校验码的真值表,可以确定电路实现了奇校验器的功能。
(二)数码管译码器
二、实验任务要求
用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,7段数码管显示输出信号。
三、设计思路和过程
输入元素:A3—A0
输入输出