北邮数电实验报告信息
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。
仿真波形对比真值表,可以看出波形图与理论值完全符合。
四、故障及问题分析
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 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 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 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;
三、故障及问题分析
1、问题:代码写好以后编译出现错误,Error (10568): VHDL error at (17): can't
write to interface object "partout" of mode IN,由于报错指