基于QuartusII的数字时钟的设计文档格式.docx

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

基于QuartusII的数字时钟的设计文档格式.docx

《基于QuartusII的数字时钟的设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于QuartusII的数字时钟的设计文档格式.docx(31页珍藏版)》请在冰点文库上搜索。

基于QuartusII的数字时钟的设计文档格式.docx

4.2器件…………………………………………………………………………...8

5.系统设计……………………………………………………………...…………8

5.1总体…………………………………………………………………………...8

5.2各模块………………………………………………………………………...9

5.2.1顶层模块…………………………………………………………………..9

5.2.2十进制计数器模块………………………………………………………..9

5.2.3六进制计数器模块………………………………………………………10

5.2.4二十四进制计数器模块…………………………………………………10

5.2.57段LED显示驱动模块…………………………………………………11

6.硬件设计………………………………………………………...……………..11

6.1顶层实体图………………………………………………………………….11

6.2各模块实体图……………………………………………………………….12

6.2.1十进制计数器模块………………………………………………………12

6.2.2六进制计数器模块………………………………………………………12

6.2.3二十四进制计数器模块…………………………………………………13

6.2.47段LED显示驱动模块…………………………………………………13

6.3总体实体图………………………………………………………………….14

7.流程图设计………………………………………………………...…………..15

8.模块设计实现…………………………………………………………………...16

8.1建立顶层模块………………………………………………………………16

8.1.1新建dianzizhong.工程…………………………………………………16

8.1.2建立VHDL源程序…………………………………………………….16

8.2建立十进制计数器模块……………………………………………………18

8.2.1新建CNT10.工程……………………………………………………...18

8.2.2建立VHDL源程序……………………………………………………18

8.3建立六进制计数器模块……………………………………………………19

8.3.1新建CNT6.工程……………………………………………………….19

8.3.2建立VHDL源程序……………………………………………………19

8.4建立二十四进制计数器模块………………………………………………20

8.4.1新建CNT24.工程……………………………………………………...20

8.4.2建立VHDL源程序……………………………………………………20

8.5建立7段LED显示驱动模块……………………………………….……..21

8.5.1新建LED_DRIV.工程…………………………………………………21

8.5.2建立VHDL源程序……………………………………………………22

9.仿真调试结果分析……………………………………………………………...22

9.1顶层模块的编译与波形仿真………………………………….……….…22

9.2十进制计数器模块的编译与波形仿真………………………………..…23

9.3六进制计数器模块的编译与波形仿真………………………………..…24

9.4二十四进制计数器模块的编译与波形仿真…………………………..…25

9.57段LED显示驱动模块的编译与波形仿真……………………………..26

10.结论………………………………………………………….……………..…..27

11.设计总结和体会………………………………………………….....................27

12.致………………………………………………………………………….…28

13.参考文献………………………………………………….................................29

绪论

1.研究的意义

在快速发展的年代,时间对于人们来说越来越宝贵,在快节奏的生活中,人们往往会忘记了时间,一旦在一些重要的场合忘记了时间,将会带来重大的损失。

因此我们需要一个定时系统来提醒忙碌的人,数字钟无疑是一个极佳的选择。

数字钟已成为人们日常生活中不可缺少的生活必需品,广泛的应用于家庭以及车站、码头、剧场办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。

2.国外研究现状

数字钟一般由振荡器,分频器,译码器,显示器等部分组成,这些都是数字电路中最基本的,应用最广的电路。

当前市场上已有现成数字钟集成电路芯片出售,价格较便宜由于数字集成电路技术的发展,采用了先进稳定的石英振荡技术,是数字钟具有走时准确,性能稳定,携带方便等特点,是目前人们生活和工作不可或缺的报时用品。

然而,近些年来,随着科技的发展和进步,人们对数字钟的要求也越来越高,传统的简易的功能单一的数字钟已不能满足人们的需求。

新出现的多功能时钟不管在性能上还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。

而且在功能方面,也大扩展了钟表原先的报时功能。

研制出了具有诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等功能的数字时钟,给人们带来了极大的便利。

