基于FPGA的数字时钟的设计1

合集下载

基于FPGA的数字钟设计

基于FPGA的数字钟设计

数字钟的设计一、 设计要求设计一个数字钟,要求用数码管分别显示时、分、秒的计数,同时可以进行时间设置,并且要求在整点的时候能够实现报时功能。

二、 设计原理计数器在正常工作下是对1Hz的频率计数,在调整时间状态下是对调整的时间模块进行计数;控制按键来选择是正常计数还是调整时间,并决定是调整时还是分;时间显示的LED数码管采用动态扫描实现;在整点到达时,还具有整点报时功能。

三、 电路符号数字钟电路符号如下图所示。

CLK2为分频之前的信号,CLR为清零端,CCK 为校时允许端。

MC为分信号调整端,HC为时信号调整端。

HH[3..0]为时高位,HL[3..0]为时低位,MH[3..0]为分高位,ML[3..0]为分低位,SH[3..0]为秒高位,SL[3..0]为秒低位。

DOUT[6..0]是数码管驱动,SEG[5..0]是位选择信号,RING是整点报时信号。

四、 设计方法本设计的电子时钟包括:分频模块、计时模块、校时模块、动态扫描译码显示模块和整点报时模块。

下面通过各个模块的设计来了解电子时钟的构成:一、 分频模块程序附录:module clk2clk1s(clk,clk1s); input clk;output clk1s;reg clk1s;reg [3:0] cnt;always@(posedge clk)if(cnt==4'b1111)beginclk1s<=~clk1s;cnt<=0;endelsecnt<=cnt+1; endmodule波形仿真:二、 计时模块六十进制计数器六十进制计数器程序附录:六十进制计数器模块:module m60(clk,clr,qh,ql,cao);input clk,clr;output cao;output[3:0] qh,ql;reg [3:0] qh,ql;reg cao;always @(posedge clk or negedge clr) beginif(clr==0)beginqh<=4'h0;ql<=4'h0;cao<=0;endelse if(ql==9)beginql<=0;if(qh==5)beginqh<=0;cao<=1;endelse qh=qh+1;endelsebeginql<=ql+1;cao<=0;endendendmodule二十四进制计数器模块:module m24(clk,clr,qh,ql);input clk,clr;output[3:0] qh,ql;reg [3:0] qh,ql;always @(posedge clk or negedge clr) beginif(clr==0)beginqh<=4'h0;ql<=4'h0;endelse if(qh==2)beginql<=ql+1;if(ql==3)beginqh<=0;ql<=0;endendelse if(ql==9)beginqh<=qh+1;ql<=0;endelseql<=ql+1; end endmodule波形仿真:清零清零正常计时三、 校时模块四、 动态译码显示模块CCK 为0不支持校时,有进位信号时产生分(时)脉冲程序附录:1、位扫描信号(HH,HL,MH,ML,SH,SL逐位扫描,并输出)module sel(clk,hh,hl,mh,ml,sh,sl,out);input clk;input [3:0] hh,hl,mh,ml,sh,sl;output [3:0] out;reg [3:0] out;reg [3:0] ss=0;always @(posedge clk)beginif(ss<4'b0101)ss<=ss+1;elsess<=0;endalways @(posedge clk)begincase(ss)4'd0:out<=sl;4'd1:out<=sh;4'd2:out<=ml;4'd3:out<=mh;4'd4:out<=hl;4'd5:out<=hh;endendmodule仿真图:2、段扫描信号(选择数码管点亮哪一位)module seg(clk,seg);input clk;output [5:0] seg;reg [5:0] seg;reg [3:0] ss=0;always @(posedge clk)beginif(ss<4'b0101)ss<=ss+1;elsess<=0;endalways @(posedge clk)begincase(ss)4'd0:seg<=6'b111110;4'd1:seg<=6'b111101;4'd2:seg<=6'b111011;4'd3:seg<=6'b110111;4'd4:seg<=6'b101111;4'd5:seg<=6'b011111;default:seg<=6'b111111;endcaseend3、4—7译码module decode4_7(decodeout,indec); output[6:0] decodeout;input[3:0] indec;reg[6:0] decodeout;always @(indec)begincase(indec)4'd0:decodeout=7'b1111110;4'd1:decodeout=7'b0110000;4'd2:decodeout=7'b1101101;4'd3:decodeout=7'b1111001;4'd4:decodeout=7'b0110011;4'd5:decodeout=7'b1011011;4'd6:decodeout=7'b1011111;4'd7:decodeout=7'b1110000;4'd8:decodeout=7'b1111111;4'd9:decodeout=7'b1111011;default: decodeout=7'b0000000;endcaseendendmodule五、 整点报时模块六、 数字钟仿真图数字钟的设计注:动态扫描的时钟频率尽量要快。

基于FPGA的数字钟设计

基于FPGA的数字钟设计

基于FPGA的数字钟设计摘要:现实生活中经常会出现需要用时间测定参数数值的情况,服务日常生活和生产。

基于FPGA设计数字电路产品已经成为当前的重要设计方法。

本文设计选用了Quartus软件环境,运用描述逻辑Verilog HDL,由上至下的模式,基于FPGA完成了数字时钟的设计方案。

本次设计成果采用按键对闹钟的起止点进行控制,能够显示时,分,秒等并且能够实现整点报时。

其中的FPGA技术就是本次试验的亮点之一,其设计易于学习,各个模块分工清晰,在模拟软件上很容易运行,还能够适配于许多种环境,因此总体的系统性能指标还是相当有保证的。

关键词:数字钟;FPGA;Verilog HDL;Quartus1.1 课题研究背景在现代社会,数据集成电路已广泛运用于日常日常生活的各行各业。

数据集成电路也在不停拆换。

从起初的整流管、电子管、大中小型集成电路发展趋势为具备特大型集成电路和独特作用的各类专用型集成电路。

可是,因为微电子技术科技进步的迅猛发展,集成电路设计方案和生产制造工作中再也不会由半导体生产商独立担负。

系统软件室内设计师更喜欢立即设计方案专用型集成电路(ASIC)处理芯片,并马上资金投入具体运用,因而发生了当场可编程逻辑机器设备(FPLD),在其中应用最普遍的是当场可编门阵列(FPGA)。

数字钟是一种选用数字电路设计技术性完成时、分、秒计时的装置,在完成数据与此同时表明时、分、秒的准确时间和精确校正时,体积小、重量轻、抗干扰能力强、对自然环境需要高、高精密、易于开发设计等与在办公系统系统软件等众多行业运用非常普遍的传统式表壳式机械手表对比,数字表更精确、形象化,因为沒有机械设备装置,使用期限长。

1.2 国内外研究现状近些年来已经有许多技术人员针对电子器件以及时钟等技术进行了研究,但真正意义上的数字钟表起源于50年代或60年代。

伴随着在我国数字钟表电源电路销售市场的迅速发展趋势,尤其是十二五阶段经济发展方法这一领土主权主旋律早已明确,与之有关的关键生产制造技术运用和产品研发将变成领域公司关心的焦点。

基于FPGA的数字电子时钟设计与实现.

基于FPGA的数字电子时钟设计与实现.

课程设计 (论文说明书题目:基于 FPGA 的数字电子时钟设计院 (系 :信息与通信学院专学生姓名:学号:0900240115指导教师:职2012 年 12 月 25 日一、所用设备与器材1.1仪器设备使用仪器设备有 FPGA DE2-70开发板、 PC 机、信号发生器。

图 1 FPGA DE2-70开发板图二.系统方案2.1 设计思想利用数字电子技术、 EDA 设计方法、 FPGA 等技术,设计、仿真并实现一个基于 FPGA 的数字电子时钟基本功能, 其基本组成框图如图 1所示,振荡器采用ALTERA 的 DE2-70实验板的 50MHz 输出,分频器将 50MHz 的方波进行分频进而得到 1Hz 的标准秒脉冲,时、分、秒计时模块分别由二十四进制时计数器、六十进制分计数器和六十进制秒计数器完成,校时模块完成时和分的校正。

扩展功能设计为倒计时功能,从 59分 55秒至 59分 59秒,每秒亮一盏灯报时。

2.1.1课题背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高, 同时也使现代电子产品性能更进一步, 产品更新换代的节奏也越来越快。

20世纪 80年代末,出现了 FPGA(Field Progrommable Gate Array, CAE 和 CAD 技术的应用更为广泛,它们在 PCB 设计的原理图输入,自动布局布线及 PCB 分析, 以及逻辑设计,逻辑仿真布尔综合和化简等方面担任了重要的角色,为电子设计自动化必须解决的电路建模,标准文档及仿真测试奠定了基础。

硬件描述语言是 EDA 技术的重要组成部分, VHDL 是作为电子设计主流硬件的描述语言。

本论文就是应用 VHDL 语言来实现秒表的电路设计。

VHDL 语言是标准硬件描述语言,它的特点就是能形式化抽样表示电路结构及行为,支持逻辑设计中层次领域的描述,借用了高级语言的精巧结构简化电路描述,具有电路模拟与验证及保证设计的正确性,支持电路由高层向底层的综合变换,便于文档管理,易于理解和设计重用。

基于FPGA的数字电子钟的设计与实现

基于FPGA的数字电子钟的设计与实现

基于FPGA的数字电⼦钟的设计与实现背景:本实验所有结果基于Quartus II 13.1 (64-bit)实现,实验过程采⽤⾃下⽽上⽬录⼀、基本功能设计与思路基本功能:能实现秒、分钟、⼩时的计数,计数结果清晰稳定的显⽰在 6 位数码管上。

1、动态显⽰模块该模块主要功能是通过数码管的动态扫描实现 6 位数码管显⽰计数结果,本模块由扫描模块scan_cnt6,位选控制模块 dig_select,数据选择控制模块 seg_select 以及译码模块 decoder 构成扫描模块 scan_cnt6模块功能:产⽣ 位选控制端dig_select 和数据选择端 code_select 模块所需要的地址信息,扫描时钟决定位选信号和数据切换的速度。

设计思路:利⽤74390芯⽚(P160 TTL 双⼗进制异步计数器)构建⼀个模六计数器,就是6进制计数器,利⽤计数到6(110)时,“q2”和“q1”为⾼电平,产⽣ ⼀个复位信号,加到74390的⾼电平有效的异步清0端“1CLR”上,使计数器回0,从⽽实现模六计数。

设计结果:cnt6模块设计图波形仿真:(默认为时序仿真)cnt6模块波形仿真图位选模块 dig_select模块功能:在地址端的控制下,产⽣位选信号。

设计思路:利⽤74138芯⽚(3线-8线译码器),当选通端输⼊端G1为⾼电平,选通端输⼊端G2AN和G2BN为低电平时,将扫描信号cnt6的输出作为输⼊信号,dig[5..0]是译码输出,输出低电平有效。

设计结果:dig_select模块设计图波形仿真:dig_select模块波形仿真图数据选择模块 seg_select模块功能:输⼊ 6 组数据,每组数据 4bit,本模块完成在地址端的控制下从6 组数据当中选择 1 组输出。

设计思路:利⽤74151芯⽚(P91 8选1数据选择器),在控制输⼊端GN为低电平时,将扫描信号的选择下,分别选中D[5..0]对应的输⼊信号输出为Y。

基于FPGA的数字时钟设计开题报告

基于FPGA的数字时钟设计开题报告

开题报告毕业设计题目:基于FPGA的数字钟系统设计基于FPGA的数字钟系统设计开题报告1选题目的意义和可行性在这个时间就是金钱的年代里,数字电子钟已成为人们生活中的必需品。

目前应用的数字钟不仅可以实现对年、月、日、时、分、秒的数字显示,还能实现对电子钟所在地点的温度显示和智能闹钟功能,广泛应用于车站、医院、机场、码头、厕所等公共场所的时间显示。

随着现场可编程门阵列( field program-mable gate array ,FPGA) 的出现,电子系统向集成化、大规模和高速度等方向发展的趋势更加明显[1],作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,提高系统工作速度,缩短产品研发周期。

故利用FPGA这一新的技术手段来研究电子钟有重要的现实意义。

设计采用FPGA现场可编程技术,运用自顶向下的设计思想设计电子钟。

避免了硬件电路的焊接与调试,而且由于FPGA的I /O端口丰富,内部逻辑可随意更改,使得数字电子钟的实现较为方便。

本课题使用Cyclone EP1C6Q240的FPGA器件,完成实现一个可以计时的数字时钟。

该系统具有显示时、分、秒,智能闹钟,按键实现校准时钟,整点报时等功能。

满足人们得到精确时间以及时间提醒的需求,方便人们生活[2-3]。

2 研究的基本内容与拟解决的主要问题2.1研究的基本内容数字时钟是采用电子电路实现对时间进行数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度不断提高。

数字时钟系统的实现有很多,可以利用VerilogDHL语言在Quartus II里实现时、分、秒计数的功能。

在芯片内部存储器设24个字节分别存放时钟的时、分、秒信息。

数字时钟首先是秒位(共8位)上按照系统时钟CLK进行计数,存储器内相应的秒值加1;若秒位的值达到60(110000),则将其清零,并将相应的分位(共8位)的值加1;若分值达到60(110000),则清零分位,并将时位(共8位)的值加1;若计数满24(100100)后整个系统从0开始重新进行计数。

基于FPGA的数字钟课程设计

基于FPGA的数字钟课程设计

集成电路设计课程设计报告专业班级学号姓名基于FPGA的数字钟课程设计1.任务和设计要求设计具有时、分、秒计数显示,以24小时循环计时的时钟电路,带有清零和校准功能;2.设计原理采用硬件描述语言Verilog 进行编程,实现20MHZ晶振到1HZ的分频;采用verilog 语言实现数字表功能实现的各个模块;通过各个模块的代码生成相应的模块原理图;再将各个模块生成的原理图进行叠加组成一个数字表系统;3.系统设计设计的数字表有6个输入,16个输出;6个输入中,有一个是时钟信号,开发板上的28号引脚输入的50MHZ的时钟信号;一个清零端,当数字表正常显示时,按下清零端可以实现数字钟整体电路图:4.各个模块设计基于EP1C6Q240C8的数字钟设计,有6个模块组成:Fdiv 分频模块Control 模式选择模块Tune 校正模块Zoushi 时间正常运行模块Saomiao 数码管动态扫描模块;Decoder BCD译码模块;Fdiv 模块:功能:实现20MHZ的时钟信号分成10KHZ的信号和1HZ的信号;输入:clk 为20MHZ的时钟信号;输出:f10000HZ 为10KH的时钟信号;F1HZ 为1HZ的时钟信号;Fdiv 模块代码:module fdiv(clk,f10000Hz,f1Hz);output f10000Hz,f1Hz;input clk;reg f10000Hz,f1Hz;integer CNT1=0,CNT2=0;always@(posedge clk)beginif(CNT1<1999)beginCNT1=CNT1+1;f10000Hz<=1'b0;endelsebeginCNT1=0;f10000Hz<=1'b1;endendalways@(posedge f10000Hz)beginif(CNT2<9999)beginCNT2=CNT2+1;f1Hz<=1'b0;endelsebeginCNT2=0;f1Hz<=1'b1;endendendmodulefdiv 模块波形仿真:由于实际的分频波形仿真中,由于要将20MHZ的分成1HZ的,需要将信号缩小20 000 000倍,因此,此处采用将20HZ的先分成10HZ,然后再将10HZ的分成1HZ的时钟信号;在仿真中这样整,在实际演示中再改下代码,实现真正的20MHZ到1HZ的分频;它们只是一个倍数关系而已;Control 模块:功能:实现电子表的正常显示及时间校正模式的转换;输入:key 模式修改键,每来一个高电平,mode加一次。

(完整word版)基于FPGA的数字时钟设计开题报告

(完整word版)基于FPGA的数字时钟设计开题报告

开题报告毕业设计题目:基于FPGA的数字钟系统设计基于FPGA的数字钟系统设计开题报告1选题目的意义和可行性在这个时间就是金钱的年代里,数字电子钟已成为人们生活中的必需品。

目前应用的数字钟不仅可以实现对年、月、日、时、分、秒的数字显示,还能实现对电子钟所在地点的温度显示和智能闹钟功能,广泛应用于车站、医院、机场、码头、厕所等公共场所的时间显示。

随着现场可编程门阵列( field program-mable gate array ,FPGA) 的出现,电子系统向集成化、大规模和高速度等方向发展的趋势更加明显[1],作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,提高系统工作速度,缩短产品研发周期。

故利用FPGA这一新的技术手段来研究电子钟有重要的现实意义。

设计采用FPGA现场可编程技术,运用自顶向下的设计思想设计电子钟。

避免了硬件电路的焊接与调试,而且由于FPGA的I /O端口丰富,内部逻辑可随意更改,使得数字电子钟的实现较为方便。

本课题使用Cyclone EP1C6Q240的FPGA器件,完成实现一个可以计时的数字时钟。

该系统具有显示时、分、秒,智能闹钟,按键实现校准时钟,整点报时等功能。

满足人们得到精确时间以及时间提醒的需求,方便人们生活[2-3]。

2 研究的基本内容与拟解决的主要问题2.1研究的基本内容数字时钟是采用电子电路实现对时间进行数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度不断提高。

数字时钟系统的实现有很多,可以利用VerilogDHL语言在Quartus II里实现时、分、秒计数的功能。

在芯片内部存储器设24个字节分别存放时钟的时、分、秒信息。

数字时钟首先是秒位(共8位)上按照系统时钟CLK进行计数,存储器内相应的秒值加1;若秒位的值达到60(110000),则将其清零,并将相应的分位(共8位)的值加1;若分值达到60(110000),则清零分位,并将时位(共8位)的值加1;若计数满24(100100)后整个系统从0开始重新进行计数。

基于FPGA的数字时钟的设计1.(精选)

基于FPGA的数字时钟的设计1.(精选)

基于FPGA的数字时钟的设计课题:基于FPGA的数字时钟的设计学院:电气信息工程学院专业:测量控制与仪器班级: 08测控(2)班**:***学号: ********合作者姓名:颜志林2010 年12 月12 日综述近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。

这就迫切要求理工科大学生熟悉和掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题和故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计和组织实验能力。

本次课程设计的目的在于培养学生对基本电路的应用和掌握,使学生在实验原理的指导下,初步具备基本电路的分析和设计能力,并掌握其应用方法;自行拟定实验步骤,检查和排除故障、分析和处理实验结果及撰写实验报告的能力。

综合实验的设计目的是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。

数字电子钟是一种计时装置,它具有时、分、秒计时功能和显示时间功能;具有整点报时功能。

本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固和掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识和了解。

1、课题要求1.1课程设计的性质与任务本课程是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。

目的在于培养学生的理论联系实际,分析和解决问题的能力。

通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。

学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力和严谨的工作作风。

1.2课程设计的基本技术要求1)根据课题要求,复习巩固数字电路有关专业基础知识;2)掌握数字电路的设计方法,特别是熟悉模块化的设计思想;3) 掌握QUARTUS-2软件的使用方法;4) 熟练掌握EDA工具的使用,特别是原理图输入,波形仿真,能对仿真波形进行分析;5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法;6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法;7) 能根据设计要求对设计电路进行仿真和测试;8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。

