基于Verilog语言方案设计书的数码管电子钟Word下载.docx
- 文档编号:14702957
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:19
- 大小:109.39KB
基于Verilog语言方案设计书的数码管电子钟Word下载.docx
《基于Verilog语言方案设计书的数码管电子钟Word下载.docx》由会员分享,可在线阅读,更多相关《基于Verilog语言方案设计书的数码管电子钟Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
因此,EDA可作为辅助实验教育和实验训练的手段之一,以弥补在经费和实验仪器、元器件缺乏情况下的不足,并可节约材料消耗和减少仪器故障,通过仿真可熟悉常用电子仪器的使用方法和测量方法,并锻炼学生电路设计和调试能力,提高学生的分析与解决问题、故障排除的能力,进一步挖掘学生的开发和创新能力。
VerilogHDL是一种优秀的硬件描述语言,尤其在ACIC设计领域更是占主导地位。
VerilogHDL与C语言有许多相似之处,并继承和借鉴了C语言的多种操作符和语法结构,有C语言基础的人很快就能够学习并使用该语言。
目前国外教案将VerilogHDL作为主要的硬件描述语言,在国内,该语言的使用人数也逐渐增多。
自上而下的电子系统设计是一种传统的设计思路。
这种设计思想更符合人们的逻辑思维习惯,也容易是设计者对复杂的系统进行合理的划分以及不断的优化。
现代EDA数字控制系统设计充分利用了自上而下的设计思想,并且许多软件都支持高层的设计和仿真。
二、实验要求及目的:
本设计的数字钟,要求显示格式为小时—分钟—秒钟,分别在8个七段LED数码管上以动态分时扫描的方式显示。
系统有两个时钟基准,CLK1为4HZ,分频后用来作为计时基准时钟。
CLK2为10KHZ,用来作为扫描基准时钟,分频后作为百分秒计时时钟。
附加功能:
有调时模式,增加秒表功能。
数字钟的显示格式如图所示:
实验目的:
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、程序思想:
利用自顶而下的设计思想,将整个数字钟进行模块划分为:
数码管扫描显示模块、数码管译码模块、时钟走时模块、时间调整模块、秒表走时模块以及综合时的附加模块等。
2、主要模块仿真效果:
(1)时钟走时模块
(2)数码管扫描显示模块
(3)时钟走时模块
(4)数码管译码模块
(5)跑表走时模块
(3)四输入或门模块
3、顶层电路图(旋转后):
2、管脚分配:
脚名
脚号
输入输出类型
RST
60
Input
ZX4
22
Output
CLK4
1
ZX5
23
CLK10K
43
ZX6
24
MADD
65
ZW0
5
MDEC
62
ZW1
6
HADD
64
ZW2
7
KEY1
61
ZW3
8
ZX0
17
ZW4
9
ZX1
18
ZW5
10
ZX2
19
ZW6
11
ZX3
21
ZW7
16
LED1
27
LED2
28
3、输入输出功能说明:
RST:
数字系统复位键,高电平有效
CLK4、CLK10:
分别输入4Hz、10KHz时钟信号
KEY1:
多功能数字钟功能选择键
MADD:
时钟调时模式下为分钟加键,跑表模式下时跑表启停键
MDEC:
调时模式下的分钟减1键
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:
reg[2:
reg[1:
outputled1。
//指示是否处于调时模式
regclk1,clk2,led1。
always@(posedgeclk4)
clk2<
=!
clk2。
always@(posedgeclk2)
clk1<
clk1。
begin
if(mode==1)
led1<
=1。
if(madd)
begin
da<
=da+1。
if(da==9)
beginea<
=ea+1。
da<
=0。
end
if(ea==5&
&
da==9)ea<
end
elseif(mdec)
=da-1。
if(da==0)
=ea-1。
=9。
if(ea==0&
da==0)ea<
=5。
elseif(hadd)
ga<
=ga+1。
if(ga==9)
beginha<
=ha+1。
ga<
if(ha==2&
ga==4)beginha<
end
endmodule
2、模式控制模块
//控制模块,包括模式选择,调时功能
modulecontrol(mode,key1,rst)。
inputkey1,rst。
always@(posedgekey1)
if(rst)
mode<
=2'
b00。
else
begin
=mode+2'
b01。
if(mode==3)
2、走时模块
//时钟走时模块,clk4分频后为1s时钟信号,
modulezoushi(rst,a,clk4,b,c,d,e,f,g,h,da,ga,ea,ha,mode)。
inputrst。
input[3:
input[2:
0]ha,mode。
0]a,d,g,c,f。
0]b,e。
0]h。
regclk1,clk2。
always@(posedgeclk1)
if(mode==0)
if(rst)
a<
=4'
d0。
b<
c<
d10。
d<
=da。
e<
=ea。
f<
g<
=ga。
h<
=ha。
else
if(a==9)
begina<
b<
=b+1。
=a+1。
if(b==5&
a==9)
begind<
=d+1。
if(d==9&
b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Verilog 语言 方案设计 数码管 电子钟