基于FPGA数字秒表设计报告.docx

上传人:b****1 文档编号:14428625 上传时间:2023-06-23 格式:DOCX 页数:42 大小:762.23KB
下载 相关 举报
基于FPGA数字秒表设计报告.docx_第1页
第1页 / 共42页
基于FPGA数字秒表设计报告.docx_第2页
第2页 / 共42页
基于FPGA数字秒表设计报告.docx_第3页
第3页 / 共42页
基于FPGA数字秒表设计报告.docx_第4页
第4页 / 共42页
基于FPGA数字秒表设计报告.docx_第5页
第5页 / 共42页
基于FPGA数字秒表设计报告.docx_第6页
第6页 / 共42页
基于FPGA数字秒表设计报告.docx_第7页
第7页 / 共42页
基于FPGA数字秒表设计报告.docx_第8页
第8页 / 共42页
基于FPGA数字秒表设计报告.docx_第9页
第9页 / 共42页
基于FPGA数字秒表设计报告.docx_第10页
第10页 / 共42页
基于FPGA数字秒表设计报告.docx_第11页
第11页 / 共42页
基于FPGA数字秒表设计报告.docx_第12页
第12页 / 共42页
基于FPGA数字秒表设计报告.docx_第13页
第13页 / 共42页
基于FPGA数字秒表设计报告.docx_第14页
第14页 / 共42页
基于FPGA数字秒表设计报告.docx_第15页
第15页 / 共42页
基于FPGA数字秒表设计报告.docx_第16页
第16页 / 共42页
基于FPGA数字秒表设计报告.docx_第17页
第17页 / 共42页
基于FPGA数字秒表设计报告.docx_第18页
第18页 / 共42页
基于FPGA数字秒表设计报告.docx_第19页
第19页 / 共42页
基于FPGA数字秒表设计报告.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于FPGA数字秒表设计报告.docx

《基于FPGA数字秒表设计报告.docx》由会员分享,可在线阅读,更多相关《基于FPGA数字秒表设计报告.docx(42页珍藏版)》请在冰点文库上搜索。

基于FPGA数字秒表设计报告.docx

基于FPGA数字秒表设计报告

 

标准实验报告

 

实验项目:

基于FPGA数字秒表设计

 

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

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

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

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

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

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

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

作者签名:

日期:

年月日

学位论文版权使用授权书

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

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

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

作者签名:

日期:

年月日

导师签名:

日期:

年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:

引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:

理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:

任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:

按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

指导教师评阅书

指导教师评价:

一、撰写(设计)过程

1、学生在论文(设计)过程中的治学态度、工作精神

□优□良□中□及格□不及格

2、学生掌握专业知识、技能的扎实程度

□优□良□中□及格□不及格

3、学生综合运用所学知识和专业技能分析和解决问题的能力

□优□良□中□及格□不及格

4、研究方法的科学性;技术线路的可行性;设计方案的合理性

□优□良□中□及格□不及格

5、完成毕业论文(设计)期间的出勤情况

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

指导教师:

(签名)单位:

(盖章)

年月日

评阅教师评阅书

评阅教师评价:

一、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

二、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

评阅教师:

(签名)单位:

(盖章)

年月日

 

教研室(或答辩小组)及教学系意见

教研室(或答辩小组)评价:

一、答辩过程

1、毕业论文(设计)的基本要点和见解的叙述情况

□优□良□中□及格□不及格

2、对答辩问题的反应、理解、表达情况

□优□良□中□及格□不及格

3、学生答辩过程中的精神状态

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

评定成绩:

□优□良□中□及格□不及格

教研室主任(或答辩小组组长):

(签名)

年月日

教学系意见:

系主任:

(签名)

年月日

1.秒表设计要求

(1)秒表的计时范围为00:

00:

00~59:

59:

99。

(2)两个按钮开关Start/Stop和Split/Reset,控制秒表的启动、停止、分段和复位:

在秒表已经被复位的情况下,按下“Start/Stop”键,秒表开始计时。

在秒表正常运行的情况下,如果按下“Start/Stop”键,则秒表暂停计时;再次按下该键,秒表继续计时。