3.研究思路和方法

本学期,我们学习了EDA的课程,开始掌握QuartusII软件的初步应用。

因此,本组成员决定从数字钟这一项目进行展开,应用QuartusII软件,设计出一个时间可调,并可以通过LED七段共阴极数码管来显示时、分、秒的简易数字钟。

设计与实践部分

1.课程设计的目的与作用

(1)掌握基于FPGA的数字模块开发方法;

(2)掌握QuartusII软件的使用方法;

(3)假设外部输入脉冲为1Hz,使用该频率设计一个时间可调,并通过LED七段共阴极数码管能够显示时、分、秒的数字钟。

2.设计任务

本次课程设计的任务是利用所学的EDA的理论知识作为分析设计指导,查阅资料书籍,设计出基于QuartusII的数字时钟,并对其用QuartusII软件仿真所设计的程序,并将仿真结果与之前的理论分析计算出的结果进行比较,若无差别,则可认为程序设计合理;

若有差别,检查设计程序并做相应的修改,直至理论分析结果与实际仿真结果相同,完成课程设计的设计报告并进行答辩。

3.QuartusII软件介绍

QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:

可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件。

此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;

支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。

目前Altera已经停止了对MaxplusII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。

Altera在QuartusII中包含了许多诸如SignalTapII、ChipEditor和RTLViewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法。

AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

4.相关理论

4.1设计理论及原理

数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

本次设计的数字钟在设计时,先对1s的时钟进行计数,当计数达到60次时,输出一个分钟(min)脉冲;

当1min的时钟计数达到60次时,输出1个小时(h)脉冲;

若1h的时钟计数达到23次时,并且1min的技术达到59次、1s的计数也达到59次,再来1个1s的脉冲,数字钟就自己复位,重新从零开始计时。

因此,综上所述,若要完成以上设计,数字钟需由3个计数模块(二十四进制计数器、十进制计数器和六进制计数器)、7段LED驱动显示模块和顶层模块构成。

将这些模块进行有机的连接即可实现设计任务。

4.2器件

INPUT、OUPUT、CNT6、CNT10、CNT24、LED_DRIV

5.系统设计

5.1总体

数字时钟总体shuzizhong.vwf设计连接后的原理图如下所示

图5.1数字钟总体原理图

5.2各模块

5.2.1顶层模块

顶层模块dianzizhong.vwf设计、连接、封装后的原理图如下所示

图5.2.1顶层模块原理图

5.2.2十进制计数器模块

十进制计数器模块CNT10.vwf设计、连接、封装后的原理图如下

图5.2.2十进制计数器原理图

5.2.3六进制计数器模块

六进制计数器模块CNT6.vwf设计、连接、封装后的原理图如下

图5.2.3六进制计数器原理图

5.2.4二十四进制计数器模块

二十四进制计数器模块CNT24.vwf设计、连接、封装后的原理图如下

图5.2.4二十四进制计数器原理图

5.2.57段LED显示驱动模块

7段LED显示驱动模块LED_DRIV.vwf设计、连接、封装后的原理图如下

图5.2.57段LED显示驱动模块原理图

6.硬件设计

6.1总体实体图

图6.1数字钟总体实体图

6.2各模块实体图

6.2.1十进制计数器模块

十进制计数器模块的实体图如下图所示

图6.2.1十进制计数器实体图

6.2.2六进制计数器模块

六进制计数器模块的实体图如下图所示

图6.2.2六进制计数器实体图

6.2.3二十四进制计数器模块

二十四进制计数器模块的实体图如下图所示

图6.2.3二十四进制计数器实体图

6.2.47段LED显示驱动模块

7段LED显示驱动模块的实体图如下图所示

图6.2.57段LED显示驱动模块实体图

6.3总体实体图

总体电路的实体图如下图所示

图6.3总体实体图

7.流程图设计

图7数字钟设计的流程图

8.模块设计实现

8.1建立顶层模块

8.1.1新建dianzizhong.工程

