目录1前言 (2)2 总体方案设计 (3)2.1方案比较 (3)2.2方案论述 (4)2.3方案选择 (4)3单元模块设计 (5)3.1时钟信号模块 (5)3.2节拍快慢控制模块 (6)3.3彩灯控花型控制模块 (7)4软件设计 (9)4.1 Quartus Ⅱ简介 (9)4.2 Qartus Ⅱ设计开发流程 (10)5系统调试 (11)6系统功能及指标参数 (12)7设计总结与体会 (13)8参考文献 (14)附录1总设计图及仿真图 (15)附录2 Verilog HDL源程序 (16)~ 1 ~1前言在经济和商业高度发达的今天,彩灯已经成为人民日常生活不可或缺的一部分,已经逐渐为越来越多的人们所关注,在家庭中的普及率不断提高,大大的丰富和点缀了人民的生活。
彩灯由不同的颜色的LED灯组成,通过控制不同颜色的灯的亮与灭,呈现给人们不同的花塑和图案,极大的点缀了单调的都市夜景,让城市成为了多姿多彩的不夜城。
当今社会是数字化的社会,也是数字集成电路广泛应用的社会,数字本身在不断的进行更新换代。
它由早起的电子管、晶体管、小中规模集成电路发展到超大规模集成电路以及许多具有特定功能的专用集成电路。
而EDA技术就是以微电子技术为物理层面,现代电子设计为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路ASIC为目的的一门新兴技术。
Verilog HDL是一种应用较为广泛的HDL语言,能对范围广泛的各种复杂的网络在不同的抽象级加以描述,而且在整个设计过程中可使用同一种语言。
采用Verilog HDL作为HDL综合设计的优点有:标准语言,即设计者可在不同环境下进行设计;仿真和综合均可采用同一种语言进行;Verilog HDL中提供的大量的资源模块,简化了设计者的开发工作;由Verilog HDL描述的源文件既是程序文件又可作为设计的文档。
~ 2 ~2 总体方案设计彩灯控制器的核心设计部分是彩灯花型的控制模块,显示部分相对比较容易。
分频器的设计方法多种多样,我设计的是比较常见的一种。
外接clk为始终输入基准信号,彩灯节奏的快慢用选择开关select[1:0]。
针对课题要求设计了如图2.1所示总体框图。
图2.1八路彩灯总体框图2.1方案比较该设计主要是以FPGA为基础,通过硬件描述语言Verilog HDL灵活多变的改变彩灯显示的花型以及宽快慢,对此这几了以下两个方案。
方案一:总体电路共分三大块。
第一块实现时钟信号的产生;第二块实现花型的控制及节拍控制;第三块实现花型的演示。
主题框图如图2.2所示。
图2.2八路彩灯设计框图~ 3 ~方案二:在方案一的基础上将整体电路分为四个模块。
第一块实现花型的演示;第二块实现花型的控制;第三块实现节拍快慢控制;第四块实现时钟信号的产生。
并在部分电路的设计上与方案一采用了完全不同的方法,如花型的控制。
如图2.3所示。
图2.3八路彩灯模块化框图2.2方案论述方案一与方案二最大的不同就在,前者将花型控制与节拍控制两种功能融合在一起,是考虑到只要计数器就可以实现其全部功能的原因,且原理相对简单。
这样设计,其优点在于:设计思想比较简单。
元件种类使用少,且都较熟悉易于组装电路。
缺点则是:中间单元电路连线过于繁多,容易出错。
且可能出现线与关系。
要避免这些,则势必造成门电路使用过多。
导致电路不稳定,抗干扰能力下降。
而后者则将以上两种功能分开设计,各单元电路只实现一种功能。
其优点在于:电路设计模块化,易于检查电路,对后面的电路组装及电路调试带来方便。
缺点则是:节拍控制电路采用可编辑逻辑电路,原理相对复杂,不易理解。
花型控制电路简单,花型也比较简单。
2.3方案选择方案一主要设计过程简单明了,而且花型控制和快慢结合在一起,用一个计数器就能而过轻松地实现功能,但是细节太多容易出错。
方案二虽然多了一个步骤,但是每个模块只完成一个功能,相对更容易上手。
所以基于以上原因,加上为了确保短时间内完成课程设计,我选择了连线少,易于调试的方案二。
~ 4 ~3单元模块设计3.1时钟信号模块时钟信号控制模块的主要功能是将输出的标准时钟进行分频,以此控制八路彩灯的快慢节奏变化。
时钟信号控制在本设计中起着至关重要的作用,它以彩灯闪动快慢节奏的变化实现了八路彩灯绚丽多彩的花型节奏变化。
时钟控制是整个设计中的一个分模块,它的设计对八路彩灯控制器的顺利完成起着决定性作用。
对时钟控制程序封装如图3.1所示。
图3.1分频器模块设计的标准时钟输入时50M Hz,但是在Quartus Ⅱ中仿真时由于计数次数太多以至于不能正常得到分频后的波形,所以此处的仿真波形非标准时钟,仅用来表示分频的结果。
图3.2分频仿真时序图~ 5 ~图3.2仿真波形图中,out是对基准时钟的4分频,out1是对基准时钟的8分频,out2是对基准时钟的16分频,out3是对基准时钟的32分频。
3.2节拍快慢控制模块节拍快慢控制模块即一个4选1数据选择器,它的功能是将分频器分出来的四个时钟信号通过我们外部输入而选择其中一个输出到下一个模块中,这样就可以控制彩灯显示的快慢。
它的真值表如表3.1所示。
表3.1 4选1数据选择器真值表select[1:0] 输出0 0 Out10 1 Out21 0 Out31 1 Out44选1数据选择器仿真波形和封装模型分别如下:图3.3数据选择模块~ 6 ~图3.4 4选1数据选择器仿真图图3.4数据选择器仿真波形中,输入的选择信号sel是2'b01即选择输入的第二个波形,所以输出的波形即是第二个波形。
3.3彩灯控花型控制模块彩灯控制模块是整个设计的核心,彩灯控制模块能够进行彩灯图案的控制,它负责整个设计的输出效果即各种彩灯图案的样式变化。
在仿真时序中高电平代表灯亮,低电平代表灯灭,由高低电平按不同规律组合就代表不同的花型,同时选择不同的频率,从而实现多种图案多种频率的花样功能显示。
此时Verilg HDL 硬件描述语言的优势就展现出来,使用者可以按自己的需求改变源程序从而改变显示的花型,而不用更换显示设备,这样不但经济而且环保。
程序封装图及仿真图分别如图所示。
图3.5彩灯控制系统程序封装图~ 7 ~图3.6彩灯控制系统功能仿真图图3.6中,在第一个上升沿输出8个高电平即8个彩灯全亮,下一个上升沿全部为低电平表示彩灯全部熄灭。
之后隔一个时钟周期产生一个高电平,即彩灯依次点亮。
最后四个高电平和低电平相间,表示8个彩灯亮灭相间。
~ 8 ~4软件设计4.1 Quartus Ⅱ简介QuartusⅡ可编程逻辑开发软件是Altera公司为其FPGA/CPLD芯片设计的集成化专用开发工具,是Altera最新一代功能更强的集成EDA开发软件。
使用QuartusII可完成从设计输入,综合适配,仿真到下载的整个设计过程。
Max+plusⅡ是Altera公司早期的开发工具,曾经是最优秀的PLD开发平台之一,现在正在逐步被QuartusⅡ代替。
并且Max+plusⅡ已经不再支持Altera 公司的新器件,同时,QuartusH也放弃了对少数较老器件的支持。
QuattusII界面友好,具有MAX+PLUSⅡ界面选项,这样MAX的老用户就无须学习新的用户界面就能够充分享用QuartusⅡ软件的优异性能。
所以,无论是初学者,还是Max+plusⅡ的老用户,都能较快的上手。
QuartusⅡ根据设计者需求提供了一个完整的多平台开发环境,它包含蕞个FPGA和CPLD设计阶段的解决方案。
QuarmsⅡ软件提供的完整,操作简易的图形用户界面可以完成整个设计流程中的各个阶段。
QuartusⅡ集成环境包括以下内容:系统级设计,嵌入式软件开发,可编程逻辑器件(PLD)设计,综合,布局和布线,验证和仿真。
QuartusⅡ也可以直接调用Synplify Pro,LeonardoS~ctmm以及ModelSim 等第三方EDA工具来完成设计任务的综合与仿真。
QualtusⅡ与MATLAB和DSPBuilder结合可以进行基于FPGA的DSP系统开发,方便且快捷,还可以与SOPCBuilder结合,实现SOPC系统的开发。
4.2 Qartus Ⅱ设计开发流程QuanusⅡ设计的主要流程有:创建工程、设计输入、编译、仿真验证、下载,其进行数字电路设计的一般流程如图4.1所示。
~ 9 ~图4.1 QuartusⅡ设计开发流程设计输入:包括原理图输入、HDL文本输入、EDIF网表输入等几种方式。
编译:先根据设计要求设定编译方式和编译方略,如器件的选择、逻辑综合方式的选择等。
然后根据设定的参数和策略对设计项目进行网表提取,逻辑综合器件适配,并产生报告文件、延时信息文件及编程文件,供分析、仿真和编译使用。
仿真:仿真包括功能仿真、时序仿真和定时分析,用以验证设计项目的逻辑功能和时序关系是否正确。
编程与验证:用得到的编程文件通过编程电缆配置PLD,加入实际激励,进行在线测试。
再设计过程中,如果出现错误,则需重新回到设计输入阶段,改正错误或调整电路后重复上述过程。
~ 10 ~5系统调试在进行系统调试时首先要建一个项目,将我们以前设计的各个子模块工程添加到该项目中并且创建模块。
之后新建一个顶层原理图文件,将我们所创建的所有子模块添加进去,再添加相应的输入输出模块,连接好线,编译之后便可以仿真。
具体顶层文件图和仿真图如下所示。
图5.1 顶层文件总线图图5.2 彩灯功能仿真图~ 11 ~6系统功能及指标参数本设计主要是设计一个显示三种花型的八路彩灯控制系统。
它能够通过外部选择调节彩灯显示的快慢,也可以通过更改Verilog HDL源程序改变所要现实的花型,从而获得不同的显示效果。
本设计是基于Quartus Ⅱ中的EP2S15F672C3芯片,基本完成了课程设计任务书上的所有功能要求,但还是有一些不足的地方,我以后会尽量改进。
~ 12 ~7设计总结与体会通过本次实验的学习和实践,我对DEA这门课程有了感性的认识,并且对仿真软件Quartus II 有了深刻的了解和学会运用软件建立工程仿真实验,对硬件描述语言Verilog HDL有了较为基础的了解和认识,深刻体会到该语言方面的设计在生活中应用范围之广泛。
经过本次作业,我体会到设计对设计人员的基本要求:掌握最基本的知识并且学会灵活运用这些基本知识,大胆创新敢于实践,遵守相关的游戏规则,运用谨慎全面的逻辑思维思考问题、解决问题。
具体而言,对VHDL语言的掌握程度更加的深刻,虽不能独立的设计复杂的产品,但对整个流程有了一定的了解,为以后的工作打下了基础,积累了经验。
本次课程不仅是对基础知识的提升,更是对思维方式的扩展有了相当的帮助,我相信知识是在不断的更新,但从本课程学到的思维方式却是对以后的发展大有裨益。