有限状态机的FPGA实现
来源:互联网 发布:如何评价李鸿章 知乎 编辑:程序博客网 时间:2024/06/01 10:27
描述有限状态机要先画状态迁移图,根据状态迁移图来写代码。
对状态的表示既可以是二进制编码也可以是独热码,二进制编码用的寄存器少,但是用的组合逻辑资源多,独热码寄存器多,但逻辑资源少,推荐后一种。
用分段式来分别描述状态迁移和输出。
代码如下;
module ex_fsm(
input wire sclk,
input wire rst_n,
output reg k1,
output reg k2,
input wire A
);
parameter IDLE =4'b0001;
parameter START =4'b0010;
parameter STOP=4'b0100;
parameter CLEAR=4'b1000;
reg [3:0] state;
always@(posedge sclk or negedge rst_n )
if (rst_n==1'b0)
state<=IDLE;
else
case (state)
IDLE:if(A==1'b1)
state<=START;
START:if(A==1'b0)
state<=STOP;
STOP:if(A==1'b1)
state<=CLEAR;
CLEAR:if(A==1'b0)
state<=IDLE;
default:state<=IDLE;
endcase
always@(posedge sclk or negedge rst_n)
if(rst_n==1'b0)
k1<=1'b0;
else if (state==IDLE&&A==1'b1)
k1<=1'b0;
else if(state==CLEAR&&A==1'b0)
k1<=1'b1;
always@(posedge sclk or negedge rst_n)
if(rst_n==1'b0)
k2<=1'b0;
else if(state==STOP&&A==1'b1)
k2<=1'b1;
else if(state==CLEAR&&A=1'b0)
k2<=1'b0;
endmodule
- 有限状态机的FPGA实现
- FPGA--有限状态机(FSM)的设计
- 有限状态机的实现
- 有限状态机的实现
- 有限状态机的一个实现
- 有限状态机的实现
- lua实现的有限状态机
- 有限状态机的实现
- 有限状态机的实现方式
- 有限状态机的实现
- 有限状态机的实现
- FPGA之有限状态机
- 一种基于FPGA有限状态机思想的RS485 C底层驱动
- 简单有限状态机(FSM)的实现
- C语言有限状态机的实现
- 分层有限状态机的C++实现
- PSF(有限状态机的实现方法)
- 一个简单的有限状态机的实现
- Android studio 快捷键
- Android应用开发之所有动画使用详解
- postgresql搭建
- (四)IBM Sterling OMS 环境构建之补丁安装
- springmvc 自定义异常处理
- 有限状态机的FPGA实现
- http://www.devstore.cn/code/info/87.html
- 我科退役!我的青春
- DIV+CSS中图片和文字居中问题解决方案
- java 实现微信搜索附近功能
- gitshell同时用于github与gitlab
- iOS解决navigationBar因为图片尺寸问题造成的会向上偏移64的问题
- ReactiveCocoa入门教程——第一部分<转>
- Java内存分析和总结