ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:260.26KB ,
资源ID:5081587      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5081587.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA大三课程设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA大三课程设计.docx

1、EDA大三课程设计一,课件今需设计一个十六路彩灯控制器,6种花型循环变化,有清零开关,并且可以选择快慢两种节拍。 根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号CLR,彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED15.0,分别用于控制十六路彩灯。 据此,我们可将整个彩灯控制器CDKZQ分为两大部分:时序控制电路SXKZ和显示控制电路XSKZ,整个系统的组成原理图如图2.1所示。2.3.1 时序控制电路的VHDL源程序-SXKZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;U

2、SE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SXKZ IS PORT(CHOSE_KEY:IN STD_LOGIC; CLK_IN:IN STD_LOGIC;CLR:IN STD_LOGIC; CLK:OUT STD_LOGIC);END ENTITY SXKZ;ARCHITECTURE ART OF SXKZ IS SIGNAL CLLK:STD_LOGIC; BEGIN PROCESS(CLK_IN,CLR,CHOSE_KEY) IS VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF CLR=1 THE

3、N -当CLR=1时清零,否则正常工作CLLK=0;TEMP:=000; ELSIF RISING_EDGE(CLK_IN) THEN IF CHOSE_KEY=1 THEN IF TEMP=011 THEN TEMP:=000; CLLK=NOT CLLK ; ELSE TEMP:=TEMP+1; END IF;- 当CHOSE_KEY=1时产生基准时钟频率的1/4的时钟信号,否则产生基准时钟 -频率的1/8的时钟信号 ELSE IF TEMP=111 THEN TEMP:=000; CLLK=NOT CLLK ; ELSETEMP:=TEMP+1; END IF; END IF; END

4、IF; END PROCESS; CLK=CLLK;END ARCHITECTURE ART;2.3.2 显示控制电路的VHDL源程序-XSKZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XSKZ IS PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY XSKZ;ARCHITECTURE ART OF XSKZ ISTYPE STATE IS(S0,S1,S2,S2,S4,S5,S6); SIGNAL CU

5、RRENT_STATE:STATE; SIGNAL FLOWER:STD_LOGIC_VECTOR(15 DOWNTO 0); BEGIN PROCESS(CLR,CLK) ISCONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):=0001000100010001; CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010101010101010; CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):=0011001100110011; CONSTANT F4:STD_LOGIC_VECTOR

6、(15 DOWNTO 0):=0100100100100100; CONSTANT F5:STD_LOGIC_VECTOR(15 DOWNTO 0):=1001010010100101; CONSTANT F6:STD_LOGIC_VECTOR(15 DOWNTO 0):=1101101101100110;-六种花型的定义 BEGIN IF CLR=1 THEN CURRENT_STATE FLOWER=ZZZZZZZZZZZZZZZZ; CURRENT_STATE FLOWER=F1; CURRENT_STATE FLOWER=F2; CURRENT_STATE FLOWER=F2; CUR

7、RENT_STATE FLOWER=F4; CURRENT_STATE FLOWER=F5;2.3.3 整个电路系统的VHDL源程序-CDKZQ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CDKZQ IS PORT(CLK_IN:IN STD_LOGIC; CLR:IN STD_LOGIC; CHOSE_KEY:IN STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY CDKZQ;ARCHITECTURE ART OF CDKZQ IS COMPONENT SXKZ

8、IS PORT(CHOSE_KEY:IN STD_LOGIC; CLK_IN:IN STD_LOGIC; CLR:IN STD_LOGIC; CLK:OUT STD_LOGIC); END COMPONENT SXKZ; COMPONENT XSKZ IS PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); END COMPONENT XSKZ; SIGNAL S1:STD_LOGIC; BEGIN U1:SXKZ PORT MAP(CHOSE_KEY,CLK_IN,CLR,S1); U2

9、:XSKZ PORT MAP(S1,CLR,LED);END ARCHITECTURE ART;2.4.1 系统的有关仿真 时序控制电路SXKZ、显示控制电路XSKZ及整个电路系统CDKZQ的仿真图分别如图2.2、图2.3和图2.4所示。2.4.2 系统的硬件验证 系统通过仿真后,我们可根据自己所拥有的EDA实验开发系统进行编程下载和硬件验证。考虑到一般EDA实验开发系统提供的输出显示资源有限,我们可将输出适当调整后进行硬件验证。(1) 在时序控制电路SXKZ的设计中,利用计数器计数达到分频值时,对计数器进行清零,同时将输出信号反向,这就非常简洁地实现了对输入基准时钟信号的分频,并且分频信号的

