北邮数电实验报告-信息
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北邮数电实验报告■信息
!掠玄卑堂走
皐
数字电路与逻辑设计实验班内序号
姓学专班学
***
院信息与通信工程学院
信息工程
***
****
班内序号
实验一
一、实验名称和实验任务要求
1. 实验内容:Quartusll原理图输入法设计与实现。
2. 实验目的:
(1)熟悉用Quartusll原理图输入法进行电路设计和仿真。
(2)掌握Quartusll图形模块单元的生成与调用。
(3)熟悉实验板的使用。
3. 实验任务要求:
(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图像模块。
(2)用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板上测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。
(3)用3线一8线译码器(74LS138)和逻辑门实现函数
F=(/?5(/??(/??+(/????/??+??7??(/??+????,?仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。
、原理图
半加器模块和逻辑门设计实现的全加器:
三、仿真波形图及分析
sum=ain ® bin ® cin
cout = (ain ® bin) cin + ain*bin 。
列出真值表:
仿真波形对比真值表,可以看出波形图与理论值完全符合。
四、故障及问题分析
1、问题:按照逻辑表达式连接了全加器电路后,仿真波形很乱。
解决方法:思考后知道了应该把输入信号依次设成2的n次方,这样的仿真波形清楚容易分析。
2、问题:把代码下载到板子上的过程中,进行到37%的时候停了,等了2分钟
也没继续下载。
解决方法:再次重连USB尝试下载,手紧握着接线口,下载成功了,分析可能是接线口接触不好。
实验二
、实验名称和实验任务要求
1. 实验内容:用VHDL设计与实现组合逻辑电路。
2. 实验目的:
(1)熟悉用VHDL语言设计组合逻辑电路的方法。
(2)熟悉用Quartusll文本输入法进行电路设计。
3. 实验任务要求:
(1)用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个‘ 1' 时,输出为‘ 1',否则输出‘ 0',仿真验证其功能,并下载到实验板测试。要求用拨码开关
设定输入信号,发光二极管显示输出信号。
(2)用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出
信号。
(3)用VHDL 语言设计实现一个共阴极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"; 仿真验证其
7 段数码
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_116
4.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;
三、故障及问题分析
1、问题:代码写好以后编译出现错误,Error (10568): VHDL error at
jijiaoyanqi.vhd(17): can't write to interface object "partout" of mode IN,
由于报错指到了第17行F<=n2 XOR D;导致我开始的时候没意识到这是哪里
的错误。
解决方法:在百度查了以后发现是F:OUT STD_LOGIC); 这句我写成了
F:IN STD_LOGIC); 以后要注意少犯这些马虎的错误。
2、问题:把代码下载到板子上的过程中,再次出现了第一节课出现的下载停止
的问题,再次尝试后也没有下载成功,第三次接线的时候等了好久,Hardware
Setup 窗口也没有显示有硬件接入。