实验3 基于硬件描述语言的电路设计

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

实验3 基于硬件描述语言的电路设计

一、实验目的

1 、了解可编程数字系统设计的流程;

2 、掌握Quartus II 软件的使用方法;

3 、掌握采用硬件描述语言设计数字系统的方法和流程。

二、实验设备

1、计算机:Quartus II 软件

2、Altera DE0

三、实验内容

要求1:学习并掌握硬件描述语言(VHDL或Verilog HDL);熟悉门电路的逻辑功能,并用硬件描述语言实现门电路的设计。参考“参考内容1”中给出的与门源程序,编写一个异或门逻辑电路。

1)用QuartusII波形仿真验证;

2)下载到DE0开发板验证。

要求2:熟悉中规模器件译码器的逻辑功能,用硬件描述语言实现其设计。参考“参考内容2”中给出的将8421BCD码转换成0-9的七段码译码器源程序,编写一个将二进制码转换成0-F 的七段码译码器。

1)用QuartusII波形仿真验证;

2)下载到DE0开发板,利用开发板上的数码管验证。

要求3:熟悉时序电路计数器的逻辑功能,用硬件描述语言实现其设计。参考“参考内容3”中给出的四位二进制加减计数器的源程序,编写一个计数器。

1)用QuartusII波形仿真验证;

2)下载到DE0开发板验证。

要求4:熟悉分频电路的逻辑功能,并用硬件描述语言实现其设计。参考“参考内容4”中给出的50M分频器的源程序,编写一个能实现占空比50%的5M和50M分频器即两个输出,输出信号频率分别为10Hz和1Hz。

1)下载到DE0开发板验证。(提示:利用DE0板上已有的50M晶振作为输入信号,通过开发板上两个的LED灯观察输出信号)。电路框图如下:

四、实验结果

1、用硬件描述语言(VHDL 或Verilog HDL)实现一个异或门电路。

VHDL源程序:

Library ieee;

use ieee.std_logic_1164.all;

entity vhdl is

port(A,B:IN std_logic;C:OUTstd_logic);

END vhdl;

Architecture fwm of vhdl is

begin

C<=A XOR B;

END;

波形图:

引脚对应表

2、用硬件描述语言实现将四位二进制码转换成0-F 的七段码译码器。VHDL源文件:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY digital IS

PORT (data_in:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

dis_out:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END digital;

ARCHITECTURE fwm OF digital IS

BEGIN

PROCESS(data_in)

BEGIN

CASE data_in IS

WHEN"0000"=>dis_out<="1000000";--显示0

WHEN"0001"=>dis_out<="1111001";--显示1

WHEN"0010"=>dis_out<="0010010";--显示2

WHEN"0011"=>dis_out<="0000110";--显示3

WHEN"0100"=>dis_out<="0001101";--显示4

WHEN"0101"=>dis_out<="0100100";--显示5

WHEN"0110"=>dis_out<="0100000";--显示6

WHEN"0111"=>dis_out<="1001110";--显示7

WHEN"1000"=>dis_out<="0000000";--显示8

WHEN"1001"=>dis_out<="0000100";--显示9

WHEN"1010"=>dis_out<="0001000";--显示A

WHEN"1011"=>dis_out<="0100001";--显示b

WHEN"1100"=>dis_out<="1110000";--显示C

WHEN"1101"=>dis_out<="0000011";--显示d

WHEN"1110"=>dis_out<="0110000";--显示E

WHEN"1111"=>dis_out<="0111000";--显示F

WHEN OTHERS=>dis_out<="1111111";--灭灯,不显示

END CASE;

END PROCESS;

END fwm;

波形图:

引脚对应表:

3、用硬件描述语言实现四位二进制加法或减法计数器,并用一位7段码显示减法计数器

VHDL源文件

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY EX3 IS

PORT ( clk,RST,MLZ : IN STD_LOGIC;

DOUT : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); COUT : OUT STD_LOGIC);

END EX3;

ARCHITECTURE fwm OF EX3 IS

SIGNAL Q1 : STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN

PROCESS(clk,RST,Q1,MLZ)

BEGIN

IF RST ='0' THEN Q1<=(OTHERS =>'0');COUT<='0'; ELSIF clk'EVENT AND clk='1' THEN

IF MLZ='0' THEN

Q1<=Q1+1;

COUT<='0';

IF Q1 >="1111"THEN Q1<=(OTHERS =>'0');COUT<='1'; END IF;

ELSIF MLZ='1' THEN

Q1<=Q1-1;

COUT<='0';

IF Q1 <="0000"THEN Q1<=(OTHERS =>'1');COUT<='1'; END IF;

END IF;

END IF;

END PROCESS;

DOUT<=Q1 ;

END fwm;

减法计数器波形图:

引脚对应表CLK对应开发板上的G21引脚

相关文档
最新文档