基于FPGA的数字时钟设计

基于FPGA的数字时钟设计
第2 8卷
20 年 08
第 5 期
9月
核 电子学 与探测 技术
Nu l rE eto i ce lcrnc a s& Deet nTeh oo y tci c n l o g
V0 . 8 No 5 12 .
S p 2 0 e. 08
基 于 F G 的数 字 时钟 设 计 P A
管理器 D M 的性能特点及设计要点作一简要 C
介绍 , 给出应用设计具体实例及逻辑仿真波形
图。
缺点是精度不高 、 使用不方便 , 尤其高速时钟在
P B板布线会产 生较 大的畸变。随着 大规模 C
可编 程逻辑 器件 F GA 或 C L P P D技术 的发 展 . 世界上 几大 可编 程逻辑 器件 厂家 都推 出 了新 型
中图分类号 : TN76 8 文献标 识码 : A 文章编号 : O 5—9 4 2 0 ) 50 8—5 2 80 3 (O 8 O—9 20
在较 复 杂应 用 电子 系统 中 , 常会 在 一个 经 系统 或一 块 电路 板 中用 到多 种 频率 、 同相位 不 或 固定 相 位 差 的高 速 多 相 时 钟 , 如 , 精 度 例 高
CLKDV
PS N CDEC I PS N E CLKF X
所有输 出时钟才是稳定可靠的。
S A US 7 O : C 输出的状态标 志信 T T [ :] D M - 号 。当 S A U [ ] , T T S 0 一1 表示相位移动溢 出;
C LKF l O X 8
RS T D S EN S
C LK27 O CL K2X CLK2 l O X 8
L C E D M 输 出 的标 志 信 号, O K D: C 当 D CM 的锁 相 环 成 功 实 现 锁 相 后 , OC D输 L KE

基于FPGA的高精度同步时钟系统设计

基于FPGA的高精度同步时钟系统设计
C h e n P u j i a n g ’ . G o n g Gu a n g h u a ’ ’
( 1 .De p a r t me n t o f En g i n e e r i n g Ph y s i c s ,Ts i n g h u a Un i v e r s i t y,B e i j i n g 1 0 0 0 8 4,Ch i n a ;2 .Ke y La b o r a t o r y o f P a r t i c l e &
间戳 交 换 的过 程 示 意 图如 图 1所 示 。
在很 多 大 型 物 理 实 验 和 工 业 应 用 中 , 时 钟 同步 技 术 都 扮 演 着 举 足 轻 重 的 作 用 。 比如 在 中 国 四川 锦 屏 暗 物 质 探 测实验 中 , 需 要 为 多 个 独 立 探 测 装 置 提 供 相 应 的 时 间 信

中 的 同步 系 统 就 是 基 于 纯 硬 件 实 现 的 。
Ra di a t i o n I ma g i ng,M i n i s t r y o f Edu c a t i on,Ts i ng hua Un i ve r s i t y;3. Ts i ng hua Fr e e s c a l e Tr a i ni n g Ce nt e r ) Ab s t r a c t :T h i s pa pe r i nt r od uc e s t he ba s i c t he o r y of Pr e c i s i o n Ti me Pr ot oc o 1 ( PTP) . A l o w- c os t a nd h i g h — p r e c i s i on t i me s y nc h r o ni z a t i o n s ys t e m i s d es i gne d a nd i m pl e me nt e d ba s e d on PT P. Al l t h e mo dul e s i n t h e de s i gn,i nc l udi n g l oc a l t i me m od ul e, t i me pr o t oc ol m od ul e, s e n di ng buf f e r mo dul e,r e c e i vi ng buf f e r mo du l e a n d t i me s t a mp m od ul e, a r e i m pl e me n t e d i n FPG A. T h i s de s i g n c a n a c h i e v e na n os e c o nd s y nc hr o ni z a t i on a c c u r a c y . Be s i de s ,t h i s l ow c o s t s ol ut i on i s e a s y t o e xt e nd,t hus s u i t a bl e f or a p pl i c a t i ons i n l o c a l ne t wor k c l oc k s y n e hr o—

基于FPGA的数字时钟设计

基于FPGA的数字时钟设计

基于FPGA的数字时钟设计数字时钟是现代生活中必不可少的时间展示设备,广泛应用于各种场所,如家庭、办公室、学校等。

随着科技的不断发展,数字时钟的功能也得到不断升级,为人们日常生活提供了更多的便利和体验。

本文将介绍基于FPGA的数字时钟设计方案。

FPGA(Field Programmable Gate Array)是可编程门阵列的缩写,是一种现场可编程逻辑器件。

FPGA具有可编程性强、功能强大、极低的延迟等特点,被广泛应用于数字系统设计中。

本文中使用FPGA来实现数字时钟设计方案。

数字时钟的核心是计时电路,计时电路可以通过FPGA实现,使用FPGA来实现数字时钟的主要优点是可编程性强,能够满足不同需求的设计。

一、数字时钟的设计思路1、时钟信号的产生数字时钟的起点是时钟信号的产生,时钟信号的产生一般需要使用晶振。

晶振可以在一定频率范围内提供稳定的时钟信号。

FPGA可以通过将晶振与逻辑电路相连接,从而得到稳定的时钟信号。

2、计时电路的设计在数字时钟中,需要实现时、分、秒的计时功能。

这可以采用三个计时器来实现。

计时器可以使用FPGA内置的计数器实现,也可以通过逻辑电路实现。

计时器根据时钟信号的变化而变化,通过累计时钟信号的脉冲数计算出时、分、秒。

3、数码管的控制数字时钟的时间要通过数码管进行显示,数码管需要接受来自FPGA的控制信号才能正常显示数字。

通常采用多路复用器的方式来控制数码管的显示。

这里可以使用FPGA内置的多路复用器实现,FPGA输出控制信号,控制多路复用器选择哪个数码管进行显示。

数字时钟的硬件设计主要包括以下部分:时钟信号发生电路包含晶振以及晶振产生的时钟信号经过变压器传送到电路板上。

在电路板上,时钟信号经过电路处理,产生一定的电平和频率,供后续计时模块使用。

2、计时模块计时模块包括三个计时器,分别用于计算时、分、秒。

计时器通过累加时钟信号的脉冲数计算时间。

计时模块的输出需要送到数码管的控制模块进行显示。

Verilog数字钟设计

Verilog数字钟设计

hclk<=0;
end
end
////////小时计时模块///
assign h_clk=hclk||counta;//////h_clk 产生进位或校正改变
assign cta=(num4&clk)|(!num4&h_clk); //cta 用于计时、校时中的小时计数
always @(posedge cta)
Hale Waihona Puke always @(posedge ctb)
if(ahour==8'h23) ahour<=0;
else
if(ahour[3:0]==9)
begin ahour[3:0]<=0; ahour[7:4]<=ahour[7:4]+1; end
else ahour[3:0]<=ahour[3:0]+1;
endmodule
else
begin counta<=change; {LD_min,LD_hour}<=1; end/////指示当前调整的是小时
always @(posedge clk_2) if ( cnt5 < 10/2-1) /////////////////////////////////////////10 分频,生成 1kHz 标准信号 begin cnt5<= cnt5 + 1; end
else begin cnt5<= 0; clk_1k<= ~clk_1k; end
代码如下:
//fenpin module fenpin(clk,clk_1Hz,clk_100Hz,clk_1k); output clk_1Hz,clk_100Hz,clk_1k; input clk; reg clk_1Hz=0,clk_3=0,clk_1=0,clk_2=0,clk_1k=0; reg [6:0] cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0; wire clk_100Hz; always @(posedge clk) begin if ( cnt1 < 156/2-1) /////////////////////////////////////////////156 分频,生成 1MHz 信号 begin cnt1 <= cnt1 + 1; end else begin cnt1 <= 0; clk_1 <= ~clk_1; end end

基于FPGA的数字钟设计-华中科技大学电子线路实验报告

基于FPGA的数字钟设计-华中科技大学电子线路实验报告

基于FPGA的数字钟设计Your Name一、实验目的1.了解数字钟的功能要求及设计方法;2.了解CPLD/FPGA的一般结构及开发步骤;3.熟悉用FPGA器件取代传统的中规模集成器件实现数字电路与系统的方法。

二、实验要求1.以数字形式显示时、分、秒的时间;2.小时计数器为同步24进制;3.要求手动校时、校分;4.任意闹钟;5.小时为12/24进制可切换;6.报正点数(几点响几声)。

三、实验内容1.系统模块框图2.时间校准模块时间校准模块可由两位控制信号控制当前校准状态。

3.时分秒计数模块时分秒计数模块由60进制秒计数器、60进制分计数器和24进制时计数器组成。

时分秒的计数器具有复位和计数功能。

其中CR为复位信号,当CR为0时,时分秒的计数器清0,EN为使能信号,EN为1时开始计时,EN为0则暂停计时。

分秒时的进位通过外部组合逻辑实现。

4.显示模块计时模块产生的BCD码通过编写的CD4511功能模块转换为数码管的显示信号。

5.分频模块开发板的系统时钟为50MHz,产生1Hz的CP信号需要一个模为25M的计数器分频得到1Hz的CP信号。

四、具体代码1.顶层模块(clock.v)module SHOW_CTRL(MODE,SHOW_MODE,CP,Hour,Minute,Second,SHOW1,SHOW2);input CP,MODE,SHOW_MODE;input[7:0]Hour,Minute,Second;output[7:0]SHOW1,SHOW2;reg[7:0]SHOW1,SHOW2;always@(MODE,SHOW_MODE) beginif((MODE==0)&&(SHOW_MODE==0))begin SHOW2<=Minute[7:0];SHOW1<=Hour[7:0]; endelse if((MODE==0)&&(SHOW_MODE==1))begin SHOW2<=Second[7:0];SHOW1<=Minute[7:0]; endelse if((MODE==1)&&(SHOW_MODE==0))begin SHOW2<=Minute[7:0];SHOW1<=Hour[7:0]; endelse if((MODE==1)&&(SHOW_MODE==1))begin SHOW2<=Second[7:0];SHOW1<=Minute[7:0]; endendendmodule2.分频模块(clk_div.v)module clk_div(clk_50M,clk_1);input clk_50M;output reg clk_1;reg [8:0]count;always @(posedge clk_50M)beginif(count>8'd25)beginclk_1=~clk_1;count=0;endelsecount<=count+1;endendmodule3.模60计数器模块(counter60.v)module counter60(EN,CP,nCR,QoH,QoL);input EN,CP,nCR;output [3:0]QoH,QoL;reg [3:0]QoH,QoL;always@(posedge CP) beginif(~nCR) beginQoH<=4'b0000;QoL<=4'b0000; endelse if(~EN) beginQoH<=QoH;QoL<=QoL; endelseif(QoH==4'b0101&&QoL==4'b1001)beginQoH<=4'b0000;QoL<=4'b0000;endendelse if(QoH<4'b0110&&QoL<4'b1001){QoH,QoL}<={QoH,QoL+4'b0001};else if(QoH<4'b0110&&QoL==4'b1001){QoH,QoL}<={QoH+4'b0001,4'b0000};endendmodule4.模24计数器模块(counter24.v)module counter24(nCR,EN,CP,CntH,CntL);input CP,nCR,EN;output[3:0] CntH,CntL;reg [3:0]CntH,CntL;reg CO;always@(posedge CP or negedge nCR) beginif(~nCR) {CntH,CntL}<=8'h00;else if(~EN) {CntH,CntL}<={CntH,CntL};else if((CntH>2)||(CntL>9)||((CntH==2)&&(CntL>=3))){CntH,CntL}<=8'h00;else if((CntH==2)&&(CntL<3))begin CntH<=CntH; CntL<=CntL+1'b1; end else if(CntL==9) begin CntH<=CntH+1'b1; CntL<=4'b0000; endelse begin CntH<=CntH; CntL<=CntL+1'b1; endendendmodule5.显示模块(HEX2LED.v)module HEX2LED(HEX,SEG);input[3:0] HEX;output[7:0] SEG;wire[3:0] HEX;reg[6:0] SEG;always@(HEX)begincase(HEX)4'h0: SEG = 7'b0000001;4'h1: SEG = 7'b1001111;4'h2: SEG = 7'b0010010;4'h3: SEG = 7'b0000110;4'h4: SEG = 7'b1001100;4'h5: SEG = 7'b0100100;4'h6: SEG = 7'b0100000;4'h7: SEG = 7'b0001111;4'h8: SEG = 7'b0000000;4'h9: SEG = 7'b0000100;default: SEG = 7'b0000001;endcaseendendmodule五、仿真截图(仿真秒时分计时及其数码管显示,仿真环境为vivado 2018.3)秒计时仿真分计时仿真时计时仿真如下图所示为分校准仿真,当Amin分校准位为1时分开始随着CP信号的频率以1秒加1的步进变动。

基于FPGA的数字电子时钟设计

基于FPGA的数字电子时钟设计

名目第一章绪论现代社会的标志之一确实是根基信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。

支撑信息电子产品高速开展的根底确实是根基微电子制造工艺水平的提高和电子产品设计开发技术的开展。

前者以微细加工技术为代表,而后者的代表确实是根基电子设计自动化〔electronicdesignautomatic,EDA〕技术。

本设计采纳的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、存放器传输级和逻辑门级这三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在实际应用中越来越广泛。

ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器;而FPGA是特不的ASIC芯片,与其它的ASIC芯片相比,它具有设计开发周期短、设计制造本钞票低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。

在操纵系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所对应的功能。

因此,按键信息输进是与软件结构紧密相关的过程。

依据键盘结构的不同,采纳不同的编码方法,但不管有无编码以及采纳什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。

[1]钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些根基上以钟表数字化为根底的。

因此研究数字钟以及扩大其应用有着特不现实的意义。

1.1选题背景本节将从FPGA嵌进式应用开发技术与数字钟技术开展的客瞧实际动身,通过对该技术开展状况的了解及课题本身的需要,指出研究基于FPGA的芯片系统与设计——数字钟的设计与实现的必要性。

课题相关技术的开展当今电子产品正向功能多元化,体积最小化,功耗最低化的方向开展。

它与传统的电子产品在设计上的显着区不是大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗落低,同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发周期。

基于FPGA的数字时钟设计设计

基于FPGA的数字时钟设计设计

基于FPGA的数字时钟设计设计设计(论文)题目:基于FPGA的数字时钟设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日摘要随着科学技术的飞速发展,系统向着高速度、低功耗、低电压和网络化、移动化方向发展,各个领域对电路的要求越来越高,传统单一功能的电路很难满足发展的要求,而可编程逻辑器件(CPLD/FPGA)可以很方便地通过对逻辑结构的修改和配置,完成对系统和设备的升级。

基于FPGA的数字时钟设计毕业设计论文

基于FPGA的数字时钟设计毕业设计论文

摘要之阿布丰王创作本设计为一个多功能的数字时钟,具有时、分、秒计数显示功能,以24小时循环计数;具有校对功能. 本设计采纳EDA技术,以硬件描述语言Verilog HDL为系统逻辑描述语言设计文件,在QUARTUSII工具软件环境下,采纳自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟.系统由时钟模块、控制模块、计时模块、数据译码模块、显示以及组成.经编译和仿真所设计的法式,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,按键进行校准,整点报时,闹钟功能.关键词:数字时钟,硬件描述语言,Verilog HDL,FPGAAbstractThe design for a multi-functional digital clock, with hours, minutes and seconds count display to a 24-hour cycle count; have proof functions function. The use of EDA design technology, hardware-description language VHDL description logic means for the system design documents, in QUAETUSII tools environment, a top-down design, by the various modules together build a FPGA-based digital clock. The main system make up of the clock module, control module, time module, data decoding module, display and broadcast module. After compiling the design and simulation procedures, the programmable logic device to download verification, the system can complete the hours, minutes and seconds respectively, using keys to cleared , to calibrating time. And on time alarm and clock for digital clock.Keywords:digital clock,hardware description language,Verilog HDL,FPGA目录第一章绪论1.1.选题意义与研究现状在这个时间就是金钱的年代里,数字电子钟已成为人们生活中的必需品.目前应用的数字钟不单可以实现对年、月、日、时、分、秒的数字显示,还能实现对电子钟所在地址的温度显示和智能闹钟功能,广泛应用于车站、医院、机场、码头、茅厕等公共场所的时间显示.随着现场可编程门阵列( field program-mable gate array ,FPGA) 的呈现,电子系统向集成化、年夜规模和高速度等方向发展的趋势更加明显, 作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,提高系统工作速度,缩短产物研发周期.故利用 FPGA这一新的技术手段来研究电子钟有重要的现实意义.设计采纳FPGA现场可编程技术,运用自顶向下的设计思想设计电子钟.防止了硬件电路的焊接与调试,而且由于FPGA的 I /O 端口丰富,内部逻辑可随意更改,使得数字电子钟的实现较为方便.本课题使用Cyclone EP1C6Q240的FPGA器件,完成实现一个可以计时的数字时钟.该系统具有显示时、分、秒,智能闹钟,按键实现校准时钟,整点报时等功能.满足人们获得精确时间以及时间提醒的需求,方便人们生活.1.2.国内外研究及趋势随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多.二十一世纪的今天,最具代表性的计时产物就是电子时钟,它是近代世界钟表业界的第三次革命.第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产物就是带有摆或摆轮游丝的机械钟或表.第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级.第三次革命就是单片机数码计时技术的应用,使计时产物的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期的显示功能,它更符合消费者的生活需求!因此,电子时钟的呈现带来了钟表计时业界跨跃性的进步.我国生产的电子时钟有很多种,总体上来说以研究多功能电子时钟为主,使电子时钟除原有的显示时间基本功能外,还具有闹铃,报警等功能.商家生产的电子时钟更从质量,价格,实用上考虑,不竭的改进电子时钟的设计,使其更加的具有市场.1.3.论文结构第一章详细论述了近些年来,数字化时钟系统研究领域的静态及整个数字化时钟系统的发展状况,同时分析了所面临的问题与解决方案,从而提出了本论文的研究任务.第二章从研究任务着手,选择符合设计要求的经常使用芯片及其它元器件,详细论述了各接口电路的设计与连接,以模块化的形式,整合数字化时钟硬件的设计从小到年夜,从局部到整体,循序渐进,最终实现一个功能齐全的数字化时钟系统.第三章根据系统设计要求,着手对数字化时钟系统软件进行功能的实现,将各功能模块有机结合,实现时钟走时,实现闹铃、整点报时附加功能.第四章依照设计思路,在联机调试过程中,对时钟系统的缺乏和缺点进行分析,将调试过程作重点的记录.第五章对全文的总结,对本系统功能实现以及制作过程中需要注意的方面,及整个系统软件编写中所吸取的经验教训进行论述,同时,也对整个研究应用进行展望.第二章编程软件及语言介绍2.1Quarters II编程环境介绍运行环境设计采纳quartus II软件实现,因此针对软件需要用到的一些功能在这里进行描述.Quartus II软件界面简单易把持,如下图2.1:图2.1Quartus II软件界面图2.1.1菜单栏1)【File】菜单Quartus II的【 File】菜单除具有文件管理的功能外,还有许多其他选项图2.2Quartus II菜单栏图(1)【New 】选项:新建工程或文件,其下还有子菜单【New Quartus II Project】选项:新建工程.【Design File】选项:新建设计文件,经常使用的有:AHDL文本文件、VHDL文本文件、Verilog HDL文本文件、原理图文件等.【Vector Waveform Five】选项:矢量波形文件.(2)【Open】选项:翻开一个文件.(3)【New Project Wizard 】选项:创立新工程.点击后弹出对话框.单击对话框最上第一栏右侧的“…”按钮,找到文件夹已存盘的文件,再单击翻开按钮,既呈现如图所示的设置情况.对话框中第一行暗示工程所在的工作库文件夹,第二行暗示此项工程的工程名,第三行暗示顶层文件的实体名,一般与工程名相同.图2.3Quartus II新建工程图(4)【creat /update】选项:生成元件符号.可以将设计的电路封装成一个元件符号,供以后在原理图编纂器下进行条理设计时调用.2)【View】菜单:进行全屏显示或对窗口进行切换,包括条理窗口、状态窗口、消息窗口等.图2.4Quartus II菜单栏全屏切换图3)【Assignments】菜单(1)【Device】选项:为以后设计选择器件.(2)【Pin】选项:为以后条理树的一个或多个逻辑功能块分配芯片引脚或芯片内的位置.(3)【Timing Ananlysis Setting】选项:为以后设计的 tpd、tco、tsu、fmax 等时间参数设按时序要求.(4)【EDA tool setting】选项:EDA 设置工具.使用此工具可以对工程进行综合、仿真、时序分析,等等.EDA 设置工具属于第三方工具.(5)【Setting】选项:设置控制.可以使用它对工程、文件、参数等进行修改,还可以设置编译器、仿真器、时序分析、功耗分析等.(6)【assignment editor】选项:任务编纂器.(7)【pin planner 】选项:可以使用它将所设计电路的 I/O 引脚合理的分配到已设定器件的引脚上.图2.5Quartus II菜单栏设定引脚下拉图4)【processing】菜单【processing】菜单的功能是对所设计的电路进行编译和检查设计的正确性. (1)【Stop process】选项:停止编译设计项目.(2)【Start Compilation】选项:开始完全编译过程,这里包括分析与综合、适配、装配文件、按时分析、网表文件提取等过程.(3)【analyze current file】选项:分析以后的设计文件,主要是对以后设计文件的语法、语序进行检查.(4)【compilation report】选项:适配信息陈说,通过它可以检查详细的适配信息,包括设置和适配结果等.(5)【start simulation】选项:开始功能仿真.(6)【simulation report】选项:生胜利能仿真陈说.(7)【compiler tool】选项:它是一个编译工具,可以有选择对项目中的各个文件进行分别编译.(8)【simulation tool】选项:对编译过电路进行功能仿真和时序仿真. (9)【classic timing analyzer tool】选项:classic时序仿真工具.(10)【powerplay power analyzer tool】选项:PowerPlay 功耗分析工具.图2.6Quartus II菜单栏运行下拉图5)【tools】菜单【tools 】菜单的功能是(1)【run EDA simulation tool 】选项:运行EDA仿真工具,EDA是第三方仿真工具.(2)【run EDA timing analyzer tool 】选项:运行EDA时序分析工具,EDA 是第三方仿真工具.(3)【Programmer 】选项:翻开编程器窗口,以便对Altera 的器件进行下载编程.图2.7Quartus II仿真菜单下拉图2.1.2工具栏工具栏紧邻菜单栏下方,它其实是各菜单功能的快捷按钮组合区.2.8Quartus II菜单栏图图2.9Quartus II菜单栏按键功能图2.1.3功能仿真流程1、新建仿真文件图2.10Quartus II菜单栏新建文件夹图2、功能方正把持在菜单上点processing在下拉菜单中,如下图:图2.11Quartus II菜单栏processing下拉图2.2Verilog HDL语言介2.2.1什么是verilog HDL语言Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种笼统设计条理的数字系统建模.被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间.数字系统能够按条理描述,并可在相同描述中显式地进行时序建模.Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包括响应监控和设计验证方面的时延和波形发生机制.所有这些都使用同一种建模语言.另外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行.Verilog HDL语言不单界说了语法,而且对每个语法结构都界说了清晰的模拟、仿真语义.因此,用这种语言编写的模型能够使用Ve rilog仿真器进行验证.语言从C编程语言中继承了多种把持符和结构.Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解.可是,Verilog HDL语言的核心子集非常易于学习和使用,这对年夜大都建模应用来说已经足够.固然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述.2.2.2主要功能下面列出的是Verilog硬件描述语言的主要能力:●基本逻辑门,例如and、or和nan d等都内置在语言中.●用户界说原语(UP)创立的灵活性.用户界说的原语既可以是组合逻辑原语,也可以是时序逻辑原语.●开关级基本结构模型,例如pmos和nmos等也被内置在语言中.●提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查.●可采纳三种分歧方式或混合方式对设计建模.这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模.●Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型.线网类型暗示构件间的物理连线,而寄存器类型暗示笼统的数据存储元件.●能够描述条理设计,可使用模块实例结构描述任何条理.●设计的规模可以是任意的;语言分歧毛病设计的规模(年夜小)施加任何限制.●Verilog HDL不再是某些公司的专有语言而是IEEE标准.●人和机器都可阅读Verilog语言,因此它可作为EDA的工具和设计者之间的交互语言.●Verilog HDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展.PLI是允许外部函数访问Verilog模块内信息、允许设计者与模拟器交互的例程集合.●设计能够在多个条理上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级.●能够使用内置开关级原语在开关级对设计完整建模.●同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定.●Verilog HDL能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示.这些值也能够用于与期望值比力,在不匹配的情况下,打印陈说消息.●在行为级描述中,Verilog HDL不单能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述.●能够使用门和模块实例化语句在结构级进行结构描述.●如图显示了Verilog HDL的混合方式建模能力,即在一个设计中每个模块均可以在分歧设计条理上建模.●Verilog HDL还具有内置逻辑函数,例如&(按位与)和|(按位或).●对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用.●可以显式地对并发和按时进行建模.●提供强有力的文件读写能力.●语言在特定情况下是非确定性的,即在分歧的模拟器上模型可以发生分歧的结果;例如,事件队列上的事件顺序在标准中没有界说.图2.12混合设计条理图第三章数字化时钟系统硬件设计3.1系统核心板电路分析本系统采纳的开发平台标配的核心板是QuickSOPC,可以实现EDA、SOP 和DSP的实验及研发.本系统采纳QuickSOPC标准配置为Altera公司的EP1C6Q240C8芯片.(1)核心板的硬件资源核心板采纳4层板精心设计,采纳120针接口.QuickSOPC核心板的硬件原图3.1QuickSOPC硬件方块图(2)FPGA电路核心板QuickSOPC上所用的FPGA为Altera公司Cyclone系列的EP1C6Q240.EP1C6Q240包括有5980个逻辑单位和92Kbit的片上RAM.EP1C6Q240有185个用户I/O口,封装为240-Pin PQFP.核心板EP1C6Q240器件特性如表2-1.表3-1核心EP1C6Q240器件特性:特性核心板EP1C6Q240器件逻辑单位(LE)5980M4K RAM 块20RAM总量(bit)92160PLL(个) 2185最年夜用户I/O数(个)1167216配置二进制文件(.rbf)年夜小(bit)可选串行主动配置器件EPCS1/ EPCS4/ EPCS16(3)配置电路Cyclone FPGA的配置方式包括:主动配置模式、主动配置模式以及JTAG配置模式.本系统采纳的是JTAG配置模式下载配置数据到FPGA.通过JTAG结果,利用Quartus II软件可以直接对FPGA进行独自的硬件重新配置.Quartus II软件在编译时会自动生成用于JTAG配置的.sof文件.Cyclone FPGA设计成的JTAG指令比其他任何器件把持模式的优先级都高,因此JTAG配置可随时进行而不用等候其他配置模式完成.JTAG模式使用4个专门的信号引脚:TDI、TDO、TMS以及TCK.JTAG的3个输入脚TDI、TMS 和TCK具有内部弱上拉,上拉电阻年夜约为25kΩ.在JGTA进行配置的时候,所有用户I/O扣都为高阻态.(4)时钟电路FPGA内部没振荡电路,使用有源晶振是比力理想的选择.EP1C6Q240C8的输入的时钟频率范围为15.625~387MHz,经过内部的PLL电路后可输出15.625~275MHz的系统时钟.当输入时钟频率较低时,可以使用FPGA的内部PLL 调整FPGA所需的系统时钟,使系统运行速度更快.核心板包括一个48MHz的有源晶振作为系统的时钟源.如图2-2所示.为了获得一个稳定、精确的时钟频率,有源晶振的供电电源经过了LC滤波.本系统硬件整体设计框图如图2-3所示:图3.2数字时钟系统硬件电路总体框图3.2系统主板电路分析3.2.1时钟模块电路FPGA内部没振荡电路,使用有源晶振是比力理想的选择.EP1C6Q240C8的输入的时钟频率范围为15.625~387MHz,经过内部的PLL电路后可输出15.625~275MHz的系统时钟.当输入时钟频率较低时,可以使用FPGA的内部PLL 调整FPGA所需的系统时钟,使系统运行速度更快.核心板包括一个50MHz的有源晶振作为系统的时钟源.为了获得一个稳定、精确的时钟频率,有源晶振的供电电源经过了LC滤波.图3.3系统时钟电路图3.2.2显示电路由于本设计需要显示时间信息包括:时、分、秒,显所以采纳主板上七段数码管显示电路与系统连接实现显示模块的功能.主板上七段数码管显示电路如图2-4 所示,RP4和 RP6 是段码上的限流电阻,位码由于电流较年夜,采纳了三极管驱动.图3.4七段数码管显示电路图数码管 LED显示是工程项目中使用较广的一种输出显示器件.罕见的数管有共阴和共阳 2 种.共阴数码管是将 8 个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将 8 个发光二极管的阳极连接在一起作为公共端.公共端常被称作位码,而将其他的 8 位称作段码.如图 2-5所示为共阳数码管及其电路,数码管有 8 个段分别为:h、g、f、e、d、c、b 和a(h 为小数点) ,只要公共端为高电平“1” ,某个段输出低电平“0”则相应的段就亮.图3.5七段数码管显示电路图从电路可以看出,数码管是共阳的,当位码驱动信号为 0时,对应的数码管才华把持;当段码驱动信号为 0 时,对应的段码点亮.3.2.3键盘控制电路键盘控制电路要实现时钟系统调时的功能和闹铃开关的功能.本设计采纳主板上的自力键盘来实现这两个功能.当键盘被按下是为“0”,未被按下是为“1”.电路连接图如图2-6所示.电路中为了防止FPGA的I/O设为输出且为高电平在按键下直接对地短路,电阻RP9、RP10对此都能起到呵护作用.图3.6 键盘电路图3.2.4蜂鸣电路设计如图2-7所示,蜂鸣器使用 PNP三极管进行驱动控制,蜂鸣器使用的是交流蜂鸣器.当在BEEP输入一定频率的脉冲时,蜂鸣器蜂鸣,改变输入频率可以改变蜂鸣器的响声.因此可以利用一个PWM 来控制BEEP,通过改变PWM 的频率来获得分歧的声响,也可以用来播放音乐.若把 JP7断开,Q4 截止,蜂鸣器停止蜂鸣.图3.7蜂鸣电路图第四章数字化时钟系统软件设计4.1整体方案介绍4.1.1整体设计描述设计中的数字时钟,带有按键校准,定点报时,数码管显示等功能.因此数字时钟所包括的模块可分为,分频模块,按键模块,计时校准模块,闹钟模块,LED显示模块,模块之间的关系下图:图4.1整体模块框图针对框图流程,设定出各个模块的需求:1、分频电路:针对计时器模块与闹钟设定模块的需求,可以知道分频模块需要生成一个1Hz的频率信号,确保计时模块可以正常计数.2、计时器模块:计数模块的作用是收到分频模块1Hz频率的信号线,能进行正确计时,而且可以通过按键进行时间的修改,且当整点时,给蜂鸣器发生使能信号,进行整点报时,播放音乐.3、闹钟设定模块:可根据按键的设定闹钟的时间,当计时模块的时间与闹钟设定模块的时间相等的时候,给蜂鸣器一个使能信号,蜂鸣器闹铃..4、蜂鸣器模块:根据计时模块,闹钟模块给出的使能信号,判定蜂鸣器是整点报时,还是闹钟响铃.整点报时会播放音乐,闹钟时嘀嘀嘀报警.5、LED显示模块:根据实际的需求显示计时模块的时间,还是闹钟设定模块的时间,8个七段码LED数码管,进行扫描方式显示数据.4.1.2整体信号界说对整个模块进行信号界说.接口及寄存器界说module clock(clk,key,dig,seg,beep);// 模块名 clockinput clk; // 输入时钟input [4:0] key; //输入按键,key[3:0]分别为秒,分钟,小时的增加按键.Key[4]为闹钟设置按键,key[5]为校准设置按键.output [7:0] dig; // 数码管选择输出引脚 aoutput [7:0] seg; // 数码管段输出引脚output beep; //蜂鸣器输出端reg [7:0] seg_r = 8'h0; //界说数码管输出寄存器reg [7:0] dig_r; //界说数码管选择输出寄存器reg [3:0] disp_dat; // 界说显示数据寄存器reg [8:0] count1; //界说计数寄存器reg [14:0] count; //界说计数中间寄存器reg [23:0] hour = 24'h235956; // 界说现在时刻寄存器reg [23:0] clktime = 24'h000000; //界说设定闹钟reg [1:0] keyen = 2'b11; // 界说标识表记标帜位reg [4:0] dout1 = 5'b11111;reg [4:0] dout2 = 5'b11111;reg [4:0] dout3 = 5'b11111; // 寄存器wire [4:0] key_done; // 按键消抖输出reg [15:0] beep_count = 16'h0; //蜂鸣器寄存器reg [15:0] beep_count_end = 16'hffff; //蜂鸣器截止寄存器reg clktime_en = 1'b1; //闹钟使能寄存器reg sec ; //1秒时钟reg clk1; //1ms时钟reg beep_r; //寄存器wire beepen; //闹钟使能信号4.1.3模块框图通过quartus II的creat symble for current file功能生成框图如下:图4.2生成的符号图分频模块实现,计数电路所需时钟信号为1HZ,而系统时钟为48MHZ,所以要对系统时钟进行分频以来满足电路的需要.4.2分频模块实现4.2.1分频模块描述对分频模块,关键是生成个1Hz的时钟信号.考虑到仿真的需要,模块中间生成1个1kHz的时钟信号.1Hz的信号的发生用来发生时钟的秒脉冲,框图如下图4.2:图4.3分频模块图4.2.2分频模块设计本系统法式设计时钟的准确与否主要取决于秒脉冲的精确度.为了保证计时准确,我们对系统时钟48MHz进行了48000分频生成1kHz信号clk1,在通过1kHz信号,生成1Hz信号clk.//1ms信号发生部份always @(posedge clk) // 界说 clock 上升沿触发begincount = count + 1'b1;if(count == 15'd24000) //0.5mS到了吗?begincount = 15'd0; //计数器清零clk1 = ~clk1; //置位秒标识表记标帜endend//秒信号发生部份always @(posedge clk1) // 界说 clock 上升沿触发begincount1 = count1 + 1'b1;if(count1 == 9'd500) //0.5S到了吗?begincount1 = 9'd0; //计数器清零sec = ~sec; //置位秒标识表记标帜endEnd4.2.3分频模块仿真通过设置功能仿真,检查代码的正确性5仿真结果图4.4分频模块波形仿真图右上图可以知道,计数寄存器count累加到23999时,重新酿成0,共计数了24000个值.触发clk1跳变,使得count1加一,count1累加到499的时候,下一个数据为0,共技术500个值.所以,sec信号的频率为1Hz,满足设计要求.5.1计时模块实现5.1.1计时模块描述与实现计时模块是采纳16进制来实现的,将hour[23,0]界说为其时分秒,其中hour[3,0]为其秒钟上的个位数值,hour[4,7]为其秒钟上的十位数值,以此类推分钟、时钟的个位和十位.当clk脉冲过来时,秒个位hour[3,0]便开始加1,当加到9时,秒十位加1,与此同时秒个位清零,继续加1.当秒十位hour[7,4]为5秒个位为9时(即59秒),分个位hour[11,8]加1,与此同时秒个位和秒十位都清零.以此类推,当分十位hour[15,12]为5和分个位为9时(即59分),时个位加1,与此同时分个位hour[19,16]和分十位都清零.那时分十位[23,20]为2和分个位为4,全部清零,开始重新计时.从功能上讲分别为模60计数器,模60计数器和模24计数器.//时间计算及校准部份always @(negedge sec)//计时处置beginhour[3:0] = hour[3:0] + 1'b1;//秒加 1if(hour[3:0] >= 4'ha)//加到10,复位beginhour[3:0] = 4'h0;hour[7:4] = hour[7:4] + 1'b1;// 秒的十位加一if(hour[7:4] >= 4'h6)//加到6,复位beginhour[7:4] = 4'h0;hour[11:8] = hour[11:8] + 1'b1;//分个位加一if(hour[11:8] >= 4'ha)//加到10,复位beginhour[11:8] = 4'h0;hour[15:12] = hour[15:12] + 1'b1;//分十位加一if(hour[15:12] >= 4'h6)//加到6,复位beginhour[15:12] = 4'h0;hour[19:16] = hour[19:16] + 1'b1;//时个位加一if(hour[19:16] >= 4'ha)//加到10,复位beginhour[19:16] = 4'h0;hour[23:20] = hour[23:20] + 1'b1;//时十位加一endif(hour[23:16] >= 8'h24)//加到24,复位hour[23:16] = 8'h0;endendendendendend5.1.2计时模块仿真对计时模块进行仿真,记录仿真波形图4.5计时模块仿真图由上图可见,当sec信号下降沿跳变时,hour寄出去会加1,也就相当于跳了一秒钟时间.当hour的时间为235959是,下一个计数器的值为000000,hour寄存器归零,相当于三更0点的时刻.仿真的结果达到预期,通过.5.2按键处置模块实现5.2.1按键处置模块描述框图如下图4.4:图4.6按键控制功能图模块讲计时部份和时间调整部份整合到一起,正常态的时候,时间正常运行,当key[5]被按下时,进入时间校准,可以通过key[2:0]三个键,分别对秒,分,时进行加1把持,从而进行时间校准.当key[3]被按下时,进入闹钟设定,可以通过key[2:0]三个键,分别对秒,分,时进行加1把持,从而进行闹钟的设定.图4.7按键模块仿真图通过按键key进行仿真控制,可以发现clktime会随着按键的按下,分别有时钟,分钟秒钟加1,仿真结果满足设计要求.5.2.2按键去抖处置模块设计按键模块实现去抖处置,及乒乓按键设计,确保后面的计时模块与闹钟模块的功能实现.assign key_done = key|dout3; // 按键消抖输出always @(posedge count1[5]) //按键去噪声begindout1 <= key;dout2 <= dout1;dout3 <= dout2; //连续赋值endalways @(negedge key_done[4])beginkeyen[1] = ~keyen[1]; //校准按键转换乒乓按键endalways @(negedge key_done[3])beginkeyen[0] = ~keyen[0]; //按时按键转换乒乓按键End5.2.3按键模块去抖仿真对按键去颤动仿真,同样才用功能仿真方式,这里不再重复设置与把持,如同上面的分频模块进行设置并进行仿真.Key寄存器为输入按键,初始化电路为高电平,当有按键按下去的时候,酿成低电平.因此改变key的值,观察仿真结果是否正确.功能仿真,记录仿真结果,如下图:图4.8按键模块仿真图通过上图可以知道,key_done会随着key的变动而发生相应的变动,并有消除噪声的作用,功能仿真正确,达到设计目的.5.3闹钟模块实现5.3.1闹钟模块设计本设计中,判断闹铃时间到,是通过判按时钟系统实时时间的时钟与分钟是否分别即是设定的闹铃时间的时钟、分钟、秒钟.那时间(hour[23:0])即是设定的闹钟时间(clktime[23:0])时,闹钟触发时,播放嘀嘀嘀报警声,闹钟会响10秒的时间(clktime[23:0]+10 >=hour[23:0]).正常情况下,闹铃时间到会进行为时1分钟的蜂鸣报时,可以通过按下闹钟按键key[3]使其停止.当闹铃设置为整点是,会先进行整点报时,然后进入闹铃.图4.9闹钟控制键功能图5.3.2闹钟设定模块仿真图4.10闹钟模块仿真图通过按键key进行仿真控制,可以发现clktime会随着按键的按下,分别有时钟,分钟秒钟加1,仿真结果满足设计要求.5.4蜂鸣器模块实现5.4.1蜂鸣器模块描述蜂鸣器模块负责整点报时,和闹铃的时候进行作声的作用.整点报时的时候,播放音乐,10秒音乐播报完后停止整点报时.闹钟触发时,播放嘀嘀嘀报警声.当闹铃设置为整点是,会先进行整点报时,然后进入闹铃.当闹钟设定键被按下,响起的蜂鸣声会被屏蔽.模块框图如下图4.9:5.4.2蜂鸣器模块实现//蜂鸣器的计数按时器always@(posedge clk)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于FPGA的数字时钟的设计课题:基于FPGA的数字时钟的设计学院:电气信息工程学院专业:测量控制与仪器班级: 08测控(2)班**:***学号: ********合作者姓名:颜志林2010 年12 月12 日综述近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。

