资料
  • 资料
  • 专题
FSM状态机
推荐星级:
时间:2019-12-24
大小:31.5KB
阅读数:432
上传用户:quw431979_163.com
查看他发布的资源
下载次数
0
所需E币
5
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
关于FSM状态机的代码编写和注意点! 做想做的,做该做的——有思想就去实现! Verilog状态机的编写学习 http://bbs.ednchina.com/BLOG_ARTICLE_53109.HTM 时序电路的状态是一个状态变量集合,这些状态变量在任意时刻的值都包含了为确定电 路的未来行为而必需考虑的所有历史信息 状态机采用VerilogHDL语言编码,建议分为三个always段完成。 三段式建模描述FSM的状态机输出时,只需指定case敏感表为次态寄存器, 然后直接在每个次态的case分支中描述该状态的输出即可,不用考虑状态转移条件。三 段式描述方法虽然代码结构复杂了一些,但是换来的优势是使FSM做到了同步寄存器输出 ,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组,一般来说在 FPGA/CPLD等可编程逻辑器件上的综合与布局布线效果更佳。 示列如下: //第一个进程,同步时序always模块,格式化描述次态寄存器迁移到现态寄存器 always @ (posedge clk or negedge rst_n) //异步复位 if(!rst_n) current_state else current_state //第二个进程,组合逻辑always模块,描述状态转移条件判断 always @ (current_state) //电平触发 begin next_state = x; //要初始化,使得系统复位后能进入正确的状态 case(current_state) S1: if(...) next_state = S2; //阻塞赋值 ... endcase end //第三个进程,同步时序always模块,格式化描述次态寄存……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
PARTNER CONTENT
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书