1004144733课程设计(论文)基于VHDL的Mealy状态机设计.doc
基于VHDL的Mealy状态机设计 物理与电子信息科学系 电子信息科学与技术专业姓名:xxx 学号:05120126指导教师:XXX摘 要: 伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。EDA的一个重要特征就是使用硬件描述语言(HDL)来完成的设计文件,诞生于1982年的VHDL语言是经IEEE确认的标准硬件描述语言,在电子设计领域受到了广泛的接受。本文首先综述了EDA技术的发展概况,VHDL语言的的历史、开发步骤及其优点;着重介绍了使用EDA技术,用VHDL语言完成了Moore状态机的设计工作;通过开发工具Max+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.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 Description Languge)为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑简化、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现即定的电子线路系统功能。EDA技术是微电子技术和现代电子设计技术的结合,是这两个领域共同孕育的奇葩。EDA技术在硬件实现了方面融合了大规模集成电路制造技术、IC版图设计技术、ASIC测试和封装技术、FPGA/CPLD编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机云烟的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。因此,EDA技术为现代电子理论和设计的表达与实现提供了可能性。在现代技术的所有领域中,得以飞速发展的科学技术多为计算机辅助设计,而非自动化设计。显然,最早进入设计自动化的技术领域之一是电子技术,这就是为什么电子技术始终处于所有科学技术发展最前列的原因之一。本文主要运用EDA技术,通过MAX+PLUS软件对Mealy状态机进行设计,并对程序及仿真结果进行分析和概括。2. EDA技术概述2.1什么是EDA在电子设计技术领域,可编程逻辑器件(如PLD,GAL)的应用,已有了很好的普及。随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的EDA便应运而生了。传统的数字电路设计模式,如利用卡诺图的逻辑化简手段以及难懂的布尔方程表达方式和相应的TTL或4000系列小规模集成芯片的堆砌技术正在迅速地退出历史舞台。EDA是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是20世纪90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的2。EDA技术就是以计算机为工具,在EDA软件平台上,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPG/CPLD器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也已比较大。而模拟电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。2.2 EDA的发展EDA(Electronics Design Automation 电子设计自动化)技术伴随着半导体技术、集成技术和计算机技术的发展,经历了计算机辅助设CAD(Computer Assist Design)、计算机辅助工程设计CAE(Computer AssistEngineering Design)和电子设计自动化ESDA(Electronics Systems Design Automation)三个发展阶段。90年代以来,EDA技术的发展和普及给电子系统的设计带来了革命性的变化,并已渗透到电子系统设计的各个领域。目前,EDA工具的应用范围涉及模拟、微波等各个领域,可以实现各个领域电子系统设计的测试、设计仿真和布局布线等。EDA技术是以计算机硬件和系统软件为基本工作平台,在电路与系统、数据库、图形学、图论、拓扑逻辑、计算数学、优化理论等诸多学科基础上研制成的、商品化的EDA通用支撑软件和应用软件包。电子设计工程师只要完成对电子系统的功能描述,就可以利用计算机和EDA工具完成电路的功能设计、逻辑设计、性能分析、时序测试直至印刷电路板PCB(Printed Circuit Board)的自动设计。近十年来,微电子技术和计算机技术的进步及电子产品市场运作节奏的加快,涉及诸多领域的现代电子设计技术已迈入一个全新的阶段。应用系统设计从单纯的专用集成电路ASIC(Application SpecificIntegrated Circuit)设计走向了系统设计和单片系统SOC(System On a Chip)设计,尤其是20 世纪90 年代初的系统编程技术ISP(In System Programmability),为电子产品的设计和生产带来了革命性的变化。3.硬件描述语言(HDL)3.1VHDL语言 VHDL(Very2High2Speed Integrated CircuitHard2wareDescriptionLanguage)是用来描述从抽样到具体级别硬件的工业标准语言。80 年代初期,因为美国军事工业需要描述电子系统的标准方法,美国开始进行VHDL的开发,它是美VHSIC(超高速集成电路)的一部分,并于1986年和1987年分别成为美国和IEEE的工业标准。此后,各EDA公司相继推出了自己的VHDL设计环境,并迅速地被接纳为一种通用的设计交换媒介。作为一种规范和建模语言,它不只是意味着编写代码,而且也便于建立层次结构和用元件库进行设计。 VHDL翻译成中文就是超高速集成电路硬件描述语言,是一种快速的电路设计工具,功能涵盖了电路描述、电路合成、电路仿真等三大电路设计工作。VHDL 是用来描述从抽象到具体硬件级别的工业标准语言,并已成为一种通用的硬件设计交换媒介。计算机辅助工程软件的供应商已把VHDL作为其CAD或EDA软件输入与输出的标准,例如SYNOPSYS、ALTERA、CA-DENCE、VIEWLOGIC 等EDA厂商均提供了VHDL的编辑器,并在其仿真工具、综合工具和布图工具中提供了对VHDL 的支持。特别值得一提的是ALTERA公司不仅提供大规模的CPLD 和EPGA器件,同时也提供一套十分有特色的综合工具MAXPLUS-,设计者既可以使用原理图输入,也可以使用文本输入方式,更可以二者混合输入。从编译、综合、布线到仿真、下载一气呵成,十分方便。3.2 VHDL语言的特点VHDL是一种面向设计的标准硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口。VHDL不仅保留了一般计算机高级语言简洁、高效的编程风格和规范易读的语言形式,而且还包含了许多独特的具有硬件特性的语言。其主要特点如下。VHDL支持数字电路的开发环境,并能抽象表示电路的结构和行为,降低了硬件电路的设计难度,并能进行系统的早期模拟以保证设计的正确性。VHDL支持多种设计方法:自顶向下、自底向上或混合的方法;支持逻辑设计中层次与领域的描述;支持行为描述、RTL方式描述、门级描述。VHDL设计与工艺无关。在传统的硬件设计中,设计者必须手工检查与工艺有关的因素,如时序、面积、驱动强度等。用VHDL设计的最大优点是在工艺上无需花费过多的时间和精力。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左右的工作速度。MAX+PLUS结合各种系列器件的物理结构,提供了各种的优化措施,以在提高工作速度和资源利用率之间给以平衡。从而对大多数设计提供解决方案。MAX+PLUS提供了原理图输入、文本输入(采用硬件描述语言)和波形输入等多种输入手段,并可以任意组合使用。利用该工具所配备的编辑、编译、仿真、综合、芯片编程等功能,可将设计电路图或电路描述程序变成基本的逻辑单元写入到可编程的芯片中(如即GA芯片),做成ASIC芯片。用户首先对所做项目进行设计,明确设计目的、设计要求;然后利用原理图输入方式或文本输入方式进行设计输入;输入完成后,进行编译,若编译过程中发现错误,则检查设计输入,修改错误,直至没有错误发生;编译完成后,就可以进行仿真,检查设计是否达到设计要求,否则的话,还需重新检查设计输入;仿真结果达到要求后,就可以进行烧录,把设计程序下载到目的芯片中;最后把芯片放到实际系统中进行验证、测试。图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。等公司提供的其它多种EDA工具接口。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+PLUS与其他工业标准设计输入、综合与校验工具链接。与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状态机的定义状态机是由状态寄存器和组合逻辑电路构成的,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作,完成特定操作的控制中心,属于种时序逻辑电路。常用的状态机有三个部分组成,即当前状态寄存器(Current State,CS)、下一状态组合逻辑(Next State,NS)和输出组合逻辑(Output Logic,OL)。5.2状态机的分类从信号输出方式上,有限状态机分为:Moore型和Mealy型两类,从输出时序上看前者属于异步输出状态机,后者属于同步输出状态机(所谓同步或异步都是相对于时钟信号而言的。不依赖于时钟而有效的信号称为异步信号,而依赖于时钟才有效的信号称为同步信号)。Moore型有限状态机的输出仅为当前状态的函数, 这类状态机在输入发生变化后再等待时钟的到来,时钟使状态发生变化时才导致输出的变化;Mealy型有限状态机的输出是当前状态和所有输入信号的函数,它的输出在输入变化后立即发生。从结构图上看它们的区别如图3和图4所示。PROCESSCOMcomb_outputscurrent_state图3 Moore型状态机PROCESSCOMinputcomb_outputscurrent_state图4 Mealy型状态机与Moore型状态机相比较,Mealy状态机的输出变化要领先一个时钟周期。通过状态机的工作时序图比较容易区分这两种类型的状态机,如果单纯从VHDL代码来区分,就主要看他的输出与输入是否有关系,有关系的就是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:process(present_state,din) 状态转换进程beginend process state_comb;73、在进程中定义状态的转换在进程中使用case-when语句,因状态s0是状态转换的起点,因此,把s0作为case语句中第一个when子句项,然后利用if-then-else语句列出转移到次态的条件,即可写出状态转换流程:case present_state iswhen s0=>z<=0;if din=1then next_state<=s1;else next_state<=s0;end if;5.4 Mealy型状态机的设计与Moore型状态机相比较,Mealy机的输出变化要领先一个周期,即一旦输入信号或状态发生变化,输出信号即刻发生变化。Mealy状态机的结构框图如图5所示:input组合逻辑寄存器reset当前状态outputclk图5 Mealy状态机结构框图对Mealy状态机设计首先要把整个流程图画出来,根据流程图设计各个部分。下图是流程图:根据系统要求建立状态转换图根据状态转移图编写VHDL设计程序利用EDA工具进行仿真、验证 图6 状态机的VHDL设计流程图根据流程图的设计步骤画出状态转换图,如下图所示:ST1ST2ST3ST4ST01/100000/101111/101010/110110/010101/101000/100111/01001图7 状态转换图然后根据状态转换图写出程序代码,程序如下面所示:library ieee;use ieee.std_logic_1164.all;entity mealy2 isport ( clk,datain,reset:in std_logic;q:out std_logic_vector(4 downto 0);end mealy2;architecture behav of mealy2 istype states is (st0,st1,st2,st3,st4);signal stx : states;signal q1 : std_logic_vector(4 downto 0);begincomreg : process(clk,reset)beginif reset='1' then stx<=st0;elsif clk'event and clk = '1' thencase stx iswhen st0 => if datain ='1' then stx<= st1;else stx<=st0;end if;when st1 => if datain ='0' then stx<= st2;else stx<=st0;end if;when st2 => if datain ='1' then stx<= st3;else stx<=st0;end if;when st3 => if datain ='0' then stx<= st4;else stx<=st0;end if;when st4 => if datain ='1' then stx<= st0;else stx<=st0;end if;when others => stx<=st0;end case;end if;end process comreg;com1: process (stx,datain,clk)variable q2 : std_logic_vector( 4 downto 0);begincase stx iswhen st0=>if datain='1' then q2 :="10000"else q2:="01010"end if;when st1=>if datain='0' then q2 :="10111"else q2:="10100"end if;when st2=>if datain='1' then q2 :="10101"else q2:="10011"end if;when st3=>if datain='0' then q2 :="11011"else q2:="01001"end if;when st4=>if datain='1' then q2 :="11101"else q2:="01101"end if;when others => q2:="00000"end case;if clk'event and clk ='1' then q1<=q2;end if;end process com1;q<=q1;end behav;程序分析:这段程序是2进程Mealy型状态机。由entity语句引导的是主体,由architecture语句引导的是结构体。在结构体中,进程comreg是时序与组合混合型进程,它将状态机的主控时序电路和主控状态译码电路同时用一个进程来表达。这个进程也是状态转换过程。reset复位后初始状态设置为st0,当datain为高电平且clk信号处于上升延时,将st1赋值给stx, 即状态由st0转换为st1;当datain为底电平且clk信号处于上升延时,将st2赋值给stx,即状态由st1转换为st2;当datain为高电平且clk信号处于上升延时,将st3赋值给stx, 即状态由st2转换为st3;当datain为底电平且clk信号处于上升延时,将st4赋值给stx, 即状态由st3转换为st4;当datain为高电平且clk信号处于上升延时,将st4赋值给stx, 即状态由st4转换为st0。其他情况状态均转换为st0。进程com1负责根据状态和输入信号给出不同的输出信号。这个进程是输出过程。当为状态st0时,datain为高电平,则输出为“10000”,datain为低电平,则输出为“01010”;当为状态st1时,datain为高电平,则输出为“10100”,datain为低电平,则输出为“10111”;当为状态st2时,datain为高电平,则输出为“10101”,datain为低电平,则输出为“10011”;当为状态st3时,datain为高电平,则输出为“01001”,datain为低电平,则输出为“11011”;当为状态st4时,datain为高电平,则输出为“11101”,datain为低电平,则输出为“01101”。此进程最后用一个IF语句产生一个锁存器,将q2锁存后再输出。由于是同步锁存的缘故,没有发生锁存后延时一个时钟周期的现象。对程序进行编译仿真后得出几幅仿真图,如下所示:其中reset为复位信号,高电平有效,datain为输入信号,clk是时钟信号,上升延有效,q为输出信号,q165为输出q的16进值,stx为状态。此图的状态由st0、st1、st2、st3和st4依次循环转换下去。reset信号复位以后,状态无条件转换为状态st0。此后每一个clk上升延依照datain输入信号的高低进行状态转换。 此图标尺处体现了状态由st1转换到st0。当状态为st1,输入datain为高电平时,状态由st1到st0,而不是st1到st2。此图标尺处体现了状态由st2转换到st0。当状态为st2,输入datain为低电平时,状态由st2到st0,而不是st2到st3。此图标尺处体现了状态由st3转换到st0。当状态为st3,输入datain为高电平时,状态由st3到st0,而不是st3到st4。5.5Mealy状态机优化 毛刺的产生,一方面由于通常的状态机中都包含有组合逻辑进程,使得输出信号在时钟的有效边沿产生毛刺;另一方面当状态信号是多位值的时候,在电路中就对应了多条信号线,如果同时有几条信号线跳变,由于存在传输延迟,各信号线上的值发生改变的时间会有先后,使得状态迁移的时候在初始状态和目的状态间出现临时状态,虽然它只存在了很短的时间,但仍然会影响电路的稳定。对于第一种情况,在大多数条件下,毛刺对电路的影响可忽略不计,但是当状态机的输出信号作为三态使能控制或者时钟信号使用的时候,就必须要消除毛刺。消除的方法可以用改进有限状态机的描述方法来解决这个问题:把时钟信号引入组合进程,用时钟来同步状态迁移和信号输出,在电路上表现为先将输出信号保存在触发器中,当时钟有效边沿到来的时候输出;或者在电路设计时,选用延迟时间较小的器件,且尽可能采用级数少的电路结构。 对于第二种情况,需要重新调整状态编码。一般而言,编有顺序编码、One-Hot编码、格雷码、随机编码等。如果vhdl描述中没有对各个状态的编码专门指定,模拟器和综合器一般按照状态的定义顺序进行编码。为了消除传输延迟造成的毛刺,理想的解决方法是使相邻状态间只有1位信号改变,因此应该按照格雷码制进行编码。在某些情况下,状态编码不能保证只有一位发生变化时,有2种编码方法可以保证状态机编码仍然维持。位变化,第一种方法是一个状态分配多个编码;第二种方法是在状态译码时采用分组译码,这样就保证了状态迁移时只有。位状态线发生变化。在同步电路中,一般情况下“毛刺”不会产生重大影响。因为“毛刺”仅发生在时钟有效边沿之后的一小段时间内,只要在下一个时钟有效边沿到来之前“毛刺”消失即可。但当状态机的输出信号作为其他功能模块的控制信号,例如作为异步控制、态使能控制或时钟信号使用时,将会使受控模块发生误动作,造成系统工作混乱。因此,在这种情况下必须通过改变设计消除毛刺。 消除状态机输出信号的“毛刺”一般可采用三种方案: (1)调整状态编码,使相邻状态间只有位信号改变,从而消除竞争冒险的发生条件,避免了毛刺的产生。常采用的编码方式为格雷码。它适用于顺序迁移的状态机。 (2)在有限状态机的基础上采用时钟同步信号,即把时钟信号引入组合进程。状态机每一个输出信号都经过附加的输出寄存器,并由时钟信号同步,因而保证了输出信号没有毛刺。这种方法存在一些弊端:由于增加了输出寄存器,硬件开销增大,这对于一些寄存器资源较少的目标芯片是不利的;从状态机的状态位到达输出需要经过两级组合逻辑,这就限制了系统时钟的最高工作频率;由于时钟信号将输出加载到附加的寄存器上,所以在输出端得到信号值的时间要比状态的变化延时一个时钟周期。(3)直接把状态机的状态码作为输出信号,即采用状态码直接输出型状态机,使状态和输出信号一致,使得输出译码电路被优化掉了,因此不会出现竞争冒险。这种方案,占用芯片资源少,信号与状态变化同步,因此速度快,是一种较优方案。但在设计过程中对状态编码时可能增加状态向量,出现多余状态。虽然可用case语句中whenothers来安排多余状态,但有时难以有效控制多余状态,运行时可能会出现难以预料的情况。因此它适用于状态机输出信号较少的场合。6、本次论文设计的几点体会6.1把握整体跟细节设计状态机首先要有个系统的把握,要从整体上去概述,画出一个流程图,然后根据流程图才能一步一步的做下去。如果没有一个大概的流程就很难着手做下去。其次在流程图中的每一步都是一个细节,有句话叫“细节决定成败”,在结构图、状态转换图、程序代码、仿真等方面是都不能出错。本次论文主要采用自顶而下的设计方法,把一个整体划分为几个子模块,然后对各个模块依次进行设计,划分的好坏,将直接影响到整个的系统开发。因此要对认真对待整体与细节。6.2 资料的重要性查找资料也是一个漫长而具体的过程,单纯从教科书上很难编写出一篇完整的论文。找资料就花掉了近一周的时间,而看懂资料与筛选资料又是一个更加漫长的过程。论文中的大部分内容都源于所查找的资料,如果没有网上查找的资料就很难写出一篇完整的论文。6.3常用工具软件的运用以前总觉的对word软件很熟悉,真正到了运用起来的时候,发现很多东西都很生硬,很陌生。尤其是在绘图等方面根本是一窍不通。通过这次论文的写作,加深对常用工具软件的了解,同时也发现了自己的不足,在以后的学习生活中要继续加强对常用软件的学习与使用。参考文献:1 康华光.电子技术基础.数字部分(第四版)M.北京:高等教育出版社,2000.7,4284572 潘松,黄继业.EDA技术实用教程(第二版)M.北京:科学出版社,2005,1293 刘力,胡博.关于VHDL与EDAJ.电大理工,2007.6,71724 赵鑫,蒋亮,齐兆群,李晓凯.VHDL与数字电路设计M.北京:机械工业出版社,2005.4,175 陈耀和.VHDL语言设计技术M.北京:电子工业出版社,2004.3,786 万莉莉.Moore型和Mealy型有限状态机的VHDL设计J.科技信息,1994,2202227 曾繁泰,陈美金.VHDL程序设计(第二版)M.北京:清华大学出版社,2542778 刘瑞新.VHDL语言与FPGA设计.基于Protel DXP开发平台M.北京:机械工业出版社,2004.4,3183349 朱小莉,陈迪平,王镇道.VHDL设计MOORE型有限状态机时速度问题的探讨J.半导体技术,2002.4,485110 吴蓉.Moore型有限状态机的VHDL设计与资源利用研究J. 兰州铁道学院学报,2003.2,9093 Ground on Moore Type FSMS VHDL Design MethodDepartment of Physics and Electronic Information Science, Electronic Information Science and TechnologyNumber of student:05120126 Name:Sun Jia FangTutor: Hu Xiang JuanAbstract :The Electronic Design Automation(EDA) technology has become an important design method of analog and digital circuit system as the integrated circuits growing. One important characteristic of the EDA is that the design documents should be completed by the HDL.The VHDL is one of the standard hardware description languages validated by IEEE,which was firstly introduced in 1982.And it was widely used by electronic designer now. We firstly presenit some background information of EDA and VHDL in this thesis. The design of mealy type FSM,which more attention is fulfilled by the VHDL,is also be discussed. A practical example tests that the way is retional and general by compiler and simulation of Max+plus.Finally the analyse of the designing result was introduced and my several experiences about the designing of mealy type FSM.Keywords:Electronic Design Automation(EDA),VHDL,Mealy type,Finite State Machine (FSM)致 谢这次论文的写作是在我的导师胡湘娟老师的精心指导下完成的。自始至终,胡老师在我的学习和生活上,都给了我巨大的帮助。感谢胡老师对我进行的悉心指导和严格要求。胡老师兢兢业业的工作精神、严谨的治学态度、踏实真诚的处事作风,都使我深受感动,这是我在现在和今后的工作中、学习中要努力学习的。衷心地感谢胡老师!是您,教给了我如何治学和如何做人的道理!感谢物电系的各位老师和同学在我大学学业中所给予的指导和鼓励。感谢本班的同学,特别是本寝室的室友,他们给了我莫大的帮助和鼓舞,他们都提出了很多有益的建议和解决方法。这里,向你们表示我衷心的感谢和诚挚的祝愿!同时,也向我的家人致以真心的谢意!他们在我的大学阶段及整个人生中给予我的一切是无法用言语来表达的。最后,衷心感谢各位评阅老师!感谢您们在百忙之中参与我的论文评阅工作。这里向帮助我的老师和同学表示深深的感谢,谢谢!