广西工学院 EDA 课程设计说明书
电科 08 级
目 录
第一章 绪 论.............................................................................................................. 1
第一节 课题背景介绍......................................................................................... 1
第二章 电子设计自动化概述....................................................................................2
第一节 VHDL 简介............................................................................................. 2
第二节 FPGA 介绍.............................................................................................. 5
第三节 QUARTUSII 介绍...................................................................................... 7
第三章 总体设计........................................................................................................9
第一节 课题的主要内容及基本要求................................................................. 9
第二节 设计思路................................................................................................. 9
第三节 设计方案................................................................................................. 9
第四章 模块分析......................................................................................................12
第一节 状态控制电路模块............................................................................... 12
第二节 数据装载电路模块............................................................................... 13
第三节 计时器模块........................................................................................... 14
第五章 程序设计及仿真..........................................................................................16
第一节 程序简要说明....................................................................................... 16
第二节 仿真时序图........................................................................................... 16
第六章 硬件调试....................................................................................................... 19
总 结.............................................................................................................................21
致 谢.............................................................................................................................22
参考文献.......................................................................................................................23
附录一 原理图........................................................................................................... 24
附录二 源程序........................................................................................................... 25
0
广西工学院 EDA 课程设计说明书
电科 08 级
第一章 绪 论
第一节 课题背景介绍
一、产品背景介绍
Percy L.Spencer 在 1946 年构想出微波炉的概念,在 1950 年取得专利。微波炉的
运作机制为微波在水中能产生摩擦热的原理。早期微波炉尺码庞大,重量超过 300 公斤
和高度超过 1.5 米,所以主要在大型餐厅和食物市场使用。第一部家用微波炉是在 1965
年由 Raytheon 集团生产。
二、国内产品发展现状
现在,中国已成为全球最大的微波炉生产基地,据估计,中国微波炉年产量已达 2000
万台左右,从 2001 年中国市场的需求量来看,约在 700 万台左右。中国微波炉市场经
过前几年的洗牌,已由前几年的 300 多家减少至目前的 100 多家,其中在市场上可统计
的仅 30 多家。
洋品牌在早期的微波炉市场份额,几乎占据了绝大部分的市场。但初期由于微波炉
市场属于导入期,价格高,消费者接受的少,自 1996 年以后,惠而浦、松下等大部分
都退出了中国市场,主要以出口为主。1998 年后,外资品牌中以韩国品牌 LG、三星表
现较为突出,逐渐跨入第 2、第 3 名,微波炉第一品牌为格兰仕。2000 年,美的介入,
迅速崛起成为行业第三,三星也逐渐退出市场。
经过 60 年的发展,微波炉已经成为人们日用生活中的必不可少的厨房电器,大大
降低了家庭妇女的工作量和工作强度。据统计,微波炉目前在日本、美国、西欧等发达
国家地区的普及率高达 98%,在中国城镇的普及率也已近 90%。这个数字甚至超过了彩
电和洗衣机的普及程度。
三、产品发展趋势
随着人们生活水平的提高和信息化的发展,家用电器层出不穷,各种功能也越来越
完善,其中微波炉是现代家庭的必备产品,它的质量和性能的高低,将会极大的影响人
们的生活水平和质量。为此,设计一个高质量的微波炉控制系统是非常有必要的。
微波炉开始进入越来越多的家庭,他给人们的生活带来了极大的方便。微波炉由
2450MHz 的超高频来加热食物。他省时、省电、方便和卫生,作为现代的烹饪工具,微
波炉的控制器体现着他的重要性能指标。目前大部分微波炉控制器采用单片机进行设
计,带南路比较复杂性能不够灵活。本文采用先进的 EDA 技术,利用 QuartusII 工作平
台和 VHDL 设计语言,设计了一种新型的微波炉控制器芯片,该芯片具有系统复位、时
间设定和烹饪计时的功能,用一片 FPGA 芯片实现,所以能设计出一款方便安全操作的
微波炉是非常有必要的。
1
广西工学院 EDA 课程设计说明书
电科 08 级
第二章 电子设计自动化概述
第一节 VHDL 简介
随着 VLSI、EDA( Electronic Design Automation )工具的迅速发展,用户系统的设计
从单纯的 ASIC(Application Specific Integrated Circuit)设计向着系统单片化 SOC(System
On a Chip)设计的方向发展。同时网络技术的发展,共享 IP 知识产权的开放式系统设
计成为新模式,芯片工艺物理设计与系统设计相分离,使用户系统设计人员可直接从事
芯片设计。多种技术的融合,系统的功能复合化程度越来越高;对系统设计方法学和工
具的要求更高;系统设计日趋软件硬化、硬件软化,并使两者得到了有机的融合,形成
了更为强大的 ESDA( Electronic System Design Automation )。
VHDL(Very High Speed Integrated Circuit Hardware Description Language)
是 IEEE(Institute of Electrical and Electronics Engineers)标准的硬件描述语
言,是现代电子系统设计的首选硬件设计计算机语言。本篇介绍 VHDL 的语法基础、用
VHDL 进行系统设计的基本方法、以及 VHDL 的设计实例等。
从宏观的角度看,VHDL 的语法构成了程序的各组成部分;微观上看 VHDL 的语法是
各种语句的运用细节。本章在 VHDL 的特性之后,从这两个角度简要介绍 VHDL 的语法基
础。
硬件描述语言 HDL(Hardware Description Language)诞生于 1962 年。HDL 是用
形式化的方法描述数字电路和设计数字逻辑系统的语言。主要用于描述离散电子系统的
结构和行为。与 SDL(Software Description Language)相似,经历了从机器码(晶体
管和焊接)、汇编(网表)、到高级语言(HDL)的过程。
20 世纪 80 年代美国国防部开发 Very High Speed Integrated Circuit—VHSIC,
用于描述集成电路的结构和功能。此后,硬件描述语言向标准化方向发展,1987 年成为
IEEE Standard 1076,称为 VHDL 语言。它也是美国国防部标准(MIL-STD-454L)。1993
年该标准增修为 IEEE1164 标准。1996 年,再次加入电路合成的标准程序和规格,成为
IEEE1076.3 标准。
1995 年 VerilogHDL 也成为 IEEE 标准。VHDL 与 VerilogHDL 一起成为业界主选的硬
件描述语言。
一、VHDL 的特点
应用 VHDL 进行系统设计,有以下几方面的特点。
(一)功能强大
VHDL 具有功能强大的语言结构。它可以用明确的代码描述复杂的控制逻辑设计。并
且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。VHDL 是一种设计、
仿真和综合的标准硬件描述语言。
(二)可移植性
2
广西工学院 EDA 课程设计说明书
电科 08 级
VHDL 语言是一个标准语言,其设计描述可以为不同的 EDA 工具支持。它可以从一个
仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作
平台移植到另一个工作平台。此外,通过更换库再重新综合很容易移植为 ASIC 设计。
(三)独立性
VHDL 的硬件描述与具体的工艺技术和硬件结构无关。设计者可以不懂硬件的结构,
也不必管最终设计实现的目标器件是什么,而进行独立的设计。程序设计的硬件目标器
件有广阔的选择范围,可以是各系列的 CPLD、FPGA 及各种门阵列器件。
(四)可操作性
由于 VHDL 具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变
源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。
(五)灵活性
VHDL 最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其在
任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即
使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,
并做出决策。
二、VHDL 的设计步骤
采用 VHDL 的系统设计,一般有以下 6 个步骤。
(1)要求的功能模块划分;
(2)VHDL 的设计描述(设计输入);
(3)代码仿真模拟(前仿真);
(4)计综合、优化和布局布线;
(5)布局布线后的仿真模拟(后仿真);
(6)设计的实现(下载到目标器件)。
三、VHDL 的设计简述
VHDL 描述数字电路系统设计的行为、功能、输入和输出。它在语法上与现代编程语
言相似,但包含了许多与硬件有特殊关系的结构。
VHDL 将一个设计称为一个实体 Entity(元件、电路或者系统),并且将它分成外部
的可见部分(实体名、连接)和内部的隐藏部分(实体算法、实现)。当定义了一个设
计的实体之后,其他实体可以利用该实体,也可以开发一个实体库。所以,内部和外部
的概念对系统设计的 VHDL 是十分重要的。
外部的实体名或连接由实体声明 Entity 来描述。而内部的实体算法或实现则由结
构 体 Architecture 来 描 述 。 结 构 体 可 以 包 含 相 连 的 多 个 进 程 process 或 者 组 建
component 等其他并行结构。需要说明的是,它们在硬件中都是并行运行的。
VHDL 程序设计的基本结构如下:
3
广西工学院 EDA 课程设计说明书
电科 08 级
库、程序包
实体 Entity
结构体 Architecture、
进程 process、
组件 component 等
配置 Configuration
表 1 VHDL 程序设计的基本结构
一个实体可以对应一个或者多个结构体。结构体可以包含一个或者多个进程或者组
件。
四、VHDL 的描述风格
设计实体的逻辑功能由 VHDL 的结构体具体描述。用户可以使用不同程度的语句类
型和抽象方式来描述不同程度的设计。例如系统级的、板级的、芯片级的或者模块级的
设计。对于相同的逻辑行为可以有不同的语句表达方式。在 VHDL 结构体中这种不同的
描述方式或者说建模方法,通常可归纳为行为(Behavioral)级描述、数据流(Dataflow)
级描述和结构(Structural)级描述。
(一)行为级描述
通过一组串行的 VHDL 进程,反映设计的功能和算法,而没有直接指明或涉及实现
这些行为的硬件结构,包括硬件特性、连线方式和逻辑行为方式。行为级描述主要指顺
序语句描述,即通常是指含有进程的非结构化的逻辑描述。
(二)数据流级描述
将数据看成从设计的输入端流到输出端,反映从输入数据到输出数据所发生的立即
变换。数据流描述主要是指非结构化的并行语句描述;是建立在用并行信号赋值语句描
述基础上的。数据流描述方式可比较直观地表达底层逻辑行为。
(三)结构级描述
将设计看成多个功能块的相互连接,并且主要通过功能块的组件例化来表示。结构
级描述方式采用了结构化、模块化的设计思想,适合于大型复杂性设计。
VHDL 通过这三种描述方法或称描述风格,从不同的侧面描述结构体的行为方式。其
中,行为描述的抽象程度最高,最能体现 VHDL 描述高层次结构和系统的能力。正是 VHDL
语言的行为描述能力使自顶向下的设计方式成为可能。
在实际应用中,为了能兼顾整个设计的功能、资源和性能几方面的因素,通常将以
上三种描述方式混合使用。
4
广西工学院 EDA 课程设计说明书
电科 08 级
第二节 FPGA 介绍
一、发展历史
早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器
(EPROM)和电可擦除只读存储器(E2PROM)三种。由于结构的限制,它们只能完成简
单的数字逻辑功能。
其后出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完
成各种数字逻辑功能。典型的 PLD 由一个“与”门和一个“或”门阵列组成,而任意一
个组合逻辑都可以用“与—或”表达式来描述,所以 PLD 能以乘积和的形式完成大量的
组合逻辑功能。
这一阶段的产品主要有 PAL(可编程阵列逻辑)和 GAL(通用阵列逻辑)。 PAL 由一
个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选
择地被置为寄存状态。PAL 器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM
技术和 E2PROM 技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它
也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。
PLA 器件既有现场可编程的,也有掩膜可编程的。在 PAL 的基础上又发展了一种通用阵
列逻辑(GAL,Generic ArrayLogic),如 GAL16V8、GAL22V10 等。它采用了 E'PROM 工
艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具
有很强的灵活性,至今仍有许多人使用。这些早期的 PLD 器件的一个共同特点是可以实
现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。
为了弥补这一缺陷,20 世纪 80 年代中期,Altera 和 Xilinx 分别推出了类似于 PAL
结构的扩展型 CPLD(Complex Programmable Logic Dvice)和与标准门阵列类似的 FPGA
(FieldProgrammable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高
以及适用范围宽等特点。这两种器件兼容了 PLD 和通用门阵列的优点,可实现较大规模
的电路,编程也很灵活。与门阵列等其他 ASIC(Application Specific IC)相比,它
们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品不需测试、质量
稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般
在 10 000 件以下)之中。几乎所有应用门阵列、PLD 和中小规模通用数字集成电路的场
合均可应用 FPGA 和 CPLD 器件。
FPGA 是英文 Field Programmable Gate Arry 的缩写,即现场可编程门阵列,它是
在 PAL、GAL、EPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路
(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有
可编程器件门电路数有限的缺点。
二、FPGA 的基本特点
FPGA 采用了逻辑单元阵列(LOA,Logic Cell Arry)这样一个新概念,内部包括可
5
广西工学院 EDA 课程设计说明书
电科 08 级
配置逻辑模块(CLB,Configurable Logic Block)、输入输出模块(IOB,Input Output
Block)和内部连线(Interconnect)三个部分。FPGA 的基本特点主要有:
(1)采用 FPGA 设计 ASIC 电路,用户不需要投片生产就能得到合用的芯片;
(2)FPGA 可做其他全定制或半定制 ASIC 电路的试样片:
(3)FPGA 内部有丰富的触发器和 I/O 引脚;
(4)FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一;
(5)FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼容。
可以说,FPGA 芯片是小批量系统提高系统集成度和可靠性的最佳选择之一。
目前 FPGA 的品种很多,有 XILINX 的 xc 系列、TI 公司的 TPC 系列、ALTERA 公司的
FIEX 系列等。
FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的。因此,工作时需要对片内
的 RAM 进行编程。用户可以根据不同的配置模式采用不同的编程方式。
加电时,FPGA 芯片将 EPROM 中的数据读入片内编程 RAM 中,配置完成后,FPGA 进
入工作状态。掉电后,FPGA 恢复成白片,内部逻辑关系消失。因此,FPGA 能够反复使
用。FPGA 的编程不需专用的 FPGA 编程器,只需用通用的 EPROM、PROM 编程器即可。当
需要修改 FPGA 功能时,只需换一片 EPROM 即可。这样,同一片 FPGA、不同的编程数据,
可以产生不同的电路功能。因此,FPGA 的使用非常灵活。
FPGA 有下面 4 种配置模式:
(1)并行主模式为一片 FPGA 加一片 EPROM 的方式;
(2)主从模式可以支持一片 PROM 编程多片 FPGA:
(3)串行模式可以采用串行 PROM 编程 FPGA;
(4)外设模式可以将 FPGA 作为微处理器的外设,由微处理器对其编程。
三、FPGA 的优点
FPGA 芯片都是特殊的 ASIC 芯片,除了具有 ASIC 的特点之外,还具有以下 3 个优点。
(一)随着超大规模集成电路(VLSI,Very Large Scale IC)工艺的不断提高,
单一芯片内部可以容纳上百万个晶体管,FPGA/CPLD 芯片的规模也越来越大,其单片逻
辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。
(二)FPGA/CPLD 芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投
片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯
片的最终功能设计。所以,FPGA/CPLD 的资金投入小,节省了许多潜在的花费。
(三)用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同的软
件实现不同的功能。所以,用 FPGAiCPLD 试制样片,能以最快的速度占领市场。FPGA/
CPLD 软件包中有各种输入工具和仿真工具及版图设计工具和编程器等全线产品,电路设
计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。
当电路有少量改动时,更能显示出 FPGA/CPLD 的优势。电路设计人员使用 FPGA/CPLD
6
广西工学院 EDA 课程设计说明书
电科 08 级
进行电路设计时,不需要具备专门的 IC(集成电路)深层次的知识,FPGA/CPLD 软件
易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。
第三节 QuartusII 介绍
Altera 公司的 Quartus II 开发系统以其独特的设计理念,为用户提供了一种全
新的可编程逻辑器件开发系统。它集合了 Altera 的全部 CPLD/FPGA 器件的硬件开发功
能,同时也可以实现系统级设计、综合、仿真、约束等功能,还具有在线测试功能。
Quartus II 7.0 软件具有以下特征:
(一)提供的集成物理综合技术
Quartus II 软件包括唯一的 FPGA 供应商提供的集成物理综合优化技术。Quartus II
理综合选项应用在编译的布局布线阶段,而与采用何种综合工具无关。
(二)更快的时序逼近
Quartus II 软件用户能够利用强大的时序逼近流程特性来优化设计,使其超过按
键式编译结果的性能。Quartus II 软件的时序逼近流程由于其包含了内置物理综合工
具以及丰富的图形分析和编辑工具,提供了强大的交互能力,具有极大的吸引力。
(三)最易使用的设计优化技术
Quartus II 软件采用按键式设计流程,满足了大部分设计的时序要求。当设计人
员进一步需要更好的编译结果时,Quartus II 软件提供了一些高级工具,可以轻松地
实现优化设计。用户可以使用设计空间搜索器(DSE)采用自动技术,使寄存器到寄存
器设计性能平均提高 21%。时序优化顾问工具在 Quartus II 软件内给设计人员提供了
一个虚拟的现场应用工程师。这个工具基于当前设计工程设置和约束,提供详细的优化
设计时序性能的建议。
(四)实现后期设计更改的同时保持性能
可编程逻辑设计软件的一个传统困难是:当引入后期设计更改的时候,如何保持设
计的性能。然而,Quartus II 软件能够轻松地实现后期设计更改。最新的增量式设计
编程器和编译技术给设计人员提供了布局布线后设计更改的最佳支持。这些技术包括:
(1)Quartus II 芯片编辑器;
(2)在 LogicLock(tm)区域中实现布局布线锁定的能力;
(3)使用渐进式编译,仅实现对部分改动的设计进行修改。
(五)提供并行开发 FPGA 和结构化 ASIC
Quartus II 软件能够提供 FPGA 设计和结构化 ASIC 设计之间的无缝移植。Quartus
II 软件能够编译 HardCopy Stratix 器件,从而提供了高性能低成本器件的解决方法。
HardCopy Stratix 结构化 ASIC 提供了比 Stratix FPGA 平均高 50%的性能,进一步加强
了 Stratix III 器件系列 65nm 性能的领先性。
Altera 公司的 Quartus II 设计软件提供完整的多平台设计环境,能够直接满足特
定设计需要,为可编程芯片系统(SOPC)提供全面的设计环境。Quartus II 软件含有
7