基于VerilogHDL设计的定时器系统Word格式.docx
- 文档编号:14955879
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:19
- 大小:484.16KB
基于VerilogHDL设计的定时器系统Word格式.docx
《基于VerilogHDL设计的定时器系统Word格式.docx》由会员分享,可在线阅读,更多相关《基于VerilogHDL设计的定时器系统Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
2012年6月25日
第一节引言......................................................3
1.1概述...........................................................3
1.2本设计的任务和主要功能.........................................3
第二节系统功能介绍...............................................3
2.1系统总述.......................................................3
2.2系统设计.......................................................42.3主要模块.......................................................4
2.3.1分频校时模块.................................................4
2.3.2半点整点报时模快.............................................5
2.3.3计数器模块...................................................5
2.3.4显示模块.....................................................8
第三节仿真验证...................................................9
3.1仿真...........................................................9
3.2设备选择.......................................................9
3.3引脚绑定......................................................10
3.4硬件验证......................................................10
第四节课程设计总结..............................................10
附录.............................................................11
块,半点整点报时模块,计数器模块和显示模块。
其中分频校时模块是对外部来的50Hz的频率进行转化。
半点整点报时模块则是在分钟显示为0和30的时候,分别亮红LED0和绿LED0。
计数器模块则是对时分秒的逻辑定义和计数。
显示模块则包括数码管译码和将OUT0到OUT6显示到数码管上。
设计时可将外部的时钟信号clock输入进分频模块,此时系统通过分频将输出控制信号div,以控制秒位。
而秒位产生的进位信号mt则能够控制分位。
分位的进位信号nt又能控制时位,这样就形成了电子时钟。
在计数的同时将时分秒每位输出送到译码器。
译码器模块可对输入的四位进行译码,在6个七段数码管上显示出来。
reset:
当该键为高时,校时为00:
00:
00;
key:
用key键快速的校时。
s1:
半点报时,半点时自动控制LED灯亮;
s2:
整点报时,整点时自动控制LED灯亮;
七段数码管用于显示定时数字。
2.3主要模块
2.3.1分频校时模块
系统所给clock是50MHZ,将其分频为1HZ,即周期为1S,用于计数。
当key键为1时,输出的div的频率增加到10倍,由此可以进行校时。
always@(posedgeclock)//分频校时
begin
if(key)
begin
if(count==2500000)begindiv<
=1;
count<
=count+1;
end
elseif(count==5000000)begindiv<
=0;
elsecount<
end
else
if(count==25000000)begindiv<
elseif(count==50000000)begindiv<
输出一个div信号对下面的计数模块进行控制。
2.3.2半点整点报时模块
always@(posedgediv)
if(min==30)//当半点时s1等于1,红LED0亮
s1<
if(min==0)//当整点时s2等于1,绿LED0亮
s2<
end
2.3.3计数器模块
用分频模块中的div信号,对计数部分进行控制。
当sec达到59时,产生一个进位信号mt,来控制分钟部分,如果reset为1时,则对秒位进行清零。
//秒位计数
always@(posedgedivorposedgereset)
if(reset==1)
sec<
if(sec==59)
//秒为60进制计数器
tun<
//每60秒产生一个进位信号tun
else
=sec+1;
//进位信号置0
end
assignmt=tun;
//生成分的控制信号
用秒位模块中来的进位信号mt,对分位部分进行控制。
当min达到59时,产生一个进位信号nt,来控制时位部分,如果reset为1时,则对分位进行清零。
//分位计数
always@(posedgemtorposedgereset)
if(reset==1)
min<
if(min==59)//分钟为60进制计数器
mod<
=mod;
//每60分产生一个小时的进位
=min+1;
//分钟向小时的进位信号置0
if(min==30)
s1<
assignnt=mod;
//生成时的控制信号
用分位模块中来的进位信号nt,对时位部分进行控制。
如果reset为1时,则对时位进行清零。
//时位计数
always@(posedgentorposedgereset)
hou<
if(hou==24)//小时为24进制计数器
=hou+1;
2.3.4显示模块
通过译码显示,在clock或reset的上升沿时将信号输出到数码管上。
六个译码器,分别代表小时分钟秒数的高位和地位,hou2小时的高位为0~2,hou1小时的低位为0~4,min2分钟的高位为0~5,min1分钟的低位为0~9,sec2秒数的高位为0~5,sec2秒数的低位为0~9。
下面以小时的高位为例:
//译码输出模块
always@(posedgedivorposedgereset)
begin//数码管译码显示
case(sec1)
4'
b0000:
out1<
=~7'
b0111111;
//0,3F
b0001:
b0000110;
//1,06
b0010:
b1011011;
//2,5B
b0011:
b1001111;
//3,4F
b0100:
b1100110;
//4,66
b0101:
b1101101;
//5,6D
b0110:
b1111101;
//6,7D
b0111:
b0000111;
//7,07
b1000:
b1111111;
//8,7F
b1001:
b1101111;
//9,6F
default:
endcase
第三节仿真验证
3.1仿真
从这张图我们可以看到时钟从00:
00:
00,开始计时,当reset出现高电平时,时钟回零。
当reset不为高电平时,则正常计数。
3.2设备选择
3.3引脚绑定
3.4硬件验证
将verilog源程序文件下载到DE2开发板进行硬件验证,完成检测和调试。
截图如下:
第四节课程设计总结
两个星期的Verilog课程设计结束了。
在这两个星期的设计中,我学到了很多东西。
这次课程设计是第一次每人一道题目,一个班里的同学无一重复。
所以自从选过题目大家都开始了紧张的工作,在各论坛、图书馆、中文数据库查找资料后,最终确立了设计思路。
整个过程现在总结起来遇到了许多困难,但正是这些困难。
比如在计数模块的设计部分,出现过时钟不能显示和显示错误的问题,出现了两次,第一是因为外部输入的时钟信号clock没有成功的加到分频器上;
第二是因为逻辑上的错位,进行复位是没有把寄存器里的值进行清零。
另外还有校数模块的功能的实现,在老师的指导之下,也终于完成了。
我选择了不同的方法去实现,比如分频的话因为输入时50Hz的信号,所以对分频器进行设置分频初值后将外部的信号转化为1Hz的信号div。
输出部分则要用到译码器,因为时钟模块的信号是数字,并不是对七段数码管的控制信号,这是我们就要注意这里用到的共阳极的七段数码管。
当然不止这些,在设计过程中和仿真过程中许多步骤都让我印象深刻、记忆犹新。
最终的设计成功让我的编程和使用Quartus软件的能力大为提高,这对于我来说是一笔宝贵的财富。
当今电子技术飞速发展,而其核心已日趋接近EDA设计,所以学好EDA设计对我们来说非常重要。
这次课程设计给我一个拓展的平台,值得欣慰的是当遇到了不同种类的问题,我学会了怎样解决问题、怎样寻找解决问题的方法。
参考文献
[1]张明《VerilogHDL实用教程》[M]成都:
电子科技大学出版社,1999
[2]HydeDC.BucknellHandbookonVerilogHDLComputerScienceDepartment,BucknellUniversityLewisburg,1995
[3]康华光《电子技术基础(数字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VerilogHDL 设计 定时器 系统