在秒表正常运行的情况下,如果按下“Split/Reset”键,显示停止在按键时的时间,但秒表仍然在计时;再次按下该键,秒表恢复正常显示。

在秒表暂停计时的情况下,按下“Split/Reset”键,秒表复位归零。

2.设计思路

2.1功能模块

2.1.1分频器

对晶体振荡器产生的时钟信号进行分频,产生时间基准信号

2.1.2计数器

对时间基准脉冲进行计数,完成计时功能

2.1.3数据锁存器

锁存数据使显示保持暂停

2.1.4控制器

通过产生锁存器的使能信号来控制计数器的运行、停止以及复位

设计分析:

 

2.1.5扫描显示的控制电路

包括扫描计数器、数据选择器和7段译码器,控制8个数码管以扫描方式显示计时结果,原理图如下:

 

2.1.6显示电路

 

2.1.7按键消抖电路

消除按键输入信号抖动的影响,输出单脉冲

 

 

按键按下时,FPGA的输入为低电平;松开按键时,FPGA的输入为高电平

但是在按下按键和松开按键的瞬间会出现抖动现象

2.2电路框图

3.电路实现

----------------------------------------------------------------------------------

--Company:

--Engineer:

--

--CreateDate:

09:

08:

3903/12/2011

--DesignName:

--ModuleName:

stopwatch_1-Behavioral

--ProjectName:

--TargetDevices:

--Toolversions:

--Description:

--

--Dependencies:

--

--Revision:

--Revision0.01-FileCreated

--AdditionalComments:

--

----------------------------------------------------------------------------------

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

----Uncommentthefollowinglibrarydeclarationifinstantiating

----anyXilinxprimitivesinthiscode.

--libraryUNISIM;

--useUNISIM.VComponents.all;

entitystopwatch_1is

Port(

Clk:

inSTD_LOGIC;

start_stop:

inSTD_LOGIC;

split_reset:

inSTD_LOGIC;

ncs:

outSTD_LOGIC;

s:

outSTD_LOGIC_VECTOR(2downto0);

seg:

outSTD_LOGIC_VECTOR(7downto0)

);

endstopwatch_1;

 

architectureBehavioralofstopwatch_1is

signalk1,k2,k3,k4:

STD_LOGIC;

signalcnt_1,cnt_2:

STD_LOGIC_VECTOR(1downto0);

signalstart_stop_out,split_reset_out:

STD_LOGIC;

signalcount:

STD_LOGIC_VECTOR(15downto0):

=(others=>'0');

signalclk_1k:

STD_LOGIC;

signalz0,z1,z2,z3,z4,z5,z6,q1,q2,q3,q4,q5,q6:

STD_LOGIC_VECTOR(3downto0):

=(others=>'0');

signalcount_2:

STD_LOGIC_VECTOR(2downto0):

=(others=>'0');

signalin_7:

STD_LOGIC_VECTOR(3downto0);

signalsreg:

STD_LOGIC_VECTOR(2downto0):

="111";

signalsnext:

STD_LOGIC_VECTOR(2downto0);

Begin

---------------------------------------------------------为三八译码器置入使能信号

ncs<='0';

---------------------------------------------------------分频电路

process(clk)

begin

ifrising_edge(clk)then

ifcount=47999then

count<=(others=>'0');

else

count<=count+1;

endif;

endif;

endprocess;

clk_1k<=count(15);

 

---------------------------------------------------------同步计数电路

process(clk_1k,sreg

(2))

begin

ifrising_edge(clk_1k)then

ifsreg

(2)='1'then

z0<=(others=>'0');

z1<=(others=>'0');

z2<=(others=>'0');

z3<=(others=>'0');

z4<=(others=>'0');

z5<=(others=>'0');

z6<=(others=>'0');

elsifsreg

(1)='1'then

z0<=z0+1;

ifz0=9then

z0<=(others=>'0');

z1<=z1+1;

ifz1=9then

z1<=(others=>'0');

z2<=z2+1;

ifz2=9then

z2<=(others=>'0');

z3<=z3+1;

ifz3=9then

z3<=(others=>'0');

