根据VerilogHDL的彩灯_第1页
根据VerilogHDL的彩灯_第2页
根据VerilogHDL的彩灯_第3页
根据VerilogHDL的彩灯_第4页
根据VerilogHDL的彩灯_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、.|*jiH.yUmBI F H h, ., 4 1fJ I r 5,1、匸 I 村 p r AI 焉厲基于Verilog的课程设计多路彩灯控制器指导老师:瓮嘉民李小魁级:0941电子科学与技术员:周俊冉 200910711103李 静 200910711108马庆蒙 200910711110目录1.EDA简介2.彩灯控制器的设计方案3.程序设计和源程序4.波形仿真分析5.硬件测试引脚锁定图6.E电路模块图7.实物图8.心得体会9.扩展思路10.参考文献1.EDA简介EDA技术(即Electronic Design Automation技术)就是依赖强大的计算机,在EDA工具软件平台上,对以硬

2、件描述语言 HDL( Hardware Description Language为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、化简、分割、综合、 布局布线以及逻辑优化和仿真测试, 直至实现既定的电子线路系统功能。 他在硬 件实现方面融合了大规模集成电路制造技术、IC版图设计、ASIC测试和封装、FPGA( Field Programme Gate Array) CPLD ( Complex Programme Logic Device)编程下载和自动测试等技术:在计算机辅助工程方面融合了计算机辅助设计(CAD),计算机辅助制造(CAM ),计算机辅助测试(CAT),计算机辅助工程(CA

3、E)技术以及多种计算机语言的设计概念; 而在现代电子学方面则容纳了更 多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术 及长线技术理论等。硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、System Verilog和 System C。其中 VHDL、VerilogHDL和现在的EDA设计中使用最多,并且我们学习的是 Verilog的编程方法及 实用技术。2. 彩灯控制器的设计方案彩灯控制器的核心设计部分是分频器的使用,显示部分相对比较容易。分频器的设计方法多种多样,我们设计的是比较常见的一种。外接cl

4、k为始终输入基准信号,彩灯节奏的快慢用选择开关select1.0,共有q13:0十四个输出信号控 制彩灯的输出以及display15:0输出信号控制数码管的显示。彩灯由流水灯和交 通灯两部分显示彩灯的各种状态,数码管显示选择开关的四种状态。彩灯共有32个状态,流水灯显示部分可以做成7种花样,一种花样完成后, 自动进入下一种状态。交通灯作为辅助部分显示。第一种花样为彩灯从右到左,依次点亮,从左往右依次点亮,然后全亮。11111110011111到 0000000010101Q第二种花样两边同时亮一个,逐次向中间移动,再散开,全灭。0111111011111到 11111111111110第三种左

5、边四个灯亮,然后右边四个灯亮,再反过来。0000111111110 11110000111000第四种奇数灯亮,再偶数灯亮,然后反过来。01010101110000和01010101110000第五种右边七个亮,然后左边七个亮。10000000和00000001第六种全亮00000000101101 第七种全灭111111111101103. 程序设计和源程序整个控制器的实现流程如下:经分析,彩灯控制器设计可以分为四部分:时钟分频,数码管显示,彩灯显示电路。其中时钟分频又包括四选一数据选择和分频和状态选择两部分系统程序框图如下:分频和状态选择嵌套模块四选一数据选择模块数码管显示控制模块彩灯控制

6、器系统框图各部分电路模块框图功能:丨I四选一数据选择模块-流水灯城示时W:输入时钟Sdcetl:fl1=*1-分频值选择框图此部四选一数据选择器:试验箱上的时钟进行四种分频,该模块对四个时钟 进行选择,配合按键的控制选择亮灯之间的时间间隔。确定频率和状态部分:该部分实现了两个功能:一个是分频计数,对四种分频(12,25,50,100)计数,达到分频数时清零;另一个是实现状态的改变,在每次计数满时(达到分频 的数时)状态改变一次,同时清零重新计数;未满时,状态保持。显示部分:k宦形灯臺聒就态:dk康灯显示控制模块丨该部分由流水灯和交通灯两部分组成。 显示当前彩灯的状态。共32个状态,进行自动循环

7、转换。elk.Displayl5:0| : ! 11二位数Rn显Ip血 kvil:0|1111数码管显小拧制槿块1111111该部分控制的是彩灯当前的分频状态,共有四种分频12,25,50,100对应的显示1,2,3,4。由输入信号和按键决定。主要源程序:module led(select,clk,q,dis play);inp ut 1:0 select;input clk;out put reg 13:0 q;reg 2:0 seg;out put 15:0dis play;reg 15:0dis play;wire 6:0 num;assign num=(select=0)?12:(se

8、lect=1)?25:(select=2)?50:100计数分类reg 5:0 state;reg 6:0 count;in itialbeg instate=0;coun t=0;end/ always (p osedge clk)begi ndis play = 8b1111_1110,1b1,led7(seg);case(select)2b00:seg=1;2b01:seg=3;2b10:seg=2;2b11:seg=4;default :seg=0;endcase end/always (po sedge clk)beginif(cou nt=( nu m-1)beg incoun t

9、=0;if(state32)statev=state+1;elsestate=0;endelsebeg incoun t=co un t+1;state=state;endend/always (po sedge clk)beg incase(state)0:qv=14b11111110011111;1:qv=14b11111101101111;2:q=14b11111011110111;3:q=14b11110111111011;4:q=14b11101111111101;5:q=14b11011111111110;6:q=14b10111111111101;7:q=14b011111111

10、11011;8:q=14b10111111110111;9:q=14b11011111101111;10:q=14b11011111011111;11:qv=14b11101111000111;12:qv=14b11110111111000;13:q=14b11111011000000;14:q=14b11111101011101;15:q=14b11111110010101;16:q=14b00000000101010;17:q=14b01111110111111;18:q=14b10111101110101;19:q=14b11011011001001;20:q=14b1110011100

11、0000;21:q=14b11011011000111;22:q=14b10111101111000;23:q=14b01111110111111;24:q=14b11111111111110;25:q=14b00001111111100;26:q=14b11110000111000;27:q=14b01010101110000;28:q=14b10101010100000;29:q=14b10000000000000;30:q=14b01111111011011;31:q=14b00000000101101;32:q=14b11111111110110;default :q 1111LLLI

12、IDLI1LO, . 1._ 1 1仙1.f qLUP1mTl(defaihitfc:雁 15,i_s clofyfJ!:单:FTJJH23.3L/lTl(0EfaJ:)7蚀:疋.23.3-H/lTi(3i堤询口5,.aSJ 竝昨1呻:R1J523.3-lil/rTi (fleraii金了型J5,3加亦1峽:FN.J6?-3:丹lEL (頂理)尿和久ID0 do就可血芮叫1 ?加3.3-L如亦dpzFwjin2HJdl対刪n妙jy生:;最:15,SJ daa厨】-取:IUJ5?E:NlIMlVTTlIoefah曲亦5, H汕|g:mjio1|EIN3,押时叱汕tfezi 破 L5,h0 知啲“

13、:7i冲 L/ni(ce収ti1曲抚氐150加梱g:FMJt2皿3.3-vimcEfit.i;4?31B加就1匚齐FIVD2込皿工科I河国胡住対刃5,& do 城:i5:FTJJ2ejjo3.3-*l/lTl(defa)掬杜115:FTJ.7Fl Nl3.3VtyTTl(ah)0 1姐b畑nV9Ei wa1 押 lVni(ah4J3.a20Q邮:F刑 TIOBi wa3.丹讯Tl破ah卬辺b平-FW.J9a .NO3 刖 lEi(Qit)沖0:Z 1P屈K中”;FId.bE1 Nl13则川轴)OP isjA申:FW JdBljdl:tMhin妙曲P也FTJJ3EI M3&理ML就凋0 WlOj

14、ipu:坐j6B1_WG3敲凶n區吐1右工m sn0换Q阳tnysJE1.Nl3.丹阿U(由ailqig亦:ipjvs印佃3 丹 lEildehdJ屮翅EEP鞠忙申:FIdJbEi wa3.Mivm 血血 i413,.a 10贮】5一FM?TBijja师1加止iin.aj 1ilJ0 iU卜农:砂;d4n.,.y .onvjs世!3加區alldV矗卫丁FM.L215E5.Nl3.3-H/rT(Xati1 -t _-. F6电路原理图j lri;l-乂比屮也1E茁k SFlRfl;- C-UKInirqi 孑 Dn匚 cEirr 二一 qi3:0?.:四 dT_j dspajll :! LItH

15、ill MP IlHlhlI F Iim izy; : 80E - T b :;3 i* 令UftiL F 厂OG打評m . I- p I lECccm*wp壬-*?*罗九r - 门 二 亦!亠一 一耳L令r jj : I【口 口九iL.*I*fs 三 * *S*aa I 4IHi l:|:ul|:-! _ _ |&*A*斗越靈簣!丽丽丽屈r V *1 咛=三烷4 . .- Tfi rta4 -*-r ea加 r_lL岬一M疥藹U菩爲- 乙凉”誤占; 二;一一一二二二三二-.; .44-:-.- -PI- *:I Bl BJi帝鑿住們Orr二7 f1, 羽 寻i厂:? Ti =;L: SLt

16、ikru_I严rju严亠4醫L(r-tc4隴一i3.azi-nyu即亙一聲 奮3S 一 fe丄 益”盖活瓷曲厂益护F;* 1 iZFi # L - V0AD运fflM、-:-CMOiT8实训心得李静:实训虽然进行了两周,但由于请了三天假就像只参加了一周一样,没有参 与所有的编程,有点遗憾。不过后来我还是认真琢磨了我们的程序。 我们组做到 是多路彩灯控制器,实际上很简单,生活上很常见,和花样流水灯可以说是异曲 同工。不过在期间做好让老师检查时,老师觉得这个课题有些简单,又建议加上 数码管或是增加彩灯数目,以增加点难度。当然,我们对实验又进行了修整。不 过在实验中还是遇到了以下几个问题。例如:分频

17、的时候,可以用一个两位的输入变量作为分频的选择, 使用选择 语句付给中间变量num,简化程序。在.数码管控制分频的选择,因为数码管码 和断码有固定函数,可以调用此函数用以显示对应数据。还有交通灯闪烁的问题,试验箱上有12个交通灯,交通等和流水灯不一样,只有6个引脚红黄蓝分别公用一个引脚。当然期间遇到的问题不止这几个,在遇到问题解决不了时,也有请教了老师 以及其他同学,最终在我们组成员的共同努力下,完成了我们的实验科目。在这 次实验中,我也学到了新的知识,对于 verilog有了更深的了解。马庆蒙:经过为期两周的实训,多多少少还是学到点东西的。 很庆幸,从开始选材到 程序到仿真出来我都参与进来了

18、。 我们组做的是多路彩灯控制器。实际上就是花 样的流水灯。我们的课题相对来说不是很难。 很多的超市都挂有流水灯,不过他 们的花样比较多,由于试验箱上的灯颜色比较单一, 做不出那种效果,只能根据 自己的能力设计出像流水灯一样的花型。 由于实验箱上有交通灯部分,第一次把 流水灯的部分设计完之后,让老师检查,又布置下来新的任务,要求用上数码管 或交通灯部分。初次设计的过程中无从下手,首先是方案的选择,花型的变换,节奏变化的 快慢等问题。后来的加上数码管和交通灯部分,怎么在数码管上显示四种分频, 交通等花型变换。在设计过程中遇到的问题及解决方案:1. 怎么分频几个选择变量可以用一个条件赋值语句付各一个

19、变量,这样可以简化程序。于是我们用一个两位的输入变量作为分频的选择, 使用选择语句付给中间变 量 num。2. 怎么把用数码管控制分频的选择因数码管位码和断码有固定的函数, 调用此函数用以显示对应的数字。12分频显示1,25分频显示2,50分频显示3, 100分频显示4。3. 交通灯怎么闪烁试验箱上交通灯有12个彩灯,开始时以为交通和流水灯一样,每一个灯 对应一个引脚,于是在程序中直接把交通灯的 12位付给输出变量q。,但到了引 脚锁定时发现交通灯的引脚只有六位。 思考一番知道了,在现实生活中交通灯的东西(或)南北方向的灯显示的事一样的。于是把12位的引脚改成6位的,红的黄的绿的每一种颜色共用

20、一个引脚,程序的 12位也改为了 6位。4. 交通灯没有闪烁在把交通灯部分加上以后,交通灯没有反应,检查程序,发现输出变 量应该是14位,所以定义时应该把q定义为q13:0。重新往试验箱里下载程序,还是没反应,连流水灯的变化也变得不正常了。 这时人都快崩溃了,于是找人呢 帮忙检查,原来是应该把状态输出时的赋值语句 qv=8b写成qv=14b,该赋值语句中的数字表示q输出的位数,当为8时小于输出的位数,只会取后面的 8位。 因此只有流水灯在闪烁,交通灯还会保持原来的状态。至于流水变化不正常是因 为有人把试验箱上的时钟改大了,造成流水灯的速度变快,看不出来状态的变化。周俊冉:实训两周结束了,这次实训和往常不同的是没有实体的产品, 主要是程序的编写和实验箱的演示,通过这次实训我再次学习了EDA中的程序编写和软件使用并和实践相结合。我们做的是多路彩灯,实验箱上只有一种颜色就做成了多种显示方式和频率 的流水灯形式。后来在老师的指导下又加入了交通灯的多种花样及频率显示。在整个过程中遇到了很多问题和思考:第一周在方案的选择和程序编写上我 们讨论和修改了很多,本来准备使用多个模块和例化语句, 为了使构造更清晰简 易就选择使用一个整体模块。编程过程中:我们首先利用一个两位的变量输入和一个多重的条件赋值句来 简洁的选择闪

温馨提示

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

评论

0/150

提交评论