VHDL课程设计多路彩灯控制器

合集下载

计算机组成原理课程设计报告基于vhdl的彩灯控制器设计与实现

计算机组成原理课程设计报告基于vhdl的彩灯控制器设计与实现

长沙理工大学《计算机组成原理》课程设计报告学院计算机与通信工程专业网络工程班级网络工程08-02 学号******学生姓名**** 指导教师**课程成绩完成日期2010年12月31日课程设计任务书计算机与通信工程学院网络工程专业课程设计成绩评定学院计算机通信工程专业网络工程班级网络08-01 班学号**********学生姓名**** 指导教师**课程成绩完成日期2010年12月31日指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见目录任务书 (2)摘要 (5)Abstract (6)1引言 (7)1.1VHDL技术介绍 (7)1.2其他技术特征 (8)2十六路彩灯控制系统的实现十六路彩灯控制器的实现 (9)2.1 功能描述 (9)2.2 设计原理 (9)3模块设计及其功能 (10)3.1 子模块及功能 (10)4 程序下载与测试 (13)4.1 下载 (13)4.2 硬件测试 (14)5结论 (14)参考文献 (15)附录 (16)多路彩灯控制器的设计[摘要]随着科技的发展 , 在现代生活中, 彩灯作为一种景观应用越来越多。

现介绍了以VHDL为基础的十六路彩灯控制系统。

同时减少了设计芯片的数量、缩小了体积、降低了功耗、提高了设计的灵活性、可靠性和可扩展性。

在电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。

本文介绍了基于EDA技的多路彩灯控制器的设计与分析。

在MAX+PLUSII环境下采用VHDL语言实现,论述了基于VHDL语言和CPLD芯片的数字系统设计思想和实现过程。

电子设计自动化技术EDA的发展给电子系统的设计带来了革命性的变化,EDA软件设计工具,硬件描述语言,可编程逻辑器件(PLD)使得EDA技术的应用走向普及。

用VHDL设计十六路彩灯控制器

用VHDL设计十六路彩灯控制器
EL SE Y< ’1’;
W H EN O f= > IF Q cl= ’0’ TH EN cu rren t- sta te< = Q f;
EL SE K1<‘0’; K2<‘1’; K3< =‘1’; K5< =‘0’; K6< =‘1’; cu rren t- sta te< = Q g;
参考文献
[ 1 ]D So lom on, R R ank in s 著, SQL Server6. 5 开发指南, 清 华大学出版社, 1998: 179- 234
[ 2 ]微软公司著, 希望图书创作室译,M icro soft SQL Server6. 5 T ran sact- SQL 参数手册, 宇航出版社, 1998: 111- 172
A RCH IT ECTU R E con tro ll- a rc O F con tro ll IS
K4< = ’1’; K6< = ’0’;
S IGNAL cu rren t- sta te: sta te: = Q a
END IF;
B EG IN
PRO CESS
B EG IN W A IT U N T IL CL K=‘1‘AND CL K’EV EN T; IF S=‘0’TH EN Y < ‘0’;
EL SE cu rren t- sta te< Q f;
图 2 仿真波形
(下转第 36 页)
·31·
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
M icrocom puter Appl ica tion s Vol. 17, No. 5, 2001 开发应用 微型电脑应用 2001 年第 17 卷第 5 期

彩灯控制电路设计与实现(VHDL编程)

彩灯控制电路设计与实现(VHDL编程)

实验名称:彩灯控制电路设计与实现实验任务要求:用VHDL 语言设计并实现一个彩灯控制电路,仿真并下载验证其功能。

彩灯有两种工作模式 ,可通过拨码开关或按键进行切换。

