- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
1设计目的
熟练掌握EDA技术利用计算机方面的课程解决专业课程方面点具体问题,达到解决问题,完成课程设计任务,培养实践的目的。
2设计要求和任务
利用所学的EDA设计方法设计彩灯控制器,熟练使用使用QUARTUS = 2 \* ROMAN II应用软件,进一步学习使用VHDL语言、原理图等EDA设计方法进行综合题目的方法。
功能要求:
1.要有多种花型变化(至少4种).
2.多种花型可以自动变换,循环往复.
3.彩灯变换的快慢节拍可以选择.
4.具有清零开关.
3 总体设计思路及原理描述
3.1功能描述
在电路中以 1 代表灯亮,以 0 代表灯灭,由 0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。下面就以一个十六路彩灯控制系统的实现为例进行简单说明。此十六路彩灯控制系统设定有六种花样变化 ,这六种花样可以进行自动切换 ,并且每种花样可以选择不同的频率 。
3.2设计原理
用VHDL进行设计 ,首先应该了解 ,VHDL语言一种全方位硬件描述语言 ,包括系统行为级 ,寄存传输级和逻辑门级多个设计层次。应充分利用DL “自顶向下” 的设计优点以及层次化的设计概层次概念对于设计复杂的数字系统是非常有用它使得人们可以从简单的单元入手 ,逐渐构成庞大而复杂的系统 。
首先应进行系统模块的划分 ,规定每一模块的功能以及各个模块之间的接口。最终设计方案为:以一个十六路彩灯花样控制器、 一个四频率输出分频器 ,一个四选一控制器和一个时间选择器总共四部分来完成设计。四选一控制器从分频器选择不同频率的时钟信号输送到彩灯花样控制器 ,从而达到控制彩灯闪烁速度的快慢 ,时间选择器控制每种速度维持的时间长短。整个十六路彩灯控制系统设计的模块图如图 1所示
????
图一
4分层次方案设计及代码描述
4.1子模块及其功能
本次设计分为四个子模块 ,即十六路彩灯花样控制器、 四频率输出分频器 ,四选一控制器和时间选择器 ,其子模块及其功能如下:
4.1.1四频率输出分频器
在本次设计中 ,设计了六种花样 ,要求这六种花样以不同的频率显示 ,而只有一个输入的时钟信号 ,所以对所输入的时钟信号进行 2 分频 ,4 分频 ,8分频 ,16分频 ,得到四种频率信号 ,CLKDIV模块用来完成此功能。
4.1.2时间选择器
时间选择器实际上是两个分频器 ,其中一个频率是另一个频率的两倍。本来这两个分频器是可以在上述的四频率输出器中实现的 ,但为了方便地为四选一控制器提供不同的时间选择条件 ,就将这两个分频器独立开来。这两个输出的时钟信号组合起来就可以为四选一控制器提供 00,01,10,11 四个时间选择条件 ,如
下图三所示。
图二
4.1.3四选一控制器
四选一控制器功能是从分频器中选择不同频率的时钟信号送给彩灯控制器 ,实现彩灯闪烁的频率变化。
4.1.4彩灯控制器
彩灯控制电路是整个设计的核心 ,它负责整个设计的输出效果即各种彩灯图案的样式变化。该程序充分地说明了用 VHDL设计电路的 “弹” 性 ,即可通过改变程序中输出变量 Q 的位数来改变彩灯的数目。其中 ,P1进程对灯闪的速度控制有两种方式可改变灯闪的速度:一是改变外部时钟的赋值 ,二是改变信号U 的位数。P2进程能进行彩灯的图案控制 ,改变 s的位数即可改变要控制图案的数目 ,改变输出变量 Q 的组合即可变幻彩灯图案。
最后 ,当各个模块均完成上述操作之后 ,即可利用MAXPLUS2的原理图输入 ,调用各个元器件(底层文件) ,以原理图的形式形成最后的十六路彩灯显示系统(顶层文件) ,并且进行仿真。仿真通过 ,即可下载到指定的 CPLD芯片里面 ,并进行实际连线 ,进行最后的硬件测试。当然 ,可以将各个模块所生成的元件符号存放在元件库中 ,用以被其它人或其它的设计所重复调用 ,以简化后面的设计。
4.2 代码描述
4.2.1 时序控制电路部分
程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity timecontrol is --定义实体
port(
clk: in std_logic; --时钟信号
clr: in std_logic; --复位信号
o
文档评论(0)