基于Verilog语言设计的数码管电子钟

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

EDA技术及嵌入式系统设计-0-作者:矫龙飞(0306504)指导老师:袁海林湖北民族学院EDA技术及其嵌入式系统设计课程设计基于MAX+PLUSII平台的多功能数字钟设计报告指导教师:袁海林专业:电气工程及其自动化姓名:矫龙飞学号:0306504EDA技术及嵌入式系统设计-1-作者:矫龙飞(0306504)指导老师:袁海林目录一、序言………………………………………………………………………………2二、实验要求及目的…………………………………………………………………2三、实验原理…………………………………………………………………………3四、运行环境…………………………………………………………………………3五、运行过程…………………………………………………………………………3六、试验结果…………………………………………………………………………8七、各模块源程序………………………………………………………………………………8八、心得体会…………………………………………………………………………16参考文献……………………………………………………………………………16EDA技术及嵌入式系统设计-2-作者:矫龙飞(0306504)指导老师:袁海林基于MAX+PLUSII数字钟的实现一序言电子设计自动化(EDAElectronicDesignAutomation)技术是一种以计算机作为工作平台,以EDA软件工具为开发环境,以硬件描述语言和原理图描述为设计入口,以可编程逻辑器为实验载体,以ASIC、SOC和SOPC嵌入式系统为设计目标,以数字系统系统设计为应用方向的电子产品自动化设计技术。它是融入了电子技术、计算机技术、信息处理技术、智能化技术等最新成果而开发的高新技术,是现代电子系统设计、制造不可缺少的技术。EDA技术涉及面广,包括描述语言、软件、硬件等方面知识。它的电子仿真软件的仿真功能强大,具有完备的文件库,具有选用元器件创建电路、仿真模拟运行电路的功能,并且在输入信号的加入、输出信号的显示上能完全模拟实际和调制过程中的各种波型和操作过程。因此,EDA可作为辅助实验教育和实验训练的手段之一,以弥补在经费和实验仪器、元器件缺乏情况下的不足,并可节约材料消耗和减少仪器故障,通过仿真可熟悉常用电子仪器的使用方法和测量方法,并锻炼学生电路设计和调试能力,提高学生的分析与解决问题、故障排除的能力,进一步挖掘学生的开发和创新能力。VerilogHDL是一种优秀的硬件描述语言,尤其在ACIC设计领域更是占主导地位。VerilogHDL与C语言有许多相似之处,并继承和借鉴了C语言的多种操作符和语法结构,有C语言基础的人很快就能够学习并使用该语言。目前国外教学将VerilogHDL作为主要的硬件描述语言,在国内,该语言的使用人数也逐渐增多。自上而下的电子系统设计是一种传统的设计思路。这种设计思想更符合人们的逻辑思维习惯,也容易是设计者对复杂的系统进行合理的划分以及不断的优化。现代EDA数字控制系统设计充分利用了自上而下的设计思想,并且许多软件都支持高层的设计和仿真。二、实验要求及目的:本设计的数字钟,要求显示格式为小时—分钟—秒钟,分别在8个七段LED数码管上以动态分时扫描的方式显示。系统有两个时钟基准,CLK1为4HZ,分频后用来作为计时基准时钟。CLK2为10KHZ,用来作为扫描基准时钟,分频后作为百分秒计时时钟。附加功能:有调时模式,增加秒表功能。数字钟的显示格式如图所示:EDA技术及嵌入式系统设计-3-作者:矫龙飞(0306504)指导老师:袁海林实验目的:1.初步了解可编程逻辑器件的基本原理2.初步掌握Altera公司的可编程逻辑器件开发软件MAX+PLUSп的使用方法3.掌握可编程逻辑器件的编程/配置方法4.学会使用EDA实验系统5.熟悉使用VerilogHDL语言三、实验原理:本系统采用的是Altera公司的FPGA器件Flex10KEPF10K10LC84-4,FLEX(灵活逻辑单元矩阵)系列是Altera应用非常广泛的产品,这些器件具有比较高的集成度及丰富的寄存器资源,采用了快速,可预测延时的连续式布线结构,是一种将CPLD和FPGA的优点结合于一体的器件;硬件描述语言VerilogHDL。由设计的芯片输出稳定的高频脉冲信号作为时间基准,经芯片的CLK分频输出标准的秒脉冲,秒计数器满60向分计数器进位,分计数器满60向小时计数器进位,小时计数器按“24翻1”规律计数,计数器经译码送到数码管中,基于芯片动态分时扫描的方式显示数字时间,动态显示所显示的若干位数是逐位轮流显示的,周而复始不断循环,只要轮流的速度足够快(每秒轮流50次以上),由于人眼“视觉暂留”的特性,感觉不到显示器的闪动,所看到的是连续显示一组数字,采用静态显示一个LED数码管数字,例如数码管的abcdef笔段亮时,显示数字“0”,bc亮时显示“1”,abdeg亮时显示“2”等等。本设计芯片的输入端为:CLK1,CLK2,KEY1,MADD,MDEC,HADD输出端为:ZX[6…0]、ZW[7…0]。ZX[6…0]实现数码管的显示,ZW[7…0]实现八个数码管的显示。四、运行环境:MUX+PLUSⅡ集成开发环境。五、运行过程:1、程序思想:利用自顶而下的设计思想,将整个数字钟进行模块划分为:数码管扫描显示模块、数码管译码模块、时钟走时模块、时间调整模块、秒表走时模块以及综合时的附加模块等。EDA技术及嵌入式系统设计-4-作者:矫龙飞(0306504)指导老师:袁海林2、主要模块仿真效果:(1)时钟走时模块(2)数码管扫描显示模块(3)时钟走时模块EDA技术及嵌入式系统设计-5-作者:矫龙飞(0306504)指导老师:袁海林(4)数码管译码模块(5)跑表走时模块(3)四输入或门模块3、顶层电路图(旋转后):EDA技术及嵌入式系统设计-6-作者:矫龙飞(0306504)指导老师:袁海林EDA技术及嵌入式系统设计-7-作者:矫龙飞(0306504)指导老师:袁海林2、管脚分配:脚名脚号输入输出类型脚名脚号输入输出类型RST60InputZX422OutputCLK41InputZX523OutputCLK10K43InputZX624OutputMADD65InputZW05OutputMDEC62InputZW16OutputHADD64InputZW27OutputKEY161InputZW38OutputZX017OutputZW49OutputZX118OutputZW510OutputZX219OutputZW611OutputZX321OutputZW716OutputLED127OutputLED228Output3、输入输出功能说明:RST:数字系统复位键,高电平有效CLK4、CLK10:分别输入4Hz、10KHz时钟信号KEY1:多功能数字钟功能选择键MADD:时钟调时模式下为分钟加键,跑表模式下时跑表启停键MDEC:调时模式下的分钟减1键EDA技术及嵌入式系统设计-8-作者:矫龙飞(0306504)指导老师:袁海林HADD:调时模式下小时加1键LED1:调时模式指示灯LED2:跑表模式指示灯六、试验结果:本文就自己设计多功能数字式电子时钟的过程进行了介绍,在整个设计过程中采用了模块化设计思想,对各个模块逐一进行设计,最终完成整个设计任务。所设计的多功能数字式电子时钟,要求具备24小时循环计时功能,并要求采用动态显示技术来实现LED的显示。附加功能为有调时模式,秒表功能。本次设计在实验室中利用Altera公司的可编程逻辑器件开发软件MAXplusII进行实验电路的设计和仿真,并利用EDA实验系统,通过下载到FLEX10K芯片基本实现了多功能数字钟的各项功能。七、各模块源程序:1、调时模块//时间调整模块,led1指示进入调整模式moduletune(clk4,da,ga,ea,ha,madd,mdec,hadd,mode,led1);inputclk4;inputmadd,mdec,hadd;input[1:0]mode;output[3:0]da,ga;output[2:0]ea;output[1:0]ha;reg[3:0]da,ga;reg[2:0]ea;reg[1:0]ha;outputled1;//指示是否处于调时模式regclk1,clk2,led1;always@(posedgeclk4)clk2=!clk2;always@(posedgeclk2)clk1=!clk1;always@(posedgeclk2)beginif(mode==1)beginled1=1;if(madd)beginEDA技术及嵌入式系统设计-9-作者:矫龙飞(0306504)指导老师:袁海林da=da+1;if(da==9)beginea=ea+1;da=0;endif(ea==5&&da==9)ea=0;endelseif(mdec)beginda=da-1;if(da==0)beginea=ea-1;da=9;endif(ea==0&&da==0)ea=5;endelseif(hadd)beginga=ga+1;if(ga==9)beginha=ha+1;ga=0;endif(ha==2&&ga==4)beginha=0;ga=0;endendendendendmodule2、模式控制模块//控制模块,包括模式选择,调时功能modulecontrol(mode,key1,rst);inputkey1,rst;output[1:0]mode;reg[1:0]mode;always@(posedgekey1)beginif(rst)beginmode=2'b00;endelsebeginmode=mode+2'b01;if(mode==3)mode=0;endendendmoduleEDA技术及嵌入式系统设计-10-作者:矫龙飞(0306504)指导老师:袁海林2、走时模块//时钟走时模块,clk4分频后为1s时钟信号,modulezoushi(rst,a,clk4,b,c,d,e,f,g,h,da,ga,ea,ha,mode);inputclk4;inputrst;input[3:0]da,ga;input[2:0]ea;input[1:0]ha,mode;output[3:0]a,d,g,c,f;output[2:0]b,e;output[1:0]h;reg[3:0]a,d,g,c,f;reg[2:0]b,e;reg[1:0]h;regclk1,clk2;always@(posedgeclk4)clk2=!clk2;always@(posedgeclk2)clk1=!clk1;always@(posedgeclk1)beginif(mode==0)beginif(rst)begina=4'd0;b=4'd0;c=4'd10;d=da;e=ea;f=4'd10;g=ga;h=ha;endelsebeginc=4'd10;f=4'd10;if(a==9)begina=0;b=b+1;endelseEDA技术及嵌入式系统设计-11-作者:矫龙飞(0306504)指导老师:袁海林a=a+1;if(b==5&&a==9)begind=d+1;b=0;endif(d==9&&b==5&&a==9)begine=e+1;d=0;endif((e==5&&d==9)&&(b==5&&a==9))beging=g+1;e=0;endif(g==9&&(e==5&&d==9)&&(b==5&&a==9))beginh=h+1;g=0;endif((h==2&&g==9)&&(e==5&&d==9)&&(b==5&&a==9))beginh=0;g=0;endendendendendmodule3、跑表模块modulepaobiao(clk10k,mode,start,rst,a,b,c,d

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功