(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复设计思路和过程:可以将两种模式分开设计,再用一个控制钮进行切换。

两种模式本质一样,都是循环点亮灯。

可以用状态机设计。

首先明确设计对象的外部特征,输入信号只有时钟信号cp 和切换按钮此处取a;输出为检测的八个彩灯亮暗。

根据设计对象的操作控制步来确定有限状态机的状态。

取初始状态为s0,第一种模式共有14种状态循环,因而可取状态s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13;第二种模式有八种状态,可共用第一种模式中的前八种状态,即为s0,s1,s2,s3,s4,s5,s6,s7。

根据题目要求的循环可以写出各个状态的下一状态,写完整个循环为止。

切换按钮可以用一个If 来总领。

单点移动模式:S0 S5S13 S7S8 S9 S10 S11 S1 S2 S3 S4S12 S6幕布式:流程图:彩灯电路设计语言:library ieee;use ieee.std_logic_1164.all;entity pmd isport(a,cp:in std_logic; %输入信号deng: out std_logic_vector(7 downto 0) %输出灯信号);end pmd;architecture arch of pmd istype all_state is (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13);%枚举状态机状态 S0 S7 S6 S1 S5 S4S2 S3signal state:all_state; %状态转换符号begin %开始程序process(cp)beginif (cp'event and cp='1')then %时钟信号开始计数if(a='1')then %单点循环模式case state iswhen s0=> state<=s1;deng<="00000001"; %状态循环when s1=> state<=s2;deng<="00000010";when s2=> state<=s3;deng<="00000100";when s3=> state<=s4;deng<="00001000";when s4=> state<=s5;deng<="00010000";when s5=> state<=s6;deng<="00100000";when s6=> state<=s7;deng<="01000000";when s7=> state<=s8;deng<="10000000";when s8=> state<=s9;deng<="01000000";when s9=> state<=s10;deng<="00100000";when s10=> state<=s11;deng<="00010000";when s11=> state<=s12;deng<="00001000";when s12=> state<=s13;deng<="00000100";when s13=> state<=s0;deng<="00000010";when others =>state<=s0;deng<="00000000";end case;Else %切换为幕布式case state iswhen s0=> state<=s1;deng<="00011000";when s1=> state<=s2;deng<="00111100";when s2=> state<=s3;deng<="01111110";when s3=> state<=s4;deng<="11111111";when s4=> state<=s5;deng<="01111110";when s5=> state<=s6;deng<="00111100";when s6=> state<=s7;deng<="00011000";when s7=> state<=s0;deng<="00000000";when others =>state<=s0;deng<="00000000";end case;end if;end if;end process; end arch;输入波形:添加五十分频后的仿真程序:library ieee;use ieee.std_logic_1164.all;entity cd isport(a,clk:in std_logic;q: out std_logic_vector(7 downto 0));end cd;architecture a of cd istype all_state is (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13);signal state:all_state;signal cnt : integer range 0 to 24999999; %50分频状态signal clk_tmp : std_logic;beginprocess(clk)Begin %开始运行分频信号if (clk'event and clk='1') thenif cnt=24999999 thencnt<=0;clk_tmp<= not clk_tmp;elsecnt<=cnt+1;end if;end if;if (clk_tmp'event and clk_tmp='1')then %分频后运行彩灯程序if(a='1')thencase state iswhen s1=> state<=s2;q<="00000010";when s2=> state<=s3;q<="00000100";when s3=> state<=s4;q<="00001000";when s4=> state<=s5;q<="00010000";when s5=> state<=s6;q<="00100000";when s6=> state<=s7;q<="01000000";when s7=> state<=s8;q<="10000000";when s8=> state<=s9;q<="01000000";when s9=> state<=s10;q<="00100000";when s10=> state<=s11;q<="00010000";when s11=> state<=s12;q<="00001000";when s12=> state<=s13;q<="00000100";when s13=> state<=s0;q<="00000010";when others =>state<=s0;q<="00000000";end case;elsecase state iswhen s0=> state<=s1;q<="00011000";when s1=> state<=s2;q<="00111100";when s2=> state<=s3;q<="01111110";when s3=> state<=s4;q<="11111111";when s5=> state<=s6;q<="00111100";when s6=> state<=s7;q<="00011000";when s7=> state<=s0;q<="00000000";when others =>state<=s0;q<="00000000";end case;end if;end if;end process;end a;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity cd isport(a,clk:in std_logic;q: out std_logic_vector(7 downto 0));end cd;architecture a of cd istype all_state is (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13); signal state:all_state;beginprocess(clk)beginif (clk'event and clk='1') thenif(a='1') thencase state iswhen s0=> state<=s1;q<="00000001";when s1=> state<=s2;q<="00000010";when s2=> state<=s3;q<="00000100";when s3=> state<=s4;q<="00001000";when s4=> state<=s5;q<="00010000";when s5=> state<=s6;q<="00100000";when s6=> state<=s7;q<="01000000";when s7=> state<=s8;q<="10000000";when s8=> state<=s9;q<="01000000";when s9=> state<=s10;q<="00100000";when s10=> state<=s11;q<="00010000";when s11=> state<=s12;q<="00001000";when s12=> state<=s13;q<="00000100";when s13=> state<=s0;q<="00000010";when others =>state<=s0;q<="00000000";end case;elsecase state iswhen s0=> state<=s1;q<="00011000";when s1=> state<=s2;q<="00111100";when s2=> state<=s3;q<="01111110";when s3=> state<=s4;q<="11111111";when s4=> state<=s5;q<="01111110";when s5=> state<=s6;q<="00111100";when s6=> state<=s7;q<="00011000";when s7=> state<=s0;q<="00000000";when others =>state<=s0;q<="00000000";end case;end if;end if;end process;end a;故障及问题分析:1.编写这个程序时,很自然地想到用一个输入信号控制两种模式的切换,但把这个输入放在哪里,如何放,开始出现了几种想法。

基于Verilog-HDL的彩灯控制器

基于Verilog-HDL的彩灯控制器

彩灯控制的设计(CPLD/FPGA课程设计)CPLD/FPGA课程设计项目名称基于FPGA的彩灯控制专业班级学生学号学生姓名指导教师XXXX年X 月XX 日(CPLD/FPGA课程设计)摘要本课程设计提出基于FPGA的彩灯控制器的设计与分析,设计由分频器模块,数据选择器模块,彩灯控制模块组成,基本原理是通过分频器产生不同频率时钟信号,表示彩灯显示的快慢,然后通过数据选择器进行选择,进而通过彩灯花型控制器显示不同种类的彩灯花型。

本设计运用运用Verilog HDL语言在Modelsim软件上进行了实验程序的编译和波形的仿真,具有代码简单易懂,功能易实现的特点,通过不断地调试和代码的多次完善,最终实现完整的彩灯控制器,达到了自主设计逻辑电路的水平。

关键词:彩灯控制;Verilog HDL语言;Modelsim软件AbstractThe curriculum design is proposed based on FPGA octal lantern controller design and analysis, design by the frequency divider module, data selector module lantern control module, the basic principle is through a frequency divider generated clock signal with different frequency and express the lantern display of speed, then through the data selector, and then through the lantern flower type controller display lights in different kinds of flowers. This design by using Verilog HDL language in the Modelsim software of experimental program compiling and waveform simulation, with easy to understand code, function is easy to realize the characteristics by continuous debugging and code improved several times, and ultimately complete the lantern controller, up to the level of the independent design of logic circuit.Keywords:The lantern controller;Verilog HDL language ;The Modelsim software目录摘要 (I)Abstract (III)第一章绪论 (1)1.1 课题背景 (1)1.2 彩灯控制的实际研究意义 (3)第二章彩灯控制相关模块的设计以及原理 (4)2.1 总体设计 (4)2.1.1 方案比较 (4)2.1.2 方案论述 (5)2.1.3 方案选择 (5)2.2 相关模块 (5)2.2.1 时钟信号模块 (5)2.2.2 节拍快慢控制模块 (6)2.2.3 彩灯控花型控制模块 (6)第三章彩灯控制的软件程序设计 (8)3.1 Modelsim软件介绍 (8)3.2 彩灯控制程序设计 (9)3.2.1 分频器程序 (9)3.2.2 数据选择器程序 (10)3.2.3 彩灯花样程序 (11)第四章仿真调试 (13)4.1 仿真过程 (13)4.2 仿真结果 (15)结论 (19)参考文献 (20)附录 (21)致谢 (28)第一章绪论1.1 课题背景1. FPGAFPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。

基于VHDL实现多路彩灯控制器设计应用

基于VHDL实现多路彩灯控制器设计应用

基于VHDL实现多路彩灯控制器设计应用关键词:VHDL 彩灯控制07通信工程本科班沈治文摘要:设计一个彩灯控制程序器。

可以实现四种花型循环变化,有复位开关。

整个系统共有三个输入信号CLK,RST,Sel,八个输出信号控制八个彩灯。

时钟信号CLK脉冲由系统的晶振产生。

各种不同花样彩灯的变换由Sel控制.此彩灯控制系统设定有四种花样变化,这四种花样可以进行切换,四种花样分别为:(1) 彩灯从左到右逐次闪亮。

(2)彩灯从左向右逐次点亮,且亮后不熄灭。

(3) 彩灯两边同时亮两个,然后逐次向中间点亮。

(4) 全部彩灯亮与熄灭交替。

Abstract: The design of a control program Lantern device. Four kinds of flowers can be achieved circulation change, reset switch. The whole system has three input signals CLK, RST, Sel, 8 output signal control 8 lights. The clock signal CLK pulses generated by the system of the crystal. Lanterns of different patterns of transformation controlled by Sel. The lights control system configuration there are four patterns change, four kinds of patterns can be switched, four kinds of patterns are as follows:(1) successive flashing lights from left to right.(2) successive lantern lit from left to right, and the light is not extinguished after.(3) The two bright lights on both sides at the same time, and then successively to the center light.(4) All lights turn bright and quenching在日常生活中,为了增加聚会或是过节氛围,经常要使用到彩灯循环点亮。

基于vhdl语言的十六路彩灯控制器设计说明书

基于vhdl语言的十六路彩灯控制器设计说明书

1 引言VHDL(Very Higll Speed Integrated Circuit Hardware Description Language)即超高速集成电路硬件描述语言。

它是20世纪70年代和80年代初由美国国防部为其超高速集成电VHSIC计划提出的,支持硬件的设计、综合、验证和测试,主要用于描述数字系统的行为、结构、功能和接口[1],也是一种应用较为广泛的HDL语言,能对范围广泛的各种复杂的网络(如电路系统、印刷电路板、芯片、逻辑门等)在不同的抽象级加以描述,而且在整个设计过程中可使用同一种语言。

采用VHDL作为HDL综合设计的优点有:标准语言,即设计者可在不同的环境(例如MAX PLUS II)下进行设计;仿真和综合均可采用同一种语言进行;VHDL中提供的大量的模块资源,简化了设计者的开发工作;由VHDL描述的源文件既是程序软件又可作为设计的文档。

每当夜幕降临,街上的彩灯便发出形态各异、色彩斑斓的耀眼光芒,尤其是节假日,主要干道更是彩灯齐放,烘托出浓厚的节日气氛.现代舞台上彩灯的闪烁越发引人注目,更容易使人陶醉在欢乐的海洋中.彩灯装置多种多样[2],本文在设计中采用EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现十六路彩灯控制器的设计,利用MAXPLUS II集成开发环境进行综合、仿真,并下载到CPLD可编程逻辑器件中,完成系统的控制作用。

1.1课程设计背景随着电子技术的发展, 应用系统向着小型化、快速化、大容量、重量轻的方向发展,EDA (Electronic Design Automatic) 技术的应用引起电子产品及系统开发的革命性变革。

VHDL 语言作为可编程逻辑器件的标准语言描述能力强, 覆盖面广,抽象能力强, 在实际应用中越来越广泛。

在这个阶段,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。

课程设计报告—多路彩灯控制器

课程设计报告—多路彩灯控制器

课程设计报告—多路彩灯控制器一、项目介绍多路彩灯控制器是一款具有多种颜色控制功能的控制器,可以实现多种灯光图案的显示。

它的主要功能是控制多脚灯泡的变化和状态,使其产生不同颜色的灯光,构成不同的图案或者变换模式。

二、主要功能1.控制部件:该控制器采用通用数字微处理器作为控制元件,它可以控制多种灯光,包括白色、红色、绿色和蓝色等,还可以同时控制多个LED,实现不同灯光图案的显示。

2.控制算法:在算法上,多路彩灯控制器采用“时序控制”算法,它可以控制灯泡在某一秒内的时间序列,从而实现不同图案的表现效果。

3.连接部件:它还具有外界输入部件,可以连接电脑,便于使用者设计和控制灯光图案,也可以更改和重置控制器,以设计新的灯光图案。

三、困难点1.多灯光多变显示:多路灯光的多变显示要求控制器具有良好的时序管理能力,以及良好的判断力,能够实时根据外部特征环境、光源特性等,控制灯泡成某种特定的灯光图案。

2.多模式控制:多模式控制要求控制器具有嵌入式内部控制算法,以实现不同的相关控制功能。

3.可视化编程:多模式控制还要求可视化编程,使用者可以通过可视化编程界面来设计灯光图案。

四、实现方案1.硬件系统:由数字微处理器、多路输出控制器、LED灯光、外界输入部件(如按键、鼠标、USB 等)等组成。

2.控制软件:控制程序和用户界面设计,将硬件设计和实现,以及灯光显示软件结合起来,实现灯光图案的控制。

五、总结多路彩灯控制器的主要功能是控制灯泡在某一秒内的时序变化,以及实现多种灯光图案的显示。

它的实现方案主要由硬件系统、控制软件和外界输入组成,它的主要困难点包括多灯光多变显示、多模式控制和可视化编程等。

自-基于VHDL的多路彩灯控制论文

自-基于VHDL的多路彩灯控制论文

开放实验报告题目:ﻩ基于VHDL的多路彩灯控制系统班级:学号:姓名:指导教师:时间:2010年6月30日基于VHDL的多路彩灯控制系统一、设计目的熟悉VHDL的设计方法,掌握VHDL的设计思想,了解VHDL向芯片的下载和测试,建立完整系统设计的概念。

二、设计要求八路彩灯控制系统设定有四种花样变化,这四种花样可以进行自动切换,且每种花样可以选择不同的频率,可以清零和暂停。

四种花样分别为:1.全亮,全灭,给、一个点亮。

2.从左到右一次点亮。

3.从左到右依次熄灭。

4.从两边向中间再向两边依次点亮。

三、设计原理用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。

应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。

在电路中以1代表灯亮,以0代表灯灭,由0、1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。

在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。

四、设计方案首先应进行系统模块的划分,规定每一模块的功能以及各个模块之问的接口。

设计方案为:一个四分频输出分频器,一个彩灯花样模式选择器,一个清零控制器,一个暂停控制器。

子模块及其功能:本次设计分为四个子模块,即八路彩灯花样控制器、四频率输出分频器,暂停控制器和清零控制器,其子模块及其功能如下:(1)四频率输出分频器:在本次设计中,我们只设计了四种花样,我们要求这四种花样以不同的频率显示,而只有一个输入的时钟信号,所以我们对所输入的时钟信号进行2分频、4分频、8分频、16分频,得到四种频率信号。

(2)清零控制器,当清零生效时,将每个灯输入低电平。

(3)暂停控制器:通过控制时钟信号来控制电路是否工作,当工作时输入时钟信号,当暂停时输入高电瓶。

彩灯vhdl课程设计

彩灯vhdl课程设计

彩灯vhdl课程设计一、课程目标知识目标:1. 让学生掌握彩灯控制的基本原理,理解VHDL语言在数字电路设计中的应用。

2. 学会使用VHDL语言编写简单的彩灯控制程序,理解程序与硬件之间的关联。

3. 了解数字电路的基本测试方法,能够对设计的彩灯程序进行调试和优化。

技能目标:1. 培养学生运用VHDL语言进行数字电路设计的能力,提高编程技巧。

2. 培养学生动手实践能力,能够独立完成彩灯控制电路的搭建和调试。

3. 培养学生团队协作能力,能够在小组合作中发挥个人优势,共同完成课程设计任务。

情感态度价值观目标:1. 培养学生对电子设计技术的兴趣,激发创新意识,增强学习动力。

2. 培养学生严谨的科学态度,注重实验数据,遵循实验规律。

3. 培养学生环保意识,关注节能降耗,提高资源利用效率。

本课程针对高年级学生,课程性质为实践性较强的电子设计课程。

结合学生特点,课程目标注重知识掌握、技能培养和情感态度价值观的引导。

通过本课程的学习,学生能够将理论知识与实践相结合,为今后的电子设计领域发展打下坚实基础。

同时,课程目标具体、可衡量,有利于教师进行教学设计和评估,确保课程实施效果。

二、教学内容1. 数字电路基础:回顾数字电路基本原理,重点掌握组合逻辑电路和时序逻辑电路的设计方法。

相关教材章节:第1章 数字逻辑基础2. VHDL语言基础:学习VHDL语言的基本语法、数据类型、运算符和常用语句。

相关教材章节:第2章 VHDL语言概述与基本结构3. 彩灯控制原理:分析彩灯控制系统的硬件结构和软件设计方法,理解彩灯控制信号的产生与传输。

相关教材章节:第3章 数字电路设计方法4. VHDL编程实践:运用VHDL语言编写彩灯控制程序,实现不同模式的彩灯显示效果。

相关教材章节:第4章 VHDL程序设计实例5. 硬件电路搭建与调试:学习硬件电路的搭建方法,进行彩灯控制电路的调试和优化。

相关教材章节:第5章 数字电路测试与调试6. 课程设计报告:撰写课程设计报告,总结设计过程、经验教训和心得体会。

基于VHDL实现多路彩灯控制器设计应用

基于VHDL实现多路彩灯控制器设计应用

基于VHDL实现多路彩灯控制器设计应用关键词:VHDL 彩灯控制07通信工程本科班沈治文摘要:设计一个彩灯控制程序器。

可以实现四种花型循环变化,有复位开关。

整个系统共有三个输入信号CLK,RST,Sel,八个输出信号控制八个彩灯。

时钟信号CLK脉冲由系统的晶振产生。

各种不同花样彩灯的变换由Sel控制.此彩灯控制系统设定有四种花样变化,这四种花样可以进行切换,四种花样分别为:(1) 彩灯从左到右逐次闪亮。

(2)彩灯从左向右逐次点亮,且亮后不熄灭。

(3) 彩灯两边同时亮两个,然后逐次向中间点亮。

(4) 全部彩灯亮与熄灭交替。

Abstract: The design of a control program Lantern device. Four kinds of flowers can be achieved circulation change, reset switch. The whole system has three input signals CLK, RST, Sel, 8 output signal control 8 lights. The clock signal CLK pulses generated by the system of the crystal. Lanterns of different patterns of transformation controlled by Sel. The lights control system configuration there are four patterns change, four kinds of patterns can be switched, four kinds of patterns are as follows:(1) successive flashing lights from left to right.(2) successive lantern lit from left to right, and the light is not extinguished after.(3) The two bright lights on both sides at the same time, and then successively to the center light.(4) All lights turn bright and quenching在日常生活中,为了增加聚会或是过节氛围,经常要使用到彩灯循环点亮。

第2章_多路彩灯控制器的设计与分析教材教学课件

第2章_多路彩灯控制器的设计与分析教材教学课件

第2章 多路彩灯控制器的设计与分析
-- 当CHOSE_KEY="1"时产生基准时钟频率的1/4的时钟信 号,否则产生基准时钟 --频率的1/8的时钟信号 ELSE IF TEMP="111" THEN TEMP:="000"; CLLK<=NOT CLLK ;
ELSE
第2章 多路彩灯控制器的设计与分析
图2.3 显示控制电路XSKZ仿真 图
第2章 多路彩灯控制器的设计与分析
图灯控制器的设计与分析
2.4.2 系统的硬件验证 系统通过仿真后,我们可根据自己所拥有的EDA实
验开发系统进行编程下载和硬件验证。考虑到一般 EDA实验开发系统提供的输出显示资源有限,我们可 将输出适当调整后进行硬件验证。
CLR:IN STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)); END ENTITY XSKZ; ARCHITECTURE ART OF XSKZ IS
第2章 多路彩灯控制器的设计与分析
第2章 多路彩灯控制器的设计与分析
第2章 多路彩灯控制器的设计与分析
第2章 多路彩灯控制器的设计与分析
2.6 系统扩展思路
(1) 在彩灯的快慢节奏的控制上,若去掉快慢节奏控 制开关,如何控制快慢节奏的交替变化。 (2) 设计外围电路:系统用方波信号源、直流工作电 源、彩灯控制的驱动电路。 (3) 若为课程设计,除要求设计调试程序、外围电路 外,还可要求设计、制作整个系统,包括PCB的制作。
TEMP:=TEMP+"1"; END IF; END IF;
END IF; END PROCESS; CLK<=CLLK; END ARCHITECTURE ART;

