北邮数电实验报告-信息

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 窗口也没有显示有硬件接入。

相关文档
最新文档