一、FPGA的基本知识

1、可编程逻辑器件的概况可编程逻辑器件主要分为FPGA和CPLD两种,两者的功能基本相同 。

FPGA--现场可编程门阵列的简称

CPLD--复杂可编程逻辑器件的简称

2、FPGA芯片及其最小系统

(1)FPGA芯片

它的外形与普通嵌入式处理器芯片相同采用PGA(Organic pin grid Array,有机管脚阵列)的封装形式,但可以通过烧写特殊程序改变其内部结构,实现专门的电路功能。

基于fpga数字时钟设计(基于FPGA的数字时钟)(1)

(2)FPGA最小系统

FPGA的最小系统主要由以下四大部分组成:

1)FPGA芯片

2)下载电路

3)外部时钟电路

4)电源与复位电路

基本组成框图如下:

基于fpga数字时钟设计(基于FPGA的数字时钟)(2)

二、FPGA的设计方法

1、编程语言

FPGA的主流程序设计语言主要有VHDL语言与Verilog语言两种。本课题采用VHDL语言进行编写。

VHDL--用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。

Verilog--一种基本语法与C语言相近,相比较于C语言更容易理解,

2、图形化程序设计(设计效率低)

三、软件开发环境

QuartusII是Altera提供的FPGA开发集成环境,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。它完全支持VHDL设计流程,其内部嵌有VHDL逻辑综合器。

基于fpga数字时钟设计(基于FPGA的数字时钟)(3)

QuartusII编译主界面

四、数字钟功能模块认识

数字时钟的设计采用了自顶向下分模块的设计。底层是实现各功能的模块,各模块由VHDL语言编程实现顶层采用原理图形式调用。具体的设计框图:

基于fpga数字时钟设计(基于FPGA的数字时钟)(4)

各模块原理剖析:

(1)在七段数码管上具有时--分--秒的依次显示;

(2)时、分、秒的个位记满十向高位进一,分、秒的十位记满五向高位进一,小时按24进制计数,分、秒按60进制计数;

(3)整点报时,当计数到整点时扬声器发出响声;

(4)时间设置:可以通过按键手动调节秒和分的数值。此功能中可通过按键实现整体清零和暂停的功能。

一、数字时钟的设计与仿真

1、模块设计与实现

(1)建立工程

1)建立工程文件,双击桌面上的Quartus II的图标运行此软件。

2)选择File下拉菜单中的New Project Wizard,新建工程,生成项目工程。

基于fpga数字时钟设计(基于FPGA的数字时钟)(5)

Quartus II新建工程向导

3)进入工作目录,进入工程文件的配置选项,依次点击“Next”。

4)第一个输入框为工程目录输入框,用来指定工程存放路径(建议修改存放路径),第二个输入框为工程名称输入框。第三个输入框为顶层实体名称输入框。(确保工程名称与顶层实体名称一致)。

5)设计中需要包含的其它设计文件,在此对话框中不做任何修改,直接点击next。

6)在弹出的对话框中进行器件的选择,根据自己的需要选择器件。

7)出现新建工程所有的信息后,点击finish完成新建工程的建立。

,