现代电子技术综合实验
(数字秒表)
实验报告
姓名
学号
时间 2013 年 4 月 25 日
1 / 38
中文摘要
摘 要:随着电子信息产业的不断发展,基于 FPGA 的应用技术发展迅速,在某些
领域 FPGA 正逐步代替 dsp、arm、单片机等微处理器。本文设计一个基于 FPGA
技术的数字秒表。首先,我们把晶振产生的 50MHZ 时钟信号送入 FPGA 芯片内,
经 FPGA 内分频模块处理产生 1KHZ 时钟信号。秒表的功能模块由 VHDL 语言编写,
在 Xilinx 的 ISE 环境下调试,并在 Modelsim 上完成仿真,在最后把产生的信号
送入 LED 显示电路里进行显示。本文从电子秒表的具体设计触发,详细阐述了基
于 FPGA 的数字秒表的设计方案,设计了各模块的代码,并对硬件电路进行了仿
真。
关键词:FPGA,VHDL,电子秒表
2 / 38
目 录
第一章 引言..............................................................................................................4
第二章 基于 FPGA 的 VHDL 设计流程 .................................. 4
2.1 概述 ........................................................ 4
2.2 VHDL 语言介绍 ................................................5
2.2.1
VHDL 的特点 ............................................. 5
2.2.2 基于 VHDL 的自顶向下设计方法 ............................. 6
2.3 FPGA 开发介绍 ................................................7
2.3.1
FPGA 简介 ............................................... 7
2.3.2
FPGA 设计流程 ........................................... 8
2.3.3
Spartan-II 芯片简介 ..................................... 9
第三章 数字秒表的设计与实现 ..................................... 15
3.1 项目任务与设计思路 ......................................... 15
3.2 基于 VHDL 方法的设计方案 ..................................... 15
3.3 系统电路设计 ................................................ 16
3.4 系统单元模块设计
3.4.1 分频器 ................................................. 17
3.4.2 计数器 ................................................. 18
3.4.3 扫描控制显示电路 ....................................... 24
3.4.4 按键消陡模块 ........................................... 30
3.4.5 控制电路模块 ........................................... 31
3.4.6 锁存器模块 ............................................. 33
3.4.7 电子秒表顶层连接模块....................................34
3.5 系统硬件实现与调试.............................................37
3.6 结束语 ........................................................38
致 谢 ........................................................... 38
3 / 38
第一章 引言
随着电子信息产业的发展,数字系统的规模越来越大,更多采用自顶而下的
模块化设计方法,这就要求技术人员对于基本的模块有着深入的理解。随着 FPGA
技术的发展和成熟,用 FPGA 来做为一个电路系统的控制电路逐渐显示出其无与
伦比的优越性。因此本文采用 FPGA 来做为电路的控制系统,采用模块化的设计
方法设计一个能显示从 00-00-00 到 59-59-99,并且具备秒表所有功能的小型数
字系统。
第二章 基于 FPGA 的 VHDL 设计流程
2.1 概述
数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较
多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。频率
计的设计有传统方法和现代方法,传统的设计方法耗时耗功,设计强度大,且容
易出错,设计的质量不一定是最好的。自然我们考虑到现代方法,即二十世纪八
十年代兴起的电子设计自动化技术,英文为 Electronic Design Auto,缩写为 EDA。
在 EDA 设计工具中,用的最广泛的是 VHDL 和 VERILOG,当然还有其它的。
比较 VHDL 和 VERILOG,在顶层设计方面 VHDL 优于 VERILOG,在门级电路
设计方面 VERILOG 优于 VHDL。随着复杂可编程逻辑器件(CPLD)的广泛应
用,以 EDA 工具作为开发手段,运用 VHDL 语言,将使整个系统大大简化,提
高整体的性能和可靠性。本次的频率计设计主要是顶层设计,目的是设计 6 位十
进制频率计,学习常用的数字系统设计方法。采用 VDHL 编程设计实现的数字
频率计,除被测信号的整形部分、键输入部分以外,其余全部在一片 FPGA 芯片
4 / 38
上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路
的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具
有高速、精确、可靠、抗干扰性强和现场可编程等优点。
2.2 VHDL 语言介绍
VHDL(Very-high-speed Integrated Circuit Hardware Description Language) 诞
生于 1982 年。1987 年底,VHDL 被 IEEE(The Institute of Electrical and Electronics
Engineers)和美国国防部确认为标准硬件描述语言。自 IEEE 公布了 VHDL 的标
准版本(IEEE-1076)之后,各 EDA 公司相继推出了自己的 VHDL 设计环境,
并宣布自己的设计工具可以和 VHDL 接口。此后 VHDL 在电子设计领域得到了
广泛的接受,并逐步取代了原有的非标准硬件描述语言。1993 年,IEEE 对 VHDL
进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了
新版本的 VHDL,即 IEEE 标准的 1076-1993 版本。现在,VHDL 和 VERILOG
作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA 公司的支持,在电子工
程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL
和 VERILOG 语言将承担起几乎全部的数字系统设计任务。
2.2.1 VHDL 的特点
VHDL 主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具
有硬件特征的语句外,VHDL 的语言形式,描述风格以及句法十分类似于一般的
计算机高级语言。VHDL 的程序结构特点是将一项工程设计,或称为设计实体(可
以是一个元件、一个电路模块或一个系统)分成外部(又称为可视部分,即端口)
和内部(又称为不可视部分),即设计实体的内部功能和算法完成部分。在对一
个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接
调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本
点。应用 VHDL 进行工程设计的优点是多方面的,具体如下:
1、与其它的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决
定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体
的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行
的 EDA 工具和 VHDL 综合器而言,将基于抽象的行为描述风格的 VHDL 程序综
合成为具体的 FPGA 和 CPLD 等目标器件的网表文件已不成问题,只是在综合
与优化效率上略有差异。
2、VHDL 最初是作为一种仿真标准格式出现的,因此 VHDL 既是一种硬件
电路描述和设计语言,也是一种标准的网表格式,还是一种仿真语言。其丰富的
5 / 38
仿真语句和库函数,使得在任何大系统的设计早期(即尚未完成),就能用于查
验设计系统的功能可行性,随时可对设计进行仿真模拟。即在远离门级的高层次
上进行模拟,使设计者对整个工程设计的结构和功能的可行性做出决策。
3、VHDL 语句的行为描述能力和程序结构决定了它具有支持大规模设计的
分解和已有设计的再利用功能,符合市场所需求的,大规模系统高效、高速的完
成必须由多人甚至多个开发组共同并行工作才能实现的特点。VHDL 中设计实体
的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有力的支
持。
4、对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综
合和优化,并自动地把 VHDL 描述设计转变成为门级网表。这种方式突破了门
级电路设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开
发成本。应用 EDA 工具的逻辑优化功能,可以自动地把一个综合后的设计变成
一个更高效、更高速的电路系统。反过来,设计者还可以容易地从综合和优化后
的电路获得设计信息,返回去更新修改 VHDL 设计描述,使之更为完善。
5、VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也
不必管最终设计实现的目标器件是什么,而进行独立的设计。正因为 VHDL 硬
件描述与具体的工艺技术和硬件结构无关,VHDL 设计程序的硬件实现目标器件
有广阔的选择范围,其中包括各系列的 CPLD、FPGA 及各种门阵列实现目标。
6、由于 VHDL 具有类属描述语句和子程序调用等功能,对于已完成的设计,
在不改变源程序的条件下,只需要改变端口类属参量或函数,就能轻易地改变设
计的规模和结构。
2.2.2 基于 VHDL 的自顶向下设计方法
2.2.2.1 自 顶 向 下 设 计 的 步 骤
1、设计说明:用自然语言表达系统项目的功能特点和技术参数等。
2、建立 VHDL 行为模型,即将设计说明已转化为 VHDL 行为模型。建立模
型是为了通过 VHDL 仿真器对整个系统进行系统行为仿真和性能评估。
3、VHDL 行为仿真。这一阶段可以利用 VHDL 仿真器对顶层系统的行为模
型进行仿真测试,检查模拟结果,继而进行修改和完善。
4、VHDL-RTL 级建模。即将 VHDL 的行为模型表达为 VHDL 行为代码。
5、前端功能仿真。即对 VHDL-RTL 级模型进行仿真,简称功能仿真。
6、逻辑综合。使用逻辑综合工具将 VHDL 行为代码描述转化为结构化的门
级电路。
7、测试向量生成。
6 / 38
8、功能仿真。
9、结构综合。
10、门级时序仿真。
11、硬件测试。
2.2.2.2
Top-down 设 计 方 法 的 优 点
1、完全符合设计人员的设计思路;从功能描述开始,到最后的物理实现。
2、功能设计可完全独立于物理实现;采用 Top-Down 设计方法,功能输入
采用国际标准的 HDL 输入方法,HDL 可不含有任何器件的物理信息,因此工程
师可以有更多的空间去集中精力进行功能描述。设计师可以在设计过程的最后阶
段任意选择或更改物理器件,不会在设计一开始就受到最终所采用器件的约束。
3、 设计可再利用;设计结果完全可以以一种知识产权(IP-Intellectual
Property)的方式作为设计师或设计单位的设计成果,应用于不同的产品设计中,
做到成果的再利用。
4、易于设计的更改;设计工程师可在极短的时间内修改设计,对各种
FPGA/CPLD 结构进行设计结果规模(门消耗)和速度(时序)的比较,选择最
优方案。
5、设计和处理大规模复杂电路;目前的 FPGA/CPLD 器件正向高集成度、
深亚微米工艺发展。为设计系统的小型化,低功耗、高可靠性等提供了集成的手
段。
6、设计周期缩短,生产率大大提高,产品上市时间提前,性能明显提高,
产品竞争力加强。据统计,采用 Top-Down 设计方法的生产率可达到传统设计方
法 2 到 4 倍。
2.3 FPGA 开发介绍
2.3.1 FPGA 简介
现场可编程门阵列(FPGA)器件是八十年代中期出现的新产品,它的应用
大大地方便了 IC 的设计,因而随着数字技术日益广泛的应用,以 FPGA 为代表
的 ASIC 器件得到了迅速的普及和发展,器件集成度和速度都在高速增长。
传统的电路设计过程是:先画原理图、把原理图绘制成印制电路板图、再制
版、安装、调试。有了 FPGA,我们只需要在计算机上绘出原理图,再运行相应
的软件,就可把所设计的逻辑电路在 FPGA 中实现。所有步骤均可自动完成。电
子设计工程师自己设计专用集成电路成为了一件很容易的事情。
FPGA 作为专用集成电路(ASIC)概念上的一个新型范畴和门类,以其高度
7 / 38
灵活的用户现场编程方式,现场定义高容量数字单片系统的能力,能够重复定义、
反复改写的新颖功能,为复杂数字系统设计、研制以及产品开发提供了有效的技
术手段。电子应用设计工程师应用 FPGA 技术不仅可避免通常 ASIC 单片系统设
计周期长,前期投资风险大的弱点,而且克服了过去板级通用数字电路应用设计
的落后,繁琐和不可靠性。
目前 FPGA 的两个重要发展与突破是,大多数厂商在其高端器件上都提供了
片上的处理器(如 CPU、DSP)等硬核(Hard Core)或固化核(Fixed Core)。
比如 Xilinx 的 Virtex II Pro 芯片可以提供 Power PC,而 Altera 的 Stratix、Excalibur
等系列芯片可以提供 Nios、DSP 和 Arm 等模块。在 FPGA 上集成微处理器,使
SOPC 设计更加便利与强大。另一个发展是在不同器件商推出的高端芯片上大都
集成了高速串行收发器,一般能够达到 3Gb/s 以上的数据处理能力,在 Xilinx、
Altera、Lattice 都有相应的器件型号提供该功能。这些新功能使 FPGA 的数据吞
吐能力大幅度增强。
2.3.2 FPGA 设计流程
对于目标器件为 FPGA 和 CPLD 的 HDL 设计,其工程设计的基本流程如图
2-1 所示。现具体说明如下。
图 2-1 EDA 设计流程
8 / 38