VHDL彩灯控制课程设计(最终版)对外

VHDL彩灯控制课程设计(最终版)对外

课程设计语言班级:电信XX-1姓名:XXX学号:XXXXXXXX指导教师:XX成绩:电子与信息工程学院信息与通信工程系摘要此设计是以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDL)为主,以原理图输入设计为辅的表达方式,以Quartus II开发软件和EDA实验箱为设计工具,阐述了九路彩灯控制器的工作原理和软硬件的实现方法。

它以按键控制彩灯工作模式,并对所设计的控制器进行了功能仿真和编程下载进行硬件验证,而且顺利实现设计目标。

关键词:VHDL;FPGA;彩灯;仿真;编程II目录摘要 (II)引言 (1)1 设计任务及要求 (2)1.1 课程设计的目的 (2)1.2 设计任务及要求 (2)2. 系统设计方案 (3)2.1 系统整体设计 (3)3 各个分模块设计与控制 (4)3.1时序模块 (4)3.1.1时序模块功能 (4)3.1.2 时序模块程序 (4)3.1.3 时序模块波形仿真 (5)3.2 显示模块 (5)3.2.1 显示模块功能 (5)3.2.2显示模块程序 (6)3.2.3 显示模块仿真图 (6)3.3系统顶层设计 (7)3.3.1顶层程序设计 (7)3.3.2 系统顶层波形仿真 (7)4.总结与心得 (8)参考文献 (9)附录1 (10)附录2 (11)附录3 (13)III引言随着科技的发展 , 在现代生活中, 彩灯作为一种景观应用越来越多的应用到节目庆典、剧场灯光,橱窗装饰中。

