北邮数电实验分析报告-信息
- 格式:docx
- 大小:738.61 KB
- 文档页数:18
北邮数电实验报告-信息
————————————————————————————————作者:————————————————————————————————日期:
数字电路与逻辑设计实验
姓名***
学院信息与通信工程学院
专业信息工程
班级***
学号****
班内序号***
实验一
一、实验名称和实验任务要求
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;