FPGA日历设计.doc

上传人:b****9 文档编号:132476 上传时间:2022-10-04 格式:DOC 页数:34 大小:1.31MB
下载 相关 举报
FPGA日历设计.doc_第1页
第1页 / 共34页
FPGA日历设计.doc_第2页
第2页 / 共34页
FPGA日历设计.doc_第3页
第3页 / 共34页
FPGA日历设计.doc_第4页
第4页 / 共34页
FPGA日历设计.doc_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

FPGA日历设计.doc

《FPGA日历设计.doc》由会员分享,可在线阅读,更多相关《FPGA日历设计.doc(34页珍藏版)》请在冰豆网上搜索。

FPGA日历设计.doc

成绩评定表

学生姓名

宫兴

班级学号

1103040124

专业

电子科学与技术

课程设计题目

日历电路设计

组长签字:

成绩

日期

20年月日

1

课程设计任务书

学院

信息科学与工程

专业

电子科学与技术

学生姓名

宫兴

班级学号

1103040124

课程设计题目

日历电路设计

实践教学要求与任务:

显示年、月、日或者时、分、秒的日历电路,精度ms。

(1)两种模式:

年月日或者时分秒,数码管显示;

(2)年月日、时分秒均递增可调;

(3)闰月自动调整选做;

(4)工作时钟适当即可;

(5)完成全部流程:

设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。

工作计划与进度安排:

本设计持续10天,其中最后一天(依例周五)为答辩时间。

第1-2天:

讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始设计方案和验证方案的准备;

第3-4天:

完成设计与验证方案,经指导老师验收后进入模块电路设计;

第5-7天:

完成模块电路设计,进行代码输入,并完成代码的初步仿真;

第8-9天:

代码功能仿真正确,约束设计,综合、下载,实现设计目标,并指导老师验收设计;整理设计资料,撰写报告、准备答辩;

第10天:

验收合格后进行答辩。

指导教师:

201年月日

专业负责人:

201年月日

学院教学副院长:

201年月日

I

摘要

随着科学技术的发展,时间观念越来越重你,但是老式的钟表以及日历等时间显示工具已不合时宜。

对此,数字钟表的设计有了用武之地。

基于VerilogHDL的万年历设计,采用软件开发模拟,开发成本低,而且在功能设计上有了很大的灵活度。

同时,该设计的精度远远超过钟表,并且不需要维修。

基于VerilogHDL的万年历设计,主要完成的任务是使用Verilog语言,在Quartus2上完成电路设计,程序开发模拟,基于功能是能够显示/修改年月日时分秒。

电路设计模块:

分频、控制、时间显示调整、时分秒、年月日、显示控制、译码器。

各个模块完成不同的任务,合在一起就构成了万年历电路设计。

软件模拟直接在QuartusII上进行。

实现中采用VerilogHDL描述、ModelSim进行功能和时序仿真,在QuartusII上进行性能测试和仿真。

在此过程中,完整地建立了测试平台,完成了功能和时序仿真,从而保证了设计的功能与时序的正确性。

关键词:

万年历;VerilogHDL;FPGA;仿真;综合

目录

引言 1

1总体电路结构设计 2

1.1电路功能与性能 2

1.2主要调度算法 3

1.3电路接口 4

1.4电路功能框图 5

1.5验证方案 5

2模块设计 6

2.1分频模块设计 6

2.2时间调整模块设计 6

2.3时分秒模块设计 6

2.4年月日模块设计 6

2.5数码管显示模块设计 6

3设计仿真与测试 10

3.1仿真与测试的功能列表 10

3.2仿真平台构建和仿真结果 11

3.2.1顶层仿真平台与激励 11

3.2.2电路功能仿真结果 11

3.2.3电路后仿真结果 11

3.3测试环境的搭建与测试结果 11

3.3.1测试环境模拟 11

3.3.2电路测试结果 11

4电路约束与综合实现 12

4.1时序约束 12

4.2引脚锁定约束 13

4.3电路综合报告 13

4.4设计实现与下载 13

结论 14

参考文献 15

III

引言

随着可编程器件FPGA/CPLD成本的逐渐降低,以及开发测试技术的日益普及,FPGA/CPLD以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。

本实验设计的是电子万年历,基本功能是显示并能修改年月日时分秒。

为了便于观察采用八段数码管显示,共两种显示模式,分别为显示年月日和显示时分秒模式。

基本流程如下:

首先根据设计任务要求进行方案的设计,包括模块设计,代码录入,功能仿真、约束与综合、布局布线、时序仿真、下载验证等。

依据模块设计进行模块VerilogHDL代码的输入与功能仿真,功能仿真采用VerilogHDL仿真工具Modelsim;完成功能仿真后在QuartusII平台下进行电路的约束与综合;综合结果无误后进行布局与布线,生成配置文件;在下载前进行时序分析;最后下载、测试,从而完成设计。

万年历设计中包括以下几种模块:

脉冲捕捉模块,分频模块,计数模块(分为时分秒模块和年月日模块),最后为译码模块(数码显示模块)。

使用ModelSim进行时序仿真,用QuartusII进行功能仿真。

其中包括管脚锁定和下载测试等等。

1总体电路结构设计

1.1电路功能与性能

万年历的设计要完成的基本功能是显示年月日或时分秒,并且可以进行年月日时分秒的调整,对此需要把系统分为以下几个模块:

脉冲捕捉模块、分频模块、时间显示选择模块、时分秒模块、年月日模块、时间调整模块、译码器模块。