z4<=z4+1;

ifz4=5then

z4<=(others=>'0');

z5<=z5+1;

ifz5=9then

z5<=(others=>'0');

z6<=z6+1;

ifz6=5then

z6<=(others=>'0');

endif;

endif;

endif;

endif;

endif;

endif;

endif;

endif;

endif;

endprocess;

---------------------------------------------------------扫描计数器

process(clk_1k)

begin

ifrising_edge(clk_1k)then

count_2<=count_2+1;

endif;

endprocess;

s<=count_2;

---------------------------------------------------------锁存器

process(sreg(0),z1,z2,z3,z4,z5,z6)

begin

ifsreg(0)='1'then

q1<=z1;

q2<=z2;

q3<=z3;

q4<=z4;

q5<=z5;

q6<=z6;

endif;

endprocess;

---------------------------------------------------------

process(count_2,q1,q2,q3,q4,q5,q6)

begin

casecount_2is

when"000"=>in_7<=q1;

when"001"=>in_7<=q2;

when"011"=>in_7<=q3;

when"100"=>in_7<=q4;

when"110"=>in_7<=q5;

when"111"=>in_7<=q6;

whenothers=>in_7<="1111";

endcase;

endprocess;

---------------------------------------------------------八段译码器

process(in_7)

begin

casein_7is

when"0000"=>seg<="00000011";

when"0001"=>seg<="10011111";

when"0010"=>seg<="00100101";

when"0011"=>seg<="00001101";

when"0100"=>seg<="10011001";

when"0101"=>seg<="01001001";

when"0110"=>seg<="01000001";

when"0111"=>seg<="00011111";

when"1000"=>seg<="00000001";

when"1001"=>seg<="00001001";

whenothers=>seg<="11111101";

endcase;

endprocess;

---------------------------------------------------------按键去抖电路

process(clk_1k,start_stop)

begin

ifclk_1k'eventandclk_1k='0'then

ifcnt_1=3then

k1<='1';

else

k1<='0';

cnt_1<=cnt_1+1;

endif;

k2<=k1;

endif;

ifstart_stop='0'then

cnt_1<="00";

endif;

endprocess;

start_stop_out<=notk1andk2;

process(clk_1k,split_reset)

begin

ifclk_1k'eventandclk_1k='0'then

ifcnt_2=3then

k3<='1';

else

k3<='0';

cnt_2<=cnt_2+1;

endif;

k4<=k3;

endif;

ifsplit_reset='0'then

cnt_2<="00";

endif;

endprocess;

split_reset_out<=notk3andk4;

---------------------------------------------------------控制器

process(clk_1k,start_stop_out,split_reset_out)

begin

ifrising_edge(clk_1k)then

sreg<=snext;

endif;

endprocess;

process(start_stop_out,split_reset_out,sreg)

begin

casesregis

when"111"=>ifstart_stop_out='1'andsplit_reset_out='0'thensnext<="011";

elsesnext<=sreg;

endif;

when"011"=>ifstart_stop_out='1'andsplit_reset_out='0'thensnext<="001";

elsifstart_stop_out='0'andsplit_reset_out='1'thensnext<="010";

elsesnext<=sreg;

endif;

when"001"=>ifstart_stop_out='0'andsplit_reset_out='1'thensnext<="111";

elsifstart_stop_out='1'andsplit_reset_out='0'thensnext<="011";

elsesnext<=sreg;

endif;

when"010"=>ifstart_stop_out='0'andsplit_reset_out='1'thensnext<="011";

elsesnext<=sreg;

endif;

whenothers=>snext<="111";

endcase;

endprocess;

endBehavioral;

注:

控制器设计时,巧妙地将状态编码和控制器输出的控制信号编码合二为一,即状态编码也是控制信号编码,使得程序形式上更为简单、清晰。

 

4.程序仿真

4.1分频器

entityfpis

Port(clk_48M:

inSTD_LOGIC;

clk_1k:

outSTD_LOGIC);

endfp;

architectureBehavioraloffpis

signalcount:

STD_LOGIC_VECTOR(15downto0):

=(others=>'0');

begin

proc

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2