欢迎来到天天文库
浏览记录
ID:3153814
大小:3.08 MB
页数:16页
时间:2017-11-20
《基于veriloghdl的彩灯》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Verilog的课程设计多路彩灯控制器指导老师:瓮嘉民李小魁班级:0941电子科学与技术成员:周俊冉200910711103李静200910711108马庆蒙200910711110目录1.EDA简介2.彩灯控制器的设计方案3.程序设计和源程序4.波形仿真分析5.硬件测试引脚锁定图6.电路模块图7.实物图8.心得体会9.扩展思路10.参考文献1.EDA简介EDA技术(即ElectronicDesignAutomation技术)就是依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成的设计文件,
2、自动的完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。他在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、ASIC测试和封装、FPGA(FieldProgrammeGateArray)CPLD(ComplexProgrammeLogicDevice)编程下载和自动测试等技术:在计算机辅助工程方面融合了计算机辅助设计(CAD),计算机辅助制造(CAM),计算机辅助测试(CAT),计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及
3、长线技术理论等。硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有VHDL、VerilogHDL、ABEL、AHDL、SystemVerilog和SystemC。其中VHDL、VerilogHDL和现在的EDA设计中使用最多,并且我们学习的是Verilog的编程方法及实用技术。2.彩灯控制器的设计方案彩灯控制器的核心设计部分是分频器的使用,显示部分相对比较容易。分频器的设计方法多种多样,我们设计的是比较常见的一种。外接clk为始终输入基准信号,彩灯节奏的快慢用选择开关select[1..0],共有q[13:0]十四个输出信号控制彩灯的输出以及display[15:0]输出信
4、号控制数码管的显示。彩灯由流水灯和交通灯两部分显示彩灯的各种状态,数码管显示选择开关的四种状态。彩灯共有32个状态,流水灯显示部分可以做成7种花样,一种花样完成后,自动进入下一种状态。交通灯作为辅助部分显示。第一种花样为彩灯从右到左,依次点亮,从左往右依次点亮,然后全亮。11111110011111到00000000101010;第二种花样两边同时亮一个,逐次向中间移动,再散开,全灭。01111110111111到11111111111110;第三种左边四个灯亮,然后右边四个灯亮,再反过来。00001111111100和11110000111000第四种奇数灯亮,再偶数灯亮,然后反过来。
5、01010101110000和01010101110000第五种右边七个亮,然后左边七个亮。10000000和00000001第六种全亮00000000101101第七种全灭111111111101103.程序设计和源程序整个控制器的实现流程如下:经分析,彩灯控制器设计可以分为四部分:时钟分频,数码管显示,彩灯显示电路。其中时钟分频又包括四选一数据选择和分频和状态选择两部分系统程序框图如下:彩灯控制器系统框图各部分电路模块框图功能:分频值选择框图此部四选一数据选择器:试验箱上的时钟进行四种分频,该模块对四个时钟进行选择,配合按键的控制选择亮灯之间的时间间隔。确定频率和状态部分:该部分实现
6、了两个功能:一个是分频计数,对四种分频(12,25,50,100)计数,达到分频数时清零;另一个是实现状态的改变,在每次计数满时(达到分频的数时)状态改变一次,同时清零重新计数;未满时,状态保持。显示部分:该部分由流水灯和交通灯两部分组成。显示当前彩灯的状态。共32个状态,进行自动循环转换。该部分控制的是彩灯当前的分频状态,共有四种分频12,25,50,100对应的显示1,2,3,4。由输入信号和按键决定。主要源程序:moduleled(select,clk,q,display);input[1:0]select;inputclk;outputreg[13:0]q;reg[2:0]seg
7、;output[15:0]display;reg[15:0]display;wire[6:0]num;assignnum=(select==0)?12:(select==1)?25:(select==2)?50:100;//计数分类reg[5:0]state;reg[6:0]count;initialbeginstate=0;count=0;end////////////////////always@(posedgeclk)begi
此文档下载收益归作者所有