脉冲捕捉模块主要用于button键的调时;分频模块是为了得到一个周期为1秒的脉冲,该脉冲主要用于秒的走动;时间选择模块主要完成的功能是由使用者决定显示年月日还是时分秒(本实验用chose控制)在设计过程中由于器材限制,数码管的个数为8个,所以只有把年月日和时分秒分为两个模块,至于显示哪一个则由该模块完成任务;时分秒模块和年月日模块分别进行时分秒和年月日的计时;译码器则是在数码怪上显示当前时间。

1)分频模块

该模块的主要功能是想得到一个时钟频率为1Hz的一个脉冲,也就是说想得到周期为1秒的脉冲。

设计思路是:

用一个模1000计数器,该计数器每秒有1000个脉冲波形,然后对该计数器每秒计数一次,也就是说1秒内有1000脉冲,但是只要最后的一个脉冲,这样就得到了一个周期为1秒的脉冲。

2)时间显示选择模块

该模块是控制显示器,决定显示年月日还是时分秒。

为了节省数码管,该设计把年月日和时分秒分开显示,当该模块受到低电平1时显示当前的时分秒,当接受到的是高电平时则显示年月日(本实验用chose进行高低电平的选择)。

3)时分秒模块

该模块是时分秒的计时模块,主要计数器组成,当秒(second)计数到59时向分计数器进位,分计数器计数一次,同时秒信号归零;当分计数器计数到59时,且秒计数到59(即59分59秒),时(hour)计数器加1,一直加到23后清零。

4)年月日模块

该模块是年月日的计时,实现的功能是当时(hour)计数器计到23且分计数器计到59分秒计数器计到59秒(即23小时59分59秒),再来一个时钟脉冲,

日计数器加1。

当1月、3月、5月、7月、8月、10月和12月日计数器计到30且时计数器计到23小时且分计数器计到59分秒计数器计到59秒(即30日23小时59分59秒),月计数器加1;当4月、6月、9月和11月时日计数器计到29且时计数器计到23小时且分计数器计到59分秒计数器计到59秒(即29日23小时59分59秒),月计数器加1;如果是闰年的2月日计数器计到29,如果是平年的2月日计数器计到28。

当月计数器计到12,年计数器加1。

5)时间调整模块

该模块的主要功能是对时分秒或年月日的调整。

设计思路:

根据控制模块开关s1,s2,s3决定。

当chose为低电平时,puls1是秒的调整开关,puls1每按下去一次,秒位就加一;分、时的调整同理;当chose是高电平时,puls1是日的调整开关,puls1每按下去一次,日位就加一;年月的调整同理。

6)数码管显示模块(译码器)

译码器可以将输入代码的状态翻译成相应的输出信号,以高、低电平的形式在各自的输出端口送出,以表示其意愿,译码器有多个输入端和多个输出端,假如输入端的个数为3,每个输出端只能有两个状态,则输出的个数最多为2n个,本实验采用3线—8线译码器,输出端为年月日或时分秒的信号,输出的8位二进制数对应译码器的真值表。

1.2主要算法

该电路设计的主要难点在于计数器的控制,也就是说如何实现计数器的进位。

尤其是日计数器的选择,平年2月28天闰年2月29天。

1、3、5、7、8、10、12是31进制计数器,4、6、9、11是30进制计数器。

平年2月是28进制计数器,闰年2月是29进制计数器。

计数器列表如表1.1所示。

表1.1计数器列表

名称

IO属性

描述

cnt31

out

1、3、5、7、8、10、12月

cnt30

out

4、6、9、11月

cnt29

out

闰年2月

cnt28

out

平年2月

1.3电路接口

根据电路信号功能将接口分为5部分,分别是时钟信号、复位信号、开关控制信号、输出信号。

具体接口如下表1.2所示。

表1.2接口信号表

名称

IO属性

描述

备注

clk

in

输入时钟,1KHZ频率

上升沿有效

puls1

in

秒或日的调时信号

高电平有效

puls2

in

分和月的调时信号

高电平有效

puls3

in

时和年的调时信号

高电平有效

rstn

in

系统异步复位信号

低电平有效

chose

in

开关,高电平时输出时分秒,低电平时输出年月日

显示选择

dout

out

输出信号

数码管显示

1.4电路功能框图

依照功能,电路图可以设计如图所示:

1.5验证方案

设计的验证主要有两方面的内容:

一是代码输入ModelSim中的仿真验证;二是在硬件电路板上的验证。

用软件验证时要注意输出的波形,用电路板验证时应注意观察译码管输出情况,通过仔细观察才可确认数据是否正确。

2模块设计

万年历的设计要完成的基本功能是显示年月日或时分秒,对此需要把系统分为以下几个模块:

分频模块、时间显示调整模块、时分秒模块、年月日模块、显示控制模块、译码器模块,分频模块是为了得到一个周期为秒的脉冲,该脉冲主要用于秒的走动;控制模块主要完成的动能是由使用者决定显示年月日还是时分秒;时分秒模块和年月日模块分别控制时分秒和年月日;显示控制模块的功能是控制显示时分秒还是年月日;译码器则是在数码管上显示。

由于实验设备的限制,本设计采用8只七段数码管分时完成时、分、秒或年、月、日的显示。

设计电路的计时器模块用于完成一天中的24小时计时;年月日模块接受计时器模块送来的“天”脉冲进行计数,得到日、月、年的显示结果;控制模块产生控制信号chose,控制数码显示器显示年、月、日,还有显示时、分、秒。

依照功能,将电路分为6个功能模块,如图所示。

分频模块

时间显示调整模块

时分秒模块

年月日模块

显示控制模块

数码管显示

图1.1系统流程图

2.1分频模块设计

该模块的主要功能是想得到一

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

当前位置:首页 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1