当前位置: 首页 > news >正文

12.1、2、3-同步状态机的结构以及Mealy和Moore状态机的区别

同步状态机的结构以及Mealy和Moore状态机的区别

      • 1,介绍Mealy型状态机和Moore型状态机的两种结构
      • 2,设计高速电路的方法

由于寄存器传输级(RTL)描述的是以时序逻辑抽象所得到的有限状态机为依据,因此,把一个时序逻辑抽象成一个同步有限状态机是设计可综合风格的Verilog HDL模块的关键。

在本章节中,在了解状态机结构的基础上通过各种实例,由浅入深地介绍各种可综合风格的Verilog HDL模块,并把重点放在时序逻辑的可综合有限状态机的Verilog设计要点上。

1,介绍Mealy型状态机和Moore型状态机的两种结构

在这里插入图片描述
在这里插入图片描述
Mealy型状态机和Moore型状态机的区别:
1,Mealy型状态机的输出,与当前状态和输入函数有关;
2,Moore型状态机的输出,只与当前状态有关;

这两种电路结构除了在输出电路部分有些不同外,其他地方都是相同的。在实际设计工作中,其实大部分状态机都属于Mealy状态机,因为状态机的输出中或多或少有几个属于Mealy型输出,输出不但与当前状态有关还与输入有关;还有几个输出属于Moore型状态机,即只与当前状态有关。

2,设计高速电路的方法

在设计高速电路时,常常有必要使状态机的输出与时钟几乎完全同步。

1,有一个办法是把状态变量直接用作输出,为此在指定状态编码时需要多费一些脑力,也可能会多用几个寄存器。
这种设计思路,在高速状态机电路时常常使用,这称为输出编码的状态指定。

这种状态机属于图2的Moore型状态机

2,另一个办法,是如图3所示,在输出逻辑G后面再加一组与时钟同步的寄存器输出流水线寄存器,让G所有的输出信号在下一个时钟跳变沿同时存入寄存器组,即完全同步地输出,把这种输出称为流水线化的输出。
在这里插入图片描述

其实,在这几种状态机之间,只要做一些改变,便可以从一种形式转变为另一种形式。比如可以将图3所示的状态机中产生流水输出的寄存器省去,把这些寄存器用在状态记忆上,就可以很容易地得到一个把状态机变量用作输出信号的Moore型状态机。

状态机的分类不重要,重要的是设计者如何把握输出的结构能满足设计的整体目标,包括定时的准确性和灵活性。

相关文章:

  • 系统语言德语时浮点数转化问题
  • 【Android开发】不同Activity之间的数据回传实例(一)摘桃子游戏
  • 2023 年公链发展报告
  • 【升区快刊】IEEE(trans),上涨中科院1区,国人占比75%,质量高,录用快!
  • Pandas十大练习题,掌握常用方法
  • Ubuntu搭建OpenCV环境(C++)
  • 如何配置Pycharm服务器并结合内网穿透工具实现远程开发
  • HTML 链接 图片引入
  • 表单生成器基于(form-create-designer+ant design vue)
  • UniApp+Vue智慧工地信息化管理云平台源码(支持多工地使用)
  • Golang 通道输入输出学习(同刚上手的小新手)
  • 01.16
  • 广告投放场景中ABtest分析的评价、优化和决策建议
  • vs2022配置OpenCV测试
  • 注意!不清楚这些,2024上半年软考别轻易尝试!
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • .pyc 想到的一些问题
  • angular学习第一篇-----环境搭建
  • Django 博客开发教程 16 - 统计文章阅读量
  • Fastjson的基本使用方法大全
  • JavaScript 基础知识 - 入门篇(一)
  • Python3爬取英雄联盟英雄皮肤大图
  • React-redux的原理以及使用
  • React的组件模式
  • Shadow DOM 内部构造及如何构建独立组件
  • 从输入URL到页面加载发生了什么
  • 构建二叉树进行数值数组的去重及优化
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 写给高年级小学生看的《Bash 指南》
  • 用Python写一份独特的元宵节祝福
  • 走向全栈之MongoDB的使用
  • ​iOS安全加固方法及实现
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (4)STL算法之比较
  • (poj1.2.1)1970(筛选法模拟)
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)hibernate配置管理
  • (分布式缓存)Redis持久化
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (过滤器)Filter和(监听器)listener
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (三十五)大数据实战——Superset可视化平台搭建
  • (一)appium-desktop定位元素原理
  • (转)程序员技术练级攻略
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET 分布式技术比较
  • .NET 解决重复提交问题
  • .NET4.0并行计算技术基础(1)
  • .NetCore项目nginx发布
  • @RestControllerAdvice异常统一处理类失效原因