基于VHDL的数字秒表设计文档格式.doc
- 文档编号:13198667
- 上传时间:2022-10-08
- 格式:DOC
- 页数:12
- 大小:300KB
基于VHDL的数字秒表设计文档格式.doc
《基于VHDL的数字秒表设计文档格式.doc》由会员分享,可在线阅读,更多相关《基于VHDL的数字秒表设计文档格式.doc(12页珍藏版)》请在冰豆网上搜索。
…………………………装………………………………订………………………………线………………………………………………………………
河南农业大学
理学院
课程设计任务书
学生姓名指导教师
学生学号专业班级
题目基于VHDL的数字秒表设计
任务与要求
设计一个数字秒表,主要由显示译码器、分频器、十进制计数器、六进制计数器组成。
在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲,除此之外,整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。
秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。
合作人:
分工方案:
开始日期2012年12月3日完成日期2012年月9日
课程设计所在地点
一、数字闹钟设计要求:
1.四个十进制计数器:
分别用来对百分之一秒、十分之一秒、秒和分进行计数;
2.两个六进制计数器:
用来分别对十秒和十分进行计数;
3.分频器;
用来产生100Hz计时脉冲;
4.显示译码器:
完成对显示译码的控制。
3、能够完成清零、启动、保持(可以使用键盘或拨码开关置数)功能。
4、时、分、秒、百分之一秒显示准确。
二、实验目的:
1、初步了解可编程逻辑器件(PLD)的基本原理;
2、熟练掌握MAX+PlusⅡ图形编辑器、文本编辑器等不同的输入设计方法,掌握EDA的自顶向下(ToptoDown)的模块化设计思想;
3、了解VHDL语言的语法、句法及结构,能看懂VHDl语言编写的程序,并能熟练运用MAX+PlusⅡ软件对各个程序模块进行波形仿真;
4、熟悉顶层电路的原理图输入法,能应用EDA设计思想进行较复杂系统的分析和设计。
三、设计方案:
按照EDA自顶向下的设计理念,该数字秒表可以分为分频器模块、计数器模块、数据选择和数码管选择模块模块、数码管驱动模块,其顶层电路如下图所示。
四、各个模块的功能:
1、分频器模块:
将2.5MHz的时钟信号转换成100Hz的计时脉冲,使秒表正常工作;
2、计数器模块:
这是本秒表设计的基本功能,对时间进行计数并在显示屏显示当前时间,这个模块中,分别有十进制计数器和六进制计数器,共用四个十进制,分别表示数字秒表的百分之一秒、十分之一秒、秒和分,两个六进制,分别表示数字秒表的十秒和十分;
3、数据选择和数码管选择模块:
通过每个计数器输入的dain信号对数码管进行选择,
4、数码管驱动模块:
通过对输入的信号进行编码,完成对7段数码管的驱动,使数码管显示出对应的数字;
五、系统的各组成部分的原理框图及功能
1、分频器的原理框图:
2、六进制计数器的原理框图:
3、十进制计数器的原理框图:
4、选择模块的原理框图:
5、译码显示电路的原理框图:
其中各部分功能如下:
1、分频器将2.5MHz脉冲变成100Hz。
2、六进制计数器能够实现6进制循环计数。
3、十进制计数器能够实现10进制循环计数。
4、选择模块通过每个计数器输入的dain信号对数码管进行选择
5、译码显示电路通过对输入的信号进行编码,完成对7段数码管的驱动,使数码管显示出对应的数字。
六、系统的主要模块VHDL源程序:
1、分频器源程序clkgen:
libraryieee;
useieee.std_logic_1164.all;
entityclkgenis
port(clk:
instd_logic;
newclk:
outstd_logic);
endentityclkgen;
architectureartofclkgenis
signalcnter:
integerrange0to10#24999#;
begin
process(clk)is
begin
ifclk'
eventandclk='
1'
then
ifcnter=10#24999#thencnter<
=0;
elsecnter<
=cnter+1;
endif;
endif;
endprocess;
process(cnter)is
ifcnter=10#24999#thennewclk<
='
;
elsenewclk<
0'
endarchitectureart;
2、六进制计数器源程序count6:
useieee.std_logic_unsigned.all;
entitycount6is
port(clk,clr,start:
daout:
outstd_logic_vector(3downto0);
cout:
bufferstd_logic);
endcount6;
architecturebehaveofcount6is
signaltemp:
std_logic_vector(3downto0);
process(clk,clr)
begin
ifclr='
thentemp<
="
0000"
cout<
elsifclk'
then
ifstart='
iftemp="
0101"
elsetemp<
=temp+1;
cout<
endif;
elsifstart='
thentemp<
=temp;
=cout;
endif;
endprocess;
daout<
=temp;
endbehave;
3、十进制计数器源程序count10:
entitycount10is
endcount10;
architecturebehaveofcount10is
ifclr='
elsifclk'
ifstart='
1001"
=temp+1;
cout<
elsifstart='
endif;
endprocess;
4、数据选择和数码管选择模块模块源程序seltime:
USEieee.std_logic_UNSIGNED.all;
entityseltimeis
port(clr,clk:
instd_logic;
dain0,dain1,dain2,dain3,dain4,dain5:
instd_logic_vector(3downto0);
sel:
outstd_logic_vector(2downto0);
daout:
outstd_logic_vector(3downto0));
endseltime;
architectureaofseltimeis
signaltemp:
integerrange0to5;
process(clk)
begin
if(clr='
)then
daout<
sel<
000"
temp<
elsif(clk='
andclk'
event)then
iftemp=5thentemp<
elsetemp<
=temp+1;
endif;
casetempis
when0=>
sel<
=dain0;
when1=>
001"
=dain1;
when2=>
010"
=dain2;
when3=>
011"
=dain3;
when4=>
100"
=dain4;
when5=>
101"
=dain5;
endcase;
endprocess;
enda;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 数字 秒表 设计