Verilog写状态机的三段式描述方式1

  • 1,RTL代码
  • 2,门级网表
  • 3,测试前仿真代码
  • 4,前仿真波形+验证

状态机的设计思路:
一是从状态机变量入手,分析各个状态的输入、状态转移和输出;
二是先确定电路的输出关系,再回溯规划每个状态的条件、输入等;

状态机的三要素是状态、输入和输出,根据状态机状态是否和输入条件相关,可以分为Moore型状态机(与输入无关)和Mealy型状态机(与输入有关)

三段式描述:即三个always。根据对下一个状态的判断,利用同步时序逻辑来寄存状态机的输出,从而消除了组合逻辑的不稳定性和毛刺的隐患,有利于时序路径分组。
二段式描述:即二个always。输出使用的是组合逻辑,很容易产生毛刺等不稳定因素。
一段式描述:即一个always。将用于状态转移判断的组合逻辑和用于状态寄存器转移的时序逻辑写在同一个always里面,在描述当前状态时还要考虑下一个状态的输出(这样写代码不清晰,难以维护)。

Verilog写状态机的三种描述方式之三段式相关推荐

  1. verilog中状态机的三种编码方式的比较(二进制码、独热码、格雷码)

    最近做了一个小项目,是关于状态机中三种编码方式的比较,总结了一下三种编码方式的不同,可以会在以后IC笔试面试过程中用到,简单记录一下三种编码方式的优缺点. 三种编码方式如下图所示:其中独热码只有一位为 ...

  2. 【 Verilog HDL 】HDL的三种描述方式

    当我们使用HDL代码描述硬件功能的时候,主要有三种基本描述方式,即结构化描述方式.数据流描述方式和行为级描述方式.通过本次总结,我们将明白到底我们描述的电路是什么方式描述的. 结构化描述方式 结构化描 ...

  3. FPGA之道(41)HDL的三种描述方式

    文章目录 前言 三种描述方式 结构化描述方式 数据流描述方式 行为级描述方式 前言 常编写Verilog代码的就会知道,我们对于某一功能的描述,可以通过门电路来描述,也可以直接描述其功能等,这就牵扯到 ...

  4. HDL语言三种描述方式--结构化描述方式、数据流描述方式、行为级描述方式

    当我们使用HDL代码在描述硬件功能时,主要有三种描述方式,即结构化描述方式.数据流描述方式.行为级描述方式.在平时编程时,可根据实际情况及个人喜好选择其中一种或者几种混合在一起进行自己的HDL代码编写 ...

  5. Verilog HDL三种描述方式

    一.数据流建模方式 在组合逻辑电路中,数据不会存储,因此输入信号经过电路变为输出信号类似于数据流动.可以通过连续赋值语句这种特性进行建模,这种建模方式通常被称为数据流建模. 连续赋值语句只能用来对连线 ...

  6. 姿态的三种描述方式——欧拉角、轴角、四元数

    欧拉角   旋转矩阵对于坐标系的描述是冗余的.旋转矩阵用了9个元素来描述姿态,而事实上,由正交性条件带来6个约束,这9个元素之间不是独立的,而是相关的.这就意味着,只要三个参数就能描述一个刚体在空间中 ...

  7. java servlet接口开发_servlet三种实现方式之一实现servlet接口

    servlet有三种实现方式: 1.实现servlet接口 2.继承GenericServlet 3.通过继承HttpServlet开发servlet 第一种示例代码如下(已去掉包名): import ...

  8. 【Java基础】IO流概述分类、字节流写数据、字节流写数据的三种方式及写数据的两个小问题

    目录 一.IO流概述和分类 二.字节流写数据 三.字节流写数据的三种方式 四.字节流写数据的两个小问题 一.IO流概述和分类 IO流介绍: ● IO:输入/输出(Input/Output) ● 流:是 ...

  9. Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)

    阅读目录 一.MVC与MTV 二.多对多表的创建 三.ajax,前后端传输编码格式contentType 四.批量插入数据与自定义分页器 摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端 ...

最新文章

  1. 乔布斯+斯坦福演讲+Stay Hungry. Stay Foolish.
  2. python的窗口处理模块_python的图像处理模块
  3. Oracle学习:序列
  4. yii 使用 有赞sdk_有赞移动如何做到并行灰度的复杂场景?
  5. 荣耀鸿蒙价格,荣耀40S秀肌肉,120Hz+双5000万+鸿蒙系统,售价很感人
  6. 聊聊并发编程的10个坑
  7. 理发师睡觉问题、银行叫号问题详解 操作系统
  8. python习题_新手练习:Python练习题目
  9. 利用axios获取数据并渲染到视图层
  10. jsp 使用base标签 没有作用_tag标签的概念,如何设置使用,它对网站seo优化有何作用...
  11. Spring中的WebAppRootListener
  12. Java 常用的 4 种加密方式(MD5+Base64+SHA+BCrypt)
  13. PGIS平台部署中的问题及解决方案
  14. 网易云音乐显示网络异常
  15. markdown编辑器之editormd使用
  16. 关于ArcGIS的一些基础知识
  17. Windows 自带的 UTF8 字符 颜文字表情符号
  18. mysql查询 NULL
  19. QQ群发消息怎么发?最全攻略分享
  20. win7搭建VM10虚拟机,搭建win7旗舰版64系统

热门文章

  1. 4G/5G多卡聚合设备在公安无线传输中的解决方案
  2. 华为p20Android怎么解开,【华为P20】解锁EMUI8.1系统下华为P20的各种玩法新技巧
  3. 给定一个数组int[] array={1,2,3,4,5,6,7,8,9,10}.将其前5个元素与后5 个元素对换,即第1 个元素与第10个元素互换,第2个与第9个元素互换...第5 个与第6 个元素
  4. Fiddler Windows 汉化抓包工具
  5. 带error的函数:iferror、iserror、error.type
  6. 台积电谈2nm的实现方式
  7. Camera - dump 预览帧数据处理(三)
  8. 图片转成Excel的一种方法
  9. 网速慢?这8种方法可以彻底解决
  10. 二进制数组转成十六进制字符串,以及十六进制字符串转二进制字符串