1、跑马灯设计EDA专业课程设计第一章 设计内容和设计方案1.1课程设计内容控制8个LED进行花样性显示。设计4种显示模式:s0,从左到右逐一点亮LED;s1,从右到左逐一点亮LED;s2,从两边到中间逐一点亮LED;s3,从中见到两边逐一点亮LED。4种模式循环切换,复位键(rst)控制系统运行停止。数码管显示模式编号。可预置彩灯变换速度,4档快、稍快、中速、慢速,默认工作为中速。1.2设计方案在掌握常见数字电路功效和原理基础上,依据EDA技术课程所学知识,和平时试验具体操作内容,利用硬件描述语言HDL,EDA软件Quartus和硬件平台cycloneFPGA进行一个简单电子系统设计,此次课程设
2、计采取Verilog HDL硬件描述语言编写控制程序,应用Quartus 软件实现仿真测试。采取FPGA芯片对LED灯进行控制,使其达成流水跑马灯显示效果,LED灯采取共阳极接法,当给它一个低电平时,LED点亮,我们利用移位寄存器使各输出口循环输出高低电平,达成控制目标。第二章 设计原理2.1设计原理及设计步骤此次试验我所完成内容是跑马灯设计,下面我简单进行一下原理叙述。跑马灯课程设计要求是控制8个LED进行花样显示,设计四种显示模块:第一个显示是从左向右逐一点亮LED。第二种显示:从右向左逐一点亮LED。第三种显示:从两边向中间逐一点亮LED。第四种显示:从中间到两边逐一点亮LED。四种显示
3、模式循环切换,并带有一位复位键控制系统运行停止。为了完成要求效果显示,因为要求比较简单,所以不用分为很多模块来具体控制,所以我先择利用移位寄存器来完成灯点亮,我们将LED灯采取共阳极接法,当给于低电平时点亮,那么当我们需关键点亮某位LED灯时,只需在该位上给予低电平即可,比如:假如我们要实现8个数码灯从左到右依次点亮,那么我们就能够给这8个数码灯分别赋值10000000,经过一段时间延时后再给其赋值01000000,再经过一段时间延时后再给其赋值00100000,依次类推,则最终一个赋值状态为00000001,这么就得到了对应现象。同理,要实现数码灯从右向左依次点亮,从中间向两端依次点亮,从两
4、端向中间依次点亮全部能够采取这么赋值方法。为了达成四种显示模式循环切换目标,能够将以上全部赋值语句以次序语句形式置于进程中,这么在完成了一个显示方法后就会自动进入下一个设定好显示模式,如此反复循环。当需要程序复位时,只需按下rst键即可,程序不管走全部那里,实施那条语句,只要确定复位键按下时,程序立即返回到程序实施语句第一步,程序接着进行新循环点亮。第三章 设计程序3.1 Verilog HDL程序module ceshi(clk,rst,Q,DIN,CLK,a);input clk,rst;input 1:0DIN; /DIN为变换速度档output signed7:0Q; /Q为7个LED
5、output 6:0a; /a为数码管显示模式output CLK; /自定义时钟parameter DOUT=8b0111_1111;reg CLK;reg 6:0x;reg 1:0cs;reg 7:0Q;reg 6:0a;always(posedge clk)begin x=7b0000000;CLK=0;case(DIN) 0:begin x=x+1b1; if(x=20)begin x=7b0; CLK=CLK; end end 1:begin x=x+1b1; if(x=15)begin x=7b0; CLK=CLK; end end 2:begin x=x+1b1; if(x=10
6、)begin x=7b0; CLK=CLK; end end 3:begin x=x+1b1; if(x=5)begin x=7b0; CLK=CLK; end enddefault begin x=x+1b1; if(x=20)begin x=7b0; CLK=CLK; end end endcase endalways(posedge CLK or negedge rst)begin if(!rst)begin Q=DOUT;cs=2b00;a=7b000_0000; end else begin case(cs) 0:begin Q1;Q7=1b1;a=7b0111111; if(Q=8
7、b1111_1110)begin Q=8b1111_1101; cs=2b01; end end 1:begin Q=Q1;Q0=1b1;a=7b0000_110; if(Q=8b0111_1111)begin Q=8b0111_1110; cs=2b10; end end 2:begin Q7:41; Q3:0=Q3:01; Q7=1b1; Q0=1b1;a=7b1011_011; if(Q=8b1110_0111)begin Q=8b1101_1011; cs=2b11; end end 3:begin Q7:4=Q7:41; Q3:01; Q4=1b1; Q3=1b1;a=7b100_1
8、111; if(Q=8b0111_1110)begin Q=8b0111_1111; cs=2b00; end end default begin Q=DOUT; cs=2b00; a=7b0000_000; end endcase end endendmodule第四章 设计结果及仿真波形4.1 设计结果 图1 顶层文件原理图4.2仿真波形4.3仿真结果分析当输入DIN为00时选择慢速档,CLK周期大约为20us,伴随CLK上升沿到来输出Q做移位改变,开始从左向右移,数码管段码输出a显示0,然后从右向左移,数码管段码输出a显示1,然后从中间向两边移,数码管段码输出a显示2,然后从两边向中间移
9、,数码管段码输出a显示3,以后循环显示,当按下复位键rst时系统运行停止,第一个灯点亮,数码管无显示。当输入DIN为01时选择中速档,CLK周期大约为15us,实施以上循环显示。当输入DIN为10时选择稍快档,CLK周期大约为10us,实施以上循环显示。当输入DIN为11时选择快速档,CLK周期大约为5us,实施以上循环显示。第五章 设计总结经过这次有相关EDA技术课程设计学习和应用,我们基础了解了EDA技术相关应用,也掌握了EDA设计相关软件Quartus7.2最基础使用方法,丰富了我们设计手段,也让我了解了更多仿真方法。在上机操作过程中,刚开始我们碰到了很多困难,对软件不熟悉和对原理掌握不
10、透彻,使得刚开始时候举步维艰,不过经过对最简单模型设计及仿真练习过后,我们基础掌握了软件使用方法,经过软件仿真及对各个参数设置,我们不停调试仿真出来波形。这期间我们也了解到,即使软件仿真功效很强大,不过还是需要操作人员仔细进行观察及调试,不然也轻易出现仿真错误。这次学习开阔了我们视野,使我们了解了更多专业方面实际应用,在生产应用方面用处等,和专业方面发展方向等伴随微电子技术和计算机技术不停发展,在包含通信、国防、航天、工业自动化、仪器仪表等领域电子系统设计工作中,EDA技术含量正以惊人速度上升,它已成为当今电子技术发展前沿之一。EDA技术发展迅猛,完全能够用日新月异来描述。EDA技术应用广泛,现在已包含到各行各业。EDA水平不停提升,设计工具趋于完美地步,所以我们愈加应该多多掌握这方面知识。第六章 参考文件1 潘松、黄继业编著. EDA技术和VHDL,北京:清华大学出版社2 边计年主编.用VHDL设计电子线路, 北京:清华大学出版社3 王金明,杨吉斌编著.数字系统设计和Verilog HDL.北京:电子工业出版社4 徐志军,徐光辉编著.CPLD/FPGA开发和应用.北京:电子工业出版社5 叶天迟主编.EDA实用技术试验及课程设计指导书.长春:自编试验指导书
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2