EDA多功能彩灯 实验报告

  • 格式:doc
  • 大小:251.00 KB
  • 文档页数:12

下载文档原格式

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

黄冈师范学院物理科学与技术学院

《EDA技术》课程设计

题目:多功能彩灯设计

学号:************

*名:***

班级:电信0902

指导老师:**

2011-12-25——2011-12-27

一、实验目的

本程序以计算机为工作平台,综合运用EDA软件工具开发环境,用硬件描述语言VHDL为设计语言,以ASIC来实现载体的设计。通过在EDA中的编译、处理、仿真和调制分析,接受电子设计领域的初步训练,并使所学的知识和技能得到进一步巩固、深化和扩展,以达到可以运用EDA工具设计一些简单的电子产品,掌握使用EDA工具设计数字系统的设计思想和设计方法,为继续学习和认识电子设计知识打下良好的基础。

培养利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,积累实际的EDA编程。通过本课程设计的学习,复习所学的专业知识,使课堂学习的理论知识应用于实践。培养综合运用以学知识解决实际工程技术问题的能力,查阅图书资料和各种工程书的能力、工程绘图能力、撰写技术报告和编制技术资料的能力,接受一次电子设计自动化方面的基本训练。

二、设计要求

1,用EDA技术设计一个多功能彩灯控制器,使得彩灯(LED管)既能发出四种不同的花型(自拟),又能四种模式自动循环。具体选择由按键一控制。2,由按键二控制彩灯的频率,使得彩灯可以二分频、四分频、八分频。

3,要求7段数码管显示当前显示的花型和用的是几分频,如是二分频,则数码管一显示2;显示花型二,则数码管二显示2。

三、总体设计原理与内容

3.1彩灯控制器放入设计原理分析:

此设计的要求是连续发出四种花型且用数码管显示。由此可知:要发出不同的花型,必须要由不同的输出频率来实现,所以应该要由一个分频器。分频器部分的设计是利用计数器实现分频,将控制器的外接频率分为几个我们预先设计的值,即产生一个上升沿,从而实现分频。显示部分的设计是利用分频器产生的低频信号计数,从而达到分频的目的。利用分频器输出的不同信号,可以控制彩灯显示不同的花型。

四、设计环境

QuartusⅡ简介

QuartusⅡ是Altera公司提供的FPGA/CPLD集成开发软件,Altera是世界上最大的可编程逻辑器件供应商之一。 QuartusⅡ在21世初推出,是Altera 全一代FPGA/CPLD集成开发软件MAX+plus II的更新换代产品,其界面友好,使用便捷。在QuartusⅡ上可以完成设计输入、HDL综合、布新布局(适配)、仿真和选择以及硬件测试等流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、开始处理和器件编程。

QuartusⅡ提供了完整的多平台设计环境,能满足各种特定设计的需求,也是单片机可编程系统(SoPC)设计的综合环境和SoPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。QuartusⅡ设计完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus Ⅱ与可用利用第三方的综合工具(如Leonardo Spectrum、Synplify Pro、FPGA Complier II),并能直接调用这些工具。

同样 QuartusⅡ具备仿真功能,同时支持第三方的仿真工具(如ModelSin)。此外, QuartusⅡ与MATLAB和DSP Builder结合,可用进行基于FPAG的DSP 系统开发,是DSP硬件系统实现的工具EDA工具。

五、多功能彩灯设计

5.1 .1分频控制电路的VHDL设计及实现

程序如下:

LIBRARY IEEE;

USE IEEE.std_logic_1164.ALL;

USE IEEE.std_logic_unsigned.ALL;

ENTITY SX IS

PORT(CLK:IN STD_LOGIC;

K:IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK_OUT:OUT STD_LOGIC);

END SX;

ARCHITECTURE bhv OF SX IS

SIGNAL Q :STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

PROCESS(K)IS

BEGIN

CASE K IS

WHEN "0000"=> Q <="00000001";--2分频

WHEN "0001"=> Q <="00000011";--4分频

WHEN "0010"=> Q <="00000111";--8分频

WHEN "0011"=> Q <="00001111";--16分频

WHEN "0100"=> Q <="00011111";--32分频

WHEN "0101"=> Q <="00111111";--64分频

WHEN "0110"=> Q <="01111111";--128分频

WHEN "0111"=> Q <="11111111";--256分频

WHEN OTHERS=> Q <="00000001";

END CASE;

END PROCESS;

PROCESS (CLK,Q)

V ARIABLE QA:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

IF CLK'EVENT AND CLK='1' THEN

IF QA=Q THEN QA:="00000000";CLK_OUT<='1';

ELSE QA:=QA+1; CLK_OUT<='0';

END IF;

END IF;

END PROCESS;

END BHV;

5.1.2分频控制电路封装图