实验三 基于Quartus II的硬件描述语言电路设计

loading 分享 2026-7-25 下载文档

实验三 基于Quartus II的硬件描述语言电路设计 1、 实验要求

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

用Quartus II波形仿真验证;下载到DE0开发板验证。 (2)熟悉中规模器件译码器的逻辑功能,用硬件描述语言。实现其设计。参考“参考内容2”中给出的将8421BCD码转换成0-9的七段码译码器源程序,编写一个将二进制码转换成0-F的七段码译码器。

用Quartus II波形仿真验证;下载到DE0开发板,利用开发板上的数码管验证。

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

用Quartus II波形仿真验证;下载到DE0开发板验证。 (4)熟悉分频电路的逻辑功能,并用硬件描述语言实现其设计。参考“参考内容4”中给出的50M分频器的源程序,编写一个能实现占空比50%的5M和50M分频器即两个输出,输出信号频率分别为10Hz和1Hz。

下载到DE0开发板验证。

(5)扩展内容:利用已经实现的VLDH模块文件,采用原理图方法,实现0-F计数自动循环显示,频率10Hz。 2、实验内容

(1)异或门逻辑的VHDL源文件

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY exa3_1 IS

PORT(A,B:IN STD_LOGIC; C:OUT STD_LOGIC); END exa3_1;

ARCHITECTURE fwm OF exa3_1 IS BEGIN

C<=A XOR B; END;

(2)二进制码转换为0-F七段码译码器的VHDL源文件

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY exa3_2 IS

PORT(data_in:IN STD_LOGIC_VECTOR(3 DOWNTO 0); dis_out:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END exa3_2;

ARCHITECTURE fwm OF exa3_2 IS BEGIN

PROCESS(data_in) BEGIN

CASE data_in IS

WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\

WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ END CASE; END PROCESS; END fwm;

(3)计数器的VHDL的源代码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY jishuqi_jia IS PORT(clk,RST:IN STD_LOGIC;

DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); COUT:OUT STD_LOGIC); END jishuqi_jia;

ARCHITECTURE fwm OF jishuqi_jia IS SIGNAL Q1:STD_LOGIC_VECTOR(3 DOWNTO 0);

--SIGNAL dis_out:STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL clk1:STD_LOGIC;

CONSTANT m:INTEGER:=25000000;--1Hz BEGIN

PROCESS(clk,clk1,RST)

VARIABLE cout1:INTEGER:=0; BEGIN

IF clk'EVENT AND clk='1'THEN cout1:=cout1+1;

IF cout1<=m THEN clk1<='0';

ELSIF cout1<=m*2 THEN clk1<='1'; ELSE cout1:=0; END IF; END IF;

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

IF Q1>=\THEN Q1<=(OTHERS=>'0');COUT<='1'; END IF; END IF; CASE Q1 IS

WHEN\

WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\WHEN\END CASE; END PROCESS; --DOUT<=dis_out; END fwm;

(4)分频器的VHDL的源代码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY exa3_4 IS

PORT(clk1:IN STD_LOGIC; clk_out1:OUT STD_LOGIC); END exa3_4 ;

ARCHITECTURE fwm OF exa3_4 IS

CONSTANT m1 : INTEGER:= 25000000; SIGNAL tmp1 :STD_LOGIC;

BEGIN

PROCESS(clk1,tmp1)

VARIABLE cout : INTEGER:=0; BEGIN

IF clk1'EVENT AND clk1='1' THEN cout:=cout+1;

IF cout<=m1 THEN tmp1<='0';

ELSIF cout

END PROCESS; clk_out1<=tmp1;


实验三 基于Quartus II的硬件描述语言电路设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 实验三 基于Quartus II的硬件描述语言电路设计 的文档
相关推荐
相关阅读