这就迫切要求理工科大学生熟悉和掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题和故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计和组织实验能力。

本次课程设计的目的在于培养学生对基本电路的应用和掌握,使学生在实验原理的指导下,初步具备基本电路的分析和设计能力,并掌握其应用方法;自行拟定实验步骤,检查和排除故障、分析和处理实验结果及撰写实验报告的能力。

综合实验的设计目的是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。

数字电子钟是一种计时装置,它具有时、分、秒计时功能和显示时间功能;具有整点报时功能。

本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固和掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识和了解。

1、课题要求1.1课程设计的性质与任务本课程是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。

目的在于培养学生的理论联系实际,分析和解决问题的能力。

通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。

学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力和严谨的工作作风。

1.2课程设计的基本技术要求1)根据课题要求,复习巩固数字电路有关专业基础知识;2)掌握数字电路的设计方法,特别是熟悉模块化的设计思想;3) 掌握QUARTUS-2软件的使用方法;4) 熟练掌握EDA工具的使用,特别是原理图输入,波形仿真,能对仿真波形进行分析;5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法;6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法;7) 能根据设计要求对设计电路进行仿真和测试;8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。

9) 将硬件与软件连接起来,调试电路的功能。

1.3课程设计的功能要求基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。

附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能;2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时,鸣叫时间1秒钟;3)定时闹铃:本设计中设置的是在七点时进行闹钟功能,鸣叫过程中,能够进行中断闹铃工作。

