EDA课程设计 数字时钟_eda课程设计数字时钟

2020-02-27 其他范文 下载本文

EDA课程设计 数字时钟由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“eda课程设计数字时钟”。

EDA

课程设计报告

一·设计任务

使用硬件描述语言,在CPLD/FPGA上实现一个多功能数字钟。

二·设计要求

除按键、LED、扬声器、时钟信号外,整个数字钟的功能要求在一块芯片上实现。

a)具有时,分,秒,计数显示功能,以24小时循环计时; b)具有时间清零功能;

c)具有小时、分钟和秒钟调整功能(个位和十位分开调或合起来调)。

d)具有闹钟功能,能预设闹钟时间,精确到秒。

整个数字钟只设一个时钟输入端口,所需不同频率信

号在内部分频实现。(LED扫描频率设为50Hz以上)。

三·设计方案

设计采用模块方式,分别为分频模块:产生1Hz的脉冲作为秒的输入,和产生1kHz的脉冲作为数码管显示的动态扫描。计时模块:秒模块,分模块,时模块。闹钟模块,显示模块,控制模块。

四·模块端口设置

1.分频模块

输入:clkin :

本实验输入为50MHz晶振

输出:clk : 为显示模块及始终调节提供1KHz脉冲

clkt: 为计数器模块提供1Hz脉冲

2.计时模块

m 是模式按键,当m=0 时,进入计时模式,在计时模式下可以进行时间调整。num3,num4 产生加速调整时间,当其值为1 时,可以快速调整时间,该调整时间的频率由clk 提

供。counta,count1 是手动调节时间。Turn 接按键,可以改变当前调节的是小时还是分钟,长按turn 键还可以使秒钟信号清零。sec1,min1,hour1 输出的是计时的秒,分,时。

3.闹钟模块

原理:num1,num2 产生加速调整时间,当其值为1 时,可以快速调整时间,该调整时间的频率由clk 提供。countb,count2 是手动调节闹钟时间。amin,ahour 是输出的闹钟的分钟和 小时 4.控制模块

m 是模式按键,当m=0 时,指当前输出的是计时功能;当m=1 时,指当前调整的是

闹钟时间;当m=2 时,指当前调整的是计时时间;当m=3 时,此时turn 按键可用于跑表的暂停与开始。change 接按键,手动调整时,每按一次,计数器加1;如果长按,则连续快

速加1,用于快速调时和定时;turn 接按键,在手动校时功能时,选择是调整小时,还是分

钟;若长时间按住该键,还可使秒信号清零,用于精确调时。count1,count2,counta,countb 分

别是用来调节计时时间和闹钟时间。LD_min,LD_hour,指示当前调节的是分钟还是小时。5 显示模块

输入:clk--1kHz时钟,提供高频扫描

in0、in1…in5--分别为时、分、秒的个位与十位信号

输出:a、b…g--数码管输入

d0、d1…d5--数码管选通

五.程序。

分频模块

module fenpin(clk,clkt,clkin);input clkin;output clk,clkt;reg clk,clkt;reg [31:0]out,t1;

initial t1

always@(posedge clkin)begin

out

if(out==20000)

begin

out

clk

end end

always@(posedge clk)

begin

t1

if(t1==1000)

begin

clkt

t1

end

else

clkt

计时模块 module jishi(clk,clk_1Hz, turn,mode,count1,counta,sec1,min1,hour1,num3,num4);input clk,clkt,turn,num3,num4;input mode;input count1,counta;output [7:0] sec1,min1;output [7:0] hour1;wire clkt,ct1,cta,turn,num3,num4;reg [7:0] sec1=0,min1=0;reg [7:0] hour1=0;reg [1:0] m;wire count1,counta;reg minclk,hclk;always @(posedge mode)//mode 信号控制系统在三种功能间转换 begin if(m==4)m

if((sec1==8'h59)|turn&(!m))///////若长时间按住该键,还可使秒信号清零,用于精确调时。begin sec1

if(!(turn&(!m)))minclk

always @(posedge ct1)begin if(min1==8'h59)begin min1

begin min1[3:0]

always @(posedge cta)if(hour1==8'h23)hour1

闹钟模块

module alarm(clk,amin,ahour,num1,num2,count2,countb,LD_alert);input clk,num1,num2,count2,countb;output [7:0] amin;

output [7:0] ahour;output LD_alert;wire LD_alert;reg [7:0] amin=0;reg [7:0] ahour=0;aign ct2=(num1&clk)|(!num1&count2);//ct2 用于定时状态下调整分钟信号

aign LD_alert=(ahour|amin)?1:0;//指示是否进行了闹铃定时 always @(posedge ct2)if(amin==8'h59)amin

module ctrol(change,turn,count1,count2,counta,countb,pause,LD_min,LD_hour,mode);input change,mode,turn;output count1,count2,counta,countb,pause,LD_min,LD_hour;reg [1:0] m;reg fm=0,count1=0,count2=0,counta=0,countb=0,pause=0,LD_min=0,LD_hour=0;wire mode,turn,change;always @(posedge mode)//mode 信号控制系统在三种功能间转换 begin if(m==4)m

always @(m or fm or change)begin case(m)2: begin ////////2:调节时间功能; if(fm)begin count1

Else

begin counta

0: begin {count1,count2,counta,countb,LD_min,LD_hour}

module show(min1,sec1,amin,hour1,ahour,MSH,MSL,SH,SL,MH,ML,min,sec,hour,mode);input [7:0] min1,sec1,amin;input [7:0] hour1,ahour;input[3:0] MSH,MSL,SH,SL,MH,ML;input mode;output [7:0] min,sec;output [7:0] hour;reg [7:0] min,sec;reg [7:0] hour;reg [1:0] m;always @(posedge mode)//mode 信号控制系统在三种功能间转换

begin if(m==4)m

hour

min

实验分析七

实验总结

八、参考资料

1、《EDA技术实用教程》

2、实验箱使用说明;

《EDA课程设计 数字时钟.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
EDA课程设计 数字时钟
点击下载文档
相关专题 eda课程设计数字时钟 时钟 课程设计 数字 eda课程设计数字时钟 时钟 课程设计 数字
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文