第8章Verilog有限状态机设计课件_第1页
第8章Verilog有限状态机设计课件_第2页
第8章Verilog有限状态机设计课件_第3页
第8章Verilog有限状态机设计课件_第4页
第8章Verilog有限状态机设计课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章Verilog有限状态机设计

18.1VerilogHDL有限状态机的一般形式8.2Moore型有限状态机设计8.3Mealy型有限状态机设计8.4SystemVerilog的枚举类型应用8.5状态机图形编辑设计方法8.6状态编码8.7非法状态处理8.8硬件数字技术排除毛刺主要内容2

有限状态机是由寄存器组和组合逻辑构成的硬件时序电路;其状态(即由寄存器组的1和0的组合状态所构成的有限个状态)只能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态;究竟转向哪一状态不但取决于各个输入值,还取决于当前状态。状态机可用于产生在时钟跳变沿时刻开关的复杂的控制逻辑,是数字逻辑的控制核心。8.1VerilogHDL有限状态机的一般形式3高效的顺序控制模型:状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。容易利用现成的EDA优化工具。性能稳定:状态机容易构成性能良好的同步时序逻辑模块。设计实现效率高:状态机的HDL表述丰富多样、程序层次分明,易读易懂。高速性能:在高速运算和控制方面,状态机更有其巨大的优势。高可靠性。8.1.1为什么要使用状态机48.1.2有限状态机的结构分类:从状态机的信号输出方式上:Mealy型与Moore型。米利机的下一状态和输出取决于当前状态和当前输入;摩尔机的下一状态取决于当前状态和当前输入,但其输出仅取决于当前状态。状态机的描述结构上:单过程状态机与多过程状态机。从状态表达方式:符号化状态机和确定状态编码的状态机。状态编码方式上分:顺序编码状态机、一位热码编码状态机或其它编码状态机5状态机的结构说明部分

状态转换变量的定义和所有可能状态的说明,必要时还要确定每一状态的编码形式。包括4个部分:说明部分、主控时序过程、主控组合过程、辅助过程说明:用参数parameter来定义各状态的,其中各状态的取值或编码必须写上。typedef是用户自定义语句关键词,enum是定义枚举类型关键词,type_user是标示符。2.主控时序过程(REG进程)

负责状态机运行和在时钟驱动下负责状态转换的过程。63.主控组合进程(COM进程)

主控组合过程也可称为状态译码过程,其任务是根据外部输入的控制信号(包括来自状态机外部的信号和来自状态机内部其它非主控的组合或时序过程的信号)以及当前状态的状态值确定下一状态(next_state)的取向,即next_state的取值内容,以及确定对外输出或对内部其它组合时序过程输出控制信号的内容。74.辅助进程

配合状态机工作的组合过程或时序过程。时序过程只负责将当前状态转换为下一状态,不管将要转换的是哪一个状态。89rst是低电平有效,clk是上升沿有效。观察输入信号0到3的变化,此例是Moore还是Mealy型?108.1.3状态机设计初始控制与表述

(1)打开“状态机萃取”开关。

1112(2)关于参数定义表述用parameter进行参数定义虽然十分必要,一旦打来状态机萃取开关,状态定义可以十分随意。定义什么值都可以。(3)状态变量定义表述

138.2Moore型有限状态机的设计

Mealy状态机:输出是当前状态和所有输入信号的函数。不依赖时钟同步。Moore状态机:输出仅为当前状态的函数,所以在输入发生变化时还要等待时钟的到来,所以比机要多等待一个时钟周期。148.2.1ADC采样控制设计及多过程结构型状态机

START:转换启动信号,高电平有效。ALE:模拟信号输入选通端口地址锁存信号。上升沿有效。EOC:转换结束信号。高电平有效,表示转换结束。是0809发送给状态机的信号。OE:输出允许信号,高电平有效,表示转换结束可以把结果输出去了。1516EOC:转换结束信号。高电平有效,表示转换结束。是0809发送给状态机的信号。1718接上页19过程:复位信号后进入状态s0;第二个clk上升沿后,状态机进入s1,由START、ALE发出启动采样和地址选通的控制信号,之后EOC进入了低电平,0809的8位数据输出端出现高阻态”ZZ”,在状态s2等待了数个CLK后,EOC变为高电平,表示转换结束。进入s3状态后,OE变为高电平,此时0809的数据输出端D已经输出转换好的5EH。在状态s4,LOCK_T发出一个脉冲,其上升沿立即将D端数据5E锁入Q和REGL中。20把例8-2中的组合过程可以分成两个组合过程:一个负责状态译码和状态转换。另一个负责对外控制信号的输出。分开写如下:218.2.2序列检测器之状态机设计