本人工作:负责软件的编程与波形的仿真分析。

2、方案设计与分析1.1设计方案1、时钟功能,具有显示时、分、秒的功能;2、具有整点报时功能,在整点时使用蜂鸣器进行报时,具有闹钟功能,鸣叫过程中,具有中断闹铃功能。

1.2设计要点数字钟一般是由振荡器、分频器、计数器、译码器、显示器等几部分组成。

这些都是数字电路中应用最广泛的基本电路,本设计分模块设计实现各部分功能,采用软件编程控制FPGA芯片内部产生振动周期为1s的脉冲。

并将信号送入计数器进行计算,并把累加的结果以“时”、“分”、“秒”的数字显示出来。

“秒”的显示由两级计数器和译码器组成的六十进制计数电路实现;“分”的显示电路“秒”相同,“时”的显示由两级计数器和译码器组成的二十四进制电路来实现。

所有计时结果由六位数码管显示。

1.3工作原理数字电子钟由振荡器、分频器计数器、译码显示、报时等电路组成。

振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。

秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻1”规律计数。

计满后各计数器清零,重新计数。

计数器的输出分别经译码器送数码管显示,计时出现误差时,可以用校时电路“校时”“校分”“清零”。

秒脉冲可以通过分频电路得到。

通过报时设计模块可以实现整点报时及定时闹铃,译码显示由七段译码器完成,显示由数码管构成,采用的是动态显示方式。