EDA技术的应用引起电子产品及系统开发的革命性变革 , 以VHDL为基础的多路彩灯控制系统,同时减少了设计芯片的数量、缩小了体积、降低了功耗、提高了设计的灵活性、可靠性和可扩展性。

在电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。

VHDL 彩灯控制电路的设计与实现

VHDL 彩灯控制电路的设计与实现

VHDL 彩灯控制电路的设计与实现一、实验目的1.进一步了解时序电路设计方法2.熟悉状态机的设计方法二、实验所用仪器及元器件1、计算机2、直流稳压电源3、数字系统与逻辑设计实验开发板三、实验内容用VHDL语言设计并实现一个彩灯控制(8个发光二极管)电路,仿真并下载验证其功能。

彩灯有两种工作模式,可以通过拨码开关或者按键进行切换。

(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布模式:从中间两个点,同时向两边一次点亮直至全亮,然后再向中间点灭,依次往复四、设计思路与过程根据实验要求,需要实现在拨码开关或者按键的控制下实现两种状态机的转换。

首先,确定输入输出变量:输入:拨码开关a:实现两种模式的转换;时钟clk::提供有效时钟沿;输出:8维向量b:连接8个发光二极管。

其次,确定电路工作状态因为在单点移动模式和幕布模式都要满足灯来回亮,共计工作状态23种:a=0时,实现单点移动模式,工作状态有s0~s13共14种状态;a=1时,实现幕布模式,工作状态有s14~s22共9种状态。

再次,大致确定VHDL编写思路确定好输入输出变量和电路状态后,考虑结构体中需要的进程需要完成以下两个功能——分频和实现状态机,故我使用了4个进程。

其功能分别如下:P0:分频,将实验板上提供的50MHz的时钟信号,即输入clk分为频率为1Hz的低频信号clk_out,以便观察现象;P1:为当前状态储存的下一状态;P2:当时钟有效沿到来时,当前状态转入下一状态;(P1、P2共同实现状态机的转换)P3:控制LED灯的输出,达到实验要求效果具体程序如下。

五、VHDL程序library ieee;use ieee.std_logic_1164.all;entity light isport (clk: in std_logic;a: in std_logic;b:out std_logic_vector(7 downto 0));end light;architecture light_1 of light istype state_type is(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,s22); signal current_state,next_state: state_type;signal clk_out:std_logic;signal tmp: integer range 0 to ;beginp0:process(clk) --分频器,把50MHz的时钟clk分为1Hz的时钟clk_out beginif clk'event and clk='1' thenif tmp= thentmp<=0;elsetmp<=tmp+1;end if;if tmp= thenclk_out<='1';elseclk_out<='0';end if;end if;end process;p1:process(current_state,a) --当前状态在开关函数a作用下所储存的下一状态begincase current_state iswhen s0=> if(a='0') then next_state<=s1;else next_state<=s14; end if;when s1=> if(a='0') then next_state<=s2;else next_state<=s14; end if;when s2=> if(a='0') then next_state<=s3;else next_state<=s14; end if;when s3=> if(a='0') then next_state<=s4;else next_state<=s14; end if;when s4=> if(a='0') then next_state<=s5;else next_state<=s14; end if;when s5=> if(a='0') then next_state<=s6;else next_state<=s14; end if;- 1 -when s6=> if(a='0') then next_state<=s7;else next_state<=s14; end if;when s7=> if(a='0') then next_state<=s8;else next_state<=s14; end if;when s8=> if(a='0') then next_state<=s9;else next_state<=s14; end if;when s9=> if(a='0') then next_state<=s10;else next_state<=s14; end if;when s10=> if(a='0') then next_state<=s11;else next_state<=s14; end if;when s11=> if(a='0') then next_state<=s12;else next_state<=s14; end if;when s12=> if(a='0') then next_state<=s13;else next_state<=s14; end if;when s13=> if(a='0') then next_state<=s0;else next_state<=s14; end if;when s14=> if(a='1') then next_state<=s15;else next_state<=s0; end if;when s15=> if(a='1') then next_state<=s16;else next_state<=s0; end if;when s16=> if(a='1') then next_state<=s17;else next_state<=s0; end if;when s17=> if(a='1') then next_state<=s18;else next_state<=s0; end if;when s18=> if(a='1') then next_state<=s19;else next_state<=s0; end if;when s19=> if(a='1') then next_state<=s20;else next_state<=s0; end if;when s20=> if(a='1') then next_state<=s21;else next_state<=s0; end if;when s21=> if(a='1') then next_state<=s22;else next_state<=s0; end if;when s22=> if(a='1') then next_state<=s14;else next_state<=s0; end if;end case;end process;p2:process(clk_out) --时钟clk_out作用下的状态转换函数beginif(clk_out'event and clk_out='1') thencurrent_state<=next_state;end if;end process;p3:process(current_state) --当前状态所对应的输出函数begincase current_state is- 2 -when s0=>b<="";when s1=>b<="";when s2=>b<="";when s3=>b<="";when s4=>b<="";when s5=>b<="";when s6=>b<="";when s7=>b<="";when s8=>b<="";when s9=>b<="";when s10=>b<="";when s11=>b<="";when s12=>b<="";when s13=>b<="";when s14=>b<="";when s15=>b<="";when s16=>b<="";when s17=>b<="";when s18=>b<="";when s19=>b<="";when s20=>b<="";when s21=>b<="";when s22=>b<="";end case;end process;end light_1;六、仿真波形说明:为了仿真需要,在进行仿真事,将分频部分p0去掉,直接用clk作用进程p2其中:- 3 -End time=2msa period time=60usclk period time=2us七、故障及问题分析本次实验整体比较顺利,但仍旧出现了几个问题:开始并未设置分频器,clk的频率为50MHz,这个频率过高,若是直接用于提供时钟,不但不能看清现象,还会因为周期过短(可能会短于电路的延迟时间),导致输出错误。