10、占空比为0.5。(2) 在显示控制电路XSKZ的设计中,利用状态机非常简洁地实现了六种花型的循环变化,同时利用六个十六位常数的设计,可非常方便地设置和修改六种花型。(3) 对于顶层程序的设计,因本系统模块较少,既可使用文本的程序设计方式,也可使用原理图的设计方式。但对于模块较多的系统,最好使用文本的程序设计方式。二,多 路 彩 灯 控 制 设 计1)系统设计要求 设计一个多路彩灯控制器,十六种彩灯能循环变化,有清零开关,可以变化彩灯闪动频率即是可以选择快慢两种节拍。2).设计方案整个系统有三个输入信号,分别为控制快慢的信号OPT,复位清零信号CLR,输出信号是16路彩灯输出状态。系统框图如:

11、主要模块组成:时序控制电路模块和显示电路模块,时序控制电路是根据输入信号的设置得到相应的输出信号,并将此信号作为显示电路的时钟信号;显示电路输入时钟信号的周期,有规律的输出设定的六种彩灯变化类型。3).模块设计时序控制模块:CLK为输入时钟信号,电路在时钟上升沿变化;CLR为复位清零信号,高电平有效,一旦有效时,电路无条件的回到初始状态;OPT为频率快慢选择信号,低电平节奏快,高电平节奏慢;CLKOUT为输出信号,CLR有效时输出为零,否则,随OPT信号的变化而改变。我们假设时序控制电路所产生的控制时钟信号的快慢两种节奏分别为输入时钟信号频率的1/4和1/8,因而输出时钟控制信号可以通过对输入

12、时钟的计数来获得。当opt为低电平时,输出没经过两个时钟周期进行翻转,实现四分频的快节奏;当opt为高电平时,输出每经过四个时钟周期进行翻转,实现把八分频的慢节奏。显示控制电路的模块框图如图所示,输入信号clk和clr的定义与时序控制电路一样,输入信号led15.0能够循环输出16路彩灯16种不同状态的花型。对状态的所对应的彩灯输出花型定义如下:S0:0000000000000000 S1:0001000100010001S2:0010001000100010 S3:0011001100110011:010*S6:0110011001100110 S7:0111011101110111S8:1

13、000100010001000 S9:1001100110011001S10:1010101010101010 S11:1011101110111011S12:1100110011001100 S13:110111*1S14:111011*0 S15 :111111*1多路彩灯在多种花型之间的转换可以通过状态机实现,当复位信号clr有效时,彩灯恢复初始状态s0,否则,每个时钟周期,状态都将向下一个状态发生改变,并对应输出的花型,这里的时钟周期即时时序控制电路模块产生的输出信号,它根据opt信号的不同取值得到两种快慢不同的时钟频率。 clr4).序控制电路模块程序如下:library ieee;

14、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 issignal clk_tmp: std_logic;signal counter: std_logic_v

15、ector(1 downto 0); -定义计数器begin process(clk,clr,opt)begin if clr=1 then -清零 clk_tmp=0; counter=00;elsif clkevent 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;

