北邮数电实验分析报告-信息

  • 格式:docx
  • 大小:738.61 KB
  • 文档页数:18

下载文档原格式

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

北邮数电实验报告-信息

————————————————————————————————作者:————————————————————————————————日期:

数字电路与逻辑设计实验

姓名***

学院信息与通信工程学院

专业信息工程

班级***

学号****

班内序号***

实验一

一、实验名称和实验任务要求

1.实验内容:QuartusII原理图输入法设计与实现。

2.实验目的:

(1)熟悉用QuartusII原理图输入法进行电路设计和仿真。

(2)掌握QuartusII图形模块单元的生成与调用。

(3)熟悉实验板的使用。

3.实验任务要求:

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

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

号,发光二极管显示输出信号。

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

F=(/)(/)(/)+(/)(/)+(/)(/)+,仿真验证其功能,并下载到实

验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。

二、原理图

半加器模块和逻辑门设计实现的全加器:

三、仿真波形图及分析

电路实现了全加器的功能。全加器是实现两个1位二进制数及低位来的进位相加求得和数及向高位进位的逻辑电路。由其原理可得逻辑表达式:sum=ain⊕bin⊕cin

cout = (ain⊕bin)cin + ain*bin。

列出真值表:

输入输出

ain bin cin cout sum

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

仿真波形对比真值表,可以看出波形图与理论值完全符合。

四、故障及问题分析

1、问题:按照逻辑表达式连接了全加器电路后,仿真波形很乱。

解决方法:思考后知道了应该把输入信号依次设成2的n次方,这样的仿真波形清楚容易分析。

2、问题:把代码下载到板子上的过程中,进行到37%的时候停了,等了2分钟

也没继续下载。

解决方法:再次重连USB尝试下载,手紧握着接线口,下载成功了,分析可能是接线口接触不好。

实验二

一、实验名称和实验任务要求

1.实验内容:用VHDL设计与实现组合逻辑电路。

2.实验目的:

(1)熟悉用VHDL语言设计组合逻辑电路的方法。

(2)熟悉用QuartusII文本输入法进行电路设计。

3.实验任务要求:

(1)用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输出为‘1’,否则输出‘0’,仿真验证其功能,并下载到实验板测

试。要求用拨码开关设定输入信号,发光二极管显示输出信号。

(2)用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,

发光二极管显示输出信号。

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

二、VHDL代码

1.奇校验器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY jijiaoyanqi IS

PORT( A:STD_LOGIC;

B:STD_LOGIC;

C:STD_LOGIC;

D:STD_LOGIC;

F:OUT STD_LOGIC);

END jijiaoyanqi;

ARCHITECTURE one OF jijiaoyanqi IS

SIGNAL n1,n2 : STD_LOGIC;

BEGIN

n1<=A XOR B;

n2<=n1 XOR C;

F<=n2 XOR D; --异或,A⊕B⊕C⊕D

END one;

2.8421码转余3码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY basizhuanyu3 IS

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

B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END basizhuanyu3;

ARCHITECTURE zhuanyu3 OF basizhuanyu3 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";

END CASE;

END PROCESS;

END zhuanyu3;

3.数码管译码器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY shumaguanyimaqi 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 shumaguanyimaqi;

ARCHITECTURE shuma OF shumaguanyimaqi 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 shuma;