多路彩灯控制器的设计1

多路彩灯控制器的设计1

多路彩灯控制器的设计摘要:20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。

现代电子设计技术的核心是EDA技术,它依赖于功能强大的计算机,以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,现介绍以VHDL 为基础的多路彩灯控制设计系统,使其能够在6种不同的彩灯花型之间进行循环变化,并可设置花型变化的节奏,且可进行复位。

关键词:VHDL,彩灯,控制,仿真1.课程设计目的(1)培养学生正确的设计思想,理论联系实际的工作作风,严肃认真、实事求是的科学态度和勇于探索的创新精神。

(2)巩固所学的专业技术知识,培养学生综合运用所学知识与生产实践经验,分析和解决工程技术问题的能力,培养初步的独立设计能力;(3)通过课程设计实践,了解并掌握VHDL描述电路的一半方法,训练并提高学生在系统电路设计、语言描述实现、仿真验证等方面的能力,更好地将理论与实践相结合,提高综合运用所学理论知识独立分析和解决问题的能力。

2.设计原理在电路中以‘1’代表灯亮,以‘0’代表灯灭,0和1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种频率的花样显示,设计方案为,以一个十六路彩灯花样控制器,一个四频率输出分频器,一个四选一控制器和一个时间选择器总共四部分来完成设计,四选一控制器从分频器选择不同频率的时钟信号输送到彩灯花样控制器,从而达到控制彩灯闪烁速度的快慢,时间选择器控制每种速度维持时间的长短。

