EDA课程设计报告-多路彩灯控制电路设计.doc_第1页
EDA课程设计报告-多路彩灯控制电路设计.doc_第2页
EDA课程设计报告-多路彩灯控制电路设计.doc_第3页
EDA课程设计报告-多路彩灯控制电路设计.doc_第4页
EDA课程设计报告-多路彩灯控制电路设计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

eda课程设计报告多路彩灯控制电路设计 学 号:班 级:姓 名:日 期:2008年1月1日多路彩灯控制电路设计报告题 目:多路彩灯控制电路设计要求:要有6种花型变化。 多种花型可以自动变化,循环往复。 彩灯变化的快慢节拍可以选择。 具有清零开关。设计方案: 根据系统设计要求,设计一个具有6种花型循环变化的彩灯控制器。整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号clk_in,系统清零信号clr,彩灯节奏快慢选择开关chose_key;共有16个输出信号led15.0,分别用于控制十六路彩灯。 据此,系统设计采用自顶向下的设计方法,我们可将整个彩灯控制器cdkzq分为两大部分:时序控制电路sxkz和显示控制电路xskz。模块划分:时序控制电路(sxkz) 显示控制电路(xskz)端口介绍:clk_in控制彩灯节奏快慢的基准时钟信号clr系统清零信号chose_key彩灯节奏快慢选择开关led15.016个输出信号设计过程:时序控制模块(sxkz) 新建一个vhd格式的文本编辑文件,保存默认命名 编写源程序,如下: 时序控制模块源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sxkz isport(chose_key : instd_logic;clk_zn : instd_logic;clr : instd_logic;clk : outstd_logic);end sxkz;architecture art of sxkz issignal ck : std_logic;beginprocess (clk_zn, clr,chose_key)variable temp : std_logic_vector(2 downto 0);beginif clr=1 then ck=0; temp:=000;elsif (clk_znevent and clk_zn=1) then if (chose_key=1)then if temp=011 then temp:=000; ck=not ck; else temp:=temp+1; end if; else if temp=111 then temp:=000; ck=not ck; else temp:=temp+1; end if; end if; end if;end process;clk=ck;end art;检查错误,如图:器件配置。选用flex10k下的epf10k10lc84-3 系统综合。如图:管脚定义。注意:端口只能放在i/o端口和i/o数据端,时钟信号放在clk,如图:生成符号文件。如图:仿真。新建一个波形编辑文件,格式为scf,先保存默认命名, 结束时间:10ms 时钟周期:50ns 如图:分析仿真结果:根据源程序当clr为1时,temp=000,clk=0 清零。当clr=0且时钟信号clk_in来到时,chose_key为1时,如果temp=011(即为3),则temp=000(即为0)且clk反转。如果temp不为011,则temp+1chose_key为0时如果temp=111(即为7),则temp=000(即为0)且clk反转。如果temp不为111,则temp+1显示控制模块(xskz) 新建一个vhd格式的文本编辑文件,保存默认命名 编写源程序,如下:显示控制模块源程序:library ieee;use ieee.std_logic_1164.all;entity xskz isport(clk : instd_logic;clr : instd_logic; led: outstd_logic_vector(15 downto 0);end entity xskz;architecture art of xskz is type state is(s0,s1,s2,s3,s4,s5,s6);signal current_state: state;signal light: std_logic_vector(15 downto 0); beginprocess (clr, clk)isconstant l1:std_logic_vector(15 downto 0):=0010010010010010;constant l2:std_logic_vector(15 downto 0):=1010010010010010;constant l3:std_logic_vector(15 downto 0):=0010110110011010;constant l4:std_logic_vector(15 downto 0):=1011010011010011;constant l5:std_logic_vector(15 downto 0):=1010011010110110;constant l6:std_logic_vector(15 downto 0):=1101010110011011;beginif clr=1 then current_state light=zzzzzzzzzzzzzzzz; current_state light=l1; current_state light=l2; current_state light=l3; current_state light=l4; current_state light=l5; current_state light=l6; current_state=s1; end case; end if;end process;led=light;end architecture art; 检查错误,如图:器件配置。选用flex10k下的epf10k10lc84-3 系统综合。如图:管脚定义。注意:端口只能放在i/o端口和i/o数据端,时钟信号放在clk,如图:生成符号文件。如图:仿真。新建一个波形编辑文件,格式为scf,先保存默认命名, 结束时间:10ms 时钟周期:80ns 如图: 分析仿真结果:根据源程序当系统清零信号clr为1时current_state为s0当系统清零信号clr为0且时钟信号clk来到时,当current_state为s1时,current_state的下一个状态s2,led输出为0010010010010010当current_state为s6时,current_state的下一个状态s1,led输出为1101010110011011 循环彩灯控制器:用图形编辑文件做循环彩灯控制器(cdkzq) 新建一个gdf格式的图形编辑文件,保存默认命名 在元器件库调用xskz(显示控制模块)和sxkz(时序控制模块)的符号以及输入输出符号,做图,如下:检查错误,如图:器件配置。选用flex10k下的epf10k10lc84-3系统综合。如图:管脚定义。注意:端口只能放在i/o端口和i/o数据端,时钟信号放在clk,如图仿真。新建一个波形编辑文件,格式为scf,先保存默认命名, 结束时间:10ms 时钟周期:80ns如图:分析仿真结果:当clr=1时,系统清零当clr为0且chose_key为1时彩灯变换的慢。当clr为0且chose_key为0时彩灯变换的快。循环彩灯控制器顶层设计(caideng) 新建一个vhd格式的文本编辑文件,保存默认命名 编写源程序,如下:源程序:library ieee;use ieee.std_logic_1164.all;entity caideng isport(clk_zn: instd_logic; clr : instd_logic; chose_key: instd_logic;led : out std_logic_vector(15 downto 0);end entity caideng;architecture art of caideng iscomponent sxkz isport( chose_key: instd_logic; clk_zn : instd_logic; clr : instd_logic; clk : outstd_logic);end component sxkz;component xskz isport( clk : instd_logic; clr : instd_logic; led : outstd_logic_vector(15 downto 0);end component xskz;signal s : std_logic;beginu1:sxkz port map(chose_key,clk_zn,clr,s); u2:xskz port map(s,clr,led);end architecture art;检查错误.器件配置。选用flex10k下的epf10k10lc84-3系统综合。如图:管脚定义。注意:端口只能放在i/o端口和i/o数据端,时钟信号放在clk,如图:仿真。同上。设计心得:两周的时间虽然很短暂,但从中获益匪浅,首先对eda数字电路这门课程有了更深的了解,无形中便加深了对eda的了解及运用能力。以学的到很多很多同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。eda设计对我们的总体电路的设计的要求更严格,需要通过翻阅复习以前学过的知识确立了实验总体设计方案,然后逐步细化进行各模块的设计;通过这次设计,进一步加深了对eda的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,在设定输入信号后,想要的结果不能在波形上得到正确的显示,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。经过屡次调试,终于找到了比较合适的输入数值。另外,endtime的值需要设置的长一点:100ms左右,这样就可以观察到完整的仿真结果。使我对电路故障的排查能力有了很大的提高。其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论