数码管动态显示:动态扫描电路将计数器输出的8421BGD码转换为数码管需要的逻辑状态,并且输出数码管的片选信号和为选信号。

所谓动态扫描显示方式是在显示某一位LED 显示块的数据的时候,让其它位不显示,然后再显示下一位的数据。

只要保证每一位显示的时间间隔不要太大,利用人眼的视觉暂留的现象,就可以造成各位数据同时显示的假象。

一般每一位的显示时间为1~10ms。

3、单元电路的设计,仿真与分析(1)分频模块(fenpin)1)程序:library ieee;use ieee.std_logic_1164.all;entity fenpin isport(clk6:in std_logic;q1000,q5,q1:out std_logic);end fenpin;architecture ccc_arc of fenpin issignal x:std_logic;beginprocess(clk6)variable cnt:integer range 0 to 24999; beginif clk6'event and clk6='1' thenif cnt<24999 thencnt:=cnt+1;elsecnt:=0;x<=not x;end if;end if;end process;q1000<=x;process(x)variable cnt2:integer range 0 to 999; variable y:std_logic;beginif x'event and x='1' thenif cnt2<999 thencnt2:=cnt2+1;q1<='0';elsecnt2:=0;q1<='1';end if;end if;if x'event and x='1' theny:=not y;end if;q5<=y;end process;end ccc_arc;2)仿真波形:3)仿真结果分析:产生用于计时,扫描输入,扫描显示,以及蜂鸣器所需的各个频率的信号。