整个十六路彩灯控制系统的模块图如图1所示图2-13.模块及其功能描述本次设计分为四个模块,即十六路彩灯花样控制器。

四频率输出分频器,四选一控制器和时间选择器,其子模块及其功能描述如下:3.1四频率输出分频器在本次设计中,设计了四种花样,对输入的信号进行2分频,4分频,8分频,16分频,得到四种频率信号CLKDIV模块用来完成此功能。

基于VHDL多路彩灯控制器的设计

基于VHDL多路彩灯控制器的设计
Hu n Ga g—y .ZHANG e i W n—bi n
( o ee f oi e em i c i s hnq gU i rt o Ps n e cm C oq g 40 6 ,S ha ) C lg b e l o mn a o ,C ogi n e i f ota d l o h ni , 0 0 5 i un l oM lT e itn n v sy s T c n e
U E I E sd lgc ARI S EE . t o l TH. L: AL
_
_
US E . t lgc U I E I EE sd o i NS GNE . L D A L;
_ — —
EN I y C i e g I T T a D n S
造性的方案与概念构思上 , 从而可 以提 高设 计效率 , 缩短产品 的研制周期。整个过程通过 E A工 具 自动完成 , D 大大减 轻 了 设计 人员的工 作强度 , 提高 了设 计质 量, 减少 了出错的机 会。 本文介绍 应用 美国 A T R L E A公 司的 MA X+Pul平 台 , l I s 使用
ga rmma l 、smpel e 、hg eiblyc aa trsis be i l i s ih rla it h rceit ,An h i lt n rslsaevrf d n i c dtesmuai eut l e i . o i e
[ e od] V D ;a e ; iut n l K yw rs H L lt s li c t n m m ao or n o
控制
Lg to t t ih : u d s
_
l c vc r7dw t 0 ) o _et ( o n ) ; i g o o

多路彩灯控制器

多路彩灯控制器

专业实训VHDL班级:电信12-2姓名:李猛学号:1206110207指导教师:石松宁成绩:电子与信息工程学院多路彩灯控制器摘要在电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段。

本文利用VHDL语言设计了一个十六路彩灯控制器,六种花型循环变化,有清零开关,并且可以选择快慢两种节拍。

整个系统共有三个输入信号CLK、CLR和KEY,十六路输出信号。

时钟信号CLK由外部输入,经分频后控制快慢节奏。

将整个系统分为三个部分,分别为时序控制部分、显示控制部分和顶层程序部分。

并利用QuartusII软件进行时序仿真和查看RTL图,最终实现多路彩灯控制器。

关键词:电子设计自动化(EDA)、彩灯控制器、VHDL、QuartusII1 设计分析现今科学技术飞速发展,人民的生活水平不断提高。