8位序列数“11010011”高位在前左移进入检测器后,如次数与预置的密码数相同,则输出1,否则输出09个参数的定义很随意2223248.3Mealy型有限状态机的设计

Mealy状态机:输出是当前状态和所有输入信号的函数。不依赖时钟同步。与Moore状态机不同之处在于组合过程中的输出信号是当前状态和当前输入的函数。例8-5:状态转换方式由DIN1信号控制,对外控制信号码的输出由DIN2控制2526输出信号有毛刺。因为输出信号不随时钟clk同步。改进一下:设计成只有一个always过程的状态机。272829输出信号没有毛刺了。30例8-7是把例8-4的双过程改为单过程了。把输出与时钟同步这是去毛刺的办法。318.4SystemVerilog的枚举类型应用

把例8-4的状态变量改为如下枚举类型:保存类型为.sv328.5状态机图形编辑设计方法

33343536373839408.6状态编码

给状态编上码。8.6.1直接输出型编码

41计数器:计数输出就是各状态的状态码。当计数到m时,采用异步清0的方式可以模m计数器。当计数到m时,采用同步清0的方式可以模m+1计数器。当把状态编码直接输出作为控制信号,即out=state。状态码直接输出型状态机。4243说明:优点:输出速度快,不大可能出现毛刺。缺点:可读性差、用于状态译码的组合逻辑资源比其他形同触发器数量构成的状态机多、控制非法状态出现的容错技术高。44用宏定义‘define来定义状态元素。放在模块外面,是全局变量,可以在不同模块里通用。优点:在波形里面直接可以看到这些编码458.6.2宏定义命令语句`define

用宏定义命令语句`define

定义的标示符,在使用的时候要加上’.宏定义的语句末尾不需要加分号。468.6.3顺序编码

优点:触发器少,剩余的非法状态也少。容错技术简单。缺点:状态译码麻烦,占用组合逻辑电路多,容易出现毛刺。保密性差,不适合军用。对CPLD合适:组合电路多,触发器少。不适合FPGA设计。478.6.4一位热码状态编码一位热码编码:n个触发器来实现具有n个状态的状态机。状态机中的每一个状态都由其中一个触发器的状态表示。即当处于该状态时,对用的触发器是1,其余触发器都是0.优点:译码速度快,转换速度快,提高了系统稳定性。适合FPGA设计。QuartusII中是默认的编码方式。488.6.5状态编码设置1.用户自定义方式2.用属性定义语句设置49503.直接设置方法

518.7非法状态处理

s5,s6,s7是非法状态。528.7.1程序直接导引法

说明:不要太依赖default语句。适合顺序编码的状态机538.7.2状态编码监测法

一位热键编码方式设计的状态机。把状态的每一位相加看结果如果大于1,发出一个警告信号alarm,系统根据此决定是否要转向或者复位8.7.3借助EDA优化控制工具生成安全状态机

(*syn_encoding=“safe,one-hot”*)548.8硬件数字技术排除毛刺

8.8.1延时方式去毛刺

现代方式的延时不采用组合逻辑,而是采用触发器、寄存器等时序元件对输入输出电路通道上的信号进行适当的延时或延时采样。,使处理过的信号在输出后能避开毛刺。时序电路中最常用。55特点:只能除去数据或者是时钟单边沿的毛刺。延时时钟周期信号的周期应该与主通道上面的输入数据时序宽度或时钟的周期有较好的配合。568.8.2逻辑方式去毛刺

实质就是一个过滤器:,将信号中的毛刺、随机噪声或电子抖动信号过滤掉,只让真正的信号通过。57特点:输出脉冲宽度变小了。信号有一个延迟。CLK的频率应该足够高,至少4个上升沿被包含在正常信号脉宽里面。CLK的频率不能太高,不能太小于干扰信号的频率。增加D触发器的数量,可以提高滤波性能。588.8.3定时方式去毛刺

用两个计数器分别对输入信号的高低电平的持续时间进行计数,只有当时间大于某个值时,则判断为遇到正常信号。输出1或059特点:输出信号的脉宽比逻辑方式输出的信号宽很多。KH与KL的计数位宽可以视具体情况而定。60CPU总是按照一定的时钟节拍与时序工作:振荡周期/时钟周期:

Tc=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论