书签 分享 收藏 举报 版权申诉 / 27
上传文档赚钱

类型EDA技术(VHDL和FPGA)课件6 VHDL有限状态机设计 .pptx

  • 上传人(卖家):momomo
  • 文档编号:7292724
  • 上传时间:2023-11-17
  • 格式:PPTX
  • 页数:27
  • 大小:385.44KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《EDA技术(VHDL和FPGA)课件6 VHDL有限状态机设计 .pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    EDA技术VHDL和FPGA课件6 VHDL有限状态机设计 EDA 技术 VHDL FPGA 课件 有限状态机 设计
    资源描述:

    1、为什么要设计有限状态机为什么要设计有限状态机应用的需要,复杂系统的需要应用的需要,复杂系统的需要如果我们能设计这样一个电路如果我们能设计这样一个电路能记住自己目前所处的状态能记住自己目前所处的状态状态的变化只可能在同一时钟的跳变沿时刻发生,而状态的变化只可能在同一时钟的跳变沿时刻发生,而不可能发生在任意时刻不可能发生在任意时刻在时钟跳变沿时刻,如输入条件满足则进入下一状态,在时钟跳变沿时刻,如输入条件满足则进入下一状态,并记住自己目录所处的状态。否则仍保留原来的状态。并记住自己目录所处的状态。否则仍保留原来的状态。在进入不同的状态时刻,对系统的开关阵列做开启或关在进入不同的状态时刻,对系统的开

    2、关阵列做开启或关闭操作。闭操作。1234o 状态机是一种思想方法n 状态机的本质就是对具有逻辑顺序或时序规律事件的一种描述方法。具有逻辑顺序和时序规律的事件都适合用状态机描述。什么是有限状态机什么是有限状态机FSM:Finite State Machine应用市场上的电子产品进入非正常状态应用市场上的电子产品进入非正常状态/(不需要考虑的状态)(不需要考虑的状态)的可能很多,不可能一一去列举的可能很多,不可能一一去列举于是采用以于是采用以“不变应万变不变应万变”的方式,只考虑需要的状态,不需要的方式,只考虑需要的状态,不需要的状态不管。的状态不管。需要考虑的状态一一列举出来(有限性需要考虑的状

    3、态一一列举出来(有限性Finite),不需要考虑),不需要考虑的状态都统一当异常处理(的状态都统一当异常处理(default)123有限状态机三要素有限状态机三要素FSM:Finite State Machine状态(当前状态,下一个状态)状态(当前状态,下一个状态)输入信号(事件)输入信号(事件)输出控制信号(相应操作)输出控制信号(相应操作)123用用VHDL设计的状态机有多种形式设计的状态机有多种形式从信号输出方式分:从信号输出方式分:Mealy型状态机和型状态机和Moore型状态机型状态机从结构上分:从结构上分:单进程状态机和多进程状态机单进程状态机和多进程状态机从状态表达方式上分:从

    4、状态表达方式上分:符号化状态机、符号化状态机、确定状态编码状态机确定状态编码状态机从编码方式上分:从编码方式上分:顺序编码状态机、顺序编码状态机、一位热码编码状态机一位热码编码状态机 或其他编码方式状态机或其他编码方式状态机o Moore型有限状态机n 是指那些输出信号仅与当前状态有关的有限状态机,即可以把Moore型有限状态机的输出看成是当前状态的函数。n Moore型有限状态机框图:o Mealy型有限状态机n 是指那些输出信号不仅与当前状态有关,而且还与所有的输入信号有关的有限状态机,即可以把Mealy有限状态机的输出看作当前状态和所有输入信号的函数。可见,Mealy有限状态机要比Moo

    5、re有限状态机复杂一些。n Mealy有限状态机框图:o Moore型和Mealy型有限状态机的区别:n Moore型有限状态机仅与当前状态有关,而与输入信号无关;n Mealy型有限状态机不但与当前状态有关,而且还与状态机的输入信号有关。o 采用何种有限状态机的判别条件:n Moore型有限状态机可能要比相应的Mealy型有限状态机需要更多的状态。n Moore型有限状态机的输出与当前的输入部分无关,因此当前输入产生的任何效果将会延迟到下一个时钟周期。可见,Moore型状态机的最大优点就是可以将输入部分和输出部分隔离开。n 对于Mealy型有限状态机来说,由于它的输出是输入信号的函数,因此如

    6、果输入信号发生改变,那么输出可以在一个时钟周期内发生改变o 单进程状态机n 整个状态机的描述在一个进程中完成o 双进程状态机n 将组合逻辑部分和时序逻辑部分分开描述,放在结构体的说明部分o 三进程状态机n 将组合逻辑部分再分为产生次态的组合逻辑部分和产生输出的组合逻辑部分,与时序逻辑部分一起放在结构体的说明部分利用VHDL语言将时序电路的状态转换关系进行描述。在VHDL中,所有状态均可表达为case_when结构中的一条case语句,而状态的转移可以通过if_then_else语句实现。6.2 6.2 有限状态机的有限状态机的VHDLVHDL程序设计程序设计Process(clk)BeginI

    7、f clkevent and clk=1 thenCase state is:When“000”=If 条件1 thenstate=“001”;End if;When End case;End if;End processS0/0S1/1Input=1/output=10/1/output=0S0/0S1/1Input=1/output=10/1/output=0S0/0S1/1Input=1/output=10/1/output=0LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY state_machine IS PORT(clk,reset,A

    8、,B:IN std_logic;Y,Z:OUT std_logic);END state_machine;ARCHITECTURE test of state_machine IS TYPE IS(s0,s1,s2,s3);SIGNAL current_state,next_state:;Begin(1)说明部分说明部分用户自定义数据类型定义语句用户自定义数据类型定义语句TYPE语句用法如下:语句用法如下:TYPE 数据类型名数据类型名 IS 数据类型定义数据类型定义 OF 基本数据类型基本数据类型;或或TYPE 数据类型名数据类型名 IS 数据类型定义数据类型定义;以下列出了两种不同的定义方

    9、式:以下列出了两种不同的定义方式:TYPE st1 IS ARRAY(0 TO 15)OF STD_LOGIC;数组数组数据数据类型类型TYPE week IS(sun,mon,tue,wed,thu,fri,sat);枚举枚举数据数据类型类型TYPE m_state IS (st0,st1,st2,st3,st4,st5);SIGNAL present_state,next_state :m_state ;布尔数据类型的定义语句是:布尔数据类型的定义语句是:TYPE BOOLEAN IS(FALSE,TRUE);TYPE my_logic IS (1,Z,U,0);SIGNAL s1:my_

    10、logic;s1=Z;符号化状态机:符号化状态机:用文字符号表示二进制数。用文字符号表示二进制数。确定化状态机:确定化状态机:直接用数值表示。直接用数值表示。(2 2)时序进程)时序进程(PROCESS REG)(PROCESS REG)时序进程是负责状态机运转和在时钟驱动下负责状态转换的进程。BEGINREG:PROCESS(clk,reset)-时序逻辑进程时序逻辑进程 BEGIN IF reset=1 THEN current_state=s0;ELSIF rising_edge(clock)THEN current_state IF A=0 and B=1 THEN next_stat

    11、e=s1;ELSIF A=1 and B=0 THEN next_state=s2;ELSIF A=0 and B=0 THEN next_state IF A=0 and B=0 THEN next_state=s1;ELSIF A=0 and B=1 THEN next_state=s2;ELSIF A=1 and B=0 THEN next_state IF A=0 and B=0 THEN next_state=s2;ELSE next_state IF A=0 and B=1 THEN Y=0,Z=0;ELSIF A=1 and B=0 THEN Y=0,Z=0;ELSIF A=0 and B=0 THEN Y=0,Z=0;END IF;END CASE;END PROCESS;设计步骤分解设计步骤分解分析输入输出端口信号;分析输入输出端口信号;状态转移图;状态转移图;根据状态转移图进行根据状态转移图进行VHDL 语言描述;语言描述;测试代码编写,仿真;测试代码编写,仿真;FPGA实现。实现。12345RESET(asynchronous)REDTIMER1YELLOWGREENTIMER1TIMER2TIMER2Y=1G=1TIMER3TIMER3R=1

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:EDA技术(VHDL和FPGA)课件6 VHDL有限状态机设计 .pptx
    链接地址:https://www.163wenku.com/p-7292724.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库