在现代生活中,彩灯作为一种装饰物品,既可以增强人们的感观,起到广告宣传的作用,又可以增添节日气氛,为人们的生活增添色彩。

随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展,EDA(Electronic Design Automatic)技术的应用引起电子产品及系统开发的革命性变革。

VHDL语言作为可编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。

在这个阶段人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。

作为一种工业标准硬件描述语言,相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(LibraryBased)的设计的特点。

因此设计者可以不必了解硬件结构,从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。

基于VerilogHDL的彩灯

基于VerilogHDL的彩灯

基于VerilogHDL的彩灯基于Verilog的课程设计多路彩灯控制器指导老师:瓮嘉民李小魁班级:0941电子科学与技术成员:周俊冉200910711103李静200910711108马庆蒙200910711110目录1.EDA简介2.彩灯控制器的设计方案3.程序设计和源程序4.波形仿真分析5.硬件测试引脚锁定图6.电路模块图7.实物图8.心得体会9.扩展思路10.参考文献彩灯共有32个状态,流水灯显示部分可以做成7种花样,一种花样完成后,自动进入下一种状态。

交通灯作为辅助部分显示。

第一种花样为彩灯从右到左,依次点亮,从左往右依次点亮,然后全亮。

11111110011111 到00000000101010;第二种花样两边同时亮一个,逐次向中间移动,再散开,全灭。

01111110111111到11111111111110;第三种左边四个灯亮,然后右边四个灯亮,再反过来。

00001111111100和11110000111000第四种奇数灯亮,再偶数灯亮,然后反过来。

01010101110000和01010101110000第五种右边七个亮,然后左边七个亮。

10000000和00000001第六种全亮00000000101101第七种全灭111111111101103.程序设计和源程序整个控制器的实现流程如下:经分析,彩灯控制器设计可以分为四部分:时钟分频,数码管显示,彩灯显示电路。

其中时钟分频又包括四选一数据选择和分频和状态选择两部分系统程序框图如下:Count[6:0]State[5:0]输入时钟clkSelect[1:0]Num[6:0]四选一数据选择模块分频状态选择分频和状态选择嵌套模块count 计满了状态加一,count 清零重新计数;计数时状态保持clkclkSelect[1:0]Display[15:0]一位数码管显示彩灯显示State[5:0]Q[13:0]确定彩灯亮暗状态彩灯显示控制模块数码管显示控制模块分频数Clk彩灯控制器系统框图各部分电路模块框图功能:分频值选择框图此部四选一数据选择器:试验箱上的时钟进行四种分频,该模块对四个时钟进行选择,配合按键的控制选择亮灯之间的时间间隔。

多路彩灯控制器课程设计

多路彩灯控制器课程设计

多路彩灯控制器课程设计一、课程目标知识目标:1. 让学生掌握多路彩灯控制器的基本原理,理解电路组成及各部分功能。

2. 学会使用常见的电子元件,如电阻、电容、二极管等,并能运用到彩灯控制器的设计中。

3. 了解并掌握彩灯控制器的编程方法,实现多种灯光效果的控制。

技能目标:1. 培养学生动手操作能力,能独立完成多路彩灯控制器的搭建与调试。

2. 提高学生的问题解决能力,能够分析并解决彩灯控制器在使用过程中出现的问题。

3. 培养学生的团队协作能力,学会在小组合作中共同完成任务。

情感态度价值观目标:1. 培养学生对电子科技的兴趣和热情,激发他们探索未知领域的欲望。

2. 培养学生的创新意识,鼓励他们勇于尝试,敢于挑战,提高自信心。

3. 培养学生的环保意识,让他们认识到资源的宝贵,养成良好的节能习惯。

课程性质:本课程属于电子技术实践课程,注重理论与实践相结合,培养学生的动手能力和创新能力。

学生特点:学生处于初中年级,具有一定的电子基础,对新鲜事物充满好奇,动手能力强,但缺乏系统性的专业知识。

教学要求:结合学生特点,课程设计应注重实践性、趣味性和挑战性,引导学生主动参与,充分发挥学生的主观能动性。

教学过程中,注重分层指导,关注学生的个体差异,确保每位学生都能在课程中收获成长。

同时,注重课程目标的分解与落实,使学生在完成具体学习成果的过程中,实现课程目标的有效达成。

二、教学内容1. 彩灯控制器基本原理:讲解电路组成、工作原理,介绍各部分电子元件的功能和作用,如电源、微控制器、驱动电路等。

2. 电子元件认知与使用:学习电阻、电容、二极管、三极管等常见电子元件的识别与选用,理解其在彩灯控制器中的应用。

3. 彩灯控制器编程:学习彩灯控制器的编程方法,掌握编程软件的使用,实现多种灯光效果的编程设计。

- 编程基础:介绍编程语言、指令和编程逻辑。

- 实践操作:设计简单的灯光效果程序,如单色、双色、跑马灯等。

4. 彩灯控制器搭建与调试:学习如何搭建多路彩灯控制器,进行电路连接、调试和故障排查。

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

湖南科技大学
信息与电气工程学院
《课程设计报告》
题目:
专业:
班级:
姓名:
学号:
指导教师:
年月日
信息与电气工程学院
课程设计任务书
2014 —2015 学年第一学期专业:学号:姓名:
课程设计名称:
设计题目:
完成期限:自年月日至年月日共周
设计依据、要求及主要内容(可另加附页):
指导教师(签字):
批准日期:年月日
目录
一、实验设计的目的 (3)
二、设计内容 (4)
Ⅰ、设计的工具 (4)
Ⅱ、系统设计要求 (4)
III、系统设计方案 (4)
三、电路工作原理 (4)
四、主要程序及仿真结果 (4)
Ⅰ、时序部分主要程序如下: (4)
Ⅱ、时序控制电路的仿真波形如图: (6)
五、对本次设计的体会和建议 (6)
参考文献 (7)
一、实验设计的目的
本设计的任务是让我们熟悉支持VHDL语言的软件,如Max Plus 2,ISP,FOUNDATION等,利用这一类软件使用VHDL语言进行设计编译仿真。

本次设计的主要目的:
1、熟练掌握了相关软件Max Plus 2的使用操作。