运行QuartusII软件,执行菜单命令“File”→“NewProjectWizard”,在弹出的“NewProjectWizard”对话框里选择项目和文件的保存路径→输入项目名称及文件名称dianzizhong

执行菜单命令“File”→“New”,在“New”对话框的“DesignFile”项中选择“VHDLFile”→单击“OK”按钮→在VHDL程序编辑窗口中输入顶层模块VHDL程序→保存为“dianzizhong.vhd”。

8.1.2建立VHDL源程序

顶层模块程序的实体中应定义时钟脉冲输入端(CLK)、设置时间使能端(SET)、时间调整输入端(包括时、分、秒的高位和低位)、时钟数据显示输出端(包括时、分、秒的高位和低位)。

由于十进制计数模块和六进制计数模块会产生技术溢出信号(CARRY_OUT),而这些溢出信号有可能作为下一计数模块的时钟输入脉冲(CLK),因此在顶层模块程序的结构体中需要定义相应的暂存计数溢出信号(CARRY1~CARRY4)。

3个计数模块的输出将为4位,这些4位输出的数据作为LED驱动模块的显示容,所以也需定义一些4位输出信号。

顶层模块程序编写如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYdianzizhongIS

PORT(CLK:

INSTD_LOGIC;

SET:

DIN_S_L:

INSTD_LOGIC_VECTOR(3DOWNTO0);

DIN_S_H:

DIN_M_L:

DIN_M_H:

DIN_H_L:

DIN_H_H:

CQ_S_L:

OUTSTD_LOGIC_VECTOR(6DOWNTO0);

CQ_S_H:

CQ_M_L:

CQ_M_H:

CQ_H_L:

CQ_H_H:

OUTSTD_LOGIC_VECTOR(6DOWNTO0)

);

ENDdianzizhong;

ARCHITECTUREARTOFdianzizhongIS

COMPONENTCNT10

PORT(CLK:

DIN:

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CARRY_OUT:

OUTSTD_LOGIC);

ENDCOMPONENTCNT10;

COMPONENTCNT6

ENDCOMPONENTCNT6;

COMPONENTCNT24

PORT(CLK:

DIN_H:

DIN_L:

CQ_H:

CQ_L:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDCOMPONENTCNT24;

COMPONENTLED_DRIVIS

PORT(DIN:

DOUT:

ENDCOMPONENTLED_DRIV;

SIGNALCARRY1:

STD_LOGIC;

SIGNALCARRY2:

SIGNALCARRY3:

SIGNALCARRY4:

SIGNALCQI_S_L:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALCQI_S_H:

SIGNALCQI_M_L:

SIGNALCQI_M_H:

SIGNALCQI_H_L:

SIGNALCQI_H_H:

BEGIN

U0:

CNT10PORTMAP(CLK=>

CLK,SET=>

SET,DIN=>

DIN_S_L,

CQ=>

CQI_S_L,CARRY_OUT=>

CARRY1);

U2:

CNT6PORTMAP(CLK=>

CARRY1,SET=>

DIN_S_H,

CQI_S_H,CARRY_OUT=>

CARRY2);

U3:

CARRY2,SET=>

DIN_M_L,

CQI_M_L,CARRY_OUT=>

CARRY3);

U4:

CARRY3,SET=>

DIN_M_H,

CQI_M_H,CARRY_OUT=>

CARRY4);

U5:

CNT24PORTMAP(CLK=>

CARRY4,SET=>

SET,DIN_H=>

DIN_H_H,

DIN_L=>

DIN_H_L,CQ_H=>

CQI_H_H,CQ_L=>

CQI_H_L);

U6:

LED_DRIVPORTMAP(DIN=>

CQI_S_L,DOUT=>

CQ_S_L);

U7:

CQI_S_H,DOUT=>

CQ_S_H);

U8:

CQI_M_L,DOUT=>

CQ_M_L);

U9:

CQI_M_H,DOUT=>

CQ_M_H);

U10:

CQI_H_L,DOUT=>

CQ_H_L);

U11:

CQI_H_H,DOUT=>

CQ_H_H);

ENDART;

8.2建立十进制计

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

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

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

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