16、else counter=counter+1; end if; end if;end if;end process;clkout=clk_tmp; -输出分频后的信号end rtl; end rtl; 显示模块电路程序如下:library ieee;use ieee.std_logic_1164.all;entity output isport( clk: in std_logic; -输入时钟信号 clr: in std_logic; -复位信号 led: out std_logic_vector(15 downto 0); -彩灯输出 end output;architecture rtl

17、 of output istype states is -状态机状态列举(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15);signal state: states;begin process(clk,clr)begin if clr=1then state=s0; led state state=s2; led state=s3; led state=s4; led state=s5; led state=s6; led state=s7; led state=s8; led state=s9; led state=s10; led

18、 state=s11; led state=s12; led state=s13; led state=s14; led state=s15; led state=s1; led=1111111111111111; end case; end if; end process;end rtl;顶出模块设计程序:library ieee;use ieee.std_logic_1164.all;entity cotop isport ( clk: in std_logic; clr: in std_logic; opt:in std_logic; led: out std_logic_vector(

19、15 downto 0); -八路彩灯输出end colorled;architecture rtl of colorled is component metonome is -定义元件:时序控制电路 port( clk: in std_logic; clr: in std_logic; opt:in std_logic; clkout: out std_logic);end component metonome; component output is -定义元件:显示电路port( clk: in std_logic; clr: in std_logic; led: out std_log

20、ic_vector(7 downto 0);end component output;signal clk_tmp: std_logic;begin u1:metonome port map(clk,clr,opt,clk_tmp); -例化时序控制模块 u2:output port map(clk_tmp,clr,led); -例化显示电路模块end rtl;时序控制模块仿真波形:从图中可以看出,当复位信号为高电平时,电路时钟输出清零,当快慢信号OPT为低电平时,时序控制电路四分频起作用,当快慢信号OPT为高电平时,时序控制电路八分频起作用,仿真结果符合电路要求。显示模块仿真波形:当复位信号

21、有效时彩灯输出为零,否则,显示电路在十六种不同状态间转换。多路彩灯控制仿真波形:从图中可以看出当OPT为高电平时彩灯状态转换慢,为低电平时转换要快,当复位信号有效时,所用输出都清零。综上所述,本次设计实现了设计要求中的要求。北京理工大学珠海学院课程设计课程设计内容简介:(任务概述,技术参数)本统系由一个时序控制模块SX和一个显示控制模块XS组成;基本功能:(1)通过CLK键,输入时钟脉冲,用9盏灯实现四种花型的循环交替变化,有四方形,十字形,z形和U字形; (2)每两种花形变化的间隔为2秒; (3)有复位的功能,通过CLR键来控制复位; (4)有暂停功能,通过K1键来控制暂停和继续;扩展功能:

22、(1)可调节花形循环的速度,SPEED键为控制速度键; (2)用户可以选择对应的彩灯形状,当K1为暂停状态时,用K2和K3键的四个组合来控制所要显示的花形; (3)彩灯可以按指定的图形去闪烁发亮。 1.3 程序设计任务设计课题:彩灯控制器的设计 二:设计流程彩灯控制器由一个时序控制模块SX和一个显示控制模块XS组成;时序控制模块上:输入有端口SPEED,CLK,CLR,K1,K2,K3。SPEED控制彩灯循环速度;CLK为输入时钟脉冲信号端口;CLR为清零复位键;K1为暂停键;当K1为暂停状态时,通过控制K2和K3 的四个给合来实现某种花形的显示;输出端口有CLK1和STATE;通过CLK1端

23、口对显示模块输入时钟脉冲,达到循环亮灯的效果;STATE键就是输入端K1和K2的组合,通过该键对显示模块的单独亮花形的控制;显示控制模块:输入端口CLK1,CLR,STATE; CLK1为上一时序控制模块的输出端,通过该端口对彩灯的循环显示提供脉冲信号;CLR键为清零复位键; STATE键为控制单个花形的显示; 输出端口LED0,LED1,LED2,LED3,LED4,LED5,LED6,LED7,LED8; LED0至LED8为灯的显示情况。花形为:四方形:O O O 十字形:X O X Z形:O O O 工字形:O X O O X O O O O X O X O X O O O O X O

24、 X O O O O O O系统开始运行时,把CLR打到高电平,系统清零,全部灯不亮。把SPEED键打到高电平,把CLR打到低电平,把K1打到低电平,再把CLK键打到高电平时,彩灯以2秒的速度循环显示,把SPEED键打到低电平时,彩灯以1秒的速度循环显示。把K1打到高电平,彩灯没有显示(1)把K2打到低电平,K3打到低电平,彩色显示四方形;(2)把K2打到低电平,K3打到高电平,彩色显示十字形;(3)把K2打到高电平,K3打到低电平,彩色显示Z形;(4)把K2打到高电平,K3打到高电平,彩色显示U字形;三:ASM图及框架Process(CLK,CLR,K1,K2,K3,K4)系统的结构图如下:

25、四:编译的调试,处理和仿真经过调试,处理和仿真,本系统成功运行,具体的图如下:时序模块的仿真图:显示仿真模块仿真图:总芯片仿真图如下:五:下载验证经下载验证,本系统成功运行:引脚图如下:芯片下载图如下:六:调试分析和结果系统开始运行时,把CLR打到高电平,系统清零,全部灯不亮。把SPEED键打到高电平,把CLR打到低电平,把K1打到低电平,再把CLK键打到高电平时,彩灯以2秒的速度循环显示,把SPEED键打到低电平时,彩灯以1秒的速度循环显示。把K1打到高电平,彩灯没有显示(1)把K2打到低电平,K3打到低电平,彩色显示四方形 O O O O X O O O O(2)把K2打到低电平,K3打到

26、高电平,彩色显示十字形; X O X O O O X O X(3)把K2打到高电平,K3打到低电平,彩色显示Z形; O O O X O X O O O(4)把K2打到高电平,K3打到高电平,彩色显示U字形; O X O O X O O O O七:附录I彩灯控制器的源程序时序控制模块SX的源程序如下:- Company: - Engineer: - - Create Date: 15:09:04 01/09/2008 - Design Name: - Module Name: sx- Project Name: - Target Devices: - Tool versions: - Description: - Dependencies: - Revision: - Revision 0.01 - File Created- Additional Comments: -library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1