课程设计论文基于VHDL的Mealy状态机设计.doc
《课程设计论文基于VHDL的Mealy状态机设计.doc》由会员分享,可在线阅读,更多相关《课程设计论文基于VHDL的Mealy状态机设计.doc(18页珍藏版)》请在三一办公上搜索。
1、基于VHDL的Mealy状态机设计 物理与电子信息科学系 电子信息科学与技术专业姓名:xxx 学号:05120126指导教师:XXX摘 要: 伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。EDA的一个重要特征就是使用硬件描述语言(HDL)来完成的设计文件,诞生于1982年的VHDL语言是经IEEE确认的标准硬件描述语言,在电子设计领域受到了广泛的接受。本文首先综述了EDA技术的发展概况,VHDL语言的的历史、开发步骤及其优点;着重介绍了使用EDA技术,用VHDL语言完成了Moore状态机的设计工作;通过开发工具Ma
2、x+plus的编译和功能仿真,验证了方法的合理性和通用性;最后介绍了设计结果分析及状态机设计的几点体会。关键词:EDA;VHDL;Mealy型;有限状态机目录1.引言(2)2.EDA技术概述(2)2.1什么是EDA (2)2.2 EDA的发展(3)3.硬件描述语言(HDL)(5)3.1 VHDL语言简介(5)3.2 VHDL语言的特点(5)4.MAX+PLUS软件(8) 4.1 MAX+PLUS简介(6) 4.2 MAX+PLUS的特点(7)5.Mealy型状态机的VHDL设计 (8)5.1状态机的定义(8)5.2状态机的分类(8)5.3态机的设计步骤(9)5.4Mealy状态机的设计(9)5
3、.5 Mealy状态机优化(12)6.状态机设计的几点体会 (15)6.1把握整体与细节(15)6.2资料的重要性(15)6.3常用工具软件的运用(15)参考文献 (16)致谢 (18)1、引言20世纪末,电子技术得到了飞速发展,在其推动下,现代电子技术几乎渗透到了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代电子设计的核心是EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Des
4、cription Languge)为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑简化、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现即定的电子线路系统功能。EDA技术是微电子技术和现代电子设计技术的结合,是这两个领域共同孕育的奇葩。EDA技术在硬件实现了方面融合了大规模集成电路制造技术、IC版图设计技术、ASIC测试和封装技术、FPGA/CPLD编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机云烟的设计概念;而在现代电子学方面则
5、容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。因此,EDA技术为现代电子理论和设计的表达与实现提供了可能性。在现代技术的所有领域中,得以飞速发展的科学技术多为计算机辅助设计,而非自动化设计。显然,最早进入设计自动化的技术领域之一是电子技术,这就是为什么电子技术始终处于所有科学技术发展最前列的原因之一。本文主要运用EDA技术,通过MAX+PLUS软件对Mealy状态机进行设计,并对程序及仿真结果进行分析和概括。2. EDA技术概述2.1什么是EDA在电子设计技术领域,可编程逻辑器件(如PLD,GAL)的应用,已有了很好的普及。随着可编程逻辑器件集
6、成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的EDA便应运而生了。传统的数字电路设计模式,如利用卡诺图的逻辑化简手段以及难懂的布尔方程表达方式和相应的TTL或4000系列小规模集成芯片的堆砌技术正在迅速地退出历史舞台。EDA是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是20世纪90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的2。EDA技术就是以计算机为工具,在
7、EDA软件平台上,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPG/CPLD器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也已比较大。而模拟电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度
8、和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。2.2 EDA的发展EDA(Electronics Design Automation 电子设计自动化)技术伴随着半导体技术、集成技术和计算机技术的发展,经历了计算机辅助设CAD(Computer Assist Design)、计算机辅助工程设计CAE(Computer AssistEngineering Design)和电子设计自动化ESDA(Electronics Systems Design Automation)三个发展阶段。90年代以来,EDA技术的发展和普及给电子系统的设计带
9、来了革命性的变化,并已渗透到电子系统设计的各个领域。目前,EDA工具的应用范围涉及模拟、微波等各个领域,可以实现各个领域电子系统设计的测试、设计仿真和布局布线等。EDA技术是以计算机硬件和系统软件为基本工作平台,在电路与系统、数据库、图形学、图论、拓扑逻辑、计算数学、优化理论等诸多学科基础上研制成的、商品化的EDA通用支撑软件和应用软件包。电子设计工程师只要完成对电子系统的功能描述,就可以利用计算机和EDA工具完成电路的功能设计、逻辑设计、性能分析、时序测试直至印刷电路板PCB(Printed Circuit Board)的自动设计。近十年来,微电子技术和计算机技术的进步及电子产品市场运作节奏
10、的加快,涉及诸多领域的现代电子设计技术已迈入一个全新的阶段。应用系统设计从单纯的专用集成电路ASIC(Application SpecificIntegrated Circuit)设计走向了系统设计和单片系统SOC(System On a Chip)设计,尤其是20 世纪90 年代初的系统编程技术ISP(In System Programmability),为电子产品的设计和生产带来了革命性的变化。3.硬件描述语言(HDL)3.1VHDL语言 VHDL(Very2High2Speed Integrated CircuitHard2wareDescriptionLanguage)是用来描述从抽样
11、到具体级别硬件的工业标准语言。80 年代初期,因为美国军事工业需要描述电子系统的标准方法,美国开始进行VHDL的开发,它是美VHSIC(超高速集成电路)的一部分,并于1986年和1987年分别成为美国和IEEE的工业标准。此后,各EDA公司相继推出了自己的VHDL设计环境,并迅速地被接纳为一种通用的设计交换媒介。作为一种规范和建模语言,它不只是意味着编写代码,而且也便于建立层次结构和用元件库进行设计。 VHDL翻译成中文就是超高速集成电路硬件描述语言,是一种快速的电路设计工具,功能涵盖了电路描述、电路合成、电路仿真等三大电路设计工作。VHDL 是用来描述从抽象到具体硬件级别的工业标准语言,并已
12、成为一种通用的硬件设计交换媒介。计算机辅助工程软件的供应商已把VHDL作为其CAD或EDA软件输入与输出的标准,例如SYNOPSYS、ALTERA、CA-DENCE、VIEWLOGIC 等EDA厂商均提供了VHDL的编辑器,并在其仿真工具、综合工具和布图工具中提供了对VHDL 的支持。特别值得一提的是ALTERA公司不仅提供大规模的CPLD 和EPGA器件,同时也提供一套十分有特色的综合工具MAXPLUS-,设计者既可以使用原理图输入,也可以使用文本输入方式,更可以二者混合输入。从编译、综合、布线到仿真、下载一气呵成,十分方便。3.2 VHDL语言的特点VHDL是一种面向设计的标准硬件描述语言
13、,主要用于描述数字系统的结构、行为、功能和接口。VHDL不仅保留了一般计算机高级语言简洁、高效的编程风格和规范易读的语言形式,而且还包含了许多独特的具有硬件特性的语言。其主要特点如下。VHDL支持数字电路的开发环境,并能抽象表示电路的结构和行为,降低了硬件电路的设计难度,并能进行系统的早期模拟以保证设计的正确性。VHDL支持多种设计方法:自顶向下、自底向上或混合的方法;支持逻辑设计中层次与领域的描述;支持行为描述、RTL方式描述、门级描述。VHDL设计与工艺无关。在传统的硬件设计中,设计者必须手工检查与工艺有关的因素,如时序、面积、驱动强度等。用VHDL设计的最大优点是在工艺上无需花费过多的时
14、间和精力。4.MAX+PLUS4.1 MAX+PLUS简介本次设计选用的开发环境为美国ALTERA公司自行设计开发的EDA工具MAX+PLUS,其全称为Mu1tiple Array Matrix and Programmable Logic User Systems。它具有运行速度快,界面统一,功能集中,易学易用等特点。它的器件系列从最初的Max系列到最新的FLEX10K系列,从500门到10万门提供了满足各种条件需要的一系列器件。其中最为先进的FLEX系列采用独特的快通道技术,使得器件的可预测性大大增强,速度也得到提高,资源利用率达70%左右时,FLEX10K系列可以提供7OMHz左右的工作
15、速度。MAX+PLUS结合各种系列器件的物理结构,提供了各种的优化措施,以在提高工作速度和资源利用率之间给以平衡。从而对大多数设计提供解决方案。MAX+PLUS提供了原理图输入、文本输入(采用硬件描述语言)和波形输入等多种输入手段,并可以任意组合使用。利用该工具所配备的编辑、编译、仿真、综合、芯片编程等功能,可将设计电路图或电路描述程序变成基本的逻辑单元写入到可编程的芯片中(如即GA芯片),做成ASIC芯片。用户首先对所做项目进行设计,明确设计目的、设计要求;然后利用原理图输入方式或文本输入方式进行设计输入;输入完成后,进行编译,若编译过程中发现错误,则检查设计输入,修改错误,直至没有错误发生
16、;编译完成后,就可以进行仿真,检查设计是否达到设计要求,否则的话,还需重新检查设计输入;仿真结果达到要求后,就可以进行烧录,把设计程序下载到目的芯片中;最后把芯片放到实际系统中进行验证、测试。图2给出了用MAX+PLUS进行FP以开发的流程。AlteraMax+plus设计输入编译仿真烧录验证图2 用MAX+PLUS开发的FPGA的流程示意图 MAX+PLUS借助EDIF网表文件,SRAM目标文件(.sof)、LPM、VerilogHDL和VHDL能与Candence、Mentor Graphics、OrCAD、Synopsys、Synplicity和Viewlogic。等公司提供的其它多种E
17、DA工具接口。MAX+PLUS编译器可以在PC机及各种工作站平台上运行,这使MAX+PLUS成为工业界中唯一与平境。42 MAX+PLUS的特点MAX+PLUS的特点:(1)MAX+PLUS的编译核心支持Altera公司的FLEX 10K、FLE 8K、MAX9000、MAX7000、FLASHHlogic、MAX5000、Classic系列可编程逻辑器件。(2)MAX+PLUS的设计输入、处理与校验功能一起提供了全集成化的一套可编程逻辑开发工具,可加快动态调试,缩短开发周期。(3)MAX+PLUS支持各种HDL设计输入,包括VHDL、Verilog和Altera AHDL。(4)MAX+PL
18、US与其他工业标准设计输入、综合与校验工具链接。与CAE工具的接口符合EDIF200和209、参数化模块库(LPM)、Verilog、VHDL及其他标准。设计者可使用Altera或标准CAE 设计工具去建立逻辑设计,使用MAX+PLUS 编译器对Altera器件设计进行编译,并使用Altera或其他CAE校验工具进行器件或板级仿真。MAX+PLUS支持与Synopsys、Viewlogic、Mentor Graphics、Cadence、Exemplar、Data I/O、Intergraph、Minc、OrCAD等公司提供的工具接口。5.Mealy型状态机的VHDL设计5.1状态机的定义状态
19、机是由状态寄存器和组合逻辑电路构成的,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作,完成特定操作的控制中心,属于种时序逻辑电路。常用的状态机有三个部分组成,即当前状态寄存器(Current State,CS)、下一状态组合逻辑(Next State,NS)和输出组合逻辑(Output Logic,OL)。5.2状态机的分类从信号输出方式上,有限状态机分为:Moore型和Mealy型两类,从输出时序上看前者属于异步输出状态机,后者属于同步输出状态机(所谓同步或异步都是相对于时钟信号而言的。不依赖于时钟而有效的信号称为异步信号,而依赖于时钟才有效的信号称为同步信号)。Moor
20、e型有限状态机的输出仅为当前状态的函数, 这类状态机在输入发生变化后再等待时钟的到来,时钟使状态发生变化时才导致输出的变化;Mealy型有限状态机的输出是当前状态和所有输入信号的函数,它的输出在输入变化后立即发生。从结构图上看它们的区别如图3和图4所示。PROCESSCOMcomb_outputscurrent_state图3 Moore型状态机PROCESSCOMinputcomb_outputscurrent_state图4 Mealy型状态机与Moore型状态机相比较,Mealy状态机的输出变化要领先一个时钟周期。通过状态机的工作时序图比较容易区分这两种类型的状态机,如果单纯从VHDL代
21、码来区分,就主要看他的输出与输入是否有关系,有关系的就是Moore型状态机,无关的就是Mealy型状态机.正确的区别两类状态机是正确设计的前提,只有才能按照自己的意愿或者要求去设计不同类型的状态机。5.3状态机的设计步骤利用VHDL语言设计状态机,所有的状态可表示为case-when结构中的一个when子句,而状态的转换则通过if-then-else语句实现。1、利用枚举型定义状态信号type StateType is(s0,s1,s2); - 枚举类型signal present_state,next_state:StateType; - 现态和次态信号2、建立状态机进程state_comb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 VHDL Mealy 状态机 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4869267.html