能对VHDL语言程序进行编译及调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。

2、在成功掌握软件操作基础上,将所学数字电路的基础课知识与VHDL语言的应用型知识结合起来并
与实际设计,操作联系起来,即“理论联系实际”的观点。

3、完成可编程器件与VHDL语言课程设计,掌握设计语言技术的综合应用性。

本次设计课题为多路彩灯控制器。

4、熟悉系统的分析和设计方法,合理掌握选用集成电路的方法,初步接触EDA技术,为以后本专业的学习奠定良好的基础。

二、设计内容
Ⅰ、设计的工具
电脑一台,maxplusⅡ仿真软件,关于VHDL课程设计的相关书籍若干。

Ⅱ、系统设计要求
设计一个多路彩灯控制器,能循环变化花型,可清零,可选择变化节奏。

彩灯控制器有16路发光二极管构成,当控制器开关打开时,能够在6种不同彩灯花型之间进行循环变化。

要求控制器具备复位清零功能,一旦复位信号有效,不论控制器花型变化处于何种状态都会无条件即刻清零,回复到初始状态。

设置节拍选择按钮。

按下此按钮,多路彩灯控制器的花型变化的节奏减缓;放开次按钮,则节奏相对加快。

III、系统设计方案
根据系统设计要求可知,整个系统共有三个输入信号,分别为控制器快慢节奏控制信号opt、复位清零信号clr和时钟脉冲信号clk,输出信号则是16路彩灯的输出状态led[15...0]。

多路彩灯控制器可由两个主要的电路模块组成:时序控制电路模块和显示控制电路模块。

时序控制电路根据输入信号的设置得到相应的输出信号,并将此信号作为显示控制电路的时钟信号;显示控制电路根据输入时钟信号的周期,有规律地输出预先设定的6种彩灯花型,从而使得多路彩灯控制器在一定的输入条件下提供符合设计要求的有效输出。

本设计主要研究时序控制电路。

三、电路工作原理
多路彩灯控制器的实现基础是时序控制电路和显示1控制电路的设计,时序控制电路的模块框图如图2所示。

其中,clk为输入时钟信号,电路在时钟上升沿发生变化;clr为复位清零信号,高电平有效,且一旦该信号有效,电路无条件复位为初始状态;opt为快慢节奏选择信号,低电平时节奏快,高电平时节奏慢;clkout为输出信号,当clr信号有效时clkout输出为0,否则,clkout的周期随opt信号的改变而改变。

我们假设时序电路产生的控制时钟信号的快慢两种节奏分别为输入时钟信号频率的1/4和1/8,因而输出时钟信号可以通过对输入时钟的计数来获得。

当opt为低电平时,输出经过两个时钟周期进行翻转,实现四分频的快节奏;当opt为高电平时,输出每经过四个时周期进行翻转,实现八分频的慢节奏。

四、主要程序及仿真结果
Ⅰ、时序部分主要程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity metronome is
port(
clk:in std_logic;
clr:in std_logic;
opt:in std_logic;
clkout:out std_logic);
end metronome;
architecture rtl of metronome is
signal clk_tmp:std_logic;
signal counter:std_logic_vector(1 downto 0); begin
process(clk,clr,opt)
begin
if clr='1'then
clk_tmp<='0';
counter<="00";
elsif clk'event and clk='1'then
if opt='0'then
if counter="01"then
counter<="00";
clk_tmp<=not clk_tmp;
else
counter<=counter+'1';
end if;
else
if counter="11"then
counter<="00";
clk_tmp<=not clk_tmp;
else
counter<=counter+'1';
end if;
end if;
end if;
end process;
clkout<=clk_tmp;
end rtl;
Ⅱ、时序控制电路的仿真波形如图:
五、对本次设计的体会和建议
第一、在程序的编写过程中,通过发现问题再到解决问题,在这过程中,逐渐的掌握了Max Plus2的使用以及在使用过程中的一些注意事项,对更好的学习理论知识起到了一定的帮助。

第二、初步了解对电路的设计的思维和方法,在这方面还有很多不足的地方,理论知识不强,专业的课外知识不充足。

在编写程序的过程中遇到了一定的麻烦,感受到了正确的不一定是实用的。

第三、本次的设计得益于网络资源及图书馆资料的帮助,同时我也认识到在未来的学习中我们不仅要从老师那里学习知识,更多的是合理的正确的利用网络资源及图书资源。

本次数字系统仿真与VHDL课程设计的课程设计在老师的精心指导下,我们不仅仅学会里用Max Plus2编写设计的程序并进行编译仿真得出相应的结果,更重要的是让我在这其中学会了很多其他的东西。

本专业的学习是很辛苦很需要耐心和意志力的,同时必须保持大脑处于思考状态,在这不多的时间里我们应该更好的利用时间去思考我们所学的知识。

在与老师的交流中,我感受到我所设计仅仅只是一部分,奇妙的
东西很多,同时深刻的领会到我们不仅会做出东西,更重要的是运用到实际中去。

同时我在这期间认识到了求真务实精神的重要性,特别是在老师的教导下,让我感触很多,作为大学生在求学路上不应想着如何去走捷径,而是如何看透问题的本质,真正的做到学以致用。

经过此次让我感受颇多,因为我们要有着自己思维和理念去追求知识。

参考文献
[1]李国洪.可编程器件EDA技术与实践[M].北京:机械工业出版社,2004:100-123.
[2]张玉杰,马立云,张贺艳.基于ARM和FPGA的LED显示屏控制系统的设计[J].计算机测量与控制,2009,17(12):1-2.
[3]潭会生,张昌凡.EDA技术及应用[J].西安:电子科技大学出版社.2001,16(2):46-48.
[4]诗文DigiTimes专稿;片上系统潮流下EDA市场发展趋势[N].电子资讯时报,2005-06-06(A02).
[5]张晶,裴东兴,张少杰.基于CPLD的低功耗爆炸场温度测试系统[J].电子设计工程,2012,20(2):91-93.
[6]刘欲晓,方强,黄宛宁.EDA技术与VHDL电路开发应用实践[J].电子电气技术课程,2009,04-01。

相关文档
最新文档