版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 VHDL 的 Mealy 状态机设计物理与电子信息科学系 电子信息科学与技术专业姓名:孙家芳 学号:05120126指导教师:胡湘娟摘 要 :伴随着集成电路 (IC技术的发展,电子设计自动化 (EDA逐渐成为重要的设计 手段,已经广泛应用于模拟与数字电路系统等许多领域。 EDA 的一个重要特征就是使用硬 件描述语言 (HDL 来完成的设计文件, 诞生于 1982年的 VHDL 语言是经 IEEE 确认的标准硬件 描述语言, 在电子设计领域受到了广泛的接受。 本文首先综述了 EDA 技术的发展概况, VHDL 语言的的历史、开发步骤及其优点;着重介绍了使用 EDA 技术,用 VHDL 语言
2、完成了 Moore 状态机的设计工作;通过开发工具 Max+plus的编译和功能仿真,验证了方法的合理性和 通用性;最后介绍了设计结果分析及状态机设计的几点体会。关键词:EDA ; VHDL ; Mealy 型;有限状态机目 录1. 引言(22. EDA 技术概述 (2 2.1什么是 EDA (22.2EDA 的发展(33. 硬件描述语言(HDL (5 3.1VHDL 语言简介(53.2VHDL 语言的特点(54.MAX+PLUS 软件(8 4.1MAX+PLUS简介 (64.2MAX+PLUS的特点 (75.Mealy 型状态机的 VHDL 设计 (8 5.1状态机的定义(8 5.2状态机的
3、分类(8 5.3态机的设计步骤(9 5.4Mealy 状态机的设计(95.5Mealy 状态机优化(126. 状态机设计的几点体会 (15 6.1把握整体与细节(15 6.2资料的重要性(15 6.3常用工具软件的运用(15 参考文献 (16 致谢 (181、引言20世纪末 , 电子技术得到了飞速发展 , 在其推动下 , 现代电子技术几乎渗透 到了社会的各个领域 , 有力的推动了社会生产力的发展和社会信息化程度的提高 , 同时也使现代电子产品性能进一步提高 , 产品更新换代的节奏也越来越快。 现代电子设计的核心是 EDA (Electronic Design Automation 技术。 ED
4、A 技 术就是依赖功能强大的计算机, 在 EDA 工具软件平台上, 对以硬件描述语言 HDL (Hardware Description Languge为系统逻辑描述手段完成的设计文件,自动的 完成逻辑编译、逻辑简化、逻辑分割、逻辑综合、结构综合(布局布线 ,以及 逻辑优化和仿真测试,直至实现即定的电子线路系统功能。EDA 技术是微电子技术和现代电子设计技术的结合,是这两个领域共同孕 育的奇葩。 EDA 技术在硬件实现了方面融合了大规模集成电路制造技术、 IC 版 图设计技术、 ASIC 测试和封装技术、 FPGA/CPLD编程下载技术、自动测试技 术等;在计算机辅助工程方面融合了计算机辅助设
5、计(CAD 、计算机辅助制造 (CAM 、计算机辅助测试(CAT 、计算机辅助工程(CAE 技术以及多种计 算机云烟的设计概念; 而在现代电子学方面则容纳了更多的内容, 如电子线路设 计理论、 数字信号处理技术、 数字系统建模和优化技术及长线技术理论等。 因此, EDA 技术为现代电子理论和设计的表达与实现提供了可能性。 在现代技术的所有 领域中, 得以飞速发展的科学技术多为计算机辅助设计, 而非自动化设计。 显然 , 最早进入设计自动化的技术领域之一是电子技术 , 这就是为什么电子技术始终处 于所有科学技术发展最前列的原因之一。本文主要运用 EDA 技术,通过 MAX+PLUS软件对 Mea
6、ly 状态机进行设 计,并对程序及仿真结果进行分析和概括。2. EDA 技术概述2.1什么是 EDA在电子设计技术领域,可编程逻辑器件 (如 PLD , GAL 的应用,已有了很 好的普及。 随着可编程逻辑器件集成规模不断扩大, 自身功能的不断完善和计算 机辅助设计技术的提高,在现代电子系统设计领域中的 EDA 便应运而生了。传 统的数字电路设计模式, 如利用卡诺图的逻辑化简手段以及难懂的布尔方程表达 方式和相应的 TTL 或 4000系列小规模集成芯片的堆砌技术正在迅速地退出历史 舞台。EDA 是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关, 吸收了计算
7、机科学领域的大多数最新研究成果, 以 高性能的计算机作为工作平台, 是 20世纪 90年代初从 CAD (计算机辅助设计 、 CAM (计算机辅助制造 、 CAT (计算机辅助测试 和 CAE (计算机辅助工程 的概 念发展而来的 2。 EDA 技术就是以计算机为工具,在 EDA 软件平台上,根据硬 件描述语言 HDL 完成的设计文件,自动地完成逻辑编译、化简、分割、综合及 优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载 等工作。 设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述, 在 EDA 工具的帮助下和应用相应的 FPG/CPLD器件, 就可以得到最后的
8、设计结果。 尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高 效。当然,这里的所谓 EDA 主要是指数字系统的自动化设计,因为这一领域的 软硬件方面的技术已比较成熟, 应用的普及程度也已比较大。 而模拟电子系统的 EDA 正在进入实用,其初期的 EDA 工具不一定需要硬件描述语言。此外,从应 用的广度和深度来说,由于电子信息领域的全面数字化,基于 EDA 的数字系统 的设计技术具有更大的应用市场和更紧迫的需求性。2.2 EDA的发展EDA (Electronics Design Automation 电子设计自动化 技术伴随着半导体技 术、集成技术和计算机技术的发展,经历了
9、计算机辅助设 CAD (Computer Assist Design 、计算机辅助工程设计 CAE (Computer AssistEngineering Design 和电子 设计自动化 ESDA (Electronics Systems Design Automation 三个发展阶段。90年代以来, EDA 技术的发展和普及给电子系统的设计带来了革命性的变化, 并 已渗透到电子系统设计的各个领域。 目前, EDA 工具的应用范围涉及模拟、 微波 等各个领域,可以实现各个领域电子系统设计的测试、设计仿真和布局布线等。 EDA 技术是以计算机硬件和系统软件为基本工作平台,在电路与系统、数据库
10、、 图形学、图论、拓扑逻辑、计算数学、优化理论等诸多学科基础上研制成的、商 品化的 EDA 通用支撑软件和应用软件包。 电子设计工程师只要完成对电子系统的 功能描述, 就可以利用计算机和 EDA 工具完成电路的功能设计、 逻辑设计、 性能 分析、时序测试直至印刷电路板 PCB (Printed Circuit Board 的自动设计。近十年 来, 微电子技术和计算机技术的进步及电子产品市场运作节奏的加快, 涉及诸多 领域的现代电子设计技术已迈入一个全新的阶段。 应用系统设计从单纯的专用集 成电路 ASIC (Application SpecificIntegrated Circuit 设计走向
11、了系统设计和单片系 统 SOC (System On a Chip 设计, 尤其是 20 世纪 90 年代初的系统编程技术 ISP (InSystem Programmability ,为电子产品的设计和生产带来了革命性的变化。3. 硬件描述语言(HDL 3.1VHDL 语言VHDL (Very2High2Speed Integrated CircuitHard2wareDescriptionLanguage 是 用来描述从抽样到具体级别硬件的工业标准语言。 80 年代初期 , 因为美国军事工 业需要描述电子系统的标准方法 , 美国开始进行 VHDL 的开发 , 它是美 VHSIC (超 高速
12、集成电路 的一部分 , 并于 1986年和 1987年分别成为美国和 IEEE 的工业标 准。 此后 , 各 EDA 公司相继推出了自己的 VHDL 设计环境 , 并迅速地被接纳为一种 通用的设计交换媒介。 作为一种规范和建模语言 , 它不只是意味着编写代码 , 而且 也便于建立层次结构和用元件库进行设计。VHDL 翻译成中文就是超高速集成电路硬件描述语言,是一种快速的电路设 计工具, 功能涵盖了电路描述、 电路合成、 电路仿真等三大电路设计工作。 VHDL 是用来描述从抽象到具体硬件级别的工业标准语言, 并已成为一种通用的硬件设 计交换媒介。 计算机辅助工程软件的供应商已把 VHDL 作为其
13、 CAD 或 EDA 软件输 入与输出的标准,例如 SYNOPSYS 、 ALTERA 、 CA-DENCE 、 VIEWLOGIC 等 EDA 厂商均提供了 VHDL 的编辑器,并在其仿真工具、综合工具和布图工具中提 供了对 VHDL 的支持。 特别值得一提的是 ALTERA 公司不仅提供大规模的 CPLD 和 EPGA 器件, 同时也提供一套十分有特色的综合工具 MAXPLUS -, 设计者既 可以使用原理图输入, 也可以使用文本输入方式, 更可以二者混合输入。 从编译、 综合、布线到仿真、下载一气呵成,十分方便。3.2 VHDL语言的特点VHDL 是一种面向设计的标准硬件描述语言 , 主
14、要用于描述数字系统的结 构、行为、功能和接口。 VHDL 不仅保留了一般计算机高级语言简洁、高效的编 程风格和规范易读的语言形式 , 而且还包含了许多独特的具有硬件特性的语言。 其主要特点如下。 VHDL 支持数字电路的开发环境 , 并能抽象表示电路的结构和行为 , 降低了硬 件电路的设计难度 , 并能进行系统的早期模拟以保证设计的正确性。 VHDL 支持多种设计方法 :自顶向下、 自底向上或混合的方法 ; 支持逻辑设计中 层次与领域的描述 ; 支持行为描述、 RTL 方式描述、门级描述。 VHDL 设计与工艺无关。在传统的硬件设计中 , 设计者必须手工检查与工艺有关的因素 , 如时序、面积、
15、驱动强度等。用 VHDL 设计的最大优点是在工艺上无 需花费过多的时间和精力。4.MAX+PLUS4.1 MAX+PLUS 简介本次设计选用的开发环境为美国 ALTERA 公司自行设计开发的 EDA 工具 MAX+PLUS,其全称为 Mu1tiple Array Matrix and Programmable Logic User Systems 。它具有运行速度快,界面统一,功能集中,易学易用等特点。它的器 件系列从最初的 Max 系列到最新的 FLEX10K 系列,从 500门到 10万门提供了 满足各种条件需要的一系列器件。 其中最为先进的 FLEX 系列采用独特的快通道 技术, 使得器
16、件的可预测性大大增强, 速度也得到提高, 资源利用率达 70%左右 时, FLEX10K 系列可以提供 7OMHz 左右的工作速度。 MAX+PLUS结合各种 系列器件的物理结构, 提供了各种的优化措施, 以在提高工作速度和资源利用率 之间给以平衡。从而对大多数设计提供解决方案。MAX +PLUS 提供了原理图输入、 文本输入 (采用硬件描述语言 和波形输入 等多种输入手段, 并可以任意组合使用。 利用该工具所配备的编辑、 编译、 仿真、 综合、 芯片编程等功能, 可将设计电路图或电路描述程序变成基本的逻辑单元写 入到可编程的芯片中 (如即 GA 芯片 ,做成 ASIC 芯片。用户首先对所做项
17、目进 行设计, 明确设计目的、 设计要求; 然后利用原理图输入方式或文本输入方式进 行设计输入; 输入完成后, 进行编译, 若编译过程中发现错误, 则检查设计输入, 修改错误,直至没有错误发生 ; 编译完成后,就可以进行仿真,检查设计是否达 到设计要求,否则的话,还需重新检查设计输入;仿真结果达到要求后,就可以 进行烧录, 把设计程序下载到目的芯片中; 最后把芯片放到实际系统中进行验证、 测试。图 2给出了用 MAX +PLUS 进行 FP 以开发的流程。 图 2 用 MAX+PLUS开发的 FPGA 的流程示意图设计 验证MAX +PLUS 借助 EDIF 网表文件, SRAM 目标文件 (
18、.sof 、 LPM 、 VerilogHDL 和 VHDL 能与 Candence 、 Mentor Graphics 、 OrCAD 、 Synopsys 、 Synplicity 和 Viewlogic 。等公司提供的其它多种 EDA 工具接口。 MAX +PLUS 编译器可以在 PC 机及各种工作站平台上运行,这使 MAX +PLUS 成为工业界中唯一与平境。 4. 2MAX+PLUS 的特点MAX +PLUS 的特点:(1 MAX +PLUS 的编译核心支持 Altera 公司的 FLEX 10K 、 FLE 8K 、 MAX9000、 MAX7000、 FLASHHlogic 、
19、MAX5000、 Classic 系列可编程逻辑器件。(2 MAX +PLUS 的设计输入、处理与校验功能一起提供了全集成化的一套可 编程逻辑开发工具,可加快动态调试,缩短开发周期。(3 MAX +PLUS 支持各种 HDL 设计输入, 包括 VHDL 、 Verilog 和 Altera AHDL 。(4 MAX +PLUS 与其他工业标准设计输入、综合与校验工具链接。与 CAE 工 具的接口符合 EDIF 200和 209、参数化模块库(LPM 、 Verilog 、 VHDL 及其他标 准。 设计者可使用 Altera 或标准 CAE 设计工具去建立逻辑设计, 使用 MAX +PLUS
20、编译器对 Altera 器件设计进行编译, 并使用 Altera 或其他 CAE 校验工具进行器件 或板级仿真。 MAX +PLUS 支持与 Synopsys 、 Viewlogic 、 Mentor Graphics 、 Cadence 、 Exemplar 、 Data I/O、 Intergraph 、 Minc 、 OrCAD 等公司提供的工具接 口。5. Mealy 型状态机的 VHDL 设计5.1状态机的定义状态机是由状态寄存器和组合逻辑电路构成的, 能够根据控制信号按照预先 设定的状态进行状态转移, 是协调相关信号动作, 完成特定操作的控制中心, 属 于种时序逻辑电路。常用的状态
21、机有三个部分组成,即当前状态寄存器 (Current State,CS 、 下一状态组合逻辑 (Next State,NS和输出组合逻辑 (Output Logic, OL 。5.2状态机的分类从信号输出方式上 , 有限状态机分为 :Moore 型和 Mealy 型两类 , 从输出时序 上看前者属于异步输出状态机 , 后者属于同步输出状态机 (所谓同步或异步都是 相对于时钟信号而言的。不依赖于时钟而有效的信号称为异步信号 , 而依赖于时 钟才有效的信号称为同步信号 。 Moore 型有限状态机的输出仅为当前状态的函 数 , 这类状态机在输入发生变化后再等待时钟的到来 , 时钟使状态发生变化时才
22、导致输出的变化; Mealy 型有限状态机的输出是当前状态和所有输入信号的函数 , 它的输出在输入变化后立即发生。从结构图上看它们的区别如图 3和图 4所示。 图 3 Moore型状态机 图 4 Mealy型状态机与 Moore 型状态机相比较 , Mealy 状态机的输出变化要领先一个时钟周期。通 过状态机的工作时序图比较容易区分这两种类型的状态机 , 如果单纯从 VHDL 代 码来区分 , 就主要看他的输出与输入是否有关系 , 有关系的就是 Moore 型状态机 , 无关的就是 Mealy 型状态机 . 正确的区别两类状态机是正确设计的前提 , 只有才能 按照自己的意愿或者要求去设计不同类
23、型的状态机。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
24、-when 语句,因状态 s0是状态转换的起点,因此,把 s0作为 case 语句中第一个 when 子句项, 然后利用 if-then-else 语句列出转移到次态 的条件,即可写出状态转换流程:case present_state iswhen s0=>z<= 0 ;if din= 1 then next_state<=s1;else next_state<=s0;end if;5.4 Mealy型状态机的设计与 Moore 型状态机相比较 , Mealy 机的输出变化要领先一个周期 , 即一旦输入 信号或状态发生变化 , 输出信号即刻发生变化。Mealy 状态机的
25、结构框图如图 5所示: 图 5 Mealy 状态机结构框图对 Mealy 状态机设计首先要把整个流程图画出来 , 根据流程图设计各个部分。 下图是流程图 : 图 6 状态机的 VHDL 设计流程图根据流程图的设计步骤画出状态转换图 , 如下图所示 :图 7 状态转换图然后根据状态转换图写出程序代码 , 程序如下面所示 : library ieee;entity mealy2 isport ( clk,datain,reset:in std_logic;q:out std_logic_vector(4 downto 0;end mealy2;architecture behav of mealy
26、2 istype states is (st0,st1,st2,st3,st4;signal stx : states;signal q1 : std_logic_vector(4 downto 0;begincomreg : process(clk,resetbegin if reset='1' then stx<=st0;elsif clk'event and clk = '1' thencase stx iswhen st0 => if datain ='1' then stx<= st1;else stx<
27、=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 s
28、tx<= st0;else stx<=st0;end if; when others => stx<=st0;end case;end if;end process comreg;com1: process (stx,datain,clkvariable 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
29、 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&
30、#39; 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 是时序与
31、组合混合型进程, 它将状态机的主控时序 电路和主控状态译码电路同时用一个进程来表达。这个进程也是状态转换过程。reset 复位后初始状态设置为 st0, 当 datain 为高电平且 clk 信号处于上升延时,将 st1赋值给 stx , 即状态由 st0转换为 st1;当 datain 为底电平且 clk 信号处于上升延时, 将 st2赋值给 stx , 即状态由 st1转换为 st2;当 datain 为高电平且 clk 信号处于上升延 时,将 st3赋值给 stx , 即状态由 st2转换为 st3;当 datain 为底电平且 clk 信号处于上 升延时,将 st4赋值给 stx ,
32、即状态由 st3转换为 st4;当 datain 为高电平且 clk 信号处 于上升延时, 将 st4赋值给 stx , 即状态由 st4转换为 st0。 其他情况状态均转换为 st0。 进程 com1负责根据状态和输入信号给出不同的输出信号。这个进程是输出 过程。当为状态 st0时, datain 为高电平,则输出为“ 10000”, datain 为低电平, 则输出为 “ 01010” ; 当为状态 st1时, datain 为高电平, 则输出为 “ 10100” , datain 为低电平, 则输出为 “ 10111” ; 当为状态 st2时, datain 为高电平, 则输出为 “ 1
33、0101” , datain 为低电平,则输出为“ 10011”;当为状态 st3时, datain 为高电平,则输出 为“ 01001”, datain 为低电平,则输出为“ 11011”;当为状态 st4时, datain 为高 电平,则输出为“ 11101”, datain 为低电平,则输出为“ 01101”。此进程最后 用一个 IF 语句产生一个锁存器,将 q2锁存后再输出。由于是同步锁存的缘故,没 有发生锁存后延时一个时钟周期的现象。对程序进行编译仿真后得出几幅仿真图,如下所示 :其中 reset 为复位信号 , 高电平有效, datain 为输入信号, clk 是时钟信号, 上升
34、延有效 , q 为输出信号, q165为输出 q 的 16进值, stx 为状态。此图的状态由 st0、 st1、 st 2、 s t 3和 st4依次循环转换下去。 reset 信号复位以 后,状态无条件转换为状态 st0。此后每一个 clk 上升延依照 datain 输入信号的高低 进行状态转换。 此图标尺处体现了状态由 st1转换到 st0。 当状态为 st1, 输入 datain 为高电平时, 状态由 st1到 st0,而不是 st1到 st2。 此图标尺处体现了状态由 st2转换到 st0。 当状态为 st2, 输入 datain 为低电平时, 状态由 st2到 st0,而不是 st
35、2到 st3。 此图标尺处体现了状态由 st3转换到 st0。 当状态为 st3, 输入 datain 为高电平时, 状态由 st3到 st0,而不是 st3到 st4。5.5Mealy 状态机优化毛刺的产生,一方面由于通常的状态机中都包含有组合逻辑进程,使得输 出信号在时钟的有效边沿产生毛刺; 另一方面当状态信号是多位值的时候, 在电 路中就对应了多条信号线, 如果同时有几条信号线跳变, 由于存在传输延迟, 各 信号线上的值发生改变的时间会有先后 , 使得状态迁移的时候在初始状态和目的 状态间出现临时状态,虽然它只存在了很短的时间,但仍然会影响电路的稳定。 对于第一种情况, 在大多数条件下,
36、 毛刺对电路的影响可忽略不计, 但是当 状态机的输出信号作为三态使能控制或者时钟信号使用的时候, 就必须要消除毛 刺。 消除的方法可以用改进有限状态机的描述方法来解决这个问题:把时钟信号 引入组合进程,用时钟来同步状态迁移和信号输出 , 在电路上表现为先将输出信 号保存在触发器中 , 当时钟有效边沿到来的时候输出; 或者在电路设计时 , 选用延 迟时间较小的器件 , 且尽可能采用级数少的电路结构。对于第二种情况,需要重新调整状态编码。一般而言,编有顺序编码、 One -Hot 编码、格雷码、随机编码等。如果 vhdl 描述中没有对各个状态的编码专 门指定 , 模拟器和综合器一般按照状态的定义顺
37、序进行编码。为了消除传输延迟 造成的毛刺,理想的解决方法是使相邻状态间只有 1位信号改变,因此应该按照 格雷码制进行编码。 在某些情况下, 状态编码不能保证只有一位发生变化时, 有 2种编码方法可以保证状态机编码仍然维持。位变化,第一种方法是一个状态分 配多个编码; 第二种方法是在状态译码时采用分组译码, 这样就保证了状态迁移 时只有。位状态线发生变化。在同步电路中,一般情况下“毛刺”不会产生重大影响。因为“毛刺”仅 发生在时钟有效边沿之后的一小段时间内, 只要在下一个时钟有效边沿到来之前 “毛刺” 消失即可。 但当状态机的输出信号作为其他功能模块的控制信号, 例如 作为异步控制、 态使能控制
38、或时钟信号使用时, 将会使受控模块发生误动作, 造 成系统工作混乱。因此,在这种情况下必须通过改变设计消除毛刺。消除状态机输出信号的“毛刺”一般可采用三种方案:(1调整状态编码, 使相邻状态间只有1位信号改变, 从而消除竞争冒险的发 生条件, 避免了毛刺的产生。 常采用的编码方式为格雷码。 它适用于顺序迁移的 状态机。(2在有限状态机的基础上采用时钟同步信号,即把时钟信号引入组合进程。状态机每一个输出信号都经过附加的输出寄存器, 并由时钟信号同步, 因而保证 了输出信号没有毛刺。 这种方法存在一些弊端:由于增加了输出寄存器, 硬件开 销增大, 这对于一些寄存器资源较少的目标芯片是不利的; 从状
39、态机的状态位到 达输出需要经过两级组合逻辑, 这就限制了系统时钟的最高工作频率; 由于时钟 信号将输出加载到附加的寄存器上, 所以在输出端得到信号值的时间要比状态的 变化延时一个时钟周期。(3直接把状态机的状态码作为输出信号,即采用状态码直接输出型状态机, 使状态和输出信号一致, 使得输出译码电路被优化掉了, 因此不会出现竞争冒险。 这种方案,占用芯片资源少,信号与状态变化同步,因此速度快,是一种较优方 案。 但在设计过程中对状态编码时可能增加状态向量, 出现多余状态。 虽然可用 case 语句中 whenothers 来安排多余状态,但有时难以有效控制多余状态,运行时 可能会出现难以预料的情
40、况。因此它适用于状态机输出信号较少的场合。6、本次论文设计的几点体会6.1把握整体跟细节设计状态机首先要有个系统的把握,要从整体上去概述,画出一个流程图, 然后根据流程图才能一步一步的做下去。 如果没有一个大概的流程就很难着手做 下去。其次在流程图中的每一步都是一个细节,有句话叫“细节决定成败” ,在 结构图、状态转换图、程序代码、仿真等方面是都不能出错。本次论文主要采用 自顶而下的设计方法, 把一个整体划分为几个子模块, 然后对各个模块依次进行 设计, 划分的好坏, 将直接影响到整个的系统开发。 因此要对认真对待整体与细 节。6.2资料的重要性查找资料也是一个漫长而具体的过程, 单纯从教科书
41、上很难编写出一篇完整 的论文。 找资料就花掉了近一周的时间, 而看懂资料与筛选资料又是一个更加漫 长的过程。 论文中的大部分内容都源于所查找的资料, 如果没有网上查找的资料 就很难写出一篇完整的论文。6.3常用工具软件的运用以前总觉的对 word 软件很熟悉,真正到了运用起来的时候,发现很多东西 都很生硬,很陌生。尤其是在绘图等方面根本是一窍不通。通过这次论文的写 作,加深对常用工具软件的了解,同时也发现了自己的不足,在以后的学习生 活中要继续加强对常用软件的学习与使用。Ground on Moore Type FSMS VHDL Design Method Department of Physics and Electronic Information Science, Electronic Information Science and Technology Number of student:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艾叶浴的临床应用
- 城市轨道交通票务系统升级方案
- 裁判入门培训课件
- 中医文化建设项目实施与管理方案
- 外贸业务员实战谈判技巧
- 蛋鸡饲养管理培训课件
- 焙烤食品加工技术期末考试试题集锦
- 语文八年级期中考试试卷及解题指导
- 幼儿园安全生产年度工作报告
- 小学语文写作提升训练指导
- 安全生产管理机构人员配备表
- 非职业一氧化碳中毒课件
- 保定市道路野生地被植物资源的调查与分析:物种多样性与生态功能的探究
- smt车间安全操作规程
- JJF 2254-2025戥秤校准规范
- 强制医疗活动方案
- DB42T 850-2012 湖北省公路工程复杂桥梁质量鉴定规范
- 月经不调的中医护理常规
- 2024-2025学年江苏省南通市如东县、通州区、启东市、崇川区高一上学期期末数学试题(解析版)
- 瑞幸ai面试题库大全及答案
- 现代密码学(第4版)-习题参考答案
评论
0/150
提交评论