2016年度北邮数电实验报告

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

数字电路与逻辑设计

实验报告

学院:电子工程学院

班级:

姓名:

学号:

班内序号:

目录(一)实验名称及实验任务要求·1 (二)模块端口说明及连接图·2

1.1实验三(3)模块端口说明·2

1.2实验三(3)连接图·2

2.1实验四模块端口说明·2

2.2实验四连接图·2

(三)原理图或VHDL代码·3

1.实验一(2)原理图·3

2.实验三(3)VHDL代码·4

3.实验四VHDL代码·7(四)仿真波形·10

1.实验一(2)仿真波形·10

2.实验三(3)仿真波形·11

3.实验四仿真波形·11

(五)仿真波形分析·11

1.实验一(2)仿真波形分析·11

2.实验三(3)仿真波形分析·11

3.实验四仿真波形分析·11(六)故障及问题分析·12

(七)总结和结论·13

(一)实验名称及实验任务要求

实验一

名称:QuartusII原理图输入法设计与实现

实验任务要求:EDA基础实验1(1)、(2)、(3)必做,选做VHDL 实现加法器。

实验二

名称:用VHDL设计与实现组合逻辑电路

实验任务要求:四人表决器、8421码转格雷码、数码管译码器(下载测试)。

实验三

名称:用VHDL设计与实现时序逻辑电路

实验任务要求:分频器、8421十进制计数器、将分频器/8421十进制计数器/数码管译码器3个电路进行连接并下载。

实验四

名称:用VHDL设计与实现相关电路

实验任务要求:数码管动态扫描控制器、点阵扫描控制器。

(二)模块端口说明及连接图

1.1实验三(3)模块端口说明

cp:时钟信号输入;

rst:8421十进制计数器异步置位;

c[6...0]:七段二极管数码管显示;

cat[7...0]:数码管显示。

1.2实验三(3)连接图

2.1实验四模块端口说明

cp:时钟信号输入;

rst:8421计数器异步复位;

lgt[6...0]:七段二极管数码管显示;

cat[7...0]:数码管显示。

2.2实验四连接图

(三)原理图或VHDL代码

1.实验一(2)原理图

半加器:

全加器:

2.实验三(3)VHDL代码

//分频器部分

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

entity div_12 is

port

(

cp: in std_logic;

clk1: out std_logic

);

end div_12;

architecture a of div_12 is

signal tmp: integer range 0 to 11;

begin

process (cp)

begin

if (cp'event and cp='1') then

if tmp=11 then tmp<=0;

else tmp<=tmp+1;

end if;

if tmp<=5 then clk1<='0';

else clk1<='1';

end if;

end if;

end process;

end a;

//8421十进制加法器部分

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity jisuqi8421 is

port

(

clk2,rst: in std_logic;

q : out std_logic_vector(3 downto 0)

);

end jisuqi8421;

architecture a of jisuqi8421 is

signal q_temp:std_logic_vector (3 downto 0); begin

process(clk2,rst)

begin

if (rst='1') then

q_temp<="0000";

elsif (clk2'event and clk2='1') then

if q_temp>="1001" then q_temp<="0000";

else

q_temp<=q_temp+1;

end if;

end if;

end process;

q<=q_temp;

end a;

//译码管部分

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY yimaguan IS

PORT(

a: IN STD_LOGIC_VECTOR (3 downto 0);

b: OUT STD_LOGIC_VECTOR (6 downto 0);

cat: out std_logic_vector(7 downto 0)

);

end yimaguan;

相关文档
最新文档