第一章绪论1.1引言随着电子技术的飞速发展,微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得表征半导体的工艺水平的线宽已经达到了60nm,并在不断地缩小,面在硅片单位面积上,集成了更多的晶体管。
集成电路设计正在不断地向超大规模,极低功耗和超高速的方向发展,电子产品的功能越来越强大,体积越来越小,功耗越来越低。
同时,利用可编程逻辑器件和EDA 技术使设计方法发生了质的变化。
把以前“电路设计+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载”。
利用EDA 开发平台,采用可编程逻辑器件CPLD/FPGA 使硬件的功能可通过编程来实现,这种新的基于芯片的设计方法能够使设计者有更多机会充分发挥创造性思维,实现多种复杂数字逻辑系统的功能,将原来由电路板设计完成的工作放到芯片的设计中进行,减少了连线和体积,提高了集成度,降低了干扰,大大减轻了电路设计和PCB设计的工作量和难度,增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标。
这些技术使得各种电子产品迅速的进入了我们的生活,我们处在一个被电子产品深度包围的时代,在一个普通老百姓的家里,衣食住行,每一个产品的诞生都离不开EDA技术,从彩色电视机,到智能冰箱,到全自动洗衣机,电饭煲,到微波炉,电磁炉,电子琴,再到个人随身用的手机,MP3音乐播放器都需要EDA 技术提供支持。
本文应用VHDL硬件描述语言,设计一个乐曲硬件演奏电路,它能将一首预先设置存储好的乐曲自动播放出来,除此之外,也能够通过按键的方式输入音符,使其具备简易电子琴的功能。
通过此项研究,能够深切的体会利用EDA工具开发的优越性,在此基础上,对乐曲硬件演奏电路功能进行丰富,具体一定的社会实用性。
下面对乐曲演奏电路的设计与实现中涉及的EDA技术,以及EDA技术中常用的开发器件CPLD/FPGA可编程逻辑器件,开发语言VHDL以及开发软件Quartus Ⅱ作简单介绍。
1.2 EDA简介EDA是电子设计自动化(ElectrONic Design AUTOMATION)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
1.3 FPGA简介FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块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有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
1.4 VHDL语言简介VHDL 的英文全名是VHSIC Hardware Description Language(VHSIC硬件描述语言)。
VHSIC是Very High Speed Integrated Circuit的缩写,是20世纪80年代在美国国防部的资助下始创的,并最终导致了VHDL语言的出现。
1987 年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点1.5 Quartus II简介Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。
具有运行速度快,界面统一,功能集中,易学易用等特点。
Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
QuartusII图标Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。
目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。
Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。
Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
第二章总体设计2.1方案设计与比较2.1.1设计内容用FPGA器件驱动蜂鸣器演奏“送别”片段,一首乐曲包含三个要素:乐曲声音的频率,发音时间的长短,停顿的时间。
按照图1乐谱,设计相应电路控制speaker信号的方波频率,某一频率持续时间长短,各频率间间隔大小,就可以推动蜂鸣器演奏乐曲。
2.1.2 设计方案比较方案一: 由单片机AT89S52来设计实现乐曲演奏电路。
外围电源使用+5V电源供电,时钟由12MHz的晶振产生,通过按键的状态来检测乐曲演奏的状态,中央处理器由AT89S52单片机来完成,乐曲演奏状态由七段数码管来模拟。
这种方案结构简单,比较易掌握,各部分电路实现起来野非常容易,在传统的乐曲演奏设计中应用也较为广泛。
其原理框图如图2。
图1 单片机乐曲演奏原理图方案二:基于现场可编程逻辑门阵列FPGA,通过EDA技术,采用VerilogHDL 硬件描述语言实现乐曲演奏电路设计。
程序设计思想为:1、用频电路产生不同频率方波;2、利用计数器实现speaker信号频率选择,某一频率持续时间长短,各频率间间隔大小。
其框图如图2。
图2 乐曲演奏电路原理框图2.1.3方案论证与选择通过方案一、二的比较,可以看出方案一的设计使用的分立元件电路较多,因此会使电路调试困难度增加,且电路的不稳定性也会随之增加;而采用FPGA 芯片实现该电路,在整体性上较方案一好,在信号的处理和整个系统的控制中,方案二也能大大缩减电路的体积,提高电路的稳定性并且系统的调试周期也能大大缩短。
由于它们完全不同的工作原理,一般来讲,同样的逻辑,基于FPGA设计比基于单片机设计快很多。
单片机是基于指令工作的,单片机的时钟驱动着程序一步步的执行。
而基于FPGA则是把相应的逻辑“暂时”固化为硬件电路,而后的不响应速度就是电信号从一个管脚到另一个管脚的传播速度,同时电信号也要在芯片内进行一些栅电容的充放电动作,但这些动作都是非常非常快的。
从目前的EDA技术来看,其特点是应用广泛、使用普及、软件功能强大。
在ASIC和PLD器件方面,向高密度、超高速、低电压、低功耗方向发展。
当今社会人们对低故障、高实时、高可靠、高稳定性能更加青睐,综合本设计的要求以及以上比较的情况,我们选择基于FPGA的乐曲演奏电路的设计方案。
2.2 硬件设计2.2.1稳压电源电路该稳压电路的作用是当电网电压波动、负载和温度变化时,维持输出直流电压稳定。
该电路可为晶振电路以及扬声器提供+3.3V的稳定电压,驱动器件工作。
其原理图如图3所示。
图3 系统的稳压电源电路2.2.2有源晶振电路采用有源晶振作为时钟信号源,它是一个完整的振荡器,其内部除了石英晶体外还有阻容软件和晶体管,有源晶振信号质量好,比较稳定,而且连接方式比较简单。
主要是作为电源滤波,通常使用的为一个电容和电感组成的PI型滤波网络,输出端使用一个小阻值电阻过滤信号。
串电阻可减小反射波,避免反射波叠加引起过冲,减少谐波以及阻抗匹配,减小回波干扰及导致的信号过冲。