FPGA状态机总结
来源:互联网 发布:服务器端软件开发 编辑:程序博客网 时间:2024/06/15 21:28
1. 状态机的结构
(1)逻辑表达式
下一个状态=F(当前状态,输入信号);
输出信号=G(当前状态,输入信号);
(2)Mealy状态机:时序逻辑的输出取决于状态与输入
(3)Moore状态机:时序逻辑的输出取决于状态
2. 状态编码的类型
(1)独热编码:一个bit代表一个状态(4中状态的编码有:4’b0001, 4’b0010, 4’b100, 4’b1000)
(2)Gray编码:格雷编码累加(4中状态的编码有:2’b00, 2’b01, 2’b11, 2’b10)
(3)输出直接指定为状态码,多用于高速信号
3. 状态机编写的方法
(1)一段式
输入、输出、状态变化写在一起,用非阻塞“<=”对当前状态寄存器(cstat)和命令寄存器(cmd)进行赋值。
(2)二段式
时序逻辑与组合逻辑分离。时序逻辑为状态切换,组合逻辑实现输入、输出、状态判断。状态切换用非阻塞“<=”完成下一状态寄存器(nstat)对当前状态寄存器(cstat)的赋值。组合逻辑通过阻塞“=”,利用cstat寄存器状态和输入,对下一状态寄存器(nstat)和输出寄存器(cmd)进行赋值。由于输出用逻辑电路,会产生毛刺
(3)三段式
输入、输出、状态切换分离。状态切换用非阻塞“<=”完成下一状态寄存器(nstat)对当前状态寄存器(cstat)的赋值。通过阻塞“=”,利用cstat寄存器状态和输入信号,对下一状态寄存器(nstat)进行赋值。输出寄存器通过利用当前状态,使用非阻塞的“<=”赋值,延迟一个时钟以达到消除毛刺的目的。
0 0
- FPGA状态机总结
- FPGA 状态机设计
- 【FPGA】Verilog状态机设计
- fpga状态机详解
- 二段式FPGA的状态机
- 【FPGA】Verilog状态机设计
- FPGA中状态机的稳定性
- FPGA状态机跑飞原因分析
- 对于FPGA状态机的设计心得
- FPGA三段式状态机的思维陷阱
- FPGA三段式状态机的思维陷阱
- FPGA 学习之路(八)状态机
- FPGA状态机跑飞原因分析
- FPGA三段式状态机的思维陷阱
- 状态机系统学习总结
- 基于FPGA的图像处理(五)--状态机
- FPGA,verilog程序技巧之状态机与稳定性,高速
- FPGA中状态机实现需要注意的地方
- 终身机器学习(Lifelong Machine Learning)
- 2015年需要了解的前端框架和语言
- 杭电oj(Java版)2602 Bone Collector 01背包问题
- ITK4.11.1编译配置+VS2015+Cmake3.8.1
- python wget下载文件处理的一些问题
- FPGA状态机总结
- Buy a Shovel
- Windows Spark开发环境部署
- ==与===
- 比特币开发专题(交易平台基本原理和指南)
- 文件夹复制(拷贝)原理分析
- webpack2
- 反转的串
- malloc free 解析