(2)秒模块(second)1)程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second isport (clk1,en1:in std_logic;qa:out std_logic_vector(3 downto 0);co1:out std_logic;qb:out std_logic_vector(3 downto 0));end second;architecture cc of second issignal cout2,cout1:std_logic_vector(3 downto 0);signal mm: std_logic;beginprocess(clk1,en1)beginif en1='1' thencout2<="0000";cout1<="0000";elsif (clk1'event and clk1='1')thenif (cout2=1 and cout1=8) then cout2<=cout2;cout1<=cout1+1;mm<='1'; elsif (cout2=1 and cout1=9) then cout2<="0000";cout1<="0000";mm<='0'; else if (cout1=9) then cout2<=cout2+1;cout1<="0000";mm<='0';else cout2<=cout2;cout1<=cout1+1;mm<='0';end if;end if;end if;end process;co1<=mm;qa<=cout2;qb<=cout1;end cc;2)仿真波形:3)仿真结果分析:该模块实际是一个六十进制计数器,而六十秒为一分钟,故用此模块可以作为秒部分设计,通过观察可知,仿真波形是正确可行的。

(3)分模块(minute)1)程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute isport (clk2,en2:in std_logic;qc:out std_logic_vector(3 downto 0);co2:out std_logic;qd:out std_logic_vector(3 downto 0));end minute;architecture bb of minute issignal cout2,cout1:std_logic_vector(3 downto 0);signal cc:std_logic;beginprocess(clk2,en2)beginif en2='1' thenif (clk2'event and clk2='1')thenif (cout2=1 and cout1=8) then cout2<=cout2;cout1<=cout1+1;cc<='1'; elsif (cout2=1 and cout1=9) then cout2<="0000";cout1<="0000";cc<='0'; else if (cout1=9) then cout2<=cout2+1;cout1<="0000";cc<='0';else cout2<=cout2;cout1<=cout1+1;cc<='0';end if;end if;end if;end if;end process;co2<=cc;qc<=cout2;qd<=cout1;end bb2)仿真波形:3)仿真结果分析:此模块实际也是一个六十进制的计数器模块,六十分钟即为一个小时,用此模块就成功解决了分设计模块这个难题。

相关文档
最新文档