北邮数电实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京邮电大学

实验报告实验名称:数电电路与逻辑设计实验

学院:信息与通信工程学院

班级:

姓名:

学号:

班内序号:

日期:

一. 实验一:Quartus II 原理图输入法设计

1. 实验名称和实验任务要求

(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块 元。

(2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号入信号。

(3)用3线-8线译码器(74LS138)和逻辑门设计实现函数

F=A B C +A B C +A

B C +

A B C 。

2. 实验原理图及波形图

(1)半加器

(2)全加器

(3)74LS38

3.仿真波形图分析

(1)半加器:

输入为a,b,输出S,CO(进位)。

当ab都为0时,半加和s=0,进位端co=0。

当ab都为1时,半加和s=0,进位端co=1。

当a=1,b=0或a=0,b=1时,半加和s=1,进位端co=0。

(2)全加器:

输入a,b,输出S,CO(进位),ci(低进位)。

当a=0,b=0,ci=0,输出s=0,co=0。

当a=0,b=1或a=1,b=0又 ci=0,输出s=1,co=0。

当a=0,b=0,ci=1,输出s=1,co=0。

(3)74LS138

输入A,B,C,输出为3。

四个输出对应F中的四个最小项,Y0、Y2、Y4、Y7,以实现函数功能。

二.实验二:用 VHDL 设计与实现组合逻辑电路

1.实验名称和实验任务要求

(1)用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能。要求用拨码开关设定输入信号,7段数码管显示输出信号。

(2) 用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能。要求用拨码开关设定输入信号,发光二极管显示输出信号。

(3) 用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个’1’时,输出为’1’,否则输出’0’,仿真验证其功能。要求用拨码开关设定输入信号,发光二极管显示输出信号。

2.实验代码及波形图

(1)共阴极7段数码管译码器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY GUAN IS

PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

B:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

C:OUT STD_LOGIC_VECTOR(5 DOWNTO 0));

END GUAN;

ARCHITECTURE encoder_arch OF GUAN IS

BEGIN

PROCESS(A)

BEGIN

C<="011111";

CASE A IS

WHEN"0000"=> B<="1111110";--0

WHEN"0001"=> B<="0110000";--1

WHEN"0010"=> B<="1101101";--2

WHEN"0011"=> B<="1111001";--3

WHEN"0100"=> B<="0110011";--4

WHEN"0101"=> B<="1011011";--5

WHEN"0110"=> B<="1011111";--6

WHEN"0111"=> B<="1110000";--7

WHEN"1000"=> B<="1111111";--8

WHEN"1001"=> B<="1111011";--9

WHEN OTHERS=> B<="ZZZZZZZ";

END CASE;

END PROCESS;

END encoder_arch;

(2)8421码转换为余3码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY YUSAN IS

PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END YUSAN;

ARCHITECTURE trans_ex3 OF YUSAN IS

BEGIN

PROCESS(A)

BEGIN

CASE A IS

WHEN"0000"=> B<="0011"; WHEN"0001"=> B<="0100"; WHEN"0010"=> B<="0101"; WHEN"0011"=> B<="0110"; WHEN"0100"=> B<="0111"; WHEN"0101"=> B<="1000"; WHEN"0110"=> B<="1001"; WHEN"0111"=> B<="1010"; WHEN"1000"=> B<="1011"; WHEN"1001"=> B<="1100";

WHEN OTHERS=> B<="ZZZZ";

相关文档
最新文档