1基于FPGA的计数器的程序设计摘要本文介绍了一种基于FPGA的,由顶层到底层设计的数字计数器。本文主要包括该计数器的设计基础和实现方法以及译码与显示等内容,描述了它的设计平台、工作原理和软硬件实现。本设计主要有分频器、四位计数器、16位锁存器以及数码管显示电路四个模块组成。计数器各模块设计采用VHDL硬件描述语言编程,极大地减少了硬件资源的占用,仿真与分析结果表明,该数字计数器性能优异,软件设计语言灵活,硬件简单,速度快。关键词FPGA计数器VHDL分频器2目录基于FPGA的计数器的程序设计.....................................................................................................1摘要..............................................................................................................................................11绪论..............................................................................................................................................31.1FPGA简介..........................................................................................................................31.2硬件描述语言VHDL简介...............................................................................................31.3开发工具QuartusII简介................................................................................................42整体设计方案................................................................................................................................43各功能模块设计及仿真................................................................................................................53.1分频器的设计....................................................................................................................53.1.1分频器设计原理....................................................................................................53.1.2源程序及波形仿真................................................................................................63.1.3分频器RTL电路图...............................................................................................73.2计数器的设计....................................................................................................................73.2.1分频器设计原理....................................................................................................73.2.2源程序及波形仿真................................................................................................83.2.3RTL电路图.........................................................................................................113.3锁存器的设计..................................................................................................................113.3.1锁存器设计原理..................................................................................................113.3.2锁存器源程序及波形仿真..................................................................................123.3.3锁存器RTL电路图.............................................................................................133.4显示部分的设计..............................................................................................................133.4.1七段数码管显示原理..........................................................................................133.4.2七段数码管显示源程序及波形仿真..................................................................153.4.3七段数码管显示RTL电路图.............................................................................164系统顶层设计..............................................................................................................................174.1.1自顶向下的设计方法..........................................................................................174.1.2顶层设计源程序及其仿真波形.........................................................................174.1.3系统顶层RTL电路图.........................................................................................205总结.............................................................................................................................................21参考文献.........................................................................................................................................2231绪论1.1FPGA简介FPGA是现场可编程门阵列(FieldProgrammableGateArray)的简称。FPGA器件及其开发系统是开发大规模数字集成电路的新技术。它利用计算机辅助设计,绘制出实现用户逻辑的原理图、编辑布尔方程或用硬件描述语言等方式作为设计输入;然后经一系列转换程序、自动布局布线、模拟仿真的过程;最后生成配置FPGA器件的数据文件,对FPGA器件初始化。这样就实现了满足用户要求的专用集成电路,真正达到了用户自行设计、自行研制和自行生产集成电路的目的。FPGA是一种半定制的集成电路,其特点是直接面向用户,具有极大的灵活性和通用性,开发效率高,硬件测试和实现快捷,工作可靠性好而且技术维护简单。1.2硬件描述语言VHDL简介随着电子技术的发展,集成电路的规模越来越大,复杂程度也越来越高。对于如此大规模的和复杂程度的电路设计问题,传统的门级描述方法显得过于琐碎和难以管理。而VHDL语言具有强大的功能,覆盖面广,描述能力强,可用于从门级、电路级直至系统级的描述、仿真和综合。下面简要介绍了VHDL语言。VHDL的英文全名是Very-High-SpeedIntergratedCircuitHardwareDescriptionLanguage诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持。在电子工程4领域,已成为事实上的通用硬件描述语言。有专家认为:在新的世纪中,VHDL与Verilog语言将承担起大部分的数字系统设计任务。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计——或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。1.3开发工具QuartusII简介QuartusII是Altera公司推出的CPLD/FPGA集成化开发软件,可以完成设计输入、逻辑综合、布局与布线、